@uniquedj95/vform 3.1.4 → 3.3.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/README.md +187 -2
- package/dist/components/inputs/BaseInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/CheckboxInput.vue.d.ts +1 -1
- package/dist/components/inputs/CheckboxInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/DateInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/EmailInput.vue.d.ts +3 -3
- package/dist/components/inputs/EmailInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/NumberInput.vue.d.ts +3 -3
- package/dist/components/inputs/NumberInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/PasswordInput.vue.d.ts +3 -3
- package/dist/components/inputs/PasswordInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/RadioInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/RepeatInput.vue.d.ts +1 -1
- package/dist/components/inputs/RepeatInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/SelectInput.vue.d.ts +19 -12
- package/dist/components/inputs/SelectInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/TextAreaInput.vue.d.ts +1 -1
- package/dist/components/inputs/TextAreaInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/TextInput.vue.d.ts +3 -3
- package/dist/components/inputs/TextInput.vue.d.ts.map +1 -1
- package/dist/components/shared/InputLabel.vue.d.ts.map +1 -1
- package/dist/components/vForm.vue.d.ts.map +1 -1
- package/dist/composables/useDataTransformation.d.ts +1 -1
- package/dist/composables/useDataTransformation.d.ts.map +1 -1
- package/dist/composables/useDependentOptions.d.ts +11 -0
- package/dist/composables/useDependentOptions.d.ts.map +1 -0
- package/dist/composables/useInputProps.d.ts.map +1 -1
- package/dist/composables/useInputValidation.d.ts.map +1 -1
- package/dist/composables/useLabelTemplate.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +594 -510
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/types/index.d.ts +17 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +7 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/vform.css +1 -1
- package/package.json +5 -1
package/dist/index.umd.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
(function(w,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@ionic/vue"),require("ionicons/icons"),require("@maskito/vue")):typeof define=="function"&&define.amd?define(["exports","vue","@ionic/vue","ionicons/icons","@maskito/vue"],e):(w=typeof globalThis<"u"?globalThis:w||self,e(w.VForm={},w.Vue,w.IonicVue,w.IoniconsIcons,w.MaskitoVue))})(this,function(w,e,h,A,J){"use strict";function Q(l){return new Promise(r=>{requestAnimationFrame(async()=>{const a=await l.getInputElement();r(a)})})}const X={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},Y={d:["1","2","3","4","5","6","7","8","9","0"],a:["A","B","C","x","y","z","D","f"],"*":["A","3","b","8","z","4","D","0"]};function $(l,r){const a=Y[l];return a[r%a.length]}function v(l){const r=[];let a="",t=0,o=0;for(;t<l.length;){const n=l[t];if(["d","a","*"].includes(n)){let c=1;if(l[t+1]==="{"){const s=l.indexOf("}",t+2);if(s!==-1){const p=l.slice(t+2,s);if(p.includes(",")){const[,u]=p.split(",").map(f=>parseInt(f.trim()));c=u||parseInt(p.split(",")[0])}else c=parseInt(p);t=s}}else{let s=t+1;for(;l[s]===n;)c++,s++;t=s-1}for(let s=0;s<c;s++)r.push(X[n]),a+=$(n,o++)}else r.push(n),a+=n;t++}return{mask:r,placeholder:a,elementPredicate:Q}}function L(l){return l==null||Array.isArray(l)&&!l.length||typeof l=="object"&&!Object.keys(l).length||!l}function z(l,r,a){return typeof l.condition=="function"?l.condition(r,a):!0}function D(l){if(typeof l!="object"||l===null)return l;if(Array.isArray(l))return l.map(a=>D(a));const r={};return Object.entries(l).forEach(([a,t])=>{typeof t=="function"?r[a]=t.bind(r):r[a]=D(t)}),r}function G(l,r){return r.findIndex(a=>a.value===l.value||a.label===l.label||a.value===l.label||a.label===l.value)}function I(l,r){const a=G(l,r);a>=0?r[a].isChecked=!0:r.push({...l,isChecked:!0})}function P(l,r){const a=G(l,r);a>=0&&(r[a].isChecked=!1)}function ee(l,r){return r?l.filter(a=>JSON.stringify(a).toLowerCase().includes(r.toLowerCase())):l}function K(l){const r=l.label||"",a=l.required?" *":"";return r+a}function q(l,r){if(l===r)return!0;if(l==null||r==null||typeof l!=typeof r)return!1;if(typeof l!="object")return l===r;if(Array.isArray(l)&&Array.isArray(r))return l.length!==r.length?!1:l.every((o,n)=>q(o,r[n]));if(Array.isArray(l)!==Array.isArray(r))return!1;const a=Object.keys(l),t=Object.keys(r);return a.length!==t.length?!1:a.every(o=>Object.prototype.hasOwnProperty.call(r,o)&&q(l[o],r[o]))}function W(){const l=e.ref([]);async function r(){console.debug("Validating form inputs");const n=[];for(const c of l.value)if(typeof(c==null?void 0:c.onValueUpdate)=="function"&&await c.onValueUpdate(),typeof(c==null?void 0:c.getErrors)=="function")try{const s=c.getErrors();Array.isArray(s)?n.push(...s):console.warn("getErrors() returned non-array value:",s)}catch(s){console.error("Error calling getErrors on component:",s,c)}else console.warn("Component does not have getErrors function:",c);return n.every(L)}function a(){l.value.forEach(n=>{typeof(n==null?void 0:n.onReset)=="function"&&n.onReset()})}function t(){const n=[];for(const c of l.value)if(typeof(c==null?void 0:c.getErrors)=="function")try{const s=c.getErrors();Array.isArray(s)?n.push(...s):n.push(String(s))}catch(s){console.error("Error calling getErrors on component:",s,c)}return n}async function o(){for(const n of l.value)typeof(n==null?void 0:n.onValueUpdate)=="function"&&await n.onValueUpdate()}return{dynamicRefs:l,isFormValid:r,resetForm:a,getFormErrors:t,updateFormValues:o}}function te(l){const r=e.computed(()=>Object.entries(l.value).reduce((u,[f,m])=>(m.value!==void 0&&(typeof m.onChange=="function"?u[f]=m.onChange(m.value):u[f]=m.value),u),{})),a=e.ref({}),t=(u,f,m)=>{var i;return typeof((i=l.value[u].children[f])==null?void 0:i.computedValue)=="function"?l.value[u].children[f].computedValue(m,l.value):m},o=(u,f,m,i)=>{a.value[u][i]||(a.value[u][i]={}),Object.entries(f.other??{}).forEach(([V,y])=>{var d;!q(y,(d=m.other)==null?void 0:d[V])&&(a.value[u][i][V]=t(u,V,y))})},n=(u,f,m)=>{f.forEach((i,V)=>{const y=m[V]??{other:{}};o(u,i,y,V)})},c=(u,{other:f})=>Object.entries(f??{}).reduce((m,[i,V])=>(m[i]=t(u,i,V),m),{}),s=(u,f,m)=>{a.value[u]||(a.value[u]=[]);const i=f;Array.isArray(m[u])?n(u,i,m[u]):a.value[u]=i.map(V=>c(u,V))},p=(u,f,m)=>{if(!f){delete a.value[u];return}const i=l.value[u];i.children!==void 0?s(u,f,m):typeof i.computedValue=="function"&&(a.value[u]=i.computedValue(f,l.value))};return e.watch(r,(u,f={})=>{Object.keys(u).forEach(m=>{q(u[m],f[m])||p(m,u[m],f)})},{immediate:!0,deep:!0}),{formData:r,computedData:a}}const le=e.defineComponent({__name:"vForm",props:{schema:{},showLabels:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},buttonPlacement:{default:"start"},submitButtonText:{default:"Submit"},clearButtonText:{default:"Reset"},cancelButtonText:{default:"Cancel"},hideButtons:{type:Boolean,default:!1},customButtons:{}},emits:["submit","clear","cancel"],setup(l,{expose:r,emit:a}){const t=l,o=a,n=e.ref(t.schema),{dynamicRefs:c,isFormValid:s,resetForm:p}=W(),{formData:u,computedData:f}=te(n);async function m(){await s()&&o("submit",u.value,f.value)}function i(){p(),o("clear")}function V(){p(),o("cancel")}return e.watch(u,async()=>{for(const[y,x]of Object.entries(n.value))z(x,u.value,f.value)||(x.value=t.schema[y].value)},{deep:!0,immediate:!0}),e.watch(()=>t.schema,y=>{for(const[x,d]of Object.entries(y))d.value!==void 0&&(n.value[x].value=d.value)},{deep:!0,immediate:!0}),r({resetForm:p,isFormValid:s,resolveData:()=>({formData:u.value,computedData:f.value})}),(y,x)=>(e.openBlock(),e.createBlock(e.unref(h.IonGrid),null,{default:e.withCtx(()=>[e.createVNode(e.unref(h.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(n.value),d=>{var B,b,E,R,F;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(z)(n.value[d],e.unref(u),e.unref(f))?(e.openBlock(),e.createBlock(e.unref(h.IonCol),{key:d,size:((B=n.value[d].grid)==null?void 0:B.xs)??"12","size-sm":(b=n.value[d].grid)==null?void 0:b.sm,"size-md":(E=n.value[d].grid)==null?void 0:E.md,"size-lg":(R=n.value[d].grid)==null?void 0:R.lg,"size-xl":(F=n.value[d].grid)==null?void 0:F.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value[d].type),{modelValue:n.value[d],"onUpdate:modelValue":S=>n.value[d]=S,schema:n.value,ref_for:!0,ref_key:"dynamicRefs",ref:c,"ref-key":d},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:1}),y.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(h.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(h.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:y.buttonPlacement}])},{default:e.withCtx(()=>[y.showCancelButton?(e.openBlock(),e.createBlock(e.unref(h.IonButton),{key:0,onClick:V},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),y.showClearButton?(e.openBlock(),e.createBlock(e.unref(h.IonButton),{key:1,onClick:i},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.customButtons,d=>(e.openBlock(),e.createBlock(e.unref(h.IonButton),{key:d.label,onClick:d.action,color:d.color??"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.label),1)]),_:2},1032,["onClick","color"]))),128)),e.createVNode(e.unref(h.IonButton),{onClick:m},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.submitButtonText??"Submit"),1)]),_:1})]),_:1},8,["style"])]),_:1}))]),_:1}))}});function oe(l){return{applyValidationState:async t=>{var o,n,c,s,p;(o=l.value)==null||o.$el.classList.remove("ion-invalid"),(n=l.value)==null||n.$el.classList.remove("ion-valid"),t?(c=l.value)==null||c.$el.classList.add("ion-valid"):(s=l.value)==null||s.$el.classList.add("ion-invalid"),(p=l.value)==null||p.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,o;(t=l.value)==null||t.$el.classList.remove("ion-touched"),(o=l.value)==null||o.$el.classList.remove("ion-invalid")}}}function T(l,r,a,t,o){const{applyValidationState:n,resetValidationState:c}=oe(l);async function s(){if(r.value.required&&!a.value)return r.value.error="This field is required",!1;if(o){const i=await o(a.value);if(typeof i=="string")return r.value.error=i,!1;if(i===!1)return!1}if(r.value.validation){const i=await r.value.validation(a.value,t==null?void 0:t.value);if(i&&i.length)return r.value.error=i.join(),!1}return!0}async function p(){const i=await s();i&&(r.value.error="",r.value.value=a.value),await n(i)}function u(){c(),r.value.error=""}function f(i=""){a.value=i,r.value.error="",r.value.value=i}function m(){return r.value.error?[r.value.error]:[]}return{isValid:s,onValueUpdate:p,onFocus:u,onReset:f,getErrors:m,applyValidationState:n,resetValidationState:c}}function ne(l){const r=e.computed(()=>!!l.value.label),a=e.computed(()=>!!l.value.required),t=e.computed(()=>l.value.label||"");return{showLabel:r,showRequired:a,labelText:t}}const j=e.defineComponent({__name:"InputLabel",props:{model:{}},setup(l){const r=l,{showLabel:a,showRequired:t,labelText:o}=ne(e.toRef(r,"model"));return(n,c)=>e.unref(a)?(e.openBlock(),e.createBlock(e.unref(h.IonLabel),{key:0,slot:"label",class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(h.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>c[0]||(c[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)}}),M=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:r}){const a=l,t=e.useModel(l,"modelValue"),o=e.ref(null),n=e.ref(t.value.value),c=e.computed(()=>a.schema),{isValid:s,onValueUpdate:p,onFocus:u,onReset:f,getErrors:m}=T(o,t,n,c),i=e.computed(()=>{if(t.value.pattern)return v(t.value.pattern)});return e.watch(()=>t.value.value,V=>n.value=V),r({onValueUpdate:p,onReset:f,getErrors:m,isValid:s}),(V,y)=>{var d;const x=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(h.IonInput),{ref_key:"inputRef",ref:o,modelValue:n.value,"onUpdate:modelValue":y[0]||(y[0]=B=>n.value=B),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:V.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:((d=i.value)==null?void 0:d.placeholder)??t.value.placeholder,disabled:t.value.disabled,counter:t.value.counter,min:t.value.min,max:t.value.max,"max-length":t.value.maxLength,"min-length":t.value.minLength,pattern:t.value.pattern,onIonFocus:e.unref(u),onIonChange:e.unref(p),onIonBlur:e.unref(p)},{default:e.withCtx(()=>[e.createVNode(j,{model:t.value},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(h.IonLabel),{key:0,slot:"start"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.prefix),1)]),_:1})):e.createCommentVNode("",!0),t.value.suffix?(e.openBlock(),e.createBlock(e.unref(h.IonLabel),{key:1,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),V.type==="password"?(e.openBlock(),e.createBlock(e.unref(h.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter","min","max","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"])),[[x,i.value]])}}}),ae=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:r}){const a=e.useModel(l,"modelValue"),t=e.ref(null);return r({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,n;return((n=(o=t.value)==null?void 0:o.getErrors)==null?void 0:n.call(o))??[]}}),(o,n)=>(e.openBlock(),e.createBlock(M,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value=c),type:"text",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),re=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:r}){const a=e.useModel(l,"modelValue"),t=e.ref(null);return r({onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},getErrors:()=>{var o,n;return((n=(o=t.value)==null?void 0:o.getErrors)==null?void 0:n.call(o))??[]}}),(o,n)=>(e.openBlock(),e.createBlock(M,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value=c),type:a.value.enableTime?"datetime-local":"date",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","type","schema"]))}}),se=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:r}){const a=e.useModel(l,"modelValue"),t=e.ref(null);return r({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,n;return((n=(o=t.value)==null?void 0:o.getErrors)==null?void 0:n.call(o))??[]}}),(o,n)=>(e.openBlock(),e.createBlock(M,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value=c),type:"number",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ce=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:r}){const a=e.useModel(l,"modelValue"),t=e.ref(null);return r({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,n;return((n=(o=t.value)==null?void 0:o.getErrors)==null?void 0:n.call(o))??[]}}),(o,n)=>(e.openBlock(),e.createBlock(M,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value=c),type:"email",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ie=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:r}){const a=e.useModel(l,"modelValue"),t=e.ref(null);return r({onReset:()=>{var o;return(o=t.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=t.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o,n;return((n=(o=t.value)==null?void 0:o.getErrors)==null?void 0:n.call(o))??[]}}),(o,n)=>(e.openBlock(),e.createBlock(M,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value=c),type:"password",schema:o.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ue=e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:r}){const a=l,t=e.useModel(l,"modelValue"),o=e.ref(null),n=e.ref(null),c=e.ref(!1),s=e.ref([]),p=e.ref(""),u=e.ref(1),f=e.computed(()=>t.value.interface??"popover"),m=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),i=e.computed(()=>s.value.filter(k=>!!k.isChecked)),V=e.computed(()=>!p.value&&L(i.value)&&!c.value?t.value.placeholder??"Select an option":"");e.watch([p,()=>t.value.options],O,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,Ve,{immediate:!0,deep:!0});function y(){s.value.forEach(k=>P(k,s.value)),t.value.error="",p.value="",u.value=1,t.value.value=t.value.multiple?[]:""}function x(k){if(k.isChecked)return P(k,s.value);t.value.multiple?I(k,s.value):(y(),I(k,s.value),N()),p.value=""}function d(){switch(f.value){case"action-sheet":B();break;case"alert":b();break;case"popover":default:c.value=!0;break}}async function B(){if(await O(),t.value.multiple){c.value=!0;return}await(await h.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...s.value.map(C=>({text:C.label,cssClass:C.isChecked?"selected-option":"",handler:()=>(x(C),!1)})),{text:"Cancel",role:"cancel"}]})).present()}async function b(){await O();const k=s.value.map(g=>({label:g.label,type:t.value.multiple?"checkbox":"radio",value:g,checked:g.isChecked}));await(await h.alertController.create({header:t.value.label||"Select an option",inputs:k,buttons:[{text:"Cancel",role:"cancel"},{text:"OK",handler:g=>{if(t.value.multiple)s.value.forEach(_=>P(_,s.value)),g.forEach(_=>{const U=s.value.find(ge=>ge.value===_.value);U&&I(U,s.value)});else{y();const _=s.value.find(U=>U.value===g.value);_&&I(_,s.value)}N()}}]})).present()}async function E(){if(t.value.required&&L(i.value))return"This field is required";if(t.value.validation){const k=await t.value.validation(i.value,a==null?void 0:a.schema);if(k&&k.length)return k.join()}return!0}const{onFocus:R,applyValidationState:F}=T(o,t,e.computed(()=>t.value.multiple?i.value:i.value[0]),e.computed(()=>a==null?void 0:a.schema),E);function S(k){var C;k.target===((C=o.value)==null?void 0:C.$el)&&(R(),f.value==="popover"&&(c.value=!0))}async function N(k){var g;if((g=k==null?void 0:k.relatedTarget)!=null&&g.closest(".suggestions-list"))return;c.value=!1;const C=await E();C===!0?(t.value.error="",t.value.value=t.value.multiple?i.value:i.value[0]):t.value.error=typeof C=="string"?C:"Validation failed",await F(C===!0)}async function O(){const k=[];if(typeof t.value.options=="function"){const C=await t.value.options(p.value);k.push(...C.filter(g=>!!g.label))}else k.push(...ee(t.value.options??[],p.value));i.value.forEach(C=>I(C,k)),s.value=k}function Ve(){const k=t.value.value;k&&(Array.isArray(k)?k.forEach(C=>I(C,s.value)):I(typeof k=="object"?k:{value:k,label:k},s.value))}return r({onValueUpdate:N,onReset:y,getErrors:()=>t.value.error?[t.value.error]:[]}),(k,C)=>(e.openBlock(),e.createElementBlock("div",{class:"autocomplete-container",onFocusout:N,ref_key:"containerRef",ref:n},[e.createVNode(e.unref(h.IonInput),{ref_key:"inputRef",ref:o,modelValue:p.value,"onUpdate:modelValue":C[0]||(C[0]=g=>p.value=g),fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:k.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:V.value,disabled:t.value.disabled,counter:t.value.counter,onIonFocus:S,debounce:300,onClick:d},{default:e.withCtx(()=>[e.createVNode(j,{model:t.value},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(h.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(g,_)=>(e.openBlock(),e.createBlock(e.unref(h.IonChip),{key:_},{default:e.withCtx(()=>[e.createVNode(e.unref(h.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(h.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var g;return[e.createTextVNode(e.toDisplayString(((g=i.value[0])==null?void 0:g.label)??""),1)]}),_:1})),e.createVNode(e.unref(h.IonIcon),{slot:"end",icon:e.unref(A.chevronDown)},null,8,["icon"]),i.value.length>0||p.value?(e.openBlock(),e.createBlock(e.unref(h.IonIcon),{key:2,slot:"end",icon:e.unref(A.close),onClick:y,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),c.value&&s.value.length>0&&f.value==="popover"?(e.openBlock(),e.createBlock(e.unref(h.IonList),{key:0,class:e.normalizeClass(["suggestions-list",m.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,g=>(e.openBlock(),e.createBlock(e.unref(h.IonItem),{button:"",key:g.label,onClick:_=>x(g)},{default:e.withCtx(()=>[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(h.IonCheckbox),{key:0,slot:"start",checked:g.isChecked},null,8,["checked"])):e.createCommentVNode("",!0),e.createVNode(e.unref(h.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],544))}}),Z=(l,r)=>{const a=l.__vccOpts||l;for(const[t,o]of r)a[t]=o;return a},de=Z(ue,[["__scopeId","data-v-e2c4eed6"]]),fe=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:r}){const a=l,t=e.useModel(l,"modelValue"),o=e.ref(null),n=e.ref(t.value.value),c=e.computed(()=>a.schema),{onValueUpdate:s,onFocus:p,onReset:u,getErrors:f}=T(o,t,n,c);return e.watch(()=>t.value.value,m=>n.value=m),r({onReset:u,onValueUpdate:s,getErrors:f}),(m,i)=>(e.openBlock(),e.createBlock(e.unref(h.IonTextarea),{ref_key:"inputRef",ref:o,modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=V=>n.value=V),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:t.value.placeholder,disabled:t.value.disabled,counter:t.value.counter,min:t.value.min,max:t.value.max,rows:t.value.rows,cols:t.value.cols,"auto-grow":t.value.autoGrow,"max-length":t.value.maxLength,"min-length":t.value.minLength,pattern:t.value.pattern,onIonFocus:e.unref(p),onIonChange:e.unref(s),onIonBlur:e.unref(s)},{default:e.withCtx(()=>[e.createVNode(j,{model:t.value},null,8,["model"])]),_:1},8,["modelValue","fill","label-placement","required","error-text","autofocus","placeholder","disabled","counter","min","max","rows","cols","auto-grow","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"]))}}),me={class:"ion-margin-end",style:{"flex-grow":"1"}},pe={style:{display:"flex","justify-content":"flex-end"}},he=Z(e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:r}){const a=e.useModel(l,"modelValue"),t=e.ref([]),{dynamicRefs:o,resetForm:n,getFormErrors:c,updateFormValues:s}=W(),p=e.computed(()=>t.value.map((y,x)=>({label:`Set ${x+1}`,value:x,other:Object.entries(y).reduce((d,[B,b])=>(d[B]=b.value,d),{})})));e.watch(p,y=>{a.value.value=y},{deep:!0,immediate:!0}),e.onMounted(u);function u(){a.value.children&&t.value.push(D(a.value.children))}function f(y){t.value.splice(y,1)}function m(){n()}function i(){return c()}async function V(){await s()}return r({onValueUpdate:V,onReset:m,getErrors:i}),(y,x)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(d,B)=>(e.openBlock(),e.createElementBlock("div",{class:"repeat-input-wrapper",key:B},[e.createElementVNode("div",me,[e.createVNode(e.unref(h.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(d),b=>{var E,R,F,S,N;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(z)(d[b],y.data,y.computedData)?(e.openBlock(),e.createBlock(e.unref(h.IonCol),{key:`${B}-${b}`,size:((E=d[b].grid)==null?void 0:E.xs)??"12","size-sm":(R=d[b].grid)==null?void 0:R.sm,"size-md":(F=d[b].grid)==null?void 0:F.md,"size-lg":(S=d[b].grid)==null?void 0:S.lg,"size-xl":(N=d[b].grid)==null?void 0:N.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d[b].type),{modelValue:d[b],"onUpdate:modelValue":O=>d[b]=O,schema:d,"ref-key":`${B}-${b}`,ref_for:!0,ref_key:"dynamicRefs",ref:o},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:2},1024)]),e.createElementVNode("div",pe,[B===t.value.length-1?(e.openBlock(),e.createBlock(e.unref(h.IonButton),{key:0,onClick:u,color:"primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(h.IonIcon),{slot:"icon-only",icon:e.unref(A.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),t.value.length>1?(e.openBlock(),e.createBlock(e.unref(h.IonButton),{key:1,onClick:b=>f(B),color:"warning"},{default:e.withCtx(()=>[e.createVNode(e.unref(h.IonIcon),{slot:"icon-only",icon:e.unref(A.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]))),128))}}),[["__scopeId","data-v-402695fe"]]),ye=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:r}){const a=l,t=e.useModel(l,"modelValue"),o=e.ref(null),n=e.ref(t.value.value),c=e.computed(()=>a.schema),s=e.computed(()=>K(t.value)),{onValueUpdate:p,onFocus:u,getErrors:f}=T(o,t,n,c);function m(){n.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,i=>n.value=i),r({onValueUpdate:p,onReset:m,getErrors:f}),(i,V)=>(e.openBlock(),e.createBlock(e.unref(h.IonCheckbox),{modelValue:n.value,"onUpdate:modelValue":V[0]||(V[0]=y=>n.value=y),ref_key:"inputRef",ref:o,required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(u),onIonChange:e.unref(p),onIonBlur:e.unref(p)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.value),1)]),_:1},8,["modelValue","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),ke=e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:r}){const a=l,t=e.useModel(l,"modelValue"),o=e.ref(null),n=e.ref(t.value.value),c=e.computed(()=>a.schema),s=e.ref([]),p=e.computed(()=>K(t.value)),{onValueUpdate:u,onFocus:f,getErrors:m}=T(o,t,n,c);function i(){t.value.error="",n.value=void 0,t.value.value=void 0}function V(x,d){return x.value===d.value}async function y(){typeof t.value.options=="function"?s.value=await t.value.options():s.value=t.value.options}return e.watch(()=>t.value.value,x=>n.value=x),r({onValueUpdate:u,onReset:i,getErrors:m}),e.onMounted(y),(x,d)=>(e.openBlock(),e.createBlock(e.unref(h.IonRadioGroup),{modelValue:n.value,"onUpdate:modelValue":d[0]||(d[0]=B=>n.value=B),ref_key:"inputRef",ref:o,required:t.value.required,"helper-text":p.value,"error-text":t.value.error,disabled:t.value.disabled,compareWith:V,"allow-empty-selection":!t.value.required,onIonFocus:e.unref(f),onIonChange:e.unref(u),onIonBlur:e.unref(u)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,B=>(e.openBlock(),e.createBlock(e.unref(h.IonRadio),{key:B.value,value:B,disabled:t.value.disabled,"label-placement":"end",justify:"start"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.label),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue","required","helper-text","error-text","disabled","allow-empty-selection","onIonFocus","onIonChange","onIonBlur"]))}}),H={install(l){l.component("VForm",le),l.component("TextInput",ae),l.component("DateInput",re),l.component("NumberInput",se),l.component("EmailInput",ce),l.component("PasswordInput",ie),l.component("SelectInput",de),l.component("TextAreaInput",fe),l.component("RepeatInput",he),l.component("CheckboxInput",ye),l.component("RadioInput",ke),l.directive("maskito",J.maskito)}};w.VForm=H,w.default=H,Object.defineProperties(w,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
1
|
+
(function(w,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@ionic/vue"),require("ionicons/icons"),require("@maskito/vue")):typeof define=="function"&&define.amd?define(["exports","vue","@ionic/vue","ionicons/icons","@maskito/vue"],e):(w=typeof globalThis<"u"?globalThis:w||self,e(w.VForm={},w.Vue,w.IonicVue,w.IoniconsIcons,w.MaskitoVue))})(this,function(w,e,k,L,X){"use strict";function Y(n){return new Promise(r=>{requestAnimationFrame(async()=>{const a=await n.getInputElement();r(a)})})}const $={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},ee={d:["1","2","3","4","5","6","7","8","9","0"],a:["A","B","C","x","y","z","D","f"],"*":["A","3","b","8","z","4","D","0"]};function te(n,r){const a=ee[n];return a[r%a.length]}function ne(n){const r=[];let a="",t=0,l=0;for(;t<n.length;){const o=n[t];if(["d","a","*"].includes(o)){let u=1;if(n[t+1]==="{"){const i=n.indexOf("}",t+2);if(i!==-1){const y=n.slice(t+2,i);if(y.includes(",")){const[,d]=y.split(",").map(c=>parseInt(c.trim()));u=d||parseInt(y.split(",")[0])}else u=parseInt(y);t=i}}else{let i=t+1;for(;n[i]===o;)u++,i++;t=i-1}for(let i=0;i<u;i++)r.push($[o]),a+=te(o,l++)}else r.push(o),a+=o;t++}return{mask:r,placeholder:a,elementPredicate:Y}}function D(n){return n==null||Array.isArray(n)&&!n.length||typeof n=="object"&&!Object.keys(n).length||!n}function z(n,r,a){return typeof n.condition=="function"?n.condition(r,a):!0}function j(n){if(typeof n!="object"||n===null)return n;if(Array.isArray(n))return n.map(a=>j(a));const r={};return Object.entries(n).forEach(([a,t])=>{typeof t=="function"?r[a]=t.bind(r):r[a]=j(t)}),r}function G(n,r){return r.findIndex(a=>a.value===n.value||a.label===n.label||a.value===n.label||a.label===n.value)}function E(n,r){const a=G(n,r);a>=0?r[a].isChecked=!0:r.push({...n,isChecked:!0})}function H(n,r){const a=G(n,r);a>=0&&(r[a].isChecked=!1)}function le(n){n.forEach(r=>{r.isChecked=!1})}function oe(n,r){return r?n.filter(a=>JSON.stringify(a).toLowerCase().includes(r.toLowerCase())):n}function K(n){const r=n.label||"",a=n.required?" *":"";return r+a}function M(n,r){if(n===r)return!0;if(n==null||r==null||typeof n!=typeof r)return!1;if(typeof n!="object")return n===r;if(Array.isArray(n)&&Array.isArray(r))return n.length!==r.length?!1:n.every((l,o)=>M(l,r[o]));if(Array.isArray(n)!==Array.isArray(r))return!1;const a=Object.keys(n),t=Object.keys(r);return a.length!==t.length?!1:a.every(l=>Object.prototype.hasOwnProperty.call(r,l)&&M(n[l],r[l]))}function P(){const n=e.ref([]);async function r(){console.debug("Validating form inputs");const o=[];for(const u of n.value)if(typeof(u==null?void 0:u.onValueUpdate)=="function"&&await u.onValueUpdate(),typeof(u==null?void 0:u.getErrors)=="function")try{const i=u.getErrors();Array.isArray(i)?o.push(...i):console.warn("getErrors() returned non-array value:",i)}catch(i){console.error("Error calling getErrors on component:",i,u)}else console.warn("Component does not have getErrors function:",u);return o.every(D)}function a(){n.value.forEach(o=>{typeof(o==null?void 0:o.onReset)=="function"&&o.onReset()})}function t(){const o=[];for(const u of n.value)if(typeof(u==null?void 0:u.getErrors)=="function")try{const i=u.getErrors();Array.isArray(i)?o.push(...i):o.push(String(i))}catch(i){console.error("Error calling getErrors on component:",i,u)}return o}async function l(){for(const o of n.value)typeof(o==null?void 0:o.onValueUpdate)=="function"&&await o.onValueUpdate()}return{dynamicRefs:n,isFormValid:r,resetForm:a,getFormErrors:t,updateFormValues:l}}function W(n){const r=e.computed(()=>Object.entries(n.value).reduce((d,[c,f])=>(f.value!==void 0&&(typeof f.onChange=="function"?d[c]=f.onChange(f.value,n.value):d[c]=f.value),d),{})),a=e.ref({}),t=(d,c,f)=>{var s;return typeof((s=n.value[d].children[c])==null?void 0:s.computedValue)=="function"?n.value[d].children[c].computedValue(f,n.value):f},l=(d,c,f,s)=>{a.value[d][s]||(a.value[d][s]={}),Object.entries(c.other??{}).forEach(([m,h])=>{var p;!M(h,(p=f.other)==null?void 0:p[m])&&(a.value[d][s][m]=t(d,m,h))})},o=(d,c,f)=>{c.forEach((s,m)=>{const h=f[m]??{other:{}};l(d,s,h,m)})},u=(d,{other:c})=>Object.entries(c??{}).reduce((f,[s,m])=>(f[s]=t(d,s,m),f),{}),i=(d,c,f)=>{a.value[d]||(a.value[d]=[]);const s=c;Array.isArray(f[d])?o(d,s,f[d]):a.value[d]=s.map(m=>u(d,m))},y=(d,c,f)=>{if(!c){delete a.value[d];return}const s=n.value[d];s.children!==void 0?i(d,c,f):typeof s.computedValue=="function"&&(a.value[d]=s.computedValue(c,n.value))};return e.watch(r,(d,c={})=>{Object.keys(d).forEach(f=>{M(d[f],c[f])||y(f,d[f],c)}),Object.keys(c).forEach(f=>{!(f in d)&&f in a.value&&delete a.value[f]})},{immediate:!0,deep:!0}),{formData:r,computedData:a}}const ae=e.defineComponent({__name:"vForm",props:{schema:{},showLabels:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},buttonPlacement:{default:"start"},submitButtonText:{default:"Submit"},clearButtonText:{default:"Reset"},cancelButtonText:{default:"Cancel"},hideButtons:{type:Boolean,default:!1},customButtons:{}},emits:["submit","clear","cancel"],setup(n,{expose:r,emit:a}){const t=n,l=a,o=e.ref(t.schema),{dynamicRefs:u,isFormValid:i,resetForm:y}=P(),{formData:d,computedData:c}=W(o);async function f(){await i()&&l("submit",d.value,c.value)}function s(){y(),l("clear")}function m(){y(),l("cancel")}return e.watch(d,async()=>{for(const[h,g]of Object.entries(o.value))z(g,d.value,c.value)||(g.value=t.schema[h].value)},{deep:!0,immediate:!0}),e.watch(()=>t.schema,h=>{for(const[g,p]of Object.entries(h))p.value!==void 0&&(o.value[g].value=p.value)},{deep:!0,immediate:!0}),r({resetForm:y,isFormValid:i,resolveData:()=>({formData:d.value,computedData:c.value})}),(h,g)=>(e.openBlock(),e.createBlock(e.unref(k.IonGrid),null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(o.value),p=>{var x,b,I,O,F;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(z)(o.value[p],e.unref(d),e.unref(c))?(e.openBlock(),e.createBlock(e.unref(k.IonCol),{key:p,size:((x=o.value[p].grid)==null?void 0:x.xs)??"12","size-sm":(b=o.value[p].grid)==null?void 0:b.sm,"size-md":(I=o.value[p].grid)==null?void 0:I.md,"size-lg":(O=o.value[p].grid)==null?void 0:O.lg,"size-xl":(F=o.value[p].grid)==null?void 0:F.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value[p].type),{modelValue:o.value[p],"onUpdate:modelValue":T=>o.value[p]=T,schema:o.value,"form-id":p,ref_for:!0,ref_key:"dynamicRefs",ref:u,"ref-key":p},null,8,["modelValue","onUpdate:modelValue","schema","form-id","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:1}),h.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(k.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(k.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:h.buttonPlacement}])},{default:e.withCtx(()=>[h.showCancelButton?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:0,onClick:m},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),h.showClearButton?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:1,onClick:s},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.customButtons,p=>(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:p.label,onClick:p.action,color:p.color??"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.label),1)]),_:2},1032,["onClick","color"]))),128)),e.createVNode(e.unref(k.IonButton),{onClick:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.submitButtonText??"Submit"),1)]),_:1})]),_:1},8,["style"])]),_:1}))]),_:1}))}});function re(n){return{applyValidationState:async t=>{var l,o,u,i,y;(l=n.value)==null||l.$el.classList.remove("ion-invalid"),(o=n.value)==null||o.$el.classList.remove("ion-valid"),t?(u=n.value)==null||u.$el.classList.add("ion-valid"):(i=n.value)==null||i.$el.classList.add("ion-invalid"),(y=n.value)==null||y.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,l;(t=n.value)==null||t.$el.classList.remove("ion-touched"),(l=n.value)==null||l.$el.classList.remove("ion-invalid")}}}function S(n,r,a,t,l){const{applyValidationState:o,resetValidationState:u}=re(n);async function i(){if(r.value.required&&!a.value)return r.value.error="This field is required",!1;if(l){const s=await l(a.value);if(typeof s=="string")return r.value.error=s,!1;if(s===!1)return!1}if(r.value.validation){const s=await r.value.validation(a.value,t==null?void 0:t.value);if(s&&s.length)return r.value.error=s.join(),!1}return!0}async function y(){const s=await i();s&&(r.value.error="",r.value.value=a.value),await o(s)}function d(){u(),r.value.error=""}function c(s=""){a.value=s,r.value.error="",r.value.value=s}function f(){return r.value.error?[r.value.error]:[]}return{isValid:i,onValueUpdate:y,onFocus:d,onReset:c,getErrors:f,applyValidationState:o,resetValidationState:u}}function se(n){const r=e.computed(()=>!!n.value.label),a=e.computed(()=>!!n.value.required),t=e.computed(()=>n.value.label||"");return{showLabel:r,showRequired:a,labelText:t}}const v=e.defineComponent({__name:"InputLabel",props:{model:{}},setup(n){const r=n,{showLabel:a,showRequired:t,labelText:l}=se(e.toRef(r,"model"));return(o,u)=>e.unref(a)?(e.openBlock(),e.createBlock(e.unref(k.IonLabel),{key:0,slot:"label",class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(k.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>u[0]||(u[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)}}),q=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(n,{expose:r}){const a=n,t=e.useModel(n,"modelValue"),l=e.ref(null),o=e.ref(t.value.value),u=e.computed(()=>a.schema),{isValid:i,onValueUpdate:y,onFocus:d,onReset:c,getErrors:f}=S(l,t,o,u),s=e.computed(()=>{if(t.value.pattern)return ne(t.value.pattern)});return e.watch(()=>t.value.value,m=>o.value=m),r({onValueUpdate:y,onReset:c,getErrors:f,isValid:i}),(m,h)=>{var p;const g=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(k.IonInput),{ref_key:"inputRef",ref:l,modelValue:o.value,"onUpdate:modelValue":h[0]||(h[0]=x=>o.value=x),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:m.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:((p=s.value)==null?void 0:p.placeholder)??t.value.placeholder,disabled:t.value.disabled,counter:t.value.counter,min:t.value.min,max:t.value.max,"max-length":t.value.maxLength,"min-length":t.value.minLength,pattern:t.value.pattern,onIonFocus:e.unref(d),onIonChange:e.unref(y),onIonBlur:e.unref(y)},{default:e.withCtx(()=>[e.createVNode(v,{model:t.value},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(k.IonLabel),{key:0,slot:"start"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.prefix),1)]),_:1})):e.createCommentVNode("",!0),t.value.suffix?(e.openBlock(),e.createBlock(e.unref(k.IonLabel),{key:1,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),m.type==="password"?(e.openBlock(),e.createBlock(e.unref(k.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter","min","max","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"])),[[g,s.value]])}}}),ce=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(n,{expose:r}){const a=e.useModel(n,"modelValue"),t=e.ref(null);return r({onReset:()=>{var l;return(l=t.value)==null?void 0:l.onReset()},onValueUpdate:()=>{var l;return(l=t.value)==null?void 0:l.onValueUpdate()},getErrors:()=>{var l,o;return((o=(l=t.value)==null?void 0:l.getErrors)==null?void 0:o.call(l))??[]}}),(l,o)=>(e.openBlock(),e.createBlock(q,{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=u=>a.value=u),type:"text",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ie=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(n,{expose:r}){const a=e.useModel(n,"modelValue"),t=e.ref(null);return r({onValueUpdate:()=>{var l;return(l=t.value)==null?void 0:l.onValueUpdate()},onReset:()=>{var l;return(l=t.value)==null?void 0:l.onReset()},getErrors:()=>{var l,o;return((o=(l=t.value)==null?void 0:l.getErrors)==null?void 0:o.call(l))??[]}}),(l,o)=>(e.openBlock(),e.createBlock(q,{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=u=>a.value=u),type:a.value.enableTime?"datetime-local":"date",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","type","schema"]))}}),ue=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(n,{expose:r}){const a=e.useModel(n,"modelValue"),t=e.ref(null);return r({onReset:()=>{var l;return(l=t.value)==null?void 0:l.onReset()},onValueUpdate:()=>{var l;return(l=t.value)==null?void 0:l.onValueUpdate()},getErrors:()=>{var l,o;return((o=(l=t.value)==null?void 0:l.getErrors)==null?void 0:o.call(l))??[]}}),(l,o)=>(e.openBlock(),e.createBlock(q,{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=u=>a.value=u),type:"number",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),de=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(n,{expose:r}){const a=e.useModel(n,"modelValue"),t=e.ref(null);return r({onReset:()=>{var l;return(l=t.value)==null?void 0:l.onReset()},onValueUpdate:()=>{var l;return(l=t.value)==null?void 0:l.onValueUpdate()},getErrors:()=>{var l,o;return((o=(l=t.value)==null?void 0:l.getErrors)==null?void 0:o.call(l))??[]}}),(l,o)=>(e.openBlock(),e.createBlock(q,{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=u=>a.value=u),type:"email",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),fe=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(n,{expose:r}){const a=e.useModel(n,"modelValue"),t=e.ref(null);return r({onReset:()=>{var l;return(l=t.value)==null?void 0:l.onReset()},onValueUpdate:()=>{var l;return(l=t.value)==null?void 0:l.onValueUpdate()},getErrors:()=>{var l,o;return((o=(l=t.value)==null?void 0:l.getErrors)==null?void 0:o.call(l))??[]}}),(l,o)=>(e.openBlock(),e.createBlock(q,{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=u=>a.value=u),type:"password",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),pe=e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:Object,type:String,formId:String},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(n,{expose:r}){const a=n,t=e.useModel(n,"modelValue"),l=e.ref(null),o=e.ref(null),u=e.ref(!1),i=e.ref([]),y=e.ref(""),d=e.ref(1),c=e.computed(()=>t.value.interface??"popover"),f=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),s=e.computed(()=>i.value.filter(V=>!!V.isChecked)),m=e.computed(()=>!y.value&&D(s.value)&&!u.value?t.value.placeholder??"Select an option":"");e.watch([y,()=>t.value.options],N,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,xe,{immediate:!0,deep:!0}),e.watch(()=>!t.value.dependsOn||!a.schema?null:(Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn]).map(C=>{var B;return(B=a.schema[C])==null?void 0:B.value}),async(V,C)=>{V&&C&&!M(V,C)&&(h(),i.value=[],await N())},{deep:!0});function h(){t.value.error="",y.value="",d.value=1,t.value.value=t.value.multiple?[]:"",le(i.value)}function g(V){if(V.isChecked)return H(V,i.value);t.value.multiple?E(V,i.value):(h(),E(V,i.value),R()),y.value=""}function p(){switch(c.value){case"action-sheet":x();break;case"alert":b();break;case"popover":default:u.value=!0;break}}async function x(){if(await N(),t.value.multiple){u.value=!0;return}await(await k.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...i.value.map(C=>({text:C.label,cssClass:C.isChecked?"selected-option":"",handler:()=>(g(C),!1)})),{text:"Cancel",role:"cancel"}]})).present()}async function b(){await N();const V=i.value.map(B=>({label:B.label,type:t.value.multiple?"checkbox":"radio",value:B,checked:B.isChecked}));await(await k.alertController.create({header:t.value.label||"Select an option",inputs:V,buttons:[{text:"Cancel",role:"cancel"},{text:"OK",handler:B=>{if(t.value.multiple)i.value.forEach(_=>H(_,i.value)),B.forEach(_=>{const A=i.value.find(U=>U.value===_.value);A&&E(A,i.value)});else{h();const _=i.value.find(A=>A.value===B.value);_&&E(_,i.value)}R()}}]})).present()}async function I(){if(t.value.required&&D(s.value))return"This field is required";if(t.value.validation){const V=await t.value.validation(s.value,a==null?void 0:a.schema);if(V&&V.length)return V.join()}return!0}const{onFocus:O,applyValidationState:F}=S(l,t,e.computed(()=>t.value.multiple?s.value:s.value[0]),e.computed(()=>a==null?void 0:a.schema),I);function T(V){var C;V.target===((C=l.value)==null?void 0:C.$el)&&(O(),c.value==="popover"&&(u.value=!0))}async function R(V){var B;if((B=V==null?void 0:V.relatedTarget)!=null&&B.closest(".suggestions-list"))return;u.value=!1;const C=await I();C===!0?(t.value.error="",t.value.value=t.value.multiple?s.value:s.value[0]):t.value.error=typeof C=="string"?C:"Validation failed",await F(C===!0)}async function N(){const V=[];if(typeof t.value.options=="function"){let C={};t.value.dependsOn&&a.schema&&(C=(Array.isArray(t.value.dependsOn)?t.value.dependsOn:[t.value.dependsOn]).reduce((A,U)=>{var Q;return A[U]=(Q=a.schema[U])==null?void 0:Q.value,A},{}));const B=await t.value.options(y.value,C);V.push(...B.filter(_=>!!_.label))}else Array.isArray(t.value.options)&&V.push(...oe(t.value.options,y.value));s.value.forEach(C=>E(C,V)),i.value=V}function xe(){const V=t.value.value;V&&(Array.isArray(V)?V.forEach(C=>E(C,i.value)):E(typeof V=="object"?V:{value:V,label:V},i.value))}return e.onMounted(()=>{N()}),r({onValueUpdate:R,onReset:h,getErrors:()=>t.value.error?[t.value.error]:[]}),(V,C)=>(e.openBlock(),e.createElementBlock("div",{class:"autocomplete-container",onFocusout:R,ref_key:"containerRef",ref:o},[e.createVNode(e.unref(k.IonInput),{ref_key:"inputRef",ref:l,modelValue:y.value,"onUpdate:modelValue":C[0]||(C[0]=B=>y.value=B),fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",type:n.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:m.value,disabled:t.value.disabled,counter:t.value.counter,onIonFocus:T,debounce:300,onClick:p},{default:e.withCtx(()=>[e.createVNode(v,{model:t.value},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(k.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(B,_)=>(e.openBlock(),e.createBlock(e.unref(k.IonChip),{key:_},{default:e.withCtx(()=>[e.createVNode(e.unref(k.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(k.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var B;return[e.createTextVNode(e.toDisplayString(((B=s.value[0])==null?void 0:B.label)??""),1)]}),_:1})),e.createVNode(e.unref(k.IonIcon),{slot:"end",icon:e.unref(L.chevronDown)},null,8,["icon"]),s.value.length>0||y.value?(e.openBlock(),e.createBlock(e.unref(k.IonIcon),{key:2,slot:"end",icon:e.unref(L.close),onClick:h,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),u.value&&i.value.length>0&&c.value==="popover"?(e.openBlock(),e.createBlock(e.unref(k.IonList),{key:0,class:e.normalizeClass(["suggestions-list",f.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,B=>(e.openBlock(),e.createBlock(e.unref(k.IonItem),{button:"",key:B.label,onClick:_=>g(B)},{default:e.withCtx(()=>[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(k.IonCheckbox),{key:0,slot:"start",checked:B.isChecked},null,8,["checked"])):e.createCommentVNode("",!0),e.createVNode(e.unref(k.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.label),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],544))}}),Z=(n,r)=>{const a=n.__vccOpts||n;for(const[t,l]of r)a[t]=l;return a},me=Z(pe,[["__scopeId","data-v-4766dec2"]]),he=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(n,{expose:r}){const a=n,t=e.useModel(n,"modelValue"),l=e.ref(null),o=e.ref(t.value.value),u=e.computed(()=>a.schema),{onValueUpdate:i,onFocus:y,onReset:d,getErrors:c}=S(l,t,o,u);return e.watch(()=>t.value.value,f=>o.value=f),r({onReset:d,onValueUpdate:i,getErrors:c}),(f,s)=>(e.openBlock(),e.createBlock(e.unref(k.IonTextarea),{ref_key:"inputRef",ref:l,modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=m=>o.value=m),"clear-input":!0,fill:t.value.fill??"solid","label-placement":t.value.labelPlacement??"stacked",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:t.value.placeholder,disabled:t.value.disabled,counter:t.value.counter,min:t.value.min,max:t.value.max,rows:t.value.rows,cols:t.value.cols,"auto-grow":t.value.autoGrow,"max-length":t.value.maxLength,"min-length":t.value.minLength,pattern:t.value.pattern,onIonFocus:e.unref(y),onIonChange:e.unref(i),onIonBlur:e.unref(i)},{default:e.withCtx(()=>[e.createVNode(v,{model:t.value},null,8,["model"])]),_:1},8,["modelValue","fill","label-placement","required","error-text","autofocus","placeholder","disabled","counter","min","max","rows","cols","auto-grow","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"]))}}),ye={class:"ion-margin-end",style:{"flex-grow":"1"}},ke={style:{display:"flex","justify-content":"flex-end"}},Ve=Z(e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(n,{expose:r}){const a=e.useModel(n,"modelValue"),t=e.ref([]),{dynamicRefs:l,resetForm:o,getFormErrors:u,updateFormValues:i}=P(),y=e.computed(()=>t.value.map((h,g)=>({label:`Set ${g+1}`,value:g,other:Object.entries(h).reduce((p,[x,b])=>(p[x]=b.value,p),{})})));e.watch(y,h=>{a.value.value=h},{deep:!0,immediate:!0}),e.onMounted(d);function d(){a.value.children&&t.value.push(j(a.value.children))}function c(h){t.value.splice(h,1)}function f(){o()}function s(){return u()}async function m(){await i()}return r({onValueUpdate:m,onReset:f,getErrors:s}),(h,g)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(p,x)=>(e.openBlock(),e.createElementBlock("div",{class:"repeat-input-wrapper",key:x},[e.createElementVNode("div",ye,[e.createVNode(e.unref(k.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(p),b=>{var I,O,F,T,R;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(z)(p[b],h.data,h.computedData)?(e.openBlock(),e.createBlock(e.unref(k.IonCol),{key:`${x}-${b}`,size:((I=p[b].grid)==null?void 0:I.xs)??"12","size-sm":(O=p[b].grid)==null?void 0:O.sm,"size-md":(F=p[b].grid)==null?void 0:F.md,"size-lg":(T=p[b].grid)==null?void 0:T.lg,"size-xl":(R=p[b].grid)==null?void 0:R.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p[b].type),{modelValue:p[b],"onUpdate:modelValue":N=>p[b]=N,schema:p,"ref-key":`${x}-${b}`,ref_for:!0,ref_key:"dynamicRefs",ref:l},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:2},1024)]),e.createElementVNode("div",ke,[x===t.value.length-1?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:0,onClick:d,color:"primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.IonIcon),{slot:"icon-only",icon:e.unref(L.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),t.value.length>1?(e.openBlock(),e.createBlock(e.unref(k.IonButton),{key:1,onClick:b=>c(x),color:"warning"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.IonIcon),{slot:"icon-only",icon:e.unref(L.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]))),128))}}),[["__scopeId","data-v-060bdf58"]]),ge=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(n,{expose:r}){const a=n,t=e.useModel(n,"modelValue"),l=e.ref(null),o=e.ref(t.value.value),u=e.computed(()=>a.schema),i=e.computed(()=>K(t.value)),{onValueUpdate:y,onFocus:d,getErrors:c}=S(l,t,o,u);function f(){o.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,s=>o.value=s),r({onValueUpdate:y,onReset:f,getErrors:c}),(s,m)=>(e.openBlock(),e.createBlock(e.unref(k.IonCheckbox),{modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=h=>o.value=h),ref_key:"inputRef",ref:l,required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(d),onIonChange:e.unref(y),onIonBlur:e.unref(y)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value),1)]),_:1},8,["modelValue","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),Ce=e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(n,{expose:r}){const a=n,t=e.useModel(n,"modelValue"),l=e.ref(null),o=e.ref(t.value.value),u=e.computed(()=>a.schema),i=e.ref([]),y=e.computed(()=>K(t.value)),{onValueUpdate:d,onFocus:c,getErrors:f}=S(l,t,o,u);function s(){t.value.error="",o.value=void 0,t.value.value=void 0}function m(g,p){return g.value===p.value}async function h(){typeof t.value.options=="function"?i.value=await t.value.options():i.value=t.value.options}return e.watch(()=>t.value.value,g=>o.value=g),r({onValueUpdate:d,onReset:s,getErrors:f}),e.onMounted(h),(g,p)=>(e.openBlock(),e.createBlock(e.unref(k.IonRadioGroup),{modelValue:o.value,"onUpdate:modelValue":p[0]||(p[0]=x=>o.value=x),ref_key:"inputRef",ref:l,required:t.value.required,"helper-text":y.value,"error-text":t.value.error,disabled:t.value.disabled,compareWith:m,"allow-empty-selection":!t.value.required,onIonFocus:e.unref(c),onIonChange:e.unref(d),onIonBlur:e.unref(d)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,x=>(e.openBlock(),e.createBlock(e.unref(k.IonRadio),{key:x.value,value:x,disabled:t.value.disabled,"label-placement":"end",justify:"start"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.label),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue","required","helper-text","error-text","disabled","allow-empty-selection","onIonFocus","onIonChange","onIonBlur"]))}});function Be(n,r,a){const t=e.ref({}),l=e.ref({});function o(c,f,s){l.value[c]=s,f.forEach(m=>{var h;(h=t.value)[m]??(h[m]=[]),t.value[m].includes(c)||t.value[m].push(c)}),d(c)}function u(c){return Object.entries(t.value).filter(([,s])=>s.includes(c)).map(([s])=>s).reduce((s,m)=>(s[m]=r.value[m]??a.value[m],s),{})}function i(c,f){return c?Array.isArray(c)?c.some(s=>f.some(m=>y(s,m.value))):f.some(s=>y(c,s.value)):!1}function y(c,f){return typeof c=="object"&&c!==null?c.value===f:String(c)===String(f)}async function d(c,f){if(!l.value[c])return;const s=u(c),m=Object.keys(s);if(!(m.length===0||!m.every(g=>s[g]!==void 0&&s[g]!==null)))try{const g=l.value[c],p=await g(f,s);if(!n.value[c])return;n.value[c].options=p;const x=n.value[c].value;if(!x)return;i(x,p)||(n.value[c].value=n.value[c].multiple?[]:"")}catch(g){console.error(`Error loading options for ${c}:`,g)}}return e.watch([r,a],()=>{Object.entries(t.value).forEach(([c,f])=>{(r.value[c]!==void 0||a.value[c]!==void 0)&&f.forEach(s=>{d(s)})})},{deep:!0,immediate:!0}),{registerDependency:o,updateOptions:d}}const J={install(n){n.component("VForm",ae),n.component("TextInput",ce),n.component("DateInput",ie),n.component("NumberInput",ue),n.component("EmailInput",de),n.component("PasswordInput",fe),n.component("SelectInput",me),n.component("TextAreaInput",he),n.component("RepeatInput",Ve),n.component("CheckboxInput",ge),n.component("RadioInput",Ce),n.directive("maskito",X.maskito)}};w.VForm=J,w.default=J,w.useDataTransformation=W,w.useDependentOptions=Be,w.useFormValidation=P,w.useInputValidation=S,Object.defineProperties(w,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|