import { Component, JSX, Show } from 'solid-js' import styles from '../styles/Modal.module.css' export interface ModalProps { title: string isOpen: boolean onClose: () => void children: JSX.Element footer?: JSX.Element size?: 'small' | 'medium' | 'large' } const Modal: Component = (props) => { const handleBackdropClick = (e: MouseEvent) => { if (e.target === e.currentTarget) { props.onClose() } } const modalClasses = () => { const baseClass = styles.modal const sizeClass = styles[`modal-${props.size || 'medium'}`] return [baseClass, sizeClass].join(' ') } return (

{props.title}

{props.children}
{props.footer}
) } export default Modal