import{u as z,_ as D,a as L}from"./BGvr6Nmh.js";import{d as j,u as q,e as m,V as $,o as i,h as u,j as c,i as p,k as o,E as G,aX as R,z as b,F as U,r as X,A as S,m as J,B as K,n as B,t as P,_ as Q}from"./ClF4tOhd.js";const W=["dir"],Y={class:"h-form-field__wrapper"},Z=["id","placeholder","disabled","aria-label","aria-labelledby"],ee={class:"h-form-field__box"},le=["aria-labelledby"],ae=["data-click-id","aria-selected","onMousedown"],te={key:0,class:"disabled"},oe=j({__name:"HSelectField",props:{type:{type:String,default:"text"},helperText:{type:String,default:""},displayError:{type:Boolean,default:!0},modelValue:{type:String,default:""},id:{type:String,required:!0},label:{type:String,default:""},placeholder:{type:String,default:""},validationRules:{type:Array,default:()=>[]},readonly:Boolean,disabled:Boolean,options:{type:Array,default:()=>[]},optionsClickIds:{type:Array,default:()=>[]},disabledOptions:{type:Array,default:()=>[]}},emits:["update:model-value","error","on-focus","on-blur"],setup(l,{expose:V,emit:M}){const s=l,r=M,{classes:w,errorMessage:C,reset:F,onBlur:y,validate:f,error:_,hovered:g,focused:d,touched:h}=z(r,s),{direction:k}=q(),H=m(()=>s.options.every(e=>typeof e=="string")?s.options.map(e=>({title:e,value:e})):s.options),n=m({get(){return s.modelValue},set(e){r("update:model-value",e),$(()=>{h.value&&f()})}}),A=m(()=>d.value?"ui-icons/ic-arrow-drop-up":"ui-icons/ic-arrow-drop-down"),N=e=>({selected:n.value===e,disabled:s.disabledOptions.includes(e)}),x=e=>{r("update:model-value",e),$(()=>{h.value&&f()})},I=()=>{d.value=!d.value,d.value&&r("on-focus")};return V({reset:F,validate:f,changeValue:x,error:_}),(e,t)=>{const T=D,E=K,O=L;return i(),u("div",{class:b(["h-form-field h-form-field--select",o(k)]),dir:o(k)},[c("div",Y,[p(T,{id:`${l.id}-label`,label:l.label,"for-attr":l.id,value:n.value,focused:o(d),disabled:l.disabled,error:!!o(_)},null,8,["id","label","for-attr","value","focused","disabled","error"]),p(E,{class:"h-form-field__icon",icon:A.value},null,8,["icon"]),G(c("input",{id:l.id,"onUpdate:modelValue":t[0]||(t[0]=a=>n.value=a),class:b(["h-form-field__element",o(w)]),type:"text",placeholder:l.placeholder,readonly:"",disabled:l.disabled,"aria-label":l.label,"aria-labelledby":`${l.id}-label`,onMouseenter:t[1]||(t[1]=a=>g.value=!0),onMouseleave:t[2]||(t[2]=a=>g.value=!1),onBlur:t[3]||(t[3]=(...a)=>o(y)&&o(y)(...a)),onClick:I},null,42,Z),[[R,n.value]]),c("div",ee,[c("div",{role:"listbox",class:"h-form-field__options","aria-labelledby":`${l.id}-label`},[(i(!0),u(U,null,X(H.value,(a,v)=>(i(),u("span",{key:`${a}-${v}`,role:"option",class:b(N(a.value)),"data-click-id":l.optionsClickIds[v],"aria-selected":a.value===n.value,onMousedown:se=>x(a.value)},[S(e.$slots,`option-${v}`,{value:a.value},()=>[B(P(a.title),1)],!0)],42,ae))),128)),l.options.length?J("",!0):(i(),u("span",te,[S(e.$slots,"no-options",{},()=>[t[4]||(t[4]=B("No options"))],!0)]))],8,le)])]),p(O,{message:o(C),type:"error"},null,8,["message"])],10,W)}}}),re=Q(oe,[["__scopeId","data-v-6d533e2f"]]);export{re as H};
