import{H as _}from"./kVw37mi8.js";import{d as x,aa as A,u as F,C as u,e as H,y as I,o as d,h as c,i as N,a7 as O,r as y,z as r,j as R,F as z,a8 as M,m as E,k as h,w as L,A as k,n as w,t as g,_ as j}from"./rUorOYE2.js";const q=["dir"],D=["data-click-id","aria-selected","onClick"],G=x({__name:"HSwitcher",props:{disabled:Boolean,modelValue:{type:String,default:""},options:{type:Array,required:!0},disabledOptions:{type:Array,default:()=>[]},optionsClickIds:{type:Array,default:()=>[]},type:{type:String,default:"default",validator:A(["default","tabsOnly"])}},emits:["update:model-value"],setup(a,{emit:C}){const{direction:m}=F(),f=a,S=C,b=u(null),V=u(null),o=u({width:0,left:0}),l=H({get(){return f.modelValue},set(e){S("update:model-value",e)}}),$=()=>{const e=V.value;return e==null?void 0:e[0]},B=e=>{const s=e.target;v(s)},p=()=>{const e=$();e&&v(e)},v=e=>{const s=b.value;if(!e||!s)return;const i=e.getBoundingClientRect(),t=s.getBoundingClientRect();o.value.width=i.width,o.value.left=i.left-t.left},T=e=>{f.disabled||(l.value=e)};return I(()=>{window.innerWidth>600&&setTimeout(()=>{p()},100)}),(e,s)=>{const i=_;return d(),c("div",{class:r(["h-switcher",h(m)])},[N(i,{id:"h-switcher-select",modelValue:l.value,"onUpdate:modelValue":s[0]||(s[0]=t=>l.value=t),class:r(["h-switcher__select",[{mobile:a.type==="default"},{hidden:a.type==="tabsOnly"}]]),options:a.options,"disabled-options":a.disabledOptions,"options-click-ids":a.optionsClickIds},O({_:2},[y(a.options,(t,n)=>({name:`option-${n}`,fn:L(()=>[k(e.$slots,`option-${n}`,{value:t},()=>[w(g(t),1)],!0)])}))]),1032,["modelValue","class","options","disabled-options","options-click-ids"]),R("div",{ref_key:"tabs",ref:b,role:"listbox",class:r(["h-switcher__tabs",{desktop:a.type==="default"}]),"aria-label":"tabs list",dir:h(m)},[(d(!0),c(z,null,y(a.options,(t,n)=>(d(),c("span",{key:`${t}-${n}`,ref_for:!0,ref:t===l.value?"selectedTab":void 0,role:"option",class:r(["t-body-2",[{selected:t===l.value},{disabled:a.disabled}]]),"data-click-id":a.optionsClickIds[n],"aria-selected":t===l.value,onMouseenter:B,onMouseleave:p,onClick:U=>T(t)},[k(e.$slots,`option-${n}`,{value:t},()=>[w(g(t),1)],!0)],42,D))),128)),a.disabled?E("",!0):(d(),c("div",{key:0,class:"h-switcher__line",style:M(`width: ${o.value.width}px; transform: translateX(${o.value.left}px)`)},null,4))],10,q)],2)}}}),J=j(G,[["__scopeId","data-v-59b368dd"]]);export{J as _};
