pouncejs
Version:
A collection of UI components from Panther labs
54 lines (39 loc) • 1.78 kB
JavaScript
"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"));
var _Collapse = _interopRequireDefault(require("../Collapse"));
/** An Alert component is simply a container for text that should capture the user's attention */
var Alert = function Alert(_ref) {
var onClose = _ref.onClose,
_ref$disableAnimation = _ref.disableAnimation,
disableAnimation = _ref$disableAnimation === void 0 ? false : _ref$disableAnimation,
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["onClose", "disableAnimation"]);
var _React$useState = _react.default.useState(true),
open = _React$useState[0],
setOpen = _React$useState[1];
var handleClose = _react.default.useCallback(function () {
setOpen(false);
if (onClose) {
onClose();
}
}, [setOpen, onClose]);
if (disableAnimation) {
return /*#__PURE__*/_react.default.createElement(_ControlledAlert.default, (0, _extends2.default)({}, rest, {
open: open,
onClose: handleClose
}));
}
return /*#__PURE__*/_react.default.createElement(_Collapse.default, {
open: open
}, /*#__PURE__*/_react.default.createElement(_ControlledAlert.default, (0, _extends2.default)({}, rest, {
open: true,
onClose: handleClose
})));
};
var _default = /*#__PURE__*/_react.default.memo(Alert);
exports.default = _default;