UNPKG

infinity-forge

Version:
69 lines 2.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = slidePrev; /* eslint no-unused-vars: "off" */ function slidePrev(speed, runCallbacks, internal) { if (runCallbacks === void 0) { runCallbacks = true; } var swiper = this; var params = swiper.params, snapGrid = swiper.snapGrid, slidesGrid = swiper.slidesGrid, rtlTranslate = swiper.rtlTranslate, enabled = swiper.enabled, animating = swiper.animating; if (!enabled || swiper.destroyed) return swiper; if (typeof speed === 'undefined') { speed = swiper.params.speed; } var isVirtual = swiper.virtual && params.virtual.enabled; if (params.loop) { if (animating && !isVirtual && params.loopPreventsSliding) return false; swiper.loopFix({ direction: 'prev' }); // eslint-disable-next-line swiper._clientLeft = swiper.wrapperEl.clientLeft; } var translate = rtlTranslate ? swiper.translate : -swiper.translate; function normalize(val) { if (val < 0) return -Math.floor(Math.abs(val)); return Math.floor(val); } var normalizedTranslate = normalize(translate); var normalizedSnapGrid = snapGrid.map(function (val) { return normalize(val); }); var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1]; if (typeof prevSnap === 'undefined' && params.cssMode) { var prevSnapIndex_1; snapGrid.forEach(function (snap, snapIndex) { if (normalizedTranslate >= snap) { // prevSnap = snap; prevSnapIndex_1 = snapIndex; } }); if (typeof prevSnapIndex_1 !== 'undefined') { prevSnap = snapGrid[prevSnapIndex_1 > 0 ? prevSnapIndex_1 - 1 : prevSnapIndex_1]; } } var prevIndex = 0; if (typeof prevSnap !== 'undefined') { prevIndex = slidesGrid.indexOf(prevSnap); if (prevIndex < 0) prevIndex = swiper.activeIndex - 1; if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1; prevIndex = Math.max(prevIndex, 0); } } if (params.rewind && swiper.isBeginning) { var lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; return swiper.slideTo(lastIndex, speed, runCallbacks, internal); } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) { requestAnimationFrame(function () { swiper.slideTo(prevIndex, speed, runCallbacks, internal); }); return true; } return swiper.slideTo(prevIndex, speed, runCallbacks, internal); } //# sourceMappingURL=slidePrev.js.map