@unstoppabledomains/ui-kit
Version:
A set of common Unstoppable Domains components
71 lines (70 loc) • 4.74 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _CheckCircleOutlined = _interopRequireDefault(require("@mui/icons-material/CheckCircleOutlined"));
var _ErrorOutlineOutlined = _interopRequireDefault(require("@mui/icons-material/ErrorOutlineOutlined"));
var _InfoOutlined = _interopRequireDefault(require("@mui/icons-material/InfoOutlined"));
var _WarningAmberOutlined = _interopRequireDefault(require("@mui/icons-material/WarningAmberOutlined"));
var _Alert = _interopRequireDefault(require("@mui/material/Alert"));
var _AlertTitle = _interopRequireDefault(require("@mui/material/AlertTitle"));
var _react = _interopRequireDefault(require("react"));
var _Alert2 = require("./Alert.styles");
var _excluded = ["heading", "severity", "size", "variant", "children"];
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var Alert = function Alert(_ref) {
var _props$classes, _props$classes2, _props$classes3, _props$classes4, _props$classes5, _props$classes6;
var heading = _ref.heading,
_ref$severity = _ref.severity,
severity = _ref$severity === void 0 ? 'info' : _ref$severity,
_ref$size = _ref.size,
size = _ref$size === void 0 ? 'small' : _ref$size,
_ref$variant = _ref.variant,
variant = _ref$variant === void 0 ? 'standard' : _ref$variant,
children = _ref.children,
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
var _useStyles = (0, _Alert2.useStyles)({
severity: severity,
size: size,
variant: variant,
hasAction: !!props.action || !!props.onClose
}),
classes = _useStyles.classes,
cx = _useStyles.cx;
if (!heading && !children) {
throw new Error('Alert must have either heading or children');
}
return /*#__PURE__*/_react["default"].createElement(_Alert["default"], (0, _extends2["default"])({}, props, {
classes: _objectSpread(_objectSpread({}, props.classes), {}, {
icon: cx(classes.icon, (_props$classes = props.classes) === null || _props$classes === void 0 ? void 0 : _props$classes.icon),
message: cx(classes.message, (_props$classes2 = props.classes) === null || _props$classes2 === void 0 ? void 0 : _props$classes2.message),
action: cx(classes.action, props.onClose ? classes.closeAction : '', (_props$classes3 = props.classes) === null || _props$classes3 === void 0 ? void 0 : _props$classes3.action),
root: cx(classes.root, props.className || ((_props$classes4 = props.classes) === null || _props$classes4 === void 0 ? void 0 : _props$classes4.root))
}),
iconMapping: {
warning: /*#__PURE__*/_react["default"].createElement(_WarningAmberOutlined["default"], null),
error: /*#__PURE__*/_react["default"].createElement(_ErrorOutlineOutlined["default"], null),
success: /*#__PURE__*/_react["default"].createElement(_CheckCircleOutlined["default"], null),
info: /*#__PURE__*/_react["default"].createElement(_InfoOutlined["default"], null)
},
severity: severity,
variant: variant
}), !!heading && /*#__PURE__*/_react["default"].createElement(_AlertTitle["default"], {
className: cx(classes.heading, (_props$classes5 = props.classes) === null || _props$classes5 === void 0 ? void 0 : _props$classes5.heading)
}, heading), Boolean(children) && /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
className: cx(classes.body, (_props$classes6 = props.classes) === null || _props$classes6 === void 0 ? void 0 : _props$classes6.body)
}, typeof children === 'string' ? {
dangerouslySetInnerHTML: {
__html: children
}
} : {
children: children
})));
};
var _default = exports["default"] = Alert;