UNPKG

@nutui/nutui-react

Version:

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

47 lines (46 loc) 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { momentum: function() { return momentum; }, useStyles: function() { return useStyles; } }); var momentum = function momentum(distance, duration) { var speed = Math.abs(distance / duration); return speed / 0.003 * (distance < 0 ? -1 : 1); }; var useStyles = function useStyles(touchTime, touchDeg, scrollDistance, lineSpacing, rotation) { var getTransitionStyle = function getTransitionStyle(transformValue) { return { transition: "transform ".concat(touchTime, "ms cubic-bezier(0.17, 0.89, 0.45, 1)"), transform: transformValue }; }; var touchRollerStyle = function touchRollerStyle() { return getTransitionStyle("rotate3d(1, 0, 0, ".concat(touchDeg, ")")); }; var touchTiledStyle = function touchTiledStyle() { return getTransitionStyle("translate3d(0, ".concat(scrollDistance, "px, 0)")); }; var rollerStyle = function rollerStyle(index) { return { transform: "rotate3d(1, 0, 0, ".concat(-rotation * (index + 1), "deg) translate3d(0px, 0px, ").concat(Math.round(lineSpacing.current * 3.2), "px)") }; }; return { touchRollerStyle: touchRollerStyle, touchTiledStyle: touchTiledStyle, rollerStyle: rollerStyle }; };