1class MobileDock extends HTMLElement{constructor(){super()}connectedCallback(){const header=document.getElementById("shopify-section-header");this.isAction=!1,this.scrollY=Shopify&&Shopify.designMode?0:parseInt(header.getBoundingClientRect().bottom),this.querySelectorAll(".dock__item[data-action]").forEach(button=>{button.addEventListener("click",this.onButtonClick.bind(this))}),document.addEventListener("menudrawer:close",this.hideStickyHeader.bind(this)),document.addEventListener("searchmodal:close",this.hideStickyHeader.bind(this)),this.onScrollHandler=this.onScroll.bind(this),window.addEventListener("scroll",this.onScrollHandler,!1),this.onScrollHandler(),document.documentElement.style.setProperty("--mobile-dock-height",`${this.offsetHeight}px`)}disconnectedCallback(){window.removeEventListener("scroll",this.onScrollHandler)}onScroll(){(window.pageYOffset||document.documentElement.scrollTop)>=this.scrollY?this.classList.add("is-active"):this.classList.remove("is-active")}onButtonClick(event){event.preventDefault();const target=event.currentTarget,delay=this.waitStickyHeader();switch(target.dataset.action){case"cart":this.isAction=!0;const miniCart=document.querySelector("mini-cart");setTimeout(()=>{miniCart.open(),document.activeElement.blur()},delay);break;case"menu":this.isAction=!0;const headerDrawer=document.querySelector("header-drawer");setTimeout(()=>{headerDrawer.openMenuDrawer()},delay);break;case"search":this.isAction=!0,document.querySelectorAll("search-modal").forEach(searchModal=>{window.getComputedStyle(searchModal).display!=="none"&&setTimeout(()=>{searchModal.open(),searchModal.querySelector('input:not([type="hidden"])').focus()},delay)});break}}hideStickyHeader(){const header=document.querySelector("sticky-header");header!==null&&theme.config.mqlSmall&&this.isAction&&header.sticky()&&setTimeout(()=>{header.hide(),this.isAction=!1},500)}waitStickyHeader(){const header=document.querySelector("sticky-header");if(header!==null)return!header.sticky()&&!this.isElementVisible(header)?(header.hide(),setTimeout(()=>header.reveal()),250):0}isElementVisible(element){const rect=element.getBoundingClientRect(),width=window.innerWidth||document.documentElement.clientWidth,height=window.innerHeight||document.documentElement.clientHeight,efp=function(x,y){return document.elementFromPoint(x,y)};return rect.right<0||rect.bottom<0||rect.left>width||rect.top>height?!1:element.contains(efp(rect.left,rect.top))||element.contains(efp(rect.right,rect.top))||element.contains(efp(rect.right,rect.bottom))||element.contains(efp(rect.left,rect.bottom))||element.parentNode.contains(efp(rect.left,rect.top))||element.parentNode.contains(efp(rect.right,rect.top))||element.parentNode.contains(efp(rect.right,rect.bottom))||element.parentNode.contains(efp(rect.left,rect.bottom))}}customElements.define("mobile-dock",MobileDock); 2//# sourceMappingURL=/cdn/shop/t/393/assets/mobile-dock.js.map?v=102606389877254057591722619055
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.