1customElements.get("smk-item-carousel-01")||customElements.define("smk-item-carousel-01",class extends HTMLElement{connectedCallback(){this._initialized||(this._initialized=!0,window.setTimeout(()=>{this.isConnected&&this._setup()},0))}disconnectedCallback(){this._handleResize&&window.removeEventListener("resize",this._handleResize),this.nextBtn&&this._handleNext&&this.nextBtn.removeEventListener("click",this._handleNext),this.track&&this._touchStart&&this.track.removeEventListener("touchstart",this._touchStart),this.track&&this._touchEnd&&this.track.removeEventListener("touchend",this._touchEnd)}_setup(){this.track=this.querySelector(".smk-item-carousel__track"),this.nextBtn=this.querySelector(".smk-item-carousel__next"),this.currentEl=this.querySelector(".smk-item-carousel__current-slide"),this.totalEl=this.querySelector(".smk-item-carousel__total-slides"),this.navLayer=this.querySelector(".smk-item-carousel__nav"),this.items=this.querySelectorAll(".smk-item-carousel__item"),this.totalItems=this.items.length,!(!this.track||!this.nextBtn||this.totalItems===0)&&(this.currentIndex=0,this.isMobile=window.innerWidth<=1024,this.initCalculations(),this._handleNext=this.handleNext.bind(this),this._handleResize=this.handleResize.bind(this),this.nextBtn.addEventListener("click",this._handleNext),window.addEventListener("resize",this._handleResize),this.startX=0,this._touchStart=event=>{this.startX=event.touches[0].clientX},this._touchEnd=event=>{const difference=this.startX-event.changedTouches[0].clientX;difference>40?this.handleNext():difference<-40&&this.handlePrev()},this.track.addEventListener("touchstart",this._touchStart,{passive:!0}),this.track.addEventListener("touchend",this._touchEnd))}initCalculations(){this.itemsPerSlide=this.isMobile?2:6,this.totalSlides=Math.ceil(this.totalItems/this.itemsPerSlide),this.currentIndex>=this.totalSlides&&(this.currentIndex=Math.max(0,this.totalSlides-1)),this.navLayer&&(this.navLayer.style.display=this.totalSlides<=1?"none":"flex"),this.totalEl&&(this.totalEl.textContent=this.totalSlides),this.currentEl&&(this.currentEl.textContent=this.currentIndex+1),this.updateSlider()}handleResize(){const currentlyMobile=window.innerWidth<=1024;currentlyMobile!==this.isMobile?(this.isMobile=currentlyMobile,this.initCalculations()):this.updateSlider()}handleNext(){this.currentIndex+=1,this.currentIndex>=this.totalSlides&&(this.currentIndex=0),this.currentEl&&(this.currentEl.textContent=this.currentIndex+1),this.updateSlider()}handlePrev(){this.currentIndex-=1,this.currentIndex<0&&(this.currentIndex=this.totalSlides-1),this.currentEl&&(this.currentEl.textContent=this.currentIndex+1),this.updateSlider()}updateSlider(){if(!this.track)return;if(this.totalSlides<=1){this.track.style.transform="translateX(0)";return}const wrapperWidth=this.track.parentElement.offsetWidth,distance=this.currentIndex*(wrapperWidth+16);this.track.style.transform=`translateX(-${distance}px)`}}); 2//# sourceMappingURL=/cdn/shop/t/27/assets/smk-item-carousel.js.map?v=92421232017464927541786948921
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.