1if(!customElements.get("swiper-component")){class SwiperComponent extends HTMLElement{constructor(){super(),this.initialized=!1}connectedCallback(){this.initialized||this.classList.contains("swiper")&&this.querySelector(".swiper-wrapper")&&(this.initialized=!0,this.parseConfig(),this.waitForSwiperAndInit())}parseConfig(){const ds=this.dataset;this.desktopPerPage=parseFloat(ds.desktopperpage)||4,this.tabletPerPage=parseFloat(ds.tabletperpage)||3,this.mobilePerPage=parseFloat(ds.mobileperpage)||1,this.desktopPerMove=parseInt(ds.desktoppermove)||1,this.tabletPerMove=parseInt(ds.tabletpermove)||1,this.mobilePerMove=parseInt(ds.mobilepermove)||1,this.desktopGap=parseInt(ds.desktopslidegap)||48,this.tabletGap=parseInt(ds.tabletslidegap)||32,this.mobileGap=parseInt(ds.mobileslidegap)||24,this.type=ds.type||"loop",this.speed=parseInt(ds.speed)||1500,this.autoplay=ds.autoplay==="true",this.autoplaySpeed=parseInt(ds.autoplaySpeed)||3e3,this.disableDrag=ds.disabledrag==="true",this.showArrows=ds.showarrows==="true",this.showArrowsOnMobile=ds.showarrowsonmobile==="true",this.showDots=ds.showdots==="true",this.showDotsOnMobile=ds.showdotsonmobile==="true",this.syncSelector=ds.carouselsyncselector||null}waitForSwiperAndInit(){if(typeof window.Swiper<"u"){this.initSwiper();return}document.addEventListener("DOMContentLoaded",()=>{typeof window.Swiper<"u"&&this.initSwiper()},{once:!0})}buildOptions(){const options={slidesPerView:this.mobilePerPage,slidesPerGroup:this.mobilePerMove,spaceBetween:this.mobileGap,loop:this.type==="loop",speed:this.speed,allowTouchMove:!this.disableDrag,watchOverflow:!0,breakpoints:{768:{slidesPerView:this.tabletPerPage,slidesPerGroup:this.tabletPerMove,spaceBetween:this.tabletGap},1024:{slidesPerView:this.desktopPerPage,slidesPerGroup:this.desktopPerMove,spaceBetween:this.desktopGap}}};this.autoplay&&(options.autoplay={delay:this.autoplaySpeed,disableOnInteraction:!1,pauseOnMouseEnter:!0});const nextEl=this.findControl(".swiper-button-next"),prevEl=this.findControl(".swiper-button-prev");(this.showArrows||this.showArrowsOnMobile)&&nextEl&&prevEl&&(options.navigation={nextEl,prevEl},this.showArrowsOnMobile||nextEl.classList.add("hide-on-mobile"),this.showArrowsOnMobile||prevEl.classList.add("hide-on-mobile"),this.showArrows||(nextEl.classList.add("hide-on-desktop"),prevEl.classList.add("hide-on-desktop")));const paginationEl=this.findControl(".swiper-pagination");return(this.showDots||this.showDotsOnMobile)&&paginationEl&&(options.pagination={el:paginationEl,clickable:!0},this.showDotsOnMobile||paginationEl.classList.add("hide-on-mobile"),this.showDots||paginationEl.classList.add("hide-on-desktop")),options}findControl(selector){const inside=this.querySelector(selector);return inside||this.parentElement&&this.parentElement.querySelector(":scope > "+selector)||null}initSwiper(){this.syncSelector?this.initSwiperSync():this.swiper=new Swiper(this,this.buildOptions())}initSwiperSync(){const thumbsEl=document.querySelector(this.syncSelector);if(!thumbsEl){console.warn('[swiper-component] carouselsyncselector "'+this.syncSelector+'" did not match any element. Falling back to a standalone carousel.'),this.swiper=new Swiper(this,this.buildOptions());return}thumbsEl.tagName&&thumbsEl.tagName.toLowerCase()==="swiper-component"&&console.warn('[swiper-component] thumbs element "'+this.syncSelector+'" is itself a <swiper-component>; use a plain <div class="swiper"> as the thumbs container to avoid double-initialization.');const ds=thumbsEl.dataset,thumbsOptions={slidesPerView:parseFloat(ds.mobileperpage)||parseFloat(ds.desktopperpage)||4,spaceBetween:parseInt(ds.mobileslidegap)||parseInt(ds.desktopslidegap)||0,watchSlidesProgress:!0,allowTouchMove:ds.disabledrag!=="true",loop:(ds.type||"slide")==="loop",breakpoints:{768:{slidesPerView:parseFloat(ds.tabletperpage)||parseFloat(ds.desktopperpage)||4,spaceBetween:parseInt(ds.tabletslidegap)||parseInt(ds.desktopslidegap)||0},1024:{slidesPerView:parseFloat(ds.desktopperpage)||4,spaceBetween:parseInt(ds.desktopslidegap)||0}}};this.thumbsSwiper=new Swiper(thumbsEl,thumbsOptions);const mainOptions=this.buildOptions();mainOptions.thumbs={swiper:this.thumbsSwiper},this.swiper=new Swiper(this,mainOptions)}
1refresh(){this.swiper&&this.swiper.update(),this.thumbsSwiper&&this.thumbsSwiper.update()}disconnectedCallback(){this.swiper&&typeof this.swiper.destroy=="function"&&this.swiper.destroy(!0,!0),this.thumbsSwiper&&typeof this.thumbsSwiper.destroy=="function"&&this.thumbsSwiper.destroy(!0,!0)}}window.SwiperComponent=SwiperComponent,customElements.define("swiper-component",SwiperComponent),document.addEventListener("shopify:section:load",e=>{const root=e.target;!root||typeof root.querySelectorAll!="function"||root.querySelectorAll("swiper-component").forEach(el=>{typeof el.refresh=="function"&&el.refresh()})});const refreshWithin=e=>{const root=e.target;if(!root||typeof root.querySelectorAll!="function")return;const host=root.closest?root.closest("swiper-component"):null;host&&typeof host.refresh=="function"&&host.refresh(),root.querySelectorAll("swiper-component").forEach(el=>{typeof el.refresh=="function"&&el.refresh()})};document.addEventListener("shopify:section:select",refreshWithin),document.addEventListener("shopify:block:select",refreshWithin)} 2//# sourceMappingURL=/cdn/shop/t/199/assets/swiper-carousel.js.map?v=127031366677528298461787597192
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.