{"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/utils/inViewport.js","webpack:///./node_modules/ant-design-vue/es/vc-lazy-load/src/LazyLoad.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/locale/zh_CN.js","webpack:///./node_modules/ant-design-vue/es/vc-pagination/Pagination.js"],"names":["canUseDOM","window","document","createElement","MENUITEM_OVERFLOWED_CLASSNAME","FLOAT_PRECISION_ADJUST","DOMWrap","name","mixins","BaseMixin","data","this","resizeObserver","mutationObserver","originalTotalWidth","overflowedItems","menuItemSizes","lastVisibleIndex","undefined","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","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","allDisabled","arr","every","updateActiveKey","store","menuId","activeKey","state","getState","getEventKey","saveRef","instanceArrayKeyIndexMap","instanceArray","getActiveKey","originalActiveKey","defaultActiveFirst","found","i","propsData","componentOptions","noActiveKey","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","prevActiveKey","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","ci","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","_tmp2","_tmp3","_tmp4","result","apple","phone","ipod","tablet","device","amazon","android","windows","other","blackberry","blackberry10","opera","firefox","chrome","defaultResult","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","getUuid","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","root","appendChild","body","V","Vue","self","$refs","notification","removeNotice","component","destroy","$destroy","parentNode","removeChild","p","ref","mentionsProps","autoFocus","array","defaultValue","notFoundContent","placement","character","characterRender","vcMentionsProps","defaultProps","element","prop","styleVal","getComputedStyle","getPropertyValue","overflow","scrollParent","HTMLElement","parent","documentElement","getElementPosition","rect","pageYOffset","pageXOffset","isHidden","offsetParent","inViewport","container","customOffset","bottom","innerHeight","innerWidth","containerPosition","offsetHeight","offsetWidth","elementPosition","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","warning","_$props2","elStyles","elClasses","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","placements","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","enhancer","Component","paths","path","pathStyle","transitionDuration","prevTimeStamp","percent","strokeColor","strokeLinecap","strokeWidth","trailColor","trailWidth","mixedType","propTypes","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","ZERO","NINE","NUMPAD_ZERO","NUMPAD_NINE","BACKSPACE","DELETE","ARROW_UP","ARROW_DOWN","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","isInteger","isFinite","floor","defaultItemRender","calculatePage","statePageSize","total","defaultCurrent","defaultPageSize","hideOnSinglePage","showSizeChanger","showLessItems","showPrevNextJumpers","showQuickJumper","showTotal","simple","prevIcon","nextIcon","jumpPrevIcon","jumpNextIcon","hasOnChange","hasCurrent","console","warn","min","stateCurrent","stateCurrentInputValue","newState","newCurrent","oldValue","paginationNode","lastCurrentNode","querySelector","activeElement","_current","getJumpPrevPage","max","getJumpNextPage","getItemIcon","iconNode","inputValue","allPages","isValid","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.137f1052.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 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 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 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 //
  • 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 }\n // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n var mouseEvent = {\n click: props.disabled ? noop : this.onClick,\n mouseleave: props.disabled ? noop : this.onMouseLeave,\n mouseenter: props.disabled ? noop : this.onMouseEnter\n };\n\n var style = {};\n if (props.mode === 'inline') {\n style.paddingLeft = props.inlineIndent * props.level + 'px';\n }\n var listeners = _extends({}, getListeners(this));\n menuAllProps.props.forEach(function (key) {\n return delete props[key];\n });\n menuAllProps.on.forEach(function (key) {\n return delete listeners[key];\n });\n var liProps = {\n attrs: _extends({}, props, attrs),\n on: _extends({}, listeners, mouseEvent)\n };\n return h(\n 'li',\n _mergeJSXProps([liProps, { style: style, 'class': className }]),\n [this.$slots['default'], getComponentFromProp(this, 'itemIcon', props)]\n );\n }\n};\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);\n\nexport default connected;\nexport { props as menuItemProps };","import PropTypes from '../../_util/vue-types';\n\nexport var OptionProps = {\n value: PropTypes.string,\n disabled: PropTypes.boolean,\n children: PropTypes.any\n};\n\nexport default {\n name: 'Option',\n props: OptionProps,\n render: function render() {\n return null;\n }\n};","import Menu, { MenuItem } from '../../vc-menu';\nimport PropTypes from '../../_util/vue-types';\nimport { OptionProps } from './Option';\n\nfunction noop() {}\nexport default {\n name: 'DropdownMenu',\n props: {\n prefixCls: PropTypes.string,\n options: PropTypes.arrayOf(OptionProps)\n },\n inject: {\n mentionsContext: { 'default': {} }\n },\n\n render: function render() {\n var h = arguments[0];\n var _mentionsContext = this.mentionsContext,\n notFoundContent = _mentionsContext.notFoundContent,\n activeIndex = _mentionsContext.activeIndex,\n setActiveIndex = _mentionsContext.setActiveIndex,\n selectOption = _mentionsContext.selectOption,\n _mentionsContext$onFo = _mentionsContext.onFocus,\n onFocus = _mentionsContext$onFo === undefined ? noop : _mentionsContext$onFo,\n _mentionsContext$onBl = _mentionsContext.onBlur,\n onBlur = _mentionsContext$onBl === undefined ? noop : _mentionsContext$onBl;\n var _$props = this.$props,\n prefixCls = _$props.prefixCls,\n options = _$props.options;\n\n var activeOption = options[activeIndex] || {};\n\n return h(\n Menu,\n {\n props: {\n prefixCls: prefixCls + '-menu',\n activeKey: activeOption.value\n },\n on: {\n select: function select(_ref) {\n var key = _ref.key;\n\n var option = options.find(function (_ref2) {\n var value = _ref2.value;\n return value === key;\n });\n selectOption(option);\n },\n focus: onFocus,\n blur: onBlur\n }\n },\n [options.map(function (option, index) {\n var value = option.value,\n disabled = option.disabled,\n children = option.children;\n\n return h(\n MenuItem,\n {\n key: value,\n attrs: { disabled: disabled\n },\n on: {\n 'mouseenter': function mouseenter() {\n setActiveIndex(index);\n }\n }\n },\n [children]\n );\n }), !options.length && h(\n MenuItem,\n {\n attrs: { disabled: true }\n },\n [notFoundContent]\n )]\n );\n }\n};","import PropTypes from '../../_util/vue-types';\nimport Trigger from '../../vc-trigger';\nimport DropdownMenu from './DropdownMenu';\nimport { OptionProps } from './Option';\nimport { PlaceMent } from './placement';\n\nvar BUILT_IN_PLACEMENTS = {\n bottomRight: {\n points: ['tl', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n },\n topRight: {\n points: ['bl', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n }\n};\n\nexport default {\n name: 'KeywordTrigger',\n props: {\n loading: PropTypes.bool,\n options: PropTypes.arrayOf(OptionProps),\n prefixCls: PropTypes.string,\n placement: PropTypes.oneOf(PlaceMent),\n visible: PropTypes.bool,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func\n },\n methods: {\n getDropdownPrefix: function getDropdownPrefix() {\n return this.$props.prefixCls + '-dropdown';\n },\n getDropdownElement: function getDropdownElement() {\n var h = this.$createElement;\n var options = this.$props.options;\n\n return h(DropdownMenu, {\n attrs: { prefixCls: this.getDropdownPrefix(), options: options }\n });\n }\n },\n\n render: function render() {\n var h = arguments[0];\n var _$props = this.$props,\n visible = _$props.visible,\n placement = _$props.placement,\n transitionName = _$props.transitionName,\n getPopupContainer = _$props.getPopupContainer;\n var $slots = this.$slots;\n\n\n var children = $slots['default'];\n\n var popupElement = this.getDropdownElement();\n\n return h(\n Trigger,\n {\n attrs: {\n prefixCls: this.getDropdownPrefix(),\n popupVisible: visible,\n popup: popupElement,\n popupPlacement: placement === 'top' ? 'topRight' : 'bottomRight',\n popupTransitionName: transitionName,\n builtinPlacements: BUILT_IN_PLACEMENTS,\n getPopupContainer: getPopupContainer\n }\n },\n [children]\n );\n }\n};","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _extends from 'babel-runtime/helpers/extends';\nimport omit from 'omit.js';\nimport KeyCode from '../../_util/KeyCode';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getSlots, hasProp, getOptionProps, getListeners, initDefaultProps } from '../../_util/props-util';\nimport warning from 'warning';\nimport { getBeforeSelectionText, getLastMeasureIndex, replaceWithMeasure, setInputSelection } from './util';\nimport KeywordTrigger from './KeywordTrigger';\nimport { vcMentionsProps, defaultProps } from './mentionsProps';\n\nfunction noop() {}\n\nvar Mentions = {\n name: 'Mentions',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change'\n },\n props: initDefaultProps(vcMentionsProps, defaultProps),\n provide: function provide() {\n return {\n mentionsContext: this\n };\n },\n data: function data() {\n var _$props = this.$props,\n _$props$value = _$props.value,\n value = _$props$value === undefined ? '' : _$props$value,\n _$props$defaultValue = _$props.defaultValue,\n defaultValue = _$props$defaultValue === undefined ? '' : _$props$defaultValue;\n\n warning(this.$props.children, 'please children prop replace slots.default');\n return {\n _value: !hasProp(this, 'value') ? defaultValue : value,\n measuring: false,\n measureLocation: 0,\n measureText: null,\n measurePrefix: '',\n activeIndex: 0,\n isFocus: false\n };\n },\n\n watch: {\n value: function value(val) {\n this.$data._value = val;\n }\n },\n updated: function updated() {\n var _this = this;\n\n this.$nextTick(function () {\n var measuring = _this.$data.measuring;\n\n // Sync measure div top with textarea for rc-trigger usage\n\n if (measuring) {\n _this.$refs.measure.scrollTop = _this.$refs.textarea.scrollTop;\n }\n });\n },\n\n methods: {\n triggerChange: function triggerChange(value) {\n var props = getOptionProps(this);\n if (!('value' in props)) {\n this.setState({ _value: value });\n } else {\n this.$forceUpdate();\n }\n this.$emit('change', value);\n },\n onChange: function onChange(_ref) {\n var _ref$target = _ref.target,\n value = _ref$target.value,\n composing = _ref$target.composing,\n isComposing = _ref.isComposing;\n\n if (isComposing || composing) return;\n this.triggerChange(value);\n },\n onKeyDown: function onKeyDown(event) {\n var which = event.which;\n var _$data = this.$data,\n activeIndex = _$data.activeIndex,\n measuring = _$data.measuring;\n // Skip if not measuring\n\n if (!measuring) {\n return;\n }\n\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n // Control arrow function\n var optionLen = this.getOptions().length;\n var offset = which === KeyCode.UP ? -1 : 1;\n var newActiveIndex = (activeIndex + offset + optionLen) % optionLen;\n this.setState({\n activeIndex: newActiveIndex\n });\n event.preventDefault();\n } else if (which === KeyCode.ESC) {\n this.stopMeasure();\n } else if (which === KeyCode.ENTER) {\n // Measure hit\n event.preventDefault();\n var options = this.getOptions();\n if (!options.length) {\n this.stopMeasure();\n return;\n }\n var option = options[activeIndex];\n this.selectOption(option);\n }\n },\n\n /**\n * When to start measure:\n * 1. When user press `prefix`\n * 2. When measureText !== prevMeasureText\n * - If measure hit\n * - If measuring\n *\n * When to stop measure:\n * 1. Selection is out of range\n * 2. Contains `space`\n * 3. ESC or select one\n */\n onKeyUp: function onKeyUp(event) {\n var key = event.key,\n which = event.which;\n var _$data2 = this.$data,\n prevMeasureText = _$data2.measureText,\n measuring = _$data2.measuring;\n var _$props2 = this.$props,\n _$props2$prefix = _$props2.prefix,\n prefix = _$props2$prefix === undefined ? '' : _$props2$prefix,\n validateSearch = _$props2.validateSearch;\n\n var target = event.target;\n var selectionStartText = getBeforeSelectionText(target);\n\n var _getLastMeasureIndex = getLastMeasureIndex(selectionStartText, prefix),\n measureIndex = _getLastMeasureIndex.location,\n measurePrefix = _getLastMeasureIndex.prefix;\n\n // Skip if match the white key list\n\n\n if ([KeyCode.ESC, KeyCode.UP, KeyCode.DOWN, KeyCode.ENTER].indexOf(which) !== -1) {\n return;\n }\n\n if (measureIndex !== -1) {\n var measureText = selectionStartText.slice(measureIndex + measurePrefix.length);\n var validateMeasure = validateSearch(measureText, this.$props);\n var matchOption = !!this.getOptions(measureText).length;\n\n if (validateMeasure) {\n if (key === measurePrefix || measuring || measureText !== prevMeasureText && matchOption) {\n this.startMeasure(measureText, measurePrefix, measureIndex);\n }\n } else if (measuring) {\n // Stop if measureText is invalidate\n this.stopMeasure();\n }\n\n /**\n * We will trigger `onSearch` to developer since they may use for async update.\n * If met `space` means user finished searching.\n */\n if (validateMeasure) {\n this.$emit('search', measureText, measurePrefix);\n }\n } else if (measuring) {\n this.stopMeasure();\n }\n },\n onInputFocus: function onInputFocus(event) {\n this.onFocus(event);\n },\n onInputBlur: function onInputBlur(event) {\n this.onBlur(event);\n },\n onDropdownFocus: function onDropdownFocus() {\n this.onFocus();\n },\n onDropdownBlur: function onDropdownBlur() {\n this.onBlur();\n },\n onFocus: function onFocus(event) {\n window.clearTimeout(this.focusId);\n var isFocus = this.$data.isFocus;\n\n if (!isFocus && event) {\n this.$emit('focus', event);\n }\n this.setState({ isFocus: true });\n },\n onBlur: function onBlur(event) {\n var _this2 = this;\n\n this.focusId = window.setTimeout(function () {\n _this2.setState({ isFocus: false });\n _this2.stopMeasure();\n _this2.$emit('blur', event);\n }, 0);\n },\n selectOption: function selectOption(option) {\n var _this3 = this;\n\n var _$data3 = this.$data,\n value = _$data3._value,\n measureLocation = _$data3.measureLocation,\n measurePrefix = _$data3.measurePrefix;\n var split = this.$props.split;\n var _option$value = option.value,\n mentionValue = _option$value === undefined ? '' : _option$value;\n\n var _replaceWithMeasure = replaceWithMeasure(value, {\n measureLocation: measureLocation,\n targetText: mentionValue,\n prefix: measurePrefix,\n selectionStart: this.$refs.textarea.selectionStart,\n split: split\n }),\n text = _replaceWithMeasure.text,\n selectionLocation = _replaceWithMeasure.selectionLocation;\n\n this.triggerChange(text);\n this.stopMeasure(function () {\n // We need restore the selection position\n setInputSelection(_this3.$refs.textarea, selectionLocation);\n });\n\n this.$emit('select', option, measurePrefix);\n },\n setActiveIndex: function setActiveIndex(activeIndex) {\n this.setState({\n activeIndex: activeIndex\n });\n },\n getOptions: function getOptions(measureText) {\n var targetMeasureText = measureText || this.$data.measureText || '';\n var _$props3 = this.$props,\n filterOption = _$props3.filterOption,\n _$props3$children = _$props3.children,\n children = _$props3$children === undefined ? [] : _$props3$children;\n\n var list = (Array.isArray(children) ? children : [children]).map(function (item) {\n var children = getSlots(item)['default'];\n return _extends({}, getOptionProps(item), { children: children });\n }).filter(function (option) {\n /** Return all result if `filterOption` is false. */\n if (filterOption === false) {\n return true;\n }\n return filterOption(targetMeasureText, option);\n });\n return list;\n },\n startMeasure: function startMeasure(measureText, measurePrefix, measureLocation) {\n this.setState({\n measuring: true,\n measureText: measureText,\n measurePrefix: measurePrefix,\n measureLocation: measureLocation,\n activeIndex: 0\n });\n },\n stopMeasure: function stopMeasure(callback) {\n this.setState({\n measuring: false,\n measureLocation: 0,\n measureText: null\n }, callback);\n },\n focus: function focus() {\n this.$refs.textarea.focus();\n },\n blur: function blur() {\n this.$refs.textarea.blur();\n }\n },\n\n render: function render() {\n var h = arguments[0];\n var _$data4 = this.$data,\n value = _$data4._value,\n measureLocation = _$data4.measureLocation,\n measurePrefix = _$data4.measurePrefix,\n measuring = _$data4.measuring;\n\n var _getOptionProps = getOptionProps(this),\n prefixCls = _getOptionProps.prefixCls,\n placement = _getOptionProps.placement,\n transitionName = _getOptionProps.transitionName,\n autoFocus = _getOptionProps.autoFocus,\n notFoundContent = _getOptionProps.notFoundContent,\n getPopupContainer = _getOptionProps.getPopupContainer,\n restProps = _objectWithoutProperties(_getOptionProps, ['prefixCls', 'placement', 'transitionName', 'autoFocus', 'notFoundContent', 'getPopupContainer']);\n\n var inputProps = omit(restProps, ['value', 'defaultValue', 'prefix', 'split', 'children', 'validateSearch', 'filterOption']);\n\n var options = measuring ? this.getOptions() : [];\n\n return h(\n 'div',\n { 'class': prefixCls },\n [h('textarea', _mergeJSXProps([{\n ref: 'textarea'\n }, {\n directives: [{ name: 'ant-input' }],\n attrs: _extends({}, inputProps, this.$attrs),\n domProps: {\n value: value\n },\n on: _extends({}, getListeners(this), {\n select: noop,\n change: noop,\n input: this.onChange,\n keydown: this.onKeyDown,\n keyup: this.onKeyUp,\n blur: this.onInputBlur\n })\n }])), measuring && h(\n 'div',\n { ref: 'measure', 'class': prefixCls + '-measure' },\n [value.slice(0, measureLocation), h(\n KeywordTrigger,\n {\n attrs: {\n prefixCls: prefixCls,\n transitionName: transitionName,\n placement: placement,\n options: options,\n visible: true,\n getPopupContainer: getPopupContainer\n }\n },\n [h('span', [measurePrefix])]\n ), value.slice(measureLocation + measurePrefix.length)]\n )]\n );\n }\n};\n\nexport default Mentions;","import Mentions from './src/Mentions';\nimport Option from './src/Option';\n\nMentions.Option = Option;\n\nexport default Mentions;","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\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};\n\nexport default placements;","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _typeof from 'babel-runtime/helpers/typeof';\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 Trigger from '../vc-trigger';\nimport KeyCode from '../_util/KeyCode';\nimport { connect } from '../_util/store';\nimport SubPopupMenu from './SubPopupMenu';\nimport placements from './placements';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getComponentFromProp, filterEmpty, getListeners } from '../_util/props-util';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../_util/requestAnimationTimeout';\nimport { noop, loopMenuItemRecursively, getMenuIdFromSubMenuEventKey } from './util';\nimport getTransitionProps from '../_util/getTransitionProps';\n\nvar guid = 0;\n\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: _extends({}, state.defaultActiveFirst, _defineProperty({}, menuId, defaultActiveFirst))\n });\n};\n\nvar SubMenu = {\n name: 'SubMenu',\n props: {\n parentMenu: PropTypes.object,\n title: PropTypes.any,\n selectedKeys: PropTypes.array.def([]),\n openKeys: PropTypes.array.def([]),\n openChange: PropTypes.func.def(noop),\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n multiple: PropTypes.bool,\n active: PropTypes.bool, // TODO: remove\n isRootMenu: PropTypes.bool.def(false),\n index: PropTypes.number,\n triggerSubMenuAction: PropTypes.string,\n popupClassName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n forceSubMenuRender: PropTypes.bool,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n disabled: PropTypes.bool,\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 openTransitionName: PropTypes.string,\n popupOffset: PropTypes.array,\n isOpen: PropTypes.bool,\n store: PropTypes.object,\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']).def('vertical'),\n manualRef: PropTypes.func.def(noop),\n builtinPlacements: PropTypes.object.def(function () {\n return {};\n }),\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n subMenuKey: PropTypes.string\n },\n mixins: [BaseMixin],\n isSubMenu: true,\n data: function data() {\n var props = this.$props;\n var store = props.store;\n var eventKey = props.eventKey;\n var defaultActiveFirst = store.getState().defaultActiveFirst;\n var value = false;\n\n if (defaultActiveFirst) {\n value = defaultActiveFirst[eventKey];\n }\n\n updateDefaultActiveFirst(store, eventKey, value);\n return {\n // defaultActiveFirst: false,\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.handleUpdated();\n });\n },\n updated: function updated() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.handleUpdated();\n });\n },\n beforeDestroy: function beforeDestroy() {\n var eventKey = this.eventKey;\n\n this.__emit('destroy', eventKey);\n\n /* istanbul ignore if */\n if (this.minWidthTimeout) {\n cancelAnimationTimeout(this.minWidthTimeout);\n this.minWidthTimeout = null;\n }\n\n /* istanbul ignore if */\n if (this.mouseenterTimeout) {\n cancelAnimationTimeout(this.mouseenterTimeout);\n this.mouseenterTimeout = null;\n }\n },\n\n methods: {\n handleUpdated: function handleUpdated() {\n var _this3 = this;\n\n var _$props = this.$props,\n mode = _$props.mode,\n parentMenu = _$props.parentMenu,\n manualRef = _$props.manualRef;\n\n // invoke customized ref to expose component to mixin\n\n if (manualRef) {\n manualRef(this);\n }\n\n if (mode !== 'horizontal' || !parentMenu.isRootMenu || !this.isOpen) {\n return;\n }\n\n this.minWidthTimeout = requestAnimationTimeout(function () {\n return _this3.adjustWidth();\n }, 0);\n },\n onKeyDown: function onKeyDown(e) {\n var keyCode = e.keyCode;\n var menu = this.menuInstance;\n var _$props2 = this.$props,\n store = _$props2.store,\n isOpen = _$props2.isOpen;\n\n\n if (keyCode === KeyCode.ENTER) {\n this.onTitleClick(e);\n updateDefaultActiveFirst(store, this.eventKey, true);\n return true;\n }\n\n if (keyCode === KeyCode.RIGHT) {\n if (isOpen) {\n menu.onKeyDown(e);\n } else {\n this.triggerOpenChange(true);\n // need to update current menu's defaultActiveFirst value\n updateDefaultActiveFirst(store, this.eventKey, true);\n }\n return true;\n }\n if (keyCode === KeyCode.LEFT) {\n var handled = void 0;\n if (isOpen) {\n handled = menu.onKeyDown(e);\n } else {\n return undefined;\n }\n if (!handled) {\n this.triggerOpenChange(false);\n handled = true;\n }\n return handled;\n }\n\n if (isOpen && (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN)) {\n return menu.onKeyDown(e);\n }\n return undefined;\n },\n onPopupVisibleChange: function onPopupVisibleChange(visible) {\n this.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');\n },\n onMouseEnter: function onMouseEnter(e) {\n var _$props3 = this.$props,\n key = _$props3.eventKey,\n store = _$props3.store;\n\n updateDefaultActiveFirst(store, key, false);\n this.__emit('mouseenter', {\n key: key,\n domEvent: e\n });\n },\n onMouseLeave: function onMouseLeave(e) {\n var eventKey = this.eventKey,\n parentMenu = this.parentMenu;\n\n parentMenu.subMenuInstance = this;\n // parentMenu.subMenuLeaveFn = () => {\n // // trigger mouseleave\n // this.__emit('mouseleave', {\n // key: eventKey,\n // domEvent: e,\n // })\n // }\n this.__emit('mouseleave', {\n key: eventKey,\n domEvent: e\n });\n // prevent popup menu and submenu gap\n // parentMenu.subMenuLeaveTimer = setTimeout(parentMenu.subMenuLeaveFn, 100)\n },\n onTitleMouseEnter: function onTitleMouseEnter(domEvent) {\n var key = this.$props.eventKey;\n // this.clearSubMenuTitleLeaveTimer()\n\n this.__emit('itemHover', {\n key: key,\n hover: true\n });\n this.__emit('titleMouseenter', {\n key: key,\n domEvent: domEvent\n });\n },\n onTitleMouseLeave: function onTitleMouseLeave(e) {\n var eventKey = this.eventKey,\n parentMenu = this.parentMenu;\n\n parentMenu.subMenuInstance = this;\n this.__emit('itemHover', {\n key: eventKey,\n hover: false\n });\n this.__emit('titleMouseleave', {\n key: eventKey,\n domEvent: e\n });\n },\n onTitleClick: function onTitleClick(e) {\n var _$props4 = this.$props,\n triggerSubMenuAction = _$props4.triggerSubMenuAction,\n eventKey = _$props4.eventKey,\n isOpen = _$props4.isOpen,\n store = _$props4.store;\n\n this.__emit('titleClick', {\n key: eventKey,\n domEvent: e\n });\n if (triggerSubMenuAction === 'hover') {\n return;\n }\n this.triggerOpenChange(!isOpen, 'click');\n updateDefaultActiveFirst(store, eventKey, false);\n },\n onSubMenuClick: function onSubMenuClick(info) {\n this.__emit('click', this.addKeyPath(info));\n },\n getPrefixCls: function getPrefixCls() {\n return this.$props.rootPrefixCls + '-submenu';\n },\n getActiveClassName: function getActiveClassName() {\n return this.getPrefixCls() + '-active';\n },\n getDisabledClassName: function getDisabledClassName() {\n return this.getPrefixCls() + '-disabled';\n },\n getSelectedClassName: function getSelectedClassName() {\n return this.getPrefixCls() + '-selected';\n },\n getOpenClassName: function getOpenClassName() {\n return this.$props.rootPrefixCls + '-submenu-open';\n },\n saveMenuInstance: function saveMenuInstance(c) {\n // children menu instance\n this.menuInstance = c;\n },\n addKeyPath: function addKeyPath(info) {\n return _extends({}, info, {\n keyPath: (info.keyPath || []).concat(this.$props.eventKey)\n });\n },\n\n\n // triggerOpenChange (open, type) {\n // const key = this.$props.eventKey\n // this.__emit('openChange', {\n // key,\n // item: this,\n // trigger: type,\n // open,\n // })\n // },\n triggerOpenChange: function triggerOpenChange(open, type) {\n var _this4 = this;\n\n var key = this.$props.eventKey;\n var openChange = function openChange() {\n _this4.__emit('openChange', {\n key: key,\n item: _this4,\n trigger: type,\n open: open\n });\n };\n if (type === 'mouseenter') {\n // make sure mouseenter happen after other menu item's mouseleave\n this.mouseenterTimeout = requestAnimationTimeout(function () {\n openChange();\n }, 0);\n } else {\n openChange();\n }\n },\n isChildrenSelected: function isChildrenSelected() {\n var ret = { find: false };\n loopMenuItemRecursively(this.$slots['default'], this.$props.selectedKeys, ret);\n return ret.find;\n },\n\n // isOpen () {\n // return this.$props.openKeys.indexOf(this.$props.eventKey) !== -1\n // },\n\n adjustWidth: function adjustWidth() {\n /* istanbul ignore if */\n if (!this.$refs.subMenuTitle || !this.menuInstance) {\n return;\n }\n var popupMenu = this.menuInstance.$el;\n if (popupMenu.offsetWidth >= this.$refs.subMenuTitle.offsetWidth) {\n return;\n }\n\n /* istanbul ignore next */\n popupMenu.style.minWidth = this.$refs.subMenuTitle.offsetWidth + 'px';\n },\n renderChildren: function renderChildren(children) {\n var h = this.$createElement;\n\n var props = this.$props;\n\n var _getListeners = getListeners(this),\n select = _getListeners.select,\n deselect = _getListeners.deselect,\n openChange = _getListeners.openChange;\n\n var subPopupMenuProps = {\n props: {\n mode: props.mode === 'horizontal' ? 'vertical' : props.mode,\n visible: props.isOpen,\n level: props.level + 1,\n inlineIndent: props.inlineIndent,\n focusable: false,\n selectedKeys: props.selectedKeys,\n eventKey: props.eventKey + '-menu-',\n openKeys: props.openKeys,\n openTransitionName: props.openTransitionName,\n openAnimation: props.openAnimation,\n subMenuOpenDelay: props.subMenuOpenDelay,\n parentMenu: 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 manualRef: this.saveMenuInstance,\n itemIcon: getComponentFromProp(this, 'itemIcon'),\n expandIcon: getComponentFromProp(this, 'expandIcon'),\n children: children\n },\n on: {\n click: this.onSubMenuClick,\n select: select,\n deselect: deselect,\n openChange: openChange\n },\n id: this.internalMenuId\n };\n var baseProps = subPopupMenuProps.props;\n var haveRendered = this.haveRendered;\n this.haveRendered = true;\n\n this.haveOpened = this.haveOpened || baseProps.visible || baseProps.forceSubMenuRender;\n // never rendered not planning to, don't render\n if (!this.haveOpened) {\n return h('div');\n }\n\n // 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 var transitionAppear = haveRendered || !baseProps.visible || !baseProps.mode === 'inline';\n subPopupMenuProps['class'] = ' ' + baseProps.prefixCls + '-sub';\n var animProps = { appear: transitionAppear, css: false };\n var transitionProps = {\n props: animProps,\n on: {}\n };\n if (baseProps.openTransitionName) {\n transitionProps = getTransitionProps(baseProps.openTransitionName, {\n appear: transitionAppear\n });\n } else if (_typeof(baseProps.openAnimation) === 'object') {\n animProps = _extends({}, animProps, baseProps.openAnimation.props || {});\n if (!transitionAppear) {\n animProps.appear = false;\n }\n } else if (typeof baseProps.openAnimation === 'string') {\n transitionProps = getTransitionProps(baseProps.openAnimation, { appear: transitionAppear });\n }\n\n if (_typeof(baseProps.openAnimation) === 'object' && baseProps.openAnimation.on) {\n transitionProps.on = baseProps.openAnimation.on;\n }\n return h(\n 'transition',\n transitionProps,\n [h(SubPopupMenu, _mergeJSXProps([{\n directives: [{\n name: 'show',\n value: props.isOpen\n }]\n }, subPopupMenuProps]))]\n );\n }\n },\n\n render: function render() {\n var _className, _attrs;\n\n var h = arguments[0];\n\n var props = this.$props;\n var rootPrefixCls = this.rootPrefixCls,\n parentMenu = this.parentMenu;\n\n var isOpen = props.isOpen;\n var prefixCls = this.getPrefixCls();\n var isInlineMode = props.mode === 'inline';\n var className = (_className = {}, _defineProperty(_className, prefixCls, true), _defineProperty(_className, prefixCls + '-' + props.mode, true), _defineProperty(_className, this.getOpenClassName(), isOpen), _defineProperty(_className, this.getActiveClassName(), props.active || isOpen && !isInlineMode), _defineProperty(_className, this.getDisabledClassName(), props.disabled), _defineProperty(_className, this.getSelectedClassName(), this.isChildrenSelected()), _className);\n\n if (!this.internalMenuId) {\n if (props.eventKey) {\n this.internalMenuId = props.eventKey + '$Menu';\n } else {\n this.internalMenuId = '$__$' + ++guid + '$Menu';\n }\n }\n\n var mouseEvents = {};\n var titleClickEvents = {};\n var titleMouseEvents = {};\n if (!props.disabled) {\n mouseEvents = {\n mouseleave: this.onMouseLeave,\n mouseenter: this.onMouseEnter\n };\n\n // only works in title, not outer li\n titleClickEvents = {\n click: this.onTitleClick\n };\n titleMouseEvents = {\n mouseenter: this.onTitleMouseEnter,\n mouseleave: this.onTitleMouseLeave\n };\n }\n\n var style = {};\n if (isInlineMode) {\n style.paddingLeft = props.inlineIndent * props.level + 'px';\n }\n var ariaOwns = {};\n // 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 if (isOpen) {\n ariaOwns = {\n 'aria-owns': this.internalMenuId\n };\n }\n var titleProps = {\n attrs: _extends({\n 'aria-expanded': isOpen\n }, ariaOwns, {\n 'aria-haspopup': 'true',\n title: typeof props.title === 'string' ? props.title : undefined\n }),\n on: _extends({}, titleMouseEvents, titleClickEvents),\n style: style,\n 'class': prefixCls + '-title',\n ref: 'subMenuTitle'\n };\n // expand custom icon should NOT be displayed in menu with horizontal mode.\n var icon = null;\n if (props.mode !== 'horizontal') {\n icon = getComponentFromProp(this, 'expandIcon', props);\n }\n var title = h(\n 'div',\n titleProps,\n [getComponentFromProp(this, 'title'), icon || h('i', { 'class': prefixCls + '-arrow' })]\n );\n var children = this.renderChildren(filterEmpty(this.$slots['default']));\n\n var getPopupContainer = this.parentMenu.isRootMenu ? this.parentMenu.getPopupContainer : function (triggerNode) {\n return triggerNode.parentNode;\n };\n var popupPlacement = popupPlacementMap[props.mode];\n var popupAlign = props.popupOffset ? { offset: props.popupOffset } : {};\n var popupClassName = props.mode === 'inline' ? '' : props.popupClassName;\n var liProps = {\n on: _extends({}, omit(getListeners(this), ['click']), mouseEvents),\n 'class': className\n };\n\n return h(\n 'li',\n _mergeJSXProps([liProps, {\n attrs: { role: 'menuitem' }\n }]),\n [isInlineMode && title, isInlineMode && children, !isInlineMode && h(\n Trigger,\n {\n attrs: (_attrs = {\n prefixCls: prefixCls,\n popupClassName: prefixCls + '-popup ' + rootPrefixCls + '-' + parentMenu.theme + ' ' + (popupClassName || ''),\n getPopupContainer: getPopupContainer,\n builtinPlacements: placements\n }, _defineProperty(_attrs, 'builtinPlacements', _extends({}, placements, props.builtinPlacements)), _defineProperty(_attrs, 'popupPlacement', popupPlacement), _defineProperty(_attrs, 'popupVisible', isOpen), _defineProperty(_attrs, 'popupAlign', popupAlign), _defineProperty(_attrs, 'action', props.disabled ? [] : [props.triggerSubMenuAction]), _defineProperty(_attrs, 'mouseEnterDelay', props.subMenuOpenDelay), _defineProperty(_attrs, 'mouseLeaveDelay', props.subMenuCloseDelay), _defineProperty(_attrs, 'forceRender', props.forceSubMenuRender), _attrs),\n on: {\n 'popupVisibleChange': this.onPopupVisibleChange\n }\n },\n [h(\n 'template',\n { slot: 'popup' },\n [children]\n ), title]\n )]\n );\n }\n};\n\nvar connected = connect(function (_ref, _ref2) {\n var openKeys = _ref.openKeys,\n activeKey = _ref.activeKey,\n selectedKeys = _ref.selectedKeys;\n var eventKey = _ref2.eventKey,\n subMenuKey = _ref2.subMenuKey;\n return {\n isOpen: openKeys.indexOf(eventKey) > -1,\n active: activeKey[subMenuKey] === eventKey,\n selectedKeys: selectedKeys\n };\n})(SubMenu);\n\nconnected.isSubMenu = true;\n\nexport default connected;","export var PlaceMent = ['top', 'bottom'];","function enhancer(Component) {\n return {\n mixins: [Component],\n updated: function updated() {\n var _this = this;\n\n var now = Date.now();\n var updated = false;\n\n Object.keys(this.paths).forEach(function (key) {\n var path = _this.paths[key];\n\n if (!path) {\n return;\n }\n\n updated = true;\n var pathStyle = path.style;\n pathStyle.transitionDuration = '.3s, .3s, .3s, .06s';\n\n if (_this.prevTimeStamp && now - _this.prevTimeStamp < 100) {\n pathStyle.transitionDuration = '0s, 0s';\n }\n });\n if (updated) {\n this.prevTimeStamp = Date.now();\n }\n }\n };\n}\n\nexport default enhancer;","import PropTypes from '../../_util/vue-types';\n\nexport var defaultProps = {\n // className: '',\n percent: 0,\n prefixCls: 'rc-progress',\n strokeColor: '#2db7f5',\n strokeLinecap: 'round',\n strokeWidth: 1,\n // style: {},\n trailColor: '#D9D9D9',\n trailWidth: 1\n};\nvar mixedType = PropTypes.oneOfType([PropTypes.number, PropTypes.string]);\n\nexport var propTypes = {\n // className: PropTypes.string,\n percent: PropTypes.oneOfType([mixedType, PropTypes.arrayOf(mixedType)]),\n prefixCls: PropTypes.string,\n strokeColor: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.object])), PropTypes.object]),\n strokeLinecap: PropTypes.oneOf(['butt', 'round', 'square']),\n strokeWidth: mixedType,\n // style: PropTypes.object,\n trailColor: PropTypes.string,\n trailWidth: mixedType\n};","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _extends from 'babel-runtime/helpers/extends';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport PropTypes from '../../_util/vue-types';\nimport { initDefaultProps } from '../../_util/props-util';\nimport enhancer from './enhancer';\nimport { propTypes, defaultProps } from './types';\n\nvar circlePropTypes = _extends({}, propTypes, {\n gapPosition: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n gapDegree: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.bool])\n});\n\nvar circleDefaultProps = _extends({}, defaultProps, {\n gapPosition: 'top'\n});\n\nVue.use(ref, { name: 'ant-ref' });\n\nvar gradientSeed = 0;\n\nfunction stripPercentToNumber(percent) {\n return +percent.replace('%', '');\n}\n\nfunction toArray(symArray) {\n return Array.isArray(symArray) ? symArray : [symArray];\n}\n\nfunction getPathStyles(offset, percent, strokeColor, strokeWidth) {\n var gapDegree = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var gapPosition = arguments[5];\n\n var radius = 50 - strokeWidth / 2;\n var beginPositionX = 0;\n var beginPositionY = -radius;\n var endPositionX = 0;\n var endPositionY = -2 * radius;\n switch (gapPosition) {\n case 'left':\n beginPositionX = -radius;\n beginPositionY = 0;\n endPositionX = 2 * radius;\n endPositionY = 0;\n break;\n case 'right':\n beginPositionX = radius;\n beginPositionY = 0;\n endPositionX = -2 * radius;\n endPositionY = 0;\n break;\n case 'bottom':\n beginPositionY = radius;\n endPositionY = 2 * radius;\n break;\n default:\n }\n var pathString = 'M 50,50 m ' + beginPositionX + ',' + beginPositionY + '\\n a ' + radius + ',' + radius + ' 0 1 1 ' + endPositionX + ',' + -endPositionY + '\\n a ' + radius + ',' + radius + ' 0 1 1 ' + -endPositionX + ',' + endPositionY;\n var len = Math.PI * 2 * radius;\n\n var pathStyle = {\n stroke: strokeColor,\n strokeDasharray: percent / 100 * (len - gapDegree) + 'px ' + len + 'px',\n strokeDashoffset: '-' + (gapDegree / 2 + offset / 100 * (len - gapDegree)) + 'px',\n transition: 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s' // eslint-disable-line\n };\n\n return {\n pathString: pathString,\n pathStyle: pathStyle\n };\n}\n\nvar Circle = {\n props: initDefaultProps(circlePropTypes, circleDefaultProps),\n created: function created() {\n this.paths = {};\n this.gradientId = gradientSeed;\n gradientSeed += 1;\n },\n\n methods: {\n getStokeList: function getStokeList() {\n var _this = this;\n\n var h = this.$createElement;\n var _$props = this.$props,\n prefixCls = _$props.prefixCls,\n percent = _$props.percent,\n strokeColor = _$props.strokeColor,\n strokeWidth = _$props.strokeWidth,\n strokeLinecap = _$props.strokeLinecap,\n gapDegree = _$props.gapDegree,\n gapPosition = _$props.gapPosition;\n\n var percentList = toArray(percent);\n var strokeColorList = toArray(strokeColor);\n\n var stackPtg = 0;\n return percentList.map(function (ptg, index) {\n var color = strokeColorList[index] || strokeColorList[strokeColorList.length - 1];\n var stroke = Object.prototype.toString.call(color) === '[object Object]' ? 'url(#' + prefixCls + '-gradient-' + _this.gradientId + ')' : '';\n\n var _getPathStyles = getPathStyles(stackPtg, ptg, color, strokeWidth, gapDegree, gapPosition),\n pathString = _getPathStyles.pathString,\n pathStyle = _getPathStyles.pathStyle;\n\n stackPtg += ptg;\n\n var pathProps = {\n key: index,\n attrs: {\n d: pathString,\n stroke: stroke,\n 'stroke-linecap': strokeLinecap,\n 'stroke-width': strokeWidth,\n opacity: ptg === 0 ? 0 : 1,\n 'fill-opacity': '0'\n },\n 'class': prefixCls + '-circle-path',\n style: pathStyle,\n directives: [{\n name: 'ant-ref',\n value: function value(c) {\n _this.paths[index] = c;\n }\n }]\n };\n return h('path', pathProps);\n });\n }\n },\n\n render: function render() {\n var h = arguments[0];\n\n var _$props2 = this.$props,\n prefixCls = _$props2.prefixCls,\n strokeWidth = _$props2.strokeWidth,\n trailWidth = _$props2.trailWidth,\n gapDegree = _$props2.gapDegree,\n gapPosition = _$props2.gapPosition,\n trailColor = _$props2.trailColor,\n strokeLinecap = _$props2.strokeLinecap,\n strokeColor = _$props2.strokeColor,\n restProps = _objectWithoutProperties(_$props2, ['prefixCls', 'strokeWidth', 'trailWidth', 'gapDegree', 'gapPosition', 'trailColor', 'strokeLinecap', 'strokeColor']);\n\n var _getPathStyles2 = getPathStyles(0, 100, trailColor, strokeWidth, gapDegree, gapPosition),\n pathString = _getPathStyles2.pathString,\n pathStyle = _getPathStyles2.pathStyle;\n\n delete restProps.percent;\n var strokeColorList = toArray(strokeColor);\n var gradient = strokeColorList.find(function (color) {\n return Object.prototype.toString.call(color) === '[object Object]';\n });\n var pathFirst = {\n attrs: {\n d: pathString,\n stroke: trailColor,\n 'stroke-linecap': strokeLinecap,\n 'stroke-width': trailWidth || strokeWidth,\n 'fill-opacity': '0'\n },\n 'class': prefixCls + '-circle-trail',\n style: pathStyle\n };\n\n return h(\n 'svg',\n _mergeJSXProps([{ 'class': prefixCls + '-circle', attrs: { viewBox: '0 0 100 100' }\n }, restProps]),\n [gradient && h('defs', [h(\n 'linearGradient',\n {\n attrs: {\n id: prefixCls + '-gradient-' + this.gradientId,\n x1: '100%',\n y1: '0%',\n x2: '0%',\n y2: '0%'\n }\n },\n [Object.keys(gradient).sort(function (a, b) {\n return stripPercentToNumber(a) - stripPercentToNumber(b);\n }).map(function (key, index) {\n return h('stop', { key: index, attrs: { offset: key, 'stop-color': gradient[key] }\n });\n })]\n )]), h('path', pathFirst), this.getStokeList().reverse()]\n );\n }\n};\n\nexport default enhancer(Circle);","import _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport { Provider, create } from '../_util/store';\nimport { default as SubPopupMenu, getActiveKey } from './SubPopupMenu';\nimport BaseMixin from '../_util/BaseMixin';\nimport hasProp, { getOptionProps, getComponentFromProp, filterEmpty, getListeners } from '../_util/props-util';\nimport commonPropsType from './commonPropsType';\n\nvar Menu = {\n name: 'Menu',\n props: _extends({}, commonPropsType, {\n selectable: PropTypes.bool.def(true)\n }),\n mixins: [BaseMixin],\n\n data: function data() {\n var props = getOptionProps(this);\n var selectedKeys = props.defaultSelectedKeys;\n var openKeys = props.defaultOpenKeys;\n if ('selectedKeys' in props) {\n selectedKeys = props.selectedKeys || [];\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(_extends({}, props, { children: this.$slots['default'] || [] }), props.activeKey)\n }\n });\n\n // this.isRootMenu = true // 声明在props上\n return {};\n },\n mounted: function mounted() {\n this.updateMiniStore();\n },\n updated: function updated() {\n this.updateMiniStore();\n },\n\n methods: {\n onSelect: function onSelect(selectInfo) {\n var props = this.$props;\n if (props.selectable) {\n // root menu\n var selectedKeys = this.store.getState().selectedKeys;\n var selectedKey = selectInfo.key;\n if (props.multiple) {\n selectedKeys = selectedKeys.concat([selectedKey]);\n } else {\n selectedKeys = [selectedKey];\n }\n if (!hasProp(this, 'selectedKeys')) {\n this.store.setState({\n selectedKeys: selectedKeys\n });\n }\n this.__emit('select', _extends({}, selectInfo, {\n selectedKeys: selectedKeys\n }));\n }\n },\n onClick: function onClick(e) {\n this.__emit('click', e);\n },\n\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 onKeyDown: function onKeyDown(e, callback) {\n this.$refs.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n },\n onOpenChange: function onOpenChange(event) {\n var openKeys = this.store.getState().openKeys.concat();\n var changed = false;\n var processSingle = function processSingle(e) {\n var oneChanged = false;\n if (e.open) {\n oneChanged = openKeys.indexOf(e.key) === -1;\n if (oneChanged) {\n openKeys.push(e.key);\n }\n } else {\n var index = openKeys.indexOf(e.key);\n oneChanged = index !== -1;\n if (oneChanged) {\n openKeys.splice(index, 1);\n }\n }\n changed = changed || oneChanged;\n };\n if (Array.isArray(event)) {\n // batch change call\n event.forEach(processSingle);\n } else {\n processSingle(event);\n }\n if (changed) {\n if (!hasProp(this, 'openKeys')) {\n this.store.setState({ openKeys: openKeys });\n }\n this.__emit('openChange', openKeys);\n }\n },\n onDeselect: function onDeselect(selectInfo) {\n var props = this.$props;\n if (props.selectable) {\n var selectedKeys = this.store.getState().selectedKeys.concat();\n var selectedKey = selectInfo.key;\n var index = selectedKeys.indexOf(selectedKey);\n if (index !== -1) {\n selectedKeys.splice(index, 1);\n }\n if (!hasProp(this, 'selectedKeys')) {\n this.store.setState({\n selectedKeys: selectedKeys\n });\n }\n this.__emit('deselect', _extends({}, selectInfo, {\n selectedKeys: selectedKeys\n }));\n }\n },\n getOpenTransitionName: function getOpenTransitionName() {\n var props = this.$props;\n var transitionName = props.openTransitionName;\n var animationName = props.openAnimation;\n if (!transitionName && typeof animationName === 'string') {\n transitionName = props.prefixCls + '-open-' + animationName;\n }\n return transitionName;\n },\n updateMiniStore: function updateMiniStore() {\n var props = getOptionProps(this);\n if ('selectedKeys' in props) {\n this.store.setState({\n selectedKeys: props.selectedKeys || []\n });\n }\n if ('openKeys' in props) {\n this.store.setState({\n openKeys: props.openKeys || []\n });\n }\n }\n },\n\n render: function render() {\n var h = arguments[0];\n\n var props = getOptionProps(this);\n var subPopupMenuProps = {\n props: _extends({}, props, {\n itemIcon: getComponentFromProp(this, 'itemIcon', props),\n expandIcon: getComponentFromProp(this, 'expandIcon', props),\n overflowedIndicator: getComponentFromProp(this, 'overflowedIndicator', props) || h('span', ['\\xB7\\xB7\\xB7']),\n openTransitionName: this.getOpenTransitionName(),\n parentMenu: this,\n children: filterEmpty(this.$slots['default'] || [])\n }),\n 'class': props.prefixCls + '-root',\n on: _extends({}, getListeners(this), {\n click: this.onClick,\n openChange: this.onOpenChange,\n deselect: this.onDeselect,\n select: this.onSelect\n }),\n ref: 'innerMenu'\n };\n return h(\n Provider,\n {\n attrs: { store: this.store }\n },\n [h(SubPopupMenu, subPopupMenuProps)]\n );\n }\n};\nexport default Menu;","// based on rc-menu 7.5.5\nimport Menu from './Menu';\nimport SubMenu from './SubMenu';\nimport MenuItem, { menuItemProps } from './MenuItem';\nimport MenuItemGroup from './MenuItemGroup';\nimport Divider from './Divider';\n\nexport { SubMenu, MenuItem as Item, menuItemProps as itemProps, MenuItem, MenuItemGroup, MenuItemGroup as ItemGroup, Divider };\n\nexport default Menu;","import PropTypes from '../../_util/vue-types';\n\nexport var ITouchProps = {\n disabled: PropTypes.bool,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.any\n // onTouchStart: PropTypes.func,\n // onTouchEnd: PropTypes.func,\n // onTouchCancel: PropTypes.func,\n // onMouseDown: PropTypes.func,\n // onMouseUp: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n};","import _extends from 'babel-runtime/helpers/extends';\nimport { initDefaultProps } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport warning from '../../_util/warning';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { ITouchProps } from './PropTypes';\n\nexport default {\n name: 'TouchFeedback',\n mixins: [BaseMixin],\n props: initDefaultProps(ITouchProps, {\n disabled: false\n }),\n data: function data() {\n return {\n active: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.disabled && _this.active) {\n _this.setState({\n active: false\n });\n }\n });\n },\n\n methods: {\n triggerEvent: function triggerEvent(type, isActive, ev) {\n // 暂时仅有input-number用到,事件直接到挂载到Touchable上,不需要像antd那样从子组件触发\n this.$emit(type, ev);\n if (isActive !== this.active) {\n this.setState({\n active: isActive\n });\n }\n },\n onTouchStart: function onTouchStart(e) {\n this.triggerEvent('touchstart', true, e);\n },\n onTouchMove: function onTouchMove(e) {\n this.triggerEvent('touchmove', false, e);\n },\n onTouchEnd: function onTouchEnd(e) {\n this.triggerEvent('touchend', false, e);\n },\n onTouchCancel: function onTouchCancel(e) {\n this.triggerEvent('touchcancel', false, e);\n },\n onMouseDown: function onMouseDown(e) {\n // pc simulate mobile\n this.triggerEvent('mousedown', true, e);\n },\n onMouseUp: function onMouseUp(e) {\n this.triggerEvent('mouseup', false, e);\n },\n onMouseLeave: function onMouseLeave(e) {\n this.triggerEvent('mouseleave', false, e);\n }\n },\n render: function render() {\n var _$props = this.$props,\n disabled = _$props.disabled,\n _$props$activeClassNa = _$props.activeClassName,\n activeClassName = _$props$activeClassNa === undefined ? '' : _$props$activeClassNa,\n _$props$activeStyle = _$props.activeStyle,\n activeStyle = _$props$activeStyle === undefined ? {} : _$props$activeStyle;\n\n\n var child = this.$slots['default'];\n if (child.length !== 1) {\n warning(false, 'm-feedback组件只能包含一个子元素');\n return null;\n }\n var childProps = {\n on: disabled ? {} : {\n touchstart: this.onTouchStart,\n touchmove: this.onTouchMove,\n touchend: this.onTouchEnd,\n touchcancel: this.onTouchCancel,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n mouseleave: this.onMouseLeave\n }\n };\n\n if (!disabled && this.active) {\n childProps = _extends({}, childProps, {\n style: activeStyle,\n 'class': activeClassName\n });\n }\n\n return cloneElement(child, childProps);\n }\n};","// based on 2.0.0\nimport TouchFeedback from './src/TouchFeedback';\nexport default TouchFeedback;","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\n\nexport default {\n name: 'Pager',\n props: {\n rootPrefixCls: PropTypes.string,\n page: PropTypes.number,\n active: PropTypes.bool,\n last: PropTypes.bool,\n locale: PropTypes.object,\n showTitle: PropTypes.bool,\n itemRender: {\n type: Function,\n 'default': function _default() {}\n }\n },\n methods: {\n handleClick: function handleClick() {\n this.$emit('click', this.page);\n },\n handleKeyPress: function handleKeyPress(event) {\n this.$emit('keypress', event, this.handleClick, this.page);\n }\n },\n render: function render() {\n var _classNames;\n\n var h = arguments[0];\n\n var props = this.$props;\n var prefixCls = props.rootPrefixCls + '-item';\n var cls = classNames(prefixCls, prefixCls + '-' + props.page, (_classNames = {}, _defineProperty(_classNames, prefixCls + '-active', props.active), _defineProperty(_classNames, prefixCls + '-disabled', !props.page), _classNames));\n\n return h(\n 'li',\n {\n 'class': cls,\n on: {\n 'click': this.handleClick,\n 'keypress': this.handleKeyPress\n },\n attrs: {\n title: this.showTitle ? this.page : null,\n tabIndex: '0'\n }\n },\n [this.itemRender(this.page, 'page', h('a', [this.page]))]\n );\n }\n};","export default {\n ZERO: 48,\n NINE: 57,\n\n NUMPAD_ZERO: 96,\n NUMPAD_NINE: 105,\n\n BACKSPACE: 8,\n DELETE: 46,\n ENTER: 13,\n\n ARROW_UP: 38,\n ARROW_DOWN: 40\n};","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport PropTypes from '../_util/vue-types';\nimport KEYCODE from './KeyCode';\nimport BaseMixin from '../_util/BaseMixin';\n\nexport default {\n mixins: [BaseMixin],\n props: {\n disabled: PropTypes.bool,\n changeSize: PropTypes.func,\n quickGo: PropTypes.func,\n selectComponentClass: PropTypes.any,\n current: PropTypes.number,\n pageSizeOptions: PropTypes.array.def(['10', '20', '30', '40']),\n pageSize: PropTypes.number,\n buildOptionText: PropTypes.func,\n locale: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n selectPrefixCls: PropTypes.string,\n goButton: PropTypes.any\n },\n data: function data() {\n return {\n goInputText: ''\n };\n },\n\n methods: {\n getValidValue: function getValidValue() {\n var goInputText = this.goInputText,\n current = this.current;\n\n return !goInputText || isNaN(goInputText) ? current : Number(goInputText);\n },\n defaultBuildOptionText: function defaultBuildOptionText(opt) {\n return opt.value + ' ' + this.locale.items_per_page;\n },\n handleChange: function handleChange(e) {\n var _e$target = e.target,\n value = _e$target.value,\n composing = _e$target.composing;\n\n if (e.isComposing || composing || this.goInputText === value) return;\n this.setState({\n goInputText: value\n });\n },\n handleBlur: function handleBlur(e) {\n var _$props = this.$props,\n goButton = _$props.goButton,\n quickGo = _$props.quickGo,\n rootPrefixCls = _$props.rootPrefixCls;\n\n if (goButton) {\n return;\n }\n if (e.relatedTarget && (e.relatedTarget.className.indexOf(rootPrefixCls + '-prev') >= 0 || e.relatedTarget.className.indexOf(rootPrefixCls + '-next') >= 0)) {\n return;\n }\n quickGo(this.getValidValue());\n },\n go: function go(e) {\n var goInputText = this.goInputText;\n\n if (goInputText === '') {\n return;\n }\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n // https://github.com/vueComponent/ant-design-vue/issues/1316\n this.quickGo(this.getValidValue());\n this.setState({\n goInputText: ''\n });\n }\n }\n },\n render: function render() {\n var _this = this;\n\n var h = arguments[0];\n var rootPrefixCls = this.rootPrefixCls,\n locale = this.locale,\n changeSize = this.changeSize,\n quickGo = this.quickGo,\n goButton = this.goButton,\n Select = this.selectComponentClass,\n defaultBuildOptionText = this.defaultBuildOptionText,\n selectPrefixCls = this.selectPrefixCls,\n pageSize = this.pageSize,\n pageSizeOptions = this.pageSizeOptions,\n goInputText = this.goInputText,\n disabled = this.disabled;\n\n var prefixCls = rootPrefixCls + '-options';\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n\n if (!changeSize && !quickGo) {\n return null;\n }\n\n if (changeSize && Select) {\n var buildOptionText = this.buildOptionText || defaultBuildOptionText;\n var options = pageSizeOptions.map(function (opt, i) {\n return h(\n Select.Option,\n { key: i, attrs: { value: opt }\n },\n [buildOptionText({ value: opt })]\n );\n });\n\n changeSelect = h(\n Select,\n {\n attrs: {\n disabled: disabled,\n prefixCls: selectPrefixCls,\n showSearch: false,\n\n optionLabelProp: 'children',\n dropdownMatchSelectWidth: false,\n value: (pageSize || pageSizeOptions[0]).toString(),\n\n getPopupContainer: function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n }\n },\n 'class': prefixCls + '-size-changer', on: {\n 'change': function change(value) {\n return _this.changeSize(Number(value));\n }\n }\n },\n [options]\n );\n }\n\n if (quickGo) {\n if (goButton) {\n gotoButton = typeof goButton === 'boolean' ? h(\n 'button',\n {\n attrs: { type: 'button', disabled: disabled },\n on: {\n 'click': this.go,\n 'keyup': this.go\n }\n },\n [locale.jump_to_confirm]\n ) : h(\n 'span',\n {\n on: {\n 'click': this.go,\n 'keyup': this.go\n }\n },\n [goButton]\n );\n }\n goInput = h(\n 'div',\n { 'class': prefixCls + '-quick-jumper' },\n [locale.jump_to, h('input', _mergeJSXProps([{\n attrs: {\n disabled: disabled,\n type: 'text'\n },\n domProps: {\n 'value': goInputText\n },\n on: {\n 'input': this.handleChange,\n 'keyup': this.go,\n 'blur': this.handleBlur\n }\n }, {\n directives: [{\n name: 'ant-input'\n }]\n }])), locale.page, gotoButton]\n );\n }\n\n return h(\n 'li',\n { 'class': '' + prefixCls },\n [changeSelect, goInput]\n );\n }\n};","export default {\n // Options.jsx\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n\n // Pagination.jsx\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页'\n};","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _toConsumableArray from 'babel-runtime/helpers/toConsumableArray';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { hasProp, getComponentFromProp, getOptionProps } from '../_util/props-util';\nimport Pager from './Pager';\nimport Options from './Options';\nimport LOCALE from './locale/zh_CN';\nimport KEYCODE from './KeyCode';\n\nfunction noop() {}\n\n// 是否是正整数\nfunction isInteger(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nfunction defaultItemRender(page, type, element) {\n return element;\n}\n\nfunction calculatePage(p, state, props) {\n var pageSize = p;\n if (typeof pageSize === 'undefined') {\n pageSize = state.statePageSize;\n }\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\n\nexport default {\n name: 'Pagination',\n mixins: [BaseMixin],\n model: {\n prop: 'current',\n event: 'change.current'\n },\n props: {\n disabled: PropTypes.bool,\n prefixCls: PropTypes.string.def('rc-pagination'),\n selectPrefixCls: PropTypes.string.def('rc-select'),\n current: PropTypes.number,\n defaultCurrent: PropTypes.number.def(1),\n total: PropTypes.number.def(0),\n pageSize: PropTypes.number,\n defaultPageSize: PropTypes.number.def(10),\n hideOnSinglePage: PropTypes.bool.def(false),\n showSizeChanger: PropTypes.bool.def(false),\n showLessItems: PropTypes.bool.def(false),\n // showSizeChange: PropTypes.func.def(noop),\n selectComponentClass: PropTypes.any,\n showPrevNextJumpers: PropTypes.bool.def(true),\n showQuickJumper: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]).def(false),\n showTitle: PropTypes.bool.def(true),\n pageSizeOptions: PropTypes.arrayOf(PropTypes.string),\n buildOptionText: PropTypes.func,\n showTotal: PropTypes.func,\n simple: PropTypes.bool,\n locale: PropTypes.object.def(LOCALE),\n itemRender: PropTypes.func.def(defaultItemRender),\n prevIcon: PropTypes.any,\n nextIcon: PropTypes.any,\n jumpPrevIcon: PropTypes.any,\n jumpNextIcon: PropTypes.any\n },\n data: function data() {\n var props = getOptionProps(this);\n var hasOnChange = this.onChange !== noop;\n var hasCurrent = 'current' in props;\n if (hasCurrent && !hasOnChange) {\n console.warn('Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.'); // eslint-disable-line\n }\n var current = this.defaultCurrent;\n if ('current' in props) {\n current = this.current;\n }\n\n var pageSize = this.defaultPageSize;\n if ('pageSize' in props) {\n pageSize = this.pageSize;\n }\n\n current = Math.min(current, calculatePage(pageSize, undefined, props));\n\n return {\n stateCurrent: current,\n stateCurrentInputValue: current,\n statePageSize: pageSize\n };\n },\n\n watch: {\n current: function current(val) {\n this.setState({\n stateCurrent: val,\n stateCurrentInputValue: val\n });\n },\n pageSize: function pageSize(val) {\n var newState = {};\n var current = this.stateCurrent;\n var newCurrent = calculatePage(val, this.$data, this.$props);\n current = current > newCurrent ? newCurrent : current;\n if (!hasProp(this, 'current')) {\n newState.stateCurrent = current;\n newState.stateCurrentInputValue = current;\n }\n newState.statePageSize = val;\n this.setState(newState);\n },\n stateCurrent: function stateCurrent(val, oldValue) {\n var _this = this;\n\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n this.$nextTick(function () {\n if (_this.$refs.paginationNode) {\n var lastCurrentNode = _this.$refs.paginationNode.querySelector('.' + _this.prefixCls + '-item-' + oldValue);\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n });\n },\n total: function total() {\n var newState = {};\n var newCurrent = calculatePage(this.pageSize, this.$data, this.$props);\n if (hasProp(this, 'current')) {\n var current = Math.min(this.current, newCurrent);\n newState.stateCurrent = current;\n newState.stateCurrentInputValue = current;\n } else {\n var _current = this.stateCurrent;\n if (_current === 0 && newCurrent > 0) {\n _current = 1;\n } else {\n _current = Math.min(this.stateCurrent, newCurrent);\n }\n newState.stateCurrent = _current;\n }\n this.setState(newState);\n }\n },\n methods: {\n getJumpPrevPage: function getJumpPrevPage() {\n return Math.max(1, this.stateCurrent - (this.showLessItems ? 3 : 5));\n },\n getJumpNextPage: function getJumpNextPage() {\n return Math.min(calculatePage(undefined, this.$data, this.$props), this.stateCurrent + (this.showLessItems ? 3 : 5));\n },\n getItemIcon: function getItemIcon(icon) {\n var h = this.$createElement;\n var prefixCls = this.$props.prefixCls;\n\n var iconNode = getComponentFromProp(this, icon, this.$props) || h('a', { 'class': prefixCls + '-item-link' });\n return iconNode;\n },\n getValidValue: function getValidValue(e) {\n var inputValue = e.target.value;\n var allPages = calculatePage(undefined, this.$data, this.$props);\n var stateCurrentInputValue = this.$data.stateCurrentInputValue;\n\n var value = void 0;\n if (inputValue === '') {\n value = inputValue;\n } else if (isNaN(Number(inputValue))) {\n value = stateCurrentInputValue;\n } else if (inputValue >= allPages) {\n value = allPages;\n } else {\n value = Number(inputValue);\n }\n return value;\n },\n isValid: function isValid(page) {\n return isInteger(page) && page !== this.stateCurrent;\n },\n shouldDisplayQuickJumper: function shouldDisplayQuickJumper() {\n var _$props = this.$props,\n showQuickJumper = _$props.showQuickJumper,\n pageSize = _$props.pageSize,\n total = _$props.total;\n\n if (total <= pageSize) {\n return false;\n }\n return showQuickJumper;\n },\n\n // calculatePage (p) {\n // let pageSize = p\n // if (typeof pageSize === 'undefined') {\n // pageSize = this.statePageSize\n // }\n // return Math.floor((this.total - 1) / pageSize) + 1\n // },\n handleKeyDown: function handleKeyDown(event) {\n if (event.keyCode === KEYCODE.ARROW_UP || event.keyCode === KEYCODE.ARROW_DOWN) {\n event.preventDefault();\n }\n },\n handleKeyUp: function handleKeyUp(e) {\n if (e.isComposing || e.target.composing) return;\n var value = this.getValidValue(e);\n var stateCurrentInputValue = this.stateCurrentInputValue;\n\n if (value !== stateCurrentInputValue) {\n this.setState({\n stateCurrentInputValue: value\n });\n }\n\n if (e.keyCode === KEYCODE.ENTER) {\n this.handleChange(value);\n } else if (e.keyCode === KEYCODE.ARROW_UP) {\n this.handleChange(value - 1);\n } else if (e.keyCode === KEYCODE.ARROW_DOWN) {\n this.handleChange(value + 1);\n }\n },\n changePageSize: function changePageSize(size) {\n var current = this.stateCurrent;\n var preCurrent = current;\n var newCurrent = calculatePage(size, this.$data, this.$props);\n current = current > newCurrent ? newCurrent : current;\n // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n if (newCurrent === 0) {\n current = this.stateCurrent;\n }\n if (typeof size === 'number') {\n if (!hasProp(this, 'pageSize')) {\n this.setState({\n statePageSize: size\n });\n }\n if (!hasProp(this, 'current')) {\n this.setState({\n stateCurrent: current,\n stateCurrentInputValue: current\n });\n }\n }\n this.$emit('update:pageSize', size);\n this.$emit('showSizeChange', current, size);\n if (current !== preCurrent) {\n this.$emit('change.current', current, size);\n }\n },\n handleChange: function handleChange(p) {\n var disabled = this.$props.disabled;\n\n var page = p;\n if (this.isValid(page) && !disabled) {\n var currentPage = calculatePage(undefined, this.$data, this.$props);\n if (page > currentPage) {\n page = currentPage;\n } else if (page < 1) {\n page = 1;\n }\n if (!hasProp(this, 'current')) {\n this.setState({\n stateCurrent: page,\n stateCurrentInputValue: page\n });\n }\n // this.$emit('input', page)\n this.$emit('change.current', page, this.statePageSize);\n this.$emit('change', page, this.statePageSize);\n return page;\n }\n return this.stateCurrent;\n },\n prev: function prev() {\n if (this.hasPrev()) {\n this.handleChange(this.stateCurrent - 1);\n }\n },\n next: function next() {\n if (this.hasNext()) {\n this.handleChange(this.stateCurrent + 1);\n }\n },\n jumpPrev: function jumpPrev() {\n this.handleChange(this.getJumpPrevPage());\n },\n jumpNext: function jumpNext() {\n this.handleChange(this.getJumpNextPage());\n },\n hasPrev: function hasPrev() {\n return this.stateCurrent > 1;\n },\n hasNext: function hasNext() {\n return this.stateCurrent < calculatePage(undefined, this.$data, this.$props);\n },\n runIfEnter: function runIfEnter(event, callback) {\n if (event.key === 'Enter' || event.charCode === 13) {\n for (var _len = arguments.length, restParams = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n\n callback.apply(undefined, _toConsumableArray(restParams));\n }\n },\n runIfEnterPrev: function runIfEnterPrev(event) {\n this.runIfEnter(event, this.prev);\n },\n runIfEnterNext: function runIfEnterNext(event) {\n this.runIfEnter(event, this.next);\n },\n runIfEnterJumpPrev: function runIfEnterJumpPrev(event) {\n this.runIfEnter(event, this.jumpPrev);\n },\n runIfEnterJumpNext: function runIfEnterJumpNext(event) {\n this.runIfEnter(event, this.jumpNext);\n },\n handleGoTO: function handleGoTO(event) {\n if (event.keyCode === KEYCODE.ENTER || event.type === 'click') {\n this.handleChange(this.stateCurrentInputValue);\n }\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n var _$props2 = this.$props,\n prefixCls = _$props2.prefixCls,\n disabled = _$props2.disabled;\n\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n\n if (this.hideOnSinglePage === true && this.total <= this.statePageSize) {\n return null;\n }\n var props = this.$props;\n var locale = this.locale;\n\n var allPages = calculatePage(undefined, this.$data, this.$props);\n var pagerList = [];\n var jumpPrev = null;\n var jumpNext = null;\n var firstPager = null;\n var lastPager = null;\n var gotoButton = null;\n var goButton = this.showQuickJumper && this.showQuickJumper.goButton;\n var pageBufferSize = this.showLessItems ? 1 : 2;\n var stateCurrent = this.stateCurrent,\n statePageSize = this.statePageSize;\n\n var prevPage = stateCurrent - 1 > 0 ? stateCurrent - 1 : 0;\n var nextPage = stateCurrent + 1 < allPages ? stateCurrent + 1 : allPages;\n\n if (this.simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = h(\n 'button',\n {\n attrs: { type: 'button' },\n on: {\n 'click': this.handleGoTO,\n 'keyup': this.handleGoTO\n }\n },\n [locale.jump_to_confirm]\n );\n } else {\n gotoButton = h(\n 'span',\n {\n on: {\n 'click': this.handleGoTO,\n 'keyup': this.handleGoTO\n }\n },\n [goButton]\n );\n }\n gotoButton = h(\n 'li',\n {\n attrs: {\n title: this.showTitle ? '' + locale.jump_to + this.stateCurrent + '/' + allPages : null\n },\n 'class': prefixCls + '-simple-pager'\n },\n [gotoButton]\n );\n }\n var hasPrev = this.hasPrev();\n var hasNext = this.hasNext();\n return h(\n 'ul',\n { 'class': prefixCls + ' ' + prefixCls + '-simple' },\n [h(\n 'li',\n {\n attrs: {\n title: this.showTitle ? locale.prev_page : null,\n\n tabIndex: hasPrev ? 0 : null,\n\n 'aria-disabled': !this.hasPrev()\n },\n on: {\n 'click': this.prev,\n 'keypress': this.runIfEnterPrev\n },\n\n 'class': (hasPrev ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-prev' },\n [this.itemRender(prevPage, 'prev', this.getItemIcon('prevIcon'))]\n ), h(\n 'li',\n {\n attrs: {\n title: this.showTitle ? stateCurrent + '/' + allPages : null\n },\n 'class': prefixCls + '-simple-pager'\n },\n [h('input', _mergeJSXProps([{\n attrs: {\n type: 'text',\n\n size: '3'\n },\n domProps: {\n 'value': this.stateCurrentInputValue\n },\n on: {\n 'keydown': this.handleKeyDown,\n 'keyup': this.handleKeyUp,\n 'input': this.handleKeyUp\n }\n }, {\n directives: [{\n name: 'ant-input'\n }]\n }])), h(\n 'span',\n { 'class': prefixCls + '-slash' },\n ['\\uFF0F']\n ), allPages]\n ), h(\n 'li',\n {\n attrs: {\n title: this.showTitle ? locale.next_page : null,\n\n tabIndex: this.hasNext ? 0 : null,\n\n 'aria-disabled': !this.hasNext()\n },\n on: {\n 'click': this.next,\n 'keypress': this.runIfEnterNext\n },\n\n 'class': (hasNext ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-next' },\n [this.itemRender(nextPage, 'next', this.getItemIcon('nextIcon'))]\n ), gotoButton]\n );\n }\n if (allPages <= 5 + pageBufferSize * 2) {\n var pagerProps = {\n props: {\n locale: locale,\n rootPrefixCls: prefixCls,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n },\n on: {\n click: this.handleChange,\n keypress: this.runIfEnter\n }\n };\n if (!allPages) {\n pagerList.push(h(Pager, _mergeJSXProps([pagerProps, { key: 'noPager', attrs: { page: allPages },\n 'class': prefixCls + '-disabled' }])));\n }\n for (var i = 1; i <= allPages; i++) {\n var active = stateCurrent === i;\n pagerList.push(h(Pager, _mergeJSXProps([pagerProps, { key: i, attrs: { page: i, active: active }\n }])));\n }\n } else {\n var prevItemTitle = this.showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = this.showLessItems ? locale.next_3 : locale.next_5;\n if (this.showPrevNextJumpers) {\n var jumpPrevClassString = prefixCls + '-jump-prev';\n if (props.jumpPrevIcon) {\n jumpPrevClassString += ' ' + prefixCls + '-jump-prev-custom-icon';\n }\n jumpPrev = h(\n 'li',\n {\n attrs: {\n title: this.showTitle ? prevItemTitle : null,\n\n tabIndex: '0'\n },\n key: 'prev',\n on: {\n 'click': this.jumpPrev,\n 'keypress': this.runIfEnterJumpPrev\n },\n\n 'class': jumpPrevClassString\n },\n [this.itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon('jumpPrevIcon'))]\n );\n var jumpNextClassString = prefixCls + '-jump-next';\n if (props.jumpNextIcon) {\n jumpNextClassString += ' ' + prefixCls + '-jump-next-custom-icon';\n }\n jumpNext = h(\n 'li',\n {\n attrs: {\n title: this.showTitle ? nextItemTitle : null,\n\n tabIndex: '0'\n },\n key: 'next', on: {\n 'click': this.jumpNext,\n 'keypress': this.runIfEnterJumpNext\n },\n\n 'class': jumpNextClassString\n },\n [this.itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon('jumpNextIcon'))]\n );\n }\n\n lastPager = h(Pager, {\n attrs: {\n locale: locale,\n last: true,\n rootPrefixCls: prefixCls,\n\n page: allPages,\n active: false,\n showTitle: this.showTitle,\n itemRender: this.itemRender\n },\n on: {\n 'click': this.handleChange,\n 'keypress': this.runIfEnter\n },\n\n key: allPages });\n firstPager = h(Pager, {\n attrs: {\n locale: locale,\n rootPrefixCls: prefixCls,\n\n page: 1,\n active: false,\n showTitle: this.showTitle,\n itemRender: this.itemRender\n },\n on: {\n 'click': this.handleChange,\n 'keypress': this.runIfEnter\n },\n\n key: 1 });\n\n var left = Math.max(1, stateCurrent - pageBufferSize);\n var right = Math.min(stateCurrent + pageBufferSize, allPages);\n\n if (stateCurrent - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n\n if (allPages - stateCurrent <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n\n for (var _i = left; _i <= right; _i++) {\n var _active = stateCurrent === _i;\n pagerList.push(h(Pager, {\n attrs: {\n locale: locale,\n rootPrefixCls: prefixCls,\n\n page: _i,\n active: _active,\n showTitle: this.showTitle,\n itemRender: this.itemRender\n },\n on: {\n 'click': this.handleChange,\n 'keypress': this.runIfEnter\n },\n\n key: _i }));\n }\n\n if (stateCurrent - 1 >= pageBufferSize * 2 && stateCurrent !== 1 + 2) {\n pagerList[0] = h(Pager, {\n attrs: {\n locale: locale,\n rootPrefixCls: prefixCls,\n\n page: left,\n\n active: false,\n showTitle: this.showTitle,\n itemRender: this.itemRender\n },\n on: {\n 'click': this.handleChange,\n 'keypress': this.runIfEnter\n },\n\n key: left, 'class': prefixCls + '-item-after-jump-prev' });\n pagerList.unshift(jumpPrev);\n }\n if (allPages - stateCurrent >= pageBufferSize * 2 && stateCurrent !== allPages - 2) {\n pagerList[pagerList.length - 1] = h(Pager, {\n attrs: {\n locale: locale,\n rootPrefixCls: prefixCls,\n\n page: right,\n\n active: false,\n showTitle: this.showTitle,\n itemRender: this.itemRender\n },\n on: {\n 'click': this.handleChange,\n 'keypress': this.runIfEnter\n },\n\n key: right, 'class': prefixCls + '-item-before-jump-next' });\n pagerList.push(jumpNext);\n }\n\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n\n var totalText = null;\n\n if (this.showTotal) {\n totalText = h(\n 'li',\n { 'class': prefixCls + '-total-text' },\n [this.showTotal(this.total, [this.total === 0 ? 0 : (stateCurrent - 1) * statePageSize + 1, stateCurrent * statePageSize > this.total ? this.total : stateCurrent * statePageSize])]\n );\n }\n var prevDisabled = !this.hasPrev() || !allPages;\n var nextDisabled = !this.hasNext() || !allPages;\n var buildOptionText = this.buildOptionText || this.$scopedSlots.buildOptionText;\n return h(\n 'ul',\n {\n 'class': (_ref = {}, _defineProperty(_ref, '' + prefixCls, true), _defineProperty(_ref, prefixCls + '-disabled', disabled), _ref),\n attrs: { unselectable: 'unselectable'\n },\n ref: 'paginationNode'\n },\n [totalText, h(\n 'li',\n {\n attrs: {\n title: this.showTitle ? locale.prev_page : null,\n\n tabIndex: prevDisabled ? null : 0,\n\n 'aria-disabled': prevDisabled\n },\n on: {\n 'click': this.prev,\n 'keypress': this.runIfEnterPrev\n },\n\n 'class': (!prevDisabled ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-prev' },\n [this.itemRender(prevPage, 'prev', this.getItemIcon('prevIcon'))]\n ), pagerList, h(\n 'li',\n {\n attrs: {\n title: this.showTitle ? locale.next_page : null,\n\n tabIndex: nextDisabled ? null : 0,\n\n 'aria-disabled': nextDisabled\n },\n on: {\n 'click': this.next,\n 'keypress': this.runIfEnterNext\n },\n\n 'class': (!nextDisabled ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-next' },\n [this.itemRender(nextPage, 'next', this.getItemIcon('nextIcon'))]\n ), h(Options, {\n attrs: {\n disabled: disabled,\n locale: locale,\n rootPrefixCls: prefixCls,\n selectComponentClass: this.selectComponentClass,\n selectPrefixCls: this.selectPrefixCls,\n changeSize: this.showSizeChanger ? this.changePageSize : null,\n current: stateCurrent,\n pageSize: statePageSize,\n pageSizeOptions: this.pageSizeOptions,\n buildOptionText: buildOptionText || null,\n quickGo: this.shouldDisplayQuickJumper() ? this.handleChange : null,\n goButton: goButton\n }\n })]\n );\n }\n};"],"sourceRoot":""}