11f09fbb6028ff9e44e6a02ca2289a13.json 37.8 KB
{"ast":null,"code":"import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport { Provider, create } from 'mini-store';\nimport omit from 'omit.js';\nimport SubPopupMenu, { getActiveKey } from './SubPopupMenu';\nimport { noop } from './util';\nimport { getMotion } from './utils/legacyUtil';\n\nvar Menu = /*#__PURE__*/function (_React$Component) {\n  _inherits(Menu, _React$Component);\n\n  var _super = _createSuper(Menu);\n\n  function Menu(props) {\n    var _this;\n\n    _classCallCheck(this, Menu);\n\n    _this = _super.call(this, props);\n\n    _this.onSelect = function (selectInfo) {\n      var _assertThisInitialize = _assertThisInitialized(_this),\n          props = _assertThisInitialize.props;\n\n      if (props.selectable) {\n        // root menu\n        var _this$store$getState = _this.store.getState(),\n            _selectedKeys = _this$store$getState.selectedKeys;\n\n        var selectedKey = selectInfo.key;\n\n        if (props.multiple) {\n          _selectedKeys = _selectedKeys.concat([selectedKey]);\n        } else {\n          _selectedKeys = [selectedKey];\n        }\n\n        if (!('selectedKeys' in props)) {\n          _this.store.setState({\n            selectedKeys: _selectedKeys\n          });\n        }\n\n        props.onSelect(_objectSpread(_objectSpread({}, selectInfo), {}, {\n          selectedKeys: _selectedKeys\n        }));\n      }\n    };\n\n    _this.onClick = function (e) {\n      var mode = _this.getRealMenuMode();\n\n      var _assertThisInitialize2 = _assertThisInitialized(_this),\n          store = _assertThisInitialize2.store,\n          onOpenChange = _assertThisInitialize2.props.onOpenChange;\n\n      if (mode !== 'inline' && !('openKeys' in _this.props)) {\n        // closing vertical popup submenu after click it\n        store.setState({\n          openKeys: []\n        });\n        onOpenChange([]);\n      }\n\n      _this.props.onClick(e);\n    }; // onKeyDown needs to be exposed as a instance method\n    // e.g., in rc-select, we need to navigate menu item while\n    // current active item is rc-select input box rather than the menu itself\n\n\n    _this.onKeyDown = function (e, callback) {\n      _this.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n    };\n\n    _this.onOpenChange = function (event) {\n      var _assertThisInitialize3 = _assertThisInitialized(_this),\n          props = _assertThisInitialize3.props;\n\n      var openKeys = _this.store.getState().openKeys.concat();\n\n      var changed = false;\n\n      var processSingle = function processSingle(e) {\n        var oneChanged = false;\n\n        if (e.open) {\n          oneChanged = openKeys.indexOf(e.key) === -1;\n\n          if (oneChanged) {\n            openKeys.push(e.key);\n          }\n        } else {\n          var index = openKeys.indexOf(e.key);\n          oneChanged = index !== -1;\n\n          if (oneChanged) {\n            openKeys.splice(index, 1);\n          }\n        }\n\n        changed = changed || oneChanged;\n      };\n\n      if (Array.isArray(event)) {\n        // batch change call\n        event.forEach(processSingle);\n      } else {\n        processSingle(event);\n      }\n\n      if (changed) {\n        if (!('openKeys' in _this.props)) {\n          _this.store.setState({\n            openKeys: openKeys\n          });\n        }\n\n        props.onOpenChange(openKeys);\n      }\n    };\n\n    _this.onDeselect = function (selectInfo) {\n      var _assertThisInitialize4 = _assertThisInitialized(_this),\n          props = _assertThisInitialize4.props;\n\n      if (props.selectable) {\n        var _selectedKeys2 = _this.store.getState().selectedKeys.concat();\n\n        var selectedKey = selectInfo.key;\n\n        var index = _selectedKeys2.indexOf(selectedKey);\n\n        if (index !== -1) {\n          _selectedKeys2.splice(index, 1);\n        }\n\n        if (!('selectedKeys' in props)) {\n          _this.store.setState({\n            selectedKeys: _selectedKeys2\n          });\n        }\n\n        props.onDeselect(_objectSpread(_objectSpread({}, selectInfo), {}, {\n          selectedKeys: _selectedKeys2\n        }));\n      }\n    }; // Restore vertical mode when menu is collapsed responsively when mounted\n    // https://github.com/ant-design/ant-design/issues/13104\n    // TODO: not a perfect solution,\n    // looking a new way to avoid setting switchingModeFromInline in this situation\n\n\n    _this.onMouseEnter = function (e) {\n      _this.restoreModeVerticalFromInline();\n\n      var onMouseEnter = _this.props.onMouseEnter;\n\n      if (onMouseEnter) {\n        onMouseEnter(e);\n      }\n    };\n\n    _this.onTransitionEnd = function (e) {\n      // when inlineCollapsed menu width animation finished\n      // https://github.com/ant-design/ant-design/issues/12864\n      var widthCollapsed = e.propertyName === 'width' && e.target === e.currentTarget; // Fix SVGElement e.target.className.indexOf is not a function\n      // https://github.com/ant-design/ant-design/issues/15699\n\n      var className = e.target.className; // SVGAnimatedString.animVal should be identical to SVGAnimatedString.baseVal,\n      // unless during an animation.\n\n      var classNameValue = Object.prototype.toString.call(className) === '[object SVGAnimatedString]' ? className.animVal : className; // Fix for <Menu style={{ width: '100%' }} />,\n      // the width transition won't trigger when menu is collapsed\n      // https://github.com/ant-design/ant-design-pro/issues/2783\n\n      var iconScaled = e.propertyName === 'font-size' && classNameValue.indexOf('anticon') >= 0;\n\n      if (widthCollapsed || iconScaled) {\n        _this.restoreModeVerticalFromInline();\n      }\n    };\n\n    _this.setInnerMenu = function (node) {\n      _this.innerMenu = node;\n    };\n\n    _this.isRootMenu = true;\n    var selectedKeys = props.defaultSelectedKeys;\n    var openKeys = props.defaultOpenKeys;\n\n    if ('selectedKeys' in props) {\n      selectedKeys = props.selectedKeys || [];\n    }\n\n    if ('openKeys' in props) {\n      openKeys = props.openKeys || [];\n    }\n\n    _this.store = create({\n      selectedKeys: selectedKeys,\n      openKeys: openKeys,\n      activeKey: {\n        '0-menu-': getActiveKey(props, props.activeKey)\n      }\n    });\n    _this.state = {\n      switchingModeFromInline: false,\n      prevProps: props,\n      inlineOpenKeys: [],\n      store: _this.store\n    };\n    return _this;\n  }\n\n  _createClass(Menu, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.updateMiniStore();\n      this.updateMenuDisplay();\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      var _this$props = this.props,\n          siderCollapsed = _this$props.siderCollapsed,\n          inlineCollapsed = _this$props.inlineCollapsed,\n          onOpenChange = _this$props.onOpenChange;\n\n      if (!prevProps.inlineCollapsed && inlineCollapsed || !prevProps.siderCollapsed && siderCollapsed) {\n        onOpenChange([]);\n      }\n\n      this.updateMiniStore();\n      this.updateMenuDisplay();\n    }\n  }, {\n    key: \"updateMenuDisplay\",\n    value: function updateMenuDisplay() {\n      var collapsedWidth = this.props.collapsedWidth,\n          store = this.store,\n          prevOpenKeys = this.prevOpenKeys; // https://github.com/ant-design/ant-design/issues/8587\n\n      var hideMenu = this.getInlineCollapsed() && (collapsedWidth === 0 || collapsedWidth === '0' || collapsedWidth === '0px');\n\n      if (hideMenu) {\n        this.prevOpenKeys = store.getState().openKeys.concat();\n        this.store.setState({\n          openKeys: []\n        });\n      } else if (prevOpenKeys) {\n        this.store.setState({\n          openKeys: prevOpenKeys\n        });\n        this.prevOpenKeys = null;\n      }\n    }\n  }, {\n    key: \"getRealMenuMode\",\n    value: function getRealMenuMode() {\n      var mode = this.props.mode;\n      var switchingModeFromInline = this.state.switchingModeFromInline;\n      var inlineCollapsed = this.getInlineCollapsed();\n\n      if (switchingModeFromInline && inlineCollapsed) {\n        return 'inline';\n      }\n\n      return inlineCollapsed ? 'vertical' : mode;\n    }\n  }, {\n    key: \"getInlineCollapsed\",\n    value: function getInlineCollapsed() {\n      var _this$props2 = this.props,\n          inlineCollapsed = _this$props2.inlineCollapsed,\n          siderCollapsed = _this$props2.siderCollapsed;\n\n      if (siderCollapsed !== undefined) {\n        return siderCollapsed;\n      }\n\n      return inlineCollapsed;\n    }\n  }, {\n    key: \"restoreModeVerticalFromInline\",\n    value: function restoreModeVerticalFromInline() {\n      var switchingModeFromInline = this.state.switchingModeFromInline;\n\n      if (switchingModeFromInline) {\n        this.setState({\n          switchingModeFromInline: false\n        });\n      }\n    }\n  }, {\n    key: \"updateMiniStore\",\n    value: function updateMiniStore() {\n      if ('selectedKeys' in this.props) {\n        this.store.setState({\n          selectedKeys: this.props.selectedKeys || []\n        });\n      }\n\n      if ('openKeys' in this.props) {\n        this.store.setState({\n          openKeys: this.props.openKeys || []\n        });\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var props = _objectSpread({}, omit(this.props, ['collapsedWidth', 'siderCollapsed', 'defaultMotions']));\n\n      var mode = this.getRealMenuMode();\n      props.className += \" \".concat(props.prefixCls, \"-root\");\n\n      if (props.direction === 'rtl') {\n        props.className += \" \".concat(props.prefixCls, \"-rtl\");\n      }\n\n      props = _objectSpread(_objectSpread({}, props), {}, {\n        mode: mode,\n        onClick: this.onClick,\n        onOpenChange: this.onOpenChange,\n        onDeselect: this.onDeselect,\n        onSelect: this.onSelect,\n        onMouseEnter: this.onMouseEnter,\n        onTransitionEnd: this.onTransitionEnd,\n        parentMenu: this,\n        motion: getMotion(this.props, this.state, mode)\n      });\n      delete props.openAnimation;\n      delete props.openTransitionName;\n      return React.createElement(Provider, {\n        store: this.store\n      }, React.createElement(SubPopupMenu, Object.assign({}, props, {\n        ref: this.setInnerMenu\n      }), this.props.children));\n    }\n  }], [{\n    key: \"getDerivedStateFromProps\",\n    value: function getDerivedStateFromProps(nextProps, prevState) {\n      var prevProps = prevState.prevProps,\n          store = prevState.store;\n      var prevStoreState = store.getState();\n      var newStoreState = {};\n      var newState = {\n        prevProps: nextProps\n      };\n\n      if (prevProps.mode === 'inline' && nextProps.mode !== 'inline') {\n        newState.switchingModeFromInline = true;\n      }\n\n      if ('openKeys' in nextProps) {\n        newStoreState.openKeys = nextProps.openKeys;\n      } else {\n        // [Legacy] Old code will return after `openKeys` changed.\n        // Not sure the reason, we should keep this logic still.\n        if (nextProps.inlineCollapsed && !prevProps.inlineCollapsed || nextProps.siderCollapsed && !prevProps.siderCollapsed) {\n          newState.switchingModeFromInline = true;\n          newState.inlineOpenKeys = prevStoreState.openKeys;\n          newStoreState.openKeys = [];\n        }\n\n        if (!nextProps.inlineCollapsed && prevProps.inlineCollapsed || !nextProps.siderCollapsed && prevProps.siderCollapsed) {\n          newStoreState.openKeys = prevState.inlineOpenKeys;\n          newState.inlineOpenKeys = [];\n        }\n      }\n\n      if (Object.keys(newStoreState).length) {\n        store.setState(newStoreState);\n      }\n\n      return newState;\n    }\n  }]);\n\n  return Menu;\n}(React.Component);\n\nMenu.defaultProps = {\n  selectable: true,\n  onClick: noop,\n  onSelect: noop,\n  onOpenChange: noop,\n  onDeselect: noop,\n  defaultSelectedKeys: [],\n  defaultOpenKeys: [],\n  subMenuOpenDelay: 0.1,\n  subMenuCloseDelay: 0.1,\n  triggerSubMenuAction: 'hover',\n  prefixCls: 'rc-menu',\n  className: '',\n  mode: 'vertical',\n  style: {},\n  builtinPlacements: {},\n  overflowedIndicator: React.createElement(\"span\", null, \"\\xB7\\xB7\\xB7\")\n};\nexport default Menu;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-menu/es/Menu.js"],"names":["_objectSpread","_classCallCheck","_createClass","_assertThisInitialized","_inherits","_createSuper","React","Provider","create","omit","SubPopupMenu","getActiveKey","noop","getMotion","Menu","_React$Component","_super","props","_this","call","onSelect","selectInfo","_assertThisInitialize","selectable","_this$store$getState","store","getState","_selectedKeys","selectedKeys","selectedKey","key","multiple","concat","setState","onClick","e","mode","getRealMenuMode","_assertThisInitialize2","onOpenChange","openKeys","onKeyDown","callback","innerMenu","getWrappedInstance","event","_assertThisInitialize3","changed","processSingle","oneChanged","open","indexOf","push","index","splice","Array","isArray","forEach","onDeselect","_assertThisInitialize4","_selectedKeys2","onMouseEnter","restoreModeVerticalFromInline","onTransitionEnd","widthCollapsed","propertyName","target","currentTarget","className","classNameValue","Object","prototype","toString","animVal","iconScaled","setInnerMenu","node","isRootMenu","defaultSelectedKeys","defaultOpenKeys","activeKey","state","switchingModeFromInline","prevProps","inlineOpenKeys","value","componentDidMount","updateMiniStore","updateMenuDisplay","componentDidUpdate","_this$props","siderCollapsed","inlineCollapsed","collapsedWidth","prevOpenKeys","hideMenu","getInlineCollapsed","_this$props2","undefined","render","prefixCls","direction","parentMenu","motion","openAnimation","openTransitionName","createElement","assign","ref","children","getDerivedStateFromProps","nextProps","prevState","prevStoreState","newStoreState","newState","keys","length","Component","defaultProps","subMenuOpenDelay","subMenuCloseDelay","triggerSubMenuAction","style","builtinPlacements","overflowedIndicator"],"mappings":"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","sourcesContent":["import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport { Provider, create } from 'mini-store';\nimport omit from 'omit.js';\nimport SubPopupMenu, { getActiveKey } from './SubPopupMenu';\nimport { noop } from './util';\nimport { getMotion } from './utils/legacyUtil';\n\nvar Menu = /*#__PURE__*/function (_React$Component) {\n  _inherits(Menu, _React$Component);\n\n  var _super = _createSuper(Menu);\n\n  function Menu(props) {\n    var _this;\n\n    _classCallCheck(this, Menu);\n\n    _this = _super.call(this, props);\n\n    _this.onSelect = function (selectInfo) {\n      var _assertThisInitialize = _assertThisInitialized(_this),\n          props = _assertThisInitialize.props;\n\n      if (props.selectable) {\n        // root menu\n        var _this$store$getState = _this.store.getState(),\n            _selectedKeys = _this$store$getState.selectedKeys;\n\n        var selectedKey = selectInfo.key;\n\n        if (props.multiple) {\n          _selectedKeys = _selectedKeys.concat([selectedKey]);\n        } else {\n          _selectedKeys = [selectedKey];\n        }\n\n        if (!('selectedKeys' in props)) {\n          _this.store.setState({\n            selectedKeys: _selectedKeys\n          });\n        }\n\n        props.onSelect(_objectSpread(_objectSpread({}, selectInfo), {}, {\n          selectedKeys: _selectedKeys\n        }));\n      }\n    };\n\n    _this.onClick = function (e) {\n      var mode = _this.getRealMenuMode();\n\n      var _assertThisInitialize2 = _assertThisInitialized(_this),\n          store = _assertThisInitialize2.store,\n          onOpenChange = _assertThisInitialize2.props.onOpenChange;\n\n      if (mode !== 'inline' && !('openKeys' in _this.props)) {\n        // closing vertical popup submenu after click it\n        store.setState({\n          openKeys: []\n        });\n        onOpenChange([]);\n      }\n\n      _this.props.onClick(e);\n    }; // onKeyDown needs to be exposed as a instance method\n    // e.g., in rc-select, we need to navigate menu item while\n    // current active item is rc-select input box rather than the menu itself\n\n\n    _this.onKeyDown = function (e, callback) {\n      _this.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n    };\n\n    _this.onOpenChange = function (event) {\n      var _assertThisInitialize3 = _assertThisInitialized(_this),\n          props = _assertThisInitialize3.props;\n\n      var openKeys = _this.store.getState().openKeys.concat();\n\n      var changed = false;\n\n      var processSingle = function processSingle(e) {\n        var oneChanged = false;\n\n        if (e.open) {\n          oneChanged = openKeys.indexOf(e.key) === -1;\n\n          if (oneChanged) {\n            openKeys.push(e.key);\n          }\n        } else {\n          var index = openKeys.indexOf(e.key);\n          oneChanged = index !== -1;\n\n          if (oneChanged) {\n            openKeys.splice(index, 1);\n          }\n        }\n\n        changed = changed || oneChanged;\n      };\n\n      if (Array.isArray(event)) {\n        // batch change call\n        event.forEach(processSingle);\n      } else {\n        processSingle(event);\n      }\n\n      if (changed) {\n        if (!('openKeys' in _this.props)) {\n          _this.store.setState({\n            openKeys: openKeys\n          });\n        }\n\n        props.onOpenChange(openKeys);\n      }\n    };\n\n    _this.onDeselect = function (selectInfo) {\n      var _assertThisInitialize4 = _assertThisInitialized(_this),\n          props = _assertThisInitialize4.props;\n\n      if (props.selectable) {\n        var _selectedKeys2 = _this.store.getState().selectedKeys.concat();\n\n        var selectedKey = selectInfo.key;\n\n        var index = _selectedKeys2.indexOf(selectedKey);\n\n        if (index !== -1) {\n          _selectedKeys2.splice(index, 1);\n        }\n\n        if (!('selectedKeys' in props)) {\n          _this.store.setState({\n            selectedKeys: _selectedKeys2\n          });\n        }\n\n        props.onDeselect(_objectSpread(_objectSpread({}, selectInfo), {}, {\n          selectedKeys: _selectedKeys2\n        }));\n      }\n    }; // Restore vertical mode when menu is collapsed responsively when mounted\n    // https://github.com/ant-design/ant-design/issues/13104\n    // TODO: not a perfect solution,\n    // looking a new way to avoid setting switchingModeFromInline in this situation\n\n\n    _this.onMouseEnter = function (e) {\n      _this.restoreModeVerticalFromInline();\n\n      var onMouseEnter = _this.props.onMouseEnter;\n\n      if (onMouseEnter) {\n        onMouseEnter(e);\n      }\n    };\n\n    _this.onTransitionEnd = function (e) {\n      // when inlineCollapsed menu width animation finished\n      // https://github.com/ant-design/ant-design/issues/12864\n      var widthCollapsed = e.propertyName === 'width' && e.target === e.currentTarget; // Fix SVGElement e.target.className.indexOf is not a function\n      // https://github.com/ant-design/ant-design/issues/15699\n\n      var className = e.target.className; // SVGAnimatedString.animVal should be identical to SVGAnimatedString.baseVal,\n      // unless during an animation.\n\n      var classNameValue = Object.prototype.toString.call(className) === '[object SVGAnimatedString]' ? className.animVal : className; // Fix for <Menu style={{ width: '100%' }} />,\n      // the width transition won't trigger when menu is collapsed\n      // https://github.com/ant-design/ant-design-pro/issues/2783\n\n      var iconScaled = e.propertyName === 'font-size' && classNameValue.indexOf('anticon') >= 0;\n\n      if (widthCollapsed || iconScaled) {\n        _this.restoreModeVerticalFromInline();\n      }\n    };\n\n    _this.setInnerMenu = function (node) {\n      _this.innerMenu = node;\n    };\n\n    _this.isRootMenu = true;\n    var selectedKeys = props.defaultSelectedKeys;\n    var openKeys = props.defaultOpenKeys;\n\n    if ('selectedKeys' in props) {\n      selectedKeys = props.selectedKeys || [];\n    }\n\n    if ('openKeys' in props) {\n      openKeys = props.openKeys || [];\n    }\n\n    _this.store = create({\n      selectedKeys: selectedKeys,\n      openKeys: openKeys,\n      activeKey: {\n        '0-menu-': getActiveKey(props, props.activeKey)\n      }\n    });\n    _this.state = {\n      switchingModeFromInline: false,\n      prevProps: props,\n      inlineOpenKeys: [],\n      store: _this.store\n    };\n    return _this;\n  }\n\n  _createClass(Menu, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.updateMiniStore();\n      this.updateMenuDisplay();\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      var _this$props = this.props,\n          siderCollapsed = _this$props.siderCollapsed,\n          inlineCollapsed = _this$props.inlineCollapsed,\n          onOpenChange = _this$props.onOpenChange;\n\n      if (!prevProps.inlineCollapsed && inlineCollapsed || !prevProps.siderCollapsed && siderCollapsed) {\n        onOpenChange([]);\n      }\n\n      this.updateMiniStore();\n      this.updateMenuDisplay();\n    }\n  }, {\n    key: \"updateMenuDisplay\",\n    value: function updateMenuDisplay() {\n      var collapsedWidth = this.props.collapsedWidth,\n          store = this.store,\n          prevOpenKeys = this.prevOpenKeys; // https://github.com/ant-design/ant-design/issues/8587\n\n      var hideMenu = this.getInlineCollapsed() && (collapsedWidth === 0 || collapsedWidth === '0' || collapsedWidth === '0px');\n\n      if (hideMenu) {\n        this.prevOpenKeys = store.getState().openKeys.concat();\n        this.store.setState({\n          openKeys: []\n        });\n      } else if (prevOpenKeys) {\n        this.store.setState({\n          openKeys: prevOpenKeys\n        });\n        this.prevOpenKeys = null;\n      }\n    }\n  }, {\n    key: \"getRealMenuMode\",\n    value: function getRealMenuMode() {\n      var mode = this.props.mode;\n      var switchingModeFromInline = this.state.switchingModeFromInline;\n      var inlineCollapsed = this.getInlineCollapsed();\n\n      if (switchingModeFromInline && inlineCollapsed) {\n        return 'inline';\n      }\n\n      return inlineCollapsed ? 'vertical' : mode;\n    }\n  }, {\n    key: \"getInlineCollapsed\",\n    value: function getInlineCollapsed() {\n      var _this$props2 = this.props,\n          inlineCollapsed = _this$props2.inlineCollapsed,\n          siderCollapsed = _this$props2.siderCollapsed;\n\n      if (siderCollapsed !== undefined) {\n        return siderCollapsed;\n      }\n\n      return inlineCollapsed;\n    }\n  }, {\n    key: \"restoreModeVerticalFromInline\",\n    value: function restoreModeVerticalFromInline() {\n      var switchingModeFromInline = this.state.switchingModeFromInline;\n\n      if (switchingModeFromInline) {\n        this.setState({\n          switchingModeFromInline: false\n        });\n      }\n    }\n  }, {\n    key: \"updateMiniStore\",\n    value: function updateMiniStore() {\n      if ('selectedKeys' in this.props) {\n        this.store.setState({\n          selectedKeys: this.props.selectedKeys || []\n        });\n      }\n\n      if ('openKeys' in this.props) {\n        this.store.setState({\n          openKeys: this.props.openKeys || []\n        });\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var props = _objectSpread({}, omit(this.props, ['collapsedWidth', 'siderCollapsed', 'defaultMotions']));\n\n      var mode = this.getRealMenuMode();\n      props.className += \" \".concat(props.prefixCls, \"-root\");\n\n      if (props.direction === 'rtl') {\n        props.className += \" \".concat(props.prefixCls, \"-rtl\");\n      }\n\n      props = _objectSpread(_objectSpread({}, props), {}, {\n        mode: mode,\n        onClick: this.onClick,\n        onOpenChange: this.onOpenChange,\n        onDeselect: this.onDeselect,\n        onSelect: this.onSelect,\n        onMouseEnter: this.onMouseEnter,\n        onTransitionEnd: this.onTransitionEnd,\n        parentMenu: this,\n        motion: getMotion(this.props, this.state, mode)\n      });\n      delete props.openAnimation;\n      delete props.openTransitionName;\n      return React.createElement(Provider, {\n        store: this.store\n      }, React.createElement(SubPopupMenu, Object.assign({}, props, {\n        ref: this.setInnerMenu\n      }), this.props.children));\n    }\n  }], [{\n    key: \"getDerivedStateFromProps\",\n    value: function getDerivedStateFromProps(nextProps, prevState) {\n      var prevProps = prevState.prevProps,\n          store = prevState.store;\n      var prevStoreState = store.getState();\n      var newStoreState = {};\n      var newState = {\n        prevProps: nextProps\n      };\n\n      if (prevProps.mode === 'inline' && nextProps.mode !== 'inline') {\n        newState.switchingModeFromInline = true;\n      }\n\n      if ('openKeys' in nextProps) {\n        newStoreState.openKeys = nextProps.openKeys;\n      } else {\n        // [Legacy] Old code will return after `openKeys` changed.\n        // Not sure the reason, we should keep this logic still.\n        if (nextProps.inlineCollapsed && !prevProps.inlineCollapsed || nextProps.siderCollapsed && !prevProps.siderCollapsed) {\n          newState.switchingModeFromInline = true;\n          newState.inlineOpenKeys = prevStoreState.openKeys;\n          newStoreState.openKeys = [];\n        }\n\n        if (!nextProps.inlineCollapsed && prevProps.inlineCollapsed || !nextProps.siderCollapsed && prevProps.siderCollapsed) {\n          newStoreState.openKeys = prevState.inlineOpenKeys;\n          newState.inlineOpenKeys = [];\n        }\n      }\n\n      if (Object.keys(newStoreState).length) {\n        store.setState(newStoreState);\n      }\n\n      return newState;\n    }\n  }]);\n\n  return Menu;\n}(React.Component);\n\nMenu.defaultProps = {\n  selectable: true,\n  onClick: noop,\n  onSelect: noop,\n  onOpenChange: noop,\n  onDeselect: noop,\n  defaultSelectedKeys: [],\n  defaultOpenKeys: [],\n  subMenuOpenDelay: 0.1,\n  subMenuCloseDelay: 0.1,\n  triggerSubMenuAction: 'hover',\n  prefixCls: 'rc-menu',\n  className: '',\n  mode: 'vertical',\n  style: {},\n  builtinPlacements: {},\n  overflowedIndicator: React.createElement(\"span\", null, \"\\xB7\\xB7\\xB7\")\n};\nexport default Menu;"]},"metadata":{},"sourceType":"module"}