1!function(){class t extends HTMLElement{constructor(){super(),this.bindEvents=this.bindEvents.bind(this),this.toggleVisibilityHandler=this.toggleVisibility.bind(this)}connectedCallback(){this.ProductStickyBuybox=this,this.mobileBreakpoint=1024,this.isMobile=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`).matches,this.isMobile&&(this.bindEvents(),window.addEventListener("resize",(()=>{this.bindEvents()}),!1),document.addEventListener("after:variant:change",(()=>{this.bindEvents()})))}bindEvents(){this.buyboxAddToCart=document.querySelector(".product-form__add-to-cart"),this.mainAddToCartButton=this.buyboxAddToCart.querySelector("#product-add-to-cart"),this.footerGroup=document.querySelector(".footer-newsletter-container"),this.stockAlertButton=this.querySelector(".js-stock-alert-button"),this.mainAddToCartButton?(this.ProductStickyBuybox&&window.addEventListener("scroll",(()=>{this.toggleVisibilityHandler()}),!1),this.toggleVisibility(),this.scrollToCreateAlert(),this.bindClickAddToCart()):console.log("Could not find main add to cart button.")}toggleVisibility(){const t=this.buyboxAddToCart.getBoundingClientRect(),i=t.bottom>0&&t.bottom<=window.innerHeight,o=this.footerGroup.getBoundingClientRect().top>window.innerHeight,e=!i&&o;this.ProductStickyBuybox.classList.toggle("product-sticky-buybox--visible",e)}bindClickAddToCart(){this.addToCartButton=this.querySelector(".js-sticky-add-to-cart-button"),this.addToCartButton?.addEventListener("click",(()=>{this.addToCartButton.classList.add("button--loading"),this.mainAddToCartButton.click(),setTimeout((()=>{this.addToCartButton.classList.remove("button--loading")}),300)}))}scrollToCreateAlert(){this.stockAlertButton=this.querySelector(".js-sticky-stock-alert-button"),this.stockAlertButton?.addEventListener("click",(()=>{this.buyboxAddToCart.scrollIntoView(),this.buyboxAddToCart.querySelector(".js-stock-alert-btn").classList.add("invisible"),this.buyboxAddToCart.querySelector(".js-stock-alert-form").classList.remove("hidden"),this.buyboxAddToCart.querySelector("w3-stock-alert").initAlertForm()}))}}customElements.define("w3-product-sticky-buybox",t)}();
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.