1if(!customElements.get("product-slider-thumbnails")){class ProductSliderThumbnails extends HTMLElement{constructor(){super(),this.addEventListener("change",this.setupProductGallery)}connectedCallback(){this.product_container=this.closest(".thb-product-detail"),this.quickView=this.closest("#Product-Drawer-Content"),this.thumbnail_container=this.product_container.querySelector(".product-thumbnail-container"),this.video_containers=this.querySelectorAll(".product-single__media-external-video--play"),this.setOptions(),this.init()}setOptions(){this.hide_variants=this.dataset.hideVariants=="true",this.thumbnails=this.thumbnail_container?.querySelectorAll(".product-thumbnail"),this.prev_button=this.querySelector(".flickity-prev"),this.next_button=this.querySelector(".flickity-next"),this.options={wrapAround:!0,pageDots:!1,contain:!0,cellAlign:this.quickView?"left":"center",adaptiveHeight:!0,initialIndex:".is-initial-selected",prevNextButtons:!1,fade:!1,cellSelector:".product-images__slide.is-active"},this.quickView&&(this.options.wrapAround=!1)}init(){this.flkty=new Flickity(this,this.options),this.dataset.flkty=this.flkty,this.selectedIndex=this.flkty.selectedIndex,this.setupEvents(),this.setupProductGallery()}reInit(imageSetIndex){this.flkty.destroy(),this.setOptions(),this.flkty=new Flickity(this,this.options),this.setupEvents(),this.selectedIndex=this.flkty.selectedIndex}setupEvents(){const _this=this;if(this.prev_button){let prev=this.prev_button.cloneNode(!0);this.prev_button.parentNode.append(prev),this.prev_button.remove(),prev.addEventListener("click",event=>{this.flkty.previous()}),prev.addEventListener("keyup",event=>{this.flkty.previous(),event.preventDefault()})}if(this.next_button){let next=this.next_button.cloneNode(!0);this.next_button.parentNode.append(next),this.next_button.remove(),next.addEventListener("click",event=>{this.flkty.next()}),next.addEventListener("keyup",event=>{this.flkty.next(),event.preventDefault()})}this.video_containers.forEach(container=>{container.querySelector("button").addEventListener("click",function(){container.setAttribute("hidden","")})}),this.flkty.on("settle",function(index){_this.selectedIndex=index}),this.flkty.on("change",index=>{let previous_slide=this.flkty.cells[_this.selectedIndex].element,previous_media=previous_slide.querySelector(".product-single__media");if(this.thumbnail_container){let active_thumbs=Array.from(this.thumbnails).filter(element=>element.classList.contains("is-active")),active_thumb=active_thumbs[index]?active_thumbs[index]:active_thumbs[0];this.thumbnails.forEach((item,i)=>{item.classList.remove("is-initial-selected")}),active_thumb.classList.add("is-initial-selected"),requestAnimationFrame(()=>{if(active_thumb.offsetParent===null)return;const windowHalfHeight=active_thumb.offsetParent.clientHeight/2,windowHalfWidth=active_thumb.offsetParent.clientWidth/2;active_thumb.parentElement.scrollTo({left:active_thumb.offsetLeft-windowHalfWidth+active_thumb.clientWidth/2,top:active_thumb.offsetTop-windowHalfHeight+active_thumb.clientHeight/2,behavior:"smooth"})})}previous_media.classList.contains("product-single__media-external-video")?(previous_media.dataset.provider==="youtube"?previous_media.querySelector("iframe").contentWindow.postMessage(JSON.stringify({event:"command",func:"pauseVideo",args:""}),"*"):previous_media.dataset.provider==="vimeo"&&previous_media.querySelector("iframe").contentWindow.postMessage(JSON.stringify({method:"pause"}),"*"),previous_media.querySelector(".product-single__media-external-video--play").removeAttribute("hidden")):previous_media.classList.contains("product-single__media-native-video")&&previous_media.querySelector("video").pause()}),this.thumbnail_container&&setTimeout(()=>{Array.from(this.thumbnails).filter(element=>element.clientWidth>0).forEach((thumbnail,index)=>{thumbnail.addEventListener("click",()=>{this.thumbnailClick(thumbnail,index)})})})}thumbnailClick(thumbnail,index){[].forEach.call(this.thumbnails,function(el){el.classList.remove("is-initial-selected")}),thumbnail.classList.add("is-initial-selected"),this.flkty.select(index)}setDraggable(draggable){this.flkty.options.draggable=draggable,this.flkty.updateDraggable()}selectCell(mediaId){this.flkty.selectCell(mediaId)}setupProductGallery(){this.querySelectorAll(".product-single__media-zoom").length&&(this.setEventListeners(),document.addEventListener("product:variant-change",e=>{e.detail&&e.detail.variantTitle&&e.detail.variantTitle!=="Default Title"&&(this.dataset.variantTitle=e.detail.variantTitle)}))}buildItems(){return this.activeImages=Array.from(this.querySelectorAll(".product-images__slide.is-active .product-single__media-image")),this.activeImages.map(item=>{let index=[].indexOf.call(item.parentNode.parentNode.children,item.parentNode),activelink=item.querySelector(".product-single__media-zoom");return activelink.dataset.index=index,{src:activelink.getAttribute("href"),msrc:activelink.dataset.msrc,w:activelink.dataset.w,h:activelink.dataset.h,thumbSrc:activelink.dataset.thumbSrc||activelink.dataset.msrc}})}setEventListeners(){this.links=this.querySelectorAll(".product-single__media-zoom"),this.pswpElement=document.querySelectorAll(".pswp")[0],this.pswpOptions={maxSpreadZoom:2,loop:!0,allowPanToNext:!0,closeOnScroll:!1,showHideOpacity:!1,arrowKeys:!0,history:!1,captionEl:!1,fullscreenEl:!1,zoomEl:!1,shareEl:!1,counterEl:!0,arrowEl
1:!0,preloaderEl:!0,getThumbBoundsFn:()=>{const thumbnail=this.querySelector(".product-images__slide.is-selected"),pageYScroll=window.pageYOffset||document.documentElement.scrollTop,rect=thumbnail.getBoundingClientRect();return{x:rect.left,y:rect.top+pageYScroll,w:rect.width}}},this.links.forEach((link=>{link.addEventListener("click",e=>this.zoomClick(e,link))}))}buildPswpThumbnails(items){const container=this.pswpElement.querySelector(".pswp__thumbs-inner");if(container){if(container.innerHTML="",this.dataset.lightboxThumbnails==="false"||items.length<=1){container.parentElement.style.display="none";return}container.parentElement.style.display="",items.forEach((item,index)=>{const thumb=document.createElement("div");thumb.className="pswp__thumb",thumb.dataset.index=index;const img=document.createElement("img");img.src=item.thumbSrc,img.alt="",img.loading="lazy",thumb.appendChild(img),container.appendChild(thumb)})}}updatePswpProductInfo(){const infoEl=this.pswpElement.querySelector(".pswp__product-info");if(!infoEl)return;if(this.dataset.lightboxProductInfo==="false"){infoEl.style.display="none";return}infoEl.style.display="";const titleEl=infoEl.querySelector(".pswp__product-title"),variantEl=infoEl.querySelector(".pswp__variant-title");titleEl&&(titleEl.textContent=this.dataset.productTitle||""),variantEl&&(variantEl.textContent=this.dataset.variantTitle||"")}syncPswpThumbnails(index){const container=this.pswpElement.querySelector(".pswp__thumbs-inner");if(!container)return;container.querySelectorAll(".pswp__thumb").forEach((t,i)=>{t.classList.toggle("is-active",i===index)});const activeThumb=container.querySelector(".pswp__thumb.is-active");activeThumb&&activeThumb.scrollIntoView({inline:"center",behavior:"smooth",block:"nearest"})}zoomClick(e,link){if(this.items=this.buildItems(),this.pswpOptions.index=parseInt(link.dataset.index,10),typeof PhotoSwipe<"u"){this.buildPswpThumbnails(this.items),this.updatePswpProductInfo();const bottomBar=this.pswpElement.querySelector(".pswp__bottom-bar");bottomBar&&["mousedown","touchstart","pointerdown"].forEach(evtName=>{bottomBar.addEventListener(evtName,evt=>evt.stopPropagation())});let pswp=new PhotoSwipe(this.pswpElement,PhotoSwipeUI_Default,this.items,this.pswpOptions);const _this=this;pswp.listen("firstUpdate",function(){pswp.listen("parseVerticalMargin",function(item){item.vGap={top:50,bottom:140}})});const scrollWrap=this.pswpElement.querySelector(".pswp__scroll-wrap"),resetScroll=function(){scrollWrap&&(scrollWrap.scrollLeft=0),_this.pswpElement.scrollLeft=0};pswp.listen("beforeChange",function(){const index=pswp.getCurrentIndex();_this.syncPswpThumbnails(index),resetScroll(),_this.flkty&&_this.flkty.select(index)});const thumbsInner=this.pswpElement.querySelector(".pswp__thumbs-inner");thumbsInner&&thumbsInner.addEventListener("click",function(evt){evt.stopPropagation();const thumb=evt.target.closest(".pswp__thumb");thumb&&(pswp.goTo(parseInt(thumb.dataset.index,10)),resetScroll())}),pswp.listen("close",function(){const container=_this.pswpElement.querySelector(".pswp__thumbs-inner");container&&(container.innerHTML="")}),pswp.init(),this.syncPswpThumbnails(this.pswpOptions.index)}e.preventDefault()}}customElements.define("product-slider-thumbnails",ProductSliderThumbnails)} 2//# sourceMappingURL=/cdn/shop/t/55/assets/product-thumbnails.js.map?v=115750863719514518091790148896
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.