1import KeenSlider from"https://cdn.skypack.dev/pin/[email protected]/mode=imports,min/optimized/keen-slider.js";class GlobalCarousel extends window.BAO.CustomElement(){reinitialiseTrack(){this._hasBeenInitialised&&this.carousel.track.init()}connectedCallback(){!this.els?.slides||!this.els?.slide||this._hasBeenInitialised||(this._hasBeenInitialised=!0,this.setupListeners(),this.initialise())}handleAutoplay(run,instance){clearInterval(this.interval),this.interval=setInterval(()=>{run&&instance&&instance.next()},5e3)}set carousel(carousel){this._carousel=carousel,this.setProgressBarWidth(),this.setProgressPercentage()}get carousel(){return this._carousel}setupListeners(){super.setupListeners(),this.setProgressListener(),this.setSlideListener(),this.setButtonListener()}initialise(){this.sliderInitStart()!==!1&&(this.carousel=this.initialiseCarousel(),this.currentIndex=0)}initialiseCarousel(){return new KeenSlider(this.slidesEl,{selector:this.els.slide.selector,disabled:this.hasAttribute("data-carousel-disabled"),drag:this.hasAttribute("data-drag")||!1,initial:this.getDataValue("initial")||0,loop:this.hasAttribute("data-loop")||!1,mode:this.getDataValue("mode")||"snap",rubberband:this.hasAttribute("data-rubberband")||!1,slides:{origin:this.getDataValue("slidesOrigin")||"auto",perView:this.getDataValue("slidesPerView")||1,spacing:this.getDataValue("slidesSpacing")||0},breakpoints:{[`(min-width: ${this.tabletBreakpoint}px)`]:this.tabletBreakpointOptions,[`(min-width: ${this.desktopBreakpoint}px)`]:this.desktopBreakpointOptions},created:instance=>{this.setAttribute("data-initialized","true"),this.autoplay&&(this.slidesEl.addEventListener("mouseover",()=>{this.handleAutoplay(!1,instance)}),this.slidesEl.addEventListener("mouseout",()=>{this.handleAutoplay(this.autoplay,instance)}),this.handleAutoplay(this.autoplay,instance))},optionsChanged:instance=>{this.setActiveSlide(instance),this.setProgressBarWidth(),this.setProgress(instance),this.setProgressPercentage(instance),this.dispatchEvent(new CustomEvent("OPTIONS_CHANGED",{detail:instance}))},slideChanged:instance=>{this.setCarouselState(instance),this.setActiveSlide(instance),this.setProgress(instance),this.setProgressPercentage(instance),this.dispatchEvent(new CustomEvent("SLIDE_CHANGED",{detail:instance}))},destroyed:()=>{this.setAttribute("data-initialized","false")}})}getDataValue(option){return this.dataset[option]}
1sliderInitStart(){return this.getDataValue("minSlides")?this.slideEls.length<=parseInt(this.getDataValue("minSlides")):!0}get slidesEl(){return this.els?.slides?.element}get slideEls(){return this.els?.slide?.elements||[]}get slideCount(){return this.els?.slide?.elements?.length||1}get autoplay(){if(!Shopify.designMode)return this.hasAttribute("data-autoplay")}get tabletBreakpoint(){return 768}get tabletBreakpointOptions(){return{disabled:this.hasAttribute("data-tablet-carousel-disabled")||this.hasAttribute("data-carousel-disabled")||!1,drag:this.hasAttribute("data-tablet-drag")||this.hasAttribute("data-drag")||!0,initial:this.getDataValue("tabletInitial")||this.getDataValue("initial")||0,loop:this.hasAttribute("data-tablet-loop")||this.hasAttribute("data-loop")||!1,mode:this.getDataValue("tabletMode")||this.getDataValue("mode")||"snap",rubberband:this.hasAttribute("data-tablet-rubberband")||this.hasAttribute("data-rubberband")||!1,slides:{origin:this.getDataValue("tabletSlidesOrigin")||this.getDataValue("slidesOrigin")||"auto",perView:this.getDataValue("tabletSlidesPerView")||this.getDataValue("slidesPerView")||2,spacing:this.getDataValue("tabletSlidesSpacing")||this.getDataValue("slidesSpacing")||0}}}get desktopBreakpoint(){return 1201}get desktopBreakpointOptions(){return{disabled:this.hasAttribute("data-desktop-carousel-disabled")||this.hasAttribute("data-tablet-carousel-disabled")||this.hasAttribute("data-carousel-disabled")||!1,drag:this.hasAttribute("data-desktop-drag")||this.hasAttribute("data-tablet-drag")||this.hasAttribute("data-drag")||!0,initial:this.getDataValue("desktopInitial")||this.getDataValue("tabletInitial")||this.getDataValue("initial")||0,loop:this.hasAttribute("data-desktop-loop")||this.hasAttribute("data-tablet-loop")||this.hasAttribute("data-loop")||!1,mode:this.getDataValue("desktopMode")||this.getDataValue("tabletMode")||this.getDataValue("mode")||"snap",rubberband:this.hasAttribute("data-desktop-rubberband")||this.hasAttribute("data-tablet-rubberband")||this.hasAttribute("data-rubberband")||!1,slides:{origin:this.getDataValue("desktopSlidesOrigin")||this.getDataValue("tabletSlidesOrigin")||this.getDataValue("slidesOrigin")||"auto",perView:this.getDataValue("desktopSlidesPerView")||this.getDataValue("tabletSlidesPerView")||this.getDataValue("slidesPerView")||4,spacing:this.getDataValue("desktopSlidesSpacing")||this.getDataValue("tabletSlidesSpacing")||this.getDataValue("slidesSpacing")||0}}}get loop(){return this.carousel.options.loop}setCarouselState(instance){this.hasChanged=!0,this.currentIndex=instance?.track?.details?.rel||0}get slideClick(){return this.hasAttribute("data-slide-click")}get activeSlide(){return this.els?.slide?.elements.filter(el=>el.ariaCurrent==="true")}setActiveSlide(instance,index){const currentSlide=index??instance.track.details.rel;this.carousel.slides.forEach(progress=>{progress.setAttribute("aria-current",progress?.dataset?.slide===currentSlide.toString())})}setSlideListener(){!this.slideClick||!this?.els?.slides?.elements||(this.onSlideClick=this.onSlideClick.bind(this),this.els.slides.elements.forEach(sli
1de=>{this.listeners.add(slide,"click",this.onSlideClick)}))}onSlideClick(e){this.setActiveSlide(null,parseInt(e.currentTarget.dataset.slide))}get progressLinksEls(){return this.els["progress-links"]?.elements||[]}setProgressListener(){this.progressLinksEls&&(this.onProgressClick=this.onProgressClick.bind(this),this.progressLinksEls.forEach(progress=>{this.listeners.add(progress,"click",this.onProgressClick)}))}onProgressClick(e){this.carousel.moveToIdx(parseInt(e.currentTarget.dataset.slide))}get currentPerView(){return parseInt(this.carousel.options.slides.perView,10)}get progressBarWidth(){return this.loop?100/this.carousel.slides.length:this.currentPerView*100/this.carousel.slides.length}get progressEl(){return this.els.progress?.element}get progressPercentageEl(){return this.els["progress-percentage"]?.element}setProgressBarWidth(){this.progressPercentageEl&&(this.progressPercentageEl.style.setProperty("--bar-width",`${this.progressBarWidth}%`),this.progressEl.classList.toggle("car-Carousel_Progress-hidden",this.progressBarWidth>=100))}setProgressPercentage(instance=this.carousel){this.progressPercentageEl&&(this.movementPercentage=100/this.slideCount*instance.track.details.rel,this.movementPercentage+this.progressBarWidth>100&&(this.movementPercentage=100-this.progressBarWidth),this.progressPercentageEl.style.setProperty("--progress",`${this.movementPercentage}%`))}setProgress(instance){this.progressLinksEls&&this.progressLinksEls.forEach(progress=>{progress.setAttribute("aria-current",parseInt(progress.dataset.slide)===instance.track.details.rel)})}get Buttons(){return this.els?.button?.elements||[]}setButtonListener(){!this.Buttons||!this.Buttons.length||this.Buttons.forEach(button=>{this.listeners.add(button,"click",this.onButtonClick.bind(this))})}onButtonClick(event){const button=event.target.closest(this.els.button.selector);this.currentIndex=button.dataset.action==="previous"?this.currentIndex-1:this.currentIndex+1,this.carousel.moveToIdx(this.currentIndex)}set currentIndex(index){!this.loop&&index<=0&&(index=0),!this.loop&&index>=this.maxIndex&&(index=this.maxIndex),this.hasScrolled=this.loop&&this.hasChanged||index>0,this.hasFinished=!this.loop&&index===this.maxIndex,this._currentIndex=index}get currentIndex(){return this._currentIndex}get maxIndex(){return Math.ceil(this.slideEls.length-this.currentPerView)}set hasScrolled(currentIndex){this._hasScrolled=currentIndex>0,this.setAttribute("data-has-scrolled",this._hasScrolled.toString())}get hasScrolled(){return this._hasScrolled}set hasFinished(boolean){this._hasFinished=boolean,this.setAttribute("data-has-finished",this._hasFinished.toString())}get hasFinished(){return this._hasFinished}}customElements.get("global-carousel")||customElements.define("global-carousel",GlobalCarousel); 2//# sourceMappingURL=/cdn/shop/t/423/assets/carousel.js.map?v=131802152324179644631789464190
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.