@element-plus/nightly 0.0.20220303 → 0.0.20220304

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +15 -7
  4. package/dist/index.full.min.js +3 -3
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +3 -3
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +15 -7
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/bg.js +1 -1
  18. package/dist/locale/bg.min.js +1 -1
  19. package/dist/locale/bg.min.mjs +1 -1
  20. package/dist/locale/bg.mjs +1 -1
  21. package/dist/locale/bn.js +1 -1
  22. package/dist/locale/bn.min.js +1 -1
  23. package/dist/locale/bn.min.mjs +1 -1
  24. package/dist/locale/bn.mjs +1 -1
  25. package/dist/locale/ca.js +1 -1
  26. package/dist/locale/ca.min.js +1 -1
  27. package/dist/locale/ca.min.mjs +1 -1
  28. package/dist/locale/ca.mjs +1 -1
  29. package/dist/locale/cs.js +1 -1
  30. package/dist/locale/cs.min.js +1 -1
  31. package/dist/locale/cs.min.mjs +1 -1
  32. package/dist/locale/cs.mjs +1 -1
  33. package/dist/locale/da.js +1 -1
  34. package/dist/locale/da.min.js +1 -1
  35. package/dist/locale/da.min.mjs +1 -1
  36. package/dist/locale/da.mjs +1 -1
  37. package/dist/locale/de.js +1 -1
  38. package/dist/locale/de.min.js +1 -1
  39. package/dist/locale/de.min.mjs +1 -1
  40. package/dist/locale/de.mjs +1 -1
  41. package/dist/locale/el.js +1 -1
  42. package/dist/locale/el.min.js +1 -1
  43. package/dist/locale/el.min.mjs +1 -1
  44. package/dist/locale/el.mjs +1 -1
  45. package/dist/locale/en.js +1 -1
  46. package/dist/locale/en.min.js +1 -1
  47. package/dist/locale/en.min.mjs +1 -1
  48. package/dist/locale/en.mjs +1 -1
  49. package/dist/locale/eo.js +1 -1
  50. package/dist/locale/eo.min.js +1 -1
  51. package/dist/locale/eo.min.mjs +1 -1
  52. package/dist/locale/eo.mjs +1 -1
  53. package/dist/locale/es.js +1 -1
  54. package/dist/locale/es.min.js +1 -1
  55. package/dist/locale/es.min.mjs +1 -1
  56. package/dist/locale/es.mjs +1 -1
  57. package/dist/locale/et.js +1 -1
  58. package/dist/locale/et.min.js +1 -1
  59. package/dist/locale/et.min.mjs +1 -1
  60. package/dist/locale/et.mjs +1 -1
  61. package/dist/locale/eu.js +1 -1
  62. package/dist/locale/eu.min.js +1 -1
  63. package/dist/locale/eu.min.mjs +1 -1
  64. package/dist/locale/eu.mjs +1 -1
  65. package/dist/locale/fa.js +1 -1
  66. package/dist/locale/fa.min.js +1 -1
  67. package/dist/locale/fa.min.mjs +1 -1
  68. package/dist/locale/fa.mjs +1 -1
  69. package/dist/locale/fi.js +1 -1
  70. package/dist/locale/fi.min.js +1 -1
  71. package/dist/locale/fi.min.mjs +1 -1
  72. package/dist/locale/fi.mjs +1 -1
  73. package/dist/locale/fr.js +1 -1
  74. package/dist/locale/fr.min.js +1 -1
  75. package/dist/locale/fr.min.mjs +1 -1
  76. package/dist/locale/fr.mjs +1 -1
  77. package/dist/locale/he.js +1 -1
  78. package/dist/locale/he.min.js +1 -1
  79. package/dist/locale/he.min.mjs +1 -1
  80. package/dist/locale/he.mjs +1 -1
  81. package/dist/locale/hr.js +1 -1
  82. package/dist/locale/hr.min.js +1 -1
  83. package/dist/locale/hr.min.mjs +1 -1
  84. package/dist/locale/hr.mjs +1 -1
  85. package/dist/locale/hu.js +1 -1
  86. package/dist/locale/hu.min.js +1 -1
  87. package/dist/locale/hu.min.mjs +1 -1
  88. package/dist/locale/hu.mjs +1 -1
  89. package/dist/locale/hy-am.js +1 -1
  90. package/dist/locale/hy-am.min.js +1 -1
  91. package/dist/locale/hy-am.min.mjs +1 -1
  92. package/dist/locale/hy-am.mjs +1 -1
  93. package/dist/locale/id.js +1 -1
  94. package/dist/locale/id.min.js +1 -1
  95. package/dist/locale/id.min.mjs +1 -1
  96. package/dist/locale/id.mjs +1 -1
  97. package/dist/locale/it.js +1 -1
  98. package/dist/locale/it.min.js +1 -1
  99. package/dist/locale/it.min.mjs +1 -1
  100. package/dist/locale/it.mjs +1 -1
  101. package/dist/locale/ja.js +1 -1
  102. package/dist/locale/ja.min.js +1 -1
  103. package/dist/locale/ja.min.mjs +1 -1
  104. package/dist/locale/ja.mjs +1 -1
  105. package/dist/locale/kk.js +1 -1
  106. package/dist/locale/kk.min.js +1 -1
  107. package/dist/locale/kk.min.mjs +1 -1
  108. package/dist/locale/kk.mjs +1 -1
  109. package/dist/locale/km.js +1 -1
  110. package/dist/locale/km.min.js +1 -1
  111. package/dist/locale/km.min.mjs +1 -1
  112. package/dist/locale/km.mjs +1 -1
  113. package/dist/locale/ko.js +1 -1
  114. package/dist/locale/ko.min.js +1 -1
  115. package/dist/locale/ko.min.mjs +1 -1
  116. package/dist/locale/ko.mjs +1 -1
  117. package/dist/locale/ku.js +1 -1
  118. package/dist/locale/ku.min.js +1 -1
  119. package/dist/locale/ku.min.mjs +1 -1
  120. package/dist/locale/ku.mjs +1 -1
  121. package/dist/locale/ky.js +1 -1
  122. package/dist/locale/ky.min.js +1 -1
  123. package/dist/locale/ky.min.mjs +1 -1
  124. package/dist/locale/ky.mjs +1 -1
  125. package/dist/locale/lt.js +1 -1
  126. package/dist/locale/lt.min.js +1 -1
  127. package/dist/locale/lt.min.mjs +1 -1
  128. package/dist/locale/lt.mjs +1 -1
  129. package/dist/locale/lv.js +1 -1
  130. package/dist/locale/lv.min.js +1 -1
  131. package/dist/locale/lv.min.mjs +1 -1
  132. package/dist/locale/lv.mjs +1 -1
  133. package/dist/locale/mg.js +1 -1
  134. package/dist/locale/mg.min.js +1 -1
  135. package/dist/locale/mg.min.mjs +1 -1
  136. package/dist/locale/mg.mjs +1 -1
  137. package/dist/locale/mn.js +1 -1
  138. package/dist/locale/mn.min.js +1 -1
  139. package/dist/locale/mn.min.mjs +1 -1
  140. package/dist/locale/mn.mjs +1 -1
  141. package/dist/locale/nb-no.js +1 -1
  142. package/dist/locale/nb-no.min.js +1 -1
  143. package/dist/locale/nb-no.min.mjs +1 -1
  144. package/dist/locale/nb-no.mjs +1 -1
  145. package/dist/locale/nl.js +1 -1
  146. package/dist/locale/nl.min.js +1 -1
  147. package/dist/locale/nl.min.mjs +1 -1
  148. package/dist/locale/nl.mjs +1 -1
  149. package/dist/locale/pa.js +1 -1
  150. package/dist/locale/pa.min.js +1 -1
  151. package/dist/locale/pa.min.mjs +1 -1
  152. package/dist/locale/pa.mjs +1 -1
  153. package/dist/locale/pl.js +1 -1
  154. package/dist/locale/pl.min.js +1 -1
  155. package/dist/locale/pl.min.mjs +1 -1
  156. package/dist/locale/pl.mjs +1 -1
  157. package/dist/locale/pt-br.js +1 -1
  158. package/dist/locale/pt-br.min.js +1 -1
  159. package/dist/locale/pt-br.min.mjs +1 -1
  160. package/dist/locale/pt-br.mjs +1 -1
  161. package/dist/locale/pt.js +1 -1
  162. package/dist/locale/pt.min.js +1 -1
  163. package/dist/locale/pt.min.mjs +1 -1
  164. package/dist/locale/pt.mjs +1 -1
  165. package/dist/locale/ro.js +1 -1
  166. package/dist/locale/ro.min.js +1 -1
  167. package/dist/locale/ro.min.mjs +1 -1
  168. package/dist/locale/ro.mjs +1 -1
  169. package/dist/locale/ru.js +1 -1
  170. package/dist/locale/ru.min.js +1 -1
  171. package/dist/locale/ru.min.mjs +1 -1
  172. package/dist/locale/ru.mjs +1 -1
  173. package/dist/locale/sk.js +1 -1
  174. package/dist/locale/sk.min.js +1 -1
  175. package/dist/locale/sk.min.mjs +1 -1
  176. package/dist/locale/sk.mjs +1 -1
  177. package/dist/locale/sl.js +1 -1
  178. package/dist/locale/sl.min.js +1 -1
  179. package/dist/locale/sl.min.mjs +1 -1
  180. package/dist/locale/sl.mjs +1 -1
  181. package/dist/locale/sr.js +1 -1
  182. package/dist/locale/sr.min.js +1 -1
  183. package/dist/locale/sr.min.mjs +1 -1
  184. package/dist/locale/sr.mjs +1 -1
  185. package/dist/locale/sv.js +1 -1
  186. package/dist/locale/sv.min.js +1 -1
  187. package/dist/locale/sv.min.mjs +1 -1
  188. package/dist/locale/sv.mjs +1 -1
  189. package/dist/locale/ta.js +1 -1
  190. package/dist/locale/ta.min.js +1 -1
  191. package/dist/locale/ta.min.mjs +1 -1
  192. package/dist/locale/ta.mjs +1 -1
  193. package/dist/locale/th.js +1 -1
  194. package/dist/locale/th.min.js +1 -1
  195. package/dist/locale/th.min.mjs +1 -1
  196. package/dist/locale/th.mjs +1 -1
  197. package/dist/locale/tk.js +1 -1
  198. package/dist/locale/tk.min.js +1 -1
  199. package/dist/locale/tk.min.mjs +1 -1
  200. package/dist/locale/tk.mjs +1 -1
  201. package/dist/locale/tr.js +1 -1
  202. package/dist/locale/tr.min.js +1 -1
  203. package/dist/locale/tr.min.mjs +1 -1
  204. package/dist/locale/tr.mjs +1 -1
  205. package/dist/locale/ug-cn.js +1 -1
  206. package/dist/locale/ug-cn.min.js +1 -1
  207. package/dist/locale/ug-cn.min.mjs +1 -1
  208. package/dist/locale/ug-cn.mjs +1 -1
  209. package/dist/locale/uk.js +1 -1
  210. package/dist/locale/uk.min.js +1 -1
  211. package/dist/locale/uk.min.mjs +1 -1
  212. package/dist/locale/uk.mjs +1 -1
  213. package/dist/locale/uz-uz.js +1 -1
  214. package/dist/locale/uz-uz.min.js +1 -1
  215. package/dist/locale/uz-uz.min.mjs +1 -1
  216. package/dist/locale/uz-uz.mjs +1 -1
  217. package/dist/locale/vi.js +1 -1
  218. package/dist/locale/vi.min.js +1 -1
  219. package/dist/locale/vi.min.mjs +1 -1
  220. package/dist/locale/vi.mjs +1 -1
  221. package/dist/locale/zh-cn.js +1 -1
  222. package/dist/locale/zh-cn.min.js +1 -1
  223. package/dist/locale/zh-cn.min.mjs +1 -1
  224. package/dist/locale/zh-cn.mjs +1 -1
  225. package/dist/locale/zh-tw.js +1 -1
  226. package/dist/locale/zh-tw.min.js +1 -1
  227. package/dist/locale/zh-tw.min.mjs +1 -1
  228. package/dist/locale/zh-tw.mjs +1 -1
  229. package/es/components/select/index.d.ts +9 -0
  230. package/es/components/select/src/select.mjs +6 -2
  231. package/es/components/select/src/select.mjs.map +1 -1
  232. package/es/components/select/src/select.vue.d.ts +9 -0
  233. package/es/components/select-v2/index.d.ts +18 -0
  234. package/es/components/select-v2/src/defaults.d.ts +4 -0
  235. package/es/components/select-v2/src/defaults.mjs +4 -0
  236. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  237. package/es/components/select-v2/src/select.mjs +3 -3
  238. package/es/components/select-v2/src/select.mjs.map +1 -1
  239. package/es/components/select-v2/src/select.vue.d.ts +9 -0
  240. package/es/version.d.ts +1 -1
  241. package/es/version.mjs +1 -1
  242. package/es/version.mjs.map +1 -1
  243. package/lib/components/select/index.d.ts +9 -0
  244. package/lib/components/select/src/select.js +6 -2
  245. package/lib/components/select/src/select.js.map +1 -1
  246. package/lib/components/select/src/select.vue.d.ts +9 -0
  247. package/lib/components/select-v2/index.d.ts +18 -0
  248. package/lib/components/select-v2/src/defaults.d.ts +4 -0
  249. package/lib/components/select-v2/src/defaults.js +4 -0
  250. package/lib/components/select-v2/src/defaults.js.map +1 -1
  251. package/lib/components/select-v2/src/select.js +3 -3
  252. package/lib/components/select-v2/src/select.js.map +1 -1
  253. package/lib/components/select-v2/src/select.vue.d.ts +9 -0
  254. package/lib/version.d.ts +1 -1
  255. package/lib/version.js +1 -1
  256. package/lib/version.js.map +1 -1
  257. package/package.json +2 -2
  258. package/tags.json +1 -1
  259. package/theme-chalk/el-cascader.css +1 -1
  260. package/theme-chalk/el-select-v2.css +1 -1
  261. package/theme-chalk/el-select.css +1 -1
  262. package/theme-chalk/index.css +1 -1
  263. package/theme-chalk/src/cascader.scss +1 -1
  264. package/theme-chalk/src/select-v2.scss +8 -0
  265. package/theme-chalk/src/select.scss +0 -4
  266. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectWrapper\"\n v-click-outside:[popperPaneRef]=\"handleClose\"\n :class=\"wrapperKls\"\n @click.stop=\"toggleMenu\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n v-model:visible=\"dropMenuVisible\"\n placement=\"bottom-start\"\n :teleported=\"compatTeleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n :effect=\"effect\"\n pure\n trigger=\"click\"\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n persistent\n @show=\"handleMenuEnter\"\n >\n <template #default>\n <div class=\"select-trigger\">\n <div\n v-if=\"multiple\"\n ref=\"tags\"\n :class=\"nsSelect.e('tags')\"\n :style=\"selectTagsStyle\"\n >\n <span\n v-if=\"collapseTags && selected.length\"\n :style=\"{\n marginLeft:\n prefixWidth && selected.length ? `${prefixWidth}px` : '',\n }\"\n >\n <el-tag\n :closable=\"!selectDisabled && !selected[0].isDisabled\"\n :size=\"collapseTagSize\"\n :hit=\"selected[0].hitState\"\n :type=\"tagType\"\n disable-transitions\n @close=\"deleteTag($event, selected[0])\"\n >\n <span\n :class=\"nsSelect.e('tags-text')\"\n :style=\"{ maxWidth: inputWidth - 123 + 'px' }\"\n >{{ selected[0].currentLabel }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"selected.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n disable-transitions\n >\n <span :class=\"nsSelect.e('tags-text')\"\n >+ {{ selected.length - 1 }}</span\n >\n </el-tag>\n </span>\n <!-- <div> -->\n <transition v-if=\"!collapseTags\" @after-leave=\"resetInputHeight\">\n <span\n :style=\"{\n marginLeft:\n prefixWidth && selected.length ? `${prefixWidth}px` : '',\n }\"\n >\n <el-tag\n v-for=\"item in selected\"\n :key=\"getValueKey(item)\"\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :hit=\"item.hitState\"\n :type=\"tagType\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span\n :class=\"nsSelect.e('tags-text')\"\n :style=\"{ maxWidth: inputWidth - 75 + 'px' }\"\n >{{ item.currentLabel }}</span\n >\n </el-tag>\n </span>\n </transition>\n <!-- </div> -->\n <input\n v-if=\"filterable\"\n ref=\"input\"\n v-model=\"query\"\n type=\"text\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n :autocomplete=\"autocomplete\"\n :style=\"{\n marginLeft:\n (prefixWidth && !selected.length) || tagInMultiLine\n ? `${prefixWidth}px`\n : '',\n flexGrow: 1,\n width: `${inputLength / (inputWidth - 32)}%`,\n maxWidth: `${inputWidth - 42}px`,\n }\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @keyup=\"managePlaceholder\"\n @keydown=\"resetInputState\"\n @keydown.down.prevent=\"navigateOptions('next')\"\n @keydown.up.prevent=\"navigateOptions('prev')\"\n @keydown.esc.stop.prevent=\"visible = false\"\n @keydown.enter.stop.prevent=\"selectOption\"\n @keydown.delete=\"deletePrevTag\"\n @keydown.tab=\"visible = false\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @input=\"debouncedQueryChange\"\n />\n </div>\n <el-input\n :id=\"id\"\n ref=\"reference\"\n v-model=\"selectedLabel\"\n type=\"text\"\n :placeholder=\"currentPlaceholder\"\n :name=\"name\"\n :autocomplete=\"autocomplete\"\n :size=\"selectSize\"\n :disabled=\"selectDisabled\"\n :readonly=\"readonly\"\n :validate-event=\"false\"\n :class=\"[nsSelect.is('focus', visible)]\"\n :tabindex=\"multiple && filterable ? -1 : undefined\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"debouncedOnInputChange\"\n @paste=\"debouncedOnInputChange\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @keydown.down.stop.prevent=\"navigateOptions('next')\"\n @keydown.up.stop.prevent=\"navigateOptions('prev')\"\n @keydown.enter.stop.prevent=\"selectOption\"\n @keydown.esc.stop.prevent=\"visible = false\"\n @keydown.tab=\"visible = false\"\n @mouseenter=\"inputHovering = true\"\n @mouseleave=\"inputHovering = false\"\n >\n <template v-if=\"$slots.prefix\" #prefix>\n <div\n style=\"\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n \"\n >\n <slot name=\"prefix\"></slot>\n </div>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClose\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon')]\"\n @click=\"handleClearClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n </div>\n </template>\n <template #content>\n <el-select-menu>\n <el-scrollbar\n v-show=\"options.size > 0 && !loading\"\n ref=\"scrollbar\"\n tag=\"ul\"\n :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n :view-class=\"nsSelect.be('dropdown', 'list')\"\n :class=\"[\n nsSelect.is(\n 'empty',\n !allowCreate && query && filteredOptionsCount === 0\n ),\n ]\"\n >\n <el-option v-if=\"showNewOption\" :value=\"query\" :created=\"true\" />\n <slot></slot>\n </el-scrollbar>\n <template\n v-if=\"\n emptyText &&\n (!allowCreate || loading || (allowCreate && options.size === 0))\n \"\n >\n <slot v-if=\"$slots.empty\" name=\"empty\"></slot>\n <p v-else :class=\"nsSelect.be('dropdown', 'empty')\">\n {{ emptyText }}\n </p>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n toRefs,\n defineComponent,\n onMounted,\n onBeforeUnmount,\n nextTick,\n reactive,\n provide,\n computed,\n unref,\n} from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useFocus, useLocale, useNamespace } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip, {\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag, { tagProps } from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/constants'\nimport {\n addResizeListener,\n removeResizeListener,\n isValidComponentSize,\n} from '@element-plus/utils'\nimport { CircleClose, ArrowUp } from '@element-plus/icons-vue'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect, useSelectStates } from './useSelect'\nimport { selectKey } from './token'\n\nimport type { PropType, Component } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { SelectContext } from './token'\n\nconst COMPONENT_NAME = 'ElSelect'\nexport default defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElInput,\n ElSelectMenu,\n ElOption,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: {\n name: String,\n id: String,\n modelValue: {\n type: [Array, String, Number, Boolean, Object],\n default: undefined,\n },\n autocomplete: {\n type: String,\n default: 'off',\n },\n automaticDropdown: Boolean,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n effect: {\n type: String as PropType<'light' | 'dark' | string>,\n default: 'light',\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n allowCreate: Boolean,\n loading: Boolean,\n popperClass: {\n type: String,\n default: '',\n },\n remote: Boolean,\n loadingText: String,\n noMatchText: String,\n noDataText: String,\n remoteMethod: Function,\n filterMethod: Function,\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0,\n },\n placeholder: {\n type: String,\n },\n defaultFirstOption: Boolean,\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n valueKey: {\n type: String,\n default: 'value',\n },\n collapseTags: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n teleported: useTooltipContentProps.teleported,\n clearIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: CircleClose,\n },\n fitInputWidth: {\n type: Boolean,\n default: false,\n },\n suffixIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: ArrowUp,\n },\n // eslint-disable-next-line vue/require-prop-types\n tagType: { ...tagProps.type, default: 'info' },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, ctx) {\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n const { t } = useLocale()\n const states = useSelectStates(props)\n const {\n optionsArray,\n selectSize,\n readonly,\n handleResize,\n collapseTagSize,\n debouncedOnInputChange,\n debouncedQueryChange,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n setSelected,\n resetInputHeight,\n managePlaceholder,\n showClose,\n selectDisabled,\n iconComponent,\n iconReverse,\n showNewOption,\n emptyText,\n toggleLastOptionHitState,\n resetInputState,\n handleComposition,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n handleFocus,\n blur,\n handleBlur,\n handleClearClick,\n handleClose,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropMenuVisible,\n\n reference,\n input,\n tooltipRef,\n tags,\n selectWrapper,\n scrollbar,\n queryChange,\n groupQueryChange,\n } = useSelect(props, states, ctx)\n\n const { focus } = useFocus(reference)\n\n const {\n inputWidth,\n selected,\n inputLength,\n filteredOptionsCount,\n visible,\n softFocus,\n selectedLabel,\n hoverIndex,\n query,\n inputHovering,\n currentPlaceholder,\n menuVisibleOnFocus,\n isOnComposition,\n isSilentBlur,\n options,\n cachedOptions,\n optionsCount,\n prefixWidth,\n tagInMultiLine,\n } = toRefs(states)\n\n const wrapperKls = computed(() => {\n const classList = [nsSelect.b()]\n const _selectSize = unref(selectSize)\n if (_selectSize) {\n classList.push(nsSelect.m(_selectSize))\n }\n if (props.disabled) {\n classList.push(nsSelect.m('disabled'))\n }\n return classList\n })\n\n const selectTagsStyle = computed(() => ({\n maxWidth: `${unref(inputWidth) - 32}px`,\n width: '100%',\n }))\n\n provide(\n selectKey,\n reactive({\n props,\n options,\n optionsArray,\n cachedOptions,\n optionsCount,\n filteredOptionsCount,\n hoverIndex,\n handleOptionSelect,\n onOptionCreate,\n onOptionDestroy,\n selectWrapper,\n selected,\n setSelected,\n queryChange,\n groupQueryChange,\n }) as unknown as SelectContext\n )\n\n onMounted(() => {\n states.cachedPlaceHolder = currentPlaceholder.value =\n props.placeholder || t('el.select.placeholder')\n if (\n props.multiple &&\n Array.isArray(props.modelValue) &&\n props.modelValue.length > 0\n ) {\n currentPlaceholder.value = ''\n }\n addResizeListener(selectWrapper.value as any, handleResize)\n if (reference.value && reference.value.$el) {\n const sizeMap = {\n large: 36,\n default: 32,\n small: 28,\n }\n const input = reference.value.input as HTMLInputElement\n states.initialInputHeight =\n input.getBoundingClientRect().height || sizeMap[selectSize.value]\n }\n if (props.remote && props.multiple) {\n resetInputHeight()\n }\n nextTick(() => {\n if (!reference.value) return\n if (reference.value.$el) {\n inputWidth.value = reference.value.$el.getBoundingClientRect().width\n }\n if (ctx.slots.prefix) {\n const inputChildNodes = reference.value.$el.childNodes\n const input = (Array.from(inputChildNodes) as HTMLElement[]).filter(\n (item) => item.tagName === 'INPUT'\n )[0]\n const prefix = reference.value.$el.querySelector(\n `.${nsInput.e('prefix')}`\n )\n prefixWidth.value = Math.max(\n prefix.getBoundingClientRect().width + 5,\n 30\n )\n if (states.prefixWidth) {\n input.style.paddingLeft = `${Math.max(states.prefixWidth, 30)}px`\n }\n }\n })\n setSelected()\n })\n\n onBeforeUnmount(() => {\n removeResizeListener(selectWrapper.value as any, handleResize)\n })\n\n if (props.multiple && !Array.isArray(props.modelValue)) {\n ctx.emit(UPDATE_MODEL_EVENT, [])\n }\n if (!props.multiple && Array.isArray(props.modelValue)) {\n ctx.emit(UPDATE_MODEL_EVENT, '')\n }\n\n const popperPaneRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'popperAppendToBody'\n )\n\n return {\n tagInMultiLine,\n prefixWidth,\n selectSize,\n readonly,\n handleResize,\n collapseTagSize,\n debouncedOnInputChange,\n debouncedQueryChange,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n inputWidth,\n selected,\n inputLength,\n filteredOptionsCount,\n visible,\n softFocus,\n selectedLabel,\n hoverIndex,\n query,\n inputHovering,\n currentPlaceholder,\n menuVisibleOnFocus,\n isOnComposition,\n isSilentBlur,\n options,\n resetInputHeight,\n managePlaceholder,\n showClose,\n selectDisabled,\n iconComponent,\n iconReverse,\n showNewOption,\n emptyText,\n toggleLastOptionHitState,\n resetInputState,\n handleComposition,\n handleMenuEnter,\n handleFocus,\n blur,\n handleBlur,\n handleClearClick,\n handleClose,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropMenuVisible,\n focus,\n\n reference,\n input,\n tooltipRef,\n popperPaneRef,\n tags,\n selectWrapper,\n scrollbar,\n\n wrapperKls,\n selectTagsStyle,\n compatTeleported,\n nsSelect,\n }\n },\n})\n</script>\n"],"names":["ElOption","_withDirectives","_normalizeClass","_openBlock","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectWrapper\"\n v-click-outside:[popperPaneRef]=\"handleClose\"\n :class=\"wrapperKls\"\n @click.stop=\"toggleMenu\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n v-model:visible=\"dropMenuVisible\"\n placement=\"bottom-start\"\n :teleported=\"compatTeleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n :effect=\"effect\"\n pure\n trigger=\"click\"\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :persistent=\"persistent\"\n @show=\"handleMenuEnter\"\n >\n <template #default>\n <div class=\"select-trigger\">\n <div\n v-if=\"multiple\"\n ref=\"tags\"\n :class=\"nsSelect.e('tags')\"\n :style=\"selectTagsStyle\"\n >\n <span\n v-if=\"collapseTags && selected.length\"\n :style=\"{\n marginLeft:\n prefixWidth && selected.length ? `${prefixWidth}px` : '',\n }\"\n >\n <el-tag\n :closable=\"!selectDisabled && !selected[0].isDisabled\"\n :size=\"collapseTagSize\"\n :hit=\"selected[0].hitState\"\n :type=\"tagType\"\n disable-transitions\n @close=\"deleteTag($event, selected[0])\"\n >\n <span\n :class=\"nsSelect.e('tags-text')\"\n :style=\"{ maxWidth: inputWidth - 123 + 'px' }\"\n >{{ selected[0].currentLabel }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"selected.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n disable-transitions\n >\n <span :class=\"nsSelect.e('tags-text')\"\n >+ {{ selected.length - 1 }}</span\n >\n </el-tag>\n </span>\n <!-- <div> -->\n <transition v-if=\"!collapseTags\" @after-leave=\"resetInputHeight\">\n <span\n :style=\"{\n marginLeft:\n prefixWidth && selected.length ? `${prefixWidth}px` : '',\n }\"\n >\n <el-tag\n v-for=\"item in selected\"\n :key=\"getValueKey(item)\"\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :hit=\"item.hitState\"\n :type=\"tagType\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span\n :class=\"nsSelect.e('tags-text')\"\n :style=\"{ maxWidth: inputWidth - 75 + 'px' }\"\n >{{ item.currentLabel }}</span\n >\n </el-tag>\n </span>\n </transition>\n <!-- </div> -->\n <input\n v-if=\"filterable\"\n ref=\"input\"\n v-model=\"query\"\n type=\"text\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n :autocomplete=\"autocomplete\"\n :style=\"{\n marginLeft:\n (prefixWidth && !selected.length) || tagInMultiLine\n ? `${prefixWidth}px`\n : '',\n flexGrow: 1,\n width: `${inputLength / (inputWidth - 32)}%`,\n maxWidth: `${inputWidth - 42}px`,\n }\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @keyup=\"managePlaceholder\"\n @keydown=\"resetInputState\"\n @keydown.down.prevent=\"navigateOptions('next')\"\n @keydown.up.prevent=\"navigateOptions('prev')\"\n @keydown.esc.stop.prevent=\"visible = false\"\n @keydown.enter.stop.prevent=\"selectOption\"\n @keydown.delete=\"deletePrevTag\"\n @keydown.tab=\"visible = false\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @input=\"debouncedQueryChange\"\n />\n </div>\n <el-input\n :id=\"id\"\n ref=\"reference\"\n v-model=\"selectedLabel\"\n type=\"text\"\n :placeholder=\"currentPlaceholder\"\n :name=\"name\"\n :autocomplete=\"autocomplete\"\n :size=\"selectSize\"\n :disabled=\"selectDisabled\"\n :readonly=\"readonly\"\n :validate-event=\"false\"\n :class=\"[nsSelect.is('focus', visible)]\"\n :tabindex=\"multiple && filterable ? -1 : undefined\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"debouncedOnInputChange\"\n @paste=\"debouncedOnInputChange\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @keydown.down.stop.prevent=\"navigateOptions('next')\"\n @keydown.up.stop.prevent=\"navigateOptions('prev')\"\n @keydown.enter.stop.prevent=\"selectOption\"\n @keydown.esc.stop.prevent=\"visible = false\"\n @keydown.tab=\"visible = false\"\n @mouseenter=\"inputHovering = true\"\n @mouseleave=\"inputHovering = false\"\n >\n <template v-if=\"$slots.prefix\" #prefix>\n <div\n style=\"\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n \"\n >\n <slot name=\"prefix\"></slot>\n </div>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClose\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon')]\"\n @click=\"handleClearClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n </div>\n </template>\n <template #content>\n <el-select-menu>\n <el-scrollbar\n v-show=\"options.size > 0 && !loading\"\n ref=\"scrollbar\"\n tag=\"ul\"\n :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n :view-class=\"nsSelect.be('dropdown', 'list')\"\n :class=\"[\n nsSelect.is(\n 'empty',\n !allowCreate && query && filteredOptionsCount === 0\n ),\n ]\"\n >\n <el-option v-if=\"showNewOption\" :value=\"query\" :created=\"true\" />\n <slot></slot>\n </el-scrollbar>\n <template\n v-if=\"\n emptyText &&\n (!allowCreate || loading || (allowCreate && options.size === 0))\n \"\n >\n <slot v-if=\"$slots.empty\" name=\"empty\"></slot>\n <p v-else :class=\"nsSelect.be('dropdown', 'empty')\">\n {{ emptyText }}\n </p>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n toRefs,\n defineComponent,\n onMounted,\n onBeforeUnmount,\n nextTick,\n reactive,\n provide,\n computed,\n unref,\n} from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useFocus, useLocale, useNamespace } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip, {\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag, { tagProps } from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/constants'\nimport {\n addResizeListener,\n removeResizeListener,\n isValidComponentSize,\n} from '@element-plus/utils'\nimport { CircleClose, ArrowUp } from '@element-plus/icons-vue'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect, useSelectStates } from './useSelect'\nimport { selectKey } from './token'\n\nimport type { PropType, Component } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { SelectContext } from './token'\n\nconst COMPONENT_NAME = 'ElSelect'\nexport default defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElInput,\n ElSelectMenu,\n ElOption,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: {\n name: String,\n id: String,\n modelValue: {\n type: [Array, String, Number, Boolean, Object],\n default: undefined,\n },\n autocomplete: {\n type: String,\n default: 'off',\n },\n automaticDropdown: Boolean,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n effect: {\n type: String as PropType<'light' | 'dark' | string>,\n default: 'light',\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n allowCreate: Boolean,\n loading: Boolean,\n popperClass: {\n type: String,\n default: '',\n },\n remote: Boolean,\n loadingText: String,\n noMatchText: String,\n noDataText: String,\n remoteMethod: Function,\n filterMethod: Function,\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0,\n },\n placeholder: {\n type: String,\n },\n defaultFirstOption: Boolean,\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n valueKey: {\n type: String,\n default: 'value',\n },\n collapseTags: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n teleported: useTooltipContentProps.teleported,\n persistent: {\n type: Boolean,\n default: true,\n },\n clearIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: CircleClose,\n },\n fitInputWidth: {\n type: Boolean,\n default: false,\n },\n suffixIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: ArrowUp,\n },\n // eslint-disable-next-line vue/require-prop-types\n tagType: { ...tagProps.type, default: 'info' },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, ctx) {\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n const { t } = useLocale()\n const states = useSelectStates(props)\n const {\n optionsArray,\n selectSize,\n readonly,\n handleResize,\n collapseTagSize,\n debouncedOnInputChange,\n debouncedQueryChange,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n setSelected,\n resetInputHeight,\n managePlaceholder,\n showClose,\n selectDisabled,\n iconComponent,\n iconReverse,\n showNewOption,\n emptyText,\n toggleLastOptionHitState,\n resetInputState,\n handleComposition,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n handleFocus,\n blur,\n handleBlur,\n handleClearClick,\n handleClose,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropMenuVisible,\n\n reference,\n input,\n tooltipRef,\n tags,\n selectWrapper,\n scrollbar,\n queryChange,\n groupQueryChange,\n } = useSelect(props, states, ctx)\n\n const { focus } = useFocus(reference)\n\n const {\n inputWidth,\n selected,\n inputLength,\n filteredOptionsCount,\n visible,\n softFocus,\n selectedLabel,\n hoverIndex,\n query,\n inputHovering,\n currentPlaceholder,\n menuVisibleOnFocus,\n isOnComposition,\n isSilentBlur,\n options,\n cachedOptions,\n optionsCount,\n prefixWidth,\n tagInMultiLine,\n } = toRefs(states)\n\n const wrapperKls = computed(() => {\n const classList = [nsSelect.b()]\n const _selectSize = unref(selectSize)\n if (_selectSize) {\n classList.push(nsSelect.m(_selectSize))\n }\n if (props.disabled) {\n classList.push(nsSelect.m('disabled'))\n }\n return classList\n })\n\n const selectTagsStyle = computed(() => ({\n maxWidth: `${unref(inputWidth) - 32}px`,\n width: '100%',\n }))\n\n provide(\n selectKey,\n reactive({\n props,\n options,\n optionsArray,\n cachedOptions,\n optionsCount,\n filteredOptionsCount,\n hoverIndex,\n handleOptionSelect,\n onOptionCreate,\n onOptionDestroy,\n selectWrapper,\n selected,\n setSelected,\n queryChange,\n groupQueryChange,\n }) as unknown as SelectContext\n )\n\n onMounted(() => {\n states.cachedPlaceHolder = currentPlaceholder.value =\n props.placeholder || t('el.select.placeholder')\n if (\n props.multiple &&\n Array.isArray(props.modelValue) &&\n props.modelValue.length > 0\n ) {\n currentPlaceholder.value = ''\n }\n addResizeListener(selectWrapper.value as any, handleResize)\n if (reference.value && reference.value.$el) {\n const sizeMap = {\n large: 36,\n default: 32,\n small: 28,\n }\n const input = reference.value.input as HTMLInputElement\n states.initialInputHeight =\n input.getBoundingClientRect().height || sizeMap[selectSize.value]\n }\n if (props.remote && props.multiple) {\n resetInputHeight()\n }\n nextTick(() => {\n if (!reference.value) return\n if (reference.value.$el) {\n inputWidth.value = reference.value.$el.getBoundingClientRect().width\n }\n if (ctx.slots.prefix) {\n const inputChildNodes = reference.value.$el.childNodes\n const input = (Array.from(inputChildNodes) as HTMLElement[]).filter(\n (item) => item.tagName === 'INPUT'\n )[0]\n const prefix = reference.value.$el.querySelector(\n `.${nsInput.e('prefix')}`\n )\n prefixWidth.value = Math.max(\n prefix.getBoundingClientRect().width + 5,\n 30\n )\n if (states.prefixWidth) {\n input.style.paddingLeft = `${Math.max(states.prefixWidth, 30)}px`\n }\n }\n })\n setSelected()\n })\n\n onBeforeUnmount(() => {\n removeResizeListener(selectWrapper.value as any, handleResize)\n })\n\n if (props.multiple && !Array.isArray(props.modelValue)) {\n ctx.emit(UPDATE_MODEL_EVENT, [])\n }\n if (!props.multiple && Array.isArray(props.modelValue)) {\n ctx.emit(UPDATE_MODEL_EVENT, '')\n }\n\n const popperPaneRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'popperAppendToBody'\n )\n\n return {\n tagInMultiLine,\n prefixWidth,\n selectSize,\n readonly,\n handleResize,\n collapseTagSize,\n debouncedOnInputChange,\n debouncedQueryChange,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n inputWidth,\n selected,\n inputLength,\n filteredOptionsCount,\n visible,\n softFocus,\n selectedLabel,\n hoverIndex,\n query,\n inputHovering,\n currentPlaceholder,\n menuVisibleOnFocus,\n isOnComposition,\n isSilentBlur,\n options,\n resetInputHeight,\n managePlaceholder,\n showClose,\n selectDisabled,\n iconComponent,\n iconReverse,\n showNewOption,\n emptyText,\n toggleLastOptionHitState,\n resetInputState,\n handleComposition,\n handleMenuEnter,\n handleFocus,\n blur,\n handleBlur,\n handleClearClick,\n handleClose,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropMenuVisible,\n focus,\n\n reference,\n input,\n tooltipRef,\n popperPaneRef,\n tags,\n selectWrapper,\n scrollbar,\n\n wrapperKls,\n selectTagsStyle,\n compatTeleported,\n nsSelect,\n }\n },\n})\n</script>\n"],"names":["ElOption","_withDirectives","_normalizeClass","_openBlock","_createCommentVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiQA,MAAM,iBAAiB;AACvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,eAAe;AAAA,EACf,YAAY;AAAA,IACV;AAAA,IACA;AAAA,cACAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,YAAY,EAAE;AAAA,EACd,OAAO;AAAA,IACL,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,YAAY;AAAA,MACV,MAAM,CAAC,OAAO,QAAQ,QAAQ,SAAS;AAAA,MACvC,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,mBAAmB;AAAA,IACnB,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA;AAAA,IAEb,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,SAAS;AAAA,IACT,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,cAAc;AAAA,IACd,UAAU;AAAA,IACV,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,aAAa;AAAA,MACX,MAAM;AAAA;AAAA,IAER,oBAAoB;AAAA,IACpB,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,IACd,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,YAAY,uBAAuB;AAAA,IACnC,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA,IAEX,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,YAAY;AAAA,MACV,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA,IAGX,SAAS,KAAK,SAAS,MAAM,SAAS;AAAA;AAAA,EAExC,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGF,MAAM,OAAO,KAAK;AAChB,UAAM,WAAW,aAAa;AAC9B,UAAM,UAAU,aAAa;AAC7B,UAAM,EAAE,MAAM;AACd,UAAM,SAAS,gBAAgB;AAC/B,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,UAAU,OAAO,QAAQ;AAE7B,UAAM,EAAE,UAAU,SAAS;AAE3B,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,OAAO;AAEX,UAAM,aAAa,SAAS,MAAM;AAChC,YAAM,YAAY,CAAC,SAAS;AAC5B,YAAM,cAAc,MAAM;AAC1B,UAAI,aAAa;AACf,kBAAU,KAAK,SAAS,EAAE;AAAA;AAE5B,UAAI,MAAM,UAAU;AAClB,kBAAU,KAAK,SAAS,EAAE;AAAA;AAE5B,aAAO;AAAA;AAGT,UAAM,kBAAkB,SAAS;AAAO,MACtC,UAAU,GAAG,MAAM,cAAc;AAAA,MACjC,OAAO;AAAA;AAGT,YACE,WACA,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAIJ,cAAU,MAAM;AACd,aAAO,oBAAoB,mBAAmB,QAC5C,MAAM,eAAe,EAAE;AACzB,UACE,MAAM,YACN,MAAM,QAAQ,MAAM,eACpB,MAAM,WAAW,SAAS,GAC1B;AACA,2BAAmB,QAAQ;AAAA;AAE7B,wBAAkB,cAAc,OAAc;AAC9C,UAAI,UAAU,SAAS,UAAU,MAAM,KAAK;AAC1C,cAAM,UAAU;AAAA,UACd,OAAO;AAAA,UACP,SAAS;AAAA,UACT,OAAO;AAAA;AAET,cAAM,SAAQ,UAAU,MAAM;AAC9B,eAAO,qBACL,OAAM,wBAAwB,UAAU,QAAQ,WAAW;AAAA;AAE/D,UAAI,MAAM,UAAU,MAAM,UAAU;AAClC;AAAA;AAEF,eAAS,MAAM;AACb,YAAI,CAAC,UAAU;AAAO;AACtB,YAAI,UAAU,MAAM,KAAK;AACvB,qBAAW,QAAQ,UAAU,MAAM,IAAI,wBAAwB;AAAA;AAEjE,YAAI,IAAI,MAAM,QAAQ;AACpB,gBAAM,kBAAkB,UAAU,MAAM,IAAI;AAC5C,gBAAM,SAAS,MAAM,KAAK,iBAAmC,OAC3D,CAAC,SAAS,KAAK,YAAY,SAC3B;AACF,gBAAM,SAAS,UAAU,MAAM,IAAI,cACjC,IAAI,QAAQ,EAAE;AAEhB,sBAAY,QAAQ,KAAK,IACvB,OAAO,wBAAwB,QAAQ,GACvC;AAEF,cAAI,OAAO,aAAa;AACtB,mBAAM,MAAM,cAAc,GAAG,KAAK,IAAI,OAAO,aAAa;AAAA;AAAA;AAAA;AAIhE;AAAA;AAGF,oBAAgB,MAAM;AACpB,2BAAqB,cAAc,OAAc;AAAA;AAGnD,QAAI,MAAM,YAAY,CAAC,MAAM,QAAQ,MAAM,aAAa;AACtD,UAAI,KAAK,oBAAoB;AAAA;AAE/B,QAAI,CAAC,MAAM,YAAY,MAAM,QAAQ,MAAM,aAAa;AACtD,UAAI,KAAK,oBAAoB;AAAA;AAG/B,UAAM,gBAAgB,SAAS,MAAM;AACnC;AAAoC;AAGtC;AAKA;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;AAvYE,SAtNAC;AAAA,IAEH;AAAO,IACP;AAAsB;;AAkNV;AA/MP,MACI;AAAS;AAAe,MAChC;AAAU,MACT;AAAY,MACZ,gBAAY,CAAG,gBAAU;AAAY,MACrC;AAAqB,MACrB;AAAQ,MACT;AAAA,MACA;AAAQ,MACP;AAAkC,MAClC;AAAyB,MACzB;AAAkB,MAClB;AAAY,MACZ;AAAM;;AAiKC;AAAA;AA3DE;YAhGJ,KAAI;AAAA,YACH;AAAiB,YACjB,OAAKC,eAAE;AAAA;;AAkCD;cA9BJ;AAAK;AAAiG;AAAA;;AAkB9F,yBAZE,CAAG;AAA+B,gBAC1C;AAAM,gBACN;AAAiB,gBACjB;AAAM,gBACP;AAAA,gBACC;AAAiC;;AAMjC;AAAA;AAHmB,oBACjB,OAAKA;AAAwB,sDACd,eAAY;AAAA;AAAA;;wDAGhC;AAUS;gBARN;AAAU,gBACV;AAAM,gBACN,MAAM;AAAA,gBACP;AAAA;;AAIC;AAAA;AAFuB,0DACP;AAAM;AAAA;;;;AAI3B;AAyBa;cAxBqB;AAAa;;AAuBtC;AAAA;AArBC;AAAqG;AAAA;;;AAoBlG,2BAbDC;AAAY,sBACjB,UAAQ;AAA2B,sBACnC;AAAM,sBACN,UAAU;AAAA,sBACV;AAAM,sBACP;AAAA,sBACC,qBAAO;AAAkB;;AAMzB;AAAA;AAHmB,0BACjB,OAAKD;AAAwB,gDACrB;AAAY;AAAA;;;;;;;;AAK7B,YAEQE;AA8BN;cA7BA,KAAI;AAAA;AACU,cACd;AAAK,cACJ;AAAyC,cACzC;AAAU,cACV,cAAc;AAAA,cACd;AAAK;;0BAAgO;AAAyB;AAAkD;AAAA;AASzS,cACP;AAAM,cACN;AAAO,cACP;AAAO;AAAE,+EACa,qBAAe;AAAA,6EACjB,qBAAe;AAAA,6EACT;AAAO,+HACO;AAAA,iEACxB,mDAAa;AAAA;AACT;AAAA;AACF,cAClB;AAAmB,cACnB;AAAgB,cAChB,kDAAO;AAAA;;AA3BC;;;AAuFF;AAxDJ,YACL;AAAI;AACK;AAAa,YACtB;AAAK,YACJ;AAAa,YACb;AAAM,YACN;AAAc,YACd;AAAM,YACN,UAAU;AAAA,YACV,UAAU;AAAA,YACV;AAAgB,YAChB;AAA6B,YAC7B,iDAAwC;AAAA,YACxC;AAAO,YACP;AAAM,YACN;AAAO,YACP,SAAO;AAAA,YACP;AAAkB,YAClB;AAAmB,YACnB;AAAgB,YAChB;AAAO;AAAmC,6EACjB,qBAAe;AAAA,uCACZ;AAAY;AACP,6EACb;AAAA;AAAA;AACK,YACzB,cAAU,wCAAE,qBAAa;AAAA;;AAqBd;AAAA;gBAHP;AAAiD;;AAEjB,gCAAjC;AAAgB;AAAA;;;AAHP;;AAWD;gBAJP;AAAuC,gBACvC;AAAO;;AAEqB,gCAA7B;AAAgB;AAAA;;;;;;;AAzBY;AAUxB,gBATN;AASM;AADuB;AAAA;AAAA;;;;;AAmDlB;AAAA;AAZA,2BAff;AAee;AAbT,cACJ,KAAI;AAAA,cACH;AAAuB,cACvB,cAAY,cAAS,GAAE;AAAA,cACvB;AAAK;AAAqH;AAAA;;AAO1D;AAAA;kBAAhC;AAAO,kBAAQ;AAAS;4BAC5C;AAAA;AAAA;;;AAbgB;AAAA;AAyBpB,0BAJU;AAGf;gBAFO;AAAkB;AACf;;;;;;;;;AA/MN;AAAA;;;;;;"}
@@ -58,6 +58,10 @@ declare const _default: import("vue").DefineComponent<{
58
58
  default: undefined;
59
59
  };
60
60
  teleported: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
61
+ persistent: {
62
+ type: BooleanConstructor;
63
+ default: boolean;
64
+ };
61
65
  clearIcon: {
62
66
  type: PropType<string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
63
67
  default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
@@ -780,6 +784,10 @@ declare const _default: import("vue").DefineComponent<{
780
784
  default: undefined;
781
785
  };
782
786
  teleported: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
787
+ persistent: {
788
+ type: BooleanConstructor;
789
+ default: boolean;
790
+ };
783
791
  clearIcon: {
784
792
  type: PropType<string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
785
793
  default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
@@ -816,6 +824,7 @@ declare const _default: import("vue").DefineComponent<{
816
824
  popperClass: string;
817
825
  popperAppendToBody: boolean;
818
826
  teleported: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
827
+ persistent: boolean;
819
828
  multiple: boolean;
820
829
  autocomplete: string;
821
830
  clearable: boolean;
@@ -62,6 +62,10 @@ declare const _Select: SFCWithInstall<import("vue").DefineComponent<{
62
62
  default: undefined;
63
63
  };
64
64
  teleported: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
65
+ persistent: {
66
+ type: BooleanConstructor;
67
+ default: boolean;
68
+ };
65
69
  popperClass: {
66
70
  type: StringConstructor;
67
71
  default: string;
@@ -818,6 +822,10 @@ declare const _Select: SFCWithInstall<import("vue").DefineComponent<{
818
822
  default: undefined;
819
823
  };
820
824
  teleported: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
825
+ persistent: {
826
+ type: BooleanConstructor;
827
+ default: boolean;
828
+ };
821
829
  popperClass: {
822
830
  type: StringConstructor;
823
831
  default: string;
@@ -857,6 +865,7 @@ declare const _Select: SFCWithInstall<import("vue").DefineComponent<{
857
865
  popperAppendToBody: boolean;
858
866
  popperOptions: Partial<import("@popperjs/core").Options>;
859
867
  teleported: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
868
+ persistent: boolean;
860
869
  multiple: boolean;
861
870
  autocomplete: "none" | "both" | "inline" | "list";
862
871
  clearable: boolean;
@@ -937,6 +946,10 @@ export declare const ElSelectV2: SFCWithInstall<import("vue").DefineComponent<{
937
946
  default: undefined;
938
947
  };
939
948
  teleported: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
949
+ persistent: {
950
+ type: BooleanConstructor;
951
+ default: boolean;
952
+ };
940
953
  popperClass: {
941
954
  type: StringConstructor;
942
955
  default: string;
@@ -1693,6 +1706,10 @@ export declare const ElSelectV2: SFCWithInstall<import("vue").DefineComponent<{
1693
1706
  default: undefined;
1694
1707
  };
1695
1708
  teleported: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
1709
+ persistent: {
1710
+ type: BooleanConstructor;
1711
+ default: boolean;
1712
+ };
1696
1713
  popperClass: {
1697
1714
  type: StringConstructor;
1698
1715
  default: string;
@@ -1732,6 +1749,7 @@ export declare const ElSelectV2: SFCWithInstall<import("vue").DefineComponent<{
1732
1749
  popperAppendToBody: boolean;
1733
1750
  popperOptions: Partial<import("@popperjs/core").Options>;
1734
1751
  teleported: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
1752
+ persistent: boolean;
1735
1753
  multiple: boolean;
1736
1754
  autocomplete: "none" | "both" | "inline" | "list";
1737
1755
  clearable: boolean;
@@ -64,6 +64,10 @@ export declare const SelectProps: {
64
64
  default: undefined;
65
65
  };
66
66
  teleported: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
67
+ persistent: {
68
+ type: BooleanConstructor;
69
+ default: boolean;
70
+ };
67
71
  popperClass: {
68
72
  type: StringConstructor;
69
73
  default: string;
@@ -67,6 +67,10 @@ const SelectProps = {
67
67
  default: void 0
68
68
  },
69
69
  teleported: useTooltipContentProps.teleported,
70
+ persistent: {
71
+ type: Boolean,
72
+ default: true
73
+ },
70
74
  popperClass: {
71
75
  type: String,
72
76
  default: ""
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.mjs","sources":["../../../../../../packages/components/select-v2/src/defaults.ts"],"sourcesContent":["import { isValidComponentSize } from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { CircleClose } from '@element-plus/icons-vue'\n\nimport type { PropType, Component } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { OptionType } from './select.types'\nimport type { Options } from '@element-plus/components/popper'\n\nexport const SelectProps = {\n allowCreate: Boolean,\n autocomplete: {\n type: String as PropType<'none' | 'both' | 'list' | 'inline'>,\n default: 'none',\n },\n automaticDropdown: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: CircleClose,\n },\n effect: {\n type: String as PropType<'light' | 'dark' | string>,\n default: 'light',\n },\n collapseTags: Boolean,\n defaultFirstOption: Boolean,\n disabled: Boolean,\n estimatedOptionHeight: {\n type: Number,\n default: undefined,\n },\n filterable: Boolean,\n filterMethod: Function,\n height: {\n type: Number,\n default: 170, // 5 items by default\n },\n itemHeight: {\n type: Number,\n default: 34,\n },\n id: String,\n loading: Boolean,\n loadingText: String,\n label: String,\n modelValue: [Array, String, Number, Boolean, Object] as PropType<\n any[] | string | number | boolean | Record<string, any> | any\n >,\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0,\n },\n name: String,\n noDataText: String,\n noMatchText: String,\n remoteMethod: Function,\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n options: {\n type: Array as PropType<OptionType[]>,\n required: true,\n },\n placeholder: {\n type: String,\n },\n popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n teleported: useTooltipContentProps.teleported,\n popperClass: {\n type: String,\n default: '',\n },\n popperOptions: {\n type: Object as PropType<Partial<Options>>,\n default: () => ({} as Partial<Options>),\n },\n remote: Boolean,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n valueKey: {\n type: String,\n default: 'value',\n },\n scrollbarAlwaysOn: {\n type: Boolean,\n default: false,\n },\n}\n\nexport const OptionProps = {\n data: Array,\n disabled: Boolean,\n hovering: Boolean,\n item: Object,\n index: Number,\n style: Object,\n selected: Boolean,\n created: Boolean,\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.mjs","sources":["../../../../../../packages/components/select-v2/src/defaults.ts"],"sourcesContent":["import { isValidComponentSize } from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { CircleClose } from '@element-plus/icons-vue'\n\nimport type { PropType, Component } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { OptionType } from './select.types'\nimport type { Options } from '@element-plus/components/popper'\n\nexport const SelectProps = {\n allowCreate: Boolean,\n autocomplete: {\n type: String as PropType<'none' | 'both' | 'list' | 'inline'>,\n default: 'none',\n },\n automaticDropdown: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: CircleClose,\n },\n effect: {\n type: String as PropType<'light' | 'dark' | string>,\n default: 'light',\n },\n collapseTags: Boolean,\n defaultFirstOption: Boolean,\n disabled: Boolean,\n estimatedOptionHeight: {\n type: Number,\n default: undefined,\n },\n filterable: Boolean,\n filterMethod: Function,\n height: {\n type: Number,\n default: 170, // 5 items by default\n },\n itemHeight: {\n type: Number,\n default: 34,\n },\n id: String,\n loading: Boolean,\n loadingText: String,\n label: String,\n modelValue: [Array, String, Number, Boolean, Object] as PropType<\n any[] | string | number | boolean | Record<string, any> | any\n >,\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0,\n },\n name: String,\n noDataText: String,\n noMatchText: String,\n remoteMethod: Function,\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n options: {\n type: Array as PropType<OptionType[]>,\n required: true,\n },\n placeholder: {\n type: String,\n },\n popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n teleported: useTooltipContentProps.teleported,\n persistent: {\n type: Boolean,\n default: true,\n },\n popperClass: {\n type: String,\n default: '',\n },\n popperOptions: {\n type: Object as PropType<Partial<Options>>,\n default: () => ({} as Partial<Options>),\n },\n remote: Boolean,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n valueKey: {\n type: String,\n default: 'value',\n },\n scrollbarAlwaysOn: {\n type: Boolean,\n default: false,\n },\n}\n\nexport const OptionProps = {\n data: Array,\n disabled: Boolean,\n hovering: Boolean,\n item: Object,\n index: Number,\n style: Object,\n selected: Boolean,\n created: Boolean,\n}\n"],"names":[],"mappings":"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"}
@@ -80,7 +80,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
80
80
  pure: "",
81
81
  transition: `${_ctx.nsSelectV2.namespace.value}-zoom-in-top`,
82
82
  trigger: "click",
83
- persistent: "",
83
+ persistent: _ctx.persistent,
84
84
  onShow: _ctx.handleMenuEnter,
85
85
  onHide: _cache[23] || (_cache[23] = ($event) => _ctx.states.inputValue = _ctx.states.displayInputValue)
86
86
  }, {
@@ -94,7 +94,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
94
94
  _ctx.nsSelectV2.is("focused", _ctx.states.isComposing),
95
95
  _ctx.nsSelectV2.is("hovering", _ctx.states.comboBoxHovering),
96
96
  _ctx.nsSelectV2.is("filterable", _ctx.filterable),
97
- _ctx.nsSelectV2.is("disabled", _ctx.disabled)
97
+ _ctx.nsSelectV2.is("disabled", _ctx.selectDisabled)
98
98
  ])
99
99
  }, [
100
100
  _ctx.$slots.prefix ? (openBlock(), createElementBlock("div", _hoisted_1, [
@@ -338,7 +338,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
338
338
  }, 8, ["data", "width", "hovering-index", "scrollbar-always-on"])
339
339
  ]),
340
340
  _: 3
341
- }, 8, ["visible", "teleported", "popper-class", "popper-options", "effect", "transition", "onShow"])
341
+ }, 8, ["visible", "teleported", "popper-class", "popper-options", "effect", "transition", "persistent", "onShow"])
342
342
  ], 34)), [
343
343
  [_directive_click_outside, _ctx.handleClickOutside, _ctx.popperRef]
344
344
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelectV2.b(), nsSelectV2.m(selectSize)]\"\n @click.stop=\"toggleMenu\"\n @mouseenter=\"states.comboBoxHovering = true\"\n @mouseleave=\"states.comboBoxHovering = false\"\n >\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"dropdownMenuVisible\"\n :teleported=\"compatTeleported\"\n :popper-class=\"[nsSelectV2.e('popper'), popperClass]\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom-start\"\n pure\n :transition=\"`${nsSelectV2.namespace.value}-zoom-in-top`\"\n trigger=\"click\"\n persistent\n @show=\"handleMenuEnter\"\n @hide=\"states.inputValue = states.displayInputValue\"\n >\n <template #default>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelectV2.e('wrapper'),\n nsSelectV2.is('focused', states.isComposing),\n nsSelectV2.is('hovering', states.comboBoxHovering),\n nsSelectV2.is('filterable', filterable),\n nsSelectV2.is('disabled', disabled),\n ]\"\n >\n <div v-if=\"$slots.prefix\">\n <slot name=\"prefix\"></slot>\n </div>\n <div v-if=\"multiple\" :class=\"nsSelectV2.e('selection')\">\n <template v-if=\"collapseTags && modelValue.length > 0\">\n <div :class=\"nsSelectV2.e('selected-item')\">\n <el-tag\n :closable=\"\n !selectDisabled && !states.cachedOptions[0]?.disable\n \"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, states.cachedOptions[0])\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ states.cachedOptions[0]?.label }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"modelValue.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >+ {{ modelValue.length - 1 }}</span\n >\n </el-tag>\n </div>\n </template>\n\n <template v-else>\n <div\n v-for=\"(selected, idx) in states.cachedOptions\"\n :key=\"idx\"\n :class=\"nsSelectV2.e('selected-item')\"\n >\n <el-tag\n :key=\"getValueKey(selected)\"\n :closable=\"!selectDisabled && !selected.disabled\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ getLabel(selected) }}</span\n >\n </el-tag>\n </div>\n </template>\n <div\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-wrapper'),\n ]\"\n :style=\"inputWrapperStyle\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n :autocomplete=\"autocomplete\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-labelledby=\"label\"\n :class=\"[\n nsSelectV2.is(selectSize),\n nsSelectV2.e('combobox-input'),\n ]\"\n :disabled=\"disabled\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @update:modelValue=\"onUpdateInputValue\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelectV2.e('input-calculator')\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </div>\n </div>\n <template v-else>\n <div\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-wrapper'),\n ]\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n :aria-labelledby=\"label\"\n :aria-expanded=\"expanded\"\n autocapitalize=\"off\"\n :autocomplete=\"autocomplete\"\n :class=\"nsSelectV2.e('combobox-input')\"\n :disabled=\"disabled\"\n :name=\"name\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @update:modelValue=\"onUpdateInputValue\"\n />\n </div>\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-calculator'),\n ]\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </template>\n <span\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelectV2.e('placeholder'),\n nsSelectV2.is(\n 'transparent',\n states.isComposing ||\n (placeholder && multiple\n ? modelValue.length === 0\n : !hasModelValue)\n ),\n ]\"\n >\n {{ currentPlaceholder }}\n </span>\n <span :class=\"nsSelectV2.e('suffix')\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"[nsSelectV2.e('caret'), nsInput.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[nsSelectV2.e('caret'), nsInput.e('icon')]\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n :class=\"[nsInput.e('icon'), nsInput.e('validateIcon')]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </div>\n </template>\n <template #content>\n <el-select-menu\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template #default=\"scope\">\n <slot v-bind=\"scope\"></slot>\n </template>\n <template #empty>\n <slot name=\"empty\">\n <p :class=\"nsSelectV2.e('empty')\">\n {{ emptyText ? emptyText : '' }}\n </p>\n </slot>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, toRefs, reactive, vModelText } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/constants'\nimport ElSelectMenu from './select-dropdown.vue'\nimport useSelect from './useSelect'\nimport { selectV2InjectionKey } from './token'\nimport { SelectProps } from './defaults'\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside, ModelText: vModelText },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const API = useSelect(props, emit)\n // TODO, remove the any cast to align the actual API.\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n }),\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n } as any)\n\n return API\n },\n})\n</script>\n"],"names":["ElSelectMenu","_createElementBlock","_normalizeClass","_createVNode","_withCtx","_createElementVNode","_openBlock","_withDirectives"],"mappings":";;;;;;;;;;;;;;AAoRA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,kBACVA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,YAAY,EAAE,cAAc,WAAW;AAAA,EACvC,OAAO;AAAA,EACP,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGF,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,MAAM,UAAU,OAAO;AAE7B,YAAQ,sBAAsB;AAAA,MAC5B,OAAO,SAAS;AAAA,WACX,OAAO;AAAA,QACV,QAAQ,IAAI;AAAA;AAAA,MAEd,UAAU,IAAI;AAAA,MACd,SAAS,IAAI;AAAA,MACb,oBAAoB,IAAI;AAAA,MACxB,kBAAkB,IAAI;AAAA;AAGxB,WAAO;AAAA;AAAA;;;;;;;;;;;;;sCArTTC,mBAqQM;AAAA,IApQJ,KAAI;AAAA,IAEH,OAAKC,gBAAG,gBAAW,KAAK,gBAAW,EAAE;AAAA,IACrC,SAAK,uDAAO,6CAAU;AAAA,IACtB,cAAU,wCAAE,YAAO,mBAAgB;AAAA,IACnC,cAAU,wCAAE,YAAO,mBAAgB;AAAA;IAEpCC,YA4Pa;AAAA,MA3PX,KAAI;AAAA,MACI,SAAS;AAAA,6FAAmB;AAAA,MACnC,YAAY;AAAA,MACZ,gBAAY,CAAG,gBAAW,EAAC,WAAY;AAAA,MACvC,oBAAkB;AAAA,MAClB,2BAAyB;AAAA,MACzB,kBAAgB;AAAA,MAChB,uBAAqB;AAAA,MACrB,QAAQ;AAAA,MACT,WAAU;AAAA,MACV;AAAA,MACC,YAAU,GAAK,gBAAW,UAAU;AAAA,MACrC,SAAQ;AAAA,MACR;AAAA,MACC,QAAM;AAAA,MACN,QAAI,wCAAE,YAAO,aAAa,YAAO;AAAA;MAEvB,SAAOC,QAChB,MAmNM;AAAA,QAnNN;AAmNM,eAlNA;AAAA,UACHC;AAAK,YAAgB;AAAY,YAAyB;AAAgC,+BAAuC;AAAoB;AAA2D,2CAAmD;AAAA;AAAA;;AAU9P;AADuB;;AAiHvB;YA/GgB;AAAmB;;AAmC/B;cAjCA;AAAmB;;AAiBd;AAfsE,gBAG5EF;AAAM;AACF;AACL;AAC8C;kCAE9C;AAMC;AAAA,2BALOC;AAAc,oBACnB,OAAK;AAAA;AAAuC;AAAA,+DAGrB,YAAU;AAAA;AAAA;;;AAiB7B;;AAZI,sBACJ;AAAA,sBACF;AAAA,gBACL;AAAA;;AAQC,kBAND;AAMC;AALqB;AACd;AAAuC;AAAA;AAGtB;AAAA;;;;AA4BvB;AAnBE;AACc;;AAiBX,uBAdDE;AAAY,kBACjB;AAAuC,kBACvC;AAAM;AACF;AACL;AAC0B;;AAQzB,oBAND;AAMC,6CALS;AAAY,6BACd;AAAA;AAAuC;AAAA;AAGxB;AAAA;;;;;AAqDvB,qBA/CE;AAAA;AAAgC;AAA+C;AAAA,cAIpFD;AAAO;;AAkCN;AA/BK;AACD,gBAEH;AAAc;AACG,gBAClBE;AAAc;AACC,iCACC;AAAA;AACE;AACZ,kBAAsB;AAAc,kBAA+B,gBAAW;AAAC;AAAA;AAI1E;AACN;AACO;AACD;AACN;AACE;AAC0B;AACb;AACZ;AACA;AACW,qCACD;AAAE;AACH,2BACT;AAAA;AAAoC,iFAChB;AAAkB,kFACjB,yDAAgB;AAAA;AACT;AACL;AAAA;wCA5BjB;AAAO;AAAA;AAqChB;;AALD;AACQ;AACQ;AACL;;;AAqDV;AAZH;AAlCE;AAAgC;AAA+C;AAAA;;AAiCnF;AA3BK;AACD;AAEc;AACJ,gBACbA;AAAiB;AACF;AACD;AACA;AACK;AACT;AACJ;AACF;AACO;AACD;AACN;AAC4B;AACd;AACC;AACH;AACT;AACA;AACA;AAAoC;AACE,oFACjB;AAAgB,oFAClB;AAAS;AAAA,8EAChB;AAAA;;AAxBC;AAAA;iEAqClB;AAAA;mBARD;AAAA;AACQ;AACN;AAAgC,gBAAmC;AAAY;AAAA;AAItE;;sDAInB;AAcO;;AAZC;AAA8B;AAAmO;AAAA;;AAkClQ;AArBmB;;AAOd;qCAHC;AAA0C;;AAElB;AAAjB;AAAA;;;AAHP;;AAWD;qBAJF;AAAmC,sBACnC;AAA0B;;AAEH;AAAb;AAAA;;iCAGO;AAIf;;AAH6B;;AAEL,oEAAhB;AAAA;AAAA;;;;;;AAuBL,qBAAA;AAAA,eAhBX;AAAA;AACG,UACN;AAAO;AACgB;AACF;UAEX;AAAc;AACT;AAAA,UAEL,gBACT,MAIO;AAAA;AAAA;AADD,sCAFO;AAAY;AACG;AAAA;AAAA;;;;;;;AA5PpB;AAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelectV2.b(), nsSelectV2.m(selectSize)]\"\n @click.stop=\"toggleMenu\"\n @mouseenter=\"states.comboBoxHovering = true\"\n @mouseleave=\"states.comboBoxHovering = false\"\n >\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"dropdownMenuVisible\"\n :teleported=\"compatTeleported\"\n :popper-class=\"[nsSelectV2.e('popper'), popperClass]\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom-start\"\n pure\n :transition=\"`${nsSelectV2.namespace.value}-zoom-in-top`\"\n trigger=\"click\"\n :persistent=\"persistent\"\n @show=\"handleMenuEnter\"\n @hide=\"states.inputValue = states.displayInputValue\"\n >\n <template #default>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelectV2.e('wrapper'),\n nsSelectV2.is('focused', states.isComposing),\n nsSelectV2.is('hovering', states.comboBoxHovering),\n nsSelectV2.is('filterable', filterable),\n nsSelectV2.is('disabled', selectDisabled),\n ]\"\n >\n <div v-if=\"$slots.prefix\">\n <slot name=\"prefix\"></slot>\n </div>\n <div v-if=\"multiple\" :class=\"nsSelectV2.e('selection')\">\n <template v-if=\"collapseTags && modelValue.length > 0\">\n <div :class=\"nsSelectV2.e('selected-item')\">\n <el-tag\n :closable=\"\n !selectDisabled && !states.cachedOptions[0]?.disable\n \"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, states.cachedOptions[0])\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ states.cachedOptions[0]?.label }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"modelValue.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >+ {{ modelValue.length - 1 }}</span\n >\n </el-tag>\n </div>\n </template>\n\n <template v-else>\n <div\n v-for=\"(selected, idx) in states.cachedOptions\"\n :key=\"idx\"\n :class=\"nsSelectV2.e('selected-item')\"\n >\n <el-tag\n :key=\"getValueKey(selected)\"\n :closable=\"!selectDisabled && !selected.disabled\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ getLabel(selected) }}</span\n >\n </el-tag>\n </div>\n </template>\n <div\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-wrapper'),\n ]\"\n :style=\"inputWrapperStyle\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n :autocomplete=\"autocomplete\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-labelledby=\"label\"\n :class=\"[\n nsSelectV2.is(selectSize),\n nsSelectV2.e('combobox-input'),\n ]\"\n :disabled=\"disabled\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @update:modelValue=\"onUpdateInputValue\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelectV2.e('input-calculator')\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </div>\n </div>\n <template v-else>\n <div\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-wrapper'),\n ]\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n :aria-labelledby=\"label\"\n :aria-expanded=\"expanded\"\n autocapitalize=\"off\"\n :autocomplete=\"autocomplete\"\n :class=\"nsSelectV2.e('combobox-input')\"\n :disabled=\"disabled\"\n :name=\"name\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @update:modelValue=\"onUpdateInputValue\"\n />\n </div>\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-calculator'),\n ]\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </template>\n <span\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelectV2.e('placeholder'),\n nsSelectV2.is(\n 'transparent',\n states.isComposing ||\n (placeholder && multiple\n ? modelValue.length === 0\n : !hasModelValue)\n ),\n ]\"\n >\n {{ currentPlaceholder }}\n </span>\n <span :class=\"nsSelectV2.e('suffix')\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"[nsSelectV2.e('caret'), nsInput.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[nsSelectV2.e('caret'), nsInput.e('icon')]\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n :class=\"[nsInput.e('icon'), nsInput.e('validateIcon')]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </div>\n </template>\n <template #content>\n <el-select-menu\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template #default=\"scope\">\n <slot v-bind=\"scope\"></slot>\n </template>\n <template #empty>\n <slot name=\"empty\">\n <p :class=\"nsSelectV2.e('empty')\">\n {{ emptyText ? emptyText : '' }}\n </p>\n </slot>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, toRefs, reactive, vModelText } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/constants'\nimport ElSelectMenu from './select-dropdown.vue'\nimport useSelect from './useSelect'\nimport { selectV2InjectionKey } from './token'\nimport { SelectProps } from './defaults'\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside, ModelText: vModelText },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const API = useSelect(props, emit)\n // TODO, remove the any cast to align the actual API.\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n }),\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n } as any)\n\n return API\n },\n})\n</script>\n"],"names":["ElSelectMenu","_createElementBlock","_normalizeClass","_createVNode","_withCtx","_createElementVNode","_openBlock","_withDirectives"],"mappings":"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"}
@@ -61,6 +61,10 @@ declare const _default: import("vue").DefineComponent<{
61
61
  default: undefined;
62
62
  };
63
63
  teleported: import("../../../utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
64
+ persistent: {
65
+ type: BooleanConstructor;
66
+ default: boolean;
67
+ };
64
68
  popperClass: {
65
69
  type: StringConstructor;
66
70
  default: string;
@@ -817,6 +821,10 @@ declare const _default: import("vue").DefineComponent<{
817
821
  default: undefined;
818
822
  };
819
823
  teleported: import("../../../utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
824
+ persistent: {
825
+ type: BooleanConstructor;
826
+ default: boolean;
827
+ };
820
828
  popperClass: {
821
829
  type: StringConstructor;
822
830
  default: string;
@@ -856,6 +864,7 @@ declare const _default: import("vue").DefineComponent<{
856
864
  popperAppendToBody: boolean;
857
865
  popperOptions: Partial<import("@popperjs/core").Options>;
858
866
  teleported: import("../../../utils").BuildPropType<BooleanConstructor, unknown, unknown>;
867
+ persistent: boolean;
859
868
  multiple: boolean;
860
869
  autocomplete: "none" | "both" | "inline" | "list";
861
870
  clearable: boolean;
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20220303";
1
+ export declare const version = "0.0.20220304";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20220303";
1
+ const version = "0.0.20220304";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20220303'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20220304'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
@@ -56,6 +56,10 @@ export declare const ElSelect: import("element-plus/es/utils").SFCWithInstall<im
56
56
  default: undefined;
57
57
  };
58
58
  teleported: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
59
+ persistent: {
60
+ type: BooleanConstructor;
61
+ default: boolean;
62
+ };
59
63
  clearIcon: {
60
64
  type: import("vue").PropType<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
61
65
  default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
@@ -778,6 +782,10 @@ export declare const ElSelect: import("element-plus/es/utils").SFCWithInstall<im
778
782
  default: undefined;
779
783
  };
780
784
  teleported: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
785
+ persistent: {
786
+ type: BooleanConstructor;
787
+ default: boolean;
788
+ };
781
789
  clearIcon: {
782
790
  type: import("vue").PropType<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
783
791
  default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
@@ -814,6 +822,7 @@ export declare const ElSelect: import("element-plus/es/utils").SFCWithInstall<im
814
822
  popperClass: string;
815
823
  popperAppendToBody: boolean;
816
824
  teleported: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
825
+ persistent: boolean;
817
826
  multiple: boolean;
818
827
  autocomplete: string;
819
828
  clearable: boolean;
@@ -102,6 +102,10 @@ const _sfc_main = vue.defineComponent({
102
102
  default: void 0
103
103
  },
104
104
  teleported: tooltip.useTooltipContentProps.teleported,
105
+ persistent: {
106
+ type: Boolean,
107
+ default: true
108
+ },
105
109
  clearIcon: {
106
110
  type: [String, Object],
107
111
  default: iconsVue.CircleClose
@@ -378,7 +382,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
378
382
  transition: `${_ctx.nsSelect.namespace.value}-zoom-in-top`,
379
383
  "stop-popper-mouse-event": false,
380
384
  "gpu-acceleration": false,
381
- persistent: "",
385
+ persistent: _ctx.persistent,
382
386
  onShow: _ctx.handleMenuEnter
383
387
  }, {
384
388
  default: vue.withCtx(() => [
@@ -598,7 +602,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
598
602
  })
599
603
  ]),
600
604
  _: 3
601
- }, 8, ["visible", "teleported", "popper-class", "effect", "transition", "onShow"])
605
+ }, 8, ["visible", "teleported", "popper-class", "effect", "transition", "persistent", "onShow"])
602
606
  ], 2)), [
603
607
  [_directive_click_outside, _ctx.handleClose, _ctx.popperPaneRef]
604
608
  ]);