import React from 'react'; import { ModalProvider } from './context'; import { ModalContainer } from './ModalContainer'; import { ModalBody, IModalBody } from './ModalBody'; import { ModalHeader, IModalHeader } from './ModalHeader'; import { ModalFooter, IModalFooter } from './ModalFooter'; import { ModalTitle, IModalTitle } from './ModalTitle'; import { Portal } from '../Portal'; export interface IModal { className?: string; children: React.ReactNode; disableBackdropClick?: boolean; disableEscapeKeyDown?: boolean; onHide(): void; show: boolean; size?: 'sm' | 'lg' | 'xl'; overlap?: boolean; [x: string]: any; } interface IModalSubComponents { Body: React.FC; Header: React.FC; Footer: React.FC; Title: React.FC; } export const Modal: React.FC & IModalSubComponents = (props) => { const { children, className, disableBackdropClick = false, disableEscapeKeyDown = false, onHide, size, show = false, overlap, ...otherProps } = props; return ( {children} ); }; Modal.Body = ModalBody; Modal.Header = ModalHeader; Modal.Footer = ModalFooter; Modal.Title = ModalTitle;