import{c as E}from"./lFwaJC54.js";import{m,d as q,s as P,f as G,h as S}from"./CK1rB-uI.js";function L(a=""){return`.${a.trim().replace(/([\.:!+\/()[\]])/g,"\\$1").replace(/ /g,".")}`}function N({swiper:a,extendParams:O,on:u,emit:v}){const f="swiper-pagination";O({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:t=>t,formatFractionTotal:t=>t,bulletClass:`${f}-bullet`,bulletActiveClass:`${f}-bullet-active`,modifierClass:`${f}-`,currentClass:`${f}-current`,totalClass:`${f}-total`,hiddenClass:`${f}-hidden`,progressbarFillClass:`${f}-progressbar-fill`,progressbarOppositeClass:`${f}-progressbar-opposite`,clickableClass:`${f}-clickable`,lockClass:`${f}-lock`,horizontalClass:`${f}-horizontal`,verticalClass:`${f}-vertical`,paginationDisabledClass:`${f}-disabled`}}),a.pagination={el:null,bullets:[]};let b,p=0;function k(){return!a.params.pagination.el||!a.pagination.el||Array.isArray(a.pagination.el)&&a.pagination.el.length===0}function x(t,l){const{bulletActiveClass:e}=a.params.pagination;t&&(t=t[`${l==="prev"?"previous":"next"}ElementSibling`],t&&(t.classList.add(`${e}-${l}`),t=t[`${l==="prev"?"previous":"next"}ElementSibling`],t&&t.classList.add(`${e}-${l}-${l}`)))}function H(t,l,e){if(t=t%e,l=l%e,l===t+1)return"next";if(l===t-1)return"previous"}function D(t){const l=t.target.closest(L(a.params.pagination.bulletClass));if(!l)return;t.preventDefault();const e=S(l)*a.params.slidesPerGroup;if(a.params.loop){if(a.realIndex===e)return;const n=H(a.realIndex,e,a.slides.length);n==="next"?a.slideNext():n==="previous"?a.slidePrev():a.slideToLoop(e)}else a.slideTo(e)}function h(){const t=a.rtl,l=a.params.pagination;if(k())return;let e=a.pagination.el;e=m(e);let n,c;const C=a.virtual&&a.params.virtual.enabled?a.virtual.slides.length:a.slides.length,z=a.params.loop?Math.ceil(C/a.params.slidesPerGroup):a.snapGrid.length;if(a.params.loop?(c=a.previousRealIndex||0,n=a.params.slidesPerGroup>1?Math.floor(a.realIndex/a.params.slidesPerGroup):a.realIndex):typeof a.snapIndex<"u"?(n=a.snapIndex,c=a.previousSnapIndex):(c=a.previousIndex||0,n=a.activeIndex||0),l.type==="bullets"&&a.pagination.bullets&&a.pagination.bullets.length>0){const s=a.pagination.bullets;let g,d,$;if(l.dynamicBullets&&(b=G(s[0],a.isHorizontal()?"width":"height"),e.forEach(i=>{i.style[a.isHorizontal()?"width":"height"]=`${b*(l.dynamicMainBullets+4)}px`}),l.dynamicMainBullets>1&&c!==void 0&&(p+=n-(c||0),p>l.dynamicMainBullets-1?p=l.dynamicMainBullets-1:p<0&&(p=0)),g=Math.max(n-p,0),d=g+(Math.min(s.length,l.dynamicMainBullets)-1),$=(d+g)/2),s.forEach(i=>{const o=[...["","-next","-next-next","-prev","-prev-prev","-main"].map(r=>`${l.bulletActiveClass}${r}`)].map(r=>typeof r=="string"&&r.includes(" ")?r.split(" "):r).flat();i.classList.remove(...o)}),e.length>1)s.forEach(i=>{const o=S(i);o===n?i.classList.add(...l.bulletActiveClass.split(" ")):a.isElement&&i.setAttribute("part","bullet"),l.dynamicBullets&&(o>=g&&o<=d&&i.classList.add(...`${l.bulletActiveClass}-main`.split(" ")),o===g&&x(i,"prev"),o===d&&x(i,"next"))});else{const i=s[n];if(i&&i.classList.add(...l.bulletActiveClass.split(" ")),a.isElement&&s.forEach((o,r)=>{o.setAttribute("part",r===n?"bullet-active":"bullet")}),l.dynamicBullets){const o=s[g],r=s[d];for(let y=g;y<=d;y+=1)s[y]&&s[y].classList.add(...`${l.bulletActiveClass}-main`.split(" "));x(o,"prev"),x(r,"next")}}if(l.dynamicBullets){const i=Math.min(s.length,l.dynamicMainBullets+4),o=(b*i-b)/2-$*b,r=t?"right":"left";s.forEach(y=>{y.style[a.isHorizontal()?r:"top"]=`${o}px`})}}e.forEach((s,g)=>{if(l.type==="fraction"&&(s.querySelectorAll(L(l.currentClass)).forEach(d=>{d.textContent=l.formatFractionCurrent(n+1)}),s.querySelectorAll(L(l.totalClass)).forEach(d=>{d.textContent=l.formatFractionTotal(z)})),l.type==="progressbar"){let d;l.progressbarOpposite?d=a.isHorizontal()?"vertical":"horizontal":d=a.isHorizontal()?"horizontal":"vertical";const $=(n+1)/z;let i=1,o=1;d==="horizontal"?i=$:o=$,s.querySelectorAll(L(l.progressbarFillClass)).forEach(r=>{r.style.transform=`translate3d(0,0,0) scaleX(${i}) scaleY(${o})`,r.style.transitionDuration=`${a.params.speed}ms`})}l.type==="custom"&&l.renderCustom?(P(s,l.renderCustom(a,n+1,z)),g===0&&v("paginationRender",s)):(g===0&&v("paginationRender",s),v("paginationUpdate",s)),a.params.watchOverflow&&a.enabled&&s.classList[a.isLocked?"add":"remove"](l.lockClass)})}function B(){const t=a.params.pagination;if(k())return;const l=a.virtual&&a.params.virtual.enabled?a.virtual.slides.length:a.grid&&a.params.grid.rows>1?a.slides.length/Math.ceil(a.params.grid.rows):a.slides.length;let e=a.pagination.el;e=m(e);let n="";if(t.type==="bullets"){let c=a.params.loop?Math.ceil(l/a.params.slidesPerGroup):a.snapGrid.length;a.params.freeMode&&a.params.freeMode.enabled&&c>l&&(c=l);for(let C=0;C<c;C+=1)t.renderBullet?n+=t.renderBullet.call(a,C,t.bulletClass):n+=`<${t.bulletElement} ${a.isElement?'part="bullet"':""} class="${t.bulletClass}"></${t.bulletElement}>`}t.type==="fraction"&&(t.renderFraction?n=t.renderFraction.call(a,t.currentClass,t.totalClass):n=`<span class="${t.currentClass}"></span> / <span class="${t.totalClass}"></span>`),t.type==="progressbar"&&(t.renderProgressbar?n=t.renderProgressbar.call(a,t.progressbarFillClass):n=`<span class="${t.progressbarFillClass}"></span>`),a.pagination.bullets=[],e.forEach(c=>{t.type!=="custom"&&P(c,n||""),t.type==="bullets"&&a.pagination.bullets.push(...c.querySelectorAll(L(t.bulletClass)))}),t.type!=="custom"&&v("paginationRender",e[0])}function A(){a.params.pagination=E(a,a.originalParams.pagination,a.params.pagination,{el:"swiper-pagination"});const t=a.params.pagination;if(!t.el)return;let l;typeof t.el=="string"&&a.isElement&&(l=a.el.querySelector(t.el)),!l&&typeof t.el=="string"&&(l=[...document.querySelectorAll(t.el)]),l||(l=t.el),!(!l||l.length===0)&&(a.params.uniqueNavElements&&typeof t.el=="string"&&Array.isArray(l)&&l.length>1&&(l=[...a.el.querySelectorAll(t.el)],l.length>1&&(l=l.find(e=>q(e,".swiper")[0]===a.el))),Array.isArray(l)&&l.length===1&&(l=l[0]),Object.assign(a.pagination,{el:l}),l=m(l),l.forEach(e=>{t.type==="bullets"&&t.clickable&&e.classList.add(...(t.clickableClass||"").split(" ")),e.classList.add(t.modifierClass+t.type),e.classList.add(a.isHorizontal()?t.horizontalClass:t.verticalClass),t.type==="bullets"&&t.dynamicBullets&&(e.classList.add(`${t.modifierClass}${t.type}-dynamic`),p=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),t.type==="progressbar"&&t.progressbarOpposite&&e.classList.add(t.progressbarOppositeClass),t.clickable&&e.addEventListener("click",D),a.enabled||e.classList.add(t.lockClass)}))}function M(){const t=a.params.pagination;if(k())return;let l=a.pagination.el;l&&(l=m(l),l.forEach(e=>{e.classList.remove(t.hiddenClass),e.classList.remove(t.modifierClass+t.type),e.classList.remove(a.isHorizontal()?t.horizontalClass:t.verticalClass),t.clickable&&(e.classList.remove(...(t.clickableClass||"").split(" ")),e.removeEventListener("click",D))})),a.pagination.bullets&&a.pagination.bullets.forEach(e=>e.classList.remove(...t.bulletActiveClass.split(" ")))}u("changeDirection",()=>{if(!a.pagination||!a.pagination.el)return;const t=a.params.pagination;let{el:l}=a.pagination;l=m(l),l.forEach(e=>{e.classList.remove(t.horizontalClass,t.verticalClass),e.classList.add(a.isHorizontal()?t.horizontalClass:t.verticalClass)})}),u("init",()=>{a.params.pagination.enabled===!1?I():(A(),B(),h())}),u("activeIndexChange",()=>{typeof a.snapIndex>"u"&&h()}),u("snapIndexChange",()=>{h()}),u("snapGridLengthChange",()=>{B(),h()}),u("destroy",()=>{M()}),u("enable disable",()=>{let{el:t}=a.pagination;t&&(t=m(t),t.forEach(l=>l.classList[a.enabled?"remove":"add"](a.params.pagination.lockClass)))}),u("lock unlock",()=>{h()}),u("click",(t,l)=>{const e=l.target,n=m(a.pagination.el);if(a.params.pagination.el&&a.params.pagination.hideOnClick&&n&&n.length>0&&!e.classList.contains(a.params.pagination.bulletClass)){if(a.navigation&&(a.navigation.nextEl&&e===a.navigation.nextEl||a.navigation.prevEl&&e===a.navigation.prevEl))return;const c=n[0].classList.contains(a.params.pagination.hiddenClass);v(c===!0?"paginationShow":"paginationHide"),n.forEach(C=>C.classList.toggle(a.params.pagination.hiddenClass))}});const F=()=>{a.el.classList.remove(a.params.pagination.paginationDisabledClass);let{el:t}=a.pagination;t&&(t=m(t),t.forEach(l=>l.classList.remove(a.params.pagination.paginationDisabledClass))),A(),B(),h()},I=()=>{a.el.classList.add(a.params.pagination.paginationDisabledClass);let{el:t}=a.pagination;t&&(t=m(t),t.forEach(l=>l.classList.add(a.params.pagination.paginationDisabledClass))),M()};Object.assign(a.pagination,{enable:F,disable:I,render:B,update:h,init:A,destroy:M})}export{N as P};
