123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- 'use strict';
-
- Object.defineProperty(exports, '__esModule', { value: true });
-
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
-
- var inherits = require('../inherits-c86d64c1.js');
- var React = require('react');
- var React__default = _interopDefault(React);
- var ReactDOM = require('react-dom');
- var ReactDOM__default = _interopDefault(ReactDOM);
- var styleInject_es = require('../style-inject.es-dcee06b6.js');
-
- function isBrowser() {
- return !((typeof window === "undefined" ? "undefined" : inherits._typeof(window)) === undefined);
- }
-
- var css = ".Modal_wrapper__2hzaC {\n position: fixed;\n width: 100vw;\n height: 100vh;\n top: 0;\n left: 0;\n z-index: 1000;\n}\n.Modal_overlay__3iNdm {\n width: 100vw;\n height: 100vh;\n background: #000;\n animation: Modal_overlayer__1zSH9 0.3s forwards;\n}\n.Modal_container__2veos {\n position: absolute;\n top: 20%;\n left: 50%;\n animation: Modal_container__2veos 0.3s forwards;\n}\n@keyframes Modal_overlayer__1zSH9 {\n from {\n opacity: 0;\n }\n to {\n opacity: 0.3;\n }\n}\n@keyframes Modal_container__2veos {\n from {\n transform: translateX(-50%) scale(0, 0);\n }\n to {\n transform: translateX(-50%) scale(1, 1);\n }\n}\n";
- var styles = {
- "wrapper": "Modal_wrapper__2hzaC",
- "overlay": "Modal_overlay__3iNdm",
- "overlayer": "Modal_overlayer__1zSH9",
- "container": "Modal_container__2veos"
- };
- styleInject_es.styleInject(css);
-
- var Modal =
- /*#__PURE__*/
- function (_React$PureComponent) {
- inherits._inherits(Modal, _React$PureComponent);
-
- function Modal() {
- inherits._classCallCheck(this, Modal);
-
- return inherits._possibleConstructorReturn(this, inherits._getPrototypeOf(Modal).apply(this, arguments));
- }
-
- inherits._createClass(Modal, [{
- key: "render",
- value: function render() {
- if (!isBrowser()) return null;
- var DEFAULT_CONTAINER = document.getElementById("container");
- var _this$props = this.props,
- children = _this$props.children,
- visible = _this$props.visible,
- onCancel = _this$props.onCancel,
- container = _this$props.container;
- var finalMountContainer;
-
- if (!container) {
- if (!DEFAULT_CONTAINER) {
- if (!Modal.hasShowWarning) {
- Modal.hasShowWarning = true;
- }
-
- finalMountContainer = document.body;
- } else {
- if (!Modal.hasShowWarning) {
- Modal.hasShowWarning = true;
- }
-
- finalMountContainer = DEFAULT_CONTAINER;
- }
- } else {
- finalMountContainer = container;
- }
-
- return visible && ReactDOM.createPortal(React__default.createElement("div", {
- className: styles.wrapper
- }, React__default.createElement("div", {
- className: styles.overlay,
- onClick: onCancel
- }), React__default.createElement("div", {
- className: styles.container
- }, children)), finalMountContainer);
- }
- }]);
-
- return Modal;
- }(React__default.PureComponent);
- Modal.hasShowWarning = false;
- var ModalCMD =
- /*#__PURE__*/
- function () {
- function ModalCMD() {
- inherits._classCallCheck(this, ModalCMD);
-
- ModalCMD.currentModal = [];
- }
-
- inherits._createClass(ModalCMD, null, [{
- key: "recordModal",
- value: function recordModal(record) {
- ModalCMD.currentModal.push(record);
- }
- }, {
- key: "delModal",
- value: function delModal() {
- return ModalCMD.currentModal.pop();
- }
- }, {
- key: "show",
- value: function show(_ref) {
- var children = _ref.children,
- container = _ref.container;
- var modalInstance = document.createElement("div");
- var targetMountDom = container ? container : document.body;
- targetMountDom.appendChild(modalInstance);
- ReactDOM__default.render(React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
- style: {
- position: "fixed",
- top: 0,
- bottom: 0,
- left: 0,
- right: 0,
- zIndex: 1000
- }
- }, React__default.createElement("div", {
- style: {
- position: "absolute",
- top: 0,
- bottom: 0,
- left: 0,
- right: 0,
- background: "rgba(0,0,0,1)",
- opacity: 0.6,
- zIndex: -1
- },
- onClick: function onClick() {
- ModalCMD.hide(ModalCMD.currentModal.length);
- }
- }), React__default.createElement("div", {
- style: {
- position: "absolute",
- top: "50%",
- left: "50%",
- transform: "translate(-50%, -50%)"
- }
- }, children))), modalInstance);
- this.recordModal({
- modalInstance: modalInstance
- });
- }
- }, {
- key: "hide",
- value: function hide(targetId) {
- var popModalRecord = this.delModal();
-
- if (popModalRecord && popModalRecord.modalInstance) {
- ReactDOM__default.unmountComponentAtNode(popModalRecord.modalInstance);
- var parentNode = popModalRecord.modalInstance.parentNode;
- parentNode && parentNode.removeChild(popModalRecord.modalInstance);
- }
- }
- }]);
-
- return ModalCMD;
- }();
- ModalCMD.currentModal = [];
-
- exports.Modal = Modal;
- exports.ModalCMD = ModalCMD;
- exports.default = Modal;
- //# sourceMappingURL=index.js.map
|