1import{r as c}from"./registerAstroSetup.ZOFgNDSr.js?dpl=dpl_9WwAXYHeomRp3mgHHzUtra7p9H2n";const m="__functionHealthHeaderSetup",p="(max-width: 1099px)",f=new Set([" ","ArrowDown","ArrowUp","PageDown","PageUp","Home","End"]),s=new Set,o=new WeakSet;class b{header;hamburger;menu;menuPanel;closeButton;backdrops;drawer;mobileMenuBackdrop;mobileMenuPortal=null;mobileQuery=window.matchMedia(p);isMenuOpen=!1;constructor(e){this.header=e,this.hamburger=e.querySelector("[data-header-toggle]"),this.menu=e.querySelector("#header-menu"),this.menuPanel=e.querySelector("[data-header-menu-panel]"),this.closeButton=e.querySelector("[data-header-close]"),this.backdrops=Array.from(e.querySelectorAll("[data-header-backdrop]")),this.drawer=e.querySelector("[data-header-drawer]"),this.mobileMenuBackdrop=e.querySelector(".header_menu-mobile-backdrop")}init(){this.hamburger&&this.menu&&(this.mobileMenuPortal=document.getElementById("header-mobile-menu-portal"),this.hamburger.addEventListener("click",this.handleHamburgerClick),this.closeButton?.addEventListener("click",this.handleCloseClick),this.backdrops.forEach(t=>{t.addEventListener("click",this.handleBackdropClick)}),this.header.addEventListener("click",this.handleHeaderClick),document.addEventListener("click",this.handleDocumentClick),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("function-health:search-open",this.handleSearchOpen),window.addEventListener("wheel",this.handleWheel,{passive:!1}),window.addEventListener("touchmove",this.handleTouchMove,{passive:!1}),window.addEventListener("keydown",this.handleWindowKeyDown),typeof this.mobileQuery.addEventListener=="function"?this.mobileQuery.addEventListener("change",this.handleMediaChange):typeof this.mobileQuery.addListener=="function"&&this.mobileQuery.addListener(this.handleMediaChange),this.setMenuOpen(!1)),window.addEventListener("resize",this.updateHeaderMode,{passive:!0}),window.addEventListener("scroll",this.updateHeaderMode,{passive:!0}),this.updateHeaderMode(),requestAnimationFrame(()=>{this.updateHeaderMode(),requestAnimationFrame(()=>{this.updateHeaderMode()})})}destroy(){this.setMenuOpen(!1),this.hamburger?.removeEventListener("click",this.handleHamburgerClick),this.closeButton?.removeEventListener("click",this.handleCloseClick),this.backdrops.forEach(e=>{e.removeEventListener("click",this.handleBackdropClick)}),this.header.removeEventListener("click",this.handleHeaderClick),document.removeEventListener("click",this.handleDocumentClick),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("function-health:search-open",this.handleSearchOpen),window.removeEventListener("wheel",this.handleWheel),window.removeEventListener("touchmove",this.handleTouchMove),window.removeEventListener("keydown",this.handleWindowKeyDown),typeof this.mobileQuery.removeEventListener=="function"?this.mobileQuery.removeEventListener("change",this.handleMediaChange):typeof this.mobileQuery.removeListener=="function"&&this.mobileQuery.removeListener(this.handleMediaChange),window.removeEventListener("resize",this.updateHeaderMode),window.removeEventListener("scroll",this.updateHeaderMode),document.documentElement.classList.remove("has-mobile-menu-open"),document.body.classList.remove("has-mobile-menu-open")}handleHamburgerClick=()=>{this.setMenuOpen(!this.isMenuOpen)};handleCloseClick=()=>{this.setMenuOpen(!1,{returnFocus:!0})};handleBackdropClick=()=>{this.setMenuOpen(!1,{returnFocus:!0})};handleHeaderClick=e=>{const t=e.target;if(!(t instanceof Element))return;const n=t.closest("a[href]");n&&(n.closest("[data-header-menu-panel]")||n.closest("[data-header-drawer]"))&&this.setMenuOpen(!1)};handleDocumentClick=e=>{if(!this.isMenuOpen||this.mobileQuery.matches)return;const t=e.target;t instanceof Node&&!this.header.contains(t)&&this.setMenuOpen(!1,{returnFocus:!0})};handleDocumentKeyDown=e=>{e.key==="Escape"&&this.isMenuOpen&&this.setMenuOpen(!1,{returnFocus:!0})};handleWheel=e=>{!this.isMenuOpen||this.mobileQuery.matches||e.preventDefault()};handleTouchMove=e=>{!this.isMenuOpen||this.mobileQuery.matches||e.preventDefault()};handleWindowKeyDown=e=>{!this.isMenuOpen||this.mobileQuery.matches||f.has(e.key)&&e.preventDefault()};handleMediaChange=()=>{this.setMenuOpen(!1),this.updateHeaderMode()};handleSearchOpen=()=>{this.isMenuOpen&&this.setMenuOpen(!1)};setMenuOpen(e,t={}){if(!this.hamburger||!this.menu)return;const{returnFocus:n=!1}=t;if(this.isMenuOpen=e,this.header.dataset.menuOpen=String(e),this.hamburger.setAttribute("aria-expanded",String(e)),this.hamburger.setAttribute("aria-label",e?"Close menu":"Open menu"),this.menu.setAttribute("aria-hidden",String(!e)),this.syncBodyLock(),this.reparentMobileMenuLayer(e),this.syncMenuAccessibility(),e&&this.mobileQuery.matches&&this.closeButton instanceof HTMLButtonElement){this.closeButton.focus();return}e||(this.updateHeaderMode(),n&&this.hamburger.focus())}reparentMobileMenuLayer(e){!this.mobileMenuPortal||!this.menu||!this.drawer||this.mobileMenuBackdrop&&(e&&this.mobileQuery.matches?(this.mobileMenuPortal.append(this.mobileMenuBackdrop,this.drawer),this.mobileMenuPortal.removeAttribute("hidden")):(this.menu.append(this.mobileMenuBackdrop,this.drawer),this.mobileMenuPortal.setAttribute("hidden","")))}syncBodyLock(){const e=this.isMenuOpen&&this.mobileQuery.matches;document.documentElement.classList.toggle("has-mobile-menu-open",e),document.body.classList.toggle("has-mobile-menu-open",e)}syncMenuAccessibility(){const e=this.isMenuOpen&&!this.mobileQuery.matches,t=this.isMenuOpen&&this.mobileQuery.matches;this.menuPanel&&(this.menuPanel.toggleAttribute("inert",!e),this.menuPanel.setAttribute("aria-hidden",String(!e))),this.drawer&&(this.drawer.toggleAttribute("inert",!t),this.drawer.setAttribute("aria-hidden",String(!t))),this.closeButton&&(this.closeButton.tabIndex=t?0:-1)}updateHeaderMode=()=>{if(this.isMenuOpen)return;const e=document.querySelector(".hero");if(!e)return;const t=this.mobileQuery.matches,n=e.getBoundingClientRect(),r=n.bottom,d=window.scrollY||document.documentElement.scrollTop,l=this.header.getBoundingClientRect().top,a=this.header.getBoundingClientRect().bottom,u=t?a:l;if(n.height<16){this.header.classList.remove("header--default"),this.header.classList.add("header--trans
1parent");return}if(t&&d<32){this.header.classList.remove("header--default"),this.header.classList.add("header--transparent");return}if(t&&r>a+2){this.header.classList.remove("header--default"),this.header.classList.add("header--transparent");return}if(r<=u){this.header.classList.remove("header--transparent"),this.header.classList.add("header--default");return}this.header.classList.remove("header--default"),this.header.classList.add("header--transparent")}}const h=(i=!1)=>{Array.from(s).forEach(e=>{!i&&e.header.isConnected||(e.destroy(),s.delete(e))})},M=()=>{h(),document.querySelectorAll("[data-header-root]").forEach(i=>{if(o.has(i))return;const e=new b(i);o.add(i),s.add(e),e.init()})},v=()=>{c({cleanup:()=>h(!0),init:M,key:m})};v();
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.