{"version":3,"sources":["webpack:///./node_modules/throttle-debounce/debounce.js","webpack:///./node_modules/element-ui/lib/mixins/focus.js","webpack:///./node_modules/element-ui/lib/scrollbar.js","webpack:///./node_modules/element-ui/lib/utils/scroll-into-view.js","webpack:///./node_modules/deepmerge/dist/cjs.js","webpack:///./node_modules/element-ui/lib/utils/resize-event.js","webpack:///./node_modules/element-ui/lib/utils/clickoutside.js","webpack:///./node_modules/element-ui/lib/locale/index.js","webpack:///./node_modules/element-ui/lib/utils/popup/popup-manager.js","webpack:///./node_modules/element-ui/lib/select.js","webpack:///./node_modules/element-ui/lib/utils/popup/index.js","webpack:///./node_modules/element-ui/lib/utils/dom.js","webpack:///./node_modules/throttle-debounce/throttle.js","webpack:///./node_modules/element-ui/lib/utils/popper.js","webpack:///./node_modules/element-ui/lib/mixins/locale.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./node_modules/element-ui/lib/tag.js","webpack:///./node_modules/element-ui/lib/locale/format.js","webpack:///./node_modules/element-ui/lib/utils/shared.js","webpack:///./node_modules/element-ui/lib/utils/scrollbar-width.js","webpack:///./node_modules/element-ui/lib/option.js","webpack:///./node_modules/element-ui/lib/utils/vue-popper.js","webpack:///./node_modules/element-ui/lib/locale/lang/zh-CN.js"],"names":["throttle","module","exports","delay","atBegin","callback","undefined","__esModule","default","ref","methods","focus","this","$refs","modules","installedModules","__webpack_require__","moduleId","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","122","__webpack_exports__","resize_event_","scrollbar_width_","scrollbar_width_default","util_","dom_","BAR_MAP","vertical","offset","scroll","scrollSize","size","axis","client","direction","horizontal","renderThumbStyle","_ref","move","bar","style","translate","transform","msTransform","webkitTransform","src_bar","props","Boolean","String","Number","computed","wrap","$parent","render","h","on","clickTrackHandler","clickThumbHandler","e","ctrlKey","button","startDrag","currentTarget","getBoundingClientRect","Math","abs","target","thumbHalf","thumb","thumbPositionPercentage","$el","stopImmediatePropagation","cursorDown","document","mouseMoveDocumentHandler","mouseUpDocumentHandler","onselectstart","prevPage","thumbClickPosition","destroyed","main","components","Bar","native","wrapStyle","wrapClass","viewClass","viewStyle","noresize","tag","type","data","sizeWidth","sizeHeight","moveX","moveY","gutter","gutterWith","gutterStyle","Array","isArray","marginRight","marginBottom","view","class","$slots","handleScroll","nodes","attrs","scrollTop","clientHeight","scrollLeft","clientWidth","update","heightPercentage","widthPercentage","scrollHeight","scrollWidth","mounted","$nextTick","resize","beforeDestroy","Vue","component","15","2","3","37","scrollIntoView","_vue","_vue2","_interopRequireDefault","obj","container","selected","$isServer","offsetParents","pointer","offsetParent","contains","push","top","offsetTop","reduce","prev","curr","bottom","offsetHeight","viewRectTop","viewRectBottom","isMergeableObject","isNonNullObject","isSpecial","stringValue","toString","isReactElement","canUseSymbol","for","REACT_ELEMENT_TYPE","$$typeof","emptyTarget","val","cloneIfNecessary","optionsArgument","clone","deepmerge","defaultArrayMerge","source","destination","slice","forEach","indexOf","mergeObject","keys","sourceIsArray","targetIsArray","options","arrayMerge","sourceAndTargetTypesMatch","all","array","length","Error","next","deepmerge_1","removeResizeListener","addResizeListener","_resizeObserverPolyfill","_resizeObserverPolyfill2","isServer","window","resizeHandler","entries","_iterator","_isArray","_i","iterator","done","entry","listeners","__resizeListeners__","fn","element","__ro__","observe","splice","disconnect","_dom","nodeList","ctx","startClick","seed","createDocumentHandler","el","binding","vnode","mouseup","arguments","mousedown","context","popperElm","expression","methodName","bindingFn","node","documentHandler","id","unbind","len","i18n","use","_zhCN","_zhCN2","_deepmerge","_deepmerge2","_format","_format2","format","lang","merged","i18nHandler","vuei18n","getPrototypeOf","$t","locale","config","apply","path","split","current","j","hasModal","hasInitZIndex","zIndex","getModal","modalDom","PopupManager","createElement","addEventListener","event","preventDefault","stopPropagation","doOnModalClick","instances","modalFade","getInstance","register","instance","deregister","nextZIndex","modalStack","topItem","closeOnClickModal","close","openModal","dom","modalClass","item","addClass","classArr","trim","setTimeout","removeClass","parentNode","nodeType","appendChild","body","tabIndex","display","closeModal","pop","removeChild","configurable","$ELEMENT","set","getTopPopup","topPopup","keyCode","closeOnPressEscape","handleClose","handleAction","normalizeComponent","scriptExports","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","concat","_vm","_h","$createElement","_c","_self","directives","rawName","visible","staticClass","itemSelected","disabled","groupDisabled","limitReached","hover","mouseenter","hoverItem","click","$event","selectOptionClick","_t","_v","_s","currentLabel","_withStripped","emitter_","emitter_default","_typeof","constructor","optionvue_type_script_lang_js_","mixins","a","componentName","inject","required","label","created","index","hitState","isObject","toLowerCase","currentValue","select","multiple","isEqual","multipleLimit","watch","remote","dispatch","oldVal","_select","valueKey","b","arr","some","handleGroupDisabled","hoverIndex","queryChange","query","RegExp","test","filteredOptionsCount","cachedOptions","optionsCount","$on","onOptionDestroy","src_optionvue_type_script_lang_js_","componentNormalizer","__file","selectSize","toggleMenu","inputWidth","width","collapseTags","closable","selectDisabled","collapseTagSize","hit","deleteTag","_e","resetInputHeight","_l","getValueKey","filterable","inputLength","autocomplete","autoComplete","domProps","handleFocus","blur","softFocus","keyup","managePlaceholder","keydown","resetInputState","_k","navigateOptions","selectOption","deletePrevTag","compositionstart","handleComposition","compositionupdate","compositionend","input","composing","debouncedQueryChange","placeholder","currentPlaceholder","readonly","handleBlur","nativeOn","debouncedOnInputChange","paste","inputHovering","mouseleave","model","selectedLabel","$$v","prefix","slot","showClose","iconClass","handleClearClick","handleMenuEnter","doDestroy","emptyText","popperAppendToBody","loading","allowCreate","showNewOption","empty","focus_","focus_default","locale_","locale_default","input_","input_default","select_dropdownvue_type_template_id_06828748_render","popperClass","minWidth","select_dropdownvue_type_template_id_06828748_staticRenderFns","vue_popper_","vue_popper_default","select_dropdownvue_type_script_lang_js_","placement","boundariesPadding","popperOptions","gpuAcceleration","visibleArrow","appendToBody","_this","referenceElm","reference","updatePopper","destroyPopper","src_select_dropdownvue_type_script_lang_js_","select_dropdown","src_option","tag_","tag_default","scrollbar_","scrollbar_default","debounce_","debounce_default","clickoutside_","clickoutside_default","lib_locale_","scroll_into_view_","scroll_into_view_default","navigation_mixin","hoverOption","optionsAllDisabled","filter","option","every","_this2","scrollToOption","shared_","selectvue_type_script_lang_js_","elForm","elFormItem","provide","_elFormItemSize","elFormItemSize","hasValue","criteria","clearable","debounce","loadingText","noMatchText","noDataText","hasExistingOption","ElInput","ElSelectMenu","ElOption","ElTag","ElScrollbar","Clickoutside","validator","automaticDropdown","remoteMethod","Function","filterMethod","defaultFirstOption","reserveKeyword","createdLabel","createdSelected","initialInputHeight","cachedPlaceHolder","previousQuery","menuVisibleOnFocus","isOnComposition","isSilentBlur","handleQueryChange","setSelected","_this3","broadcast","resetHoverIndex","$emit","_this4","inputs","querySelectorAll","activeElement","checkDefaultFirstOption","_this5","text","_","lastCharacter","_this6","min","popper","menu","querySelector","scrollbar","_this7","emitChange","getOption","isNull","isUndefined","cachedOption","newOption","_this8","result","_this9","deleteSelected","toggleLastOptionHitState","_this10","inputChildNodes","childNodes","tagName","tags","sizeInMap","height","max","_this11","map","handleOptionSelect","byClick","_this12","optionIndex","getValueIndex","setSoftFocus","onInputChange","resetInputWidth","handleResize","hasCreated","_this13","_this14","sizeMap","medium","small","mini","src_selectvue_type_script_lang_js_","select_component","src_select","install","_merge","_merge2","_popupManager","_popupManager2","_scrollbarWidth","_scrollbarWidth2","idSeed","scrollBarWidth","openDelay","closeDelay","modal","modalAppendToBody","lockScroll","beforeMount","_popupId","restoreBodyStyle","opened","bodyPaddingRight","computedBodyPaddingRight","withoutHiddenClass","rendered","_opening","open","nextTick","$props","_closeTimer","clearTimeout","_openTimer","doOpen","willOpen","_closing","hasClass","paddingRight","parseInt","getStyle","bodyHasOverflow","documentElement","bodyOverflowY","getComputedStyle","position","onOpen","doAfterOpen","willClose","doClose","onClose","doAfterClose","isInContainer","getScrollContainer","isScroll","once","off","setStyle","SPECIAL_CHARS_REGEXP","MOZ_HACK_REGEXP","ieVersion","documentMode","string","replace","camelCase","separator","letter","toUpperCase","handler","attachEvent","removeEventListener","detachEvent","listener","cls","classList","className","curClass","classes","clsName","remove","styleName","filters","opacity","currentStyle","defaultView","prop","isNaN","determinedDirection","overflow","match","includes","elRect","containerRect","right","innerWidth","innerHeight","left","noTrailing","debounceMode","timeoutID","lastExec","wrapper","self","elapsed","Date","args","exec","clear","root","factory","DEFAULTS","boundariesElement","preventOverflowOrder","flipBehavior","arrowElement","arrowOffset","modifiers","modifiersIgnored","forceAbsolute","Popper","_reference","jquery","state","isNotDefined","isConfig","_popper","parse","_options","assign","modifier","setAttribute","_getPosition","_setupEventListeners","getOuterSizes","_display","_visibility","visibility","offsetWidth","styles","x","parseFloat","marginTop","y","marginLeft","getOppositePlacement","hash","matched","getPopperClientRect","popperOffsets","offsets","getArrayKeyIndex","keyToFind","getStyleComputedProperty","css","getOffsetParent","getScrollParent","isFixed","is_numeric","isFinite","unit","isFunction","functionToCheck","getType","getOffsetRect","elementRect","offsetLeft","rect","isIE","navigator","userAgent","rectTop","getOffsetRectRelativeToCustomParent","fixed","parentRect","scrollParent","getSupportedPropertyName","prefixes","toCheck","charAt","destroy","removeAttribute","_removeEventListeners","removeOnDestroy","_originalPlacement","_getOffsets","boundaries","_getBoundaries","runModifiers","updateCallback","onCreate","onUpdate","defaultConfig","classNames","attributes","content","contentType","arrowTagName","arrowClassNames","arrowAttributes","addClassNames","addAttributes","innerHTML","textContent","arrow","console","warn","Element","attribute","isParentFixed","referenceOffsets","popperRect","updateBound","scrollTarget","padding","html","offsetParentRect","getScrollTopValue","getScrollLeftValue","ends","modifiersToRun","isModifierRequired","requesting","requested","applyStyle","prefixedProperty","round","shift","basePlacement","shiftVariation","shiftOffsets","start","end","preventOverflow","order","check","keepTogether","f","floor","flip","flipped","placementOpposite","variation","flipOrder","step","_flip","arrowStyle","isVertical","side","altSide","opSide","arrowSize","center","sideValue","writable","TypeError","to","nextSource","keysArray","nextIndex","nextKey","desc","getOwnPropertyDescriptor","_locale","_len","_key","MapShim","Map","getIndex","class_1","__entries__","delete","has","_a","isBrowser","global$1","global","requestAnimationFrame$1","requestAnimationFrame","now","trailingTimeout","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","REFRESH_DELAY","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","addObserver","observer","connect_","removeObserver","observers","disconnect_","changesDetected","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","childList","characterData","subtree","_b","propertyName","isReflowProperty","instance_","defineConfigurable","getWindowOf","ownerGlobal","ownerDocument","emptyRect","createRectInit","toFloat","getBordersSize","positions","getPaddings","paddings","positions_1","getSVGContentRect","bbox","getBBox","getHTMLElementContentRect","horizPad","vertPad","boxSizing","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getContentRect","createReadOnlyRect","Constr","DOMRectReadOnly","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","broadcastRect","ResizeObserverEntry","rectInit","contentRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver","method","0","123","tagvue_type_script_lang_js_","disableTransitions","color","effect","handleClick","tagSize","tagEl","backgroundColor","src_tagvue_type_script_lang_js_","template","RE_NARGS","_util","hasOwn","isDef","isKorean","reg","outer","widthNoScroll","inner","widthWithScroll","33","4","52","_select_src_option__WEBPACK_IMPORTED_MODULE_0__","_popup","PopperJS","stop","transformOrigin","showPopper","currentPlacement","immediate","createPopper","elm","appendArrow","popperJS","resetTransformOrigin","forceDestroy","placementMap","getAttribute","origin","appended","deactivated","colorpicker","confirm","datepicker","today","cancel","selectDate","selectTime","startDate","startTime","endDate","endTime","prevYear","nextYear","prevMonth","nextMonth","year","month1","month2","month3","month4","month5","month6","month7","month8","month9","month10","month11","month12","weeks","sun","mon","tue","wed","thu","fri","sat","months","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec","noMatch","noData","cascader","pagination","goto","pagesize","total","pageClassifier","messagebox","title","error","upload","deleteTip","preview","continue","table","confirmFilter","resetFilter","clearFilter","sumText","tree","transfer","titles","filterPlaceholder","noCheckedFormat","hasCheckedFormat","image","pageHeader"],"mappings":"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","file":"js/chunk-99fa051e.f4d547cf.js","sourcesContent":["/* eslint-disable no-undefined */\n\nvar throttle = require('./throttle');\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [atBegin] Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @return {Function} A new, debounced function.\n */\nmodule.exports = function ( delay, atBegin, callback ) {\n\treturn callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n};\n","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (ref) {\n return {\n methods: {\n focus: function focus() {\n this.$refs[ref].focus();\n }\n }\n };\n};\n\n;","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 122);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 122:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/resize-event\"\nvar resize_event_ = __webpack_require__(15);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/scrollbar-width\"\nvar scrollbar_width_ = __webpack_require__(37);\nvar scrollbar_width_default = /*#__PURE__*/__webpack_require__.n(scrollbar_width_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_ = __webpack_require__(2);\n\n// CONCATENATED MODULE: ./packages/scrollbar/src/util.js\nvar BAR_MAP = {\n vertical: {\n offset: 'offsetHeight',\n scroll: 'scrollTop',\n scrollSize: 'scrollHeight',\n size: 'height',\n key: 'vertical',\n axis: 'Y',\n client: 'clientY',\n direction: 'top'\n },\n horizontal: {\n offset: 'offsetWidth',\n scroll: 'scrollLeft',\n scrollSize: 'scrollWidth',\n size: 'width',\n key: 'horizontal',\n axis: 'X',\n client: 'clientX',\n direction: 'left'\n }\n};\n\nfunction renderThumbStyle(_ref) {\n var move = _ref.move,\n size = _ref.size,\n bar = _ref.bar;\n\n var style = {};\n var translate = 'translate' + bar.axis + '(' + move + '%)';\n\n style[bar.size] = size;\n style.transform = translate;\n style.msTransform = translate;\n style.webkitTransform = translate;\n\n return style;\n};\n// CONCATENATED MODULE: ./packages/scrollbar/src/bar.js\n\n\n\n/* istanbul ignore next */\n/* harmony default export */ var src_bar = ({\n name: 'Bar',\n\n props: {\n vertical: Boolean,\n size: String,\n move: Number\n },\n\n computed: {\n bar: function bar() {\n return BAR_MAP[this.vertical ? 'vertical' : 'horizontal'];\n },\n wrap: function wrap() {\n return this.$parent.wrap;\n }\n },\n\n render: function render(h) {\n var size = this.size,\n move = this.move,\n bar = this.bar;\n\n\n return h(\n 'div',\n {\n 'class': ['el-scrollbar__bar', 'is-' + bar.key],\n on: {\n 'mousedown': this.clickTrackHandler\n }\n },\n [h('div', {\n ref: 'thumb',\n 'class': 'el-scrollbar__thumb',\n on: {\n 'mousedown': this.clickThumbHandler\n },\n\n style: renderThumbStyle({ size: size, move: move, bar: bar }) })]\n );\n },\n\n\n methods: {\n clickThumbHandler: function clickThumbHandler(e) {\n // prevent click event of right button\n if (e.ctrlKey || e.button === 2) {\n return;\n }\n this.startDrag(e);\n this[this.bar.axis] = e.currentTarget[this.bar.offset] - (e[this.bar.client] - e.currentTarget.getBoundingClientRect()[this.bar.direction]);\n },\n clickTrackHandler: function clickTrackHandler(e) {\n var offset = Math.abs(e.target.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]);\n var thumbHalf = this.$refs.thumb[this.bar.offset] / 2;\n var thumbPositionPercentage = (offset - thumbHalf) * 100 / this.$el[this.bar.offset];\n\n this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100;\n },\n startDrag: function startDrag(e) {\n e.stopImmediatePropagation();\n this.cursorDown = true;\n\n Object(dom_[\"on\"])(document, 'mousemove', this.mouseMoveDocumentHandler);\n Object(dom_[\"on\"])(document, 'mouseup', this.mouseUpDocumentHandler);\n document.onselectstart = function () {\n return false;\n };\n },\n mouseMoveDocumentHandler: function mouseMoveDocumentHandler(e) {\n if (this.cursorDown === false) return;\n var prevPage = this[this.bar.axis];\n\n if (!prevPage) return;\n\n var offset = (this.$el.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]) * -1;\n var thumbClickPosition = this.$refs.thumb[this.bar.offset] - prevPage;\n var thumbPositionPercentage = (offset - thumbClickPosition) * 100 / this.$el[this.bar.offset];\n\n this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100;\n },\n mouseUpDocumentHandler: function mouseUpDocumentHandler(e) {\n this.cursorDown = false;\n this[this.bar.axis] = 0;\n Object(dom_[\"off\"])(document, 'mousemove', this.mouseMoveDocumentHandler);\n document.onselectstart = null;\n }\n },\n\n destroyed: function destroyed() {\n Object(dom_[\"off\"])(document, 'mouseup', this.mouseUpDocumentHandler);\n }\n});\n// CONCATENATED MODULE: ./packages/scrollbar/src/main.js\n// reference https://github.com/noeldelgado/gemini-scrollbar/blob/master/index.js\n\n\n\n\n\n\n/* istanbul ignore next */\n/* harmony default export */ var main = ({\n name: 'ElScrollbar',\n\n components: { Bar: src_bar },\n\n props: {\n native: Boolean,\n wrapStyle: {},\n wrapClass: {},\n viewClass: {},\n viewStyle: {},\n noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能\n tag: {\n type: String,\n default: 'div'\n }\n },\n\n data: function data() {\n return {\n sizeWidth: '0',\n sizeHeight: '0',\n moveX: 0,\n moveY: 0\n };\n },\n\n\n computed: {\n wrap: function wrap() {\n return this.$refs.wrap;\n }\n },\n\n render: function render(h) {\n var gutter = scrollbar_width_default()();\n var style = this.wrapStyle;\n\n if (gutter) {\n var gutterWith = '-' + gutter + 'px';\n var gutterStyle = 'margin-bottom: ' + gutterWith + '; margin-right: ' + gutterWith + ';';\n\n if (Array.isArray(this.wrapStyle)) {\n style = Object(util_[\"toObject\"])(this.wrapStyle);\n style.marginRight = style.marginBottom = gutterWith;\n } else if (typeof this.wrapStyle === 'string') {\n style += gutterStyle;\n } else {\n style = gutterStyle;\n }\n }\n var view = h(this.tag, {\n class: ['el-scrollbar__view', this.viewClass],\n style: this.viewStyle,\n ref: 'resize'\n }, this.$slots.default);\n var wrap = h(\n 'div',\n {\n ref: 'wrap',\n style: style,\n on: {\n 'scroll': this.handleScroll\n },\n\n 'class': [this.wrapClass, 'el-scrollbar__wrap', gutter ? '' : 'el-scrollbar__wrap--hidden-default'] },\n [[view]]\n );\n var nodes = void 0;\n\n if (!this.native) {\n nodes = [wrap, h(src_bar, {\n attrs: {\n move: this.moveX,\n size: this.sizeWidth }\n }), h(src_bar, {\n attrs: {\n vertical: true,\n move: this.moveY,\n size: this.sizeHeight }\n })];\n } else {\n nodes = [h(\n 'div',\n {\n ref: 'wrap',\n 'class': [this.wrapClass, 'el-scrollbar__wrap'],\n style: style },\n [[view]]\n )];\n }\n return h('div', { class: 'el-scrollbar' }, nodes);\n },\n\n\n methods: {\n handleScroll: function handleScroll() {\n var wrap = this.wrap;\n\n this.moveY = wrap.scrollTop * 100 / wrap.clientHeight;\n this.moveX = wrap.scrollLeft * 100 / wrap.clientWidth;\n },\n update: function update() {\n var heightPercentage = void 0,\n widthPercentage = void 0;\n var wrap = this.wrap;\n if (!wrap) return;\n\n heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n widthPercentage = wrap.clientWidth * 100 / wrap.scrollWidth;\n\n this.sizeHeight = heightPercentage < 100 ? heightPercentage + '%' : '';\n this.sizeWidth = widthPercentage < 100 ? widthPercentage + '%' : '';\n }\n },\n\n mounted: function mounted() {\n if (this.native) return;\n this.$nextTick(this.update);\n !this.noresize && Object(resize_event_[\"addResizeListener\"])(this.$refs.resize, this.update);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.native) return;\n !this.noresize && Object(resize_event_[\"removeResizeListener\"])(this.$refs.resize, this.update);\n }\n});\n// CONCATENATED MODULE: ./packages/scrollbar/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var scrollbar = __webpack_exports__[\"default\"] = (main);\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/resize-event\");\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/dom\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 37:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/scrollbar-width\");\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\nexports.default = scrollIntoView;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scrollIntoView(container, selected) {\n if (_vue2.default.prototype.$isServer) return;\n\n if (!selected) {\n container.scrollTop = 0;\n return;\n }\n\n var offsetParents = [];\n var pointer = selected.offsetParent;\n while (pointer && container !== pointer && container.contains(pointer)) {\n offsetParents.push(pointer);\n pointer = pointer.offsetParent;\n }\n var top = selected.offsetTop + offsetParents.reduce(function (prev, curr) {\n return prev + curr.offsetTop;\n }, 0);\n var bottom = top + selected.offsetHeight;\n var viewRectTop = container.scrollTop;\n var viewRectBottom = viewRectTop + container.clientHeight;\n\n if (top < viewRectTop) {\n container.scrollTop = top;\n } else if (bottom > viewRectBottom) {\n container.scrollTop = bottom - container.clientHeight;\n }\n}","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function(key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function(key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneIfNecessary(source, optionsArgument)\n } else if (sourceIsArray) {\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n return arrayMerge(target, source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","'use strict';\n\nexports.__esModule = true;\nexports.removeResizeListener = exports.addResizeListener = undefined;\n\nvar _resizeObserverPolyfill = require('resize-observer-polyfill');\n\nvar _resizeObserverPolyfill2 = _interopRequireDefault(_resizeObserverPolyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = typeof window === 'undefined';\n\n/* istanbul ignore next */\nvar resizeHandler = function resizeHandler(entries) {\n for (var _iterator = entries, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n var _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n var entry = _ref;\n\n var listeners = entry.target.__resizeListeners__ || [];\n if (listeners.length) {\n listeners.forEach(function (fn) {\n fn();\n });\n }\n }\n};\n\n/* istanbul ignore next */\nvar addResizeListener = exports.addResizeListener = function addResizeListener(element, fn) {\n if (isServer) return;\n if (!element.__resizeListeners__) {\n element.__resizeListeners__ = [];\n element.__ro__ = new _resizeObserverPolyfill2.default(resizeHandler);\n element.__ro__.observe(element);\n }\n element.__resizeListeners__.push(fn);\n};\n\n/* istanbul ignore next */\nvar removeResizeListener = exports.removeResizeListener = function removeResizeListener(element, fn) {\n if (!element || !element.__resizeListeners__) return;\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n if (!element.__resizeListeners__.length) {\n element.__ro__.disconnect();\n }\n};","'use strict';\n\nexports.__esModule = true;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _dom = require('element-ui/lib/utils/dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar nodeList = [];\nvar ctx = '@@clickoutsideContext';\n\nvar startClick = void 0;\nvar seed = 0;\n\n!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mousedown', function (e) {\n return startClick = e;\n});\n\n!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mouseup', function (e) {\n nodeList.forEach(function (node) {\n return node[ctx].documentHandler(e, startClick);\n });\n});\n\nfunction createDocumentHandler(el, binding, vnode) {\n return function () {\n var mouseup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var mousedown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!vnode || !vnode.context || !mouseup.target || !mousedown.target || el.contains(mouseup.target) || el.contains(mousedown.target) || el === mouseup.target || vnode.context.popperElm && (vnode.context.popperElm.contains(mouseup.target) || vnode.context.popperElm.contains(mousedown.target))) return;\n\n if (binding.expression && el[ctx].methodName && vnode.context[el[ctx].methodName]) {\n vnode.context[el[ctx].methodName]();\n } else {\n el[ctx].bindingFn && el[ctx].bindingFn();\n }\n };\n}\n\n/**\n * v-clickoutside\n * @desc 点击元素外面才会触发的事件\n * @example\n * ```vue\n *
\n * ```\n */\nexports.default = {\n bind: function bind(el, binding, vnode) {\n nodeList.push(el);\n var id = seed++;\n el[ctx] = {\n id: id,\n documentHandler: createDocumentHandler(el, binding, vnode),\n methodName: binding.expression,\n bindingFn: binding.value\n };\n },\n update: function update(el, binding, vnode) {\n el[ctx].documentHandler = createDocumentHandler(el, binding, vnode);\n el[ctx].methodName = binding.expression;\n el[ctx].bindingFn = binding.value;\n },\n unbind: function unbind(el) {\n var len = nodeList.length;\n\n for (var i = 0; i < len; i++) {\n if (nodeList[i][ctx].id === el[ctx].id) {\n nodeList.splice(i, 1);\n break;\n }\n }\n delete el[ctx];\n }\n};","'use strict';\n\nexports.__esModule = true;\nexports.i18n = exports.use = exports.t = undefined;\n\nvar _zhCN = require('element-ui/lib/locale/lang/zh-CN');\n\nvar _zhCN2 = _interopRequireDefault(_zhCN);\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _deepmerge = require('deepmerge');\n\nvar _deepmerge2 = _interopRequireDefault(_deepmerge);\n\nvar _format = require('./format');\n\nvar _format2 = _interopRequireDefault(_format);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar format = (0, _format2.default)(_vue2.default);\nvar lang = _zhCN2.default;\nvar merged = false;\nvar i18nHandler = function i18nHandler() {\n var vuei18n = Object.getPrototypeOf(this || _vue2.default).$t;\n if (typeof vuei18n === 'function' && !!_vue2.default.locale) {\n if (!merged) {\n merged = true;\n _vue2.default.locale(_vue2.default.config.lang, (0, _deepmerge2.default)(lang, _vue2.default.locale(_vue2.default.config.lang) || {}, { clone: true }));\n }\n return vuei18n.apply(this, arguments);\n }\n};\n\nvar t = exports.t = function t(path, options) {\n var value = i18nHandler.apply(this, arguments);\n if (value !== null && value !== undefined) return value;\n\n var array = path.split('.');\n var current = lang;\n\n for (var i = 0, j = array.length; i < j; i++) {\n var property = array[i];\n value = current[property];\n if (i === j - 1) return format(value, options);\n if (!value) return '';\n current = value;\n }\n return '';\n};\n\nvar use = exports.use = function use(l) {\n lang = l || lang;\n};\n\nvar i18n = exports.i18n = function i18n(fn) {\n i18nHandler = fn || i18nHandler;\n};\n\nexports.default = { use: use, t: t, i18n: i18n };","'use strict';\n\nexports.__esModule = true;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _dom = require('element-ui/lib/utils/dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hasModal = false;\nvar hasInitZIndex = false;\nvar zIndex = void 0;\n\nvar getModal = function getModal() {\n if (_vue2.default.prototype.$isServer) return;\n var modalDom = PopupManager.modalDom;\n if (modalDom) {\n hasModal = true;\n } else {\n hasModal = false;\n modalDom = document.createElement('div');\n PopupManager.modalDom = modalDom;\n\n modalDom.addEventListener('touchmove', function (event) {\n event.preventDefault();\n event.stopPropagation();\n });\n\n modalDom.addEventListener('click', function () {\n PopupManager.doOnModalClick && PopupManager.doOnModalClick();\n });\n }\n\n return modalDom;\n};\n\nvar instances = {};\n\nvar PopupManager = {\n modalFade: true,\n\n getInstance: function getInstance(id) {\n return instances[id];\n },\n\n register: function register(id, instance) {\n if (id && instance) {\n instances[id] = instance;\n }\n },\n\n deregister: function deregister(id) {\n if (id) {\n instances[id] = null;\n delete instances[id];\n }\n },\n\n nextZIndex: function nextZIndex() {\n return PopupManager.zIndex++;\n },\n\n modalStack: [],\n\n doOnModalClick: function doOnModalClick() {\n var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n if (!topItem) return;\n\n var instance = PopupManager.getInstance(topItem.id);\n if (instance && instance.closeOnClickModal) {\n instance.close();\n }\n },\n\n openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {\n if (_vue2.default.prototype.$isServer) return;\n if (!id || zIndex === undefined) return;\n this.modalFade = modalFade;\n\n var modalStack = this.modalStack;\n\n for (var i = 0, j = modalStack.length; i < j; i++) {\n var item = modalStack[i];\n if (item.id === id) {\n return;\n }\n }\n\n var modalDom = getModal();\n\n (0, _dom.addClass)(modalDom, 'v-modal');\n if (this.modalFade && !hasModal) {\n (0, _dom.addClass)(modalDom, 'v-modal-enter');\n }\n if (modalClass) {\n var classArr = modalClass.trim().split(/\\s+/);\n classArr.forEach(function (item) {\n return (0, _dom.addClass)(modalDom, item);\n });\n }\n setTimeout(function () {\n (0, _dom.removeClass)(modalDom, 'v-modal-enter');\n }, 200);\n\n if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {\n dom.parentNode.appendChild(modalDom);\n } else {\n document.body.appendChild(modalDom);\n }\n\n if (zIndex) {\n modalDom.style.zIndex = zIndex;\n }\n modalDom.tabIndex = 0;\n modalDom.style.display = '';\n\n this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });\n },\n\n closeModal: function closeModal(id) {\n var modalStack = this.modalStack;\n var modalDom = getModal();\n\n if (modalStack.length > 0) {\n var topItem = modalStack[modalStack.length - 1];\n if (topItem.id === id) {\n if (topItem.modalClass) {\n var classArr = topItem.modalClass.trim().split(/\\s+/);\n classArr.forEach(function (item) {\n return (0, _dom.removeClass)(modalDom, item);\n });\n }\n\n modalStack.pop();\n if (modalStack.length > 0) {\n modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;\n }\n } else {\n for (var i = modalStack.length - 1; i >= 0; i--) {\n if (modalStack[i].id === id) {\n modalStack.splice(i, 1);\n break;\n }\n }\n }\n }\n\n if (modalStack.length === 0) {\n if (this.modalFade) {\n (0, _dom.addClass)(modalDom, 'v-modal-leave');\n }\n setTimeout(function () {\n if (modalStack.length === 0) {\n if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);\n modalDom.style.display = 'none';\n PopupManager.modalDom = undefined;\n }\n (0, _dom.removeClass)(modalDom, 'v-modal-leave');\n }, 200);\n }\n }\n};\n\nObject.defineProperty(PopupManager, 'zIndex', {\n configurable: true,\n get: function get() {\n if (!hasInitZIndex) {\n zIndex = zIndex || (_vue2.default.prototype.$ELEMENT || {}).zIndex || 2000;\n hasInitZIndex = true;\n }\n return zIndex;\n },\n set: function set(value) {\n zIndex = value;\n }\n});\n\nvar getTopPopup = function getTopPopup() {\n if (_vue2.default.prototype.$isServer) return;\n if (PopupManager.modalStack.length > 0) {\n var topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n if (!topPopup) return;\n var instance = PopupManager.getInstance(topPopup.id);\n\n return instance;\n }\n};\n\nif (!_vue2.default.prototype.$isServer) {\n // handle `esc` key when the popup is shown\n window.addEventListener('keydown', function (event) {\n if (event.keyCode === 27) {\n var topPopup = getTopPopup();\n\n if (topPopup && topPopup.closeOnPressEscape) {\n topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();\n }\n }\n });\n}\n\nexports.default = PopupManager;","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 59);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 1 */,\n/* 2 */,\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/vue-popper\");\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/locale\");\n\n/***/ }),\n/* 7 */,\n/* 8 */,\n/* 9 */,\n/* 10 */,\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/input\");\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/clickoutside\");\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/scrollbar\");\n\n/***/ }),\n/* 14 */,\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/resize-event\");\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"throttle-debounce/debounce\");\n\n/***/ }),\n/* 17 */,\n/* 18 */,\n/* 19 */,\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/locale\");\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/focus\");\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/shared\");\n\n/***/ }),\n/* 23 */,\n/* 24 */,\n/* 25 */,\n/* 26 */,\n/* 27 */,\n/* 28 */,\n/* 29 */,\n/* 30 */,\n/* 31 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/scroll-into-view\");\n\n/***/ }),\n/* 32 */,\n/* 33 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=7a44c642&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible,\n expression: \"visible\"\n }\n ],\n staticClass: \"el-select-dropdown__item\",\n class: {\n selected: _vm.itemSelected,\n \"is-disabled\": _vm.disabled || _vm.groupDisabled || _vm.limitReached,\n hover: _vm.hover\n },\n on: {\n mouseenter: _vm.hoverItem,\n click: function($event) {\n $event.stopPropagation()\n return _vm.selectOptionClick($event)\n }\n }\n },\n [_vm._t(\"default\", [_c(\"span\", [_vm._v(_vm._s(_vm.currentLabel))])])],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js&\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ var optionvue_type_script_lang_js_ = ({\n mixins: [emitter_default.a],\n\n name: 'ElOption',\n\n componentName: 'ElOption',\n\n inject: ['select'],\n\n props: {\n value: {\n required: true\n },\n label: [String, Number],\n created: Boolean,\n disabled: {\n type: Boolean,\n default: false\n }\n },\n\n data: function data() {\n return {\n index: -1,\n groupDisabled: false,\n visible: true,\n hitState: false,\n hover: false\n };\n },\n\n\n computed: {\n isObject: function isObject() {\n return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]';\n },\n currentLabel: function currentLabel() {\n return this.label || (this.isObject ? '' : this.value);\n },\n currentValue: function currentValue() {\n return this.value || this.label || '';\n },\n itemSelected: function itemSelected() {\n if (!this.select.multiple) {\n return this.isEqual(this.value, this.select.value);\n } else {\n return this.contains(this.select.value, this.value);\n }\n },\n limitReached: function limitReached() {\n if (this.select.multiple) {\n return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0;\n } else {\n return false;\n }\n }\n },\n\n watch: {\n currentLabel: function currentLabel() {\n if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected');\n },\n value: function value(val, oldVal) {\n var _select = this.select,\n remote = _select.remote,\n valueKey = _select.valueKey;\n\n if (!this.created && !remote) {\n if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) {\n return;\n }\n this.dispatch('ElSelect', 'setSelected');\n }\n }\n },\n\n methods: {\n isEqual: function isEqual(a, b) {\n if (!this.isObject) {\n return a === b;\n } else {\n var valueKey = this.select.valueKey;\n return Object(util_[\"getValueByPath\"])(a, valueKey) === Object(util_[\"getValueByPath\"])(b, valueKey);\n }\n },\n contains: function contains() {\n var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var target = arguments[1];\n\n if (!this.isObject) {\n return arr && arr.indexOf(target) > -1;\n } else {\n var valueKey = this.select.valueKey;\n return arr && arr.some(function (item) {\n return Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(target, valueKey);\n });\n }\n },\n handleGroupDisabled: function handleGroupDisabled(val) {\n this.groupDisabled = val;\n },\n hoverItem: function hoverItem() {\n if (!this.disabled && !this.groupDisabled) {\n this.select.hoverIndex = this.select.options.indexOf(this);\n }\n },\n selectOptionClick: function selectOptionClick() {\n if (this.disabled !== true && this.groupDisabled !== true) {\n this.dispatch('ElSelect', 'handleOptionClick', [this, true]);\n }\n },\n queryChange: function queryChange(query) {\n this.visible = new RegExp(Object(util_[\"escapeRegexpString\"])(query), 'i').test(this.currentLabel) || this.created;\n if (!this.visible) {\n this.select.filteredOptionsCount--;\n }\n }\n },\n\n created: function created() {\n this.select.options.push(this);\n this.select.cachedOptions.push(this);\n this.select.optionsCount++;\n this.select.filteredOptionsCount++;\n\n this.$on('queryChange', this.queryChange);\n this.$on('handleGroupDisabled', this.handleGroupDisabled);\n },\n beforeDestroy: function beforeDestroy() {\n var index = this.select.cachedOptions.indexOf(this);\n if (index > -1) {\n this.select.cachedOptions.splice(index, 1);\n }\n this.select.onOptionDestroy(this.select.options.indexOf(this));\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/select/src/option.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_optionvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/select/src/option.vue\"\n/* harmony default export */ var src_option = __webpack_exports__[\"a\"] = (component.exports);\n\n/***/ }),\n/* 34 */,\n/* 35 */,\n/* 36 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/tag\");\n\n/***/ }),\n/* 37 */,\n/* 38 */,\n/* 39 */,\n/* 40 */,\n/* 41 */,\n/* 42 */,\n/* 43 */,\n/* 44 */,\n/* 45 */,\n/* 46 */,\n/* 47 */,\n/* 48 */,\n/* 49 */,\n/* 50 */,\n/* 51 */,\n/* 52 */,\n/* 53 */,\n/* 54 */,\n/* 55 */,\n/* 56 */,\n/* 57 */,\n/* 58 */,\n/* 59 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=template&id=0e4aade6&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"clickoutside\",\n rawName: \"v-clickoutside\",\n value: _vm.handleClose,\n expression: \"handleClose\"\n }\n ],\n staticClass: \"el-select\",\n class: [_vm.selectSize ? \"el-select--\" + _vm.selectSize : \"\"],\n on: {\n click: function($event) {\n $event.stopPropagation()\n return _vm.toggleMenu($event)\n }\n }\n },\n [\n _vm.multiple\n ? _c(\n \"div\",\n {\n ref: \"tags\",\n staticClass: \"el-select__tags\",\n style: { \"max-width\": _vm.inputWidth - 32 + \"px\", width: \"100%\" }\n },\n [\n _vm.collapseTags && _vm.selected.length\n ? _c(\n \"span\",\n [\n _c(\n \"el-tag\",\n {\n attrs: {\n closable: !_vm.selectDisabled,\n size: _vm.collapseTagSize,\n hit: _vm.selected[0].hitState,\n type: \"info\",\n \"disable-transitions\": \"\"\n },\n on: {\n close: function($event) {\n _vm.deleteTag($event, _vm.selected[0])\n }\n }\n },\n [\n _c(\"span\", { staticClass: \"el-select__tags-text\" }, [\n _vm._v(_vm._s(_vm.selected[0].currentLabel))\n ])\n ]\n ),\n _vm.selected.length > 1\n ? _c(\n \"el-tag\",\n {\n attrs: {\n closable: false,\n size: _vm.collapseTagSize,\n type: \"info\",\n \"disable-transitions\": \"\"\n }\n },\n [\n _c(\n \"span\",\n { staticClass: \"el-select__tags-text\" },\n [_vm._v(\"+ \" + _vm._s(_vm.selected.length - 1))]\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n !_vm.collapseTags\n ? _c(\n \"transition-group\",\n { on: { \"after-leave\": _vm.resetInputHeight } },\n _vm._l(_vm.selected, function(item) {\n return _c(\n \"el-tag\",\n {\n key: _vm.getValueKey(item),\n attrs: {\n closable: !_vm.selectDisabled,\n size: _vm.collapseTagSize,\n hit: item.hitState,\n type: \"info\",\n \"disable-transitions\": \"\"\n },\n on: {\n close: function($event) {\n _vm.deleteTag($event, item)\n }\n }\n },\n [\n _c(\"span\", { staticClass: \"el-select__tags-text\" }, [\n _vm._v(_vm._s(item.currentLabel))\n ])\n ]\n )\n }),\n 1\n )\n : _vm._e(),\n _vm.filterable\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.query,\n expression: \"query\"\n }\n ],\n ref: \"input\",\n staticClass: \"el-select__input\",\n class: [_vm.selectSize ? \"is-\" + _vm.selectSize : \"\"],\n style: {\n \"flex-grow\": \"1\",\n width: _vm.inputLength / (_vm.inputWidth - 32) + \"%\",\n \"max-width\": _vm.inputWidth - 42 + \"px\"\n },\n attrs: {\n type: \"text\",\n disabled: _vm.selectDisabled,\n autocomplete: _vm.autoComplete || _vm.autocomplete\n },\n domProps: { value: _vm.query },\n on: {\n focus: _vm.handleFocus,\n blur: function($event) {\n _vm.softFocus = false\n },\n click: function($event) {\n $event.stopPropagation()\n },\n keyup: _vm.managePlaceholder,\n keydown: [\n _vm.resetInputState,\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n $event.preventDefault()\n _vm.navigateOptions(\"next\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\"\n ])\n ) {\n return null\n }\n $event.preventDefault()\n _vm.navigateOptions(\"prev\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k(\n $event.keyCode,\n \"enter\",\n 13,\n $event.key,\n \"Enter\"\n )\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.selectOption($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\n \"Esc\",\n \"Escape\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.visible = false\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k(\n $event.keyCode,\n \"delete\",\n [8, 46],\n $event.key,\n [\"Backspace\", \"Delete\", \"Del\"]\n )\n ) {\n return null\n }\n return _vm.deletePrevTag($event)\n }\n ],\n compositionstart: _vm.handleComposition,\n compositionupdate: _vm.handleComposition,\n compositionend: _vm.handleComposition,\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.query = $event.target.value\n },\n _vm.debouncedQueryChange\n ]\n }\n })\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"el-input\",\n {\n ref: \"reference\",\n class: { \"is-focus\": _vm.visible },\n attrs: {\n type: \"text\",\n placeholder: _vm.currentPlaceholder,\n name: _vm.name,\n id: _vm.id,\n autocomplete: _vm.autoComplete || _vm.autocomplete,\n size: _vm.selectSize,\n disabled: _vm.selectDisabled,\n readonly: _vm.readonly,\n \"validate-event\": false\n },\n on: { focus: _vm.handleFocus, blur: _vm.handleBlur },\n nativeOn: {\n keyup: function($event) {\n return _vm.debouncedOnInputChange($event)\n },\n keydown: [\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.navigateOptions(\"next\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.navigateOptions(\"prev\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.selectOption($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\n \"Esc\",\n \"Escape\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.visible = false\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n _vm.visible = false\n }\n ],\n paste: function($event) {\n return _vm.debouncedOnInputChange($event)\n },\n mouseenter: function($event) {\n _vm.inputHovering = true\n },\n mouseleave: function($event) {\n _vm.inputHovering = false\n }\n },\n model: {\n value: _vm.selectedLabel,\n callback: function($$v) {\n _vm.selectedLabel = $$v\n },\n expression: \"selectedLabel\"\n }\n },\n [\n _vm.$slots.prefix\n ? _c(\"template\", { slot: \"prefix\" }, [_vm._t(\"prefix\")], 2)\n : _vm._e(),\n _c(\"template\", { slot: \"suffix\" }, [\n _c(\"i\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.showClose,\n expression: \"!showClose\"\n }\n ],\n class: [\n \"el-select__caret\",\n \"el-input__icon\",\n \"el-icon-\" + _vm.iconClass\n ]\n }),\n _vm.showClose\n ? _c(\"i\", {\n staticClass:\n \"el-select__caret el-input__icon el-icon-circle-close\",\n on: { click: _vm.handleClearClick }\n })\n : _vm._e()\n ])\n ],\n 2\n ),\n _c(\n \"transition\",\n {\n attrs: { name: \"el-zoom-in-top\" },\n on: {\n \"before-enter\": _vm.handleMenuEnter,\n \"after-leave\": _vm.doDestroy\n }\n },\n [\n _c(\n \"el-select-menu\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible && _vm.emptyText !== false,\n expression: \"visible && emptyText !== false\"\n }\n ],\n ref: \"popper\",\n attrs: { \"append-to-body\": _vm.popperAppendToBody }\n },\n [\n _c(\n \"el-scrollbar\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.options.length > 0 && !_vm.loading,\n expression: \"options.length > 0 && !loading\"\n }\n ],\n ref: \"scrollbar\",\n class: {\n \"is-empty\":\n !_vm.allowCreate &&\n _vm.query &&\n _vm.filteredOptionsCount === 0\n },\n attrs: {\n tag: \"ul\",\n \"wrap-class\": \"el-select-dropdown__wrap\",\n \"view-class\": \"el-select-dropdown__list\"\n }\n },\n [\n _vm.showNewOption\n ? _c(\"el-option\", {\n attrs: { value: _vm.query, created: \"\" }\n })\n : _vm._e(),\n _vm._t(\"default\")\n ],\n 2\n ),\n _vm.emptyText &&\n (!_vm.allowCreate ||\n _vm.loading ||\n (_vm.allowCreate && _vm.options.length === 0))\n ? [\n _vm.$slots.empty\n ? _vm._t(\"empty\")\n : _c(\"p\", { staticClass: \"el-select-dropdown__empty\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.emptyText) +\n \"\\n \"\n )\n ])\n ]\n : _vm._e()\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=template&id=0e4aade6&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/focus\"\nvar focus_ = __webpack_require__(21);\nvar focus_default = /*#__PURE__*/__webpack_require__.n(focus_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_ = __webpack_require__(6);\nvar locale_default = /*#__PURE__*/__webpack_require__.n(locale_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/input\"\nvar input_ = __webpack_require__(11);\nvar input_default = /*#__PURE__*/__webpack_require__.n(input_);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748&\nvar select_dropdownvue_type_template_id_06828748_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-select-dropdown el-popper\",\n class: [{ \"is-multiple\": _vm.$parent.multiple }, _vm.popperClass],\n style: { minWidth: _vm.minWidth }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar select_dropdownvue_type_template_id_06828748_staticRenderFns = []\nselect_dropdownvue_type_template_id_06828748_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748&\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var select_dropdownvue_type_script_lang_js_ = ({\n name: 'ElSelectDropdown',\n\n componentName: 'ElSelectDropdown',\n\n mixins: [vue_popper_default.a],\n\n props: {\n placement: {\n default: 'bottom-start'\n },\n\n boundariesPadding: {\n default: 0\n },\n\n popperOptions: {\n default: function _default() {\n return {\n gpuAcceleration: false\n };\n }\n },\n\n visibleArrow: {\n default: true\n },\n\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n\n data: function data() {\n return {\n minWidth: ''\n };\n },\n\n\n computed: {\n popperClass: function popperClass() {\n return this.$parent.popperClass;\n }\n },\n\n watch: {\n '$parent.inputWidth': function $parentInputWidth() {\n this.minWidth = this.$parent.$el.getBoundingClientRect().width + 'px';\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n this.referenceElm = this.$parent.$refs.reference.$el;\n this.$parent.popperElm = this.popperElm = this.$el;\n this.$on('updatePopper', function () {\n if (_this.$parent.visible) _this.updatePopper();\n });\n this.$on('destroyPopper', this.destroyPopper);\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_select_dropdownvue_type_script_lang_js_ = (select_dropdownvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_select_dropdownvue_type_script_lang_js_,\n select_dropdownvue_type_template_id_06828748_render,\n select_dropdownvue_type_template_id_06828748_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/select/src/select-dropdown.vue\"\n/* harmony default export */ var select_dropdown = (component.exports);\n// EXTERNAL MODULE: ./packages/select/src/option.vue + 4 modules\nvar src_option = __webpack_require__(33);\n\n// EXTERNAL MODULE: external \"element-ui/lib/tag\"\nvar tag_ = __webpack_require__(36);\nvar tag_default = /*#__PURE__*/__webpack_require__.n(tag_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/scrollbar\"\nvar scrollbar_ = __webpack_require__(13);\nvar scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);\n\n// EXTERNAL MODULE: external \"throttle-debounce/debounce\"\nvar debounce_ = __webpack_require__(16);\nvar debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/clickoutside\"\nvar clickoutside_ = __webpack_require__(12);\nvar clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/resize-event\"\nvar resize_event_ = __webpack_require__(15);\n\n// EXTERNAL MODULE: external \"element-ui/lib/locale\"\nvar lib_locale_ = __webpack_require__(20);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/scroll-into-view\"\nvar scroll_into_view_ = __webpack_require__(31);\nvar scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./packages/select/src/navigation-mixin.js\n/* harmony default export */ var navigation_mixin = ({\n data: function data() {\n return {\n hoverOption: -1\n };\n },\n\n\n computed: {\n optionsAllDisabled: function optionsAllDisabled() {\n return this.options.filter(function (option) {\n return option.visible;\n }).every(function (option) {\n return option.disabled;\n });\n }\n },\n\n watch: {\n hoverIndex: function hoverIndex(val) {\n var _this = this;\n\n if (typeof val === 'number' && val > -1) {\n this.hoverOption = this.options[val] || {};\n }\n this.options.forEach(function (option) {\n option.hover = _this.hoverOption === option;\n });\n }\n },\n\n methods: {\n navigateOptions: function navigateOptions(direction) {\n var _this2 = this;\n\n if (!this.visible) {\n this.visible = true;\n return;\n }\n if (this.options.length === 0 || this.filteredOptionsCount === 0) return;\n if (!this.optionsAllDisabled) {\n if (direction === 'next') {\n this.hoverIndex++;\n if (this.hoverIndex === this.options.length) {\n this.hoverIndex = 0;\n }\n } else if (direction === 'prev') {\n this.hoverIndex--;\n if (this.hoverIndex < 0) {\n this.hoverIndex = this.options.length - 1;\n }\n }\n var option = this.options[this.hoverIndex];\n if (option.disabled === true || option.groupDisabled === true || !option.visible) {\n this.navigateOptions(direction);\n }\n this.$nextTick(function () {\n return _this2.scrollToOption(_this2.hoverOption);\n });\n }\n }\n }\n});\n// EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\nvar shared_ = __webpack_require__(22);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var selectvue_type_script_lang_js_ = ({\n mixins: [emitter_default.a, locale_default.a, focus_default()('reference'), navigation_mixin],\n\n name: 'ElSelect',\n\n componentName: 'ElSelect',\n\n inject: {\n elForm: {\n default: ''\n },\n\n elFormItem: {\n default: ''\n }\n },\n\n provide: function provide() {\n return {\n 'select': this\n };\n },\n\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n readonly: function readonly() {\n return !this.filterable || this.multiple || !Object(util_[\"isIE\"])() && !Object(util_[\"isEdge\"])() && !this.visible;\n },\n showClose: function showClose() {\n var hasValue = this.multiple ? Array.isArray(this.value) && this.value.length > 0 : this.value !== undefined && this.value !== null && this.value !== '';\n var criteria = this.clearable && !this.selectDisabled && this.inputHovering && hasValue;\n return criteria;\n },\n iconClass: function iconClass() {\n return this.remote && this.filterable ? '' : this.visible ? 'arrow-up is-reverse' : 'arrow-up';\n },\n debounce: function debounce() {\n return this.remote ? 300 : 0;\n },\n emptyText: function emptyText() {\n if (this.loading) {\n return this.loadingText || this.t('el.select.loading');\n } else {\n if (this.remote && this.query === '' && this.options.length === 0) return false;\n if (this.filterable && this.query && this.options.length > 0 && this.filteredOptionsCount === 0) {\n return this.noMatchText || this.t('el.select.noMatch');\n }\n if (this.options.length === 0) {\n return this.noDataText || this.t('el.select.noData');\n }\n }\n return null;\n },\n showNewOption: function showNewOption() {\n var _this = this;\n\n var hasExistingOption = this.options.filter(function (option) {\n return !option.created;\n }).some(function (option) {\n return option.currentLabel === _this.query;\n });\n return this.filterable && this.allowCreate && this.query !== '' && !hasExistingOption;\n },\n selectSize: function selectSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n selectDisabled: function selectDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n },\n collapseTagSize: function collapseTagSize() {\n return ['small', 'mini'].indexOf(this.selectSize) > -1 ? 'mini' : 'small';\n }\n },\n\n components: {\n ElInput: input_default.a,\n ElSelectMenu: select_dropdown,\n ElOption: src_option[\"a\" /* default */],\n ElTag: tag_default.a,\n ElScrollbar: scrollbar_default.a\n },\n\n directives: { Clickoutside: clickoutside_default.a },\n\n props: {\n name: String,\n id: String,\n value: {\n required: true\n },\n autocomplete: {\n type: String,\n default: 'off'\n },\n /** @Deprecated in next major version */\n autoComplete: {\n type: String,\n validator: function validator(val) {\n false && false;\n return true;\n }\n },\n automaticDropdown: Boolean,\n size: String,\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n allowCreate: Boolean,\n loading: Boolean,\n popperClass: String,\n remote: Boolean,\n loadingText: String,\n noMatchText: String,\n noDataText: String,\n remoteMethod: Function,\n filterMethod: Function,\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0\n },\n placeholder: {\n type: String,\n default: function _default() {\n return Object(lib_locale_[\"t\"])('el.select.placeholder');\n }\n },\n defaultFirstOption: Boolean,\n reserveKeyword: Boolean,\n valueKey: {\n type: String,\n default: 'value'\n },\n collapseTags: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: true\n }\n },\n\n data: function data() {\n return {\n options: [],\n cachedOptions: [],\n createdLabel: null,\n createdSelected: false,\n selected: this.multiple ? [] : {},\n inputLength: 20,\n inputWidth: 0,\n initialInputHeight: 0,\n cachedPlaceHolder: '',\n optionsCount: 0,\n filteredOptionsCount: 0,\n visible: false,\n softFocus: false,\n selectedLabel: '',\n hoverIndex: -1,\n query: '',\n previousQuery: null,\n inputHovering: false,\n currentPlaceholder: '',\n menuVisibleOnFocus: false,\n isOnComposition: false,\n isSilentBlur: false\n };\n },\n\n\n watch: {\n selectDisabled: function selectDisabled() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.resetInputHeight();\n });\n },\n placeholder: function placeholder(val) {\n this.cachedPlaceHolder = this.currentPlaceholder = val;\n },\n value: function value(val, oldVal) {\n if (this.multiple) {\n this.resetInputHeight();\n if (val && val.length > 0 || this.$refs.input && this.query !== '') {\n this.currentPlaceholder = '';\n } else {\n this.currentPlaceholder = this.cachedPlaceHolder;\n }\n if (this.filterable && !this.reserveKeyword) {\n this.query = '';\n this.handleQueryChange(this.query);\n }\n }\n this.setSelected();\n if (this.filterable && !this.multiple) {\n this.inputLength = 20;\n }\n if (!Object(util_[\"valueEquals\"])(val, oldVal)) {\n this.dispatch('ElFormItem', 'el.form.change', val);\n }\n },\n visible: function visible(val) {\n var _this3 = this;\n\n if (!val) {\n this.broadcast('ElSelectDropdown', 'destroyPopper');\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n this.query = '';\n this.previousQuery = null;\n this.selectedLabel = '';\n this.inputLength = 20;\n this.menuVisibleOnFocus = false;\n this.resetHoverIndex();\n this.$nextTick(function () {\n if (_this3.$refs.input && _this3.$refs.input.value === '' && _this3.selected.length === 0) {\n _this3.currentPlaceholder = _this3.cachedPlaceHolder;\n }\n });\n if (!this.multiple) {\n if (this.selected) {\n if (this.filterable && this.allowCreate && this.createdSelected && this.createdLabel) {\n this.selectedLabel = this.createdLabel;\n } else {\n this.selectedLabel = this.selected.currentLabel;\n }\n if (this.filterable) this.query = this.selectedLabel;\n }\n\n if (this.filterable) {\n this.currentPlaceholder = this.cachedPlaceHolder;\n }\n }\n } else {\n this.broadcast('ElSelectDropdown', 'updatePopper');\n if (this.filterable) {\n this.query = this.remote ? '' : this.selectedLabel;\n this.handleQueryChange(this.query);\n if (this.multiple) {\n this.$refs.input.focus();\n } else {\n if (!this.remote) {\n this.broadcast('ElOption', 'queryChange', '');\n this.broadcast('ElOptionGroup', 'queryChange');\n }\n\n if (this.selectedLabel) {\n this.currentPlaceholder = this.selectedLabel;\n this.selectedLabel = '';\n }\n }\n }\n }\n this.$emit('visible-change', val);\n },\n options: function options() {\n var _this4 = this;\n\n if (this.$isServer) return;\n this.$nextTick(function () {\n _this4.broadcast('ElSelectDropdown', 'updatePopper');\n });\n if (this.multiple) {\n this.resetInputHeight();\n }\n var inputs = this.$el.querySelectorAll('input');\n if ([].indexOf.call(inputs, document.activeElement) === -1) {\n this.setSelected();\n }\n if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {\n this.checkDefaultFirstOption();\n }\n }\n },\n\n methods: {\n handleComposition: function handleComposition(event) {\n var _this5 = this;\n\n var text = event.target.value;\n if (event.type === 'compositionend') {\n this.isOnComposition = false;\n this.$nextTick(function (_) {\n return _this5.handleQueryChange(text);\n });\n } else {\n var lastCharacter = text[text.length - 1] || '';\n this.isOnComposition = !Object(shared_[\"isKorean\"])(lastCharacter);\n }\n },\n handleQueryChange: function handleQueryChange(val) {\n var _this6 = this;\n\n if (this.previousQuery === val || this.isOnComposition) return;\n if (this.previousQuery === null && (typeof this.filterMethod === 'function' || typeof this.remoteMethod === 'function')) {\n this.previousQuery = val;\n return;\n }\n this.previousQuery = val;\n this.$nextTick(function () {\n if (_this6.visible) _this6.broadcast('ElSelectDropdown', 'updatePopper');\n });\n this.hoverIndex = -1;\n if (this.multiple && this.filterable) {\n this.$nextTick(function () {\n var length = _this6.$refs.input.value.length * 15 + 20;\n _this6.inputLength = _this6.collapseTags ? Math.min(50, length) : length;\n _this6.managePlaceholder();\n _this6.resetInputHeight();\n });\n }\n if (this.remote && typeof this.remoteMethod === 'function') {\n this.hoverIndex = -1;\n this.remoteMethod(val);\n } else if (typeof this.filterMethod === 'function') {\n this.filterMethod(val);\n this.broadcast('ElOptionGroup', 'queryChange');\n } else {\n this.filteredOptionsCount = this.optionsCount;\n this.broadcast('ElOption', 'queryChange', val);\n this.broadcast('ElOptionGroup', 'queryChange');\n }\n if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {\n this.checkDefaultFirstOption();\n }\n },\n scrollToOption: function scrollToOption(option) {\n var target = Array.isArray(option) && option[0] ? option[0].$el : option.$el;\n if (this.$refs.popper && target) {\n var menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap');\n scroll_into_view_default()(menu, target);\n }\n this.$refs.scrollbar && this.$refs.scrollbar.handleScroll();\n },\n handleMenuEnter: function handleMenuEnter() {\n var _this7 = this;\n\n this.$nextTick(function () {\n return _this7.scrollToOption(_this7.selected);\n });\n },\n emitChange: function emitChange(val) {\n if (!Object(util_[\"valueEquals\"])(this.value, val)) {\n this.$emit('change', val);\n }\n },\n getOption: function getOption(value) {\n var option = void 0;\n var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';\n var isNull = Object.prototype.toString.call(value).toLowerCase() === '[object null]';\n var isUndefined = Object.prototype.toString.call(value).toLowerCase() === '[object undefined]';\n\n for (var i = this.cachedOptions.length - 1; i >= 0; i--) {\n var cachedOption = this.cachedOptions[i];\n var isEqual = isObject ? Object(util_[\"getValueByPath\"])(cachedOption.value, this.valueKey) === Object(util_[\"getValueByPath\"])(value, this.valueKey) : cachedOption.value === value;\n if (isEqual) {\n option = cachedOption;\n break;\n }\n }\n if (option) return option;\n var label = !isObject && !isNull && !isUndefined ? value : '';\n var newOption = {\n value: value,\n currentLabel: label\n };\n if (this.multiple) {\n newOption.hitState = false;\n }\n return newOption;\n },\n setSelected: function setSelected() {\n var _this8 = this;\n\n if (!this.multiple) {\n var option = this.getOption(this.value);\n if (option.created) {\n this.createdLabel = option.currentLabel;\n this.createdSelected = true;\n } else {\n this.createdSelected = false;\n }\n this.selectedLabel = option.currentLabel;\n this.selected = option;\n if (this.filterable) this.query = this.selectedLabel;\n return;\n }\n var result = [];\n if (Array.isArray(this.value)) {\n this.value.forEach(function (value) {\n result.push(_this8.getOption(value));\n });\n }\n this.selected = result;\n this.$nextTick(function () {\n _this8.resetInputHeight();\n });\n },\n handleFocus: function handleFocus(event) {\n if (!this.softFocus) {\n if (this.automaticDropdown || this.filterable) {\n this.visible = true;\n this.menuVisibleOnFocus = true;\n }\n this.$emit('focus', event);\n } else {\n this.softFocus = false;\n }\n },\n blur: function blur() {\n this.visible = false;\n this.$refs.reference.blur();\n },\n handleBlur: function handleBlur(event) {\n var _this9 = this;\n\n setTimeout(function () {\n if (_this9.isSilentBlur) {\n _this9.isSilentBlur = false;\n } else {\n _this9.$emit('blur', event);\n }\n }, 50);\n this.softFocus = false;\n },\n handleClearClick: function handleClearClick(event) {\n this.deleteSelected(event);\n },\n doDestroy: function doDestroy() {\n this.$refs.popper && this.$refs.popper.doDestroy();\n },\n handleClose: function handleClose() {\n this.visible = false;\n },\n toggleLastOptionHitState: function toggleLastOptionHitState(hit) {\n if (!Array.isArray(this.selected)) return;\n var option = this.selected[this.selected.length - 1];\n if (!option) return;\n\n if (hit === true || hit === false) {\n option.hitState = hit;\n return hit;\n }\n\n option.hitState = !option.hitState;\n return option.hitState;\n },\n deletePrevTag: function deletePrevTag(e) {\n if (e.target.value.length <= 0 && !this.toggleLastOptionHitState()) {\n var value = this.value.slice();\n value.pop();\n this.$emit('input', value);\n this.emitChange(value);\n }\n },\n managePlaceholder: function managePlaceholder() {\n if (this.currentPlaceholder !== '') {\n this.currentPlaceholder = this.$refs.input.value ? '' : this.cachedPlaceHolder;\n }\n },\n resetInputState: function resetInputState(e) {\n if (e.keyCode !== 8) this.toggleLastOptionHitState(false);\n this.inputLength = this.$refs.input.value.length * 15 + 20;\n this.resetInputHeight();\n },\n resetInputHeight: function resetInputHeight() {\n var _this10 = this;\n\n if (this.collapseTags && !this.filterable) return;\n this.$nextTick(function () {\n if (!_this10.$refs.reference) return;\n var inputChildNodes = _this10.$refs.reference.$el.childNodes;\n var input = [].filter.call(inputChildNodes, function (item) {\n return item.tagName === 'INPUT';\n })[0];\n var tags = _this10.$refs.tags;\n var sizeInMap = _this10.initialInputHeight || 40;\n input.style.height = _this10.selected.length === 0 ? sizeInMap + 'px' : Math.max(tags ? tags.clientHeight + (tags.clientHeight > sizeInMap ? 6 : 0) : 0, sizeInMap) + 'px';\n if (_this10.visible && _this10.emptyText !== false) {\n _this10.broadcast('ElSelectDropdown', 'updatePopper');\n }\n });\n },\n resetHoverIndex: function resetHoverIndex() {\n var _this11 = this;\n\n setTimeout(function () {\n if (!_this11.multiple) {\n _this11.hoverIndex = _this11.options.indexOf(_this11.selected);\n } else {\n if (_this11.selected.length > 0) {\n _this11.hoverIndex = Math.min.apply(null, _this11.selected.map(function (item) {\n return _this11.options.indexOf(item);\n }));\n } else {\n _this11.hoverIndex = -1;\n }\n }\n }, 300);\n },\n handleOptionSelect: function handleOptionSelect(option, byClick) {\n var _this12 = this;\n\n if (this.multiple) {\n var value = (this.value || []).slice();\n var optionIndex = this.getValueIndex(value, option.value);\n if (optionIndex > -1) {\n value.splice(optionIndex, 1);\n } else if (this.multipleLimit <= 0 || value.length < this.multipleLimit) {\n value.push(option.value);\n }\n this.$emit('input', value);\n this.emitChange(value);\n if (option.created) {\n this.query = '';\n this.handleQueryChange('');\n this.inputLength = 20;\n }\n if (this.filterable) this.$refs.input.focus();\n } else {\n this.$emit('input', option.value);\n this.emitChange(option.value);\n this.visible = false;\n }\n this.isSilentBlur = byClick;\n this.setSoftFocus();\n if (this.visible) return;\n this.$nextTick(function () {\n _this12.scrollToOption(option);\n });\n },\n setSoftFocus: function setSoftFocus() {\n this.softFocus = true;\n var input = this.$refs.input || this.$refs.reference;\n if (input) {\n input.focus();\n }\n },\n getValueIndex: function getValueIndex() {\n var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var value = arguments[1];\n\n var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';\n if (!isObject) {\n return arr.indexOf(value);\n } else {\n var valueKey = this.valueKey;\n var index = -1;\n arr.some(function (item, i) {\n if (Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(value, valueKey)) {\n index = i;\n return true;\n }\n return false;\n });\n return index;\n }\n },\n toggleMenu: function toggleMenu() {\n if (!this.selectDisabled) {\n if (this.menuVisibleOnFocus) {\n this.menuVisibleOnFocus = false;\n } else {\n this.visible = !this.visible;\n }\n if (this.visible) {\n (this.$refs.input || this.$refs.reference).focus();\n }\n }\n },\n selectOption: function selectOption() {\n if (!this.visible) {\n this.toggleMenu();\n } else {\n if (this.options[this.hoverIndex]) {\n this.handleOptionSelect(this.options[this.hoverIndex]);\n }\n }\n },\n deleteSelected: function deleteSelected(event) {\n event.stopPropagation();\n var value = this.multiple ? [] : '';\n this.$emit('input', value);\n this.emitChange(value);\n this.visible = false;\n this.$emit('clear');\n },\n deleteTag: function deleteTag(event, tag) {\n var index = this.selected.indexOf(tag);\n if (index > -1 && !this.selectDisabled) {\n var value = this.value.slice();\n value.splice(index, 1);\n this.$emit('input', value);\n this.emitChange(value);\n this.$emit('remove-tag', tag.value);\n }\n event.stopPropagation();\n },\n onInputChange: function onInputChange() {\n if (this.filterable && this.query !== this.selectedLabel) {\n this.query = this.selectedLabel;\n this.handleQueryChange(this.query);\n }\n },\n onOptionDestroy: function onOptionDestroy(index) {\n if (index > -1) {\n this.optionsCount--;\n this.filteredOptionsCount--;\n this.options.splice(index, 1);\n }\n },\n resetInputWidth: function resetInputWidth() {\n this.inputWidth = this.$refs.reference.$el.getBoundingClientRect().width;\n },\n handleResize: function handleResize() {\n this.resetInputWidth();\n if (this.multiple) this.resetInputHeight();\n },\n checkDefaultFirstOption: function checkDefaultFirstOption() {\n this.hoverIndex = -1;\n // highlight the created option\n var hasCreated = false;\n for (var i = this.options.length - 1; i >= 0; i--) {\n if (this.options[i].created) {\n hasCreated = true;\n this.hoverIndex = i;\n break;\n }\n }\n if (hasCreated) return;\n for (var _i = 0; _i !== this.options.length; ++_i) {\n var option = this.options[_i];\n if (this.query) {\n // highlight first options that passes the filter\n if (!option.disabled && !option.groupDisabled && option.visible) {\n this.hoverIndex = _i;\n break;\n }\n } else {\n // highlight currently selected option\n if (option.itemSelected) {\n this.hoverIndex = _i;\n break;\n }\n }\n }\n },\n getValueKey: function getValueKey(item) {\n if (Object.prototype.toString.call(item.value).toLowerCase() !== '[object object]') {\n return item.value;\n } else {\n return Object(util_[\"getValueByPath\"])(item.value, this.valueKey);\n }\n }\n },\n\n created: function created() {\n var _this13 = this;\n\n this.cachedPlaceHolder = this.currentPlaceholder = this.placeholder;\n if (this.multiple && !Array.isArray(this.value)) {\n this.$emit('input', []);\n }\n if (!this.multiple && Array.isArray(this.value)) {\n this.$emit('input', '');\n }\n\n this.debouncedOnInputChange = debounce_default()(this.debounce, function () {\n _this13.onInputChange();\n });\n\n this.debouncedQueryChange = debounce_default()(this.debounce, function (e) {\n _this13.handleQueryChange(e.target.value);\n });\n\n this.$on('handleOptionClick', this.handleOptionSelect);\n this.$on('setSelected', this.setSelected);\n },\n mounted: function mounted() {\n var _this14 = this;\n\n if (this.multiple && Array.isArray(this.value) && this.value.length > 0) {\n this.currentPlaceholder = '';\n }\n Object(resize_event_[\"addResizeListener\"])(this.$el, this.handleResize);\n\n var reference = this.$refs.reference;\n if (reference && reference.$el) {\n var sizeMap = {\n medium: 36,\n small: 32,\n mini: 28\n };\n var input = reference.$el.querySelector('input');\n this.initialInputHeight = input.getBoundingClientRect().height || sizeMap[this.selectSize];\n }\n if (this.remote && this.multiple) {\n this.resetInputHeight();\n }\n this.$nextTick(function () {\n if (reference && reference.$el) {\n _this14.inputWidth = reference.$el.getBoundingClientRect().width;\n }\n });\n this.setSelected();\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$el && this.handleResize) Object(resize_event_[\"removeResizeListener\"])(this.$el, this.handleResize);\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_selectvue_type_script_lang_js_ = (selectvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/select/src/select.vue\n\n\n\n\n\n/* normalize component */\n\nvar select_component = Object(componentNormalizer[\"a\" /* default */])(\n src_selectvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var select_api; }\nselect_component.options.__file = \"packages/select/src/select.vue\"\n/* harmony default export */ var src_select = (select_component.exports);\n// CONCATENATED MODULE: ./packages/select/index.js\n\n\n/* istanbul ignore next */\nsrc_select.install = function (Vue) {\n Vue.component(src_select.name, src_select);\n};\n\n/* harmony default export */ var packages_select = __webpack_exports__[\"default\"] = (src_select);\n\n/***/ })\n/******/ ]);","'use strict';\n\nexports.__esModule = true;\nexports.PopupManager = undefined;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _merge = require('element-ui/lib/utils/merge');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _popupManager = require('element-ui/lib/utils/popup/popup-manager');\n\nvar _popupManager2 = _interopRequireDefault(_popupManager);\n\nvar _scrollbarWidth = require('../scrollbar-width');\n\nvar _scrollbarWidth2 = _interopRequireDefault(_scrollbarWidth);\n\nvar _dom = require('../dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar idSeed = 1;\n\nvar scrollBarWidth = void 0;\n\nexports.default = {\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n openDelay: {},\n closeDelay: {},\n zIndex: {},\n modal: {\n type: Boolean,\n default: false\n },\n modalFade: {\n type: Boolean,\n default: true\n },\n modalClass: {},\n modalAppendToBody: {\n type: Boolean,\n default: false\n },\n lockScroll: {\n type: Boolean,\n default: true\n },\n closeOnPressEscape: {\n type: Boolean,\n default: false\n },\n closeOnClickModal: {\n type: Boolean,\n default: false\n }\n },\n\n beforeMount: function beforeMount() {\n this._popupId = 'popup-' + idSeed++;\n _popupManager2.default.register(this._popupId, this);\n },\n beforeDestroy: function beforeDestroy() {\n _popupManager2.default.deregister(this._popupId);\n _popupManager2.default.closeModal(this._popupId);\n\n this.restoreBodyStyle();\n },\n data: function data() {\n return {\n opened: false,\n bodyPaddingRight: null,\n computedBodyPaddingRight: 0,\n withoutHiddenClass: true,\n rendered: false\n };\n },\n\n\n watch: {\n visible: function visible(val) {\n var _this = this;\n\n if (val) {\n if (this._opening) return;\n if (!this.rendered) {\n this.rendered = true;\n _vue2.default.nextTick(function () {\n _this.open();\n });\n } else {\n this.open();\n }\n } else {\n this.close();\n }\n }\n },\n\n methods: {\n open: function open(options) {\n var _this2 = this;\n\n if (!this.rendered) {\n this.rendered = true;\n }\n\n var props = (0, _merge2.default)({}, this.$props || this, options);\n\n if (this._closeTimer) {\n clearTimeout(this._closeTimer);\n this._closeTimer = null;\n }\n clearTimeout(this._openTimer);\n\n var openDelay = Number(props.openDelay);\n if (openDelay > 0) {\n this._openTimer = setTimeout(function () {\n _this2._openTimer = null;\n _this2.doOpen(props);\n }, openDelay);\n } else {\n this.doOpen(props);\n }\n },\n doOpen: function doOpen(props) {\n if (this.$isServer) return;\n if (this.willOpen && !this.willOpen()) return;\n if (this.opened) return;\n\n this._opening = true;\n\n var dom = this.$el;\n\n var modal = props.modal;\n\n var zIndex = props.zIndex;\n if (zIndex) {\n _popupManager2.default.zIndex = zIndex;\n }\n\n if (modal) {\n if (this._closing) {\n _popupManager2.default.closeModal(this._popupId);\n this._closing = false;\n }\n _popupManager2.default.openModal(this._popupId, _popupManager2.default.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);\n if (props.lockScroll) {\n this.withoutHiddenClass = !(0, _dom.hasClass)(document.body, 'el-popup-parent--hidden');\n if (this.withoutHiddenClass) {\n this.bodyPaddingRight = document.body.style.paddingRight;\n this.computedBodyPaddingRight = parseInt((0, _dom.getStyle)(document.body, 'paddingRight'), 10);\n }\n scrollBarWidth = (0, _scrollbarWidth2.default)();\n var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;\n var bodyOverflowY = (0, _dom.getStyle)(document.body, 'overflowY');\n if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) {\n document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px';\n }\n (0, _dom.addClass)(document.body, 'el-popup-parent--hidden');\n }\n }\n\n if (getComputedStyle(dom).position === 'static') {\n dom.style.position = 'absolute';\n }\n\n dom.style.zIndex = _popupManager2.default.nextZIndex();\n this.opened = true;\n\n this.onOpen && this.onOpen();\n\n this.doAfterOpen();\n },\n doAfterOpen: function doAfterOpen() {\n this._opening = false;\n },\n close: function close() {\n var _this3 = this;\n\n if (this.willClose && !this.willClose()) return;\n\n if (this._openTimer !== null) {\n clearTimeout(this._openTimer);\n this._openTimer = null;\n }\n clearTimeout(this._closeTimer);\n\n var closeDelay = Number(this.closeDelay);\n\n if (closeDelay > 0) {\n this._closeTimer = setTimeout(function () {\n _this3._closeTimer = null;\n _this3.doClose();\n }, closeDelay);\n } else {\n this.doClose();\n }\n },\n doClose: function doClose() {\n this._closing = true;\n\n this.onClose && this.onClose();\n\n if (this.lockScroll) {\n setTimeout(this.restoreBodyStyle, 200);\n }\n\n this.opened = false;\n\n this.doAfterClose();\n },\n doAfterClose: function doAfterClose() {\n _popupManager2.default.closeModal(this._popupId);\n this._closing = false;\n },\n restoreBodyStyle: function restoreBodyStyle() {\n if (this.modal && this.withoutHiddenClass) {\n document.body.style.paddingRight = this.bodyPaddingRight;\n (0, _dom.removeClass)(document.body, 'el-popup-parent--hidden');\n }\n this.withoutHiddenClass = true;\n }\n }\n};\nexports.PopupManager = _popupManager2.default;","'use strict';\n\nexports.__esModule = true;\nexports.isInContainer = exports.getScrollContainer = exports.isScroll = exports.getStyle = exports.once = exports.off = exports.on = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /* istanbul ignore next */\n\nexports.hasClass = hasClass;\nexports.addClass = addClass;\nexports.removeClass = removeClass;\nexports.setStyle = setStyle;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = _vue2.default.prototype.$isServer;\nvar SPECIAL_CHARS_REGEXP = /([\\:\\-\\_]+(.))/g;\nvar MOZ_HACK_REGEXP = /^moz([A-Z])/;\nvar ieVersion = isServer ? 0 : Number(document.documentMode);\n\n/* istanbul ignore next */\nvar trim = function trim(string) {\n return (string || '').replace(/^[\\s\\uFEFF]+|[\\s\\uFEFF]+$/g, '');\n};\n/* istanbul ignore next */\nvar camelCase = function camelCase(name) {\n return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {\n return offset ? letter.toUpperCase() : letter;\n }).replace(MOZ_HACK_REGEXP, 'Moz$1');\n};\n\n/* istanbul ignore next */\nvar on = exports.on = function () {\n if (!isServer && document.addEventListener) {\n return function (element, event, handler) {\n if (element && event && handler) {\n element.addEventListener(event, handler, false);\n }\n };\n } else {\n return function (element, event, handler) {\n if (element && event && handler) {\n element.attachEvent('on' + event, handler);\n }\n };\n }\n}();\n\n/* istanbul ignore next */\nvar off = exports.off = function () {\n if (!isServer && document.removeEventListener) {\n return function (element, event, handler) {\n if (element && event) {\n element.removeEventListener(event, handler, false);\n }\n };\n } else {\n return function (element, event, handler) {\n if (element && event) {\n element.detachEvent('on' + event, handler);\n }\n };\n }\n}();\n\n/* istanbul ignore next */\nvar once = exports.once = function once(el, event, fn) {\n var listener = function listener() {\n if (fn) {\n fn.apply(this, arguments);\n }\n off(el, event, listener);\n };\n on(el, event, listener);\n};\n\n/* istanbul ignore next */\nfunction hasClass(el, cls) {\n if (!el || !cls) return false;\n if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');\n if (el.classList) {\n return el.classList.contains(cls);\n } else {\n return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;\n }\n};\n\n/* istanbul ignore next */\nfunction addClass(el, cls) {\n if (!el) return;\n var curClass = el.className;\n var classes = (cls || '').split(' ');\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n el.classList.add(clsName);\n } else if (!hasClass(el, clsName)) {\n curClass += ' ' + clsName;\n }\n }\n if (!el.classList) {\n el.className = curClass;\n }\n};\n\n/* istanbul ignore next */\nfunction removeClass(el, cls) {\n if (!el || !cls) return;\n var classes = cls.split(' ');\n var curClass = ' ' + el.className + ' ';\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n el.classList.remove(clsName);\n } else if (hasClass(el, clsName)) {\n curClass = curClass.replace(' ' + clsName + ' ', ' ');\n }\n }\n if (!el.classList) {\n el.className = trim(curClass);\n }\n};\n\n/* istanbul ignore next */\nvar getStyle = exports.getStyle = ieVersion < 9 ? function (element, styleName) {\n if (isServer) return;\n if (!element || !styleName) return null;\n styleName = camelCase(styleName);\n if (styleName === 'float') {\n styleName = 'styleFloat';\n }\n try {\n switch (styleName) {\n case 'opacity':\n try {\n return element.filters.item('alpha').opacity / 100;\n } catch (e) {\n return 1.0;\n }\n default:\n return element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null;\n }\n } catch (e) {\n return element.style[styleName];\n }\n} : function (element, styleName) {\n if (isServer) return;\n if (!element || !styleName) return null;\n styleName = camelCase(styleName);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n try {\n var computed = document.defaultView.getComputedStyle(element, '');\n return element.style[styleName] || computed ? computed[styleName] : null;\n } catch (e) {\n return element.style[styleName];\n }\n};\n\n/* istanbul ignore next */\nfunction setStyle(element, styleName, value) {\n if (!element || !styleName) return;\n\n if ((typeof styleName === 'undefined' ? 'undefined' : _typeof(styleName)) === 'object') {\n for (var prop in styleName) {\n if (styleName.hasOwnProperty(prop)) {\n setStyle(element, prop, styleName[prop]);\n }\n }\n } else {\n styleName = camelCase(styleName);\n if (styleName === 'opacity' && ieVersion < 9) {\n element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')';\n } else {\n element.style[styleName] = value;\n }\n }\n};\n\nvar isScroll = exports.isScroll = function isScroll(el, vertical) {\n if (isServer) return;\n\n var determinedDirection = vertical !== null || vertical !== undefined;\n var overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow');\n\n return overflow.match(/(scroll|auto)/);\n};\n\nvar getScrollContainer = exports.getScrollContainer = function getScrollContainer(el, vertical) {\n if (isServer) return;\n\n var parent = el;\n while (parent) {\n if ([window, document, document.documentElement].includes(parent)) {\n return window;\n }\n if (isScroll(parent, vertical)) {\n return parent;\n }\n parent = parent.parentNode;\n }\n\n return parent;\n};\n\nvar isInContainer = exports.isInContainer = function isInContainer(el, container) {\n if (isServer || !el || !container) return false;\n\n var elRect = el.getBoundingClientRect();\n var containerRect = void 0;\n\n if ([window, document, document.documentElement, null, undefined].includes(container)) {\n containerRect = {\n top: 0,\n right: window.innerWidth,\n bottom: window.innerHeight,\n left: 0\n };\n } else {\n containerRect = container.getBoundingClientRect();\n }\n\n return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right;\n};","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [noTrailing] Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n * the internal counter is reset)\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the throttled-function is executed.\n * @param {Boolean} [debounceMode] If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n * schedule `callback` to execute after `delay` ms.\n *\n * @return {Function} A new, throttled, function.\n */\nmodule.exports = function ( delay, noTrailing, callback, debounceMode ) {\n\n\t// After wrapper has stopped being called, this timeout ensures that\n\t// `callback` is executed at the proper times in `throttle` and `end`\n\t// debounce modes.\n\tvar timeoutID;\n\n\t// Keep track of the last time `callback` was executed.\n\tvar lastExec = 0;\n\n\t// `noTrailing` defaults to falsy.\n\tif ( typeof noTrailing !== 'boolean' ) {\n\t\tdebounceMode = callback;\n\t\tcallback = noTrailing;\n\t\tnoTrailing = undefined;\n\t}\n\n\t// The `wrapper` function encapsulates all of the throttling / debouncing\n\t// functionality and when executed will limit the rate at which `callback`\n\t// is executed.\n\tfunction wrapper () {\n\n\t\tvar self = this;\n\t\tvar elapsed = Number(new Date()) - lastExec;\n\t\tvar args = arguments;\n\n\t\t// Execute `callback` and update the `lastExec` timestamp.\n\t\tfunction exec () {\n\t\t\tlastExec = Number(new Date());\n\t\t\tcallback.apply(self, args);\n\t\t}\n\n\t\t// If `debounceMode` is true (at begin) this is used to clear the flag\n\t\t// to allow future `callback` executions.\n\t\tfunction clear () {\n\t\t\ttimeoutID = undefined;\n\t\t}\n\n\t\tif ( debounceMode && !timeoutID ) {\n\t\t\t// Since `wrapper` is being called for the first time and\n\t\t\t// `debounceMode` is true (at begin), execute `callback`.\n\t\t\texec();\n\t\t}\n\n\t\t// Clear any existing timeout.\n\t\tif ( timeoutID ) {\n\t\t\tclearTimeout(timeoutID);\n\t\t}\n\n\t\tif ( debounceMode === undefined && elapsed > delay ) {\n\t\t\t// In throttle mode, if `delay` time has been exceeded, execute\n\t\t\t// `callback`.\n\t\t\texec();\n\n\t\t} else if ( noTrailing !== true ) {\n\t\t\t// In trailing throttle mode, since `delay` time has not been\n\t\t\t// exceeded, schedule `callback` to execute `delay` ms after most\n\t\t\t// recent execution.\n\t\t\t//\n\t\t\t// If `debounceMode` is true (at begin), schedule `clear` to execute\n\t\t\t// after `delay` ms.\n\t\t\t//\n\t\t\t// If `debounceMode` is false (at end), schedule `callback` to\n\t\t\t// execute after `delay` ms.\n\t\t\ttimeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n\t\t}\n\n\t}\n\n\t// Return the wrapper function.\n\treturn wrapper;\n\n};\n","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version {{version}}\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n//\n// Cross module loader\n// Supported: Node, AMD, Browser globals\n//\n;(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.Popper = factory();\n }\n})(undefined, function () {\n\n 'use strict';\n\n var root = window;\n\n // default options\n var DEFAULTS = {\n // placement of the popper\n placement: 'bottom',\n\n gpuAcceleration: true,\n\n // shift popper from its origin by the given amount of pixels (can be negative)\n offset: 0,\n\n // the element which will act as boundary of the popper\n boundariesElement: 'viewport',\n\n // amount of pixel used to define a minimum distance between the boundaries and the popper\n boundariesPadding: 5,\n\n // popper will try to prevent overflow following this order,\n // by default, then, it could overflow on the left and on top of the boundariesElement\n preventOverflowOrder: ['left', 'right', 'top', 'bottom'],\n\n // the behavior used by flip to change the placement of the popper\n flipBehavior: 'flip',\n\n arrowElement: '[x-arrow]',\n\n arrowOffset: 0,\n\n // list of functions used to modify the offsets before they are applied to the popper\n modifiers: ['shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle'],\n\n modifiersIgnored: [],\n\n forceAbsolute: false\n };\n\n /**\n * Create a new Popper.js instance\n * @constructor Popper\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement|Object} popper\n * The HTML element used as popper, or a configuration used to generate the popper.\n * @param {String} [popper.tagName='div'] The tag name of the generated popper.\n * @param {Array} [popper.classNames=['popper']] Array of classes to apply to the generated popper.\n * @param {Array} [popper.attributes] Array of attributes to apply, specify `attr:value` to assign a value to it.\n * @param {HTMLElement|String} [popper.parent=window.document.body] The parent element, given as HTMLElement or as query string.\n * @param {String} [popper.content=''] The content of the popper, it can be text, html, or node; if it is not text, set `contentType` to `html` or `node`.\n * @param {String} [popper.contentType='text'] If `html`, the `content` will be parsed as HTML. If `node`, it will be appended as-is.\n * @param {String} [popper.arrowTagName='div'] Same as `popper.tagName` but for the arrow element.\n * @param {Array} [popper.arrowClassNames='popper__arrow'] Same as `popper.classNames` but for the arrow element.\n * @param {String} [popper.arrowAttributes=['x-arrow']] Same as `popper.attributes` but for the arrow element.\n * @param {Object} options\n * @param {String} [options.placement=bottom]\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -right),\n * left(-start, -end)`\n *\n * @param {HTMLElement|String} [options.arrowElement='[x-arrow]']\n * The DOM Node used as arrow for the popper, or a CSS selector used to get the DOM node. It must be child of\n * its parent Popper. Popper.js will apply to the given element the style required to align the arrow with its\n * reference element.\n * By default, it will look for a child node of the popper with the `x-arrow` attribute.\n *\n * @param {Boolean} [options.gpuAcceleration=true]\n * When this property is set to true, the popper position will be applied using CSS3 translate3d, allowing the\n * browser to use the GPU to accelerate the rendering.\n * If set to false, the popper will be placed using `top` and `left` properties, not using the GPU.\n *\n * @param {Number} [options.offset=0]\n * Amount of pixels the popper will be shifted (can be negative).\n *\n * @param {String|Element} [options.boundariesElement='viewport']\n * The element which will define the boundaries of the popper position, the popper will never be placed outside\n * of the defined boundaries (except if `keepTogether` is enabled)\n *\n * @param {Number} [options.boundariesPadding=5]\n * Additional padding for the boundaries\n *\n * @param {Array} [options.preventOverflowOrder=['left', 'right', 'top', 'bottom']]\n * Order used when Popper.js tries to avoid overflows from the boundaries, they will be checked in order,\n * this means that the last ones will never overflow\n *\n * @param {String|Array} [options.flipBehavior='flip']\n * The behavior used by the `flip` modifier to change the placement of the popper when the latter is trying to\n * overlap its reference element. Defining `flip` as value, the placement will be flipped on\n * its axis (`right - left`, `top - bottom`).\n * You can even pass an array of placements (eg: `['right', 'left', 'top']` ) to manually specify\n * how alter the placement when a flip is needed. (eg. in the above example, it would first flip from right to left,\n * then, if even in its new placement, the popper is overlapping its reference element, it will be moved to top)\n *\n * @param {Array} [options.modifiers=[ 'shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle']]\n * List of functions used to modify the data before they are applied to the popper, add your custom functions\n * to this array to edit the offsets and placement.\n * The function should reflect the @params and @returns of preventOverflow\n *\n * @param {Array} [options.modifiersIgnored=[]]\n * Put here any built-in modifier name you want to exclude from the modifiers list\n * The function should reflect the @params and @returns of preventOverflow\n *\n * @param {Boolean} [options.removeOnDestroy=false]\n * Set to true if you want to automatically remove the popper when you call the `destroy` method.\n */\n function Popper(reference, popper, options) {\n this._reference = reference.jquery ? reference[0] : reference;\n this.state = {};\n\n // if the popper variable is a configuration object, parse it to generate an HTMLElement\n // generate a default popper if is not defined\n var isNotDefined = typeof popper === 'undefined' || popper === null;\n var isConfig = popper && Object.prototype.toString.call(popper) === '[object Object]';\n if (isNotDefined || isConfig) {\n this._popper = this.parse(isConfig ? popper : {});\n }\n // otherwise, use the given HTMLElement as popper\n else {\n this._popper = popper.jquery ? popper[0] : popper;\n }\n\n // with {} we create a new object with the options inside it\n this._options = Object.assign({}, DEFAULTS, options);\n\n // refactoring modifiers' list\n this._options.modifiers = this._options.modifiers.map(function (modifier) {\n // remove ignored modifiers\n if (this._options.modifiersIgnored.indexOf(modifier) !== -1) return;\n\n // set the x-placement attribute before everything else because it could be used to add margins to the popper\n // margins needs to be calculated to get the correct popper offsets\n if (modifier === 'applyStyle') {\n this._popper.setAttribute('x-placement', this._options.placement);\n }\n\n // return predefined modifier identified by string or keep the custom one\n return this.modifiers[modifier] || modifier;\n }.bind(this));\n\n // make sure to apply the popper position before any computation\n this.state.position = this._getPosition(this._popper, this._reference);\n setStyle(this._popper, { position: this.state.position, top: 0 });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n // setup event listeners, they will take care of update the position in specific situations\n this._setupEventListeners();\n return this;\n }\n\n //\n // Methods\n //\n /**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\n Popper.prototype.destroy = function () {\n this._popper.removeAttribute('x-placement');\n this._popper.style.left = '';\n this._popper.style.position = '';\n this._popper.style.top = '';\n this._popper.style[getSupportedPropertyName('transform')] = '';\n this._removeEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n if (this._options.removeOnDestroy) {\n this._popper.remove();\n }\n return this;\n };\n\n /**\n * Updates the position of the popper, computing the new offsets and applying the new style\n * @method\n * @memberof Popper\n */\n Popper.prototype.update = function () {\n var data = { instance: this, styles: {} };\n\n // store placement inside the data object, modifiers will be able to edit `placement` if needed\n // and refer to _originalPlacement to know the original value\n data.placement = this._options.placement;\n data._originalPlacement = this._options.placement;\n\n // compute the popper and reference offsets and put them inside data.offsets\n data.offsets = this._getOffsets(this._popper, this._reference, data.placement);\n\n // get boundaries\n data.boundaries = this._getBoundaries(data, this._options.boundariesPadding, this._options.boundariesElement);\n\n data = this.runModifiers(data, this._options.modifiers);\n\n if (typeof this.state.updateCallback === 'function') {\n this.state.updateCallback(data);\n }\n };\n\n /**\n * If a function is passed, it will be executed after the initialization of popper with as first argument the Popper instance.\n * @method\n * @memberof Popper\n * @param {Function} callback\n */\n Popper.prototype.onCreate = function (callback) {\n // the createCallbacks return as first argument the popper instance\n callback(this);\n return this;\n };\n\n /**\n * If a function is passed, it will be executed after each update of popper with as first argument the set of coordinates and informations\n * used to style popper and its arrow.\n * NOTE: it doesn't get fired on the first call of the `Popper.update()` method inside the `Popper` constructor!\n * @method\n * @memberof Popper\n * @param {Function} callback\n */\n Popper.prototype.onUpdate = function (callback) {\n this.state.updateCallback = callback;\n return this;\n };\n\n /**\n * Helper used to generate poppers from a configuration file\n * @method\n * @memberof Popper\n * @param config {Object} configuration\n * @returns {HTMLElement} popper\n */\n Popper.prototype.parse = function (config) {\n var defaultConfig = {\n tagName: 'div',\n classNames: ['popper'],\n attributes: [],\n parent: root.document.body,\n content: '',\n contentType: 'text',\n arrowTagName: 'div',\n arrowClassNames: ['popper__arrow'],\n arrowAttributes: ['x-arrow']\n };\n config = Object.assign({}, defaultConfig, config);\n\n var d = root.document;\n\n var popper = d.createElement(config.tagName);\n addClassNames(popper, config.classNames);\n addAttributes(popper, config.attributes);\n if (config.contentType === 'node') {\n popper.appendChild(config.content.jquery ? config.content[0] : config.content);\n } else if (config.contentType === 'html') {\n popper.innerHTML = config.content;\n } else {\n popper.textContent = config.content;\n }\n\n if (config.arrowTagName) {\n var arrow = d.createElement(config.arrowTagName);\n addClassNames(arrow, config.arrowClassNames);\n addAttributes(arrow, config.arrowAttributes);\n popper.appendChild(arrow);\n }\n\n var parent = config.parent.jquery ? config.parent[0] : config.parent;\n\n // if the given parent is a string, use it to match an element\n // if more than one element is matched, the first one will be used as parent\n // if no elements are matched, the script will throw an error\n if (typeof parent === 'string') {\n parent = d.querySelectorAll(config.parent);\n if (parent.length > 1) {\n console.warn('WARNING: the given `parent` query(' + config.parent + ') matched more than one element, the first one will be used');\n }\n if (parent.length === 0) {\n throw 'ERROR: the given `parent` doesn\\'t exists!';\n }\n parent = parent[0];\n }\n // if the given parent is a DOM nodes list or an array of nodes with more than one element,\n // the first one will be used as parent\n if (parent.length > 1 && parent instanceof Element === false) {\n console.warn('WARNING: you have passed as parent a list of elements, the first one will be used');\n parent = parent[0];\n }\n\n // append the generated popper to its parent\n parent.appendChild(popper);\n\n return popper;\n\n /**\n * Adds class names to the given element\n * @function\n * @ignore\n * @param {HTMLElement} target\n * @param {Array} classes\n */\n function addClassNames(element, classNames) {\n classNames.forEach(function (className) {\n element.classList.add(className);\n });\n }\n\n /**\n * Adds attributes to the given element\n * @function\n * @ignore\n * @param {HTMLElement} target\n * @param {Array} attributes\n * @example\n * addAttributes(element, [ 'data-info:foobar' ]);\n */\n function addAttributes(element, attributes) {\n attributes.forEach(function (attribute) {\n element.setAttribute(attribute.split(':')[0], attribute.split(':')[1] || '');\n });\n }\n };\n\n /**\n * Helper used to get the position which will be applied to the popper\n * @method\n * @memberof Popper\n * @param config {HTMLElement} popper element\n * @param reference {HTMLElement} reference element\n * @returns {String} position\n */\n Popper.prototype._getPosition = function (popper, reference) {\n var container = getOffsetParent(reference);\n\n if (this._options.forceAbsolute) {\n return 'absolute';\n }\n\n // Decide if the popper will be fixed\n // If the reference element is inside a fixed context, the popper will be fixed as well to allow them to scroll together\n var isParentFixed = isFixed(reference, container);\n return isParentFixed ? 'fixed' : 'absolute';\n };\n\n /**\n * Get offsets to the popper\n * @method\n * @memberof Popper\n * @access private\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\n Popper.prototype._getOffsets = function (popper, reference, placement) {\n placement = placement.split('-')[0];\n var popperOffsets = {};\n\n popperOffsets.position = this.state.position;\n var isParentFixed = popperOffsets.position === 'fixed';\n\n //\n // Get reference element position\n //\n var referenceOffsets = getOffsetRectRelativeToCustomParent(reference, getOffsetParent(popper), isParentFixed);\n\n //\n // Get popper sizes\n //\n var popperRect = getOuterSizes(popper);\n\n //\n // Compute offsets of popper\n //\n\n // depending by the popper placement we have to compute its offsets slightly differently\n if (['right', 'left'].indexOf(placement) !== -1) {\n popperOffsets.top = referenceOffsets.top + referenceOffsets.height / 2 - popperRect.height / 2;\n if (placement === 'left') {\n popperOffsets.left = referenceOffsets.left - popperRect.width;\n } else {\n popperOffsets.left = referenceOffsets.right;\n }\n } else {\n popperOffsets.left = referenceOffsets.left + referenceOffsets.width / 2 - popperRect.width / 2;\n if (placement === 'top') {\n popperOffsets.top = referenceOffsets.top - popperRect.height;\n } else {\n popperOffsets.top = referenceOffsets.bottom;\n }\n }\n\n // Add width and height to our offsets object\n popperOffsets.width = popperRect.width;\n popperOffsets.height = popperRect.height;\n\n return {\n popper: popperOffsets,\n reference: referenceOffsets\n };\n };\n\n /**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper\n * @access private\n */\n Popper.prototype._setupEventListeners = function () {\n // NOTE: 1 DOM access here\n this.state.updateBound = this.update.bind(this);\n root.addEventListener('resize', this.state.updateBound);\n // if the boundariesElement is window we don't need to listen for the scroll event\n if (this._options.boundariesElement !== 'window') {\n var target = getScrollParent(this._reference);\n // here it could be both `body` or `documentElement` thanks to Firefox, we then check both\n if (target === root.document.body || target === root.document.documentElement) {\n target = root;\n }\n target.addEventListener('scroll', this.state.updateBound);\n this.state.scrollTarget = target;\n }\n };\n\n /**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper\n * @access private\n */\n Popper.prototype._removeEventListeners = function () {\n // NOTE: 1 DOM access here\n root.removeEventListener('resize', this.state.updateBound);\n if (this._options.boundariesElement !== 'window' && this.state.scrollTarget) {\n this.state.scrollTarget.removeEventListener('scroll', this.state.updateBound);\n this.state.scrollTarget = null;\n }\n this.state.updateBound = null;\n };\n\n /**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper\n * @access private\n * @param {Object} data - Object containing the property \"offsets\" generated by `_getOffsets`\n * @param {Number} padding - Boundaries padding\n * @param {Element} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\n Popper.prototype._getBoundaries = function (data, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = {};\n var width, height;\n if (boundariesElement === 'window') {\n var body = root.document.body,\n html = root.document.documentElement;\n\n height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n width = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);\n\n boundaries = {\n top: 0,\n right: width,\n bottom: height,\n left: 0\n };\n } else if (boundariesElement === 'viewport') {\n var offsetParent = getOffsetParent(this._popper);\n var scrollParent = getScrollParent(this._popper);\n var offsetParentRect = getOffsetRect(offsetParent);\n\n // Thanks the fucking native API, `document.body.scrollTop` & `document.documentElement.scrollTop`\n var getScrollTopValue = function getScrollTopValue(element) {\n return element == document.body ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) : element.scrollTop;\n };\n var getScrollLeftValue = function getScrollLeftValue(element) {\n return element == document.body ? Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) : element.scrollLeft;\n };\n\n // if the popper is fixed we don't have to substract scrolling from the boundaries\n var scrollTop = data.offsets.popper.position === 'fixed' ? 0 : getScrollTopValue(scrollParent);\n var scrollLeft = data.offsets.popper.position === 'fixed' ? 0 : getScrollLeftValue(scrollParent);\n\n boundaries = {\n top: 0 - (offsetParentRect.top - scrollTop),\n right: root.document.documentElement.clientWidth - (offsetParentRect.left - scrollLeft),\n bottom: root.document.documentElement.clientHeight - (offsetParentRect.top - scrollTop),\n left: 0 - (offsetParentRect.left - scrollLeft)\n };\n } else {\n if (getOffsetParent(this._popper) === boundariesElement) {\n boundaries = {\n top: 0,\n left: 0,\n right: boundariesElement.clientWidth,\n bottom: boundariesElement.clientHeight\n };\n } else {\n boundaries = getOffsetRect(boundariesElement);\n }\n }\n boundaries.left += padding;\n boundaries.right -= padding;\n boundaries.top = boundaries.top + padding;\n boundaries.bottom = boundaries.bottom - padding;\n return boundaries;\n };\n\n /**\n * Loop trough the list of modifiers and run them in order, each of them will then edit the data object\n * @method\n * @memberof Popper\n * @access public\n * @param {Object} data\n * @param {Array} modifiers\n * @param {Function} ends\n */\n Popper.prototype.runModifiers = function (data, modifiers, ends) {\n var modifiersToRun = modifiers.slice();\n if (ends !== undefined) {\n modifiersToRun = this._options.modifiers.slice(0, getArrayKeyIndex(this._options.modifiers, ends));\n }\n\n modifiersToRun.forEach(function (modifier) {\n if (isFunction(modifier)) {\n data = modifier.call(this, data);\n }\n }.bind(this));\n\n return data;\n };\n\n /**\n * Helper used to know if the given modifier depends from another one.\n * @method\n * @memberof Popper\n * @param {String} requesting - name of requesting modifier\n * @param {String} requested - name of requested modifier\n * @returns {Boolean}\n */\n Popper.prototype.isModifierRequired = function (requesting, requested) {\n var index = getArrayKeyIndex(this._options.modifiers, requesting);\n return !!this._options.modifiers.slice(0, index).filter(function (modifier) {\n return modifier === requested;\n }).length;\n };\n\n //\n // Modifiers\n //\n\n /**\n * Modifiers list\n * @namespace Popper.modifiers\n * @memberof Popper\n * @type {Object}\n */\n Popper.prototype.modifiers = {};\n\n /**\n * Apply the computed styles to the popper element\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @returns {Object} The same data object\n */\n Popper.prototype.modifiers.applyStyle = function (data) {\n // apply the final offsets to the popper\n // NOTE: 1 DOM access here\n var styles = {\n position: data.offsets.popper.position\n };\n\n // round top and left to avoid blurry text\n var left = Math.round(data.offsets.popper.left);\n var top = Math.round(data.offsets.popper.top);\n\n // if gpuAcceleration is set to true and transform is supported, we use `translate3d` to apply the position to the popper\n // we automatically use the supported prefixed version if needed\n var prefixedProperty;\n if (this._options.gpuAcceleration && (prefixedProperty = getSupportedPropertyName('transform'))) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles.top = 0;\n styles.left = 0;\n }\n // othwerise, we use the standard `left` and `top` properties\n else {\n styles.left = left;\n styles.top = top;\n }\n\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n Object.assign(styles, data.styles);\n\n setStyle(this._popper, styles);\n\n // set an attribute which will be useful to style the tooltip (use it to properly position its arrow)\n // NOTE: 1 DOM access here\n this._popper.setAttribute('x-placement', data.placement);\n\n // if the arrow modifier is required and the arrow style has been computed, apply the arrow style\n if (this.isModifierRequired(this.modifiers.applyStyle, this.modifiers.arrow) && data.offsets.arrow) {\n setStyle(data.arrowElement, data.offsets.arrow);\n }\n\n return data;\n };\n\n /**\n * Modifier used to shift the popper on the start or end of its reference element side\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.shift = function (data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftVariation = placement.split('-')[1];\n\n // if shift shiftVariation is specified, run the modifier\n if (shiftVariation) {\n var reference = data.offsets.reference;\n var popper = getPopperClientRect(data.offsets.popper);\n\n var shiftOffsets = {\n y: {\n start: { top: reference.top },\n end: { top: reference.top + reference.height - popper.height }\n },\n x: {\n start: { left: reference.left },\n end: { left: reference.left + reference.width - popper.width }\n }\n };\n\n var axis = ['bottom', 'top'].indexOf(basePlacement) !== -1 ? 'x' : 'y';\n\n data.offsets.popper = Object.assign(popper, shiftOffsets[axis][shiftVariation]);\n }\n\n return data;\n };\n\n /**\n * Modifier used to make sure the popper does not overflows from it's boundaries\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.preventOverflow = function (data) {\n var order = this._options.preventOverflowOrder;\n var popper = getPopperClientRect(data.offsets.popper);\n\n var check = {\n left: function left() {\n var left = popper.left;\n if (popper.left < data.boundaries.left) {\n left = Math.max(popper.left, data.boundaries.left);\n }\n return { left: left };\n },\n right: function right() {\n var left = popper.left;\n if (popper.right > data.boundaries.right) {\n left = Math.min(popper.left, data.boundaries.right - popper.width);\n }\n return { left: left };\n },\n top: function top() {\n var top = popper.top;\n if (popper.top < data.boundaries.top) {\n top = Math.max(popper.top, data.boundaries.top);\n }\n return { top: top };\n },\n bottom: function bottom() {\n var top = popper.top;\n if (popper.bottom > data.boundaries.bottom) {\n top = Math.min(popper.top, data.boundaries.bottom - popper.height);\n }\n return { top: top };\n }\n };\n\n order.forEach(function (direction) {\n data.offsets.popper = Object.assign(popper, check[direction]());\n });\n\n return data;\n };\n\n /**\n * Modifier used to make sure the popper is always near its reference\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.keepTogether = function (data) {\n var popper = getPopperClientRect(data.offsets.popper);\n var reference = data.offsets.reference;\n var f = Math.floor;\n\n if (popper.right < f(reference.left)) {\n data.offsets.popper.left = f(reference.left) - popper.width;\n }\n if (popper.left > f(reference.right)) {\n data.offsets.popper.left = f(reference.right);\n }\n if (popper.bottom < f(reference.top)) {\n data.offsets.popper.top = f(reference.top) - popper.height;\n }\n if (popper.top > f(reference.bottom)) {\n data.offsets.popper.top = f(reference.bottom);\n }\n\n return data;\n };\n\n /**\n * Modifier used to flip the placement of the popper when the latter is starting overlapping its reference element.\n * Requires the `preventOverflow` modifier before it in order to work.\n * **NOTE:** This modifier will run all its previous modifiers everytime it tries to flip the popper!\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.flip = function (data) {\n // check if preventOverflow is in the list of modifiers before the flip modifier.\n // otherwise flip would not work as expected.\n if (!this.isModifierRequired(this.modifiers.flip, this.modifiers.preventOverflow)) {\n console.warn('WARNING: preventOverflow modifier is required by flip modifier in order to work, be sure to include it before flip!');\n return data;\n }\n\n if (data.flipped && data.placement === data._originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n if (this._options.flipBehavior === 'flip') {\n flipOrder = [placement, placementOpposite];\n } else {\n flipOrder = this._options.flipBehavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = getPopperClientRect(data.offsets.popper);\n\n // this boolean is used to distinguish right and bottom from top and left\n // they need different computations to get flipped\n var a = ['right', 'bottom'].indexOf(placement) !== -1;\n\n // using Math.floor because the reference offsets may contain decimals we are not going to consider here\n if (a && Math.floor(data.offsets.reference[placement]) > Math.floor(popperOffsets[placementOpposite]) || !a && Math.floor(data.offsets.reference[placement]) < Math.floor(popperOffsets[placementOpposite])) {\n // we'll use this boolean to detect any flip loop\n data.flipped = true;\n data.placement = flipOrder[index + 1];\n if (variation) {\n data.placement += '-' + variation;\n }\n data.offsets.popper = this._getOffsets(this._popper, this._reference, data.placement).popper;\n\n data = this.runModifiers(data, this._options.modifiers, this._flip);\n }\n }.bind(this));\n return data;\n };\n\n /**\n * Modifier used to add an offset to the popper, useful if you more granularity positioning your popper.\n * The offsets will shift the popper on the side of its reference element.\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.offset = function (data) {\n var offset = this._options.offset;\n var popper = data.offsets.popper;\n\n if (data.placement.indexOf('left') !== -1) {\n popper.top -= offset;\n } else if (data.placement.indexOf('right') !== -1) {\n popper.top += offset;\n } else if (data.placement.indexOf('top') !== -1) {\n popper.left -= offset;\n } else if (data.placement.indexOf('bottom') !== -1) {\n popper.left += offset;\n }\n return data;\n };\n\n /**\n * Modifier used to move the arrows on the edge of the popper to make sure them are always between the popper and the reference element\n * It will use the CSS outer size of the arrow element to know how many pixels of conjuction are needed\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.arrow = function (data) {\n var arrow = this._options.arrowElement;\n var arrowOffset = this._options.arrowOffset;\n\n // if the arrowElement is a string, suppose it's a CSS selector\n if (typeof arrow === 'string') {\n arrow = this._popper.querySelector(arrow);\n }\n\n // if arrow element is not found, don't run the modifier\n if (!arrow) {\n return data;\n }\n\n // the arrow element must be child of its popper\n if (!this._popper.contains(arrow)) {\n console.warn('WARNING: `arrowElement` must be child of its popper element!');\n return data;\n }\n\n // arrow depends on keepTogether in order to work\n if (!this.isModifierRequired(this.modifiers.arrow, this.modifiers.keepTogether)) {\n console.warn('WARNING: keepTogether modifier is required by arrow modifier in order to work, be sure to include it before arrow!');\n return data;\n }\n\n var arrowStyle = {};\n var placement = data.placement.split('-')[0];\n var popper = getPopperClientRect(data.offsets.popper);\n var reference = data.offsets.reference;\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var side = isVertical ? 'top' : 'left';\n var translate = isVertical ? 'translateY' : 'translateX';\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowSize = getOuterSizes(arrow)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowSize);\n }\n // bottom/right side\n if (reference[side] + arrowSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowSize - popper[opSide];\n }\n\n // compute center of the popper\n var center = reference[side] + (arrowOffset || reference[len] / 2 - arrowSize / 2);\n\n var sideValue = center - popper[side];\n\n // prevent arrow from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowSize - 8, sideValue), 8);\n arrowStyle[side] = sideValue;\n arrowStyle[altSide] = ''; // make sure to remove any old style from the arrow\n\n data.offsets.arrow = arrowStyle;\n data.arrowElement = arrow;\n\n return data;\n };\n\n //\n // Helpers\n //\n\n /**\n * Get the outer sizes of the given element (offset size + margins)\n * @function\n * @ignore\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\n function getOuterSizes(element) {\n // NOTE: 1 DOM access here\n var _display = element.style.display,\n _visibility = element.style.visibility;\n element.style.display = 'block';element.style.visibility = 'hidden';\n var calcWidthToForceRepaint = element.offsetWidth;\n\n // original method\n var styles = root.getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = { width: element.offsetWidth + y, height: element.offsetHeight + x };\n\n // reset element styles\n element.style.display = _display;element.style.visibility = _visibility;\n return result;\n }\n\n /**\n * Get the opposite placement of the given one/\n * @function\n * @ignore\n * @argument {String} placement\n * @returns {String} flipped placement\n */\n function getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n }\n\n /**\n * Given the popper offsets, generate an output similar to getBoundingClientRect\n * @function\n * @ignore\n * @argument {Object} popperOffsets\n * @returns {Object} ClientRect like output\n */\n function getPopperClientRect(popperOffsets) {\n var offsets = Object.assign({}, popperOffsets);\n offsets.right = offsets.left + offsets.width;\n offsets.bottom = offsets.top + offsets.height;\n return offsets;\n }\n\n /**\n * Given an array and the key to find, returns its index\n * @function\n * @ignore\n * @argument {Array} arr\n * @argument keyToFind\n * @returns index or null\n */\n function getArrayKeyIndex(arr, keyToFind) {\n var i = 0,\n key;\n for (key in arr) {\n if (arr[key] === keyToFind) {\n return i;\n }\n i++;\n }\n return null;\n }\n\n /**\n * Get CSS computed property of the given element\n * @function\n * @ignore\n * @argument {Eement} element\n * @argument {String} property\n */\n function getStyleComputedProperty(element, property) {\n // NOTE: 1 DOM access here\n var css = root.getComputedStyle(element, null);\n return css[property];\n }\n\n /**\n * Returns the offset parent of the given element\n * @function\n * @ignore\n * @argument {Element} element\n * @returns {Element} offset parent\n */\n function getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n return offsetParent === root.document.body || !offsetParent ? root.document.documentElement : offsetParent;\n }\n\n /**\n * Returns the scrolling parent of the given element\n * @function\n * @ignore\n * @argument {Element} element\n * @returns {Element} offset parent\n */\n function getScrollParent(element) {\n var parent = element.parentNode;\n\n if (!parent) {\n return element;\n }\n\n if (parent === root.document) {\n // Firefox puts the scrollTOp value on `documentElement` instead of `body`, we then check which of them is\n // greater than 0 and return the proper element\n if (root.document.body.scrollTop || root.document.body.scrollLeft) {\n return root.document.body;\n } else {\n return root.document.documentElement;\n }\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n if (['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow')) !== -1 || ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-x')) !== -1 || ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-y')) !== -1) {\n // If the detected scrollParent is body, we perform an additional check on its parentNode\n // in this way we'll get body if the browser is Chrome-ish, or documentElement otherwise\n // fixes issue #65\n return parent;\n }\n return getScrollParent(element.parentNode);\n }\n\n /**\n * Check if the given element is fixed or is inside a fixed parent\n * @function\n * @ignore\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\n function isFixed(element) {\n if (element === root.document.body) {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return element.parentNode ? isFixed(element.parentNode) : element;\n }\n\n /**\n * Set the style to the given popper\n * @function\n * @ignore\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles - Object with a list of properties and values which will be applied to the element\n */\n function setStyle(element, styles) {\n function is_numeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n }\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && is_numeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n }\n\n /**\n * Check if the given variable is a function\n * @function\n * @ignore\n * @argument {*} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\n function isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n }\n\n /**\n * Get the position of the given element, relative to its offset parent\n * @function\n * @ignore\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\n function getOffsetRect(element) {\n var elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop\n };\n\n elementRect.right = elementRect.left + elementRect.width;\n elementRect.bottom = elementRect.top + elementRect.height;\n\n // position\n return elementRect;\n }\n\n /**\n * Get bounding client rect of given element\n * @function\n * @ignore\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\n function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n\n // whether the IE version is lower than 11\n var isIE = navigator.userAgent.indexOf(\"MSIE\") != -1;\n\n // fix ie document bounding top always 0 bug\n var rectTop = isIE && element.tagName === 'HTML' ? -element.scrollTop : rect.top;\n\n return {\n left: rect.left,\n top: rectTop,\n right: rect.right,\n bottom: rect.bottom,\n width: rect.right - rect.left,\n height: rect.bottom - rectTop\n };\n }\n\n /**\n * Given an element and one of its parents, return the offset\n * @function\n * @ignore\n * @param {HTMLElement} element\n * @param {HTMLElement} parent\n * @return {Object} rect\n */\n function getOffsetRectRelativeToCustomParent(element, parent, fixed) {\n var elementRect = getBoundingClientRect(element);\n var parentRect = getBoundingClientRect(parent);\n\n if (fixed) {\n var scrollParent = getScrollParent(parent);\n parentRect.top += scrollParent.scrollTop;\n parentRect.bottom += scrollParent.scrollTop;\n parentRect.left += scrollParent.scrollLeft;\n parentRect.right += scrollParent.scrollLeft;\n }\n\n var rect = {\n top: elementRect.top - parentRect.top,\n left: elementRect.left - parentRect.left,\n bottom: elementRect.top - parentRect.top + elementRect.height,\n right: elementRect.left - parentRect.left + elementRect.width,\n width: elementRect.width,\n height: elementRect.height\n };\n return rect;\n }\n\n /**\n * Get the prefixed supported property name\n * @function\n * @ignore\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase)\n */\n function getSupportedPropertyName(property) {\n var prefixes = ['', 'ms', 'webkit', 'moz', 'o'];\n\n for (var i = 0; i < prefixes.length; i++) {\n var toCheck = prefixes[i] ? prefixes[i] + property.charAt(0).toUpperCase() + property.slice(1) : property;\n if (typeof root.document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n }\n\n /**\n * The Object.assign() method is used to copy the values of all enumerable own properties from one or more source\n * objects to a target object. It will return the target object.\n * This polyfill doesn't support symbol properties, since ES5 doesn't have symbols anyway\n * Source: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n * @function\n * @ignore\n */\n if (!Object.assign) {\n Object.defineProperty(Object, 'assign', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function value(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n nextSource = Object(nextSource);\n\n var keysArray = Object.keys(nextSource);\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n }\n });\n }\n\n return Popper;\n});","'use strict';\n\nexports.__esModule = true;\n\nvar _locale = require('element-ui/lib/locale');\n\nexports.default = {\n methods: {\n t: function t() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _locale.t.apply(this, args);\n }\n }\n};","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 123);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 123:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tag/src/tag.vue?vue&type=script&lang=js&\n\n/* harmony default export */ var tagvue_type_script_lang_js_ = ({\n name: 'ElTag',\n props: {\n text: String,\n closable: Boolean,\n type: String,\n hit: Boolean,\n disableTransitions: Boolean,\n color: String,\n size: String,\n effect: {\n type: String,\n default: 'light',\n validator: function validator(val) {\n return ['dark', 'light', 'plain'].indexOf(val) !== -1;\n }\n }\n },\n methods: {\n handleClose: function handleClose(event) {\n event.stopPropagation();\n this.$emit('close', event);\n },\n handleClick: function handleClick(event) {\n this.$emit('click', event);\n }\n },\n computed: {\n tagSize: function tagSize() {\n return this.size || (this.$ELEMENT || {}).size;\n }\n },\n render: function render(h) {\n var type = this.type,\n tagSize = this.tagSize,\n hit = this.hit,\n effect = this.effect;\n\n var classes = ['el-tag', type ? 'el-tag--' + type : '', tagSize ? 'el-tag--' + tagSize : '', effect ? 'el-tag--' + effect : '', hit && 'is-hit'];\n var tagEl = h(\n 'span',\n {\n 'class': classes,\n style: { backgroundColor: this.color },\n on: {\n 'click': this.handleClick\n }\n },\n [this.$slots.default, this.closable && h('i', { 'class': 'el-tag__close el-icon-close', on: {\n 'click': this.handleClose\n }\n })]\n );\n\n return this.disableTransitions ? tagEl : h(\n 'transition',\n {\n attrs: { name: 'el-zoom-in-center' }\n },\n [tagEl]\n );\n }\n});\n// CONCATENATED MODULE: ./packages/tag/src/tag.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_tagvue_type_script_lang_js_ = (tagvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/tag/src/tag.vue\nvar render, staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_tagvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/tag/src/tag.vue\"\n/* harmony default export */ var tag = (component.exports);\n// CONCATENATED MODULE: ./packages/tag/index.js\n\n\n/* istanbul ignore next */\ntag.install = function (Vue) {\n Vue.component(tag.name, tag);\n};\n\n/* harmony default export */ var packages_tag = __webpack_exports__[\"default\"] = (tag);\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = function (Vue) {\n\n /**\n * template\n *\n * @param {String} string\n * @param {Array} ...args\n * @return {String}\n */\n\n function template(string) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (args.length === 1 && _typeof(args[0]) === 'object') {\n args = args[0];\n }\n\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n\n return string.replace(RE_NARGS, function (match, prefix, i, index) {\n var result = void 0;\n\n if (string[index - 1] === '{' && string[index + match.length] === '}') {\n return i;\n } else {\n result = (0, _util.hasOwn)(args, i) ? args[i] : null;\n if (result === null || result === undefined) {\n return '';\n }\n\n return result;\n }\n });\n }\n\n return template;\n};\n\nvar _util = require('element-ui/lib/utils/util');\n\nvar RE_NARGS = /(%|)\\{([0-9a-zA-Z_]+)\\}/g;\n/**\n * String format template\n * - Inspired:\n * https://github.com/Matt-Esch/string-template/index.js\n */","\"use strict\";\n\nexports.__esModule = true;\nexports.isDef = isDef;\nexports.isKorean = isKorean;\nfunction isDef(val) {\n return val !== undefined && val !== null;\n}\nfunction isKorean(text) {\n var reg = /([(\\uAC00-\\uD7AF)|(\\u3130-\\u318F)])+/gi;\n return reg.test(text);\n}","'use strict';\n\nexports.__esModule = true;\n\nexports.default = function () {\n if (_vue2.default.prototype.$isServer) return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n\n var outer = document.createElement('div');\n outer.className = 'el-scrollbar__wrap';\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n\n var widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n var widthWithScroll = inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n scrollBarWidth = widthNoScroll - widthWithScroll;\n\n return scrollBarWidth;\n};\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar scrollBarWidth = void 0;\n\n;","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 52);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=7a44c642&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible,\n expression: \"visible\"\n }\n ],\n staticClass: \"el-select-dropdown__item\",\n class: {\n selected: _vm.itemSelected,\n \"is-disabled\": _vm.disabled || _vm.groupDisabled || _vm.limitReached,\n hover: _vm.hover\n },\n on: {\n mouseenter: _vm.hoverItem,\n click: function($event) {\n $event.stopPropagation()\n return _vm.selectOptionClick($event)\n }\n }\n },\n [_vm._t(\"default\", [_c(\"span\", [_vm._v(_vm._s(_vm.currentLabel))])])],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js&\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ var optionvue_type_script_lang_js_ = ({\n mixins: [emitter_default.a],\n\n name: 'ElOption',\n\n componentName: 'ElOption',\n\n inject: ['select'],\n\n props: {\n value: {\n required: true\n },\n label: [String, Number],\n created: Boolean,\n disabled: {\n type: Boolean,\n default: false\n }\n },\n\n data: function data() {\n return {\n index: -1,\n groupDisabled: false,\n visible: true,\n hitState: false,\n hover: false\n };\n },\n\n\n computed: {\n isObject: function isObject() {\n return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]';\n },\n currentLabel: function currentLabel() {\n return this.label || (this.isObject ? '' : this.value);\n },\n currentValue: function currentValue() {\n return this.value || this.label || '';\n },\n itemSelected: function itemSelected() {\n if (!this.select.multiple) {\n return this.isEqual(this.value, this.select.value);\n } else {\n return this.contains(this.select.value, this.value);\n }\n },\n limitReached: function limitReached() {\n if (this.select.multiple) {\n return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0;\n } else {\n return false;\n }\n }\n },\n\n watch: {\n currentLabel: function currentLabel() {\n if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected');\n },\n value: function value(val, oldVal) {\n var _select = this.select,\n remote = _select.remote,\n valueKey = _select.valueKey;\n\n if (!this.created && !remote) {\n if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) {\n return;\n }\n this.dispatch('ElSelect', 'setSelected');\n }\n }\n },\n\n methods: {\n isEqual: function isEqual(a, b) {\n if (!this.isObject) {\n return a === b;\n } else {\n var valueKey = this.select.valueKey;\n return Object(util_[\"getValueByPath\"])(a, valueKey) === Object(util_[\"getValueByPath\"])(b, valueKey);\n }\n },\n contains: function contains() {\n var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var target = arguments[1];\n\n if (!this.isObject) {\n return arr && arr.indexOf(target) > -1;\n } else {\n var valueKey = this.select.valueKey;\n return arr && arr.some(function (item) {\n return Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(target, valueKey);\n });\n }\n },\n handleGroupDisabled: function handleGroupDisabled(val) {\n this.groupDisabled = val;\n },\n hoverItem: function hoverItem() {\n if (!this.disabled && !this.groupDisabled) {\n this.select.hoverIndex = this.select.options.indexOf(this);\n }\n },\n selectOptionClick: function selectOptionClick() {\n if (this.disabled !== true && this.groupDisabled !== true) {\n this.dispatch('ElSelect', 'handleOptionClick', [this, true]);\n }\n },\n queryChange: function queryChange(query) {\n this.visible = new RegExp(Object(util_[\"escapeRegexpString\"])(query), 'i').test(this.currentLabel) || this.created;\n if (!this.visible) {\n this.select.filteredOptionsCount--;\n }\n }\n },\n\n created: function created() {\n this.select.options.push(this);\n this.select.cachedOptions.push(this);\n this.select.optionsCount++;\n this.select.filteredOptionsCount++;\n\n this.$on('queryChange', this.queryChange);\n this.$on('handleGroupDisabled', this.handleGroupDisabled);\n },\n beforeDestroy: function beforeDestroy() {\n var index = this.select.cachedOptions.indexOf(this);\n if (index > -1) {\n this.select.cachedOptions.splice(index, 1);\n }\n this.select.onOptionDestroy(this.select.options.indexOf(this));\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/select/src/option.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_optionvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/select/src/option.vue\"\n/* harmony default export */ var src_option = __webpack_exports__[\"a\"] = (component.exports);\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 52:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _select_src_option__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33);\n\n\n/* istanbul ignore next */\n_select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"].install = function (Vue) {\n Vue.component(_select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"].name, _select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"]);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"]);\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _popup = require('element-ui/lib/utils/popup');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PopperJS = _vue2.default.prototype.$isServer ? function () {} : require('./popper');\nvar stop = function stop(e) {\n return e.stopPropagation();\n};\n\n/**\n * @param {HTMLElement} [reference=$refs.reference] - The reference element used to position the popper.\n * @param {HTMLElement} [popper=$refs.popper] - The HTML element used as popper, or a configuration used to generate the popper.\n * @param {String} [placement=button] - Placement of the popper accepted values: top(-start, -end), right(-start, -end), bottom(-start, -end), left(-start, -end)\n * @param {Number} [offset=0] - Amount of pixels the popper will be shifted (can be negative).\n * @param {Boolean} [visible=false] Visibility of the popup element.\n * @param {Boolean} [visible-arrow=false] Visibility of the arrow, no style.\n */\nexports.default = {\n props: {\n transformOrigin: {\n type: [Boolean, String],\n default: true\n },\n placement: {\n type: String,\n default: 'bottom'\n },\n boundariesPadding: {\n type: Number,\n default: 5\n },\n reference: {},\n popper: {},\n offset: {\n default: 0\n },\n value: Boolean,\n visibleArrow: Boolean,\n arrowOffset: {\n type: Number,\n default: 35\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return {\n gpuAcceleration: false\n };\n }\n }\n },\n\n data: function data() {\n return {\n showPopper: false,\n currentPlacement: ''\n };\n },\n\n\n watch: {\n value: {\n immediate: true,\n handler: function handler(val) {\n this.showPopper = val;\n this.$emit('input', val);\n }\n },\n\n showPopper: function showPopper(val) {\n if (this.disabled) return;\n val ? this.updatePopper() : this.destroyPopper();\n this.$emit('input', val);\n }\n },\n\n methods: {\n createPopper: function createPopper() {\n var _this = this;\n\n if (this.$isServer) return;\n this.currentPlacement = this.currentPlacement || this.placement;\n if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement)) {\n return;\n }\n\n var options = this.popperOptions;\n var popper = this.popperElm = this.popperElm || this.popper || this.$refs.popper;\n var reference = this.referenceElm = this.referenceElm || this.reference || this.$refs.reference;\n\n if (!reference && this.$slots.reference && this.$slots.reference[0]) {\n reference = this.referenceElm = this.$slots.reference[0].elm;\n }\n\n if (!popper || !reference) return;\n if (this.visibleArrow) this.appendArrow(popper);\n if (this.appendToBody) document.body.appendChild(this.popperElm);\n if (this.popperJS && this.popperJS.destroy) {\n this.popperJS.destroy();\n }\n\n options.placement = this.currentPlacement;\n options.offset = this.offset;\n options.arrowOffset = this.arrowOffset;\n this.popperJS = new PopperJS(reference, popper, options);\n this.popperJS.onCreate(function (_) {\n _this.$emit('created', _this);\n _this.resetTransformOrigin();\n _this.$nextTick(_this.updatePopper);\n });\n if (typeof options.onUpdate === 'function') {\n this.popperJS.onUpdate(options.onUpdate);\n }\n this.popperJS._popper.style.zIndex = _popup.PopupManager.nextZIndex();\n this.popperElm.addEventListener('click', stop);\n },\n updatePopper: function updatePopper() {\n var popperJS = this.popperJS;\n if (popperJS) {\n popperJS.update();\n if (popperJS._popper) {\n popperJS._popper.style.zIndex = _popup.PopupManager.nextZIndex();\n }\n } else {\n this.createPopper();\n }\n },\n doDestroy: function doDestroy(forceDestroy) {\n /* istanbul ignore if */\n if (!this.popperJS || this.showPopper && !forceDestroy) return;\n this.popperJS.destroy();\n this.popperJS = null;\n },\n destroyPopper: function destroyPopper() {\n if (this.popperJS) {\n this.resetTransformOrigin();\n }\n },\n resetTransformOrigin: function resetTransformOrigin() {\n if (!this.transformOrigin) return;\n var placementMap = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n };\n var placement = this.popperJS._popper.getAttribute('x-placement').split('-')[0];\n var origin = placementMap[placement];\n this.popperJS._popper.style.transformOrigin = typeof this.transformOrigin === 'string' ? this.transformOrigin : ['top', 'bottom'].indexOf(placement) > -1 ? 'center ' + origin : origin + ' center';\n },\n appendArrow: function appendArrow(element) {\n var hash = void 0;\n if (this.appended) {\n return;\n }\n\n this.appended = true;\n\n for (var item in element.attributes) {\n if (/^_v-/.test(element.attributes[item].name)) {\n hash = element.attributes[item].name;\n break;\n }\n }\n\n var arrow = document.createElement('div');\n\n if (hash) {\n arrow.setAttribute(hash, '');\n }\n arrow.setAttribute('x-arrow', '');\n arrow.className = 'popper__arrow';\n element.appendChild(arrow);\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.doDestroy(true);\n if (this.popperElm && this.popperElm.parentNode === document.body) {\n this.popperElm.removeEventListener('click', stop);\n document.body.removeChild(this.popperElm);\n }\n },\n\n\n // call destroy in keep-alive mode\n deactivated: function deactivated() {\n this.$options.beforeDestroy[0].call(this);\n }\n};","'use strict';\n\nexports.__esModule = true;\nexports.default = {\n el: {\n colorpicker: {\n confirm: '确定',\n clear: '清空'\n },\n datepicker: {\n now: '此刻',\n today: '今天',\n cancel: '取消',\n clear: '清空',\n confirm: '确定',\n selectDate: '选择日期',\n selectTime: '选择时间',\n startDate: '开始日期',\n startTime: '开始时间',\n endDate: '结束日期',\n endTime: '结束时间',\n prevYear: '前一年',\n nextYear: '后一年',\n prevMonth: '上个月',\n nextMonth: '下个月',\n year: '年',\n month1: '1 月',\n month2: '2 月',\n month3: '3 月',\n month4: '4 月',\n month5: '5 月',\n month6: '6 月',\n month7: '7 月',\n month8: '8 月',\n month9: '9 月',\n month10: '10 月',\n month11: '11 月',\n month12: '12 月',\n // week: '周次',\n weeks: {\n sun: '日',\n mon: '一',\n tue: '二',\n wed: '三',\n thu: '四',\n fri: '五',\n sat: '六'\n },\n months: {\n jan: '一月',\n feb: '二月',\n mar: '三月',\n apr: '四月',\n may: '五月',\n jun: '六月',\n jul: '七月',\n aug: '八月',\n sep: '九月',\n oct: '十月',\n nov: '十一月',\n dec: '十二月'\n }\n },\n select: {\n loading: '加载中',\n noMatch: '无匹配数据',\n noData: '无数据',\n placeholder: '请选择'\n },\n cascader: {\n noMatch: '无匹配数据',\n loading: '加载中',\n placeholder: '请选择',\n noData: '暂无数据'\n },\n pagination: {\n goto: '前往',\n pagesize: '条/页',\n total: '共 {total} 条',\n pageClassifier: '页'\n },\n messagebox: {\n title: '提示',\n confirm: '确定',\n cancel: '取消',\n error: '输入的数据不合法!'\n },\n upload: {\n deleteTip: '按 delete 键可删除',\n delete: '删除',\n preview: '查看图片',\n continue: '继续上传'\n },\n table: {\n emptyText: '暂无数据',\n confirmFilter: '筛选',\n resetFilter: '重置',\n clearFilter: '全部',\n sumText: '合计'\n },\n tree: {\n emptyText: '暂无数据'\n },\n transfer: {\n noMatch: '无匹配数据',\n noData: '无数据',\n titles: ['列表 1', '列表 2'],\n filterPlaceholder: '请输入搜索内容',\n noCheckedFormat: '共 {total} 项',\n hasCheckedFormat: '已选 {checked}/{total} 项'\n },\n image: {\n error: '加载失败'\n },\n pageHeader: {\n title: '返回'\n }\n }\n};"],"sourceRoot":""}