UNPKG

amis

Version:

一种MIS页面生成工具

59 lines (58 loc) 3.12 kB
"use strict"; /** * @file PopUp * @description * @author fex */ var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.PopUp = void 0; var tslib_1 = require("tslib"); var react_1 = (0, tslib_1.__importDefault)(require("react")); var theme_1 = require("../theme"); var Transition_1 = tslib_1.__importStar(require("react-transition-group/Transition")); var Portal_1 = (0, tslib_1.__importDefault)(require("react-overlays/Portal")); var icons_1 = require("./icons"); var fadeStyles = (_a = {}, _a[Transition_1.ENTERED] = '', _a[Transition_1.EXITING] = 'out', _a[Transition_1.EXITED] = '', _a[Transition_1.ENTERING] = 'in', _a); var PopUp = /** @class */ (function (_super) { (0, tslib_1.__extends)(PopUp, _super); function PopUp() { return _super !== null && _super.apply(this, arguments) || this; } PopUp.prototype.componentDidMount = function () { }; PopUp.prototype.handleClick = function (e) { e.stopPropagation(); }; PopUp.prototype.render = function () { var _this = this; var _a = this.props, style = _a.style, children = _a.children, overlay = _a.overlay, onHide = _a.onHide, ns = _a.classPrefix, cx = _a.classnames, className = _a.className, isShow = _a.isShow, container = _a.container, hideClose = _a.hideClose, _b = _a.placement, placement = _b === void 0 ? 'center' : _b, rest = (0, tslib_1.__rest)(_a, ["style", "children", "overlay", "onHide", "classPrefix", "classnames", "className", "isShow", "container", "hideClose", "placement"]); var outerStyle = (0, tslib_1.__assign)({}, style); delete outerStyle.top; return (react_1.default.createElement(Portal_1.default, { container: container }, react_1.default.createElement(Transition_1.default, { mountOnEnter: true, unmountOnExit: true, in: isShow, timeout: 500, appear: true }, function (status) { return (react_1.default.createElement("div", (0, tslib_1.__assign)({ className: cx(ns + "PopUp", className, fadeStyles[status]), style: outerStyle }, rest, { onClick: _this.handleClick }), overlay && (react_1.default.createElement("div", { className: ns + "PopUp-overlay", onClick: onHide })), react_1.default.createElement("div", { className: cx(ns + "PopUp-inner") }, !hideClose && (react_1.default.createElement("div", { className: cx(ns + "PopUp-closeWrap", 'text-right') }, react_1.default.createElement(icons_1.Icon, { icon: "close", className: cx('icon', ns + "PopUp-close"), onClick: onHide }))), react_1.default.createElement("div", { className: cx(ns + "PopUp-content", "justify-" + placement) }, children)))); }))); }; PopUp.defaultProps = { className: '', overlay: true, isShow: false, container: document.body, hideClose: false, }; return PopUp; }(react_1.default.PureComponent)); exports.PopUp = PopUp; exports.default = (0, theme_1.themeable)(PopUp); //# sourceMappingURL=./components/PopUp.js.map