452fefa0658fc5e5054cb7dd335afb7b.json 29.8 KB
{"ast":null,"code":"function _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n  var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n  return function _createSuperInternal() {\n    var Super = _getPrototypeOf(Derived),\n        result;\n\n    if (hasNativeReflectConstruct) {\n      var NewTarget = _getPrototypeOf(this).constructor;\n\n      result = Reflect.construct(Super, arguments, NewTarget);\n    } else {\n      result = Super.apply(this, arguments);\n    }\n\n    return _possibleConstructorReturn(this, result);\n  };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n  if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n    return call;\n  }\n\n  return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n\nfunction _isNativeReflectConstruct() {\n  if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n  if (Reflect.construct.sham) return false;\n  if (typeof Proxy === \"function\") return true;\n\n  try {\n    Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\nfunction _getPrototypeOf(o) {\n  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\n\nfunction _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function _typeof(obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function _typeof(obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n/* eslint-disable no-underscore-dangle,react/require-default-props */\n\n\nimport * as React from 'react';\nimport raf from './raf';\nimport Portal from './Portal';\nimport switchScrollingEffect from './switchScrollingEffect';\nimport setStyle from './setStyle';\nimport canUseDom from './Dom/canUseDom';\nvar openCount = 0;\nvar supportDom = canUseDom();\n/** @private Test usage only */\n\nexport function getOpenCount() {\n  return process.env.NODE_ENV === 'test' ? openCount : 0;\n} // https://github.com/ant-design/ant-design/issues/19340\n// https://github.com/ant-design/ant-design/issues/19332\n\nvar cacheOverflow = {};\n\nvar getParent = function getParent(getContainer) {\n  if (!supportDom) {\n    return null;\n  }\n\n  if (getContainer) {\n    if (typeof getContainer === 'string') {\n      return document.querySelectorAll(getContainer)[0];\n    }\n\n    if (typeof getContainer === 'function') {\n      return getContainer();\n    }\n\n    if (_typeof(getContainer) === 'object' && getContainer instanceof window.HTMLElement) {\n      return getContainer;\n    }\n  }\n\n  return document.body;\n};\n\nvar PortalWrapper = /*#__PURE__*/function (_React$Component) {\n  _inherits(PortalWrapper, _React$Component);\n\n  var _super = _createSuper(PortalWrapper);\n\n  function PortalWrapper() {\n    var _this;\n\n    _classCallCheck(this, PortalWrapper);\n\n    _this = _super.apply(this, arguments);\n    _this.componentRef = React.createRef();\n\n    _this.updateOpenCount = function (prevProps) {\n      var _ref = prevProps || {},\n          prevVisible = _ref.visible,\n          prevGetContainer = _ref.getContainer;\n\n      var _this$props = _this.props,\n          visible = _this$props.visible,\n          getContainer = _this$props.getContainer; // Update count\n\n      if (visible !== prevVisible && supportDom && getParent(getContainer) === document.body) {\n        if (visible && !prevVisible) {\n          openCount += 1;\n        } else if (prevProps) {\n          openCount -= 1;\n        }\n      } // Clean up container if needed\n\n\n      var getContainerIsFunc = typeof getContainer === 'function' && typeof prevGetContainer === 'function';\n\n      if (getContainerIsFunc ? getContainer.toString() !== prevGetContainer.toString() : getContainer !== prevGetContainer) {\n        _this.removeCurrentContainer();\n      }\n    };\n\n    _this.attachToParent = function () {\n      var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (force || _this.container && !_this.container.parentNode) {\n        var parent = getParent(_this.props.getContainer);\n\n        if (parent) {\n          parent.appendChild(_this.container);\n          return true;\n        }\n\n        return false;\n      }\n\n      return true;\n    };\n\n    _this.getContainer = function () {\n      if (!supportDom) {\n        return null;\n      }\n\n      if (!_this.container) {\n        _this.container = document.createElement('div');\n\n        _this.attachToParent(true);\n      }\n\n      _this.setWrapperClassName();\n\n      return _this.container;\n    };\n\n    _this.setWrapperClassName = function () {\n      var wrapperClassName = _this.props.wrapperClassName;\n\n      if (_this.container && wrapperClassName && wrapperClassName !== _this.container.className) {\n        _this.container.className = wrapperClassName;\n      }\n    };\n\n    _this.removeCurrentContainer = function () {\n      var _this$container, _this$container$paren; // Portal will remove from `parentNode`.\n      // Let's handle this again to avoid refactor issue.\n\n\n      (_this$container = _this.container) === null || _this$container === void 0 ? void 0 : (_this$container$paren = _this$container.parentNode) === null || _this$container$paren === void 0 ? void 0 : _this$container$paren.removeChild(_this.container);\n    };\n    /**\n     * Enhance ./switchScrollingEffect\n     * 1. Simulate document body scroll bar with\n     * 2. Record body has overflow style and recover when all of PortalWrapper invisible\n     * 3. Disable body scroll when PortalWrapper has open\n     *\n     * @memberof PortalWrapper\n     */\n\n\n    _this.switchScrollingEffect = function () {\n      if (openCount === 1 && !Object.keys(cacheOverflow).length) {\n        switchScrollingEffect(); // Must be set after switchScrollingEffect\n\n        cacheOverflow = setStyle({\n          overflow: 'hidden',\n          overflowX: 'hidden',\n          overflowY: 'hidden'\n        });\n      } else if (!openCount) {\n        setStyle(cacheOverflow);\n        cacheOverflow = {};\n        switchScrollingEffect(true);\n      }\n    };\n\n    return _this;\n  }\n\n  _createClass(PortalWrapper, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var _this2 = this;\n\n      this.updateOpenCount();\n\n      if (!this.attachToParent()) {\n        this.rafId = raf(function () {\n          _this2.forceUpdate();\n        });\n      }\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      this.updateOpenCount(prevProps);\n      this.setWrapperClassName();\n      this.attachToParent();\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      var _this$props2 = this.props,\n          visible = _this$props2.visible,\n          getContainer = _this$props2.getContainer;\n\n      if (supportDom && getParent(getContainer) === document.body) {\n        // 离开时不会 render, 导到离开时数值不变,改用 func 。。\n        openCount = visible && openCount ? openCount - 1 : openCount;\n      }\n\n      this.removeCurrentContainer();\n      raf.cancel(this.rafId);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props3 = this.props,\n          children = _this$props3.children,\n          forceRender = _this$props3.forceRender,\n          visible = _this$props3.visible;\n      var portal = null;\n      var childProps = {\n        getOpenCount: function getOpenCount() {\n          return openCount;\n        },\n        getContainer: this.getContainer,\n        switchScrollingEffect: this.switchScrollingEffect\n      };\n\n      if (forceRender || visible || this.componentRef.current) {\n        portal = React.createElement(Portal, {\n          getContainer: this.getContainer,\n          ref: this.componentRef\n        }, children(childProps));\n      }\n\n      return portal;\n    }\n  }]);\n\n  return PortalWrapper;\n}(React.Component);\n\nexport default PortalWrapper;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-util/es/PortalWrapper.js"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_inherits","subClass","superClass","create","constructor","value","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","call","_typeof","_assertThisInitialized","ReferenceError","sham","Proxy","Date","toString","e","getPrototypeOf","obj","Symbol","iterator","React","raf","Portal","switchScrollingEffect","setStyle","canUseDom","openCount","supportDom","getOpenCount","process","env","NODE_ENV","cacheOverflow","getParent","getContainer","document","querySelectorAll","window","HTMLElement","body","PortalWrapper","_React$Component","_super","_this","componentRef","createRef","updateOpenCount","prevProps","_ref","prevVisible","visible","prevGetContainer","_this$props","getContainerIsFunc","removeCurrentContainer","attachToParent","force","undefined","container","parentNode","parent","appendChild","createElement","setWrapperClassName","wrapperClassName","className","_this$container","_this$container$paren","removeChild","keys","overflow","overflowX","overflowY","componentDidMount","_this2","rafId","forceUpdate","componentDidUpdate","componentWillUnmount","_this$props2","cancel","render","_this$props3","children","forceRender","portal","childProps","current","ref","Component"],"mappings":"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","sourcesContent":["function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable no-underscore-dangle,react/require-default-props */\nimport * as React from 'react';\nimport raf from './raf';\nimport Portal from './Portal';\nimport switchScrollingEffect from './switchScrollingEffect';\nimport setStyle from './setStyle';\nimport canUseDom from './Dom/canUseDom';\nvar openCount = 0;\nvar supportDom = canUseDom();\n/** @private Test usage only */\n\nexport function getOpenCount() {\n  return process.env.NODE_ENV === 'test' ? openCount : 0;\n} // https://github.com/ant-design/ant-design/issues/19340\n// https://github.com/ant-design/ant-design/issues/19332\n\nvar cacheOverflow = {};\n\nvar getParent = function getParent(getContainer) {\n  if (!supportDom) {\n    return null;\n  }\n\n  if (getContainer) {\n    if (typeof getContainer === 'string') {\n      return document.querySelectorAll(getContainer)[0];\n    }\n\n    if (typeof getContainer === 'function') {\n      return getContainer();\n    }\n\n    if (_typeof(getContainer) === 'object' && getContainer instanceof window.HTMLElement) {\n      return getContainer;\n    }\n  }\n\n  return document.body;\n};\n\nvar PortalWrapper = /*#__PURE__*/function (_React$Component) {\n  _inherits(PortalWrapper, _React$Component);\n\n  var _super = _createSuper(PortalWrapper);\n\n  function PortalWrapper() {\n    var _this;\n\n    _classCallCheck(this, PortalWrapper);\n\n    _this = _super.apply(this, arguments);\n    _this.componentRef = React.createRef();\n\n    _this.updateOpenCount = function (prevProps) {\n      var _ref = prevProps || {},\n          prevVisible = _ref.visible,\n          prevGetContainer = _ref.getContainer;\n\n      var _this$props = _this.props,\n          visible = _this$props.visible,\n          getContainer = _this$props.getContainer; // Update count\n\n      if (visible !== prevVisible && supportDom && getParent(getContainer) === document.body) {\n        if (visible && !prevVisible) {\n          openCount += 1;\n        } else if (prevProps) {\n          openCount -= 1;\n        }\n      } // Clean up container if needed\n\n\n      var getContainerIsFunc = typeof getContainer === 'function' && typeof prevGetContainer === 'function';\n\n      if (getContainerIsFunc ? getContainer.toString() !== prevGetContainer.toString() : getContainer !== prevGetContainer) {\n        _this.removeCurrentContainer();\n      }\n    };\n\n    _this.attachToParent = function () {\n      var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (force || _this.container && !_this.container.parentNode) {\n        var parent = getParent(_this.props.getContainer);\n\n        if (parent) {\n          parent.appendChild(_this.container);\n          return true;\n        }\n\n        return false;\n      }\n\n      return true;\n    };\n\n    _this.getContainer = function () {\n      if (!supportDom) {\n        return null;\n      }\n\n      if (!_this.container) {\n        _this.container = document.createElement('div');\n\n        _this.attachToParent(true);\n      }\n\n      _this.setWrapperClassName();\n\n      return _this.container;\n    };\n\n    _this.setWrapperClassName = function () {\n      var wrapperClassName = _this.props.wrapperClassName;\n\n      if (_this.container && wrapperClassName && wrapperClassName !== _this.container.className) {\n        _this.container.className = wrapperClassName;\n      }\n    };\n\n    _this.removeCurrentContainer = function () {\n      var _this$container, _this$container$paren;\n\n      // Portal will remove from `parentNode`.\n      // Let's handle this again to avoid refactor issue.\n      (_this$container = _this.container) === null || _this$container === void 0 ? void 0 : (_this$container$paren = _this$container.parentNode) === null || _this$container$paren === void 0 ? void 0 : _this$container$paren.removeChild(_this.container);\n    };\n    /**\n     * Enhance ./switchScrollingEffect\n     * 1. Simulate document body scroll bar with\n     * 2. Record body has overflow style and recover when all of PortalWrapper invisible\n     * 3. Disable body scroll when PortalWrapper has open\n     *\n     * @memberof PortalWrapper\n     */\n\n\n    _this.switchScrollingEffect = function () {\n      if (openCount === 1 && !Object.keys(cacheOverflow).length) {\n        switchScrollingEffect(); // Must be set after switchScrollingEffect\n\n        cacheOverflow = setStyle({\n          overflow: 'hidden',\n          overflowX: 'hidden',\n          overflowY: 'hidden'\n        });\n      } else if (!openCount) {\n        setStyle(cacheOverflow);\n        cacheOverflow = {};\n        switchScrollingEffect(true);\n      }\n    };\n\n    return _this;\n  }\n\n  _createClass(PortalWrapper, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var _this2 = this;\n\n      this.updateOpenCount();\n\n      if (!this.attachToParent()) {\n        this.rafId = raf(function () {\n          _this2.forceUpdate();\n        });\n      }\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      this.updateOpenCount(prevProps);\n      this.setWrapperClassName();\n      this.attachToParent();\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      var _this$props2 = this.props,\n          visible = _this$props2.visible,\n          getContainer = _this$props2.getContainer;\n\n      if (supportDom && getParent(getContainer) === document.body) {\n        // 离开时不会 render, 导到离开时数值不变,改用 func 。。\n        openCount = visible && openCount ? openCount - 1 : openCount;\n      }\n\n      this.removeCurrentContainer();\n      raf.cancel(this.rafId);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props3 = this.props,\n          children = _this$props3.children,\n          forceRender = _this$props3.forceRender,\n          visible = _this$props3.visible;\n      var portal = null;\n      var childProps = {\n        getOpenCount: function getOpenCount() {\n          return openCount;\n        },\n        getContainer: this.getContainer,\n        switchScrollingEffect: this.switchScrollingEffect\n      };\n\n      if (forceRender || visible || this.componentRef.current) {\n        portal = React.createElement(Portal, {\n          getContainer: this.getContainer,\n          ref: this.componentRef\n        }, children(childProps));\n      }\n\n      return portal;\n    }\n  }]);\n\n  return PortalWrapper;\n}(React.Component);\n\nexport default PortalWrapper;"]},"metadata":{},"sourceType":"module"}