import { registerComponent } from 'meteor/vulcan:lib'; import React from 'react'; import PropTypes from 'prop-types'; import Modal from 'react-bootstrap/lib/Modal'; const BootstrapModal = ({ children, size = 'lg', show = false, onHide, title, showCloseButton = true, header, footer, ...rest }) => { let headerComponent; if (header) { headerComponent = {header}; } else if (title) { headerComponent = {title}; } else { headerComponent = ; } const footerComponent = footer ? {footer} : null; return ( {headerComponent} {children} {footerComponent} ); }; BootstrapModal.propTypes = { size: PropTypes.string, show: PropTypes.bool, showCloseButton: PropTypes.bool, onHide: PropTypes.func, title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]), header: PropTypes.oneOfType([PropTypes.string, PropTypes.element]), footer: PropTypes.oneOfType([PropTypes.string, PropTypes.element]), }; registerComponent('Modal', BootstrapModal);