react-toastify
Version:
React notification made easy
87 lines (65 loc) • 2.03 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _constant = require('./../utils/constant');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function ProgressBar(_ref) {
var delay = _ref.delay,
isRunning = _ref.isRunning,
closeToast = _ref.closeToast,
type = _ref.type,
hide = _ref.hide,
className = _ref.className,
rtl = _ref.rtl;
var style = {
animationDuration: delay + 'ms',
animationPlayState: isRunning ? 'running' : 'paused',
opacity: hide ? 0 : 1
};
var classNames = (0, _classnames2.default)('Toastify__progress-bar', 'Toastify__progress-bar--' + type, {
'Toastify__progress-bar--rtl': rtl
}, className);
return _react2.default.createElement('div', { className: classNames, style: style, onAnimationEnd: closeToast });
}
ProgressBar.propTypes = {
/**
* The animation delay which determine when to close the toast
*/
delay: _propTypes2.default.number.isRequired,
/**
* Whether or not the animation is running or paused
*/
isRunning: _propTypes2.default.bool.isRequired,
/**
* Func to close the current toast
*/
closeToast: _propTypes2.default.func.isRequired,
/**
* Support rtl content
*/
rtl: _propTypes2.default.bool.isRequired,
/**
* Optional type : info, success ...
*/
type: _propTypes2.default.string,
/**
* Hide or not the progress bar
*/
hide: _propTypes2.default.bool,
/**
* Optionnal className
*/
className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object])
};
ProgressBar.defaultProps = {
type: _constant.TYPE.DEFAULT,
hide: false
};
exports.default = ProgressBar;