@helpscout/hsds-react
Version:
React component library for Help Scout's Design System
70 lines (54 loc) • 2.07 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = exports.Timer = void 0;
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
var _Notification = require("./Notification.css");
var _jsxRuntime = require("react/jsx-runtime");
var Timer = /*#__PURE__*/function (_React$PureComponent) {
(0, _inheritsLoose2.default)(Timer, _React$PureComponent);
function Timer() {
return _React$PureComponent.apply(this, arguments) || this;
}
var _proto = Timer.prototype;
_proto.render = function render() {
var _this$props = this.props,
className = _this$props.className,
isRunning = _this$props.isRunning,
onTimerEnd = _this$props.onTimerEnd,
style = _this$props.style,
timeout = _this$props.timeout;
var componentClassName = (0, _classnames.default)('c-NotificationTimer', className);
var duration = typeof timeout === 'number' ? timeout + "ms" : timeout;
var styles = Object.assign({}, style, {
animationDuration: duration,
animationPlayState: isRunning ? 'running' : 'paused'
});
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Notification.TimerUI, {
className: componentClassName,
onAnimationEnd: onTimerEnd,
style: styles
});
};
return Timer;
}(_react.default.PureComponent);
exports.Timer = Timer;
function noop() {}
Timer.propTypes = {
className: _propTypes.default.string,
isRunning: _propTypes.default.bool,
onTimerEnd: _propTypes.default.func,
style: _propTypes.default.any,
timeout: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
};
Timer.defaultProps = {
isRunning: true,
onTimerEnd: noop,
style: {},
timeout: 5000
};
var _default = Timer;
exports.default = _default;
;