treege 3.0.0-beta.31 → 3.0.0-beta.33
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/{ThemeContext-Cw-S1U8B.js → ThemeContext-DBFles56.js} +48 -225
- package/dist/{editor-Bs1sHj4p.js → editor-5TMX4qqC.js} +1093 -1092
- package/dist/editor.js +3 -3
- package/dist/main.js +5 -5
- package/dist/renderer-JJGxelGQ.js +1199 -0
- package/dist/renderer-native.js +675 -674
- package/dist/renderer.js +3 -3
- package/dist/{separator-B9rc85M6.js → separator-Cdfv5nIR.js} +181 -181
- package/dist/{useRenderNode-IL6mmCOS.js → useRenderNode-BTzgPipn.js} +148 -147
- package/package.json +2 -2
- package/dist/renderer-CsU2Y0iu.js +0 -1204
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { a as e, c as t, d as n,
|
|
1
|
+
import { a as e, c as t, d as n, i as r, l as i, r as a, s as o, u as s } from "./ThemeContext-DBFles56.js";
|
|
2
|
+
import { jsx as c } from "react/jsx-runtime";
|
|
2
3
|
import { Fragment as l, createContext as u, useCallback as d, useContext as f, useEffect as p, useMemo as m, useRef as h, useState as g } from "react";
|
|
3
4
|
import _ from "dompurify";
|
|
4
5
|
//#region src/renderer/context/TreegeConfigContext.tsx
|
|
5
|
-
var v =
|
|
6
|
+
var v = u(void 0), y = () => f(v), b = ({ children: e, components: t, googleApiKey: n, language: r, theme: i, validationMode: a }) => {
|
|
6
7
|
let o = {
|
|
7
8
|
components: t,
|
|
8
9
|
googleApiKey: n,
|
|
@@ -10,11 +11,11 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
10
11
|
theme: i,
|
|
11
12
|
validationMode: a
|
|
12
13
|
};
|
|
13
|
-
return /* @__PURE__ */ (
|
|
14
|
+
return /* @__PURE__ */ c(v.Provider, {
|
|
14
15
|
value: o,
|
|
15
16
|
children: e
|
|
16
17
|
});
|
|
17
|
-
},
|
|
18
|
+
}, x = (e) => e.filter(s), S = (e) => {
|
|
18
19
|
if (e.data.name) return e.data.name;
|
|
19
20
|
if (e.data.label) {
|
|
20
21
|
if (e.data.label.en) return e.data.label.en;
|
|
@@ -22,16 +23,16 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
22
23
|
if (t) return t;
|
|
23
24
|
}
|
|
24
25
|
return e.id;
|
|
25
|
-
},
|
|
26
|
+
}, C = (e, t) => {
|
|
26
27
|
let n = t.find((t) => t.id === e);
|
|
27
|
-
return n ?
|
|
28
|
-
},
|
|
28
|
+
return n ? S(n) : void 0;
|
|
29
|
+
}, w = (e) => e == null || typeof e == "string" && e.trim() === "" ? !0 : Array.isArray(e) && e.length === 0, T = (e, t) => e ? t[e] != null : !1, E = (e, t) => {
|
|
29
30
|
let n = {};
|
|
30
31
|
return t.forEach((t) => {
|
|
31
|
-
let r = t.id, i =
|
|
32
|
+
let r = t.id, i = S(t);
|
|
32
33
|
e[r] !== void 0 && (n[i] = e[r]);
|
|
33
34
|
}), n;
|
|
34
|
-
},
|
|
35
|
+
}, D = (e, t, n) => {
|
|
35
36
|
if (!t) return e;
|
|
36
37
|
switch (t) {
|
|
37
38
|
case "toString": return String(e);
|
|
@@ -66,7 +67,7 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
66
67
|
return e;
|
|
67
68
|
default: return e;
|
|
68
69
|
}
|
|
69
|
-
},
|
|
70
|
+
}, O = (e, t) => {
|
|
70
71
|
if (Object.is(e, t)) return !0;
|
|
71
72
|
if (!(e && t) || typeof e != "object" || typeof t != "object") return !1;
|
|
72
73
|
try {
|
|
@@ -74,14 +75,14 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
74
75
|
} catch {
|
|
75
76
|
return !1;
|
|
76
77
|
}
|
|
77
|
-
},
|
|
78
|
+
}, k = (e, t, n) => {
|
|
78
79
|
let r = {};
|
|
79
80
|
return e.forEach((e) => {
|
|
80
81
|
let { defaultValue: i } = e.data;
|
|
81
82
|
if (!i || i.type !== "reference" || !i.referenceField) return;
|
|
82
83
|
let a = e.id, { referenceField: o, transformFunction: s, objectMapping: c } = i, l = t[o], u = n[o];
|
|
83
84
|
if (l === u || l == null) return;
|
|
84
|
-
let d =
|
|
85
|
+
let d = D(l, s, c), f = D(u, s, c), p = t[a], m = O(p, f), h = O(p, d);
|
|
85
86
|
!m || h || (r[a] = d);
|
|
86
87
|
}), r;
|
|
87
88
|
}, A = [
|
|
@@ -200,7 +201,7 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
200
201
|
key: e.key,
|
|
201
202
|
value: I(e.value, t)
|
|
202
203
|
})), a = await F({
|
|
203
|
-
body: e.sendAllFormValues ? JSON.stringify(
|
|
204
|
+
body: e.sendAllFormValues ? JSON.stringify(E(t, n)) : e.body ? I(e.body, t, { json: !0 }) : void 0,
|
|
204
205
|
headers: i,
|
|
205
206
|
method: e.method || "POST",
|
|
206
207
|
url: r
|
|
@@ -221,10 +222,10 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
221
222
|
};
|
|
222
223
|
}, B = (e) => {
|
|
223
224
|
e && (e.startsWith("http://") || e.startsWith("https://") ? window.location.href = e : window.history?.pushState ? (window.history.pushState({}, "", e), window.dispatchEvent(new PopStateEvent("popstate"))) : window.location.href = e);
|
|
224
|
-
},
|
|
225
|
-
let [i, a] = g(!1), [
|
|
226
|
-
let t = e.find((e) =>
|
|
227
|
-
return t &&
|
|
225
|
+
}, ee = (e, t, n, r) => {
|
|
226
|
+
let [i, a] = g(!1), [c, l] = g(null), u = m(() => {
|
|
227
|
+
let t = e.find((e) => s(e) && e.data?.type === "submit");
|
|
228
|
+
return t && s(t) ? t : null;
|
|
228
229
|
}, [e]), f = d(async (e) => {
|
|
229
230
|
if (!u?.data?.submitConfig) return null;
|
|
230
231
|
let i = u.data.submitConfig;
|
|
@@ -233,7 +234,7 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
233
234
|
try {
|
|
234
235
|
let a = await z(i, t, r);
|
|
235
236
|
if (a.success) {
|
|
236
|
-
let t =
|
|
237
|
+
let t = o(i.successMessage, n);
|
|
237
238
|
if (t && l({
|
|
238
239
|
message: t,
|
|
239
240
|
type: "success"
|
|
@@ -242,12 +243,12 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
242
243
|
setTimeout(() => B(e), 1e3);
|
|
243
244
|
}
|
|
244
245
|
} else l({
|
|
245
|
-
message:
|
|
246
|
+
message: o(i.errorMessage, n) || a.error || "An error occurred during submission",
|
|
246
247
|
type: "error"
|
|
247
248
|
});
|
|
248
249
|
return a;
|
|
249
250
|
} catch (e) {
|
|
250
|
-
let t =
|
|
251
|
+
let t = o(i.errorMessage, n) || (e instanceof Error ? e.message : "An unexpected error occurred");
|
|
251
252
|
return l({
|
|
252
253
|
message: t,
|
|
253
254
|
type: "error"
|
|
@@ -272,7 +273,7 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
272
273
|
hasSubmitConfig: !!u?.data?.submitConfig,
|
|
273
274
|
isSubmitting: i,
|
|
274
275
|
submitButtonNode: u,
|
|
275
|
-
submitMessage:
|
|
276
|
+
submitMessage: c
|
|
276
277
|
};
|
|
277
278
|
}, V = (e) => e == null ? null : typeof e == "boolean" || typeof e == "number" ? e : typeof e == "string" ? e === "" ? null : e : typeof e == "object" ? JSON.stringify(e) : String(e), H = (e, t, n) => {
|
|
278
279
|
let r = V(e), i = V(t);
|
|
@@ -314,20 +315,20 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
314
315
|
let o = t[r];
|
|
315
316
|
if (o === void 0 && n) {
|
|
316
317
|
let e = n.get(r);
|
|
317
|
-
e &&
|
|
318
|
+
e && s(e) && (o = t[e.id]);
|
|
318
319
|
}
|
|
319
320
|
return H(o, a, i);
|
|
320
321
|
}, W = (e, t, n) => {
|
|
321
322
|
if (!e || e.length === 0) return !0;
|
|
322
323
|
if (e.length === 1) return U(e[0], t, n);
|
|
323
|
-
let
|
|
324
|
+
let i = U(e[0], t, n);
|
|
324
325
|
for (let a = 1; a < e.length; a += 1) {
|
|
325
|
-
let o = e[a], s = U(o, t, n), c = e[a - 1].logicalOperator ||
|
|
326
|
-
if (c ===
|
|
327
|
-
if (
|
|
328
|
-
} else if (c ===
|
|
326
|
+
let o = e[a], s = U(o, t, n), c = e[a - 1].logicalOperator || r.AND;
|
|
327
|
+
if (c === r.AND) {
|
|
328
|
+
if (i &&= s, !i) return !1;
|
|
329
|
+
} else if (c === r.OR && (i ||= s, i)) return !0;
|
|
329
330
|
}
|
|
330
|
-
return
|
|
331
|
+
return i;
|
|
331
332
|
}, G = (e) => {
|
|
332
333
|
let t = /* @__PURE__ */ new Map();
|
|
333
334
|
return e.forEach((e) => {
|
|
@@ -350,14 +351,14 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
350
351
|
return r ? r.every((e) => {
|
|
351
352
|
if (!e.field) return !0;
|
|
352
353
|
let r = n.get(e.field);
|
|
353
|
-
return
|
|
354
|
+
return T(s(r) ? r.id : e.field, t);
|
|
354
355
|
}) : !1;
|
|
355
356
|
})) return a.length > 0 && o.push(...a), {
|
|
356
357
|
edgesToFollow: o,
|
|
357
358
|
waitingForInput: o.length === 0
|
|
358
359
|
};
|
|
359
|
-
let
|
|
360
|
-
return
|
|
360
|
+
let c = i.filter((e) => W(e.data?.conditions, t, n));
|
|
361
|
+
return c.length > 0 ? (o.push(...c), {
|
|
361
362
|
edgesToFollow: o,
|
|
362
363
|
waitingForInput: !1
|
|
363
364
|
}) : (o.push(...a), {
|
|
@@ -366,7 +367,7 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
366
367
|
});
|
|
367
368
|
}, q = (e, t) => !t.some((t) => t.target === e), J = (e, t) => {
|
|
368
369
|
let n = e.filter((e) => q(e.id, t));
|
|
369
|
-
return n.find(
|
|
370
|
+
return n.find(s) || n[0];
|
|
370
371
|
}, Y = (e, t, n, r) => {
|
|
371
372
|
e.forEach((e) => {
|
|
372
373
|
let i = r.get(e);
|
|
@@ -413,7 +414,7 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
413
414
|
visibleNodes: p,
|
|
414
415
|
visibleRootNodes: m
|
|
415
416
|
};
|
|
416
|
-
},
|
|
417
|
+
}, Z = (e) => {
|
|
417
418
|
if (e.length === 1) return e[0];
|
|
418
419
|
let n = new Set(e.map((e) => e.id)), r = /* @__PURE__ */ new Set();
|
|
419
420
|
return e.forEach((e) => {
|
|
@@ -424,24 +425,24 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
424
425
|
}
|
|
425
426
|
});
|
|
426
427
|
}), e.find((e) => !r.has(e.id)) || e[0];
|
|
427
|
-
},
|
|
428
|
+
}, Q = (e, t, n, r, i = /* @__PURE__ */ new Set()) => {
|
|
428
429
|
let a = /* @__PURE__ */ new Set();
|
|
429
430
|
for (let o of e) if (n.has(o)) {
|
|
430
431
|
let e = r.get(o), s = e ? t.get(e) : void 0;
|
|
431
432
|
if (s) {
|
|
432
433
|
if (e && i.has(e)) continue;
|
|
433
434
|
e && i.add(e);
|
|
434
|
-
let o =
|
|
435
|
+
let o = Q(new Set(s.nodes.map((e) => e.id)), t, n, r, i);
|
|
435
436
|
for (let e of o) a.add(e);
|
|
436
437
|
}
|
|
437
438
|
} else a.add(o);
|
|
438
439
|
return a;
|
|
439
|
-
},
|
|
440
|
+
}, te = (e, t) => {
|
|
440
441
|
let n = /* @__PURE__ */ new Set();
|
|
441
442
|
return t.forEach((t) => {
|
|
442
443
|
e.has(t.source) && e.has(t.target) && n.add(t.source);
|
|
443
444
|
}), Array.from(e).filter((e) => !n.has(e));
|
|
444
|
-
},
|
|
445
|
+
}, $ = (e) => {
|
|
445
446
|
if (!e) return {
|
|
446
447
|
edges: [],
|
|
447
448
|
id: "empty",
|
|
@@ -453,7 +454,7 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
453
454
|
id: "empty",
|
|
454
455
|
nodes: []
|
|
455
456
|
};
|
|
456
|
-
let r =
|
|
457
|
+
let r = Z(n);
|
|
457
458
|
if (n.length === 1) return r;
|
|
458
459
|
let i = new Map(n.map((e) => [e.id, e])), a = [], o = [...r.edges], s = new Set([r.id]), c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), d = (e) => {
|
|
459
460
|
let n = [];
|
|
@@ -495,7 +496,7 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
495
496
|
let n = u.get(t);
|
|
496
497
|
if (!n?.length) return;
|
|
497
498
|
let r = l.get(t), a = r ? i.get(r) : void 0;
|
|
498
|
-
a &&
|
|
499
|
+
a && te(Q(new Set(a.nodes.map((e) => e.id)), i, c, l, new Set(r ? [r] : [])), f).forEach((e) => {
|
|
499
500
|
n.forEach((n) => {
|
|
500
501
|
let r = c.get(n.target) ?? n.target, i = n.id ?? `${t}__${n.target}`;
|
|
501
502
|
f.push({
|
|
@@ -511,11 +512,11 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
511
512
|
id: r.id,
|
|
512
513
|
nodes: a
|
|
513
514
|
};
|
|
514
|
-
},
|
|
515
|
+
}, ne = u(null), re = ({ children: e, value: t }) => /* @__PURE__ */ c(ne.Provider, {
|
|
515
516
|
value: t,
|
|
516
517
|
children: e
|
|
517
|
-
}),
|
|
518
|
-
let e = f(
|
|
518
|
+
}), ie = () => {
|
|
519
|
+
let e = f(ne) ?? {
|
|
519
520
|
flows: null,
|
|
520
521
|
formErrors: {},
|
|
521
522
|
formValues: {},
|
|
@@ -523,19 +524,19 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
523
524
|
inputNodes: [],
|
|
524
525
|
language: "",
|
|
525
526
|
setFieldValue: () => {}
|
|
526
|
-
}, t = m(() => e.flows ?
|
|
527
|
+
}, t = m(() => e.flows ? $(e.flows).edges : [], [e.flows]);
|
|
527
528
|
return {
|
|
528
529
|
...e,
|
|
529
530
|
edges: t
|
|
530
531
|
};
|
|
531
|
-
},
|
|
532
|
-
let n =
|
|
532
|
+
}, ae = (t) => {
|
|
533
|
+
let n = ie(), r = e(t ?? n.language);
|
|
533
534
|
return m(() => (e) => {
|
|
534
535
|
let t = r(e);
|
|
535
536
|
return typeof e == "object" && e ? M(t) : t;
|
|
536
537
|
}, [r]);
|
|
537
|
-
},
|
|
538
|
-
let f =
|
|
538
|
+
}, oe = ({ components: e, flows: t, googleApiKey: n, initialValues: r = {}, language: i, onChange: a, onSubmit: o, theme: c, validate: l, validationMode: u }) => {
|
|
539
|
+
let f = y(), _ = m(() => ({
|
|
539
540
|
components: {
|
|
540
541
|
form: e?.form ?? f?.components?.form,
|
|
541
542
|
group: e?.group ?? f?.components?.group,
|
|
@@ -552,19 +553,19 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
552
553
|
},
|
|
553
554
|
googleApiKey: n ?? f?.googleApiKey,
|
|
554
555
|
language: i ?? f?.language ?? "en",
|
|
555
|
-
theme:
|
|
556
|
+
theme: c ?? f?.theme ?? "dark",
|
|
556
557
|
validationMode: u ?? f?.validationMode ?? "onSubmit"
|
|
557
558
|
}), [
|
|
558
559
|
e,
|
|
559
560
|
f,
|
|
560
561
|
n,
|
|
561
562
|
i,
|
|
562
|
-
|
|
563
|
+
c,
|
|
563
564
|
u
|
|
564
|
-
]), v = m(() =>
|
|
565
|
+
]), v = m(() => $(t), [t]), { nodes: b, edges: S } = v, C = m(() => x(b), [b]), T = ae(_.language), D = h({}), [O, A] = g({}), [j, M] = g(() => {
|
|
565
566
|
let e = { ...r };
|
|
566
|
-
return
|
|
567
|
-
if (
|
|
567
|
+
return b.forEach((t) => {
|
|
568
|
+
if (s(t)) {
|
|
568
569
|
let n = t.id;
|
|
569
570
|
if (e[n] !== void 0) return;
|
|
570
571
|
let { defaultValue: r } = t.data;
|
|
@@ -575,130 +576,130 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
575
576
|
}
|
|
576
577
|
}
|
|
577
578
|
}), e;
|
|
578
|
-
}), { endOfPathReached:
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
]), { clearSubmitMessage:
|
|
583
|
-
|
|
579
|
+
}), { endOfPathReached: N, visibleNodes: P, visibleRootNodes: F } = m(() => X(b, S, j), [
|
|
580
|
+
b,
|
|
581
|
+
S,
|
|
582
|
+
j
|
|
583
|
+
]), { clearSubmitMessage: I, handleSubmitWithConfig: L, hasSubmitConfig: R, isSubmitting: z, submitMessage: B } = ee(P, j, _.language, C), V = h(a), H = h(l), U = m(() => E(j, C), [j, C]), W = d((e, t) => {
|
|
584
|
+
M((n) => ({
|
|
584
585
|
...n,
|
|
585
586
|
[e]: t
|
|
586
|
-
})),
|
|
587
|
+
})), A((t) => {
|
|
587
588
|
let n = { ...t };
|
|
588
589
|
return delete n[e], n;
|
|
589
590
|
});
|
|
590
|
-
}, []),
|
|
591
|
-
Object.keys(e).length !== 0 && (
|
|
591
|
+
}, []), G = d((e) => {
|
|
592
|
+
Object.keys(e).length !== 0 && (M((t) => ({
|
|
592
593
|
...t,
|
|
593
594
|
...e
|
|
594
|
-
})),
|
|
595
|
+
})), A((t) => {
|
|
595
596
|
let n = { ...t };
|
|
596
597
|
return Object.keys(e).forEach((e) => {
|
|
597
598
|
delete n[e];
|
|
598
599
|
}), n;
|
|
599
600
|
}));
|
|
600
|
-
}, []),
|
|
601
|
+
}, []), K = d((e) => {
|
|
601
602
|
let t = {};
|
|
602
|
-
|
|
603
|
-
if (
|
|
604
|
-
let n = e.id, r =
|
|
605
|
-
if (e.data.required &&
|
|
606
|
-
t[n] =
|
|
603
|
+
P.forEach((e) => {
|
|
604
|
+
if (s(e)) {
|
|
605
|
+
let n = e.id, r = j[n];
|
|
606
|
+
if (e.data.required && w(r)) {
|
|
607
|
+
t[n] = T(e.data.errorMessage) || T("validation.required");
|
|
607
608
|
return;
|
|
608
609
|
}
|
|
609
|
-
if (!
|
|
610
|
-
new RegExp(e.data.pattern).test(String(r)) || (t[n] =
|
|
610
|
+
if (!w(r) && e.data.pattern) try {
|
|
611
|
+
new RegExp(e.data.pattern).test(String(r)) || (t[n] = T(e.data.errorMessage) || T("validation.invalidFormat"));
|
|
611
612
|
} catch (e) {
|
|
612
613
|
console.error(`Invalid pattern for field ${n}:`, e);
|
|
613
614
|
}
|
|
614
615
|
}
|
|
615
616
|
});
|
|
616
|
-
let n = e ? e(
|
|
617
|
+
let n = e ? e(j, P) : {}, r = {
|
|
617
618
|
...t,
|
|
618
619
|
...n
|
|
619
620
|
};
|
|
620
|
-
return
|
|
621
|
+
return A(r), {
|
|
621
622
|
errors: r,
|
|
622
623
|
hasCustomErrors: Object.keys(n).length > 0,
|
|
623
624
|
isValid: Object.keys(r).length === 0
|
|
624
625
|
};
|
|
625
626
|
}, [
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
]),
|
|
630
|
-
let { isValid: e } =
|
|
627
|
+
P,
|
|
628
|
+
j,
|
|
629
|
+
T
|
|
630
|
+
]), q = d(async () => {
|
|
631
|
+
let { isValid: e } = K(H.current);
|
|
631
632
|
if (!e) return !1;
|
|
632
|
-
if (
|
|
633
|
-
let e = await
|
|
634
|
-
o && o(
|
|
633
|
+
if (R) {
|
|
634
|
+
let e = await L((e) => {
|
|
635
|
+
o && o(U, { httpResponse: e });
|
|
635
636
|
});
|
|
636
|
-
if (e === null) return o?.(
|
|
637
|
+
if (e === null) return o?.(U), !0;
|
|
637
638
|
if (!e.success) return !0;
|
|
638
|
-
} else o && o(
|
|
639
|
+
} else o && o(U);
|
|
639
640
|
return !0;
|
|
640
641
|
}, [
|
|
641
|
-
|
|
642
|
+
K,
|
|
643
|
+
R,
|
|
642
644
|
L,
|
|
643
|
-
I,
|
|
644
645
|
o,
|
|
645
|
-
|
|
646
|
-
]),
|
|
646
|
+
U
|
|
647
|
+
]), J = m(() => {
|
|
647
648
|
let e = [];
|
|
648
|
-
return
|
|
649
|
-
if (!
|
|
650
|
-
let n = t.id, r =
|
|
651
|
-
if (t.data.required &&
|
|
652
|
-
let r =
|
|
649
|
+
return P.forEach((t) => {
|
|
650
|
+
if (!s(t)) return;
|
|
651
|
+
let n = t.id, r = j[n];
|
|
652
|
+
if (t.data.required && w(r)) {
|
|
653
|
+
let r = T(t.data.label) || n;
|
|
653
654
|
e.push(r);
|
|
654
655
|
}
|
|
655
656
|
}), e;
|
|
656
657
|
}, [
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
]),
|
|
658
|
+
P,
|
|
659
|
+
j,
|
|
660
|
+
T
|
|
661
|
+
]), Y = m(() => P.some((e) => s(e) && e.data.type === "submit"), [P]), Z = m(() => {
|
|
661
662
|
let e = Object.keys(O);
|
|
662
663
|
return e.length > 0 ? e[0] : void 0;
|
|
663
664
|
}, [O]);
|
|
664
665
|
return p(() => {
|
|
665
|
-
|
|
666
|
+
V.current = a;
|
|
666
667
|
}, [a]), p(() => {
|
|
667
|
-
|
|
668
|
+
H.current = l;
|
|
668
669
|
}, [l]), p(() => {
|
|
669
|
-
|
|
670
|
-
}, [
|
|
671
|
-
_.validationMode === "onChange" &&
|
|
672
|
-
}, [_.validationMode,
|
|
673
|
-
let e =
|
|
674
|
-
Object.keys(e).length > 0 &&
|
|
670
|
+
V.current?.(U);
|
|
671
|
+
}, [U]), p(() => {
|
|
672
|
+
_.validationMode === "onChange" && K(H.current);
|
|
673
|
+
}, [_.validationMode, K]), p(() => {
|
|
674
|
+
let e = k(C, j, D.current);
|
|
675
|
+
Object.keys(e).length > 0 && G(e), D.current = j;
|
|
675
676
|
}, [
|
|
676
|
-
|
|
677
|
+
j,
|
|
677
678
|
C,
|
|
678
|
-
|
|
679
|
+
G
|
|
679
680
|
]), {
|
|
680
|
-
canSubmit: !
|
|
681
|
-
clearSubmitMessage:
|
|
681
|
+
canSubmit: !Y && N && b.length > 0,
|
|
682
|
+
clearSubmitMessage: I,
|
|
682
683
|
config: _,
|
|
683
|
-
firstErrorFieldId:
|
|
684
|
+
firstErrorFieldId: Z,
|
|
684
685
|
formErrors: O,
|
|
685
|
-
formValues:
|
|
686
|
-
handleSubmit:
|
|
686
|
+
formValues: j,
|
|
687
|
+
handleSubmit: q,
|
|
687
688
|
inputNodes: C,
|
|
688
|
-
isSubmitting:
|
|
689
|
+
isSubmitting: z,
|
|
689
690
|
mergedFlow: v,
|
|
690
|
-
missingRequiredFields:
|
|
691
|
-
prevFormValuesRef:
|
|
692
|
-
setFieldErrors:
|
|
693
|
-
setFieldValue:
|
|
694
|
-
setMultipleFieldValues:
|
|
695
|
-
submitMessage:
|
|
696
|
-
t:
|
|
697
|
-
validateForm:
|
|
698
|
-
visibleNodes:
|
|
699
|
-
visibleRootNodes:
|
|
691
|
+
missingRequiredFields: J,
|
|
692
|
+
prevFormValuesRef: D,
|
|
693
|
+
setFieldErrors: A,
|
|
694
|
+
setFieldValue: W,
|
|
695
|
+
setMultipleFieldValues: G,
|
|
696
|
+
submitMessage: B,
|
|
697
|
+
t: T,
|
|
698
|
+
validateForm: K,
|
|
699
|
+
visibleNodes: P,
|
|
700
|
+
visibleRootNodes: F
|
|
700
701
|
};
|
|
701
|
-
},
|
|
702
|
+
}, se = (e) => new Promise((t, n) => {
|
|
702
703
|
let r = new FileReader();
|
|
703
704
|
r.onload = () => {
|
|
704
705
|
let n = r.result;
|
|
@@ -712,7 +713,7 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
712
713
|
}, r.onerror = () => {
|
|
713
714
|
n(/* @__PURE__ */ Error(`Failed to read file: ${e.name}`));
|
|
714
715
|
}, r.readAsDataURL(e);
|
|
715
|
-
}),
|
|
716
|
+
}), ce = (e) => {
|
|
716
717
|
let t = e.data.split(",")[1], n = atob(t), r = new ArrayBuffer(n.length), i = new Uint8Array(r);
|
|
717
718
|
for (let e = 0; e < n.length; e++) i[e] = n.charCodeAt(e);
|
|
718
719
|
let a = new Blob([r], { type: e.type });
|
|
@@ -720,55 +721,55 @@ var v = r(), y = u(void 0), b = () => f(y), x = ({ children: e, components: t, g
|
|
|
720
721
|
lastModified: e.lastModified,
|
|
721
722
|
type: e.type
|
|
722
723
|
});
|
|
723
|
-
},
|
|
724
|
-
let x = m(() =>
|
|
724
|
+
}, le = (e) => Promise.all(e.map((e) => se(e))), ue = ({ DefaultFormWrapper: e, DefaultGroup: t, DefaultSubmitButton: r, DefaultSubmitButtonWrapper: u, config: f, defaultInputRenderers: p, defaultUI: h, formErrors: g, formValues: _, missingRequiredFields: v, setFieldValue: y, visibleNodes: b }) => {
|
|
725
|
+
let x = m(() => f.components.form || e, [f.components.form, e]), C = m(() => f.components.submitButton || r, [f.components.submitButton, r]), w = m(() => f.components.submitButtonWrapper || u || l, [f.components.submitButtonWrapper, u]);
|
|
725
726
|
return {
|
|
726
727
|
FormWrapper: x,
|
|
727
728
|
renderNode: d(function e(r) {
|
|
728
|
-
let { type:
|
|
729
|
-
switch (
|
|
730
|
-
case
|
|
731
|
-
if (!
|
|
732
|
-
let e = r.data, t = e.type || "text", n =
|
|
733
|
-
return a ? /* @__PURE__ */ (
|
|
729
|
+
let { type: l } = r;
|
|
730
|
+
switch (l) {
|
|
731
|
+
case a.input: {
|
|
732
|
+
if (!s(r)) return null;
|
|
733
|
+
let e = r.data, t = e.type || "text", n = f.components.inputs?.[t], i = p[t], a = n || i, l = r.id, u = (e) => y(l, e), d = _[l], m = g[l], h = o(e.label, f.language), b = o(e.placeholder, f.language), x = o(e.helperText, f.language), C = S(r), w = M(h), T = M(b), E = M(x);
|
|
734
|
+
return a ? /* @__PURE__ */ c(a, {
|
|
734
735
|
id: r.id,
|
|
735
736
|
node: r,
|
|
736
737
|
value: d,
|
|
737
|
-
error:
|
|
738
|
+
error: m,
|
|
738
739
|
label: w,
|
|
739
740
|
placeholder: T,
|
|
740
741
|
helperText: E,
|
|
741
|
-
name:
|
|
742
|
-
setValue:
|
|
743
|
-
missingRequiredFields:
|
|
742
|
+
name: C,
|
|
743
|
+
setValue: u,
|
|
744
|
+
missingRequiredFields: v
|
|
744
745
|
}, r.id) : (console.warn("No renderer found for input type:", t), null);
|
|
745
746
|
}
|
|
746
|
-
case
|
|
747
|
+
case a.group: return i(r) ? /* @__PURE__ */ c(f.components.group || t, {
|
|
747
748
|
node: r,
|
|
748
749
|
children: b.filter((e) => e.parentId === r.id).map((t) => e(t))
|
|
749
750
|
}, r.id) : null;
|
|
750
|
-
case
|
|
751
|
+
case a.ui: {
|
|
751
752
|
if (!n(r)) return null;
|
|
752
|
-
let e = r.data.type || "title", t =
|
|
753
|
-
return a ? /* @__PURE__ */ (
|
|
753
|
+
let e = r.data.type || "title", t = f.components.ui?.[e], i = h[e], a = t || i;
|
|
754
|
+
return a ? /* @__PURE__ */ c(a, { node: r }, r.id) : null;
|
|
754
755
|
}
|
|
755
|
-
case
|
|
756
|
-
default: return console.warn("Unknown node type:",
|
|
756
|
+
case a.flow: return null;
|
|
757
|
+
default: return console.warn("Unknown node type:", l), null;
|
|
757
758
|
}
|
|
758
759
|
}, [
|
|
759
|
-
|
|
760
|
+
f,
|
|
760
761
|
b,
|
|
762
|
+
_,
|
|
761
763
|
g,
|
|
762
|
-
h,
|
|
763
764
|
y,
|
|
764
|
-
|
|
765
|
-
f,
|
|
765
|
+
v,
|
|
766
766
|
p,
|
|
767
|
+
h,
|
|
767
768
|
t
|
|
768
769
|
]),
|
|
769
|
-
SubmitButton:
|
|
770
|
+
SubmitButton: C,
|
|
770
771
|
SubmitButtonWrapper: w
|
|
771
772
|
};
|
|
772
773
|
};
|
|
773
774
|
//#endregion
|
|
774
|
-
export {
|
|
775
|
+
export { b as C, C as S, D as _, oe as a, E as b, ie as c, q as d, $ as f, P as g, M as h, ce as i, J as l, W as m, se as n, ae as o, U as p, le as r, re as s, ue as t, X as u, k as v, y as w, w as x, T as y };
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "treege",
|
|
3
3
|
"description": "Powerful form generator",
|
|
4
4
|
"license": "ISC",
|
|
5
|
-
"version": "3.0.0-beta.
|
|
5
|
+
"version": "3.0.0-beta.33",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"types": "./dist/main.d.ts",
|
|
8
8
|
"module": "./dist/main.js",
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
"tw-animate-css": "^1.4.0",
|
|
105
105
|
"typescript": "^5.9.2",
|
|
106
106
|
"unplugin-dts": "^1.0.0-beta.6",
|
|
107
|
-
"vite": "^8.0.
|
|
107
|
+
"vite": "^8.0.9",
|
|
108
108
|
"vite-plugin-css-injected-by-js": "^3.5.2",
|
|
109
109
|
"vitest": "^4.0.2"
|
|
110
110
|
},
|