1class DetailsModal extends HTMLElement{constructor(){super(),this.lastScrollY=0,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.querySelector("form").addEventListener("submit",this.onsubmit.bind(this)),this.summaryToggle.setAttribute("role","button"),this.toggleKlevuSearch(),window.addEventListener("scroll",this.onWindowScroll.bind(this))}onWindowScroll(event){this.lastScrollY=window.scrollY;const isScrollingDown=window.scrollY>this.lastScrollY;let klevuContainer=document.querySelector(".kuQuickSearchResultsContainer");const isMobile=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent);window.scrollY<=100&&!isScrollingDown&&isMobile&&!this.isOpen()&&!this.isKuMobileDeviceEnabledHidden()&&klevuContainer!=null&&this.open(event)}isKuMobileDeviceEnabledHidden(){const el=document.querySelector(".kuQuickSearchResultsContainer");return el?el.style.display==="none"?!0:window.getComputedStyle(el).display==="none":!1}onsubmit(){window.sessionStorage.removeItem("serp_cache"),window.sessionStorage.removeItem("serp_offsetTop"),window.sessionStorage.removeItem("last_product_clicked_url")}isOpen(){return this.detailsContainer.hasAttribute("open")}onSummaryClick(event){event.preventDefault(),event.target.closest("details").hasAttribute("open")?this.close():(this.open(event),setTimeout(function(){document.querySelector(".kuQuickSearchAutoCompleteLayout")&&document.querySelector(".kuQuickSearchAutoCompleteLayout").removeAttribute("style")},500))}waitForElm(selector){return new Promise(resolve=>{if(document.querySelector(selector))return resolve(document.querySelector(selector));const observer=new MutationObserver(mutations=>{document.querySelector(selector)&&(resolve(document.querySelector(selector)),observer.disconnect())});observer.observe(document.body,{childList:!0,subtree:!0})})}outsideClick(event,notelem){let clickedOut=!0,i,len=notelem.length;for(i=0;i<len;i++)(event.target==notelem[i]||notelem[i].contains(event.target))&&(clickedOut=!1);return!!clickedOut}toggleKlevuSearch(){this.waitForElm(".klevuQuickSearchingArea").then(element=>{window.addEventListener("click",event=>{element&&!element.contains(event.target)&&element&&(this.close(!1),element=null)})})}open(event){this.detailsContainer.setAttribute("open",!0),document.body.classList.add("overflow-hidden"),trapFocus(this.detailsContainer.querySelector('[tabindex="-1"]'),this.detailsContainer.querySelector('input:not([type="hidden"])'))}close(focusToggle=!0){removeTrapFocus(focusToggle?this.summaryToggle:null),this.detailsContainer.removeAttribute("open"),document.body.classList.remove("overflow-hidden")}}customElements.define("details-modal",DetailsModal); 2//# sourceMappingURL=/cdn/shop/t/204/assets/details-modal.static.js.map?v=101942182451632626091788231417
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.