{"version":3,"sources":["webpack:///./node_modules/ant-design-vue/es/vc-slider/src/Slider.js","webpack:///./node_modules/ant-design-vue/es/vc-slider/src/common/Track.js","webpack:///./node_modules/ant-design-vue/es/vc-resize-observer/index.js","webpack:///./node_modules/ant-design-vue/es/vc-slider/src/utils.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-slick/src/initial-state.js","webpack:///./node_modules/ant-design-vue/es/vc-slick/src/track.js","webpack:///./node_modules/ant-design-vue/es/vc-slick/src/dots.js","webpack:///./node_modules/ant-design-vue/es/vc-slick/src/arrows.js","webpack:///./node_modules/ant-design-vue/es/vc-slick/src/inner-slider.js","webpack:///./node_modules/ant-design-vue/es/vc-slider/src/Handle.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/util.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-slick/src/slider.js","webpack:///./node_modules/ant-design-vue/es/vc-slider/src/Range.js","webpack:///./node_modules/ant-design-vue/es/vc-slider/src/common/Steps.js","webpack:///./node_modules/ant-design-vue/es/vc-slider/src/common/Marks.js","webpack:///./node_modules/ant-design-vue/es/vc-slider/src/common/createSlider.js","webpack:///./node_modules/ant-design-vue/es/vc-select/OptGroup.js","webpack:///./node_modules/ant-design-vue/es/vc-slick/src/utils/innerSliderUtils.js","webpack:///./node_modules/ant-design-vue/es/vc-slick/src/index.js","webpack:///./node_modules/ant-design-vue/es/vc-slick/src/default-props.js","webpack:///./node_modules/ant-design-vue/es/vc-select/Option.js"],"names":["i","Slider","name","mixins","props","defaultValue","number","value","disabled","bool","autoFocus","tabIndex","reverse","min","max","data","this","sValue","trimAlignValue","dragging","watch","handler","val","setChangeValue","deep","methods","newValue","nextValue","$props","setState","$emit","onChange","state","isNotControlled","nextState","changedValue","onStart","position","calcValueByPos","startValue","startPosition","prevMovedHandleIndex","onEnd","force","removeDocumentEvents","onMove","e","onKeyboard","_$props","vertical","valueMutator","mutatedValue","getLowerBound","getUpperBound","v","nextProps","arguments","length","mergedProps","getTrack","_ref","prefixCls","included","offset","minimumTrackStyle","_trackStyle","h","$createElement","attrs","style","renderSlider","_this","trackStyle","handleStyle","handle","defaultHandle","handleGenerator","calcOffset","handles","className","index","directives","saveHandle","on","focus","onFocus","blur","onBlur","tracks","c","Track","functional","render","context","_ref2","_context$props","_context$data","positonStyle","elStyle","VueResizeObserver","Boolean","currentElement","resizeObserver","width","height","mounted","onComponentUpdated","updated","beforeDestroy","destroyObserver","element","$el","onResize","observe","entries","_target$getBoundingCl","target","getBoundingClientRect","fixedWidth","Math","floor","fixedHeight","size","disconnect","$slots","isEventFromHandle","Object","keys","some","key","error","isValueOutOfRange","isNotTouchEvent","touches","type","toLowerCase","getClosestPoint","marks","step","points","map","parseFloat","base","pow","getPrecision","maxSteps","steps","closestStep","round","push","diffs","point","abs","indexOf","apply","stepString","toString","precision","getMousePosition","zoom","window","visualViewport","document","body","toFixed","clientY","pageX","getTouchPosition","getHandleCenterPosition","coords","top","pageXOffset","left","ensureValueInRange","_ref3","ensureValuePrecision","closestPoint","isFinite","pauseEvent","stopPropagation","preventDefault","getKeyboardValueMutator","increase","decrease","method","keyCode","UP","RIGHT","DOWN","LEFT","END","HOME","PAGE_UP","PAGE_DOWN","func","operations","a","b","indexToGet","JSON","stringify","keyToGet","calculateNextValue","toTitle","title","trim","getValuePropValue","child","isSelectOptGroup","label","Error","getPropValue","prop","newChild","componentOptions","children","tag","text","isCombobox","combobox","isMultipleOrTags","multiple","tags","isMultipleOrTagsOrCombobox","isSingleMode","toArray","ret","Array","isArray","getMapKey","preventDefaultEvent","findIndexInValueBySingleValue","singleValue","getLabelFromPropsValue","getSelectKeys","menuItems","selectedKeys","forEach","item","isMenuItemGroup","concat","itemValue","itemKey","UNSELECTABLE_STYLE","userSelect","WebkitUserSelect","UNSELECTABLE_ATTRIBUTE","unselectable","findFirstMenuItem","found","defaultFilterFn","input","optionFilterProp","String","saveRef","instance","node","generateUUID","d","Date","getTime","uuid","replace","r","random","BaseMixin","ariaId","string","defaultActiveFirstOption","any","dropdownMenuStyle","object","inputValue","visible","backfillValue","firstActiveValue","menuItemSelectedIcon","$nextTick","scrollActiveItemToView","lastVisible","created","rafInstance","lastInputValue","_this2","prevVisible","cancel","_this3","itemComponent","firstActiveItem","scrollIntoViewOpts","onlyScrollIfNeeded","alignWithTop","$refs","menuRef","renderMenu","_this4","_getListeners","menuDeselect","menuSelect","popupScroll","menuProps","itemIcon","ref","role","scroll","deselect","select","click","activeKeyProps","defaultActiveFirst","clonedMenuItems","activeKey","foundFirst","clone","lastValue","_getListeners2","popupFocus","overflow","transform","id","BUILT_IN_PLACEMENTS","bottomLeft","adjustX","adjustY","topLeft","dropdownMatchSelectWidth","dropdownAlign","showSearch","dropdownClassName","dropdownStyle","filterOption","empty","options","popupClassName","array","showAction","arrayOf","animation","transitionName","getPopupContainer","dropdownRender","dropdownWidth","saveDropdownMenuRef","saveTriggerRef","setDropdownWidth","cancelRafInstance","offsetWidth","getInnerMenu","dropdownMenuRef","getPopupDOMNode","triggerRef","getPopupDomNode","getDropdownElement","newProps","getDropdownPrefixCls","dropdownMenuProps","menuNode","DropdownMenu","getDropdownTransitionName","_popupClassName","hideAction","mouseenter","mouseleave","dropdownVisibleChange","dropdownPrefixCls","popupElement","popupStyle","widthProp","triggerProps","popupPlacement","builtinPlacements","popupTransitionName","popupAlign","popupVisible","popupVisibleChange","slot","SelectPropTypes","allowClear","showArrow","optionLabelProp","choiceTransitionName","open","defaultOpen","placeholder","labelInValue","loading","maxTagTextLength","maxTagCount","maxTagPlaceholder","tokenSeparators","getInputElement","clearIcon","inputIcon","removeIcon","mode","oneOf","backfill","notFoundContent","oneOfType","Number","use","noop","chaining","_len","fns","_key","_len2","args","_key2","Select","inheritAttrs","Option","OptGroup","def","autoClearSearchValue","menu","model","event","saveInputRef","saveInputMirrorRef","saveTopCtrlRef","saveSelectTriggerRef","saveRootRef","saveSelectionRef","_focused","_mouseDown","_options","_empty","optionsInfo","getOptionsInfoFromProps","__propsSymbol__","isDisabledExist","_value","getValueFromProps","_inputValue","getInputValueForCombobox","_open","_optionsInfo","_backfillValue","_skipBuildOptionsInfo","_ariaId","_mirrorInputValue","getDerivedState","$data","inputNode","getInputDOMNode","mirrorNode","getInputMirrorDOMNode","clientWidth","forcePopupAlign","clearFocusTime","clearBlurTime","clearComboboxTime","dropdownContainer","removeChild","prevState","newState","getOptionsFromChildren","useDefaultValue","getLabelFromOption","option","preState","oldOptionsInfo","onInputChange","_e$target","composing","_$data$_inputValue","isComposing","str","separators","lastIndexOf","includesSeparators","getValueByInput","fireChange","setOpenState","needFocus","setInputValue","onDropdownVisibleChange","timeoutFocus","updateFocusClassName","onKeyDown","onInputKeydown","KeyCode","ENTER","maybeFocus","SPACE","_this5","isRealOpen","getRealOpenState","BACKSPACE","openIfHasChildren","comboboxTimer","setTimeout","ESC","selectTriggerRef","handleBackfill","removeSelected","onMenuSelect","selectedValue","skipTrigger","fireSearch","fireSelect","onMenuDeselect","domEvent","offsetParent","isHidden","onArrowClick","onPlaceholderClick","onPopupFocus","onClearSelection","onChoiceAnimationLeave","getOptionInfoBySingleValue","info","defaultLabel","valueLabel","defaultValueLabel","defaultInfo","getOptionBySingleValue","getOptionsBySingleValue","values","_this6","getValueByLabel","_this7","oldLable","join","getVLBySingleValue","getLabelBySingleValue","getVLForOnChange","vlsS","_this8","vls","vl","getDropdownContainer","createElement","appendChild","getPlaceholderElement","hidden","mousedown","display","inputClick","inputBlur","_this9","relatedTarget","activeElement","arrow","contains","blurTimer","firstOption","tmpValue","inputFocus","rootRef","_getInputElement","_$data","defaultInput","autoComplete","inputElement","inputCls","inputEvents","domProps","keydown","inputKeydown","topCtrlRef","querySelector","inputRef","inputMirrorRef","getPopupMenuComponent","_this10","config","__emit","_this11","_$props2","hasNewValue","reg","RegExp","split","filter","token","splitBySeparators","undefined","selectionRef","markMouseDown","markMouseLeave","_filterOption","defaultFilter","_$data2","filterFn","bind","call","_this12","focusTimer","clearTimeout","add","remove","selectedKey","isChildDisabled","_valueOptions","renderFilterOptions","_$props3","childrenKeys","renderFilterOptionsFromChildren","sort","val1","val2","menuItem","MenuItem","every","p","unshift","_p","_this13","sel","childChildren","innerItems","subChild","childValueSub","MenuItemGroup","_innerItems","isSelectOption","childValue","isMultiple","validateOptionValue","renderTopControlNode","_this14","_$data3","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","animating","autoplaying","currentDirection","currentLeft","currentSlide","direction","edgeDragged","initialized","lazyLoadedList","listHeight","listWidth","scrolling","slideCount","slideHeight","slideWidth","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackWidth","getSlideClasses","spec","slickActive","slickCenter","centerOffset","slickCloned","rtl","centerMode","slidesToShow","slickCurrent","getKey","fallbackKey","slides","preCloneSlides","postCloneSlides","childrenCount","startIndex","endIndex","elem","childOnClickOptions","message","slidesToScroll","lazyLoad","childStyle","variableWidth","fade","parseInt","transition","speed","cssEase","WebkitTransition","getSlideStyle","slideClass","slideClasses","outline","focusOnSelect","infinite","preCloneNo","listeners","mouseEvents","mouseover","appendDots","customPaging","clickHandler","dotsClass","dotCount","ceil","dots","getDotCount","x","leftBound","rightBound","dotOptions","onClick","PrevArrow","prevClasses","prevHandler","prevArrowProps","customProps","prevArrow","NextArrow","nextClasses","nextHandler","nextArrowProps","nextArrow","preProps","list","track","callbackTimers","clickable","debouncedResize","initialSlide","listRefHandler","trackRefHandler","adaptHeight","adaptiveHeight","onWindowResized","setTrackStyle","resizeWindow","listRef","trackRef","updateState","autoplay","handleAutoPlay","pause","animationEndCallback","callback","updatedState","slideIndex","targetLeft","ssrInit","_trackWidth","_trackLeft","childrenWidths","preClones","postClones","childWidth","_i","_i2","currentWidth","trackLeft","checkImagesLoad","images","querySelectorAll","imagesCount","loadedCount","prototype","image","onclick","prevClickHandler","parentNode","onload","onerror","progressiveLazyLoad","slidesToLoad","_index","lazyLoadTimer","clearInterval","slideHandler","dontAnimate","asNavFor","beforeChange","afterChange","_slideHandler2","useCSS","innerSlider","firstBatch","changeSlide","targetSlide","keyHandler","dir","accessibility","selectHandler","disableBodyScroll","ontouchmove","returnValue","enableBodyScroll","swipeStart","verticalSwiping","swipe","draggable","swipeMove","swipeEnd","triggerSlideHandler","slickPrev","slickNext","slickGoTo","slide","isNaN","play","nextIndex","playType","autoplayTimer","setInterval","autoplaySpeed","pauseType","onDotsOver","onDotsLeave","onTrackOver","onTrackLeave","onSlideFocus","onSlideBlur","beforeMount","ro","onfocus","pauseOnFocus","onblur","addEventListener","attachEvent","timer","removeEventListener","detachEvent","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","next","done","hasOwnProperty","err","trackProps","pauseOnHover","dotProps","_$scopedSlots","$scopedSlots","pauseOnDotsHover","arrowProps","_$scopedSlots2","prevArrowCustom","nextArrowCustom","arrows","verticalHeightStyle","centerPaddingStyle","padding","centerPadding","listStyle","touchMove","listProps","mousemove","mouseup","touchstart","touchmove","touchend","touchcancel","innerSliderProps","unslick","clickFocused","onMouseUpListener","handleMouseUp","setClickFocus","focused","handleBlur","handleKeyDown","clickFocus","handleMousedown","_getOptionProps","positionStyle","ariaProps","_tabIndex","handleProps","allowHalf","character","characterRender","count","onHover","getClassName","starValue","star","rateProps","cleanedValue","hoverValue","getStarValue","onMouseLeave","isReset","changeValue","getStarDOM","starEle","leftDis","el","pos","y","doc","ownerDocument","docElem","documentElement","box","clientLeft","clientTop","getClientPosition","w","defaultView","parentWindow","pageYOffset","getScroll","getOffsetLeft","rateRef","stars","disabledClass","starProps","hover","Star","enquire","_responsiveMediaHandlers","breakpoint","innerSliderRefHandler","media","query","register","slickPause","slickPlay","responsive","breakpoints","breakpt","bQuery","minWidth","maxWidth","obj","unregister","settings","resp","rows","slidesPerRow","console","warn","newChildren","newSlide","j","row","k","sliderProps","scopedSlots","_trimAlignValue","bounds","allowCross","pushable","thershold","valInRange","valNotConflict","rangeProps","Range","displayName","initialValue","sHandle","recent","nextBounds","newValues","controlledState","closestBound","getClosestBound","getBoundNeedMoving","moveTo","oldValue","isFromKeyboardEvent","boundNeedMoving","isAtTheSamePoint","getPoints","cache","_getPointsCache","pointsObject","nextHandle","pushSurroundingHandles","handlesRefs","threshold","diffToNext","pushHandle","amount","originalValue","currentValue","pushHandleOnePoint","nextPointIndex","ensureValueNotConflict","offsets","_","_classNames","trackClassName","handleClassName","_classNames2","warning","Steps","lowerBound","upperBound","dotStyle","activeDotStyle","range","elements","isActived","pointClassName","Marks","clickLabel","marksKeys","markPoint","markPointIsObject","markLabel","isActive","markClassName","bottomStyle","marginBottom","leftStyle","msTransform","markStyle","createSlider","Component","propTypes","maximumTrackStyle","railStyle","isPointDiffEven","sliderRef","restProps","Handle","onMouseDown","button","isVertical","utils","handlePosition","dragOffset","addDocumentMouseEvents","onTouchStart","addDocumentTouchEvents","onMouseUp","onMouseMove","onTouchMove","onClickMarkLabel","getSliderStart","slider","rect","bottom","right","getSliderLength","onTouchMoveListener","onTouchUpListener","onMouseMoveListener","calcValue","ratio","pixelOffset","_renderSlider","sliderClassName","markProps","getOnDemandLazySlides","onDemandSlides","lazyStartIndex","lazyEndIndex","lazySlidesOnLeft","lazySlidesOnRight","getWidth","getHeight","offsetHeight","getSwipeDirection","swipeAngle","xDist","yDist","atan2","PI","canGoNext","canGo","extractObject","newObject","initializedState","centerPaddingAdj","waitForAnimate","animationSlide","finalSlide","animationLeft","finalLeft","getTrackLeft","getTrackAnimateCSS","getTrackCSS","previousInt","slideOffset","indexOffset","siblingDirection","tagName","match","clientX","pageY","swipeToSlide","edgeFriction","onEdge","swipeEvent","curLeft","swipeLength","sqrt","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","touchThreshold","onSwipe","minSwipe","getSlideCount","checkNavigable","navigables","counter","indexes","getNavigableIndexes","prevNavigable","n","swipedSlide","from","offsetTop","offsetLeft","currentIndex","dataset","slidesTraversed","checkSpecKeys","keysArray","reduce","trackHeight","trackChildren","getTotalSlides","useTransform","WebkitTransform","marginTop","marginLeft","slidesToOffset","getPreClones","targetSlideIndex","trackElem","childNodes","getPostClones","slidesOnRight","slidesOnLeft","canUseDOM","defaultProps","easing"],"mappings":"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","file":"js/chunk-vendors~d0d0374e.6dc45b45.js","sourcesContent":["import _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../../_util/vue-types';\nimport warning from '../../_util/warning';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { hasProp } from '../../_util/props-util';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nvar Slider = {\n name: 'Slider',\n mixins: [BaseMixin],\n props: {\n defaultValue: PropTypes.number,\n value: PropTypes.number,\n disabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n tabIndex: PropTypes.number,\n reverse: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number\n },\n data: function data() {\n var defaultValue = this.defaultValue !== undefined ? this.defaultValue : this.min;\n var value = this.value !== undefined ? this.value : defaultValue;\n\n warning(!hasProp(this, 'minimumTrackStyle'), 'Slider', 'minimumTrackStyle will be deprecate, please use trackStyle instead.');\n warning(!hasProp(this, 'maximumTrackStyle'), 'Slider', 'maximumTrackStyle will be deprecate, please use railStyle instead.');\n return {\n sValue: this.trimAlignValue(value),\n dragging: false\n };\n },\n\n watch: {\n value: {\n handler: function handler(val) {\n this.setChangeValue(val);\n },\n\n deep: true\n },\n min: function min() {\n var sValue = this.sValue;\n\n this.setChangeValue(sValue);\n },\n max: function max() {\n var sValue = this.sValue;\n\n this.setChangeValue(sValue);\n }\n },\n methods: {\n setChangeValue: function setChangeValue(value) {\n var newValue = value !== undefined ? value : this.sValue;\n var nextValue = this.trimAlignValue(newValue, this.$props);\n if (nextValue === this.sValue) return;\n\n this.setState({ sValue: nextValue });\n if (utils.isValueOutOfRange(newValue, this.$props)) {\n this.$emit('change', nextValue);\n }\n },\n onChange: function onChange(state) {\n var isNotControlled = !hasProp(this, 'value');\n var nextState = state.sValue > this.max ? _extends({}, state, { sValue: this.max }) : state;\n if (isNotControlled) {\n this.setState(nextState);\n }\n\n var changedValue = nextState.sValue;\n this.$emit('change', changedValue);\n },\n onStart: function onStart(position) {\n this.setState({ dragging: true });\n var sValue = this.sValue;\n\n this.$emit('beforeChange', sValue);\n\n var value = this.calcValueByPos(position);\n\n this.startValue = value;\n this.startPosition = position;\n if (value === sValue) return;\n\n this.prevMovedHandleIndex = 0;\n this.onChange({ sValue: value });\n },\n onEnd: function onEnd(force) {\n var dragging = this.dragging;\n\n this.removeDocumentEvents();\n if (dragging || force) {\n this.$emit('afterChange', this.sValue);\n }\n this.setState({ dragging: false });\n },\n onMove: function onMove(e, position) {\n utils.pauseEvent(e);\n var sValue = this.sValue;\n\n var value = this.calcValueByPos(position);\n if (value === sValue) return;\n\n this.onChange({ sValue: value });\n },\n onKeyboard: function onKeyboard(e) {\n var _$props = this.$props,\n reverse = _$props.reverse,\n vertical = _$props.vertical;\n\n var valueMutator = utils.getKeyboardValueMutator(e, vertical, reverse);\n if (valueMutator) {\n utils.pauseEvent(e);\n var sValue = this.sValue;\n\n var mutatedValue = valueMutator(sValue, this.$props);\n var value = this.trimAlignValue(mutatedValue);\n if (value === sValue) return;\n\n this.onChange({ sValue: value });\n this.$emit('afterChange', value);\n this.onEnd();\n }\n },\n getLowerBound: function getLowerBound() {\n return this.min;\n },\n getUpperBound: function getUpperBound() {\n return this.sValue;\n },\n trimAlignValue: function trimAlignValue(v) {\n var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (v === null) {\n return null;\n }\n var mergedProps = _extends({}, this.$props, nextProps);\n var val = utils.ensureValueInRange(v, mergedProps);\n return utils.ensureValuePrecision(val, mergedProps);\n },\n getTrack: function getTrack(_ref) {\n var prefixCls = _ref.prefixCls,\n reverse = _ref.reverse,\n vertical = _ref.vertical,\n included = _ref.included,\n offset = _ref.offset,\n minimumTrackStyle = _ref.minimumTrackStyle,\n _trackStyle = _ref._trackStyle;\n var h = this.$createElement;\n\n return h(Track, {\n 'class': prefixCls + '-track',\n attrs: { vertical: vertical,\n included: included,\n offset: 0,\n reverse: reverse,\n length: offset\n },\n style: _extends({}, minimumTrackStyle, _trackStyle)\n });\n },\n renderSlider: function renderSlider() {\n var _this = this;\n\n var prefixCls = this.prefixCls,\n vertical = this.vertical,\n included = this.included,\n disabled = this.disabled,\n minimumTrackStyle = this.minimumTrackStyle,\n trackStyle = this.trackStyle,\n handleStyle = this.handleStyle,\n tabIndex = this.tabIndex,\n min = this.min,\n max = this.max,\n reverse = this.reverse,\n handle = this.handle,\n defaultHandle = this.defaultHandle;\n\n var handleGenerator = handle || defaultHandle;\n var sValue = this.sValue,\n dragging = this.dragging;\n\n var offset = this.calcOffset(sValue);\n var handles = handleGenerator({\n className: prefixCls + '-handle',\n prefixCls: prefixCls,\n vertical: vertical,\n offset: offset,\n value: sValue,\n dragging: dragging,\n disabled: disabled,\n min: min,\n max: max,\n reverse: reverse,\n index: 0,\n tabIndex: tabIndex,\n style: handleStyle[0] || handleStyle,\n directives: [{\n name: 'ant-ref',\n value: function value(h) {\n return _this.saveHandle(0, h);\n }\n }],\n on: {\n focus: this.onFocus,\n blur: this.onBlur\n }\n });\n\n var _trackStyle = trackStyle[0] || trackStyle;\n return {\n tracks: this.getTrack({\n prefixCls: prefixCls,\n reverse: reverse,\n vertical: vertical,\n included: included,\n offset: offset,\n minimumTrackStyle: minimumTrackStyle,\n _trackStyle: _trackStyle\n }),\n handles: handles\n };\n }\n }\n};\n\nexport default createSlider(Slider);","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\n/* eslint-disable */\nvar Track = {\n functional: true,\n render: function render(h, context) {\n var _ref, _ref2;\n\n var _context$props = context.props,\n included = _context$props.included,\n vertical = _context$props.vertical,\n offset = _context$props.offset,\n length = _context$props.length,\n reverse = _context$props.reverse;\n var _context$data = context.data,\n style = _context$data.style,\n className = _context$data['class'];\n\n\n var positonStyle = vertical ? (_ref = {}, _defineProperty(_ref, reverse ? 'top' : 'bottom', offset + '%'), _defineProperty(_ref, reverse ? 'bottom' : 'top', 'auto'), _defineProperty(_ref, 'height', length + '%'), _ref) : (_ref2 = {}, _defineProperty(_ref2, reverse ? 'right' : 'left', offset + '%'), _defineProperty(_ref2, reverse ? 'left' : 'right', 'auto'), _defineProperty(_ref2, 'width', length + '%'), _ref2);\n\n var elStyle = _extends({}, style, positonStyle);\n return included ? h('div', { 'class': className, style: elStyle }) : null;\n }\n};\n\nexport default Track;","// 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 _toConsumableArray from 'babel-runtime/helpers/toConsumableArray';\nimport keyCode from '../../_util/KeyCode';\n\nexport function isEventFromHandle(e, handles) {\n try {\n return Object.keys(handles).some(function (key) {\n return e.target === handles[key].$el || e.target === handles[key];\n });\n } catch (error) {\n return false;\n }\n}\n\nexport function isValueOutOfRange(value, _ref) {\n var min = _ref.min,\n max = _ref.max;\n\n return value < min || value > max;\n}\n\nexport function isNotTouchEvent(e) {\n return e.touches.length > 1 || e.type.toLowerCase() === 'touchend' && e.touches.length > 0;\n}\n\nexport function getClosestPoint(val, _ref2) {\n var marks = _ref2.marks,\n step = _ref2.step,\n min = _ref2.min,\n max = _ref2.max;\n\n var points = Object.keys(marks).map(parseFloat);\n if (step !== null) {\n var base = Math.pow(10, getPrecision(step));\n var maxSteps = Math.floor((max * base - min * base) / (step * base));\n var steps = Math.min((val - min) / step, maxSteps);\n var closestStep = Math.round(steps) * step + min;\n points.push(closestStep);\n }\n var diffs = points.map(function (point) {\n return Math.abs(val - point);\n });\n return points[diffs.indexOf(Math.min.apply(Math, _toConsumableArray(diffs)))];\n}\n\nexport function getPrecision(step) {\n var stepString = step.toString();\n var precision = 0;\n if (stepString.indexOf('.') >= 0) {\n precision = stepString.length - stepString.indexOf('.') - 1;\n }\n return precision;\n}\n\nexport function getMousePosition(vertical, e) {\n var zoom = 1;\n if (window.visualViewport) {\n zoom = +(window.visualViewport.width / document.body.getBoundingClientRect().width).toFixed(2);\n }\n return (vertical ? e.clientY : e.pageX) / zoom;\n}\n\nexport function getTouchPosition(vertical, e) {\n var zoom = 1;\n if (window.visualViewport) {\n zoom = +(window.visualViewport.width / document.body.getBoundingClientRect().width).toFixed(2);\n }\n return (vertical ? e.touches[0].clientY : e.touches[0].pageX) / zoom;\n}\n\nexport function getHandleCenterPosition(vertical, handle) {\n var coords = handle.getBoundingClientRect();\n return vertical ? coords.top + coords.height * 0.5 : window.pageXOffset + coords.left + coords.width * 0.5;\n}\n\nexport function ensureValueInRange(val, _ref3) {\n var max = _ref3.max,\n min = _ref3.min;\n\n if (val <= min) {\n return min;\n }\n if (val >= max) {\n return max;\n }\n return val;\n}\n\nexport function ensureValuePrecision(val, props) {\n var step = props.step;\n\n var closestPoint = isFinite(getClosestPoint(val, props)) ? getClosestPoint(val, props) : 0; // eslint-disable-line\n return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));\n}\n\nexport function pauseEvent(e) {\n e.stopPropagation();\n e.preventDefault();\n}\n\nexport function calculateNextValue(func, value, props) {\n var operations = {\n increase: function increase(a, b) {\n return a + b;\n },\n decrease: function decrease(a, b) {\n return a - b;\n }\n };\n\n var indexToGet = operations[func](Object.keys(props.marks).indexOf(JSON.stringify(value)), 1);\n var keyToGet = Object.keys(props.marks)[indexToGet];\n\n if (props.step) {\n return operations[func](value, props.step);\n } else if (!!Object.keys(props.marks).length && !!props.marks[keyToGet]) {\n return props.marks[keyToGet];\n }\n return value;\n}\n\nexport function getKeyboardValueMutator(e, vertical, reverse) {\n var increase = 'increase';\n var decrease = 'decrease';\n var method = increase;\n switch (e.keyCode) {\n case keyCode.UP:\n method = vertical && reverse ? decrease : increase;\n break;\n case keyCode.RIGHT:\n method = !vertical && reverse ? decrease : increase;\n break;\n case keyCode.DOWN:\n method = vertical && reverse ? increase : decrease;\n break;\n case keyCode.LEFT:\n method = !vertical && reverse ? increase : decrease;\n break;\n\n case keyCode.END:\n return function (value, props) {\n return props.max;\n };\n case keyCode.HOME:\n return function (value, props) {\n return props.min;\n };\n case keyCode.PAGE_UP:\n return function (value, props) {\n return value + props.step * 2;\n };\n case keyCode.PAGE_DOWN:\n return function (value, props) {\n return value - props.step * 2;\n };\n\n default:\n return undefined;\n }\n return function (value, props) {\n return calculateNextValue(method, value, props);\n };\n}","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);","var initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false, // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: { startX: 0, startY: 0, curX: 0, curY: 0 },\n trackStyle: {},\n trackWidth: 0\n};\n\nexport default initialState;","import _extends from 'babel-runtime/helpers/extends';\nimport classnames from 'classnames';\nimport { cloneElement } from '../../_util/vnode';\nimport { getStyle, getClass } from '../../_util/props-util';\nimport { lazyStartIndex, lazyEndIndex, getPreClones } from './utils/innerSliderUtils';\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nvar getSlideClasses = function getSlideClasses(spec) {\n var slickActive = void 0,\n slickCenter = void 0;\n var centerOffset = void 0,\n index = void 0;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n var slickCloned = index < 0 || index >= spec.slideCount;\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n if (index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset) {\n slickActive = true;\n }\n } else {\n slickActive = spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow;\n }\n var slickCurrent = index === spec.currentSlide;\n return {\n 'slick-slide': true,\n 'slick-active': slickActive,\n 'slick-center': slickCenter,\n 'slick-cloned': slickCloned,\n 'slick-current': slickCurrent // dubious in case of RTL\n };\n};\n\nvar getSlideStyle = function getSlideStyle(spec) {\n var style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth + (typeof spec.slideWidth === 'number' ? 'px' : '');\n }\n\n if (spec.fade) {\n style.position = 'relative';\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight) + 'px';\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth) + 'px';\n }\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n style.transition = 'opacity ' + spec.speed + 'ms ' + spec.cssEase + ', ' + 'visibility ' + spec.speed + 'ms ' + spec.cssEase;\n style.WebkitTransition = 'opacity ' + spec.speed + 'ms ' + spec.cssEase + ', ' + 'visibility ' + spec.speed + 'ms ' + spec.cssEase;\n }\n\n return style;\n};\n\nvar getKey = function getKey(child, fallbackKey) {\n return child.key || child.key === 0 && '0' || fallbackKey;\n};\n\nvar renderSlides = function renderSlides(spec, children, createElement) {\n var key = void 0;\n var slides = [];\n var preCloneSlides = [];\n var postCloneSlides = [];\n var childrenCount = children.length;\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n children.forEach(function (elem, index) {\n var child = void 0;\n var childOnClickOptions = {\n message: 'children',\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n };\n\n // in case of lazyLoad, whether or not we want to fetch the slide\n if (!spec.lazyLoad || spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) {\n child = elem;\n } else {\n child = createElement('div');\n }\n var childStyle = getSlideStyle(_extends({}, spec, { index: index }));\n var slideClass = getClass(child.context) || '';\n var slideClasses = getSlideClasses(_extends({}, spec, { index: index }));\n // push a cloned element of the desired slide\n slides.push(cloneElement(child, {\n key: 'original' + getKey(child, index),\n attrs: {\n tabIndex: '-1',\n 'data-index': index,\n 'aria-hidden': !slideClasses['slick-active']\n },\n 'class': classnames(slideClasses, slideClass),\n style: _extends({ outline: 'none' }, getStyle(child.context) || {}, childStyle),\n on: {\n click: function click() {\n // child.props && child.props.onClick && child.props.onClick(e)\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }\n }, true));\n\n // if slide needs to be precloned or postcloned\n if (spec.infinite && spec.fade === false) {\n var preCloneNo = childrenCount - index;\n if (preCloneNo <= getPreClones(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n if (key >= startIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses(_extends({}, spec, { index: key }));\n preCloneSlides.push(cloneElement(child, {\n key: 'precloned' + getKey(child, key),\n 'class': classnames(slideClasses, slideClass),\n attrs: {\n tabIndex: '-1',\n 'data-index': key,\n 'aria-hidden': !slideClasses['slick-active']\n },\n style: _extends({}, getStyle(child.context) || {}, childStyle),\n on: {\n click: function click() {\n // child.props && child.props.onClick && child.props.onClick(e)\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }\n }));\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n if (key < endIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses(_extends({}, spec, { index: key }));\n postCloneSlides.push(cloneElement(child, {\n key: 'postcloned' + getKey(child, key),\n attrs: {\n tabIndex: '-1',\n 'data-index': key,\n 'aria-hidden': !slideClasses['slick-active']\n },\n 'class': classnames(slideClasses, slideClass),\n style: _extends({}, getStyle(child.context) || {}, childStyle),\n on: {\n click: function click() {\n // child.props && child.props.onClick && child.props.onClick(e)\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }\n }));\n }\n }\n });\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nexport default {\n functional: true,\n render: function render(createElement, context) {\n var h = arguments[0];\n var props = context.props,\n listeners = context.listeners,\n children = context.children,\n data = context.data;\n\n var slides = renderSlides(props, children, createElement);\n var mouseenter = listeners.mouseenter,\n mouseover = listeners.mouseover,\n mouseleave = listeners.mouseleave;\n\n var mouseEvents = { mouseenter: mouseenter, mouseover: mouseover, mouseleave: mouseleave };\n var trackProps = {\n 'class': 'slick-track',\n style: props.trackStyle,\n on: _extends({}, mouseEvents),\n directives: data.directives\n };\n return h(\n 'div',\n trackProps,\n [slides]\n );\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nimport classnames from 'classnames';\nimport { cloneElement } from '../../_util/vnode';\n\nvar getDotCount = function getDotCount(spec) {\n var dots = void 0;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n\n return dots;\n};\n\nexport default {\n functional: true,\n render: function render(createElement, context) {\n var h = arguments[0];\n var props = context.props,\n listeners = context.listeners;\n var slideCount = props.slideCount,\n slidesToScroll = props.slidesToScroll,\n slidesToShow = props.slidesToShow,\n infinite = props.infinite,\n currentSlide = props.currentSlide,\n appendDots = props.appendDots,\n customPaging = props.customPaging,\n clickHandler = props.clickHandler,\n dotsClass = props.dotsClass;\n\n var dotCount = getDotCount({\n slideCount: slideCount,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n infinite: infinite\n });\n\n // Apply join & split to Array to pre-fill it for IE8\n //\n // Credit: http://stackoverflow.com/a/13735425/1849458\n var mouseenter = listeners.mouseenter,\n mouseover = listeners.mouseover,\n mouseleave = listeners.mouseleave;\n\n var mouseEvents = { mouseenter: mouseenter, mouseover: mouseover, mouseleave: mouseleave };\n var dots = Array.apply(null, Array(dotCount + 1).join('0').split('')).map(function (x, i) {\n var leftBound = i * slidesToScroll;\n var rightBound = i * slidesToScroll + (slidesToScroll - 1);\n var className = classnames({\n 'slick-active': currentSlide >= leftBound && currentSlide <= rightBound\n });\n\n var dotOptions = {\n message: 'dots',\n index: i,\n slidesToScroll: slidesToScroll,\n currentSlide: currentSlide\n };\n function onClick(e) {\n // In Autoplay the focus stays on clicked button even after transition\n // to next slide. That only goes away by click somewhere outside\n if (e) {\n e.preventDefault();\n }\n clickHandler(dotOptions);\n }\n return h(\n 'li',\n { key: i, 'class': className },\n [cloneElement(customPaging({ i: i }), {\n on: {\n click: onClick\n }\n })]\n );\n });\n\n return cloneElement(appendDots({ dots: dots }), {\n 'class': dotsClass,\n on: _extends({}, mouseEvents)\n });\n }\n};","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _extends from 'babel-runtime/helpers/extends';\nimport { cloneElement } from '../../_util/vnode';\nimport { canGoNext } from './utils/innerSliderUtils';\n\nfunction noop() {}\n\nexport var PrevArrow = {\n functional: true,\n clickHandler: function clickHandler(options, handle, e) {\n if (e) {\n e.preventDefault();\n }\n handle(options, e);\n },\n render: function render(createElement, context) {\n var h = arguments[0];\n var props = context.props;\n var clickHandler = props.clickHandler,\n infinite = props.infinite,\n currentSlide = props.currentSlide,\n slideCount = props.slideCount,\n slidesToShow = props.slidesToShow;\n\n var prevClasses = { 'slick-arrow': true, 'slick-prev': true };\n var prevHandler = function prevHandler(e) {\n if (e) {\n e.preventDefault();\n }\n clickHandler({ message: 'previous' });\n };\n\n if (!infinite && (currentSlide === 0 || slideCount <= slidesToShow)) {\n prevClasses['slick-disabled'] = true;\n prevHandler = noop;\n }\n\n var prevArrowProps = {\n key: '0',\n domProps: {\n 'data-role': 'none'\n },\n 'class': prevClasses,\n style: { display: 'block' },\n on: {\n click: prevHandler\n }\n };\n var customProps = {\n currentSlide: currentSlide,\n slideCount: slideCount\n };\n var prevArrow = void 0;\n\n if (props.prevArrow) {\n prevArrow = cloneElement(props.prevArrow(_extends({}, prevArrowProps, {\n props: customProps\n })), {\n key: '0',\n 'class': prevClasses,\n style: { display: 'block' },\n on: {\n click: prevHandler\n }\n });\n } else {\n prevArrow = h(\n 'button',\n _mergeJSXProps([{ key: '0', attrs: { type: 'button' }\n }, prevArrowProps]),\n [' ', 'Previous']\n );\n }\n\n return prevArrow;\n }\n};\n\nexport var NextArrow = {\n functional: true,\n clickHandler: function clickHandler(options, handle, e) {\n if (e) {\n e.preventDefault();\n }\n handle(options, e);\n },\n render: function render(createElement, context) {\n var h = arguments[0];\n var props = context.props;\n var clickHandler = props.clickHandler,\n currentSlide = props.currentSlide,\n slideCount = props.slideCount;\n\n\n var nextClasses = { 'slick-arrow': true, 'slick-next': true };\n var nextHandler = function nextHandler(e) {\n if (e) {\n e.preventDefault();\n }\n clickHandler({ message: 'next' });\n };\n if (!canGoNext(props)) {\n nextClasses['slick-disabled'] = true;\n nextHandler = noop;\n }\n\n var nextArrowProps = {\n key: '1',\n domProps: {\n 'data-role': 'none'\n },\n 'class': nextClasses,\n style: { display: 'block' },\n on: {\n click: nextHandler\n }\n };\n var customProps = {\n currentSlide: currentSlide,\n slideCount: slideCount\n };\n var nextArrow = void 0;\n\n if (props.nextArrow) {\n nextArrow = cloneElement(props.nextArrow(_extends({}, nextArrowProps, {\n props: customProps\n })), {\n key: '1',\n 'class': nextClasses,\n style: { display: 'block' },\n on: {\n click: nextHandler\n }\n });\n } else {\n nextArrow = h(\n 'button',\n _mergeJSXProps([{ key: '1', attrs: { type: 'button' }\n }, nextArrowProps]),\n [' ', 'Next']\n );\n }\n\n return nextArrow;\n }\n};","import _typeof from 'babel-runtime/helpers/typeof';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _extends from 'babel-runtime/helpers/extends';\nimport debounce from 'lodash/debounce';\nimport classnames from 'classnames';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport { getStyle, getListeners } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport defaultProps from './default-props';\nimport initialState from './initial-state';\nimport { getOnDemandLazySlides, extractObject, initializedState, getHeight, canGoNext, slideHandler as _slideHandler, changeSlide as _changeSlide, keyHandler as _keyHandler, swipeStart as _swipeStart, swipeMove as _swipeMove, swipeEnd as _swipeEnd, getPreClones, getPostClones, getTrackLeft, getTrackCSS } from './utils/innerSliderUtils';\nimport Track from './track';\nimport Dots from './dots';\nimport { PrevArrow, NextArrow } from './arrows';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nVue.use(ref, { name: 'ant-ref' });\n\nfunction noop() {}\n\nexport default {\n props: _extends({}, defaultProps),\n mixins: [BaseMixin],\n data: function data() {\n this.preProps = _extends({}, this.$props);\n this.list = null;\n this.track = null;\n this.callbackTimers = [];\n this.clickable = true;\n this.debouncedResize = null;\n return _extends({}, initialState, {\n currentSlide: this.initialSlide,\n slideCount: this.children.length\n });\n },\n\n methods: {\n listRefHandler: function listRefHandler(ref) {\n this.list = ref;\n },\n trackRefHandler: function trackRefHandler(ref) {\n this.track = ref;\n },\n adaptHeight: function adaptHeight() {\n if (this.adaptiveHeight && this.list) {\n var elem = this.list.querySelector('[data-index=\"' + this.currentSlide + '\"]');\n this.list.style.height = getHeight(elem) + 'px';\n }\n },\n onWindowResized: function onWindowResized(setTrackStyle) {\n var _this = this;\n\n if (this.debouncedResize) this.debouncedResize.cancel();\n this.debouncedResize = debounce(function () {\n return _this.resizeWindow(setTrackStyle);\n }, 50);\n this.debouncedResize();\n },\n resizeWindow: function resizeWindow() {\n var _this2 = this;\n\n var setTrackStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (!this.track) return;\n var spec = _extends({\n listRef: this.list,\n trackRef: this.track,\n children: this.children\n }, this.$props, this.$data);\n this.updateState(spec, setTrackStyle, function () {\n if (_this2.autoplay) {\n _this2.handleAutoPlay('update');\n } else {\n _this2.pause('paused');\n }\n });\n // animating state should be cleared while resizing, otherwise autoplay stops working\n this.setState({\n animating: false\n });\n clearTimeout(this.animationEndCallback);\n delete this.animationEndCallback;\n },\n updateState: function updateState(spec, setTrackStyle, callback) {\n var updatedState = initializedState(spec);\n spec = _extends({}, spec, updatedState, { slideIndex: updatedState.currentSlide });\n var targetLeft = getTrackLeft(spec);\n spec = _extends({}, spec, { left: targetLeft });\n var trackStyle = getTrackCSS(spec);\n if (setTrackStyle || this.children.length !== spec.children.length) {\n updatedState['trackStyle'] = trackStyle;\n }\n this.setState(updatedState, callback);\n },\n ssrInit: function ssrInit() {\n var children = this.children;\n if (this.variableWidth) {\n var _trackWidth = 0;\n var _trackLeft = 0;\n var childrenWidths = [];\n var preClones = getPreClones(_extends({}, this.$props, this.$data, {\n slideCount: children.length\n }));\n var postClones = getPostClones(_extends({}, this.$props, this.$data, {\n slideCount: children.length\n }));\n children.forEach(function (child) {\n var childWidth = getStyle(child).width.split('px')[0];\n childrenWidths.push(childWidth);\n _trackWidth += childWidth;\n });\n for (var i = 0; i < preClones; i++) {\n _trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n _trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n for (var _i = 0; _i < postClones; _i++) {\n _trackWidth += childrenWidths[_i];\n }\n for (var _i2 = 0; _i2 < this.currentSlide; _i2++) {\n _trackLeft += childrenWidths[_i2];\n }\n var _trackStyle = {\n width: _trackWidth + 'px',\n left: -_trackLeft + 'px'\n };\n if (this.centerMode) {\n var currentWidth = childrenWidths[this.currentSlide] + 'px';\n _trackStyle.left = 'calc(' + _trackStyle.left + ' + (100% - ' + currentWidth + ') / 2 ) ';\n }\n this.setState({\n trackStyle: _trackStyle\n });\n return;\n }\n var childrenCount = children.length;\n var spec = _extends({}, this.$props, this.$data, { slideCount: childrenCount });\n var slideCount = getPreClones(spec) + getPostClones(spec) + childrenCount;\n var trackWidth = 100 / this.slidesToShow * slideCount;\n var slideWidth = 100 / slideCount;\n var trackLeft = -slideWidth * (getPreClones(spec) + this.currentSlide) * trackWidth / 100;\n if (this.centerMode) {\n trackLeft += (100 - slideWidth * trackWidth / 100) / 2;\n }\n var trackStyle = {\n width: trackWidth + '%',\n left: trackLeft + '%'\n };\n this.setState({\n slideWidth: slideWidth + '%',\n trackStyle: trackStyle\n });\n },\n checkImagesLoad: function checkImagesLoad() {\n var _this3 = this;\n\n var images = document.querySelectorAll('.slick-slide img');\n var imagesCount = images.length;\n var loadedCount = 0;\n Array.prototype.forEach.call(images, function (image) {\n var handler = function handler() {\n return ++loadedCount && loadedCount >= imagesCount && _this3.onWindowResized();\n };\n if (!image.onclick) {\n image.onclick = function () {\n return image.parentNode.focus();\n };\n } else {\n var prevClickHandler = image.onclick;\n image.onclick = function () {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n if (!image.onload) {\n if (_this3.$props.lazyLoad) {\n image.onload = function () {\n _this3.adaptHeight();\n _this3.callbackTimers.push(setTimeout(_this3.onWindowResized, _this3.speed));\n };\n } else {\n image.onload = handler;\n image.onerror = function () {\n handler();\n _this3.$emit('lazyLoadError');\n };\n }\n }\n });\n },\n progressiveLazyLoad: function progressiveLazyLoad() {\n var slidesToLoad = [];\n var spec = _extends({}, this.$props, this.$data);\n for (var index = this.currentSlide; index < this.slideCount + getPostClones(spec); index++) {\n if (this.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n for (var _index = this.currentSlide - 1; _index >= -getPreClones(spec); _index--) {\n if (this.lazyLoadedList.indexOf(_index) < 0) {\n slidesToLoad.push(_index);\n break;\n }\n }\n if (slidesToLoad.length > 0) {\n this.setState(function (state) {\n return {\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\n };\n });\n this.$emit('lazyLoad', slidesToLoad);\n } else {\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n delete this.lazyLoadTimer;\n }\n }\n },\n slideHandler: function slideHandler(index) {\n var _this4 = this;\n\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var _$props = this.$props,\n asNavFor = _$props.asNavFor,\n currentSlide = _$props.currentSlide,\n beforeChange = _$props.beforeChange,\n speed = _$props.speed,\n afterChange = _$props.afterChange;\n\n var _slideHandler2 = _slideHandler(_extends({\n index: index\n }, this.$props, this.$data, {\n trackRef: this.track,\n useCSS: this.useCSS && !dontAnimate\n })),\n state = _slideHandler2.state,\n nextState = _slideHandler2.nextState;\n\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n var slidesToLoad = state.lazyLoadedList.filter(function (value) {\n return _this4.lazyLoadedList.indexOf(value) < 0;\n });\n if (getListeners(this).lazyLoad && slidesToLoad.length > 0) {\n this.$emit('lazyLoad', slidesToLoad);\n }\n this.setState(state, function () {\n asNavFor && asNavFor.innerSlider.currentSlide !== currentSlide && asNavFor.innerSlider.slideHandler(index);\n if (!nextState) return;\n _this4.animationEndCallback = setTimeout(function () {\n var animating = nextState.animating,\n firstBatch = _objectWithoutProperties(nextState, ['animating']);\n\n _this4.setState(firstBatch, function () {\n _this4.callbackTimers.push(setTimeout(function () {\n return _this4.setState({ animating: animating });\n }, 10));\n afterChange && afterChange(state.currentSlide);\n delete _this4.animationEndCallback;\n });\n }, speed);\n });\n },\n changeSlide: function changeSlide(options) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var spec = _extends({}, this.$props, this.$data);\n var targetSlide = _changeSlide(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n if (dontAnimate === true) {\n this.slideHandler(targetSlide, dontAnimate);\n } else {\n this.slideHandler(targetSlide);\n }\n },\n clickHandler: function clickHandler(e) {\n if (this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n this.clickable = true;\n },\n keyHandler: function keyHandler(e) {\n var dir = _keyHandler(e, this.accessibility, this.rtl);\n dir !== '' && this.changeSlide({ message: dir });\n },\n selectHandler: function selectHandler(options) {\n this.changeSlide(options);\n },\n disableBodyScroll: function disableBodyScroll() {\n var preventDefault = function preventDefault(e) {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n window.ontouchmove = preventDefault;\n },\n enableBodyScroll: function enableBodyScroll() {\n window.ontouchmove = null;\n },\n swipeStart: function swipeStart(e) {\n if (this.verticalSwiping) {\n this.disableBodyScroll();\n }\n var state = _swipeStart(e, this.swipe, this.draggable);\n state !== '' && this.setState(state);\n },\n swipeMove: function swipeMove(e) {\n var state = _swipeMove(e, _extends({}, this.$props, this.$data, {\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.currentSlide\n }));\n if (!state) return;\n if (state['swiping']) {\n this.clickable = false;\n }\n this.setState(state);\n },\n swipeEnd: function swipeEnd(e) {\n var state = _swipeEnd(e, _extends({}, this.$props, this.$data, {\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.currentSlide\n }));\n if (!state) return;\n var triggerSlideHandler = state['triggerSlideHandler'];\n delete state['triggerSlideHandler'];\n this.setState(state);\n if (triggerSlideHandler === undefined) return;\n this.slideHandler(triggerSlideHandler);\n if (this.$props.verticalSwiping) {\n this.enableBodyScroll();\n }\n },\n slickPrev: function slickPrev() {\n var _this5 = this;\n\n // this and fellow methods are wrapped in setTimeout\n // to make sure initialize setState has happened before\n // any of such methods are called\n this.callbackTimers.push(setTimeout(function () {\n return _this5.changeSlide({ message: 'previous' });\n }, 0));\n },\n slickNext: function slickNext() {\n var _this6 = this;\n\n this.callbackTimers.push(setTimeout(function () {\n return _this6.changeSlide({ message: 'next' });\n }, 0));\n },\n slickGoTo: function slickGoTo(slide) {\n var _this7 = this;\n\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n slide = Number(slide);\n if (isNaN(slide)) return '';\n this.callbackTimers.push(setTimeout(function () {\n return _this7.changeSlide({\n message: 'index',\n index: slide,\n currentSlide: _this7.currentSlide\n }, dontAnimate);\n }, 0));\n },\n play: function play() {\n var nextIndex = void 0;\n if (this.rtl) {\n nextIndex = this.currentSlide - this.slidesToScroll;\n } else {\n if (canGoNext(_extends({}, this.$props, this.$data))) {\n nextIndex = this.currentSlide + this.slidesToScroll;\n } else {\n return false;\n }\n }\n\n this.slideHandler(nextIndex);\n },\n handleAutoPlay: function handleAutoPlay(playType) {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n var autoplaying = this.autoplaying;\n if (playType === 'update') {\n if (autoplaying === 'hovered' || autoplaying === 'focused' || autoplaying === 'paused') {\n return;\n }\n } else if (playType === 'leave') {\n if (autoplaying === 'paused' || autoplaying === 'focused') {\n return;\n }\n } else if (playType === 'blur') {\n if (autoplaying === 'paused' || autoplaying === 'hovered') {\n return;\n }\n }\n this.autoplayTimer = setInterval(this.play, this.autoplaySpeed + 50);\n this.setState({ autoplaying: 'playing' });\n },\n pause: function pause(pauseType) {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n this.autoplayTimer = null;\n }\n var autoplaying = this.autoplaying;\n if (pauseType === 'paused') {\n this.setState({ autoplaying: 'paused' });\n } else if (pauseType === 'focused') {\n if (autoplaying === 'hovered' || autoplaying === 'playing') {\n this.setState({ autoplaying: 'focused' });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === 'playing') {\n this.setState({ autoplaying: 'hovered' });\n }\n }\n },\n onDotsOver: function onDotsOver() {\n this.autoplay && this.pause('hovered');\n },\n onDotsLeave: function onDotsLeave() {\n this.autoplay && this.autoplaying === 'hovered' && this.handleAutoPlay('leave');\n },\n onTrackOver: function onTrackOver() {\n this.autoplay && this.pause('hovered');\n },\n onTrackLeave: function onTrackLeave() {\n this.autoplay && this.autoplaying === 'hovered' && this.handleAutoPlay('leave');\n },\n onSlideFocus: function onSlideFocus() {\n this.autoplay && this.pause('focused');\n },\n onSlideBlur: function onSlideBlur() {\n this.autoplay && this.autoplaying === 'focused' && this.handleAutoPlay('blur');\n },\n customPaging: function customPaging(_ref) {\n var i = _ref.i;\n var h = this.$createElement;\n\n return h('button', [i + 1]);\n },\n appendDots: function appendDots(_ref2) {\n var dots = _ref2.dots;\n var h = this.$createElement;\n\n return h(\n 'ul',\n { style: { display: 'block' } },\n [dots]\n );\n }\n },\n beforeMount: function beforeMount() {\n this.ssrInit();\n this.$emit('init');\n if (this.lazyLoad) {\n var slidesToLoad = getOnDemandLazySlides(_extends({}, this.$props, this.$data));\n if (slidesToLoad.length > 0) {\n this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n this.$emit('lazyLoad', slidesToLoad);\n }\n }\n },\n mounted: function mounted() {\n var _this8 = this;\n\n this.$nextTick(function () {\n var spec = _extends({\n listRef: _this8.list,\n trackRef: _this8.track,\n children: _this8.children\n }, _this8.$props);\n _this8.updateState(spec, true, function () {\n _this8.adaptHeight();\n _this8.autoplay && _this8.handleAutoPlay('update');\n });\n if (_this8.lazyLoad === 'progressive') {\n _this8.lazyLoadTimer = setInterval(_this8.progressiveLazyLoad, 1000);\n }\n _this8.ro = new ResizeObserver(function () {\n if (_this8.animating) {\n _this8.onWindowResized(false); // don't set trackStyle hence don't break animation\n _this8.callbackTimers.push(setTimeout(function () {\n return _this8.onWindowResized();\n }, _this8.speed));\n } else {\n _this8.onWindowResized();\n }\n });\n _this8.ro.observe(_this8.list);\n Array.prototype.forEach.call(document.querySelectorAll('.slick-slide'), function (slide) {\n slide.onfocus = _this8.$props.pauseOnFocus ? _this8.onSlideFocus : null;\n slide.onblur = _this8.$props.pauseOnFocus ? _this8.onSlideBlur : null;\n });\n // To support server-side rendering\n if (!window) {\n return;\n }\n if (window.addEventListener) {\n window.addEventListener('resize', _this8.onWindowResized);\n } else {\n window.attachEvent('onresize', _this8.onWindowResized);\n }\n });\n },\n beforeDestroy: function beforeDestroy() {\n if (this.animationEndCallback) {\n clearTimeout(this.animationEndCallback);\n }\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n }\n if (this.callbackTimers.length) {\n this.callbackTimers.forEach(function (timer) {\n return clearTimeout(timer);\n });\n this.callbackTimers = [];\n }\n if (window.addEventListener) {\n window.removeEventListener('resize', this.onWindowResized);\n } else {\n window.detachEvent('onresize', this.onWindowResized);\n }\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n },\n updated: function updated() {\n this.checkImagesLoad();\n this.$emit('reInit');\n if (this.lazyLoad) {\n var slidesToLoad = getOnDemandLazySlides(_extends({}, this.$props, this.$data));\n if (slidesToLoad.length > 0) {\n this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n this.$emit('lazyLoad');\n }\n }\n // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n this.adaptHeight();\n },\n\n watch: {\n __propsSymbol__: function __propsSymbol__() {\n var _this9 = this;\n\n var nextProps = this.$props;\n var spec = _extends({\n listRef: this.list,\n trackRef: this.track\n }, nextProps, this.$data);\n var setTrackStyle = false;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = Object.keys(this.preProps)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n\n if (!nextProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (_typeof(nextProps[key]) === 'object' || typeof nextProps[key] === 'function' || _typeof(nextProps[key]) === 'symbol') {\n continue;\n }\n if (nextProps[key] !== this.preProps[key]) {\n setTrackStyle = true;\n break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator['return']) {\n _iterator['return']();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n this.updateState(spec, setTrackStyle, function () {\n if (_this9.currentSlide >= nextProps.children.length) {\n _this9.changeSlide({\n message: 'index',\n index: nextProps.children.length - nextProps.slidesToShow,\n currentSlide: _this9.currentSlide\n });\n }\n if (nextProps.autoplay) {\n _this9.handleAutoPlay('update');\n } else {\n _this9.pause('paused');\n }\n });\n this.preProps = _extends({}, nextProps);\n }\n },\n render: function render() {\n var h = arguments[0];\n\n var className = classnames('slick-slider', {\n 'slick-vertical': this.vertical,\n 'slick-initialized': true\n });\n var spec = _extends({}, this.$props, this.$data);\n var trackProps = extractObject(spec, ['fade', 'cssEase', 'speed', 'infinite', 'centerMode', 'focusOnSelect', 'currentSlide', 'lazyLoad', 'lazyLoadedList', 'rtl', 'slideWidth', 'slideHeight', 'listHeight', 'vertical', 'slidesToShow', 'slidesToScroll', 'slideCount', 'trackStyle', 'variableWidth', 'unslick', 'centerPadding']);\n var pauseOnHover = this.$props.pauseOnHover;\n\n trackProps = {\n props: _extends({}, trackProps, {\n focusOnSelect: this.focusOnSelect ? this.selectHandler : null\n }),\n directives: [{\n name: 'ant-ref',\n value: this.trackRefHandler\n }],\n on: {\n mouseenter: pauseOnHover ? this.onTrackOver : noop,\n mouseleave: pauseOnHover ? this.onTrackLeave : noop,\n mouseover: pauseOnHover ? this.onTrackOver : noop\n }\n };\n\n var dots = void 0;\n if (this.dots === true && this.slideCount >= this.slidesToShow) {\n var dotProps = extractObject(spec, ['dotsClass', 'slideCount', 'slidesToShow', 'currentSlide', 'slidesToScroll', 'clickHandler', 'children', 'infinite', 'appendDots']);\n dotProps.customPaging = this.customPaging;\n dotProps.appendDots = this.appendDots;\n var _$scopedSlots = this.$scopedSlots,\n customPaging = _$scopedSlots.customPaging,\n appendDots = _$scopedSlots.appendDots;\n\n if (customPaging) {\n dotProps.customPaging = customPaging;\n }\n if (appendDots) {\n dotProps.appendDots = appendDots;\n }\n var pauseOnDotsHover = this.$props.pauseOnDotsHover;\n\n dotProps = {\n props: _extends({}, dotProps, {\n clickHandler: this.changeSlide\n }),\n on: {\n mouseenter: pauseOnDotsHover ? this.onDotsLeave : noop,\n mouseover: pauseOnDotsHover ? this.onDotsOver : noop,\n mouseleave: pauseOnDotsHover ? this.onDotsLeave : noop\n }\n };\n dots = h(Dots, dotProps);\n }\n\n var prevArrow = void 0,\n nextArrow = void 0;\n var arrowProps = extractObject(spec, ['infinite', 'centerMode', 'currentSlide', 'slideCount', 'slidesToShow']);\n arrowProps.clickHandler = this.changeSlide;\n var _$scopedSlots2 = this.$scopedSlots,\n prevArrowCustom = _$scopedSlots2.prevArrow,\n nextArrowCustom = _$scopedSlots2.nextArrow;\n\n if (prevArrowCustom) {\n arrowProps.prevArrow = prevArrowCustom;\n }\n if (nextArrowCustom) {\n arrowProps.nextArrow = nextArrowCustom;\n }\n if (this.arrows) {\n prevArrow = h(PrevArrow, { props: arrowProps });\n nextArrow = h(NextArrow, { props: arrowProps });\n }\n var verticalHeightStyle = null;\n\n if (this.vertical) {\n verticalHeightStyle = {\n height: typeof this.listHeight === 'number' ? this.listHeight + 'px' : this.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (this.vertical === false) {\n if (this.centerMode === true) {\n centerPaddingStyle = {\n padding: '0px ' + this.centerPadding\n };\n }\n } else {\n if (this.centerMode === true) {\n centerPaddingStyle = {\n padding: this.centerPadding + ' 0px'\n };\n }\n }\n\n var listStyle = _extends({}, verticalHeightStyle, centerPaddingStyle);\n var touchMove = this.touchMove;\n var listProps = {\n directives: [{\n name: 'ant-ref',\n value: this.listRefHandler\n }],\n 'class': 'slick-list',\n style: listStyle,\n on: {\n click: this.clickHandler,\n mousedown: touchMove ? this.swipeStart : noop,\n mousemove: this.dragging && touchMove ? this.swipeMove : noop,\n mouseup: touchMove ? this.swipeEnd : noop,\n mouseleave: this.dragging && touchMove ? this.swipeEnd : noop,\n touchstart: touchMove ? this.swipeStart : noop,\n touchmove: this.dragging && touchMove ? this.swipeMove : noop,\n touchend: touchMove ? this.swipeEnd : noop,\n touchcancel: this.dragging && touchMove ? this.swipeEnd : noop,\n keydown: this.accessibility ? this.keyHandler : noop\n }\n };\n\n var innerSliderProps = {\n 'class': className,\n props: {\n dir: 'ltr'\n }\n };\n\n if (this.unslick) {\n listProps = {\n 'class': 'slick-list',\n directives: [{\n name: 'ant-ref',\n value: this.listRefHandler\n }]\n };\n innerSliderProps = { 'class': className };\n }\n return h(\n 'div',\n innerSliderProps,\n [!this.unslick ? prevArrow : '', h(\n 'div',\n listProps,\n [h(\n Track,\n trackProps,\n [this.children]\n )]\n ), !this.unslick ? nextArrow : '', !this.unslick ? dots : '']\n );\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../../_util/props-util';\nimport addEventListener from '../../vc-util/Dom/addEventListener';\n\nexport default {\n name: 'Handle',\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n vertical: PropTypes.bool,\n offset: PropTypes.number,\n disabled: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.number,\n tabIndex: PropTypes.number,\n className: PropTypes.string,\n reverse: PropTypes.bool\n // handleFocus: PropTypes.func.def(noop),\n // handleBlur: PropTypes.func.def(noop),\n },\n data: function data() {\n return {\n clickFocused: false\n };\n },\n mounted: function mounted() {\n // mouseup won't trigger if mouse moved out of handle\n // so we listen on document here.\n this.onMouseUpListener = addEventListener(document, 'mouseup', this.handleMouseUp);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.onMouseUpListener) {\n this.onMouseUpListener.remove();\n }\n },\n\n methods: {\n setClickFocus: function setClickFocus(focused) {\n this.setState({ clickFocused: focused });\n },\n handleMouseUp: function handleMouseUp() {\n if (document.activeElement === this.$refs.handle) {\n this.setClickFocus(true);\n }\n },\n handleBlur: function handleBlur(e) {\n this.setClickFocus(false);\n this.__emit('blur', e);\n },\n handleKeyDown: function handleKeyDown() {\n this.setClickFocus(false);\n },\n clickFocus: function clickFocus() {\n this.setClickFocus(true);\n this.focus();\n },\n focus: function focus() {\n this.$refs.handle.focus();\n },\n blur: function blur() {\n this.$refs.handle.blur();\n },\n\n // when click can not focus in vue, use mousedown trigger focus\n handleMousedown: function handleMousedown(e) {\n this.focus();\n this.__emit('mousedown', e);\n }\n },\n render: function render() {\n var _ref, _ref2;\n\n var h = arguments[0];\n\n var _getOptionProps = getOptionProps(this),\n prefixCls = _getOptionProps.prefixCls,\n vertical = _getOptionProps.vertical,\n reverse = _getOptionProps.reverse,\n offset = _getOptionProps.offset,\n disabled = _getOptionProps.disabled,\n min = _getOptionProps.min,\n max = _getOptionProps.max,\n value = _getOptionProps.value,\n tabIndex = _getOptionProps.tabIndex;\n\n var className = classNames(this.$props.className, _defineProperty({}, prefixCls + '-handle-click-focused', this.clickFocused));\n\n var positionStyle = vertical ? (_ref = {}, _defineProperty(_ref, reverse ? 'top' : 'bottom', offset + '%'), _defineProperty(_ref, reverse ? 'bottom' : 'top', 'auto'), _defineProperty(_ref, 'transform', 'translateY(+50%)'), _ref) : (_ref2 = {}, _defineProperty(_ref2, reverse ? 'right' : 'left', offset + '%'), _defineProperty(_ref2, reverse ? 'left' : 'right', 'auto'), _defineProperty(_ref2, 'transform', 'translateX(' + (reverse ? '+' : '-') + '50%)'), _ref2);\n\n var ariaProps = {\n 'aria-valuemin': min,\n 'aria-valuemax': max,\n 'aria-valuenow': value,\n 'aria-disabled': !!disabled\n };\n var _tabIndex = tabIndex || 0;\n if (disabled || tabIndex === null) {\n _tabIndex = null;\n }\n\n var handleProps = {\n attrs: _extends({\n role: 'slider',\n tabIndex: _tabIndex\n }, ariaProps),\n 'class': className,\n on: _extends({}, getListeners(this), {\n blur: this.handleBlur,\n keydown: this.handleKeyDown,\n mousedown: this.handleMousedown\n }),\n ref: 'handle',\n style: positionStyle\n };\n return h('div', handleProps);\n }\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};","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 Rate from './Rate';\nexport default Rate;","// based on rc-rate 2.5.0\nimport Rate from './src/';\nexport default Rate;","import _extends from 'babel-runtime/helpers/extends';\nimport json2mq from 'json2mq';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { cloneElement } from '../../_util/vnode';\nimport { getStyle, getListeners } from '../../_util/props-util';\nimport InnerSlider from './inner-slider';\nimport defaultProps from './default-props';\nimport { canUseDOM } from './utils/innerSliderUtils';\nvar enquire = canUseDOM() && require('enquire.js');\n\nVue.use(ref, { name: 'ant-ref' });\n\nexport default {\n props: _extends({}, defaultProps),\n mixins: [BaseMixin],\n data: function data() {\n this._responsiveMediaHandlers = [];\n return {\n breakpoint: null\n };\n },\n\n methods: {\n innerSliderRefHandler: function innerSliderRefHandler(ref) {\n this.innerSlider = ref;\n },\n media: function media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n this._responsiveMediaHandlers.push({ query: query, handler: handler });\n },\n slickPrev: function slickPrev() {\n this.innerSlider.slickPrev();\n },\n slickNext: function slickNext() {\n this.innerSlider.slickNext();\n },\n slickGoTo: function slickGoTo(slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n this.innerSlider.slickGoTo(slide, dontAnimate);\n },\n slickPause: function slickPause() {\n this.innerSlider.pause('paused');\n },\n slickPlay: function slickPlay() {\n this.innerSlider.handleAutoPlay('play');\n }\n },\n // handles responsive breakpoints\n beforeMount: function beforeMount() {\n var _this = this;\n\n // performance monitoring\n // if (process.env.NODE_ENV !== 'production') {\n // const { whyDidYouUpdate } = require('why-did-you-update')\n // whyDidYouUpdate(React)\n // }\n if (this.responsive) {\n var breakpoints = this.responsive.map(function (breakpt) {\n return breakpt.breakpoint;\n });\n // sort them in increasing order of their numerical value\n breakpoints.sort(function (x, y) {\n return x - y;\n });\n\n breakpoints.forEach(function (breakpoint, index) {\n // media query for each breakpoint\n var bQuery = void 0;\n if (index === 0) {\n bQuery = json2mq({ minWidth: 0, maxWidth: breakpoint });\n } else {\n bQuery = json2mq({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint\n });\n }\n // when not using server side rendering\n canUseDOM() && _this.media(bQuery, function () {\n _this.setState({ breakpoint: breakpoint });\n });\n });\n\n // Register media query for full screen. Need to support resize from small to large\n // convert javascript object to media query string\n var query = json2mq({ minWidth: breakpoints.slice(-1)[0] });\n\n canUseDOM() && this.media(query, function () {\n _this.setState({ breakpoint: null });\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n this._responsiveMediaHandlers.forEach(function (obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n\n var settings = void 0;\n var newProps = void 0;\n if (this.breakpoint) {\n newProps = this.responsive.filter(function (resp) {\n return resp.breakpoint === _this2.breakpoint;\n });\n settings = newProps[0].settings === 'unslick' ? 'unslick' : _extends({}, this.$props, newProps[0].settings);\n } else {\n settings = _extends({}, this.$props);\n }\n\n // force scrolling by one if centerMode is on\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== 'production') {\n console.warn('slidesToScroll should be equal to 1 in centerMode, you are using ' + settings.slidesToScroll);\n }\n settings.slidesToScroll = 1;\n }\n // force showing one slide and scrolling by one if the fade mode is on\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== 'production') {\n console.warn('slidesToShow should be equal to 1 when fade is true, you\\'re using ' + settings.slidesToShow);\n }\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== 'production') {\n console.warn('slidesToScroll should be equal to 1 when fade is true, you\\'re using ' + settings.slidesToScroll);\n }\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n }\n\n // makes sure that children is an array, even when there is only 1 child\n var children = this.$slots['default'] || [];\n\n // Children may contain false or null, so we should filter them\n // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n children = children.filter(function (child) {\n if (typeof child === 'string') {\n return !!child.trim();\n }\n return !!child;\n });\n\n // rows and slidesPerRow logic is handled here\n if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n console.warn('variableWidth is not supported in case of rows > 1 or slidesPerRow > 1');\n settings.variableWidth = false;\n }\n var newChildren = [];\n var currentWidth = null;\n for (var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n var newSlide = [];\n for (var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n var row = [];\n for (var k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && getStyle(children[k])) {\n currentWidth = getStyle(children[k]).width;\n }\n if (k >= children.length) break;\n row.push(cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n attrs: {\n tabIndex: -1\n },\n style: {\n width: 100 / settings.slidesPerRow + '%',\n display: 'inline-block'\n }\n }));\n }\n newSlide.push(h(\n 'div',\n { key: 10 * i + j },\n [row]\n ));\n }\n if (settings.variableWidth) {\n newChildren.push(h(\n 'div',\n { key: i, style: { width: currentWidth } },\n [newSlide]\n ));\n } else {\n newChildren.push(h(\n 'div',\n { key: i },\n [newSlide]\n ));\n }\n }\n\n if (settings === 'unslick') {\n var className = 'regular slider ' + (this.className || '');\n return h(\n 'div',\n { 'class': className },\n [newChildren]\n );\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n var sliderProps = {\n props: _extends({}, settings, {\n children: newChildren,\n __propsSymbol__: Symbol()\n }),\n on: getListeners(this),\n directives: [{\n name: 'ant-ref',\n value: this.innerSliderRefHandler\n }],\n scopedSlots: this.$scopedSlots\n };\n return h(InnerSlider, sliderProps);\n }\n};","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _toConsumableArray from 'babel-runtime/helpers/toConsumableArray';\nimport classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { initDefaultProps, hasProp } from '../../_util/props-util';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nvar _trimAlignValue = function _trimAlignValue(_ref) {\n var value = _ref.value,\n handle = _ref.handle,\n bounds = _ref.bounds,\n props = _ref.props;\n var allowCross = props.allowCross,\n pushable = props.pushable;\n\n var thershold = Number(pushable);\n var valInRange = utils.ensureValueInRange(value, props);\n var valNotConflict = valInRange;\n if (!allowCross && handle != null && bounds !== undefined) {\n if (handle > 0 && valInRange <= bounds[handle - 1] + thershold) {\n valNotConflict = bounds[handle - 1] + thershold;\n }\n if (handle < bounds.length - 1 && valInRange >= bounds[handle + 1] - thershold) {\n valNotConflict = bounds[handle + 1] - thershold;\n }\n }\n return utils.ensureValuePrecision(valNotConflict, props);\n};\n\nvar rangeProps = {\n defaultValue: PropTypes.arrayOf(PropTypes.number),\n value: PropTypes.arrayOf(PropTypes.number),\n count: PropTypes.number,\n pushable: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n allowCross: PropTypes.bool,\n disabled: PropTypes.bool,\n reverse: PropTypes.bool,\n tabIndex: PropTypes.arrayOf(PropTypes.number),\n prefixCls: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n autoFocus: PropTypes.bool\n};\nvar Range = {\n name: 'Range',\n displayName: 'Range',\n mixins: [BaseMixin],\n props: initDefaultProps(rangeProps, {\n count: 1,\n allowCross: true,\n pushable: false,\n tabIndex: []\n }),\n data: function data() {\n var _this = this;\n\n var count = this.count,\n min = this.min,\n max = this.max;\n\n var initialValue = Array.apply(undefined, _toConsumableArray(Array(count + 1))).map(function () {\n return min;\n });\n var defaultValue = hasProp(this, 'defaultValue') ? this.defaultValue : initialValue;\n var value = this.value;\n\n if (value === undefined) {\n value = defaultValue;\n }\n var bounds = value.map(function (v, i) {\n return _trimAlignValue({\n value: v,\n handle: i,\n props: _this.$props\n });\n });\n var recent = bounds[0] === max ? 0 : bounds.length - 1;\n return {\n sHandle: null,\n recent: recent,\n bounds: bounds\n };\n },\n\n watch: {\n value: {\n handler: function handler(val) {\n var bounds = this.bounds;\n\n this.setChangeValue(val || bounds);\n },\n\n deep: true\n },\n min: function min() {\n var value = this.value;\n\n this.setChangeValue(value || this.bounds);\n },\n max: function max() {\n var value = this.value;\n\n this.setChangeValue(value || this.bounds);\n }\n },\n methods: {\n setChangeValue: function setChangeValue(value) {\n var _this2 = this;\n\n var bounds = this.bounds;\n\n var nextBounds = value.map(function (v, i) {\n return _trimAlignValue({\n value: v,\n handle: i,\n bounds: bounds,\n props: _this2.$props\n });\n });\n if (nextBounds.length === bounds.length && nextBounds.every(function (v, i) {\n return v === bounds[i];\n })) return;\n\n this.setState({ bounds: nextBounds });\n\n if (value.some(function (v) {\n return utils.isValueOutOfRange(v, _this2.$props);\n })) {\n var newValues = value.map(function (v) {\n return utils.ensureValueInRange(v, _this2.$props);\n });\n this.$emit('change', newValues);\n }\n },\n onChange: function onChange(state) {\n var isNotControlled = !hasProp(this, 'value');\n if (isNotControlled) {\n this.setState(state);\n } else {\n var controlledState = {};\n\n ['sHandle', 'recent'].forEach(function (item) {\n if (state[item] !== undefined) {\n controlledState[item] = state[item];\n }\n });\n\n if (Object.keys(controlledState).length) {\n this.setState(controlledState);\n }\n }\n\n var data = _extends({}, this.$data, state);\n var changedValue = data.bounds;\n this.$emit('change', changedValue);\n },\n onStart: function onStart(position) {\n var bounds = this.bounds;\n\n this.$emit('beforeChange', bounds);\n\n var value = this.calcValueByPos(position);\n this.startValue = value;\n this.startPosition = position;\n\n var closestBound = this.getClosestBound(value);\n this.prevMovedHandleIndex = this.getBoundNeedMoving(value, closestBound);\n\n this.setState({\n sHandle: this.prevMovedHandleIndex,\n recent: this.prevMovedHandleIndex\n });\n\n var prevValue = bounds[this.prevMovedHandleIndex];\n if (value === prevValue) return;\n var nextBounds = [].concat(_toConsumableArray(bounds));\n nextBounds[this.prevMovedHandleIndex] = value;\n this.onChange({ bounds: nextBounds });\n },\n onEnd: function onEnd(force) {\n var sHandle = this.sHandle;\n\n this.removeDocumentEvents();\n if (sHandle !== null || force) {\n this.$emit('afterChange', this.bounds);\n }\n this.setState({ sHandle: null });\n },\n onMove: function onMove(e, position) {\n utils.pauseEvent(e);\n var bounds = this.bounds,\n sHandle = this.sHandle;\n\n var value = this.calcValueByPos(position);\n var oldValue = bounds[sHandle];\n if (value === oldValue) return;\n\n this.moveTo(value);\n },\n onKeyboard: function onKeyboard(e) {\n var _$props = this.$props,\n reverse = _$props.reverse,\n vertical = _$props.vertical;\n\n var valueMutator = utils.getKeyboardValueMutator(e, vertical, reverse);\n\n if (valueMutator) {\n utils.pauseEvent(e);\n var bounds = this.bounds,\n sHandle = this.sHandle;\n\n var oldValue = bounds[sHandle === null ? this.recent : sHandle];\n var mutatedValue = valueMutator(oldValue, this.$props);\n var value = _trimAlignValue({\n value: mutatedValue,\n handle: sHandle,\n bounds: bounds,\n props: this.$props\n });\n if (value === oldValue) return;\n var isFromKeyboardEvent = true;\n this.moveTo(value, isFromKeyboardEvent);\n }\n },\n getClosestBound: function getClosestBound(value) {\n var bounds = this.bounds;\n\n var closestBound = 0;\n for (var i = 1; i < bounds.length - 1; ++i) {\n if (value > bounds[i]) {\n closestBound = i;\n }\n }\n if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {\n closestBound += 1;\n }\n return closestBound;\n },\n getBoundNeedMoving: function getBoundNeedMoving(value, closestBound) {\n var bounds = this.bounds,\n recent = this.recent;\n\n var boundNeedMoving = closestBound;\n var isAtTheSamePoint = bounds[closestBound + 1] === bounds[closestBound];\n\n if (isAtTheSamePoint && bounds[recent] === bounds[closestBound]) {\n boundNeedMoving = recent;\n }\n\n if (isAtTheSamePoint && value !== bounds[closestBound + 1]) {\n boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1;\n }\n return boundNeedMoving;\n },\n getLowerBound: function getLowerBound() {\n return this.bounds[0];\n },\n getUpperBound: function getUpperBound() {\n var bounds = this.bounds;\n\n return bounds[bounds.length - 1];\n },\n\n /**\n * Returns an array of possible slider points, taking into account both\n * `marks` and `step`. The result is cached.\n */\n getPoints: function getPoints() {\n var marks = this.marks,\n step = this.step,\n min = this.min,\n max = this.max;\n\n var cache = this._getPointsCache;\n if (!cache || cache.marks !== marks || cache.step !== step) {\n var pointsObject = _extends({}, marks);\n if (step !== null) {\n for (var point = min; point <= max; point += step) {\n pointsObject[point] = point;\n }\n }\n var points = Object.keys(pointsObject).map(parseFloat);\n points.sort(function (a, b) {\n return a - b;\n });\n this._getPointsCache = { marks: marks, step: step, points: points };\n }\n return this._getPointsCache.points;\n },\n moveTo: function moveTo(value, isFromKeyboardEvent) {\n var _this3 = this;\n\n var nextBounds = [].concat(_toConsumableArray(this.bounds));\n var sHandle = this.sHandle,\n recent = this.recent;\n\n var handle = sHandle === null ? recent : sHandle;\n nextBounds[handle] = value;\n var nextHandle = handle;\n if (this.$props.pushable !== false) {\n this.pushSurroundingHandles(nextBounds, nextHandle);\n } else if (this.$props.allowCross) {\n nextBounds.sort(function (a, b) {\n return a - b;\n });\n nextHandle = nextBounds.indexOf(value);\n }\n this.onChange({\n recent: nextHandle,\n sHandle: nextHandle,\n bounds: nextBounds\n });\n if (isFromKeyboardEvent) {\n // known problem: because setState is async,\n // so trigger focus will invoke handler's onEnd and another handler's onStart too early,\n // cause onBeforeChange and onAfterChange receive wrong value.\n // here use setState callback to hack,but not elegant\n this.$emit('afterChange', nextBounds);\n this.setState({}, function () {\n _this3.handlesRefs[nextHandle].focus();\n });\n this.onEnd();\n }\n },\n pushSurroundingHandles: function pushSurroundingHandles(bounds, handle) {\n var value = bounds[handle];\n var threshold = this.pushable;\n\n threshold = Number(threshold);\n\n var direction = 0;\n if (bounds[handle + 1] - value < threshold) {\n direction = +1; // push to right\n }\n if (value - bounds[handle - 1] < threshold) {\n direction = -1; // push to left\n }\n\n if (direction === 0) {\n return;\n }\n\n var nextHandle = handle + direction;\n var diffToNext = direction * (bounds[nextHandle] - value);\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // revert to original value if pushing is impossible\n bounds[handle] = bounds[nextHandle] - direction * threshold;\n }\n },\n pushHandle: function pushHandle(bounds, handle, direction, amount) {\n var originalValue = bounds[handle];\n var currentValue = bounds[handle];\n while (direction * (currentValue - originalValue) < amount) {\n if (!this.pushHandleOnePoint(bounds, handle, direction)) {\n // can't push handle enough to create the needed `amount` gap, so we\n // revert its position to the original value\n bounds[handle] = originalValue;\n return false;\n }\n currentValue = bounds[handle];\n }\n // the handle was pushed enough to create the needed `amount` gap\n return true;\n },\n pushHandleOnePoint: function pushHandleOnePoint(bounds, handle, direction) {\n var points = this.getPoints();\n var pointIndex = points.indexOf(bounds[handle]);\n var nextPointIndex = pointIndex + direction;\n if (nextPointIndex >= points.length || nextPointIndex < 0) {\n // reached the minimum or maximum available point, can't push anymore\n return false;\n }\n var nextHandle = handle + direction;\n var nextValue = points[nextPointIndex];\n var threshold = this.pushable;\n\n var diffToNext = direction * (bounds[nextHandle] - nextValue);\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // couldn't push next handle, so we won't push this one either\n return false;\n }\n // push the handle\n bounds[handle] = nextValue;\n return true;\n },\n trimAlignValue: function trimAlignValue(value) {\n var sHandle = this.sHandle,\n bounds = this.bounds;\n\n return _trimAlignValue({\n value: value,\n handle: sHandle,\n bounds: bounds,\n props: this.$props\n });\n },\n ensureValueNotConflict: function ensureValueNotConflict(handle, val, _ref2) {\n var allowCross = _ref2.allowCross,\n thershold = _ref2.pushable;\n\n var state = this.$data || {};\n var bounds = state.bounds;\n\n handle = handle === undefined ? state.sHandle : handle;\n thershold = Number(thershold);\n /* eslint-disable eqeqeq */\n if (!allowCross && handle != null && bounds !== undefined) {\n if (handle > 0 && val <= bounds[handle - 1] + thershold) {\n return bounds[handle - 1] + thershold;\n }\n if (handle < bounds.length - 1 && val >= bounds[handle + 1] - thershold) {\n return bounds[handle + 1] - thershold;\n }\n }\n /* eslint-enable eqeqeq */\n return val;\n },\n getTrack: function getTrack(_ref3) {\n var bounds = _ref3.bounds,\n prefixCls = _ref3.prefixCls,\n reverse = _ref3.reverse,\n vertical = _ref3.vertical,\n included = _ref3.included,\n offsets = _ref3.offsets,\n trackStyle = _ref3.trackStyle;\n var h = this.$createElement;\n\n return bounds.slice(0, -1).map(function (_, index) {\n var _classNames;\n\n var i = index + 1;\n var trackClassName = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + '-track', true), _defineProperty(_classNames, prefixCls + '-track-' + i, true), _classNames));\n return h(Track, {\n 'class': trackClassName,\n attrs: { vertical: vertical,\n reverse: reverse,\n included: included,\n offset: offsets[i - 1],\n length: offsets[i] - offsets[i - 1]\n },\n style: trackStyle[index],\n key: i\n });\n });\n },\n renderSlider: function renderSlider() {\n var _this4 = this;\n\n var sHandle = this.sHandle,\n bounds = this.bounds,\n prefixCls = this.prefixCls,\n vertical = this.vertical,\n included = this.included,\n disabled = this.disabled,\n min = this.min,\n max = this.max,\n reverse = this.reverse,\n handle = this.handle,\n defaultHandle = this.defaultHandle,\n trackStyle = this.trackStyle,\n handleStyle = this.handleStyle,\n tabIndex = this.tabIndex;\n\n var handleGenerator = handle || defaultHandle;\n var offsets = bounds.map(function (v) {\n return _this4.calcOffset(v);\n });\n\n var handleClassName = prefixCls + '-handle';\n var handles = bounds.map(function (v, i) {\n var _classNames2;\n\n var _tabIndex = tabIndex[i] || 0;\n if (disabled || tabIndex[i] === null) {\n _tabIndex = null;\n }\n return handleGenerator({\n className: classNames((_classNames2 = {}, _defineProperty(_classNames2, handleClassName, true), _defineProperty(_classNames2, handleClassName + '-' + (i + 1), true), _classNames2)),\n prefixCls: prefixCls,\n vertical: vertical,\n offset: offsets[i],\n value: v,\n dragging: sHandle === i,\n index: i,\n tabIndex: _tabIndex,\n min: min,\n max: max,\n reverse: reverse,\n disabled: disabled,\n style: handleStyle[i],\n directives: [{\n name: 'ant-ref',\n value: function value(h) {\n return _this4.saveHandle(i, h);\n }\n }],\n on: {\n focus: _this4.onFocus,\n blur: _this4.onBlur\n }\n });\n });\n\n return {\n tracks: this.getTrack({\n bounds: bounds,\n prefixCls: prefixCls,\n reverse: reverse,\n vertical: vertical,\n included: included,\n offsets: offsets,\n trackStyle: trackStyle\n }),\n handles: handles\n };\n }\n }\n};\n\nexport default createSlider(Range);","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport classNames from 'classnames';\nimport warning from '../../../_util/warning';\n\nvar calcPoints = function calcPoints(vertical, marks, dots, step, min, max) {\n warning(dots ? step > 0 : true, 'Slider', '`Slider[step]` should be a positive number in order to make Slider[dots] work.');\n var points = Object.keys(marks).map(parseFloat).sort(function (a, b) {\n return a - b;\n });\n if (dots && step) {\n for (var i = min; i <= max; i += step) {\n if (points.indexOf(i) === -1) {\n points.push(i);\n }\n }\n }\n return points;\n};\n\nvar Steps = {\n functional: true,\n render: function render(h, context) {\n var _context$props = context.props,\n prefixCls = _context$props.prefixCls,\n vertical = _context$props.vertical,\n reverse = _context$props.reverse,\n marks = _context$props.marks,\n dots = _context$props.dots,\n step = _context$props.step,\n included = _context$props.included,\n lowerBound = _context$props.lowerBound,\n upperBound = _context$props.upperBound,\n max = _context$props.max,\n min = _context$props.min,\n dotStyle = _context$props.dotStyle,\n activeDotStyle = _context$props.activeDotStyle;\n\n var range = max - min;\n var elements = calcPoints(vertical, marks, dots, step, min, max).map(function (point) {\n var _classNames;\n\n var offset = Math.abs(point - min) / range * 100 + '%';\n\n var isActived = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;\n var style = vertical ? _extends({}, dotStyle, _defineProperty({}, reverse ? 'top' : 'bottom', offset)) : _extends({}, dotStyle, _defineProperty({}, reverse ? 'right' : 'left', offset));\n if (isActived) {\n style = _extends({}, style, activeDotStyle);\n }\n\n var pointClassName = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + '-dot', true), _defineProperty(_classNames, prefixCls + '-dot-active', isActived), _defineProperty(_classNames, prefixCls + '-dot-reverse', reverse), _classNames));\n\n return h('span', { 'class': pointClassName, style: style, key: point });\n });\n\n return h(\n 'div',\n { 'class': prefixCls + '-step' },\n [elements]\n );\n }\n};\n\nexport default Steps;","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport classNames from 'classnames';\nimport { isValidElement } from '../../../_util/props-util';\n\nvar Marks = {\n functional: true,\n render: function render(h, context) {\n var _context$props = context.props,\n className = _context$props.className,\n vertical = _context$props.vertical,\n reverse = _context$props.reverse,\n marks = _context$props.marks,\n included = _context$props.included,\n upperBound = _context$props.upperBound,\n lowerBound = _context$props.lowerBound,\n max = _context$props.max,\n min = _context$props.min;\n var clickLabel = context.listeners.clickLabel;\n\n var marksKeys = Object.keys(marks);\n\n var range = max - min;\n var elements = marksKeys.map(parseFloat).sort(function (a, b) {\n return a - b;\n }).map(function (point) {\n var _classNames;\n\n var markPoint = typeof marks[point] === 'function' ? marks[point](h) : marks[point];\n var markPointIsObject = (typeof markPoint === 'undefined' ? 'undefined' : _typeof(markPoint)) === 'object' && !isValidElement(markPoint);\n var markLabel = markPointIsObject ? markPoint.label : markPoint;\n if (!markLabel && markLabel !== 0) {\n return null;\n }\n\n var isActive = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;\n var markClassName = classNames((_classNames = {}, _defineProperty(_classNames, className + '-text', true), _defineProperty(_classNames, className + '-text-active', isActive), _classNames));\n\n var bottomStyle = _defineProperty({\n marginBottom: '-50%'\n }, reverse ? 'top' : 'bottom', (point - min) / range * 100 + '%');\n\n var leftStyle = _defineProperty({\n transform: 'translateX(-50%)',\n msTransform: 'translateX(-50%)'\n }, reverse ? 'right' : 'left', reverse ? (point - min / 4) / range * 100 + '%' : (point - min) / range * 100 + '%');\n\n var style = vertical ? bottomStyle : leftStyle;\n var markStyle = markPointIsObject ? _extends({}, style, markPoint.style) : style;\n return h(\n 'span',\n {\n 'class': markClassName,\n style: markStyle,\n key: point,\n on: {\n 'mousedown': function mousedown(e) {\n return clickLabel(e, point);\n },\n 'touchstart': function touchstart(e) {\n return clickLabel(e, point);\n }\n }\n },\n [markLabel]\n );\n });\n\n return h(\n 'div',\n { 'class': className },\n [elements]\n );\n }\n};\n\nexport default Marks;","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport classNames from 'classnames';\nimport PropTypes from '../../../_util/vue-types';\nimport addEventListener from '../../../vc-util/Dom/addEventListener';\nimport warning from '../../../_util/warning';\nimport { initDefaultProps } from '../../../_util/props-util';\nimport Steps from './Steps';\nimport Marks from './Marks';\nimport Handle from '../Handle';\nimport * as utils from '../utils';\n\nfunction noop() {}\n\nexport default function createSlider(Component) {\n // const displayName = `ComponentEnhancer(${Component.displayName})`\n var propTypes = {\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n marks: PropTypes.object,\n included: PropTypes.bool,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n handle: PropTypes.func,\n dots: PropTypes.bool,\n vertical: PropTypes.bool,\n reverse: PropTypes.bool,\n minimumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate\n maximumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate\n handleStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n trackStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n railStyle: PropTypes.object,\n dotStyle: PropTypes.object,\n activeDotStyle: PropTypes.object,\n autoFocus: PropTypes.bool\n };\n return {\n name: 'createSlider',\n mixins: [Component],\n model: {\n prop: 'value',\n event: 'change'\n },\n props: initDefaultProps(propTypes, {\n prefixCls: 'rc-slider',\n min: 0,\n max: 100,\n step: 1,\n marks: {},\n included: true,\n disabled: false,\n dots: false,\n vertical: false,\n reverse: false,\n trackStyle: [{}],\n handleStyle: [{}],\n railStyle: {},\n dotStyle: {},\n activeDotStyle: {}\n }),\n data: function data() {\n var step = this.step,\n max = this.max,\n min = this.min;\n\n var isPointDiffEven = isFinite(max - min) ? (max - min) % step === 0 : true; // eslint-disable-line\n warning(step && Math.floor(step) === step ? isPointDiffEven : true, 'Slider', 'Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)', max - min, step);\n this.handlesRefs = {};\n return {};\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n // Snapshot testing cannot handle refs, so be sure to null-check this.\n _this.document = _this.$refs.sliderRef && _this.$refs.sliderRef.ownerDocument;\n // this.setHandleRefs()\n var autoFocus = _this.autoFocus,\n disabled = _this.disabled;\n\n if (autoFocus && !disabled) {\n _this.focus();\n }\n });\n },\n beforeDestroy: function beforeDestroy() {\n var _this2 = this;\n\n this.$nextTick(function () {\n // if (super.componentWillUnmount) super.componentWillUnmount()\n _this2.removeDocumentEvents();\n });\n },\n\n methods: {\n defaultHandle: function defaultHandle(_ref) {\n var index = _ref.index,\n directives = _ref.directives,\n className = _ref.className,\n style = _ref.style,\n on = _ref.on,\n restProps = _objectWithoutProperties(_ref, ['index', 'directives', 'className', 'style', 'on']);\n\n var h = this.$createElement;\n\n delete restProps.dragging;\n if (restProps.value === null) {\n return null;\n }\n var handleProps = {\n props: _extends({}, restProps),\n 'class': className,\n style: style,\n key: index,\n directives: directives,\n on: on\n };\n return h(Handle, handleProps);\n },\n onMouseDown: function onMouseDown(e) {\n if (e.button !== 0) {\n return;\n }\n var isVertical = this.vertical;\n var position = utils.getMousePosition(isVertical, e);\n if (!utils.isEventFromHandle(e, this.handlesRefs)) {\n this.dragOffset = 0;\n } else {\n var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n this.removeDocumentEvents();\n this.onStart(position);\n this.addDocumentMouseEvents();\n utils.pauseEvent(e);\n },\n onTouchStart: function onTouchStart(e) {\n if (utils.isNotTouchEvent(e)) return;\n\n var isVertical = this.vertical;\n var position = utils.getTouchPosition(isVertical, e);\n if (!utils.isEventFromHandle(e, this.handlesRefs)) {\n this.dragOffset = 0;\n } else {\n var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n this.onStart(position);\n this.addDocumentTouchEvents();\n utils.pauseEvent(e);\n },\n onFocus: function onFocus(e) {\n var vertical = this.vertical;\n\n if (utils.isEventFromHandle(e, this.handlesRefs)) {\n var handlePosition = utils.getHandleCenterPosition(vertical, e.target);\n this.dragOffset = 0;\n this.onStart(handlePosition);\n utils.pauseEvent(e);\n this.$emit('focus', e);\n }\n },\n onBlur: function onBlur(e) {\n this.onEnd();\n this.$emit('blur', e);\n },\n onMouseUp: function onMouseUp() {\n if (this.handlesRefs[this.prevMovedHandleIndex]) {\n this.handlesRefs[this.prevMovedHandleIndex].clickFocus();\n }\n },\n onMouseMove: function onMouseMove(e) {\n if (!this.$refs.sliderRef) {\n this.onEnd();\n return;\n }\n var position = utils.getMousePosition(this.vertical, e);\n this.onMove(e, position - this.dragOffset);\n },\n onTouchMove: function onTouchMove(e) {\n if (utils.isNotTouchEvent(e) || !this.$refs.sliderRef) {\n this.onEnd();\n return;\n }\n\n var position = utils.getTouchPosition(this.vertical, e);\n this.onMove(e, position - this.dragOffset);\n },\n onKeyDown: function onKeyDown(e) {\n if (this.$refs.sliderRef && utils.isEventFromHandle(e, this.handlesRefs)) {\n this.onKeyboard(e);\n }\n },\n onClickMarkLabel: function onClickMarkLabel(e, value) {\n var _this3 = this;\n\n e.stopPropagation();\n this.onChange({ sValue: value });\n this.setState({ sValue: value }, function () {\n return _this3.onEnd(true);\n });\n },\n getSliderStart: function getSliderStart() {\n var slider = this.$refs.sliderRef;\n var vertical = this.vertical,\n reverse = this.reverse;\n\n var rect = slider.getBoundingClientRect();\n if (vertical) {\n return reverse ? rect.bottom : rect.top;\n }\n return window.pageXOffset + (reverse ? rect.right : rect.left);\n },\n getSliderLength: function getSliderLength() {\n var slider = this.$refs.sliderRef;\n if (!slider) {\n return 0;\n }\n\n var coords = slider.getBoundingClientRect();\n return this.vertical ? coords.height : coords.width;\n },\n addDocumentTouchEvents: function addDocumentTouchEvents() {\n // just work for Chrome iOS Safari and Android Browser\n this.onTouchMoveListener = addEventListener(this.document, 'touchmove', this.onTouchMove);\n this.onTouchUpListener = addEventListener(this.document, 'touchend', this.onEnd);\n },\n addDocumentMouseEvents: function addDocumentMouseEvents() {\n this.onMouseMoveListener = addEventListener(this.document, 'mousemove', this.onMouseMove);\n this.onMouseUpListener = addEventListener(this.document, 'mouseup', this.onEnd);\n },\n removeDocumentEvents: function removeDocumentEvents() {\n /* eslint-disable no-unused-expressions */\n this.onTouchMoveListener && this.onTouchMoveListener.remove();\n this.onTouchUpListener && this.onTouchUpListener.remove();\n\n this.onMouseMoveListener && this.onMouseMoveListener.remove();\n this.onMouseUpListener && this.onMouseUpListener.remove();\n /* eslint-enable no-unused-expressions */\n },\n focus: function focus() {\n if (!this.disabled) {\n this.handlesRefs[0].focus();\n }\n },\n blur: function blur() {\n var _this4 = this;\n\n if (!this.disabled) {\n Object.keys(this.handlesRefs).forEach(function (key) {\n if (_this4.handlesRefs[key] && _this4.handlesRefs[key].blur) {\n _this4.handlesRefs[key].blur();\n }\n });\n }\n },\n calcValue: function calcValue(offset) {\n var vertical = this.vertical,\n min = this.min,\n max = this.max;\n\n var ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());\n var value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;\n return value;\n },\n calcValueByPos: function calcValueByPos(position) {\n var sign = this.reverse ? -1 : +1;\n var pixelOffset = sign * (position - this.getSliderStart());\n var nextValue = this.trimAlignValue(this.calcValue(pixelOffset));\n return nextValue;\n },\n calcOffset: function calcOffset(value) {\n var min = this.min,\n max = this.max;\n\n var ratio = (value - min) / (max - min);\n return ratio * 100;\n },\n saveHandle: function saveHandle(index, handle) {\n this.handlesRefs[index] = handle;\n }\n },\n render: function render(h) {\n var _classNames;\n\n var prefixCls = this.prefixCls,\n marks = this.marks,\n dots = this.dots,\n step = this.step,\n included = this.included,\n disabled = this.disabled,\n vertical = this.vertical,\n reverse = this.reverse,\n min = this.min,\n max = this.max,\n maximumTrackStyle = this.maximumTrackStyle,\n railStyle = this.railStyle,\n dotStyle = this.dotStyle,\n activeDotStyle = this.activeDotStyle;\n\n var _renderSlider = this.renderSlider(h),\n tracks = _renderSlider.tracks,\n handles = _renderSlider.handles;\n\n var sliderClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + '-with-marks', Object.keys(marks).length), _defineProperty(_classNames, prefixCls + '-disabled', disabled), _defineProperty(_classNames, prefixCls + '-vertical', vertical), _classNames));\n var markProps = {\n props: {\n vertical: vertical,\n marks: marks,\n included: included,\n lowerBound: this.getLowerBound(),\n upperBound: this.getUpperBound(),\n max: max,\n min: min,\n reverse: reverse,\n className: prefixCls + '-mark'\n },\n on: {\n clickLabel: disabled ? noop : this.onClickMarkLabel\n }\n };\n return h(\n 'div',\n {\n ref: 'sliderRef',\n attrs: { tabIndex: '-1'\n },\n 'class': sliderClassName,\n on: {\n 'touchstart': disabled ? noop : this.onTouchStart,\n 'mousedown': disabled ? noop : this.onMouseDown,\n 'mouseup': disabled ? noop : this.onMouseUp,\n 'keydown': disabled ? noop : this.onKeyDown,\n 'focus': disabled ? noop : this.onFocus,\n 'blur': disabled ? noop : this.onBlur\n }\n },\n [h('div', {\n 'class': prefixCls + '-rail',\n style: _extends({}, maximumTrackStyle, railStyle)\n }), tracks, h(Steps, {\n attrs: {\n prefixCls: prefixCls,\n vertical: vertical,\n reverse: reverse,\n marks: marks,\n dots: dots,\n step: step,\n included: included,\n lowerBound: this.getLowerBound(),\n upperBound: this.getUpperBound(),\n max: max,\n min: min,\n dotStyle: dotStyle,\n activeDotStyle: activeDotStyle\n }\n }), handles, h(Marks, markProps), this.$slots['default']]\n );\n }\n };\n}","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 _extends from 'babel-runtime/helpers/extends';\nexport var getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n var onDemandSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n return onDemandSlides;\n};\n\n// return list of slides that need to be present\nexport var getRequiredLazySlides = function getRequiredLazySlides(spec) {\n var requiredSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n return requiredSlides;\n};\n\n// startIndex that needs to be present\nexport var lazyStartIndex = function lazyStartIndex(spec) {\n return spec.currentSlide - lazySlidesOnLeft(spec);\n};\nexport var lazyEndIndex = function lazyEndIndex(spec) {\n return spec.currentSlide + lazySlidesOnRight(spec);\n};\nexport var lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\nexport var lazySlidesOnRight = function lazySlidesOnRight(spec) {\n return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow;\n};\n\n// get width of an element\nexport var getWidth = function getWidth(elem) {\n return elem && elem.offsetWidth || 0;\n};\nexport var getHeight = function getHeight(elem) {\n return elem && elem.offsetHeight || 0;\n};\nexport var getSwipeDirection = function getSwipeDirection(touchObject) {\n var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var swipeAngle = void 0;\n var xDist = touchObject.startX - touchObject.curX;\n var yDist = touchObject.startY - touchObject.curY;\n var r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round(r * 180 / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n return 'left';\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return 'right';\n }\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return 'up';\n } else {\n return 'down';\n }\n }\n\n return 'vertical';\n};\n\n// whether or not we can go next\nexport var canGoNext = function canGoNext(spec) {\n var canGo = true;\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (spec.slideCount <= spec.slidesToShow || spec.currentSlide >= spec.slideCount - spec.slidesToShow) {\n canGo = false;\n }\n }\n return canGo;\n};\n\n// given an object and a list of keys, return new object with given keys\nexport var extractObject = function extractObject(spec, keys) {\n var newObject = {};\n keys.forEach(function (key) {\n return newObject[key] = spec[key];\n });\n return newObject;\n};\n\n// get initialized state\nexport var initializedState = function initializedState(spec) {\n // spec also contains listRef, trackRef\n var slideCount = spec.children.length;\n var listWidth = Math.ceil(getWidth(spec.listRef));\n var trackWidth = Math.ceil(getWidth(spec.trackRef));\n var slideWidth = void 0;\n if (!spec.vertical) {\n var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n if (typeof spec.centerPadding === 'string' && spec.centerPadding.slice(-1) === '%') {\n centerPaddingAdj *= listWidth / 100;\n }\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n var slideHeight = spec.listRef && getHeight(spec.listRef.querySelector('[data-index=\"0\"]'));\n var listHeight = slideHeight * spec.slidesToShow;\n var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n var lazyLoadedList = spec.lazyLoadedList || [];\n var slidesToLoad = getOnDemandLazySlides({ currentSlide: currentSlide, lazyLoadedList: lazyLoadedList }, spec);\n lazyLoadedList.concat(slidesToLoad);\n\n var state = {\n slideCount: slideCount,\n slideWidth: slideWidth,\n listWidth: listWidth,\n trackWidth: trackWidth,\n currentSlide: currentSlide,\n slideHeight: slideHeight,\n listHeight: listHeight,\n lazyLoadedList: lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state['autoplaying'] = 'playing';\n }\n\n return state;\n};\n\nexport var slideHandler = function slideHandler(spec) {\n var waitForAnimate = spec.waitForAnimate,\n animating = spec.animating,\n fade = spec.fade,\n infinite = spec.infinite,\n index = spec.index,\n slideCount = spec.slideCount,\n lazyLoadedList = spec.lazyLoadedList,\n lazyLoad = spec.lazyLoad,\n currentSlide = spec.currentSlide,\n centerMode = spec.centerMode,\n slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n useCSS = spec.useCSS;\n\n if (waitForAnimate && animating) return {};\n var animationSlide = index;\n var finalSlide = void 0;\n var animationLeft = void 0;\n var finalLeft = void 0;\n var state = {};\n var nextState = {};\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList.push(animationSlide);\n }\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList: lazyLoadedList\n };\n nextState = { animating: false };\n } else {\n finalSlide = animationSlide;\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;else if (slideCount % slidesToScroll !== 0) {\n finalSlide = slideCount - slideCount % slidesToScroll;\n }\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n animationLeft = getTrackLeft(_extends({}, spec, { slideIndex: animationSlide }));\n finalLeft = getTrackLeft(_extends({}, spec, { slideIndex: finalSlide }));\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n lazyLoad && lazyLoadedList.concat(getOnDemandLazySlides(_extends({}, spec, { currentSlide: animationSlide })));\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_extends({}, spec, { left: finalLeft })),\n lazyLoadedList: lazyLoadedList\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS(_extends({}, spec, { left: animationLeft })),\n lazyLoadedList: lazyLoadedList\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_extends({}, spec, { left: finalLeft })),\n swipeLeft: null\n };\n }\n }\n return { state: state, nextState: nextState };\n};\n\nexport var changeSlide = function changeSlide(spec, options) {\n var previousInt = void 0,\n slideOffset = void 0,\n targetSlide = void 0;\n var slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n slideCount = spec.slideCount,\n currentSlide = spec.currentSlide,\n lazyLoad = spec.lazyLoad,\n infinite = spec.infinite;\n\n var unevenOffset = slideCount % slidesToScroll !== 0;\n var indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\n if (options.message === 'previous') {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n } else if (options.message === 'next') {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n if (lazyLoad && !infinite) {\n targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n }\n } else if (options.message === 'dots') {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n if (targetSlide === options.currentSlide) {\n return null;\n }\n } else if (options.message === 'children') {\n // Click on the slides\n targetSlide = options.index;\n if (targetSlide === options.currentSlide) {\n return null;\n }\n if (infinite) {\n var direction = siblingDirection(_extends({}, spec, { targetSlide: targetSlide }));\n if (targetSlide > options.currentSlide && direction === 'left') {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === 'right') {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === 'index') {\n targetSlide = Number(options.index);\n if (targetSlide === options.currentSlide) {\n return null;\n }\n }\n return targetSlide;\n};\nexport var keyHandler = function keyHandler(e, accessibility, rtl) {\n if (e.target.tagName.match('TEXTAREA|INPUT|SELECT') || !accessibility) {\n return '';\n }\n if (e.keyCode === 37) return rtl ? 'next' : 'previous';\n if (e.keyCode === 39) return rtl ? 'previous' : 'next';\n return '';\n};\n\nexport var swipeStart = function swipeStart(e, swipe, draggable) {\n e.target.tagName === 'IMG' && e.preventDefault();\n if (!swipe || !draggable && e.type.indexOf('mouse') !== -1) return '';\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\nexport var swipeMove = function swipeMove(e, spec) {\n // spec also contains, trackRef and slideIndex\n var scrolling = spec.scrolling,\n animating = spec.animating,\n vertical = spec.vertical,\n swipeToSlide = spec.swipeToSlide,\n verticalSwiping = spec.verticalSwiping,\n rtl = spec.rtl,\n currentSlide = spec.currentSlide,\n edgeFriction = spec.edgeFriction,\n edgeDragged = spec.edgeDragged,\n onEdge = spec.onEdge,\n swiped = spec.swiped,\n swiping = spec.swiping,\n slideCount = spec.slideCount,\n slidesToScroll = spec.slidesToScroll,\n infinite = spec.infinite,\n touchObject = spec.touchObject,\n swipeEvent = spec.swipeEvent,\n listHeight = spec.listHeight,\n listWidth = spec.listWidth;\n\n if (scrolling) return;\n if (animating) return e.preventDefault();\n if (vertical && swipeToSlide && verticalSwiping) e.preventDefault();\n var swipeLeft = void 0;\n var state = {};\n var curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)));\n var verticalSwipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)));\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return { scrolling: true };\n }\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) {\n positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n }\n\n var dotCount = Math.ceil(slideCount / slidesToScroll);\n var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n var touchSwipeLength = touchObject.swipeLength;\n if (!infinite) {\n if (currentSlide === 0 && swipeDirection === 'right' || currentSlide + 1 >= dotCount && swipeDirection === 'left' || !canGoNext(spec) && swipeDirection === 'left') {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state['edgeDragged'] = true;\n }\n }\n }\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state['swiped'] = true;\n }\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n state = _extends({}, state, {\n touchObject: touchObject,\n swipeLeft: swipeLeft,\n trackStyle: getTrackCSS(_extends({}, spec, { left: swipeLeft }))\n });\n if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n return state;\n }\n if (touchObject.swipeLength > 10) {\n state['swiping'] = true;\n e.preventDefault();\n }\n return state;\n};\nexport var swipeEnd = function swipeEnd(e, spec) {\n var dragging = spec.dragging,\n swipe = spec.swipe,\n touchObject = spec.touchObject,\n listWidth = spec.listWidth,\n touchThreshold = spec.touchThreshold,\n verticalSwiping = spec.verticalSwiping,\n listHeight = spec.listHeight,\n currentSlide = spec.currentSlide,\n swipeToSlide = spec.swipeToSlide,\n scrolling = spec.scrolling,\n onSwipe = spec.onSwipe;\n\n if (!dragging) {\n if (swipe) e.preventDefault();\n return {};\n }\n var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n var swipeDirection = getSwipeDirection(touchObject, verticalSwiping);\n // reset the state of touch related state variables.\n var state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n if (scrolling) {\n return state;\n }\n if (!touchObject.swipeLength) {\n return state;\n }\n if (touchObject.swipeLength > minSwipe) {\n e.preventDefault();\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n var slideCount = void 0,\n newSlide = void 0;\n switch (swipeDirection) {\n case 'left':\n case 'up':\n newSlide = currentSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state['currentDirection'] = 0;\n break;\n case 'right':\n case 'down':\n newSlide = currentSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state['currentDirection'] = 1;\n break;\n default:\n slideCount = currentSlide;\n }\n state['triggerSlideHandler'] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n var currentLeft = getTrackLeft(spec);\n state['trackStyle'] = getTrackAnimateCSS(_extends({}, spec, { left: currentLeft }));\n }\n return state;\n};\nexport var getNavigableIndexes = function getNavigableIndexes(spec) {\n var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n var counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n var indexes = [];\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n return indexes;\n};\nexport var checkNavigable = function checkNavigable(spec, index) {\n var navigables = getNavigableIndexes(spec);\n var prevNavigable = 0;\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (var n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n prevNavigable = navigables[n];\n }\n }\n return index;\n};\nexport var getSlideCount = function getSlideCount(spec) {\n var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n if (spec.swipeToSlide) {\n var swipedSlide = void 0;\n var slickList = spec.listRef;\n var slides = slickList.querySelectorAll('.slick-slide');\n Array.from(slides).every(function (slide) {\n if (!spec.vertical) {\n if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n var slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexport var checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n return keysArray.reduce(function (value, key) {\n return value && spec.hasOwnProperty(key);\n }, true) ? null : console.error('Keys Missing:', spec);\n};\n\nexport var getTrackCSS = function getTrackCSS(spec) {\n checkSpecKeys(spec, ['left', 'variableWidth', 'slideCount', 'slidesToShow', 'slideWidth']);\n var trackWidth = void 0,\n trackHeight = void 0;\n var trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n var style = {\n opacity: 1,\n transition: '',\n WebkitTransition: ''\n };\n if (spec.useTransform) {\n var WebkitTransform = !spec.vertical ? 'translate3d(' + spec.left + 'px, 0px, 0px)' : 'translate3d(0px, ' + spec.left + 'px, 0px)';\n var transform = !spec.vertical ? 'translate3d(' + spec.left + 'px, 0px, 0px)' : 'translate3d(0px, ' + spec.left + 'px, 0px)';\n var msTransform = !spec.vertical ? 'translateX(' + spec.left + 'px)' : 'translateY(' + spec.left + 'px)';\n style = _extends({}, style, {\n WebkitTransform: WebkitTransform,\n transform: transform,\n msTransform: msTransform\n });\n } else {\n if (spec.vertical) {\n style['top'] = spec.left;\n } else {\n style['left'] = spec.left;\n }\n }\n if (spec.fade) style = { opacity: 1 };\n if (trackWidth) style.width = trackWidth + 'px';\n if (trackHeight) style.height = trackHeight + 'px';\n\n // Fallback for IE8\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + 'px';\n } else {\n style.marginTop = spec.left + 'px';\n }\n }\n\n return style;\n};\nexport var getTrackAnimateCSS = function getTrackAnimateCSS(spec) {\n checkSpecKeys(spec, ['left', 'variableWidth', 'slideCount', 'slidesToShow', 'slideWidth', 'speed', 'cssEase']);\n var style = getTrackCSS(spec);\n // useCSS is true by default so it can be undefined\n if (spec.useTransform) {\n style.WebkitTransition = '-webkit-transform ' + spec.speed + 'ms ' + spec.cssEase;\n style.transition = 'transform ' + spec.speed + 'ms ' + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = 'top ' + spec.speed + 'ms ' + spec.cssEase;\n } else {\n style.transition = 'left ' + spec.speed + 'ms ' + spec.cssEase;\n }\n }\n return style;\n};\nexport var getTrackLeft = function getTrackLeft(spec) {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, ['slideIndex', 'trackRef', 'infinite', 'centerMode', 'slideCount', 'slidesToShow', 'slidesToScroll', 'slideWidth', 'listWidth', 'variableWidth', 'slideHeight']);\n\n var slideIndex = spec.slideIndex,\n trackRef = spec.trackRef,\n infinite = spec.infinite,\n centerMode = spec.centerMode,\n slideCount = spec.slideCount,\n slidesToShow = spec.slidesToShow,\n slidesToScroll = spec.slidesToScroll,\n slideWidth = spec.slideWidth,\n listWidth = spec.listWidth,\n variableWidth = spec.variableWidth,\n slideHeight = spec.slideHeight,\n fade = spec.fade,\n vertical = spec.vertical;\n\n\n var slideOffset = 0;\n var targetLeft = void 0;\n var targetSlide = void 0;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n var slidesToOffset = 0;\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll);\n }\n // shift current slide to center of the frame\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = slidesToShow - slideCount % slidesToScroll;\n }\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex = void 0;\n var trackElem = trackRef;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n for (var slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexport var getPreClones = function getPreClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexport var getPostClones = function getPostClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n return spec.slideCount;\n};\n\nexport var getTotalSlides = function getTotalSlides(spec) {\n return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\nexport var siblingDirection = function siblingDirection(spec) {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return 'left';\n }\n return 'right';\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return 'right';\n }\n return 'left';\n }\n};\n\nexport var slidesOnRight = function slidesOnRight(_ref) {\n var slidesToShow = _ref.slidesToShow,\n centerMode = _ref.centerMode,\n rtl = _ref.rtl,\n centerPadding = _ref.centerPadding;\n\n // returns no of slides on the right of active slide\n if (centerMode) {\n var right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n if (rtl) {\n return 0;\n }\n return slidesToShow - 1;\n};\n\nexport var slidesOnLeft = function slidesOnLeft(_ref2) {\n var slidesToShow = _ref2.slidesToShow,\n centerMode = _ref2.centerMode,\n rtl = _ref2.rtl,\n centerPadding = _ref2.centerPadding;\n\n // returns no of slides on the left of active slide\n if (centerMode) {\n var left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n if (rtl) {\n return slidesToShow - 1;\n }\n return 0;\n};\n\nexport var canUseDOM = function canUseDOM() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n};","// base react-slick 0.23.2\nimport Slider from './slider';\n\nexport default Slider;","import PropTypes from '../../_util/vue-types';\n\nvar defaultProps = {\n accessibility: PropTypes.bool.def(true),\n // 自定义高度\n adaptiveHeight: PropTypes.bool.def(false),\n afterChange: PropTypes.any.def(null),\n arrows: PropTypes.bool.def(true),\n autoplay: PropTypes.bool.def(false),\n autoplaySpeed: PropTypes.number.def(3000),\n beforeChange: PropTypes.any.def(null),\n centerMode: PropTypes.bool.def(false),\n centerPadding: PropTypes.string.def('50px'),\n cssEase: PropTypes.string.def('ease'),\n dots: PropTypes.bool.def(false),\n dotsClass: PropTypes.string.def('slick-dots'),\n draggable: PropTypes.bool.def(true),\n unslick: PropTypes.bool.def(false),\n easing: PropTypes.string.def('linear'),\n edgeFriction: PropTypes.number.def(0.35),\n fade: PropTypes.bool.def(false),\n focusOnSelect: PropTypes.bool.def(false),\n infinite: PropTypes.bool.def(true),\n initialSlide: PropTypes.number.def(0),\n lazyLoad: PropTypes.any.def(null),\n verticalSwiping: PropTypes.bool.def(false),\n asNavFor: PropTypes.any.def(null),\n // 圆点hover是否暂停\n pauseOnDotsHover: PropTypes.bool.def(false),\n // focus是否暂停\n pauseOnFocus: PropTypes.bool.def(false),\n // hover是否暂停\n pauseOnHover: PropTypes.bool.def(true),\n responsive: PropTypes.array,\n rows: PropTypes.number.def(1),\n rtl: PropTypes.bool.def(false),\n slide: PropTypes.string.def('div'),\n slidesPerRow: PropTypes.number.def(1),\n slidesToScroll: PropTypes.number.def(1),\n slidesToShow: PropTypes.number.def(1),\n speed: PropTypes.number.def(500),\n swipe: PropTypes.bool.def(true),\n swipeEvent: PropTypes.any.def(null),\n swipeToSlide: PropTypes.bool.def(false),\n touchMove: PropTypes.bool.def(true),\n touchThreshold: PropTypes.number.def(5),\n useCSS: PropTypes.bool.def(true),\n useTransform: PropTypes.bool.def(true),\n variableWidth: PropTypes.bool.def(false),\n vertical: PropTypes.bool.def(false),\n waitForAnimate: PropTypes.bool.def(true),\n children: PropTypes.array,\n __propsSymbol__: PropTypes.any\n};\n\nexport default defaultProps;","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":""}