1import{o as B,a9 as y,bN as I,ce as o,cI as C,cD as T,a6 as q,F as L,bM as O,bp as x,bq as F,bw as K,bv as N,cm as U,a3 as j,bJ as c,bm as G,bz as g}from"./BPlt5jNJ.js";try{let a=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},v=new a.Error().stack;v&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[v]="c97bc10d-a46a-428c-9807-487ed3894524",a._sentryDebugIdIdentifier="sentry-dbid-c97bc10d-a46a-428c-9807-487ed3894524")}catch{}{let a=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};a._sentryModuleMetadata=a._sentryModuleMetadata||{},a._sentryModuleMetadata[new a.Error().stack]=Object.assign({},a._sentryModuleMetadata[new a.Error().stack],{"_sentryBundlerPluginAppKey:splash-application":!0})}const J=["id","inert","aria-activedescendant","aria-labelledby"],P=["id","data-active"],R={__name:"BaseDropDown",props:{items:{type:Array[Object],required:!0},dropdownClass:{type:String,default:null}},emits:["selected"],setup(a,{emit:v}){const m=a,h=c(),M=d=>{const f=c(),n=c([]),e=c(null),r=c(!1),u=t=>!t||!t.querySelector?null:t.querySelector('a, button, [tabindex]:not([tabindex="-1"]), input, textarea, select')||t,b=async t=>{const s=t&&t.detail===0;if(r.value=!r.value,!r.value){e.value=null,f.value.focus();return}if(r.value){await G();const w=d.value.querySelector("ul");
1w&&(w.scrollTop=0)}s&&!e.value&&(e.value=0,u(n.value[e.value])?.focus())},D=t=>{if(!r.value)return;let s=t.target;do{if(s==d.value)return;s=s.parentNode}while(s);b()},k=t=>{b(),t.preventDefault(),f.value.focus()},A=t=>{e.value=e.value===null?0:(e.value+1)%n.value.length,u(n.value[e.value])?.getAttribute("tabindex")==-1&&(e.value=e.value+1),u(n.value[e.value])?.focus(),t.preventDefault()},z=t=>{e.value=e.value>0?e.value-1:n.value.length-1,u(n.value[e.value])?.getAttribute("tabindex")==-1&&(e.value=e.value>0?e.value-1:n.value.length-1),u(n.value[e.value])?.focus(),t.preventDefault()},E=t=>{if(r.value)switch(t.key){case"Escape":k(t);break;case"Tab":r.value&&k(t);break;case"ArrowDown":A(t);break;case"ArrowUp":z(t);break}};return K(()=>{f.value=d.value.querySelector("button"),document.addEventListener("click",D),document.addEventListener("keydown",E)}),N(()=>{document.removeEventListener("click",D),document.removeEventListener("keydown",E)}),{menuItems:n,activeIndex:e,dropdownIsOpen:r,toggleDropdown:b}},l=U(),$=j(()=>(m.dropdownClass||`${l}`,{"--dropdown-anchor":`--${l}`,"--dropdown-top":`anchor(--${l} bottom)`,"--dropdown-left":`anchor(--${l} 50%)`,"--dropdown-width":m.dropdownClass?null:`calc(anchor-size(--${l} width) + 30px)`})),{menuItems:S,activeIndex:i,dropdownIsOpen:p,toggleDropdown:_}=M(h);return(d,f)=>(g(),y("div",{ref_key:"container",ref:h,class:"relative"},[I(d.$slots,"dropdown-trigger",{dropdownIsOpen:o(p),toggleDropdown:o(_),dropdownId:o(l)},void 0,!0),C(q("ul",{id:`dropdown-${o(l)}`,style:F($.value),tabindex:"0",class:x(["rounded duration-200 font-body absolute -left-3 z-50 -mt-1 max-h-[220px] origin-top !overflow-y-auto border border-gray-300 bg-white p-0 text-base transition-all [&>li]:last:mb-0",a.dropdownClass,o(p)?"scale-120 opacity-100":"opacity-0"]),"data-test":"module-dropdown-list",inert:!o(p),"aria-activedescendant":o(i)?`${o(l)}-active-descendant-${o(i)}`:null,"aria-labelledby":o(l),role:"menu"},[(g(!0),y(L,null,O(a.items,(n,e)=>(g(),y("li",{id:`${o(l)}-active-descendant-${e}`,key:e,ref_for:!0,ref_key:"menuItems",ref:S,role:"menuitem","data-active":e===o(i),class:x({"bg-zinc-200":e===o(i)})},[I(d.$slots,"dropdown-item",{item:n,toggleDropdown:o(_)},void 0,!0)],10,P))),128))],14,J),[[T,o(p)]])],512))}},H=B(R,[["__scopeId","data-v-878191a0"]]);export{H as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.