UNPKG

tplus-poslogin

Version:

password login module

71 lines (57 loc) 1.96 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); exports.default = TextAnimate; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @style style * @className className * @speed 动画速度 * @delay 动画间隔 * @easeOut 动画加快速度 * @visible 是否显示 */ function TextAnimate(props) { var _props$style = props.style, style = _props$style === undefined ? {} : _props$style, _props$text = props.text, text = _props$text === undefined ? '' : _props$text, _props$delay = props.delay, delay = _props$delay === undefined ? 100 : _props$delay, visible = props.visible, _props$easeOut = props.easeOut, easeOut = _props$easeOut === undefined ? 0 : _props$easeOut; var _props$speed = props.speed, speed = _props$speed === undefined ? 300 : _props$speed; var textArray = text.split(''); var count = textArray.length; var allTime = count * delay; if (!visible) return null; return textArray.map(function (v, i) { return _react2.default.createElement( 'span', { key: i, className: 'text-animation', style: (0, _extends3.default)({ animation: 'text-animation ' + (speed -= easeOut) + 'ms ease ' + (allTime - delay * i) + 'ms 1 forwards' }, style) }, v ); }); } TextAnimate.propTypes = { style: _propTypes2.default.object, className: _propTypes2.default.string, delay: _propTypes2.default.number, speed: _propTypes2.default.number, easeOut: _propTypes2.default.number, visible: _propTypes2.default.bool }; //# sourceMappingURL=text-animate.js.map