import React, { Component } from 'react'; import ReactModal from 'react-modal'; import PropTypes from 'prop-types'; import classnames from 'classnames'; import injectCSS from 'react-jss'; import { Icon } from '@meetfranz/ui'; import { mdiClose } from '@mdi/js'; import styles from './styles'; // ReactModal.setAppElement('#root'); @injectCSS(styles) class Modal extends Component { static propTypes = { children: PropTypes.node.isRequired, className: PropTypes.string, classes: PropTypes.object.isRequired, isOpen: PropTypes.bool.isRequired, portal: PropTypes.string, close: PropTypes.func.isRequired, shouldCloseOnOverlayClick: PropTypes.bool, showClose: PropTypes.bool, }; static defaultProps = { className: null, portal: 'modal-portal', shouldCloseOnOverlayClick: false, showClose: true, }; render() { const { children, className, classes, isOpen, portal, close, shouldCloseOnOverlayClick, showClose, } = this.props; return ( {showClose && close && ( )}
{children}
); } } export default Modal;