@effect-app/vue-components 4.0.0-beta.298 → 4.0.0-beta.299

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 (70) hide show
  1. package/dist/types/components/FixedNuxtErrorBoundary.vue.d.ts +39 -0
  2. package/dist/types/components/index.d.ts +1 -0
  3. package/dist/vue-components.es.js +19 -18
  4. package/dist/vue-components11.es.js +55 -19
  5. package/dist/vue-components12.es.js +4 -48
  6. package/dist/vue-components13.es.js +19 -127
  7. package/dist/vue-components14.es.js +46 -62
  8. package/dist/vue-components15.es.js +115 -101
  9. package/dist/vue-components16.es.js +63 -20
  10. package/dist/vue-components17.es.js +113 -4
  11. package/dist/vue-components18.es.js +20 -78
  12. package/dist/vue-components19.es.js +4 -92
  13. package/dist/vue-components20.es.js +75 -68
  14. package/dist/vue-components21.es.js +91 -10
  15. package/dist/vue-components22.es.js +72 -56
  16. package/dist/vue-components23.es.js +11 -4
  17. package/dist/vue-components24.es.js +49 -36
  18. package/dist/vue-components25.es.js +1 -1
  19. package/dist/vue-components26.es.js +39 -79
  20. package/dist/vue-components27.es.js +5 -0
  21. package/dist/vue-components28.es.js +83 -7
  22. package/dist/vue-components30.es.js +7 -23
  23. package/dist/vue-components31.es.js +8 -299
  24. package/dist/vue-components32.es.js +24 -0
  25. package/dist/vue-components33.es.js +299 -7
  26. package/dist/vue-components35.es.js +5 -2
  27. package/dist/vue-components36.es.js +61 -52
  28. package/dist/vue-components37.es.js +1 -1
  29. package/dist/vue-components38.es.js +58 -18
  30. package/dist/vue-components39.es.js +1 -1
  31. package/dist/vue-components40.es.js +18 -53
  32. package/dist/vue-components41.es.js +1 -1
  33. package/dist/vue-components42.es.js +58 -11
  34. package/dist/vue-components43.es.js +4 -21
  35. package/dist/vue-components44.es.js +12 -0
  36. package/dist/vue-components45.es.js +21 -8
  37. package/dist/vue-components47.es.js +8 -37
  38. package/dist/vue-components48.es.js +3 -26
  39. package/dist/vue-components49.es.js +34 -24
  40. package/dist/vue-components50.es.js +26 -6
  41. package/dist/vue-components51.es.js +25 -15
  42. package/dist/vue-components52.es.js +6 -35
  43. package/dist/vue-components53.es.js +16 -16
  44. package/dist/vue-components54.es.js +32 -17
  45. package/dist/vue-components55.es.js +16 -28
  46. package/dist/vue-components56.es.js +20 -6
  47. package/dist/vue-components57.es.js +28 -7
  48. package/dist/vue-components58.es.js +6 -37
  49. package/dist/vue-components59.es.js +8 -24
  50. package/dist/vue-components60.es.js +37 -127
  51. package/dist/vue-components61.es.js +22 -21
  52. package/dist/vue-components62.es.js +127 -20
  53. package/dist/vue-components63.es.js +21 -6
  54. package/dist/vue-components64.es.js +15 -13
  55. package/dist/vue-components65.es.js +8 -4
  56. package/dist/vue-components66.es.js +13 -23
  57. package/dist/vue-components67.es.js +3 -3
  58. package/dist/vue-components68.es.js +27 -41
  59. package/dist/vue-components69.es.js +4 -100
  60. package/dist/vue-components70.es.js +39 -32
  61. package/dist/vue-components71.es.js +100 -18
  62. package/dist/vue-components72.es.js +35 -47
  63. package/dist/vue-components73.es.js +19 -0
  64. package/dist/vue-components74.es.js +50 -0
  65. package/package.json +9 -3
  66. package/src/components/FixedNuxtErrorBoundary.vue +112 -0
  67. package/src/components/index.ts +1 -0
  68. package/dist/vue-components29.es.js +0 -9
  69. package/dist/vue-components34.es.js +0 -73
  70. package/dist/vue-components46.es.js +0 -4
@@ -1,73 +1,80 @@
1
- import { useIntl as e } from "./vue-components6.es.js";
2
- import { computed as t, h as n, onUnmounted as r, ref as i, watch as a } from "vue";
3
- //#region src/components/OmegaForm/errors.ts
4
- var o = (t) => {
5
- let { formatMessage: n } = e(), r = (e) => e.replace(/([A-Z])/g, " $1").replace(/^./, (e) => e.toUpperCase()).trim(), i = (e) => n ? n({
6
- id: `general.fields.${e}`,
7
- defaultMessage: r(e)
8
- }) : r(e);
9
- return (e) => t.i18nNamespace ? n({
10
- id: `${t.i18nNamespace}.fields.${e}`,
11
- defaultMessage: i(e)
12
- }) : i(e);
13
- }, s = (e) => function(r) {
14
- return {
15
- setup() {
16
- let { fieldMap: n, form: r } = e, i = r.useStore((e) => e.errors), a = r.useStore((e) => e.fieldMeta), s = r.useStore((e) => e.errorMap), c = o(r);
17
- return {
18
- generalErrors: i,
19
- errors: t(() => {
20
- let e = Object.entries(a.value).reduce((e, [t, r]) => {
21
- let i = r?.errors ?? [];
22
- if (!i.length) return e;
23
- let a = n.value.get(t);
24
- return a && e.push({
25
- label: a.label,
26
- inputId: a.id,
27
- errors: [i[0]?.message].filter(Boolean)
28
- }), e;
29
- }, []), t = [], r = [s.value.onDynamic, s.value.onSubmit].filter(Boolean), i = /* @__PURE__ */ new Set();
30
- for (let e of r) for (let [r, a] of Object.entries(e)) if (Array.isArray(a) && a.length) for (let e of a) {
31
- let r = e;
32
- if (r?.path && Array.isArray(r.path) && r.path.length) {
33
- let e = r.path.join(".");
34
- if (!n.value.has(e) && !i.has(e)) {
35
- i.add(e), t.push({
36
- label: c(e),
37
- inputId: e,
38
- errors: [r.message].filter(Boolean)
39
- });
40
- break;
41
- }
42
- }
43
- }
44
- return [...e, ...t];
45
- })
46
- };
47
- },
48
- render({ errors: e, generalErrors: t }) {
49
- return n(r, {
50
- errors: e,
51
- generalErrors: t,
52
- ...this.$attrs
53
- }, this.$slots);
1
+ import { isObject as e } from "./vue-components19.es.js";
2
+ import { computed as t, onBeforeUnmount as n, onMounted as r, onUnmounted as i } from "vue";
3
+ //#region src/components/OmegaForm/persistency.ts
4
+ function a(t, n) {
5
+ let r = { ...t };
6
+ for (let t in n) Array.isArray(n[t]) ? r[t] = n[t] : n[t] && e(n[t]) ? r[t] = a(r[t], n[t]) : r[t] = n[t];
7
+ return r;
8
+ }
9
+ var o = (e, t) => e.includes(t), s = (e) => {
10
+ let { getForm: s, meta: c, persistency: l, preventWindowExit: u, schemaDefaultValues: d, tanstackDefaultValues: f } = e, p = t(() => l?.id ? l.id : `${window.location.pathname}-${Object.keys(c).join("-")}`), m = () => {
11
+ let e = new URLSearchParams(window.location.search);
12
+ e.delete(p.value);
13
+ let t = new URL(window.location.href);
14
+ t.search = e.toString(), window.history.replaceState({}, "", t.toString());
15
+ }, h = t(() => {
16
+ let t;
17
+ if (l?.policies && !t && (o(l.policies, "local") || o(l.policies, "session"))) {
18
+ let e = o(l.policies, "local") ? localStorage : sessionStorage;
19
+ if (e) try {
20
+ let n = JSON.parse(e.getItem(p.value) || "{}");
21
+ e.removeItem(p.value), t = n;
22
+ } catch (e) {
23
+ console.error(e);
24
+ }
54
25
  }
55
- };
56
- }, c = () => {
57
- let e = i(/* @__PURE__ */ new Map());
58
- return {
59
- fieldMap: e,
60
- registerField: (t) => {
61
- a(t, (t) => {
62
- e.value.set(t.name, {
63
- label: t.label,
64
- id: t.id
65
- });
66
- }, { immediate: !0 }), r(() => {
67
- e.value.get(t.value.name)?.id === t.value.id && e.value.delete(t.value.name);
68
- });
26
+ if (l?.policies && o(l.policies, "querystring")) try {
27
+ let e = new URLSearchParams(window.location.search).get(p.value);
28
+ m(), e && (t = a(t || {}, JSON.parse(e)));
29
+ } catch (e) {
30
+ console.error(e);
31
+ }
32
+ t ??= {};
33
+ let n = {
34
+ tanstack: f || {},
35
+ persistency: t,
36
+ schema: d()
37
+ };
38
+ return [...e.defaultValuesPriority || [
39
+ "tanstack",
40
+ "persistency",
41
+ "schema"
42
+ ]].reverse().reduce((e, t) => Object.keys(e).length ? a(e, n[t]) : n[t], {});
43
+ }), g = (e) => e.reduce((e, t) => {
44
+ let n = t.split(".");
45
+ return n.reduce((e, r, i) => (i === n.length - 1 ? e[r] = s().getFieldValue(t) : e[r] = e[r] ?? {}, e[r]), e), e;
46
+ }, {}), _ = (e) => {
47
+ if (!e) return;
48
+ let { banKeys: t, keys: n } = e;
49
+ return Array.isArray(n) ? g(n) : Array.isArray(t) ? g(Object.keys(c).filter((e) => t.includes(e))) : s().store.state.values;
50
+ }, v = () => {
51
+ if (!(!l?.policies || l.policies.length === 0) && (o(l.policies, "local") || o(l.policies, "session"))) {
52
+ let e = o(l.policies, "local") ? localStorage : sessionStorage;
53
+ if (!e) return;
54
+ let t = _(l);
55
+ return e.setItem(p.value, JSON.stringify(t));
69
56
  }
57
+ }, y = () => {
58
+ if (!(!l?.policies || l.policies.length === 0) && o(l.policies, "querystring")) {
59
+ let e = _(l), t = new URLSearchParams(window.location.search);
60
+ t.set(p.value, JSON.stringify(e));
61
+ let n = new URL(window.location.href);
62
+ n.search = t.toString(), window.history.replaceState({}, "", n.toString());
63
+ }
64
+ }, b = (e) => {
65
+ s().store.state.isDirty && e.preventDefault();
66
+ };
67
+ return i(v), r(() => {
68
+ window.addEventListener("beforeunload", v), window.addEventListener("blur", y), u && u !== "nope" && window.addEventListener("beforeunload", b);
69
+ }), n(() => {
70
+ window.removeEventListener("beforeunload", v), window.removeEventListener("blur", y), u && u !== "nope" && window.removeEventListener("beforeunload", b);
71
+ }), {
72
+ defaultValues: h,
73
+ persistencyKey: p,
74
+ persistData: v,
75
+ saveDataInUrl: y,
76
+ clearUrlParams: m
70
77
  };
71
78
  };
72
79
  //#endregion
73
- export { s as eHoc, c as makeFieldMap, o as useErrorLabel };
80
+ export { a as deepMerge, s as usePersistency };
@@ -1,12 +1,93 @@
1
- import { h as e } from "vue";
2
- //#region src/components/OmegaForm/hocs.ts
3
- var t = (t) => function(n) {
4
- return { render() {
5
- return e(n, {
6
- form: t,
7
- ...this.$attrs
8
- }, this.$slots);
9
- } };
1
+ import * as e from "effect-app/Option";
2
+ import * as t from "effect-app/Schema";
3
+ //#region src/components/OmegaForm/validation/localized.ts
4
+ var n = (n) => ({
5
+ leafHook: (r) => {
6
+ let i = r.annotations?.message;
7
+ if (i !== void 0) return String(i);
8
+ switch (r._tag) {
9
+ case "MissingKey": return n("validation.empty");
10
+ case "InvalidType": {
11
+ let i = r.ast;
12
+ return e.isNone(r.actual) || e.isSome(r.actual) && r.actual.value === void 0 || t.AST.isString(i) ? n("validation.empty") : t.AST.isBoolean(i) ? n("validation.not_a_valid", { type: "boolean" }) : t.AST.isNumber(i) ? n("validation.number.expected", { actualValue: e.isSome(r.actual) ? String(r.actual.value) : "NaN" }) : n("validation.not_a_valid");
13
+ }
14
+ default: return n("validation.not_a_valid");
15
+ }
16
+ },
17
+ checkHook: (e) => {
18
+ if (e.filter.annotations?.identifier === "Email") return n("validation.email.invalid");
19
+ let r = e.filter.annotations?.meta ?? {};
20
+ switch (r._tag) {
21
+ case "isMinLength": return r.minLength === 1 ? n("validation.empty") : n("validation.string.minLength", { minLength: r.minLength });
22
+ case "isMaxLength": return n("validation.string.maxLength", { maxLength: r.maxLength });
23
+ case "isInt": return n("validation.integer.expected", { actualValue: e.actual === void 0 ? "NaN" : String(e.actual) });
24
+ case "isGreaterThanOrEqualTo": return n(r.minimum === 0 ? "validation.number.positive" : "validation.number.min", {
25
+ minimum: r.minimum,
26
+ isExclusive: !0
27
+ });
28
+ case "isGreaterThan": return n(r.exclusiveMinimum === 0 ? "validation.number.positive" : "validation.number.min", {
29
+ minimum: r.exclusiveMinimum,
30
+ isExclusive: !1
31
+ });
32
+ case "isLessThanOrEqualTo": return n("validation.number.max", {
33
+ maximum: r.maximum,
34
+ isExclusive: !0
35
+ });
36
+ case "isLessThan": return n("validation.number.max", {
37
+ maximum: r.exclusiveMaximum,
38
+ isExclusive: !1
39
+ });
40
+ default: return t.SchemaIssue.defaultCheckHook(e);
41
+ }
42
+ }
43
+ }), r = (e, r) => {
44
+ let { checkHook: i, leafHook: a } = n(r);
45
+ return t.toStandardSchemaV1(e, {
46
+ leafHook: a,
47
+ checkHook: i
48
+ });
49
+ }, i = (e) => t.AST.isUnion(e) && e.types.every(t.AST.isLiteral), a = (e, n) => {
50
+ if (i(e)) {
51
+ if (e.annotations?.message !== void 0) return e;
52
+ let r = e.types.map((e) => e.literal);
53
+ return new t.AST.Union(e.types, e.mode, {
54
+ ...e.annotations,
55
+ message: n("validation.not_a_valid", {
56
+ type: "select",
57
+ message: r.join(", ")
58
+ })
59
+ }, e.checks, e.encoding, e.context);
60
+ }
61
+ if (t.AST.isUnion(e)) {
62
+ let r = e.types.map((e) => a(e, n));
63
+ return r.some((t, n) => t !== e.types[n]) ? new t.AST.Union(r, e.mode, e.annotations, e.checks, e.encoding, e.context) : e;
64
+ }
65
+ if (t.AST.isArrays(e)) {
66
+ let r = e.rest.map((e) => a(e, n)), o = e.elements.map((e) => a(e, n)), s = e.annotations;
67
+ if (e.annotations?.message === void 0 && e.rest.length === 1 && i(e.rest[0])) {
68
+ let t = e.rest[0].types.map((e) => e.literal);
69
+ s = {
70
+ ...e.annotations,
71
+ message: n("validation.not_a_valid", {
72
+ type: "multiple",
73
+ message: t.join(", ")
74
+ })
75
+ };
76
+ }
77
+ let c = r.some((t, n) => t !== e.rest[n]), l = o.some((t, n) => t !== e.elements[n]);
78
+ return !c && !l && s === e.annotations ? e : new t.AST.Arrays(e.isMutable, o, r, s, e.checks, e.encoding, e.context);
79
+ }
80
+ if (t.AST.isObjects(e)) {
81
+ let r = e.propertySignatures.map((e) => {
82
+ let r = a(e.type, n);
83
+ return r === e.type ? e : new t.AST.PropertySignature(e.name, r);
84
+ });
85
+ return r.some((t, n) => t !== e.propertySignatures[n]) ? new t.AST.Objects(r, e.indexSignatures, e.annotations, e.checks, e.encoding, e.context) : e;
86
+ }
87
+ return e;
88
+ }, o = (e, n) => {
89
+ let r = a(e.ast, n);
90
+ return r === e.ast ? e : t.make(r);
10
91
  };
11
92
  //#endregion
12
- export { t as fHoc };
93
+ export { o as annotateLiteralUnionMessages, n as makeStandardSchemaV1Hooks, r as toLocalizedStandardSchemaV1 };
@@ -1,57 +1,73 @@
1
- import { Fragment as e, computed as t, createBlock as n, createElementBlock as r, defineComponent as i, guardReactiveProps as a, mergeProps as o, normalizeProps as s, onMounted as c, openBlock as l, provide as u, renderList as d, renderSlot as f, resolveDynamicComponent as p, withCtx as m } from "vue";
2
- //#region src/components/OmegaForm/OmegaArray.vue?vue&type=script&setup=true&lang.ts
3
- var h = /*@__PURE__*/ i({
4
- inheritAttrs: !1,
5
- __name: "OmegaArray",
6
- props: {
7
- form: {},
8
- required: { type: Boolean },
9
- inputClass: {},
10
- name: {},
11
- defaultItems: {},
12
- items: {}
13
- },
14
- setup(i) {
15
- let h = i, g = h.form.useStore((e) => e.values), _ = t(() => {
16
- let e = h.name.replace(/\[/g, ".").replace(/\]/g, "");
17
- try {
18
- return e.split(".").reduce((e, t) => e && e[t], g.value);
19
- } catch (e) {
20
- return console.error(e), [];
21
- }
22
- });
23
- return c(async () => {
24
- h.defaultItems && !_.value && h.form.setFieldValue(h.name, h.defaultItems);
25
- }), u("getMetaFromArray", t(() => (e) => {
26
- let t = e.replace(/\[\d+\]/g, "");
27
- return h.form.meta[t];
28
- })), (t, c) => (l(), n(p(i.form.Field), { name: i.name }, {
29
- default: m(({ field: c }) => [
30
- f(t.$slots, "pre-array", s(a({
31
- field: c,
32
- state: c.state
33
- }))),
34
- (l(!0), r(e, null, d(_.value, (e, r) => (l(), n(p(i.form.Field), {
35
- key: `${i.name}[${Number(r)}]`,
36
- name: `${i.name}[${Number(r)}]`
37
- }, {
38
- default: m(({ field: e }) => [f(t.$slots, "default", o({ ref_for: !0 }, {
39
- subField: e,
40
- subState: e.state,
41
- index: Number(r),
42
- field: c
43
- }))]),
44
- _: 2
45
- }, 1032, ["name"]))), 128)),
46
- f(t.$slots, "post-array", s(a({
47
- field: c,
48
- state: c.state
49
- }))),
50
- f(t.$slots, "field", s(a({ field: c })))
51
- ]),
52
- _: 3
53
- }, 8, ["name"]));
54
- }
55
- });
1
+ import { useIntl as e } from "./vue-components6.es.js";
2
+ import { computed as t, h as n, onUnmounted as r, ref as i, watch as a } from "vue";
3
+ //#region src/components/OmegaForm/errors.ts
4
+ var o = (t) => {
5
+ let { formatMessage: n } = e(), r = (e) => e.replace(/([A-Z])/g, " $1").replace(/^./, (e) => e.toUpperCase()).trim(), i = (e) => n ? n({
6
+ id: `general.fields.${e}`,
7
+ defaultMessage: r(e)
8
+ }) : r(e);
9
+ return (e) => t.i18nNamespace ? n({
10
+ id: `${t.i18nNamespace}.fields.${e}`,
11
+ defaultMessage: i(e)
12
+ }) : i(e);
13
+ }, s = (e) => function(r) {
14
+ return {
15
+ setup() {
16
+ let { fieldMap: n, form: r } = e, i = r.useStore((e) => e.errors), a = r.useStore((e) => e.fieldMeta), s = r.useStore((e) => e.errorMap), c = o(r);
17
+ return {
18
+ generalErrors: i,
19
+ errors: t(() => {
20
+ let e = Object.entries(a.value).reduce((e, [t, r]) => {
21
+ let i = r?.errors ?? [];
22
+ if (!i.length) return e;
23
+ let a = n.value.get(t);
24
+ return a && e.push({
25
+ label: a.label,
26
+ inputId: a.id,
27
+ errors: [i[0]?.message].filter(Boolean)
28
+ }), e;
29
+ }, []), t = [], r = [s.value.onDynamic, s.value.onSubmit].filter(Boolean), i = /* @__PURE__ */ new Set();
30
+ for (let e of r) for (let [r, a] of Object.entries(e)) if (Array.isArray(a) && a.length) for (let e of a) {
31
+ let r = e;
32
+ if (r?.path && Array.isArray(r.path) && r.path.length) {
33
+ let e = r.path.join(".");
34
+ if (!n.value.has(e) && !i.has(e)) {
35
+ i.add(e), t.push({
36
+ label: c(e),
37
+ inputId: e,
38
+ errors: [r.message].filter(Boolean)
39
+ });
40
+ break;
41
+ }
42
+ }
43
+ }
44
+ return [...e, ...t];
45
+ })
46
+ };
47
+ },
48
+ render({ errors: e, generalErrors: t }) {
49
+ return n(r, {
50
+ errors: e,
51
+ generalErrors: t,
52
+ ...this.$attrs
53
+ }, this.$slots);
54
+ }
55
+ };
56
+ }, c = () => {
57
+ let e = i(/* @__PURE__ */ new Map());
58
+ return {
59
+ fieldMap: e,
60
+ registerField: (t) => {
61
+ a(t, (t) => {
62
+ e.value.set(t.name, {
63
+ label: t.label,
64
+ id: t.id
65
+ });
66
+ }, { immediate: !0 }), r(() => {
67
+ e.value.get(t.value.name)?.id === t.value.id && e.value.delete(t.value.name);
68
+ });
69
+ }
70
+ };
71
+ };
56
72
  //#endregion
57
- export { h as default };
73
+ export { s as eHoc, c as makeFieldMap, o as useErrorLabel };
@@ -1,5 +1,12 @@
1
- import e from "./vue-components22.es.js";
2
- //#region src/components/OmegaForm/OmegaArray.vue
3
- var t = e;
1
+ import { h as e } from "vue";
2
+ //#region src/components/OmegaForm/hocs.ts
3
+ var t = (t) => function(n) {
4
+ return { render() {
5
+ return e(n, {
6
+ form: t,
7
+ ...this.$attrs
8
+ }, this.$slots);
9
+ } };
10
+ };
4
11
  //#endregion
5
- export { t as default };
12
+ export { t as fHoc };
@@ -1,44 +1,57 @@
1
- import { Fragment as e, computed as t, createElementBlock as n, createVNode as r, defineComponent as i, mergeProps as a, openBlock as o, renderList as s, renderSlot as c, unref as l } from "vue";
2
- import * as u from "effect/Order";
3
- //#region src/components/OmegaForm/OmegaAutoGen.vue?vue&type=script&setup=true&lang.ts
4
- var d = /*@__PURE__*/ i({
5
- __name: "OmegaAutoGen",
1
+ import { Fragment as e, computed as t, createBlock as n, createElementBlock as r, defineComponent as i, guardReactiveProps as a, mergeProps as o, normalizeProps as s, onMounted as c, openBlock as l, provide as u, renderList as d, renderSlot as f, resolveDynamicComponent as p, withCtx as m } from "vue";
2
+ //#region src/components/OmegaForm/OmegaArray.vue?vue&type=script&setup=true&lang.ts
3
+ var h = /*@__PURE__*/ i({
4
+ inheritAttrs: !1,
5
+ __name: "OmegaArray",
6
6
  props: {
7
7
  form: {},
8
- pick: {},
9
- omit: {},
10
- labelMap: { type: Function },
11
- filterMap: { type: Function },
12
- order: {},
13
- sort: {}
8
+ required: { type: Boolean },
9
+ inputClass: {},
10
+ name: {},
11
+ defaultItems: {},
12
+ items: {}
14
13
  },
15
14
  setup(i) {
16
- let d = (e) => (t) => Object.fromEntries(Object.entries(t).map(([t, n]) => [t, e(n, t)])), f = (e) => (t) => Object.fromEntries(Object.entries(t).filter(([t, n]) => e(n, t))), p = (e) => (t) => Object.entries(t).reduce((t, [n, r]) => {
17
- let i = e(r, n);
18
- return i !== !1 && (t[n] = i), t;
19
- }, {}), m = i, h = (e, t) => {
20
- let n = t?.indexOf(e) ?? -1;
21
- return n === -1 ? 2 ** 53 - 1 : n;
22
- }, g = u.mapInput(u.Number, (e) => h(e.name, m.order || [])), _ = t(() => {
23
- let e = f((e, t) => !!e && (m.pick ? m.pick.includes(t) && !m.omit?.includes(t) : !m.omit?.includes(t)))(m.form.meta), t = d((e, t) => ({
24
- name: t,
25
- label: m.labelMap?.(t) || t,
26
- ...e
27
- }))(e), n = m.filterMap ? p((e) => {
28
- let t = m.filterMap?.(e.name, e);
29
- return t === void 0 || t === !0 ? e : t;
30
- })(t) : t, r = [...Object.values(n)].sort(g);
31
- return m.sort ? r.sort(m.sort) : r;
15
+ let h = i, g = h.form.useStore((e) => e.values), _ = t(() => {
16
+ let e = h.name.replace(/\[/g, ".").replace(/\]/g, "");
17
+ try {
18
+ return e.split(".").reduce((e, t) => e && e[t], g.value);
19
+ } catch (e) {
20
+ return console.error(e), [];
21
+ }
32
22
  });
33
- return (t, u) => (o(!0), n(e, null, s(_.value, ({ name: e, label: n, ...o }) => c(t.$slots, "default", { child: {
34
- name: e,
35
- label: n,
36
- ...o
37
- } }, () => [r(l(i.form).Input, a({
38
- name: e,
39
- label: n
40
- }, { ref_for: !0 }, o), null, 16, ["name", "label"])])), 256));
23
+ return c(async () => {
24
+ h.defaultItems && !_.value && h.form.setFieldValue(h.name, h.defaultItems);
25
+ }), u("getMetaFromArray", t(() => (e) => {
26
+ let t = e.replace(/\[\d+\]/g, "");
27
+ return h.form.meta[t];
28
+ })), (t, c) => (l(), n(p(i.form.Field), { name: i.name }, {
29
+ default: m(({ field: c }) => [
30
+ f(t.$slots, "pre-array", s(a({
31
+ field: c,
32
+ state: c.state
33
+ }))),
34
+ (l(!0), r(e, null, d(_.value, (e, r) => (l(), n(p(i.form.Field), {
35
+ key: `${i.name}[${Number(r)}]`,
36
+ name: `${i.name}[${Number(r)}]`
37
+ }, {
38
+ default: m(({ field: e }) => [f(t.$slots, "default", o({ ref_for: !0 }, {
39
+ subField: e,
40
+ subState: e.state,
41
+ index: Number(r),
42
+ field: c
43
+ }))]),
44
+ _: 2
45
+ }, 1032, ["name"]))), 128)),
46
+ f(t.$slots, "post-array", s(a({
47
+ field: c,
48
+ state: c.state
49
+ }))),
50
+ f(t.$slots, "field", s(a({ field: c })))
51
+ ]),
52
+ _: 3
53
+ }, 8, ["name"]));
41
54
  }
42
55
  });
43
56
  //#endregion
44
- export { d as default };
57
+ export { h as default };
@@ -1,5 +1,5 @@
1
1
  import e from "./vue-components24.es.js";
2
- //#region src/components/OmegaForm/OmegaAutoGen.vue
2
+ //#region src/components/OmegaForm/OmegaArray.vue
3
3
  var t = e;
4
4
  //#endregion
5
5
  export { t as default };
@@ -1,84 +1,44 @@
1
- import { useIntl as e } from "./vue-components6.es.js";
2
- import { Fragment as t, Transition as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, defineComponent as l, getCurrentInstance as u, guardReactiveProps as d, normalizeClass as f, normalizeProps as p, openBlock as m, renderList as h, renderSlot as g, resolveDynamicComponent as _, toDisplayString as v, unref as y, withCtx as b } from "vue";
3
- //#region src/components/OmegaForm/OmegaErrorsInternal.vue?vue&type=script&setup=true&lang.ts
4
- var x = {
5
- key: 0,
6
- class: "error-alert"
7
- }, S = { class: "container" }, C = {
8
- key: 0,
9
- viewBox: "0 0 24 24",
10
- fill: "none",
11
- xmlns: "http://www.w3.org/2000/svg"
12
- }, w = { class: "text-h6" }, T = {
13
- key: 0,
14
- class: "error-list"
15
- }, E = ["for"], D = { key: 1 }, O = /*@__PURE__*/ l({
16
- __name: "OmegaErrorsInternal",
1
+ import { Fragment as e, computed as t, createElementBlock as n, createVNode as r, defineComponent as i, mergeProps as a, openBlock as o, renderList as s, renderSlot as c, unref as l } from "vue";
2
+ import * as u from "effect/Order";
3
+ //#region src/components/OmegaForm/OmegaAutoGen.vue?vue&type=script&setup=true&lang.ts
4
+ var d = /*@__PURE__*/ i({
5
+ __name: "OmegaAutoGen",
17
6
  props: {
18
- generalErrors: {},
19
- errors: {},
20
- hideErrorDetails: { type: Boolean }
7
+ form: {},
8
+ pick: {},
9
+ omit: {},
10
+ labelMap: { type: Function },
11
+ filterMap: { type: Function },
12
+ order: {},
13
+ sort: {}
21
14
  },
22
- setup(l) {
23
- let O = u()?.appContext.components.VAlert, k = l, { trans: A } = e(), j = r(() => k.generalErrors ? k.generalErrors.filter((e) => !!e).flatMap((e) => Object.values(e).filter((e) => !!e).flatMap((e) => e.filter((e) => !!e?.message).map((e) => e.message))) : []);
24
- return (e, r) => (m(), i(n, null, {
25
- default: b(() => [l.errors.length || j.value.length ? (m(), o("div", x, [g(e.$slots, "default", p(d({
26
- errors: l.errors,
27
- showedGeneralErrors: j.value
28
- })), () => [(m(), i(_(y(O) ? "v-alert" : "div"), {
29
- class: f([y(O) ? "mb-4" : "error-alert-content", "mb-4"]),
30
- type: "error",
31
- variant: "tonal",
32
- role: "alert",
33
- "aria-live": "polite"
34
- }, {
35
- default: b(() => [s("div", S, [g(e.$slots, "icon", {}, () => [y(O) ? a("", !0) : (m(), o("svg", C, [...r[0] ||= [
36
- s("path", {
37
- d: "M16 2H8L2 8V16L8 22H16L22 16V8L16 2Z",
38
- stroke: "currentColor",
39
- "stroke-width": "2",
40
- "stroke-linecap": "round",
41
- "stroke-linejoin": "round"
42
- }, null, -1),
43
- s("path", {
44
- d: "M12 8V12",
45
- stroke: "currentColor",
46
- "stroke-width": "2",
47
- "stroke-linecap": "round",
48
- "stroke-linejoin": "round"
49
- }, null, -1),
50
- s("path", {
51
- d: "M12 16.0195V16",
52
- stroke: "currentColor",
53
- "stroke-width": "2",
54
- "stroke-linecap": "round",
55
- "stroke-linejoin": "round"
56
- }, null, -1)
57
- ]]))], !0), s("div", null, [s("div", w, v(y(A)("form.includes_error")) + ": ", 1), l.errors.length ? (m(), o("ul", T, [(m(!0), o(t, null, h(l.errors, (e) => (m(), o("li", {
58
- key: e.inputId,
59
- class: "error-item"
60
- }, [s("div", null, [
61
- s("label", {
62
- for: e.inputId,
63
- class: "error-link"
64
- }, v(e.label), 9, E),
65
- r[1] ||= c(" " + v(" ") + " ", -1),
66
- l.hideErrorDetails ? a("", !0) : (m(), o("div", {
67
- key: 0,
68
- class: f(["error-message", e.errors.length < 2 && "single-error"])
69
- }, [(m(), i(_(e.errors.length > 1 ? "ul" : "div"), { class: "error-list" }, {
70
- default: b(() => [(m(!0), o(t, null, h(e.errors, (t) => (m(), i(_(e.errors.length > 1 ? "li" : "span"), { key: t }, {
71
- default: b(() => [c(v(t), 1)]),
72
- _: 2
73
- }, 1024))), 128))]),
74
- _: 2
75
- }, 1024))], 2))
76
- ])]))), 128))])) : (m(), o("span", D, v(j.value[0]), 1))])])]),
77
- _: 3
78
- }, 8, ["class"]))], !0)])) : a("", !0)]),
79
- _: 3
80
- }));
15
+ setup(i) {
16
+ let d = (e) => (t) => Object.fromEntries(Object.entries(t).map(([t, n]) => [t, e(n, t)])), f = (e) => (t) => Object.fromEntries(Object.entries(t).filter(([t, n]) => e(n, t))), p = (e) => (t) => Object.entries(t).reduce((t, [n, r]) => {
17
+ let i = e(r, n);
18
+ return i !== !1 && (t[n] = i), t;
19
+ }, {}), m = i, h = (e, t) => {
20
+ let n = t?.indexOf(e) ?? -1;
21
+ return n === -1 ? 2 ** 53 - 1 : n;
22
+ }, g = u.mapInput(u.Number, (e) => h(e.name, m.order || [])), _ = t(() => {
23
+ let e = f((e, t) => !!e && (m.pick ? m.pick.includes(t) && !m.omit?.includes(t) : !m.omit?.includes(t)))(m.form.meta), t = d((e, t) => ({
24
+ name: t,
25
+ label: m.labelMap?.(t) || t,
26
+ ...e
27
+ }))(e), n = m.filterMap ? p((e) => {
28
+ let t = m.filterMap?.(e.name, e);
29
+ return t === void 0 || t === !0 ? e : t;
30
+ })(t) : t, r = [...Object.values(n)].sort(g);
31
+ return m.sort ? r.sort(m.sort) : r;
32
+ });
33
+ return (t, u) => (o(!0), n(e, null, s(_.value, ({ name: e, label: n, ...o }) => c(t.$slots, "default", { child: {
34
+ name: e,
35
+ label: n,
36
+ ...o
37
+ } }, () => [r(l(i.form).Input, a({
38
+ name: e,
39
+ label: n
40
+ }, { ref_for: !0 }, o), null, 16, ["name", "label"])])), 256));
81
41
  }
82
42
  });
83
43
  //#endregion
84
- export { O as default };
44
+ export { d as default };
@@ -0,0 +1,5 @@
1
+ import e from "./vue-components26.es.js";
2
+ //#region src/components/OmegaForm/OmegaAutoGen.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };