import * as React from 'react'; export const ModalContext = React.createContext({ launchModal: () => { }, closeModal: () => { }, }); export const ModalProvider = ({ children }) => { const [isOpen, setOpen] = React.useState(false); const [Component, setComponent] = React.useState(); const [componentProps, setComponentProps] = React.useState({}); const launchModal = React.useCallback((component, compProps) => { setComponent(() => component); setComponentProps(compProps); setOpen(true); }, [setOpen, setComponent, setComponentProps]); const closeModal = React.useCallback(() => setOpen(false), [setOpen]); return (React.createElement(ModalContext.Provider, { value: { launchModal, closeModal } }, isOpen && !!Component && React.createElement(Component, Object.assign({}, componentProps, { closeModal: closeModal })), children)); }; //# sourceMappingURL=ModalProvider.js.map