@nutui/nutui-react
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
41 lines (40 loc) • 1.84 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "defaultEffect", {
enumerable: true,
get: function() {
return defaultEffect;
}
});
var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
var _define_property = require("@swc/helpers/_/_define_property");
var _react = /*#__PURE__*/ _interop_require_default._(require("react"));
var _web = require("@react-spring/web");
var _configprovider = require("../../configprovider");
var getPerSlidePosition = function getPerSlidePosition(index, position, loop, count) {
var currentPosition = index * 100 + position;
if (loop) {
var cycle = count * 100;
var shift = cycle / 2;
var nextPosition = (currentPosition + shift) % cycle;
var shiftedPosition = (nextPosition < 0 ? nextPosition + cycle : nextPosition) - shift;
return "".concat(shiftedPosition, "%");
}
return "".concat(currentPosition, "%");
};
var defaultEffect = function defaultEffect(args) {
return _react.default.Children.map(args.children, function(child, index) {
var isVertical = args.isVertical, getSpringsAxis = args.getSpringsAxis, loop = args.loop, count = args.count;
var rtl = (0, _configprovider.useRtl)();
var position = rtl ? 'right' : 'left';
var _obj;
return /*#__PURE__*/ _react.default.createElement(_web.animated.div, {
className: "nut-swiper-slide",
style: (_obj = {}, (0, _define_property._)(_obj, isVertical ? 'y' : 'x', getSpringsAxis().to(function(position) {
return getPerSlidePosition(index, position, loop, count);
})), (0, _define_property._)(_obj, isVertical ? 'top' : position, "-".concat(index * 100, "%")), _obj)
}, child);
});
};
;