painless-ui
Version:
25 lines (24 loc) • 1.18 kB
JavaScript
import React from 'react';
import './Modal.css';
class Modal extends React.PureComponent {
constructor() {
super(...arguments);
this.close = () => {
if (this.props.onClose) {
this.props.onClose();
}
};
}
render() {
const { className, open, closeElement, outsideListener, ...customProps } = this.props;
return (React.createElement("div", Object.assign({ onClick: () => {
if (outsideListener === undefined || outsideListener === true)
this.close();
}, className: 'ui-modal ' + (open === true ? 'show-modal ' : '') + (className || '') }, customProps),
React.createElement("div", { onClick: (e) => e.stopPropagation(), className: 'modal-content ' + (open === true ? 'open ' : 'closed') },
closeElement ? React.createElement("span", { onClick: this.close }, closeElement) :
React.createElement("span", { onClick: this.close, className: "close-button" }, "\u00D7"),
React.createElement("div", { className: "ui-model-body" }, this.props.children))));
}
}
export default Modal;