UNPKG

@nomios/web-uikit

Version:
41 lines (39 loc) 1.17 kB
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;