UNPKG

infinity-forge

Version:
62 lines 2.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = updateSlidesProgress; 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 updateSlidesProgress(translate) { if (translate === void 0) { translate = (this && this.translate) || 0; } var swiper = this; var params = swiper.params; var slides = swiper.slides, rtl = swiper.rtlTranslate, snapGrid = swiper.snapGrid; if (slides.length === 0) return; if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset(); var offsetCenter = -translate; if (rtl) offsetCenter = translate; swiper.visibleSlidesIndexes = []; swiper.visibleSlides = []; var spaceBetween = params.spaceBetween; if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { spaceBetween = (parseFloat(spaceBetween.replace('%', '')) / 100) * swiper.size; } else if (typeof spaceBetween === 'string') { spaceBetween = parseFloat(spaceBetween); } for (var i = 0; i < slides.length; i += 1) { var slide = slides[i]; var slideOffset = slide.swiperSlideOffset; if (params.cssMode && params.centeredSlides) { slideOffset -= slides[0].swiperSlideOffset; } var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); var originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween); var slideBefore = -(offsetCenter - slideOffset); var slideAfter = slideBefore + swiper.slidesSizesGrid[i]; var isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i]; var isVisible = (slideBefore >= 0 && slideBefore < swiper.size - 1) || (slideAfter > 1 && slideAfter <= swiper.size) || (slideBefore <= 0 && slideAfter >= swiper.size); if (isVisible) { swiper.visibleSlides.push(slide); swiper.visibleSlidesIndexes.push(i); } toggleSlideClasses(slide, isVisible, params.slideVisibleClass); toggleSlideClasses(slide, isFullyVisible, params.slideFullyVisibleClass); slide.progress = rtl ? -slideProgress : slideProgress; slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress; } } //# sourceMappingURL=updateSlidesProgress.js.map