select.js 62 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161
  1. module.exports =
  2. /******/ (function(modules) { // webpackBootstrap
  3. /******/ // The module cache
  4. /******/ var installedModules = {};
  5. /******/
  6. /******/ // The require function
  7. /******/ function __webpack_require__(moduleId) {
  8. /******/
  9. /******/ // Check if module is in cache
  10. /******/ if(installedModules[moduleId]) {
  11. /******/ return installedModules[moduleId].exports;
  12. /******/ }
  13. /******/ // Create a new module (and put it into the cache)
  14. /******/ var module = installedModules[moduleId] = {
  15. /******/ i: moduleId,
  16. /******/ l: false,
  17. /******/ exports: {}
  18. /******/ };
  19. /******/
  20. /******/ // Execute the module function
  21. /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  22. /******/
  23. /******/ // Flag the module as loaded
  24. /******/ module.l = true;
  25. /******/
  26. /******/ // Return the exports of the module
  27. /******/ return module.exports;
  28. /******/ }
  29. /******/
  30. /******/
  31. /******/ // expose the modules object (__webpack_modules__)
  32. /******/ __webpack_require__.m = modules;
  33. /******/
  34. /******/ // expose the module cache
  35. /******/ __webpack_require__.c = installedModules;
  36. /******/
  37. /******/ // define getter function for harmony exports
  38. /******/ __webpack_require__.d = function(exports, name, getter) {
  39. /******/ if(!__webpack_require__.o(exports, name)) {
  40. /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
  41. /******/ }
  42. /******/ };
  43. /******/
  44. /******/ // define __esModule on exports
  45. /******/ __webpack_require__.r = function(exports) {
  46. /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  47. /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  48. /******/ }
  49. /******/ Object.defineProperty(exports, '__esModule', { value: true });
  50. /******/ };
  51. /******/
  52. /******/ // create a fake namespace object
  53. /******/ // mode & 1: value is a module id, require it
  54. /******/ // mode & 2: merge all properties of value into the ns
  55. /******/ // mode & 4: return value when already ns object
  56. /******/ // mode & 8|1: behave like require
  57. /******/ __webpack_require__.t = function(value, mode) {
  58. /******/ if(mode & 1) value = __webpack_require__(value);
  59. /******/ if(mode & 8) return value;
  60. /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  61. /******/ var ns = Object.create(null);
  62. /******/ __webpack_require__.r(ns);
  63. /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  64. /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  65. /******/ return ns;
  66. /******/ };
  67. /******/
  68. /******/ // getDefaultExport function for compatibility with non-harmony modules
  69. /******/ __webpack_require__.n = function(module) {
  70. /******/ var getter = module && module.__esModule ?
  71. /******/ function getDefault() { return module['default']; } :
  72. /******/ function getModuleExports() { return module; };
  73. /******/ __webpack_require__.d(getter, 'a', getter);
  74. /******/ return getter;
  75. /******/ };
  76. /******/
  77. /******/ // Object.prototype.hasOwnProperty.call
  78. /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  79. /******/
  80. /******/ // __webpack_public_path__
  81. /******/ __webpack_require__.p = "/dist/";
  82. /******/
  83. /******/
  84. /******/ // Load entry module and return exports
  85. /******/ return __webpack_require__(__webpack_require__.s = 61);
  86. /******/ })
  87. /************************************************************************/
  88. /******/ ({
  89. /***/ 0:
  90. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  91. "use strict";
  92. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
  93. /* globals __VUE_SSR_CONTEXT__ */
  94. // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
  95. // This module is a runtime utility for cleaner component module output and will
  96. // be included in the final webpack user bundle.
  97. function normalizeComponent (
  98. scriptExports,
  99. render,
  100. staticRenderFns,
  101. functionalTemplate,
  102. injectStyles,
  103. scopeId,
  104. moduleIdentifier, /* server only */
  105. shadowMode /* vue-cli only */
  106. ) {
  107. // Vue.extend constructor export interop
  108. var options = typeof scriptExports === 'function'
  109. ? scriptExports.options
  110. : scriptExports
  111. // render functions
  112. if (render) {
  113. options.render = render
  114. options.staticRenderFns = staticRenderFns
  115. options._compiled = true
  116. }
  117. // functional template
  118. if (functionalTemplate) {
  119. options.functional = true
  120. }
  121. // scopedId
  122. if (scopeId) {
  123. options._scopeId = 'data-v-' + scopeId
  124. }
  125. var hook
  126. if (moduleIdentifier) { // server build
  127. hook = function (context) {
  128. // 2.3 injection
  129. context =
  130. context || // cached call
  131. (this.$vnode && this.$vnode.ssrContext) || // stateful
  132. (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
  133. // 2.2 with runInNewContext: true
  134. if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
  135. context = __VUE_SSR_CONTEXT__
  136. }
  137. // inject component styles
  138. if (injectStyles) {
  139. injectStyles.call(this, context)
  140. }
  141. // register component module identifier for async chunk inferrence
  142. if (context && context._registeredComponents) {
  143. context._registeredComponents.add(moduleIdentifier)
  144. }
  145. }
  146. // used by ssr in case component is cached and beforeCreate
  147. // never gets called
  148. options._ssrRegister = hook
  149. } else if (injectStyles) {
  150. hook = shadowMode
  151. ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }
  152. : injectStyles
  153. }
  154. if (hook) {
  155. if (options.functional) {
  156. // for template-only hot-reload because in that case the render fn doesn't
  157. // go through the normalizer
  158. options._injectStyles = hook
  159. // register for functioal component in vue file
  160. var originalRender = options.render
  161. options.render = function renderWithStyleInjection (h, context) {
  162. hook.call(context)
  163. return originalRender(h, context)
  164. }
  165. } else {
  166. // inject component registration as beforeCreate hook
  167. var existing = options.beforeCreate
  168. options.beforeCreate = existing
  169. ? [].concat(existing, hook)
  170. : [hook]
  171. }
  172. }
  173. return {
  174. exports: scriptExports,
  175. options: options
  176. }
  177. }
  178. /***/ }),
  179. /***/ 10:
  180. /***/ (function(module, exports) {
  181. module.exports = require("element-ui/lib/input");
  182. /***/ }),
  183. /***/ 12:
  184. /***/ (function(module, exports) {
  185. module.exports = require("element-ui/lib/utils/clickoutside");
  186. /***/ }),
  187. /***/ 15:
  188. /***/ (function(module, exports) {
  189. module.exports = require("element-ui/lib/scrollbar");
  190. /***/ }),
  191. /***/ 16:
  192. /***/ (function(module, exports) {
  193. module.exports = require("element-ui/lib/utils/resize-event");
  194. /***/ }),
  195. /***/ 18:
  196. /***/ (function(module, exports) {
  197. module.exports = require("throttle-debounce/debounce");
  198. /***/ }),
  199. /***/ 21:
  200. /***/ (function(module, exports) {
  201. module.exports = require("element-ui/lib/utils/shared");
  202. /***/ }),
  203. /***/ 22:
  204. /***/ (function(module, exports) {
  205. module.exports = require("element-ui/lib/mixins/focus");
  206. /***/ }),
  207. /***/ 3:
  208. /***/ (function(module, exports) {
  209. module.exports = require("element-ui/lib/utils/util");
  210. /***/ }),
  211. /***/ 31:
  212. /***/ (function(module, exports) {
  213. module.exports = require("element-ui/lib/utils/scroll-into-view");
  214. /***/ }),
  215. /***/ 33:
  216. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  217. "use strict";
  218. // 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&
  219. var render = function() {
  220. var _vm = this
  221. var _h = _vm.$createElement
  222. var _c = _vm._self._c || _h
  223. return _c(
  224. "li",
  225. {
  226. directives: [
  227. {
  228. name: "show",
  229. rawName: "v-show",
  230. value: _vm.visible,
  231. expression: "visible"
  232. }
  233. ],
  234. staticClass: "el-select-dropdown__item",
  235. class: {
  236. selected: _vm.itemSelected,
  237. "is-disabled": _vm.disabled || _vm.groupDisabled || _vm.limitReached,
  238. hover: _vm.hover
  239. },
  240. on: {
  241. mouseenter: _vm.hoverItem,
  242. click: function($event) {
  243. $event.stopPropagation()
  244. return _vm.selectOptionClick($event)
  245. }
  246. }
  247. },
  248. [_vm._t("default", [_c("span", [_vm._v(_vm._s(_vm.currentLabel))])])],
  249. 2
  250. )
  251. }
  252. var staticRenderFns = []
  253. render._withStripped = true
  254. // CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642&
  255. // EXTERNAL MODULE: external "element-ui/lib/mixins/emitter"
  256. var emitter_ = __webpack_require__(4);
  257. var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
  258. // EXTERNAL MODULE: external "element-ui/lib/utils/util"
  259. var util_ = __webpack_require__(3);
  260. // 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&
  261. 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; };
  262. //
  263. //
  264. //
  265. //
  266. //
  267. //
  268. //
  269. //
  270. //
  271. //
  272. //
  273. //
  274. //
  275. //
  276. //
  277. //
  278. //
  279. /* harmony default export */ var optionvue_type_script_lang_js_ = ({
  280. mixins: [emitter_default.a],
  281. name: 'ElOption',
  282. componentName: 'ElOption',
  283. inject: ['select'],
  284. props: {
  285. value: {
  286. required: true
  287. },
  288. label: [String, Number],
  289. created: Boolean,
  290. disabled: {
  291. type: Boolean,
  292. default: false
  293. }
  294. },
  295. data: function data() {
  296. return {
  297. index: -1,
  298. groupDisabled: false,
  299. visible: true,
  300. hitState: false,
  301. hover: false
  302. };
  303. },
  304. computed: {
  305. isObject: function isObject() {
  306. return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]';
  307. },
  308. currentLabel: function currentLabel() {
  309. return this.label || (this.isObject ? '' : this.value);
  310. },
  311. currentValue: function currentValue() {
  312. return this.value || this.label || '';
  313. },
  314. itemSelected: function itemSelected() {
  315. if (!this.select.multiple) {
  316. return this.isEqual(this.value, this.select.value);
  317. } else {
  318. return this.contains(this.select.value, this.value);
  319. }
  320. },
  321. limitReached: function limitReached() {
  322. if (this.select.multiple) {
  323. return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0;
  324. } else {
  325. return false;
  326. }
  327. }
  328. },
  329. watch: {
  330. currentLabel: function currentLabel() {
  331. if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected');
  332. },
  333. value: function value(val, oldVal) {
  334. var _select = this.select,
  335. remote = _select.remote,
  336. valueKey = _select.valueKey;
  337. if (!this.created && !remote) {
  338. if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) {
  339. return;
  340. }
  341. this.dispatch('ElSelect', 'setSelected');
  342. }
  343. }
  344. },
  345. methods: {
  346. isEqual: function isEqual(a, b) {
  347. if (!this.isObject) {
  348. return a === b;
  349. } else {
  350. var valueKey = this.select.valueKey;
  351. return Object(util_["getValueByPath"])(a, valueKey) === Object(util_["getValueByPath"])(b, valueKey);
  352. }
  353. },
  354. contains: function contains() {
  355. var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
  356. var target = arguments[1];
  357. if (!this.isObject) {
  358. return arr && arr.indexOf(target) > -1;
  359. } else {
  360. var valueKey = this.select.valueKey;
  361. return arr && arr.some(function (item) {
  362. return Object(util_["getValueByPath"])(item, valueKey) === Object(util_["getValueByPath"])(target, valueKey);
  363. });
  364. }
  365. },
  366. handleGroupDisabled: function handleGroupDisabled(val) {
  367. this.groupDisabled = val;
  368. },
  369. hoverItem: function hoverItem() {
  370. if (!this.disabled && !this.groupDisabled) {
  371. this.select.hoverIndex = this.select.options.indexOf(this);
  372. }
  373. },
  374. selectOptionClick: function selectOptionClick() {
  375. if (this.disabled !== true && this.groupDisabled !== true) {
  376. this.dispatch('ElSelect', 'handleOptionClick', [this, true]);
  377. }
  378. },
  379. queryChange: function queryChange(query) {
  380. this.visible = new RegExp(Object(util_["escapeRegexpString"])(query), 'i').test(this.currentLabel) || this.created;
  381. if (!this.visible) {
  382. this.select.filteredOptionsCount--;
  383. }
  384. }
  385. },
  386. created: function created() {
  387. this.select.options.push(this);
  388. this.select.cachedOptions.push(this);
  389. this.select.optionsCount++;
  390. this.select.filteredOptionsCount++;
  391. this.$on('queryChange', this.queryChange);
  392. this.$on('handleGroupDisabled', this.handleGroupDisabled);
  393. },
  394. beforeDestroy: function beforeDestroy() {
  395. var _select2 = this.select,
  396. selected = _select2.selected,
  397. multiple = _select2.multiple;
  398. var selectedOptions = multiple ? selected : [selected];
  399. var index = this.select.cachedOptions.indexOf(this);
  400. var selectedIndex = selectedOptions.indexOf(this);
  401. // if option is not selected, remove it from cache
  402. if (index > -1 && selectedIndex < 0) {
  403. this.select.cachedOptions.splice(index, 1);
  404. }
  405. this.select.onOptionDestroy(this.select.options.indexOf(this));
  406. }
  407. });
  408. // CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js&
  409. /* harmony default export */ var src_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_);
  410. // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
  411. var componentNormalizer = __webpack_require__(0);
  412. // CONCATENATED MODULE: ./packages/select/src/option.vue
  413. /* normalize component */
  414. var component = Object(componentNormalizer["a" /* default */])(
  415. src_optionvue_type_script_lang_js_,
  416. render,
  417. staticRenderFns,
  418. false,
  419. null,
  420. null,
  421. null
  422. )
  423. /* hot reload */
  424. if (false) { var api; }
  425. component.options.__file = "packages/select/src/option.vue"
  426. /* harmony default export */ var src_option = __webpack_exports__["a"] = (component.exports);
  427. /***/ }),
  428. /***/ 37:
  429. /***/ (function(module, exports) {
  430. module.exports = require("element-ui/lib/tag");
  431. /***/ }),
  432. /***/ 4:
  433. /***/ (function(module, exports) {
  434. module.exports = require("element-ui/lib/mixins/emitter");
  435. /***/ }),
  436. /***/ 5:
  437. /***/ (function(module, exports) {
  438. module.exports = require("element-ui/lib/utils/vue-popper");
  439. /***/ }),
  440. /***/ 6:
  441. /***/ (function(module, exports) {
  442. module.exports = require("element-ui/lib/mixins/locale");
  443. /***/ }),
  444. /***/ 61:
  445. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  446. "use strict";
  447. __webpack_require__.r(__webpack_exports__);
  448. // 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&
  449. var render = function() {
  450. var _vm = this
  451. var _h = _vm.$createElement
  452. var _c = _vm._self._c || _h
  453. return _c(
  454. "div",
  455. {
  456. directives: [
  457. {
  458. name: "clickoutside",
  459. rawName: "v-clickoutside",
  460. value: _vm.handleClose,
  461. expression: "handleClose"
  462. }
  463. ],
  464. staticClass: "el-select",
  465. class: [_vm.selectSize ? "el-select--" + _vm.selectSize : ""],
  466. on: {
  467. click: function($event) {
  468. $event.stopPropagation()
  469. return _vm.toggleMenu($event)
  470. }
  471. }
  472. },
  473. [
  474. _vm.multiple
  475. ? _c(
  476. "div",
  477. {
  478. ref: "tags",
  479. staticClass: "el-select__tags",
  480. style: { "max-width": _vm.inputWidth - 32 + "px", width: "100%" }
  481. },
  482. [
  483. _vm.collapseTags && _vm.selected.length
  484. ? _c(
  485. "span",
  486. [
  487. _c(
  488. "el-tag",
  489. {
  490. attrs: {
  491. closable: !_vm.selectDisabled,
  492. size: _vm.collapseTagSize,
  493. hit: _vm.selected[0].hitState,
  494. type: "info",
  495. "disable-transitions": ""
  496. },
  497. on: {
  498. close: function($event) {
  499. _vm.deleteTag($event, _vm.selected[0])
  500. }
  501. }
  502. },
  503. [
  504. _c("span", { staticClass: "el-select__tags-text" }, [
  505. _vm._v(_vm._s(_vm.selected[0].currentLabel))
  506. ])
  507. ]
  508. ),
  509. _vm.selected.length > 1
  510. ? _c(
  511. "el-tag",
  512. {
  513. attrs: {
  514. closable: false,
  515. size: _vm.collapseTagSize,
  516. type: "info",
  517. "disable-transitions": ""
  518. }
  519. },
  520. [
  521. _c(
  522. "span",
  523. { staticClass: "el-select__tags-text" },
  524. [_vm._v("+ " + _vm._s(_vm.selected.length - 1))]
  525. )
  526. ]
  527. )
  528. : _vm._e()
  529. ],
  530. 1
  531. )
  532. : _vm._e(),
  533. !_vm.collapseTags
  534. ? _c(
  535. "transition-group",
  536. { on: { "after-leave": _vm.resetInputHeight } },
  537. _vm._l(_vm.selected, function(item) {
  538. return _c(
  539. "el-tag",
  540. {
  541. key: _vm.getValueKey(item),
  542. attrs: {
  543. closable: !_vm.selectDisabled,
  544. size: _vm.collapseTagSize,
  545. hit: item.hitState,
  546. type: "info",
  547. "disable-transitions": ""
  548. },
  549. on: {
  550. close: function($event) {
  551. _vm.deleteTag($event, item)
  552. }
  553. }
  554. },
  555. [
  556. _c("span", { staticClass: "el-select__tags-text" }, [
  557. _vm._v(_vm._s(item.currentLabel))
  558. ])
  559. ]
  560. )
  561. }),
  562. 1
  563. )
  564. : _vm._e(),
  565. _vm.filterable
  566. ? _c("input", {
  567. directives: [
  568. {
  569. name: "model",
  570. rawName: "v-model",
  571. value: _vm.query,
  572. expression: "query"
  573. }
  574. ],
  575. ref: "input",
  576. staticClass: "el-select__input",
  577. class: [_vm.selectSize ? "is-" + _vm.selectSize : ""],
  578. style: {
  579. "flex-grow": "1",
  580. width: _vm.inputLength / (_vm.inputWidth - 32) + "%",
  581. "max-width": _vm.inputWidth - 42 + "px"
  582. },
  583. attrs: {
  584. type: "text",
  585. disabled: _vm.selectDisabled,
  586. autocomplete: _vm.autoComplete || _vm.autocomplete
  587. },
  588. domProps: { value: _vm.query },
  589. on: {
  590. focus: _vm.handleFocus,
  591. blur: function($event) {
  592. _vm.softFocus = false
  593. },
  594. keyup: _vm.managePlaceholder,
  595. keydown: [
  596. _vm.resetInputState,
  597. function($event) {
  598. if (
  599. !("button" in $event) &&
  600. _vm._k($event.keyCode, "down", 40, $event.key, [
  601. "Down",
  602. "ArrowDown"
  603. ])
  604. ) {
  605. return null
  606. }
  607. $event.preventDefault()
  608. _vm.navigateOptions("next")
  609. },
  610. function($event) {
  611. if (
  612. !("button" in $event) &&
  613. _vm._k($event.keyCode, "up", 38, $event.key, [
  614. "Up",
  615. "ArrowUp"
  616. ])
  617. ) {
  618. return null
  619. }
  620. $event.preventDefault()
  621. _vm.navigateOptions("prev")
  622. },
  623. function($event) {
  624. if (
  625. !("button" in $event) &&
  626. _vm._k(
  627. $event.keyCode,
  628. "enter",
  629. 13,
  630. $event.key,
  631. "Enter"
  632. )
  633. ) {
  634. return null
  635. }
  636. $event.preventDefault()
  637. return _vm.selectOption($event)
  638. },
  639. function($event) {
  640. if (
  641. !("button" in $event) &&
  642. _vm._k($event.keyCode, "esc", 27, $event.key, [
  643. "Esc",
  644. "Escape"
  645. ])
  646. ) {
  647. return null
  648. }
  649. $event.stopPropagation()
  650. $event.preventDefault()
  651. _vm.visible = false
  652. },
  653. function($event) {
  654. if (
  655. !("button" in $event) &&
  656. _vm._k(
  657. $event.keyCode,
  658. "delete",
  659. [8, 46],
  660. $event.key,
  661. ["Backspace", "Delete", "Del"]
  662. )
  663. ) {
  664. return null
  665. }
  666. return _vm.deletePrevTag($event)
  667. },
  668. function($event) {
  669. if (
  670. !("button" in $event) &&
  671. _vm._k($event.keyCode, "tab", 9, $event.key, "Tab")
  672. ) {
  673. return null
  674. }
  675. _vm.visible = false
  676. }
  677. ],
  678. compositionstart: _vm.handleComposition,
  679. compositionupdate: _vm.handleComposition,
  680. compositionend: _vm.handleComposition,
  681. input: [
  682. function($event) {
  683. if ($event.target.composing) {
  684. return
  685. }
  686. _vm.query = $event.target.value
  687. },
  688. _vm.debouncedQueryChange
  689. ]
  690. }
  691. })
  692. : _vm._e()
  693. ],
  694. 1
  695. )
  696. : _vm._e(),
  697. _c(
  698. "el-input",
  699. {
  700. ref: "reference",
  701. class: { "is-focus": _vm.visible },
  702. attrs: {
  703. type: "text",
  704. placeholder: _vm.currentPlaceholder,
  705. name: _vm.name,
  706. id: _vm.id,
  707. autocomplete: _vm.autoComplete || _vm.autocomplete,
  708. size: _vm.selectSize,
  709. disabled: _vm.selectDisabled,
  710. readonly: _vm.readonly,
  711. "validate-event": false,
  712. tabindex: _vm.multiple && _vm.filterable ? "-1" : null
  713. },
  714. on: {
  715. focus: _vm.handleFocus,
  716. blur: _vm.handleBlur,
  717. input: _vm.debouncedOnInputChange
  718. },
  719. nativeOn: {
  720. keydown: [
  721. function($event) {
  722. if (
  723. !("button" in $event) &&
  724. _vm._k($event.keyCode, "down", 40, $event.key, [
  725. "Down",
  726. "ArrowDown"
  727. ])
  728. ) {
  729. return null
  730. }
  731. $event.stopPropagation()
  732. $event.preventDefault()
  733. _vm.navigateOptions("next")
  734. },
  735. function($event) {
  736. if (
  737. !("button" in $event) &&
  738. _vm._k($event.keyCode, "up", 38, $event.key, [
  739. "Up",
  740. "ArrowUp"
  741. ])
  742. ) {
  743. return null
  744. }
  745. $event.stopPropagation()
  746. $event.preventDefault()
  747. _vm.navigateOptions("prev")
  748. },
  749. function($event) {
  750. if (
  751. !("button" in $event) &&
  752. _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")
  753. ) {
  754. return null
  755. }
  756. $event.preventDefault()
  757. return _vm.selectOption($event)
  758. },
  759. function($event) {
  760. if (
  761. !("button" in $event) &&
  762. _vm._k($event.keyCode, "esc", 27, $event.key, [
  763. "Esc",
  764. "Escape"
  765. ])
  766. ) {
  767. return null
  768. }
  769. $event.stopPropagation()
  770. $event.preventDefault()
  771. _vm.visible = false
  772. },
  773. function($event) {
  774. if (
  775. !("button" in $event) &&
  776. _vm._k($event.keyCode, "tab", 9, $event.key, "Tab")
  777. ) {
  778. return null
  779. }
  780. _vm.visible = false
  781. }
  782. ],
  783. mouseenter: function($event) {
  784. _vm.inputHovering = true
  785. },
  786. mouseleave: function($event) {
  787. _vm.inputHovering = false
  788. }
  789. },
  790. model: {
  791. value: _vm.selectedLabel,
  792. callback: function($$v) {
  793. _vm.selectedLabel = $$v
  794. },
  795. expression: "selectedLabel"
  796. }
  797. },
  798. [
  799. _vm.$slots.prefix
  800. ? _c("template", { slot: "prefix" }, [_vm._t("prefix")], 2)
  801. : _vm._e(),
  802. _c("template", { slot: "suffix" }, [
  803. _c("i", {
  804. directives: [
  805. {
  806. name: "show",
  807. rawName: "v-show",
  808. value: !_vm.showClose,
  809. expression: "!showClose"
  810. }
  811. ],
  812. class: [
  813. "el-select__caret",
  814. "el-input__icon",
  815. "el-icon-" + _vm.iconClass
  816. ]
  817. }),
  818. _vm.showClose
  819. ? _c("i", {
  820. staticClass:
  821. "el-select__caret el-input__icon el-icon-circle-close",
  822. on: { click: _vm.handleClearClick }
  823. })
  824. : _vm._e()
  825. ])
  826. ],
  827. 2
  828. ),
  829. _c(
  830. "transition",
  831. {
  832. attrs: { name: "el-zoom-in-top" },
  833. on: {
  834. "before-enter": _vm.handleMenuEnter,
  835. "after-leave": _vm.doDestroy
  836. }
  837. },
  838. [
  839. _c(
  840. "el-select-menu",
  841. {
  842. directives: [
  843. {
  844. name: "show",
  845. rawName: "v-show",
  846. value: _vm.visible && _vm.emptyText !== false,
  847. expression: "visible && emptyText !== false"
  848. }
  849. ],
  850. ref: "popper",
  851. attrs: { "append-to-body": _vm.popperAppendToBody }
  852. },
  853. [
  854. _c(
  855. "el-scrollbar",
  856. {
  857. directives: [
  858. {
  859. name: "show",
  860. rawName: "v-show",
  861. value: _vm.options.length > 0 && !_vm.loading,
  862. expression: "options.length > 0 && !loading"
  863. }
  864. ],
  865. ref: "scrollbar",
  866. class: {
  867. "is-empty":
  868. !_vm.allowCreate &&
  869. _vm.query &&
  870. _vm.filteredOptionsCount === 0
  871. },
  872. attrs: {
  873. tag: "ul",
  874. "wrap-class": "el-select-dropdown__wrap",
  875. "view-class": "el-select-dropdown__list"
  876. }
  877. },
  878. [
  879. _vm.showNewOption
  880. ? _c("el-option", {
  881. attrs: { value: _vm.query, created: "" }
  882. })
  883. : _vm._e(),
  884. _vm._t("default")
  885. ],
  886. 2
  887. ),
  888. _vm.emptyText &&
  889. (!_vm.allowCreate ||
  890. _vm.loading ||
  891. (_vm.allowCreate && _vm.options.length === 0))
  892. ? [
  893. _vm.$slots.empty
  894. ? _vm._t("empty")
  895. : _c("p", { staticClass: "el-select-dropdown__empty" }, [
  896. _vm._v(
  897. "\n " +
  898. _vm._s(_vm.emptyText) +
  899. "\n "
  900. )
  901. ])
  902. ]
  903. : _vm._e()
  904. ],
  905. 2
  906. )
  907. ],
  908. 1
  909. )
  910. ],
  911. 1
  912. )
  913. }
  914. var staticRenderFns = []
  915. render._withStripped = true
  916. // CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=template&id=0e4aade6&
  917. // EXTERNAL MODULE: external "element-ui/lib/mixins/emitter"
  918. var emitter_ = __webpack_require__(4);
  919. var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
  920. // EXTERNAL MODULE: external "element-ui/lib/mixins/focus"
  921. var focus_ = __webpack_require__(22);
  922. var focus_default = /*#__PURE__*/__webpack_require__.n(focus_);
  923. // EXTERNAL MODULE: external "element-ui/lib/mixins/locale"
  924. var locale_ = __webpack_require__(6);
  925. var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
  926. // EXTERNAL MODULE: external "element-ui/lib/input"
  927. var input_ = __webpack_require__(10);
  928. var input_default = /*#__PURE__*/__webpack_require__.n(input_);
  929. // 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&
  930. var select_dropdownvue_type_template_id_06828748_render = function() {
  931. var _vm = this
  932. var _h = _vm.$createElement
  933. var _c = _vm._self._c || _h
  934. return _c(
  935. "div",
  936. {
  937. staticClass: "el-select-dropdown el-popper",
  938. class: [{ "is-multiple": _vm.$parent.multiple }, _vm.popperClass],
  939. style: { minWidth: _vm.minWidth }
  940. },
  941. [_vm._t("default")],
  942. 2
  943. )
  944. }
  945. var select_dropdownvue_type_template_id_06828748_staticRenderFns = []
  946. select_dropdownvue_type_template_id_06828748_render._withStripped = true
  947. // CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748&
  948. // EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper"
  949. var vue_popper_ = __webpack_require__(5);
  950. var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);
  951. // 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&
  952. //
  953. //
  954. //
  955. //
  956. //
  957. //
  958. //
  959. //
  960. //
  961. /* harmony default export */ var select_dropdownvue_type_script_lang_js_ = ({
  962. name: 'ElSelectDropdown',
  963. componentName: 'ElSelectDropdown',
  964. mixins: [vue_popper_default.a],
  965. props: {
  966. placement: {
  967. default: 'bottom-start'
  968. },
  969. boundariesPadding: {
  970. default: 0
  971. },
  972. popperOptions: {
  973. default: function _default() {
  974. return {
  975. gpuAcceleration: false
  976. };
  977. }
  978. },
  979. visibleArrow: {
  980. default: true
  981. },
  982. appendToBody: {
  983. type: Boolean,
  984. default: true
  985. }
  986. },
  987. data: function data() {
  988. return {
  989. minWidth: ''
  990. };
  991. },
  992. computed: {
  993. popperClass: function popperClass() {
  994. return this.$parent.popperClass;
  995. }
  996. },
  997. watch: {
  998. '$parent.inputWidth': function $parentInputWidth() {
  999. this.minWidth = this.$parent.$el.getBoundingClientRect().width + 'px';
  1000. }
  1001. },
  1002. mounted: function mounted() {
  1003. var _this = this;
  1004. this.referenceElm = this.$parent.$refs.reference.$el;
  1005. this.$parent.popperElm = this.popperElm = this.$el;
  1006. this.$on('updatePopper', function () {
  1007. if (_this.$parent.visible) _this.updatePopper();
  1008. });
  1009. this.$on('destroyPopper', this.destroyPopper);
  1010. }
  1011. });
  1012. // CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&
  1013. /* harmony default export */ var src_select_dropdownvue_type_script_lang_js_ = (select_dropdownvue_type_script_lang_js_);
  1014. // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
  1015. var componentNormalizer = __webpack_require__(0);
  1016. // CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue
  1017. /* normalize component */
  1018. var component = Object(componentNormalizer["a" /* default */])(
  1019. src_select_dropdownvue_type_script_lang_js_,
  1020. select_dropdownvue_type_template_id_06828748_render,
  1021. select_dropdownvue_type_template_id_06828748_staticRenderFns,
  1022. false,
  1023. null,
  1024. null,
  1025. null
  1026. )
  1027. /* hot reload */
  1028. if (false) { var api; }
  1029. component.options.__file = "packages/select/src/select-dropdown.vue"
  1030. /* harmony default export */ var select_dropdown = (component.exports);
  1031. // EXTERNAL MODULE: ./packages/select/src/option.vue + 4 modules
  1032. var src_option = __webpack_require__(33);
  1033. // EXTERNAL MODULE: external "element-ui/lib/tag"
  1034. var tag_ = __webpack_require__(37);
  1035. var tag_default = /*#__PURE__*/__webpack_require__.n(tag_);
  1036. // EXTERNAL MODULE: external "element-ui/lib/scrollbar"
  1037. var scrollbar_ = __webpack_require__(15);
  1038. var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);
  1039. // EXTERNAL MODULE: external "throttle-debounce/debounce"
  1040. var debounce_ = __webpack_require__(18);
  1041. var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);
  1042. // EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside"
  1043. var clickoutside_ = __webpack_require__(12);
  1044. var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
  1045. // EXTERNAL MODULE: external "element-ui/lib/utils/resize-event"
  1046. var resize_event_ = __webpack_require__(16);
  1047. // EXTERNAL MODULE: external "element-ui/lib/utils/scroll-into-view"
  1048. var scroll_into_view_ = __webpack_require__(31);
  1049. var scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_);
  1050. // EXTERNAL MODULE: external "element-ui/lib/utils/util"
  1051. var util_ = __webpack_require__(3);
  1052. // CONCATENATED MODULE: ./packages/select/src/navigation-mixin.js
  1053. /* harmony default export */ var navigation_mixin = ({
  1054. data: function data() {
  1055. return {
  1056. hoverOption: -1
  1057. };
  1058. },
  1059. computed: {
  1060. optionsAllDisabled: function optionsAllDisabled() {
  1061. return this.options.filter(function (option) {
  1062. return option.visible;
  1063. }).every(function (option) {
  1064. return option.disabled;
  1065. });
  1066. }
  1067. },
  1068. watch: {
  1069. hoverIndex: function hoverIndex(val) {
  1070. var _this = this;
  1071. if (typeof val === 'number' && val > -1) {
  1072. this.hoverOption = this.options[val] || {};
  1073. }
  1074. this.options.forEach(function (option) {
  1075. option.hover = _this.hoverOption === option;
  1076. });
  1077. }
  1078. },
  1079. methods: {
  1080. navigateOptions: function navigateOptions(direction) {
  1081. var _this2 = this;
  1082. if (!this.visible) {
  1083. this.visible = true;
  1084. return;
  1085. }
  1086. if (this.options.length === 0 || this.filteredOptionsCount === 0) return;
  1087. if (!this.optionsAllDisabled) {
  1088. if (direction === 'next') {
  1089. this.hoverIndex++;
  1090. if (this.hoverIndex === this.options.length) {
  1091. this.hoverIndex = 0;
  1092. }
  1093. } else if (direction === 'prev') {
  1094. this.hoverIndex--;
  1095. if (this.hoverIndex < 0) {
  1096. this.hoverIndex = this.options.length - 1;
  1097. }
  1098. }
  1099. var option = this.options[this.hoverIndex];
  1100. if (option.disabled === true || option.groupDisabled === true || !option.visible) {
  1101. this.navigateOptions(direction);
  1102. }
  1103. this.$nextTick(function () {
  1104. return _this2.scrollToOption(_this2.hoverOption);
  1105. });
  1106. }
  1107. }
  1108. }
  1109. });
  1110. // EXTERNAL MODULE: external "element-ui/lib/utils/shared"
  1111. var shared_ = __webpack_require__(21);
  1112. // 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&
  1113. //
  1114. //
  1115. //
  1116. //
  1117. //
  1118. //
  1119. //
  1120. //
  1121. //
  1122. //
  1123. //
  1124. //
  1125. //
  1126. //
  1127. //
  1128. //
  1129. //
  1130. //
  1131. //
  1132. //
  1133. //
  1134. //
  1135. //
  1136. //
  1137. //
  1138. //
  1139. //
  1140. //
  1141. //
  1142. //
  1143. //
  1144. //
  1145. //
  1146. //
  1147. //
  1148. //
  1149. //
  1150. //
  1151. //
  1152. //
  1153. //
  1154. //
  1155. //
  1156. //
  1157. //
  1158. //
  1159. //
  1160. //
  1161. //
  1162. //
  1163. //
  1164. //
  1165. //
  1166. //
  1167. //
  1168. //
  1169. //
  1170. //
  1171. //
  1172. //
  1173. //
  1174. //
  1175. //
  1176. //
  1177. //
  1178. //
  1179. //
  1180. //
  1181. //
  1182. //
  1183. //
  1184. //
  1185. //
  1186. //
  1187. //
  1188. //
  1189. //
  1190. //
  1191. //
  1192. //
  1193. //
  1194. //
  1195. //
  1196. //
  1197. //
  1198. //
  1199. //
  1200. //
  1201. //
  1202. //
  1203. //
  1204. //
  1205. //
  1206. //
  1207. //
  1208. //
  1209. //
  1210. //
  1211. //
  1212. //
  1213. //
  1214. //
  1215. //
  1216. //
  1217. //
  1218. //
  1219. //
  1220. //
  1221. //
  1222. //
  1223. //
  1224. //
  1225. //
  1226. //
  1227. //
  1228. //
  1229. //
  1230. //
  1231. //
  1232. //
  1233. //
  1234. //
  1235. //
  1236. //
  1237. //
  1238. //
  1239. //
  1240. //
  1241. //
  1242. //
  1243. //
  1244. //
  1245. //
  1246. //
  1247. /* harmony default export */ var selectvue_type_script_lang_js_ = ({
  1248. mixins: [emitter_default.a, locale_default.a, focus_default()('reference'), navigation_mixin],
  1249. name: 'ElSelect',
  1250. componentName: 'ElSelect',
  1251. inject: {
  1252. elForm: {
  1253. default: ''
  1254. },
  1255. elFormItem: {
  1256. default: ''
  1257. }
  1258. },
  1259. provide: function provide() {
  1260. return {
  1261. 'select': this
  1262. };
  1263. },
  1264. computed: {
  1265. _elFormItemSize: function _elFormItemSize() {
  1266. return (this.elFormItem || {}).elFormItemSize;
  1267. },
  1268. readonly: function readonly() {
  1269. return !this.filterable || this.multiple || !Object(util_["isIE"])() && !Object(util_["isEdge"])() && !this.visible;
  1270. },
  1271. showClose: function showClose() {
  1272. var hasValue = this.multiple ? Array.isArray(this.value) && this.value.length > 0 : this.value !== undefined && this.value !== null && this.value !== '';
  1273. var criteria = this.clearable && !this.selectDisabled && this.inputHovering && hasValue;
  1274. return criteria;
  1275. },
  1276. iconClass: function iconClass() {
  1277. return this.remote && this.filterable ? '' : this.visible ? 'arrow-up is-reverse' : 'arrow-up';
  1278. },
  1279. debounce: function debounce() {
  1280. return this.remote ? 300 : 0;
  1281. },
  1282. emptyText: function emptyText() {
  1283. if (this.loading) {
  1284. return this.loadingText || this.t('el.select.loading');
  1285. } else {
  1286. if (this.remote && this.query === '' && this.options.length === 0) return false;
  1287. if (this.filterable && this.query && this.options.length > 0 && this.filteredOptionsCount === 0) {
  1288. return this.noMatchText || this.t('el.select.noMatch');
  1289. }
  1290. if (this.options.length === 0) {
  1291. return this.noDataText || this.t('el.select.noData');
  1292. }
  1293. }
  1294. return null;
  1295. },
  1296. showNewOption: function showNewOption() {
  1297. var _this = this;
  1298. var hasExistingOption = this.options.filter(function (option) {
  1299. return !option.created;
  1300. }).some(function (option) {
  1301. return option.currentLabel === _this.query;
  1302. });
  1303. return this.filterable && this.allowCreate && this.query !== '' && !hasExistingOption;
  1304. },
  1305. selectSize: function selectSize() {
  1306. return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;
  1307. },
  1308. selectDisabled: function selectDisabled() {
  1309. return this.disabled || (this.elForm || {}).disabled;
  1310. },
  1311. collapseTagSize: function collapseTagSize() {
  1312. return ['small', 'mini'].indexOf(this.selectSize) > -1 ? 'mini' : 'small';
  1313. },
  1314. propPlaceholder: function propPlaceholder() {
  1315. return typeof this.placeholder !== 'undefined' ? this.placeholder : this.t('el.select.placeholder');
  1316. }
  1317. },
  1318. components: {
  1319. ElInput: input_default.a,
  1320. ElSelectMenu: select_dropdown,
  1321. ElOption: src_option["a" /* default */],
  1322. ElTag: tag_default.a,
  1323. ElScrollbar: scrollbar_default.a
  1324. },
  1325. directives: { Clickoutside: clickoutside_default.a },
  1326. props: {
  1327. name: String,
  1328. id: String,
  1329. value: {
  1330. required: true
  1331. },
  1332. autocomplete: {
  1333. type: String,
  1334. default: 'off'
  1335. },
  1336. /** @Deprecated in next major version */
  1337. autoComplete: {
  1338. type: String,
  1339. validator: function validator(val) {
  1340. false && false;
  1341. return true;
  1342. }
  1343. },
  1344. automaticDropdown: Boolean,
  1345. size: String,
  1346. disabled: Boolean,
  1347. clearable: Boolean,
  1348. filterable: Boolean,
  1349. allowCreate: Boolean,
  1350. loading: Boolean,
  1351. popperClass: String,
  1352. remote: Boolean,
  1353. loadingText: String,
  1354. noMatchText: String,
  1355. noDataText: String,
  1356. remoteMethod: Function,
  1357. filterMethod: Function,
  1358. multiple: Boolean,
  1359. multipleLimit: {
  1360. type: Number,
  1361. default: 0
  1362. },
  1363. placeholder: {
  1364. type: String,
  1365. required: false
  1366. },
  1367. defaultFirstOption: Boolean,
  1368. reserveKeyword: Boolean,
  1369. valueKey: {
  1370. type: String,
  1371. default: 'value'
  1372. },
  1373. collapseTags: Boolean,
  1374. popperAppendToBody: {
  1375. type: Boolean,
  1376. default: true
  1377. }
  1378. },
  1379. data: function data() {
  1380. return {
  1381. options: [],
  1382. cachedOptions: [],
  1383. createdLabel: null,
  1384. createdSelected: false,
  1385. selected: this.multiple ? [] : {},
  1386. inputLength: 20,
  1387. inputWidth: 0,
  1388. initialInputHeight: 0,
  1389. cachedPlaceHolder: '',
  1390. optionsCount: 0,
  1391. filteredOptionsCount: 0,
  1392. visible: false,
  1393. softFocus: false,
  1394. selectedLabel: '',
  1395. hoverIndex: -1,
  1396. query: '',
  1397. previousQuery: null,
  1398. inputHovering: false,
  1399. currentPlaceholder: '',
  1400. menuVisibleOnFocus: false,
  1401. isOnComposition: false,
  1402. isSilentBlur: false
  1403. };
  1404. },
  1405. watch: {
  1406. selectDisabled: function selectDisabled() {
  1407. var _this2 = this;
  1408. this.$nextTick(function () {
  1409. _this2.resetInputHeight();
  1410. });
  1411. },
  1412. propPlaceholder: function propPlaceholder(val) {
  1413. this.cachedPlaceHolder = this.currentPlaceholder = val;
  1414. },
  1415. value: function value(val, oldVal) {
  1416. if (this.multiple) {
  1417. this.resetInputHeight();
  1418. if (val && val.length > 0 || this.$refs.input && this.query !== '') {
  1419. this.currentPlaceholder = '';
  1420. } else {
  1421. this.currentPlaceholder = this.cachedPlaceHolder;
  1422. }
  1423. if (this.filterable && !this.reserveKeyword) {
  1424. this.query = '';
  1425. this.handleQueryChange(this.query);
  1426. }
  1427. }
  1428. this.setSelected();
  1429. if (this.filterable && !this.multiple) {
  1430. this.inputLength = 20;
  1431. }
  1432. if (!Object(util_["valueEquals"])(val, oldVal)) {
  1433. this.dispatch('ElFormItem', 'el.form.change', val);
  1434. }
  1435. },
  1436. visible: function visible(val) {
  1437. var _this3 = this;
  1438. if (!val) {
  1439. this.broadcast('ElSelectDropdown', 'destroyPopper');
  1440. if (this.$refs.input) {
  1441. this.$refs.input.blur();
  1442. }
  1443. this.query = '';
  1444. this.previousQuery = null;
  1445. this.selectedLabel = '';
  1446. this.inputLength = 20;
  1447. this.menuVisibleOnFocus = false;
  1448. this.resetHoverIndex();
  1449. this.$nextTick(function () {
  1450. if (_this3.$refs.input && _this3.$refs.input.value === '' && _this3.selected.length === 0) {
  1451. _this3.currentPlaceholder = _this3.cachedPlaceHolder;
  1452. }
  1453. });
  1454. if (!this.multiple) {
  1455. if (this.selected) {
  1456. if (this.filterable && this.allowCreate && this.createdSelected && this.createdLabel) {
  1457. this.selectedLabel = this.createdLabel;
  1458. } else {
  1459. this.selectedLabel = this.selected.currentLabel;
  1460. }
  1461. if (this.filterable) this.query = this.selectedLabel;
  1462. }
  1463. if (this.filterable) {
  1464. this.currentPlaceholder = this.cachedPlaceHolder;
  1465. }
  1466. }
  1467. } else {
  1468. this.broadcast('ElSelectDropdown', 'updatePopper');
  1469. if (this.filterable) {
  1470. this.query = this.remote ? '' : this.selectedLabel;
  1471. this.handleQueryChange(this.query);
  1472. if (this.multiple) {
  1473. this.$refs.input.focus();
  1474. } else {
  1475. if (!this.remote) {
  1476. this.broadcast('ElOption', 'queryChange', '');
  1477. this.broadcast('ElOptionGroup', 'queryChange');
  1478. }
  1479. if (this.selectedLabel) {
  1480. this.currentPlaceholder = this.selectedLabel;
  1481. this.selectedLabel = '';
  1482. }
  1483. }
  1484. }
  1485. }
  1486. this.$emit('visible-change', val);
  1487. },
  1488. options: function options() {
  1489. var _this4 = this;
  1490. if (this.$isServer) return;
  1491. this.$nextTick(function () {
  1492. _this4.broadcast('ElSelectDropdown', 'updatePopper');
  1493. });
  1494. if (this.multiple) {
  1495. this.resetInputHeight();
  1496. }
  1497. var inputs = this.$el.querySelectorAll('input');
  1498. if ([].indexOf.call(inputs, document.activeElement) === -1) {
  1499. this.setSelected();
  1500. }
  1501. if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {
  1502. this.checkDefaultFirstOption();
  1503. }
  1504. }
  1505. },
  1506. methods: {
  1507. handleComposition: function handleComposition(event) {
  1508. var _this5 = this;
  1509. var text = event.target.value;
  1510. if (event.type === 'compositionend') {
  1511. this.isOnComposition = false;
  1512. this.$nextTick(function (_) {
  1513. return _this5.handleQueryChange(text);
  1514. });
  1515. } else {
  1516. var lastCharacter = text[text.length - 1] || '';
  1517. this.isOnComposition = !Object(shared_["isKorean"])(lastCharacter);
  1518. }
  1519. },
  1520. handleQueryChange: function handleQueryChange(val) {
  1521. var _this6 = this;
  1522. if (this.previousQuery === val || this.isOnComposition) return;
  1523. if (this.previousQuery === null && (typeof this.filterMethod === 'function' || typeof this.remoteMethod === 'function')) {
  1524. this.previousQuery = val;
  1525. return;
  1526. }
  1527. this.previousQuery = val;
  1528. this.$nextTick(function () {
  1529. if (_this6.visible) _this6.broadcast('ElSelectDropdown', 'updatePopper');
  1530. });
  1531. this.hoverIndex = -1;
  1532. if (this.multiple && this.filterable) {
  1533. this.$nextTick(function () {
  1534. var length = _this6.$refs.input.value.length * 15 + 20;
  1535. _this6.inputLength = _this6.collapseTags ? Math.min(50, length) : length;
  1536. _this6.managePlaceholder();
  1537. _this6.resetInputHeight();
  1538. });
  1539. }
  1540. if (this.remote && typeof this.remoteMethod === 'function') {
  1541. this.hoverIndex = -1;
  1542. this.remoteMethod(val);
  1543. } else if (typeof this.filterMethod === 'function') {
  1544. this.filterMethod(val);
  1545. this.broadcast('ElOptionGroup', 'queryChange');
  1546. } else {
  1547. this.filteredOptionsCount = this.optionsCount;
  1548. this.broadcast('ElOption', 'queryChange', val);
  1549. this.broadcast('ElOptionGroup', 'queryChange');
  1550. }
  1551. if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {
  1552. this.checkDefaultFirstOption();
  1553. }
  1554. },
  1555. scrollToOption: function scrollToOption(option) {
  1556. var target = Array.isArray(option) && option[0] ? option[0].$el : option.$el;
  1557. if (this.$refs.popper && target) {
  1558. var menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap');
  1559. scroll_into_view_default()(menu, target);
  1560. }
  1561. this.$refs.scrollbar && this.$refs.scrollbar.handleScroll();
  1562. },
  1563. handleMenuEnter: function handleMenuEnter() {
  1564. var _this7 = this;
  1565. this.$nextTick(function () {
  1566. return _this7.scrollToOption(_this7.selected);
  1567. });
  1568. },
  1569. emitChange: function emitChange(val) {
  1570. if (!Object(util_["valueEquals"])(this.value, val)) {
  1571. this.$emit('change', val);
  1572. }
  1573. },
  1574. getOption: function getOption(value) {
  1575. var option = void 0;
  1576. var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';
  1577. var isNull = Object.prototype.toString.call(value).toLowerCase() === '[object null]';
  1578. var isUndefined = Object.prototype.toString.call(value).toLowerCase() === '[object undefined]';
  1579. for (var i = this.cachedOptions.length - 1; i >= 0; i--) {
  1580. var cachedOption = this.cachedOptions[i];
  1581. var isEqual = isObject ? Object(util_["getValueByPath"])(cachedOption.value, this.valueKey) === Object(util_["getValueByPath"])(value, this.valueKey) : cachedOption.value === value;
  1582. if (isEqual) {
  1583. option = cachedOption;
  1584. break;
  1585. }
  1586. }
  1587. if (option) return option;
  1588. var label = !isObject && !isNull && !isUndefined ? String(value) : '';
  1589. var newOption = {
  1590. value: value,
  1591. currentLabel: label
  1592. };
  1593. if (this.multiple) {
  1594. newOption.hitState = false;
  1595. }
  1596. return newOption;
  1597. },
  1598. setSelected: function setSelected() {
  1599. var _this8 = this;
  1600. if (!this.multiple) {
  1601. var option = this.getOption(this.value);
  1602. if (option.created) {
  1603. this.createdLabel = option.currentLabel;
  1604. this.createdSelected = true;
  1605. } else {
  1606. this.createdSelected = false;
  1607. }
  1608. this.selectedLabel = option.currentLabel;
  1609. this.selected = option;
  1610. if (this.filterable) this.query = this.selectedLabel;
  1611. return;
  1612. }
  1613. var result = [];
  1614. if (Array.isArray(this.value)) {
  1615. this.value.forEach(function (value) {
  1616. result.push(_this8.getOption(value));
  1617. });
  1618. }
  1619. this.selected = result;
  1620. this.$nextTick(function () {
  1621. _this8.resetInputHeight();
  1622. });
  1623. },
  1624. handleFocus: function handleFocus(event) {
  1625. if (!this.softFocus) {
  1626. if (this.automaticDropdown || this.filterable) {
  1627. this.visible = true;
  1628. if (this.filterable) {
  1629. this.menuVisibleOnFocus = true;
  1630. }
  1631. }
  1632. this.$emit('focus', event);
  1633. } else {
  1634. this.softFocus = false;
  1635. }
  1636. },
  1637. blur: function blur() {
  1638. this.visible = false;
  1639. this.$refs.reference.blur();
  1640. },
  1641. handleBlur: function handleBlur(event) {
  1642. var _this9 = this;
  1643. setTimeout(function () {
  1644. if (_this9.isSilentBlur) {
  1645. _this9.isSilentBlur = false;
  1646. } else {
  1647. _this9.$emit('blur', event);
  1648. }
  1649. }, 50);
  1650. this.softFocus = false;
  1651. },
  1652. handleClearClick: function handleClearClick(event) {
  1653. this.deleteSelected(event);
  1654. },
  1655. doDestroy: function doDestroy() {
  1656. this.$refs.popper && this.$refs.popper.doDestroy();
  1657. },
  1658. handleClose: function handleClose() {
  1659. this.visible = false;
  1660. },
  1661. toggleLastOptionHitState: function toggleLastOptionHitState(hit) {
  1662. if (!Array.isArray(this.selected)) return;
  1663. var option = this.selected[this.selected.length - 1];
  1664. if (!option) return;
  1665. if (hit === true || hit === false) {
  1666. option.hitState = hit;
  1667. return hit;
  1668. }
  1669. option.hitState = !option.hitState;
  1670. return option.hitState;
  1671. },
  1672. deletePrevTag: function deletePrevTag(e) {
  1673. if (e.target.value.length <= 0 && !this.toggleLastOptionHitState()) {
  1674. var value = this.value.slice();
  1675. value.pop();
  1676. this.$emit('input', value);
  1677. this.emitChange(value);
  1678. }
  1679. },
  1680. managePlaceholder: function managePlaceholder() {
  1681. if (this.currentPlaceholder !== '') {
  1682. this.currentPlaceholder = this.$refs.input.value ? '' : this.cachedPlaceHolder;
  1683. }
  1684. },
  1685. resetInputState: function resetInputState(e) {
  1686. if (e.keyCode !== 8) this.toggleLastOptionHitState(false);
  1687. this.inputLength = this.$refs.input.value.length * 15 + 20;
  1688. this.resetInputHeight();
  1689. },
  1690. resetInputHeight: function resetInputHeight() {
  1691. var _this10 = this;
  1692. if (this.collapseTags && !this.filterable) return;
  1693. this.$nextTick(function () {
  1694. if (!_this10.$refs.reference) return;
  1695. var inputChildNodes = _this10.$refs.reference.$el.childNodes;
  1696. var input = [].filter.call(inputChildNodes, function (item) {
  1697. return item.tagName === 'INPUT';
  1698. })[0];
  1699. var tags = _this10.$refs.tags;
  1700. var tagsHeight = tags ? Math.round(tags.getBoundingClientRect().height) : 0;
  1701. var sizeInMap = _this10.initialInputHeight || 40;
  1702. input.style.height = _this10.selected.length === 0 ? sizeInMap + 'px' : Math.max(tags ? tagsHeight + (tagsHeight > sizeInMap ? 6 : 0) : 0, sizeInMap) + 'px';
  1703. if (_this10.visible && _this10.emptyText !== false) {
  1704. _this10.broadcast('ElSelectDropdown', 'updatePopper');
  1705. }
  1706. });
  1707. },
  1708. resetHoverIndex: function resetHoverIndex() {
  1709. var _this11 = this;
  1710. setTimeout(function () {
  1711. if (!_this11.multiple) {
  1712. _this11.hoverIndex = _this11.options.indexOf(_this11.selected);
  1713. } else {
  1714. if (_this11.selected.length > 0) {
  1715. _this11.hoverIndex = Math.min.apply(null, _this11.selected.map(function (item) {
  1716. return _this11.options.indexOf(item);
  1717. }));
  1718. } else {
  1719. _this11.hoverIndex = -1;
  1720. }
  1721. }
  1722. }, 300);
  1723. },
  1724. handleOptionSelect: function handleOptionSelect(option, byClick) {
  1725. var _this12 = this;
  1726. if (this.multiple) {
  1727. var value = (this.value || []).slice();
  1728. var optionIndex = this.getValueIndex(value, option.value);
  1729. if (optionIndex > -1) {
  1730. value.splice(optionIndex, 1);
  1731. } else if (this.multipleLimit <= 0 || value.length < this.multipleLimit) {
  1732. value.push(option.value);
  1733. }
  1734. this.$emit('input', value);
  1735. this.emitChange(value);
  1736. if (option.created) {
  1737. this.query = '';
  1738. this.handleQueryChange('');
  1739. this.inputLength = 20;
  1740. }
  1741. if (this.filterable) this.$refs.input.focus();
  1742. } else {
  1743. this.$emit('input', option.value);
  1744. this.emitChange(option.value);
  1745. this.visible = false;
  1746. }
  1747. this.isSilentBlur = byClick;
  1748. this.setSoftFocus();
  1749. if (this.visible) return;
  1750. this.$nextTick(function () {
  1751. _this12.scrollToOption(option);
  1752. });
  1753. },
  1754. setSoftFocus: function setSoftFocus() {
  1755. this.softFocus = true;
  1756. var input = this.$refs.input || this.$refs.reference;
  1757. if (input) {
  1758. input.focus();
  1759. }
  1760. },
  1761. getValueIndex: function getValueIndex() {
  1762. var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
  1763. var value = arguments[1];
  1764. var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';
  1765. if (!isObject) {
  1766. return arr.indexOf(value);
  1767. } else {
  1768. var valueKey = this.valueKey;
  1769. var index = -1;
  1770. arr.some(function (item, i) {
  1771. if (Object(util_["getValueByPath"])(item, valueKey) === Object(util_["getValueByPath"])(value, valueKey)) {
  1772. index = i;
  1773. return true;
  1774. }
  1775. return false;
  1776. });
  1777. return index;
  1778. }
  1779. },
  1780. toggleMenu: function toggleMenu() {
  1781. if (!this.selectDisabled) {
  1782. if (this.menuVisibleOnFocus) {
  1783. this.menuVisibleOnFocus = false;
  1784. } else {
  1785. this.visible = !this.visible;
  1786. }
  1787. if (this.visible) {
  1788. (this.$refs.input || this.$refs.reference).focus();
  1789. }
  1790. }
  1791. },
  1792. selectOption: function selectOption() {
  1793. if (!this.visible) {
  1794. this.toggleMenu();
  1795. } else {
  1796. if (this.options[this.hoverIndex]) {
  1797. this.handleOptionSelect(this.options[this.hoverIndex]);
  1798. }
  1799. }
  1800. },
  1801. deleteSelected: function deleteSelected(event) {
  1802. event.stopPropagation();
  1803. var value = this.multiple ? [] : '';
  1804. this.$emit('input', value);
  1805. this.emitChange(value);
  1806. this.visible = false;
  1807. this.$emit('clear');
  1808. },
  1809. deleteTag: function deleteTag(event, tag) {
  1810. var index = this.selected.indexOf(tag);
  1811. if (index > -1 && !this.selectDisabled) {
  1812. var value = this.value.slice();
  1813. value.splice(index, 1);
  1814. this.$emit('input', value);
  1815. this.emitChange(value);
  1816. this.$emit('remove-tag', tag.value);
  1817. }
  1818. event.stopPropagation();
  1819. },
  1820. onInputChange: function onInputChange() {
  1821. if (this.filterable && this.query !== this.selectedLabel) {
  1822. this.query = this.selectedLabel;
  1823. this.handleQueryChange(this.query);
  1824. }
  1825. },
  1826. onOptionDestroy: function onOptionDestroy(index) {
  1827. if (index > -1) {
  1828. this.optionsCount--;
  1829. this.filteredOptionsCount--;
  1830. this.options.splice(index, 1);
  1831. }
  1832. },
  1833. resetInputWidth: function resetInputWidth() {
  1834. this.inputWidth = this.$refs.reference.$el.getBoundingClientRect().width;
  1835. },
  1836. handleResize: function handleResize() {
  1837. this.resetInputWidth();
  1838. if (this.multiple) this.resetInputHeight();
  1839. },
  1840. checkDefaultFirstOption: function checkDefaultFirstOption() {
  1841. this.hoverIndex = -1;
  1842. // highlight the created option
  1843. var hasCreated = false;
  1844. for (var i = this.options.length - 1; i >= 0; i--) {
  1845. if (this.options[i].created) {
  1846. hasCreated = true;
  1847. this.hoverIndex = i;
  1848. break;
  1849. }
  1850. }
  1851. if (hasCreated) return;
  1852. for (var _i = 0; _i !== this.options.length; ++_i) {
  1853. var option = this.options[_i];
  1854. if (this.query) {
  1855. // highlight first options that passes the filter
  1856. if (!option.disabled && !option.groupDisabled && option.visible) {
  1857. this.hoverIndex = _i;
  1858. break;
  1859. }
  1860. } else {
  1861. // highlight currently selected option
  1862. if (option.itemSelected) {
  1863. this.hoverIndex = _i;
  1864. break;
  1865. }
  1866. }
  1867. }
  1868. },
  1869. getValueKey: function getValueKey(item) {
  1870. if (Object.prototype.toString.call(item.value).toLowerCase() !== '[object object]') {
  1871. return item.value;
  1872. } else {
  1873. return Object(util_["getValueByPath"])(item.value, this.valueKey);
  1874. }
  1875. }
  1876. },
  1877. created: function created() {
  1878. var _this13 = this;
  1879. this.cachedPlaceHolder = this.currentPlaceholder = this.propPlaceholder;
  1880. if (this.multiple && !Array.isArray(this.value)) {
  1881. this.$emit('input', []);
  1882. }
  1883. if (!this.multiple && Array.isArray(this.value)) {
  1884. this.$emit('input', '');
  1885. }
  1886. this.debouncedOnInputChange = debounce_default()(this.debounce, function () {
  1887. _this13.onInputChange();
  1888. });
  1889. this.debouncedQueryChange = debounce_default()(this.debounce, function (e) {
  1890. _this13.handleQueryChange(e.target.value);
  1891. });
  1892. this.$on('handleOptionClick', this.handleOptionSelect);
  1893. this.$on('setSelected', this.setSelected);
  1894. },
  1895. mounted: function mounted() {
  1896. var _this14 = this;
  1897. if (this.multiple && Array.isArray(this.value) && this.value.length > 0) {
  1898. this.currentPlaceholder = '';
  1899. }
  1900. Object(resize_event_["addResizeListener"])(this.$el, this.handleResize);
  1901. var reference = this.$refs.reference;
  1902. if (reference && reference.$el) {
  1903. var sizeMap = {
  1904. medium: 36,
  1905. small: 32,
  1906. mini: 28
  1907. };
  1908. var input = reference.$el.querySelector('input');
  1909. this.initialInputHeight = input.getBoundingClientRect().height || sizeMap[this.selectSize];
  1910. }
  1911. if (this.remote && this.multiple) {
  1912. this.resetInputHeight();
  1913. }
  1914. this.$nextTick(function () {
  1915. if (reference && reference.$el) {
  1916. _this14.inputWidth = reference.$el.getBoundingClientRect().width;
  1917. }
  1918. });
  1919. this.setSelected();
  1920. },
  1921. beforeDestroy: function beforeDestroy() {
  1922. if (this.$el && this.handleResize) Object(resize_event_["removeResizeListener"])(this.$el, this.handleResize);
  1923. }
  1924. });
  1925. // CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=script&lang=js&
  1926. /* harmony default export */ var src_selectvue_type_script_lang_js_ = (selectvue_type_script_lang_js_);
  1927. // CONCATENATED MODULE: ./packages/select/src/select.vue
  1928. /* normalize component */
  1929. var select_component = Object(componentNormalizer["a" /* default */])(
  1930. src_selectvue_type_script_lang_js_,
  1931. render,
  1932. staticRenderFns,
  1933. false,
  1934. null,
  1935. null,
  1936. null
  1937. )
  1938. /* hot reload */
  1939. if (false) { var select_api; }
  1940. select_component.options.__file = "packages/select/src/select.vue"
  1941. /* harmony default export */ var src_select = (select_component.exports);
  1942. // CONCATENATED MODULE: ./packages/select/index.js
  1943. /* istanbul ignore next */
  1944. src_select.install = function (Vue) {
  1945. Vue.component(src_select.name, src_select);
  1946. };
  1947. /* harmony default export */ var packages_select = __webpack_exports__["default"] = (src_select);
  1948. /***/ })
  1949. /******/ });