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, show, onHide, title, showCloseButton, header, footer, ...rest }) => { let headerComponent; if (header) { headerComponent = {header}; } else if (title) { headerComponent = {title}; } else { headerComponent = ; } const footerComonent = footer ? {footer} : null; return ( {headerComponent} {children} {footerComonent} ); }; 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]), } BootstrapModal.defaultProps = { size: 'large', show: false, showCloseButton: true, } registerComponent('Modal', BootstrapModal);