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