{"version":3,"file":"pagination-cd4a8545.js","sources":["../../../../node_modules/swiper/shared/classes-to-selector.js","../../../../node_modules/swiper/modules/pagination/pagination.js"],"sourcesContent":["export default function classesToSelector(classes = '') {\n return `.${classes.trim().replace(/([\\.:!+\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.')}`;\n}","import classesToSelector from '../../shared/classes-to-selector.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nimport { elementIndex, elementOuterSize, elementParents } from '../../shared/utils.js';\nexport default function Pagination({\n swiper,\n extendParams,\n on,\n emit\n}) {\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: number => number,\n formatFractionTotal: number => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`\n }\n });\n swiper.pagination = {\n el: null,\n bullets: []\n };\n let bulletSize;\n let dynamicBulletIndex = 0;\n const makeElementsArray = el => {\n if (!Array.isArray(el)) el = [el].filter(e => !!e);\n return el;\n };\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0;\n }\n function setSideBullets(bulletEl, position) {\n const {\n bulletActiveClass\n } = swiper.params.pagination;\n if (!bulletEl) return;\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}`);\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);\n }\n }\n }\n function onBulletClick(e) {\n const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));\n if (!bulletEl) {\n return;\n }\n e.preventDefault();\n const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup;\n if (swiper.params.loop) {\n if (swiper.realIndex === index) return;\n const newSlideIndex = swiper.getSlideIndexByData(index);\n const currentSlideIndex = swiper.getSlideIndexByData(swiper.realIndex);\n if (newSlideIndex > swiper.slides.length - swiper.loopedSlides) {\n swiper.loopFix({\n direction: newSlideIndex > currentSlideIndex ? 'next' : 'prev',\n activeSlideIndex: newSlideIndex,\n slideTo: false\n });\n }\n swiper.slideToLoop(index);\n } else {\n swiper.slideTo(index);\n }\n }\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n // Current/Total\n let current;\n let previousIndex;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.loop) {\n previousIndex = swiper.previousRealIndex || 0;\n current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n previousIndex = swiper.previousSnapIndex;\n } else {\n previousIndex = swiper.previousIndex || 0;\n current = swiper.activeIndex || 0;\n }\n // Types\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n if (params.dynamicBullets) {\n bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true);\n el.forEach(subEl => {\n subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`;\n });\n if (params.dynamicMainBullets > 1 && previousIndex !== undefined) {\n dynamicBulletIndex += current - (previousIndex || 0);\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n bullets.forEach(bulletEl => {\n const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat();\n bulletEl.classList.remove(...classesToRemove);\n });\n if (el.length > 1) {\n bullets.forEach(bullet => {\n const bulletIndex = elementIndex(bullet);\n if (bulletIndex === current) {\n bullet.classList.add(...params.bulletActiveClass.split(' '));\n }\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n }\n if (bulletIndex === firstIndex) {\n setSideBullets(bullet, 'prev');\n }\n if (bulletIndex === lastIndex) {\n setSideBullets(bullet, 'next');\n }\n }\n });\n } else {\n const bullet = bullets[current];\n if (bullet) {\n bullet.classList.add(...params.bulletActiveClass.split(' '));\n }\n if (params.dynamicBullets) {\n const firstDisplayedBullet = bullets[firstIndex];\n const lastDisplayedBullet = bullets[lastIndex];\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n if (bullets[i]) {\n bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n }\n }\n setSideBullets(firstDisplayedBullet, 'prev');\n setSideBullets(lastDisplayedBullet, 'next');\n }\n }\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.forEach(bullet => {\n bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`;\n });\n }\n }\n el.forEach((subEl, subElIndex) => {\n if (params.type === 'fraction') {\n subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl => {\n fractionEl.textContent = params.formatFractionCurrent(current + 1);\n });\n subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl => {\n totalEl.textContent = params.formatFractionTotal(total);\n });\n }\n if (params.type === 'progressbar') {\n let progressbarDirection;\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl => {\n progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;\n progressEl.style.transitionDuration = `${swiper.params.speed}ms`;\n });\n }\n if (params.type === 'custom' && params.renderCustom) {\n subEl.innerHTML = params.renderCustom(swiper, current + 1, total);\n if (subElIndex === 0) emit('paginationRender', subEl);\n } else {\n if (subElIndex === 0) emit('paginationRender', subEl);\n emit('paginationUpdate', subEl);\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n });\n }\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n let paginationHTML = '';\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += `<${params.bulletElement} class=\"${params.bulletClass}\">${params.bulletElement}>`;\n }\n }\n }\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = `` + ' / ' + ``;\n }\n }\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = ``;\n }\n }\n swiper.pagination.bullets = [];\n el.forEach(subEl => {\n if (params.type !== 'custom') {\n subEl.innerHTML = paginationHTML || '';\n }\n if (params.type === 'bullets') {\n swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)));\n }\n });\n if (params.type !== 'custom') {\n emit('paginationRender', el[0]);\n }\n }\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n const params = swiper.params.pagination;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.shadowRoot.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = [...document.querySelectorAll(params.el)];\n }\n if (!el) {\n el = params.el;\n }\n if (!el || el.length === 0) return;\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) {\n el = [...swiper.el.querySelectorAll(params.el)];\n // check if it belongs to another nested Swiper\n if (el.length > 1) {\n el = el.filter(subEl => {\n if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false;\n return true;\n })[0];\n }\n }\n if (Array.isArray(el) && el.length === 1) el = el[0];\n Object.assign(swiper.pagination, {\n el\n });\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (params.type === 'bullets' && params.clickable) {\n subEl.classList.add(params.clickableClass);\n }\n subEl.classList.add(params.modifierClass + params.type);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.type === 'bullets' && params.dynamicBullets) {\n subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n subEl.classList.add(params.progressbarOppositeClass);\n }\n if (params.clickable) {\n subEl.addEventListener('click', onBulletClick);\n }\n if (!swiper.enabled) {\n subEl.classList.add(params.lockClass);\n }\n });\n }\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.hiddenClass);\n subEl.classList.remove(params.modifierClass + params.type);\n subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.clickable) {\n subEl.removeEventListener('click', onBulletClick);\n }\n });\n }\n if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' ')));\n }\n on('changeDirection', () => {\n if (!swiper.pagination || !swiper.pagination.el) return;\n const params = swiper.params.pagination;\n let {\n el\n } = swiper.pagination;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.horizontalClass, params.verticalClass);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n });\n });\n on('init', () => {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', () => {\n if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n update();\n });\n on('snapGridLengthChange', () => {\n render();\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass));\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n let {\n el\n } = swiper.pagination;\n if (!Array.isArray(el)) el = [el].filter(element => !!element);\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass);\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));\n }\n init();\n render();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass));\n }\n destroy();\n };\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy\n });\n}"],"names":["classesToSelector","classes","Pagination","swiper","extendParams","on","emit","pfx","number","bulletSize","dynamicBulletIndex","makeElementsArray","el","e","isPaginationDisabled","setSideBullets","bulletEl","position","bulletActiveClass","onBulletClick","index","elementIndex","newSlideIndex","currentSlideIndex","update","rtl","params","current","previousIndex","slidesLength","total","bullets","firstIndex","lastIndex","midIndex","elementOuterSize","subEl","classesToRemove","suffix","s","bullet","bulletIndex","firstDisplayedBullet","lastDisplayedBullet","i","dynamicBulletsLength","bulletsOffset","offsetProp","subElIndex","fractionEl","totalEl","progressbarDirection","scale","scaleX","scaleY","progressEl","render","paginationHTML","numberOfBullets","init","createElementIfNotDefined","elementParents","destroy","disable","_s","targetEl","element","isHidden","enable"],"mappings":"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","x_google_ignoreList":[0,1]}