import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; import Button from '../../ui/button'; export default class Modal extends PureComponent { static propTypes = { children: PropTypes.node, contentClass: PropTypes.string, containerClass: PropTypes.string, // Header text headerText: PropTypes.string, onClose: PropTypes.func, // Submit button (right button) onSubmit: PropTypes.func, submitType: PropTypes.string, submitText: PropTypes.string, submitDisabled: PropTypes.bool, hideFooter: PropTypes.bool, // Cancel button (left button) onCancel: PropTypes.func, cancelType: PropTypes.string, cancelText: PropTypes.string, rounded: PropTypes.bool, }; static defaultProps = { submitType: 'secondary', cancelType: 'default', rounded: false, }; render() { const { children, headerText, onClose, onSubmit, submitType, submitText, submitDisabled, onCancel, cancelType, cancelText, contentClass, containerClass, hideFooter, rounded, } = this.props; return (
{headerText && (
{headerText}
)}
{children}
{hideFooter ? null : (
{onCancel && ( )}
)}
); } }