1import{setMobileMenuOpen as k}from"./header-bZJp-l-_.js";const w=1024,d=new Map;function v(r){const t=r.getAttribute("aria-controls");return t?document.getElementById(t):null}function A(r){return r.querySelector("span.dropdown")}function g(r){const t=v(r);return t?Array.from(t.querySelectorAll("a")):[]}function c(r,t){r.setAttribute("aria-expanded",t?"true":"false"),v(r)?.classList.toggle("expanded",t);const o=A(r);o&&(o.textContent=t?"-":"+")}function y(r,t){for(const o of r.triggers)o!==t&&o.getAttribute("aria-expanded")==="true"&&c(o,!1)}function m(r){if(d.has(r))return;const t={root:r,triggers:Array.from(r.querySelectorAll("button.nav-trigger")),listeners:[]},o=(e,f,u)=>{e.addEventListener(f,u),t.listeners.push({el:e,type:f,fn:u})};for(const e of t.triggers){const f=v(e);if(!f)continue;const u=e.querySelector(".dropdown-container")??e,p=()=>{const s=e.getAttribute("aria-expanded")==="true";y(t,e),c(e,!s)};o(e,"click",s=>{s.preventDefault(),p()});let l=!1;o(u,"mousedown",()=>{l=!0}),o(u,"mouseup",()=>{l&&(l=!1,p())}),o(u,"touchend",s=>{s.preventDefault(),l=!1,p()}),o(e,"keydown",s=>{const n=s;if(n.key==="Escape")n.preventDefault(),c(e,!1),e.focus();else if(n.key==="ArrowDown")n.preventDefault(),y(t,e),c(e,!0),g(e)[0]?.focus();else if(n.key==="ArrowUp"){n.preventDefault(),y(t,e),c(e,!0);const i=g(e);i[i.length-1]?.focus()}}),o(f,"keydown",s=>{const n=s,i=g(e),a=i.indexOf(n.target);if(n.key==="Escape")n.preventDefault(),c(e,!1),e.focus();else if(n.key==="ArrowDown"){if(n.preventDefault(),a<0)return;(i[a+1]??e).focus()}else if(n.key==="ArrowUp"){if(n.preventDefault(),a<0)return;(a===0?e:i[a-1]).focus()}else n.key==="Home"?(n.preventDefault(),i[0]?.focus()):n.key==="End"&&(n.preventDefault(),i[i.length-1]?.focus())}),o(f,"click",s=>{s.target.closest("a")&&window.innerWidth<=w&&(c(e,!1),k(!1))})}d.set(r,t)}function x(){for(const[r,t]of d){for(const{el:o,type:e,fn:f}of t.listeners)o.removeEventListener(e,f);d.delete(r)}}export{x as destroy,m as initialize};
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.