1var n=Object.defineProperty;var d=(o,i,t)=>i in o?n(o,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[i]=t;var a=(o,i,t)=>(d(o,typeof i!="symbol"?i+"":i,t),t);import{a as h}from"./vendor-58675f0b.js";import{S as r}from"./swiper-core-6e5642fd.js";import{N as g}from"./navigation-363660da.js";r.use([g]);class x extends h{constructor(t){super(t);a(this,"imagesCount");a(this,"swiper");this.imagesCount=0,this.init(),this.buildGalleryLightBox()}setupDefaults(){this.dom={inner:this.el.querySelector(".product-detail__gallery-inner")}}init(){if(this.imagesCount=this.dom.inner.querySelectorAll("img").length,this.dom.inner.querySelectorAll("img").forEach((t,l)=>{const e=document.createElement("button");e.classList.add("product-detail__gallery-item"),e.dataset.index=l.toString(),e.appendChild(t),this.dom.inner.appendChild(e)}),this.dom.galleryItems=this.dom.inner.querySelectorAll(".product-detail__gallery-item"),this.imagesCount>6){const t=document.createElement("div");t.classList.add("product-detail__gallery-item-overlay");const l=this.imagesCount-6,e=this.el.dataset.viewMoreLabel.replace("[count]",l.toString());t.innerHTML=`<span>${e}</span>`,this.dom.galleryItems[5].appendChild(t),this.dom.inner.dataset.imagesCount="6"}else this.dom.inner.dataset.imagesCount=this.imagesCount.toString();this.dom.inner.dataset.initialized="initialized"}buildGalleryLightBox(){this.dom.lightbox=document.createElement("dialog"),this.dom.lightbox.classList.add("product-detail__gallery-lightbox"),this.dom.lightbox.innerHTML=` 2 <div class="product-detail__gallery-lightbox-inner"> 3 <button class="product-detail__gallery-lightbox-close" autofocus> 4 <svg role="presentation"> 5 <use xlink:href="#modal-close" /> 6 </svg> 7 </button> 8 <div class="product-detail__gallery-lightbox-content"> 9 ${this.imagesCount>0?`<div role="button" class="product-detail__gallery-lightbox-prev"> 10 <svg role="presentation"> 11 <use xlink:href="#modal-chevron-left" /> 12 </svg> 13 </div>`:""} 14 <div class="swiper-container"> 15 <div class="swiper-wrapper"></div> 16 </div> 17 ${this.imagesCount>0?`<div role="button" class="product-detail__gallery-lightbox-next"> 18 <svg role="presentation"> 19 <use xlink:href="#modal-chevron-right" /> 20 </svg> 21 </div>`:""} 22 ${this.imagesCount>0?'<div class="product-detail__gallery-lightbox-pagination"></div>':""} 23 </div> 24 </div> 25 `,document.body.appendChild(this.dom.lightbox);const t=this.dom.lightbox.querySelector(".product-detail__gallery-lightbox-content .swiper-container"),l=this.dom.lightbox.querySelector(".product-detail__gallery-lightbox-content .swiper-wrapper");this.dom.lightboxClose=this.dom.lightbox.querySelector(".product-detail__gallery-lightbox-close"),this.dom.lightboxInner=this.dom.lightbox.querySelector(".product-detail__gallery-lightbox-inner"),this.dom.lightboxPagination=this.dom.lightbox.querySelector(".product-detail__gallery-lightbox-pagination"),this.dom.inner.querySelectorAll("img").forEach(e=>{const s=document.createElement("div");s.classList.add("swiper-slide"),s.appendChild(e.cloneNode(!0)),l.appendChild(s)}),this.swiper=new r(t,{slidesPerView:1,spaceBetween:10,navigation:{nextEl:this.dom.lightboxInner.querySelector(".product-detail__gallery-lightbox-next"),prevEl:this.dom.lightboxInner.querySelector(".product-detail__gallery-lightbox-prev")},on:{update:e=>{this.dom.lightboxPagination.innerHTML=`${e.activeIndex+1}/${e.slides.length}`},slideChange:e=>{this.dom.lightboxPagination.innerHTML=`${e.activeIndex+1}/${e.slides.length}`}}}),this.dom.lightboxClose.addEventListener("click",this.closeGalleryLightBox.bind(this)),this.dom.lightbox.addEventListener("click",this.handleClickOutside.bind(this)),this.dom.galleryItems.forEach(e=>{e.addEventListener("click",this.displayGalleryLightBox.bind(this))})}displayGalleryLightBox(t){const e=t.currentTarget.dataset.index;this.swiper.slideTo(e),this.dom.lightbox.show(),this.swiper.update(
25)}closeGalleryLightBox(){this.dom.lightbox.close()}handleClickOutside(t){const l=t.currentTarget;t.target===this.dom.lightbox&&!this.dom.lightboxInner.contains(l)&&this.closeGalleryLightBox()}}export{x as default}; 26//# sourceMappingURL=productGallery-b0fe2ac8.js.map
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.