import * as React from 'react'; import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; import Typography from '@mui/material/Typography'; import Modal from '@mui/material/Modal'; import { Divider } from '@mui/material'; const style = { position: 'absolute' as 'absolute', top: '50%', left: '50%', transform: 'translate(-50%, -50%)', width: 400, bgcolor: 'background.paper', border: '2px solid #000', boxShadow: 24, p: 4, }; type MyProps = { title:string, handleSave?:(cb:()=>void) => void, handleOpen?:(cb:()=>void) => void, handleClose?:(cb:()=>void) => void, btnText?:string, btnVariant?:"contained" | "outlined" | "text", btnColor?: "primary" | "secondary" | "inherit" | "success" | "error" | "info" | "warning" | undefined, btnIcon?: JSX.Element, } const BasicModal:React.FC = props => { const [open, setOpen] = React.useState(false); const handleOpen = () => {props.handleOpen ? props.handleOpen(()=>{setOpen(true)}) : setOpen(true)}; const handleClose = () => {props.handleClose ? props.handleClose(()=>{setOpen(false)}) : setOpen(false)}; const handleSave = () => {props.handleSave ? props.handleSave(()=>{setOpen(false)}) : setOpen(false)}; return ( <> {props.title}
{props.children}
); } export default BasicModal;