@uniquedj95/vform 3.0.6 → 3.1.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 +1 -1
- package/dist/components/inputs/RadioInput.vue.d.ts +29 -0
- package/dist/components/inputs/RadioInput.vue.d.ts.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +443 -391
- 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 +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/composables/useCheckboxLabelText.d.ts +0 -10
- package/dist/composables/useCheckboxLabelText.d.ts.map +0 -1
package/dist/index.umd.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
(function(E,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@ionic/vue"),require("@vuepic/vue-datepicker"),require("ionicons/icons"),require("@maskito/vue")):typeof define=="function"&&define.amd?define(["exports","vue","@ionic/vue","@vuepic/vue-datepicker","ionicons/icons","@maskito/vue"],e):(E=typeof globalThis<"u"?globalThis:E||self,e(E.VForm={},E.Vue,E.IonicVue,E.VueDatePicker,E.IoniconsIcons,E.MaskitoVue))})(this,function(E,e,u,Q,L,X){"use strict";function $(o){return new Promise(r=>{requestAnimationFrame(async()=>{const a=await o.getInputElement();r(a)})})}const v={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(o,r){const a=ee[o];return a[r%a.length]}function oe(o){const r=[];let a="",t=0,l=0;for(;t<o.length;){const n=o[t];if(["d","a","*"].includes(n)){let s=1;if(o[t+1]==="{"){const c=o.indexOf("}",t+2);if(c!==-1){const d=o.slice(t+2,c);if(d.includes(",")){const[,k]=d.split(",").map(y=>parseInt(y.trim()));s=k||parseInt(d.split(",")[0])}else s=parseInt(d);t=c}}else{let c=t+1;for(;o[c]===n;)s++,c++;t=c-1}for(let c=0;c<s;c++)r.push(v[n]),a+=te(n,l++)}else r.push(n),a+=n;t++}return{mask:r,placeholder:a,elementPredicate:$}}const O=["January","February","March","April","May","June","July","August","September","October","November","December"];function j(o){return o==null||Array.isArray(o)&&!o.length||typeof o=="object"&&!Object.keys(o).length||!o}function ne(o,r="DD/MMM/YYYY"){const a=new Date(o);if(isNaN(a.getTime()))throw new Error("Invalid date string");const t=T(a.getDate()),l=a.getMonth()+1,n=a.getFullYear(),s=T(a.getHours()),c=T(a.getMinutes()),d=T(a.getSeconds()),k=a.getMilliseconds(),y={DD:t,D:a.getDate().toString(),MMM:O[a.getMonth()].slice(0,3),MMMM:O[a.getMonth()],MM:T(l),M:l.toString(),YYYY:n.toString(),YY:n.toString().slice(-2),HH:s,H:a.getHours().toString(),mm:c,m:a.getMinutes().toString(),ss:d,s:a.getSeconds().toString(),SSS:T(k),S:k.toString().slice(0,1)};return r.replace(/DD|D|MMMM|MMM|MM|M|YYYY|YY|HH|H|mm|m|ss|s|SSS|S/g,B=>y[B]||B)}function T(o){return o<10?`0${o}`:`${o}`}function Y(o,r){if(Number.isInteger(parseInt(o))&&Number(o)>0){if(r==="MMMM")return O[Number(o)-1];if(r==="MMM")return O[Number(o)-1].slice(0,3);if(r==="MM")return T(Number(o))}return o}function P(o,r,a){return typeof o.condition=="function"?o.condition(r,a):!0}function H(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return o.map(a=>H(a));const r={};return Object.entries(o).forEach(([a,t])=>{typeof t=="function"?r[a]=t.bind(r):r[a]=H(t)}),r}function J(o,r){return r.findIndex(a=>a.value===o.value||a.label===o.label||a.value===o.label||a.label===o.value)}function R(o,r){const a=J(o,r);a>=0?r[a].isChecked=!0:r.push({...o,isChecked:!0})}function G(o,r){const a=J(o,r);a>=0&&(r[a].isChecked=!1)}function le(o,r){return r?o.filter(a=>JSON.stringify(a).toLowerCase().includes(r.toLowerCase())):o}function W(){const o=e.ref([]);async function r(){console.debug("Validating form inputs");const n=[];for(const s of o.value)if(typeof(s==null?void 0:s.onValueUpdate)=="function"&&await s.onValueUpdate(),typeof(s==null?void 0:s.getErrors)=="function")try{const c=s.getErrors();Array.isArray(c)?n.push(...c):console.warn("getErrors() returned non-array value:",c)}catch(c){console.error("Error calling getErrors on component:",c,s)}else console.warn("Component does not have getErrors function:",s);return n.every(j)}function a(){o.value.forEach(n=>{typeof(n==null?void 0:n.onReset)=="function"&&n.onReset()})}function t(){const n=[];for(const s of o.value)if(typeof(s==null?void 0:s.getErrors)=="function")try{const c=s.getErrors();Array.isArray(c)?n.push(...c):n.push(String(c))}catch(c){console.error("Error calling getErrors on component:",c,s)}return n}async function l(){for(const n of o.value)typeof(n==null?void 0:n.onValueUpdate)=="function"&&await n.onValueUpdate()}return{dynamicRefs:o,isFormValid:r,resetForm:a,getFormErrors:t,updateFormValues:l}}function ae(o){const r=e.computed(()=>Object.entries(o.value).reduce((t,[l,n])=>(n.value!==void 0&&(typeof n.onChange=="function"?t[l]=n.onChange(n.value):t[l]=n.value),t),{})),a=e.computed(()=>Object.entries(r.value).reduce((t,[l,n])=>(n!==void 0&&(o.value[l].children!==void 0&&(t[l]=n.map(({other:s})=>Object.entries(s).reduce((c,[d,k])=>(typeof o.value[l].children[d].computedValue=="function"?c[d]=o.value[l].children[d].computedValue(k,o.value):c[d]=k,c),{}))),typeof o.value[l].computedValue=="function"&&n!==void 0&&(t[l]=o.value[l].computedValue(n,o.value))),t),{}));return{formData:r,computedData:a}}const re=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(o,{expose:r,emit:a}){const t=o,l=a,n=e.ref(t.schema),{dynamicRefs:s,isFormValid:c,resetForm:d}=W(),{formData:k,computedData:y}=ae(n);async function B(){await c()&&l("submit",k.value,y.value)}function m(){d(),l("clear")}function w(){d(),l("cancel")}return e.watch(k,async()=>{for(const[p,C]of Object.entries(n.value))P(C,k.value,y.value)||(C.value=t.schema[p].value)},{deep:!0,immediate:!0}),e.watch(()=>t.schema,p=>{for(const[C,i]of Object.entries(p))i.value!==void 0&&(n.value[C].value=i.value)},{deep:!0,immediate:!0}),r({resetForm:d,isFormValid:c,resolveData:()=>({formData:k.value,computedData:y.value})}),(p,C)=>(e.openBlock(),e.createBlock(e.unref(u.IonGrid),null,{default:e.withCtx(()=>[e.createVNode(e.unref(u.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(n.value),i=>{var _,V,D,S,b;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(P)(n.value[i],e.unref(k),e.unref(y))?(e.openBlock(),e.createBlock(e.unref(u.IonCol),{key:i,size:((_=n.value[i].grid)==null?void 0:_.xs)??"12","size-sm":(V=n.value[i].grid)==null?void 0:V.sm,"size-md":(D=n.value[i].grid)==null?void 0:D.md,"size-lg":(S=n.value[i].grid)==null?void 0:S.lg,"size-xl":(b=n.value[i].grid)==null?void 0:b.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value[i].type),{modelValue:n.value[i],"onUpdate:modelValue":M=>n.value[i]=M,schema:n.value,ref_for:!0,ref_key:"dynamicRefs",ref:s,"ref-key":i},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}),p.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(u.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(u.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:p.buttonPlacement}])},{default:e.withCtx(()=>[p.showCancelButton?(e.openBlock(),e.createBlock(e.unref(u.IonButton),{key:0,onClick:w},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),p.showClearButton?(e.openBlock(),e.createBlock(e.unref(u.IonButton),{key:1,onClick:m},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.customButtons,i=>(e.openBlock(),e.createBlock(e.unref(u.IonButton),{key:i.label,onClick:i.action,color:i.color??"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.label),1)]),_:2},1032,["onClick","color"]))),128)),e.createVNode(e.unref(u.IonButton),{onClick:B},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.submitButtonText??"Submit"),1)]),_:1})]),_:1},8,["style"])]),_:1}))]),_:1}))}});function ce(o){return{applyValidationState:async t=>{var l,n,s,c,d;(l=o.value)==null||l.$el.classList.remove("ion-invalid"),(n=o.value)==null||n.$el.classList.remove("ion-valid"),t?(s=o.value)==null||s.$el.classList.add("ion-valid"):(c=o.value)==null||c.$el.classList.add("ion-invalid"),(d=o.value)==null||d.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,l;(t=o.value)==null||t.$el.classList.remove("ion-touched"),(l=o.value)==null||l.$el.classList.remove("ion-invalid")}}}function q(o,r,a,t,l){const{applyValidationState:n,resetValidationState:s}=ce(o);async function c(){if(r.value.required&&!a.value)return r.value.error="This field is required",!1;if(l){const m=await l(a.value);if(typeof m=="string")return r.value.error=m,!1;if(m===!1)return!1}if(r.value.validation){const m=await r.value.validation(a.value,t==null?void 0:t.value);if(m&&m.length)return r.value.error=m.join(),!1}return!0}async function d(){const m=await c();m&&(r.value.error="",r.value.value=a.value),await n(m)}function k(){s(),r.value.error=""}function y(m=""){a.value=m,r.value.error="",r.value.value=m}function B(){return r.value.error?[r.value.error]:[]}return{isValid:c,onValueUpdate:d,onFocus:k,onReset:y,getErrors:B,applyValidationState:n,resetValidationState:s}}function se(o){const r=e.computed(()=>!!o.value.label),a=e.computed(()=>!!o.value.required),t=e.computed(()=>o.value.label||"");return{showLabel:r,showRequired:a,labelText:t}}const U=e.defineComponent({__name:"InputLabel",props:{model:{}},setup(o){const r=o,{showLabel:a,showRequired:t,labelText:l}=se(e.toRef(r,"model"));return(n,s)=>e.unref(a)?(e.openBlock(),e.createBlock(e.unref(u.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(u.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>s[0]||(s[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)}}),z=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),l=e.ref(null),n=e.ref(t.value.value),s=e.computed(()=>a.schema),{isValid:c,onValueUpdate:d,onFocus:k,onReset:y,getErrors:B}=q(l,t,n,s),m=e.computed(()=>{if(t.value.pattern)return oe(t.value.pattern)});return e.watch(()=>t.value.value,w=>n.value=w),r({onValueUpdate:d,onReset:y,getErrors:B,isValid:c}),(w,p)=>{var i;const C=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(u.IonInput),{ref_key:"inputRef",ref:l,modelValue:n.value,"onUpdate:modelValue":p[0]||(p[0]=_=>n.value=_),"clear-input":!0,fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:w.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:((i=m.value)==null?void 0:i.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(k),onIonChange:e.unref(d),onIonBlur:e.unref(d)},{default:e.withCtx(()=>[e.createVNode(U,{model:t.value},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(u.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(u.IonLabel),{key:1,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),w.type==="password"?(e.openBlock(),e.createBlock(e.unref(u.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"])),[[C,m.value]])}}}),ie=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"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,n;return((n=(l=t.value)==null?void 0:l.getErrors)==null?void 0:n.call(l))??[]}}),(l,n)=>(e.openBlock(),e.createBlock(z,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=s=>a.value=s),type:"text",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ue=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),l=e.ref(null),n=e.ref(t.value.max),s=e.ref(t.value.max),c=e.ref(t.value.value),d=e.computed(()=>a.schema);async function k(b){if(b===void 0)return t.value.required?"This field is required":!0;const M=new Date(b);return isNaN(M.getTime())?"Invalid date string":s.value&&M<new Date(s.value)?`Date must be greater than ${s.value}`:n.value&&M>new Date(n.value)?`Date must be less than ${n.value}`:!0}const{onValueUpdate:y,onFocus:B,getErrors:m}=q(l,t,c,d,k);function w(){c.value="",t.value.error="",t.value.value=""}const p=e.computed(()=>{if(t.value.pattern)return t.value.pattern;let b=t.value.pattern??"DD/MMM/YYYY";return t.value.enableTime&&(b+=" HH:mm:ss"),b}),C=/[-/.,:\s]+/,i=e.computed(()=>p.value.split(C)),_=e.computed(()=>p.value.match(/[-/.,:\s]+/g)||[]),V=e.ref({});e.watch(()=>t.value.value,b=>{c.value=b,S(b)});async function D(b,M,h){let I=M??(h==null?void 0:h.target).value;/MM|MMM|MMMM/.test(b)&&(I=Y(I,b)),Number.isInteger(parseInt(I))&&(I=T(parseInt(I))),V.value[b]=I;const N=i.value.reduce((f,x,g)=>(f+=V.value[x]+(g<i.value.length-1?_.value[g]:""),f),"");c.value=N,await y()}async function S(b){const M=ne(b,p.value).split(C);i.value.forEach((h,I)=>D(h,M[I])),await y()}return r({onValueUpdate:y,onReset:w,getErrors:m}),e.onMounted(()=>{i.value.forEach((b,M)=>{var h;V.value[b]=((h=c.value)==null?void 0:h.split(C)[M])??""})}),(b,M)=>(e.openBlock(),e.createBlock(e.unref(u.IonInput),{type:"text",ref_key:"inputRef",ref:l,"clear-input":!0,fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,disabled:t.value.disabled,onIonFocus:e.unref(B),onIonBlur:e.unref(y)},{default:e.withCtx(()=>[e.createVNode(U,{model:t.value},null,8,["model"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(h,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[/MM|MMM|MMMM/.test(h)?(e.openBlock(),e.createBlock(e.unref(u.IonSelect),{slot:"start",key:`select-${h}`,interface:"popover",style:e.normalizeStyle({minWidth:t.value.enableTime?"10%":"30%"}),placeholder:h,value:V.value[h],onIonFocus:e.unref(B),onIonInput:N=>D(h,void 0,N),onIonBlur:N=>D(h,void 0,N)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(O),(N,f)=>(e.openBlock(),e.createBlock(e.unref(u.IonSelectOption),{key:N,value:e.unref(Y)(f+1,h)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(Y)(f+1,h)),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["style","placeholder","value","onIonFocus","onIonInput","onIonBlur"])):(e.openBlock(),e.createBlock(e.unref(u.IonInput),{slot:"start",key:`input-${h}`,placeholder:h,autofocus:t.value.autoFocus,value:V.value[h],onIonFocus:e.unref(B),onIonInput:N=>D(h,void 0,N),onIonBlur:N=>D(h,void 0,N)},null,8,["placeholder","autofocus","value","onIonFocus","onIonInput","onIonBlur"])),I<i.value.length-1?(e.openBlock(),e.createBlock(e.unref(u.IonLabel),{slot:"start",key:`separator-${I}`},{default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(_.value[I])+" ",1)]),_:2},1024)):e.createCommentVNode("",!0)],64))),256)),e.createVNode(e.unref(u.IonLabel),{slot:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(Q),{"enable-seconds":"","time-picker-inline":"",teleport:"","model-value":c.value,"auto-apply":!t.value.enableTime,"enable-time-picker":t.value.enableTime??!1,maxDate:n.value,minDate:s.value,onDateUpdate:S},{trigger:e.withCtx(()=>[e.createVNode(e.unref(u.IonButton),{fill:"clear"},{default:e.withCtx(()=>[e.createVNode(e.unref(u.IonIcon),{slot:"icon-only",icon:e.unref(L.calendar),"aria-hidden":"true",onClick:e.unref(B)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model-value","auto-apply","enable-time-picker","maxDate","minDate"])]),_:1})]),_:1},8,["fill","label-placement","required","error-text","autofocus","disabled","onIonFocus","onIonBlur"]))}}),de=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"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,n;return((n=(l=t.value)==null?void 0:l.getErrors)==null?void 0:n.call(l))??[]}}),(l,n)=>(e.openBlock(),e.createBlock(z,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=s=>a.value=s),type:"number",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),fe=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"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,n;return((n=(l=t.value)==null?void 0:l.getErrors)==null?void 0:n.call(l))??[]}}),(l,n)=>(e.openBlock(),e.createBlock(z,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=s=>a.value=s),type:"email",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),me=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"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,n;return((n=(l=t.value)==null?void 0:l.getErrors)==null?void 0:n.call(l))??[]}}),(l,n)=>(e.openBlock(),e.createBlock(z,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=s=>a.value=s),type:"password",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),pe=e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),l=e.ref(null),n=e.ref(null),s=e.ref(!1),c=e.ref([]),d=e.ref(""),k=e.ref(1),y=e.computed(()=>t.value.interface??"popover"),B=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),m=e.computed(()=>c.value.filter(f=>!!f.isChecked)),w=e.computed(()=>!d.value&&j(m.value)&&!s.value?t.value.placeholder??"Select an option":"");e.watch([d,()=>t.value.options],I,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,N,{immediate:!0,deep:!0});function p(){c.value.forEach(f=>G(f,c.value)),t.value.error="",d.value="",k.value=1,t.value.value=t.value.multiple?[]:""}function C(f){if(f.isChecked)return G(f,c.value);t.value.multiple?R(f,c.value):(p(),R(f,c.value),h()),d.value=""}function i(){switch(y.value){case"action-sheet":_();break;case"alert":V();break;case"popover":default:s.value=!0;break}}async function _(){if(await I(),t.value.multiple){s.value=!0;return}await(await u.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...c.value.map(x=>({text:x.label,cssClass:x.isChecked?"selected-option":"",handler:()=>(C(x),!1)})),{text:"Cancel",role:"cancel"}]})).present()}async function V(){await I();const f=c.value.map(g=>({label:g.label,type:t.value.multiple?"checkbox":"radio",value:g,checked:g.isChecked}));await(await u.alertController.create({header:t.value.label||"Select an option",inputs:f,buttons:[{text:"Cancel",role:"cancel"},{text:"OK",handler:g=>{if(t.value.multiple)c.value.forEach(F=>G(F,c.value)),g.forEach(F=>{const A=c.value.find(Be=>Be.value===F.value);A&&R(A,c.value)});else{p();const F=c.value.find(A=>A.value===g.value);F&&R(F,c.value)}h()}}]})).present()}async function D(){if(t.value.required&&j(m.value))return"This field is required";if(t.value.validation){const f=await t.value.validation(m.value,a==null?void 0:a.schema);if(f&&f.length)return f.join()}return!0}const{onFocus:S,applyValidationState:b}=q(l,t,e.computed(()=>t.value.multiple?m.value:m.value[0]),e.computed(()=>a==null?void 0:a.schema),D);function M(f){var x;f.target===((x=l.value)==null?void 0:x.$el)&&(S(),y.value==="popover"&&(s.value=!0))}async function h(f){var g;if((g=f==null?void 0:f.relatedTarget)!=null&&g.closest(".suggestions-list"))return;s.value=!1;const x=await D();x===!0?(t.value.error="",t.value.value=t.value.multiple?m.value:m.value[0]):t.value.error=typeof x=="string"?x:"Validation failed",await b(x===!0)}async function I(){const f=[];if(typeof t.value.options=="function"){const x=await t.value.options(d.value);f.push(...x.filter(g=>!!g.label))}else f.push(...le(t.value.options??[],d.value));m.value.forEach(x=>R(x,f)),c.value=f}function N(){const f=t.value.value;f&&(Array.isArray(f)?f.forEach(x=>R(x,c.value)):R(typeof f=="object"?f:{value:f,label:f},c.value))}return r({onValueUpdate:h,onReset:p,getErrors:()=>t.value.error?[t.value.error]:[]}),(f,x)=>(e.openBlock(),e.createElementBlock("div",{class:"autocomplete-container",onFocusout:h,ref_key:"containerRef",ref:n},[e.createVNode(e.unref(u.IonInput),{ref_key:"inputRef",ref:l,modelValue:d.value,"onUpdate:modelValue":x[0]||(x[0]=g=>d.value=g),fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:f.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:w.value,disabled:t.value.disabled,counter:t.value.counter,onIonFocus:M,debounce:300,onClick:i},{default:e.withCtx(()=>[e.createVNode(U,{model:t.value},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(u.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(g,F)=>(e.openBlock(),e.createBlock(e.unref(u.IonChip),{key:F},{default:e.withCtx(()=>[e.createVNode(e.unref(u.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(u.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var g;return[e.createTextVNode(e.toDisplayString(((g=m.value[0])==null?void 0:g.label)??""),1)]}),_:1})),e.createVNode(e.unref(u.IonIcon),{slot:"end",icon:e.unref(L.chevronDown)},null,8,["icon"]),m.value.length>0||d.value?(e.openBlock(),e.createBlock(e.unref(u.IonIcon),{key:2,slot:"end",icon:e.unref(L.close),onClick:p,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),s.value&&c.value.length>0&&y.value==="popover"?(e.openBlock(),e.createBlock(e.unref(u.IonList),{key:0,class:e.normalizeClass(["suggestions-list",B.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,g=>(e.openBlock(),e.createBlock(e.unref(u.IonItem),{button:"",key:g.label,onClick:F=>C(g)},{default:e.withCtx(()=>[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(u.IonCheckbox),{key:0,slot:"start",checked:g.isChecked},null,8,["checked"])):e.createCommentVNode("",!0),e.createVNode(e.unref(u.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))}}),K=(o,r)=>{const a=o.__vccOpts||o;for(const[t,l]of r)a[t]=l;return a},he=K(pe,[["__scopeId","data-v-80c14c96"]]),ke=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),l=e.ref(null),n=e.ref(t.value.value),s=e.computed(()=>a.schema),{onValueUpdate:c,onFocus:d,onReset:k,getErrors:y}=q(l,t,n,s);return e.watch(()=>t.value.value,B=>n.value=B),r({onReset:k,onValueUpdate:c,getErrors:y}),(B,m)=>(e.openBlock(),e.createBlock(e.unref(u.IonTextarea),{ref_key:"inputRef",ref:l,modelValue:n.value,"onUpdate:modelValue":m[0]||(m[0]=w=>n.value=w),"clear-input":!0,fill:t.value.fill??"outline","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(d),onIonChange:e.unref(c),onIonBlur:e.unref(c)},{default:e.withCtx(()=>[e.createVNode(U,{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"}},ge={style:{display:"flex","justify-content":"flex-end"}},Ve=K(e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"modelValue"),t=e.ref([]),{dynamicRefs:l,resetForm:n,getFormErrors:s,updateFormValues:c}=W(),d=e.computed(()=>t.value.map((p,C)=>({label:`Set ${C+1}`,value:C,other:Object.entries(p).reduce((i,[_,V])=>(i[_]=V.value,i),{})})));e.watch(d,p=>{a.value.value=p},{deep:!0,immediate:!0}),e.onMounted(k);function k(){a.value.children&&t.value.push(H(a.value.children))}function y(p){t.value.splice(p,1)}function B(){n()}function m(){return s()}async function w(){await c()}return r({onValueUpdate:w,onReset:B,getErrors:m}),(p,C)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(i,_)=>(e.openBlock(),e.createElementBlock("div",{class:"repeat-input-wrapper",key:_},[e.createElementVNode("div",ye,[e.createVNode(e.unref(u.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(i),V=>{var D,S,b,M,h;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(P)(i[V],p.data,p.computedData)?(e.openBlock(),e.createBlock(e.unref(u.IonCol),{key:`${_}-${V}`,size:((D=i[V].grid)==null?void 0:D.xs)??"12","size-sm":(S=i[V].grid)==null?void 0:S.sm,"size-md":(b=i[V].grid)==null?void 0:b.md,"size-lg":(M=i[V].grid)==null?void 0:M.lg,"size-xl":(h=i[V].grid)==null?void 0:h.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i[V].type),{modelValue:i[V],"onUpdate:modelValue":I=>i[V]=I,schema:i,"ref-key":`${_}-${V}`,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",ge,[_===t.value.length-1?(e.openBlock(),e.createBlock(e.unref(u.IonButton),{key:0,onClick:k,color:"primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(u.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(u.IonButton),{key:1,onClick:V=>y(_),color:"warning"},{default:e.withCtx(()=>[e.createVNode(e.unref(u.IonIcon),{slot:"icon-only",icon:e.unref(L.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]))),128))}}),[["__scopeId","data-v-402695fe"]]);function be(o){return{labelTextWithAsterisk:e.computed(()=>{const a=o.value.label||"",t=o.value.required?" *":"";return a+t})}}const xe=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),l=e.ref(null),n=e.ref(t.value.value),s=e.computed(()=>a.schema),{labelTextWithAsterisk:c}=be(t),{onValueUpdate:d,onFocus:k,getErrors:y}=q(l,t,n,s);function B(){n.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,m=>n.value=m),r({onValueUpdate:d,onReset:B,getErrors:y}),(m,w)=>(e.openBlock(),e.createBlock(e.unref(u.IonCheckbox),{modelValue:n.value,"onUpdate:modelValue":w[0]||(w[0]=p=>n.value=p),ref_key:"inputRef",ref:l,required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(k),onIonChange:e.unref(d),onIonBlur:e.unref(d)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(c)),1)]),_:1},8,["modelValue","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),Z={install(o){o.component("VForm",re),o.component("TextInput",ie),o.component("DateInput",ue),o.component("NumberInput",de),o.component("EmailInput",fe),o.component("PasswordInput",me),o.component("SelectInput",he),o.component("TextAreaInput",ke),o.component("RepeatInput",Ve),o.component("CheckboxInput",xe),o.directive("maskito",X.maskito)}};E.VForm=Z,E.default=Z,Object.defineProperties(E,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
1
|
+
(function(E,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@ionic/vue"),require("@vuepic/vue-datepicker"),require("ionicons/icons"),require("@maskito/vue")):typeof define=="function"&&define.amd?define(["exports","vue","@ionic/vue","@vuepic/vue-datepicker","ionicons/icons","@maskito/vue"],e):(E=typeof globalThis<"u"?globalThis:E||self,e(E.VForm={},E.Vue,E.IonicVue,E.VueDatePicker,E.IoniconsIcons,E.MaskitoVue))})(this,function(E,e,u,X,O,$){"use strict";function v(o){return new Promise(r=>{requestAnimationFrame(async()=>{const a=await o.getInputElement();r(a)})})}const ee={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},te={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 oe(o,r){const a=te[o];return a[r%a.length]}function le(o){const r=[];let a="",t=0,n=0;for(;t<o.length;){const l=o[t];if(["d","a","*"].includes(l)){let s=1;if(o[t+1]==="{"){const c=o.indexOf("}",t+2);if(c!==-1){const d=o.slice(t+2,c);if(d.includes(",")){const[,y]=d.split(",").map(h=>parseInt(h.trim()));s=y||parseInt(d.split(",")[0])}else s=parseInt(d);t=c}}else{let c=t+1;for(;o[c]===l;)s++,c++;t=c-1}for(let c=0;c<s;c++)r.push(ee[l]),a+=oe(l,n++)}else r.push(l),a+=l;t++}return{mask:r,placeholder:a,elementPredicate:v}}const q=["January","February","March","April","May","June","July","August","September","October","November","December"];function A(o){return o==null||Array.isArray(o)&&!o.length||typeof o=="object"&&!Object.keys(o).length||!o}function ne(o,r="DD/MMM/YYYY"){const a=new Date(o);if(isNaN(a.getTime()))throw new Error("Invalid date string");const t=R(a.getDate()),n=a.getMonth()+1,l=a.getFullYear(),s=R(a.getHours()),c=R(a.getMinutes()),d=R(a.getSeconds()),y=a.getMilliseconds(),h={DD:t,D:a.getDate().toString(),MMM:q[a.getMonth()].slice(0,3),MMMM:q[a.getMonth()],MM:R(n),M:n.toString(),YYYY:l.toString(),YY:l.toString().slice(-2),HH:s,H:a.getHours().toString(),mm:c,m:a.getMinutes().toString(),ss:d,s:a.getSeconds().toString(),SSS:R(y),S:y.toString().slice(0,1)};return r.replace(/DD|D|MMMM|MMM|MM|M|YYYY|YY|HH|H|mm|m|ss|s|SSS|S/g,B=>h[B]||B)}function R(o){return o<10?`0${o}`:`${o}`}function P(o,r){if(Number.isInteger(parseInt(o))&&Number(o)>0){if(r==="MMMM")return q[Number(o)-1];if(r==="MMM")return q[Number(o)-1].slice(0,3);if(r==="MM")return R(Number(o))}return o}function Y(o,r,a){return typeof o.condition=="function"?o.condition(r,a):!0}function H(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return o.map(a=>H(a));const r={};return Object.entries(o).forEach(([a,t])=>{typeof t=="function"?r[a]=t.bind(r):r[a]=H(t)}),r}function J(o,r){return r.findIndex(a=>a.value===o.value||a.label===o.label||a.value===o.label||a.label===o.value)}function T(o,r){const a=J(o,r);a>=0?r[a].isChecked=!0:r.push({...o,isChecked:!0})}function G(o,r){const a=J(o,r);a>=0&&(r[a].isChecked=!1)}function ae(o,r){return r?o.filter(a=>JSON.stringify(a).toLowerCase().includes(r.toLowerCase())):o}function W(o){const r=o.label||"",a=o.required?" *":"";return r+a}function K(){const o=e.ref([]);async function r(){console.debug("Validating form inputs");const l=[];for(const s of o.value)if(typeof(s==null?void 0:s.onValueUpdate)=="function"&&await s.onValueUpdate(),typeof(s==null?void 0:s.getErrors)=="function")try{const c=s.getErrors();Array.isArray(c)?l.push(...c):console.warn("getErrors() returned non-array value:",c)}catch(c){console.error("Error calling getErrors on component:",c,s)}else console.warn("Component does not have getErrors function:",s);return l.every(A)}function a(){o.value.forEach(l=>{typeof(l==null?void 0:l.onReset)=="function"&&l.onReset()})}function t(){const l=[];for(const s of o.value)if(typeof(s==null?void 0:s.getErrors)=="function")try{const c=s.getErrors();Array.isArray(c)?l.push(...c):l.push(String(c))}catch(c){console.error("Error calling getErrors on component:",c,s)}return l}async function n(){for(const l of o.value)typeof(l==null?void 0:l.onValueUpdate)=="function"&&await l.onValueUpdate()}return{dynamicRefs:o,isFormValid:r,resetForm:a,getFormErrors:t,updateFormValues:n}}function re(o){const r=e.computed(()=>Object.entries(o.value).reduce((t,[n,l])=>(l.value!==void 0&&(typeof l.onChange=="function"?t[n]=l.onChange(l.value):t[n]=l.value),t),{})),a=e.computed(()=>Object.entries(r.value).reduce((t,[n,l])=>(l!==void 0&&(o.value[n].children!==void 0&&(t[n]=l.map(({other:s})=>Object.entries(s).reduce((c,[d,y])=>(typeof o.value[n].children[d].computedValue=="function"?c[d]=o.value[n].children[d].computedValue(y,o.value):c[d]=y,c),{}))),typeof o.value[n].computedValue=="function"&&l!==void 0&&(t[n]=o.value[n].computedValue(l,o.value))),t),{}));return{formData:r,computedData:a}}const ce=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(o,{expose:r,emit:a}){const t=o,n=a,l=e.ref(t.schema),{dynamicRefs:s,isFormValid:c,resetForm:d}=K(),{formData:y,computedData:h}=re(l);async function B(){await c()&&n("submit",y.value,h.value)}function f(){d(),n("clear")}function w(){d(),n("cancel")}return e.watch(y,async()=>{for(const[p,I]of Object.entries(l.value))Y(I,y.value,h.value)||(I.value=t.schema[p].value)},{deep:!0,immediate:!0}),e.watch(()=>t.schema,p=>{for(const[I,i]of Object.entries(p))i.value!==void 0&&(l.value[I].value=i.value)},{deep:!0,immediate:!0}),r({resetForm:d,isFormValid:c,resolveData:()=>({formData:y.value,computedData:h.value})}),(p,I)=>(e.openBlock(),e.createBlock(e.unref(u.IonGrid),null,{default:e.withCtx(()=>[e.createVNode(e.unref(u.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(l.value),i=>{var C,k,D,S,b;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(Y)(l.value[i],e.unref(y),e.unref(h))?(e.openBlock(),e.createBlock(e.unref(u.IonCol),{key:i,size:((C=l.value[i].grid)==null?void 0:C.xs)??"12","size-sm":(k=l.value[i].grid)==null?void 0:k.sm,"size-md":(D=l.value[i].grid)==null?void 0:D.md,"size-lg":(S=l.value[i].grid)==null?void 0:S.lg,"size-xl":(b=l.value[i].grid)==null?void 0:b.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value[i].type),{modelValue:l.value[i],"onUpdate:modelValue":M=>l.value[i]=M,schema:l.value,ref_for:!0,ref_key:"dynamicRefs",ref:s,"ref-key":i},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}),p.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(u.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(u.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:p.buttonPlacement}])},{default:e.withCtx(()=>[p.showCancelButton?(e.openBlock(),e.createBlock(e.unref(u.IonButton),{key:0,onClick:w},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),p.showClearButton?(e.openBlock(),e.createBlock(e.unref(u.IonButton),{key:1,onClick:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.customButtons,i=>(e.openBlock(),e.createBlock(e.unref(u.IonButton),{key:i.label,onClick:i.action,color:i.color??"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.label),1)]),_:2},1032,["onClick","color"]))),128)),e.createVNode(e.unref(u.IonButton),{onClick:B},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.submitButtonText??"Submit"),1)]),_:1})]),_:1},8,["style"])]),_:1}))]),_:1}))}});function se(o){return{applyValidationState:async t=>{var n,l,s,c,d;(n=o.value)==null||n.$el.classList.remove("ion-invalid"),(l=o.value)==null||l.$el.classList.remove("ion-valid"),t?(s=o.value)==null||s.$el.classList.add("ion-valid"):(c=o.value)==null||c.$el.classList.add("ion-invalid"),(d=o.value)==null||d.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,n;(t=o.value)==null||t.$el.classList.remove("ion-touched"),(n=o.value)==null||n.$el.classList.remove("ion-invalid")}}}function L(o,r,a,t,n){const{applyValidationState:l,resetValidationState:s}=se(o);async function c(){if(r.value.required&&!a.value)return r.value.error="This field is required",!1;if(n){const f=await n(a.value);if(typeof f=="string")return r.value.error=f,!1;if(f===!1)return!1}if(r.value.validation){const f=await r.value.validation(a.value,t==null?void 0:t.value);if(f&&f.length)return r.value.error=f.join(),!1}return!0}async function d(){const f=await c();f&&(r.value.error="",r.value.value=a.value),await l(f)}function y(){s(),r.value.error=""}function h(f=""){a.value=f,r.value.error="",r.value.value=f}function B(){return r.value.error?[r.value.error]:[]}return{isValid:c,onValueUpdate:d,onFocus:y,onReset:h,getErrors:B,applyValidationState:l,resetValidationState:s}}function ie(o){const r=e.computed(()=>!!o.value.label),a=e.computed(()=>!!o.value.required),t=e.computed(()=>o.value.label||"");return{showLabel:r,showRequired:a,labelText:t}}const U=e.defineComponent({__name:"InputLabel",props:{model:{}},setup(o){const r=o,{showLabel:a,showRequired:t,labelText:n}=ie(e.toRef(r,"model"));return(l,s)=>e.unref(a)?(e.openBlock(),e.createBlock(e.unref(u.IonLabel),{key:0,slot:"label",class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(u.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>s[0]||(s[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)}}),z=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.value),s=e.computed(()=>a.schema),{isValid:c,onValueUpdate:d,onFocus:y,onReset:h,getErrors:B}=L(n,t,l,s),f=e.computed(()=>{if(t.value.pattern)return le(t.value.pattern)});return e.watch(()=>t.value.value,w=>l.value=w),r({onValueUpdate:d,onReset:h,getErrors:B,isValid:c}),(w,p)=>{var i;const I=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(u.IonInput),{ref_key:"inputRef",ref:n,modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=C=>l.value=C),"clear-input":!0,fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:w.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:((i=f.value)==null?void 0:i.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(y),onIonChange:e.unref(d),onIonBlur:e.unref(d)},{default:e.withCtx(()=>[e.createVNode(U,{model:t.value},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(u.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(u.IonLabel),{key:1,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),w.type==="password"?(e.openBlock(),e.createBlock(e.unref(u.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"])),[[I,f.value]])}}}),ue=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return r({onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},getErrors:()=>{var n,l;return((l=(n=t.value)==null?void 0:n.getErrors)==null?void 0:l.call(n))??[]}}),(n,l)=>(e.openBlock(),e.createBlock(z,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=s=>a.value=s),type:"text",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),de=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.max),s=e.ref(t.value.max),c=e.ref(t.value.value),d=e.computed(()=>a.schema);async function y(b){if(b===void 0)return t.value.required?"This field is required":!0;const M=new Date(b);return isNaN(M.getTime())?"Invalid date string":s.value&&M<new Date(s.value)?`Date must be greater than ${s.value}`:l.value&&M>new Date(l.value)?`Date must be less than ${l.value}`:!0}const{onValueUpdate:h,onFocus:B,getErrors:f}=L(n,t,c,d,y);function w(){c.value="",t.value.error="",t.value.value=""}const p=e.computed(()=>{if(t.value.pattern)return t.value.pattern;let b=t.value.pattern??"DD/MMM/YYYY";return t.value.enableTime&&(b+=" HH:mm:ss"),b}),I=/[-/.,:\s]+/,i=e.computed(()=>p.value.split(I)),C=e.computed(()=>p.value.match(/[-/.,:\s]+/g)||[]),k=e.ref({});e.watch(()=>t.value.value,b=>{c.value=b,S(b)});async function D(b,M,g){let _=M??(g==null?void 0:g.target).value;/MM|MMM|MMMM/.test(b)&&(_=P(_,b)),Number.isInteger(parseInt(_))&&(_=R(parseInt(_))),k.value[b]=_;const N=i.value.reduce((m,x,V)=>(m+=k.value[x]+(V<i.value.length-1?C.value[V]:""),m),"");c.value=N,await h()}async function S(b){const M=ne(b,p.value).split(I);i.value.forEach((g,_)=>D(g,M[_])),await h()}return r({onValueUpdate:h,onReset:w,getErrors:f}),e.onMounted(()=>{i.value.forEach((b,M)=>{var g;k.value[b]=((g=c.value)==null?void 0:g.split(I)[M])??""})}),(b,M)=>(e.openBlock(),e.createBlock(e.unref(u.IonInput),{type:"text",ref_key:"inputRef",ref:n,"clear-input":!0,fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,disabled:t.value.disabled,onIonFocus:e.unref(B),onIonBlur:e.unref(h)},{default:e.withCtx(()=>[e.createVNode(U,{model:t.value},null,8,["model"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(g,_)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[/MM|MMM|MMMM/.test(g)?(e.openBlock(),e.createBlock(e.unref(u.IonSelect),{slot:"start",key:`select-${g}`,interface:"popover",style:e.normalizeStyle({minWidth:t.value.enableTime?"10%":"30%"}),placeholder:g,value:k.value[g],onIonFocus:e.unref(B),onIonInput:N=>D(g,void 0,N),onIonBlur:N=>D(g,void 0,N)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(q),(N,m)=>(e.openBlock(),e.createBlock(e.unref(u.IonSelectOption),{key:N,value:e.unref(P)(m+1,g)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(P)(m+1,g)),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["style","placeholder","value","onIonFocus","onIonInput","onIonBlur"])):(e.openBlock(),e.createBlock(e.unref(u.IonInput),{slot:"start",key:`input-${g}`,placeholder:g,autofocus:t.value.autoFocus,value:k.value[g],onIonFocus:e.unref(B),onIonInput:N=>D(g,void 0,N),onIonBlur:N=>D(g,void 0,N)},null,8,["placeholder","autofocus","value","onIonFocus","onIonInput","onIonBlur"])),_<i.value.length-1?(e.openBlock(),e.createBlock(e.unref(u.IonLabel),{slot:"start",key:`separator-${_}`},{default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(C.value[_])+" ",1)]),_:2},1024)):e.createCommentVNode("",!0)],64))),256)),e.createVNode(e.unref(u.IonLabel),{slot:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(X),{"enable-seconds":"","time-picker-inline":"",teleport:"","model-value":c.value,"auto-apply":!t.value.enableTime,"enable-time-picker":t.value.enableTime??!1,maxDate:l.value,minDate:s.value,onDateUpdate:S},{trigger:e.withCtx(()=>[e.createVNode(e.unref(u.IonButton),{fill:"clear"},{default:e.withCtx(()=>[e.createVNode(e.unref(u.IonIcon),{slot:"icon-only",icon:e.unref(O.calendar),"aria-hidden":"true",onClick:e.unref(B)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model-value","auto-apply","enable-time-picker","maxDate","minDate"])]),_:1})]),_:1},8,["fill","label-placement","required","error-text","autofocus","disabled","onIonFocus","onIonBlur"]))}}),fe=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return r({onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},getErrors:()=>{var n,l;return((l=(n=t.value)==null?void 0:n.getErrors)==null?void 0:l.call(n))??[]}}),(n,l)=>(e.openBlock(),e.createBlock(z,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=s=>a.value=s),type:"number",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),me=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return r({onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},getErrors:()=>{var n,l;return((l=(n=t.value)==null?void 0:n.getErrors)==null?void 0:l.call(n))??[]}}),(n,l)=>(e.openBlock(),e.createBlock(z,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=s=>a.value=s),type:"email",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),pe=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return r({onReset:()=>{var n;return(n=t.value)==null?void 0:n.onReset()},onValueUpdate:()=>{var n;return(n=t.value)==null?void 0:n.onValueUpdate()},getErrors:()=>{var n,l;return((l=(n=t.value)==null?void 0:n.getErrors)==null?void 0:l.call(n))??[]}}),(n,l)=>(e.openBlock(),e.createBlock(z,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=s=>a.value=s),type:"password",schema:n.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),he=e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(null),s=e.ref(!1),c=e.ref([]),d=e.ref(""),y=e.ref(1),h=e.computed(()=>t.value.interface??"popover"),B=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),f=e.computed(()=>c.value.filter(m=>!!m.isChecked)),w=e.computed(()=>!d.value&&A(f.value)&&!s.value?t.value.placeholder??"Select an option":"");e.watch([d,()=>t.value.options],_,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,N,{immediate:!0,deep:!0});function p(){c.value.forEach(m=>G(m,c.value)),t.value.error="",d.value="",y.value=1,t.value.value=t.value.multiple?[]:""}function I(m){if(m.isChecked)return G(m,c.value);t.value.multiple?T(m,c.value):(p(),T(m,c.value),g()),d.value=""}function i(){switch(h.value){case"action-sheet":C();break;case"alert":k();break;case"popover":default:s.value=!0;break}}async function C(){if(await _(),t.value.multiple){s.value=!0;return}await(await u.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...c.value.map(x=>({text:x.label,cssClass:x.isChecked?"selected-option":"",handler:()=>(I(x),!1)})),{text:"Cancel",role:"cancel"}]})).present()}async function k(){await _();const m=c.value.map(V=>({label:V.label,type:t.value.multiple?"checkbox":"radio",value:V,checked:V.isChecked}));await(await u.alertController.create({header:t.value.label||"Select an option",inputs:m,buttons:[{text:"Cancel",role:"cancel"},{text:"OK",handler:V=>{if(t.value.multiple)c.value.forEach(F=>G(F,c.value)),V.forEach(F=>{const j=c.value.find(Ce=>Ce.value===F.value);j&&T(j,c.value)});else{p();const F=c.value.find(j=>j.value===V.value);F&&T(F,c.value)}g()}}]})).present()}async function D(){if(t.value.required&&A(f.value))return"This field is required";if(t.value.validation){const m=await t.value.validation(f.value,a==null?void 0:a.schema);if(m&&m.length)return m.join()}return!0}const{onFocus:S,applyValidationState:b}=L(n,t,e.computed(()=>t.value.multiple?f.value:f.value[0]),e.computed(()=>a==null?void 0:a.schema),D);function M(m){var x;m.target===((x=n.value)==null?void 0:x.$el)&&(S(),h.value==="popover"&&(s.value=!0))}async function g(m){var V;if((V=m==null?void 0:m.relatedTarget)!=null&&V.closest(".suggestions-list"))return;s.value=!1;const x=await D();x===!0?(t.value.error="",t.value.value=t.value.multiple?f.value:f.value[0]):t.value.error=typeof x=="string"?x:"Validation failed",await b(x===!0)}async function _(){const m=[];if(typeof t.value.options=="function"){const x=await t.value.options(d.value);m.push(...x.filter(V=>!!V.label))}else m.push(...ae(t.value.options??[],d.value));f.value.forEach(x=>T(x,m)),c.value=m}function N(){const m=t.value.value;m&&(Array.isArray(m)?m.forEach(x=>T(x,c.value)):T(typeof m=="object"?m:{value:m,label:m},c.value))}return r({onValueUpdate:g,onReset:p,getErrors:()=>t.value.error?[t.value.error]:[]}),(m,x)=>(e.openBlock(),e.createElementBlock("div",{class:"autocomplete-container",onFocusout:g,ref_key:"containerRef",ref:l},[e.createVNode(e.unref(u.IonInput),{ref_key:"inputRef",ref:n,modelValue:d.value,"onUpdate:modelValue":x[0]||(x[0]=V=>d.value=V),fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:m.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:w.value,disabled:t.value.disabled,counter:t.value.counter,onIonFocus:M,debounce:300,onClick:i},{default:e.withCtx(()=>[e.createVNode(U,{model:t.value},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(u.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(V,F)=>(e.openBlock(),e.createBlock(e.unref(u.IonChip),{key:F},{default:e.withCtx(()=>[e.createVNode(e.unref(u.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(V.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(u.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var V;return[e.createTextVNode(e.toDisplayString(((V=f.value[0])==null?void 0:V.label)??""),1)]}),_:1})),e.createVNode(e.unref(u.IonIcon),{slot:"end",icon:e.unref(O.chevronDown)},null,8,["icon"]),f.value.length>0||d.value?(e.openBlock(),e.createBlock(e.unref(u.IonIcon),{key:2,slot:"end",icon:e.unref(O.close),onClick:p,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),s.value&&c.value.length>0&&h.value==="popover"?(e.openBlock(),e.createBlock(e.unref(u.IonList),{key:0,class:e.normalizeClass(["suggestions-list",B.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,V=>(e.openBlock(),e.createBlock(e.unref(u.IonItem),{button:"",key:V.label,onClick:F=>I(V)},{default:e.withCtx(()=>[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(u.IonCheckbox),{key:0,slot:"start",checked:V.isChecked},null,8,["checked"])):e.createCommentVNode("",!0),e.createVNode(e.unref(u.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(V.label),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],544))}}),Z=(o,r)=>{const a=o.__vccOpts||o;for(const[t,n]of r)a[t]=n;return a},ke=Z(he,[["__scopeId","data-v-80c14c96"]]),ye=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.value),s=e.computed(()=>a.schema),{onValueUpdate:c,onFocus:d,onReset:y,getErrors:h}=L(n,t,l,s);return e.watch(()=>t.value.value,B=>l.value=B),r({onReset:y,onValueUpdate:c,getErrors:h}),(B,f)=>(e.openBlock(),e.createBlock(e.unref(u.IonTextarea),{ref_key:"inputRef",ref:n,modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=w=>l.value=w),"clear-input":!0,fill:t.value.fill??"outline","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(d),onIonChange:e.unref(c),onIonBlur:e.unref(c)},{default:e.withCtx(()=>[e.createVNode(U,{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"]))}}),ge={class:"ion-margin-end",style:{"flex-grow":"1"}},Ve={style:{display:"flex","justify-content":"flex-end"}},be=Z(e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=e.useModel(o,"modelValue"),t=e.ref([]),{dynamicRefs:n,resetForm:l,getFormErrors:s,updateFormValues:c}=K(),d=e.computed(()=>t.value.map((p,I)=>({label:`Set ${I+1}`,value:I,other:Object.entries(p).reduce((i,[C,k])=>(i[C]=k.value,i),{})})));e.watch(d,p=>{a.value.value=p},{deep:!0,immediate:!0}),e.onMounted(y);function y(){a.value.children&&t.value.push(H(a.value.children))}function h(p){t.value.splice(p,1)}function B(){l()}function f(){return s()}async function w(){await c()}return r({onValueUpdate:w,onReset:B,getErrors:f}),(p,I)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(i,C)=>(e.openBlock(),e.createElementBlock("div",{class:"repeat-input-wrapper",key:C},[e.createElementVNode("div",ge,[e.createVNode(e.unref(u.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(i),k=>{var D,S,b,M,g;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(Y)(i[k],p.data,p.computedData)?(e.openBlock(),e.createBlock(e.unref(u.IonCol),{key:`${C}-${k}`,size:((D=i[k].grid)==null?void 0:D.xs)??"12","size-sm":(S=i[k].grid)==null?void 0:S.sm,"size-md":(b=i[k].grid)==null?void 0:b.md,"size-lg":(M=i[k].grid)==null?void 0:M.lg,"size-xl":(g=i[k].grid)==null?void 0:g.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i[k].type),{modelValue:i[k],"onUpdate:modelValue":_=>i[k]=_,schema:i,"ref-key":`${C}-${k}`,ref_for:!0,ref_key:"dynamicRefs",ref:n},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",Ve,[C===t.value.length-1?(e.openBlock(),e.createBlock(e.unref(u.IonButton),{key:0,onClick:y,color:"primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(u.IonIcon),{slot:"icon-only",icon:e.unref(O.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),t.value.length>1?(e.openBlock(),e.createBlock(e.unref(u.IonButton),{key:1,onClick:k=>h(C),color:"warning"},{default:e.withCtx(()=>[e.createVNode(e.unref(u.IonIcon),{slot:"icon-only",icon:e.unref(O.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]))),128))}}),[["__scopeId","data-v-402695fe"]]),Be=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.value),s=e.computed(()=>a.schema),c=e.computed(()=>W(t.value)),{onValueUpdate:d,onFocus:y,getErrors:h}=L(n,t,l,s);function B(){l.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,f=>l.value=f),r({onValueUpdate:d,onReset:B,getErrors:h}),(f,w)=>(e.openBlock(),e.createBlock(e.unref(u.IonCheckbox),{modelValue:l.value,"onUpdate:modelValue":w[0]||(w[0]=p=>l.value=p),ref_key:"inputRef",ref:n,required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(y),onIonChange:e.unref(d),onIonBlur:e.unref(d)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.value),1)]),_:1},8,["modelValue","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),xe=e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.value),s=e.computed(()=>a.schema),c=e.ref([]),d=e.computed(()=>W(t.value)),y=e.computed(()=>t.value.labelPlacement?t.value.labelPlacement:"end"),{onValueUpdate:h,onFocus:B,getErrors:f}=L(n,t,l,s);function w(){t.value.error="",l.value=void 0,t.value.value=void 0}function p(i,C){return i.value===C.value}async function I(){typeof t.value.options=="function"?c.value=await t.value.options():c.value=t.value.options}return e.watch(()=>t.value.value,i=>l.value=i),r({onValueUpdate:h,onReset:w,getErrors:f}),e.onMounted(I),(i,C)=>(e.openBlock(),e.createBlock(e.unref(u.IonRadioGroup),{modelValue:l.value,"onUpdate:modelValue":C[0]||(C[0]=k=>l.value=k),ref_key:"inputRef",ref:n,required:t.value.required,"help-text":d.value,"error-text":t.value.error,disabled:t.value.disabled,compareWith:p,onIonFocus:e.unref(B),onIonChange:e.unref(h),onIonBlur:e.unref(h)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,k=>(e.openBlock(),e.createBlock(e.unref(u.IonRadio),{key:k.value,value:k,disabled:t.value.disabled,"label-placement":y.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.label),1)]),_:2},1032,["value","disabled","label-placement"]))),128))]),_:1},8,["modelValue","required","help-text","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),Q={install(o){o.component("VForm",ce),o.component("TextInput",ue),o.component("DateInput",de),o.component("NumberInput",fe),o.component("EmailInput",me),o.component("PasswordInput",pe),o.component("SelectInput",ke),o.component("TextAreaInput",ye),o.component("RepeatInput",be),o.component("CheckboxInput",Be),o.component("RadioInput",xe),o.directive("maskito",$.maskito)}};E.VForm=Q,E.default=Q,Object.defineProperties(E,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|