infinity-forge
Version:
47 lines • 1.68 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.renderVirtual = renderVirtual;
// @ts-nocheck
var react_1 = __importDefault(require("react"));
function renderVirtual(swiper, slides, virtualData) {
var _a;
if (!virtualData)
return null;
var getSlideIndex = function (index) {
var slideIndex = index;
if (index < 0) {
slideIndex = slides.length + index;
}
else if (slideIndex >= slides.length) {
// eslint-disable-next-line
slideIndex = slideIndex - slides.length;
}
return slideIndex;
};
var style = swiper.isHorizontal()
? (_a = {},
_a[swiper.rtlTranslate ? 'right' : 'left'] = "".concat(virtualData.offset, "px"),
_a) : {
top: "".concat(virtualData.offset, "px"),
};
var from = virtualData.from, to = virtualData.to;
var loopFrom = swiper.params.loop ? -slides.length : 0;
var loopTo = swiper.params.loop ? slides.length * 2 : slides.length;
var slidesToRender = [];
for (var i = loopFrom; i < loopTo; i += 1) {
if (i >= from && i <= to) {
slidesToRender.push(slides[getSlideIndex(i)]);
}
}
return slidesToRender.map(function (child, index) {
return react_1.default.cloneElement(child, {
swiper: swiper,
style: style,
key: child.props.virtualIndex || child.key || "slide-".concat(index),
});
});
}
//# sourceMappingURL=virtual.js.map