{"version":3,"sources":["webpack:///./node_modules/mini-store/esm/Provider.js","webpack:///./node_modules/mini-store/esm/connect.js","webpack:///./node_modules/mini-store/esm/create.js","webpack:///./node_modules/rc-util/es/createChainedFunction.js","webpack:///./node_modules/rc-menu/es/utils/isMobile.js","webpack:///./node_modules/rc-menu/es/util.js","webpack:///./node_modules/rc-menu/es/placements.js","webpack:///./node_modules/rc-menu/es/SubMenu.js","webpack:///./node_modules/rc-menu/es/DOMWrap.js","webpack:///./node_modules/rc-menu/es/SubPopupMenu.js","webpack:///./node_modules/rc-menu/es/utils/legacyUtil.js","webpack:///./node_modules/rc-menu/es/Menu.js","webpack:///./node_modules/rc-menu/es/MenuItem.js","webpack:///./node_modules/rc-menu/es/MenuItemGroup.js","webpack:///./node_modules/rc-menu/es/Divider.js","webpack:///./node_modules/rc-menu/es/index.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/rc-util/es/KeyCode.js","webpack:///./node_modules/shallowequal/index.js"],"names":["_extendStatics","__extends","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","this","constructor","prototype","create","MiniStoreContext","_super","Provider","apply","arguments","render","value","props","store","children","__assign","assign","t","s","i","n","length","call","defaultMapStateToProps","connect","mapStateToProps","options","shouldSubscribe","finalMapStateToProps","WrappedComponent","Connect","context","_this","unsubscribe","handleChange","nextState","getState","setState","subscribed","state","getDerivedStateFromProps","prevState","componentDidMount","trySubscribe","componentWillUnmount","tryUnsubscribe","shouldComponentUpdate","nextProps","subscribe","ref","miniStoreForwardedRef","displayName","name","getDisplayName","contextType","forwardRef","forwarded","createChainedFunction","args","slice","applePhone","appleIpod","appleTablet","androidPhone","androidTablet","amazonPhone","amazonTablet","windowsPhone","windowsTablet","otherBlackberry","otherBlackberry10","otherOpera","otherChrome","otherFirefox","match","regex","userAgent","test","isMobile","ua","navigator","tmp","split","_tmp","_tmp3","result","apple","phone","ipod","tablet","device","amazon","android","windows","other","blackberry","blackberry10","opera","firefox","chrome","any","noop","getKeyFromChildrenIndex","child","menuEventKey","index","prefix","key","concat","getMenuIdFromSubMenuEventKey","eventKey","loopMenuItem","cb","forEach","c","type","isMenuItemGroup","c2","menuAllProps","getWidth","elem","includeMargin","undefined","width","getBoundingClientRect","_getComputedStyle","getComputedStyle","marginLeft","marginRight","replace","toFixed","styleProperty","style","autoAdjustOverflow","adjustX","adjustY","placements","topLeft","points","overflow","offset","bottomLeft","leftTop","rightTop","placementsRtl","guid","popupPlacementMap","horizontal","vertical","defaultActiveFirst","menuId","_React$Component","SubMenu","onDestroy","onKeyDown","e","keyCode","menu","menuInstance","visible","getVisible","KeyCode","ENTER","onTitleClick","RIGHT","triggerOpenChange","LEFT","handled","UP","DOWN","onOpenChange","onPopupVisibleChange","onMouseEnter","_this$props","domEvent","onMouseLeave","_this$props2","parentMenu","subMenuInstance","onTitleMouseEnter","_this$props3","onItemHover","hover","onTitleMouseLeave","_this$props4","triggerSubMenuAction","onSubMenuClick","info","onClick","addKeyPath","onSelect","onDeselect","getPrefixCls","rootPrefixCls","getActiveClassName","getDisabledClassName","getSelectedClassName","getOpenClassName","isOpen","getMode","mode","saveMenuInstance","keyPath","open","openChange","item","trigger","mouseenterTimeout","setTimeout","isChildrenSelected","ret","find","loopMenuItemRecursively","keys","construct","isSubMenu","isMenuItem","indexOf","selectedKeys","isInlineMode","adjustWidth","subMenuTitle","popupMenu","offsetWidth","minWidth","saveSubMenuTitle","getBaseProps","mergedMode","level","inlineIndent","focusable","openKeys","motion","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","builtinPlacements","multiple","prefixCls","id","internalMenuId","manualRef","itemIcon","expandIcon","direction","getMotion","haveRendered","_this$props5","leavedClassName","removeOnLeave","motionAppear","isRootMenu","componentDidUpdate","_this2","_this$props6","updateState","isOpenChanged","isModeChanged","raf","cancel","updateStateRaf","minWidthTimeout","_this$props7","clearTimeout","className","baseProps","_this3","mergedMotion","haveOpened","sharedClassName","_ref","mergedClassName","renderPopupMenu","_classNames2","_props$parentMenu","_classNames3","inline","active","disabled","mouseEvents","titleClickEvents","titleMouseEvents","isRTL","paddingRight","paddingLeft","ariaOwns","icon","title","role","renderChildren","getPopupContainer","triggerNode","parentNode","popupPlacement","popupAlign","popupOffset","popupClassName","placement","popupVisible","popup","action","mouseEnterDelay","mouseLeaveDelay","forceRender","popupMotion","defaultProps","connected","_ref2","_ref3","activeKey","subMenuKey","DOMWrap","resizeObserver","mutationObserver","originalTotalWidth","overflowedItems","menuItemSizes","cancelFrameId","lastVisibleIndex","getMenuItemNodes","ul","filter","node","getOverflowedSubMenuItem","keyPrefix","renderPlaceholder","overflowedIndicator","theme","_copy$props","propStyle","rest","display","visibility","position","k","setChildrenWidthAndResize","ulChildrenNodes","lastOverflowedIndicatorPlaceholder","menuItemNodes","map","overflowedIndicatorWidth","reduce","acc","cur","handleResize","currentSumWidth","liWidth","menuUl","entries","cancelAnimationFrame","requestAnimationFrame","el","observe","MutationObserver","disconnect","attributes","childList","subTree","childNode","overflowed","push","tag","Tag","updateActiveKey","getEventKey","getActiveKey","originalActiveKey","found","saveRef","instanceArray","SubPopupMenu","callback","getFlatInstanceArray","obj","activeItem","step","preventDefault","selectInfo","len","reverse","activeIndex","every","ci","arr","start","renderCommonMenuItem","extraProps","childProps","isActive","newChildProps","renderMenuItem","bind","prevProps","domProps","tabIndex","toArray","menuMode","_ref$defaultMotions","defaultMotions","openAnimation","openTransitionName","switchingModeFromInline","warning","motionName","defaultMotion","Menu","selectable","_selectedKeys","selectedKey","getRealMenuMode","_assertThisInitialize2","innerMenu","getWrappedInstance","event","changed","processSingle","oneChanged","splice","isArray","_selectedKeys2","restoreModeVerticalFromInline","onTransitionEnd","widthCollapsed","propertyName","target","currentTarget","classNameValue","toString","animVal","iconScaled","setInnerMenu","initialState","listeners","defaultSelectedKeys","defaultOpenKeys","partial","listener","inlineOpenKeys","updateMiniStore","updateMenuDisplay","siderCollapsed","inlineCollapsed","collapsedWidth","prevOpenKeys","getInlineCollapsed","omit","prevStoreState","newStoreState","newState","MenuItem","isSelected","saveNode","callRef","_classNames","attrs","attribute","mouseEvent","MenuItemGroup","renderInnerMenuItem","_props$className","titleClassName","listClassName","reactIs","REACT_STATICS","childContextTypes","contextTypes","getDefaultProps","getDerivedStateFromError","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","module","exports","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","PRINT_SCREEN","INSERT","DELETE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","QUESTION_MARK","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","META","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","WIN_IME","isTextModifyingKeyEvent","altKey","ctrlKey","metaKey","isCharacterKey","window","objA","objB","compareContext","keysA","keysB","bHasOwnProperty","idx","valueA","valueB"],"mappings":"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","file":"e7774efd49469e1b74904e01d1969860b8055418-63448d7b92689ec48c0c.js","sourcesContent":["var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nimport * as React from 'react';\nexport var MiniStoreContext = React.createContext(null);\n\nvar Provider =\n/** @class */\nfunction (_super) {\n __extends(Provider, _super);\n\n function Provider() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n Provider.prototype.render = function () {\n return React.createElement(MiniStoreContext.Provider, {\n value: this.props.store\n }, this.props.children);\n };\n\n return Provider;\n}(React.Component);\n\nexport { Provider };","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nimport * as React from 'react';\nimport shallowEqual from 'shallowequal';\nimport hoistStatics from 'hoist-non-react-statics';\nimport { MiniStoreContext } from './Provider';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nvar defaultMapStateToProps = function defaultMapStateToProps() {\n return {};\n};\n\nexport function connect(mapStateToProps, options) {\n if (options === void 0) {\n options = {};\n }\n\n var shouldSubscribe = !!mapStateToProps;\n var finalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n return function wrapWithConnect(WrappedComponent) {\n var Connect =\n /** @class */\n function (_super) {\n __extends(Connect, _super);\n\n function Connect(props, context) {\n var _this = _super.call(this, props, context) || this;\n\n _this.unsubscribe = null;\n\n _this.handleChange = function () {\n if (!_this.unsubscribe) {\n return;\n }\n\n var nextState = finalMapStateToProps(_this.store.getState(), _this.props);\n\n _this.setState({\n subscribed: nextState\n });\n };\n\n _this.store = _this.context;\n _this.state = {\n subscribed: finalMapStateToProps(_this.store.getState(), props),\n store: _this.store,\n props: props\n };\n return _this;\n }\n\n Connect.getDerivedStateFromProps = function (props, prevState) {\n // using ownProps\n if (mapStateToProps && mapStateToProps.length === 2 && props !== prevState.props) {\n return {\n subscribed: finalMapStateToProps(prevState.store.getState(), props),\n props: props\n };\n }\n\n return {\n props: props\n };\n };\n\n Connect.prototype.componentDidMount = function () {\n this.trySubscribe();\n };\n\n Connect.prototype.componentWillUnmount = function () {\n this.tryUnsubscribe();\n };\n\n Connect.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state.subscribed, nextState.subscribed);\n };\n\n Connect.prototype.trySubscribe = function () {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n };\n\n Connect.prototype.tryUnsubscribe = function () {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n };\n\n Connect.prototype.render = function () {\n var props = __assign(__assign(__assign({}, this.props), this.state.subscribed), {\n store: this.store\n });\n\n return React.createElement(WrappedComponent, __assign({}, props, {\n ref: this.props.miniStoreForwardedRef\n }));\n };\n\n Connect.displayName = \"Connect(\" + getDisplayName(WrappedComponent) + \")\";\n Connect.contextType = MiniStoreContext;\n return Connect;\n }(React.Component);\n\n if (options.forwardRef) {\n var forwarded = React.forwardRef(function (props, ref) {\n return React.createElement(Connect, __assign({}, props, {\n miniStoreForwardedRef: ref\n }));\n });\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nexport function create(initialState) {\n var state = initialState;\n var listeners = [];\n\n function setState(partial) {\n state = __assign(__assign({}, state), partial);\n\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n\n function getState() {\n return state;\n }\n\n function subscribe(listener) {\n listeners.push(listener);\n return function unsubscribe() {\n var index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n return {\n setState: setState,\n getState: getState,\n subscribe: subscribe\n };\n}","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @returns {function|null}\n */\nexport default function createChainedFunction() {\n var args = [].slice.call(arguments, 0);\n\n if (args.length === 1) {\n return args[0];\n }\n\n return function chainedFunction() {\n for (var i = 0; i < args.length; i++) {\n if (args[i] && args[i].apply) {\n args[i].apply(this, arguments);\n }\n }\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\"; // MIT License from https://github.com/kaimallea/isMobile\n\nvar applePhone = /iPhone/i;\nvar appleIpod = /iPod/i;\nvar appleTablet = /iPad/i;\nvar androidPhone = /\\bAndroid(?:.+)Mobile\\b/i; // Match 'Android' AND 'Mobile'\n\nvar androidTablet = /Android/i;\nvar amazonPhone = /\\bAndroid(?:.+)SD4930UR\\b/i;\nvar amazonTablet = /\\bAndroid(?:.+)(?:KF[A-Z]{2,4})\\b/i;\nvar windowsPhone = /Windows Phone/i;\nvar windowsTablet = /\\bWindows(?:.+)ARM\\b/i; // Match 'Windows' AND 'ARM'\n\nvar otherBlackberry = /BlackBerry/i;\nvar otherBlackberry10 = /BB10/i;\nvar otherOpera = /Opera Mini/i;\nvar otherChrome = /\\b(CriOS|Chrome)(?:.+)Mobile/i;\nvar otherFirefox = /Mobile(?:.+)Firefox\\b/i; // Match 'Mobile' AND 'Firefox'\n\nfunction match(regex, userAgent) {\n return regex.test(userAgent);\n}\n\nfunction isMobile(userAgent) {\n var ua = userAgent || (typeof navigator !== 'undefined' ? navigator.userAgent : ''); // Facebook mobile app's integrated browser adds a bunch of strings that\n // match everything. Strip it out if it exists.\n\n var tmp = ua.split('[FBAN');\n\n if (typeof tmp[1] !== 'undefined') {\n var _tmp = tmp;\n\n var _tmp2 = _slicedToArray(_tmp, 1);\n\n ua = _tmp2[0];\n } // Twitter mobile app's integrated browser on iPad adds a \"Twitter for\n // iPhone\" string. Same probably happens on other tablet platforms.\n // This will confuse detection so strip it out if it exists.\n\n\n tmp = ua.split('Twitter');\n\n if (typeof tmp[1] !== 'undefined') {\n var _tmp3 = tmp;\n\n var _tmp4 = _slicedToArray(_tmp3, 1);\n\n ua = _tmp4[0];\n }\n\n var result = {\n apple: {\n phone: match(applePhone, ua) && !match(windowsPhone, ua),\n ipod: match(appleIpod, ua),\n tablet: !match(applePhone, ua) && match(appleTablet, ua) && !match(windowsPhone, ua),\n device: (match(applePhone, ua) || match(appleIpod, ua) || match(appleTablet, ua)) && !match(windowsPhone, ua)\n },\n amazon: {\n phone: match(amazonPhone, ua),\n tablet: !match(amazonPhone, ua) && match(amazonTablet, ua),\n device: match(amazonPhone, ua) || match(amazonTablet, ua)\n },\n android: {\n phone: !match(windowsPhone, ua) && match(amazonPhone, ua) || !match(windowsPhone, ua) && match(androidPhone, ua),\n tablet: !match(windowsPhone, ua) && !match(amazonPhone, ua) && !match(androidPhone, ua) && (match(amazonTablet, ua) || match(androidTablet, ua)),\n device: !match(windowsPhone, ua) && (match(amazonPhone, ua) || match(amazonTablet, ua) || match(androidPhone, ua) || match(androidTablet, ua)) || match(/\\bokhttp\\b/i, ua)\n },\n windows: {\n phone: match(windowsPhone, ua),\n tablet: match(windowsTablet, ua),\n device: match(windowsPhone, ua) || match(windowsTablet, ua)\n },\n other: {\n blackberry: match(otherBlackberry, ua),\n blackberry10: match(otherBlackberry10, ua),\n opera: match(otherOpera, ua),\n firefox: match(otherFirefox, ua),\n chrome: match(otherChrome, ua),\n device: match(otherBlackberry, ua) || match(otherBlackberry10, ua) || match(otherOpera, ua) || match(otherFirefox, ua) || match(otherChrome, ua)\n },\n // Additional\n any: null,\n phone: null,\n tablet: null\n };\n result.any = result.apple.device || result.android.device || result.windows.device || result.other.device; // excludes 'other' devices and ipods, targeting touchscreen phones\n\n result.phone = result.apple.phone || result.android.phone || result.windows.phone;\n result.tablet = result.apple.tablet || result.android.tablet || result.windows.tablet;\n return result;\n}\n\nvar defaultResult = _objectSpread(_objectSpread({}, isMobile()), {}, {\n isMobile: isMobile\n});\n\nexport default defaultResult;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport isMobile from './utils/isMobile';\nexport function noop() {}\nexport function getKeyFromChildrenIndex(child, menuEventKey, index) {\n var prefix = menuEventKey || '';\n return child.key || \"\".concat(prefix, \"item_\").concat(index);\n}\nexport function getMenuIdFromSubMenuEventKey(eventKey) {\n return \"\".concat(eventKey, \"-menu-\");\n}\nexport function loopMenuItem(children, cb) {\n var index = -1;\n React.Children.forEach(children, function (c) {\n index += 1;\n\n if (c && c.type && c.type.isMenuItemGroup) {\n React.Children.forEach(c.props.children, function (c2) {\n index += 1;\n cb(c2, index);\n });\n } else {\n cb(c, index);\n }\n });\n}\nexport function loopMenuItemRecursively(children, keys, ret) {\n /* istanbul ignore if */\n if (!children || ret.find) {\n return;\n }\n\n React.Children.forEach(children, function (c) {\n if (c) {\n var construct = c.type;\n\n if (!construct || !(construct.isSubMenu || construct.isMenuItem || construct.isMenuItemGroup)) {\n return;\n }\n\n if (keys.indexOf(c.key) !== -1) {\n // eslint-disable-next-line no-param-reassign\n ret.find = true;\n } else if (c.props.children) {\n loopMenuItemRecursively(c.props.children, keys, ret);\n }\n }\n });\n}\nexport var menuAllProps = ['defaultSelectedKeys', 'selectedKeys', 'defaultOpenKeys', 'openKeys', 'mode', 'getPopupContainer', 'onSelect', 'onDeselect', 'onDestroy', 'openTransitionName', 'openAnimation', 'subMenuOpenDelay', 'subMenuCloseDelay', 'forceSubMenuRender', 'triggerSubMenuAction', 'level', 'selectable', 'multiple', 'onOpenChange', 'visible', 'focusable', 'defaultActiveFirst', 'prefixCls', 'inlineIndent', 'parentMenu', 'title', 'rootPrefixCls', 'eventKey', 'active', 'onItemHover', 'onTitleMouseEnter', 'onTitleMouseLeave', 'onTitleClick', 'popupAlign', 'popupOffset', 'isOpen', 'renderMenuItem', 'manualRef', 'subMenuKey', 'disabled', 'index', 'isSelected', 'store', 'activeKey', 'builtinPlacements', 'overflowedIndicator', 'motion', // the following keys found need to be removed from test regression\n'attribute', 'value', 'popupClassName', 'inlineCollapsed', 'menu', 'theme', 'itemIcon', 'expandIcon']; // ref: https://github.com/ant-design/ant-design/issues/14007\n// ref: https://bugs.chromium.org/p/chromium/issues/detail?id=360889\n// getBoundingClientRect return the full precision value, which is\n// not the same behavior as on chrome. Set the precision to 6 to\n// unify their behavior\n\nexport var getWidth = function getWidth(elem) {\n var includeMargin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var width = elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width;\n\n if (width) {\n if (includeMargin) {\n var _getComputedStyle = getComputedStyle(elem),\n marginLeft = _getComputedStyle.marginLeft,\n marginRight = _getComputedStyle.marginRight;\n\n width += +marginLeft.replace('px', '') + +marginRight.replace('px', '');\n }\n\n width = +width.toFixed(6);\n }\n\n return width || 0;\n};\nexport var setStyle = function setStyle(elem, styleProperty, value) {\n if (elem && _typeof(elem.style) === 'object') {\n // eslint-disable-next-line no-param-reassign\n elem.style[styleProperty] = value;\n }\n};\nexport var isMobileDevice = function isMobileDevice() {\n return isMobile.any;\n};","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nexport var placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nexport var placementsRtl = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n rightTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n leftTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nexport default placements;","import _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 _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport Trigger from 'rc-trigger';\nimport raf from \"rc-util/es/raf\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nimport { connect } from 'mini-store';\nimport SubPopupMenu from './SubPopupMenu';\nimport { placements, placementsRtl } from './placements';\nimport { noop, loopMenuItemRecursively, getMenuIdFromSubMenuEventKey, menuAllProps } from './util';\nvar guid = 0;\nvar popupPlacementMap = {\n horizontal: 'bottomLeft',\n vertical: 'rightTop',\n 'vertical-left': 'rightTop',\n 'vertical-right': 'leftTop'\n};\n\nvar updateDefaultActiveFirst = function updateDefaultActiveFirst(store, eventKey, defaultActiveFirst) {\n var menuId = getMenuIdFromSubMenuEventKey(eventKey);\n var state = store.getState();\n store.setState({\n defaultActiveFirst: _objectSpread(_objectSpread({}, state.defaultActiveFirst), {}, _defineProperty({}, menuId, defaultActiveFirst))\n });\n};\n\nexport var SubMenu = /*#__PURE__*/function (_React$Component) {\n _inherits(SubMenu, _React$Component);\n\n var _super = _createSuper(SubMenu);\n\n function SubMenu(props) {\n var _this;\n\n _classCallCheck(this, SubMenu);\n\n _this = _super.call(this, props);\n\n _this.onDestroy = function (key) {\n _this.props.onDestroy(key);\n };\n /**\n * note:\n * This legacy code that `onKeyDown` is called by parent instead of dom self.\n * which need return code to check if this event is handled\n */\n\n\n _this.onKeyDown = function (e) {\n var keyCode = e.keyCode;\n var menu = _this.menuInstance;\n var store = _this.props.store;\n\n var visible = _this.getVisible();\n\n if (keyCode === KeyCode.ENTER) {\n _this.onTitleClick(e);\n\n updateDefaultActiveFirst(store, _this.props.eventKey, true);\n return true;\n }\n\n if (keyCode === KeyCode.RIGHT) {\n if (visible) {\n menu.onKeyDown(e);\n } else {\n _this.triggerOpenChange(true); // need to update current menu's defaultActiveFirst value\n\n\n updateDefaultActiveFirst(store, _this.props.eventKey, true);\n }\n\n return true;\n }\n\n if (keyCode === KeyCode.LEFT) {\n var handled;\n\n if (visible) {\n handled = menu.onKeyDown(e);\n } else {\n return undefined;\n }\n\n if (!handled) {\n _this.triggerOpenChange(false);\n\n handled = true;\n }\n\n return handled;\n }\n\n if (visible && (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN)) {\n return menu.onKeyDown(e);\n }\n\n return undefined;\n };\n\n _this.onOpenChange = function (e) {\n _this.props.onOpenChange(e);\n };\n\n _this.onPopupVisibleChange = function (visible) {\n _this.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');\n };\n\n _this.onMouseEnter = function (e) {\n var _this$props = _this.props,\n key = _this$props.eventKey,\n onMouseEnter = _this$props.onMouseEnter,\n store = _this$props.store;\n updateDefaultActiveFirst(store, _this.props.eventKey, false);\n onMouseEnter({\n key: key,\n domEvent: e\n });\n };\n\n _this.onMouseLeave = function (e) {\n var _this$props2 = _this.props,\n parentMenu = _this$props2.parentMenu,\n eventKey = _this$props2.eventKey,\n onMouseLeave = _this$props2.onMouseLeave;\n parentMenu.subMenuInstance = _assertThisInitialized(_this);\n onMouseLeave({\n key: eventKey,\n domEvent: e\n });\n };\n\n _this.onTitleMouseEnter = function (domEvent) {\n var _this$props3 = _this.props,\n key = _this$props3.eventKey,\n onItemHover = _this$props3.onItemHover,\n onTitleMouseEnter = _this$props3.onTitleMouseEnter;\n onItemHover({\n key: key,\n hover: true\n });\n onTitleMouseEnter({\n key: key,\n domEvent: domEvent\n });\n };\n\n _this.onTitleMouseLeave = function (e) {\n var _this$props4 = _this.props,\n parentMenu = _this$props4.parentMenu,\n eventKey = _this$props4.eventKey,\n onItemHover = _this$props4.onItemHover,\n onTitleMouseLeave = _this$props4.onTitleMouseLeave;\n parentMenu.subMenuInstance = _assertThisInitialized(_this);\n onItemHover({\n key: eventKey,\n hover: false\n });\n onTitleMouseLeave({\n key: eventKey,\n domEvent: e\n });\n };\n\n _this.onTitleClick = function (e) {\n var _assertThisInitialize = _assertThisInitialized(_this),\n props = _assertThisInitialize.props;\n\n props.onTitleClick({\n key: props.eventKey,\n domEvent: e\n });\n\n if (props.triggerSubMenuAction === 'hover') {\n return;\n }\n\n _this.triggerOpenChange(!_this.getVisible(), 'click');\n\n updateDefaultActiveFirst(props.store, _this.props.eventKey, false);\n };\n\n _this.onSubMenuClick = function (info) {\n // in the case of overflowed submenu\n // onClick is not copied over\n if (typeof _this.props.onClick === 'function') {\n _this.props.onClick(_this.addKeyPath(info));\n }\n };\n\n _this.onSelect = function (info) {\n _this.props.onSelect(info);\n };\n\n _this.onDeselect = function (info) {\n _this.props.onDeselect(info);\n };\n\n _this.getPrefixCls = function () {\n return \"\".concat(_this.props.rootPrefixCls, \"-submenu\");\n };\n\n _this.getActiveClassName = function () {\n return \"\".concat(_this.getPrefixCls(), \"-active\");\n };\n\n _this.getDisabledClassName = function () {\n return \"\".concat(_this.getPrefixCls(), \"-disabled\");\n };\n\n _this.getSelectedClassName = function () {\n return \"\".concat(_this.getPrefixCls(), \"-selected\");\n };\n\n _this.getOpenClassName = function () {\n return \"\".concat(_this.props.rootPrefixCls, \"-submenu-open\");\n };\n\n _this.getVisible = function () {\n return _this.state.isOpen;\n };\n\n _this.getMode = function () {\n return _this.state.mode;\n };\n\n _this.saveMenuInstance = function (c) {\n // children menu instance\n _this.menuInstance = c;\n };\n\n _this.addKeyPath = function (info) {\n return _objectSpread(_objectSpread({}, info), {}, {\n keyPath: (info.keyPath || []).concat(_this.props.eventKey)\n });\n };\n\n _this.triggerOpenChange = function (open, type) {\n var key = _this.props.eventKey;\n\n var openChange = function openChange() {\n _this.onOpenChange({\n key: key,\n item: _assertThisInitialized(_this),\n trigger: type,\n open: open\n });\n };\n\n if (type === 'mouseenter') {\n // make sure mouseenter happen after other menu item's mouseleave\n _this.mouseenterTimeout = setTimeout(function () {\n openChange();\n }, 0);\n } else {\n openChange();\n }\n };\n\n _this.isChildrenSelected = function () {\n var ret = {\n find: false\n };\n loopMenuItemRecursively(_this.props.children, _this.props.selectedKeys, ret);\n return ret.find;\n };\n\n _this.isInlineMode = function () {\n return _this.getMode() === 'inline';\n };\n\n _this.adjustWidth = function () {\n /* istanbul ignore if */\n if (!_this.subMenuTitle || !_this.menuInstance) {\n return;\n }\n\n var popupMenu = ReactDOM.findDOMNode(_this.menuInstance);\n\n if (popupMenu.offsetWidth >= _this.subMenuTitle.offsetWidth) {\n return;\n }\n /* istanbul ignore next */\n\n\n popupMenu.style.minWidth = \"\".concat(_this.subMenuTitle.offsetWidth, \"px\");\n };\n\n _this.saveSubMenuTitle = function (subMenuTitle) {\n _this.subMenuTitle = subMenuTitle;\n };\n\n _this.getBaseProps = function () {\n var _assertThisInitialize2 = _assertThisInitialized(_this),\n props = _assertThisInitialize2.props;\n\n var mergedMode = _this.getMode();\n\n return {\n mode: mergedMode === 'horizontal' ? 'vertical' : mergedMode,\n visible: _this.getVisible(),\n level: props.level + 1,\n inlineIndent: props.inlineIndent,\n focusable: false,\n onClick: _this.onSubMenuClick,\n onSelect: _this.onSelect,\n onDeselect: _this.onDeselect,\n onDestroy: _this.onDestroy,\n selectedKeys: props.selectedKeys,\n eventKey: \"\".concat(props.eventKey, \"-menu-\"),\n openKeys: props.openKeys,\n motion: props.motion,\n onOpenChange: _this.onOpenChange,\n subMenuOpenDelay: props.subMenuOpenDelay,\n parentMenu: _assertThisInitialized(_this),\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n triggerSubMenuAction: props.triggerSubMenuAction,\n builtinPlacements: props.builtinPlacements,\n defaultActiveFirst: props.store.getState().defaultActiveFirst[getMenuIdFromSubMenuEventKey(props.eventKey)],\n multiple: props.multiple,\n prefixCls: props.rootPrefixCls,\n id: _this.internalMenuId,\n manualRef: _this.saveMenuInstance,\n itemIcon: props.itemIcon,\n expandIcon: props.expandIcon,\n direction: props.direction\n };\n };\n\n _this.getMotion = function (mode, visible) {\n var _assertThisInitialize3 = _assertThisInitialized(_this),\n haveRendered = _assertThisInitialize3.haveRendered;\n\n var _this$props5 = _this.props,\n motion = _this$props5.motion,\n rootPrefixCls = _this$props5.rootPrefixCls; // don't show transition on first rendering (no animation for opened menu)\n // show appear transition if it's not visible (not sure why)\n // show appear transition if it's not inline mode\n\n var mergedMotion = _objectSpread(_objectSpread({}, motion), {}, {\n leavedClassName: \"\".concat(rootPrefixCls, \"-hidden\"),\n removeOnLeave: false,\n motionAppear: haveRendered || !visible || mode !== 'inline'\n });\n\n return mergedMotion;\n };\n\n var store = props.store,\n eventKey = props.eventKey;\n\n var _store$getState = store.getState(),\n defaultActiveFirst = _store$getState.defaultActiveFirst;\n\n _this.isRootMenu = false;\n var value = false;\n\n if (defaultActiveFirst) {\n value = defaultActiveFirst[eventKey];\n }\n\n updateDefaultActiveFirst(store, eventKey, value);\n _this.state = {\n mode: props.mode,\n isOpen: props.isOpen\n };\n return _this;\n }\n\n _createClass(SubMenu, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.componentDidUpdate();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var _this2 = this;\n\n var _this$props6 = this.props,\n mode = _this$props6.mode,\n parentMenu = _this$props6.parentMenu,\n manualRef = _this$props6.manualRef,\n isOpen = _this$props6.isOpen;\n\n var updateState = function updateState() {\n _this2.setState({\n mode: mode,\n isOpen: isOpen\n });\n }; // Delay sync when mode changed in case openKeys change not sync\n\n\n var isOpenChanged = isOpen !== this.state.isOpen;\n var isModeChanged = mode !== this.state.mode;\n\n if (isModeChanged || isOpenChanged) {\n raf.cancel(this.updateStateRaf);\n\n if (isModeChanged) {\n this.updateStateRaf = raf(updateState);\n } else {\n updateState();\n }\n } // invoke customized ref to expose component to mixin\n\n\n if (manualRef) {\n manualRef(this);\n }\n\n if (mode !== 'horizontal' || !(parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.isRootMenu) || !isOpen) {\n return;\n }\n\n this.minWidthTimeout = setTimeout(function () {\n return _this2.adjustWidth();\n }, 0);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this$props7 = this.props,\n onDestroy = _this$props7.onDestroy,\n eventKey = _this$props7.eventKey;\n\n if (onDestroy) {\n onDestroy(eventKey);\n }\n /* istanbul ignore if */\n\n\n if (this.minWidthTimeout) {\n clearTimeout(this.minWidthTimeout);\n }\n /* istanbul ignore if */\n\n\n if (this.mouseenterTimeout) {\n clearTimeout(this.mouseenterTimeout);\n }\n\n raf.cancel(this.updateStateRaf);\n }\n }, {\n key: \"renderPopupMenu\",\n value: function renderPopupMenu(className, style) {\n var baseProps = this.getBaseProps();\n /**\n * zombiej: Why SubPopupMenu here?\n * Seems whatever popup or inline mode both will render SubPopupMenu.\n * It's controlled by Trigger for popup or not.\n */\n\n return /*#__PURE__*/React.createElement(SubPopupMenu, Object.assign({}, baseProps, {\n id: this.internalMenuId,\n className: className,\n style: style\n }), this.props.children);\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var _this3 = this;\n\n var baseProps = this.getBaseProps();\n var mode = baseProps.mode,\n visible = baseProps.visible,\n forceSubMenuRender = baseProps.forceSubMenuRender,\n direction = baseProps.direction; // [Legacy] getMotion must be called before `haveRendered`\n\n var mergedMotion = this.getMotion(mode, visible);\n this.haveRendered = true;\n this.haveOpened = this.haveOpened || visible || forceSubMenuRender; // never rendered not planning to, don't render\n\n if (!this.haveOpened) {\n return /*#__PURE__*/React.createElement(\"div\", null);\n }\n\n var sharedClassName = classNames(\"\".concat(baseProps.prefixCls, \"-sub\"), _defineProperty({}, \"\".concat(baseProps.prefixCls, \"-rtl\"), direction === 'rtl'));\n\n if (!this.isInlineMode()) {\n return this.renderPopupMenu(sharedClassName);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, Object.assign({\n visible: baseProps.visible\n }, mergedMotion), function (_ref) {\n var className = _ref.className,\n style = _ref.style;\n var mergedClassName = classNames(sharedClassName, className);\n return _this3.renderPopupMenu(mergedClassName, style);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames2, _props$parentMenu, _classNames3;\n\n var props = _objectSpread({}, this.props);\n\n var visible = this.getVisible();\n var prefixCls = this.getPrefixCls();\n var inline = this.isInlineMode();\n var mergedMode = this.getMode();\n var className = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(mergedMode), (_classNames2 = {}, _defineProperty(_classNames2, props.className, !!props.className), _defineProperty(_classNames2, this.getOpenClassName(), visible), _defineProperty(_classNames2, this.getActiveClassName(), props.active || visible && !inline), _defineProperty(_classNames2, this.getDisabledClassName(), props.disabled), _defineProperty(_classNames2, this.getSelectedClassName(), this.isChildrenSelected()), _classNames2));\n\n if (!this.internalMenuId) {\n if (props.eventKey) {\n this.internalMenuId = \"\".concat(props.eventKey, \"$Menu\");\n } else {\n guid += 1;\n this.internalMenuId = \"$__$\".concat(guid, \"$Menu\");\n }\n }\n\n var mouseEvents = {};\n var titleClickEvents = {};\n var titleMouseEvents = {};\n\n if (!props.disabled) {\n mouseEvents = {\n onMouseLeave: this.onMouseLeave,\n onMouseEnter: this.onMouseEnter\n }; // only works in title, not outer li\n\n titleClickEvents = {\n onClick: this.onTitleClick\n };\n titleMouseEvents = {\n onMouseEnter: this.onTitleMouseEnter,\n onMouseLeave: this.onTitleMouseLeave\n };\n }\n\n var style = {};\n var direction = props.direction;\n var isRTL = direction === 'rtl';\n\n if (inline) {\n if (isRTL) {\n style.paddingRight = props.inlineIndent * props.level;\n } else {\n style.paddingLeft = props.inlineIndent * props.level;\n }\n }\n\n var ariaOwns = {}; // only set aria-owns when menu is open\n // otherwise it would be an invalid aria-owns value\n // since corresponding node cannot be found\n\n if (this.getVisible()) {\n ariaOwns = {\n 'aria-owns': this.internalMenuId\n };\n } // expand custom icon should NOT be displayed in menu with horizontal mode.\n\n\n var icon = null;\n\n if (mergedMode !== 'horizontal') {\n icon = this.props.expandIcon; // ReactNode\n\n if (typeof this.props.expandIcon === 'function') {\n icon = /*#__PURE__*/React.createElement(this.props.expandIcon, _objectSpread({}, this.props));\n }\n }\n\n var title = /*#__PURE__*/React.createElement(\"div\", Object.assign({\n ref: this.saveSubMenuTitle,\n style: style,\n className: \"\".concat(prefixCls, \"-title\"),\n role: \"button\"\n }, titleMouseEvents, titleClickEvents, {\n \"aria-expanded\": visible\n }, ariaOwns, {\n \"aria-haspopup\": \"true\",\n title: typeof props.title === 'string' ? props.title : undefined\n }), props.title, icon || /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }));\n var children = this.renderChildren();\n var getPopupContainer = ((_props$parentMenu = props.parentMenu) === null || _props$parentMenu === void 0 ? void 0 : _props$parentMenu.isRootMenu) ? props.parentMenu.props.getPopupContainer : function (triggerNode) {\n return triggerNode.parentNode;\n };\n var popupPlacement = popupPlacementMap[mergedMode];\n var popupAlign = props.popupOffset ? {\n offset: props.popupOffset\n } : {};\n var popupClassName = classNames((_classNames3 = {}, _defineProperty(_classNames3, props.popupClassName, props.popupClassName && !inline), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-rtl\"), isRTL), _classNames3));\n var disabled = props.disabled,\n triggerSubMenuAction = props.triggerSubMenuAction,\n subMenuOpenDelay = props.subMenuOpenDelay,\n forceSubMenuRender = props.forceSubMenuRender,\n subMenuCloseDelay = props.subMenuCloseDelay,\n builtinPlacements = props.builtinPlacements;\n menuAllProps.forEach(function (key) {\n return delete props[key];\n }); // Set onClick to null, to ignore propagated onClick event\n\n delete props.onClick;\n var placement = isRTL ? Object.assign({}, placementsRtl, builtinPlacements) : Object.assign({}, placements, builtinPlacements);\n delete props.direction; // [Legacy] It's a fast fix,\n // but we should check if we can refactor this to make code more easy to understand\n\n var baseProps = this.getBaseProps();\n var mergedMotion = inline ? null : this.getMotion(baseProps.mode, baseProps.visible);\n return /*#__PURE__*/React.createElement(\"li\", Object.assign({}, props, mouseEvents, {\n className: className,\n role: \"menuitem\"\n }), /*#__PURE__*/React.createElement(Trigger, {\n prefixCls: prefixCls,\n popupClassName: classNames(\"\".concat(prefixCls, \"-popup\"), popupClassName),\n getPopupContainer: getPopupContainer,\n builtinPlacements: placement,\n popupPlacement: popupPlacement,\n popupVisible: inline ? false : visible,\n popupAlign: popupAlign,\n popup: inline ? null : children,\n action: disabled || inline ? [] : [triggerSubMenuAction],\n mouseEnterDelay: subMenuOpenDelay,\n mouseLeaveDelay: subMenuCloseDelay,\n onPopupVisibleChange: this.onPopupVisibleChange,\n forceRender: forceSubMenuRender,\n popupMotion: mergedMotion\n }, title), inline ? children : null);\n }\n }]);\n\n return SubMenu;\n}(React.Component);\nSubMenu.defaultProps = {\n onMouseEnter: noop,\n onMouseLeave: noop,\n onTitleMouseEnter: noop,\n onTitleMouseLeave: noop,\n onTitleClick: noop,\n manualRef: noop,\n mode: 'vertical',\n title: ''\n};\nvar connected = connect(function (_ref2, _ref3) {\n var openKeys = _ref2.openKeys,\n activeKey = _ref2.activeKey,\n selectedKeys = _ref2.selectedKeys;\n var eventKey = _ref3.eventKey,\n subMenuKey = _ref3.subMenuKey;\n return {\n isOpen: openKeys.indexOf(eventKey) > -1,\n active: activeKey[subMenuKey] === eventKey,\n selectedKeys: selectedKeys\n };\n})(SubMenu);\nconnected.isSubMenu = true;\nexport default connected;","import \"core-js/modules/es.array.reduce.js\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\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 * as ReactDOM from 'react-dom';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport SubMenu from './SubMenu';\nimport { getWidth, setStyle, menuAllProps } from './util';\nvar MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';\nvar FLOAT_PRECISION_ADJUST = 0.5;\n\nvar DOMWrap = /*#__PURE__*/function (_React$Component) {\n _inherits(DOMWrap, _React$Component);\n\n var _super = _createSuper(DOMWrap);\n\n function DOMWrap() {\n var _this;\n\n _classCallCheck(this, DOMWrap);\n\n _this = _super.apply(this, arguments);\n _this.resizeObserver = null;\n _this.mutationObserver = null; // original scroll size of the list\n\n _this.originalTotalWidth = 0; // copy of overflowed items\n\n _this.overflowedItems = []; // cache item of the original items (so we can track the size and order)\n\n _this.menuItemSizes = [];\n _this.cancelFrameId = null;\n _this.state = {\n lastVisibleIndex: undefined\n }; // get all valid menuItem nodes\n\n _this.getMenuItemNodes = function () {\n var prefixCls = _this.props.prefixCls;\n var ul = ReactDOM.findDOMNode(_assertThisInitialized(_this));\n\n if (!ul) {\n return [];\n } // filter out all overflowed indicator placeholder\n\n\n return [].slice.call(ul.children).filter(function (node) {\n return node.className.split(' ').indexOf(\"\".concat(prefixCls, \"-overflowed-submenu\")) < 0;\n });\n };\n\n _this.getOverflowedSubMenuItem = function (keyPrefix, overflowedItems, renderPlaceholder) {\n var _this$props = _this.props,\n overflowedIndicator = _this$props.overflowedIndicator,\n level = _this$props.level,\n mode = _this$props.mode,\n prefixCls = _this$props.prefixCls,\n theme = _this$props.theme;\n\n if (level !== 1 || mode !== 'horizontal') {\n return null;\n } // put all the overflowed item inside a submenu\n // with a title of overflow indicator ('...')\n\n\n var copy = _this.props.children[0];\n\n var _copy$props = copy.props,\n throwAway = _copy$props.children,\n title = _copy$props.title,\n propStyle = _copy$props.style,\n rest = _objectWithoutProperties(_copy$props, [\"children\", \"title\", \"style\"]);\n\n var style = _objectSpread({}, propStyle);\n\n var key = \"\".concat(keyPrefix, \"-overflowed-indicator\");\n var eventKey = \"\".concat(keyPrefix, \"-overflowed-indicator\");\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = _objectSpread(_objectSpread({}, style), {}, {\n display: 'none'\n });\n } else if (renderPlaceholder) {\n style = _objectSpread(_objectSpread({}, style), {}, {\n visibility: 'hidden',\n // prevent from taking normal dom space\n position: 'absolute'\n });\n key = \"\".concat(key, \"-placeholder\");\n eventKey = \"\".concat(eventKey, \"-placeholder\");\n }\n\n var popupClassName = theme ? \"\".concat(prefixCls, \"-\").concat(theme) : '';\n var props = {};\n menuAllProps.forEach(function (k) {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n return /*#__PURE__*/React.createElement(SubMenu, Object.assign({\n title: overflowedIndicator,\n className: \"\".concat(prefixCls, \"-overflowed-submenu\"),\n popupClassName: popupClassName\n }, props, {\n key: key,\n eventKey: eventKey,\n disabled: false,\n style: style\n }), overflowedItems);\n }; // memorize rendered menuSize\n\n\n _this.setChildrenWidthAndResize = function () {\n if (_this.props.mode !== 'horizontal') {\n return;\n }\n\n var ul = ReactDOM.findDOMNode(_assertThisInitialized(_this));\n\n if (!ul) {\n return;\n }\n\n var ulChildrenNodes = ul.children;\n\n if (!ulChildrenNodes || ulChildrenNodes.length === 0) {\n return;\n }\n\n var lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1]; // need last overflowed indicator for calculating length;\n\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'inline-block');\n\n var menuItemNodes = _this.getMenuItemNodes(); // reset display attribute for all hidden elements caused by overflow to calculate updated width\n // and then reset to original state after width calculation\n\n\n var overflowedItems = menuItemNodes.filter(function (c) {\n return c.className.split(' ').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0;\n });\n overflowedItems.forEach(function (c) {\n setStyle(c, 'display', 'inline-block');\n });\n _this.menuItemSizes = menuItemNodes.map(function (c) {\n return getWidth(c, true);\n });\n overflowedItems.forEach(function (c) {\n setStyle(c, 'display', 'none');\n });\n _this.overflowedIndicatorWidth = getWidth(ul.children[ul.children.length - 1], true);\n _this.originalTotalWidth = _this.menuItemSizes.reduce(function (acc, cur) {\n return acc + cur;\n }, 0);\n\n _this.handleResize(); // prevent the overflowed indicator from taking space;\n\n\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'none');\n };\n\n _this.handleResize = function () {\n if (_this.props.mode !== 'horizontal') {\n return;\n }\n\n var ul = ReactDOM.findDOMNode(_assertThisInitialized(_this));\n\n if (!ul) {\n return;\n }\n\n var width = getWidth(ul);\n _this.overflowedItems = [];\n var currentSumWidth = 0; // index for last visible child in horizontal mode\n\n var lastVisibleIndex; // float number comparison could be problematic\n // e.g. 0.1 + 0.2 > 0.3 =====> true\n // thus using FLOAT_PRECISION_ADJUST as buffer to help the situation\n\n if (_this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {\n lastVisibleIndex = -1;\n\n _this.menuItemSizes.forEach(function (liWidth) {\n currentSumWidth += liWidth;\n\n if (currentSumWidth + _this.overflowedIndicatorWidth <= width) {\n lastVisibleIndex += 1;\n }\n });\n }\n\n _this.setState({\n lastVisibleIndex: lastVisibleIndex\n });\n };\n\n return _this;\n }\n\n _createClass(DOMWrap, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n this.setChildrenWidthAndResize();\n\n if (this.props.level === 1 && this.props.mode === 'horizontal') {\n var menuUl = ReactDOM.findDOMNode(this);\n\n if (!menuUl) {\n return;\n }\n\n this.resizeObserver = new ResizeObserver(function (entries) {\n entries.forEach(function () {\n var cancelFrameId = _this2.cancelFrameId;\n cancelAnimationFrame(cancelFrameId);\n _this2.cancelFrameId = requestAnimationFrame(_this2.setChildrenWidthAndResize);\n });\n });\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n\n if (typeof MutationObserver !== 'undefined') {\n this.mutationObserver = new MutationObserver(function () {\n _this2.resizeObserver.disconnect();\n\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n\n _this2.setChildrenWidthAndResize();\n });\n this.mutationObserver.observe(menuUl, {\n attributes: false,\n childList: true,\n subTree: false\n });\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n\n cancelAnimationFrame(this.cancelFrameId);\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren(children) {\n var _this3 = this; // need to take care of overflowed items in horizontal mode\n\n\n var lastVisibleIndex = this.state.lastVisibleIndex;\n return (children || []).reduce(function (acc, childNode, index) {\n var item = childNode;\n\n if (_this3.props.mode === 'horizontal') {\n var overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, []);\n\n if (lastVisibleIndex !== undefined && _this3.props.className.indexOf(\"\".concat(_this3.props.prefixCls, \"-root\")) !== -1) {\n if (index > lastVisibleIndex) {\n item = /*#__PURE__*/React.cloneElement(childNode, // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件\n {\n style: {\n display: 'none'\n },\n eventKey: \"\".concat(childNode.props.eventKey, \"-hidden\"),\n\n /**\n * Legacy code. Here `className` never used:\n * https://github.com/react-component/menu/commit/4cd6b49fce9d116726f4ea00dda85325d6f26500#diff-e2fa48f75c2dd2318295cde428556a76R240\n */\n className: \"\".concat(MENUITEM_OVERFLOWED_CLASSNAME)\n });\n }\n\n if (index === lastVisibleIndex + 1) {\n _this3.overflowedItems = children.slice(lastVisibleIndex + 1).map(function (c) {\n return /*#__PURE__*/React.cloneElement(c, // children[index].key will become '.$key' in clone by default,\n // we have to overwrite with the correct key explicitly\n {\n key: c.props.eventKey,\n mode: 'vertical-left'\n });\n });\n overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, _this3.overflowedItems);\n }\n }\n\n var ret = [].concat(_toConsumableArray(acc), [overflowed, item]);\n\n if (index === children.length - 1) {\n // need a placeholder for calculating overflowed indicator width\n ret.push(_this3.getOverflowedSubMenuItem(childNode.props.eventKey, [], true));\n }\n\n return ret;\n }\n\n return [].concat(_toConsumableArray(acc), [item]);\n }, []);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n visible = _this$props2.visible,\n prefixCls = _this$props2.prefixCls,\n overflowedIndicator = _this$props2.overflowedIndicator,\n mode = _this$props2.mode,\n level = _this$props2.level,\n tag = _this$props2.tag,\n children = _this$props2.children,\n theme = _this$props2.theme,\n rest = _objectWithoutProperties(_this$props2, [\"visible\", \"prefixCls\", \"overflowedIndicator\", \"mode\", \"level\", \"tag\", \"children\", \"theme\"]);\n\n var Tag = tag;\n return /*#__PURE__*/React.createElement(Tag, Object.assign({}, rest), this.renderChildren(children));\n }\n }]);\n\n return DOMWrap;\n}(React.Component);\n\nDOMWrap.defaultProps = {\n tag: 'div',\n className: ''\n};\nexport default DOMWrap;","import _extends from \"@babel/runtime/helpers/esm/extends\";\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 _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport { connect } from 'mini-store';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport createChainedFunction from \"rc-util/es/createChainedFunction\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport shallowEqual from 'shallowequal';\nimport classNames from 'classnames';\nimport { getKeyFromChildrenIndex, loopMenuItem, noop, menuAllProps, isMobileDevice } from './util';\nimport DOMWrap from './DOMWrap';\n\nfunction allDisabled(arr) {\n if (!arr.length) {\n return true;\n }\n\n return arr.every(function (c) {\n return !!c.props.disabled;\n });\n}\n\nfunction updateActiveKey(store, menuId, activeKey) {\n var state = store.getState();\n store.setState({\n activeKey: _objectSpread(_objectSpread({}, state.activeKey), {}, _defineProperty({}, menuId, activeKey))\n });\n}\n\nfunction getEventKey(props) {\n // when eventKey not available ,it's menu and return menu id '0-menu-'\n return props.eventKey || '0-menu-';\n}\n\nexport function getActiveKey(props, originalActiveKey) {\n var activeKey = originalActiveKey;\n var children = props.children,\n eventKey = props.eventKey;\n\n if (activeKey) {\n var found;\n loopMenuItem(children, function (c, i) {\n if (c && c.props && !c.props.disabled && activeKey === getKeyFromChildrenIndex(c, eventKey, i)) {\n found = true;\n }\n });\n\n if (found) {\n return activeKey;\n }\n }\n\n activeKey = null;\n\n if (props.defaultActiveFirst) {\n loopMenuItem(children, function (c, i) {\n if (!activeKey && c && !c.props.disabled) {\n activeKey = getKeyFromChildrenIndex(c, eventKey, i);\n }\n });\n return activeKey;\n }\n\n return activeKey;\n}\nexport function saveRef(c) {\n if (c) {\n var index = this.instanceArray.indexOf(c);\n\n if (index !== -1) {\n // update component if it's already inside instanceArray\n this.instanceArray[index] = c;\n } else {\n // add component if it's not in instanceArray yet;\n this.instanceArray.push(c);\n }\n }\n}\nexport var SubPopupMenu = /*#__PURE__*/function (_React$Component) {\n _inherits(SubPopupMenu, _React$Component);\n\n var _super = _createSuper(SubPopupMenu);\n\n function SubPopupMenu(props) {\n var _this;\n\n _classCallCheck(this, SubPopupMenu);\n\n _this = _super.call(this, props);\n /**\n * all keyboard events callbacks run from here at first\n *\n * note:\n * This legacy code that `onKeyDown` is called by parent instead of dom self.\n * which need return code to check if this event is handled\n */\n\n _this.onKeyDown = function (e, callback) {\n var keyCode = e.keyCode;\n var handled;\n\n _this.getFlatInstanceArray().forEach(function (obj) {\n if (obj && obj.props.active && obj.onKeyDown) {\n handled = obj.onKeyDown(e);\n }\n });\n\n if (handled) {\n return 1;\n }\n\n var activeItem = null;\n\n if (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN) {\n activeItem = _this.step(keyCode === KeyCode.UP ? -1 : 1);\n }\n\n if (activeItem) {\n e.preventDefault();\n updateActiveKey(_this.props.store, getEventKey(_this.props), activeItem.props.eventKey);\n\n if (typeof callback === 'function') {\n callback(activeItem);\n }\n\n return 1;\n }\n\n return undefined;\n };\n\n _this.onItemHover = function (e) {\n var key = e.key,\n hover = e.hover;\n updateActiveKey(_this.props.store, getEventKey(_this.props), hover ? key : null);\n };\n\n _this.onDeselect = function (selectInfo) {\n _this.props.onDeselect(selectInfo);\n };\n\n _this.onSelect = function (selectInfo) {\n _this.props.onSelect(selectInfo);\n };\n\n _this.onClick = function (e) {\n _this.props.onClick(e);\n };\n\n _this.onOpenChange = function (e) {\n _this.props.onOpenChange(e);\n };\n\n _this.onDestroy = function (key) {\n /* istanbul ignore next */\n _this.props.onDestroy(key);\n };\n\n _this.getFlatInstanceArray = function () {\n return _this.instanceArray;\n };\n\n _this.step = function (direction) {\n var children = _this.getFlatInstanceArray();\n\n var activeKey = _this.props.store.getState().activeKey[getEventKey(_this.props)];\n\n var len = children.length;\n\n if (!len) {\n return null;\n }\n\n if (direction < 0) {\n children = children.concat().reverse();\n } // find current activeIndex\n\n\n var activeIndex = -1;\n children.every(function (c, ci) {\n if (c && c.props.eventKey === activeKey) {\n activeIndex = ci;\n return false;\n }\n\n return true;\n });\n\n if (!_this.props.defaultActiveFirst && activeIndex !== -1 && allDisabled(children.slice(activeIndex, len - 1))) {\n return undefined;\n }\n\n var start = (activeIndex + 1) % len;\n var i = start;\n\n do {\n var child = children[i];\n\n if (!child || child.props.disabled) {\n i = (i + 1) % len;\n } else {\n return child;\n }\n } while (i !== start);\n\n return null;\n };\n\n _this.renderCommonMenuItem = function (child, i, extraProps) {\n var state = _this.props.store.getState();\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n props = _assertThisInitialize.props;\n\n var key = getKeyFromChildrenIndex(child, props.eventKey, i);\n var childProps = child.props; // https://github.com/ant-design/ant-design/issues/11517#issuecomment-477403055\n\n if (!childProps || typeof child.type === 'string') {\n return child;\n }\n\n var isActive = key === state.activeKey;\n\n var newChildProps = _objectSpread(_objectSpread({\n mode: childProps.mode || props.mode,\n level: props.level,\n inlineIndent: props.inlineIndent,\n renderMenuItem: _this.renderMenuItem,\n rootPrefixCls: props.prefixCls,\n index: i,\n parentMenu: props.parentMenu,\n // customized ref function, need to be invoked manually in child's componentDidMount\n manualRef: childProps.disabled ? undefined : createChainedFunction(child.ref, saveRef.bind(_assertThisInitialized(_this))),\n eventKey: key,\n active: !childProps.disabled && isActive,\n multiple: props.multiple,\n onClick: function onClick(e) {\n (childProps.onClick || noop)(e);\n\n _this.onClick(e);\n },\n onItemHover: _this.onItemHover,\n motion: props.motion,\n subMenuOpenDelay: props.subMenuOpenDelay,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n onOpenChange: _this.onOpenChange,\n onDeselect: _this.onDeselect,\n onSelect: _this.onSelect,\n builtinPlacements: props.builtinPlacements,\n itemIcon: childProps.itemIcon || _this.props.itemIcon,\n expandIcon: childProps.expandIcon || _this.props.expandIcon\n }, extraProps), {}, {\n direction: props.direction\n }); // ref: https://github.com/ant-design/ant-design/issues/13943\n\n\n if (props.mode === 'inline' || isMobileDevice()) {\n newChildProps.triggerSubMenuAction = 'click';\n }\n\n return /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({}, newChildProps), {}, {\n key: key || i\n }));\n };\n\n _this.renderMenuItem = function (c, i, subMenuKey) {\n /* istanbul ignore if */\n if (!c) {\n return null;\n }\n\n var state = _this.props.store.getState();\n\n var extraProps = {\n openKeys: state.openKeys,\n selectedKeys: state.selectedKeys,\n triggerSubMenuAction: _this.props.triggerSubMenuAction,\n subMenuKey: subMenuKey\n };\n return _this.renderCommonMenuItem(c, i, extraProps);\n };\n\n props.store.setState({\n activeKey: _objectSpread(_objectSpread({}, props.store.getState().activeKey), {}, _defineProperty({}, props.eventKey, getActiveKey(props, props.activeKey)))\n });\n _this.instanceArray = [];\n return _this;\n }\n\n _createClass(SubPopupMenu, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // invoke customized ref to expose component to mixin\n if (this.props.manualRef) {\n this.props.manualRef(this);\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return this.props.visible || nextProps.visible || this.props.className !== nextProps.className || !shallowEqual(this.props.style, nextProps.style);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var props = this.props;\n var originalActiveKey = 'activeKey' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];\n var activeKey = getActiveKey(props, originalActiveKey);\n\n if (activeKey !== originalActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n } else if ('activeKey' in prevProps) {\n // If prev activeKey is not same as current activeKey,\n // we should set it.\n var prevActiveKey = getActiveKey(prevProps, prevProps.activeKey);\n\n if (activeKey !== prevActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var props = _extends({}, this.props);\n\n this.instanceArray = [];\n var className = classNames(props.prefixCls, props.className, \"\".concat(props.prefixCls, \"-\").concat(props.mode));\n var domProps = {\n className: className,\n // role could be 'select' and by default set to menu\n role: props.role || 'menu'\n };\n\n if (props.id) {\n domProps.id = props.id;\n }\n\n if (props.focusable) {\n domProps.tabIndex = 0;\n domProps.onKeyDown = this.onKeyDown;\n }\n\n var prefixCls = props.prefixCls,\n eventKey = props.eventKey,\n visible = props.visible,\n level = props.level,\n mode = props.mode,\n overflowedIndicator = props.overflowedIndicator,\n theme = props.theme;\n menuAllProps.forEach(function (key) {\n return delete props[key];\n }); // Otherwise, the propagated click event will trigger another onClick\n\n delete props.onClick;\n return /*#__PURE__*/React.createElement(DOMWrap, Object.assign({}, props, {\n prefixCls: prefixCls,\n mode: mode,\n tag: \"ul\",\n level: level,\n theme: theme,\n visible: visible,\n overflowedIndicator: overflowedIndicator\n }, domProps), toArray(props.children).map(function (c, i) {\n return _this2.renderMenuItem(c, i, eventKey || '0-menu-');\n }));\n }\n }]);\n\n return SubPopupMenu;\n}(React.Component);\nSubPopupMenu.defaultProps = {\n prefixCls: 'rc-menu',\n className: '',\n mode: 'vertical',\n level: 1,\n inlineIndent: 24,\n visible: true,\n focusable: true,\n style: {},\n manualRef: noop\n};\nvar connected = connect()(SubPopupMenu);\nexport default connected;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"rc-util/es/warning\";\nexport function getMotion(_ref, _ref2, menuMode) {\n var prefixCls = _ref.prefixCls,\n motion = _ref.motion,\n _ref$defaultMotions = _ref.defaultMotions,\n defaultMotions = _ref$defaultMotions === void 0 ? {} : _ref$defaultMotions,\n openAnimation = _ref.openAnimation,\n openTransitionName = _ref.openTransitionName;\n var switchingModeFromInline = _ref2.switchingModeFromInline;\n\n if (motion) {\n return motion;\n }\n\n if (_typeof(openAnimation) === 'object' && openAnimation) {\n warning(false, 'Object type of `openAnimation` is removed. Please use `motion` instead.');\n } else if (typeof openAnimation === 'string') {\n return {\n motionName: \"\".concat(prefixCls, \"-open-\").concat(openAnimation)\n };\n }\n\n if (openTransitionName) {\n return {\n motionName: openTransitionName\n };\n } // Default logic\n\n\n var defaultMotion = defaultMotions[menuMode];\n\n if (defaultMotion) {\n return defaultMotion;\n } // When mode switch from inline\n // submenu should hide without animation\n\n\n return switchingModeFromInline ? null : defaultMotions.other;\n}","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 \"rc-util/es/omit\";\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 ,\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 /*#__PURE__*/React.createElement(Provider, {\n store: this.store\n }, /*#__PURE__*/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: /*#__PURE__*/React.createElement(\"span\", null, \"\\xB7\\xB7\\xB7\")\n};\nexport default Menu;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _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 KeyCode from \"rc-util/es/KeyCode\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { connect } from 'mini-store';\nimport { noop, menuAllProps } from './util';\nexport var MenuItem = /*#__PURE__*/function (_React$Component) {\n _inherits(MenuItem, _React$Component);\n\n var _super = _createSuper(MenuItem);\n\n function MenuItem() {\n var _this;\n\n _classCallCheck(this, MenuItem);\n\n _this = _super.apply(this, arguments);\n\n _this.onKeyDown = function (e) {\n var keyCode = e.keyCode;\n\n if (keyCode === KeyCode.ENTER) {\n _this.onClick(e);\n\n return true;\n }\n\n return undefined;\n };\n\n _this.onMouseLeave = function (e) {\n var _this$props = _this.props,\n eventKey = _this$props.eventKey,\n onItemHover = _this$props.onItemHover,\n onMouseLeave = _this$props.onMouseLeave;\n onItemHover({\n key: eventKey,\n hover: false\n });\n onMouseLeave({\n key: eventKey,\n domEvent: e\n });\n };\n\n _this.onMouseEnter = function (e) {\n var _this$props2 = _this.props,\n eventKey = _this$props2.eventKey,\n onItemHover = _this$props2.onItemHover,\n onMouseEnter = _this$props2.onMouseEnter;\n onItemHover({\n key: eventKey,\n hover: true\n });\n onMouseEnter({\n key: eventKey,\n domEvent: e\n });\n };\n\n _this.onClick = function (e) {\n var _this$props3 = _this.props,\n eventKey = _this$props3.eventKey,\n multiple = _this$props3.multiple,\n onClick = _this$props3.onClick,\n onSelect = _this$props3.onSelect,\n onDeselect = _this$props3.onDeselect,\n isSelected = _this$props3.isSelected;\n var info = {\n key: eventKey,\n keyPath: [eventKey],\n item: _assertThisInitialized(_this),\n domEvent: e\n };\n onClick(info);\n\n if (multiple) {\n if (isSelected) {\n onDeselect(info);\n } else {\n onSelect(info);\n }\n } else if (!isSelected) {\n onSelect(info);\n }\n };\n\n _this.saveNode = function (node) {\n _this.node = node;\n };\n\n return _this;\n }\n\n _createClass(MenuItem, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // invoke customized ref to expose component to mixin\n this.callRef();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.callRef();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var props = this.props;\n\n if (props.onDestroy) {\n props.onDestroy(props.eventKey);\n }\n }\n }, {\n key: \"getPrefixCls\",\n value: function getPrefixCls() {\n return \"\".concat(this.props.rootPrefixCls, \"-item\");\n }\n }, {\n key: \"getActiveClassName\",\n value: function getActiveClassName() {\n return \"\".concat(this.getPrefixCls(), \"-active\");\n }\n }, {\n key: \"getSelectedClassName\",\n value: function getSelectedClassName() {\n return \"\".concat(this.getPrefixCls(), \"-selected\");\n }\n }, {\n key: \"getDisabledClassName\",\n value: function getDisabledClassName() {\n return \"\".concat(this.getPrefixCls(), \"-disabled\");\n }\n }, {\n key: \"callRef\",\n value: function callRef() {\n if (this.props.manualRef) {\n this.props.manualRef(this);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var props = _objectSpread({}, this.props);\n\n var className = classNames(this.getPrefixCls(), props.className, (_classNames = {}, _defineProperty(_classNames, this.getActiveClassName(), !props.disabled && props.active), _defineProperty(_classNames, this.getSelectedClassName(), props.isSelected), _defineProperty(_classNames, this.getDisabledClassName(), props.disabled), _classNames));\n\n var attrs = _objectSpread(_objectSpread({}, props.attribute), {}, {\n title: typeof props.title === 'string' ? props.title : undefined,\n className: className,\n // set to menuitem by default\n role: props.role || 'menuitem',\n 'aria-disabled': props.disabled\n });\n\n if (props.role === 'option') {\n // overwrite to option\n attrs = _objectSpread(_objectSpread({}, attrs), {}, {\n role: 'option',\n 'aria-selected': props.isSelected\n });\n } else if (props.role === null || props.role === 'none') {\n // sometimes we want to specify role inside
  • element\n //
  • Link
  • would be a good example\n // in this case the role on
  • should be \"none\" to\n // remove the implied listitem role.\n // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n attrs.role = 'none';\n } // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n\n\n var mouseEvent = {\n onClick: props.disabled ? null : this.onClick,\n onMouseLeave: props.disabled ? null : this.onMouseLeave,\n onMouseEnter: props.disabled ? null : this.onMouseEnter\n };\n\n var style = _objectSpread({}, props.style);\n\n if (props.mode === 'inline') {\n if (props.direction === 'rtl') {\n style.paddingRight = props.inlineIndent * props.level;\n } else {\n style.paddingLeft = props.inlineIndent * props.level;\n }\n }\n\n menuAllProps.forEach(function (key) {\n return delete props[key];\n });\n delete props.direction;\n var icon = this.props.itemIcon;\n\n if (typeof this.props.itemIcon === 'function') {\n // TODO: This is a bug which should fixed after TS refactor\n icon = /*#__PURE__*/React.createElement(this.props.itemIcon, this.props);\n }\n\n return /*#__PURE__*/React.createElement(\"li\", Object.assign({}, omit(props, ['onClick', 'onMouseEnter', 'onMouseLeave', 'onSelect']), attrs, mouseEvent, {\n style: style,\n ref: this.saveNode\n }), props.children, icon);\n }\n }]);\n\n return MenuItem;\n}(React.Component);\nMenuItem.isMenuItem = true;\nMenuItem.defaultProps = {\n onSelect: noop,\n onMouseEnter: noop,\n onMouseLeave: noop,\n manualRef: noop\n};\nvar connected = connect(function (_ref, _ref2) {\n var activeKey = _ref.activeKey,\n selectedKeys = _ref.selectedKeys;\n var eventKey = _ref2.eventKey,\n subMenuKey = _ref2.subMenuKey;\n return {\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1\n };\n})(MenuItem);\nexport default connected;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport { menuAllProps } from './util';\n\nvar MenuItemGroup = /*#__PURE__*/function (_React$Component) {\n _inherits(MenuItemGroup, _React$Component);\n\n var _super = _createSuper(MenuItemGroup);\n\n function MenuItemGroup() {\n var _this;\n\n _classCallCheck(this, MenuItemGroup);\n\n _this = _super.apply(this, arguments);\n\n _this.renderInnerMenuItem = function (item) {\n var _this$props = _this.props,\n renderMenuItem = _this$props.renderMenuItem,\n index = _this$props.index;\n return renderMenuItem(item, index, _this.props.subMenuKey);\n };\n\n return _this;\n }\n\n _createClass(MenuItemGroup, [{\n key: \"render\",\n value: function render() {\n var props = _extends({}, this.props);\n\n var _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n rootPrefixCls = props.rootPrefixCls;\n var titleClassName = \"\".concat(rootPrefixCls, \"-item-group-title\");\n var listClassName = \"\".concat(rootPrefixCls, \"-item-group-list\");\n var title = props.title,\n children = props.children;\n menuAllProps.forEach(function (key) {\n return delete props[key];\n }); // Set onClick to null, to ignore propagated onClick event\n\n delete props.onClick;\n delete props.direction;\n return /*#__PURE__*/React.createElement(\"li\", Object.assign({}, props, {\n className: \"\".concat(className, \" \").concat(rootPrefixCls, \"-item-group\")\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: titleClassName,\n title: typeof title === 'string' ? title : undefined\n }, title), /*#__PURE__*/React.createElement(\"ul\", {\n className: listClassName\n }, React.Children.map(children, this.renderInnerMenuItem)));\n }\n }]);\n\n return MenuItemGroup;\n}(React.Component);\n\nMenuItemGroup.isMenuItemGroup = true;\nMenuItemGroup.defaultProps = {\n disabled: true\n};\nexport default MenuItemGroup;","import * as React from 'react';\n\nvar Divider = function Divider(_ref) {\n var className = _ref.className,\n rootPrefixCls = _ref.rootPrefixCls,\n style = _ref.style;\n return /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(className, \" \").concat(rootPrefixCls, \"-item-divider\"),\n style: style\n });\n};\n\nDivider.defaultProps = {\n // To fix keyboard UX.\n disabled: true,\n className: '',\n style: {}\n};\nexport default Divider;","import Menu from './Menu';\nimport SubMenu from './SubMenu';\nimport MenuItem from './MenuItem';\nimport MenuItemGroup from './MenuItemGroup';\nimport Divider from './Divider';\nexport { SubMenu, MenuItem as Item, MenuItem, MenuItemGroup, MenuItemGroup as ItemGroup, Divider };\nexport default Menu;","'use strict';\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n\n /**\n * TAB\n */\n TAB: 9,\n\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n\n /**\n * ENTER\n */\n ENTER: 13,\n\n /**\n * SHIFT\n */\n SHIFT: 16,\n\n /**\n * CTRL\n */\n CTRL: 17,\n\n /**\n * ALT\n */\n ALT: 18,\n\n /**\n * PAUSE\n */\n PAUSE: 19,\n\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n\n /**\n * ESC\n */\n ESC: 27,\n\n /**\n * SPACE\n */\n SPACE: 32,\n\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n\n /**\n * END\n */\n END: 35,\n\n /**\n * HOME\n */\n HOME: 36,\n\n /**\n * LEFT\n */\n LEFT: 37,\n\n /**\n * UP\n */\n UP: 38,\n\n /**\n * RIGHT\n */\n RIGHT: 39,\n\n /**\n * DOWN\n */\n DOWN: 40,\n\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n\n /**\n * INSERT\n */\n INSERT: 45,\n\n /**\n * DELETE\n */\n DELETE: 46,\n\n /**\n * ZERO\n */\n ZERO: 48,\n\n /**\n * ONE\n */\n ONE: 49,\n\n /**\n * TWO\n */\n TWO: 50,\n\n /**\n * THREE\n */\n THREE: 51,\n\n /**\n * FOUR\n */\n FOUR: 52,\n\n /**\n * FIVE\n */\n FIVE: 53,\n\n /**\n * SIX\n */\n SIX: 54,\n\n /**\n * SEVEN\n */\n SEVEN: 55,\n\n /**\n * EIGHT\n */\n EIGHT: 56,\n\n /**\n * NINE\n */\n NINE: 57,\n\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n\n /**\n * A\n */\n A: 65,\n\n /**\n * B\n */\n B: 66,\n\n /**\n * C\n */\n C: 67,\n\n /**\n * D\n */\n D: 68,\n\n /**\n * E\n */\n E: 69,\n\n /**\n * F\n */\n F: 70,\n\n /**\n * G\n */\n G: 71,\n\n /**\n * H\n */\n H: 72,\n\n /**\n * I\n */\n I: 73,\n\n /**\n * J\n */\n J: 74,\n\n /**\n * K\n */\n K: 75,\n\n /**\n * L\n */\n L: 76,\n\n /**\n * M\n */\n M: 77,\n\n /**\n * N\n */\n N: 78,\n\n /**\n * O\n */\n O: 79,\n\n /**\n * P\n */\n P: 80,\n\n /**\n * Q\n */\n Q: 81,\n\n /**\n * R\n */\n R: 82,\n\n /**\n * S\n */\n S: 83,\n\n /**\n * T\n */\n T: 84,\n\n /**\n * U\n */\n U: 85,\n\n /**\n * V\n */\n V: 86,\n\n /**\n * W\n */\n W: 87,\n\n /**\n * X\n */\n X: 88,\n\n /**\n * Y\n */\n Y: 89,\n\n /**\n * Z\n */\n Z: 90,\n\n /**\n * META\n */\n META: 91,\n\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n\n /**\n * F1\n */\n F1: 112,\n\n /**\n * F2\n */\n F2: 113,\n\n /**\n * F3\n */\n F3: 114,\n\n /**\n * F4\n */\n F4: 115,\n\n /**\n * F5\n */\n F5: 116,\n\n /**\n * F6\n */\n F6: 117,\n\n /**\n * F7\n */\n F7: 118,\n\n /**\n * F8\n */\n F8: 119,\n\n /**\n * F9\n */\n F9: 120,\n\n /**\n * F10\n */\n F10: 121,\n\n /**\n * F11\n */\n F11: 122,\n\n /**\n * F12\n */\n F12: 123,\n\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n\n /**\n * DASH\n */\n DASH: 189,\n\n /**\n * EQUALS\n */\n EQUALS: 187,\n\n /**\n * COMMA\n */\n COMMA: 188,\n\n /**\n * PERIOD\n */\n PERIOD: 190,\n\n /**\n * SLASH\n */\n SLASH: 191,\n\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n\n if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n } // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n\n\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n\n default:\n return true;\n }\n },\n\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n } // Safari sends zero key code for non-latin characters.\n\n\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","//\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B.\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n\n return true;\n};"],"sourceRoot":""}