{"version":3,"sources":["webpack:///./node_modules/ant-design-vue/es/vc-resize-observer/index.js","webpack:///./node_modules/ant-design-vue/es/vc-select/util.js","webpack:///./node_modules/ant-design-vue/es/vc-select/DropdownMenu.js","webpack:///./node_modules/ant-design-vue/es/vc-select/SelectTrigger.js","webpack:///./node_modules/ant-design-vue/es/vc-select/PropTypes.js","webpack:///./node_modules/ant-design-vue/es/vc-select/Select.js","webpack:///./node_modules/ant-design-vue/es/vc-rate/src/util.js","webpack:///./node_modules/ant-design-vue/es/vc-rate/src/Star.js","webpack:///./node_modules/ant-design-vue/es/vc-rate/src/Rate.js","webpack:///./node_modules/ant-design-vue/es/vc-rate/src/index.js","webpack:///./node_modules/ant-design-vue/es/vc-rate/index.js","webpack:///./node_modules/ant-design-vue/es/vc-select/OptGroup.js","webpack:///./node_modules/ant-design-vue/es/vc-select/Option.js"],"names":["VueResizeObserver","name","props","disabled","Boolean","data","this","currentElement","resizeObserver","width","height","mounted","onComponentUpdated","updated","beforeDestroy","destroyObserver","methods","$props","element","$el","elementChanged","onResize","observe","entries","target","_target$getBoundingCl","getBoundingClientRect","fixedWidth","Math","floor","fixedHeight","size","$emit","disconnect","render","$slots","toTitle","title","trim","getValuePropValue","child","value","undefined","isSelectOptGroup","label","Error","getPropValue","prop","newChild","componentOptions","children","length","tag","text","isMultiple","multiple","isCombobox","combobox","isMultipleOrTags","tags","isMultipleOrTagsOrCombobox","isSingleMode","toArray","ret","Array","isArray","getMapKey","preventDefaultEvent","e","preventDefault","findIndexInValueBySingleValue","singleValue","index","i","getLabelFromPropsValue","key","getSelectKeys","menuItems","selectedKeys","forEach","item","isMenuItemGroup","concat","itemValue","itemKey","push","UNSELECTABLE_STYLE","userSelect","WebkitUserSelect","UNSELECTABLE_ATTRIBUTE","unselectable","findFirstMenuItem","found","includesSeparators","str","separators","lastIndexOf","splitBySeparators","reg","RegExp","join","split","filter","token","defaultFilterFn","input","optionFilterProp","String","toLowerCase","indexOf","validateOptionValue","saveRef","instance","node","generateUUID","d","Date","getTime","uuid","replace","c","r","random","toString","mixins","BaseMixin","ariaId","string","defaultActiveFirstOption","bool","any","dropdownMenuStyle","object","prefixCls","inputValue","visible","backfillValue","firstActiveValue","menuItemSelectedIcon","watch","val","_this","$nextTick","scrollActiveItemToView","lastVisible","created","rafInstance","lastInputValue","_this2","prevVisible","cancel","_this3","itemComponent","firstActiveItem","scrollIntoViewOpts","onlyScrollIfNeeded","alignWithTop","$refs","menuRef","renderMenu","_this4","h","$createElement","_getListeners","menuDeselect","menuSelect","popupScroll","menuProps","itemIcon","on","style","ref","attrs","role","scroll","deselect","select","click","activeKeyProps","defaultActiveFirst","clonedMenuItems","activeKey","foundFirst","clone","directives","map","lastValue","arguments","_getListeners2","popupFocus","overflow","transform","id","tabIndex","BUILT_IN_PLACEMENTS","bottomLeft","points","offset","adjustX","adjustY","topLeft","dropdownMatchSelectWidth","dropdownAlign","showSearch","dropdownClassName","dropdownStyle","filterOption","empty","options","popupClassName","array","showAction","arrayOf","animation","transitionName","getPopupContainer","func","dropdownRender","dropdownWidth","saveDropdownMenuRef","saveTriggerRef","setDropdownWidth","cancelRafInstance","offsetWidth","setState","getInnerMenu","dropdownMenuRef","getPopupDOMNode","triggerRef","getPopupDomNode","getDropdownElement","newProps","getDropdownPrefixCls","dropdownMenuProps","menuNode","DropdownMenu","getDropdownTransitionName","_popupClassName","mouseenter","mouseleave","dropdownVisibleChange","dropdownPrefixCls","popupElement","hideAction","popupStyle","widthProp","triggerProps","popupPlacement","builtinPlacements","popupTransitionName","popupAlign","popupVisible","popupVisibleChange","slot","SelectPropTypes","allowClear","showArrow","optionLabelProp","choiceTransitionName","open","defaultOpen","placeholder","labelInValue","loading","defaultValue","maxTagTextLength","number","maxTagCount","maxTagPlaceholder","tokenSeparators","getInputElement","autoFocus","clearIcon","inputIcon","removeIcon","mode","oneOf","backfill","notFoundContent","oneOfType","Number","use","SELECT_EMPTY_VALUE_KEY","noop","isHidden","offsetParent","chaining","_len","fns","_key","_len2","args","_key2","apply","Select","inheritAttrs","Option","OptGroup","def","autoClearSearchValue","menu","model","event","saveInputRef","saveInputMirrorRef","saveTopCtrlRef","saveSelectTriggerRef","saveRootRef","saveSelectionRef","_focused","_mouseDown","_options","_empty","optionsInfo","getOptionsInfoFromProps","__propsSymbol__","isDisabledExist","Object","keys","some","state","_value","getValueFromProps","_inputValue","getInputValueForCombobox","_open","_optionsInfo","_backfillValue","_skipBuildOptionsInfo","_ariaId","_mirrorInputValue","getDerivedState","focus","$data","inputNode","getInputDOMNode","mirrorNode","getInputMirrorDOMNode","clientWidth","forcePopupAlign","clearFocusTime","clearBlurTime","clearComboboxTime","dropdownContainer","document","body","removeChild","nextProps","prevState","newState","getOptionsFromChildren","useDefaultValue","getLabelFromOption","option","preState","oldOptionsInfo","v","onInputChange","_e$target","composing","_$data$_inputValue","isComposing","nextValue","getValueByInput","fireChange","setOpenState","needFocus","setInputValue","onDropdownVisibleChange","timeoutFocus","updateFocusClassName","onKeyDown","keyCode","onInputKeydown","KeyCode","ENTER","DOWN","maybeFocus","SPACE","_this5","_$props","isRealOpen","getRealOpenState","BACKSPACE","openIfHasChildren","stopPropagation","comboboxTimer","setTimeout","ESC","selectTriggerRef","handleBackfill","removeSelected","onMenuSelect","_ref","selectedValue","skipTrigger","fireSearch","fireSelect","onMenuDeselect","_ref2","domEvent","type","menuItemDomNode","onArrowClick","onPlaceholderClick","onPopupFocus","onClearSelection","onChoiceAnimationLeave","getOptionInfoBySingleValue","info","defaultLabel","valueLabel","defaultValueLabel","defaultInfo","getOptionBySingleValue","_getOptionInfoBySingl","getOptionsBySingleValue","values","_this6","getValueByLabel","_this7","oldLable","getVLBySingleValue","getLabelBySingleValue","getVLForOnChange","vlsS","_this8","vls","vl","_getOptionInfoBySingl2","getDropdownContainer","createElement","appendChild","getPlaceholderElement","hidden","p","mousedown","display","inputClick","inputBlur","_this9","relatedTarget","activeElement","arrow","contains","blurTimer","firstOption","tmpValue","inputFocus","rootRef","_getInputElement","_$data","defaultInput","autoComplete","inputElement","inputCls","inputEvents","domProps","keydown","inputKeydown","blur","topCtrlRef","querySelector","inputRef","inputMirrorRef","getPopupMenuComponent","_this10","config","__emit","nextState","_this11","_$props2","hasNewValue","selectionRef","markMouseDown","markMouseLeave","_filterOption","defaultFilter","_$data2","filterFn","bind","call","_this12","focusTimer","window","clearTimeout","add","remove","_document","selectedKey","isChildDisabled","oldValue","canMultiple","_valueOptions","childValue","renderFilterOptions","_$props3","childrenKeys","renderFilterOptionsFromChildren","sort","val1","val2","menuItem","MenuItem","every","unshift","_p","_this13","sel","childChildren","innerItems","subChild","childValueSub","MenuItemGroup","_innerItems","isSelectOption","renderTopControlNode","_this14","_$data3","className","innerNode","showSelectedValue","opacity","_getOptionInfoBySingl3","selectedValueNodes","limitedCountValue","maxTagPlaceholderEl","slice","omittedValues","content","choiceClassName","transitionProps","getTransitionProps","afterLeave","topCtrlContainerClick","renderArrow","_$props4","_$props4$showArrow","defaultIcon","renderClear","_$props5","_$data4","clear","selectionRefClick","selectionRefFocus","selectionRefBlur","_rootCls","_props$showArrow","ctrlNode","_$data5","filterOptions","realOpen","_getListeners$mouseen","_getListeners$mousele","_getListeners$popupSc","selectionProps","extraSelectionProps","rootCls","SelectTrigger","proxyComponent","getScroll","w","top","pageYOffset","pageXOffset","method","documentElement","getClientPosition","elem","x","y","doc","ownerDocument","docElem","box","left","clientLeft","clientTop","getOffsetLeft","el","pos","defaultView","parentWindow","allowHalf","character","characterRender","focused","count","onHover","onClick","getClassName","starValue","star","rateProps","sValue","cleanedValue","hoverValue","getStarValue","pageX","onMouseLeave","newValue","isReset","changeValue","onFocus","onBlur","RIGHT","LEFT","getStarDOM","starEle","leftDis","rateRef","_getOptionProps","stars","disabledClass","$scopedSlots","starProps","hover","Star"],"mappings":"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","file":"js/chunk-vendors~d0d0374e.22e0e37d.js","sourcesContent":["// based on rc-resize-observer 0.1.3\nimport ResizeObserver from 'resize-observer-polyfill';\n\n// Still need to be compatible with React 15, we use class component here\nvar VueResizeObserver = {\n name: 'ResizeObserver',\n props: {\n disabled: Boolean\n },\n data: function data() {\n this.currentElement = null;\n this.resizeObserver = null;\n return {\n width: 0,\n height: 0\n };\n },\n mounted: function mounted() {\n this.onComponentUpdated();\n },\n updated: function updated() {\n this.onComponentUpdated();\n },\n beforeDestroy: function beforeDestroy() {\n this.destroyObserver();\n },\n\n methods: {\n onComponentUpdated: function onComponentUpdated() {\n var disabled = this.$props.disabled;\n\n // Unregister if disabled\n\n if (disabled) {\n this.destroyObserver();\n return;\n }\n\n // Unregister if element changed\n var element = this.$el;\n var elementChanged = element !== this.currentElement;\n if (elementChanged) {\n this.destroyObserver();\n this.currentElement = element;\n }\n\n if (!this.resizeObserver && element) {\n this.resizeObserver = new ResizeObserver(this.onResize);\n this.resizeObserver.observe(element);\n }\n },\n onResize: function onResize(entries) {\n var target = entries[0].target;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (this.width !== fixedWidth || this.height !== fixedHeight) {\n var size = { width: fixedWidth, height: fixedHeight };\n this.width = fixedWidth;\n this.height = fixedHeight;\n this.$emit('resize', size);\n }\n },\n destroyObserver: function destroyObserver() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n }\n },\n\n render: function render() {\n return this.$slots['default'][0];\n }\n};\n\nexport default VueResizeObserver;","import _typeof from 'babel-runtime/helpers/typeof';\nimport { getPropsData, getSlotOptions, getKey, getAttrs, getComponentFromProp } from '../_util/props-util';\nimport { cloneVNodes } from '../_util/vnode';\n\nexport function toTitle(title) {\n if (typeof title === 'string') {\n return title.trim();\n }\n return '';\n}\nexport function getValuePropValue(child) {\n if (!child) {\n return null;\n }\n var props = getPropsData(child);\n if ('value' in props) {\n return props.value;\n }\n if (getKey(child) !== undefined) {\n return getKey(child);\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n var label = getComponentFromProp(child, 'label');\n if (label) {\n return label;\n }\n }\n throw new Error('Need at least a key or a value or a label (only for OptGroup) for ' + child);\n}\n\nexport function getPropValue(child, prop) {\n if (prop === 'value') {\n return getValuePropValue(child);\n }\n if (prop === 'children') {\n var newChild = child.$slots ? cloneVNodes(child.$slots['default'], true) : cloneVNodes(child.componentOptions.children, true);\n if (newChild.length === 1 && !newChild[0].tag) {\n return newChild[0].text;\n }\n return newChild;\n }\n var data = getPropsData(child);\n if (prop in data) {\n return data[prop];\n } else {\n return getAttrs(child)[prop];\n }\n}\n\nexport function isMultiple(props) {\n return props.multiple;\n}\n\nexport function isCombobox(props) {\n return props.combobox;\n}\n\nexport function isMultipleOrTags(props) {\n return props.multiple || props.tags;\n}\n\nexport function isMultipleOrTagsOrCombobox(props) {\n return isMultipleOrTags(props) || isCombobox(props);\n}\n\nexport function isSingleMode(props) {\n return !isMultipleOrTagsOrCombobox(props);\n}\n\nexport function toArray(value) {\n var ret = value;\n if (value === undefined) {\n ret = [];\n } else if (!Array.isArray(value)) {\n ret = [value];\n }\n return ret;\n}\n\nexport function getMapKey(value) {\n return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) + '-' + value;\n}\n\nexport function preventDefaultEvent(e) {\n e.preventDefault();\n}\n\nexport function findIndexInValueBySingleValue(value, singleValue) {\n var index = -1;\n if (value) {\n for (var i = 0; i < value.length; i++) {\n if (value[i] === singleValue) {\n index = i;\n break;\n }\n }\n }\n return index;\n}\n\nexport function getLabelFromPropsValue(value, key) {\n var label = void 0;\n value = toArray(value);\n if (value) {\n for (var i = 0; i < value.length; i++) {\n if (value[i].key === key) {\n label = value[i].label;\n break;\n }\n }\n }\n return label;\n}\n\nexport function getSelectKeys(menuItems, value) {\n if (value === null || value === undefined) {\n return [];\n }\n var selectedKeys = [];\n menuItems.forEach(function (item) {\n if (getSlotOptions(item).isMenuItemGroup) {\n selectedKeys = selectedKeys.concat(getSelectKeys(item.componentOptions.children, value));\n } else {\n var itemValue = getValuePropValue(item);\n var itemKey = item.key;\n if (findIndexInValueBySingleValue(value, itemValue) !== -1 && itemKey !== undefined) {\n selectedKeys.push(itemKey);\n }\n }\n });\n return selectedKeys;\n}\n\nexport var UNSELECTABLE_STYLE = {\n userSelect: 'none',\n WebkitUserSelect: 'none'\n};\n\nexport var UNSELECTABLE_ATTRIBUTE = {\n unselectable: 'on'\n};\n\nexport function findFirstMenuItem(children) {\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n var props = getPropsData(child);\n if (getSlotOptions(child).isMenuItemGroup) {\n var found = findFirstMenuItem(child.componentOptions.children);\n if (found) {\n return found;\n }\n } else if (!(props.disabled || props.disabled === '')) {\n return child;\n }\n }\n return null;\n}\n\nexport function includesSeparators(str, separators) {\n for (var i = 0; i < separators.length; ++i) {\n if (str.lastIndexOf(separators[i]) > 0) {\n return true;\n }\n }\n return false;\n}\n\nexport function splitBySeparators(str, separators) {\n var reg = new RegExp('[' + separators.join() + ']');\n return str.split(reg).filter(function (token) {\n return token;\n });\n}\n\nexport function defaultFilterFn(input, child) {\n var props = getPropsData(child);\n if (props.disabled) {\n return false;\n }\n var value = getPropValue(child, this.optionFilterProp);\n if (value.length && value[0].text) {\n value = value[0].text;\n } else {\n value = String(value);\n }\n return value.toLowerCase().indexOf(input.toLowerCase()) > -1;\n}\n\nexport function validateOptionValue(value, props) {\n if (isSingleMode(props) || isMultiple(props)) {\n return;\n }\n if (typeof value !== 'string') {\n throw new Error('Invalid `value` of type `' + (typeof value === 'undefined' ? 'undefined' : _typeof(value)) + '` supplied to Option, ' + 'expected `string` when `tags/combobox` is `true`.');\n }\n}\n\nexport function saveRef(instance, name) {\n return function (node) {\n instance[name] = node;\n };\n}\n\nexport function generateUUID() {\n if (process.env.NODE_ENV === 'test') {\n return 'test-uuid';\n }\n var d = new Date().getTime();\n var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : r & 0x7 | 0x8).toString(16);\n });\n return uuid;\n}","import _extends from 'babel-runtime/helpers/extends';\nimport raf from 'raf';\nimport PropTypes from '../_util/vue-types';\nimport Menu from '../vc-menu';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { getSelectKeys, preventDefaultEvent } from './util';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getSlotOptions, getComponentFromProp, getListeners } from '../_util/props-util';\n\nexport default {\n name: 'DropdownMenu',\n mixins: [BaseMixin],\n props: {\n ariaId: PropTypes.string,\n defaultActiveFirstOption: PropTypes.bool,\n value: PropTypes.any,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n // onPopupFocus: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n // onMenuDeSelect: PropTypes.func,\n // onMenuSelect: PropTypes.func,\n prefixCls: PropTypes.string,\n menuItems: PropTypes.any,\n inputValue: PropTypes.string,\n visible: PropTypes.bool,\n backfillValue: PropTypes.any,\n firstActiveValue: PropTypes.string,\n menuItemSelectedIcon: PropTypes.any\n },\n watch: {\n visible: function visible(val) {\n var _this = this;\n\n if (!val) {\n this.lastVisible = val;\n } else {\n this.$nextTick(function () {\n _this.scrollActiveItemToView();\n });\n }\n }\n },\n\n created: function created() {\n this.rafInstance = null;\n this.lastInputValue = this.$props.inputValue;\n this.lastVisible = false;\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.scrollActiveItemToView();\n });\n this.lastVisible = this.$props.visible;\n },\n updated: function updated() {\n var props = this.$props;\n // if (!this.prevVisible && props.visible) {\n // this.$nextTick(() => {\n // this.scrollActiveItemToView();\n // });\n // }\n this.lastVisible = props.visible;\n this.lastInputValue = props.inputValue;\n this.prevVisible = this.visible;\n },\n beforeDestroy: function beforeDestroy() {\n if (this.rafInstance) {\n raf.cancel(this.rafInstance);\n }\n },\n\n methods: {\n scrollActiveItemToView: function scrollActiveItemToView() {\n var _this3 = this;\n\n // scroll into view\n var itemComponent = this.firstActiveItem && this.firstActiveItem.$el;\n var props = this.$props;\n var value = props.value,\n visible = props.visible,\n firstActiveValue = props.firstActiveValue;\n\n if (!itemComponent || !visible) {\n return;\n }\n var scrollIntoViewOpts = {\n onlyScrollIfNeeded: true\n };\n if ((!value || value.length === 0) && firstActiveValue) {\n scrollIntoViewOpts.alignWithTop = true;\n }\n // Delay to scroll since current frame item position is not ready when pre view is by filter\n // https://github.com/ant-design/ant-design/issues/11268#issuecomment-406634462\n this.rafInstance = raf(function () {\n scrollIntoView(itemComponent, _this3.$refs.menuRef.$el, scrollIntoViewOpts);\n });\n },\n renderMenu: function renderMenu() {\n var _this4 = this;\n\n var h = this.$createElement;\n\n var props = this.$props;\n var menuItems = props.menuItems,\n defaultActiveFirstOption = props.defaultActiveFirstOption,\n value = props.value,\n prefixCls = props.prefixCls,\n multiple = props.multiple,\n inputValue = props.inputValue,\n firstActiveValue = props.firstActiveValue,\n dropdownMenuStyle = props.dropdownMenuStyle,\n backfillValue = props.backfillValue,\n visible = props.visible;\n\n var menuItemSelectedIcon = getComponentFromProp(this, 'menuItemSelectedIcon');\n\n var _getListeners = getListeners(this),\n menuDeselect = _getListeners.menuDeselect,\n menuSelect = _getListeners.menuSelect,\n popupScroll = _getListeners.popupScroll;\n\n if (menuItems && menuItems.length) {\n var selectedKeys = getSelectKeys(menuItems, value);\n var menuProps = {\n props: {\n multiple: multiple,\n itemIcon: multiple ? menuItemSelectedIcon : null,\n selectedKeys: selectedKeys,\n prefixCls: prefixCls + '-menu'\n },\n on: {},\n style: dropdownMenuStyle,\n ref: 'menuRef',\n attrs: {\n role: 'listbox'\n }\n };\n if (popupScroll) {\n menuProps.on.scroll = popupScroll;\n }\n if (multiple) {\n menuProps.on.deselect = menuDeselect;\n menuProps.on.select = menuSelect;\n } else {\n menuProps.on.click = menuSelect;\n }\n var activeKeyProps = {};\n\n var defaultActiveFirst = defaultActiveFirstOption;\n var clonedMenuItems = menuItems;\n if (selectedKeys.length || firstActiveValue) {\n if (props.visible && !this.lastVisible) {\n activeKeyProps.activeKey = selectedKeys[0] || firstActiveValue;\n } else if (!visible) {\n // Do not trigger auto active since we already have selectedKeys\n if (selectedKeys[0]) {\n defaultActiveFirst = false;\n }\n activeKeyProps.activeKey = undefined;\n }\n var foundFirst = false;\n // set firstActiveItem via cloning menus\n // for scroll into view\n var clone = function clone(item) {\n if (!foundFirst && selectedKeys.indexOf(item.key) !== -1 || !foundFirst && !selectedKeys.length && firstActiveValue.indexOf(item.key) !== -1) {\n foundFirst = true;\n return cloneElement(item, {\n directives: [{\n name: 'ant-ref',\n value: function value(ref) {\n _this4.firstActiveItem = ref;\n }\n }]\n });\n }\n return item;\n };\n\n clonedMenuItems = menuItems.map(function (item) {\n if (getSlotOptions(item).isMenuItemGroup) {\n var children = item.componentOptions.children.map(clone);\n return cloneElement(item, { children: children });\n }\n return clone(item);\n });\n } else {\n // Clear firstActiveItem when dropdown menu items was empty\n // Avoid `Unable to find node on an unmounted component`\n // https://github.com/ant-design/ant-design/issues/10774\n this.firstActiveItem = null;\n }\n\n // clear activeKey when inputValue change\n var lastValue = value && value[value.length - 1];\n if (inputValue !== this.lastInputValue && (!lastValue || lastValue !== backfillValue)) {\n activeKeyProps.activeKey = '';\n }\n menuProps.props = _extends({}, activeKeyProps, menuProps.props, { defaultActiveFirst: defaultActiveFirst });\n return h(\n Menu,\n menuProps,\n [clonedMenuItems]\n );\n }\n return null;\n }\n },\n render: function render() {\n var h = arguments[0];\n\n var renderMenu = this.renderMenu();\n\n var _getListeners2 = getListeners(this),\n popupFocus = _getListeners2.popupFocus,\n popupScroll = _getListeners2.popupScroll;\n\n return renderMenu ? h(\n 'div',\n {\n style: {\n overflow: 'auto',\n transform: 'translateZ(0)'\n },\n attrs: { id: this.$props.ariaId,\n tabIndex: '-1'\n },\n on: {\n 'focus': popupFocus,\n 'mousedown': preventDefaultEvent,\n 'scroll': popupScroll\n },\n\n ref: 'menuContainer'\n },\n [renderMenu]\n ) : null;\n }\n};","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport classnames from 'classnames';\nimport raf from 'raf';\nimport Trigger from '../vc-trigger';\nimport PropTypes from '../_util/vue-types';\nimport DropdownMenu from './DropdownMenu';\nimport { isSingleMode, saveRef } from './util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getListeners } from '../_util/props-util';\n\nvar BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n }\n};\n\nexport default {\n name: 'SelectTrigger',\n mixins: [BaseMixin],\n props: {\n // onPopupFocus: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n defaultActiveFirstOption: PropTypes.bool,\n dropdownAlign: PropTypes.object,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n inputValue: PropTypes.string,\n filterOption: PropTypes.any,\n empty: PropTypes.bool,\n options: PropTypes.any,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n value: PropTypes.array,\n // children: PropTypes.any,\n showAction: PropTypes.arrayOf(PropTypes.string),\n combobox: PropTypes.bool,\n animation: PropTypes.string,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n backfillValue: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n dropdownRender: PropTypes.func,\n ariaId: PropTypes.string\n },\n data: function data() {\n return {\n dropdownWidth: 0\n };\n },\n created: function created() {\n this.rafInstance = null;\n this.saveDropdownMenuRef = saveRef(this, 'dropdownMenuRef');\n this.saveTriggerRef = saveRef(this, 'triggerRef');\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.setDropdownWidth();\n });\n },\n updated: function updated() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.setDropdownWidth();\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.cancelRafInstance();\n },\n\n methods: {\n setDropdownWidth: function setDropdownWidth() {\n var _this3 = this;\n\n this.cancelRafInstance();\n this.rafInstance = raf(function () {\n var width = _this3.$el.offsetWidth;\n if (width !== _this3.dropdownWidth) {\n _this3.setState({ dropdownWidth: width });\n }\n });\n },\n cancelRafInstance: function cancelRafInstance() {\n if (this.rafInstance) {\n raf.cancel(this.rafInstance);\n }\n },\n getInnerMenu: function getInnerMenu() {\n return this.dropdownMenuRef && this.dropdownMenuRef.$refs.menuRef;\n },\n getPopupDOMNode: function getPopupDOMNode() {\n return this.triggerRef.getPopupDomNode();\n },\n getDropdownElement: function getDropdownElement(newProps) {\n var h = this.$createElement;\n var value = this.value,\n firstActiveValue = this.firstActiveValue,\n defaultActiveFirstOption = this.defaultActiveFirstOption,\n dropdownMenuStyle = this.dropdownMenuStyle,\n getDropdownPrefixCls = this.getDropdownPrefixCls,\n backfillValue = this.backfillValue,\n menuItemSelectedIcon = this.menuItemSelectedIcon;\n\n var _getListeners = getListeners(this),\n menuSelect = _getListeners.menuSelect,\n menuDeselect = _getListeners.menuDeselect,\n popupScroll = _getListeners.popupScroll;\n\n var props = this.$props;\n\n var dropdownRender = props.dropdownRender,\n ariaId = props.ariaId;\n\n var dropdownMenuProps = {\n props: _extends({}, newProps.props, {\n ariaId: ariaId,\n prefixCls: getDropdownPrefixCls(),\n value: value,\n firstActiveValue: firstActiveValue,\n defaultActiveFirstOption: defaultActiveFirstOption,\n dropdownMenuStyle: dropdownMenuStyle,\n backfillValue: backfillValue,\n menuItemSelectedIcon: menuItemSelectedIcon\n }),\n on: _extends({}, newProps.on, {\n menuSelect: menuSelect,\n menuDeselect: menuDeselect,\n popupScroll: popupScroll\n }),\n directives: [{\n name: 'ant-ref',\n value: this.saveDropdownMenuRef\n }]\n };\n var menuNode = h(DropdownMenu, dropdownMenuProps);\n\n if (dropdownRender) {\n return dropdownRender(menuNode, props);\n }\n return null;\n },\n getDropdownTransitionName: function getDropdownTransitionName() {\n var props = this.$props;\n var transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = this.getDropdownPrefixCls() + '-' + props.animation;\n }\n return transitionName;\n },\n getDropdownPrefixCls: function getDropdownPrefixCls() {\n return this.prefixCls + '-dropdown';\n }\n },\n\n render: function render() {\n var _popupClassName;\n\n var h = arguments[0];\n var $props = this.$props,\n $slots = this.$slots;\n var multiple = $props.multiple,\n visible = $props.visible,\n inputValue = $props.inputValue,\n dropdownAlign = $props.dropdownAlign,\n disabled = $props.disabled,\n showSearch = $props.showSearch,\n dropdownClassName = $props.dropdownClassName,\n dropdownStyle = $props.dropdownStyle,\n dropdownMatchSelectWidth = $props.dropdownMatchSelectWidth,\n options = $props.options,\n getPopupContainer = $props.getPopupContainer,\n showAction = $props.showAction,\n empty = $props.empty;\n\n var _getListeners2 = getListeners(this),\n mouseenter = _getListeners2.mouseenter,\n mouseleave = _getListeners2.mouseleave,\n popupFocus = _getListeners2.popupFocus,\n dropdownVisibleChange = _getListeners2.dropdownVisibleChange;\n\n var dropdownPrefixCls = this.getDropdownPrefixCls();\n var popupClassName = (_popupClassName = {}, _defineProperty(_popupClassName, dropdownClassName, !!dropdownClassName), _defineProperty(_popupClassName, dropdownPrefixCls + '--' + (multiple ? 'multiple' : 'single'), 1), _defineProperty(_popupClassName, dropdownPrefixCls + '--empty', empty), _popupClassName);\n var popupElement = this.getDropdownElement({\n props: {\n menuItems: options,\n multiple: multiple,\n inputValue: inputValue,\n visible: visible\n },\n on: {\n popupFocus: popupFocus\n }\n });\n var hideAction = void 0;\n if (disabled) {\n hideAction = [];\n } else if (isSingleMode($props) && !showSearch) {\n hideAction = ['click'];\n } else {\n hideAction = ['blur'];\n }\n var popupStyle = _extends({}, dropdownStyle);\n var widthProp = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n if (this.dropdownWidth) {\n popupStyle[widthProp] = this.dropdownWidth + 'px';\n }\n var triggerProps = {\n props: _extends({}, $props, {\n showAction: disabled ? [] : showAction,\n hideAction: hideAction,\n ref: 'triggerRef',\n popupPlacement: 'bottomLeft',\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: this.getDropdownTransitionName(),\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer: getPopupContainer,\n popupClassName: classnames(popupClassName),\n popupStyle: popupStyle\n }),\n on: {\n popupVisibleChange: dropdownVisibleChange\n },\n directives: [{\n name: 'ant-ref',\n value: this.saveTriggerRef\n }]\n };\n if (mouseenter) {\n triggerProps.on.mouseenter = mouseenter;\n }\n if (mouseleave) {\n triggerProps.on.mouseleave = mouseleave;\n }\n return h(\n Trigger,\n triggerProps,\n [$slots['default'], h(\n 'template',\n { slot: 'popup' },\n [popupElement]\n )]\n );\n }\n};","import PropTypes from '../_util/vue-types';\n\nexport var SelectPropTypes = {\n defaultActiveFirstOption: PropTypes.bool,\n multiple: PropTypes.bool,\n filterOption: PropTypes.any,\n // children: PropTypes.any,\n showSearch: PropTypes.bool,\n disabled: PropTypes.bool,\n allowClear: PropTypes.bool,\n showArrow: PropTypes.bool,\n tags: PropTypes.bool,\n prefixCls: PropTypes.string,\n // className: PropTypes.string,\n transitionName: PropTypes.string,\n optionLabelProp: PropTypes.string,\n optionFilterProp: PropTypes.string,\n animation: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n // onChange: PropTypes.func,\n // onBlur: PropTypes.func,\n // onFocus: PropTypes.func,\n // onSelect: PropTypes.func,\n // onSearch: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n // onMouseEnter: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n // onInputKeyDown: PropTypes.func,\n placeholder: PropTypes.any,\n // onDeselect: PropTypes.func,\n labelInValue: PropTypes.bool,\n loading: PropTypes.bool,\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n dropdownStyle: PropTypes.object,\n dropdownClassName: PropTypes.string,\n maxTagTextLength: PropTypes.number,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n tokenSeparators: PropTypes.arrayOf(PropTypes.string),\n getInputElement: PropTypes.func,\n showAction: PropTypes.arrayOf(PropTypes.string),\n autoFocus: PropTypes.bool,\n getPopupContainer: PropTypes.func,\n clearIcon: PropTypes.any,\n inputIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n dropdownRender: PropTypes.func,\n mode: PropTypes.oneOf(['multiple', 'tags']),\n backfill: PropTypes.bool,\n dropdownAlign: PropTypes.any,\n dropdownMatchSelectWidth: PropTypes.bool,\n dropdownMenuStyle: PropTypes.object,\n notFoundContent: PropTypes.oneOfType([String, Number]),\n tabIndex: PropTypes.oneOfType([String, Number])\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 KeyCode from '../_util/KeyCode';\nimport PropTypes from '../_util/vue-types';\nimport classnames from 'classnames';\nimport classes from 'component-classes';\nimport { Item as MenuItem, ItemGroup as MenuItemGroup } from '../vc-menu';\nimport warning from 'warning';\nimport Vue from 'vue';\nimport Option from './Option';\nimport OptGroup from './OptGroup';\nimport { hasProp, getSlotOptions, getPropsData, getValueByProp as getValue, getComponentFromProp, getEvents, getClass, getStyle, getAttrs, getOptionProps, getSlots, getListeners } from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport proxyComponent from '../_util/proxyComponent';\nimport ref from 'vue-ref';\nimport SelectTrigger from './SelectTrigger';\nimport { defaultFilterFn, findFirstMenuItem, findIndexInValueBySingleValue, generateUUID, getLabelFromPropsValue, getMapKey, getPropValue, getValuePropValue, includesSeparators, isCombobox, isMultipleOrTags, isMultipleOrTagsOrCombobox, isSingleMode, preventDefaultEvent, saveRef, splitBySeparators, toArray, toTitle, UNSELECTABLE_ATTRIBUTE, UNSELECTABLE_STYLE, validateOptionValue } from './util';\nimport { SelectPropTypes } from './PropTypes';\nimport contains from '../vc-util/Dom/contains';\nimport { isIE, isEdge } from '../_util/env';\n\nVue.use(ref, { name: 'ant-ref' });\nvar SELECT_EMPTY_VALUE_KEY = 'RC_SELECT_EMPTY_VALUE_KEY';\n\nvar noop = function noop() {\n return null;\n};\n\n// Where el is the DOM element you'd like to test for visibility\nfunction isHidden(node) {\n return !node || node.offsetParent === null;\n}\n\nfunction chaining() {\n for (var _len = arguments.length, fns = Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n // eslint-disable-line\n // eslint-disable-line\n for (var i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(chaining, args);\n }\n }\n };\n}\nvar Select = {\n inheritAttrs: false,\n Option: Option,\n OptGroup: OptGroup,\n name: 'Select',\n mixins: [BaseMixin],\n props: _extends({}, SelectPropTypes, {\n prefixCls: SelectPropTypes.prefixCls.def('rc-select'),\n defaultOpen: PropTypes.bool.def(false),\n labelInValue: SelectPropTypes.labelInValue.def(false),\n defaultActiveFirstOption: SelectPropTypes.defaultActiveFirstOption.def(true),\n showSearch: SelectPropTypes.showSearch.def(true),\n allowClear: SelectPropTypes.allowClear.def(false),\n placeholder: SelectPropTypes.placeholder.def(''),\n // showArrow: SelectPropTypes.showArrow.def(true),\n dropdownMatchSelectWidth: PropTypes.bool.def(true),\n dropdownStyle: SelectPropTypes.dropdownStyle.def(function () {\n return {};\n }),\n dropdownMenuStyle: PropTypes.object.def(function () {\n return {};\n }),\n optionFilterProp: SelectPropTypes.optionFilterProp.def('value'),\n optionLabelProp: SelectPropTypes.optionLabelProp.def('value'),\n notFoundContent: PropTypes.any.def('Not Found'),\n backfill: PropTypes.bool.def(false),\n showAction: SelectPropTypes.showAction.def(['click']),\n combobox: PropTypes.bool.def(false),\n tokenSeparators: PropTypes.arrayOf(PropTypes.string).def([]),\n autoClearSearchValue: PropTypes.bool.def(true),\n tabIndex: PropTypes.any.def(0),\n dropdownRender: PropTypes.func.def(function (menu) {\n return menu;\n })\n // onChange: noop,\n // onFocus: noop,\n // onBlur: noop,\n // onSelect: noop,\n // onSearch: noop,\n // onDeselect: noop,\n // onInputKeydown: noop,\n }),\n model: {\n prop: 'value',\n event: 'change'\n },\n created: function created() {\n this.saveInputRef = saveRef(this, 'inputRef');\n this.saveInputMirrorRef = saveRef(this, 'inputMirrorRef');\n this.saveTopCtrlRef = saveRef(this, 'topCtrlRef');\n this.saveSelectTriggerRef = saveRef(this, 'selectTriggerRef');\n this.saveRootRef = saveRef(this, 'rootRef');\n this.saveSelectionRef = saveRef(this, 'selectionRef');\n this._focused = false;\n this._mouseDown = false;\n this._options = [];\n this._empty = false;\n },\n data: function data() {\n var props = getOptionProps(this);\n var optionsInfo = this.getOptionsInfoFromProps(props);\n warning(this.__propsSymbol__, 'Replace slots.default with props.children and pass props.__propsSymbol__');\n if (props.tags && typeof props.filterOption !== 'function') {\n var isDisabledExist = Object.keys(optionsInfo).some(function (key) {\n return optionsInfo[key].disabled;\n });\n warning(!isDisabledExist, 'Please avoid setting option to disabled in tags mode since user can always type text as tag.');\n }\n var state = {\n _value: this.getValueFromProps(props, true), // true: use default value\n _inputValue: props.combobox ? this.getInputValueForCombobox(props, optionsInfo, true // use default value\n ) : '',\n _open: props.defaultOpen,\n _optionsInfo: optionsInfo,\n _backfillValue: '',\n // a flag for aviod redundant getOptionsInfoFromProps call\n _skipBuildOptionsInfo: true,\n _ariaId: generateUUID()\n };\n return _extends({}, state, {\n _mirrorInputValue: state._inputValue }, this.getDerivedState(props, state));\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n // when defaultOpen is true, we should auto focus search input\n // https://github.com/ant-design/ant-design/issues/14254\n if (_this.autoFocus || _this._open) {\n _this.focus();\n }\n // this.setState({\n // _ariaId: generateUUID(),\n // });\n });\n },\n\n watch: {\n __propsSymbol__: function __propsSymbol__() {\n _extends(this.$data, this.getDerivedState(getOptionProps(this), this.$data));\n },\n '$data._inputValue': function $data_inputValue(val) {\n this.$data._mirrorInputValue = val;\n }\n },\n updated: function updated() {\n var _this2 = this;\n\n this.$nextTick(function () {\n if (isMultipleOrTags(_this2.$props)) {\n var inputNode = _this2.getInputDOMNode();\n var mirrorNode = _this2.getInputMirrorDOMNode();\n if (inputNode && inputNode.value && mirrorNode) {\n inputNode.style.width = '';\n inputNode.style.width = mirrorNode.clientWidth + 10 + 'px';\n } else if (inputNode) {\n inputNode.style.width = '';\n }\n }\n _this2.forcePopupAlign();\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.clearFocusTime();\n this.clearBlurTime();\n this.clearComboboxTime();\n if (this.dropdownContainer) {\n document.body.removeChild(this.dropdownContainer);\n this.dropdownContainer = null;\n }\n },\n\n methods: {\n getDerivedState: function getDerivedState(nextProps, prevState) {\n var optionsInfo = prevState._skipBuildOptionsInfo ? prevState._optionsInfo : this.getOptionsInfoFromProps(nextProps, prevState);\n\n var newState = {\n _optionsInfo: optionsInfo,\n _skipBuildOptionsInfo: false\n };\n\n if ('open' in nextProps) {\n newState._open = nextProps.open;\n }\n\n if ('value' in nextProps) {\n var value = this.getValueFromProps(nextProps);\n newState._value = value;\n if (nextProps.combobox) {\n newState._inputValue = this.getInputValueForCombobox(nextProps, optionsInfo);\n }\n }\n return newState;\n },\n getOptionsFromChildren: function getOptionsFromChildren() {\n var _this3 = this;\n\n var children = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n children.forEach(function (child) {\n if (!child.data || child.data.slot !== undefined) {\n return;\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n _this3.getOptionsFromChildren(child.componentOptions.children, options);\n } else {\n options.push(child);\n }\n });\n return options;\n },\n getInputValueForCombobox: function getInputValueForCombobox(props, optionsInfo, useDefaultValue) {\n var value = [];\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n if (value.length) {\n value = value[0];\n } else {\n return '';\n }\n var label = value;\n if (props.labelInValue) {\n label = value.label;\n } else if (optionsInfo[getMapKey(value)]) {\n label = optionsInfo[getMapKey(value)].label;\n }\n if (label === undefined) {\n label = '';\n }\n return label;\n },\n getLabelFromOption: function getLabelFromOption(props, option) {\n return getPropValue(option, props.optionLabelProp);\n },\n getOptionsInfoFromProps: function getOptionsInfoFromProps(props, preState) {\n var _this4 = this;\n\n var options = this.getOptionsFromChildren(this.$props.children);\n var optionsInfo = {};\n options.forEach(function (option) {\n var singleValue = getValuePropValue(option);\n optionsInfo[getMapKey(singleValue)] = {\n option: option,\n value: singleValue,\n label: _this4.getLabelFromOption(props, option),\n title: getValue(option, 'title'),\n disabled: getValue(option, 'disabled')\n };\n });\n if (preState) {\n // keep option info in pre state value.\n var oldOptionsInfo = preState._optionsInfo;\n var value = preState._value;\n if (value) {\n value.forEach(function (v) {\n var key = getMapKey(v);\n if (!optionsInfo[key] && oldOptionsInfo[key] !== undefined) {\n optionsInfo[key] = oldOptionsInfo[key];\n }\n });\n }\n }\n return optionsInfo;\n },\n getValueFromProps: function getValueFromProps(props, useDefaultValue) {\n var value = [];\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n if (props.labelInValue) {\n value = value.map(function (v) {\n return v.key;\n });\n }\n return value;\n },\n onInputChange: function onInputChange(e) {\n var _e$target = e.target,\n val = _e$target.value,\n composing = _e$target.composing;\n\n var _$data$_inputValue = this.$data._inputValue,\n _inputValue = _$data$_inputValue === undefined ? '' : _$data$_inputValue;\n\n if (e.isComposing || composing || _inputValue === val) {\n this.setState({\n _mirrorInputValue: val\n });\n return;\n }\n var tokenSeparators = this.$props.tokenSeparators;\n\n if (isMultipleOrTags(this.$props) && tokenSeparators.length && includesSeparators(val, tokenSeparators)) {\n var nextValue = this.getValueByInput(val);\n if (nextValue !== undefined) {\n this.fireChange(nextValue);\n }\n this.setOpenState(false, { needFocus: true });\n this.setInputValue('', false);\n return;\n }\n this.setInputValue(val);\n this.setState({\n _open: true\n });\n if (isCombobox(this.$props)) {\n this.fireChange([val]);\n }\n },\n onDropdownVisibleChange: function onDropdownVisibleChange(open) {\n if (open && !this._focused) {\n this.clearBlurTime();\n this.timeoutFocus();\n this._focused = true;\n this.updateFocusClassName();\n }\n this.setOpenState(open);\n },\n\n\n // combobox ignore\n onKeyDown: function onKeyDown(event) {\n var open = this.$data._open;\n var disabled = this.$props.disabled;\n\n if (disabled) {\n return;\n }\n var keyCode = event.keyCode;\n if (open && !this.getInputDOMNode()) {\n this.onInputKeydown(event);\n } else if (keyCode === KeyCode.ENTER || keyCode === KeyCode.DOWN) {\n // vue state是同步更新,onKeyDown在onMenuSelect后会再次调用,单选时不在调用setOpenState\n // https://github.com/vueComponent/ant-design-vue/issues/1142\n if (keyCode === KeyCode.ENTER && !isMultipleOrTags(this.$props)) {\n this.maybeFocus(true);\n } else if (!open) {\n this.setOpenState(true);\n }\n event.preventDefault();\n } else if (keyCode === KeyCode.SPACE) {\n // Not block space if popup is shown\n if (!open) {\n this.setOpenState(true);\n event.preventDefault();\n }\n }\n },\n onInputKeydown: function onInputKeydown(event) {\n var _this5 = this;\n\n var _$props = this.$props,\n disabled = _$props.disabled,\n combobox = _$props.combobox,\n defaultActiveFirstOption = _$props.defaultActiveFirstOption;\n\n if (disabled) {\n return;\n }\n var state = this.$data;\n var isRealOpen = this.getRealOpenState(state);\n var keyCode = event.keyCode;\n if (isMultipleOrTags(this.$props) && !event.target.value && keyCode === KeyCode.BACKSPACE) {\n event.preventDefault();\n var value = state._value;\n\n if (value.length) {\n this.removeSelected(value[value.length - 1]);\n }\n return;\n }\n if (keyCode === KeyCode.DOWN) {\n if (!state._open) {\n this.openIfHasChildren();\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n } else if (keyCode === KeyCode.ENTER && state._open) {\n // Aviod trigger form submit when select item\n // https://github.com/ant-design/ant-design/issues/10861\n // https://github.com/ant-design/ant-design/issues/14544\n if (isRealOpen || !combobox) {\n event.preventDefault();\n }\n // Hard close popup to avoid lock of non option in combobox mode\n if (isRealOpen && combobox && defaultActiveFirstOption === false) {\n this.comboboxTimer = setTimeout(function () {\n _this5.setOpenState(false);\n });\n }\n } else if (keyCode === KeyCode.ESC) {\n if (state._open) {\n this.setOpenState(false);\n event.preventDefault();\n event.stopPropagation();\n }\n return;\n }\n\n if (isRealOpen && this.selectTriggerRef) {\n var menu = this.selectTriggerRef.getInnerMenu();\n if (menu && menu.onKeyDown(event, this.handleBackfill)) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n onMenuSelect: function onMenuSelect(_ref) {\n var item = _ref.item;\n\n if (!item) {\n return;\n }\n var value = this.$data._value;\n var props = this.$props;\n var selectedValue = getValuePropValue(item);\n var lastValue = value[value.length - 1];\n var skipTrigger = false;\n\n if (isMultipleOrTags(props)) {\n if (findIndexInValueBySingleValue(value, selectedValue) !== -1) {\n skipTrigger = true;\n } else {\n value = value.concat([selectedValue]);\n }\n } else {\n if (!isCombobox(props) && lastValue !== undefined && lastValue === selectedValue && selectedValue !== this.$data._backfillValue) {\n this.setOpenState(false, { needFocus: true, fireSearch: false });\n skipTrigger = true;\n } else {\n value = [selectedValue];\n this.setOpenState(false, { needFocus: true, fireSearch: false });\n }\n }\n if (!skipTrigger) {\n this.fireChange(value);\n }\n if (!skipTrigger) {\n this.fireSelect(selectedValue);\n var inputValue = isCombobox(props) ? getPropValue(item, props.optionLabelProp) : '';\n\n if (props.autoClearSearchValue) {\n this.setInputValue(inputValue, false);\n }\n }\n },\n onMenuDeselect: function onMenuDeselect(_ref2) {\n var item = _ref2.item,\n domEvent = _ref2.domEvent;\n\n if (domEvent.type === 'keydown' && domEvent.keyCode === KeyCode.ENTER) {\n var menuItemDomNode = item.$el;\n // https://github.com/ant-design/ant-design/issues/20465#issuecomment-569033796\n if (!isHidden(menuItemDomNode)) {\n this.removeSelected(getValuePropValue(item));\n }\n return;\n }\n if (domEvent.type === 'click') {\n this.removeSelected(getValuePropValue(item));\n }\n if (this.autoClearSearchValue) {\n this.setInputValue('');\n }\n },\n onArrowClick: function onArrowClick(e) {\n e.stopPropagation();\n e.preventDefault();\n this.clearBlurTime();\n if (!this.disabled) {\n this.setOpenState(!this.$data._open, { needFocus: !this.$data._open });\n }\n },\n onPlaceholderClick: function onPlaceholderClick() {\n if (this.getInputDOMNode() && this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n },\n onPopupFocus: function onPopupFocus() {\n // fix ie scrollbar, focus element again\n this.maybeFocus(true, true);\n },\n onClearSelection: function onClearSelection(event) {\n var props = this.$props;\n var state = this.$data;\n if (props.disabled) {\n return;\n }\n var inputValue = state._inputValue,\n value = state._value;\n\n event.stopPropagation();\n if (inputValue || value.length) {\n if (value.length) {\n this.fireChange([]);\n }\n this.setOpenState(false, { needFocus: true });\n if (inputValue) {\n this.setInputValue('');\n }\n }\n },\n onChoiceAnimationLeave: function onChoiceAnimationLeave() {\n this.forcePopupAlign();\n },\n getOptionInfoBySingleValue: function getOptionInfoBySingleValue(value, optionsInfo) {\n var h = this.$createElement;\n\n var info = void 0;\n optionsInfo = optionsInfo || this.$data._optionsInfo;\n if (optionsInfo[getMapKey(value)]) {\n info = optionsInfo[getMapKey(value)];\n }\n if (info) {\n return info;\n }\n var defaultLabel = value;\n if (this.$props.labelInValue) {\n var valueLabel = getLabelFromPropsValue(this.$props.value, value);\n var defaultValueLabel = getLabelFromPropsValue(this.$props.defaultValue, value);\n if (valueLabel !== undefined) {\n defaultLabel = valueLabel;\n } else if (defaultValueLabel !== undefined) {\n defaultLabel = defaultValueLabel;\n }\n }\n var defaultInfo = {\n option: h(\n Option,\n {\n attrs: { value: value },\n key: value },\n [value]\n ),\n value: value,\n label: defaultLabel\n };\n return defaultInfo;\n },\n getOptionBySingleValue: function getOptionBySingleValue(value) {\n var _getOptionInfoBySingl = this.getOptionInfoBySingleValue(value),\n option = _getOptionInfoBySingl.option;\n\n return option;\n },\n getOptionsBySingleValue: function getOptionsBySingleValue(values) {\n var _this6 = this;\n\n return values.map(function (value) {\n return _this6.getOptionBySingleValue(value);\n });\n },\n getValueByLabel: function getValueByLabel(label) {\n var _this7 = this;\n\n if (label === undefined) {\n return null;\n }\n var value = null;\n Object.keys(this.$data._optionsInfo).forEach(function (key) {\n var info = _this7.$data._optionsInfo[key];\n var disabled = info.disabled;\n\n if (disabled) {\n return;\n }\n var oldLable = toArray(info.label);\n if (oldLable && oldLable.join('') === label) {\n value = info.value;\n }\n });\n return value;\n },\n getVLBySingleValue: function getVLBySingleValue(value) {\n if (this.$props.labelInValue) {\n return {\n key: value,\n label: this.getLabelBySingleValue(value)\n };\n }\n return value;\n },\n getVLForOnChange: function getVLForOnChange(vlsS) {\n var _this8 = this;\n\n var vls = vlsS;\n if (vls !== undefined) {\n if (!this.labelInValue) {\n vls = vls.map(function (v) {\n return v;\n });\n } else {\n vls = vls.map(function (vl) {\n return {\n key: vl,\n label: _this8.getLabelBySingleValue(vl)\n };\n });\n }\n return isMultipleOrTags(this.$props) ? vls : vls[0];\n }\n return vls;\n },\n getLabelBySingleValue: function getLabelBySingleValue(value, optionsInfo) {\n var _getOptionInfoBySingl2 = this.getOptionInfoBySingleValue(value, optionsInfo),\n label = _getOptionInfoBySingl2.label;\n\n return label;\n },\n getDropdownContainer: function getDropdownContainer() {\n if (!this.dropdownContainer) {\n this.dropdownContainer = document.createElement('div');\n document.body.appendChild(this.dropdownContainer);\n }\n return this.dropdownContainer;\n },\n getPlaceholderElement: function getPlaceholderElement() {\n var h = this.$createElement;\n var props = this.$props,\n state = this.$data;\n\n var hidden = false;\n if (state._mirrorInputValue) {\n hidden = true;\n }\n var value = state._value;\n if (value.length) {\n hidden = true;\n }\n if (!state._mirrorInputValue && isCombobox(props) && value.length === 1 && state._value && !state._value[0]) {\n hidden = false;\n }\n var placeholder = props.placeholder;\n if (placeholder) {\n var p = {\n on: {\n mousedown: preventDefaultEvent,\n click: this.onPlaceholderClick\n },\n attrs: UNSELECTABLE_ATTRIBUTE,\n style: _extends({\n display: hidden ? 'none' : 'block'\n }, UNSELECTABLE_STYLE),\n 'class': props.prefixCls + '-selection__placeholder'\n };\n return h(\n 'div',\n p,\n [placeholder]\n );\n }\n return null;\n },\n inputClick: function inputClick(e) {\n if (this.$data._open) {\n this.clearBlurTime();\n e.stopPropagation();\n } else {\n this._focused = false;\n }\n },\n inputBlur: function inputBlur(e) {\n var _this9 = this;\n\n var target = e.relatedTarget || document.activeElement;\n\n // https://github.com/vueComponent/ant-design-vue/issues/999\n // https://github.com/vueComponent/ant-design-vue/issues/1223\n if ((isIE || isEdge) && (e.relatedTarget === this.$refs.arrow || target && this.selectTriggerRef && this.selectTriggerRef.getInnerMenu() && this.selectTriggerRef.getInnerMenu().$el === target || contains(e.target, target))) {\n e.target.focus();\n e.preventDefault();\n return;\n }\n this.clearBlurTime();\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n this.blurTimer = setTimeout(function () {\n _this9._focused = false;\n _this9.updateFocusClassName();\n var props = _this9.$props;\n var value = _this9.$data._value;\n var inputValue = _this9.$data._inputValue;\n\n if (isSingleMode(props) && props.showSearch && inputValue && props.defaultActiveFirstOption) {\n var options = _this9._options || [];\n if (options.length) {\n var firstOption = findFirstMenuItem(options);\n if (firstOption) {\n value = [getValuePropValue(firstOption)];\n _this9.fireChange(value);\n }\n }\n } else if (isMultipleOrTags(props) && inputValue) {\n if (_this9._mouseDown) {\n // need update dropmenu when not blur\n _this9.setInputValue('');\n } else {\n // why not use setState?\n _this9.$data._inputValue = '';\n if (_this9.getInputDOMNode && _this9.getInputDOMNode()) {\n _this9.getInputDOMNode().value = '';\n }\n }\n var tmpValue = _this9.getValueByInput(inputValue);\n if (tmpValue !== undefined) {\n value = tmpValue;\n _this9.fireChange(value);\n }\n }\n // if click the rest space of Select in multiple mode\n if (isMultipleOrTags(props) && _this9._mouseDown) {\n _this9.maybeFocus(true, true);\n _this9._mouseDown = false;\n return;\n }\n _this9.setOpenState(false);\n _this9.$emit('blur', _this9.getVLForOnChange(value));\n }, 200);\n },\n inputFocus: function inputFocus(e) {\n if (this.$props.disabled) {\n e.preventDefault();\n return;\n }\n this.clearBlurTime();\n\n // In IE11, onOuterFocus will be trigger twice when focus input\n // First one: e.target is div\n // Second one: e.target is input\n // other browser only trigger second one\n // https://github.com/ant-design/ant-design/issues/15942\n // Here we ignore the first one when e.target is div\n var inputNode = this.getInputDOMNode();\n if (inputNode && e.target === this.rootRef) {\n return;\n }\n if (!isMultipleOrTagsOrCombobox(this.$props) && e.target === inputNode) {\n return;\n }\n if (this._focused) {\n return;\n }\n this._focused = true;\n this.updateFocusClassName();\n // only effect multiple or tag mode\n if (!isMultipleOrTags(this.$props) || !this._mouseDown) {\n this.timeoutFocus();\n }\n },\n _getInputElement: function _getInputElement() {\n var h = this.$createElement;\n\n var props = this.$props;\n var _$data = this.$data,\n inputValue = _$data._inputValue,\n _mirrorInputValue = _$data._mirrorInputValue;\n\n var attrs = getAttrs(this);\n var defaultInput = h('input', {\n attrs: { id: attrs.id, autoComplete: 'off' }\n });\n\n var inputElement = props.getInputElement ? props.getInputElement() : defaultInput;\n var inputCls = classnames(getClass(inputElement), _defineProperty({}, props.prefixCls + '-search__field', true));\n var inputEvents = getEvents(inputElement);\n // https://github.com/ant-design/ant-design/issues/4992#issuecomment-281542159\n // Add space to the end of the inputValue as the width measurement tolerance\n inputElement.data = inputElement.data || {};\n return h(\n 'div',\n { 'class': props.prefixCls + '-search__field__wrap', on: {\n 'click': this.inputClick\n }\n },\n [cloneElement(inputElement, {\n props: {\n disabled: props.disabled,\n value: inputValue\n },\n attrs: _extends({}, inputElement.data.attrs || {}, {\n disabled: props.disabled,\n value: inputValue\n }),\n domProps: {\n value: inputValue\n },\n 'class': inputCls,\n directives: [{\n name: 'ant-ref',\n value: this.saveInputRef\n }, {\n name: 'ant-input'\n }],\n on: {\n input: this.onInputChange,\n keydown: chaining(this.onInputKeydown, inputEvents.keydown, getListeners(this).inputKeydown),\n focus: chaining(this.inputFocus, inputEvents.focus),\n blur: chaining(this.inputBlur, inputEvents.blur)\n }\n }), h(\n 'span',\n _mergeJSXProps([{\n directives: [{\n name: 'ant-ref',\n value: this.saveInputMirrorRef\n }]\n }, {\n // ref='inputMirrorRef'\n 'class': props.prefixCls + '-search__field__mirror'\n }]),\n [_mirrorInputValue, '\\xA0']\n )]\n );\n },\n getInputDOMNode: function getInputDOMNode() {\n return this.topCtrlRef ? this.topCtrlRef.querySelector('input,textarea,div[contentEditable]') : this.inputRef;\n },\n getInputMirrorDOMNode: function getInputMirrorDOMNode() {\n return this.inputMirrorRef;\n },\n getPopupDOMNode: function getPopupDOMNode() {\n if (this.selectTriggerRef) {\n return this.selectTriggerRef.getPopupDOMNode();\n }\n },\n getPopupMenuComponent: function getPopupMenuComponent() {\n if (this.selectTriggerRef) {\n return this.selectTriggerRef.getInnerMenu();\n }\n },\n setOpenState: function setOpenState(open) {\n var _this10 = this;\n\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var props = this.$props,\n state = this.$data;\n var needFocus = config.needFocus,\n fireSearch = config.fireSearch;\n\n if (state._open === open) {\n this.maybeFocus(open, !!needFocus);\n return;\n }\n this.__emit('dropdownVisibleChange', open);\n var nextState = {\n _open: open,\n _backfillValue: ''\n };\n // clear search input value when open is false in singleMode.\n if (!open && isSingleMode(props) && props.showSearch) {\n this.setInputValue('', fireSearch);\n }\n if (!open) {\n this.maybeFocus(open, !!needFocus);\n }\n this.setState(nextState, function () {\n if (open) {\n _this10.maybeFocus(open, !!needFocus);\n }\n });\n },\n setInputValue: function setInputValue(inputValue) {\n var fireSearch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (inputValue !== this.$data._inputValue) {\n this.setState({\n _inputValue: inputValue\n }, this.forcePopupAlign);\n if (fireSearch) {\n this.$emit('search', inputValue);\n }\n }\n },\n getValueByInput: function getValueByInput(str) {\n var _this11 = this;\n\n var _$props2 = this.$props,\n multiple = _$props2.multiple,\n tokenSeparators = _$props2.tokenSeparators;\n\n var nextValue = this.$data._value;\n var hasNewValue = false;\n splitBySeparators(str, tokenSeparators).forEach(function (label) {\n var selectedValue = [label];\n if (multiple) {\n var value = _this11.getValueByLabel(label);\n if (value && findIndexInValueBySingleValue(nextValue, value) === -1) {\n nextValue = nextValue.concat(value);\n hasNewValue = true;\n _this11.fireSelect(value);\n }\n } else if (findIndexInValueBySingleValue(nextValue, label) === -1) {\n nextValue = nextValue.concat(selectedValue);\n hasNewValue = true;\n _this11.fireSelect(label);\n }\n });\n return hasNewValue ? nextValue : undefined;\n },\n getRealOpenState: function getRealOpenState(state) {\n var _open = this.$props.open;\n\n if (typeof _open === 'boolean') {\n return _open;\n }\n\n var open = (state || this.$data)._open;\n var options = this._options || [];\n if (isMultipleOrTagsOrCombobox(this.$props) || !this.$props.showSearch) {\n if (open && !options.length) {\n open = false;\n }\n }\n return open;\n },\n focus: function focus() {\n if (isSingleMode(this.$props) && this.selectionRef) {\n this.selectionRef.focus();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n },\n blur: function blur() {\n if (isSingleMode(this.$props) && this.selectionRef) {\n this.selectionRef.blur();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().blur();\n }\n },\n markMouseDown: function markMouseDown() {\n this._mouseDown = true;\n },\n markMouseLeave: function markMouseLeave() {\n this._mouseDown = false;\n },\n handleBackfill: function handleBackfill(item) {\n if (!this.backfill || !(isSingleMode(this.$props) || isCombobox(this.$props))) {\n return;\n }\n\n var key = getValuePropValue(item);\n\n if (isCombobox(this.$props)) {\n this.setInputValue(key, false);\n }\n\n this.setState({\n _value: [key],\n _backfillValue: key\n });\n },\n _filterOption: function _filterOption(input, child) {\n var defaultFilter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultFilterFn;\n var _$data2 = this.$data,\n value = _$data2._value,\n backfillValue = _$data2._backfillValue;\n\n var lastValue = value[value.length - 1];\n if (!input || lastValue && lastValue === backfillValue) {\n return true;\n }\n var filterFn = this.$props.filterOption;\n if (hasProp(this, 'filterOption')) {\n if (filterFn === true) {\n filterFn = defaultFilter.bind(this);\n }\n } else {\n filterFn = defaultFilter.bind(this);\n }\n if (!filterFn) {\n return true;\n } else if (typeof filterFn === 'function') {\n return filterFn.call(this, input, child);\n } else if (getValue(child, 'disabled')) {\n return false;\n }\n return true;\n },\n timeoutFocus: function timeoutFocus() {\n var _this12 = this;\n\n if (this.focusTimer) {\n this.clearFocusTime();\n }\n this.focusTimer = window.setTimeout(function () {\n // this._focused = true\n // this.updateFocusClassName()\n _this12.$emit('focus');\n }, 10);\n },\n clearFocusTime: function clearFocusTime() {\n if (this.focusTimer) {\n clearTimeout(this.focusTimer);\n this.focusTimer = null;\n }\n },\n clearBlurTime: function clearBlurTime() {\n if (this.blurTimer) {\n clearTimeout(this.blurTimer);\n this.blurTimer = null;\n }\n },\n clearComboboxTime: function clearComboboxTime() {\n if (this.comboboxTimer) {\n clearTimeout(this.comboboxTimer);\n this.comboboxTimer = null;\n }\n },\n updateFocusClassName: function updateFocusClassName() {\n var rootRef = this.rootRef,\n prefixCls = this.prefixCls;\n // avoid setState and its side effect\n\n if (this._focused) {\n classes(rootRef).add(prefixCls + '-focused');\n } else {\n classes(rootRef).remove(prefixCls + '-focused');\n }\n },\n maybeFocus: function maybeFocus(open, needFocus) {\n if (needFocus || open) {\n var input = this.getInputDOMNode();\n var _document = document,\n activeElement = _document.activeElement;\n\n if (input && (open || isMultipleOrTagsOrCombobox(this.$props))) {\n if (activeElement !== input) {\n input.focus();\n this._focused = true;\n }\n } else if (activeElement !== this.selectionRef && this.selectionRef) {\n this.selectionRef.focus();\n this._focused = true;\n }\n }\n },\n removeSelected: function removeSelected(selectedKey, e) {\n var props = this.$props;\n if (props.disabled || this.isChildDisabled(selectedKey)) {\n return;\n }\n // Do not trigger Trigger popup\n if (e && e.stopPropagation) {\n e.stopPropagation();\n }\n var oldValue = this.$data._value;\n var value = oldValue.filter(function (singleValue) {\n return singleValue !== selectedKey;\n });\n var canMultiple = isMultipleOrTags(props);\n\n if (canMultiple) {\n var event = selectedKey;\n if (props.labelInValue) {\n event = {\n key: selectedKey,\n label: this.getLabelBySingleValue(selectedKey)\n };\n }\n this.$emit('deselect', event, this.getOptionBySingleValue(selectedKey));\n }\n this.fireChange(value);\n },\n openIfHasChildren: function openIfHasChildren() {\n var $props = this.$props;\n\n if ($props.children && $props.children.length || isSingleMode($props)) {\n this.setOpenState(true);\n }\n },\n fireSelect: function fireSelect(value) {\n this.$emit('select', this.getVLBySingleValue(value), this.getOptionBySingleValue(value));\n },\n fireChange: function fireChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n _value: value\n }, this.forcePopupAlign);\n }\n var vls = this.getVLForOnChange(value);\n var options = this.getOptionsBySingleValue(value);\n this._valueOptions = options;\n this.$emit('change', vls, isMultipleOrTags(this.$props) ? options : options[0]);\n },\n isChildDisabled: function isChildDisabled(key) {\n return (this.$props.children || []).some(function (child) {\n var childValue = getValuePropValue(child);\n return childValue === key && getValue(child, 'disabled');\n });\n },\n forcePopupAlign: function forcePopupAlign() {\n if (!this.$data._open) {\n return;\n }\n if (this.selectTriggerRef && this.selectTriggerRef.triggerRef) {\n this.selectTriggerRef.triggerRef.forcePopupAlign();\n }\n },\n renderFilterOptions: function renderFilterOptions() {\n var h = this.$createElement;\n var inputValue = this.$data._inputValue;\n var _$props3 = this.$props,\n children = _$props3.children,\n tags = _$props3.tags,\n notFoundContent = _$props3.notFoundContent;\n\n var menuItems = [];\n var childrenKeys = [];\n var empty = false;\n var options = this.renderFilterOptionsFromChildren(children, childrenKeys, menuItems);\n if (tags) {\n // tags value must be string\n var value = this.$data._value;\n value = value.filter(function (singleValue) {\n return childrenKeys.indexOf(singleValue) === -1 && (!inputValue || String(singleValue).indexOf(String(inputValue)) > -1);\n });\n\n // sort by length\n value.sort(function (val1, val2) {\n return val1.length - val2.length;\n });\n\n value.forEach(function (singleValue) {\n var key = singleValue;\n var attrs = _extends({}, UNSELECTABLE_ATTRIBUTE, {\n role: 'option'\n });\n var menuItem = h(\n MenuItem,\n _mergeJSXProps([{ style: UNSELECTABLE_STYLE }, { attrs: attrs }, {\n attrs: { value: key },\n key: key }]),\n [key]\n );\n options.push(menuItem);\n menuItems.push(menuItem);\n });\n // ref: https://github.com/ant-design/ant-design/issues/14090\n if (inputValue && menuItems.every(function (option) {\n return getValuePropValue(option) !== inputValue;\n })) {\n var p = {\n attrs: UNSELECTABLE_ATTRIBUTE,\n key: inputValue,\n props: {\n value: inputValue,\n role: 'option'\n },\n style: UNSELECTABLE_STYLE\n };\n options.unshift(h(\n MenuItem,\n p,\n [inputValue]\n ));\n }\n }\n\n if (!options.length && notFoundContent) {\n empty = true;\n var _p = {\n attrs: UNSELECTABLE_ATTRIBUTE,\n key: 'NOT_FOUND',\n props: {\n value: 'NOT_FOUND',\n disabled: true,\n role: 'option'\n },\n style: UNSELECTABLE_STYLE\n };\n options = [h(\n MenuItem,\n _p,\n [notFoundContent]\n )];\n }\n return { empty: empty, options: options };\n },\n renderFilterOptionsFromChildren: function renderFilterOptionsFromChildren() {\n var children = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var _this13 = this;\n\n var childrenKeys = arguments[1];\n var menuItems = arguments[2];\n var h = this.$createElement;\n\n var sel = [];\n var props = this.$props;\n var inputValue = this.$data._inputValue;\n\n var tags = props.tags;\n children.forEach(function (child) {\n if (!child.data || child.data.slot !== undefined) {\n return;\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n var label = getComponentFromProp(child, 'label');\n var key = child.key;\n if (!key && typeof label === 'string') {\n key = label;\n } else if (!label && key) {\n label = key;\n }\n var childChildren = getSlots(child)['default'];\n childChildren = typeof childChildren === 'function' ? childChildren() : childChildren;\n // Match option group label\n if (inputValue && _this13._filterOption(inputValue, child)) {\n var innerItems = childChildren.map(function (subChild) {\n var childValueSub = getValuePropValue(subChild) || subChild.key;\n return h(\n MenuItem,\n _mergeJSXProps([{ key: childValueSub, attrs: { value: childValueSub }\n }, subChild.data]),\n [subChild.componentOptions.children]\n );\n });\n\n sel.push(h(\n MenuItemGroup,\n { key: key, attrs: { title: label },\n 'class': getClass(child) },\n [innerItems]\n ));\n\n // Not match\n } else {\n var _innerItems = _this13.renderFilterOptionsFromChildren(childChildren, childrenKeys, menuItems);\n if (_innerItems.length) {\n sel.push(h(\n MenuItemGroup,\n _mergeJSXProps([{ key: key, attrs: { title: label }\n }, child.data]),\n [_innerItems]\n ));\n }\n }\n\n return;\n }\n warning(getSlotOptions(child).isSelectOption, 'the children of `Select` should be `Select.Option` or `Select.OptGroup`, ' + ('instead of `' + (getSlotOptions(child).name || getSlotOptions(child)) + '`.'));\n\n var childValue = getValuePropValue(child);\n\n validateOptionValue(childValue, _this13.$props);\n if (_this13._filterOption(inputValue, child)) {\n var p = {\n attrs: _extends({}, UNSELECTABLE_ATTRIBUTE, getAttrs(child)),\n key: childValue,\n props: _extends({\n value: childValue\n }, getPropsData(child), {\n role: 'option'\n }),\n style: UNSELECTABLE_STYLE,\n on: getEvents(child),\n 'class': getClass(child)\n };\n var menuItem = h(\n MenuItem,\n p,\n [child.componentOptions.children]\n );\n sel.push(menuItem);\n menuItems.push(menuItem);\n }\n if (tags) {\n childrenKeys.push(childValue);\n }\n });\n\n return sel;\n },\n renderTopControlNode: function renderTopControlNode() {\n var _this14 = this;\n\n var h = this.$createElement;\n var props = this.$props;\n var _$data3 = this.$data,\n value = _$data3._value,\n inputValue = _$data3._inputValue,\n open = _$data3._open;\n var choiceTransitionName = props.choiceTransitionName,\n prefixCls = props.prefixCls,\n maxTagTextLength = props.maxTagTextLength,\n maxTagCount = props.maxTagCount,\n maxTagPlaceholder = props.maxTagPlaceholder,\n showSearch = props.showSearch;\n\n var removeIcon = getComponentFromProp(this, 'removeIcon');\n var className = prefixCls + '-selection__rendered';\n // search input is inside topControlNode in single, multiple & combobox. 2016/04/13\n var innerNode = null;\n if (isSingleMode(props)) {\n var selectedValue = null;\n if (value.length) {\n var showSelectedValue = false;\n var opacity = 1;\n if (!showSearch) {\n showSelectedValue = true;\n } else if (open) {\n showSelectedValue = !inputValue;\n if (showSelectedValue) {\n opacity = 0.4;\n }\n } else {\n showSelectedValue = true;\n }\n var singleValue = value[0];\n\n var _getOptionInfoBySingl3 = this.getOptionInfoBySingleValue(singleValue),\n label = _getOptionInfoBySingl3.label,\n title = _getOptionInfoBySingl3.title;\n\n selectedValue = h(\n 'div',\n {\n key: 'value',\n 'class': prefixCls + '-selection-selected-value',\n attrs: { title: toTitle(title || label)\n },\n style: {\n display: showSelectedValue ? 'block' : 'none',\n opacity: opacity\n }\n },\n [label]\n );\n }\n if (!showSearch) {\n innerNode = [selectedValue];\n } else {\n innerNode = [selectedValue, h(\n 'div',\n {\n 'class': prefixCls + '-search ' + prefixCls + '-search--inline',\n key: 'input',\n style: {\n display: open ? 'block' : 'none'\n }\n },\n [this._getInputElement()]\n )];\n }\n } else {\n var selectedValueNodes = [];\n var limitedCountValue = value;\n var maxTagPlaceholderEl = void 0;\n if (maxTagCount !== undefined && value.length > maxTagCount) {\n limitedCountValue = limitedCountValue.slice(0, maxTagCount);\n var omittedValues = this.getVLForOnChange(value.slice(maxTagCount, value.length));\n var content = '+ ' + (value.length - maxTagCount) + ' ...';\n if (maxTagPlaceholder) {\n content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n }\n var attrs = _extends({}, UNSELECTABLE_ATTRIBUTE, {\n role: 'presentation',\n title: toTitle(content)\n });\n maxTagPlaceholderEl = h(\n 'li',\n _mergeJSXProps([{\n style: UNSELECTABLE_STYLE\n }, { attrs: attrs }, {\n on: {\n 'mousedown': preventDefaultEvent\n },\n\n 'class': prefixCls + '-selection__choice ' + prefixCls + '-selection__choice__disabled',\n key: 'maxTagPlaceholder'\n }]),\n [h(\n 'div',\n { 'class': prefixCls + '-selection__choice__content' },\n [content]\n )]\n );\n }\n if (isMultipleOrTags(props)) {\n selectedValueNodes = limitedCountValue.map(function (singleValue) {\n var info = _this14.getOptionInfoBySingleValue(singleValue);\n var content = info.label;\n var title = info.title || content;\n if (maxTagTextLength && typeof content === 'string' && content.length > maxTagTextLength) {\n content = content.slice(0, maxTagTextLength) + '...';\n }\n var disabled = _this14.isChildDisabled(singleValue);\n var choiceClassName = disabled ? prefixCls + '-selection__choice ' + prefixCls + '-selection__choice__disabled' : prefixCls + '-selection__choice';\n // attrs 放在一起,避免动态title混乱问题,很奇怪的问题 https://github.com/vueComponent/ant-design-vue/issues/588\n var attrs = _extends({}, UNSELECTABLE_ATTRIBUTE, {\n role: 'presentation',\n title: toTitle(title)\n });\n return h(\n 'li',\n _mergeJSXProps([{\n style: UNSELECTABLE_STYLE\n }, { attrs: attrs }, {\n on: {\n 'mousedown': preventDefaultEvent\n },\n\n 'class': choiceClassName,\n key: singleValue || SELECT_EMPTY_VALUE_KEY\n }]),\n [h(\n 'div',\n { 'class': prefixCls + '-selection__choice__content' },\n [content]\n ), disabled ? null : h(\n 'span',\n {\n on: {\n 'click': function click(event) {\n _this14.removeSelected(singleValue, event);\n }\n },\n\n 'class': prefixCls + '-selection__choice__remove'\n },\n [removeIcon || h(\n 'i',\n { 'class': prefixCls + '-selection__choice__remove-icon' },\n ['\\xD7']\n )]\n )]\n );\n });\n }\n if (maxTagPlaceholderEl) {\n selectedValueNodes.push(maxTagPlaceholderEl);\n }\n selectedValueNodes.push(h(\n 'li',\n { 'class': prefixCls + '-search ' + prefixCls + '-search--inline', key: '__input' },\n [this._getInputElement()]\n ));\n\n if (isMultipleOrTags(props) && choiceTransitionName) {\n var transitionProps = getTransitionProps(choiceTransitionName, {\n tag: 'ul',\n afterLeave: this.onChoiceAnimationLeave\n });\n innerNode = h(\n 'transition-group',\n transitionProps,\n [selectedValueNodes]\n );\n } else {\n innerNode = h('ul', [selectedValueNodes]);\n }\n }\n return h(\n 'div',\n _mergeJSXProps([{\n 'class': className\n }, {\n directives: [{\n name: 'ant-ref',\n value: this.saveTopCtrlRef\n }]\n }, {\n on: {\n 'click': this.topCtrlContainerClick\n }\n }]),\n [this.getPlaceholderElement(), innerNode]\n );\n },\n renderArrow: function renderArrow(multiple) {\n var h = this.$createElement;\n\n // showArrow : Set to true if not multiple by default but keep set value.\n var _$props4 = this.$props,\n _$props4$showArrow = _$props4.showArrow,\n showArrow = _$props4$showArrow === undefined ? !multiple : _$props4$showArrow,\n loading = _$props4.loading,\n prefixCls = _$props4.prefixCls;\n\n var inputIcon = getComponentFromProp(this, 'inputIcon');\n if (!showArrow && !loading) {\n return null;\n }\n // if loading have loading icon\n var defaultIcon = loading ? h('i', { 'class': prefixCls + '-arrow-loading' }) : h('i', { 'class': prefixCls + '-arrow-icon' });\n return h(\n 'span',\n _mergeJSXProps([{\n key: 'arrow',\n 'class': prefixCls + '-arrow',\n style: UNSELECTABLE_STYLE\n }, { attrs: UNSELECTABLE_ATTRIBUTE }, {\n on: {\n 'click': this.onArrowClick\n },\n\n ref: 'arrow'\n }]),\n [inputIcon || defaultIcon]\n );\n },\n topCtrlContainerClick: function topCtrlContainerClick(e) {\n if (this.$data._open && !isSingleMode(this.$props)) {\n e.stopPropagation();\n }\n },\n renderClear: function renderClear() {\n var h = this.$createElement;\n var _$props5 = this.$props,\n prefixCls = _$props5.prefixCls,\n allowClear = _$props5.allowClear;\n var _$data4 = this.$data,\n value = _$data4._value,\n inputValue = _$data4._inputValue;\n\n var clearIcon = getComponentFromProp(this, 'clearIcon');\n var clear = h(\n 'span',\n _mergeJSXProps([{\n key: 'clear',\n 'class': prefixCls + '-selection__clear',\n on: {\n 'mousedown': preventDefaultEvent\n },\n\n style: UNSELECTABLE_STYLE\n }, { attrs: UNSELECTABLE_ATTRIBUTE }, {\n on: {\n 'click': this.onClearSelection\n }\n }]),\n [clearIcon || h(\n 'i',\n { 'class': prefixCls + '-selection__clear-icon' },\n ['\\xD7']\n )]\n );\n if (!allowClear) {\n return null;\n }\n if (isCombobox(this.$props)) {\n if (inputValue) {\n return clear;\n }\n return null;\n }\n if (inputValue || value.length) {\n return clear;\n }\n return null;\n },\n selectionRefClick: function selectionRefClick() {\n //e.stopPropagation();\n if (!this.disabled) {\n var input = this.getInputDOMNode();\n if (this._focused && this.$data._open) {\n // this._focused = false;\n this.setOpenState(false, false);\n input && input.blur();\n } else {\n this.clearBlurTime();\n //this._focused = true;\n this.setOpenState(true, true);\n input && input.focus();\n }\n }\n },\n selectionRefFocus: function selectionRefFocus(e) {\n if (this._focused || this.disabled || isMultipleOrTagsOrCombobox(this.$props)) {\n e.preventDefault();\n return;\n }\n this._focused = true;\n this.updateFocusClassName();\n this.$emit('focus');\n },\n selectionRefBlur: function selectionRefBlur(e) {\n if (isMultipleOrTagsOrCombobox(this.$props)) {\n e.preventDefault();\n return;\n }\n this.inputBlur(e);\n }\n },\n\n render: function render() {\n var _rootCls;\n\n var h = arguments[0];\n\n var props = this.$props;\n var multiple = isMultipleOrTags(props);\n // Default set showArrow to true if not set (not set directly in defaultProps to handle multiple case)\n var _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === undefined ? true : _props$showArrow;\n\n var state = this.$data;\n var disabled = props.disabled,\n prefixCls = props.prefixCls,\n loading = props.loading;\n\n var ctrlNode = this.renderTopControlNode();\n var _$data5 = this.$data,\n open = _$data5._open,\n inputValue = _$data5._inputValue,\n value = _$data5._value;\n\n if (open) {\n var filterOptions = this.renderFilterOptions();\n this._empty = filterOptions.empty;\n this._options = filterOptions.options;\n }\n var realOpen = this.getRealOpenState();\n var empty = this._empty;\n var options = this._options || [];\n\n var _getListeners = getListeners(this),\n _getListeners$mouseen = _getListeners.mouseenter,\n mouseenter = _getListeners$mouseen === undefined ? noop : _getListeners$mouseen,\n _getListeners$mousele = _getListeners.mouseleave,\n mouseleave = _getListeners$mousele === undefined ? noop : _getListeners$mousele,\n _getListeners$popupSc = _getListeners.popupScroll,\n popupScroll = _getListeners$popupSc === undefined ? noop : _getListeners$popupSc;\n\n var selectionProps = {\n props: {},\n attrs: {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'true',\n 'aria-expanded': realOpen,\n 'aria-controls': this.$data._ariaId\n },\n on: {\n // click: this.selectionRefClick,\n },\n 'class': prefixCls + '-selection ' + prefixCls + '-selection--' + (multiple ? 'multiple' : 'single'),\n // directives: [\n // {\n // name: 'ant-ref',\n // value: this.saveSelectionRef,\n // },\n // ],\n key: 'selection'\n };\n //if (!isMultipleOrTagsOrCombobox(props)) {\n // selectionProps.on.keydown = this.onKeyDown;\n // selectionProps.on.focus = this.selectionRefFocus;\n // selectionProps.on.blur = this.selectionRefBlur;\n // selectionProps.attrs.tabIndex = props.disabled ? -1 : props.tabIndex;\n //}\n var extraSelectionProps = { attrs: { tabIndex: -1 } };\n if (!isMultipleOrTagsOrCombobox(props)) {\n extraSelectionProps.attrs.tabIndex = props.disabled ? -1 : props.tabIndex;\n }\n var rootCls = (_rootCls = {}, _defineProperty(_rootCls, prefixCls, true), _defineProperty(_rootCls, prefixCls + '-open', open), _defineProperty(_rootCls, prefixCls + '-focused', open || !!this._focused), _defineProperty(_rootCls, prefixCls + '-combobox', isCombobox(props)), _defineProperty(_rootCls, prefixCls + '-disabled', disabled), _defineProperty(_rootCls, prefixCls + '-enabled', !disabled), _defineProperty(_rootCls, prefixCls + '-allow-clear', !!props.allowClear), _defineProperty(_rootCls, prefixCls + '-no-arrow', !showArrow), _defineProperty(_rootCls, prefixCls + '-loading', !!loading), _rootCls);\n return h(\n SelectTrigger,\n _mergeJSXProps([{\n attrs: {\n dropdownAlign: props.dropdownAlign,\n dropdownClassName: props.dropdownClassName,\n dropdownMatchSelectWidth: props.dropdownMatchSelectWidth,\n defaultActiveFirstOption: props.defaultActiveFirstOption,\n dropdownMenuStyle: props.dropdownMenuStyle,\n transitionName: props.transitionName,\n animation: props.animation,\n prefixCls: props.prefixCls,\n dropdownStyle: props.dropdownStyle,\n combobox: props.combobox,\n showSearch: props.showSearch,\n options: options,\n empty: empty,\n multiple: multiple,\n disabled: disabled,\n visible: realOpen,\n inputValue: inputValue,\n value: value,\n backfillValue: state._backfillValue,\n firstActiveValue: props.firstActiveValue,\n\n getPopupContainer: props.getPopupContainer,\n\n showAction: props.showAction,\n menuItemSelectedIcon: getComponentFromProp(this, 'menuItemSelectedIcon')\n },\n on: {\n 'dropdownVisibleChange': this.onDropdownVisibleChange,\n 'menuSelect': this.onMenuSelect,\n 'menuDeselect': this.onMenuDeselect,\n 'popupScroll': popupScroll,\n 'popupFocus': this.onPopupFocus,\n 'mouseenter': mouseenter,\n 'mouseleave': mouseleave\n }\n }, {\n directives: [{\n name: 'ant-ref',\n value: this.saveSelectTriggerRef\n }]\n }, {\n attrs: {\n dropdownRender: props.dropdownRender,\n ariaId: this.$data._ariaId\n }\n }]),\n [h(\n 'div',\n _mergeJSXProps([{\n directives: [{\n name: 'ant-ref',\n value: chaining(this.saveRootRef, this.saveSelectionRef)\n }]\n }, {\n style: getStyle(this),\n 'class': classnames(rootCls),\n on: {\n 'mousedown': this.markMouseDown,\n 'mouseup': this.markMouseLeave,\n 'mouseout': this.markMouseLeave\n }\n }, extraSelectionProps, {\n on: {\n 'blur': this.selectionRefBlur,\n 'focus': this.selectionRefFocus,\n 'click': this.selectionRefClick,\n 'keydown': isMultipleOrTagsOrCombobox(props) ? noop : this.onKeyDown\n }\n }]),\n [h(\n 'div',\n selectionProps,\n [ctrlNode, this.renderClear(), this.renderArrow(!!multiple)]\n )]\n )]\n );\n }\n};\nexport { Select };\nexport default proxyComponent(Select);","function getScroll(w, top) {\n var ret = top ? w.pageYOffset : w.pageXOffset;\n var method = top ? 'scrollTop' : 'scrollLeft';\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getClientPosition(elem) {\n var x = void 0;\n var y = void 0;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n var box = elem.getBoundingClientRect();\n x = box.left;\n y = box.top;\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nexport function getOffsetLeft(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n return pos.left;\n}","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getComponentFromProp } from '../../_util/props-util';\nfunction noop() {}\n\nexport default {\n name: 'Star',\n mixins: [BaseMixin],\n props: {\n value: PropTypes.number,\n index: PropTypes.number,\n prefixCls: PropTypes.string,\n allowHalf: PropTypes.bool,\n disabled: PropTypes.bool,\n character: PropTypes.any,\n characterRender: PropTypes.func,\n focused: PropTypes.bool,\n count: PropTypes.number\n },\n methods: {\n onHover: function onHover(e) {\n var index = this.index;\n\n this.$emit('hover', e, index);\n },\n onClick: function onClick(e) {\n var index = this.index;\n\n this.$emit('click', e, index);\n },\n onKeyDown: function onKeyDown(e) {\n var index = this.$props.index;\n\n if (e.keyCode === 13) {\n this.__emit('click', e, index);\n }\n },\n getClassName: function getClassName() {\n var prefixCls = this.prefixCls,\n index = this.index,\n value = this.value,\n allowHalf = this.allowHalf,\n focused = this.focused;\n\n var starValue = index + 1;\n var className = prefixCls;\n if (value === 0 && index === 0 && focused) {\n className += ' ' + prefixCls + '-focused';\n } else if (allowHalf && value + 0.5 === starValue) {\n className += ' ' + prefixCls + '-half ' + prefixCls + '-active';\n if (focused) {\n className += ' ' + prefixCls + '-focused';\n }\n } else {\n className += starValue <= value ? ' ' + prefixCls + '-full' : ' ' + prefixCls + '-zero';\n if (starValue === value && focused) {\n className += ' ' + prefixCls + '-focused';\n }\n }\n return className;\n }\n },\n render: function render() {\n var h = arguments[0];\n var onHover = this.onHover,\n onClick = this.onClick,\n onKeyDown = this.onKeyDown,\n disabled = this.disabled,\n prefixCls = this.prefixCls,\n characterRender = this.characterRender,\n index = this.index,\n count = this.count,\n value = this.value;\n\n\n var character = getComponentFromProp(this, 'character');\n var star = h(\n 'li',\n { 'class': this.getClassName() },\n [h(\n 'div',\n {\n on: {\n 'click': disabled ? noop : onClick,\n 'keydown': disabled ? noop : onKeyDown,\n 'mousemove': disabled ? noop : onHover\n },\n attrs: {\n role: 'radio',\n 'aria-checked': value > index ? 'true' : 'false',\n 'aria-posinset': index + 1,\n 'aria-setsize': count,\n tabIndex: 0\n }\n },\n [h(\n 'div',\n { 'class': prefixCls + '-first' },\n [character]\n ), h(\n 'div',\n { 'class': prefixCls + '-second' },\n [character]\n )]\n )]\n );\n if (characterRender) {\n star = characterRender(star, this.$props);\n }\n return star;\n }\n};","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport KeyCode from '../../_util/KeyCode';\nimport { initDefaultProps, hasProp, getOptionProps, getComponentFromProp } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOffsetLeft } from './util';\nimport Star from './Star';\n\nvar rateProps = {\n disabled: PropTypes.bool,\n value: PropTypes.number,\n defaultValue: PropTypes.number,\n count: PropTypes.number,\n allowHalf: PropTypes.bool,\n allowClear: PropTypes.bool,\n prefixCls: PropTypes.string,\n character: PropTypes.any,\n characterRender: PropTypes.func,\n tabIndex: PropTypes.number,\n autoFocus: PropTypes.bool\n};\n\nfunction noop() {}\n\nexport default {\n name: 'Rate',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change'\n },\n props: initDefaultProps(rateProps, {\n defaultValue: 0,\n count: 5,\n allowHalf: false,\n allowClear: true,\n prefixCls: 'rc-rate',\n tabIndex: 0,\n character: '★'\n }),\n data: function data() {\n var value = this.value;\n if (!hasProp(this, 'value')) {\n value = this.defaultValue;\n }\n return {\n sValue: value,\n focused: false,\n cleanedValue: null,\n hoverValue: undefined\n };\n },\n\n watch: {\n value: function value(val) {\n this.setState({\n sValue: val\n });\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.autoFocus && !_this.disabled) {\n _this.focus();\n }\n });\n },\n\n methods: {\n onHover: function onHover(event, index) {\n var hoverValue = this.getStarValue(index, event.pageX);\n var cleanedValue = this.cleanedValue;\n\n if (hoverValue !== cleanedValue) {\n this.setState({\n hoverValue: hoverValue,\n cleanedValue: null\n });\n }\n this.$emit('hoverChange', hoverValue);\n },\n onMouseLeave: function onMouseLeave() {\n this.setState({\n hoverValue: undefined,\n cleanedValue: null\n });\n this.$emit('hoverChange', undefined);\n },\n onClick: function onClick(event, index) {\n var allowClear = this.allowClear,\n value = this.sValue;\n\n var newValue = this.getStarValue(index, event.pageX);\n var isReset = false;\n if (allowClear) {\n isReset = newValue === value;\n }\n this.onMouseLeave(true);\n this.changeValue(isReset ? 0 : newValue);\n this.setState({\n cleanedValue: isReset ? newValue : null\n });\n },\n onFocus: function onFocus() {\n this.setState({\n focused: true\n });\n this.$emit('focus');\n },\n onBlur: function onBlur() {\n this.setState({\n focused: false\n });\n this.$emit('blur');\n },\n onKeyDown: function onKeyDown(event) {\n var keyCode = event.keyCode;\n var count = this.count,\n allowHalf = this.allowHalf;\n var sValue = this.sValue;\n\n if (keyCode === KeyCode.RIGHT && sValue < count) {\n if (allowHalf) {\n sValue += 0.5;\n } else {\n sValue += 1;\n }\n this.changeValue(sValue);\n event.preventDefault();\n } else if (keyCode === KeyCode.LEFT && sValue > 0) {\n if (allowHalf) {\n sValue -= 0.5;\n } else {\n sValue -= 1;\n }\n this.changeValue(sValue);\n event.preventDefault();\n }\n this.$emit('keydown', event);\n },\n getStarDOM: function getStarDOM(index) {\n return this.$refs['stars' + index].$el;\n },\n getStarValue: function getStarValue(index, x) {\n var value = index + 1;\n if (this.allowHalf) {\n var starEle = this.getStarDOM(index);\n var leftDis = getOffsetLeft(starEle);\n var width = starEle.clientWidth;\n if (x - leftDis < width / 2) {\n value -= 0.5;\n }\n }\n return value;\n },\n focus: function focus() {\n if (!this.disabled) {\n this.$refs.rateRef.focus();\n }\n },\n blur: function blur() {\n if (!this.disabled) {\n this.$refs.rateRef.blur();\n }\n },\n changeValue: function changeValue(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value\n });\n }\n this.$emit('change', value);\n }\n },\n render: function render() {\n var h = arguments[0];\n\n var _getOptionProps = getOptionProps(this),\n count = _getOptionProps.count,\n allowHalf = _getOptionProps.allowHalf,\n prefixCls = _getOptionProps.prefixCls,\n disabled = _getOptionProps.disabled,\n tabIndex = _getOptionProps.tabIndex;\n\n var sValue = this.sValue,\n hoverValue = this.hoverValue,\n focused = this.focused;\n\n var stars = [];\n var disabledClass = disabled ? prefixCls + '-disabled' : '';\n var character = getComponentFromProp(this, 'character');\n var characterRender = this.characterRender || this.$scopedSlots.characterRender;\n for (var index = 0; index < count; index++) {\n var starProps = {\n props: {\n index: index,\n count: count,\n disabled: disabled,\n prefixCls: prefixCls + '-star',\n allowHalf: allowHalf,\n value: hoverValue === undefined ? sValue : hoverValue,\n character: character,\n characterRender: characterRender,\n focused: focused\n },\n on: {\n click: this.onClick,\n hover: this.onHover\n },\n key: index,\n ref: 'stars' + index\n };\n stars.push(h(Star, starProps));\n }\n return h(\n 'ul',\n {\n 'class': classNames(prefixCls, disabledClass),\n on: {\n 'mouseleave': disabled ? noop : this.onMouseLeave,\n 'focus': disabled ? noop : this.onFocus,\n 'blur': disabled ? noop : this.onBlur,\n 'keydown': disabled ? noop : this.onKeyDown\n },\n attrs: {\n tabIndex: disabled ? -1 : tabIndex,\n\n role: 'radiogroup'\n },\n\n ref: 'rateRef' },\n [stars]\n );\n }\n};","import Rate from './Rate';\nexport default Rate;","// based on rc-rate 2.5.0\nimport Rate from './src/';\nexport default Rate;","import PropTypes from '../_util/vue-types';\nexport default {\n props: {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n },\n isSelectOptGroup: true\n};","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n },\n isSelectOption: true\n};"],"sourceRoot":""}