UNPKG

infinity-forge

Version:
69 lines 3.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = updateSlidesClasses; //@ts-nocheck var utils_1 = require("../../shared/utils.js"); var toggleSlideClasses = function (slideEl, condition, className) { if (condition && !slideEl.classList.contains(className)) { slideEl.classList.add(className); } else if (!condition && slideEl.classList.contains(className)) { slideEl.classList.remove(className); } }; function updateSlidesClasses() { var swiper = this; var slides = swiper.slides, params = swiper.params, slidesEl = swiper.slidesEl, activeIndex = swiper.activeIndex; var isVirtual = swiper.virtual && params.virtual.enabled; var gridEnabled = swiper.grid && params.grid && params.grid.rows > 1; var getFilteredSlide = function (selector) { return (0, utils_1.elementChildren)(slidesEl, ".".concat(params.slideClass).concat(selector, ", swiper-slide").concat(selector))[0]; }; var activeSlide; var prevSlide; var nextSlide; if (isVirtual) { if (params.loop) { var slideIndex = activeIndex - swiper.virtual.slidesBefore; if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex; if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length; activeSlide = getFilteredSlide("[data-swiper-slide-index=\"".concat(slideIndex, "\"]")); } else { activeSlide = getFilteredSlide("[data-swiper-slide-index=\"".concat(activeIndex, "\"]")); } } else { if (gridEnabled) { activeSlide = slides.filter(function (slideEl) { return slideEl.column === activeIndex; })[0]; nextSlide = slides.filter(function (slideEl) { return slideEl.column === activeIndex + 1; })[0]; prevSlide = slides.filter(function (slideEl) { return slideEl.column === activeIndex - 1; })[0]; } else { activeSlide = slides[activeIndex]; } } if (activeSlide) { if (!gridEnabled) { // Next Slide nextSlide = (0, utils_1.elementNextAll)(activeSlide, ".".concat(params.slideClass, ", swiper-slide"))[0]; if (params.loop && !nextSlide) { nextSlide = slides[0]; } // Prev Slide prevSlide = (0, utils_1.elementPrevAll)(activeSlide, ".".concat(params.slideClass, ", swiper-slide"))[0]; if (params.loop && !prevSlide === 0) { prevSlide = slides[slides.length - 1]; } } } slides.forEach(function (slideEl) { toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass); toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass); toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass); }); swiper.emitSlidesClasses(); } //# sourceMappingURL=updateSlidesClasses.js.map