1class DetailsModal extends HTMLElement{constructor(){super(),this.detailsContainer=this.querySelector("details"),this.summaryToggle=this.querySelector("summary"),this.detailsContainer.addEventListener("keyup",event=>event.code.toUpperCase()==="ESCAPE"&&this.close()),this.summaryToggle.addEventListener("click",this.onSummaryClick.bind(this)),this.querySelector('button[type="button"]').addEventListener("click",this.close.bind(this)),this.summaryToggle.setAttribute("role","button"),this.summaryToggle.setAttribute("aria-expanded","false")}isOpen(){return this.detailsContainer.hasAttribute("open")}onSummaryClick(event){event.preventDefault(),event.target.closest("details").hasAttribute("open")?this.close():this.open(event)}onBodyClick(event){(!this.contains(event.target)||event.target.classList.contains("modal-overlay"))&&this.close(!1)}open(event){this.onBodyClickEvent=this.onBodyClickEvent||this.onBodyClick.bind(this),event.target.closest("details").setAttribute("open",!0),document.body.addEventListener("click",this.onBodyClickEvent),document.body.classList.add("overflow-hidden");const container=this.detailsContainer.querySelector('[tabindex="-1"]');container?trapFocus(container,this.detailsContainer.querySelector('input:not([type="hidden"])')):this.detailsContainer.querySelector('input:not([type="hidden"])').focus({preventScroll:!0})}close(focusToggle=!0){const searchInput=this.querySelector('input[type="search"]'),predictiveSearch=this.querySelector("predictive-search");if(removeTrapFocus(focusToggle?this.summaryToggle:null),this.detailsContainer.removeAttribute("open"),document.body.removeEventListener("click",this.onBodyClickEvent),document.body.classList.remove("overflow-hidden"),searchInput&&(searchInput.value="",searchInput.setAttribute("aria-activedescendant",""),searchInput.setAttribute("aria-expanded",!1)),predictiveSearch){const selected=predictiveSearch.querySelector('[aria-selected="true"]');selected&&selected.setAttribute("aria-selected",!1),predictiveSearch.removeAttribute("results"),predictiveSearch.removeAttribute("open")}}}customElements.define("details-modal",DetailsModal); 2//# sourceMappingURL=/cdn/shop/t/40/assets/details-modal.js.map?v=81249478224380751601787091926
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.