UNPKG

pouncejs

Version:

A collection of UI components from Panther labs

43 lines (32 loc) 1.43 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _react = _interopRequireDefault(require("react")); var _ControlledAlert = _interopRequireDefault(require("../utils/ControlledAlert")); /** * A Snackbar is a special version of Alert that gets shown as a response to a user's action in * order to provide feedback about the outcome of his action */ var Snackbar = function Snackbar(_ref) { var destroy = _ref.destroy, _ref$duration = _ref.duration, duration = _ref$duration === void 0 ? 6000 : _ref$duration, rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["destroy", "duration"]); var timeoutRef = _react.default.useRef(); _react.default.useEffect(function () { timeoutRef.current = setTimeout(destroy, duration); return function () { return clearTimeout(timeoutRef.current); }; }, [duration]); return /*#__PURE__*/_react.default.createElement(_ControlledAlert.default, (0, _extends2.default)({}, rest, { open: true, onClose: destroy, variantBackgroundStyle: "solid" })); }; var _default = Snackbar; exports.default = _default;