@bach.software/vue-dynamic-form 0.6.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.
Files changed (42) hide show
  1. package/dist/examples.cjs.js +5 -5
  2. package/dist/examples.cjs.js.map +1 -1
  3. package/dist/examples.es.js +709 -492
  4. package/dist/examples.es.js.map +1 -1
  5. package/dist/mapEachMetadataItem-CZmoxEoA.js +1234 -0
  6. package/dist/mapEachMetadataItem-CZmoxEoA.js.map +1 -0
  7. package/dist/mapEachMetadataItem-Dw1U9jf2.cjs +2 -0
  8. package/dist/mapEachMetadataItem-Dw1U9jf2.cjs.map +1 -0
  9. package/dist/src/components/__tests__/DynamicFormItem.formApi.test.d.ts +1 -0
  10. package/dist/src/components/__tests__/DynamicFormItem.test-helpers.d.ts +8 -0
  11. package/dist/src/components/__tests__/DynamicFormItemArray.formApi.test.d.ts +1 -0
  12. package/dist/src/components/__tests__/DynamicFormItemArray.test-helpers.d.ts +2 -0
  13. package/dist/src/components/__tests__/DynamicFormItemChoice.formApi.test.d.ts +1 -0
  14. package/dist/src/components/__tests__/DynamicFormItemChoice.test-helpers.d.ts +9 -0
  15. package/dist/src/components/__tests__/DynamicFormItemWizard.formApi.test.d.ts +1 -0
  16. package/dist/src/core/__tests__/useIsResetPending.test.d.ts +1 -0
  17. package/dist/src/core/__tests__/useIsValidationSuppressed.test.d.ts +1 -0
  18. package/dist/src/core/useIsResetPending.d.ts +13 -0
  19. package/dist/src/core/useIsValidationSuppressed.d.ts +20 -0
  20. package/dist/src/examples/ProgrammaticWritesTestCase.vue.d.ts +2 -0
  21. package/dist/src/examples/TestForm.vue.d.ts +6 -1
  22. package/dist/src/examples/__tests__/TestFormTemplate.testcases.d.ts +270 -37
  23. package/dist/src/examples/index.d.ts +1 -0
  24. package/dist/src/index.d.ts +1 -0
  25. package/dist/src/types/FieldMetadata.d.ts +32 -1
  26. package/dist/src/utils/__tests__/deepEqual.test.d.ts +1 -0
  27. package/dist/src/utils/__tests__/hashField.test.d.ts +1 -0
  28. package/dist/src/utils/__tests__/isPathInSection.test.d.ts +1 -0
  29. package/dist/src/utils/buildRestrictionValidations.d.ts +11 -0
  30. package/dist/src/utils/deepEqual.d.ts +9 -0
  31. package/dist/src/utils/isPathInSection.d.ts +9 -0
  32. package/dist/src/utils/removeNullValues.d.ts +4 -0
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/dist/vue-dynamic-form.cjs.js +1 -1
  35. package/dist/vue-dynamic-form.cjs.js.map +1 -1
  36. package/dist/vue-dynamic-form.es.js +22 -21
  37. package/dist/vue-dynamic-form.es.js.map +1 -1
  38. package/package.json +4 -3
  39. package/dist/mapEachMetadataItem-Cxfn86Z2.cjs +0 -2
  40. package/dist/mapEachMetadataItem-Cxfn86Z2.cjs.map +0 -1
  41. package/dist/mapEachMetadataItem-Dvf3R5jd.js +0 -1159
  42. package/dist/mapEachMetadataItem-Dvf3R5jd.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("vue"),p=require("vee-validate");function ze(t){const{fields:a,...r}=p.useFieldArray(t),i=e.computed(()=>a.value.map(({value:c})=>c));return{fields:a,values:i,...r}}function Ke(t){const a=p.useFormContext();return()=>a?.getPathState?.(e.toValue(t))?.__flags?.pendingReset===!0}const Se=new WeakSet,Ne=new WeakSet;function De(t){Se.add(t),e.nextTick(()=>Se.delete(t))}function Le(t){if(!t||typeof t!="object"||Ne.has(t))return;Ne.add(t);const a=t,r=a.setFieldValue?.bind(a);r&&(a.setFieldValue=(c,o,d=!0)=>{r(c,o,d),d||De(t)});const i=a.setValues?.bind(a);i&&(a.setValues=(c,o=!0)=>{i(c,o),o||De(t)})}function We(t){const a=Ke(t),r=p.useFormContext();return()=>a()||!!r&&Se.has(r)}const fe=Symbol("dynamicFormSettings");function ge(t,a){return Array.isArray(t)?t[0]:t[a]}function he(t){return!!(t==null||t===""||Array.isArray(t)&&t.length===0)}const qe=(t,a)=>{if(he(t))return!0;const r=ge(a,"length");return Array.isArray(t)?t.every(i=>qe(i,{length:r})):[...String(t)].length<=Number(r)},He=(t,a)=>{if(he(t))return!0;const r=ge(a,"max");return Array.isArray(t)?t.length>0&&t.every(i=>He(i,{max:r})):Number(t)<=Number(r)},Je=(t,a)=>{if(he(t))return!0;const r=ge(a,"length");return Array.isArray(t)?t.every(i=>Je(i,{length:r})):[...String(t)].length>=Number(r)},Ge=(t,a)=>{if(he(t))return!0;const r=ge(a,"min");return Array.isArray(t)?t.length>0&&t.every(i=>Ge(i,{min:r})):Number(t)>=Number(r)},Xe=(t,a)=>he(t)?!0:Array.isArray(t)?t.every(r=>Xe(r,a)):Array.from(a).some(r=>r==t),Qe=(t,a)=>{if(he(t))return!0;let r=ge(a,"regex");return typeof r=="string"&&(r=new RegExp(r)),Array.isArray(t)?t.every(i=>Qe(i,{regex:r})):r.test(String(t))};function X(t){return t==null?!1:Array.isArray(t)?t.some(a=>X(a)):typeof t=="object"?Object.values(t).some(a=>X(a)):!0}function ot(t,a,r){return typeof t=="function"?t(a):t.replace(/\{(\w+)\}/g,(i,c)=>{if(c in a)return String(a[c]);if(r&&!Array.isArray(r)&&c in r)return String(r[c]);const o=Number(c);return Number.isNaN(o)?a.rule?.params&&!Array.isArray(a.rule.params)?String(a.rule.params[c]??`{${c}}`):`{${c}}`:Array.isArray(r)&&r[o]!==void 0?String(r[o]):String(a.rule?.params?.[o]??`{${c}}`)})}p.defineRule("xsd_required",t=>t!=null&&t!=="");p.defineRule("xsd_minOccurs",(t,[a])=>Array.isArray(t)?t.filter(X).length>=Number(a):Number(a)<=0);p.defineRule("xsd_maxOccurs",(t,[a])=>Array.isArray(t)?t.length<=Number(a):!0);const Me=()=>!1;p.defineRule("xsd_choiceMinOccurs",Me);p.defineRule("xsd_choiceMaxOccurs",Me);p.defineRule("vdf_maxOccursTotal",Me);p.defineRule("xsd_minLength",Je);p.defineRule("xsd_maxLength",qe);p.defineRule("xsd_length",(t,[a])=>t==null||t===""?!0:String(t).length===Number(a));p.defineRule("xsd_pattern",Qe);p.defineRule("xsd_minInclusive",Ge);p.defineRule("xsd_maxInclusive",He);p.defineRule("xsd_minExclusive",(t,[a])=>t==null||t===""?!0:Number(t)>Number(a));p.defineRule("xsd_maxExclusive",(t,[a])=>t==null||t===""?!0:Number(t)<Number(a));p.defineRule("xsd_enumeration",Xe);p.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});p.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)});p.defineRule("xsd_totalDigits",(t,[a])=>t==null||t===""?!0:(String(t).replace(/^-/,"").replace(".","").replace(/^0+/,"")||"0").length<=Number(a));const ct={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 Ie(t){return t.label??t.field??t.name??""}const je=new Map;function U(t,a,r){let i=je.get(t);i||je.set(t,i=new Map);let c=i.get(a);c||i.set(a,c=new Map);let o=c.get(r);return o||c.set(r,o=lt(t,a,r)),o}function lt(t,a,r){const i=ct[t],c=a!==void 0?{0:a,...i?{[i]:a}:{}}:{};return async(o,d)=>{const v=Ie(d),h=v?{name:v}:void 0,x=v&&d.field!==v?{...d,field:v}:d,E=await p.validate(o,a!==void 0?{[t]:a}:t,h);return E.valid?!0:r?ot(r,x,c):E.errors[0]}}function ye(t){return t?.replaceAll(/\[[`'"](.*?)[`'"]\]/g,".$1")??""}function ne(t,a){if(!t||!a)return t;const r=a.split(".")??[],i=t.split(".")??[];for(let c=0;c<r.length;c++)i[c]=r[c];return i.join(".")}function Ee(t){return t?typeof t=="function"?[t]:Array.isArray(t)?t.flatMap(Ee):typeof t=="string"?t.split("|").map(a=>async(r,i)=>{const c=Ie(i),o=await p.validate(r,a,c?{name:c}:void 0);return o.valid?!0:o.errors[0]}):Object.entries(t).map(([a,r])=>async(i,c)=>{const o=Ie(c),d=await p.validate(i,{[a]:r},o?{name:o}:void 0);return d.valid?!0:d.errors[0]}):[]}const dt={key:0},st=["data-testid"],Ye=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,i=a,c=e.inject(fe);let o=0;const d=e.computed(()=>r.fieldMetadata),v=e.computed(()=>d.value?.path?ne(d.value.path,r.pathOverride):""),h=e.computed(()=>ye(v.value)),x=p.useValidateField(h),{remove:E,push:N,fields:S,update:I,values:w,replace:M}=ze(h),C=We(h),_=e.computed(()=>r.minOccursOverride!==void 0?r.minOccursOverride:d.value?.minOccurs??1),P=e.computed(()=>r.maxOccursOverride!==void 0?r.maxOccursOverride:d.value?.maxOccurs??1),A=e.computed(()=>P.value===0),Z=e.computed(()=>_.value>=1&&!A.value),$=e.computed(()=>P.value===0?0:1),W=e.computed(()=>P.value>S.value?.length),k=e.computed(()=>r.partOfChoiceField||d.value?.autoAddMinOccurs===!1?S.value?.length>0:S.value?.length>_.value&&S.value?.length>1),q=e.computed(()=>{const g=[],y=c?.value?.messages;return Z.value&&g.push(U("xsd_minOccurs",_.value,y?.minOccurs)),!A.value&&P.value>=_.value&&g.push(U("xsd_maxOccurs",P.value,y?.maxOccurs)),d.value?.validation&&g.push(...Ee(d.value?.validation)),g}),ee=p.useField(h,q,{...d.value?.fieldOptions??{},validateOnValueUpdate:!1}),{label:ie,errors:H,errorMessage:Q,handleBlur:te}=ee,D={label:ie,errors:H,errorMessage:Q,value:w},B=p.useSubmitCount(),T=e.ref(!1),re=e.computed(()=>{if(!T.value)return;const g=c?.value?.validateOnValueUpdateAfterSubmit===!0?B.value>0&&c?.value?.validateOnValueUpdateAfterSubmit:void 0,y=c?.value?.validateWhenInError&&D?.errors.value?.length>0?!0:void 0;return d.value?.fieldOptions?.validateOnValueUpdate??y??g??c?.value?.validateOnValueUpdate});e.watch(w,g=>{C()||(re.value?x():ee.validate({mode:"silent"})),i("update:modelValue",g)},{immediate:!0}),e.watchEffect(()=>{r.partOfChoiceField||d.value?.autoAddMinOccurs!==!1&&(S.value?.length<1||S.value?.length<_.value)&&z()});function z(){N(null),i("update:modelValue",w.value)}function O(g){k.value?E(g??S.value.length-1):M(w.value?.map((y,j)=>j===g?null:y)),i("update:modelValue",w.value)}function b(g,y){T.value||(T.value=!0,re.value&&!C()&&x()),g===void 0&&y>=0&&I(y,void 0),i("update:modelValue",w.value)}return(g,y)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(c)?.analytics?e.withDirectives((e.openBlock(),e.createElementBlock("div",dt,[e.createElementVNode("span",{"data-testid":`${v.value}-analytics-render-count`},e.toDisplayString(e.isRef(o)?++o.value:++o),9,st)],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":D,"slot-props":t.slotProps,settings:e.unref(c),required:Z.value,disabled:A.value,index:t.index,"can-add-items":W.value,"can-remove-items":k.value,"add-item":z,"remove-item":O},{default:e.withCtx(j=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(S)??[],({key:ue},ae)=>(e.openBlock(),e.createBlock(se,{key:ue,"field-metadata":t.fieldMetadata,"path-override":`${v.value}[${ae}]`,index:ae,template:t.template,"slot-props":j,"max-occurs-override":$.value,"can-add-items":W.value,"can-remove-items":k.value,"add-item":z,"remove-item":()=>O(ae),"part-of-array-field":"","is-array-override":"single","onUpdate:modelValue":le=>b(le,ae),"onUpdate:computedField":y[0]||(y[0]=le=>i("update:computedField",le)),onBlur:e.unref(te)},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 Ze(t,a,r){const i=t??{},c=[];return i.minLength!=null&&c.push(U("xsd_minLength",i.minLength,r?.minLength)),i.maxLength!=null&&c.push(U("xsd_maxLength",i.maxLength,r?.maxLength)),i.length!=null&&c.push(U("xsd_length",i.length,r?.length)),i.pattern!=null&&c.push(U("xsd_pattern",i.pattern,r?.pattern)),i.minInclusive!=null&&c.push(U("xsd_minInclusive",i.minInclusive,r?.minInclusive)),i.maxInclusive!=null&&c.push(U("xsd_maxInclusive",i.maxInclusive,r?.maxInclusive)),i.minExclusive!=null&&c.push(U("xsd_minExclusive",i.minExclusive,r?.minExclusive)),i.maxExclusive!=null&&c.push(U("xsd_maxExclusive",i.maxExclusive,r?.maxExclusive)),i.enumeration!=null&&c.push(U("xsd_enumeration",i.enumeration,r?.enumeration)),i.whiteSpace!=null&&c.push(U("xsd_whiteSpace",i.whiteSpace,r?.whiteSpace)),i.fractionDigits!=null&&c.push(U("xsd_fractionDigits",i.fractionDigits,r?.fractionDigits)),i.totalDigits!=null&&c.push(U("xsd_totalDigits",i.totalDigits,r?.totalDigits)),a&&c.push(...Ee(a)),c}function xe(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=>xe(r));const a={};for(const r of Object.keys(t))a[r]=xe(t[r]);return a}const et=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,i=a,c=e.inject(fe),o=e.computed(()=>r.fieldMetadata),d=e.computed(()=>ne(o.value.path??"",r.pathOverride)),v=e.computed(()=>ye(d.value)),h=r.fieldMetadata?.explicitChoiceSelection===!0,x=e.computed(()=>o.value?.preserveOnSwitch===!0),E=e.computed(()=>o.value?.displayOrder==="added"),N=e.computed(()=>o.value?.preserveOrder===!0),S=(o.value?.choice??[]).every(n=>(n.children?.length??0)>0),I=e.computed(()=>N.value&&S),w=p.useFormContext(),M=e.ref(null),C=e.ref({}),_=e.ref(new Map);let P=0;const A=(o.value?.choice??[]).map(n=>p.useFieldValue(()=>n.path?ne(n.path,r.pathOverride):"")),Z=(o.value?.choice??[]).map(n=>e.computed(()=>n.path?ye(ne(n.path,r.pathOverride)):"")),$=Z.map(n=>ze(n)),W=e.computed(()=>r.minOccursOverride!==void 0?r.minOccursOverride:o.value?.minOccurs??1),k=e.computed(()=>r.maxOccursOverride!==void 0?r.maxOccursOverride:o.value?.maxOccurs??1),q=e.computed(()=>k.value===0),ee=e.computed(()=>W.value>=1&&!q.value),ie=e.computed(()=>W.value===0?0:void 0),H=e.computed(()=>k.value===0?0:void 0),Q=e.computed(()=>o.value?.maxOccurs>1?"array":void 0),te=e.computed(()=>`${o.value?.type}${o.value?.maxOccurs>1?"-choice-array":"-choice"}`),D=e.ref({}),B=e.computed(()=>Object.values(D.value).map(n=>n.value)),T=e.computed(()=>!h&&o.value?.choice?.length===1?o.value?.choice[0]:void 0),re=e.computed(()=>{if(H.value===0)return 0;const n=T.value;return n?.maxOccursTotal===void 0?H.value:Math.min(n.maxOccursTotal,n.maxOccurs??1)}),z=e.computed(()=>{const n={};o.value?.choice?.forEach((l,s)=>{n[s]={childValuesCount:0,childOccurrences:0,childMaxOccurrences:1,choiceValuesCount:0,choiceOccurrences:0,overrideChildMaxOccurrences:void 0,overrideChildMinOccurrences:0,maxOccursTotal:l.maxOccursTotal}});const u=k.value??1;if(u===0)return o.value?.choice?.forEach((l,s)=>{n[s].overrideChildMaxOccurrences=0,n[s].overrideChildMinOccurrences=0}),n;for(const[l,s]of Object.entries(D.value??{})){let F=Math.ceil(s.occurrences/s.maxOccurrences);const R=Math.ceil(s.valuesCount/s.maxOccurrences);u*s.maxOccurrences===1&&(F=R),n[l]={childValuesCount:s.valuesCount,childOccurrences:s.occurrences,childMaxOccurrences:s.maxOccurrences,choiceOccurrences:F,choiceValuesCount:R,overrideChildMinOccurrences:s.valuesCount===0?0:void 0,overrideChildMaxOccurrences:void 0,maxOccursTotal:o.value?.choice?.[Number(l)]?.maxOccursTotal}}const m=Object.values(n).reduce((l,s)=>l+s.choiceOccurrences,0);return Object.values(n).forEach(l=>{const F=(m-l.choiceOccurrences)*l.childMaxOccurrences,R=u*l.childMaxOccurrences;let ce=Math.max(R-F,l.childValuesCount);l.maxOccursTotal!==void 0&&(ce=Math.min(ce,l.maxOccursTotal)),l.overrideChildMaxOccurrences=ce}),n}),O=e.computed(()=>Object.values(z.value).reduce((n,u)=>n+u.choiceValuesCount,0)),b=e.computed(()=>{const n=[];return o.value?.choice?.forEach((u,m)=>{if(h&&k.value>1){($[m]?.fields.value??[]).forEach((Re,ve)=>{n.push({branchKey:u.name,index:ve})});return}const l=h&&(u.children?.length??0)===0&&u.presenceValue!==void 0,s=A[m]?.value,F=l?s!==void 0:X(s),R=h&&M.value===u.name;(F||R)&&n.push({branchKey:u.name,index:0})}),n}),g=e.computed(()=>{if(!E.value)return b.value;function n(u){return I.value?Ae(u)?.order:_.value.get(me(u))}return b.value.map(u=>({occurrence:u,sortKey:n(u)})).sort((u,m)=>{const l=u.sortKey!==void 0,s=m.sortKey!==void 0;return l!==s?l?1:-1:l?u.sortKey-m.sortKey:0}).map(u=>u.occurrence)}),y=e.computed(()=>q.value?0:h&&k.value>1?$.reduce((n,u,m)=>{const l=o.value.choice[m].maxOccurs;return n+Math.ceil(u.fields.value.length/l)},0):h?b.value.length:O.value),j=e.computed(()=>h&&k.value===1?Math.max(O.value,b.value.length):h&&k.value>1?Math.max(O.value,y.value):O.value),ue=e.computed(()=>Object.values(z.value).find(n=>n.maxOccursTotal!==void 0&&n.childOccurrences>n.maxOccursTotal)?.maxOccursTotal),ae=e.computed(()=>{const n=c?.value?.messages,u=Ze(o.value?.restriction,o.value?.validation,n);return T.value||q.value||(j.value<W.value&&u.push(U("xsd_choiceMinOccurs",W.value,n?.choiceMinOccurs)),y.value>k.value&&u.push(U("xsd_choiceMaxOccurs",k.value,n?.choiceMaxOccurs)),ue.value!==void 0&&u.push(U("vdf_maxOccursTotal",ue.value,n?.maxOccursTotal))),u.length?u:void 0}),{errors:le,errorMessage:be}=p.useField(v,ae,o.value?.fieldOptions),Fe={label:o.value?.fieldOptions?.label,errors:le,errorMessage:be,value:B};if(e.watch(o,n=>{n&&n.choice?.forEach((u,m)=>{m in D.value||de(void 0,m,u.maxOccurs)})},{immediate:!0}),h){const n=Ke(v);e.watch(n,u=>{u&&(M.value=null,C.value={})})}h&&e.watch(()=>$.map(n=>n.values.value),n=>{k.value<=1||n.forEach((u,m)=>{const l=o.value.choice[m].maxOccurs;de(u,m,l)})},{immediate:!0});function de(n,u,m=1,l=!1){if(l){i("update:modelValue",B.value);return}if(u===void 0)return;let s=Array.isArray(n)?n:[n];(k.value??1)*m===1&&(s=s.filter(ke=>ke!==void 0));const ce=s.length,Re=s.filter(ke=>X(ke)).length,ve=D.value[u]??{};ve.value=n,ve.occurrences=ce,ve.valuesCount=Re,ve.maxOccurrences=m,D.value[u]||(D.value[u]=ve),i("update:modelValue",B.value)}function L(n){return o.value?.choice?.findIndex(u=>u.name===n)??-1}function Oe(n){if(H.value===0)return 0;const u=Y(n);return u?.maxOccursTotal===void 0?H.value:Math.min(u.maxOccursTotal,u.maxOccurs??1)}function Y(n){const u=L(n);return u>=0?o.value?.choice?.[u]:void 0}function oe(n,u={}){const m=L(n);if(m<0)return;const l=o.value?.choice?.[m],s=l?.path?ne(l.path,r.pathOverride):void 0;u.stash?C.value[n]=xe(A[m]?.value??void 0):n in C.value&&delete C.value[n],s&&w?.setFieldValue(s,void 0,!1);const F=D.value[m];F&&(F.value=void 0,F.occurrences=0,F.valuesCount=0)}function Ve(n){if(!x.value||!(n in C.value))return;const u=L(n),m=ne(o.value.choice[u].path,r.pathOverride);w?.setFieldValue(m,C.value[n],!1)}function f(n){if(!K(n))return;const u=L(n);if(k.value>1){const m=$[u]?.fields.value.length??0,l=b.value.length;I.value?$[u]?.push({order:l+1}):$[u]?.push(null),_.value.set(me({branchKey:n,index:m}),++P);return}if(M.value!==n){for(const m of b.value)m.branchKey!==n&&oe(m.branchKey,{stash:x.value});Ve(n),V(n),M.value=n}}function V(n){const u=Y(n);if(!u||u.presenceValue===void 0||(u.children?.length??0)>0)return;const m=L(n);if(A[m]?.value!==void 0)return;const l=u.path?ne(u.path,r.pathOverride):void 0;l&&(w?.setFieldValue(l,u.presenceValue,!1),e.nextTick(()=>{const s=w?.setFieldInitialValue;s?.(l,void 0,!0)}))}function J(n,u){const m=L(n);if(m<0)return;if(k.value>1){const s=$[m]?.fields.value.length??0,F=u??s-1;if(F<0||F>=s)return;const R=me({branchKey:n,index:F});$[m]?.remove(F),_.value.delete(R),I.value&&Ue();return}b.value.some(s=>s.branchKey===n)&&(oe(n),M.value===n&&(M.value=null))}function K(n){if(q.value)return!1;const u=L(n);if(u<0)return!1;if(k.value<=1)return!0;const m=$[u].fields.value.length,l=z.value[u]?.overrideChildMaxOccurrences;return l===void 0||m<l}function G(n){return $[L(n)]}function pe(n){return G(n.branchKey).fields.value[n.index].key}function me(n){return`${n.branchKey}:${pe(n)}`}function we(n){return`${Z[L(n.branchKey)].value}[${n.index}]`}function Ae(n){return G(n.branchKey).fields.value[n.index].value}function Ue(){const n=b.value,u=n.length;n.map((l,s)=>{const F=Ae(l)?.order,R=_.value.get(me(l)),ce=F??(R!==void 0?u+R:s+1);return{occurrence:l,currentOrder:F,sortKey:ce}}).sort((l,s)=>l.sortKey-s.sortKey).forEach(({occurrence:l,currentOrder:s},F)=>{const R=F+1;s!==R&&w?.setFieldValue(`${we(l)}.order`,R,!1)})}function at(){b.value.forEach(n=>{const u=Ae(n);u&&typeof u=="object"&&"order"in u&&w?.setFieldValue(`${we(n)}.order`,void 0,!1)})}const Be=new Map;function nt(n){const u=me(n),m=Be.get(u);if(m)return m;const l=pe(n),s=()=>{const F=G(n.branchKey).fields.value.findIndex(R=>R.key===l);F>=0&&J(n.branchKey,F),Be.delete(u)};return Be.set(u,s),s}const _e=new Map;function it(n){let u=_e.get(n);return u||(u=()=>f(n),_e.set(n,u)),u}const ut=e.computed(()=>I.value&&h&&k.value>1);return e.watch(ut,n=>{n&&Ue()},{immediate:!0}),e.watch(I,(n,u)=>{!h||k.value<=1||!n&&u&&at()}),(n,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{type:te.value,"field-metadata":t.fieldMetadata,"field-context":Fe,"slot-props":t.slotProps,settings:e.unref(c),required:ee.value,index:t.index,disabled:q.value,"can-add-items":t.canAddItems,"can-remove-items":t.canRemoveItems,"add-item":t.addItem,"remove-item":t.removeItem,"add-choice-occurrence":f,"remove-choice-occurrence":J,"can-add-choice-occurrence":K,"active-choice-occurrences":b.value,"used-choice-occurrences":y.value},{default:e.withCtx(m=>[T.value?(e.openBlock(),e.createBlock(se,{key:0,"field-metadata":T.value,"path-override":t.pathOverride,template:t.template,"slot-props":m,"min-occurs-override":ie.value,"max-occurs-override":re.value,"part-of-choice-field":"","onUpdate:modelValue":u[0]||(u[0]=l=>de(l,0,T.value.maxOccurs,!0)),"onUpdate:computedField":u[1]||(u[1]=l=>i("update:computedField",l))},null,8,["field-metadata","path-override","template","slot-props","min-occurs-override","max-occurs-override"])):h&&k.value===1?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(b.value,l=>(e.openBlock(),e.createBlock(se,{key:l.branchKey,"field-metadata":Y(l.branchKey),"path-override":t.pathOverride,index:L(l.branchKey),template:t.template,"slot-props":m,"min-occurs-override":ie.value,"max-occurs-override":Oe(l.branchKey),"is-array-override":Q.value,"part-of-choice-field":"","onUpdate:modelValue":s=>de(s,L(l.branchKey),Y(l.branchKey).maxOccurs),"onUpdate:computedField":u[2]||(u[2]=s=>i("update:computedField",s))},null,8,["field-metadata","path-override","index","template","slot-props","min-occurs-override","max-occurs-override","is-array-override","onUpdate:modelValue"]))),128)):h?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(g.value,(l,s)=>(e.openBlock(),e.createBlock(se,{key:me(l),"field-metadata":Y(l.branchKey),"path-override":we(l),index:l.index,template:t.template,"slot-props":m,"max-occurs-override":1,"is-array-override":"single","part-of-array-field":"","part-of-choice-field":"","branch-key":l.branchKey,"global-index":s,"insertion-order":_.value.get(me(l)),"can-add-items":K(l.branchKey),"add-item":it(l.branchKey),"can-remove-items":!0,"remove-item":nt(l),"onUpdate:computedField":u[3]||(u[3]=F=>i("update:computedField",F))},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(o.value.choice,(l,s)=>(e.openBlock(),e.createBlock(se,{key:l.name,"field-metadata":l,"path-override":t.pathOverride,index:s,template:t.template,"slot-props":m,"min-occurs-override":z.value[s]?.overrideChildMinOccurrences,"max-occurs-override":z.value[s]?.overrideChildMaxOccurrences,"is-array-override":Q.value,"part-of-choice-field":"","onUpdate:modelValue":F=>de(F,s,l.maxOccurs),"onUpdate:computedField":u[4]||(u[4]=F=>i("update:computedField",F))},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 tt(t,a){return t===a||t.startsWith(`${a}.`)||t.startsWith(`${a}[`)}function mt(){const a=e.getCurrentInstance()?.provides;return a&&p.FormContextKey in a?a[p.FormContextKey]:e.inject(p.FormContextKey)}function $e(){const t=mt();async function a(r){const i=t.getAllPathStates().map(v=>v.path).filter(v=>tt(v,r)),c=await Promise.all(i.map(async v=>({path:v,result:await t.validateField(v)}))),o=Object.fromEntries(c.map(({path:v,result:h})=>[v,h])),d=Object.fromEntries(c.filter(({result:v})=>!v.valid).map(({path:v,result:h})=>[v,h.errors[0]??""]));return{valid:c.every(({result:v})=>v.valid),results:o,errors:d,source:"fields"}}return{validateSection:a}}const rt=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,i=a,c=e.inject(fe),{validateSection:o}=$e(),d=e.computed(()=>r.fieldMetadata),v=e.computed(()=>ne(d.value?.path??"",r.pathOverride)),h=e.computed(()=>ye(v.value)),{errors:x,errorMessage:E,value:N}=p.useField(h,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??[]),w=e.computed(()=>I.value.length),M=(()=>{const O=r.fieldMetadata?.wizard,b=typeof O=="object"&&O!==null?O:{};return{allowForwardJump:b.allowForwardJump===!0,validateOnJump:b.validateOnJump!==!1}})(),C=e.ref(0),_=e.ref(!1),P=e.computed(()=>C.value===0),A=e.computed(()=>w.value===0?!0:C.value===w.value-1),Z=e.computed(()=>r.minOccursOverride!==void 0?r.minOccursOverride:d.value?.minOccurs??1),$=e.computed(()=>r.maxOccursOverride!==void 0?r.maxOccursOverride:d.value?.maxOccurs??1),W=e.computed(()=>$.value===0),k=e.computed(()=>Z.value>=1&&!W.value),q=e.computed(()=>{if(r.minOccursOverride===0)return 0;if(!(Z.value>0))return X(N.value)?void 0:0}),ee=e.computed(()=>$.value===0?0:void 0);function ie(){const O=I.value[C.value];return O?.path?ne(O.path,r.pathOverride):void 0}async function H(){const O=ie();if(!O)return!0;_.value=!0;try{return(await o(O)).valid}finally{_.value=!1}}async function Q(){if(w.value===0||A.value)return;if(M.allowForwardJump)return D(C.value+1);const O=C.value;await H()&&C.value===O&&(C.value=O+1)}function te(){w.value===0||C.value===0||C.value--}async function D(O,b){if(w.value===0)return;const g=Math.min(Math.max(O,0),w.value-1),y=C.value;g!==y&&(g>y&&(!(b?.allowForwardJump??M.allowForwardJump)||(b?.validateOnJump??M.validateOnJump)&&(await H(),C.value!==y))||(C.value=g))}function B(O){i("update:computedField",O)}const T=new Map;function re(O,b){const g=b??{},y=T.get(O);return y&&z(y,g)?y:(T.set(O,g),g)}function z(O,b){const g=Object.keys(O),y=Object.keys(b);return g.length===y.length&&g.every(j=>Object.is(O[j],b[j]))}return(O,b)=>(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:k.value,disabled:W.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":C.value,pages:I.value,"page-count":w.value,"is-first":P.value,"is-last":A.value,"is-validating":_.value,"wizard-config":e.unref(M),next:Q,prev:te,"goto-step":D},{default:e.withCtx(g=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,(y,j)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.template),{key:y.path,type:`${y.type}-wizard-page`,"field-metadata":y,"field-context":S,"slot-props":re("wizard",g),settings:e.unref(c),required:!1,disabled:!1,index:j,"is-current":j===C.value,"page-index":j,"current-step-index":C.value,"is-first":P.value,"is-last":A.value,"wizard-config":e.unref(M),next:Q,prev:te,"goto-step":D},{default:e.withCtx(ue=>[e.createVNode(se,{"field-metadata":y,"path-override":t.pathOverride,index:j,template:t.template,"slot-props":re(`page:${y.path}`,ue),"min-occurs-override":q.value,"max-occurs-override":ee.value,"onUpdate:modelValue":b[0]||(b[0]=ae=>i("update:modelValue",ae)),"onUpdate:computedField":B},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 Ce(t,a){if(t===a||Number.isNaN(t)&&Number.isNaN(a))return!0;if(typeof t!="object"||typeof a!="object"||t===null||a===null)return!1;if(t instanceof Date||a instanceof Date)return t instanceof Date&&a instanceof Date&&t.getTime()===a.getTime();if(Array.isArray(t)||Array.isArray(a))return Array.isArray(t)&&Array.isArray(a)&&t.length===a.length&&t.every((o,d)=>Ce(o,a[d]));const r=t,i=a,c=Object.keys(r);return c.length===Object.keys(i).length&&c.every(o=>o in i&&Ce(r[o],i[o]))}function vt(t){const{name:a,path:r,children:i,choice:c,attributes:o,fieldOptions:d,computedProps:v,maxOccurs:h,_hash:x,parent:E,isComplexType:N,computeOnChildValueChange:S,...I}=t,w=Object.fromEntries(Object.entries(I).sort(([M],[C])=>M.localeCompare(C)));return JSON.stringify(w)}const pt={key:0},ft=["data-testid"],Te=100,se=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,i=a,c=e.inject(fe);let o=0,d=0,v;function h(f){if(d++,v==null&&(v=setTimeout(()=>{d=0,v=void 0},0)),d>Te)throw new Error(`[DynamicFormItem] Possible infinite loop detected in computedProps for field "${f}". computedProps recomputed more than ${Te} 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?ne(x.value.path,r.pathOverride):""),N=e.computed(()=>x.value?.isComplexType||x.value?.attributes?.length),S=e.computed(()=>{let f=E.value;if(N.value&&f){const V=c?.value?.complexTypeValueProperty??"value";f=`${f}['${V}']`}return f}),I=e.computed(()=>ye(S.value)),w=e.computed(()=>r.isArrayOverride==="array"?!0:r.isArrayOverride==="single"?!1:(x.value?.maxOccurs??1)>1),M=e.computed(()=>!!x.value?.choice?.length),C=e.ref([]);function _(){return M.value?{value:p.useFieldValue(I)}:w.value?{value:e.ref(void 0)}:p.useField(I,C,{...x.value?.fieldOptions??{},validateOnValueUpdate:!1})}const P=_(),A=P.value,Z=p.useFormContext(),$=We(I);P.hasValue=e.computed(()=>X(A.value));const W=P.handleBlur;P.handleBlur=function(f,V){V=V??c?.value?.validateOnBlur,W(f,V),i("blur",f,V)};const k=P.handleChange;P.handleChange=function(f,V){k(f,V===!0)};const q=e.computed(()=>!!x.value?.wizard),ee=e.computed(()=>!!x.value?.children?.length),ie=e.computed(()=>!w.value&&!M.value&&!ee.value&&!q.value),H=e.ref(!0),Q=e.ref(0),te=e.ref({}),D=e.computed(()=>Object.values(te.value)),B=e.computed(()=>{h(E.value),x.value?.computeOnChildValueChange===!0&&Q.value;const V=(x.value?.computedProps??[]).reduce((J,K)=>(K(J,A,D),J),{...x.value,path:E.value});return V.path=E.value,V.explicitChoiceSelection=x.value?.explicitChoiceSelection,V.preserveOnSwitch=x.value?.preserveOnSwitch,V.wizard=x.value?.wizard,V._hash=vt(V),V}),T=e.computed(()=>r.minOccursOverride!==void 0?r.minOccursOverride:r.partOfArrayField?0:B.value?.minOccurs??1),re=e.computed(()=>r.maxOccursOverride!==void 0?r.maxOccursOverride:B.value?.maxOccurs??1),z=e.computed(()=>re.value===0),O=e.computed(()=>T.value>=1&&!z.value),b=e.computed(()=>{if(r.minOccursOverride===0)return r.minOccursOverride;if(!(T.value>0)&&!X(A.value))return 0}),g=e.computed(()=>re.value===0?0:void 0),y=e.computed(()=>r.partOfArrayField&&X(A.value)?!0:r.canRemoveItems),j=p.useSubmitCount(),ue=e.computed(()=>{const f=c?.value?.validateOnValueUpdateAfterSubmit===!0?j.value>0&&c?.value?.validateOnValueUpdateAfterSubmit:void 0,V=c?.value?.validateWhenInError&&P?.errors.value?.length>0?!0:void 0;return x.value?.fieldOptions?.validateOnValueUpdate??V??f??c?.value?.validateOnValueUpdate}),ae=e.computed(()=>x.value?.attributes?.length&&X(A.value));let le=!1,be={},Fe,de=!1,L;e.watchEffect(()=>{const f=B.value.restriction??{},V=B.value.validation,J=O.value,K=c?.value?.messages;if(le&&Ce(f,be)&&Ce(V,Fe)&&J===de&&K===L)return;le=!0,be=xe(f),Fe=xe(V),de=J,L=K;const G=Ze(f,V,K);J&&G.unshift(U("xsd_required",void 0,K?.required)),C.value=G});let Oe=!1;e.watch(A,f=>{Oe||(Oe=!0,f===""&&(A.value=r.partOfArrayField?null:void 0),Oe=!1)},{flush:"sync"}),e.watch(A,f=>{ie.value&&((!H.value||f)&&(oe(),ue.value&&!$()&&P?.validate()),H.value=!1)},{immediate:!0}),ie.value||e.watch(Q,()=>{$()||P.validate?.({mode:"silent"})}),e.onMounted(()=>{i("update:computedField",B.value),e.watch(()=>B.value._hash,(f,V)=>{f!==V&&i("update:computedField",B.value)})}),e.onBeforeUnmount(()=>{v!=null&&clearTimeout(v),!(r.partOfArrayField||M.value||!(r.partOfAttributeField&&!r.attributeOwnerHasValue?.())&&(x.value?.fieldOptions?.keepValueOnUnmount??e.toValue(Z?.keepValuesOnUnmount)))&&A.value!==void 0&&(A.value=void 0,oe())});function Y(f){!f.path||te.value[f.path]?._hash===f._hash||(te.value[f.path]=f)}function oe(){Q.value++,i("update:modelValue",A.value)}function Ve(f){A.value=f,i("update:modelValue",A.value)}return(f,V)=>{const J=e.resolveComponent("DynamicFormItem",!0);return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(c)?.analytics?e.withDirectives((e.openBlock(),e.createElementBlock("div",pt,[e.createElementVNode("span",{"data-testid":`${E.value}-analytics-render-count`},e.toDisplayString(e.isRef(o)?++o.value:++o),9,ft)],512)),[[e.vShow,!1]]):e.createCommentVNode("",!0),q.value?(e.openBlock(),e.createBlock(rt,e.mergeProps({key:1},r,{"field-metadata":B.value,"onUpdate:modelValue":oe,"onUpdate:computedField":Y}),null,16,["field-metadata"])):M.value?(e.openBlock(),e.createBlock(et,e.mergeProps({key:2},r,{"field-metadata":B.value,"onUpdate:modelValue":oe,"onUpdate:computedField":Y}),null,16,["field-metadata"])):w.value?(e.openBlock(),e.createBlock(Ye,e.mergeProps({key:3},r,{"part-of-choice-field":t.partOfChoiceField,"field-metadata":B.value,"onUpdate:modelValue":Ve,"onUpdate:computedField":Y}),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(P),"slot-props":t.slotProps,settings:e.unref(c),required:O.value,disabled:z.value,index:t.index,"can-add-items":t.canAddItems,"can-remove-items":y.value,"add-item":t.addItem,"remove-item":t.removeItem,"branch-key":t.branchKey,"global-index":t.globalIndex,"insertion-order":t.insertionOrder},{default:e.withCtx(K=>[ee.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(B.value.children,(G,pe)=>(e.openBlock(),e.createBlock(J,{key:G.path,"field-metadata":G,"path-override":S.value,index:pe,template:t.template,"slot-props":K,"min-occurs-override":b.value,"max-occurs-override":g.value,"onUpdate:modelValue":oe,"onUpdate:computedField":Y},null,8,["field-metadata","path-override","index","template","slot-props","min-occurs-override","max-occurs-override"]))),128)):e.createCommentVNode("",!0),ee.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(P),"slot-props":K,settings:e.unref(c),required:O.value,disabled:z.value,index:t.index,"can-add-items":t.canAddItems,"can-remove-items":y.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(K=>[ae.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(B.value.attributes,(G,pe)=>(e.openBlock(),e.createBlock(J,{key:G.path,"field-metadata":G,"path-override":E.value,index:pe,template:t.template,"slot-props":K,"min-occurs-override":b.value,"max-occurs-override":g.value,"part-of-attribute-field":!0,"attribute-owner-has-value":()=>e.unref(X)(e.unref(A)),"onUpdate:modelValue":oe,"onUpdate:computedField":Y},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)}}}),ht=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(fe,a),Le(p.useFormContext());const r=e.computed(()=>Array.isArray(t.metadata)?t.metadata:[t.metadata]),i=e.computed(()=>r.value?.map((d,v)=>o(d,v))??[]),c=e.computed(()=>t.template);function o(d,v,h){if(!d)return d;const x=d.name??`field-${v}`,E=d.path??[h?.path,x].filter(Boolean).join("."),N={name:x,path:E,type:"text",minOccurs:1,maxOccurs:1,...d,computedProps:[...d.computedProps??[]],parent:h};return N.children=(d.children??[]).map((S,I)=>o(S,I,N)),N.choice=(d.choice??[]).map((S,I)=>o(S,I,N)),N.attributes=(d.attributes??[]).map((S,I)=>o(S,I,N)),N}return(d,v)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,h=>(e.openBlock(),e.createBlock(se,{key:h.name,template:c.value,"field-metadata":h},null,8,["template","field-metadata"]))),128))}}),Ot=/-\w/g,yt=xt(t=>t.replace(Ot,a=>a.slice(1).toUpperCase()));function xt(t){const a=Object.create(null);return(r=>a[r]||(a[r]=t(r)))}const gt=e.defineComponent({name:"DynamicFormTemplate",inheritAttrs:!1,__name:"DynamicFormTemplate",props:{metadataConfiguration:{}},setup(t){const a=e.useSlots(),r=e.useAttrs(),i=e.computed(()=>{const o={};for(const[d,v]of Object.entries(r))o[yt(d)]=v;return o}),c=e.computed(()=>{const o=i.value.type;if(o&&a[o])return o;if(o?.endsWith("-input"))return a["default-input"]?"default-input":"default";if(o?.endsWith("-choice-array-item")){if(a["default-choice-array-item"])return"default-choice-array-item";const d=`${o.slice(0,-18)}-array-item`;return a[d]?d:a["default-array-item"]?"default-array-item":"default"}if(o?.endsWith("-choice-array")){if(a["default-choice-array"])return"default-choice-array";const d=`${o.slice(0,-13)}-choice`;return a[d]?d:a["default-choice"]?"default-choice":"default"}return o?.endsWith("-array")?a["default-array"]?"default-array":"default":o?.endsWith("-array-item")?a["default-array-item"]?"default-array-item":"default":o?.endsWith("-choice")?a["default-choice"]?"default-choice":"default":o?.endsWith("-wizard-page")?a["default-wizard-page"]?"default-wizard-page":"default":o?.endsWith("-wizard")&&a["default-wizard"]?"default-wizard":"default"});return(o,d)=>i.value.fieldMetadata?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[i.value.type?.endsWith("-choice-array")?e.renderSlot(o.$slots,c.value,e.normalizeProps(e.guardReactiveProps(i.value)),void 0,void 0,0):i.value.type?.endsWith("-array")?e.renderSlot(o.$slots,c.value,e.normalizeProps(e.guardReactiveProps(i.value)),void 0,void 0,1):i.value.type?.endsWith("-choice")?e.renderSlot(o.$slots,c.value,e.normalizeProps(e.guardReactiveProps(i.value)),void 0,void 0,2):i.value.type?.endsWith("-wizard-page")?e.renderSlot(o.$slots,c.value,e.normalizeProps(e.guardReactiveProps(i.value)),void 0,void 0,3):i.value.type?.endsWith("-wizard")?e.renderSlot(o.$slots,c.value,e.normalizeProps(e.guardReactiveProps(i.value)),void 0,void 0,4):e.renderSlot(o.$slots,c.value,e.normalizeProps(e.guardReactiveProps(i.value)),void 0,void 0,5)],64)):e.createCommentVNode("",!0)}});function bt(){return{fieldTypes:Object.keys({}),extendedProperties:{},slotProperties:{},extendedSettingsProperties:{},valueTypes:{}}}function Ft(t){const a=c=>p.useFieldValue(c),r=p.useForm(t);Le(r);const{validateSection:i}=$e();return{...r,useFieldValue:a,validateSection:i}}function Pe(t,a){return!t||!a||(t=a?.({...t}),t.children=t?.children?.map(r=>Pe(r,a)),t.choice=t?.choice?.map(r=>Pe(r,a))),t}exports._sfc_main=ht;exports._sfc_main$1=se;exports._sfc_main$2=Ye;exports._sfc_main$3=et;exports._sfc_main$4=rt;exports._sfc_main$5=gt;exports.checkTreeHasValue=X;exports.defineMetadata=bt;exports.dynamicFormSettingsKey=fe;exports.isPathInSection=tt;exports.mapEachMetadataItem=Pe;exports.useDynamicForm=Ft;exports.useValidatePartialForm=$e;
2
+ //# sourceMappingURL=mapEachMetadataItem-Dw1U9jf2.cjs.map