@nomios/web-uikit
Version:
Nomios' living web UIKit
41 lines (39 loc) • 1.17 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import { CSSTransition } from 'react-transition-group';
import { Modal, ModalClose } from '../../modal-base';
import styles from './StandardModal.css';
const TRANSITION_DURATION = 150;
const StandardModal = ({
children,
showClose,
contentClassName,
className,
...rest
}) => React.createElement(Modal, Object.assign({
className: classNames(styles.modal, className)
}, rest), React.createElement(CSSTransition, {
timeout: TRANSITION_DURATION,
classNames: {
appear: styles.enter,
enter: styles.enter,
enterDone: `${styles.enter} ${styles.enterDone}`,
exit: styles.exit,
exitDone: styles.exitDone
}
}, React.createElement("div", {
className: classNames(styles.standardModal, contentClassName)
}, showClose && React.createElement(ModalClose, {
className: styles.closeButton
}), children)));
StandardModal.propTypes = {
showClose: PropTypes.bool,
contentClassName: PropTypes.string,
className: PropTypes.string,
children: PropTypes.node
};
StandardModal.defaultProps = {
showClose: true
};
export default StandardModal;