1import{t as n,r}from"./_focus.js";let l=0,d=!1;function c(){d||(l=window.pageYOffset,document.body.style.top=`-${l}px`),document.body.style.overflow="hidden",document.body.style.position="fixed",document.body.style.width="100%",d=!0}function m(){document.body.style.removeProperty("overflow"),document.body.style.removeProperty("position"),document.body.style.removeProperty("top"),document.body.style.removeProperty("width"),window.scrollTo({top:l,behavior:"instant"}),d=!1}class g extends HTMLElement{constructor(){super(),this.mainDetailsToggle=this.querySelector("details"),this.dialogButtonOpen=this.querySelector('button[data-button="open"]'),this.dialogButtonClose=this.querySelector('button[data-button="close"]'),this.dialog=this.querySelector('[role="dialog"]'),this.addEventListener("keyup",this.onKeyUp.bind(this)),this.addEventListener("focusout",this.onFocusOut.bind(this)),this.bindEvents()}bindEvents(){var e,t,i;this.querySelectorAll("summary").forEach(s=>s.addEventListener("click",this.onSummaryClick.bind(this))),this.querySelectorAll("button:not(.localization-selector):not(.country-selector__close-button):not(.country-filter__reset-button)").forEach(s=>s.addEventListener("click",this.onCloseButtonClick.bind(this))),(e=this.dialogButtonOpen)==null||e.addEventListener("click",()=>this.openDialog()),(t=this.dialogButtonClose)==null||t.addEventListener("click",s=>this.closeDialog(s,this.dialogButtonOpen)),(i=this.dialog)==null||i.addEventListener("click",s=>{s.target===this.dialog&&this.closeDialog(s,this.dialogButtonOpen)})}onKeyUp(e){if(e.code.toUpperCase()!=="ESCAPE")return;const t=e.target.closest("details[open]");t&&(t===this.mainDetailsToggle?this.closeMenuDrawer(e,this.mainDetailsToggle.querySelector("summary")):this.closeSubmenu(t)),this.dialog.classList.contains("hidden")||this.closeDialog(e,this.dialogButtonOpen)}onSummaryClick(e){const t=e.currentTarget,i=t.parentNode,s=i.closest(".has-submenu"),a=i.hasAttribute("open"),u=window.matchMedia("(prefers-reduced-motion: reduce)");if(i.dataset.animating==="true"){e.preventDefault();return}const o=()=>{n(t.nextElementSibling,i.querySelector("button")),t.nextElementSibling.removeEventListener("transitionend",o),i.dataset.animating="false"};i===this.mainDetailsToggle?(a&&e.preventDefault(),a?this.closeMenuDrawer(e,t):this.openMenuDrawer(t),window.matchMedia("(max-width: 990px)")&&document.documentElement.style.setProperty("--viewport-height",`${window.innerHeight}px`)):(i.dataset.animating="true",i.classList.remove("menu-opening"),i.offsetHeight,requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.classList.add("menu-opening"),t.setAttribute("aria-expanded",!0),s&&s.classList.add("submenu-open"),!u||u.matches?o():(t.nextElementSibling.removeEventListener("transitionend",o),t.nextElementSibling.addEventListener("transitionend",o,{once:!0}))})}))}openDialog(){setTimeout(()=>{this.dialogButtonOpen.classList.add("menu-opening")}),this.dialogButtonOpen.setAttribute("aria-expanded",!0),this.dialog.classList.remove("hidden"),this.dialog.classList.add("visible"),n(this.dialog),document.body.classList.add(`overflow-hidden-${this.dataset.breakpoint}`),c()}closeDialog(e,t=!1){e!==void 0&&(this.dialogButtonOpen.classList.remove("menu-opening"),this.dialog.classList.remove("visible"),this.dialog.classList.add("hidden"),document.body.classList.remove(`overflow-hidden-${this.dataset.breakpoint}`),r(t),m(),t&&t.hasAttribute("aria-expanded")&&t.setAttribute("aria-expanded",!1))}openMenuDrawer(e){setTimeout(()=>{this.mainDetailsToggle.classList.add("menu-opening")}),e.setAttribute("aria-expanded",!0),n(this.mainDetailsToggle,e),document.body.classList.add(`overflow-hidden-${this.dataset.breakpoint}`),c()}closeMenuDrawer(e,t=!1){e!==void 0&&(this.mainDetailsToggle.classList.remove("menu-opening"),this.mainDetailsToggle.querySelectorAll("details").forEach(i=>{i.removeAttribute("open"),i.classList.remove("menu-opening"),i.dataset.animating="false"}),this.mainDetailsToggle.querySelectorAll(".submenu-open").forEach(i=>{i.classList.remove("submenu-open")}),document.body.classList.remove(`overflow-hidden-${this.dataset.breakpoint}`),r(t),this.closeAnimation(this.mainDetailsToggle),m(),t&&t.hasAttribute("aria-expanded")&&t.setAttribute("aria-expanded",!1))}onFocusOut(e){setTimeout(()=>{var t,i,s;e.target.tagName!=="SUMMARY"&&((t=this.dialogButtonOpen)!=null&&t.classList.contains("menu-opening"))&&!this.contains(document.activeElement)&&this.closeDialog(e,this.dialogButtonOpen),(i=this.mainDetailsToggle)!=null&&i.hasAttribute("open")&&!((s=this.mainDetailsToggle)!=null&&s.contains(document.activeElement))&&this.closeMenuDrawer()})}onCloseButtonClick(e){const t=e.currentTarget.closest("details");this.closeSubmenu(t)}closeSubmenu(e){if(!e)return;const t=e.closest(".submenu-open");t&&t.classList.remove("submenu-open"),e.classList.remove("menu-opening"),e.querySelector("summary").setAttribute("aria-expanded",!1),r(e.querySelector("summary")),e.dataset.animating="false",this.closeAnimation(e)}closeAnimation(e){let t;const i=s=>{t===void 0&&(t=s),s-t<400?window.requestAnimationFrame(i):(e.removeAttribute("open"),e.dataset.animating="false",e.closest("details[open]")&&n(e.closest("details[open]"),e.querySelector("summary")))};window.requestAnimationFrame(i)}}export{g as D,m as a,c as b};
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.