(()=>{var __webpack_exports__={};class BackToTop extends HTMLElement{constructor(){super(),this.button=this.querySelector('[data-selector="back-to-top-button"]'),this.lastScrollPosition=window.pageYOffset}connectedCallback(){this.attachEvents(),this.handleDisplay(this.isDesktop())}attachEvents(){window.addEventListener("scroll",this.handleScroll.bind(this)),this.button.addEventListener("click",this.scrollToTop.bind(this)),this.button.addEventListener("focus",this.showButton.bind(this))}scrollToTop(){window.scrollTo({top:0,behavior:this.scrollBehavior}),this.button.blur()}handleScroll(){const currentScrollPosition=window.pageYOffset;currentScrollPosition>this.lastScrollPosition?this.handleDisplay(this.isDesktop()):this.handleDisplay(this.isDesktop(),!0),this.lastScrollPosition=currentScrollPosition<=0?0:currentScrollPosition}handleDisplay(isDesktop,scrollingUp=!1){const showButton=isDesktop||scrollingUp;window.pageYOffset>window.innerHeight&&showButton?this.showButton():this.hideButton()}showButton(){this.classList.contains("back-to-top--visible")||this.classList.add("back-to-top--visible")}hideButton(){this.classList.contains("back-to-top--visible")&&this.classList.remove("back-to-top--visible")}isDesktop(){return!window.matchMedia("screen and (max-width: 767px)").matches}get scrollBehavior(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth"}}customElements.define("back-to-top",BackToTop)})(); //# sourceMappingURL=/cdn/shop/t/38/assets/component-back-to-top.js.map?v=152618645430301030381702141891