import{V as c}from"./vue-select-Beym-pxQ.mjs";import{_ as p}from"./WebFormFieldCore-xNTPdj0N.mjs";import{_ as m,H as h,c as n,o as d,d as f,l as v,v as a,a as i,Q as _,ai as w,c9 as V,ab as M,z as S,t as y}from"./BfF8i_OD.js";const g={components:{VueSelect:c},extends:p,props:{value:{type:[Array,String],default:()=>[]},placeholder:{type:String,default:null},options:{type:Array,required:!0},allowMultiple:{type:Boolean,default:!1}},data(){return{selected:this.allowMultiple?this.value:{}}},watch:{selected(e){this.update(e)}},mounted(){var e;this.allowMultiple||(this.selected=((e=this.options.find(t=>t.value===this.value))==null?void 0:e.value)??"")},methods:{validate(e){return this.required&&(!e||`${e}`.trim()==="")?{valid:!1,errors:["Field is required"]}:{valid:!0,errors:[]}}}},q={class:"form-field-select"},H=["title","innerHTML"],E=["innerHTML"],A={key:0,class:"error"};function B(e,t,r,C,o,L){const u=h("VueSelect");return d(),n("div",q,[f(u,{id:e.name,modelValue:o.selected,"onUpdate:modelValue":t[0]||(t[0]=s=>o.selected=s),placeholder:r.placeholder??"Select...",name:e.name,reduce:s=>s.value,disabled:e.disabled,required:e.required,options:r.options,multiple:r.allowMultiple,"menu-props":"auto",class:S(["select",e.hasError&&e.showErrors?"has-error":""])},{search:a(({attributes:s,events:l})=>[_(i("input",w({maxlength:"20",class:"vs__search"},s,V(l,!0)),null,16),[[M,!o.selected||r.options]])]),option:a(s=>{var l;return[i("div",{title:s.title,innerHTML:(l=s.label)==null?void 0:l.replaceAll(",",", ")},null,8,H)]}),"selected-option":a(({label:s})=>[i("div",{innerHTML:s==null?void 0:s.replaceAll(",",", ")},null,8,E)]),_:1},8,["id","modelValue","placeholder","name","reduce","disabled","required","options","multiple","class"]),e.hasError&&e.showErrors?(d(),n("span",A,y(e.errorMsg),1)):v("",!0)])}const N=m(g,[["render",B],["__scopeId","data-v-0dea6152"]]);export{N as default};