UNPKG

infinity-forge

Version:
84 lines 3.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = slideToLoop; //@ts-nocheck function slideToLoop(index, speed, runCallbacks, internal) { if (index === void 0) { index = 0; } if (runCallbacks === void 0) { runCallbacks = true; } if (typeof index === 'string') { var indexAsNumber = parseInt(index, 10); index = indexAsNumber; } var swiper = this; if (swiper.destroyed) return; if (typeof speed === 'undefined') { speed = swiper.params.speed; } var gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1; var newIndex = index; if (swiper.params.loop) { if (swiper.virtual && swiper.params.virtual.enabled) { // eslint-disable-next-line newIndex = newIndex + swiper.virtual.slidesBefore; } else { var targetSlideIndex = void 0; if (gridEnabled) { var slideIndex_1 = newIndex * swiper.params.grid.rows; targetSlideIndex = swiper.slides.filter(function (slideEl) { return slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex_1; })[0].column; } else { targetSlideIndex = swiper.getSlideIndexByData(newIndex); } var cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length; var centeredSlides = swiper.params.centeredSlides; var slidesPerView = swiper.params.slidesPerView; if (slidesPerView === 'auto') { slidesPerView = swiper.slidesPerViewDynamic(); } else { slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10)); if (centeredSlides && slidesPerView % 2 === 0) { slidesPerView = slidesPerView + 1; } } var needLoopFix = cols - targetSlideIndex < slidesPerView; if (centeredSlides) { needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2); } if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) { needLoopFix = false; } if (needLoopFix) { var direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev'; swiper.loopFix({ direction: direction, slideTo: true, activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1, slideRealIndex: direction === 'next' ? swiper.realIndex : undefined, }); } if (gridEnabled) { var slideIndex_2 = newIndex * swiper.params.grid.rows; newIndex = swiper.slides.filter(function (slideEl) { return slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex_2; })[0].column; } else { newIndex = swiper.getSlideIndexByData(newIndex); } } } requestAnimationFrame(function () { swiper.slideTo(newIndex, speed, runCallbacks, internal); }); return swiper; } //# sourceMappingURL=slideToLoop.js.map