UNPKG

pouncejs

Version:

A collection of UI components from Panther labs

54 lines (39 loc) 1.78 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")); 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;