@uniquedj95/vform 2.0.3 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +256 -167
  2. package/dist/components/inputs/BaseInput.vue.d.ts +5 -6
  3. package/dist/components/inputs/BaseInput.vue.d.ts.map +1 -1
  4. package/dist/components/inputs/CheckboxInput.vue.d.ts +2 -3
  5. package/dist/components/inputs/CheckboxInput.vue.d.ts.map +1 -1
  6. package/dist/components/inputs/DateInput.vue.d.ts +2 -3
  7. package/dist/components/inputs/DateInput.vue.d.ts.map +1 -1
  8. package/dist/components/inputs/EmailInput.vue.d.ts +6 -4
  9. package/dist/components/inputs/EmailInput.vue.d.ts.map +1 -1
  10. package/dist/components/inputs/NumberInput.vue.d.ts +6 -4
  11. package/dist/components/inputs/NumberInput.vue.d.ts.map +1 -1
  12. package/dist/components/inputs/PasswordInput.vue.d.ts +6 -4
  13. package/dist/components/inputs/PasswordInput.vue.d.ts.map +1 -1
  14. package/dist/components/inputs/RepeatInput.vue.d.ts.map +1 -1
  15. package/dist/components/inputs/SelectInput.vue.d.ts +2 -1
  16. package/dist/components/inputs/SelectInput.vue.d.ts.map +1 -1
  17. package/dist/components/inputs/TextAreaInput.vue.d.ts +3 -5
  18. package/dist/components/inputs/TextAreaInput.vue.d.ts.map +1 -1
  19. package/dist/components/inputs/TextInput.vue.d.ts +6 -4
  20. package/dist/components/inputs/TextInput.vue.d.ts.map +1 -1
  21. package/dist/components/shared/InputLabel.vue.d.ts +7 -0
  22. package/dist/components/shared/InputLabel.vue.d.ts.map +1 -0
  23. package/dist/components/vForm.vue.d.ts +2 -2
  24. package/dist/components/vForm.vue.d.ts.map +1 -1
  25. package/dist/composables/useCheckboxLabelText.d.ts +10 -0
  26. package/dist/composables/useCheckboxLabelText.d.ts.map +1 -0
  27. package/dist/composables/useDataTransformation.d.ts +11 -0
  28. package/dist/composables/useDataTransformation.d.ts.map +1 -0
  29. package/dist/composables/useFormValidation.d.ts +11 -0
  30. package/dist/composables/useFormValidation.d.ts.map +1 -0
  31. package/dist/composables/useInputProps.d.ts +25 -0
  32. package/dist/composables/useInputProps.d.ts.map +1 -0
  33. package/dist/composables/useInputValidation.d.ts +16 -0
  34. package/dist/composables/useInputValidation.d.ts.map +1 -0
  35. package/dist/composables/useLabelTemplate.d.ts +12 -0
  36. package/dist/composables/useLabelTemplate.d.ts.map +1 -0
  37. package/dist/composables/useValidationStyles.d.ts +10 -0
  38. package/dist/composables/useValidationStyles.d.ts.map +1 -0
  39. package/dist/constants/index.d.ts +41 -0
  40. package/dist/constants/index.d.ts.map +1 -0
  41. package/dist/index.cjs.js +1 -1
  42. package/dist/index.cjs.js.map +1 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.es.js +793 -701
  45. package/dist/index.es.js.map +1 -1
  46. package/dist/index.umd.js +1 -1
  47. package/dist/index.umd.js.map +1 -1
  48. package/dist/types/index.d.ts +10 -10
  49. package/dist/types/index.d.ts.map +1 -1
  50. package/dist/utils/index.d.ts +1 -0
  51. package/dist/utils/index.d.ts.map +1 -1
  52. package/dist/utils/maskito.d.ts +7 -0
  53. package/dist/utils/maskito.d.ts.map +1 -0
  54. package/dist/vform.css +1 -1
  55. package/package.json +48 -3
package/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(L,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@ionic/vue"),require("@vuepic/vue-datepicker")):typeof define=="function"&&define.amd?define(["exports","vue","@ionic/vue","@vuepic/vue-datepicker"],e):(L=typeof globalThis<"u"?globalThis:L||self,e(L.VForm={},L.Vue,L.IonicVue,L.VueDatePicker))})(this,function(L,e,d,H){"use strict";const E=["January","February","March","April","May","June","July","August","September","October","November","December"];function q(l){return l==null||Array.isArray(l)&&!l.length||typeof l=="object"&&!Object.keys(l).length||!l}function $(l,f="DD/MMM/YYYY"){const n=new Date(l);if(isNaN(n.getTime()))throw new Error("Invalid date string");const t=S(n.getDate()),a=n.getMonth()+1,o=n.getFullYear(),s=S(n.getHours()),c=S(n.getMinutes()),x=S(n.getSeconds()),C=n.getMilliseconds(),i={DD:t,D:n.getDate().toString(),MMM:E[n.getMonth()].slice(0,3),MMMM:E[n.getMonth()],MM:S(a),M:a.toString(),YYYY:o.toString(),YY:o.toString().slice(-2),HH:s,H:n.getHours().toString(),mm:c,m:n.getMinutes().toString(),ss:x,s:n.getSeconds().toString(),SSS:S(C),S:C.toString().slice(0,1)};return f.replace(/DD|D|MMMM|MMM|MM|M|YYYY|YY|HH|H|mm|m|ss|s|SSS|S/g,r=>i[r]||r)}function S(l){return l<10?`0${l}`:`${l}`}function O(l,f){if(Number.isInteger(parseInt(l))&&Number(l)>0){if(f==="MMMM")return E[Number(l)-1];if(f==="MMM")return E[Number(l)-1].slice(0,3);if(f==="MM")return S(Number(l))}return l}function U(l,f,n){return typeof l.condition=="function"?l.condition(f,n):!0}function j(l){if(typeof l!="object"||l===null)return l;if(Array.isArray(l))return l.map(n=>j(n));const f={};return Object.entries(l).forEach(([n,t])=>{typeof t=="function"?f[n]=t.bind(f):f[n]=j(t)}),f}function Y(l,f){return f.findIndex(n=>n.value===l.value||n.label===l.label||n.value===l.label||n.label===l.value)}function D(l,f){const n=Y(l,f);n>=0?f[n].isChecked=!0:f.push({...l,isChecked:!0})}function z(l,f){const n=Y(l,f);n>=0&&(f[n].isChecked=!1)}function J(l,f){return f?l.filter(n=>JSON.stringify(n).toLowerCase().includes(f.toLowerCase())):l}const Z=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:f,emit:n}){const t=l,a=n,o=e.ref([]),s=e.ref(t.schema),c=e.computed(()=>Object.entries(s.value).reduce((u,[m,k])=>(k.value!==void 0&&(typeof k.onChange=="function"?u[m]=k.onChange(k.value):u[m]=k.value),u),{})),x=e.computed(()=>Object.entries(c.value).reduce((u,[m,k])=>(k!==void 0&&(s.value[m].children!==void 0&&(u[m]=k.map(({other:N})=>Object.entries(N).reduce((v,[g,B])=>(typeof s.value[m].children[g].computedValue=="function"?v[g]=s.value[m].children[g].computedValue(B,s.value):v[g]=B,v),{}))),typeof s.value[m].computedValue=="function"&&k!==void 0&&(u[m]=s.value[m].computedValue(k,s.value))),u),{}));async function C(){const u=[];for(const m of o.value)typeof(m==null?void 0:m.onValueUpdate)=="function"&&await m.onValueUpdate(),typeof(m==null?void 0:m.getErrors)=="function"&&u.push(...m.getErrors());return u.every(q)}async function i(){await C()&&a("submit",c.value,x.value)}function r(){o.value.forEach(u=>{typeof(u==null?void 0:u.onReset)=="function"&&u.onReset()})}function h(){r(),a("clear")}function V(){r(),a("cancel")}return e.watch(c,async()=>{for(const[u,m]of Object.entries(s.value))U(m,c.value,x.value)||(m.value=t.schema[u].value)},{deep:!0,immediate:!0}),e.watch(()=>t.schema,u=>{for(const[m,k]of Object.entries(u))k.value!==void 0&&(s.value[m].value=k.value)},{deep:!0,immediate:!0}),f({resetForm:r,isFormValid:C,resolveData:()=>({formData:c.value,computedData:x.value})}),(u,m)=>(e.openBlock(),e.createBlock(e.unref(d.IonGrid),null,{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(s.value),k=>{var N,v,g,B,y;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(U)(s.value[k],c.value,x.value)?(e.openBlock(),e.createBlock(e.unref(d.IonCol),{key:k,size:((N=s.value[k].grid)==null?void 0:N.xs)??"12","size-sm":(v=s.value[k].grid)==null?void 0:v.sm,"size-md":(g=s.value[k].grid)==null?void 0:g.md,"size-lg":(B=s.value[k].grid)==null?void 0:B.lg,"size-xl":(y=s.value[k].grid)==null?void 0:y.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value[k].type),{modelValue:s.value[k],"onUpdate:modelValue":M=>s.value[k]=M,schema:s.value,ref_for:!0,ref_key:"dynamicRefs",ref:o,"ref-key":k},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}),u.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(d.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:u.buttonPlacement}])},{default:e.withCtx(()=>[u.showCancelButton?(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:0,onClick:V},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),u.showClearButton?(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:1,onClick:h},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.customButtons,k=>(e.openBlock(),e.createBlock(e.unref(d.IonButton),{onClick:k.action},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.label),1)]),_:2},1032,["onClick"]))),256)),e.createVNode(e.unref(d.IonButton),{onClick:i},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.submitButtonText??"Submit"),1)]),_:1})]),_:1},8,["style"])]),_:1}))]),_:1}))}}),F=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:f}){const n=l,t=e.useModel(l,"modelValue"),a=e.ref(null),o=e.ref(t.value.value);e.watch(()=>t.value.value,i=>o.value=i);function s(){o.value="",t.value.error="",t.value.value=""}async function c(){if(t.value.required&&!o.value)return t.value.error="This field is required",!1;if(t.value.validation){const i=await t.value.validation(o.value,n==null?void 0:n.schema);if(i&&i.length)return t.value.error=i.join(),!1}return!0}async function x(){var i,r,h,V,u;(i=a.value)==null||i.$el.classList.remove("ion-invalid"),(r=a.value)==null||r.$el.classList.remove("ion-valid"),await c()?(t.value.error="",t.value.value=o.value,(h=a.value)==null||h.$el.classList.add("ion-valid")):(V=a.value)==null||V.$el.classList.add("ion-invalid"),(u=a.value)==null||u.$el.classList.add("ion-touched")}function C(){var i,r;(i=a.value)==null||i.$el.classList.remove("ion-touched"),(r=a.value)==null||r.$el.classList.remove("ion-invalid"),t.value.error=""}return f({onValueUpdate:x,onReset:s,getErrors:()=>t.value.error}),(i,r)=>(e.openBlock(),e.createBlock(e.unref(d.IonInput),{ref_key:"inputRef",ref:a,modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=h=>o.value=h),"clear-input":!0,fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:i.type??"text",required:t.value.required,"error-text":t.value.error,"auto-focus":t.value.autoFocus,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:C,onIonChange:x,onIonBlur:x},{default:e.withCtx(()=>[t.value.label?(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:0,slot:"label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.label)+" ",1),t.value.required?(e.openBlock(),e.createBlock(e.unref(d.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>r[1]||(r[1]=[e.createTextVNode("*")])),_:1,__:[1]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:1,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(d.IonLabel),{key:2,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),i.type==="password"?(e.openBlock(),e.createBlock(e.unref(d.IonInputPasswordToggle),{key:3,slot:"end"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","auto-focus","placeholder","disabled","counter","min","max","max-length","min-length","pattern"]))}}),G=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:f}){const n=l,t=e.useModel(l,"modelValue"),a=e.ref(null);return f({onReset:()=>{var o;return(o=a.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=a.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o;return(o=a.value)==null?void 0:o.getErrors()}}),(o,s)=>(e.openBlock(),e.createBlock(F,{modelValue:t.value,"onUpdate:modelValue":s[0]||(s[0]=c=>t.value=c),type:"text",schema:n.schema,ref_key:"inputRef",ref:a},null,8,["modelValue","schema"]))}}),K="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 112v288M400 256H112' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/></svg>",W="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M480 128a64 64 0 0 0-64-64h-16V48.45c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 368 48v16H144V48.45c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 112 48v16H96a64 64 0 0 0-64 64v12a4 4 0 0 0 4 4h440a4 4 0 0 0 4-4ZM32 416a64 64 0 0 0 64 64h320a64 64 0 0 0 64-64V179a3 3 0 0 0-3-3H35a3 3 0 0 0-3 3Zm344-208a24 24 0 1 1-24 24 24 24 0 0 1 24-24m0 80a24 24 0 1 1-24 24 24 24 0 0 1 24-24m-80-80a24 24 0 1 1-24 24 24 24 0 0 1 24-24m0 80a24 24 0 1 1-24 24 24 24 0 0 1 24-24m0 80a24 24 0 1 1-24 24 24 24 0 0 1 24-24m-80-80a24 24 0 1 1-24 24 24 24 0 0 1 24-24m0 80a24 24 0 1 1-24 24 24 24 0 0 1 24-24m-80-80a24 24 0 1 1-24 24 24 24 0 0 1 24-24m0 80a24 24 0 1 1-24 24 24 24 0 0 1 24-24'/></svg>",Q="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m112 184 144 144 144-144' stroke-linecap='round' stroke-linejoin='round' stroke-width='48px' class='ionicon-fill-none'/></svg>",X="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m289.94 256 95-95A24 24 0 0 0 351 127l-95 95-95-95a24 24 0 0 0-34 34l95 95-95 95a24 24 0 1 0 34 34l95-95 95 95a24 24 0 0 0 34-34Z'/></svg>",ee="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M400 256H112' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/></svg>",te=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:f}){const n=l,t=e.useModel(l,"modelValue"),a=e.ref(null),o=e.ref(t.value.max),s=e.ref(t.value.max),c=e.ref(t.value.value),x=e.computed(()=>{if(t.value.pattern)return t.value.pattern;let g=t.value.pattern??"DD/MMM/YYYY";return t.value.enableTime&&(g+=" HH:mm:ss"),g}),C=/[-/.,:\s]+/,i=e.computed(()=>x.value.split(C)),r=e.computed(()=>x.value.match(/[-/.,:\s]+/g)||[]),h=e.ref({});e.watch(()=>t.value.value,g=>{c.value=g,N(g)});async function V(){if(c.value===void 0)return t.value.required?(t.value.error="This field is required",!1):!0;const g=new Date(c.value);if(isNaN(g.getTime()))return t.value.error="Invalid date string",!1;if(s.value&&g<new Date(s.value))return t.value.error=`Date must be greater than ${s.value}`,!1;if(o.value&&g>new Date(o.value))return t.value.error=`Date must be less than ${o.value}`,!1;if(t.value.validation){const B=await t.value.validation(c.value,n==null?void 0:n.schema);if(B&&B.length)return t.value.error=B.toString(),!1}return!0}async function u(){var g,B,y,M,I;(g=a.value)==null||g.$el.classList.remove("ion-invalid"),(B=a.value)==null||B.$el.classList.remove("ion-valid"),await V()?(t.value.error="",t.value.value=c.value,(y=a.value)==null||y.$el.classList.add("ion-valid")):(M=a.value)==null||M.$el.classList.add("ion-invalid"),(I=a.value)==null||I.$el.classList.add("ion-touched")}function m(){var g,B;(g=a.value)==null||g.$el.classList.remove("ion-touched"),(B=a.value)==null||B.$el.classList.remove("ion-invalid"),t.value.error=""}async function k(g,B,y){let M=B??(y==null?void 0:y.target).value;/MM|MMM|MMMM/.test(g)&&(M=O(M,g)),Number.isInteger(parseInt(M))&&(M=S(parseInt(M))),h.value[g]=M;const I=i.value.reduce((p,w,b)=>(p+=h.value[w]+(b<i.value.length-1?r.value[b]:""),p),"");c.value=I,await u()}async function N(g){const B=$(g,x.value).split(C);i.value.forEach((y,M)=>k(y,B[M])),await u()}function v(){c.value="",t.value.error="",t.value.value=""}return f({onValueUpdate:u,onReset:v,getErrors:()=>t.value.error}),e.onMounted(()=>{i.value.forEach((g,B)=>{var y;h.value[g]=((y=c.value)==null?void 0:y.split(C)[B])??""})}),(g,B)=>(e.openBlock(),e.createBlock(e.unref(d.IonInput),{type:"text",ref_key:"inputRef",ref:a,"clear-input":!0,fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",required:t.value.required,"error-text":t.value.error,"auto-focus":t.value.autoFocus,disabled:t.value.disabled,onIonFocus:m,onIonBlur:u},{default:e.withCtx(()=>[t.value.label?(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:0,slot:"label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.label)+" ",1),t.value.required?(e.openBlock(),e.createBlock(e.unref(d.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>B[0]||(B[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(y,M)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[/MM|MMM|MMMM/.test(y)?(e.openBlock(),e.createBlock(e.unref(d.IonSelect),{key:0,slot:"start",interface:"popover",style:e.normalizeStyle({minWidth:t.value.enableTime?"10%":"30%"}),placeholder:y,value:h.value[y],onIonFocus:m,onIonInput:I=>k(y,void 0,I),onIonBlur:I=>k(y,void 0,I)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(E),(I,p)=>(e.openBlock(),e.createBlock(e.unref(d.IonSelectOption),{key:I,value:e.unref(O)(p+1,y)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(O)(p+1,y)),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["style","placeholder","value","onIonInput","onIonBlur"])):(e.openBlock(),e.createBlock(e.unref(d.IonInput),{key:1,slot:"start",placeholder:y,"auto-focus":t.value.autoFocus,value:h.value[y],onIonFocus:m,onIonInput:I=>k(y,void 0,I),onIonBlur:I=>k(y,void 0,I)},null,8,["placeholder","auto-focus","value","onIonInput","onIonBlur"])),M<i.value.length-1?(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:2,slot:"start"},{default:e.withCtx(()=>[e.createTextVNode("  "+e.toDisplayString(r.value[M])+"       ",1)]),_:2},1024)):e.createCommentVNode("",!0)],64))),256)),e.createVNode(e.unref(d.IonLabel),{slot:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(H),{"enable-seconds":"","time-picker-inline":"",teleport:"","model-value":c.value,"auto-apply":!t.value.enableTime,"enable-time-picker":t.value.enableTime??!1,maxDate:o.value,minDate:s.value,onDateUpdate:N},{trigger:e.withCtx(()=>[e.createVNode(e.unref(d.IonButton),{fill:"clear"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonIcon),{slot:"icon-only",icon:e.unref(W),"aria-hidden":"true",onClick:m},null,8,["icon"])]),_:1})]),_:1},8,["model-value","auto-apply","enable-time-picker","maxDate","minDate"])]),_:1})]),_:1},8,["fill","label-placement","required","error-text","auto-focus","disabled"]))}}),le=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:f}){const n=l,t=e.useModel(l,"modelValue"),a=e.ref(null);return f({onReset:()=>{var o;return(o=a.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=a.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o;return(o=a.value)==null?void 0:o.getErrors()}}),(o,s)=>(e.openBlock(),e.createBlock(F,{modelValue:t.value,"onUpdate:modelValue":s[0]||(s[0]=c=>t.value=c),type:"number",schema:n.schema,ref_key:"inputRef",ref:a},null,8,["modelValue","schema"]))}}),ae=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:f}){const n=l,t=e.useModel(l,"modelValue"),a=e.ref(null);return f({onReset:()=>{var o;return(o=a.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=a.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o;return(o=a.value)==null?void 0:o.getErrors()}}),(o,s)=>(e.openBlock(),e.createBlock(F,{modelValue:t.value,"onUpdate:modelValue":s[0]||(s[0]=c=>t.value=c),type:"email",schema:n.schema,ref_key:"inputRef",ref:a},null,8,["modelValue","schema"]))}}),oe=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:f}){const n=l,t=e.useModel(l,"modelValue"),a=e.ref(null);return f({onReset:()=>{var o;return(o=a.value)==null?void 0:o.onReset()},onValueUpdate:()=>{var o;return(o=a.value)==null?void 0:o.onValueUpdate()},getErrors:()=>{var o;return(o=a.value)==null?void 0:o.getErrors()}}),(o,s)=>(e.openBlock(),e.createBlock(F,{modelValue:t.value,"onUpdate:modelValue":s[0]||(s[0]=c=>t.value=c),type:"password",schema:n.schema,ref_key:"inputRef",ref:a},null,8,["modelValue","schema"]))}}),ne=((l,f)=>{const n=l.__vccOpts||l;for(const[t,a]of f)n[t]=a;return n})(e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:f}){const n=l,t=e.useModel(l,"modelValue"),a=e.ref(null),o=e.ref(null),s=e.ref(!1),c=e.ref([]),x=e.ref(""),C=e.ref(1),i=e.computed(()=>t.value.interface??"popover"),r=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),h=e.computed(()=>c.value.filter(p=>!!p.isChecked)),V=e.computed(()=>!x.value&&q(h.value)&&!s.value?t.value.placeholder??"Select an option":"");e.watch([x,()=>t.value.options],M,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,I,{immediate:!0,deep:!0});function u(){c.value.forEach(p=>z(p,c.value)),t.value.error="",x.value="",C.value=1,t.value.value=t.value.multiple?[]:""}function m(p){if(p.isChecked)return z(p,c.value);t.value.multiple?D(p,c.value):(u(),D(p,c.value),y()),x.value=""}function k(){switch(i.value){case"action-sheet":N();break;case"alert":v();break;case"popover":default:s.value=!0;break}}async function N(){if(await M(),t.value.multiple){s.value=!0;return}await(await d.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...c.value.map(w=>({text:w.label,cssClass:w.isChecked?"selected-option":"",handler:()=>(m(w),!1)})),{text:"Cancel",role:"cancel"}]})).present()}async function v(){await M();const p=c.value.map(b=>({label:b.label,type:t.value.multiple?"checkbox":"radio",value:b,checked:b.isChecked}));await(await d.alertController.create({header:t.value.label||"Select an option",inputs:p,buttons:[{text:"Cancel",role:"cancel"},{text:"OK",handler:b=>{if(t.value.multiple)c.value.forEach(_=>z(_,c.value)),b.forEach(_=>{const T=c.value.find(R=>R.value===_.value);T&&D(T,c.value)});else{u();const _=c.value.find(T=>T.value===b.value);_&&D(_,c.value)}y()}}]})).present()}function g(p){var w,b,_;p.target===((w=a.value)==null?void 0:w.$el)&&((b=a.value)==null||b.$el.classList.remove("ion-touched"),(_=a.value)==null||_.$el.classList.remove("ion-invalid"),t.value.error="",i.value==="popover"&&(s.value=!0))}async function B(){if(t.value.required&&q(h.value))return t.value.error="This field is required",!1;if(t.value.validation){const p=await t.value.validation(h.value,n==null?void 0:n.schema);if(p&&p.length)return t.value.error=p.join(),!1}return!0}async function y(p){var w,b,_,T,R,P;(w=p==null?void 0:p.relatedTarget)!=null&&w.closest(".suggestions-list")||(s.value=!1,(b=a.value)==null||b.$el.classList.remove("ion-invalid"),(_=a.value)==null||_.$el.classList.remove("ion-valid"),await B()?(t.value.error="",t.value.value=t.value.multiple?h.value:h.value[0],(T=a.value)==null||T.$el.classList.add("ion-valid")):(R=a.value)==null||R.$el.classList.add("ion-invalid"),(P=a.value)==null||P.$el.classList.add("ion-touched"))}async function M(){const p=[];if(typeof t.value.options=="function"){const w=await t.value.options(x.value);p.push(...w.filter(b=>!!b.label))}else p.push(...J(t.value.options??[],x.value));h.value.forEach(w=>D(w,p)),c.value=p}function I(){const p=t.value.value;p&&(Array.isArray(p)?p.forEach(w=>D(w,c.value)):D(typeof p=="object"?p:{value:p,label:p},c.value))}return f({onValueUpdate:y,onReset:u,getErrors:()=>t.value.error}),(p,w)=>(e.openBlock(),e.createElementBlock("div",{class:"autocomplete-container",onFocusout:y,ref_key:"containerRef",ref:o},[e.createVNode(e.unref(d.IonInput),{ref_key:"inputRef",ref:a,modelValue:x.value,"onUpdate:modelValue":w[0]||(w[0]=b=>x.value=b),fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:p.type??"text",required:t.value.required,"error-text":t.value.error,"auto-focus":t.value.autoFocus,placeholder:V.value,disabled:t.value.disabled,counter:t.value.counter,onIonFocus:g,debounce:300,onClick:k},{default:e.withCtx(()=>[t.value.label?(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:0,slot:"label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.label)+" ",1),t.value.required?(e.openBlock(),e.createBlock(e.unref(d.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>w[1]||(w[1]=[e.createTextVNode("*")])),_:1,__:[1]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:1,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(b,_)=>(e.openBlock(),e.createBlock(e.unref(d.IonChip),{key:_},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(b.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:2,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var b;return[e.createTextVNode(e.toDisplayString(((b=h.value[0])==null?void 0:b.label)??""),1)]}),_:1})),e.createVNode(e.unref(d.IonIcon),{slot:"end",icon:e.unref(Q)},null,8,["icon"]),h.value.length>0||x.value?(e.openBlock(),e.createBlock(e.unref(d.IonIcon),{key:3,slot:"end",icon:e.unref(X),onClick:u,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","auto-focus","placeholder","disabled","counter"]),s.value&&c.value.length>0&&i.value==="popover"?(e.openBlock(),e.createBlock(e.unref(d.IonList),{key:0,class:e.normalizeClass(["suggestions-list",r.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,b=>(e.openBlock(),e.createBlock(e.unref(d.IonItem),{button:"",key:b.label,onClick:_=>m(b)},{default:e.withCtx(()=>[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(d.IonCheckbox),{key:0,slot:"start",checked:b.isChecked},null,8,["checked"])):e.createCommentVNode("",!0),e.createVNode(e.unref(d.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))}}),[["__scopeId","data-v-6c4b4a28"]]),re=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:f}){const n=l,t=e.useModel(l,"modelValue"),a=e.ref(null),o=e.ref(t.value.value);e.watch(()=>t.value.value,i=>o.value=i);function s(){var i,r;(i=a.value)==null||i.$el.classList.remove("ion-touched"),(r=a.value)==null||r.$el.classList.remove("ion-invalid"),t.value.error=""}function c(){o.value="",t.value.error="",t.value.value=""}async function x(){if(t.value.required&&!o.value)return t.value.error="This field is required",!1;if(typeof t.value.validation=="function"){const i=await t.value.validation(o.value,n.schema);if(i&&i.length)return t.value.error=i.join(),!1}return!0}async function C(){var i,r,h,V,u;(i=a.value)==null||i.$el.classList.remove("ion-invalid"),(r=a.value)==null||r.$el.classList.remove("ion-valid"),await x()?(t.value.error="",t.value.value=o.value,(h=a.value)==null||h.$el.classList.add("ion-valid")):(V=a.value)==null||V.$el.classList.add("ion-invalid"),(u=a.value)==null||u.$el.classList.add("ion-touched")}return f({onReset:c,onValueUpdate:C,getErrors:()=>t.value.error}),(i,r)=>(e.openBlock(),e.createBlock(e.unref(d.IonTextarea),{ref_key:"inputRef",ref:a,modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=h=>o.value=h),"clear-input":!0,fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",required:t.value.required,"error-text":t.value.error,"auto-focus":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:s,onIonChange:C,onIonBlur:C},{default:e.withCtx(()=>[t.value.label?(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:0,slot:"label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.label)+" ",1),t.value.required?(e.openBlock(),e.createBlock(e.unref(d.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>r[1]||(r[1]=[e.createTextVNode("*")])),_:1,__:[1]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","required","error-text","auto-focus","placeholder","disabled","counter","min","max","rows","cols","auto-grow","max-length","min-length","pattern"]))}}),ie={style:{display:"flex","justify-content":"space-between","align-items":"baseline"}},se={class:"ion-margin-end",style:{"flex-grow":"1"}},ce={style:{display:"flex","justify-content":"flex-end"}},ue=e.defineComponent({__name:"RepeatInput",props:e.mergeModels({schema:{},data:{},computedData:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:f}){const n=e.useModel(l,"modelValue"),t=e.ref([]),a=e.ref([]),o=e.computed(()=>t.value.map((r,h)=>({label:`Set ${h+1}`,value:h,other:Object.entries(r).reduce((V,[u,m])=>(V[u]=m.value,V),{})})));e.watch(o,r=>{n.value.value=r},{deep:!0,immediate:!0}),e.onMounted(s);function s(){n.value.children&&t.value.push(j(n.value.children))}function c(r){t.value.splice(r,1)}function x(){a.value.forEach(r=>{typeof(r==null?void 0:r.onReset)=="function"&&r.onReset()})}function C(){const r=[];for(const h of a.value)typeof(h==null?void 0:h.getErrors)=="function"&&r.push(h.getErrors());return r}async function i(){for(const r of a.value)typeof(r==null?void 0:r.onValueUpdate)=="function"&&await r.onValueUpdate()}return f({onValueUpdate:i,onReset:x,getErrors:C}),(r,h)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(V,u)=>(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("div",se,[e.createVNode(e.unref(d.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(V),m=>{var k,N,v,g,B;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(U)(V[m],r.data,r.computedData)?(e.openBlock(),e.createBlock(e.unref(d.IonCol),{key:`${u}-${m}`,size:((k=V[m].grid)==null?void 0:k.xs)??"12","size-sm":(N=V[m].grid)==null?void 0:N.sm,"size-md":(v=V[m].grid)==null?void 0:v.md,"size-lg":(g=V[m].grid)==null?void 0:g.lg,"size-xl":(B=V[m].grid)==null?void 0:B.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(V[m].type),{modelValue:V[m],"onUpdate:modelValue":y=>V[m]=y,schema:V,"ref-key":`${u}-${m}`,ref_for:!0,ref_key:"dynamicRefs",ref:a},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",ce,[u===t.value.length-1?(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:0,onClick:s,color:"primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonIcon),{slot:"icon-only",icon:e.unref(K)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),t.value.length>1?(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:1,onClick:m=>c(u),color:"warning"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonIcon),{slot:"icon-only",icon:e.unref(ee)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]))),256))}}),de=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(l,{expose:f}){const n=l,t=e.useModel(l,"modelValue"),a=e.ref(null),o=e.ref(t.value.value);e.watch(()=>t.value.value,i=>o.value=i);function s(){o.value=!1,t.value.error="",t.value.value=!1}async function c(){if(t.value.required&&!o.value)return t.value.error="This field is required",!1;if(t.value.validation){const i=await t.value.validation(o.value,n==null?void 0:n.schema);if(i&&i.length)return t.value.error=i.join(),!1}return!0}async function x(){var i,r,h,V,u;(i=a.value)==null||i.$el.classList.remove("ion-invalid"),(r=a.value)==null||r.$el.classList.remove("ion-valid"),await c()?(t.value.error="",t.value.value=o.value,(h=a.value)==null||h.$el.classList.add("ion-valid")):(V=a.value)==null||V.$el.classList.add("ion-invalid"),(u=a.value)==null||u.$el.classList.add("ion-touched")}function C(){var i,r;(i=a.value)==null||i.$el.classList.remove("ion-touched"),(r=a.value)==null||r.$el.classList.remove("ion-invalid"),t.value.error=""}return f({onValueUpdate:x,onReset:s,getErrors:()=>t.value.error}),(i,r)=>(e.openBlock(),e.createBlock(e.unref(d.IonCheckbox),{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=h=>o.value=h),ref_key:"inputRef",ref:a,required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:C,onIonChange:x,onIonBlur:x},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.label)+" ",1),t.value.required?(e.openBlock(),e.createBlock(e.unref(d.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>r[1]||(r[1]=[e.createTextVNode("*")])),_:1,__:[1]})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","required","error-text","disabled"]))}}),A={install(l){l.component("VForm",Z),l.component("TextInput",G),l.component("DateInput",te),l.component("NumberInput",le),l.component("EmailInput",ae),l.component("PasswordInput",oe),l.component("SelectInput",ne),l.component("TextAreaInput",re),l.component("RepeatInput",ue),l.component("CheckboxInput",de)}};L.VForm=A,L.default=A,Object.defineProperties(L,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(F,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):(F=typeof globalThis<"u"?globalThis:F||self,e(F.VForm={},F.Vue,F.IonicVue,F.VueDatePicker,F.IoniconsIcons,F.MaskitoVue))})(this,function(F,e,i,X,O,$){"use strict";function v(o){return new Promise(r=>{requestAnimationFrame(async()=>{const l=await o.getInputElement();r(l)})})}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 l=te[o];return l[r%l.length]}function le(o){const r=[];let l="",t=0,n=0;for(;t<o.length;){const a=o[t];if(["d","a","*"].includes(a)){let s=1;if(o[t+1]==="{"){const c=o.indexOf("}",t+2);if(c!==-1){const u=o.slice(t+2,c);if(u.includes(",")){const[,k]=u.split(",").map(y=>parseInt(y.trim()));s=k||parseInt(u.split(",")[0])}else s=parseInt(u);t=c}}else{let c=t+1;for(;o[c]===a;)s++,c++;t=c-1}for(let c=0;c<s;c++)r.push(ee[a]),l+=oe(a,n++)}else r.push(a),l+=a;t++}return{mask:r,placeholder:l,elementPredicate:v}}const q=["January","February","March","April","May","June","July","August","September","October","November","December"];function Y(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 l=new Date(o);if(isNaN(l.getTime()))throw new Error("Invalid date string");const t=T(l.getDate()),n=l.getMonth()+1,a=l.getFullYear(),s=T(l.getHours()),c=T(l.getMinutes()),u=T(l.getSeconds()),k=l.getMilliseconds(),y={DD:t,D:l.getDate().toString(),MMM:q[l.getMonth()].slice(0,3),MMMM:q[l.getMonth()],MM:T(n),M:n.toString(),YYYY:a.toString(),YY:a.toString().slice(-2),HH:s,H:l.getHours().toString(),mm:c,m:l.getMinutes().toString(),ss:u,s:l.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,x=>y[x]||x)}function T(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 T(Number(o))}return o}function H(o,r,l){return typeof o.condition=="function"?o.condition(r,l):!0}function G(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return o.map(l=>G(l));const r={};return Object.entries(o).forEach(([l,t])=>{typeof t=="function"?r[l]=t.bind(r):r[l]=G(t)}),r}function W(o,r){return r.findIndex(l=>l.value===o.value||l.label===o.label||l.value===o.label||l.label===o.value)}function R(o,r){const l=W(o,r);l>=0?r[l].isChecked=!0:r.push({...o,isChecked:!0})}function J(o,r){const l=W(o,r);l>=0&&(r[l].isChecked=!1)}function ae(o,r){return r?o.filter(l=>JSON.stringify(l).toLowerCase().includes(r.toLowerCase())):o}function K(){const o=e.ref([]);async function r(){const a=[];for(const s of o.value)typeof(s==null?void 0:s.onValueUpdate)=="function"&&await s.onValueUpdate(),typeof(s==null?void 0:s.getErrors)=="function"&&a.push(...s.getErrors());return a.every(Y)}function l(){o.value.forEach(a=>{typeof(a==null?void 0:a.onReset)=="function"&&a.onReset()})}function t(){const a=[];for(const s of o.value)typeof(s==null?void 0:s.getErrors)=="function"&&a.push(...s.getErrors());return a}async function n(){for(const a of o.value)typeof(a==null?void 0:a.onValueUpdate)=="function"&&await a.onValueUpdate()}return{dynamicRefs:o,isFormValid:r,resetForm:l,getFormErrors:t,updateFormValues:n}}function re(o){const r=e.computed(()=>Object.entries(o.value).reduce((t,[n,a])=>(a.value!==void 0&&(typeof a.onChange=="function"?t[n]=a.onChange(a.value):t[n]=a.value),t),{})),l=e.computed(()=>Object.entries(r.value).reduce((t,[n,a])=>(a!==void 0&&(o.value[n].children!==void 0&&(t[n]=a.map(({other:s})=>Object.entries(s).reduce((c,[u,k])=>(typeof o.value[n].children[u].computedValue=="function"?c[u]=o.value[n].children[u].computedValue(k,o.value):c[u]=k,c),{}))),typeof o.value[n].computedValue=="function"&&a!==void 0&&(t[n]=o.value[n].computedValue(a,o.value))),t),{}));return{formData:r,computedData:l}}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:l}){const t=o,n=l,a=e.ref(t.schema),{dynamicRefs:s,isFormValid:c,resetForm:u}=K(),{formData:k,computedData:y}=re(a);async function x(){return await c()}async function f(){await x()&&n("submit",k.value,y.value)}function w(){u()}function V(){w(),n("clear")}function D(){w(),n("cancel")}return e.watch(k,async()=>{for(const[m,I]of Object.entries(a.value))H(I,k.value,y.value)||(I.value=t.schema[m].value)},{deep:!0,immediate:!0}),e.watch(()=>t.schema,m=>{for(const[I,d]of Object.entries(m))d.value!==void 0&&(a.value[I].value=d.value)},{deep:!0,immediate:!0}),r({resetForm:w,isFormValid:x,resolveData:()=>({formData:k.value,computedData:y.value})}),(m,I)=>(e.openBlock(),e.createBlock(e.unref(i.IonGrid),null,{default:e.withCtx(()=>[e.createVNode(e.unref(i.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(a.value),d=>{var N,S,g,_,h;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(H)(a.value[d],e.unref(k),e.unref(y))?(e.openBlock(),e.createBlock(e.unref(i.IonCol),{key:d,size:((N=a.value[d].grid)==null?void 0:N.xs)??"12","size-sm":(S=a.value[d].grid)==null?void 0:S.sm,"size-md":(g=a.value[d].grid)==null?void 0:g.md,"size-lg":(_=a.value[d].grid)==null?void 0:_.lg,"size-xl":(h=a.value[d].grid)==null?void 0:h.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value[d].type),{modelValue:a.value[d],"onUpdate:modelValue":C=>a.value[d]=C,schema:a.value,ref_for:!0,ref_key:"dynamicRefs",ref:s,"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}),m.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(i.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(i.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:m.buttonPlacement}])},{default:e.withCtx(()=>[m.showCancelButton?(e.openBlock(),e.createBlock(e.unref(i.IonButton),{key:0,onClick:D},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),m.showClearButton?(e.openBlock(),e.createBlock(e.unref(i.IonButton),{key:1,onClick:V},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.customButtons,d=>(e.openBlock(),e.createBlock(e.unref(i.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(i.IonButton),{onClick:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.submitButtonText??"Submit"),1)]),_:1})]),_:1},8,["style"])]),_:1}))]),_:1}))}});function se(o){return{applyValidationState:async t=>{var n,a,s,c,u;(n=o.value)==null||n.$el.classList.remove("ion-invalid"),(a=o.value)==null||a.$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"),(u=o.value)==null||u.$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 U(o,r,l,t,n){const{applyValidationState:a,resetValidationState:s}=se(o);async function c(){if(r.value.required&&!l.value)return r.value.error="This field is required",!1;if(n){const f=await n(l.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(l.value,t==null?void 0:t.value);if(f&&f.length)return r.value.error=f.join(),!1}return!0}async function u(){const f=await c();f&&(r.value.error="",r.value.value=l.value),await a(f)}function k(){s(),r.value.error=""}function y(f=""){l.value=f,r.value.error="",r.value.value=f}const x=e.computed(()=>r.value.error);return{isValid:c,onValueUpdate:u,onFocus:k,onReset:y,getErrors:x,applyValidationState:a,resetValidationState:s}}function ie(o){const r=e.computed(()=>!!o.value.label),l=e.computed(()=>!!o.value.required),t=e.computed(()=>o.value.label||"");return{showLabel:r,showRequired:l,labelText:t}}const z=e.defineComponent({__name:"InputLabel",props:{model:{}},setup(o){const r=o,{showLabel:l,showRequired:t,labelText:n}=ie(e.toRef(r,"model"));return(a,s)=>e.unref(l)?(e.openBlock(),e.createBlock(e.unref(i.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(i.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>s[0]||(s[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)}}),j=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const l=o,t=e.useModel(o,"modelValue"),n=e.ref(null),a=e.ref(t.value.value),s=e.computed(()=>l.schema),{isValid:c,onValueUpdate:u,onFocus:k,onReset:y,getErrors:x}=U(n,t,a,s),f=e.computed(()=>{if(t.value.pattern)return le(t.value.pattern)});return e.watch(()=>t.value.value,w=>a.value=w),r({onValueUpdate:u,onReset:y,getErrors:x,isValid:c}),(w,V)=>{var m;const D=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(i.IonInput),{ref_key:"inputRef",ref:n,modelValue:a.value,"onUpdate:modelValue":V[0]||(V[0]=I=>a.value=I),"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:((m=f.value)==null?void 0:m.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(u),onIonBlur:e.unref(u)},{default:e.withCtx(()=>[e.createVNode(z,{model:t.value},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(i.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(i.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(i.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"])),[[D,f.value]])}}}),ue=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const l=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;return(n=t.value)==null?void 0:n.getErrors()}}),(n,a)=>(e.openBlock(),e.createBlock(j,{modelValue:l.value,"onUpdate:modelValue":a[0]||(a[0]=s=>l.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 l=o,t=e.useModel(o,"modelValue"),n=e.ref(null),a=e.ref(t.value.max),s=e.ref(t.value.max),c=e.ref(t.value.value),u=e.computed(()=>l.schema);async function k(g){if(g===void 0)return t.value.required?"This field is required":!0;const _=new Date(g);return isNaN(_.getTime())?"Invalid date string":s.value&&_<new Date(s.value)?`Date must be greater than ${s.value}`:a.value&&_>new Date(a.value)?`Date must be less than ${a.value}`:!0}const{onValueUpdate:y,onFocus:x,getErrors:f}=U(n,t,c,u,k);function w(){c.value="",t.value.error="",t.value.value=""}const V=e.computed(()=>{if(t.value.pattern)return t.value.pattern;let g=t.value.pattern??"DD/MMM/YYYY";return t.value.enableTime&&(g+=" HH:mm:ss"),g}),D=/[-/.,:\s]+/,m=e.computed(()=>V.value.split(D)),I=e.computed(()=>V.value.match(/[-/.,:\s]+/g)||[]),d=e.ref({});e.watch(()=>t.value.value,g=>{c.value=g,S(g)});async function N(g,_,h){let C=_??(h==null?void 0:h.target).value;/MM|MMM|MMMM/.test(g)&&(C=P(C,g)),Number.isInteger(parseInt(C))&&(C=T(parseInt(C))),d.value[g]=C;const M=m.value.reduce((L,p,b)=>(L+=d.value[p]+(b<m.value.length-1?I.value[b]:""),L),"");c.value=M,await y()}async function S(g){const _=ne(g,V.value).split(D);m.value.forEach((h,C)=>N(h,_[C])),await y()}return r({onValueUpdate:y,onReset:w,getErrors:f}),e.onMounted(()=>{m.value.forEach((g,_)=>{var h;d.value[g]=((h=c.value)==null?void 0:h.split(D)[_])??""})}),(g,_)=>(e.openBlock(),e.createBlock(e.unref(i.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(x),onIonBlur:e.unref(y)},{default:e.withCtx(()=>[e.createVNode(z,{model:t.value},null,8,["model"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(h,C)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[/MM|MMM|MMMM/.test(h)?(e.openBlock(),e.createBlock(e.unref(i.IonSelect),{slot:"start",key:`select-${h}`,interface:"popover",style:e.normalizeStyle({minWidth:t.value.enableTime?"10%":"30%"}),placeholder:h,value:d.value[h],onIonFocus:e.unref(x),onIonInput:M=>N(h,void 0,M),onIonBlur:M=>N(h,void 0,M)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(q),(M,L)=>(e.openBlock(),e.createBlock(e.unref(i.IonSelectOption),{key:M,value:e.unref(P)(L+1,h)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(P)(L+1,h)),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["style","placeholder","value","onIonFocus","onIonInput","onIonBlur"])):(e.openBlock(),e.createBlock(e.unref(i.IonInput),{slot:"start",key:`input-${h}`,placeholder:h,autofocus:t.value.autoFocus,value:d.value[h],onIonFocus:e.unref(x),onIonInput:M=>N(h,void 0,M),onIonBlur:M=>N(h,void 0,M)},null,8,["placeholder","autofocus","value","onIonFocus","onIonInput","onIonBlur"])),C<m.value.length-1?(e.openBlock(),e.createBlock(e.unref(i.IonLabel),{slot:"start",key:`separator-${C}`},{default:e.withCtx(()=>[e.createTextVNode("  "+e.toDisplayString(I.value[C])+"       ",1)]),_:2},1024)):e.createCommentVNode("",!0)],64))),256)),e.createVNode(e.unref(i.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:a.value,minDate:s.value,onDateUpdate:S},{trigger:e.withCtx(()=>[e.createVNode(e.unref(i.IonButton),{fill:"clear"},{default:e.withCtx(()=>[e.createVNode(e.unref(i.IonIcon),{slot:"icon-only",icon:e.unref(O.calendar),"aria-hidden":"true",onClick:e.unref(x)},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 l=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;return(n=t.value)==null?void 0:n.getErrors()}}),(n,a)=>(e.openBlock(),e.createBlock(j,{modelValue:l.value,"onUpdate:modelValue":a[0]||(a[0]=s=>l.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 l=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;return(n=t.value)==null?void 0:n.getErrors()}}),(n,a)=>(e.openBlock(),e.createBlock(j,{modelValue:l.value,"onUpdate:modelValue":a[0]||(a[0]=s=>l.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 l=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;return(n=t.value)==null?void 0:n.getErrors()}}),(n,a)=>(e.openBlock(),e.createBlock(j,{modelValue:l.value,"onUpdate:modelValue":a[0]||(a[0]=s=>l.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 l=o,t=e.useModel(o,"modelValue"),n=e.ref(null),a=e.ref(null),s=e.ref(!1),c=e.ref([]),u=e.ref(""),k=e.ref(1),y=e.computed(()=>t.value.interface??"popover"),x=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),f=e.computed(()=>c.value.filter(p=>!!p.isChecked)),w=e.computed(()=>!u.value&&Y(f.value)&&!s.value?t.value.placeholder??"Select an option":"");e.watch([u,()=>t.value.options],M,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,L,{immediate:!0,deep:!0});function V(){c.value.forEach(p=>J(p,c.value)),t.value.error="",u.value="",k.value=1,t.value.value=t.value.multiple?[]:""}function D(p){if(p.isChecked)return J(p,c.value);t.value.multiple?R(p,c.value):(V(),R(p,c.value),C()),u.value=""}function m(){switch(y.value){case"action-sheet":I();break;case"alert":d();break;case"popover":default:s.value=!0;break}}async function I(){if(await M(),t.value.multiple){s.value=!0;return}await(await i.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...c.value.map(b=>({text:b.label,cssClass:b.isChecked?"selected-option":"",handler:()=>(D(b),!1)})),{text:"Cancel",role:"cancel"}]})).present()}async function d(){await M();const p=c.value.map(B=>({label:B.label,type:t.value.multiple?"checkbox":"radio",value:B,checked:B.isChecked}));await(await i.alertController.create({header:t.value.label||"Select an option",inputs:p,buttons:[{text:"Cancel",role:"cancel"},{text:"OK",handler:B=>{if(t.value.multiple)c.value.forEach(E=>J(E,c.value)),B.forEach(E=>{const A=c.value.find(Ce=>Ce.value===E.value);A&&R(A,c.value)});else{V();const E=c.value.find(A=>A.value===B.value);E&&R(E,c.value)}C()}}]})).present()}async function N(){if(t.value.required&&Y(f.value))return"This field is required";if(t.value.validation){const p=await t.value.validation(f.value,l==null?void 0:l.schema);if(p&&p.length)return p.join()}return!0}const{onFocus:S,applyValidationState:g}=U(n,t,e.computed(()=>t.value.multiple?f.value:f.value[0]),e.computed(()=>l==null?void 0:l.schema),N);function _(){return t.value.error}function h(p){var b;p.target===((b=n.value)==null?void 0:b.$el)&&(S(),y.value==="popover"&&(s.value=!0))}async function C(p){var B;if((B=p==null?void 0:p.relatedTarget)!=null&&B.closest(".suggestions-list"))return;s.value=!1;const b=await N();b===!0?(t.value.error="",t.value.value=t.value.multiple?f.value:f.value[0]):t.value.error=typeof b=="string"?b:"Validation failed",await g(b===!0)}async function M(){const p=[];if(typeof t.value.options=="function"){const b=await t.value.options(u.value);p.push(...b.filter(B=>!!B.label))}else p.push(...ae(t.value.options??[],u.value));f.value.forEach(b=>R(b,p)),c.value=p}function L(){const p=t.value.value;p&&(Array.isArray(p)?p.forEach(b=>R(b,c.value)):R(typeof p=="object"?p:{value:p,label:p},c.value))}return r({onValueUpdate:C,onReset:V,getErrors:_}),(p,b)=>(e.openBlock(),e.createElementBlock("div",{class:"autocomplete-container",onFocusout:C,ref_key:"containerRef",ref:a},[e.createVNode(e.unref(i.IonInput),{ref_key:"inputRef",ref:n,modelValue:u.value,"onUpdate:modelValue":b[0]||(b[0]=B=>u.value=B),fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:p.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:h,debounce:300,onClick:m},{default:e.withCtx(()=>[e.createVNode(z,{model:t.value},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(i.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(B,E)=>(e.openBlock(),e.createBlock(e.unref(i.IonChip),{key:E},{default:e.withCtx(()=>[e.createVNode(e.unref(i.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(i.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var B;return[e.createTextVNode(e.toDisplayString(((B=f.value[0])==null?void 0:B.label)??""),1)]}),_:1})),e.createVNode(e.unref(i.IonIcon),{slot:"end",icon:e.unref(O.chevronDown)},null,8,["icon"]),f.value.length>0||u.value?(e.openBlock(),e.createBlock(e.unref(i.IonIcon),{key:2,slot:"end",icon:e.unref(O.close),onClick:V,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(i.IonList),{key:0,class:e.normalizeClass(["suggestions-list",x.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,B=>(e.openBlock(),e.createBlock(e.unref(i.IonItem),{button:"",key:B.label,onClick:E=>D(B)},{default:e.withCtx(()=>[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(i.IonCheckbox),{key:0,slot:"start",checked:B.isChecked},null,8,["checked"])):e.createCommentVNode("",!0),e.createVNode(e.unref(i.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=(o,r)=>{const l=o.__vccOpts||o;for(const[t,n]of r)l[t]=n;return l},ke=Z(he,[["__scopeId","data-v-0b19f6eb"]]),ye=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const l=o,t=e.useModel(o,"modelValue"),n=e.ref(null),a=e.ref(t.value.value),s=e.computed(()=>l.schema),{onValueUpdate:c,onFocus:u,onReset:k,getErrors:y}=U(n,t,a,s);return e.watch(()=>t.value.value,x=>a.value=x),r({onReset:k,onValueUpdate:c,getErrors:y}),(x,f)=>(e.openBlock(),e.createBlock(e.unref(i.IonTextarea),{ref_key:"inputRef",ref:n,modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=w=>a.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(u),onIonChange:e.unref(c),onIonBlur:e.unref(c)},{default:e.withCtx(()=>[e.createVNode(z,{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 l=e.useModel(o,"modelValue"),t=e.ref([]),{dynamicRefs:n,resetForm:a,getFormErrors:s,updateFormValues:c}=K(),u=e.computed(()=>t.value.map((V,D)=>({label:`Set ${D+1}`,value:D,other:Object.entries(V).reduce((m,[I,d])=>(m[I]=d.value,m),{})})));e.watch(u,V=>{l.value.value=V},{deep:!0,immediate:!0}),e.onMounted(k);function k(){l.value.children&&t.value.push(G(l.value.children))}function y(V){t.value.splice(V,1)}function x(){a()}function f(){return s()}async function w(){await c()}return r({onValueUpdate:w,onReset:x,getErrors:f}),(V,D)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(m,I)=>(e.openBlock(),e.createElementBlock("div",{class:"repeat-input-wrapper",key:I},[e.createElementVNode("div",ge,[e.createVNode(e.unref(i.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(m),d=>{var N,S,g,_,h;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(H)(m[d],V.data,V.computedData)?(e.openBlock(),e.createBlock(e.unref(i.IonCol),{key:`${I}-${d}`,size:((N=m[d].grid)==null?void 0:N.xs)??"12","size-sm":(S=m[d].grid)==null?void 0:S.sm,"size-md":(g=m[d].grid)==null?void 0:g.md,"size-lg":(_=m[d].grid)==null?void 0:_.lg,"size-xl":(h=m[d].grid)==null?void 0:h.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m[d].type),{modelValue:m[d],"onUpdate:modelValue":C=>m[d]=C,schema:m,"ref-key":`${I}-${d}`,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,[I===t.value.length-1?(e.openBlock(),e.createBlock(e.unref(i.IonButton),{key:0,onClick:k,color:"primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(i.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(i.IonButton),{key:1,onClick:d=>y(I),color:"warning"},{default:e.withCtx(()=>[e.createVNode(e.unref(i.IonIcon),{slot:"icon-only",icon:e.unref(O.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]))),128))}}),[["__scopeId","data-v-402695fe"]]);function xe(o){return{labelTextWithAsterisk:e.computed(()=>{const l=o.value.label||"",t=o.value.required?" *":"";return l+t})}}const Be=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:r}){const l=o,t=e.useModel(o,"modelValue"),n=e.ref(null),a=e.ref(t.value.value),s=e.computed(()=>l.schema),{labelTextWithAsterisk:c}=xe(t),{onValueUpdate:u,onFocus:k,getErrors:y}=U(n,t,a,s);function x(){a.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,f=>a.value=f),r({onValueUpdate:u,onReset:x,getErrors:y}),(f,w)=>(e.openBlock(),e.createBlock(e.unref(i.IonCheckbox),{modelValue:a.value,"onUpdate:modelValue":w[0]||(w[0]=V=>a.value=V),ref_key:"inputRef",ref:n,required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(k),onIonChange:e.unref(u),onIonBlur:e.unref(u)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(c)),1)]),_:1},8,["modelValue","required","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.directive("maskito",$.maskito)}};F.VForm=Q,F.default=Q,Object.defineProperties(F,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
2
2
  //# sourceMappingURL=index.umd.js.map