@bach.software/vue-dynamic-form 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/examples.cjs.js +8 -8
- package/dist/examples.cjs.js.map +1 -1
- package/dist/examples.es.js +689 -542
- package/dist/examples.es.js.map +1 -1
- package/dist/mapEachMetadataItem-CZmoxEoA.js +1234 -0
- package/dist/mapEachMetadataItem-CZmoxEoA.js.map +1 -0
- package/dist/mapEachMetadataItem-Dw1U9jf2.cjs +2 -0
- package/dist/mapEachMetadataItem-Dw1U9jf2.cjs.map +1 -0
- package/dist/src/components/__tests__/DynamicFormItem.test-helpers.d.ts +8 -0
- package/dist/src/components/__tests__/DynamicFormItemArray.test-helpers.d.ts +2 -0
- package/dist/src/components/__tests__/DynamicFormItemChoice.test-helpers.d.ts +9 -0
- package/dist/src/examples/__tests__/TestFormTemplate.testcases.d.ts +233 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/types/FieldMetadata.d.ts +32 -1
- package/dist/src/utils/__tests__/deepEqual.test.d.ts +1 -0
- package/dist/src/utils/__tests__/hashField.test.d.ts +1 -0
- package/dist/src/utils/__tests__/isPathInSection.test.d.ts +1 -0
- package/dist/src/utils/buildRestrictionValidations.d.ts +11 -0
- package/dist/src/utils/deepEqual.d.ts +9 -0
- package/dist/src/utils/isPathInSection.d.ts +9 -0
- package/dist/src/utils/removeNullValues.d.ts +4 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vue-dynamic-form.cjs.js +1 -1
- package/dist/vue-dynamic-form.cjs.js.map +1 -1
- package/dist/vue-dynamic-form.es.js +22 -21
- package/dist/vue-dynamic-form.es.js.map +1 -1
- package/package.json +2 -1
- package/dist/mapEachMetadataItem-DwSDJyzo.cjs +0 -2
- package/dist/mapEachMetadataItem-DwSDJyzo.cjs.map +0 -1
- package/dist/mapEachMetadataItem-DxEO1PDs.js +0 -1186
- package/dist/mapEachMetadataItem-DxEO1PDs.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./mapEachMetadataItem-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./mapEachMetadataItem-Dw1U9jf2.cjs");function u(e){return e==null}function s(e){return!u(e)}function o(e){if(e==null)return e;if(Array.isArray(e)){const a=e.map(o).filter(s);return a.length?a:void 0}if(typeof e=="object"){const a=Object.entries(e).map(([c,t])=>[c,o(t)]).filter(([c,t])=>s(t)).reduce((c,[t,r])=>({...c,[t]:r}),{});return Object.entries(a).length?a:void 0}return e}function l(e,a,c){if(!a.includes(".")&&!a.includes("[")){e[a]=c;return}const t=a.split(/\.|\[(\d+)\]/).filter(Boolean);let r=e;for(let n=0;n<t.length;n++){if(n===t.length-1){r[t[n]]=c;return}if(!(t[n]in r)||r[t[n]]===null||r[t[n]]===void 0){const m=t[n+1];r[t[n]]=/^\d+$/.test(m)?[]:{}}r=r[t[n]]}}exports.DynamicForm=i._sfc_main;exports.DynamicFormItem=i._sfc_main$1;exports.DynamicFormItemArray=i._sfc_main$2;exports.DynamicFormItemChoice=i._sfc_main$3;exports.DynamicFormItemWizard=i._sfc_main$4;exports.DynamicFormTemplate=i._sfc_main$5;exports.checkTreeHasValue=i.checkTreeHasValue;exports.defineMetadata=i.defineMetadata;exports.dynamicFormSettingsKey=i.dynamicFormSettingsKey;exports.isPathInSection=i.isPathInSection;exports.mapEachMetadataItem=i.mapEachMetadataItem;exports.useDynamicForm=i.useDynamicForm;exports.useValidatePartialForm=i.useValidatePartialForm;exports.removeNullValues=o;exports.setInPath=l;
|
|
2
2
|
//# sourceMappingURL=vue-dynamic-form.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue-dynamic-form.cjs.js","sources":["../src/utils/isNullOrUndefined.ts","../src/utils/removeNullValues.ts","../src/utils/setInPath.ts"],"sourcesContent":["export function isNullOrUndefined(arg: any) {\n return arg === undefined || arg === null;\n}\n\nexport function isNotNullOrUndefined(arg: any) {\n return !isNullOrUndefined(arg);\n}\n","import { isNotNullOrUndefined } from '@/utils/isNullOrUndefined';\n\n/**\n * Removes all null value's from object properties and array's.\n * @param element any value\n */\nexport function removeNullValues<T>(element: T): T | undefined {\n if (element === null || element === undefined) {\n return element;\n }\n\n if (Array.isArray(element)) {\n const items = element.map(removeNullValues).filter(isNotNullOrUndefined);\n return items.length ? (items as T) : undefined;\n }\n\n if (typeof element === 'object') {\n const entries = Object.entries(element)\n .map(([key, value]) => [key, removeNullValues(value)])\n .filter(([_, value]) => isNotNullOrUndefined(value))\n .reduce((obj, [key, value]) => ({ ...obj, [key]: value }), {});\n\n return Object.entries(entries).length ? (entries as T) : undefined;\n }\n\n return element;\n}\n","/**\n * Sets a value at a nested path within an object.\n * Based on vee-validate's internal setInPath implementation.\n * Creates intermediate objects/arrays as needed.\n *\n * @param object - The object to modify\n * @param path - Dot-separated path (e.g., \"user.address.city\") or with array notation (e.g., \"items[0].name\")\n * @param value - The value to set at the path\n */\nexport function setInPath(\n object: Record<string, any>,\n path: string,\n value: unknown,\n): void {\n // Handle simple non-nested paths\n if (!path.includes('.') && !path.includes('[')) {\n object[path] = value;\n return;\n }\n\n // Split path by dots or array brackets\n const keys = path.split(/\\.|\\[(\\d+)\\]/).filter(Boolean);\n let acc: Record<string, unknown> = object;\n\n for (let i = 0; i < keys.length; i++) {\n // If this is the last key, set the value\n if (i === keys.length - 1) {\n acc[keys[i]] = value;\n return;\n }\n\n // Create intermediate object or array if it doesn't exist\n if (!(keys[i] in acc) || acc[keys[i]] === null || acc[keys[i]] === undefined) {\n // Next key is a number? Create array, otherwise object\n const nextKey = keys[i + 1];\n acc[keys[i]] = /^\\d+$/.test(nextKey) ? [] : {};\n }\n\n acc = acc[keys[i]] as Record<string, unknown>;\n }\n}\n"],"names":["isNullOrUndefined","arg","isNotNullOrUndefined","removeNullValues","element","items","entries","key","value","_","obj","setInPath","object","path","keys","acc","i","nextKey"],"mappings":"sIAAO,SAASA,EAAkBC,EAAU,CAC1C,OAA4BA,GAAQ,IACtC,CAEO,SAASC,EAAqBD,EAAU,CAC7C,MAAO,CAACD,EAAkBC,CAAG,CAC/B,
|
|
1
|
+
{"version":3,"file":"vue-dynamic-form.cjs.js","sources":["../src/utils/isNullOrUndefined.ts","../src/utils/removeNullValues.ts","../src/utils/setInPath.ts"],"sourcesContent":["export function isNullOrUndefined(arg: any) {\n return arg === undefined || arg === null;\n}\n\nexport function isNotNullOrUndefined(arg: any) {\n return !isNullOrUndefined(arg);\n}\n","import { isNotNullOrUndefined } from '@/utils/isNullOrUndefined';\n\n/**\n * Removes all null value's from object properties and array's.\n *\n * Note: an empty-object or empty-array `presenceValue` marker on a choice branch is stripped\n * back to `undefined` by this cleanup, same as any other empty object/array; use a non-empty\n * marker if the branch's selection must survive this round-trip.\n * @param element any value\n */\nexport function removeNullValues<T>(element: T): T | undefined {\n if (element === null || element === undefined) {\n return element;\n }\n\n if (Array.isArray(element)) {\n const items = element.map(removeNullValues).filter(isNotNullOrUndefined);\n return items.length ? (items as T) : undefined;\n }\n\n if (typeof element === 'object') {\n const entries = Object.entries(element)\n .map(([key, value]) => [key, removeNullValues(value)])\n .filter(([_, value]) => isNotNullOrUndefined(value))\n .reduce((obj, [key, value]) => ({ ...obj, [key]: value }), {});\n\n return Object.entries(entries).length ? (entries as T) : undefined;\n }\n\n return element;\n}\n","/**\n * Sets a value at a nested path within an object.\n * Based on vee-validate's internal setInPath implementation.\n * Creates intermediate objects/arrays as needed.\n *\n * @param object - The object to modify\n * @param path - Dot-separated path (e.g., \"user.address.city\") or with array notation (e.g., \"items[0].name\")\n * @param value - The value to set at the path\n */\nexport function setInPath(\n object: Record<string, any>,\n path: string,\n value: unknown,\n): void {\n // Handle simple non-nested paths\n if (!path.includes('.') && !path.includes('[')) {\n object[path] = value;\n return;\n }\n\n // Split path by dots or array brackets\n const keys = path.split(/\\.|\\[(\\d+)\\]/).filter(Boolean);\n let acc: Record<string, unknown> = object;\n\n for (let i = 0; i < keys.length; i++) {\n // If this is the last key, set the value\n if (i === keys.length - 1) {\n acc[keys[i]] = value;\n return;\n }\n\n // Create intermediate object or array if it doesn't exist\n if (!(keys[i] in acc) || acc[keys[i]] === null || acc[keys[i]] === undefined) {\n // Next key is a number? Create array, otherwise object\n const nextKey = keys[i + 1];\n acc[keys[i]] = /^\\d+$/.test(nextKey) ? [] : {};\n }\n\n acc = acc[keys[i]] as Record<string, unknown>;\n }\n}\n"],"names":["isNullOrUndefined","arg","isNotNullOrUndefined","removeNullValues","element","items","entries","key","value","_","obj","setInPath","object","path","keys","acc","i","nextKey"],"mappings":"sIAAO,SAASA,EAAkBC,EAAU,CAC1C,OAA4BA,GAAQ,IACtC,CAEO,SAASC,EAAqBD,EAAU,CAC7C,MAAO,CAACD,EAAkBC,CAAG,CAC/B,CCIO,SAASE,EAAoBC,EAA2B,CAC7D,GAAIA,GAAY,KACd,OAAOA,EAGT,GAAI,MAAM,QAAQA,CAAO,EAAG,CAC1B,MAAMC,EAAQD,EAAQ,IAAID,CAAgB,EAAE,OAAOD,CAAoB,EACvE,OAAOG,EAAM,OAAUA,EAAc,MACvC,CAEA,GAAI,OAAOD,GAAY,SAAU,CAC/B,MAAME,EAAU,OAAO,QAAQF,CAAO,EACnC,IAAI,CAAC,CAACG,EAAKC,CAAK,IAAM,CAACD,EAAKJ,EAAiBK,CAAK,CAAC,CAAC,EACpD,OAAO,CAAC,CAACC,EAAGD,CAAK,IAAMN,EAAqBM,CAAK,CAAC,EAClD,OAAO,CAACE,EAAK,CAACH,EAAKC,CAAK,KAAO,CAAE,GAAGE,EAAK,CAACH,CAAG,EAAGC,CAAA,GAAU,EAAE,EAE/D,OAAO,OAAO,QAAQF,CAAO,EAAE,OAAUA,EAAgB,MAC3D,CAEA,OAAOF,CACT,CCrBO,SAASO,EACdC,EACAC,EACAL,EACM,CAEN,GAAI,CAACK,EAAK,SAAS,GAAG,GAAK,CAACA,EAAK,SAAS,GAAG,EAAG,CAC9CD,EAAOC,CAAI,EAAIL,EACf,MACF,CAGA,MAAMM,EAAOD,EAAK,MAAM,cAAc,EAAE,OAAO,OAAO,EACtD,IAAIE,EAA+BH,EAEnC,QAASI,EAAI,EAAGA,EAAIF,EAAK,OAAQE,IAAK,CAEpC,GAAIA,IAAMF,EAAK,OAAS,EAAG,CACzBC,EAAID,EAAKE,CAAC,CAAC,EAAIR,EACf,MACF,CAGA,GAAI,EAAEM,EAAKE,CAAC,IAAKD,IAAQA,EAAID,EAAKE,CAAC,CAAC,IAAM,MAAQD,EAAID,EAAKE,CAAC,CAAC,IAAM,OAAW,CAE5E,MAAMC,EAAUH,EAAKE,EAAI,CAAC,EAC1BD,EAAID,EAAKE,CAAC,CAAC,EAAI,QAAQ,KAAKC,CAAO,EAAI,CAAA,EAAK,CAAA,CAC9C,CAEAF,EAAMA,EAAID,EAAKE,CAAC,CAAC,CACnB,CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as f, a as y, b as F, c as
|
|
1
|
+
import { _ as f, a as y, b as F, c as h, d as D, e as I, i as g, f as p, h as v, j as N, m as O, u as b, g as j } from "./mapEachMetadataItem-CZmoxEoA.js";
|
|
2
2
|
function u(i) {
|
|
3
3
|
return i == null;
|
|
4
4
|
}
|
|
@@ -9,48 +9,49 @@ function o(i) {
|
|
|
9
9
|
if (i == null)
|
|
10
10
|
return i;
|
|
11
11
|
if (Array.isArray(i)) {
|
|
12
|
-
const
|
|
13
|
-
return
|
|
12
|
+
const r = i.map(o).filter(s);
|
|
13
|
+
return r.length ? r : void 0;
|
|
14
14
|
}
|
|
15
15
|
if (typeof i == "object") {
|
|
16
|
-
const
|
|
17
|
-
return Object.entries(
|
|
16
|
+
const r = Object.entries(i).map(([a, e]) => [a, o(e)]).filter(([a, e]) => s(e)).reduce((a, [e, n]) => ({ ...a, [e]: n }), {});
|
|
17
|
+
return Object.entries(r).length ? r : void 0;
|
|
18
18
|
}
|
|
19
19
|
return i;
|
|
20
20
|
}
|
|
21
|
-
function m(i,
|
|
22
|
-
if (!
|
|
23
|
-
i[
|
|
21
|
+
function m(i, r, a) {
|
|
22
|
+
if (!r.includes(".") && !r.includes("[")) {
|
|
23
|
+
i[r] = a;
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
|
-
const
|
|
26
|
+
const e = r.split(/\.|\[(\d+)\]/).filter(Boolean);
|
|
27
27
|
let n = i;
|
|
28
|
-
for (let t = 0; t <
|
|
29
|
-
if (t ===
|
|
30
|
-
n[
|
|
28
|
+
for (let t = 0; t < e.length; t++) {
|
|
29
|
+
if (t === e.length - 1) {
|
|
30
|
+
n[e[t]] = a;
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
|
-
if (!(
|
|
34
|
-
const c =
|
|
35
|
-
n[
|
|
33
|
+
if (!(e[t] in n) || n[e[t]] === null || n[e[t]] === void 0) {
|
|
34
|
+
const c = e[t + 1];
|
|
35
|
+
n[e[t]] = /^\d+$/.test(c) ? [] : {};
|
|
36
36
|
}
|
|
37
|
-
n = n[
|
|
37
|
+
n = n[e[t]];
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
export {
|
|
41
41
|
f as DynamicForm,
|
|
42
42
|
y as DynamicFormItem,
|
|
43
43
|
F as DynamicFormItemArray,
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
h as DynamicFormItemChoice,
|
|
45
|
+
D as DynamicFormItemWizard,
|
|
46
46
|
I as DynamicFormTemplate,
|
|
47
47
|
g as checkTreeHasValue,
|
|
48
48
|
p as defineMetadata,
|
|
49
49
|
v as dynamicFormSettingsKey,
|
|
50
|
-
N as
|
|
50
|
+
N as isPathInSection,
|
|
51
|
+
O as mapEachMetadataItem,
|
|
51
52
|
o as removeNullValues,
|
|
52
53
|
m as setInPath,
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
b as useDynamicForm,
|
|
55
|
+
j as useValidatePartialForm
|
|
55
56
|
};
|
|
56
57
|
//# sourceMappingURL=vue-dynamic-form.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue-dynamic-form.es.js","sources":["../src/utils/isNullOrUndefined.ts","../src/utils/removeNullValues.ts","../src/utils/setInPath.ts"],"sourcesContent":["export function isNullOrUndefined(arg: any) {\n return arg === undefined || arg === null;\n}\n\nexport function isNotNullOrUndefined(arg: any) {\n return !isNullOrUndefined(arg);\n}\n","import { isNotNullOrUndefined } from '@/utils/isNullOrUndefined';\n\n/**\n * Removes all null value's from object properties and array's.\n * @param element any value\n */\nexport function removeNullValues<T>(element: T): T | undefined {\n if (element === null || element === undefined) {\n return element;\n }\n\n if (Array.isArray(element)) {\n const items = element.map(removeNullValues).filter(isNotNullOrUndefined);\n return items.length ? (items as T) : undefined;\n }\n\n if (typeof element === 'object') {\n const entries = Object.entries(element)\n .map(([key, value]) => [key, removeNullValues(value)])\n .filter(([_, value]) => isNotNullOrUndefined(value))\n .reduce((obj, [key, value]) => ({ ...obj, [key]: value }), {});\n\n return Object.entries(entries).length ? (entries as T) : undefined;\n }\n\n return element;\n}\n","/**\n * Sets a value at a nested path within an object.\n * Based on vee-validate's internal setInPath implementation.\n * Creates intermediate objects/arrays as needed.\n *\n * @param object - The object to modify\n * @param path - Dot-separated path (e.g., \"user.address.city\") or with array notation (e.g., \"items[0].name\")\n * @param value - The value to set at the path\n */\nexport function setInPath(\n object: Record<string, any>,\n path: string,\n value: unknown,\n): void {\n // Handle simple non-nested paths\n if (!path.includes('.') && !path.includes('[')) {\n object[path] = value;\n return;\n }\n\n // Split path by dots or array brackets\n const keys = path.split(/\\.|\\[(\\d+)\\]/).filter(Boolean);\n let acc: Record<string, unknown> = object;\n\n for (let i = 0; i < keys.length; i++) {\n // If this is the last key, set the value\n if (i === keys.length - 1) {\n acc[keys[i]] = value;\n return;\n }\n\n // Create intermediate object or array if it doesn't exist\n if (!(keys[i] in acc) || acc[keys[i]] === null || acc[keys[i]] === undefined) {\n // Next key is a number? Create array, otherwise object\n const nextKey = keys[i + 1];\n acc[keys[i]] = /^\\d+$/.test(nextKey) ? [] : {};\n }\n\n acc = acc[keys[i]] as Record<string, unknown>;\n }\n}\n"],"names":["isNullOrUndefined","arg","isNotNullOrUndefined","removeNullValues","element","items","entries","key","value","_","obj","setInPath","object","path","keys","acc","i","nextKey"],"mappings":";AAAO,SAASA,EAAkBC,GAAU;AAC1C,SAA4BA,KAAQ;AACtC;AAEO,SAASC,EAAqBD,GAAU;AAC7C,SAAO,CAACD,EAAkBC,CAAG;AAC/B;
|
|
1
|
+
{"version":3,"file":"vue-dynamic-form.es.js","sources":["../src/utils/isNullOrUndefined.ts","../src/utils/removeNullValues.ts","../src/utils/setInPath.ts"],"sourcesContent":["export function isNullOrUndefined(arg: any) {\n return arg === undefined || arg === null;\n}\n\nexport function isNotNullOrUndefined(arg: any) {\n return !isNullOrUndefined(arg);\n}\n","import { isNotNullOrUndefined } from '@/utils/isNullOrUndefined';\n\n/**\n * Removes all null value's from object properties and array's.\n *\n * Note: an empty-object or empty-array `presenceValue` marker on a choice branch is stripped\n * back to `undefined` by this cleanup, same as any other empty object/array; use a non-empty\n * marker if the branch's selection must survive this round-trip.\n * @param element any value\n */\nexport function removeNullValues<T>(element: T): T | undefined {\n if (element === null || element === undefined) {\n return element;\n }\n\n if (Array.isArray(element)) {\n const items = element.map(removeNullValues).filter(isNotNullOrUndefined);\n return items.length ? (items as T) : undefined;\n }\n\n if (typeof element === 'object') {\n const entries = Object.entries(element)\n .map(([key, value]) => [key, removeNullValues(value)])\n .filter(([_, value]) => isNotNullOrUndefined(value))\n .reduce((obj, [key, value]) => ({ ...obj, [key]: value }), {});\n\n return Object.entries(entries).length ? (entries as T) : undefined;\n }\n\n return element;\n}\n","/**\n * Sets a value at a nested path within an object.\n * Based on vee-validate's internal setInPath implementation.\n * Creates intermediate objects/arrays as needed.\n *\n * @param object - The object to modify\n * @param path - Dot-separated path (e.g., \"user.address.city\") or with array notation (e.g., \"items[0].name\")\n * @param value - The value to set at the path\n */\nexport function setInPath(\n object: Record<string, any>,\n path: string,\n value: unknown,\n): void {\n // Handle simple non-nested paths\n if (!path.includes('.') && !path.includes('[')) {\n object[path] = value;\n return;\n }\n\n // Split path by dots or array brackets\n const keys = path.split(/\\.|\\[(\\d+)\\]/).filter(Boolean);\n let acc: Record<string, unknown> = object;\n\n for (let i = 0; i < keys.length; i++) {\n // If this is the last key, set the value\n if (i === keys.length - 1) {\n acc[keys[i]] = value;\n return;\n }\n\n // Create intermediate object or array if it doesn't exist\n if (!(keys[i] in acc) || acc[keys[i]] === null || acc[keys[i]] === undefined) {\n // Next key is a number? Create array, otherwise object\n const nextKey = keys[i + 1];\n acc[keys[i]] = /^\\d+$/.test(nextKey) ? [] : {};\n }\n\n acc = acc[keys[i]] as Record<string, unknown>;\n }\n}\n"],"names":["isNullOrUndefined","arg","isNotNullOrUndefined","removeNullValues","element","items","entries","key","value","_","obj","setInPath","object","path","keys","acc","i","nextKey"],"mappings":";AAAO,SAASA,EAAkBC,GAAU;AAC1C,SAA4BA,KAAQ;AACtC;AAEO,SAASC,EAAqBD,GAAU;AAC7C,SAAO,CAACD,EAAkBC,CAAG;AAC/B;ACIO,SAASE,EAAoBC,GAA2B;AAC7D,MAAIA,KAAY;AACd,WAAOA;AAGT,MAAI,MAAM,QAAQA,CAAO,GAAG;AAC1B,UAAMC,IAAQD,EAAQ,IAAID,CAAgB,EAAE,OAAOD,CAAoB;AACvE,WAAOG,EAAM,SAAUA,IAAc;AAAA,EACvC;AAEA,MAAI,OAAOD,KAAY,UAAU;AAC/B,UAAME,IAAU,OAAO,QAAQF,CAAO,EACnC,IAAI,CAAC,CAACG,GAAKC,CAAK,MAAM,CAACD,GAAKJ,EAAiBK,CAAK,CAAC,CAAC,EACpD,OAAO,CAAC,CAACC,GAAGD,CAAK,MAAMN,EAAqBM,CAAK,CAAC,EAClD,OAAO,CAACE,GAAK,CAACH,GAAKC,CAAK,OAAO,EAAE,GAAGE,GAAK,CAACH,CAAG,GAAGC,EAAA,IAAU,EAAE;AAE/D,WAAO,OAAO,QAAQF,CAAO,EAAE,SAAUA,IAAgB;AAAA,EAC3D;AAEA,SAAOF;AACT;ACrBO,SAASO,EACdC,GACAC,GACAL,GACM;AAEN,MAAI,CAACK,EAAK,SAAS,GAAG,KAAK,CAACA,EAAK,SAAS,GAAG,GAAG;AAC9C,IAAAD,EAAOC,CAAI,IAAIL;AACf;AAAA,EACF;AAGA,QAAMM,IAAOD,EAAK,MAAM,cAAc,EAAE,OAAO,OAAO;AACtD,MAAIE,IAA+BH;AAEnC,WAASI,IAAI,GAAGA,IAAIF,EAAK,QAAQE,KAAK;AAEpC,QAAIA,MAAMF,EAAK,SAAS,GAAG;AACzB,MAAAC,EAAID,EAAKE,CAAC,CAAC,IAAIR;AACf;AAAA,IACF;AAGA,QAAI,EAAEM,EAAKE,CAAC,KAAKD,MAAQA,EAAID,EAAKE,CAAC,CAAC,MAAM,QAAQD,EAAID,EAAKE,CAAC,CAAC,MAAM,QAAW;AAE5E,YAAMC,IAAUH,EAAKE,IAAI,CAAC;AAC1B,MAAAD,EAAID,EAAKE,CAAC,CAAC,IAAI,QAAQ,KAAKC,CAAO,IAAI,CAAA,IAAK,CAAA;AAAA,IAC9C;AAEA,IAAAF,IAAMA,EAAID,EAAKE,CAAC,CAAC;AAAA,EACnB;AACF;"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bach.software/vue-dynamic-form",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.8.0",
|
|
5
5
|
"description": "A simple yet highly extendable dynamic form system, inspired by the flexibility of XSD and powered by Vee-Validate.",
|
|
6
6
|
"author": "Jeroen Bach <jeroen@bach.software> (https://bach.software)",
|
|
7
|
+
"license": "MIT",
|
|
7
8
|
"homepage": "https://github.com/jeroenbach/dynamic-form",
|
|
8
9
|
"repository": {
|
|
9
10
|
"type": "git",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),O=require("vee-validate");function Ne(t){const{fields:a,...r}=O.useFieldArray(t),o=e.computed(()=>a.value.map(({value:c})=>c));return{fields:a,values:o,...r}}function rt(t){const a=O.useFormContext();return()=>a?.getPathState?.(e.toValue(t))?.__flags?.pendingReset===!0}const Ce=new WeakSet,Ue=new WeakSet;function De(t){Ce.add(t),e.nextTick(()=>Ce.delete(t))}function _e(t){if(!t||typeof t!="object"||Ue.has(t))return;Ue.add(t);const a=t,r=a.setFieldValue?.bind(a);r&&(a.setFieldValue=(c,i,d=!0)=>{r(c,i,d),d||De(t)});const o=a.setValues?.bind(a);o&&(a.setValues=(c,i=!0)=>{o(c,i),i||De(t)})}function Te(t){const a=rt(t),r=O.useFormContext();return()=>a()||!!r&&Ce.has(r)}const de=Symbol("dynamicFormSettings");function fe(t,a){return Array.isArray(t)?t[0]:t[a]}function se(t){return!!(t==null||t===""||Array.isArray(t)&&t.length===0)}const je=(t,a)=>{if(se(t))return!0;const r=fe(a,"length");return Array.isArray(t)?t.every(o=>je(o,{length:r})):[...String(t)].length<=Number(r)},Ke=(t,a)=>{if(se(t))return!0;const r=fe(a,"max");return Array.isArray(t)?t.length>0&&t.every(o=>Ke(o,{max:r})):Number(t)<=Number(r)},Le=(t,a)=>{if(se(t))return!0;const r=fe(a,"length");return Array.isArray(t)?t.every(o=>Le(o,{length:r})):[...String(t)].length>=Number(r)},We=(t,a)=>{if(se(t))return!0;const r=fe(a,"min");return Array.isArray(t)?t.length>0&&t.every(o=>We(o,{min:r})):Number(t)>=Number(r)},qe=(t,a)=>se(t)?!0:Array.isArray(t)?t.every(r=>qe(r,a)):Array.from(a).some(r=>r==t),He=(t,a)=>{if(se(t))return!0;let r=fe(a,"regex");return typeof r=="string"&&(r=new RegExp(r)),Array.isArray(t)?t.every(o=>He(o,{regex:r})):r.test(String(t))};function G(t){return t==null?!1:Array.isArray(t)?t.some(a=>G(a)):typeof t=="object"?Object.values(t).some(a=>G(a)):!0}function at(t,a,r){return typeof t=="function"?t(a):t.replace(/\{(\w+)\}/g,(o,c)=>{if(c in a)return String(a[c]);if(r&&!Array.isArray(r)&&c in r)return String(r[c]);const i=Number(c);return Number.isNaN(i)?a.rule?.params&&!Array.isArray(a.rule.params)?String(a.rule.params[c]??`{${c}}`):`{${c}}`:Array.isArray(r)&&r[i]!==void 0?String(r[i]):String(a.rule?.params?.[i]??`{${c}}`)})}O.defineRule("xsd_required",t=>t!=null&&t!=="");O.defineRule("xsd_minOccurs",(t,[a])=>Array.isArray(t)?t.filter(G).length>=Number(a):Number(a)<=0);O.defineRule("xsd_maxOccurs",(t,[a])=>Array.isArray(t)?t.length<=Number(a):!0);const Be=()=>!1;O.defineRule("xsd_choiceMinOccurs",Be);O.defineRule("xsd_choiceMaxOccurs",Be);O.defineRule("vdf_maxOccursTotal",Be);O.defineRule("xsd_minLength",Le);O.defineRule("xsd_maxLength",je);O.defineRule("xsd_length",(t,[a])=>t==null||t===""?!0:String(t).length===Number(a));O.defineRule("xsd_pattern",He);O.defineRule("xsd_minInclusive",We);O.defineRule("xsd_maxInclusive",Ke);O.defineRule("xsd_minExclusive",(t,[a])=>t==null||t===""?!0:Number(t)>Number(a));O.defineRule("xsd_maxExclusive",(t,[a])=>t==null||t===""?!0:Number(t)<Number(a));O.defineRule("xsd_enumeration",qe);O.defineRule("xsd_whiteSpace",(t,[a])=>{if(t==null||t==="")return!0;const r=String(t);return a==="replace"?!/[\t\n\r]/.test(r):a==="collapse"?r===r.trim()&&!/\s{2,}/.test(r):!0});O.defineRule("xsd_fractionDigits",(t,[a])=>{if(t==null||t==="")return!0;const r=String(t).indexOf(".");return r===-1?!0:String(t).length-r-1<=Number(a)});O.defineRule("xsd_totalDigits",(t,[a])=>t==null||t===""?!0:(String(t).replace(/^-/,"").replace(".","").replace(/^0+/,"")||"0").length<=Number(a));const nt={xsd_minOccurs:"min",xsd_maxOccurs:"max",xsd_choiceMinOccurs:"min",xsd_choiceMaxOccurs:"max",vdf_maxOccursTotal:"max",xsd_minLength:"length",xsd_maxLength:"length",xsd_length:"length",xsd_pattern:"pattern",xsd_minInclusive:"min",xsd_maxInclusive:"max",xsd_minExclusive:"min",xsd_maxExclusive:"max",xsd_whiteSpace:"mode",xsd_fractionDigits:"digits",xsd_totalDigits:"digits"};function Ve(t){return t.label??t.field??t.name??""}const Re=new Map;function $(t,a,r){let o=Re.get(t);o||Re.set(t,o=new Map);let c=o.get(a);c||o.set(a,c=new Map);let i=c.get(r);return i||c.set(r,i=it(t,a,r)),i}function it(t,a,r){const o=nt[t],c=a!==void 0?{0:a,...o?{[o]:a}:{}}:{};return async(i,d)=>{const f=Ve(d),g=f?{name:f}:void 0,x=f&&d.field!==f?{...d,field:f}:d,E=await O.validate(i,a!==void 0?{[t]:a}:t,g);return E.valid?!0:r?at(r,x,c):E.errors[0]}}function pe(t){return t?.replaceAll(/\[[`'"](.*?)[`'"]\]/g,".$1")??""}function ae(t,a){if(!t||!a)return t;const r=a.split(".")??[],o=t.split(".")??[];for(let c=0;c<r.length;c++)o[c]=r[c];return o.join(".")}function ke(t){return t?typeof t=="function"?[t]:Array.isArray(t)?t.flatMap(ke):typeof t=="string"?t.split("|").map(a=>async(r,o)=>{const c=Ve(o),i=await O.validate(r,a,c?{name:c}:void 0);return i.valid?!0:i.errors[0]}):Object.entries(t).map(([a,r])=>async(o,c)=>{const i=Ve(c),d=await O.validate(o,{[a]:r},i?{name:i}:void 0);return d.valid?!0:d.errors[0]}):[]}const ut={key:0},ot=["data-testid"],Je=e.defineComponent({__name:"DynamicFormItemArray",props:{template:{type:[Object,Function]},fieldMetadata:{},pathOverride:{},minOccursOverride:{},maxOccursOverride:{},partOfArrayField:{type:Boolean},partOfAttributeField:{type:Boolean},attributeOwnerHasValue:{type:Function},partOfChoiceField:{type:Boolean},isArrayOverride:{},branchKey:{},globalIndex:{},insertionOrder:{},index:{},canAddItems:{type:Boolean},canRemoveItems:{type:Boolean},addItem:{type:Function},removeItem:{type:Function},slotProps:{}},emits:["update:modelValue","update:computedField"],setup(t,{emit:a}){const r=t,o=a,c=e.inject(de);let i=0;const d=e.computed(()=>r.fieldMetadata),f=e.computed(()=>d.value?.path?ae(d.value.path,r.pathOverride):""),g=e.computed(()=>pe(f.value)),x=O.useValidateField(g),{remove:E,push:D,fields:S,update:I,values:B,replace:P}=Ne(g),y=Te(g),F=e.computed(()=>r.minOccursOverride!==void 0?r.minOccursOverride:d.value?.minOccurs??1),j=e.computed(()=>r.maxOccursOverride!==void 0?r.maxOccursOverride:d.value?.maxOccurs??1),K=e.computed(()=>j.value===0),Z=e.computed(()=>F.value>=1&&!K.value),U=e.computed(()=>j.value===0?0:1),T=e.computed(()=>j.value>S.value?.length),A=e.computed(()=>r.partOfChoiceField||d.value?.autoAddMinOccurs===!1?S.value?.length>0:S.value?.length>F.value&&S.value?.length>1),L=e.computed(()=>{const h=[],V=c?.value?.messages;return Z.value&&h.push($("xsd_minOccurs",F.value,V?.minOccurs)),!K.value&&j.value>=F.value&&h.push($("xsd_maxOccurs",j.value,V?.maxOccurs)),d.value?.validation&&h.push(...ke(d.value?.validation)),h}),{label:oe,errors:te,errorMessage:W,handleBlur:X}=O.useField(g,L,{...d.value?.fieldOptions??{},validateOnValueUpdate:!1}),re={label:oe,errors:te,errorMessage:W,value:B},C=O.useSubmitCount(),q=e.ref(!1),z=e.computed(()=>{if(!q.value)return;const h=c?.value?.validateOnValueUpdateAfterSubmit===!0?C.value>0&&c?.value?.validateOnValueUpdateAfterSubmit:void 0,V=c?.value?.validateWhenInError&&re?.errors.value?.length>0?!0:void 0;return d.value?.fieldOptions?.validateOnValueUpdate??V??h??c?.value?.validateOnValueUpdate});e.watch(B,h=>{z.value&&!y()&&x(),o("update:modelValue",h)},{immediate:!0}),e.watchEffect(()=>{r.partOfChoiceField||d.value?.autoAddMinOccurs!==!1&&(S.value?.length<1||S.value?.length<F.value)&&H()});function H(){D(null),o("update:modelValue",B.value)}function N(h){A.value?E(h??S.value.length-1):P(B.value?.map((V,k)=>k===h?null:V)),o("update:modelValue",B.value)}function b(h,V){q.value||(q.value=!0,z.value&&!y()&&x()),h===void 0&&V>=0&&I(V,void 0),o("update:modelValue",B.value)}return(h,V)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(c)?.analytics?e.withDirectives((e.openBlock(),e.createElementBlock("div",ut,[e.createElementVNode("span",{"data-testid":`${f.value}-analytics-render-count`},e.toDisplayString(e.isRef(i)?++i.value:++i),9,ot)],512)),[[e.vShow,!1]]):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{type:`${t.fieldMetadata.type}-array`,"field-metadata":t.fieldMetadata,"field-context":re,"slot-props":t.slotProps,settings:e.unref(c),required:Z.value,disabled:K.value,index:t.index,"can-add-items":T.value,"can-remove-items":A.value,"add-item":H,"remove-item":N},{default:e.withCtx(k=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(S)??[],({key:_},J)=>(e.openBlock(),e.createBlock(ue,{key:_,"field-metadata":t.fieldMetadata,"path-override":`${f.value}[${J}]`,index:J,template:t.template,"slot-props":k,"max-occurs-override":U.value,"can-add-items":T.value,"can-remove-items":A.value,"add-item":H,"remove-item":()=>N(J),"part-of-array-field":"","is-array-override":"single","onUpdate:modelValue":Q=>b(Q,J),"onUpdate:computedField":V[0]||(V[0]=Q=>o("update:computedField",Q)),onBlur:e.unref(X)},null,8,["field-metadata","path-override","index","template","slot-props","max-occurs-override","can-add-items","can-remove-items","remove-item","onUpdate:modelValue","onBlur"]))),128))]),_:1},8,["type","field-metadata","slot-props","settings","required","disabled","index","can-add-items","can-remove-items"]))],64))}});function we(t){if(t===null||typeof t!="object")return t;if(t instanceof Date)return new Date(t);if(Array.isArray(t))return t.map(r=>we(r));const a={};for(const r of Object.keys(t))a[r]=we(t[r]);return a}const Ge=e.defineComponent({__name:"DynamicFormItemChoice",props:{template:{type:[Object,Function]},fieldMetadata:{},pathOverride:{},minOccursOverride:{},maxOccursOverride:{},partOfArrayField:{type:Boolean},partOfAttributeField:{type:Boolean},attributeOwnerHasValue:{type:Function},partOfChoiceField:{type:Boolean},isArrayOverride:{},branchKey:{},globalIndex:{},insertionOrder:{},index:{},canAddItems:{type:Boolean},canRemoveItems:{type:Boolean},addItem:{type:Function},removeItem:{type:Function},slotProps:{}},emits:["update:modelValue","update:computedField"],setup(t,{emit:a}){const r=t,o=a,c=e.inject(de),i=e.computed(()=>r.fieldMetadata),d=e.computed(()=>ae(i.value.path??"",r.pathOverride)),f=e.computed(()=>pe(d.value)),g=r.fieldMetadata?.explicitChoiceSelection===!0,x=e.computed(()=>i.value?.preserveOnSwitch===!0),E=e.computed(()=>i.value?.displayOrder==="added"),D=e.computed(()=>i.value?.preserveOrder===!0),S=(i.value?.choice??[]).every(n=>(n.children?.length??0)>0),I=e.computed(()=>D.value&&S),B=O.useFormContext(),P=e.ref(null),y=e.ref({}),F=e.ref(new Map);let j=0;const K=(i.value?.choice??[]).map(n=>O.useFieldValue(()=>n.path?ae(n.path,r.pathOverride):"")),Z=(i.value?.choice??[]).map(n=>e.computed(()=>n.path?pe(ae(n.path,r.pathOverride)):"")),U=Z.map(n=>Ne(n)),T=e.computed(()=>r.minOccursOverride!==void 0?r.minOccursOverride:i.value?.minOccurs??1),A=e.computed(()=>r.maxOccursOverride!==void 0?r.maxOccursOverride:i.value?.maxOccurs??1),L=e.computed(()=>A.value===0),oe=e.computed(()=>T.value>=1&&!L.value),te=e.computed(()=>T.value===0?0:void 0),W=e.computed(()=>A.value===0?0:void 0),X=e.computed(()=>i.value?.maxOccurs>1?"array":void 0),re=e.computed(()=>`${i.value?.type}${i.value?.maxOccurs>1?"-choice-array":"-choice"}`),C=e.ref({}),q=e.computed(()=>Object.values(C.value).map(n=>n.value)),z=e.computed(()=>!g&&i.value?.choice?.length===1?i.value?.choice[0]:void 0),H=e.computed(()=>{if(W.value===0)return 0;const n=z.value;return n?.maxOccursTotal===void 0?W.value:Math.min(n.maxOccursTotal,n.maxOccurs??1)}),N=e.computed(()=>{const n={};i.value?.choice?.forEach((l,m)=>{n[m]={childValuesCount:0,childOccurrences:0,childMaxOccurrences:1,choiceValuesCount:0,choiceOccurrences:0,overrideChildMaxOccurrences:void 0,overrideChildMinOccurrences:0,maxOccursTotal:l.maxOccursTotal}});const u=A.value??1;if(u===0)return i.value?.choice?.forEach((l,m)=>{n[m].overrideChildMaxOccurrences=0,n[m].overrideChildMinOccurrences=0}),n;for(const[l,m]of Object.entries(C.value??{})){let w=Math.ceil(m.occurrences/m.maxOccurrences);const R=Math.ceil(m.valuesCount/m.maxOccurrences);u*m.maxOccurrences===1&&(w=R),n[l]={childValuesCount:m.valuesCount,childOccurrences:m.occurrences,childMaxOccurrences:m.maxOccurrences,choiceOccurrences:w,choiceValuesCount:R,overrideChildMinOccurrences:m.valuesCount===0?0:void 0,overrideChildMaxOccurrences:void 0,maxOccursTotal:i.value?.choice?.[Number(l)]?.maxOccursTotal}}const p=Object.values(n).reduce((l,m)=>l+m.choiceOccurrences,0);return Object.values(n).forEach(l=>{const w=(p-l.choiceOccurrences)*l.childMaxOccurrences,R=u*l.childMaxOccurrences;let ee=Math.max(R-w,l.childValuesCount);l.maxOccursTotal!==void 0&&(ee=Math.min(ee,l.maxOccursTotal)),l.overrideChildMaxOccurrences=ee}),n}),b=e.computed(()=>Object.values(N.value).reduce((n,u)=>n+u.choiceValuesCount,0)),h=e.computed(()=>{const n=[];return i.value?.choice?.forEach((u,p)=>{if(g&&A.value>1){(U[p]?.fields.value??[]).forEach((R,ee)=>{n.push({branchKey:u.name,index:ee})});return}const l=G(K[p]?.value),m=g&&P.value===u.name;(l||m)&&n.push({branchKey:u.name,index:0})}),n}),V=e.computed(()=>{if(!E.value)return h.value;function n(u){return I.value?ge(u)?.order:F.value.get(le(u))}return h.value.map(u=>({occurrence:u,sortKey:n(u)})).sort((u,p)=>{const l=u.sortKey!==void 0,m=p.sortKey!==void 0;return l!==m?l?1:-1:l?u.sortKey-p.sortKey:0}).map(u=>u.occurrence)}),k=e.computed(()=>L.value?0:g&&A.value>1?U.reduce((n,u,p)=>{const l=i.value.choice[p].maxOccurs;return n+Math.ceil(u.fields.value.length/l)},0):g?h.value.length:b.value),_=e.computed(()=>g&&A.value===1?Math.max(b.value,P.value?1:0):g&&A.value>1?Math.max(b.value,k.value):b.value),J=e.computed(()=>Object.values(N.value).find(n=>n.maxOccursTotal!==void 0&&n.childOccurrences>n.maxOccursTotal)?.maxOccursTotal),Q=e.computed(()=>{if(z.value||L.value)return;const n=c?.value?.messages,u=[];return _.value<T.value&&u.push($("xsd_choiceMinOccurs",T.value,n?.choiceMinOccurs)),k.value>A.value&&u.push($("xsd_choiceMaxOccurs",A.value,n?.choiceMaxOccurs)),J.value!==void 0&&u.push($("vdf_maxOccursTotal",J.value,n?.maxOccursTotal)),u.length?u:void 0}),{errors:ce,errorMessage:ne}=O.useField(f,Q,i.value?.fieldOptions),he={label:i.value?.fieldOptions?.label,errors:ce,errorMessage:ne,value:q};e.watch(i,n=>{n&&n.choice?.forEach((u,p)=>{p in C.value||v(void 0,p,u.maxOccurs)})},{immediate:!0}),g&&e.watch(()=>U.map(n=>n.values.value),n=>{A.value<=1||n.forEach((u,p)=>{const l=i.value.choice[p].maxOccurs;v(u,p,l)})},{immediate:!0});function v(n,u,p=1,l=!1){if(l){o("update:modelValue",q.value);return}if(u===void 0)return;let m=Array.isArray(n)?n:[n];(A.value??1)*p===1&&(m=m.filter(Fe=>Fe!==void 0));const ee=m.length,tt=m.filter(Fe=>G(Fe)).length,ve=C.value[u]??{};ve.value=n,ve.occurrences=ee,ve.valuesCount=tt,ve.maxOccurrences=p,C.value[u]||(C.value[u]=ve),o("update:modelValue",q.value)}function s(n){return i.value?.choice?.findIndex(u=>u.name===n)??-1}function M(n){if(W.value===0)return 0;const u=Y(n);return u?.maxOccursTotal===void 0?W.value:Math.min(u.maxOccursTotal,u.maxOccurs??1)}function Y(n){const u=s(n);return u>=0?i.value?.choice?.[u]:void 0}function ie(n,u={}){const p=s(n);if(p<0)return;const l=i.value?.choice?.[p],m=l?.path?ae(l.path,r.pathOverride):void 0;u.stash?y.value[n]=we(K[p]?.value??void 0):n in y.value&&delete y.value[n],m&&B?.setFieldValue(m,void 0,!1);const w=C.value[p];w&&(w.value=void 0,w.occurrences=0,w.valuesCount=0)}function me(n){if(!x.value||!(n in y.value))return;const u=s(n),p=ae(i.value.choice[u].path,r.pathOverride);B?.setFieldValue(p,y.value[n],!1)}function Ie(n){if(!Oe(n))return;const u=s(n);if(A.value>1){const p=U[u]?.fields.value.length??0,l=h.value.length;I.value?U[u]?.push({order:l+1}):U[u]?.push(null),F.value.set(le({branchKey:n,index:p}),++j);return}if(P.value!==n){for(const p of h.value)p.branchKey!==n&&ie(p.branchKey,{stash:x.value});me(n),P.value=n}}function Me(n,u){const p=s(n);if(p<0)return;if(A.value>1){const m=U[p]?.fields.value.length??0,w=u??m-1;if(w<0||w>=m)return;const R=le({branchKey:n,index:w});U[p]?.remove(w),F.value.delete(R),I.value&&Ee();return}h.value.some(m=>m.branchKey===n)&&(ie(n),P.value===n&&(P.value=null))}function Oe(n){if(L.value)return!1;const u=s(n);if(u<0)return!1;if(A.value<=1)return!0;const p=U[u].fields.value.length,l=N.value[u]?.overrideChildMaxOccurrences;return l===void 0||p<l}function ye(n){return U[s(n)]}function Pe(n){return ye(n.branchKey).fields.value[n.index].key}function le(n){return`${n.branchKey}:${Pe(n)}`}function xe(n){return`${Z[s(n.branchKey)].value}[${n.index}]`}function ge(n){return ye(n.branchKey).fields.value[n.index].value}function Ee(){const n=h.value,u=n.length;n.map((l,m)=>{const w=ge(l)?.order,R=F.value.get(le(l)),ee=w??(R!==void 0?u+R:m+1);return{occurrence:l,currentOrder:w,sortKey:ee}}).sort((l,m)=>l.sortKey-m.sortKey).forEach(({occurrence:l,currentOrder:m},w)=>{const R=w+1;m!==R&&B?.setFieldValue(`${xe(l)}.order`,R,!1)})}function Qe(){h.value.forEach(n=>{const u=ge(n);u&&typeof u=="object"&&"order"in u&&B?.setFieldValue(`${xe(n)}.order`,void 0,!1)})}const be=new Map;function Ye(n){const u=le(n),p=be.get(u);if(p)return p;const l=Pe(n),m=()=>{const w=ye(n.branchKey).fields.value.findIndex(R=>R.key===l);w>=0&&Me(n.branchKey,w),be.delete(u)};return be.set(u,m),m}const $e=new Map;function Ze(n){let u=$e.get(n);return u||(u=()=>Ie(n),$e.set(n,u)),u}const et=e.computed(()=>I.value&&g&&A.value>1);return e.watch(et,n=>{n&&Ee()},{immediate:!0}),e.watch(I,(n,u)=>{!g||A.value<=1||!n&&u&&Qe()}),(n,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{type:re.value,"field-metadata":t.fieldMetadata,"field-context":he,"slot-props":t.slotProps,settings:e.unref(c),required:oe.value,index:t.index,disabled:L.value,"can-add-items":t.canAddItems,"can-remove-items":t.canRemoveItems,"add-item":t.addItem,"remove-item":t.removeItem,"add-choice-occurrence":Ie,"remove-choice-occurrence":Me,"can-add-choice-occurrence":Oe,"active-choice-occurrences":h.value,"used-choice-occurrences":k.value},{default:e.withCtx(p=>[z.value?(e.openBlock(),e.createBlock(ue,{key:0,"field-metadata":z.value,"path-override":t.pathOverride,template:t.template,"slot-props":p,"min-occurs-override":te.value,"max-occurs-override":H.value,"part-of-choice-field":"","onUpdate:modelValue":u[0]||(u[0]=l=>v(l,0,z.value.maxOccurs,!0)),"onUpdate:computedField":u[1]||(u[1]=l=>o("update:computedField",l))},null,8,["field-metadata","path-override","template","slot-props","min-occurs-override","max-occurs-override"])):g&&A.value===1?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(h.value,l=>(e.openBlock(),e.createBlock(ue,{key:l.branchKey,"field-metadata":Y(l.branchKey),"path-override":t.pathOverride,index:s(l.branchKey),template:t.template,"slot-props":p,"min-occurs-override":te.value,"max-occurs-override":M(l.branchKey),"is-array-override":X.value,"part-of-choice-field":"","onUpdate:modelValue":m=>v(m,s(l.branchKey),Y(l.branchKey).maxOccurs),"onUpdate:computedField":u[2]||(u[2]=m=>o("update:computedField",m))},null,8,["field-metadata","path-override","index","template","slot-props","min-occurs-override","max-occurs-override","is-array-override","onUpdate:modelValue"]))),128)):g?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(V.value,(l,m)=>(e.openBlock(),e.createBlock(ue,{key:le(l),"field-metadata":Y(l.branchKey),"path-override":xe(l),index:l.index,template:t.template,"slot-props":p,"max-occurs-override":1,"is-array-override":"single","part-of-array-field":"","part-of-choice-field":"","branch-key":l.branchKey,"global-index":m,"insertion-order":F.value.get(le(l)),"can-add-items":Oe(l.branchKey),"add-item":Ze(l.branchKey),"can-remove-items":!0,"remove-item":Ye(l),"onUpdate:computedField":u[3]||(u[3]=w=>o("update:computedField",w))},null,8,["field-metadata","path-override","index","template","slot-props","branch-key","global-index","insertion-order","can-add-items","add-item","remove-item"]))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:3},e.renderList(i.value.choice,(l,m)=>(e.openBlock(),e.createBlock(ue,{key:l.name,"field-metadata":l,"path-override":t.pathOverride,index:m,template:t.template,"slot-props":p,"min-occurs-override":N.value[m]?.overrideChildMinOccurrences,"max-occurs-override":N.value[m]?.overrideChildMaxOccurrences,"is-array-override":X.value,"part-of-choice-field":"","onUpdate:modelValue":w=>v(w,m,l.maxOccurs),"onUpdate:computedField":u[4]||(u[4]=w=>o("update:computedField",w))},null,8,["field-metadata","path-override","index","template","slot-props","min-occurs-override","max-occurs-override","is-array-override","onUpdate:modelValue"]))),128))]),_:1},8,["type","field-metadata","slot-props","settings","required","index","disabled","can-add-items","can-remove-items","add-item","remove-item","active-choice-occurrences","used-choice-occurrences"]))}});function ct(){const a=e.getCurrentInstance()?.provides;return a&&O.FormContextKey in a?a[O.FormContextKey]:e.inject(O.FormContextKey)}function Se(){const t=ct();async function a(r){const o=t.getAllPathStates().map(f=>f.path).filter(f=>f===r||f.startsWith(`${r}.`)||f.startsWith(`${r}[`)),c=await Promise.all(o.map(async f=>({path:f,result:await t.validateField(f)}))),i=Object.fromEntries(c.map(({path:f,result:g})=>[f,g])),d=Object.fromEntries(c.filter(({result:f})=>!f.valid).map(({path:f,result:g})=>[f,g.errors[0]??""]));return{valid:c.every(({result:f})=>f.valid),results:i,errors:d,source:"fields"}}return{validateSection:a}}const Xe=e.defineComponent({__name:"DynamicFormItemWizard",props:{template:{type:[Object,Function]},fieldMetadata:{},pathOverride:{},minOccursOverride:{},maxOccursOverride:{},partOfArrayField:{type:Boolean},partOfAttributeField:{type:Boolean},attributeOwnerHasValue:{type:Function},partOfChoiceField:{type:Boolean},isArrayOverride:{},branchKey:{},globalIndex:{},insertionOrder:{},index:{},canAddItems:{type:Boolean},canRemoveItems:{type:Boolean},addItem:{type:Function},removeItem:{type:Function},slotProps:{}},emits:["update:modelValue","update:computedField"],setup(t,{emit:a}){const r=t,o=a,c=e.inject(de),{validateSection:i}=Se(),d=e.computed(()=>r.fieldMetadata),f=e.computed(()=>ae(d.value?.path??"",r.pathOverride)),g=e.computed(()=>pe(f.value)),{errors:x,errorMessage:E,value:D}=O.useField(g,void 0,d.value?.fieldOptions),S={label:d.value?.fieldOptions?.label,errors:x,errorMessage:E,value:e.computed(()=>{})};(d.value?.maxOccurs??1)>1&&console.warn(`[DynamicFormItemWizard] "${d.value.path}": "maxOccurs" is ignored on a wizard node; wizard pages come from "children" only.`);const I=e.computed(()=>d.value?.children??[]),B=e.computed(()=>I.value.length),P=(()=>{const b=r.fieldMetadata?.wizard,h=typeof b=="object"&&b!==null?b:{};return{allowForwardJump:h.allowForwardJump===!0,validateOnJump:h.validateOnJump!==!1}})(),y=e.ref(0),F=e.ref(!1),j=e.computed(()=>y.value===0),K=e.computed(()=>B.value===0?!0:y.value===B.value-1),Z=e.computed(()=>r.minOccursOverride!==void 0?r.minOccursOverride:d.value?.minOccurs??1),U=e.computed(()=>r.maxOccursOverride!==void 0?r.maxOccursOverride:d.value?.maxOccurs??1),T=e.computed(()=>U.value===0),A=e.computed(()=>Z.value>=1&&!T.value),L=e.computed(()=>{if(r.minOccursOverride===0)return 0;if(!(Z.value>0))return G(D.value)?void 0:0}),oe=e.computed(()=>U.value===0?0:void 0);function te(){const b=I.value[y.value];return b?.path?ae(b.path,r.pathOverride):void 0}async function W(){const b=te();if(!b)return!0;F.value=!0;try{return(await i(b)).valid}finally{F.value=!1}}async function X(){if(B.value===0||K.value)return;if(P.allowForwardJump)return C(y.value+1);const b=y.value;await W()&&y.value===b&&(y.value=b+1)}function re(){B.value===0||y.value===0||y.value--}async function C(b,h){if(B.value===0)return;const V=Math.min(Math.max(b,0),B.value-1),k=y.value;V!==k&&(V>k&&(!(h?.allowForwardJump??P.allowForwardJump)||(h?.validateOnJump??P.validateOnJump)&&(await W(),y.value!==k))||(y.value=V))}function q(b){o("update:computedField",b)}const z=new Map;function H(b,h){const V=h??{},k=z.get(b);return k&&N(k,V)?k:(z.set(b,V),V)}function N(b,h){const V=Object.keys(b),k=Object.keys(h);return V.length===k.length&&V.every(_=>Object.is(b[_],h[_]))}return(b,h)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{type:`${t.fieldMetadata.type}-wizard`,"field-metadata":t.fieldMetadata,"field-context":S,"slot-props":t.slotProps,settings:e.unref(c),required:A.value,disabled:T.value,index:t.index,"can-add-items":t.canAddItems,"can-remove-items":t.canRemoveItems,"add-item":t.addItem,"remove-item":t.removeItem,"current-step-index":y.value,pages:I.value,"page-count":B.value,"is-first":j.value,"is-last":K.value,"is-validating":F.value,"wizard-config":e.unref(P),next:X,prev:re,"goto-step":C},{default:e.withCtx(V=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,(k,_)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{key:k.path,type:`${k.type}-wizard-page`,"field-metadata":k,"field-context":S,"slot-props":H("wizard",V),settings:e.unref(c),required:!1,disabled:!1,index:_,"is-current":_===y.value,"page-index":_,"current-step-index":y.value,"is-first":j.value,"is-last":K.value,"wizard-config":e.unref(P),next:X,prev:re,"goto-step":C},{default:e.withCtx(J=>[e.createVNode(ue,{"field-metadata":k,"path-override":t.pathOverride,index:_,template:t.template,"slot-props":H(`page:${k.path}`,J),"min-occurs-override":L.value,"max-occurs-override":oe.value,"onUpdate:modelValue":h[0]||(h[0]=Q=>o("update:modelValue",Q)),"onUpdate:computedField":q},null,8,["field-metadata","path-override","index","template","slot-props","min-occurs-override","max-occurs-override"])]),_:2},1032,["type","field-metadata","slot-props","settings","index","is-current","page-index","current-step-index","is-first","is-last","wizard-config"]))),128))]),_:1},8,["type","field-metadata","slot-props","settings","required","disabled","index","can-add-items","can-remove-items","add-item","remove-item","current-step-index","pages","page-count","is-first","is-last","is-validating","wizard-config"]))}});function lt(t){const{name:a,path:r,children:o,choice:c,attributes:i,fieldOptions:d,computedProps:f,maxOccurs:g,_hash:x,parent:E,isComplexType:D,computeOnChildValueChange:S,...I}=t,B=Object.fromEntries(Object.entries(I).sort(([P],[y])=>P.localeCompare(y)));return JSON.stringify(B)}const dt={key:0},st=["data-testid"],ze=100,ue=e.defineComponent({__name:"DynamicFormItem",props:{template:{type:[Object,Function]},fieldMetadata:{},pathOverride:{},minOccursOverride:{},maxOccursOverride:{},partOfArrayField:{type:Boolean},partOfAttributeField:{type:Boolean},attributeOwnerHasValue:{type:Function},partOfChoiceField:{type:Boolean},isArrayOverride:{},branchKey:{},globalIndex:{},insertionOrder:{},index:{},canAddItems:{type:Boolean},canRemoveItems:{type:Boolean},addItem:{type:Function},removeItem:{type:Function},slotProps:{}},emits:["update:modelValue","blur","update:computedField"],setup(t,{emit:a}){const r=t,o=a,c=e.inject(de);let i=0,d=0,f;function g(v){if(d++,f==null&&(f=setTimeout(()=>{d=0,f=void 0},0)),d>ze)throw new Error(`[DynamicFormItem] Possible infinite loop detected in computedProps for field "${v}". computedProps recomputed more than ${ze} times without the event loop turning. Ensure value writes inside computedProps are idempotent (the same input always produces the same output).`)}const x=e.computed(()=>r.fieldMetadata),E=e.computed(()=>x.value?.path?ae(x.value.path,r.pathOverride):""),D=e.computed(()=>x.value?.isComplexType||x.value?.attributes?.length),S=e.computed(()=>{let v=E.value;if(D.value&&v){const s=c?.value?.complexTypeValueProperty??"value";v=`${v}['${s}']`}return v}),I=e.computed(()=>pe(S.value)),B=e.computed(()=>r.isArrayOverride==="array"?!0:r.isArrayOverride==="single"?!1:(x.value?.maxOccurs??1)>1),P=e.ref([]),y=B.value?{value:e.ref(void 0)}:O.useField(I,P,{...x.value?.fieldOptions??{},validateOnValueUpdate:!1}),F=y.value,j=O.useFormContext(),K=Te(I);y.hasValue=e.computed(()=>G(F.value));const Z=y.handleBlur;y.handleBlur=function(v,s){s=s??c?.value?.validateOnBlur,Z(v,s),o("blur",v,s)};const U=y.handleChange;y.handleChange=function(v,s){U(v,s===!0)};const T=e.computed(()=>!!x.value?.wizard),A=e.computed(()=>!!x.value?.children?.length),L=e.computed(()=>!!x.value?.choice?.length),oe=e.computed(()=>!B.value&&!L.value&&!A.value&&!T.value),te=e.ref(!0),W=e.ref(0),X=e.ref({}),re=e.computed(()=>Object.values(X.value)),C=e.computed(()=>{g(E.value),x.value?.computeOnChildValueChange===!0&&W.value;const s=(x.value?.computedProps??[]).reduce((M,Y)=>(Y(M,F,re),M),{...x.value,path:E.value});return s.path=E.value,s.explicitChoiceSelection=x.value?.explicitChoiceSelection,s.preserveOnSwitch=x.value?.preserveOnSwitch,s.wizard=x.value?.wizard,s._hash=lt(s),s}),q=e.computed(()=>r.minOccursOverride!==void 0?r.minOccursOverride:r.partOfArrayField?0:C.value?.minOccurs??1),z=e.computed(()=>r.maxOccursOverride!==void 0?r.maxOccursOverride:C.value?.maxOccurs??1),H=e.computed(()=>z.value===0),N=e.computed(()=>q.value>=1&&!H.value),b=e.computed(()=>{if(r.minOccursOverride===0)return r.minOccursOverride;if(!(q.value>0)&&!G(F.value))return 0}),h=e.computed(()=>z.value===0?0:void 0),V=e.computed(()=>r.partOfArrayField&&G(F.value)?!0:r.canRemoveItems),k=O.useSubmitCount(),_=e.computed(()=>{const v=c?.value?.validateOnValueUpdateAfterSubmit===!0?k.value>0&&c?.value?.validateOnValueUpdateAfterSubmit:void 0,s=c?.value?.validateWhenInError&&y?.errors.value?.length>0?!0:void 0;return x.value?.fieldOptions?.validateOnValueUpdate??s??v??c?.value?.validateOnValueUpdate}),J=e.computed(()=>x.value?.attributes?.length&&G(F.value));e.watchEffect(()=>{const v=[],s=x.value.restriction??{},M=c?.value?.messages;N.value&&v.push($("xsd_required",void 0,M?.required)),s.minLength!=null&&v.push($("xsd_minLength",s.minLength,M?.minLength)),s.maxLength!=null&&v.push($("xsd_maxLength",s.maxLength,M?.maxLength)),s.length!=null&&v.push($("xsd_length",s.length,M?.length)),s.pattern!=null&&v.push($("xsd_pattern",s.pattern,M?.pattern)),s.minInclusive!=null&&v.push($("xsd_minInclusive",s.minInclusive,M?.minInclusive)),s.maxInclusive!=null&&v.push($("xsd_maxInclusive",s.maxInclusive,M?.maxInclusive)),s.minExclusive!=null&&v.push($("xsd_minExclusive",s.minExclusive,M?.minExclusive)),s.maxExclusive!=null&&v.push($("xsd_maxExclusive",s.maxExclusive,M?.maxExclusive)),s.enumeration!=null&&v.push($("xsd_enumeration",s.enumeration,M?.enumeration)),s.whiteSpace!=null&&v.push($("xsd_whiteSpace",s.whiteSpace,M?.whiteSpace)),s.fractionDigits!=null&&v.push($("xsd_fractionDigits",s.fractionDigits,M?.fractionDigits)),s.totalDigits!=null&&v.push($("xsd_totalDigits",s.totalDigits,M?.totalDigits)),x.value?.validation&&v.push(...ke(x.value?.validation)),P.value=v});let Q=!1;e.watch(F,v=>{Q||(Q=!0,v===""&&(F.value=r.partOfArrayField?null:void 0),Q=!1)},{flush:"sync"}),e.watch(F,v=>{oe.value&&((!te.value||v)&&(ne(),_.value&&!K()&&y?.validate()),te.value=!1)},{immediate:!0}),e.onMounted(()=>{o("update:computedField",C.value),e.watch(()=>C.value._hash,(v,s)=>{v!==s&&o("update:computedField",C.value)})}),e.onBeforeUnmount(()=>{f!=null&&clearTimeout(f),!(r.partOfArrayField||!(r.partOfAttributeField&&!r.attributeOwnerHasValue?.())&&(x.value?.fieldOptions?.keepValueOnUnmount??e.toValue(j?.keepValuesOnUnmount)))&&F.value!==void 0&&(F.value=void 0,ne())});function ce(v){!v.path||X.value[v.path]?._hash===v._hash||(X.value[v.path]=v)}function ne(){W.value++,o("update:modelValue",F.value)}function he(v){F.value=v,o("update:modelValue",F.value)}return(v,s)=>{const M=e.resolveComponent("DynamicFormItem",!0);return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(c)?.analytics?e.withDirectives((e.openBlock(),e.createElementBlock("div",dt,[e.createElementVNode("span",{"data-testid":`${E.value}-analytics-render-count`},e.toDisplayString(e.isRef(i)?++i.value:++i),9,st)],512)),[[e.vShow,!1]]):e.createCommentVNode("",!0),T.value?(e.openBlock(),e.createBlock(Xe,e.mergeProps({key:1},r,{"field-metadata":C.value,"onUpdate:modelValue":ne,"onUpdate:computedField":ce}),null,16,["field-metadata"])):L.value?(e.openBlock(),e.createBlock(Ge,e.mergeProps({key:2},r,{"field-metadata":C.value,"onUpdate:modelValue":ne,"onUpdate:computedField":ce}),null,16,["field-metadata"])):B.value?(e.openBlock(),e.createBlock(Je,e.mergeProps({key:3},r,{"part-of-choice-field":t.partOfChoiceField,"field-metadata":C.value,"onUpdate:modelValue":he,"onUpdate:computedField":ce}),null,16,["part-of-choice-field","field-metadata"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{key:4,type:t.branchKey!==void 0?`${C.value.type}-choice-array-item`:t.partOfArrayField?`${C.value.type}-array-item`:C.value.type,"field-metadata":C.value,"field-context":e.unref(y),"slot-props":t.slotProps,settings:e.unref(c),required:N.value,disabled:H.value,index:t.index,"can-add-items":t.canAddItems,"can-remove-items":V.value,"add-item":t.addItem,"remove-item":t.removeItem,"branch-key":t.branchKey,"global-index":t.globalIndex,"insertion-order":t.insertionOrder},{default:e.withCtx(Y=>[A.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(C.value.children,(ie,me)=>(e.openBlock(),e.createBlock(M,{key:ie.path,"field-metadata":ie,"path-override":S.value,index:me,template:t.template,"slot-props":Y,"min-occurs-override":b.value,"max-occurs-override":h.value,"onUpdate:modelValue":ne,"onUpdate:computedField":ce},null,8,["field-metadata","path-override","index","template","slot-props","min-occurs-override","max-occurs-override"]))),128)):e.createCommentVNode("",!0),A.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{key:1,type:`${C.value.type}-input`,"field-metadata":C.value,"field-context":e.unref(y),"slot-props":Y,settings:e.unref(c),required:N.value,disabled:H.value,index:t.index,"can-add-items":t.canAddItems,"can-remove-items":V.value,"add-item":t.addItem,"remove-item":t.removeItem},null,8,["type","field-metadata","field-context","slot-props","settings","required","disabled","index","can-add-items","can-remove-items","add-item","remove-item"]))]),attributes:e.withCtx(Y=>[J.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(C.value.attributes,(ie,me)=>(e.openBlock(),e.createBlock(M,{key:ie.path,"field-metadata":ie,"path-override":E.value,index:me,template:t.template,"slot-props":Y,"min-occurs-override":b.value,"max-occurs-override":h.value,"part-of-attribute-field":!0,"attribute-owner-has-value":()=>e.unref(G)(e.unref(F)),"onUpdate:modelValue":ne,"onUpdate:computedField":ce},null,8,["field-metadata","path-override","index","template","slot-props","min-occurs-override","max-occurs-override","attribute-owner-has-value"]))),128)):e.createCommentVNode("",!0)]),_:1},8,["type","field-metadata","field-context","slot-props","settings","required","disabled","index","can-add-items","can-remove-items","add-item","remove-item","branch-key","global-index","insertion-order"]))],64)}}}),mt=e.defineComponent({name:"DynamicForm",inheritAttrs:!1,__name:"DynamicForm",props:{metadata:{},template:{type:[Object,Function]},settings:{}},setup(t){const a=e.computed(()=>({validateOnValueUpdate:!0,validateWhenInError:!0,...t.settings??{}}));e.provide(de,a),_e(O.useFormContext());const r=e.computed(()=>Array.isArray(t.metadata)?t.metadata:[t.metadata]),o=e.computed(()=>r.value?.map((d,f)=>i(d,f))??[]),c=e.computed(()=>t.template);function i(d,f,g){if(!d)return d;const x=d.name??`field-${f}`,E=d.path??[g?.path,x].filter(Boolean).join("."),D={name:x,path:E,type:"text",minOccurs:1,maxOccurs:1,...d,computedProps:[...d.computedProps??[]],parent:g};return D.children=(d.children??[]).map((S,I)=>i(S,I,D)),D.choice=(d.choice??[]).map((S,I)=>i(S,I,D)),D.attributes=(d.attributes??[]).map((S,I)=>i(S,I,D)),D}return(d,f)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,g=>(e.openBlock(),e.createBlock(ue,{key:g.name,template:c.value,"field-metadata":g},null,8,["template","field-metadata"]))),128))}}),vt=/-\w/g,pt=ft(t=>t.replace(vt,a=>a.slice(1).toUpperCase()));function ft(t){const a=Object.create(null);return(r=>a[r]||(a[r]=t(r)))}const ht=e.defineComponent({name:"DynamicFormTemplate",inheritAttrs:!1,__name:"DynamicFormTemplate",props:{metadataConfiguration:{}},setup(t){const a=e.useSlots(),r=e.useAttrs(),o=e.computed(()=>{const i={};for(const[d,f]of Object.entries(r))i[pt(d)]=f;return i}),c=e.computed(()=>{const i=o.value.type;if(i&&a[i])return i;if(i?.endsWith("-input"))return a["default-input"]?"default-input":"default";if(i?.endsWith("-choice-array-item")){if(a["default-choice-array-item"])return"default-choice-array-item";const d=`${i.slice(0,-18)}-array-item`;return a[d]?d:a["default-array-item"]?"default-array-item":"default"}if(i?.endsWith("-choice-array")){if(a["default-choice-array"])return"default-choice-array";const d=`${i.slice(0,-13)}-choice`;return a[d]?d:a["default-choice"]?"default-choice":"default"}return i?.endsWith("-array")?a["default-array"]?"default-array":"default":i?.endsWith("-array-item")?a["default-array-item"]?"default-array-item":"default":i?.endsWith("-choice")?a["default-choice"]?"default-choice":"default":i?.endsWith("-wizard-page")?a["default-wizard-page"]?"default-wizard-page":"default":i?.endsWith("-wizard")&&a["default-wizard"]?"default-wizard":"default"});return(i,d)=>o.value.fieldMetadata?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.value.type?.endsWith("-choice-array")?e.renderSlot(i.$slots,c.value,e.normalizeProps(e.guardReactiveProps(o.value)),void 0,void 0,0):o.value.type?.endsWith("-array")?e.renderSlot(i.$slots,c.value,e.normalizeProps(e.guardReactiveProps(o.value)),void 0,void 0,1):o.value.type?.endsWith("-choice")?e.renderSlot(i.$slots,c.value,e.normalizeProps(e.guardReactiveProps(o.value)),void 0,void 0,2):o.value.type?.endsWith("-wizard-page")?e.renderSlot(i.$slots,c.value,e.normalizeProps(e.guardReactiveProps(o.value)),void 0,void 0,3):o.value.type?.endsWith("-wizard")?e.renderSlot(i.$slots,c.value,e.normalizeProps(e.guardReactiveProps(o.value)),void 0,void 0,4):e.renderSlot(i.$slots,c.value,e.normalizeProps(e.guardReactiveProps(o.value)),void 0,void 0,5)],64)):e.createCommentVNode("",!0)}});function Ot(){return{fieldTypes:Object.keys({}),extendedProperties:{},slotProperties:{},extendedSettingsProperties:{},valueTypes:{}}}function yt(t){const a=c=>O.useFieldValue(c),r=O.useForm(t);_e(r);const{validateSection:o}=Se();return{...r,useFieldValue:a,validateSection:o}}function Ae(t,a){return!t||!a||(t=a?.({...t}),t.children=t?.children?.map(r=>Ae(r,a)),t.choice=t?.choice?.map(r=>Ae(r,a))),t}exports._sfc_main=mt;exports._sfc_main$1=ue;exports._sfc_main$2=Je;exports._sfc_main$3=Ge;exports._sfc_main$4=Xe;exports._sfc_main$5=ht;exports.checkTreeHasValue=G;exports.defineMetadata=Ot;exports.dynamicFormSettingsKey=de;exports.mapEachMetadataItem=Ae;exports.useDynamicForm=yt;exports.useValidatePartialForm=Se;
|
|
2
|
-
//# sourceMappingURL=mapEachMetadataItem-DwSDJyzo.cjs.map
|