import{_ as p,o as a,s as n,m as r,v as d,n as c,e as o,c as h,N as y}from"./entry.4a1e3e7a.js";import{_ as f}from"./index.6f139f65.js";const b={props:{description:{type:String,default:null},accept:{type:String,default:null},name:{type:String,default:null},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},data(){return{files:[]}},methods:{getFiles(i){this.files=this.$refs.fileUpload.files,this.$emit("change",i),this.$emit("update",this.files)}}},x={class:"file-input"},S=["accept","disabled","required"];function q(i,t,e,_,l,s){return a(),n("label",x,[r(d(e.description)+" ",1),c("input",{ref:"fileUpload",accept:e.accept,disabled:e.disabled,required:e.required,type:"file",class:"file-upload",onChange:t[0]||(t[0]=(...u)=>s.getFiles&&s.getFiles(...u))},null,40,S)])}const m=p(b,[["render",q],["__scopeId","data-v-099dd3c0"]]);const v={components:{Input:f,FileUpload:m},props:{modelValue:{type:String,default:""},name:{type:String,default:null},type:{type:String,default:"text"},required:{type:Boolean,default:!1},minlength:{type:Number,default:null},maxlength:{type:Number,default:null},pattern:{type:String,default:null},autocomplete:{type:String,default:null},placeholder:{type:String,default:null},label:{type:String,required:!0},disabled:{type:Boolean,default:!1},inputId:{type:String,default:void 0},inputColor:{type:String,default:"gray"},inputTabindex:{type:String,default:void 0},inputSize:{type:String,default:void 0},description:{type:String,default:void 0},messageSpace:{type:Boolean,default:!1}},data(){return{error:null,passesMinlength:!0,passesMaxlength:!0,passesPattern:!0,passesRequired:!0}},methods:{onInput(i){switch(this.type){case"file":this.$emit("update:modelValue",i);break;default:this.$emit("update:modelValue",i.target.value),this.validate(i);break}},onBlur(i){this.$nextTick(()=>{this.validate(i)})},validate(i){var e;const t=(e=i==null?void 0:i.target)==null?void 0:e.value;!t&&this.required&&(this.error=`${this.label} is required`,this.passesRequired=!1,this.$refs.input.$el.setCustomValidity(this.error)),t&&(this.pattern&&!t.match(this.pattern)&&(this.error=`${this.label} does not match the expected format`,this.passesPattern=!1,this.$refs.input.$el.setCustomValidity(this.error)),this.maxlength&&t.length>this.maxlength&&(this.error=`${this.label} should not be longer than ${this.maxlength} characters`,this.passesMaxlength=!1,this.$refs.input.$el.setCustomValidity(this.error)),this.minlength&&t.length<=this.minlength&&(this.error=`${this.label} needs to be at least ${this.minlength} characters`,this.passesMinlength=!1,this.$refs.input.$el.setCustomValidity(this.error))),!this.passesRequired&&t&&this.required&&(this.error=null,this.passesRequired=!0,this.$refs.input.$el.setCustomValidity("")),!this.passesMaxlength&&t&&t.length<=this.maxlength&&(this.passesMaxlength=!0,this.error=null,this.$refs.input.$el.setCustomValidity("")),!this.passesPattern&&t&&t.match(this.pattern)&&(this.passesPattern=!0,this.error=null,this.$refs.input.$el.setCustomValidity("")),!this.passesMinlength&&t&&t.length>=this.minlength&&(this.passesMinlength=!0,this.error=null,this.$refs.input.$el.setCustomValidity(""))}}},V={class:"forminput-label"},C={key:0,class:"forminput-description"},B={key:3,class:"error-message"};function I(i,t,e,_,l,s){const u=m,g=f;return a(),n("label",{class:y(["forminput-wrap",e.messageSpace&&"remove-margin-bottom"])},[c("span",V,d(e.label),1),r(),e.description?(a(),n("div",C,d(e.description),1)):o("",!0),r(),e.type==="file"?(a(),h(u,{key:1,description:"Format must be JPG/HEIC/PNG/TIFF/PDF",accept:".jpg,.heic,.jpeg,.png,.tiff,.pdf",name:e.name,disabled:e.disabled,required:e.required,onUpdate:s.onInput},null,8,["name","disabled","required","onUpdate"])):(a(),h(g,{key:2,id:e.inputId,ref:"input",class:"forminput-input","model-value":e.modelValue,disabled:e.disabled,name:e.name,invalid:l.error!=null,required:e.required,type:e.type,pattern:e.pattern,placeholder:e.placeholder,autocomplete:e.autocomplete,color:e.inputColor,tabindex:e.inputTabindex,size:e.inputSize,onBlur:s.onBlur,onInput:s.onInput},null,8,["id","model-value","disabled","name","invalid","required","type","pattern","placeholder","autocomplete","color","tabindex","size","onBlur","onInput"])),r(),l.error?(a(),n("span",B,d(l.error),1)):o("",!0)],2)}const $=p(v,[["render",I],["__scopeId","data-v-fba10d10"]]);export{$ as _,m as a};