UNPKG

@nutui/nutui-react

Version:

京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序

41 lines (40 loc) 1.84 kB
"use strict"; 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); }); };