module.exports = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/dist/"; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 62); /******/ }) /************************************************************************/ /******/ ({ /***/ 0: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); /* globals __VUE_SSR_CONTEXT__ */ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). // This module is a runtime utility for cleaner component module output and will // be included in the final webpack user bundle. function normalizeComponent ( scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, /* server only */ shadowMode /* vue-cli only */ ) { // Vue.extend constructor export interop var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports // render functions if (render) { options.render = render options.staticRenderFns = staticRenderFns options._compiled = true } // functional template if (functionalTemplate) { options.functional = true } // scopedId if (scopeId) { options._scopeId = 'data-v-' + scopeId } var hook if (moduleIdentifier) { // server build hook = function (context) { // 2.3 injection context = context || // cached call (this.$vnode && this.$vnode.ssrContext) || // stateful (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional // 2.2 with runInNewContext: true if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { context = __VUE_SSR_CONTEXT__ } // inject component styles if (injectStyles) { injectStyles.call(this, context) } // register component module identifier for async chunk inferrence if (context && context._registeredComponents) { context._registeredComponents.add(moduleIdentifier) } } // used by ssr in case component is cached and beforeCreate // never gets called options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } : injectStyles } if (hook) { if (options.functional) { // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook // register for functioal component in vue file var originalRender = options.render options.render = function renderWithStyleInjection (h, context) { hook.call(context) return originalRender(h, context) } } else { // inject component registration as beforeCreate hook var existing = options.beforeCreate options.beforeCreate = existing ? [].concat(existing, hook) : [hook] } } return { exports: scriptExports, options: options } } /***/ }), /***/ 10: /***/ (function(module, exports) { module.exports = require("element-ui/lib/input"); /***/ }), /***/ 12: /***/ (function(module, exports) { module.exports = require("element-ui/lib/utils/clickoutside"); /***/ }), /***/ 15: /***/ (function(module, exports) { module.exports = require("element-ui/lib/scrollbar"); /***/ }), /***/ 16: /***/ (function(module, exports) { module.exports = require("element-ui/lib/utils/resize-event"); /***/ }), /***/ 19: /***/ (function(module, exports) { module.exports = require("throttle-debounce/debounce"); /***/ }), /***/ 21: /***/ (function(module, exports) { module.exports = require("element-ui/lib/utils/shared"); /***/ }), /***/ 22: /***/ (function(module, exports) { module.exports = require("element-ui/lib/mixins/focus"); /***/ }), /***/ 3: /***/ (function(module, exports) { module.exports = require("element-ui/lib/utils/util"); /***/ }), /***/ 31: /***/ (function(module, exports) { module.exports = require("element-ui/lib/utils/scroll-into-view"); /***/ }), /***/ 33: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // 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& var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "li", { directives: [ { name: "show", rawName: "v-show", value: _vm.visible, expression: "visible" } ], staticClass: "el-select-dropdown__item", class: { selected: _vm.itemSelected, "is-disabled": _vm.disabled || _vm.groupDisabled || _vm.limitReached, hover: _vm.hover }, on: { mouseenter: _vm.hoverItem, click: function($event) { $event.stopPropagation() return _vm.selectOptionClick($event) } } }, [_vm._t("default", [_c("span", [_vm._v(_vm._s(_vm.currentLabel))])])], 2 ) } var staticRenderFns = [] render._withStripped = true // CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642& // EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" var emitter_ = __webpack_require__(4); var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); // EXTERNAL MODULE: external "element-ui/lib/utils/util" var util_ = __webpack_require__(3); // 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& var _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; }; // // // // // // // // // // // // // // // // // /* harmony default export */ var optionvue_type_script_lang_js_ = ({ mixins: [emitter_default.a], name: 'ElOption', componentName: 'ElOption', inject: ['select'], props: { value: { required: true }, label: [String, Number], created: Boolean, disabled: { type: Boolean, default: false } }, data: function data() { return { index: -1, groupDisabled: false, visible: true, hitState: false, hover: false }; }, computed: { isObject: function isObject() { return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]'; }, currentLabel: function currentLabel() { return this.label || (this.isObject ? '' : this.value); }, currentValue: function currentValue() { return this.value || this.label || ''; }, itemSelected: function itemSelected() { if (!this.select.multiple) { return this.isEqual(this.value, this.select.value); } else { return this.contains(this.select.value, this.value); } }, limitReached: function limitReached() { if (this.select.multiple) { return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0; } else { return false; } } }, watch: { currentLabel: function currentLabel() { if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected'); }, value: function value(val, oldVal) { var _select = this.select, remote = _select.remote, valueKey = _select.valueKey; if (!this.created && !remote) { if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) { return; } this.dispatch('ElSelect', 'setSelected'); } } }, methods: { isEqual: function isEqual(a, b) { if (!this.isObject) { return a === b; } else { var valueKey = this.select.valueKey; return Object(util_["getValueByPath"])(a, valueKey) === Object(util_["getValueByPath"])(b, valueKey); } }, contains: function contains() { var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var target = arguments[1]; if (!this.isObject) { return arr && arr.indexOf(target) > -1; } else { var valueKey = this.select.valueKey; return arr && arr.some(function (item) { return Object(util_["getValueByPath"])(item, valueKey) === Object(util_["getValueByPath"])(target, valueKey); }); } }, handleGroupDisabled: function handleGroupDisabled(val) { this.groupDisabled = val; }, hoverItem: function hoverItem() { if (!this.disabled && !this.groupDisabled) { this.select.hoverIndex = this.select.options.indexOf(this); } }, selectOptionClick: function selectOptionClick() { if (this.disabled !== true && this.groupDisabled !== true) { this.dispatch('ElSelect', 'handleOptionClick', [this, true]); } }, queryChange: function queryChange(query) { this.visible = new RegExp(Object(util_["escapeRegexpString"])(query), 'i').test(this.currentLabel) || this.created; if (!this.visible) { this.select.filteredOptionsCount--; } } }, created: function created() { this.select.options.push(this); this.select.cachedOptions.push(this); this.select.optionsCount++; this.select.filteredOptionsCount++; this.$on('queryChange', this.queryChange); this.$on('handleGroupDisabled', this.handleGroupDisabled); }, beforeDestroy: function beforeDestroy() { var _select2 = this.select, selected = _select2.selected, multiple = _select2.multiple; var selectedOptions = multiple ? selected : [selected]; var index = this.select.cachedOptions.indexOf(this); var selectedIndex = selectedOptions.indexOf(this); // if option is not selected, remove it from cache if (index > -1 && selectedIndex < 0) { this.select.cachedOptions.splice(index, 1); } this.select.onOptionDestroy(this.select.options.indexOf(this)); } }); // CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js& /* harmony default export */ var src_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/select/src/option.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( src_optionvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null ) /* hot reload */ if (false) { var api; } component.options.__file = "packages/select/src/option.vue" /* harmony default export */ var src_option = __webpack_exports__["a"] = (component.exports); /***/ }), /***/ 38: /***/ (function(module, exports) { module.exports = require("element-ui/lib/tag"); /***/ }), /***/ 4: /***/ (function(module, exports) { module.exports = require("element-ui/lib/mixins/emitter"); /***/ }), /***/ 5: /***/ (function(module, exports) { module.exports = require("element-ui/lib/utils/vue-popper"); /***/ }), /***/ 6: /***/ (function(module, exports) { module.exports = require("element-ui/lib/mixins/locale"); /***/ }), /***/ 62: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); // 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& var render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "div", { directives: [ { name: "clickoutside", rawName: "v-clickoutside", value: _vm.handleClose, expression: "handleClose" } ], staticClass: "el-select", class: [_vm.selectSize ? "el-select--" + _vm.selectSize : ""], on: { click: function($event) { $event.stopPropagation() return _vm.toggleMenu($event) } } }, [ _vm.multiple ? _c( "div", { ref: "tags", staticClass: "el-select__tags", style: { "max-width": _vm.inputWidth - 32 + "px", width: "100%" } }, [ _vm.collapseTags && _vm.selected.length ? _c( "span", [ _c( "el-tag", { attrs: { closable: !_vm.selectDisabled, size: _vm.collapseTagSize, hit: _vm.selected[0].hitState, type: "info", "disable-transitions": "" }, on: { close: function($event) { _vm.deleteTag($event, _vm.selected[0]) } } }, [ _c("span", { staticClass: "el-select__tags-text" }, [ _vm._v(_vm._s(_vm.selected[0].currentLabel)) ]) ] ), _vm.selected.length > 1 ? _c( "el-tag", { attrs: { closable: false, size: _vm.collapseTagSize, type: "info", "disable-transitions": "" } }, [ _c( "span", { staticClass: "el-select__tags-text" }, [_vm._v("+ " + _vm._s(_vm.selected.length - 1))] ) ] ) : _vm._e() ], 1 ) : _vm._e(), !_vm.collapseTags ? _c( "transition-group", { on: { "after-leave": _vm.resetInputHeight } }, _vm._l(_vm.selected, function(item) { return _c( "el-tag", { key: _vm.getValueKey(item), attrs: { closable: !_vm.selectDisabled, size: _vm.collapseTagSize, hit: item.hitState, type: "info", "disable-transitions": "" }, on: { close: function($event) { _vm.deleteTag($event, item) } } }, [ _c("span", { staticClass: "el-select__tags-text" }, [ _vm._v(_vm._s(item.currentLabel)) ]) ] ) }), 1 ) : _vm._e(), _vm.filterable ? _c("input", { directives: [ { name: "model", rawName: "v-model", value: _vm.query, expression: "query" } ], ref: "input", staticClass: "el-select__input", class: [_vm.selectSize ? "is-" + _vm.selectSize : ""], style: { "flex-grow": "1", width: _vm.inputLength / (_vm.inputWidth - 32) + "%", "max-width": _vm.inputWidth - 42 + "px" }, attrs: { type: "text", disabled: _vm.selectDisabled, autocomplete: _vm.autoComplete || _vm.autocomplete }, domProps: { value: _vm.query }, on: { focus: _vm.handleFocus, blur: function($event) { _vm.softFocus = false }, keyup: _vm.managePlaceholder, keydown: [ _vm.resetInputState, function($event) { if ( !("button" in $event) && _vm._k($event.keyCode, "down", 40, $event.key, [ "Down", "ArrowDown" ]) ) { return null } $event.preventDefault() _vm.handleNavigate("next") }, function($event) { if ( !("button" in $event) && _vm._k($event.keyCode, "up", 38, $event.key, [ "Up", "ArrowUp" ]) ) { return null } $event.preventDefault() _vm.handleNavigate("prev") }, function($event) { if ( !("button" in $event) && _vm._k( $event.keyCode, "enter", 13, $event.key, "Enter" ) ) { return null } $event.preventDefault() return _vm.selectOption($event) }, function($event) { if ( !("button" in $event) && _vm._k($event.keyCode, "esc", 27, $event.key, [ "Esc", "Escape" ]) ) { return null } $event.stopPropagation() $event.preventDefault() _vm.visible = false }, function($event) { if ( !("button" in $event) && _vm._k( $event.keyCode, "delete", [8, 46], $event.key, ["Backspace", "Delete", "Del"] ) ) { return null } return _vm.deletePrevTag($event) }, function($event) { if ( !("button" in $event) && _vm._k($event.keyCode, "tab", 9, $event.key, "Tab") ) { return null } _vm.visible = false } ], compositionstart: _vm.handleComposition, compositionupdate: _vm.handleComposition, compositionend: _vm.handleComposition, input: [ function($event) { if ($event.target.composing) { return } _vm.query = $event.target.value }, _vm.debouncedQueryChange ] } }) : _vm._e() ], 1 ) : _vm._e(), _c( "el-input", { ref: "reference", class: { "is-focus": _vm.visible }, attrs: { type: "text", placeholder: _vm.currentPlaceholder, name: _vm.name, id: _vm.id, autocomplete: _vm.autoComplete || _vm.autocomplete, size: _vm.selectSize, disabled: _vm.selectDisabled, readonly: _vm.readonly, "validate-event": false, tabindex: _vm.multiple && _vm.filterable ? "-1" : null }, on: { focus: _vm.handleFocus, blur: _vm.handleBlur, input: _vm.debouncedOnInputChange, compositionstart: _vm.handleComposition, compositionupdate: _vm.handleComposition, compositionend: _vm.handleComposition }, nativeOn: { keydown: [ function($event) { if ( !("button" in $event) && _vm._k($event.keyCode, "down", 40, $event.key, [ "Down", "ArrowDown" ]) ) { return null } $event.stopPropagation() $event.preventDefault() _vm.handleNavigate("next") }, function($event) { if ( !("button" in $event) && _vm._k($event.keyCode, "up", 38, $event.key, [ "Up", "ArrowUp" ]) ) { return null } $event.stopPropagation() $event.preventDefault() _vm.handleNavigate("prev") }, function($event) { if ( !("button" in $event) && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") ) { return null } $event.preventDefault() return _vm.selectOption($event) }, function($event) { if ( !("button" in $event) && _vm._k($event.keyCode, "esc", 27, $event.key, [ "Esc", "Escape" ]) ) { return null } $event.stopPropagation() $event.preventDefault() _vm.visible = false }, function($event) { if ( !("button" in $event) && _vm._k($event.keyCode, "tab", 9, $event.key, "Tab") ) { return null } _vm.visible = false } ], mouseenter: function($event) { _vm.inputHovering = true }, mouseleave: function($event) { _vm.inputHovering = false } }, model: { value: _vm.selectedLabel, callback: function($$v) { _vm.selectedLabel = $$v }, expression: "selectedLabel" } }, [ _vm.$slots.prefix ? _c("template", { slot: "prefix" }, [_vm._t("prefix")], 2) : _vm._e(), _c("template", { slot: "suffix" }, [ _c("i", { directives: [ { name: "show", rawName: "v-show", value: !_vm.showClose, expression: "!showClose" } ], class: [ "el-select__caret", "el-input__icon", "el-icon-" + _vm.iconClass ] }), _vm.showClose ? _c("i", { staticClass: "el-select__caret el-input__icon el-icon-circle-close", on: { click: _vm.handleClearClick } }) : _vm._e() ]) ], 2 ), _c( "transition", { attrs: { name: "el-zoom-in-top" }, on: { "before-enter": _vm.handleMenuEnter, "after-leave": _vm.doDestroy } }, [ _c( "el-select-menu", { directives: [ { name: "show", rawName: "v-show", value: _vm.visible && _vm.emptyText !== false, expression: "visible && emptyText !== false" } ], ref: "popper", attrs: { "append-to-body": _vm.popperAppendToBody } }, [ _c( "el-scrollbar", { directives: [ { name: "show", rawName: "v-show", value: _vm.options.length > 0 && !_vm.loading, expression: "options.length > 0 && !loading" } ], ref: "scrollbar", class: { "is-empty": !_vm.allowCreate && _vm.query && _vm.filteredOptionsCount === 0 }, attrs: { tag: "ul", "wrap-class": "el-select-dropdown__wrap", "view-class": "el-select-dropdown__list" } }, [ _vm.showNewOption ? _c("el-option", { attrs: { value: _vm.query, created: "" } }) : _vm._e(), _vm._t("default") ], 2 ), _vm.emptyText && (!_vm.allowCreate || _vm.loading || (_vm.allowCreate && _vm.options.length === 0)) ? [ _vm.$slots.empty ? _vm._t("empty") : _c("p", { staticClass: "el-select-dropdown__empty" }, [ _vm._v( "\n " + _vm._s(_vm.emptyText) + "\n " ) ]) ] : _vm._e() ], 2 ) ], 1 ) ], 1 ) } var staticRenderFns = [] render._withStripped = true // CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=template&id=0e4aade6& // EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" var emitter_ = __webpack_require__(4); var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); // EXTERNAL MODULE: external "element-ui/lib/mixins/focus" var focus_ = __webpack_require__(22); var focus_default = /*#__PURE__*/__webpack_require__.n(focus_); // EXTERNAL MODULE: external "element-ui/lib/mixins/locale" var locale_ = __webpack_require__(6); var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); // EXTERNAL MODULE: external "element-ui/lib/input" var input_ = __webpack_require__(10); var input_default = /*#__PURE__*/__webpack_require__.n(input_); // 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& var select_dropdownvue_type_template_id_06828748_render = function() { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "div", { staticClass: "el-select-dropdown el-popper", class: [{ "is-multiple": _vm.$parent.multiple }, _vm.popperClass], style: { minWidth: _vm.minWidth } }, [_vm._t("default")], 2 ) } var select_dropdownvue_type_template_id_06828748_staticRenderFns = [] select_dropdownvue_type_template_id_06828748_render._withStripped = true // CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748& // EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" var vue_popper_ = __webpack_require__(5); var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); // 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& // // // // // // // // // /* harmony default export */ var select_dropdownvue_type_script_lang_js_ = ({ name: 'ElSelectDropdown', componentName: 'ElSelectDropdown', mixins: [vue_popper_default.a], props: { placement: { default: 'bottom-start' }, boundariesPadding: { default: 0 }, popperOptions: { default: function _default() { return { gpuAcceleration: false }; } }, visibleArrow: { default: true }, appendToBody: { type: Boolean, default: true } }, data: function data() { return { minWidth: '' }; }, computed: { popperClass: function popperClass() { return this.$parent.popperClass; } }, watch: { '$parent.inputWidth': function $parentInputWidth() { this.minWidth = this.$parent.$el.getBoundingClientRect().width + 'px'; } }, mounted: function mounted() { var _this = this; this.referenceElm = this.$parent.$refs.reference.$el; this.$parent.popperElm = this.popperElm = this.$el; this.$on('updatePopper', function () { if (_this.$parent.visible) _this.updatePopper(); }); this.$on('destroyPopper', this.destroyPopper); } }); // CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=script&lang=js& /* harmony default export */ var src_select_dropdownvue_type_script_lang_js_ = (select_dropdownvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(0); // CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( src_select_dropdownvue_type_script_lang_js_, select_dropdownvue_type_template_id_06828748_render, select_dropdownvue_type_template_id_06828748_staticRenderFns, false, null, null, null ) /* hot reload */ if (false) { var api; } component.options.__file = "packages/select/src/select-dropdown.vue" /* harmony default export */ var select_dropdown = (component.exports); // EXTERNAL MODULE: ./packages/select/src/option.vue + 4 modules var src_option = __webpack_require__(33); // EXTERNAL MODULE: external "element-ui/lib/tag" var tag_ = __webpack_require__(38); var tag_default = /*#__PURE__*/__webpack_require__.n(tag_); // EXTERNAL MODULE: external "element-ui/lib/scrollbar" var scrollbar_ = __webpack_require__(15); var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); // EXTERNAL MODULE: external "throttle-debounce/debounce" var debounce_ = __webpack_require__(19); var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_); // EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" var clickoutside_ = __webpack_require__(12); var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); // EXTERNAL MODULE: external "element-ui/lib/utils/resize-event" var resize_event_ = __webpack_require__(16); // EXTERNAL MODULE: external "element-ui/lib/utils/scroll-into-view" var scroll_into_view_ = __webpack_require__(31); var scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_); // EXTERNAL MODULE: external "element-ui/lib/utils/util" var util_ = __webpack_require__(3); // CONCATENATED MODULE: ./packages/select/src/navigation-mixin.js /* harmony default export */ var navigation_mixin = ({ data: function data() { return { hoverOption: -1 }; }, computed: { optionsAllDisabled: function optionsAllDisabled() { return this.options.filter(function (option) { return option.visible; }).every(function (option) { return option.disabled; }); } }, watch: { hoverIndex: function hoverIndex(val) { var _this = this; if (typeof val === 'number' && val > -1) { this.hoverOption = this.options[val] || {}; } this.options.forEach(function (option) { option.hover = _this.hoverOption === option; }); } }, methods: { navigateOptions: function navigateOptions(direction) { var _this2 = this; if (!this.visible) { this.visible = true; return; } if (this.options.length === 0 || this.filteredOptionsCount === 0) return; if (!this.optionsAllDisabled) { if (direction === 'next') { this.hoverIndex++; if (this.hoverIndex === this.options.length) { this.hoverIndex = 0; } } else if (direction === 'prev') { this.hoverIndex--; if (this.hoverIndex < 0) { this.hoverIndex = this.options.length - 1; } } var option = this.options[this.hoverIndex]; if (option.disabled === true || option.groupDisabled === true || !option.visible) { this.navigateOptions(direction); } this.$nextTick(function () { return _this2.scrollToOption(_this2.hoverOption); }); } } } }); // EXTERNAL MODULE: external "element-ui/lib/utils/shared" var shared_ = __webpack_require__(21); // 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& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var selectvue_type_script_lang_js_ = ({ mixins: [emitter_default.a, locale_default.a, focus_default()('reference'), navigation_mixin], name: 'ElSelect', componentName: 'ElSelect', inject: { elForm: { default: '' }, elFormItem: { default: '' } }, provide: function provide() { return { 'select': this }; }, computed: { _elFormItemSize: function _elFormItemSize() { return (this.elFormItem || {}).elFormItemSize; }, readonly: function readonly() { return !this.filterable || this.multiple || !Object(util_["isIE"])() && !Object(util_["isEdge"])() && !this.visible; }, showClose: function showClose() { var hasValue = this.multiple ? Array.isArray(this.value) && this.value.length > 0 : this.value !== undefined && this.value !== null && this.value !== ''; var criteria = this.clearable && !this.selectDisabled && this.inputHovering && hasValue; return criteria; }, iconClass: function iconClass() { return this.remote && this.filterable ? '' : this.visible ? 'arrow-up is-reverse' : 'arrow-up'; }, debounce: function debounce() { return this.remote ? 300 : 0; }, emptyText: function emptyText() { if (this.loading) { return this.loadingText || this.t('el.select.loading'); } else { if (this.remote && this.query === '' && this.options.length === 0) return false; if (this.filterable && this.query && this.options.length > 0 && this.filteredOptionsCount === 0) { return this.noMatchText || this.t('el.select.noMatch'); } if (this.options.length === 0) { return this.noDataText || this.t('el.select.noData'); } } return null; }, showNewOption: function showNewOption() { var _this = this; var hasExistingOption = this.options.filter(function (option) { return !option.created; }).some(function (option) { return option.currentLabel === _this.query; }); return this.filterable && this.allowCreate && this.query !== '' && !hasExistingOption; }, selectSize: function selectSize() { return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; }, selectDisabled: function selectDisabled() { return this.disabled || (this.elForm || {}).disabled; }, collapseTagSize: function collapseTagSize() { return ['small', 'mini'].indexOf(this.selectSize) > -1 ? 'mini' : 'small'; }, propPlaceholder: function propPlaceholder() { return typeof this.placeholder !== 'undefined' ? this.placeholder : this.t('el.select.placeholder'); } }, components: { ElInput: input_default.a, ElSelectMenu: select_dropdown, ElOption: src_option["a" /* default */], ElTag: tag_default.a, ElScrollbar: scrollbar_default.a }, directives: { Clickoutside: clickoutside_default.a }, props: { name: String, id: String, value: { required: true }, autocomplete: { type: String, default: 'off' }, /** @Deprecated in next major version */ autoComplete: { type: String, validator: function validator(val) { false && false; return true; } }, automaticDropdown: Boolean, size: String, disabled: Boolean, clearable: Boolean, filterable: Boolean, allowCreate: Boolean, loading: Boolean, popperClass: String, remote: Boolean, loadingText: String, noMatchText: String, noDataText: String, remoteMethod: Function, filterMethod: Function, multiple: Boolean, multipleLimit: { type: Number, default: 0 }, placeholder: { type: String, required: false }, defaultFirstOption: Boolean, reserveKeyword: Boolean, valueKey: { type: String, default: 'value' }, collapseTags: Boolean, popperAppendToBody: { type: Boolean, default: true } }, data: function data() { return { options: [], cachedOptions: [], createdLabel: null, createdSelected: false, selected: this.multiple ? [] : {}, inputLength: 20, inputWidth: 0, initialInputHeight: 0, cachedPlaceHolder: '', optionsCount: 0, filteredOptionsCount: 0, visible: false, softFocus: false, selectedLabel: '', hoverIndex: -1, query: '', previousQuery: null, inputHovering: false, currentPlaceholder: '', menuVisibleOnFocus: false, isOnComposition: false, isSilentBlur: false }; }, watch: { selectDisabled: function selectDisabled() { var _this2 = this; this.$nextTick(function () { _this2.resetInputHeight(); }); }, propPlaceholder: function propPlaceholder(val) { this.cachedPlaceHolder = this.currentPlaceholder = val; }, value: function value(val, oldVal) { if (this.multiple) { this.resetInputHeight(); if (val && val.length > 0 || this.$refs.input && this.query !== '') { this.currentPlaceholder = ''; } else { this.currentPlaceholder = this.cachedPlaceHolder; } if (this.filterable && !this.reserveKeyword) { this.query = ''; this.handleQueryChange(this.query); } } this.setSelected(); if (this.filterable && !this.multiple) { this.inputLength = 20; } if (!Object(util_["valueEquals"])(val, oldVal)) { this.dispatch('ElFormItem', 'el.form.change', val); } }, visible: function visible(val) { var _this3 = this; if (!val) { this.broadcast('ElSelectDropdown', 'destroyPopper'); if (this.$refs.input) { this.$refs.input.blur(); } this.query = ''; this.previousQuery = null; this.selectedLabel = ''; this.inputLength = 20; this.menuVisibleOnFocus = false; this.resetHoverIndex(); this.$nextTick(function () { if (_this3.$refs.input && _this3.$refs.input.value === '' && _this3.selected.length === 0) { _this3.currentPlaceholder = _this3.cachedPlaceHolder; } }); if (!this.multiple) { if (this.selected) { if (this.filterable && this.allowCreate && this.createdSelected && this.createdLabel) { this.selectedLabel = this.createdLabel; } else { this.selectedLabel = this.selected.currentLabel; } if (this.filterable) this.query = this.selectedLabel; } if (this.filterable) { this.currentPlaceholder = this.cachedPlaceHolder; } } } else { this.broadcast('ElSelectDropdown', 'updatePopper'); if (this.filterable) { this.query = this.remote ? '' : this.selectedLabel; this.handleQueryChange(this.query); if (this.multiple) { this.$refs.input.focus(); } else { if (!this.remote) { this.broadcast('ElOption', 'queryChange', ''); this.broadcast('ElOptionGroup', 'queryChange'); } if (this.selectedLabel) { this.currentPlaceholder = this.selectedLabel; this.selectedLabel = ''; } } } } this.$emit('visible-change', val); }, options: function options() { var _this4 = this; if (this.$isServer) return; this.$nextTick(function () { _this4.broadcast('ElSelectDropdown', 'updatePopper'); }); if (this.multiple) { this.resetInputHeight(); } var inputs = this.$el.querySelectorAll('input'); if ([].indexOf.call(inputs, document.activeElement) === -1) { this.setSelected(); } if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) { this.checkDefaultFirstOption(); } } }, methods: { handleNavigate: function handleNavigate(direction) { if (this.isOnComposition) return; this.navigateOptions(direction); }, handleComposition: function handleComposition(event) { var _this5 = this; var text = event.target.value; if (event.type === 'compositionend') { this.isOnComposition = false; this.$nextTick(function (_) { return _this5.handleQueryChange(text); }); } else { var lastCharacter = text[text.length - 1] || ''; this.isOnComposition = !Object(shared_["isKorean"])(lastCharacter); } }, handleQueryChange: function handleQueryChange(val) { var _this6 = this; if (this.previousQuery === val || this.isOnComposition) return; if (this.previousQuery === null && (typeof this.filterMethod === 'function' || typeof this.remoteMethod === 'function')) { this.previousQuery = val; return; } this.previousQuery = val; this.$nextTick(function () { if (_this6.visible) _this6.broadcast('ElSelectDropdown', 'updatePopper'); }); this.hoverIndex = -1; if (this.multiple && this.filterable) { this.$nextTick(function () { var length = _this6.$refs.input.value.length * 15 + 20; _this6.inputLength = _this6.collapseTags ? Math.min(50, length) : length; _this6.managePlaceholder(); _this6.resetInputHeight(); }); } if (this.remote && typeof this.remoteMethod === 'function') { this.hoverIndex = -1; this.remoteMethod(val); } else if (typeof this.filterMethod === 'function') { this.filterMethod(val); this.broadcast('ElOptionGroup', 'queryChange'); } else { this.filteredOptionsCount = this.optionsCount; this.broadcast('ElOption', 'queryChange', val); this.broadcast('ElOptionGroup', 'queryChange'); } if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) { this.checkDefaultFirstOption(); } }, scrollToOption: function scrollToOption(option) { var target = Array.isArray(option) && option[0] ? option[0].$el : option.$el; if (this.$refs.popper && target) { var menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap'); scroll_into_view_default()(menu, target); } this.$refs.scrollbar && this.$refs.scrollbar.handleScroll(); }, handleMenuEnter: function handleMenuEnter() { var _this7 = this; this.$nextTick(function () { return _this7.scrollToOption(_this7.selected); }); }, emitChange: function emitChange(val) { if (!Object(util_["valueEquals"])(this.value, val)) { this.$emit('change', val); } }, getOption: function getOption(value) { var option = void 0; var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]'; var isNull = Object.prototype.toString.call(value).toLowerCase() === '[object null]'; var isUndefined = Object.prototype.toString.call(value).toLowerCase() === '[object undefined]'; for (var i = this.cachedOptions.length - 1; i >= 0; i--) { var cachedOption = this.cachedOptions[i]; var isEqual = isObject ? Object(util_["getValueByPath"])(cachedOption.value, this.valueKey) === Object(util_["getValueByPath"])(value, this.valueKey) : cachedOption.value === value; if (isEqual) { option = cachedOption; break; } } if (option) return option; var label = !isObject && !isNull && !isUndefined ? String(value) : ''; var newOption = { value: value, currentLabel: label }; if (this.multiple) { newOption.hitState = false; } return newOption; }, setSelected: function setSelected() { var _this8 = this; if (!this.multiple) { var option = this.getOption(this.value); if (option.created) { this.createdLabel = option.currentLabel; this.createdSelected = true; } else { this.createdSelected = false; } this.selectedLabel = option.currentLabel; this.selected = option; if (this.filterable) this.query = this.selectedLabel; return; } var result = []; if (Array.isArray(this.value)) { this.value.forEach(function (value) { result.push(_this8.getOption(value)); }); } this.selected = result; this.$nextTick(function () { _this8.resetInputHeight(); }); }, handleFocus: function handleFocus(event) { if (!this.softFocus) { if (this.automaticDropdown || this.filterable) { if (this.filterable && !this.visible) { this.menuVisibleOnFocus = true; } this.visible = true; } this.$emit('focus', event); } else { this.softFocus = false; } }, blur: function blur() { this.visible = false; this.$refs.reference.blur(); }, handleBlur: function handleBlur(event) { var _this9 = this; setTimeout(function () { if (_this9.isSilentBlur) { _this9.isSilentBlur = false; } else { _this9.$emit('blur', event); } }, 50); this.softFocus = false; }, handleClearClick: function handleClearClick(event) { this.deleteSelected(event); }, doDestroy: function doDestroy() { this.$refs.popper && this.$refs.popper.doDestroy(); }, handleClose: function handleClose() { this.visible = false; }, toggleLastOptionHitState: function toggleLastOptionHitState(hit) { if (!Array.isArray(this.selected)) return; var option = this.selected[this.selected.length - 1]; if (!option) return; if (hit === true || hit === false) { option.hitState = hit; return hit; } option.hitState = !option.hitState; return option.hitState; }, deletePrevTag: function deletePrevTag(e) { if (e.target.value.length <= 0 && !this.toggleLastOptionHitState()) { var value = this.value.slice(); value.pop(); this.$emit('input', value); this.emitChange(value); } }, managePlaceholder: function managePlaceholder() { if (this.currentPlaceholder !== '') { this.currentPlaceholder = this.$refs.input.value ? '' : this.cachedPlaceHolder; } }, resetInputState: function resetInputState(e) { if (e.keyCode !== 8) this.toggleLastOptionHitState(false); this.inputLength = this.$refs.input.value.length * 15 + 20; this.resetInputHeight(); }, resetInputHeight: function resetInputHeight() { var _this10 = this; if (this.collapseTags && !this.filterable) return; this.$nextTick(function () { if (!_this10.$refs.reference) return; var inputChildNodes = _this10.$refs.reference.$el.childNodes; var input = [].filter.call(inputChildNodes, function (item) { return item.tagName === 'INPUT'; })[0]; var tags = _this10.$refs.tags; var tagsHeight = tags ? Math.round(tags.getBoundingClientRect().height) : 0; var sizeInMap = _this10.initialInputHeight || 40; input.style.height = _this10.selected.length === 0 ? sizeInMap + 'px' : Math.max(tags ? tagsHeight + (tagsHeight > sizeInMap ? 6 : 0) : 0, sizeInMap) + 'px'; if (_this10.visible && _this10.emptyText !== false) { _this10.broadcast('ElSelectDropdown', 'updatePopper'); } }); }, resetHoverIndex: function resetHoverIndex() { var _this11 = this; setTimeout(function () { if (!_this11.multiple) { _this11.hoverIndex = _this11.options.indexOf(_this11.selected); } else { if (_this11.selected.length > 0) { _this11.hoverIndex = Math.min.apply(null, _this11.selected.map(function (item) { return _this11.options.indexOf(item); })); } else { _this11.hoverIndex = -1; } } }, 300); }, handleOptionSelect: function handleOptionSelect(option, byClick) { var _this12 = this; if (this.multiple) { var value = (this.value || []).slice(); var optionIndex = this.getValueIndex(value, option.value); if (optionIndex > -1) { value.splice(optionIndex, 1); } else if (this.multipleLimit <= 0 || value.length < this.multipleLimit) { value.push(option.value); } this.$emit('input', value); this.emitChange(value); if (option.created) { this.query = ''; this.handleQueryChange(''); this.inputLength = 20; } if (this.filterable) this.$refs.input.focus(); } else { this.$emit('input', option.value); this.emitChange(option.value); this.visible = false; } this.isSilentBlur = byClick; this.setSoftFocus(); if (this.visible) return; this.$nextTick(function () { _this12.scrollToOption(option); }); }, setSoftFocus: function setSoftFocus() { this.softFocus = true; var input = this.$refs.input || this.$refs.reference; if (input) { input.focus(); } }, getValueIndex: function getValueIndex() { var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var value = arguments[1]; var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]'; if (!isObject) { return arr.indexOf(value); } else { var valueKey = this.valueKey; var index = -1; arr.some(function (item, i) { if (Object(util_["getValueByPath"])(item, valueKey) === Object(util_["getValueByPath"])(value, valueKey)) { index = i; return true; } return false; }); return index; } }, toggleMenu: function toggleMenu() { if (!this.selectDisabled) { if (this.menuVisibleOnFocus) { this.menuVisibleOnFocus = false; } else { this.visible = !this.visible; } if (this.visible) { (this.$refs.input || this.$refs.reference).focus(); } } }, selectOption: function selectOption() { if (!this.visible) { this.toggleMenu(); } else { if (this.options[this.hoverIndex]) { this.handleOptionSelect(this.options[this.hoverIndex]); } } }, deleteSelected: function deleteSelected(event) { event.stopPropagation(); var value = this.multiple ? [] : ''; this.$emit('input', value); this.emitChange(value); this.visible = false; this.$emit('clear'); }, deleteTag: function deleteTag(event, tag) { var index = this.selected.indexOf(tag); if (index > -1 && !this.selectDisabled) { var value = this.value.slice(); value.splice(index, 1); this.$emit('input', value); this.emitChange(value); this.$emit('remove-tag', tag.value); } event.stopPropagation(); }, onInputChange: function onInputChange() { if (this.filterable && this.query !== this.selectedLabel) { this.query = this.selectedLabel; this.handleQueryChange(this.query); } }, onOptionDestroy: function onOptionDestroy(index) { if (index > -1) { this.optionsCount--; this.filteredOptionsCount--; this.options.splice(index, 1); } }, resetInputWidth: function resetInputWidth() { this.inputWidth = this.$refs.reference.$el.getBoundingClientRect().width; }, handleResize: function handleResize() { this.resetInputWidth(); if (this.multiple) this.resetInputHeight(); }, checkDefaultFirstOption: function checkDefaultFirstOption() { this.hoverIndex = -1; // highlight the created option var hasCreated = false; for (var i = this.options.length - 1; i >= 0; i--) { if (this.options[i].created) { hasCreated = true; this.hoverIndex = i; break; } } if (hasCreated) return; for (var _i = 0; _i !== this.options.length; ++_i) { var option = this.options[_i]; if (this.query) { // highlight first options that passes the filter if (!option.disabled && !option.groupDisabled && option.visible) { this.hoverIndex = _i; break; } } else { // highlight currently selected option if (option.itemSelected) { this.hoverIndex = _i; break; } } } }, getValueKey: function getValueKey(item) { if (Object.prototype.toString.call(item.value).toLowerCase() !== '[object object]') { return item.value; } else { return Object(util_["getValueByPath"])(item.value, this.valueKey); } } }, created: function created() { var _this13 = this; this.cachedPlaceHolder = this.currentPlaceholder = this.propPlaceholder; if (this.multiple && !Array.isArray(this.value)) { this.$emit('input', []); } if (!this.multiple && Array.isArray(this.value)) { this.$emit('input', ''); } this.debouncedOnInputChange = debounce_default()(this.debounce, function () { _this13.onInputChange(); }); this.debouncedQueryChange = debounce_default()(this.debounce, function (e) { _this13.handleQueryChange(e.target.value); }); this.$on('handleOptionClick', this.handleOptionSelect); this.$on('setSelected', this.setSelected); }, mounted: function mounted() { var _this14 = this; if (this.multiple && Array.isArray(this.value) && this.value.length > 0) { this.currentPlaceholder = ''; } Object(resize_event_["addResizeListener"])(this.$el, this.handleResize); var reference = this.$refs.reference; if (reference && reference.$el) { var sizeMap = { medium: 36, small: 32, mini: 28 }; var input = reference.$el.querySelector('input'); this.initialInputHeight = input.getBoundingClientRect().height || sizeMap[this.selectSize]; } if (this.remote && this.multiple) { this.resetInputHeight(); } this.$nextTick(function () { if (reference && reference.$el) { _this14.inputWidth = reference.$el.getBoundingClientRect().width; } }); this.setSelected(); }, beforeDestroy: function beforeDestroy() { if (this.$el && this.handleResize) Object(resize_event_["removeResizeListener"])(this.$el, this.handleResize); } }); // CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=script&lang=js& /* harmony default export */ var src_selectvue_type_script_lang_js_ = (selectvue_type_script_lang_js_); // CONCATENATED MODULE: ./packages/select/src/select.vue /* normalize component */ var select_component = Object(componentNormalizer["a" /* default */])( src_selectvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null ) /* hot reload */ if (false) { var select_api; } select_component.options.__file = "packages/select/src/select.vue" /* harmony default export */ var src_select = (select_component.exports); // CONCATENATED MODULE: ./packages/select/index.js /* istanbul ignore next */ src_select.install = function (Vue) { Vue.component(src_select.name, src_select); }; /* harmony default export */ var packages_select = __webpack_exports__["default"] = (src_select); /***/ }) /******/ });