import Backdrop from '@material-ui/core/Backdrop'; import Fade from '@material-ui/core/Fade'; import Modal from '@material-ui/core/Modal'; import { isFunction } from 'lodash'; import React, { forwardRef, memo, useImperativeHandle } from 'react'; import { MdClose } from 'react-icons/md'; import Button from '../components/shared/Button'; import { handleKeyUp } from '../utils'; import styles from './BaseModal.module.css'; const BaseModal = forwardRef( ({ title, state, children, action, hideActions = false, onDestroy }, ref) => { const [open, setOpen] = state; const handleClose = () => { setOpen(false); setTimeout(() => { isFunction(onDestroy) && onDestroy(); }, 250); }; useImperativeHandle(ref, () => ({ handleClose })); return (

{title}

handleKeyUp(e, handleClose)} />
{children}
{!hideActions && (
{action}
)}
); }, ); export default memo(BaseModal);