@craftercms/studio-ui
Version:
Services, components, models & utils to build CrafterCMS authoring extensions.
55 lines (53 loc) • 2.14 kB
JavaScript
/*
* Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3 as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* Copyright (C) 2007-2024 Crafter Software Corporation. All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import React from 'react';
import Alert from '@mui/material/Alert';
import AlertTitle from '@mui/material/AlertTitle';
import { SnackbarContent } from 'notistack';
export const NotistackVariant = React.forwardRef(function (props, ref) {
const { id, variant, alertTitle, alertVariant, alertSx } = props;
return React.createElement(
SnackbarContent,
{ ref: ref },
React.createElement(
Alert,
{
action: typeof props.action === 'function' ? props.action(id) : props.action,
severity: variant,
variant: alertVariant,
sx: { width: '100%', flexWrap: 'wrap', ...alertSx }
},
alertTitle && React.createElement(AlertTitle, { children: alertTitle }),
props.message
)
);
});
export default NotistackVariant;