@e-group/material-lab
Version:
EGroup Team Lab - Incubator for EGroup Team experimental React components.
96 lines (79 loc) • 2.97 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 _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _clsx = _interopRequireDefault(require("clsx"));
var _styles = require("@material-ui/core/styles");
var _colors = require("@material-ui/core/colors");
var _core = require("@material-ui/core");
var _CheckCircle = _interopRequireDefault(require("@material-ui/icons/CheckCircle"));
var _Error = _interopRequireDefault(require("@material-ui/icons/Error"));
var _Info = _interopRequireDefault(require("@material-ui/icons/Info"));
var _Warning = _interopRequireDefault(require("@material-ui/icons/Warning"));
var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
const variantIcon = {
default: undefined,
success: _CheckCircle.default,
warning: _Warning.default,
error: _Error.default,
info: _Info.default
};
const useStyles = (0, _styles.makeStyles)(theme => ({
success: {
backgroundColor: _colors.green[600]
},
error: {
backgroundColor: theme.palette.error.dark
},
info: {
backgroundColor: theme.palette.primary.main
},
warning: {
backgroundColor: _colors.amber[700]
},
icon: {
fontSize: 20
},
iconVariant: {
opacity: 0.9,
marginRight: theme.spacing(1)
},
messageContainer: {
display: 'flex',
alignItems: 'center'
}
}));
const SnackbarContent = props => {
const className = props.className,
messageProp = props.message,
onCloseClick = props.onCloseClick,
_props$variant = props.variant,
variant = _props$variant === void 0 ? 'default' : _props$variant,
other = (0, _objectWithoutProperties2.default)(props, ["className", "message", "onCloseClick", "variant"]);
const classes = useStyles(props);
const Icon = variantIcon[variant];
const message = typeof messageProp === 'string' ? /*#__PURE__*/_react.default.createElement("span", {
className: classes.messageContainer
}, Icon && /*#__PURE__*/_react.default.createElement(Icon, {
className: (0, _clsx.default)(classes.icon, classes.iconVariant)
}), messageProp) : messageProp;
const action = [/*#__PURE__*/_react.default.createElement(_core.IconButton, {
key: "close",
color: "inherit",
onClick: onCloseClick
}, /*#__PURE__*/_react.default.createElement(_Close.default, {
className: classes.icon
}))];
return /*#__PURE__*/_react.default.createElement(_core.SnackbarContent, (0, _extends2.default)({
className: (0, _clsx.default)(classes[variant], className),
message: message,
action: action
}, other));
};
var _default = SnackbarContent;
exports.default = _default;