import React, { useEffect } from 'react'; import Icon from './Icon'; type ModalProps = { children: React.ReactNode, width?: string, title?: string, closeModal: Function, } const Modal = ({ children, width = '1/2', closeModal, title }:ModalProps) => { useEffect(() => { const closeModalonEsc = (event:KeyboardEvent) => { if (event.key === 'Escape') { closeModal(); } }; window.addEventListener('keydown', closeModalonEsc, false); return () => { window.removeEventListener('keydown', closeModalonEsc, false); }; }, [closeModal]); const closeOnBGClick = (e:React.SyntheticEvent) => { e.stopPropagation(); e.nativeEvent.stopImmediatePropagation(); if (e.target === e.currentTarget) { closeModal(); } }; return (