tplus-poslogin
Version:
password login module
71 lines (57 loc) • 1.96 kB
JavaScript
'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