@uniquedj95/vform 3.1.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/components/inputs/DateInput.vue.d.ts +39 -5
- package/dist/components/inputs/DateInput.vue.d.ts.map +1 -1
- package/dist/components/inputs/RadioInput.vue.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +484 -655
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/vform.css +1 -1
- package/package.json +16 -4
package/README.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
A dynamic form builder for Vue.js with Ionic components
|
8
8
|
|
9
|
-
[](https://github.com/uniquedj95/vform/releases)
|
10
10
|
[](https://opensource.org/licenses/MIT)
|
11
11
|
[](https://vuejs.org/)
|
12
12
|
[](https://www.typescriptlang.org/)
|
@@ -3,27 +3,61 @@ type __VLS_Props = {
|
|
3
3
|
schema?: FormSchema;
|
4
4
|
};
|
5
5
|
declare const model: import('vue').ModelRef<FormField, string, FormField, FormField>;
|
6
|
-
declare function onReset(): void;
|
7
6
|
type __VLS_PublicProps = {
|
8
7
|
modelValue?: typeof model['value'];
|
9
8
|
} & __VLS_Props;
|
10
9
|
declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
|
11
|
-
onValueUpdate: () => Promise<void
|
12
|
-
onReset:
|
10
|
+
onValueUpdate: () => Promise<void> | undefined;
|
11
|
+
onReset: () => void | undefined;
|
13
12
|
getErrors: () => string[];
|
14
13
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
15
14
|
"update:modelValue": (value: FormField) => any;
|
16
15
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
17
16
|
"onUpdate:modelValue"?: ((value: FormField) => any) | undefined;
|
18
17
|
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
19
|
-
inputRef: import('vue').CreateComponentPublicInstanceWithMixins<
|
18
|
+
inputRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
|
19
|
+
modelValue?: FormField;
|
20
|
+
} & {
|
21
|
+
schema?: FormSchema;
|
22
|
+
type?: import('../../types').BaseFieldTypes;
|
23
|
+
}> & Readonly<{
|
24
|
+
"onUpdate:modelValue"?: ((value: FormField) => any) | undefined;
|
25
|
+
}>, {
|
26
|
+
onValueUpdate: () => Promise<void>;
|
27
|
+
onReset: (defaultValue?: any) => void;
|
28
|
+
getErrors: () => string[];
|
29
|
+
isValid: () => Promise<boolean>;
|
30
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
31
|
+
"update:modelValue": (value: FormField) => any;
|
32
|
+
}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
|
33
|
+
inputRef: import('vue').CreateComponentPublicInstanceWithMixins<import("@ionic/core").JSX.IonInput & import('@stencil/vue-output-target/runtime').InputProps<string | number | null | undefined> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, {}, {}, string, {}, any, import('vue').ComponentProvideOptions, {
|
34
|
+
P: {};
|
35
|
+
B: {};
|
36
|
+
D: {};
|
37
|
+
C: {};
|
38
|
+
M: {};
|
39
|
+
Defaults: {};
|
40
|
+
}, import("@ionic/core").JSX.IonInput & import('@stencil/vue-output-target/runtime').InputProps<string | number | null | undefined> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {}, {}, {}, {}, {}> | null;
|
41
|
+
}, any, import('vue').ComponentProvideOptions, {
|
20
42
|
P: {};
|
21
43
|
B: {};
|
22
44
|
D: {};
|
23
45
|
C: {};
|
24
46
|
M: {};
|
25
47
|
Defaults: {};
|
26
|
-
},
|
48
|
+
}, Readonly<{
|
49
|
+
modelValue?: FormField;
|
50
|
+
} & {
|
51
|
+
schema?: FormSchema;
|
52
|
+
type?: import('../../types').BaseFieldTypes;
|
53
|
+
}> & Readonly<{
|
54
|
+
"onUpdate:modelValue"?: ((value: FormField) => any) | undefined;
|
55
|
+
}>, {
|
56
|
+
onValueUpdate: () => Promise<void>;
|
57
|
+
onReset: (defaultValue?: any) => void;
|
58
|
+
getErrors: () => string[];
|
59
|
+
isValid: () => Promise<boolean>;
|
60
|
+
}, {}, {}, {}, {}> | null;
|
27
61
|
}, any>;
|
28
62
|
export default _default;
|
29
63
|
//# sourceMappingURL=DateInput.vue.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DateInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/DateInput.vue"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"DateInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/DateInput.vue"],"names":[],"mappings":"AAQA;AA0BA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzD,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAkBhF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DhB,wBAUG"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RadioInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/RadioInput.vue"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"RadioInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/inputs/RadioInput.vue"],"names":[],"mappings":"AA0BA;AAkFA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAU,MAAM,aAAa,CAAC;AAK5D,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,QAAA,MAAM,KAAK,iEAAoE,CAAC;AAYhF,iBAAS,OAAO,SAIf;AAqCD,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;AAiHhB,wBAUG"}
|
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"),Z=require("@vuepic/vue-datepicker"),T=require("ionicons/icons"),Q=require("@maskito/vue");function X(o){return new Promise(u=>{requestAnimationFrame(async()=>{const a=await o.getInputElement();u(a)})})}const ee={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},te={d:["1","2","3","4","5","6","7","8","9","0"],a:["A","B","C","x","y","z","D","f"],"*":["A","3","b","8","z","4","D","0"]};function oe(o,u){const a=te[o];return a[u%a.length]}function le(o){const u=[];let a="",t=0,n=0;for(;t<o.length;){const l=o[t];if(["d","a","*"].includes(l)){let c=1;if(o[t+1]==="{"){const r=o.indexOf("}",t+2);if(r!==-1){const i=o.slice(t+2,r);if(i.includes(",")){const[,k]=i.split(",").map(v=>parseInt(v.trim()));c=k||parseInt(i.split(",")[0])}else c=parseInt(i);t=r}}else{let r=t+1;for(;o[r]===l;)c++,r++;t=r-1}for(let r=0;r<c;r++)u.push(ee[l]),a+=oe(l,n++)}else u.push(l),a+=l;t++}return{mask:u,placeholder:a,elementPredicate:X}}const L=["January","February","March","April","May","June","July","August","September","October","November","December"];function A(o){return o==null||Array.isArray(o)&&!o.length||typeof o=="object"&&!Object.keys(o).length||!o}function ne(o,u="DD/MMM/YYYY"){const a=new Date(o);if(isNaN(a.getTime()))throw new Error("Invalid date string");const t=F(a.getDate()),n=a.getMonth()+1,l=a.getFullYear(),c=F(a.getHours()),r=F(a.getMinutes()),i=F(a.getSeconds()),k=a.getMilliseconds(),v={DD:t,D:a.getDate().toString(),MMM:L[a.getMonth()].slice(0,3),MMMM:L[a.getMonth()],MM:F(n),M:n.toString(),YYYY:l.toString(),YY:l.toString().slice(-2),HH:c,H:a.getHours().toString(),mm:r,m:a.getMinutes().toString(),ss:i,s:a.getSeconds().toString(),SSS:F(k),S:k.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=>v[b]||b)}function F(o){return o<10?`0${o}`:`${o}`}function U(o,u){if(Number.isInteger(parseInt(o))&&Number(o)>0){if(u==="MMMM")return L[Number(o)-1];if(u==="MMM")return L[Number(o)-1].slice(0,3);if(u==="MM")return F(Number(o))}return o}function j(o,u,a){return typeof o.condition=="function"?o.condition(u,a):!0}function P(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return o.map(a=>P(a));const u={};return Object.entries(o).forEach(([a,t])=>{typeof t=="function"?u[a]=t.bind(u):u[a]=P(t)}),u}function Y(o,u){return u.findIndex(a=>a.value===o.value||a.label===o.label||a.value===o.label||a.label===o.value)}function S(o,u){const a=Y(o,u);a>=0?u[a].isChecked=!0:u.push({...o,isChecked:!0})}function z(o,u){const a=Y(o,u);a>=0&&(u[a].isChecked=!1)}function ae(o,u){return u?o.filter(a=>JSON.stringify(a).toLowerCase().includes(u.toLowerCase())):o}function H(o){const u=o.label||"",a=o.required?" *":"";return u+a}function G(){const o=e.ref([]);async function u(){console.debug("Validating form inputs");const l=[];for(const c of o.value)if(typeof(c==null?void 0:c.onValueUpdate)=="function"&&await c.onValueUpdate(),typeof(c==null?void 0:c.getErrors)=="function")try{const r=c.getErrors();Array.isArray(r)?l.push(...r):console.warn("getErrors() returned non-array value:",r)}catch(r){console.error("Error calling getErrors on component:",r,c)}else console.warn("Component does not have getErrors function:",c);return l.every(A)}function a(){o.value.forEach(l=>{typeof(l==null?void 0:l.onReset)=="function"&&l.onReset()})}function t(){const l=[];for(const c of o.value)if(typeof(c==null?void 0:c.getErrors)=="function")try{const r=c.getErrors();Array.isArray(r)?l.push(...r):l.push(String(r))}catch(r){console.error("Error calling getErrors on component:",r,c)}return l}async function n(){for(const l of o.value)typeof(l==null?void 0:l.onValueUpdate)=="function"&&await l.onValueUpdate()}return{dynamicRefs:o,isFormValid:u,resetForm:a,getFormErrors:t,updateFormValues:n}}function ue(o){const u=e.computed(()=>Object.entries(o.value).reduce((t,[n,l])=>(l.value!==void 0&&(typeof l.onChange=="function"?t[n]=l.onChange(l.value):t[n]=l.value),t),{})),a=e.computed(()=>Object.entries(u.value).reduce((t,[n,l])=>(l!==void 0&&(o.value[n].children!==void 0&&(t[n]=l.map(({other:c})=>Object.entries(c).reduce((r,[i,k])=>(typeof o.value[n].children[i].computedValue=="function"?r[i]=o.value[n].children[i].computedValue(k,o.value):r[i]=k,r),{}))),typeof o.value[n].computedValue=="function"&&l!==void 0&&(t[n]=o.value[n].computedValue(l,o.value))),t),{}));return{formData:u,computedData:a}}const re=e.defineComponent({__name:"vForm",props:{schema:{},showLabels:{type:Boolean,default:!0},showClearButton:{type:Boolean,default:!0},showCancelButton:{type:Boolean,default:!0},buttonPlacement:{default:"start"},submitButtonText:{default:"Submit"},clearButtonText:{default:"Reset"},cancelButtonText:{default:"Cancel"},hideButtons:{type:Boolean,default:!1},customButtons:{}},emits:["submit","clear","cancel"],setup(o,{expose:u,emit:a}){const t=o,n=a,l=e.ref(t.schema),{dynamicRefs:c,isFormValid:r,resetForm:i}=G(),{formData:k,computedData:v}=ue(l);async function b(){await r()&&n("submit",k.value,v.value)}function f(){i(),n("clear")}function I(){i(),n("cancel")}return e.watch(k,async()=>{for(const[p,C]of Object.entries(l.value))j(C,k.value,v.value)||(C.value=t.schema[p].value)},{deep:!0,immediate:!0}),e.watch(()=>t.schema,p=>{for(const[C,s]of Object.entries(p))s.value!==void 0&&(l.value[C].value=s.value)},{deep:!0,immediate:!0}),u({resetForm:i,isFormValid:r,resolveData:()=>({formData:k.value,computedData:v.value})}),(p,C)=>(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(l.value),s=>{var x,h,M,N,V;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(j)(l.value[s],e.unref(k),e.unref(v))?(e.openBlock(),e.createBlock(e.unref(d.IonCol),{key:s,size:((x=l.value[s].grid)==null?void 0:x.xs)??"12","size-sm":(h=l.value[s].grid)==null?void 0:h.sm,"size-md":(M=l.value[s].grid)==null?void 0:M.md,"size-lg":(N=l.value[s].grid)==null?void 0:N.lg,"size-xl":(V=l.value[s].grid)==null?void 0:V.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value[s].type),{modelValue:l.value[s],"onUpdate:modelValue":_=>l.value[s]=_,schema:l.value,ref_for:!0,ref_key:"dynamicRefs",ref:c,"ref-key":s},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:1}),p.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(d.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:p.buttonPlacement}])},{default:e.withCtx(()=>[p.showCancelButton?(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:0,onClick:I},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),p.showClearButton?(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:1,onClick:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.customButtons,s=>(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:s.label,onClick:s.action,color:s.color??"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.label),1)]),_:2},1032,["onClick","color"]))),128)),e.createVNode(e.unref(d.IonButton),{onClick:b},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.submitButtonText??"Submit"),1)]),_:1})]),_:1},8,["style"])]),_:1}))]),_:1}))}});function ce(o){return{applyValidationState:async t=>{var n,l,c,r,i;(n=o.value)==null||n.$el.classList.remove("ion-invalid"),(l=o.value)==null||l.$el.classList.remove("ion-valid"),t?(c=o.value)==null||c.$el.classList.add("ion-valid"):(r=o.value)==null||r.$el.classList.add("ion-invalid"),(i=o.value)==null||i.$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 R(o,u,a,t,n){const{applyValidationState:l,resetValidationState:c}=ce(o);async function r(){if(u.value.required&&!a.value)return u.value.error="This field is required",!1;if(n){const f=await n(a.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(a.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=a.value),await l(f)}function k(){c(),u.value.error=""}function v(f=""){a.value=f,u.value.error="",u.value.value=f}function b(){return u.value.error?[u.value.error]:[]}return{isValid:r,onValueUpdate:i,onFocus:k,onReset:v,getErrors:b,applyValidationState:l,resetValidationState:c}}function se(o){const u=e.computed(()=>!!o.value.label),a=e.computed(()=>!!o.value.required),t=e.computed(()=>o.value.label||"");return{showLabel:u,showRequired:a,labelText:t}}const q=e.defineComponent({__name:"InputLabel",props:{model:{}},setup(o){const u=o,{showLabel:a,showRequired:t,labelText:n}=se(e.toRef(u,"model"));return(l,c)=>e.unref(a)?(e.openBlock(),e.createBlock(e.unref(d.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(d.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>c[0]||(c[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)}}),$=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.value),c=e.computed(()=>a.schema),{isValid:r,onValueUpdate:i,onFocus:k,onReset:v,getErrors:b}=R(n,t,l,c),f=e.computed(()=>{if(t.value.pattern)return le(t.value.pattern)});return e.watch(()=>t.value.value,I=>l.value=I),u({onValueUpdate:i,onReset:v,getErrors:b,isValid:r}),(I,p)=>{var s;const C=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(d.IonInput),{ref_key:"inputRef",ref:n,modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=x=>l.value=x),"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:((s=f.value)==null?void 0:s.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(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(d.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(d.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(d.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter","min","max","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"])),[[C,f.value]])}}}),ie=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=e.useModel(o,"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,l;return((l=(n=t.value)==null?void 0:n.getErrors)==null?void 0:l.call(n))??[]}}),(n,l)=>(e.openBlock(),e.createBlock($,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.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(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.max),c=e.ref(t.value.max),r=e.ref(t.value.value),i=e.computed(()=>a.schema);async function k(V){if(V===void 0)return t.value.required?"This field is required":!0;const _=new Date(V);return isNaN(_.getTime())?"Invalid date string":c.value&&_<new Date(c.value)?`Date must be greater than ${c.value}`:l.value&&_>new Date(l.value)?`Date must be less than ${l.value}`:!0}const{onValueUpdate:v,onFocus:b,getErrors:f}=R(n,t,r,i,k);function I(){r.value="",t.value.error="",t.value.value=""}const p=e.computed(()=>{if(t.value.pattern)return t.value.pattern;let V=t.value.pattern??"DD/MMM/YYYY";return t.value.enableTime&&(V+=" HH:mm:ss"),V}),C=/[-/.,:\s]+/,s=e.computed(()=>p.value.split(C)),x=e.computed(()=>p.value.match(/[-/.,:\s]+/g)||[]),h=e.ref({});e.watch(()=>t.value.value,V=>{r.value=V,N(V)});async function M(V,_,g){let w=_??(g==null?void 0:g.target).value;/MM|MMM|MMMM/.test(V)&&(w=U(w,V)),Number.isInteger(parseInt(w))&&(w=F(parseInt(w))),h.value[V]=w;const D=s.value.reduce((m,B,y)=>(m+=h.value[B]+(y<s.value.length-1?x.value[y]:""),m),"");r.value=D,await v()}async function N(V){const _=ne(V,p.value).split(C);s.value.forEach((g,w)=>M(g,_[w])),await v()}return u({onValueUpdate:v,onReset:I,getErrors:f}),e.onMounted(()=>{s.value.forEach((V,_)=>{var g;h.value[V]=((g=r.value)==null?void 0:g.split(C)[_])??""})}),(V,_)=>(e.openBlock(),e.createBlock(e.unref(d.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(v)},{default:e.withCtx(()=>[e.createVNode(q,{model:t.value},null,8,["model"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(g,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[/MM|MMM|MMMM/.test(g)?(e.openBlock(),e.createBlock(e.unref(d.IonSelect),{slot:"start",key:`select-${g}`,interface:"popover",style:e.normalizeStyle({minWidth:t.value.enableTime?"10%":"30%"}),placeholder:g,value:h.value[g],onIonFocus:e.unref(b),onIonInput:D=>M(g,void 0,D),onIonBlur:D=>M(g,void 0,D)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(L),(D,m)=>(e.openBlock(),e.createBlock(e.unref(d.IonSelectOption),{key:D,value:e.unref(U)(m+1,g)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(U)(m+1,g)),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["style","placeholder","value","onIonFocus","onIonInput","onIonBlur"])):(e.openBlock(),e.createBlock(e.unref(d.IonInput),{slot:"start",key:`input-${g}`,placeholder:g,autofocus:t.value.autoFocus,value:h.value[g],onIonFocus:e.unref(b),onIonInput:D=>M(g,void 0,D),onIonBlur:D=>M(g,void 0,D)},null,8,["placeholder","autofocus","value","onIonFocus","onIonInput","onIonBlur"])),w<s.value.length-1?(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{slot:"start",key:`separator-${w}`},{default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(x.value[w])+" ",1)]),_:2},1024)):e.createCommentVNode("",!0)],64))),256)),e.createVNode(e.unref(d.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:l.value,minDate:c.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(T.calendar),"aria-hidden":"true",onClick:e.unref(b)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model-value","auto-apply","enable-time-picker","maxDate","minDate"])]),_:1})]),_:1},8,["fill","label-placement","required","error-text","autofocus","disabled","onIonFocus","onIonBlur"]))}}),fe=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=e.useModel(o,"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,l;return((l=(n=t.value)==null?void 0:n.getErrors)==null?void 0:l.call(n))??[]}}),(n,l)=>(e.openBlock(),e.createBlock($,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.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(o,{expose:u}){const a=e.useModel(o,"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,l;return((l=(n=t.value)==null?void 0:n.getErrors)==null?void 0:l.call(n))??[]}}),(n,l)=>(e.openBlock(),e.createBlock($,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.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(o,{expose:u}){const a=e.useModel(o,"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,l;return((l=(n=t.value)==null?void 0:n.getErrors)==null?void 0:l.call(n))??[]}}),(n,l)=>(e.openBlock(),e.createBlock($,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.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(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(null),c=e.ref(!1),r=e.ref([]),i=e.ref(""),k=e.ref(1),v=e.computed(()=>t.value.interface??"popover"),b=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),f=e.computed(()=>r.value.filter(m=>!!m.isChecked)),I=e.computed(()=>!i.value&&A(f.value)&&!c.value?t.value.placeholder??"Select an option":"");e.watch([i,()=>t.value.options],w,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,D,{immediate:!0,deep:!0});function p(){r.value.forEach(m=>z(m,r.value)),t.value.error="",i.value="",k.value=1,t.value.value=t.value.multiple?[]:""}function C(m){if(m.isChecked)return z(m,r.value);t.value.multiple?S(m,r.value):(p(),S(m,r.value),g()),i.value=""}function s(){switch(v.value){case"action-sheet":x();break;case"alert":h();break;case"popover":default:c.value=!0;break}}async function x(){if(await w(),t.value.multiple){c.value=!0;return}await(await d.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...r.value.map(B=>({text:B.label,cssClass:B.isChecked?"selected-option":"",handler:()=>(C(B),!1)})),{text:"Cancel",role:"cancel"}]})).present()}async function h(){await w();const m=r.value.map(y=>({label:y.label,type:t.value.multiple?"checkbox":"radio",value:y,checked:y.isChecked}));await(await d.alertController.create({header:t.value.label||"Select an option",inputs:m,buttons:[{text:"Cancel",role:"cancel"},{text:"OK",handler:y=>{if(t.value.multiple)r.value.forEach(E=>z(E,r.value)),y.forEach(E=>{const O=r.value.find(K=>K.value===E.value);O&&S(O,r.value)});else{p();const E=r.value.find(O=>O.value===y.value);E&&S(E,r.value)}g()}}]})).present()}async function M(){if(t.value.required&&A(f.value))return"This field is required";if(t.value.validation){const m=await t.value.validation(f.value,a==null?void 0:a.schema);if(m&&m.length)return m.join()}return!0}const{onFocus:N,applyValidationState:V}=R(n,t,e.computed(()=>t.value.multiple?f.value:f.value[0]),e.computed(()=>a==null?void 0:a.schema),M);function _(m){var B;m.target===((B=n.value)==null?void 0:B.$el)&&(N(),v.value==="popover"&&(c.value=!0))}async function g(m){var y;if((y=m==null?void 0:m.relatedTarget)!=null&&y.closest(".suggestions-list"))return;c.value=!1;const B=await M();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 V(B===!0)}async function w(){const m=[];if(typeof t.value.options=="function"){const B=await t.value.options(i.value);m.push(...B.filter(y=>!!y.label))}else m.push(...ae(t.value.options??[],i.value));f.value.forEach(B=>S(B,m)),r.value=m}function D(){const m=t.value.value;m&&(Array.isArray(m)?m.forEach(B=>S(B,r.value)):S(typeof m=="object"?m:{value:m,label:m},r.value))}return u({onValueUpdate:g,onReset:p,getErrors:()=>t.value.error?[t.value.error]:[]}),(m,B)=>(e.openBlock(),e.createElementBlock("div",{class:"autocomplete-container",onFocusout:g,ref_key:"containerRef",ref:l},[e.createVNode(e.unref(d.IonInput),{ref_key:"inputRef",ref:n,modelValue:i.value,"onUpdate:modelValue":B[0]||(B[0]=y=>i.value=y),fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:m.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:I.value,disabled:t.value.disabled,counter:t.value.counter,onIonFocus:_,debounce:300,onClick:s},{default:e.withCtx(()=>[e.createVNode(q,{model:t.value},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(y,E)=>(e.openBlock(),e.createBlock(e.unref(d.IonChip),{key:E},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(d.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var y;return[e.createTextVNode(e.toDisplayString(((y=f.value[0])==null?void 0:y.label)??""),1)]}),_:1})),e.createVNode(e.unref(d.IonIcon),{slot:"end",icon:e.unref(T.chevronDown)},null,8,["icon"]),f.value.length>0||i.value?(e.openBlock(),e.createBlock(e.unref(d.IonIcon),{key:2,slot:"end",icon:e.unref(T.close),onClick:p,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),c.value&&r.value.length>0&&v.value==="popover"?(e.openBlock(),e.createBlock(e.unref(d.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,y=>(e.openBlock(),e.createBlock(e.unref(d.IonItem),{button:"",key:y.label,onClick:E=>C(y)},{default:e.withCtx(()=>[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(d.IonCheckbox),{key:0,slot:"start",checked:y.isChecked},null,8,["checked"])):e.createCommentVNode("",!0),e.createVNode(e.unref(d.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.label),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],544))}}),J=(o,u)=>{const a=o.__vccOpts||o;for(const[t,n]of u)a[t]=n;return a},he=J(ve,[["__scopeId","data-v-80c14c96"]]),ke=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.value),c=e.computed(()=>a.schema),{onValueUpdate:r,onFocus:i,onReset:k,getErrors:v}=R(n,t,l,c);return e.watch(()=>t.value.value,b=>l.value=b),u({onReset:k,onValueUpdate:r,getErrors:v}),(b,f)=>(e.openBlock(),e.createBlock(e.unref(d.IonTextarea),{ref_key:"inputRef",ref:n,modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=I=>l.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(o,{expose:u}){const a=e.useModel(o,"modelValue"),t=e.ref([]),{dynamicRefs:n,resetForm:l,getFormErrors:c,updateFormValues:r}=G(),i=e.computed(()=>t.value.map((p,C)=>({label:`Set ${C+1}`,value:C,other:Object.entries(p).reduce((s,[x,h])=>(s[x]=h.value,s),{})})));e.watch(i,p=>{a.value.value=p},{deep:!0,immediate:!0}),e.onMounted(k);function k(){a.value.children&&t.value.push(P(a.value.children))}function v(p){t.value.splice(p,1)}function b(){l()}function f(){return c()}async function I(){await r()}return u({onValueUpdate:I,onReset:b,getErrors:f}),(p,C)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(s,x)=>(e.openBlock(),e.createElementBlock("div",{class:"repeat-input-wrapper",key:x},[e.createElementVNode("div",ge,[e.createVNode(e.unref(d.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(s),h=>{var M,N,V,_,g;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(j)(s[h],p.data,p.computedData)?(e.openBlock(),e.createBlock(e.unref(d.IonCol),{key:`${x}-${h}`,size:((M=s[h].grid)==null?void 0:M.xs)??"12","size-sm":(N=s[h].grid)==null?void 0:N.sm,"size-md":(V=s[h].grid)==null?void 0:V.md,"size-lg":(_=s[h].grid)==null?void 0:_.lg,"size-xl":(g=s[h].grid)==null?void 0:g.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s[h].type),{modelValue:s[h],"onUpdate:modelValue":w=>s[h]=w,schema:s,"ref-key":`${x}-${h}`,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,[x===t.value.length-1?(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:0,onClick:k,color:"primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonIcon),{slot:"icon-only",icon:e.unref(T.add)},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0),t.value.length>1?(e.openBlock(),e.createBlock(e.unref(d.IonButton),{key:1,onClick:h=>v(x),color:"warning"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.IonIcon),{slot:"icon-only",icon:e.unref(T.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]))),128))}}),be=J(Ve,[["__scopeId","data-v-402695fe"]]),Be=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.value),c=e.computed(()=>a.schema),r=e.computed(()=>H(t.value)),{onValueUpdate:i,onFocus:k,getErrors:v}=R(n,t,l,c);function b(){l.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,f=>l.value=f),u({onValueUpdate:i,onReset:b,getErrors:v}),(f,I)=>(e.openBlock(),e.createBlock(e.unref(d.IonCheckbox),{modelValue:l.value,"onUpdate:modelValue":I[0]||(I[0]=p=>l.value=p),ref_key:"inputRef",ref:n,required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(k),onIonChange:e.unref(i),onIonBlur:e.unref(i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.value),1)]),_:1},8,["modelValue","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),xe=e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),n=e.ref(null),l=e.ref(t.value.value),c=e.computed(()=>a.schema),r=e.ref([]),i=e.computed(()=>H(t.value)),k=e.computed(()=>t.value.labelPlacement?t.value.labelPlacement:"end"),{onValueUpdate:v,onFocus:b,getErrors:f}=R(n,t,l,c);function I(){t.value.error="",l.value=void 0,t.value.value=void 0}function p(s,x){return s.value===x.value}async function C(){typeof t.value.options=="function"?r.value=await t.value.options():r.value=t.value.options}return e.watch(()=>t.value.value,s=>l.value=s),u({onValueUpdate:v,onReset:I,getErrors:f}),e.onMounted(C),(s,x)=>(e.openBlock(),e.createBlock(e.unref(d.IonRadioGroup),{modelValue:l.value,"onUpdate:modelValue":x[0]||(x[0]=h=>l.value=h),ref_key:"inputRef",ref:n,required:t.value.required,"help-text":i.value,"error-text":t.value.error,disabled:t.value.disabled,compareWith:p,onIonFocus:e.unref(b),onIonChange:e.unref(v),onIonBlur:e.unref(v)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,h=>(e.openBlock(),e.createBlock(e.unref(d.IonRadio),{key:h.value,value:h,disabled:t.value.disabled,"label-placement":k.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.label),1)]),_:2},1032,["value","disabled","label-placement"]))),128))]),_:1},8,["modelValue","required","help-text","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),W={install(o){o.component("VForm",re),o.component("TextInput",ie),o.component("DateInput",de),o.component("NumberInput",fe),o.component("EmailInput",me),o.component("PasswordInput",pe),o.component("SelectInput",he),o.component("TextAreaInput",ke),o.component("RepeatInput",be),o.component("CheckboxInput",Be),o.component("RadioInput",xe),o.directive("maskito",Q.maskito)}};exports.VForm=W;exports.default=W;
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),m=require("@ionic/vue"),O=require("ionicons/icons"),Z=require("@maskito/vue");function H(o){return new Promise(u=>{requestAnimationFrame(async()=>{const a=await o.getInputElement();u(a)})})}const J={d:/\d/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/},Q={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 X(o,u){const a=Q[o];return a[u%a.length]}function Y(o){const u=[];let a="",t=0,l=0;for(;t<o.length;){const n=o[t];if(["d","a","*"].includes(n)){let c=1;if(o[t+1]==="{"){const r=o.indexOf("}",t+2);if(r!==-1){const i=o.slice(t+2,r);if(i.includes(",")){const[,v]=i.split(",").map(k=>parseInt(k.trim()));c=v||parseInt(i.split(",")[0])}else c=parseInt(i);t=r}}else{let r=t+1;for(;o[r]===n;)c++,r++;t=r-1}for(let r=0;r<c;r++)u.push(J[n]),a+=X(n,l++)}else u.push(n),a+=n;t++}return{mask:u,placeholder:a,elementPredicate:H}}function L(o){return o==null||Array.isArray(o)&&!o.length||typeof o=="object"&&!Object.keys(o).length||!o}function D(o,u,a){return typeof o.condition=="function"?o.condition(u,a):!0}function q(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return o.map(a=>q(a));const u={};return Object.entries(o).forEach(([a,t])=>{typeof t=="function"?u[a]=t.bind(u):u[a]=q(t)}),u}function $(o,u){return u.findIndex(a=>a.value===o.value||a.label===o.label||a.value===o.label||a.label===o.value)}function _(o,u){const a=$(o,u);a>=0?u[a].isChecked=!0:u.push({...o,isChecked:!0})}function U(o,u){const a=$(o,u);a>=0&&(u[a].isChecked=!1)}function ee(o,u){return u?o.filter(a=>JSON.stringify(a).toLowerCase().includes(u.toLowerCase())):o}function j(o){const u=o.label||"",a=o.required?" *":"";return u+a}function A(){const o=e.ref([]);async function u(){console.debug("Validating form inputs");const n=[];for(const c of o.value)if(typeof(c==null?void 0:c.onValueUpdate)=="function"&&await c.onValueUpdate(),typeof(c==null?void 0:c.getErrors)=="function")try{const r=c.getErrors();Array.isArray(r)?n.push(...r):console.warn("getErrors() returned non-array value:",r)}catch(r){console.error("Error calling getErrors on component:",r,c)}else console.warn("Component does not have getErrors function:",c);return n.every(L)}function a(){o.value.forEach(n=>{typeof(n==null?void 0:n.onReset)=="function"&&n.onReset()})}function t(){const n=[];for(const c of o.value)if(typeof(c==null?void 0:c.getErrors)=="function")try{const r=c.getErrors();Array.isArray(r)?n.push(...r):n.push(String(r))}catch(r){console.error("Error calling getErrors on component:",r,c)}return n}async function l(){for(const n of o.value)typeof(n==null?void 0:n.onValueUpdate)=="function"&&await n.onValueUpdate()}return{dynamicRefs:o,isFormValid:u,resetForm:a,getFormErrors:t,updateFormValues:l}}function te(o){const u=e.computed(()=>Object.entries(o.value).reduce((t,[l,n])=>(n.value!==void 0&&(typeof n.onChange=="function"?t[l]=n.onChange(n.value):t[l]=n.value),t),{})),a=e.computed(()=>Object.entries(u.value).reduce((t,[l,n])=>(n!==void 0&&(o.value[l].children!==void 0&&(t[l]=n.map(({other:c})=>Object.entries(c).reduce((r,[i,v])=>(typeof o.value[l].children[i].computedValue=="function"?r[i]=o.value[l].children[i].computedValue(v,o.value):r[i]=v,r),{}))),typeof o.value[l].computedValue=="function"&&n!==void 0&&(t[l]=o.value[l].computedValue(n,o.value))),t),{}));return{formData:u,computedData:a}}const oe=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:u,emit:a}){const t=o,l=a,n=e.ref(t.schema),{dynamicRefs:c,isFormValid:r,resetForm:i}=A(),{formData:v,computedData:k}=te(n);async function C(){await r()&&l("submit",v.value,k.value)}function d(){i(),l("clear")}function B(){i(),l("cancel")}return e.watch(v,async()=>{for(const[p,g]of Object.entries(n.value))D(g,v.value,k.value)||(g.value=t.schema[p].value)},{deep:!0,immediate:!0}),e.watch(()=>t.schema,p=>{for(const[g,s]of Object.entries(p))s.value!==void 0&&(n.value[g].value=s.value)},{deep:!0,immediate:!0}),u({resetForm:i,isFormValid:r,resolveData:()=>({formData:v.value,computedData:k.value})}),(p,g)=>(e.openBlock(),e.createBlock(e.unref(m.IonGrid),null,{default:e.withCtx(()=>[e.createVNode(e.unref(m.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(n.value),s=>{var V,x,w,I,E;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(D)(n.value[s],e.unref(v),e.unref(k))?(e.openBlock(),e.createBlock(e.unref(m.IonCol),{key:s,size:((V=n.value[s].grid)==null?void 0:V.xs)??"12","size-sm":(x=n.value[s].grid)==null?void 0:x.sm,"size-md":(w=n.value[s].grid)==null?void 0:w.md,"size-lg":(I=n.value[s].grid)==null?void 0:I.lg,"size-xl":(E=n.value[s].grid)==null?void 0:E.xl,class:"ion-margin-vertical"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value[s].type),{modelValue:n.value[s],"onUpdate:modelValue":F=>n.value[s]=F,schema:n.value,ref_for:!0,ref_key:"dynamicRefs",ref:c,"ref-key":s},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:1}),p.hideButtons?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(m.IonRow),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(m.IonCol),{size:"12",style:e.normalizeStyle([{display:"flex"},{justifyContent:p.buttonPlacement}])},{default:e.withCtx(()=>[p.showCancelButton?(e.openBlock(),e.createBlock(e.unref(m.IonButton),{key:0,onClick:B},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.cancelButtonText??"Cancel"),1)]),_:1})):e.createCommentVNode("",!0),p.showClearButton?(e.openBlock(),e.createBlock(e.unref(m.IonButton),{key:1,onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.clearButtonText??"Reset"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.customButtons,s=>(e.openBlock(),e.createBlock(e.unref(m.IonButton),{key:s.label,onClick:s.action,color:s.color??"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.label),1)]),_:2},1032,["onClick","color"]))),128)),e.createVNode(e.unref(m.IonButton),{onClick:C},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.submitButtonText??"Submit"),1)]),_:1})]),_:1},8,["style"])]),_:1}))]),_:1}))}});function le(o){return{applyValidationState:async t=>{var l,n,c,r,i;(l=o.value)==null||l.$el.classList.remove("ion-invalid"),(n=o.value)==null||n.$el.classList.remove("ion-valid"),t?(c=o.value)==null||c.$el.classList.add("ion-valid"):(r=o.value)==null||r.$el.classList.add("ion-invalid"),(i=o.value)==null||i.$el.classList.add("ion-touched")},resetValidationState:()=>{var t,l;(t=o.value)==null||t.$el.classList.remove("ion-touched"),(l=o.value)==null||l.$el.classList.remove("ion-invalid")}}}function M(o,u,a,t,l){const{applyValidationState:n,resetValidationState:c}=le(o);async function r(){if(u.value.required&&!a.value)return u.value.error="This field is required",!1;if(l){const d=await l(a.value);if(typeof d=="string")return u.value.error=d,!1;if(d===!1)return!1}if(u.value.validation){const d=await u.value.validation(a.value,t==null?void 0:t.value);if(d&&d.length)return u.value.error=d.join(),!1}return!0}async function i(){const d=await r();d&&(u.value.error="",u.value.value=a.value),await n(d)}function v(){c(),u.value.error=""}function k(d=""){a.value=d,u.value.error="",u.value.value=d}function C(){return u.value.error?[u.value.error]:[]}return{isValid:r,onValueUpdate:i,onFocus:v,onReset:k,getErrors:C,applyValidationState:n,resetValidationState:c}}function ne(o){const u=e.computed(()=>!!o.value.label),a=e.computed(()=>!!o.value.required),t=e.computed(()=>o.value.label||"");return{showLabel:u,showRequired:a,labelText:t}}const z=e.defineComponent({__name:"InputLabel",props:{model:{}},setup(o){const u=o,{showLabel:a,showRequired:t,labelText:l}=ne(e.toRef(u,"model"));return(n,c)=>e.unref(a)?(e.openBlock(),e.createBlock(e.unref(m.IonLabel),{key:0,slot:"label",class:"input-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l))+" ",1),e.unref(t)?(e.openBlock(),e.createBlock(e.unref(m.IonText),{key:0,color:"danger"},{default:e.withCtx(()=>c[0]||(c[0]=[e.createTextVNode("*")])),_:1,__:[0]})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0)}}),S=e.defineComponent({__name:"BaseInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),l=e.ref(null),n=e.ref(t.value.value),c=e.computed(()=>a.schema),{isValid:r,onValueUpdate:i,onFocus:v,onReset:k,getErrors:C}=M(l,t,n,c),d=e.computed(()=>{if(t.value.pattern)return Y(t.value.pattern)});return e.watch(()=>t.value.value,B=>n.value=B),u({onValueUpdate:i,onReset:k,getErrors:C,isValid:r}),(B,p)=>{var s;const g=e.resolveDirective("maskito");return e.withDirectives((e.openBlock(),e.createBlock(e.unref(m.IonInput),{ref_key:"inputRef",ref:l,modelValue:n.value,"onUpdate:modelValue":p[0]||(p[0]=V=>n.value=V),"clear-input":!0,fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:B.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:((s=d.value)==null?void 0:s.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(v),onIonChange:e.unref(i),onIonBlur:e.unref(i)},{default:e.withCtx(()=>[e.createVNode(z,{model:t.value},null,8,["model"]),t.value.prefix?(e.openBlock(),e.createBlock(e.unref(m.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(m.IonLabel),{key:1,slot:"end"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.value.suffix),1)]),_:1})):e.createCommentVNode("",!0),B.type==="password"?(e.openBlock(),e.createBlock(e.unref(m.IonInputPasswordToggle),{key:2,slot:"end"})):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter","min","max","max-length","min-length","pattern","onIonFocus","onIonChange","onIonBlur"])),[[g,d.value]])}}}),ae=e.defineComponent({__name:"TextInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return u({onReset:()=>{var l;return(l=t.value)==null?void 0:l.onReset()},onValueUpdate:()=>{var l;return(l=t.value)==null?void 0:l.onValueUpdate()},getErrors:()=>{var l,n;return((n=(l=t.value)==null?void 0:l.getErrors)==null?void 0:n.call(l))??[]}}),(l,n)=>(e.openBlock(),e.createBlock(S,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value=c),type:"text",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ue=e.defineComponent({__name:"DateInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return u({onValueUpdate:()=>{var l;return(l=t.value)==null?void 0:l.onValueUpdate()},onReset:()=>{var l;return(l=t.value)==null?void 0:l.onReset()},getErrors:()=>{var l,n;return((n=(l=t.value)==null?void 0:l.getErrors)==null?void 0:n.call(l))??[]}}),(l,n)=>(e.openBlock(),e.createBlock(S,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value=c),type:a.value.enableTime?"datetime-local":"date",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","type","schema"]))}}),re=e.defineComponent({__name:"NumberInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return u({onReset:()=>{var l;return(l=t.value)==null?void 0:l.onReset()},onValueUpdate:()=>{var l;return(l=t.value)==null?void 0:l.onValueUpdate()},getErrors:()=>{var l,n;return((n=(l=t.value)==null?void 0:l.getErrors)==null?void 0:n.call(l))??[]}}),(l,n)=>(e.openBlock(),e.createBlock(S,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value=c),type:"number",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ce=e.defineComponent({__name:"EmailInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return u({onReset:()=>{var l;return(l=t.value)==null?void 0:l.onReset()},onValueUpdate:()=>{var l;return(l=t.value)==null?void 0:l.onValueUpdate()},getErrors:()=>{var l,n;return((n=(l=t.value)==null?void 0:l.getErrors)==null?void 0:n.call(l))??[]}}),(l,n)=>(e.openBlock(),e.createBlock(S,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value=c),type:"email",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),se=e.defineComponent({__name:"PasswordInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=e.useModel(o,"modelValue"),t=e.ref(null);return u({onReset:()=>{var l;return(l=t.value)==null?void 0:l.onReset()},onValueUpdate:()=>{var l;return(l=t.value)==null?void 0:l.onValueUpdate()},getErrors:()=>{var l,n;return((n=(l=t.value)==null?void 0:l.getErrors)==null?void 0:n.call(l))??[]}}),(l,n)=>(e.openBlock(),e.createBlock(S,{modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value=c),type:"password",schema:l.schema,ref_key:"inputRef",ref:t},null,8,["modelValue","schema"]))}}),ie=e.defineComponent({__name:"SelectInput",props:e.mergeModels({schema:{},type:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),l=e.ref(null),n=e.ref(null),c=e.ref(!1),r=e.ref([]),i=e.ref(""),v=e.ref(1),k=e.computed(()=>t.value.interface??"popover"),C=e.computed(()=>t.value.optionsPlacement==="top"?"top":"bottom"),d=e.computed(()=>r.value.filter(f=>!!f.isChecked)),B=e.computed(()=>!i.value&&L(d.value)&&!c.value?t.value.placeholder??"Select an option":"");e.watch([i,()=>t.value.options],N,{immediate:!0,deep:!0}),e.watch(()=>t.value.value,K,{immediate:!0,deep:!0});function p(){r.value.forEach(f=>U(f,r.value)),t.value.error="",i.value="",v.value=1,t.value.value=t.value.multiple?[]:""}function g(f){if(f.isChecked)return U(f,r.value);t.value.multiple?_(f,r.value):(p(),_(f,r.value),R()),i.value=""}function s(){switch(k.value){case"action-sheet":V();break;case"alert":x();break;case"popover":default:c.value=!0;break}}async function V(){if(await N(),t.value.multiple){c.value=!0;return}await(await m.actionSheetController.create({header:t.value.label||"Select an option",buttons:[...r.value.map(y=>({text:y.label,cssClass:y.isChecked?"selected-option":"",handler:()=>(g(y),!1)})),{text:"Cancel",role:"cancel"}]})).present()}async function x(){await N();const f=r.value.map(h=>({label:h.label,type:t.value.multiple?"checkbox":"radio",value:h,checked:h.isChecked}));await(await m.alertController.create({header:t.value.label||"Select an option",inputs:f,buttons:[{text:"Cancel",role:"cancel"},{text:"OK",handler:h=>{if(t.value.multiple)r.value.forEach(b=>U(b,r.value)),h.forEach(b=>{const T=r.value.find(W=>W.value===b.value);T&&_(T,r.value)});else{p();const b=r.value.find(T=>T.value===h.value);b&&_(b,r.value)}R()}}]})).present()}async function w(){if(t.value.required&&L(d.value))return"This field is required";if(t.value.validation){const f=await t.value.validation(d.value,a==null?void 0:a.schema);if(f&&f.length)return f.join()}return!0}const{onFocus:I,applyValidationState:E}=M(l,t,e.computed(()=>t.value.multiple?d.value:d.value[0]),e.computed(()=>a==null?void 0:a.schema),w);function F(f){var y;f.target===((y=l.value)==null?void 0:y.$el)&&(I(),k.value==="popover"&&(c.value=!0))}async function R(f){var h;if((h=f==null?void 0:f.relatedTarget)!=null&&h.closest(".suggestions-list"))return;c.value=!1;const y=await w();y===!0?(t.value.error="",t.value.value=t.value.multiple?d.value:d.value[0]):t.value.error=typeof y=="string"?y:"Validation failed",await E(y===!0)}async function N(){const f=[];if(typeof t.value.options=="function"){const y=await t.value.options(i.value);f.push(...y.filter(h=>!!h.label))}else f.push(...ee(t.value.options??[],i.value));d.value.forEach(y=>_(y,f)),r.value=f}function K(){const f=t.value.value;f&&(Array.isArray(f)?f.forEach(y=>_(y,r.value)):_(typeof f=="object"?f:{value:f,label:f},r.value))}return u({onValueUpdate:R,onReset:p,getErrors:()=>t.value.error?[t.value.error]:[]}),(f,y)=>(e.openBlock(),e.createElementBlock("div",{class:"autocomplete-container",onFocusout:R,ref_key:"containerRef",ref:n},[e.createVNode(e.unref(m.IonInput),{ref_key:"inputRef",ref:l,modelValue:i.value,"onUpdate:modelValue":y[0]||(y[0]=h=>i.value=h),fill:t.value.fill??"outline","label-placement":t.value.labelPlacement??"stacked",type:f.type??"text",required:t.value.required,"error-text":t.value.error,autofocus:t.value.autoFocus,placeholder:B.value,disabled:t.value.disabled,counter:t.value.counter,onIonFocus:F,debounce:300,onClick:s},{default:e.withCtx(()=>[e.createVNode(z,{model:t.value},null,8,["model"]),t.value.multiple?(e.openBlock(),e.createBlock(e.unref(m.IonLabel),{key:0,style:{width:"fit-content"},slot:"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(h,b)=>(e.openBlock(),e.createBlock(e.unref(m.IonChip),{key:b},{default:e.withCtx(()=>[e.createVNode(e.unref(m.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.label),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e.openBlock(),e.createBlock(e.unref(m.IonLabel),{key:1,slot:"start",class:"ion-no-wrap"},{default:e.withCtx(()=>{var h;return[e.createTextVNode(e.toDisplayString(((h=d.value[0])==null?void 0:h.label)??""),1)]}),_:1})),e.createVNode(e.unref(m.IonIcon),{slot:"end",icon:e.unref(O.chevronDown)},null,8,["icon"]),d.value.length>0||i.value?(e.openBlock(),e.createBlock(e.unref(m.IonIcon),{key:2,slot:"end",icon:e.unref(O.close),onClick:p,style:{"z-index":"999999"}},null,8,["icon"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue","fill","label-placement","type","required","error-text","autofocus","placeholder","disabled","counter"]),c.value&&r.value.length>0&&k.value==="popover"?(e.openBlock(),e.createBlock(e.unref(m.IonList),{key:0,class:e.normalizeClass(["suggestions-list",C.value])},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,h=>(e.openBlock(),e.createBlock(e.unref(m.IonItem),{button:"",key:h.label,onClick:b=>g(h)},{default:e.withCtx(()=>[t.value.multiple?(e.openBlock(),e.createBlock(e.unref(m.IonCheckbox),{key:0,slot:"start",checked:h.isChecked},null,8,["checked"])):e.createCommentVNode("",!0),e.createVNode(e.unref(m.IonLabel),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.label),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1},8,["class"])):e.createCommentVNode("",!0)],544))}}),P=(o,u)=>{const a=o.__vccOpts||o;for(const[t,l]of u)a[t]=l;return a},de=P(ie,[["__scopeId","data-v-80c14c96"]]),me=e.defineComponent({__name:"TextAreaInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),l=e.ref(null),n=e.ref(t.value.value),c=e.computed(()=>a.schema),{onValueUpdate:r,onFocus:i,onReset:v,getErrors:k}=M(l,t,n,c);return e.watch(()=>t.value.value,C=>n.value=C),u({onReset:v,onValueUpdate:r,getErrors:k}),(C,d)=>(e.openBlock(),e.createBlock(e.unref(m.IonTextarea),{ref_key:"inputRef",ref:l,modelValue:n.value,"onUpdate:modelValue":d[0]||(d[0]=B=>n.value=B),"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(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"]))}}),fe={class:"ion-margin-end",style:{"flex-grow":"1"}},pe={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(o,{expose:u}){const a=e.useModel(o,"modelValue"),t=e.ref([]),{dynamicRefs:l,resetForm:n,getFormErrors:c,updateFormValues:r}=A(),i=e.computed(()=>t.value.map((p,g)=>({label:`Set ${g+1}`,value:g,other:Object.entries(p).reduce((s,[V,x])=>(s[V]=x.value,s),{})})));e.watch(i,p=>{a.value.value=p},{deep:!0,immediate:!0}),e.onMounted(v);function v(){a.value.children&&t.value.push(q(a.value.children))}function k(p){t.value.splice(p,1)}function C(){n()}function d(){return c()}async function B(){await r()}return u({onValueUpdate:B,onReset:C,getErrors:d}),(p,g)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(s,V)=>(e.openBlock(),e.createElementBlock("div",{class:"repeat-input-wrapper",key:V},[e.createElementVNode("div",fe,[e.createVNode(e.unref(m.IonRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(s),x=>{var w,I,E,F,R;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(D)(s[x],p.data,p.computedData)?(e.openBlock(),e.createBlock(e.unref(m.IonCol),{key:`${V}-${x}`,size:((w=s[x].grid)==null?void 0:w.xs)??"12","size-sm":(I=s[x].grid)==null?void 0:I.sm,"size-md":(E=s[x].grid)==null?void 0:E.md,"size-lg":(F=s[x].grid)==null?void 0:F.lg,"size-xl":(R=s[x].grid)==null?void 0:R.xl,class:"ion-margin-bottom"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s[x].type),{modelValue:s[x],"onUpdate:modelValue":N=>s[x]=N,schema:s,"ref-key":`${V}-${x}`,ref_for:!0,ref_key:"dynamicRefs",ref:l},null,8,["modelValue","onUpdate:modelValue","schema","ref-key"]))]),_:2},1032,["size","size-sm","size-md","size-lg","size-xl"])):e.createCommentVNode("",!0)],64)}),256))]),_:2},1024)]),e.createElementVNode("div",pe,[V===t.value.length-1?(e.openBlock(),e.createBlock(e.unref(m.IonButton),{key:0,onClick:v,color:"primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.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(m.IonButton),{key:1,onClick:x=>k(V),color:"warning"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.IonIcon),{slot:"icon-only",icon:e.unref(O.remove)},null,8,["icon"])]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)])]))),128))}}),he=P(ve,[["__scopeId","data-v-402695fe"]]),ke=e.defineComponent({__name:"CheckboxInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),l=e.ref(null),n=e.ref(t.value.value),c=e.computed(()=>a.schema),r=e.computed(()=>j(t.value)),{onValueUpdate:i,onFocus:v,getErrors:k}=M(l,t,n,c);function C(){n.value=!1,t.value.error="",t.value.value=!1}return e.watch(()=>t.value.value,d=>n.value=d),u({onValueUpdate:i,onReset:C,getErrors:k}),(d,B)=>(e.openBlock(),e.createBlock(e.unref(m.IonCheckbox),{modelValue:n.value,"onUpdate:modelValue":B[0]||(B[0]=p=>n.value=p),ref_key:"inputRef",ref:l,required:t.value.required,"error-text":t.value.error,disabled:t.value.disabled,onIonFocus:e.unref(v),onIonChange:e.unref(i),onIonBlur:e.unref(i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.value),1)]),_:1},8,["modelValue","required","error-text","disabled","onIonFocus","onIonChange","onIonBlur"]))}}),ye=e.defineComponent({__name:"RadioInput",props:e.mergeModels({schema:{}},{modelValue:{type:Object,default:{}},modelModifiers:{}}),emits:["update:modelValue"],setup(o,{expose:u}){const a=o,t=e.useModel(o,"modelValue"),l=e.ref(null),n=e.ref(t.value.value),c=e.computed(()=>a.schema),r=e.ref([]),i=e.computed(()=>j(t.value)),{onValueUpdate:v,onFocus:k,getErrors:C}=M(l,t,n,c);function d(){t.value.error="",n.value=void 0,t.value.value=void 0}function B(g,s){return g.value===s.value}async function p(){typeof t.value.options=="function"?r.value=await t.value.options():r.value=t.value.options}return e.watch(()=>t.value.value,g=>n.value=g),u({onValueUpdate:v,onReset:d,getErrors:C}),e.onMounted(p),(g,s)=>(e.openBlock(),e.createBlock(e.unref(m.IonRadioGroup),{modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=V=>n.value=V),ref_key:"inputRef",ref:l,required:t.value.required,"helper-text":i.value,"error-text":t.value.error,disabled:t.value.disabled,compareWith:B,"allow-empty-selection":!t.value.required,onIonFocus:e.unref(k),onIonChange:e.unref(v),onIonBlur:e.unref(v)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,V=>(e.openBlock(),e.createBlock(e.unref(m.IonRadio),{key:V.value,value:V,disabled:t.value.disabled,"label-placement":"end",justify:"start"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(V.label),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue","required","helper-text","error-text","disabled","allow-empty-selection","onIonFocus","onIonChange","onIonBlur"]))}}),G={install(o){o.component("VForm",oe),o.component("TextInput",ae),o.component("DateInput",ue),o.component("NumberInput",re),o.component("EmailInput",ce),o.component("PasswordInput",se),o.component("SelectInput",de),o.component("TextAreaInput",me),o.component("RepeatInput",he),o.component("CheckboxInput",ke),o.component("RadioInput",ye),o.directive("maskito",Z.maskito)}};exports.VForm=G;exports.default=G;
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|