import{g as S,t as I,e as g}from"./swiper-bundle-DeflhWw8.js";function P(h){let{swiper:e,extendParams:w,on:m}=h;w({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let f=!1,b=!1;e.thumbs={swiper:null};function x(){const t=e.thumbs.swiper;if(!t||t.destroyed)return;const s=t.clickedIndex,r=t.clickedSlide;if(r&&r.classList.contains(e.params.thumbs.slideThumbActiveClass)||typeof s>"u"||s===null)return;let a;t.params.loop?a=parseInt(t.clickedSlide.getAttribute("data-swiper-slide-index"),10):a=s,e.params.loop?e.slideToLoop(a):e.slideTo(a)}function p(){const{thumbs:t}=e.params;if(f)return!1;f=!0;const s=e.constructor;if(t.swiper instanceof s)e.thumbs.swiper=t.swiper,Object.assign(e.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(e.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),e.thumbs.swiper.update();else if(I(t.swiper)){const r=Object.assign({},t.swiper);Object.assign(r,{watchSlidesProgress:!0,slideToClickedSlide:!1}),e.thumbs.swiper=new s(r),b=!0}return e.thumbs.swiper.el.classList.add(e.params.thumbs.thumbsContainerClass),e.thumbs.swiper.on("tap",x),!0}function o(t){const s=e.thumbs.swiper;if(!s||s.destroyed)return;const r=s.params.slidesPerView==="auto"?s.slidesPerViewDynamic():s.params.slidesPerView;let a=1;const l=e.params.thumbs.slideThumbActiveClass;if(e.params.slidesPerView>1&&!e.params.centeredSlides&&(a=e.params.slidesPerView),e.params.thumbs.multipleActiveThumbs||(a=1),a=Math.floor(a),s.slides.forEach(i=>i.classList.remove(l)),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let i=0;i<a;i+=1)g(s.slidesEl,`[data-swiper-slide-index="${e.realIndex+i}"]`).forEach(n=>{n.classList.add(l)});else for(let i=0;i<a;i+=1)s.slides[e.realIndex+i]&&s.slides[e.realIndex+i].classList.add(l);const d=e.params.thumbs.autoScrollOffset,u=d&&!s.params.loop;if(e.realIndex!==s.realIndex||u){const i=s.activeIndex;let n,c;if(s.params.loop){const T=s.slides.filter(v=>v.getAttribute("data-swiper-slide-index")===`${e.realIndex}`)[0];n=s.slides.indexOf(T),c=e.activeIndex>e.previousIndex?"next":"prev"}else n=e.realIndex,c=n>e.previousIndex?"next":"prev";u&&(n+=c==="next"?d:-1*d),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(n)<0&&(s.params.centeredSlides?n>i?n=n-Math.floor(r/2)+1:n=n+Math.floor(r/2)-1:n>i&&s.params.slidesPerGroup,s.slideTo(n,t?0:void 0))}}m("beforeInit",()=>{const{thumbs:t}=e.params;if(!(!t||!t.swiper))if(typeof t.swiper=="string"||t.swiper instanceof HTMLElement){const s=S(),r=()=>{const l=typeof t.swiper=="string"?s.querySelector(t.swiper):t.swiper;if(l&&l.swiper)t.swiper=l.swiper,p(),o(!0);else if(l){const d=`${e.params.eventsPrefix}init`,u=i=>{t.swiper=i.detail[0],l.removeEventListener(d,u),p(),o(!0),t.swiper.update(),e.update()};l.addEventListener(d,u)}return l},a=()=>{if(e.destroyed)return;r()||requestAnimationFrame(a)};requestAnimationFrame(a)}else p(),o(!0)}),m("slideChange update resize observerUpdate",()=>{o()}),m("setTransition",(t,s)=>{const r=e.thumbs.swiper;!r||r.destroyed||r.setTransition(s)}),m("beforeDestroy",()=>{const t=e.thumbs.swiper;!t||t.destroyed||b&&t.destroy()}),Object.assign(e.thumbs,{init:p,update:o})}export{P as T};
