import Stack from "@mui/material/Stack"; import IconButton from "@mui/material/IconButton"; import Typography from "@mui/material/Typography"; import Button from "@mui/material/Button"; import ToastBody from "./body"; import InfoOutlinedIcon from "@mui/icons-material/InfoOutlined"; import ErrorOutlineOutlinedIcon from "@mui/icons-material/ErrorOutlineOutlined"; import WarningAmberOutlinedIcon from "@mui/icons-material/WarningAmberOutlined"; import CloseIcon from "@mui/icons-material/Close"; // Utils import { useTheme } from "@emotion/react"; import PropTypes from "prop-types"; const icons = { info: , error: , warning: , }; const Toast = ({ variant, title, body, onClick, hasDismiss, hasIcon }) => { const theme = useTheme(); const icon = icons[variant]; return ( {hasIcon && icon} {title && ( {title} )} {title && ( )} {!title && ( )} {hasDismiss && ( )} ); }; export default Toast; Toast.propTypes = { variant: PropTypes.string.isRequired, title: PropTypes.string, body: PropTypes.oneOfType([PropTypes.string, PropTypes.array]), hasDismiss: PropTypes.bool, hasIcon: PropTypes.bool, onClick: PropTypes.func, };