UNPKG

@craftercms/studio-ui

Version:

Services, components, models & utils to build CrafterCMS authoring extensions.

79 lines (77 loc) 2.79 kB
/* * 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-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 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 MuiDialogTitle from '@mui/material/DialogTitle'; import Typography from '@mui/material/Typography'; import IconButton from '@mui/material/IconButton'; import CloseIcon from '@mui/icons-material/Close'; import React from 'react'; import palette from '../../styles/palette'; import { makeStyles } from 'tss-react/mui'; const dialogTitleStyles = makeStyles()(() => ({ titleRoot: { margin: 0, padding: '13px 20px 11px', background: palette.white }, title: { display: 'flex', justifyContent: 'space-between', alignItems: 'center' }, subtitle: { fontSize: '14px', lineHeight: '18px', paddingRight: '35px' }, closeIcon: {} })); export function DialogTitle(props) { const { classes } = dialogTitleStyles(); const { onClose, title, subtitle } = props; return React.createElement( MuiDialogTitle, { className: classes.titleRoot }, React.createElement( 'div', { className: classes.title }, React.createElement(Typography, { variant: 'h6' }, title), onClose ? React.createElement( IconButton, { 'aria-label': 'close', onClick: onClose, className: classes.closeIcon, size: 'large' }, React.createElement(CloseIcon, null) ) : null ), subtitle && React.createElement(Typography, { variant: 'subtitle1', className: classes.subtitle }, subtitle) ); } export default DialogTitle;