1import Swiper from"./swiper-bundle.esm.browser.min.js";import PhotoSwipeLightbox from"./photoswipe-lightbox.esm.min.js";const badges=document.querySelector(".photoswipe > .card__badges"),lightbox=new PhotoSwipeLightbox({gallery:".photoswipe",children:"a",pswpModule:()=>import("./photoswipe.esm.min.js"),bgOpacity:1});lightbox.init(),lightbox.on("beforeOpen",()=>{badges?.classList.add("hide")}),lightbox.on("destroy",()=>{badges?.classList.remove("hide")}),customElements.get("gallery-section")||customElements.define("gallery-section",class extends HTMLElement{updateSwiperAutoHeight=()=>{this.resolution!=this.matchResolution()&&(this.resolution=this.matchResolution(),this.destroyCarouselGallery(),this.initializeGallery())};constructor(){super()}connectedCallback(){this.galleryLoader=this.querySelector("#gallery-loader"),this.renderedSlides=[],this.readConfiguration(),this.initializeGallery(),this.galleryLoader?.classList.add("hidden"),this.classList.remove("loading"),this.classList.add("loaded")}disconnectedCallback(){}readConfiguration(){this.configuration=[],this.elements={section:this,gallery:this.querySelector("[data-gallery]"),thumbs:this.querySelector("[data-thumbs]"),galleryContainer:this.querySelector("[data-gallery]").querySelector("[data-swiper-container]"),thumbsContainer:this.querySelector("[data-thumbs]").querySelector("[data-swiper-container]")},this.elements.gallerySlides=Array.from(this.elements.gallery.querySelectorAll("[data-swiper-slide]")).map(e=>e.cloneNode(!0)),this.elements.thumbsSlides=Array.from(this.elements.thumbs.querySelectorAll("[data-swiper-slide]")).map(e=>e.cloneNode(!0));const default_configuration={sliderEnabledBreakpoint:900,desktopLayout:"carousel-vertical"},custom_configuration=JSON.parse(this.elements.section.querySelector("[data-configuration]").innerHTML);this.configuration={...default_configuration,...custom_configuration};const default_gallery_configuration={autoHeight:window.innerWidth<=768,threshold:10,grabCursor:!0,navigation:{nextEl:".wt-slider__nav-next",prevEl:".wt-slider__nav-prev"},scrollbar:{el:".wt-slider__scrollbar",draggable:!0},pagination:{el:".swiper-pagination",type:"fraction"}},custom_gallery_configuration=JSON.parse(this.elements.gallery.querySelector("[data-swiper-configuration]").innerHTML);this.gallery_configuration={...default_gallery_configuration,...custom_gallery_configuration};const updateThumbsSwiperClasses=(swiperInstance,isInit=!1)=>{const container=swiperInstance.el,beginningClass="swiper-at-beginning",endClass="swiper-at-end",lockedSliderClass="swiper-locked";swiperInstance.isLocked?container.classList.add(lockedSliderClass):(container.classList.add("swiper-thumbs-ready"),container.classList.remove(lockedSliderClass),swiperInstance.isBeginning?container.classList.add(beginningClass):container.classList.remove(beginningClass),swiperInstance.isEnd?container.classList.add(endClass):container.classList.remove(endClass),isInit&&container.classList.add(beginningClass))},default_thumbs_configuration={grabCursor:!0,spaceBetween:8,slidesPerView:4,freeMode:!1,threshold:5,direction:"horizontal",watchSlidesVisibility:!0,watchSlidesProgress:!0,navigation:{nextEl:".wt-slider__nav-next",prevEl:".wt-slider__nav-prev"},on:{init(){updateThumbsSwiperClasses(this,!0)},slideChange(){updateThumbsSwiperClasses(this)},observerUpdate(){updateThumbsSwiperClasses(this)}}},custom_thumbs_configuration=JSON.parse(this.elements.thumbs.querySelector("[data-swiper-configuration]").innerHTML);this.thumbs_configuration={...default_thumbs_configuration,...custom_thumbs_configuration},this.resolution=this.matchResolution()}initializeGallery(){switch(window.addEventListener("resize",()=>{this.updateSwiperAutoHeight(this.gallerySwiper)}),this.configuration.desktopLayout){case"carousel-vertical":case"carousel-horizontal":this.initializeCarouselGallery();break;case"masonry":window.addEventListener("resize",function(){this.handleMassonry()}.bind(this)),this.handleMassonry();break;case"collage":window.addEventListener("resize",function(){this.handleCollage()}.bind(this)),this.handleCollage();break}}initializeCarouselGallery(){this.thumbsSwiper==null&&(this.decorateSwiper(this.elements.thumbs,"wt-slider__container--thumbs"),this.thumbsSwiper=this.swiperThumbsInitilize()),this.decorateSwiper(this.elements.gallery),this.swiperGalleryInitilize(this.thumbsSwiper);const disableTouchSlide=this.elements.gallery.querySelector(".disable-touch");disableTouchSlide&&disableTouchSlide.classList.add("swiper-no-swiping")}swiperGalleryInitilize(thumbsSwiper){if(this.gallerySwiper==null){const thumbs_configuration={thumbs:{swiper:thumbsSwiper}},desktopRatio=this.getAttribute("desktop-ratio");let autoHeightEnabled=this.configuration.desktopLayout==="carousel-vertical"&&desktopRatio==="original"||this.configuration.desktopLayout==="carousel-horizontal"?!0:window.innerWidth<=900;thumbsSwiper&&(this.gallery_configuration={...this.gallery_configuration,...thumbs_configuration,autoHeight:autoHeightEnabled}),this.gallerySwiper=new Swiper(this.elements.gallery,this.gallery_configuration)}}swiperThumbsInitilize(){let autoHeightEnabled=window.innerWidth<=900;return this.thumbs_configuration={...this.thumbs_configuration,autoHeight:autoHeightEnabled},new Swiper(this.elements.thumbs,this.thumbs_configuration)}destroyCarouselGallery(){this.thumbsSwiper!=null&&(this.thumbsSwiper.destroy(),this.thumbsSwiper=null,this.undecorateSwiper(this.elements.thumbs,"wt-slider__container--thumbs")),this.gallerySwiper!=null&&(this.gallerySwiper.destroy(),this.undecorateSwiper(this.elements.gallery),this.gallerySwiper=null)}handleMassonry(){this.matchResolution()=="desktop"?(this.destroyCarouselGallery(),this.initializeMasonryGallery()):(this.destroyMasonryGallery(),this.initializeCarouselGallery())}handleCollage(){this.matchResolution()=="desktop"?(this.destroyCarouselGallery(),this.initializeCollageGallery()):(this.destroyCollageGallery(),this.initializeCarouselGallery())}decorateSwiper(el,element_class){el.classList.add("swiper","wt-slider__container",element_class),el.querySelector("[data-swiper-container]")?.classList.add("swiper-wrapper","wt-slider__wrapper"),el.querySelectorAll("[data-swiper-slide]").forEach(function(e){e.classList.add("swiper-slide","wt-slider__slide")}),this.galleryUpdateEvent()}undecorateSwiper(el,element_class){el.classList.remove("swiper","wt-slider__container",element_class),el.querySelector("[data-swiper-container]").classList.remove("swiper-wrapper","wt-slider__wrapper"),el.querySelectorAll("[data-swiper-slide]").forEach(function(e){e.classList.remove("swiper-slide","wt-slider__slide")})}decorateCollage(el,element_class){el.classList.add(`wt-${element_class}`),el.querySelector("[data-swiper-container]").classList.add(`wt-${element_class}__wrapper`),el.querySelectorAll("[data-swiper-slide]").forEach(function(e){e.classList.add(`wt-${element_class}__slide`)}),this.galleryUpdateEvent()}undecorateCollage(el,element_class){el.classList.remove(`wt-${element_class}`),el.querySelector("[data-swiper-container]").classList.remove(`wt-${element_class}__wrapper`),el.querySelectorAll("[data-swiper-slide]").forEach(function(e){e.classList.remove(`wt-${element_class}__slide`)})}initializeCollageGallery(){this.decorateCollage(this.elements.gallery,"collage")}destroyCollageGallery(){this.undecorateCollage(this.elements.gallery,"collage")}initializeMasonryGallery(){this.decorateCollage(this.elements.gallery,"masonry")}destroyMasonryGallery(){this.undecorateCollage(this.elements.gallery,"masonry")}
1sortSlides(slides,featured_media_id){const featuredIndex=slides.findIndex(slide=>(slide.querySelector("img")?Number(slide.querySelector("img").getAttribute("data-media-id")):null)===Number(featured_media_id));if(featuredIndex>-1){const featuredSlide=slides[featuredIndex];slides.splice(featuredIndex,1),slides.unshift(featuredSlide)}return slides}beforeGalleryChange(){this.classList.add("loading"),this.galleryLoader?.classList.remove("hidden"),this.style.minHeight=`${this.offsetHeight}px`}afterGalleryChange(){this.style.minHeight="unset",this.galleryLoader?.classList.add("hidden"),this.classList.remove("loading")}filterSlidesByOptions(slides,options,featured_media_id,matchAll=!0){const lowercaseOptions=options.map(option=>option.toLowerCase().replace(/\s/g,""));return slides.filter(slide=>{let media=slide.querySelector("img");media==null&&(media=slide?.querySelector("video"));const alt=media?media.getAttribute("alt"):"";if((media?media.getAttribute("data-media-id"):"")===featured_media_id)return!0;const altHashtags=(alt?.match(/#[^\s#]+/g)||[]).map(hashtag=>hashtag.slice(1).toLowerCase());return altHashtags.length===0?!1:matchAll?altHashtags.every(hashtag=>lowercaseOptions.includes(hashtag)):altHashtags.some(hashtag=>lowercaseOptions.includes(hashtag))})}galleryUpdateEvent(opt){const galleryEvent=new CustomEvent("gallery:updated",{bubbles:!0,cancelable:!0,detail:{desc:"gallery updated",selector:".wt-product__gallery",...opt}});document.dispatchEvent(galleryEvent)}filterSlides(options,featured_media_id,matchAll=!0,callback){if(!this.elements)return;const originalGallerySlides=Array.from(this.elements.gallerySlides,el=>el.cloneNode(!0)),originalThumbsSlides=Array.from(this.elements.thumbsSlides,el=>el.cloneNode(!0)),getMediaId=item=>item?.dataset?.mediaId;let filteredGallerySlides=this.filterSlidesByOptions(originalGallerySlides,options,featured_media_id,matchAll),filteredThumbsSlides=this.filterSlidesByOptions(originalThumbsSlides,options,featured_media_id,matchAll);filteredGallerySlides.length===0&&(filteredGallerySlides=[...originalGallerySlides],filteredThumbsSlides=[...originalThumbsSlides]),featured_media_id&&(filteredGallerySlides=this.sortSlides(filteredGallerySlides,featured_media_id),filteredThumbsSlides=this.sortSlides(filteredThumbsSlides,featured_media_id));const renderedSlidesChanged=this.renderedSlides.map(getMediaId).toString()!==filteredGallerySlides.map(getMediaId).toString();if(this.gallerySwiper&&this.thumbsSwiper&&renderedSlidesChanged){this.beforeGalleryChange();const thumbSlidesWrapper=this.querySelector("[data-thumbs] [data-swiper-container]"),gallerySlidesWrapper=this.querySelector("[data-gallery] [data-swiper-container]");this.gallerySwiper.removeAllSlides(),gallerySlidesWrapper.innerHTML="";const swiperContainer=this.querySelector(".swiper-wrapper");filteredGallerySlides.forEach((slide,idx)=>{if(idx===0){const slideImg=slide.querySelector("img");slideImg&&(slideImg.onload=function(){swiperContainer.style.height="auto"})}this.gallerySwiper.appendSlide(slide)}),this.decorateSwiper(this.elements.gallery),this.thumbsSwiper.removeAllSlides(),thumbSlidesWrapper.innerHTML="",filteredThumbsSlides.forEach(sli
1de=>this.thumbsSwiper.appendSlide(slide)),this.decorateSwiper(this.elements.thumbs,"wt-slider__container--thumbs"),this.thumbsSwiper.update(),this.gallerySwiper.update()}else(this.configuration.desktopLayout=="collage"||this.configuration.desktopLayout=="masonry")&&renderedSlidesChanged&&(this.beforeGalleryChange(),this.elements.gallery.querySelectorAll("[data-swiper-slide]").forEach(slide=>slide.remove()),this.elements.thumbs.querySelectorAll("[data-swiper-slide]").forEach(slide=>slide.remove()),filteredGallerySlides.forEach(slide=>this.elements.gallery.querySelector("[data-swiper-container]").append(slide)),filteredThumbsSlides.forEach(slide=>this.elements.thumbs.querySelector("[data-swiper-container]").append(slide)),this.decorateCollage(this.elements.gallery,this.configuration.desktopLayout),this.elements.gallery.classList.remove("wt-product__gallery--even"),this.elements.gallery.classList.remove("wt-product__gallery--odd"),filteredGallerySlides.length%2==0?this.elements.gallery.classList.add("wt-product__gallery--even"):this.elements.gallery.classList.add("wt-product__gallery--odd"));featured_media_id?this.setActiveMedia(featured_media_id,!0):this.setActiveMedia(filteredGallerySlides[0]?.querySelector("img")?.getAttribute("data-media-id"),!0),this.gallerySwiper?.update(),renderedSlidesChanged&&setTimeout(this.afterGalleryChange.bind(this),300),this.renderedSlides=[...filteredGallerySlides]}setActiveMedia(mediaId,prepend){let media=this.elements.gallery.querySelector(`[data-media-id="${mediaId}"]`);this.gallerySwiper!=null&&(this.gallerySwiper.slideTo(this.indexInParent(media)),this.thumbsSwiper.slideTo(this.indexInParent(media)))}matchResolution(){return window.innerWidth<this.configuration.sliderEnabledBreakpoint?"mobile":"desktop"}indexInParent(node){if(!node)return-1;let children=node.parentNode.childNodes,num=0;for(let i=0;i<children.length;i++){if(children[i]==node)return num;children[i].nodeType==1&&num++}return-1}}); 2//# sourceMappingURL=/cdn/shop/t/31/assets/gallery.js.map?v=161954505067195861671782484297
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.