1class l extends HTMLElement{constructor(){super(),this.backButtons=[],this.tierOneButtons=[]}connectedCallback(){this.cacheDomElements(),this.setEventListeners(),this.observeMultipleDetailsToggle("mobile-menu__toggle")}setEventListeners(){this.backButtons.forEach(t=>{t.addEventListener("click",this.handleBackButtonClick.bind(this))}),this.tierOneButtons.forEach(t=>{t.addEventListener("click",this.handleTierOneButtonClick.bind(this))})}cacheDomElements(){this.backButtons=Array.from(document.querySelectorAll('[js-mobile-menu="back"]')),this.tierOneButtons=Array.from(document.querySelectorAll(".mobile-menu__link"))}handleTierOneButtonClick(t){const s=t.target;if(s){const e=s.closest(".mobile-menu__toggle");e&&e.classList.toggle("is-open")}}handleBackButtonClick(t){const s=t.target;if(s){const e=s.closest(".mobile-menu__toggle");if(e){e.classList.remove("is-open");const o=e.querySelector(".mobile-menu__link");o&&requestAnimationFrame(()=>{o.focus()})}}}observeMultipleDetailsToggle(t){const s=document.querySelectorAll(`.${t}`);s.length>0?s.forEach(e=>{new MutationObserver(n=>{for(const i of n)i.type==="attributes"&&i.attributeName==="open"&&(e.hasAttribute("open")?e.classList.add("is-open"):e.classList.remove("is-open"))}).observe(e,{attributes:!0,attributeFilter:["open"]})}):console.error(`No elements with class "${t}" were found.`)}}customElements.define("uwp-mobile-menu",l);
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.