@bach.software/vue-dynamic-form 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/examples.cjs.js +8 -8
  2. package/dist/examples.cjs.js.map +1 -1
  3. package/dist/examples.es.js +590 -520
  4. package/dist/examples.es.js.map +1 -1
  5. package/dist/mapEachMetadataItem-DwSDJyzo.cjs +2 -0
  6. package/dist/mapEachMetadataItem-DwSDJyzo.cjs.map +1 -0
  7. package/dist/mapEachMetadataItem-DxEO1PDs.js +1186 -0
  8. package/dist/mapEachMetadataItem-DxEO1PDs.js.map +1 -0
  9. package/dist/src/components/__tests__/DynamicFormItem.formApi.test.d.ts +1 -0
  10. package/dist/src/components/__tests__/DynamicFormItemArray.formApi.test.d.ts +1 -0
  11. package/dist/src/components/__tests__/DynamicFormItemChoice.formApi.test.d.ts +1 -0
  12. package/dist/src/components/__tests__/DynamicFormItemWizard.formApi.test.d.ts +1 -0
  13. package/dist/src/core/__tests__/useIsResetPending.test.d.ts +1 -0
  14. package/dist/src/core/__tests__/useIsValidationSuppressed.test.d.ts +1 -0
  15. package/dist/src/core/useIsResetPending.d.ts +13 -0
  16. package/dist/src/core/useIsValidationSuppressed.d.ts +20 -0
  17. package/dist/src/examples/ProgrammaticWritesTestCase.vue.d.ts +2 -0
  18. package/dist/src/examples/TestForm.vue.d.ts +6 -1
  19. package/dist/src/examples/__tests__/TestFormTemplate.testcases.d.ts +37 -37
  20. package/dist/src/examples/index.d.ts +1 -0
  21. package/dist/tsconfig.tsbuildinfo +1 -1
  22. package/dist/vue-dynamic-form.cjs.js +1 -1
  23. package/dist/vue-dynamic-form.es.js +1 -1
  24. package/package.json +3 -3
  25. package/dist/mapEachMetadataItem-Cxfn86Z2.cjs +0 -2
  26. package/dist/mapEachMetadataItem-Cxfn86Z2.cjs.map +0 -1
  27. package/dist/mapEachMetadataItem-Dvf3R5jd.js +0 -1159
  28. package/dist/mapEachMetadataItem-Dvf3R5jd.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./mapEachMetadataItem-Cxfn86Z2.cjs");function u(e){return e==null}function o(e){return!u(e)}function m(e){if(e==null)return e;if(Array.isArray(e)){const a=e.map(m).filter(o);return a.length?a:void 0}if(typeof e=="object"){const a=Object.entries(e).map(([c,t])=>[c,m(t)]).filter(([c,t])=>o(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 s=t[n+1];r[t[n]]=/^\d+$/.test(s)?[]:{}}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.mapEachMetadataItem=i.mapEachMetadataItem;exports.useDynamicForm=i.useDynamicForm;exports.useValidatePartialForm=i.useValidatePartialForm;exports.removeNullValues=m;exports.setInPath=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./mapEachMetadataItem-DwSDJyzo.cjs");function u(e){return e==null}function o(e){return!u(e)}function m(e){if(e==null)return e;if(Array.isArray(e)){const a=e.map(m).filter(o);return a.length?a:void 0}if(typeof e=="object"){const a=Object.entries(e).map(([c,t])=>[c,m(t)]).filter(([c,t])=>o(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 s=t[n+1];r[t[n]]=/^\d+$/.test(s)?[]:{}}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.mapEachMetadataItem=i.mapEachMetadataItem;exports.useDynamicForm=i.useDynamicForm;exports.useValidatePartialForm=i.useValidatePartialForm;exports.removeNullValues=m;exports.setInPath=l;
2
2
  //# sourceMappingURL=vue-dynamic-form.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { _ as f, a as y, b as F, c as D, d as h, e as I, i as g, f as p, h as v, m as N, u as O, g as b } from "./mapEachMetadataItem-Dvf3R5jd.js";
1
+ import { _ as f, a as y, b as F, c as D, d as h, e as I, i as g, f as p, h as v, m as N, u as O, g as b } from "./mapEachMetadataItem-DxEO1PDs.js";
2
2
  function u(i) {
3
3
  return i == null;
4
4
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bach.software/vue-dynamic-form",
3
3
  "type": "module",
4
- "version": "0.6.0",
4
+ "version": "0.7.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
7
  "homepage": "https://github.com/jeroenbach/dynamic-form",
@@ -40,7 +40,7 @@
40
40
  "peerDependencies": {
41
41
  "@vee-validate/rules": ">=4.12",
42
42
  "vee-validate": ">=4.12",
43
- "vue": ">=3.5.18"
43
+ "vue": "^3.5.44"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@antfu/eslint-config": "5.2.1",
@@ -57,7 +57,7 @@
57
57
  "vee-validate": ">=4.12",
58
58
  "vite": "7.3.6",
59
59
  "vitest": "3.2.6",
60
- "vue": ">=3.5.18",
60
+ "vue": "^3.5.44",
61
61
  "vue-tsc": "3.0.5"
62
62
  },
63
63
  "scripts": {
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("vue"),x=require("vee-validate");function Ue(t){const{fields:n,...r}=x.useFieldArray(t),o=e.computed(()=>n.value.map(({value:l})=>l));return{fields:n,values:o,...r}}const de=Symbol("dynamicFormSettings");function pe(t,n){return Array.isArray(t)?t[0]:t[n]}function se(t){return!!(t==null||t===""||Array.isArray(t)&&t.length===0)}const De=(t,n)=>{if(se(t))return!0;const r=pe(n,"length");return Array.isArray(t)?t.every(o=>De(o,{length:r})):[...String(t)].length<=Number(r)},ze=(t,n)=>{if(se(t))return!0;const r=pe(n,"max");return Array.isArray(t)?t.length>0&&t.every(o=>ze(o,{max:r})):Number(t)<=Number(r)},Ne=(t,n)=>{if(se(t))return!0;const r=pe(n,"length");return Array.isArray(t)?t.every(o=>Ne(o,{length:r})):[...String(t)].length>=Number(r)},Te=(t,n)=>{if(se(t))return!0;const r=pe(n,"min");return Array.isArray(t)?t.length>0&&t.every(o=>Te(o,{min:r})):Number(t)>=Number(r)},_e=(t,n)=>se(t)?!0:Array.isArray(t)?t.every(r=>_e(r,n)):Array.from(n).some(r=>r==t),je=(t,n)=>{if(se(t))return!0;let r=pe(n,"regex");return typeof r=="string"&&(r=new RegExp(r)),Array.isArray(t)?t.every(o=>je(o,{regex:r})):r.test(String(t))};function W(t){return t==null?!1:Array.isArray(t)?t.some(n=>W(n)):typeof t=="object"?Object.values(t).some(n=>W(n)):!0}function Qe(t,n,r){return typeof t=="function"?t(n):t.replace(/\{(\w+)\}/g,(o,l)=>{if(l in n)return String(n[l]);if(r&&!Array.isArray(r)&&l in r)return String(r[l]);const u=Number(l);return Number.isNaN(u)?n.rule?.params&&!Array.isArray(n.rule.params)?String(n.rule.params[l]??`{${l}}`):`{${l}}`:Array.isArray(r)&&r[u]!==void 0?String(r[u]):String(n.rule?.params?.[u]??`{${l}}`)})}x.defineRule("xsd_required",t=>t!=null&&t!=="");x.defineRule("xsd_minOccurs",(t,[n])=>Array.isArray(t)?t.filter(W).length>=Number(n):Number(n)<=0);x.defineRule("xsd_maxOccurs",(t,[n])=>Array.isArray(t)?t.length<=Number(n):!0);const we=()=>!1;x.defineRule("xsd_choiceMinOccurs",we);x.defineRule("xsd_choiceMaxOccurs",we);x.defineRule("vdf_maxOccursTotal",we);x.defineRule("xsd_minLength",Ne);x.defineRule("xsd_maxLength",De);x.defineRule("xsd_length",(t,[n])=>t==null||t===""?!0:String(t).length===Number(n));x.defineRule("xsd_pattern",je);x.defineRule("xsd_minInclusive",Te);x.defineRule("xsd_maxInclusive",ze);x.defineRule("xsd_minExclusive",(t,[n])=>t==null||t===""?!0:Number(t)>Number(n));x.defineRule("xsd_maxExclusive",(t,[n])=>t==null||t===""?!0:Number(t)<Number(n));x.defineRule("xsd_enumeration",_e);x.defineRule("xsd_whiteSpace",(t,[n])=>{if(t==null||t==="")return!0;const r=String(t);return n==="replace"?!/[\t\n\r]/.test(r):n==="collapse"?r===r.trim()&&!/\s{2,}/.test(r):!0});x.defineRule("xsd_fractionDigits",(t,[n])=>{if(t==null||t==="")return!0;const r=String(t).indexOf(".");return r===-1?!0:String(t).length-r-1<=Number(n)});x.defineRule("xsd_totalDigits",(t,[n])=>t==null||t===""?!0:(String(t).replace(/^-/,"").replace(".","").replace(/^0+/,"")||"0").length<=Number(n));const Ye={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 Fe(t){return t.label??t.field??t.name??""}const Ee=new Map;function D(t,n,r){let o=Ee.get(t);o||Ee.set(t,o=new Map);let l=o.get(n);l||o.set(n,l=new Map);let u=l.get(r);return u||l.set(r,u=Ze(t,n,r)),u}function Ze(t,n,r){const o=Ye[t],l=n!==void 0?{0:n,...o?{[o]:n}:{}}:{};return async(u,d)=>{const h=Fe(d),b=h?{name:h}:void 0,g=h&&d.field!==h?{...d,field:h}:d,$=await x.validate(u,n!==void 0?{[t]:n}:t,b);return $.valid?!0:r?Qe(r,g,l):$.errors[0]}}function ve(t){return t?.replaceAll(/\[[`'"](.*?)[`'"]\]/g,".$1")??""}function ae(t,n){if(!t||!n)return t;const r=n.split(".")??[],o=t.split(".")??[];for(let l=0;l<r.length;l++)o[l]=r[l];return o.join(".")}function Ae(t){return t?typeof t=="function"?[t]:Array.isArray(t)?t.flatMap(Ae):typeof t=="string"?t.split("|").map(n=>async(r,o)=>{const l=Fe(o),u=await x.validate(r,n,l?{name:l}:void 0);return u.valid?!0:u.errors[0]}):Object.entries(t).map(([n,r])=>async(o,l)=>{const u=Fe(l),d=await x.validate(o,{[n]:r},u?{name:u}:void 0);return d.valid?!0:d.errors[0]}):[]}const et={key:0},tt=["data-testid"],Re=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:n}){const r=t,o=n,l=e.inject(de);let u=0;const d=e.computed(()=>r.fieldMetadata),h=e.computed(()=>d.value?.path?ae(d.value.path,r.pathOverride):""),b=e.computed(()=>ve(h.value)),g=x.useValidateField(b),{remove:$,push:N,fields:A,update:S,values:w,replace:P}=Ue(b),y=e.computed(()=>r.minOccursOverride!==void 0?r.minOccursOverride:d.value?.minOccurs??1),F=e.computed(()=>r.maxOccursOverride!==void 0?r.maxOccursOverride:d.value?.maxOccurs??1),X=e.computed(()=>F.value===0),q=e.computed(()=>y.value>=1&&!X.value),ee=e.computed(()=>F.value===0?0:1),E=e.computed(()=>F.value>A.value?.length),j=e.computed(()=>r.partOfChoiceField||d.value?.autoAddMinOccurs===!1?A.value?.length>0:A.value?.length>y.value&&A.value?.length>1),k=e.computed(()=>{const p=[],O=l?.value?.messages;return q.value&&p.push(D("xsd_minOccurs",y.value,O?.minOccurs)),!X.value&&F.value>=y.value&&p.push(D("xsd_maxOccurs",F.value,O?.maxOccurs)),d.value?.validation&&p.push(...Ae(d.value?.validation)),p}),{label:H,errors:ne,errorMessage:te,handleBlur:R}=x.useField(b,k,{...d.value?.fieldOptions??{},validateOnValueUpdate:!1}),Q={label:H,errors:ne,errorMessage:te,value:w},B=x.useSubmitCount(),U=e.ref(!1),J=e.computed(()=>{if(!U.value)return;const p=l?.value?.validateOnValueUpdateAfterSubmit===!0?B.value>0&&l?.value?.validateOnValueUpdateAfterSubmit:void 0,O=l?.value?.validateWhenInError&&Q?.errors.value?.length>0?!0:void 0;return d.value?.fieldOptions?.validateOnValueUpdate??O??p??l?.value?.validateOnValueUpdate});e.watch(w,p=>{J.value&&g(),o("update:modelValue",p)},{immediate:!0}),e.watchEffect(()=>{r.partOfChoiceField||d.value?.autoAddMinOccurs!==!1&&(A.value?.length<1||A.value?.length<y.value)&&T()});function T(){N(null),o("update:modelValue",w.value)}function G(p){j.value?$(p??A.value.length-1):P(w.value?.map((O,M)=>M===p?null:O)),o("update:modelValue",w.value)}function L(p,O){U.value||(U.value=!0,J.value&&g()),p===void 0&&O>=0&&S(O,void 0),o("update:modelValue",w.value)}return(p,O)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(l)?.analytics?e.withDirectives((e.openBlock(),e.createElementBlock("div",et,[e.createElementVNode("span",{"data-testid":`${h.value}-analytics-render-count`},e.toDisplayString(e.isRef(u)?++u.value:++u),9,tt)],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":Q,"slot-props":t.slotProps,settings:e.unref(l),required:q.value,disabled:X.value,index:t.index,"can-add-items":E.value,"can-remove-items":j.value,"add-item":T,"remove-item":G},{default:e.withCtx(M=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(A)??[],({key:I},z)=>(e.openBlock(),e.createBlock(oe,{key:I,"field-metadata":t.fieldMetadata,"path-override":`${h.value}[${z}]`,index:z,template:t.template,"slot-props":M,"max-occurs-override":ee.value,"can-add-items":E.value,"can-remove-items":j.value,"add-item":T,"remove-item":()=>G(z),"part-of-array-field":"","is-array-override":"single","onUpdate:modelValue":K=>L(K,z),"onUpdate:computedField":O[0]||(O[0]=K=>o("update:computedField",K)),onBlur:e.unref(R)},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 Ce(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=>Ce(r));const n={};for(const r of Object.keys(t))n[r]=Ce(t[r]);return n}const Ke=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:n}){const r=t,o=n,l=e.inject(de),u=e.computed(()=>r.fieldMetadata),d=e.computed(()=>ae(u.value.path??"",r.pathOverride)),h=e.computed(()=>ve(d.value)),b=r.fieldMetadata?.explicitChoiceSelection===!0,g=e.computed(()=>u.value?.preserveOnSwitch===!0),$=e.computed(()=>u.value?.displayOrder==="added"),N=e.computed(()=>u.value?.preserveOrder===!0),A=(u.value?.choice??[]).every(a=>(a.children?.length??0)>0),S=e.computed(()=>N.value&&A),w=x.useFormContext(),P=e.ref(null),y=e.ref({}),F=e.ref(new Map);let X=0;const q=(u.value?.choice??[]).map(a=>x.useFieldValue(()=>a.path?ae(a.path,r.pathOverride):"")),ee=(u.value?.choice??[]).map(a=>e.computed(()=>a.path?ve(ae(a.path,r.pathOverride)):"")),E=ee.map(a=>Ue(a)),j=e.computed(()=>r.minOccursOverride!==void 0?r.minOccursOverride:u.value?.minOccurs??1),k=e.computed(()=>r.maxOccursOverride!==void 0?r.maxOccursOverride:u.value?.maxOccurs??1),H=e.computed(()=>k.value===0),ne=e.computed(()=>j.value>=1&&!H.value),te=e.computed(()=>j.value===0?0:void 0),R=e.computed(()=>k.value===0?0:void 0),Q=e.computed(()=>u.value?.maxOccurs>1?"array":void 0),B=e.computed(()=>`${u.value?.type}${u.value?.maxOccurs>1?"-choice-array":"-choice"}`),U=e.ref({}),J=e.computed(()=>Object.values(U.value).map(a=>a.value)),T=e.computed(()=>!b&&u.value?.choice?.length===1?u.value?.choice[0]:void 0),G=e.computed(()=>{if(R.value===0)return 0;const a=T.value;return a?.maxOccursTotal===void 0?R.value:Math.min(a.maxOccursTotal,a.maxOccurs??1)}),L=e.computed(()=>{const a={};u.value?.choice?.forEach((c,m)=>{a[m]={childValuesCount:0,childOccurrences:0,childMaxOccurrences:1,choiceValuesCount:0,choiceOccurrences:0,overrideChildMaxOccurrences:void 0,overrideChildMinOccurrences:0,maxOccursTotal:c.maxOccursTotal}});const i=k.value??1;if(i===0)return u.value?.choice?.forEach((c,m)=>{a[m].overrideChildMaxOccurrences=0,a[m].overrideChildMinOccurrences=0}),a;for(const[c,m]of Object.entries(U.value??{})){let V=Math.ceil(m.occurrences/m.maxOccurrences);const _=Math.ceil(m.valuesCount/m.maxOccurrences);i*m.maxOccurrences===1&&(V=_),a[c]={childValuesCount:m.valuesCount,childOccurrences:m.occurrences,childMaxOccurrences:m.maxOccurrences,choiceOccurrences:V,choiceValuesCount:_,overrideChildMinOccurrences:m.valuesCount===0?0:void 0,overrideChildMaxOccurrences:void 0,maxOccursTotal:u.value?.choice?.[Number(c)]?.maxOccursTotal}}const f=Object.values(a).reduce((c,m)=>c+m.choiceOccurrences,0);return Object.values(a).forEach(c=>{const V=(f-c.choiceOccurrences)*c.childMaxOccurrences,_=i*c.childMaxOccurrences;let Z=Math.max(_-V,c.childValuesCount);c.maxOccursTotal!==void 0&&(Z=Math.min(Z,c.maxOccursTotal)),c.overrideChildMaxOccurrences=Z}),a}),p=e.computed(()=>Object.values(L.value).reduce((a,i)=>a+i.choiceValuesCount,0)),O=e.computed(()=>{const a=[];return u.value?.choice?.forEach((i,f)=>{if(b&&k.value>1){(E[f]?.fields.value??[]).forEach((_,Z)=>{a.push({branchKey:i.name,index:Z})});return}const c=W(q[f]?.value),m=b&&P.value===i.name;(c||m)&&a.push({branchKey:i.name,index:0})}),a}),M=e.computed(()=>{if(!$.value)return O.value;function a(i){return S.value?xe(i)?.order:F.value.get(ce(i))}return O.value.map(i=>({occurrence:i,sortKey:a(i)})).sort((i,f)=>{const c=i.sortKey!==void 0,m=f.sortKey!==void 0;return c!==m?c?1:-1:c?i.sortKey-f.sortKey:0}).map(i=>i.occurrence)}),I=e.computed(()=>H.value?0:b&&k.value>1?E.reduce((a,i,f)=>{const c=u.value.choice[f].maxOccurs;return a+Math.ceil(i.fields.value.length/c)},0):b?O.value.length:p.value),z=e.computed(()=>b&&k.value===1?Math.max(p.value,P.value?1:0):b&&k.value>1?Math.max(p.value,I.value):p.value),K=e.computed(()=>Object.values(L.value).find(a=>a.maxOccursTotal!==void 0&&a.childOccurrences>a.maxOccursTotal)?.maxOccursTotal),re=e.computed(()=>{if(T.value||H.value)return;const a=l?.value?.messages,i=[];return z.value<j.value&&i.push(D("xsd_choiceMinOccurs",j.value,a?.choiceMinOccurs)),I.value>k.value&&i.push(D("xsd_choiceMaxOccurs",k.value,a?.choiceMaxOccurs)),K.value!==void 0&&i.push(D("vdf_maxOccursTotal",K.value,a?.maxOccursTotal)),i.length?i:void 0}),{errors:ie,errorMessage:fe}=x.useField(h,re,u.value?.fieldOptions),v={label:u.value?.fieldOptions?.label,errors:ie,errorMessage:fe,value:J};e.watch(u,a=>{a&&a.choice?.forEach((i,f)=>{f in U.value||s(void 0,f,i.maxOccurs)})},{immediate:!0}),b&&e.watch(()=>E.map(a=>a.values.value),a=>{k.value<=1||a.forEach((i,f)=>{const c=u.value.choice[f].maxOccurs;s(i,f,c)})},{immediate:!0});function s(a,i,f=1,c=!1){if(c){o("update:modelValue",J.value);return}if(i===void 0)return;let m=Array.isArray(a)?a:[a];(k.value??1)*f===1&&(m=m.filter(be=>be!==void 0));const Z=m.length,Xe=m.filter(be=>W(be)).length,me=U.value[i]??{};me.value=a,me.occurrences=Z,me.valuesCount=Xe,me.maxOccurrences=f,U.value[i]||(U.value[i]=me),o("update:modelValue",J.value)}function C(a){return u.value?.choice?.findIndex(i=>i.name===a)??-1}function ue(a){if(R.value===0)return 0;const i=Y(a);return i?.maxOccursTotal===void 0?R.value:Math.min(i.maxOccursTotal,i.maxOccurs??1)}function Y(a){const i=C(a);return i>=0?u.value?.choice?.[i]:void 0}function le(a,i={}){const f=C(a);if(f<0)return;const c=u.value?.choice?.[f],m=c?.path?ae(c.path,r.pathOverride):void 0;i.stash?y.value[a]=Ce(q[f]?.value??void 0):a in y.value&&delete y.value[a],m&&w?.setFieldValue(m,void 0,!1);const V=U.value[f];V&&(V.value=void 0,V.occurrences=0,V.valuesCount=0)}function We(a){if(!g.value||!(a in y.value))return;const i=C(a),f=ae(u.value.choice[i].path,r.pathOverride);w?.setFieldValue(f,y.value[a],!1)}function Be(a){if(!he(a))return;const i=C(a);if(k.value>1){const f=E[i]?.fields.value.length??0,c=O.value.length;S.value?E[i]?.push({order:c+1}):E[i]?.push(null),F.value.set(ce({branchKey:a,index:f}),++X);return}if(P.value!==a){for(const f of O.value)f.branchKey!==a&&le(f.branchKey,{stash:g.value});We(a),P.value=a}}function Ie(a,i){const f=C(a);if(f<0)return;if(k.value>1){const m=E[f]?.fields.value.length??0,V=i??m-1;if(V<0||V>=m)return;const _=ce({branchKey:a,index:V});E[f]?.remove(V),F.value.delete(_),S.value&&Me();return}O.value.some(m=>m.branchKey===a)&&(le(a),P.value===a&&(P.value=null))}function he(a){if(H.value)return!1;const i=C(a);if(i<0)return!1;if(k.value<=1)return!0;const f=E[i].fields.value.length,c=L.value[i]?.overrideChildMaxOccurrences;return c===void 0||f<c}function Oe(a){return E[C(a)]}function Se(a){return Oe(a.branchKey).fields.value[a.index].key}function ce(a){return`${a.branchKey}:${Se(a)}`}function ye(a){return`${ee[C(a.branchKey)].value}[${a.index}]`}function xe(a){return Oe(a.branchKey).fields.value[a.index].value}function Me(){const a=O.value,i=a.length;a.map((c,m)=>{const V=xe(c)?.order,_=F.value.get(ce(c)),Z=V??(_!==void 0?i+_:m+1);return{occurrence:c,currentOrder:V,sortKey:Z}}).sort((c,m)=>c.sortKey-m.sortKey).forEach(({occurrence:c,currentOrder:m},V)=>{const _=V+1;m!==_&&w?.setFieldValue(`${ye(c)}.order`,_,!1)})}function qe(){O.value.forEach(a=>{const i=xe(a);i&&typeof i=="object"&&"order"in i&&w?.setFieldValue(`${ye(a)}.order`,void 0,!1)})}const ge=new Map;function He(a){const i=ce(a),f=ge.get(i);if(f)return f;const c=Se(a),m=()=>{const V=Oe(a.branchKey).fields.value.findIndex(_=>_.key===c);V>=0&&Ie(a.branchKey,V),ge.delete(i)};return ge.set(i,m),m}const Pe=new Map;function Je(a){let i=Pe.get(a);return i||(i=()=>Be(a),Pe.set(a,i)),i}const Ge=e.computed(()=>S.value&&b&&k.value>1);return e.watch(Ge,a=>{a&&Me()},{immediate:!0}),e.watch(S,(a,i)=>{!b||k.value<=1||!a&&i&&qe()}),(a,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{type:B.value,"field-metadata":t.fieldMetadata,"field-context":v,"slot-props":t.slotProps,settings:e.unref(l),required:ne.value,index:t.index,disabled:H.value,"can-add-items":t.canAddItems,"can-remove-items":t.canRemoveItems,"add-item":t.addItem,"remove-item":t.removeItem,"add-choice-occurrence":Be,"remove-choice-occurrence":Ie,"can-add-choice-occurrence":he,"active-choice-occurrences":O.value,"used-choice-occurrences":I.value},{default:e.withCtx(f=>[T.value?(e.openBlock(),e.createBlock(oe,{key:0,"field-metadata":T.value,"path-override":t.pathOverride,template:t.template,"slot-props":f,"min-occurs-override":te.value,"max-occurs-override":G.value,"part-of-choice-field":"","onUpdate:modelValue":i[0]||(i[0]=c=>s(c,0,T.value.maxOccurs,!0)),"onUpdate:computedField":i[1]||(i[1]=c=>o("update:computedField",c))},null,8,["field-metadata","path-override","template","slot-props","min-occurs-override","max-occurs-override"])):b&&k.value===1?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(O.value,c=>(e.openBlock(),e.createBlock(oe,{key:c.branchKey,"field-metadata":Y(c.branchKey),"path-override":t.pathOverride,index:C(c.branchKey),template:t.template,"slot-props":f,"min-occurs-override":te.value,"max-occurs-override":ue(c.branchKey),"is-array-override":Q.value,"part-of-choice-field":"","onUpdate:modelValue":m=>s(m,C(c.branchKey),Y(c.branchKey).maxOccurs),"onUpdate:computedField":i[2]||(i[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)):b?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(M.value,(c,m)=>(e.openBlock(),e.createBlock(oe,{key:ce(c),"field-metadata":Y(c.branchKey),"path-override":ye(c),index:c.index,template:t.template,"slot-props":f,"max-occurs-override":1,"is-array-override":"single","part-of-array-field":"","part-of-choice-field":"","branch-key":c.branchKey,"global-index":m,"insertion-order":F.value.get(ce(c)),"can-add-items":he(c.branchKey),"add-item":Je(c.branchKey),"can-remove-items":!0,"remove-item":He(c),"onUpdate:computedField":i[3]||(i[3]=V=>o("update:computedField",V))},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(u.value.choice,(c,m)=>(e.openBlock(),e.createBlock(oe,{key:c.name,"field-metadata":c,"path-override":t.pathOverride,index:m,template:t.template,"slot-props":f,"min-occurs-override":L.value[m]?.overrideChildMinOccurrences,"max-occurs-override":L.value[m]?.overrideChildMaxOccurrences,"is-array-override":Q.value,"part-of-choice-field":"","onUpdate:modelValue":V=>s(V,m,c.maxOccurs),"onUpdate:computedField":i[4]||(i[4]=V=>o("update:computedField",V))},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 rt(){const n=e.getCurrentInstance()?.provides;return n&&x.FormContextKey in n?n[x.FormContextKey]:e.inject(x.FormContextKey)}function ke(){const t=rt();async function n(r){const o=t.getAllPathStates().map(h=>h.path).filter(h=>h===r||h.startsWith(`${r}.`)||h.startsWith(`${r}[`)),l=await Promise.all(o.map(async h=>({path:h,result:await t.validateField(h)}))),u=Object.fromEntries(l.map(({path:h,result:b})=>[h,b])),d=Object.fromEntries(l.filter(({result:h})=>!h.valid).map(({path:h,result:b})=>[h,b.errors[0]??""]));return{valid:l.every(({result:h})=>h.valid),results:u,errors:d,source:"fields"}}return{validateSection:n}}const Le=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:n}){const r=t,o=n,l=e.inject(de),{validateSection:u}=ke(),d=e.computed(()=>r.fieldMetadata),h=e.computed(()=>ae(d.value?.path??"",r.pathOverride)),b=e.computed(()=>ve(h.value)),{errors:g,errorMessage:$,value:N}=x.useField(b,void 0,d.value?.fieldOptions),A={label:d.value?.fieldOptions?.label,errors:g,errorMessage:$,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 S=e.computed(()=>d.value?.children??[]),w=e.computed(()=>S.value.length),P=(()=>{const p=r.fieldMetadata?.wizard,O=typeof p=="object"&&p!==null?p:{};return{allowForwardJump:O.allowForwardJump===!0,validateOnJump:O.validateOnJump!==!1}})(),y=e.ref(0),F=e.ref(!1),X=e.computed(()=>y.value===0),q=e.computed(()=>w.value===0?!0:y.value===w.value-1),ee=e.computed(()=>r.minOccursOverride!==void 0?r.minOccursOverride:d.value?.minOccurs??1),E=e.computed(()=>r.maxOccursOverride!==void 0?r.maxOccursOverride:d.value?.maxOccurs??1),j=e.computed(()=>E.value===0),k=e.computed(()=>ee.value>=1&&!j.value),H=e.computed(()=>{if(r.minOccursOverride===0)return 0;if(!(ee.value>0))return W(N.value)?void 0:0}),ne=e.computed(()=>E.value===0?0:void 0);function te(){const p=S.value[y.value];return p?.path?ae(p.path,r.pathOverride):void 0}async function R(){const p=te();if(!p)return!0;F.value=!0;try{return(await u(p)).valid}finally{F.value=!1}}async function Q(){if(w.value===0||q.value)return;if(P.allowForwardJump)return U(y.value+1);const p=y.value;await R()&&y.value===p&&(y.value=p+1)}function B(){w.value===0||y.value===0||y.value--}async function U(p,O){if(w.value===0)return;const M=Math.min(Math.max(p,0),w.value-1),I=y.value;M!==I&&(M>I&&(!(O?.allowForwardJump??P.allowForwardJump)||(O?.validateOnJump??P.validateOnJump)&&(await R(),y.value!==I))||(y.value=M))}function J(p){o("update:computedField",p)}const T=new Map;function G(p,O){const M=O??{},I=T.get(p);return I&&L(I,M)?I:(T.set(p,M),M)}function L(p,O){const M=Object.keys(p),I=Object.keys(O);return M.length===I.length&&M.every(z=>Object.is(p[z],O[z]))}return(p,O)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{type:`${t.fieldMetadata.type}-wizard`,"field-metadata":t.fieldMetadata,"field-context":A,"slot-props":t.slotProps,settings:e.unref(l),required:k.value,disabled:j.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:S.value,"page-count":w.value,"is-first":X.value,"is-last":q.value,"is-validating":F.value,"wizard-config":e.unref(P),next:Q,prev:B,"goto-step":U},{default:e.withCtx(M=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(I,z)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{key:I.path,type:`${I.type}-wizard-page`,"field-metadata":I,"field-context":A,"slot-props":G("wizard",M),settings:e.unref(l),required:!1,disabled:!1,index:z,"is-current":z===y.value,"page-index":z,"current-step-index":y.value,"is-first":X.value,"is-last":q.value,"wizard-config":e.unref(P),next:Q,prev:B,"goto-step":U},{default:e.withCtx(K=>[e.createVNode(oe,{"field-metadata":I,"path-override":t.pathOverride,index:z,template:t.template,"slot-props":G(`page:${I.path}`,K),"min-occurs-override":H.value,"max-occurs-override":ne.value,"onUpdate:modelValue":O[0]||(O[0]=re=>o("update:modelValue",re)),"onUpdate:computedField":J},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 at(t){const{name:n,path:r,children:o,choice:l,attributes:u,fieldOptions:d,computedProps:h,maxOccurs:b,_hash:g,parent:$,isComplexType:N,computeOnChildValueChange:A,...S}=t,w=Object.fromEntries(Object.entries(S).sort(([P],[y])=>P.localeCompare(y)));return JSON.stringify(w)}const nt={key:0},it=["data-testid"],$e=100,oe=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:n}){const r=t,o=n,l=e.inject(de);let u=0,d=0,h;function b(v){if(d++,h==null&&(h=setTimeout(()=>{d=0,h=void 0},0)),d>$e)throw new Error(`[DynamicFormItem] Possible infinite loop detected in computedProps for field "${v}". computedProps recomputed more than ${$e} times without the event loop turning. Ensure value writes inside computedProps are idempotent (the same input always produces the same output).`)}const g=e.computed(()=>r.fieldMetadata),$=e.computed(()=>g.value?.path?ae(g.value.path,r.pathOverride):""),N=e.computed(()=>g.value?.isComplexType||g.value?.attributes?.length),A=e.computed(()=>{let v=$.value;if(N.value&&v){const s=l?.value?.complexTypeValueProperty??"value";v=`${v}['${s}']`}return v}),S=e.computed(()=>ve(A.value)),w=e.computed(()=>r.isArrayOverride==="array"?!0:r.isArrayOverride==="single"?!1:(g.value?.maxOccurs??1)>1),P=e.ref([]),y=w.value?{value:e.ref(void 0)}:x.useField(S,P,{...g.value?.fieldOptions??{},validateOnValueUpdate:!1}),F=y.value,X=x.useFormContext();y.hasValue=e.computed(()=>W(F.value));const q=y.handleBlur;y.handleBlur=function(v,s){s=s??l?.value?.validateOnBlur,q(v,s),o("blur",v,s)};const ee=y.handleChange;y.handleChange=function(v,s){ee(v,s===!0)};const E=e.computed(()=>!!g.value?.wizard),j=e.computed(()=>!!g.value?.children?.length),k=e.computed(()=>!!g.value?.choice?.length),H=e.computed(()=>!w.value&&!k.value&&!j.value&&!E.value),ne=e.ref(!0),te=e.ref(0),R=e.ref({}),Q=e.computed(()=>Object.values(R.value)),B=e.computed(()=>{b($.value),g.value?.computeOnChildValueChange===!0&&te.value;const s=(g.value?.computedProps??[]).reduce((C,ue)=>(ue(C,F,Q),C),{...g.value,path:$.value});return s.path=$.value,s.explicitChoiceSelection=g.value?.explicitChoiceSelection,s.preserveOnSwitch=g.value?.preserveOnSwitch,s.wizard=g.value?.wizard,s._hash=at(s),s}),U=e.computed(()=>r.minOccursOverride!==void 0?r.minOccursOverride:r.partOfArrayField?0:B.value?.minOccurs??1),J=e.computed(()=>r.maxOccursOverride!==void 0?r.maxOccursOverride:B.value?.maxOccurs??1),T=e.computed(()=>J.value===0),G=e.computed(()=>U.value>=1&&!T.value),L=e.computed(()=>{if(r.minOccursOverride===0)return r.minOccursOverride;if(!(U.value>0)&&!W(F.value))return 0}),p=e.computed(()=>J.value===0?0:void 0),O=e.computed(()=>r.partOfArrayField&&W(F.value)?!0:r.canRemoveItems),M=x.useSubmitCount(),I=e.computed(()=>{const v=l?.value?.validateOnValueUpdateAfterSubmit===!0?M.value>0&&l?.value?.validateOnValueUpdateAfterSubmit:void 0,s=l?.value?.validateWhenInError&&y?.errors.value?.length>0?!0:void 0;return g.value?.fieldOptions?.validateOnValueUpdate??s??v??l?.value?.validateOnValueUpdate}),z=e.computed(()=>g.value?.attributes?.length&&W(F.value));e.watchEffect(()=>{const v=[],s=g.value.restriction??{},C=l?.value?.messages;G.value&&v.push(D("xsd_required",void 0,C?.required)),s.minLength!=null&&v.push(D("xsd_minLength",s.minLength,C?.minLength)),s.maxLength!=null&&v.push(D("xsd_maxLength",s.maxLength,C?.maxLength)),s.length!=null&&v.push(D("xsd_length",s.length,C?.length)),s.pattern!=null&&v.push(D("xsd_pattern",s.pattern,C?.pattern)),s.minInclusive!=null&&v.push(D("xsd_minInclusive",s.minInclusive,C?.minInclusive)),s.maxInclusive!=null&&v.push(D("xsd_maxInclusive",s.maxInclusive,C?.maxInclusive)),s.minExclusive!=null&&v.push(D("xsd_minExclusive",s.minExclusive,C?.minExclusive)),s.maxExclusive!=null&&v.push(D("xsd_maxExclusive",s.maxExclusive,C?.maxExclusive)),s.enumeration!=null&&v.push(D("xsd_enumeration",s.enumeration,C?.enumeration)),s.whiteSpace!=null&&v.push(D("xsd_whiteSpace",s.whiteSpace,C?.whiteSpace)),s.fractionDigits!=null&&v.push(D("xsd_fractionDigits",s.fractionDigits,C?.fractionDigits)),s.totalDigits!=null&&v.push(D("xsd_totalDigits",s.totalDigits,C?.totalDigits)),g.value?.validation&&v.push(...Ae(g.value?.validation)),P.value=v});let K=!1;e.watch(F,v=>{K||(K=!0,v===""&&(F.value=r.partOfArrayField?null:void 0),K=!1)},{flush:"sync"}),e.watch(F,v=>{H.value&&((!ne.value||v)&&(ie(),I.value&&y?.validate()),ne.value=!1)},{immediate:!0}),e.onMounted(()=>{o("update:computedField",B.value),e.watch(()=>B.value._hash,(v,s)=>{v!==s&&o("update:computedField",B.value)})}),e.onBeforeUnmount(()=>{h!=null&&clearTimeout(h),!(r.partOfArrayField||!(r.partOfAttributeField&&!r.attributeOwnerHasValue?.())&&(g.value?.fieldOptions?.keepValueOnUnmount??e.toValue(X?.keepValuesOnUnmount)))&&F.value!==void 0&&(F.value=void 0,ie())});function re(v){!v.path||R.value[v.path]?._hash===v._hash||(R.value[v.path]=v)}function ie(){te.value++,o("update:modelValue",F.value)}function fe(v){F.value=v,o("update:modelValue",F.value)}return(v,s)=>{const C=e.resolveComponent("DynamicFormItem",!0);return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(l)?.analytics?e.withDirectives((e.openBlock(),e.createElementBlock("div",nt,[e.createElementVNode("span",{"data-testid":`${$.value}-analytics-render-count`},e.toDisplayString(e.isRef(u)?++u.value:++u),9,it)],512)),[[e.vShow,!1]]):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createBlock(Le,e.mergeProps({key:1},r,{"field-metadata":B.value,"onUpdate:modelValue":ie,"onUpdate:computedField":re}),null,16,["field-metadata"])):k.value?(e.openBlock(),e.createBlock(Ke,e.mergeProps({key:2},r,{"field-metadata":B.value,"onUpdate:modelValue":ie,"onUpdate:computedField":re}),null,16,["field-metadata"])):w.value?(e.openBlock(),e.createBlock(Re,e.mergeProps({key:3},r,{"part-of-choice-field":t.partOfChoiceField,"field-metadata":B.value,"onUpdate:modelValue":fe,"onUpdate:computedField":re}),null,16,["part-of-choice-field","field-metadata"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{key:4,type:t.branchKey!==void 0?`${B.value.type}-choice-array-item`:t.partOfArrayField?`${B.value.type}-array-item`:B.value.type,"field-metadata":B.value,"field-context":e.unref(y),"slot-props":t.slotProps,settings:e.unref(l),required:G.value,disabled:T.value,index:t.index,"can-add-items":t.canAddItems,"can-remove-items":O.value,"add-item":t.addItem,"remove-item":t.removeItem,"branch-key":t.branchKey,"global-index":t.globalIndex,"insertion-order":t.insertionOrder},{default:e.withCtx(ue=>[j.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(B.value.children,(Y,le)=>(e.openBlock(),e.createBlock(C,{key:Y.path,"field-metadata":Y,"path-override":A.value,index:le,template:t.template,"slot-props":ue,"min-occurs-override":L.value,"max-occurs-override":p.value,"onUpdate:modelValue":ie,"onUpdate:computedField":re},null,8,["field-metadata","path-override","index","template","slot-props","min-occurs-override","max-occurs-override"]))),128)):e.createCommentVNode("",!0),j.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{key:1,type:`${B.value.type}-input`,"field-metadata":B.value,"field-context":e.unref(y),"slot-props":ue,settings:e.unref(l),required:G.value,disabled:T.value,index:t.index,"can-add-items":t.canAddItems,"can-remove-items":O.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(ue=>[z.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(B.value.attributes,(Y,le)=>(e.openBlock(),e.createBlock(C,{key:Y.path,"field-metadata":Y,"path-override":$.value,index:le,template:t.template,"slot-props":ue,"min-occurs-override":L.value,"max-occurs-override":p.value,"part-of-attribute-field":!0,"attribute-owner-has-value":()=>e.unref(W)(e.unref(F)),"onUpdate:modelValue":ie,"onUpdate:computedField":re},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)}}}),ut=e.defineComponent({name:"DynamicForm",inheritAttrs:!1,__name:"DynamicForm",props:{metadata:{},template:{type:[Object,Function]},settings:{}},setup(t){const n=e.computed(()=>({validateOnValueUpdate:!0,validateWhenInError:!0,...t.settings??{}}));e.provide(de,n);const r=e.computed(()=>Array.isArray(t.metadata)?t.metadata:[t.metadata]),o=e.computed(()=>r.value?.map((d,h)=>u(d,h))??[]),l=e.computed(()=>t.template);function u(d,h,b){if(!d)return d;const g=d.name??`field-${h}`,$=d.path??[b?.path,g].filter(Boolean).join("."),N={name:g,path:$,type:"text",minOccurs:1,maxOccurs:1,...d,computedProps:[...d.computedProps??[]],parent:b};return N.children=(d.children??[]).map((A,S)=>u(A,S,N)),N.choice=(d.choice??[]).map((A,S)=>u(A,S,N)),N.attributes=(d.attributes??[]).map((A,S)=>u(A,S,N)),N}return(d,h)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,b=>(e.openBlock(),e.createBlock(oe,{key:b.name,template:l.value,"field-metadata":b},null,8,["template","field-metadata"]))),128))}}),ot=/-\w/g,ct=lt(t=>t.replace(ot,n=>n.slice(1).toUpperCase()));function lt(t){const n=Object.create(null);return(r=>n[r]||(n[r]=t(r)))}const dt=e.defineComponent({name:"DynamicFormTemplate",inheritAttrs:!1,__name:"DynamicFormTemplate",props:{metadataConfiguration:{}},setup(t){const n=e.useSlots(),r=e.useAttrs(),o=e.computed(()=>{const u={};for(const[d,h]of Object.entries(r))u[ct(d)]=h;return u}),l=e.computed(()=>{const u=o.value.type;if(u&&n[u])return u;if(u?.endsWith("-input"))return n["default-input"]?"default-input":"default";if(u?.endsWith("-choice-array-item")){if(n["default-choice-array-item"])return"default-choice-array-item";const d=`${u.slice(0,-18)}-array-item`;return n[d]?d:n["default-array-item"]?"default-array-item":"default"}if(u?.endsWith("-choice-array")){if(n["default-choice-array"])return"default-choice-array";const d=`${u.slice(0,-13)}-choice`;return n[d]?d:n["default-choice"]?"default-choice":"default"}return u?.endsWith("-array")?n["default-array"]?"default-array":"default":u?.endsWith("-array-item")?n["default-array-item"]?"default-array-item":"default":u?.endsWith("-choice")?n["default-choice"]?"default-choice":"default":u?.endsWith("-wizard-page")?n["default-wizard-page"]?"default-wizard-page":"default":u?.endsWith("-wizard")&&n["default-wizard"]?"default-wizard":"default"});return(u,d)=>o.value.fieldMetadata?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.value.type?.endsWith("-choice-array")?e.renderSlot(u.$slots,l.value,e.normalizeProps(e.mergeProps({key:0},o.value))):o.value.type?.endsWith("-array")?e.renderSlot(u.$slots,l.value,e.normalizeProps(e.mergeProps({key:1},o.value))):o.value.type?.endsWith("-choice")?e.renderSlot(u.$slots,l.value,e.normalizeProps(e.mergeProps({key:2},o.value))):o.value.type?.endsWith("-wizard-page")?e.renderSlot(u.$slots,l.value,e.normalizeProps(e.mergeProps({key:3},o.value))):o.value.type?.endsWith("-wizard")?e.renderSlot(u.$slots,l.value,e.normalizeProps(e.mergeProps({key:4},o.value))):e.renderSlot(u.$slots,l.value,e.normalizeProps(e.mergeProps({key:5},o.value)))],64)):e.createCommentVNode("",!0)}});function st(){return{fieldTypes:Object.keys({}),extendedProperties:{},slotProperties:{},extendedSettingsProperties:{},valueTypes:{}}}function mt(t){const n=l=>x.useFieldValue(l),r=x.useForm(t),{validateSection:o}=ke();return{...r,useFieldValue:n,validateSection:o}}function Ve(t,n){return!t||!n||(t=n?.({...t}),t.children=t?.children?.map(r=>Ve(r,n)),t.choice=t?.choice?.map(r=>Ve(r,n))),t}exports._sfc_main=ut;exports._sfc_main$1=oe;exports._sfc_main$2=Re;exports._sfc_main$3=Ke;exports._sfc_main$4=Le;exports._sfc_main$5=dt;exports.checkTreeHasValue=W;exports.defineMetadata=st;exports.dynamicFormSettingsKey=de;exports.mapEachMetadataItem=Ve;exports.useDynamicForm=mt;exports.useValidatePartialForm=ke;
2
- //# sourceMappingURL=mapEachMetadataItem-Cxfn86Z2.cjs.map