{"version":3,"sources":["webpack:///./node_modules/ant-design-vue/es/vc-menu/DOMWrap.js","webpack:///./node_modules/ant-design-vue/es/vc-menu/SubPopupMenu.js","webpack:///./node_modules/ant-design-vue/es/vc-mentions/src/util.js","webpack:///./node_modules/ant-design-vue/es/vc-menu/commonPropsType.js","webpack:///./node_modules/ant-design-vue/es/vc-menu/utils/isMobile.js","webpack:///./node_modules/ant-design-vue/es/vc-menu/util.js","webpack:///./node_modules/ant-design-vue/es/vc-pagination/locale/en_US.js","webpack:///./node_modules/ant-design-vue/es/vc-notification/Notice.js","webpack:///./node_modules/ant-design-vue/es/vc-notification/Notification.js","webpack:///./node_modules/ant-design-vue/es/vc-notification/index.js","webpack:///./node_modules/ant-design-vue/es/vc-mentions/src/mentionsProps.js","webpack:///./node_modules/ant-design-vue/es/vc-lazy-load/src/utils/parentScroll.js","webpack:///./node_modules/ant-design-vue/es/vc-lazy-load/src/utils/getElementPosition.js","webpack:///./node_modules/ant-design-vue/es/vc-lazy-load/src/LazyLoad.js","webpack:///./node_modules/ant-design-vue/es/vc-lazy-load/src/utils/inViewport.js","webpack:///./node_modules/ant-design-vue/es/vc-lazy-load/index.js","webpack:///./node_modules/ant-design-vue/es/vc-menu/MenuItemGroup.js","webpack:///./node_modules/ant-design-vue/es/vc-menu/Divider.js","webpack:///./node_modules/ant-design-vue/es/vc-menu/MenuItem.js","webpack:///./node_modules/ant-design-vue/es/vc-mentions/src/Option.js","webpack:///./node_modules/ant-design-vue/es/vc-mentions/src/DropdownMenu.js","webpack:///./node_modules/ant-design-vue/es/vc-mentions/src/KeywordTrigger.js","webpack:///./node_modules/ant-design-vue/es/vc-mentions/src/Mentions.js","webpack:///./node_modules/ant-design-vue/es/vc-mentions/index.js","webpack:///./node_modules/ant-design-vue/es/vc-menu/placements.js","webpack:///./node_modules/ant-design-vue/es/vc-menu/SubMenu.js","webpack:///./node_modules/ant-design-vue/es/vc-mentions/src/placement.js","webpack:///./node_modules/ant-design-vue/es/vc-progress/src/enhancer.js","webpack:///./node_modules/ant-design-vue/es/vc-progress/src/types.js","webpack:///./node_modules/ant-design-vue/es/vc-progress/src/Circle.js","webpack:///./node_modules/ant-design-vue/es/vc-menu/Menu.js","webpack:///./node_modules/ant-design-vue/es/vc-menu/index.js","webpack:///./node_modules/ant-design-vue/es/vc-m-feedback/src/PropTypes.js","webpack:///./node_modules/ant-design-vue/es/vc-m-feedback/src/TouchFeedback.js","webpack:///./node_modules/ant-design-vue/es/vc-m-feedback/index.js","webpack:///./node_modules/ant-design-vue/es/vc-pagination/Pager.js","webpack:///./node_modules/ant-design-vue/es/vc-pagination/KeyCode.js","webpack:///./node_modules/ant-design-vue/es/vc-pagination/Options.js","webpack:///./node_modules/ant-design-vue/es/vc-pagination/Pagination.js","webpack:///./node_modules/ant-design-vue/es/vc-pagination/locale/zh_CN.js"],"names":["canUseDOM","window","document","createElement","MENUITEM_OVERFLOWED_CLASSNAME","DOMWrap","name","mixins","BaseMixin","data","this","resizeObserver","mutationObserver","originalTotalWidth","overflowedItems","menuItemSizes","lastVisibleIndex","mounted","_this","$nextTick","setChildrenWidthAndResize","level","mode","menuUl","$el","entries","forEach","slice","call","children","concat","el","observe","MutationObserver","disconnect","attributes","childList","subTree","beforeDestroy","methods","getMenuItemNodes","prefixCls","$props","ul","filter","node","className","split","indexOf","getOverflowedSubMenuItem","keyPrefix","renderPlaceholder","h","$createElement","_$props","overflowedIndicator","theme","copy","$slots","_getPropsData","rest","title","events","style","key","eventKey","length","display","visibility","position","popupClassName","props","on","m","k","subMenuProps","disabled","SubMenu","ulChildrenNodes","lastOverflowedIndicatorPlaceholder","menuItemNodes","c","map","overflowedIndicatorWidth","reduce","acc","cur","handleResize","_this2","width","currentSumWidth","liWidth","setState","renderChildren","_this3","$data","childNode","index","item","overflowed","ret","push","render","arguments","Tag","tag","tagProps","oneOf","string","number","visible","bool","hiddenClassName","def","updateActiveKey","store","menuId","activeKey","state","getState","getEventKey","saveRef","instanceArrayKeyIndexMap","instanceArray","getActiveKey","originalActiveKey","defaultActiveFirst","found","i","propsData","componentOptions","SubPopupMenu","openTransitionName","openAnimation","oneOfType","object","openKeys","arrayOf","parentMenu","forceSubMenuRender","focusable","multiple","selectedKeys","defaultSelectedKeys","defaultOpenKeys","triggerSubMenuAction","inlineIndent","manualRef","func","itemIcon","any","expandIcon","__propsSymbol__","created","prevProps","updated","onKeyDown","e","callback","keyCode","handled","getFlatInstanceArray","obj","active","activeItem","KeyCode","UP","DOWN","step","preventDefault","onItemHover","hover","onDeselect","selectInfo","__emit","onSelect","onClick","onOpenChange","onDestroy","getOpenTransitionName","direction","len","reverse","activeIndex","every","ci","arr","allDisabled","start","child","getIcon","instance","temp","$scopedSlots","_temp","slotsProp","slot","renderCommonMenuItem","extraProps","childProps","isActive","Object","keys","childListeners","newChildProps","renderMenuItem","rootPrefixCls","bind","subMenuOpenDelay","subMenuCloseDelay","builtinPlacements","click","itemHover","openChange","deselect","select","subMenuKey","isRootMenu","domWrapProps","attrs","role","tabIndex","keydown","connect","getBeforeSelectionText","input","selectionStart","value","lower","char","toLowerCase","getLastMeasureIndex","text","prefix","prefixList","Array","isArray","lastMatch","prefixStr","lastIndex","lastIndexOf","location","reduceText","targetText","firstChar","restText","targetTextLen","replaceWithMeasure","measureConfig","measureLocation","beforeMeasureText","connectedStartText","selectionLocation","setInputSelection","setSelectionRange","blur","focus","validateSearch","filterOption","_ref","_ref$value","lowerCase","getPopupContainer","selectable","applePhone","appleIpod","appleTablet","androidPhone","androidTablet","amazonPhone","amazonTablet","windowsPhone","windowsTablet","otherBlackberry","otherBlackberry10","otherOpera","otherChrome","otherFirefox","match","regex","userAgent","test","isMobile","ua","navigator","tmp","_tmp","_tmp3","result","apple","phone","ipod","tablet","device","amazon","android","windows","other","blackberry","blackberry10","opera","firefox","chrome","noop","getKeyFromChildrenIndex","menuEventKey","getMenuIdFromSubMenuEventKey","loopMenuItem","cb","type","isMenuItemGroup","c2","loopMenuItemRecursively","find","options","Ctor","isSubMenu","isMenuItem","menuAllProps","getWidth","elem","getBoundingClientRect","toFixed","styleProperty","items_per_page","jump_to","jump_to_confirm","page","prev_page","next_page","prev_5","next_5","prev_3","next_3","duration","closable","update","closeIcon","watch","restartCloseTimer","startCloseTimer","clearCloseTimer","willDestroy","close","stopPropagation","closeTimer","setTimeout","clearTimeout","_className","componentClass","right","seed","now","Date","Notification","transitionName","animation","maxCount","notices","getTransitionName","add","notice","previousState","noticeIndex","v","updatedNotices","splice","updateKey","shift","remove","transitionProps","getTransitionProps","noticeNodes","Boolean","content","onClose","createChainedFunction","noticeProps","Notice","top","left","properties","getContainer","div","appendChild","body","Vue","self","$refs","notification","removeNotice","component","destroy","$destroy","parentNode","removeChild","p","ref","mentionsProps","autoFocus","array","defaultValue","notFoundContent","placement","character","characterRender","vcMentionsProps","defaultProps","element","prop","getComputedStyle","getPropertyValue","overflow","HTMLElement","parent","documentElement","getElementPosition","rect","pageYOffset","pageXOffset","lazyLoadProps","debounce","elementType","height","offset","offsetBottom","offsetHorizontal","offsetLeft","offsetRight","offsetTop","offsetVertical","threshold","throttle","_propsSymbol","lazyLoadHandler","_mounted","eventNode","getEventNode","flush","resizeHander","addEventListener","scrollHander","cancel","detachListeners","parentScroll","getOffset","_offsetAll","_offsetVertical","_offsetHorizontal","bottom","container","customOffset","offsetParent","isHidden","innerHeight","innerWidth","containerPosition","offsetHeight","offsetWidth","elementPosition","inViewport","warning","_$props2","LazyLoad","MenuItemGroup","renderInnerMenuItem","titleClassName","listClassName","listeners","String","attribute","isSelected","MenuItem","prevActive","callRef","onlyScrollIfNeeded","ENTER","onMouseLeave","domEvent","onMouseEnter","info","keyPath","getPrefixCls","getActiveClassName","getSelectedClassName","getDisabledClassName","mouseEvent","mouseleave","mouseenter","paddingLeft","liProps","connected","_ref2","OptionProps","boolean","inject","mentionsContext","_mentionsContext","setActiveIndex","selectOption","_mentionsContext$onFo","onFocus","_mentionsContext$onBl","onBlur","activeOption","option","BUILT_IN_PLACEMENTS","bottomRight","points","adjustX","adjustY","topRight","loading","getDropdownPrefix","getDropdownElement","DropdownMenu","popupElement","popupVisible","popup","popupPlacement","popupTransitionName","Mentions","inheritAttrs","model","event","provide","_$props$value","_$props$defaultValue","_value","measuring","measureText","measurePrefix","isFocus","val","measure","scrollTop","textarea","triggerChange","$forceUpdate","$emit","onChange","_ref$target","target","composing","isComposing","which","_$data","optionLen","getOptions","newActiveIndex","ESC","stopMeasure","onKeyUp","_$data2","prevMeasureText","_$props2$prefix","selectionStartText","_getLastMeasureIndex","measureIndex","validateMeasure","matchOption","startMeasure","onInputFocus","onInputBlur","onDropdownFocus","onDropdownBlur","focusId","_$data3","_option$value","mentionValue","_replaceWithMeasure","targetMeasureText","_$props3","_$props3$children","list","_$data4","_getOptionProps","restProps","inputProps","directives","$attrs","domProps","change","keyup","KeywordTrigger","Option","autoAdjustOverflow","topLeft","bottomLeft","leftTop","rightTop","guid","popupPlacementMap","horizontal","vertical","popupOffset","isOpen","handleUpdated","minWidthTimeout","mouseenterTimeout","requestAnimationTimeout","adjustWidth","menu","menuInstance","onTitleClick","RIGHT","triggerOpenChange","LEFT","onPopupVisibleChange","subMenuInstance","onTitleMouseEnter","onTitleMouseLeave","_$props4","onSubMenuClick","addKeyPath","getOpenClassName","saveMenuInstance","open","_this4","trigger","isChildrenSelected","subMenuTitle","popupMenu","minWidth","_getListeners","subPopupMenuProps","id","internalMenuId","baseProps","haveRendered","haveOpened","transitionAppear","animProps","appear","css","_attrs","isInlineMode","mouseEvents","titleClickEvents","titleMouseEvents","ariaOwns","titleProps","icon","triggerNode","popupAlign","PlaceMent","Component","paths","path","pathStyle","transitionDuration","prevTimeStamp","mixedType","propTypes","percent","strokeColor","strokeLinecap","strokeWidth","trailColor","trailWidth","circlePropTypes","gapPosition","gapDegree","circleDefaultProps","use","gradientSeed","stripPercentToNumber","replace","toArray","symArray","getPathStyles","radius","beginPositionX","beginPositionY","endPositionX","endPositionY","pathString","Math","PI","stroke","strokeDasharray","strokeDashoffset","transition","Circle","gradientId","getStokeList","percentList","strokeColorList","stackPtg","ptg","color","prototype","toString","_getPathStyles","pathProps","d","opacity","_getPathStyles2","gradient","pathFirst","viewBox","x1","y1","x2","y2","sort","a","b","Menu","commonPropsType","create","updateMiniStore","selectedKey","innerMenu","getWrappedInstance","changed","processSingle","oneChanged","animationName","Provider","ITouchProps","activeClassName","activeStyle","triggerEvent","ev","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","onMouseDown","onMouseUp","_$props$activeClassNa","_$props$activeStyle","touchstart","touchmove","touchend","touchcancel","mousedown","mouseup","last","locale","showTitle","itemRender","Function","handleClick","handleKeyPress","_classNames","cls","changeSize","quickGo","selectComponentClass","current","pageSizeOptions","pageSize","buildOptionText","selectPrefixCls","goButton","goInputText","getValidValue","isNaN","Number","defaultBuildOptionText","opt","handleChange","_e$target","handleBlur","relatedTarget","go","Select","changeSelect","goInput","gotoButton","showSearch","optionLabelProp","dropdownMatchSelectWidth","calculatePage","statePageSize","floor","total","defaultCurrent","defaultPageSize","hideOnSinglePage","showSizeChanger","showLessItems","showPrevNextJumpers","showQuickJumper","showTotal","simple","prevIcon","nextIcon","jumpPrevIcon","jumpNextIcon","hasOnChange","console","warn","stateCurrent","min","stateCurrentInputValue","newState","newCurrent","oldValue","paginationNode","lastCurrentNode","querySelector","activeElement","_current","getJumpPrevPage","max","getJumpNextPage","getItemIcon","inputValue","allPages","isValid","isFinite","isInteger","shouldDisplayQuickJumper","handleKeyDown","handleKeyUp","changePageSize","size","preCurrent","currentPage","prev","hasPrev","next","hasNext","jumpPrev","jumpNext","runIfEnter","charCode","_len","restParams","_key","apply","runIfEnterPrev","runIfEnterNext","runIfEnterJumpPrev","runIfEnterJumpNext","handleGoTO","pagerList","firstPager","lastPager","pageBufferSize","prevPage","nextPage","pagerProps","keypress","Pager","prevItemTitle","nextItemTitle","jumpPrevClassString","jumpNextClassString","_i","_active","unshift","totalText","prevDisabled","nextDisabled","unselectable","Options"],"mappings":"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","file":"js/chunk-vendors~5cf44f0f.a822b88b.js","sourcesContent":["import _toConsumableArray from 'babel-runtime/helpers/toConsumableArray';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport PropTypes from '../_util/vue-types';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport SubMenu from './SubMenu';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getWidth, setStyle, menuAllProps } from './util';\nimport { cloneElement } from '../_util/vnode';\nimport { getClass, getPropsData, getEvents, getListeners } from '../_util/props-util';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nvar MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';\nvar FLOAT_PRECISION_ADJUST = 0.5;\n\n// Fix ssr\nif (canUseDOM) {\n require('mutationobserver-shim');\n}\n\nvar DOMWrap = {\n name: 'DOMWrap',\n mixins: [BaseMixin],\n data: function data() {\n this.resizeObserver = null;\n this.mutationObserver = null;\n\n // original scroll size of the list\n this.originalTotalWidth = 0;\n\n // copy of overflowed items\n this.overflowedItems = [];\n\n // cache item of the original items (so we can track the size and order)\n this.menuItemSizes = [];\n return {\n lastVisibleIndex: undefined\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.setChildrenWidthAndResize();\n if (_this.level === 1 && _this.mode === 'horizontal') {\n var menuUl = _this.$el;\n if (!menuUl) {\n return;\n }\n _this.resizeObserver = new ResizeObserver(function (entries) {\n entries.forEach(_this.setChildrenWidthAndResize);\n });\n\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this.resizeObserver.observe(el);\n });\n\n if (typeof MutationObserver !== 'undefined') {\n _this.mutationObserver = new MutationObserver(function () {\n _this.resizeObserver.disconnect();\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this.resizeObserver.observe(el);\n });\n _this.setChildrenWidthAndResize();\n });\n _this.mutationObserver.observe(menuUl, {\n attributes: false,\n childList: true,\n subTree: false\n });\n }\n }\n });\n },\n beforeDestroy: function beforeDestroy() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n },\n\n methods: {\n // get all valid menuItem nodes\n getMenuItemNodes: function getMenuItemNodes() {\n var prefixCls = this.$props.prefixCls;\n\n var ul = this.$el;\n if (!ul) {\n return [];\n }\n\n // filter out all overflowed indicator placeholder\n return [].slice.call(ul.children).filter(function (node) {\n return node.className.split(' ').indexOf(prefixCls + '-overflowed-submenu') < 0;\n });\n },\n getOverflowedSubMenuItem: function getOverflowedSubMenuItem(keyPrefix, overflowedItems, renderPlaceholder) {\n var h = this.$createElement;\n var _$props = this.$props,\n overflowedIndicator = _$props.overflowedIndicator,\n level = _$props.level,\n mode = _$props.mode,\n prefixCls = _$props.prefixCls,\n theme = _$props.theme;\n\n if (level !== 1 || mode !== 'horizontal') {\n return null;\n }\n // put all the overflowed item inside a submenu\n // with a title of overflow indicator ('...')\n var copy = this.$slots['default'][0];\n\n var _getPropsData = getPropsData(copy),\n title = _getPropsData.title,\n rest = _objectWithoutProperties(_getPropsData, ['title']); // eslint-disable-line no-unused-vars\n\n\n var events = getEvents(copy);\n var style = {};\n var key = keyPrefix + '-overflowed-indicator';\n var eventKey = keyPrefix + '-overflowed-indicator';\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = {\n display: 'none'\n };\n } else if (renderPlaceholder) {\n style = {\n visibility: 'hidden',\n // prevent from taking normal dom space\n position: 'absolute'\n };\n key = key + '-placeholder';\n eventKey = eventKey + '-placeholder';\n }\n\n var popupClassName = theme ? prefixCls + '-' + theme : '';\n var props = {};\n var on = {};\n menuAllProps.props.forEach(function (k) {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n menuAllProps.on.forEach(function (k) {\n if (events[k] !== undefined) {\n on[k] = events[k];\n }\n });\n var subMenuProps = {\n props: _extends({\n title: overflowedIndicator,\n popupClassName: popupClassName\n }, props, {\n eventKey: eventKey,\n disabled: false\n }),\n 'class': prefixCls + '-overflowed-submenu',\n key: key,\n style: style,\n on: on\n };\n\n return h(\n SubMenu,\n subMenuProps,\n [overflowedItems]\n );\n },\n\n\n // memorize rendered menuSize\n setChildrenWidthAndResize: function setChildrenWidthAndResize() {\n if (this.mode !== 'horizontal') {\n return;\n }\n var ul = this.$el;\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];\n\n // need last overflowed indicator for calculating length;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'inline-block');\n\n var menuItemNodes = this.getMenuItemNodes();\n\n // 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 var overflowedItems = menuItemNodes.filter(function (c) {\n return c.className.split(' ').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0;\n });\n\n overflowedItems.forEach(function (c) {\n setStyle(c, 'display', 'inline-block');\n });\n\n this.menuItemSizes = menuItemNodes.map(function (c) {\n return getWidth(c);\n });\n\n overflowedItems.forEach(function (c) {\n setStyle(c, 'display', 'none');\n });\n this.overflowedIndicatorWidth = getWidth(ul.children[ul.children.length - 1]);\n this.originalTotalWidth = this.menuItemSizes.reduce(function (acc, cur) {\n return acc + cur;\n }, 0);\n this.handleResize();\n // prevent the overflowed indicator from taking space;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'none');\n },\n handleResize: function handleResize() {\n var _this2 = this;\n\n if (this.mode !== 'horizontal') {\n return;\n }\n\n var ul = this.$el;\n if (!ul) {\n return;\n }\n var width = getWidth(ul);\n\n this.overflowedItems = [];\n var currentSumWidth = 0;\n\n // index for last visible child in horizontal mode\n var lastVisibleIndex = void 0;\n\n // 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 if (this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {\n lastVisibleIndex = -1;\n\n this.menuItemSizes.forEach(function (liWidth) {\n currentSumWidth += liWidth;\n if (currentSumWidth + _this2.overflowedIndicatorWidth <= width) {\n lastVisibleIndex += 1;\n }\n });\n }\n\n this.setState({ lastVisibleIndex: lastVisibleIndex });\n },\n renderChildren: function renderChildren(children) {\n var _this3 = this;\n\n // need to take care of overflowed items in horizontal mode\n var lastVisibleIndex = this.$data.lastVisibleIndex;\n\n var className = getClass(this);\n return (children || []).reduce(function (acc, childNode, index) {\n var item = childNode;\n var eventKey = getPropsData(childNode).eventKey;\n if (_this3.mode === 'horizontal') {\n var overflowed = _this3.getOverflowedSubMenuItem(eventKey, []);\n if (lastVisibleIndex !== undefined && className[_this3.prefixCls + '-root'] !== -1) {\n if (index > lastVisibleIndex) {\n item = cloneElement(childNode,\n // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件\n {\n style: { display: 'none' },\n props: { eventKey: eventKey + '-hidden' },\n 'class': MENUITEM_OVERFLOWED_CLASSNAME\n });\n }\n if (index === lastVisibleIndex + 1) {\n _this3.overflowedItems = children.slice(lastVisibleIndex + 1).map(function (c) {\n return cloneElement(c,\n // children[index].key will become '.$key' in clone by default,\n // we have to overwrite with the correct key explicitly\n {\n key: getPropsData(c).eventKey,\n props: { mode: 'vertical-left' }\n });\n });\n\n overflowed = _this3.getOverflowedSubMenuItem(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(eventKey, [], true));\n }\n return ret;\n }\n return [].concat(_toConsumableArray(acc), [item]);\n }, []);\n }\n },\n\n render: function render() {\n var h = arguments[0];\n\n var Tag = this.$props.tag;\n var tagProps = {\n on: getListeners(this)\n };\n return h(\n Tag,\n tagProps,\n [this.renderChildren(this.$slots['default'])]\n );\n }\n};\n\nDOMWrap.props = {\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n prefixCls: PropTypes.string,\n level: PropTypes.number,\n theme: PropTypes.string,\n overflowedIndicator: PropTypes.node,\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n tag: PropTypes.string.def('div')\n};\n\nexport default DOMWrap;","import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { connect } from '../_util/store';\nimport BaseMixin from '../_util/BaseMixin';\nimport KeyCode from '../_util/KeyCode';\nimport classNames from 'classnames';\nimport { getKeyFromChildrenIndex, loopMenuItem, noop, isMobileDevice } from './util';\nimport DOMWrap from './DOMWrap';\nimport { cloneElement } from '../_util/vnode';\nimport { initDefaultProps, getOptionProps, getPropsData, getEvents, getComponentFromProp, getListeners } from '../_util/props-util';\n\nfunction allDisabled(arr) {\n if (!arr.length) {\n return true;\n }\n return arr.every(function (c) {\n return !!c.disabled;\n });\n}\n\nfunction updateActiveKey(store, menuId, activeKey) {\n var state = store.getState();\n store.setState({\n activeKey: _extends({}, 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 saveRef(key, c) {\n if (c) {\n var index = this.instanceArrayKeyIndexMap[key];\n this.instanceArray[index] = c;\n }\n}\nexport function getActiveKey(props, originalActiveKey) {\n var activeKey = originalActiveKey;\n var eventKey = props.eventKey,\n defaultActiveFirst = props.defaultActiveFirst,\n children = props.children;\n\n if (activeKey !== undefined && activeKey !== null) {\n var found = void 0;\n loopMenuItem(children, function (c, i) {\n var propsData = c.componentOptions.propsData || {};\n if (c && !propsData.disabled && activeKey === getKeyFromChildrenIndex(c, eventKey, i)) {\n found = true;\n }\n });\n if (found) {\n return activeKey;\n }\n }\n activeKey = null;\n if (defaultActiveFirst) {\n loopMenuItem(children, function (c, i) {\n var propsData = c.componentOptions.propsData || {};\n var noActiveKey = activeKey === null || activeKey === undefined;\n if (noActiveKey && c && !propsData.disabled) {\n activeKey = getKeyFromChildrenIndex(c, eventKey, i);\n }\n });\n return activeKey;\n }\n return activeKey;\n}\n\nvar SubPopupMenu = {\n name: 'SubPopupMenu',\n props: initDefaultProps({\n // onSelect: PropTypes.func,\n // onClick: PropTypes.func,\n // onDeselect: PropTypes.func,\n // onOpenChange: PropTypes.func,\n // onDestroy: PropTypes.func,\n prefixCls: PropTypes.string,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n openKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n visible: PropTypes.bool,\n parentMenu: PropTypes.object,\n eventKey: PropTypes.string,\n store: PropTypes.object,\n forceSubMenuRender: PropTypes.bool,\n\n // adding in refactor\n focusable: PropTypes.bool,\n multiple: PropTypes.bool,\n defaultActiveFirst: PropTypes.bool,\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n level: PropTypes.number,\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n triggerSubMenuAction: PropTypes.oneOf(['click', 'hover']),\n inlineIndent: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n manualRef: PropTypes.func,\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n overflowedIndicator: PropTypes.any,\n children: PropTypes.any.def([]),\n __propsSymbol__: PropTypes.any // mock componentWillReceiveProps\n }, {\n prefixCls: 'rc-menu',\n mode: 'vertical',\n level: 1,\n inlineIndent: 24,\n visible: true,\n focusable: true,\n manualRef: noop\n }),\n\n mixins: [BaseMixin],\n created: function created() {\n var props = getOptionProps(this);\n this.prevProps = _extends({}, props);\n props.store.setState({\n activeKey: _extends({}, props.store.getState().activeKey, _defineProperty({}, props.eventKey, getActiveKey(props, props.activeKey)))\n });\n this.instanceArray = [];\n },\n mounted: function mounted() {\n // invoke customized ref to expose component to mixin\n if (this.manualRef) {\n this.manualRef(this);\n }\n },\n updated: function updated() {\n var props = getOptionProps(this);\n var prevProps = this.prevProps;\n var originalActiveKey = 'activeKey' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];\n var activeKey = getActiveKey(props, originalActiveKey);\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 if (activeKey !== prevActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n }\n }\n this.prevProps = _extends({}, props);\n },\n\n methods: {\n // all keyboard events callbacks run from here at first\n onKeyDown: function onKeyDown(e, callback) {\n var keyCode = e.keyCode;\n var handled = void 0;\n this.getFlatInstanceArray().forEach(function (obj) {\n if (obj && obj.active && obj.onKeyDown) {\n handled = obj.onKeyDown(e);\n }\n });\n if (handled) {\n return 1;\n }\n var activeItem = null;\n if (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN) {\n activeItem = this.step(keyCode === KeyCode.UP ? -1 : 1);\n }\n if (activeItem) {\n e.preventDefault();\n updateActiveKey(this.$props.store, getEventKey(this.$props), activeItem.eventKey);\n\n if (typeof callback === 'function') {\n callback(activeItem);\n }\n\n return 1;\n }\n return undefined;\n },\n onItemHover: function onItemHover(e) {\n var key = e.key,\n hover = e.hover;\n\n updateActiveKey(this.$props.store, getEventKey(this.$props), hover ? key : null);\n },\n onDeselect: function onDeselect(selectInfo) {\n this.__emit('deselect', selectInfo);\n },\n onSelect: function onSelect(selectInfo) {\n this.__emit('select', selectInfo);\n },\n onClick: function onClick(e) {\n this.__emit('click', e);\n },\n onOpenChange: function onOpenChange(e) {\n this.__emit('openChange', e);\n },\n onDestroy: function onDestroy(key) {\n this.__emit('destroy', key);\n },\n getFlatInstanceArray: function getFlatInstanceArray() {\n return this.instanceArray;\n },\n getOpenTransitionName: function getOpenTransitionName() {\n return this.$props.openTransitionName;\n },\n step: function step(direction) {\n var children = this.getFlatInstanceArray();\n var activeKey = this.$props.store.getState().activeKey[getEventKey(this.$props)];\n var len = children.length;\n if (!len) {\n return null;\n }\n if (direction < 0) {\n children = children.concat().reverse();\n }\n // find current activeIndex\n var activeIndex = -1;\n children.every(function (c, ci) {\n if (c && c.eventKey === activeKey) {\n activeIndex = ci;\n return false;\n }\n return true;\n });\n if (!this.defaultActiveFirst && activeIndex !== -1 && allDisabled(children.slice(activeIndex, len - 1))) {\n return undefined;\n }\n var start = (activeIndex + 1) % len;\n var i = start;\n\n do {\n var child = children[i];\n if (!child || child.disabled) {\n i = (i + 1) % len;\n } else {\n return child;\n }\n } while (i !== start);\n\n return null;\n },\n getIcon: function getIcon(instance, name) {\n if (instance.$createElement) {\n var temp = instance[name];\n if (temp !== undefined) {\n return temp;\n }\n return instance.$slots[name] || instance.$scopedSlots[name];\n } else {\n var _temp = getPropsData(instance)[name];\n if (_temp !== undefined) {\n return _temp;\n }\n var slotsProp = [];\n var componentOptions = instance.componentOptions || {};\n (componentOptions.children || []).forEach(function (child) {\n if (child.data && child.data.slot === name) {\n if (child.tag === 'template') {\n slotsProp.push(child.children);\n } else {\n slotsProp.push(child);\n }\n }\n });\n return slotsProp.length ? slotsProp : undefined;\n }\n },\n renderCommonMenuItem: function renderCommonMenuItem(child, i, extraProps) {\n var _this = this;\n\n if (child.tag === undefined) {\n return child;\n }\n var state = this.$props.store.getState();\n var props = this.$props;\n var key = getKeyFromChildrenIndex(child, props.eventKey, i);\n var childProps = child.componentOptions.propsData || {};\n\n var isActive = key === state.activeKey[getEventKey(this.$props)];\n if (!childProps.disabled) {\n // manualRef的执行顺序不能保证,使用key映射ref在this.instanceArray中的位置\n this.instanceArrayKeyIndexMap[key] = Object.keys(this.instanceArrayKeyIndexMap).length;\n }\n var childListeners = getEvents(child);\n var newChildProps = {\n props: _extends({\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 ? noop : saveRef.bind(this, key),\n eventKey: key,\n active: !childProps.disabled && isActive,\n multiple: props.multiple,\n openTransitionName: this.getOpenTransitionName(),\n openAnimation: props.openAnimation,\n subMenuOpenDelay: props.subMenuOpenDelay,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n builtinPlacements: props.builtinPlacements,\n itemIcon: this.getIcon(child, 'itemIcon') || this.getIcon(this, 'itemIcon'),\n expandIcon: this.getIcon(child, 'expandIcon') || this.getIcon(this, 'expandIcon')\n }, extraProps),\n on: {\n click: function click(e) {\n (childListeners.click || noop)(e);\n _this.onClick(e);\n },\n itemHover: this.onItemHover,\n openChange: this.onOpenChange,\n deselect: this.onDeselect,\n // destroy: this.onDestroy,\n select: this.onSelect\n }\n };\n // ref: https://github.com/ant-design/ant-design/issues/13943\n if (props.mode === 'inline' || isMobileDevice()) {\n newChildProps.props.triggerSubMenuAction = 'click';\n }\n return cloneElement(child, newChildProps);\n },\n renderMenuItem: function renderMenuItem(c, i, subMenuKey) {\n if (!c) {\n return null;\n }\n var state = this.$props.store.getState();\n var extraProps = {\n openKeys: state.openKeys,\n selectedKeys: state.selectedKeys,\n triggerSubMenuAction: this.triggerSubMenuAction,\n isRootMenu: false,\n subMenuKey: subMenuKey\n };\n return this.renderCommonMenuItem(c, i, extraProps);\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n\n var props = _objectWithoutProperties(this.$props, []);\n\n var eventKey = props.eventKey,\n prefixCls = props.prefixCls,\n visible = props.visible,\n level = props.level,\n mode = props.mode,\n theme = props.theme;\n\n this.instanceArray = [];\n this.instanceArrayKeyIndexMap = {};\n var className = classNames(props.prefixCls, props.prefixCls + '-' + props.mode);\n var domWrapProps = {\n props: {\n tag: 'ul',\n // hiddenClassName: `${prefixCls}-hidden`,\n visible: visible,\n prefixCls: prefixCls,\n level: level,\n mode: mode,\n theme: theme,\n overflowedIndicator: getComponentFromProp(this, 'overflowedIndicator')\n },\n attrs: {\n role: props.role || 'menu'\n },\n 'class': className,\n // Otherwise, the propagated click event will trigger another onClick\n on: omit(getListeners(this), ['click'])\n };\n // if (props.id) {\n // domProps.id = props.id\n // }\n if (props.focusable) {\n domWrapProps.attrs.tabIndex = '0';\n domWrapProps.on.keydown = this.onKeyDown;\n }\n return (\n // ESLint is not smart enough to know that the type of `children` was checked.\n /* eslint-disable */\n h(\n DOMWrap,\n domWrapProps,\n [props.children.map(function (c, i) {\n return _this2.renderMenuItem(c, i, eventKey || '0-menu-');\n })]\n )\n /*eslint -enable */\n\n );\n }\n};\n\nexport default connect()(SubPopupMenu);","/**\n * Cut input selection into 2 part and return text before selection start\n */\nexport function getBeforeSelectionText(input) {\n var selectionStart = input.selectionStart;\n\n return input.value.slice(0, selectionStart);\n}\n\nfunction lower(char) {\n return (char || '').toLowerCase();\n}\n\n/**\n * Find the last match prefix index\n */\nexport function getLastMeasureIndex(text) {\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var prefixList = Array.isArray(prefix) ? prefix : [prefix];\n return prefixList.reduce(function (lastMatch, prefixStr) {\n var lastIndex = text.lastIndexOf(prefixStr);\n if (lastIndex > lastMatch.location) {\n return {\n location: lastIndex,\n prefix: prefixStr\n };\n }\n return lastMatch;\n }, { location: -1, prefix: '' });\n}\n\nfunction reduceText(text, targetText, split) {\n var firstChar = text[0];\n if (!firstChar || firstChar === split) {\n return text;\n }\n\n // Reuse rest text as it can\n var restText = text;\n var targetTextLen = targetText.length;\n for (var i = 0; i < targetTextLen; i += 1) {\n if (lower(restText[i]) !== lower(targetText[i])) {\n restText = restText.slice(i);\n break;\n } else if (i === targetTextLen - 1) {\n restText = restText.slice(targetTextLen);\n }\n }\n\n return restText;\n}\n\n/**\n * Paint targetText into current text:\n * text: little@litest\n * targetText: light\n * => little @light test\n */\nexport function replaceWithMeasure(text, measureConfig) {\n var measureLocation = measureConfig.measureLocation,\n prefix = measureConfig.prefix,\n targetText = measureConfig.targetText,\n selectionStart = measureConfig.selectionStart,\n split = measureConfig.split;\n\n // Before text will append one space if have other text\n\n var beforeMeasureText = text.slice(0, measureLocation);\n if (beforeMeasureText[beforeMeasureText.length - split.length] === split) {\n beforeMeasureText = beforeMeasureText.slice(0, beforeMeasureText.length - split.length);\n }\n if (beforeMeasureText) {\n beforeMeasureText = '' + beforeMeasureText + split;\n }\n\n // Cut duplicate string with current targetText\n var restText = reduceText(text.slice(selectionStart), targetText.slice(selectionStart - measureLocation - prefix.length), split);\n if (restText.slice(0, split.length) === split) {\n restText = restText.slice(split.length);\n }\n\n var connectedStartText = '' + beforeMeasureText + prefix + targetText + split;\n\n return {\n text: '' + connectedStartText + restText,\n selectionLocation: connectedStartText.length\n };\n}\n\nexport function setInputSelection(input, location) {\n input.setSelectionRange(location, location);\n\n /**\n * Reset caret into view.\n * Since this function always called by user control, it's safe to focus element.\n */\n input.blur();\n input.focus();\n}\n\nexport function validateSearch() {\n var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var split = props.split;\n\n return !split || text.indexOf(split) === -1;\n}\n\nexport function filterOption() {\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$value = _ref.value,\n value = _ref$value === undefined ? '' : _ref$value;\n\n var lowerCase = input.toLowerCase();\n return value.toLowerCase().indexOf(lowerCase) !== -1;\n}","import PropTypes from '../_util/vue-types';\nexport default {\n prefixCls: PropTypes.string.def('rc-menu'),\n focusable: PropTypes.bool.def(true),\n multiple: PropTypes.bool,\n defaultActiveFirst: PropTypes.bool,\n visible: PropTypes.bool.def(true),\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])).def([]),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])).def([]),\n openKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']).def('vertical'),\n triggerSubMenuAction: PropTypes.string.def('hover'),\n subMenuOpenDelay: PropTypes.number.def(0.1),\n subMenuCloseDelay: PropTypes.number.def(0.1),\n level: PropTypes.number.def(1),\n inlineIndent: PropTypes.number.def(24),\n theme: PropTypes.oneOf(['light', 'dark']).def('light'),\n getPopupContainer: PropTypes.func,\n openTransitionName: PropTypes.string,\n forceSubMenuRender: PropTypes.bool,\n selectable: PropTypes.bool,\n isRootMenu: PropTypes.bool.def(true),\n builtinPlacements: PropTypes.object.def(function () {\n return {};\n }),\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n overflowedIndicator: PropTypes.any\n};","import _extends from 'babel-runtime/helpers/extends';\nimport _slicedToArray from 'babel-runtime/helpers/slicedToArray';\n// 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'\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'\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 : '');\n\n // Facebook mobile app's integrated browser adds a bunch of strings that\n // match everything. Strip it out if it exists.\n var tmp = ua.split('[FBAN');\n if (typeof tmp[1] !== 'undefined') {\n var _tmp = tmp;\n\n var _tmp2 = _slicedToArray(_tmp, 1);\n\n ua = _tmp2[0];\n }\n\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 tmp = ua.split('Twitter');\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\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;\n\n // excludes 'other' devices and ipods, targeting touchscreen phones\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\n return result;\n}\n\nvar defaultResult = _extends({}, isMobile(), {\n isMobile: isMobile\n});\n\nexport default defaultResult;","import _typeof from 'babel-runtime/helpers/typeof';\nimport isMobile from './utils/isMobile';\n\nexport function noop() {}\n\nexport function getKeyFromChildrenIndex(child, menuEventKey, index) {\n var prefix = menuEventKey || '';\n return child.key === undefined ? prefix + 'item_' + index : child.key;\n}\n\nexport function getMenuIdFromSubMenuEventKey(eventKey) {\n return eventKey + '-menu-';\n}\n\nexport function loopMenuItem(children, cb) {\n var index = -1;\n children.forEach(function (c) {\n index++;\n if (c && c.type && c.type.isMenuItemGroup) {\n c.$slots['default'].forEach(function (c2) {\n index++;\n c.componentOptions && cb(c2, index);\n });\n } else {\n c.componentOptions && cb(c, index);\n }\n });\n}\n\nexport function loopMenuItemRecursively(children, keys, ret) {\n if (!children || ret.find) {\n return;\n }\n children.forEach(function (c) {\n if (ret.find) {\n return;\n }\n if (c.data && c.data.slot && c.data.slot !== 'default') {\n return;\n }\n if (c && c.componentOptions) {\n var options = c.componentOptions.Ctor.options;\n if (!options || !(options.isSubMenu || options.isMenuItem || options.isMenuItemGroup)) {\n return;\n }\n if (keys.indexOf(c.key) !== -1) {\n ret.find = true;\n } else if (c.componentOptions.children) {\n loopMenuItemRecursively(c.componentOptions.children, keys, ret);\n }\n }\n });\n}\n\nexport var menuAllProps = {\n props: ['defaultSelectedKeys', 'selectedKeys', 'defaultOpenKeys', 'openKeys', 'mode', 'getPopupContainer', 'openTransitionName', 'openAnimation', 'subMenuOpenDelay', 'subMenuCloseDelay', 'forceSubMenuRender', 'triggerSubMenuAction', 'level', 'selectable', 'multiple', 'visible', 'focusable', 'defaultActiveFirst', 'prefixCls', 'inlineIndent', 'parentMenu', 'title', 'rootPrefixCls', 'eventKey', 'active', 'popupAlign', 'popupOffset', 'isOpen', 'renderMenuItem', 'manualRef', 'subMenuKey', 'disabled', 'index', 'isSelected', 'store', 'activeKey', 'builtinPlacements', 'overflowedIndicator',\n\n // the following keys found need to be removed from test regression\n 'attribute', 'value', 'popupClassName', 'inlineCollapsed', 'menu', 'theme', 'itemIcon', 'expandIcon'],\n on: ['select', 'deselect', 'destroy', 'openChange', 'itemHover', 'titleMouseenter', 'titleMouseleave', 'titleClick']\n};\n\n// 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\nexport var getWidth = function getWidth(elem) {\n var width = elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width;\n if (width) {\n width = +width.toFixed(6);\n }\n return width || 0;\n};\n\nexport var setStyle = function setStyle(elem, styleProperty, value) {\n if (elem && _typeof(elem.style) === 'object') {\n elem.style[styleProperty] = value;\n }\n};\n\nexport var isMobileDevice = function isMobileDevice() {\n return isMobile.any;\n};","export default {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages'\n};","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../_util/vue-types';\nimport { getStyle, getComponentFromProp, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\n\nfunction noop() {}\n\nexport default {\n mixins: [BaseMixin],\n props: {\n duration: PropTypes.number.def(1.5),\n closable: PropTypes.bool,\n prefixCls: PropTypes.string,\n update: PropTypes.bool,\n closeIcon: PropTypes.any\n },\n watch: {\n duration: function duration() {\n this.restartCloseTimer();\n }\n },\n\n mounted: function mounted() {\n this.startCloseTimer();\n },\n updated: function updated() {\n if (this.update) {\n this.restartCloseTimer();\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.clearCloseTimer();\n this.willDestroy = true; // beforeDestroy调用后依然会触发onMouseleave事件\n },\n\n methods: {\n close: function close(e) {\n if (e) {\n e.stopPropagation();\n }\n this.clearCloseTimer();\n this.__emit('close');\n },\n startCloseTimer: function startCloseTimer() {\n var _this = this;\n\n this.clearCloseTimer();\n if (!this.willDestroy && this.duration) {\n this.closeTimer = setTimeout(function () {\n _this.close();\n }, this.duration * 1000);\n }\n },\n clearCloseTimer: function clearCloseTimer() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n },\n restartCloseTimer: function restartCloseTimer() {\n this.clearCloseTimer();\n this.startCloseTimer();\n }\n },\n\n render: function render() {\n var _className;\n\n var h = arguments[0];\n var prefixCls = this.prefixCls,\n closable = this.closable,\n clearCloseTimer = this.clearCloseTimer,\n startCloseTimer = this.startCloseTimer,\n $slots = this.$slots,\n close = this.close;\n\n var componentClass = prefixCls + '-notice';\n var className = (_className = {}, _defineProperty(_className, '' + componentClass, 1), _defineProperty(_className, componentClass + '-closable', closable), _className);\n var style = getStyle(this);\n var closeIcon = getComponentFromProp(this, 'closeIcon');\n return h(\n 'div',\n {\n 'class': className,\n style: style || { right: '50%' },\n on: {\n 'mouseenter': clearCloseTimer,\n 'mouseleave': startCloseTimer,\n 'click': getListeners(this).click || noop\n }\n },\n [h(\n 'div',\n { 'class': componentClass + '-content' },\n [$slots['default']]\n ), closable ? h(\n 'a',\n {\n attrs: { tabIndex: '0' },\n on: {\n 'click': close\n },\n 'class': componentClass + '-close' },\n [closeIcon || h('span', { 'class': componentClass + '-close-x' })]\n ) : null]\n );\n }\n};","import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport Vue from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport { getStyle, getComponentFromProp } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport createChainedFunction from '../_util/createChainedFunction';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport Notice from './Notice';\nimport Base from '../base';\n\nfunction noop() {}\n\nvar seed = 0;\nvar now = Date.now();\n\nfunction getUuid() {\n return 'rcNotification_' + now + '_' + seed++;\n}\n\nvar Notification = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string.def('rc-notification'),\n transitionName: PropTypes.string,\n animation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).def('fade'),\n maxCount: PropTypes.number,\n closeIcon: PropTypes.any\n },\n data: function data() {\n return {\n notices: []\n };\n },\n\n methods: {\n getTransitionName: function getTransitionName() {\n var props = this.$props;\n var transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = props.prefixCls + '-' + props.animation;\n }\n return transitionName;\n },\n add: function add(notice) {\n var key = notice.key = notice.key || getUuid();\n var maxCount = this.$props.maxCount;\n\n this.setState(function (previousState) {\n var notices = previousState.notices;\n var noticeIndex = notices.map(function (v) {\n return v.key;\n }).indexOf(key);\n var updatedNotices = notices.concat();\n if (noticeIndex !== -1) {\n updatedNotices.splice(noticeIndex, 1, notice);\n } else {\n if (maxCount && notices.length >= maxCount) {\n // XXX, use key of first item to update new added (let React to move exsiting\n // instead of remove and mount). Same key was used before for both a) external\n // manual control and b) internal react 'key' prop , which is not that good.\n notice.updateKey = updatedNotices[0].updateKey || updatedNotices[0].key;\n updatedNotices.shift();\n }\n updatedNotices.push(notice);\n }\n return {\n notices: updatedNotices\n };\n });\n },\n remove: function remove(key) {\n this.setState(function (previousState) {\n return {\n notices: previousState.notices.filter(function (notice) {\n return notice.key !== key;\n })\n };\n });\n }\n },\n\n render: function render(h) {\n var _this = this;\n\n var prefixCls = this.prefixCls,\n notices = this.notices,\n remove = this.remove,\n getTransitionName = this.getTransitionName;\n\n var transitionProps = getTransitionProps(getTransitionName());\n var noticeNodes = notices.map(function (notice, index) {\n var update = Boolean(index === notices.length - 1 && notice.updateKey);\n var key = notice.updateKey ? notice.updateKey : notice.key;\n\n var content = notice.content,\n duration = notice.duration,\n closable = notice.closable,\n onClose = notice.onClose,\n style = notice.style,\n className = notice['class'];\n\n var close = createChainedFunction(remove.bind(_this, notice.key), onClose);\n var noticeProps = {\n props: {\n prefixCls: prefixCls,\n duration: duration,\n closable: closable,\n update: update,\n closeIcon: getComponentFromProp(_this, 'closeIcon')\n },\n on: {\n close: close,\n click: notice.onClick || noop\n },\n style: style,\n 'class': className,\n key: key\n };\n return h(\n Notice,\n noticeProps,\n [typeof content === 'function' ? content(h) : content]\n );\n });\n var className = _defineProperty({}, prefixCls, 1);\n var style = getStyle(this);\n return h(\n 'div',\n {\n 'class': className,\n style: style || {\n top: '65px',\n left: '50%'\n }\n },\n [h(\n 'transition-group',\n transitionProps,\n [noticeNodes]\n )]\n );\n }\n};\n\nNotification.newInstance = function newNotificationInstance(properties, callback) {\n var _ref = properties || {},\n getContainer = _ref.getContainer,\n style = _ref.style,\n className = _ref['class'],\n props = _objectWithoutProperties(_ref, ['getContainer', 'style', 'class']);\n\n var div = document.createElement('div');\n if (getContainer) {\n var root = getContainer();\n root.appendChild(div);\n } else {\n document.body.appendChild(div);\n }\n var V = Base.Vue || Vue;\n new V({\n el: div,\n mounted: function mounted() {\n var self = this;\n this.$nextTick(function () {\n callback({\n notice: function notice(noticeProps) {\n self.$refs.notification.add(noticeProps);\n },\n removeNotice: function removeNotice(key) {\n self.$refs.notification.remove(key);\n },\n\n component: self,\n destroy: function destroy() {\n self.$destroy();\n self.$el.parentNode.removeChild(self.$el);\n }\n });\n });\n },\n render: function render() {\n var h = arguments[0];\n\n var p = {\n props: props,\n ref: 'notification',\n style: style,\n 'class': className\n };\n return h(Notification, p);\n }\n });\n};\n\nexport default Notification;","// based on rc-notification 3.3.1\nimport Notification from './Notification';\nexport default Notification;","import _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../../_util/vue-types';\nimport { initDefaultProps } from '../../_util/props-util';\nimport { filterOption as defaultFilterOption, validateSearch as defaultValidateSearch } from './util';\nimport { PlaceMent } from './placement';\n\nexport var mentionsProps = {\n autoFocus: PropTypes.bool,\n prefix: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n prefixCls: PropTypes.string,\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n disabled: PropTypes.bool,\n notFoundContent: PropTypes.any,\n split: PropTypes.string,\n transitionName: PropTypes.string,\n placement: PropTypes.oneOf(PlaceMent),\n character: PropTypes.any,\n characterRender: PropTypes.func,\n filterOption: PropTypes.func,\n validateSearch: PropTypes.func,\n getPopupContainer: PropTypes.func\n};\n\nexport var vcMentionsProps = _extends({}, mentionsProps, {\n children: PropTypes.any\n});\n\nexport var defaultProps = {\n prefix: '@',\n split: ' ',\n validateSearch: defaultValidateSearch,\n filterOption: defaultFilterOption\n};\n\nexport default initDefaultProps(vcMentionsProps, defaultProps);","var style = function style(element, prop) {\n var styleVal = '';\n if (typeof getComputedStyle !== 'undefined') {\n styleVal = window.getComputedStyle(element, null).getPropertyValue(prop);\n } else {\n styleVal = element.style[prop];\n }\n return styleVal;\n};\n\nvar overflow = function overflow(element) {\n return style(element, 'overflow') + style(element, 'overflow-y') + style(element, 'overflow-x');\n};\n\nvar scrollParent = function scrollParent(element) {\n if (!(element instanceof window.HTMLElement)) {\n return window;\n }\n\n var parent = element;\n\n while (parent) {\n if (parent === document.body || parent === document.documentElement) {\n break;\n }\n\n if (!parent.parentNode) {\n break;\n }\n if (/(scroll|auto)/.test(overflow(parent))) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return window;\n};\n\nexport default scrollParent;","/*\n * Finds element's position relative to the whole document,\n * rather than to the viewport as it is the case with .getBoundingClientRect().\n */\nexport default function getElementPosition(element) {\n var rect = element.getBoundingClientRect();\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n };\n}","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport addEventListener from '../../vc-util/Dom/addEventListener';\nimport { initDefaultProps } from '../../_util/props-util';\nimport warning from '../../_util/warning';\nimport debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\nimport parentScroll from './utils/parentScroll';\nimport inViewport from './utils/inViewport';\n\nvar lazyLoadProps = {\n debounce: PropTypes.bool,\n elementType: PropTypes.string,\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n offset: PropTypes.number,\n offsetBottom: PropTypes.number,\n offsetHorizontal: PropTypes.number,\n offsetLeft: PropTypes.number,\n offsetRight: PropTypes.number,\n offsetTop: PropTypes.number,\n offsetVertical: PropTypes.number,\n threshold: PropTypes.number,\n throttle: PropTypes.number,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n _propsSymbol: PropTypes.any\n};\n\nexport default {\n name: 'LazyLoad',\n mixins: [BaseMixin],\n props: initDefaultProps(lazyLoadProps, {\n elementType: 'div',\n debounce: true,\n offset: 0,\n offsetBottom: 0,\n offsetHorizontal: 0,\n offsetLeft: 0,\n offsetRight: 0,\n offsetTop: 0,\n offsetVertical: 0,\n throttle: 250\n }),\n data: function data() {\n if (this.throttle > 0) {\n if (this.debounce) {\n this.lazyLoadHandler = debounce(this.lazyLoadHandler, this.throttle);\n } else {\n this.lazyLoadHandler = throttle(this.lazyLoadHandler, this.throttle);\n }\n }\n return {\n visible: false\n };\n },\n\n watch: {\n _propsSymbol: function _propsSymbol() {\n if (!this.visible) {\n this.lazyLoadHandler();\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this._mounted = true;\n var eventNode = _this.getEventNode();\n\n _this.lazyLoadHandler();\n\n if (_this.lazyLoadHandler.flush) {\n _this.lazyLoadHandler.flush();\n }\n _this.resizeHander = addEventListener(window, 'resize', _this.lazyLoadHandler);\n _this.scrollHander = addEventListener(eventNode, 'scroll', _this.lazyLoadHandler);\n });\n },\n beforeDestroy: function beforeDestroy() {\n this._mounted = false;\n if (this.lazyLoadHandler.cancel) {\n this.lazyLoadHandler.cancel();\n }\n\n this.detachListeners();\n },\n\n methods: {\n getEventNode: function getEventNode() {\n return parentScroll(this.$el);\n },\n getOffset: function getOffset() {\n var _$props = this.$props,\n offset = _$props.offset,\n offsetVertical = _$props.offsetVertical,\n offsetHorizontal = _$props.offsetHorizontal,\n offsetTop = _$props.offsetTop,\n offsetBottom = _$props.offsetBottom,\n offsetLeft = _$props.offsetLeft,\n offsetRight = _$props.offsetRight,\n threshold = _$props.threshold;\n\n\n var _offsetAll = threshold || offset;\n var _offsetVertical = offsetVertical || _offsetAll;\n var _offsetHorizontal = offsetHorizontal || _offsetAll;\n\n return {\n top: offsetTop || _offsetVertical,\n bottom: offsetBottom || _offsetVertical,\n left: offsetLeft || _offsetHorizontal,\n right: offsetRight || _offsetHorizontal\n };\n },\n lazyLoadHandler: function lazyLoadHandler() {\n var _this2 = this;\n\n if (!this._mounted) {\n return;\n }\n var offset = this.getOffset();\n var node = this.$el;\n var eventNode = this.getEventNode();\n\n if (inViewport(node, eventNode, offset)) {\n this.setState({ visible: true }, function () {\n _this2.__emit('contentVisible');\n });\n this.detachListeners();\n }\n },\n detachListeners: function detachListeners() {\n this.resizeHander && this.resizeHander.remove();\n this.scrollHander && this.scrollHander.remove();\n }\n },\n render: function render(createElement) {\n var children = this.$slots['default'];\n if (children.length !== 1) {\n warning(false, 'lazyLoad组件只能包含一个子元素');\n return null;\n }\n var _$props2 = this.$props,\n height = _$props2.height,\n width = _$props2.width,\n elementType = _$props2.elementType;\n var visible = this.visible;\n\n\n var elStyles = {\n height: typeof height === 'number' ? height + 'px' : height,\n width: typeof width === 'number' ? width + 'px' : width\n };\n var elClasses = {\n LazyLoad: true,\n 'is-visible': visible\n };\n\n return createElement(elementType, {\n 'class': elClasses,\n style: elStyles\n }, [visible ? children[0] : null]);\n }\n};","import getElementPosition from './getElementPosition';\n\nvar isHidden = function isHidden(element) {\n return element.offsetParent === null;\n};\n\nexport default function inViewport(element, container, customOffset) {\n if (isHidden(element)) {\n return false;\n }\n\n var top = void 0;\n var bottom = void 0;\n var left = void 0;\n var right = void 0;\n\n if (typeof container === 'undefined' || container === window) {\n top = window.pageYOffset;\n left = window.pageXOffset;\n bottom = top + window.innerHeight;\n right = left + window.innerWidth;\n } else {\n var containerPosition = getElementPosition(container);\n\n top = containerPosition.top;\n left = containerPosition.left;\n bottom = top + container.offsetHeight;\n right = left + container.offsetWidth;\n }\n\n var elementPosition = getElementPosition(element);\n\n return top <= elementPosition.top + element.offsetHeight + customOffset.top && bottom >= elementPosition.top - customOffset.bottom && left <= elementPosition.left + element.offsetWidth + customOffset.left && right >= elementPosition.left - customOffset.right;\n}","import LazyLoad from './src/LazyLoad';\nexport default LazyLoad;","import _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\n// import { menuAllProps } from './util'\n\nvar MenuItemGroup = {\n name: 'MenuItemGroup',\n\n props: {\n renderMenuItem: PropTypes.func,\n index: PropTypes.number,\n className: PropTypes.string,\n subMenuKey: PropTypes.string,\n rootPrefixCls: PropTypes.string,\n disabled: PropTypes.bool.def(true),\n title: PropTypes.any\n },\n isMenuItemGroup: true,\n methods: {\n renderInnerMenuItem: function renderInnerMenuItem(item) {\n var _$props = this.$props,\n renderMenuItem = _$props.renderMenuItem,\n index = _$props.index,\n subMenuKey = _$props.subMenuKey;\n\n return renderMenuItem(item, index, subMenuKey);\n }\n },\n render: function render() {\n var h = arguments[0];\n\n var props = _extends({}, this.$props);\n var rootPrefixCls = props.rootPrefixCls,\n title = props.title;\n\n var titleClassName = rootPrefixCls + '-item-group-title';\n var listClassName = rootPrefixCls + '-item-group-list';\n // menuAllProps.props.forEach(key => delete props[key])\n var listeners = _extends({}, getListeners(this));\n delete listeners.click;\n\n return h(\n 'li',\n { on: listeners, 'class': rootPrefixCls + '-item-group' },\n [h(\n 'div',\n { 'class': titleClassName, attrs: { title: typeof title === 'string' ? title : undefined }\n },\n [getComponentFromProp(this, 'title')]\n ), h(\n 'ul',\n { 'class': listClassName },\n [this.$slots['default'] && this.$slots['default'].map(this.renderInnerMenuItem)]\n )]\n );\n }\n};\n\nexport default MenuItemGroup;","export default {\n name: 'MenuDivider',\n props: {\n disabled: {\n type: Boolean,\n 'default': true\n },\n rootPrefixCls: String\n },\n render: function render() {\n var h = arguments[0];\n var rootPrefixCls = this.$props.rootPrefixCls;\n\n return h('li', { 'class': rootPrefixCls + '-item-divider' });\n }\n};","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport KeyCode from '../_util/KeyCode';\nimport BaseMixin from '../_util/BaseMixin';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { connect } from '../_util/store';\nimport { noop, menuAllProps } from './util';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\nvar props = {\n attribute: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n active: PropTypes.bool,\n selectedKeys: PropTypes.array,\n disabled: PropTypes.bool,\n title: PropTypes.any,\n index: PropTypes.number,\n inlineIndent: PropTypes.number.def(24),\n level: PropTypes.number.def(1),\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']).def('vertical'),\n parentMenu: PropTypes.object,\n multiple: PropTypes.bool,\n value: PropTypes.any,\n isSelected: PropTypes.bool,\n manualRef: PropTypes.func.def(noop),\n role: PropTypes.any,\n subMenuKey: PropTypes.string,\n itemIcon: PropTypes.any\n // clearSubMenuTimers: PropTypes.func.def(noop),\n};\nvar MenuItem = {\n name: 'MenuItem',\n props: props,\n mixins: [BaseMixin],\n isMenuItem: true,\n created: function created() {\n this.prevActive = this.active;\n // invoke customized ref to expose component to mixin\n this.callRef();\n },\n updated: function updated() {\n var _this = this;\n\n this.$nextTick(function () {\n var _$props = _this.$props,\n active = _$props.active,\n parentMenu = _$props.parentMenu,\n eventKey = _$props.eventKey;\n\n if (!_this.prevActive && active && (!parentMenu || !parentMenu['scrolled-' + eventKey])) {\n scrollIntoView(_this.$el, _this.parentMenu.$el, {\n onlyScrollIfNeeded: true\n });\n parentMenu['scrolled-' + eventKey] = true;\n } else if (parentMenu && parentMenu['scrolled-' + eventKey]) {\n delete parentMenu['scrolled-' + eventKey];\n }\n _this.prevActive = active;\n });\n this.callRef();\n },\n beforeDestroy: function beforeDestroy() {\n var props = this.$props;\n this.__emit('destroy', props.eventKey);\n },\n\n methods: {\n onKeyDown: function onKeyDown(e) {\n var keyCode = e.keyCode;\n if (keyCode === KeyCode.ENTER) {\n this.onClick(e);\n return true;\n }\n },\n onMouseLeave: function onMouseLeave(e) {\n var eventKey = this.$props.eventKey;\n\n this.__emit('itemHover', {\n key: eventKey,\n hover: false\n });\n this.__emit('mouseleave', {\n key: eventKey,\n domEvent: e\n });\n },\n onMouseEnter: function onMouseEnter(e) {\n var eventKey = this.eventKey;\n\n this.__emit('itemHover', {\n key: eventKey,\n hover: true\n });\n this.__emit('mouseenter', {\n key: eventKey,\n domEvent: e\n });\n },\n onClick: function onClick(e) {\n var _$props2 = this.$props,\n eventKey = _$props2.eventKey,\n multiple = _$props2.multiple,\n isSelected = _$props2.isSelected;\n\n var info = {\n key: eventKey,\n keyPath: [eventKey],\n item: this,\n domEvent: e\n };\n\n this.__emit('click', info);\n if (multiple) {\n if (isSelected) {\n this.__emit('deselect', info);\n } else {\n this.__emit('select', info);\n }\n } else if (!isSelected) {\n this.__emit('select', info);\n }\n },\n getPrefixCls: function getPrefixCls() {\n return this.$props.rootPrefixCls + '-item';\n },\n getActiveClassName: function getActiveClassName() {\n return this.getPrefixCls() + '-active';\n },\n getSelectedClassName: function getSelectedClassName() {\n return this.getPrefixCls() + '-selected';\n },\n getDisabledClassName: function getDisabledClassName() {\n return this.getPrefixCls() + '-disabled';\n },\n callRef: function callRef() {\n if (this.manualRef) {\n this.manualRef(this);\n }\n }\n },\n\n render: function render() {\n var _className;\n\n var h = arguments[0];\n\n var props = _extends({}, this.$props);\n var className = (_className = {}, _defineProperty(_className, this.getPrefixCls(), true), _defineProperty(_className, this.getActiveClassName(), !props.disabled && props.active), _defineProperty(_className, this.getSelectedClassName(), props.isSelected), _defineProperty(_className, this.getDisabledClassName(), props.disabled), _className);\n var attrs = _extends({}, props.attribute, {\n title: props.title,\n role: props.role || 'menuitem',\n 'aria-disabled': props.disabled\n });\n if (props.role === 'option') {\n // overwrite to option\n attrs = _extends({}, 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 //