@element-plus/nightly 0.0.20241101 → 0.0.20241103

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 (294) hide show
  1. package/dist/index.full.js +4 -5
  2. package/dist/index.full.min.js +2 -2
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +2 -2
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +4 -5
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hr.js +1 -1
  92. package/dist/locale/hr.min.js +1 -1
  93. package/dist/locale/hr.min.mjs +1 -1
  94. package/dist/locale/hr.mjs +1 -1
  95. package/dist/locale/hu.js +1 -1
  96. package/dist/locale/hu.min.js +1 -1
  97. package/dist/locale/hu.min.mjs +1 -1
  98. package/dist/locale/hu.mjs +1 -1
  99. package/dist/locale/hy-am.js +1 -1
  100. package/dist/locale/hy-am.min.js +1 -1
  101. package/dist/locale/hy-am.min.mjs +1 -1
  102. package/dist/locale/hy-am.mjs +1 -1
  103. package/dist/locale/id.js +1 -1
  104. package/dist/locale/id.min.js +1 -1
  105. package/dist/locale/id.min.mjs +1 -1
  106. package/dist/locale/id.mjs +1 -1
  107. package/dist/locale/it.js +1 -1
  108. package/dist/locale/it.min.js +1 -1
  109. package/dist/locale/it.min.mjs +1 -1
  110. package/dist/locale/it.mjs +1 -1
  111. package/dist/locale/ja.js +1 -1
  112. package/dist/locale/ja.min.js +1 -1
  113. package/dist/locale/ja.min.mjs +1 -1
  114. package/dist/locale/ja.mjs +1 -1
  115. package/dist/locale/kk.js +1 -1
  116. package/dist/locale/kk.min.js +1 -1
  117. package/dist/locale/kk.min.mjs +1 -1
  118. package/dist/locale/kk.mjs +1 -1
  119. package/dist/locale/km.js +1 -1
  120. package/dist/locale/km.min.js +1 -1
  121. package/dist/locale/km.min.mjs +1 -1
  122. package/dist/locale/km.mjs +1 -1
  123. package/dist/locale/ko.js +1 -1
  124. package/dist/locale/ko.min.js +1 -1
  125. package/dist/locale/ko.min.mjs +1 -1
  126. package/dist/locale/ko.mjs +1 -1
  127. package/dist/locale/ku.js +1 -1
  128. package/dist/locale/ku.min.js +1 -1
  129. package/dist/locale/ku.min.mjs +1 -1
  130. package/dist/locale/ku.mjs +1 -1
  131. package/dist/locale/ky.js +1 -1
  132. package/dist/locale/ky.min.js +1 -1
  133. package/dist/locale/ky.min.mjs +1 -1
  134. package/dist/locale/ky.mjs +1 -1
  135. package/dist/locale/lt.js +1 -1
  136. package/dist/locale/lt.min.js +1 -1
  137. package/dist/locale/lt.min.mjs +1 -1
  138. package/dist/locale/lt.mjs +1 -1
  139. package/dist/locale/lv.js +1 -1
  140. package/dist/locale/lv.min.js +1 -1
  141. package/dist/locale/lv.min.mjs +1 -1
  142. package/dist/locale/lv.mjs +1 -1
  143. package/dist/locale/mg.js +1 -1
  144. package/dist/locale/mg.min.js +1 -1
  145. package/dist/locale/mg.min.mjs +1 -1
  146. package/dist/locale/mg.mjs +1 -1
  147. package/dist/locale/mn.js +1 -1
  148. package/dist/locale/mn.min.js +1 -1
  149. package/dist/locale/mn.min.mjs +1 -1
  150. package/dist/locale/mn.mjs +1 -1
  151. package/dist/locale/my.js +1 -1
  152. package/dist/locale/my.min.js +1 -1
  153. package/dist/locale/my.min.mjs +1 -1
  154. package/dist/locale/my.mjs +1 -1
  155. package/dist/locale/nb-no.js +1 -1
  156. package/dist/locale/nb-no.min.js +1 -1
  157. package/dist/locale/nb-no.min.mjs +1 -1
  158. package/dist/locale/nb-no.mjs +1 -1
  159. package/dist/locale/nl.js +1 -1
  160. package/dist/locale/nl.min.js +1 -1
  161. package/dist/locale/nl.min.mjs +1 -1
  162. package/dist/locale/nl.mjs +1 -1
  163. package/dist/locale/pa.js +1 -1
  164. package/dist/locale/pa.min.js +1 -1
  165. package/dist/locale/pa.min.mjs +1 -1
  166. package/dist/locale/pa.mjs +1 -1
  167. package/dist/locale/pl.js +1 -1
  168. package/dist/locale/pl.min.js +1 -1
  169. package/dist/locale/pl.min.mjs +1 -1
  170. package/dist/locale/pl.mjs +1 -1
  171. package/dist/locale/pt-br.js +1 -1
  172. package/dist/locale/pt-br.min.js +1 -1
  173. package/dist/locale/pt-br.min.mjs +1 -1
  174. package/dist/locale/pt-br.mjs +1 -1
  175. package/dist/locale/pt.js +1 -1
  176. package/dist/locale/pt.min.js +1 -1
  177. package/dist/locale/pt.min.mjs +1 -1
  178. package/dist/locale/pt.mjs +1 -1
  179. package/dist/locale/ro.js +1 -1
  180. package/dist/locale/ro.min.js +1 -1
  181. package/dist/locale/ro.min.mjs +1 -1
  182. package/dist/locale/ro.mjs +1 -1
  183. package/dist/locale/ru.js +1 -1
  184. package/dist/locale/ru.min.js +1 -1
  185. package/dist/locale/ru.min.mjs +1 -1
  186. package/dist/locale/ru.mjs +1 -1
  187. package/dist/locale/sk.js +1 -1
  188. package/dist/locale/sk.min.js +1 -1
  189. package/dist/locale/sk.min.mjs +1 -1
  190. package/dist/locale/sk.mjs +1 -1
  191. package/dist/locale/sl.js +1 -1
  192. package/dist/locale/sl.min.js +1 -1
  193. package/dist/locale/sl.min.mjs +1 -1
  194. package/dist/locale/sl.mjs +1 -1
  195. package/dist/locale/sr.js +1 -1
  196. package/dist/locale/sr.min.js +1 -1
  197. package/dist/locale/sr.min.mjs +1 -1
  198. package/dist/locale/sr.mjs +1 -1
  199. package/dist/locale/sv.js +1 -1
  200. package/dist/locale/sv.min.js +1 -1
  201. package/dist/locale/sv.min.mjs +1 -1
  202. package/dist/locale/sv.mjs +1 -1
  203. package/dist/locale/sw.js +1 -1
  204. package/dist/locale/sw.min.js +1 -1
  205. package/dist/locale/sw.min.mjs +1 -1
  206. package/dist/locale/sw.mjs +1 -1
  207. package/dist/locale/ta.js +1 -1
  208. package/dist/locale/ta.min.js +1 -1
  209. package/dist/locale/ta.min.mjs +1 -1
  210. package/dist/locale/ta.mjs +1 -1
  211. package/dist/locale/th.js +1 -1
  212. package/dist/locale/th.min.js +1 -1
  213. package/dist/locale/th.min.mjs +1 -1
  214. package/dist/locale/th.mjs +1 -1
  215. package/dist/locale/tk.js +1 -1
  216. package/dist/locale/tk.min.js +1 -1
  217. package/dist/locale/tk.min.mjs +1 -1
  218. package/dist/locale/tk.mjs +1 -1
  219. package/dist/locale/tr.js +1 -1
  220. package/dist/locale/tr.min.js +1 -1
  221. package/dist/locale/tr.min.mjs +1 -1
  222. package/dist/locale/tr.mjs +1 -1
  223. package/dist/locale/ug-cn.js +1 -1
  224. package/dist/locale/ug-cn.min.js +1 -1
  225. package/dist/locale/ug-cn.min.mjs +1 -1
  226. package/dist/locale/ug-cn.mjs +1 -1
  227. package/dist/locale/uk.js +1 -1
  228. package/dist/locale/uk.min.js +1 -1
  229. package/dist/locale/uk.min.mjs +1 -1
  230. package/dist/locale/uk.mjs +1 -1
  231. package/dist/locale/uz-uz.js +1 -1
  232. package/dist/locale/uz-uz.min.js +1 -1
  233. package/dist/locale/uz-uz.min.mjs +1 -1
  234. package/dist/locale/uz-uz.mjs +1 -1
  235. package/dist/locale/vi.js +1 -1
  236. package/dist/locale/vi.min.js +1 -1
  237. package/dist/locale/vi.min.mjs +1 -1
  238. package/dist/locale/vi.mjs +1 -1
  239. package/dist/locale/zh-cn.js +1 -1
  240. package/dist/locale/zh-cn.min.js +1 -1
  241. package/dist/locale/zh-cn.min.mjs +1 -1
  242. package/dist/locale/zh-cn.mjs +1 -1
  243. package/dist/locale/zh-tw.js +1 -1
  244. package/dist/locale/zh-tw.min.js +1 -1
  245. package/dist/locale/zh-tw.min.mjs +1 -1
  246. package/dist/locale/zh-tw.mjs +1 -1
  247. package/es/components/autocomplete/index.mjs +2 -2
  248. package/es/components/autocomplete/src/autocomplete.mjs +81 -367
  249. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  250. package/es/components/autocomplete/src/autocomplete2.mjs +367 -81
  251. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  252. package/es/components/index.mjs +2 -2
  253. package/es/components/message/index.mjs +1 -1
  254. package/es/components/message/src/message.mjs +147 -91
  255. package/es/components/message/src/message.mjs.map +1 -1
  256. package/es/components/message/src/message2.mjs +91 -147
  257. package/es/components/message/src/message2.mjs.map +1 -1
  258. package/es/components/message/src/method.mjs +2 -2
  259. package/es/components/teleport/index.mjs +2 -2
  260. package/es/components/teleport/src/teleport.mjs +9 -18
  261. package/es/components/teleport/src/teleport.mjs.map +1 -1
  262. package/es/components/teleport/src/teleport2.mjs +18 -9
  263. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  264. package/es/index.mjs +2 -2
  265. package/es/utils/vue/vnode.mjs +2 -3
  266. package/es/utils/vue/vnode.mjs.map +1 -1
  267. package/es/version.d.ts +1 -1
  268. package/es/version.mjs +1 -1
  269. package/es/version.mjs.map +1 -1
  270. package/lib/components/autocomplete/index.js +2 -2
  271. package/lib/components/autocomplete/src/autocomplete.js +80 -365
  272. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  273. package/lib/components/autocomplete/src/autocomplete2.js +365 -80
  274. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  275. package/lib/components/index.js +2 -2
  276. package/lib/components/message/index.js +1 -1
  277. package/lib/components/message/src/message.js +146 -93
  278. package/lib/components/message/src/message.js.map +1 -1
  279. package/lib/components/message/src/message2.js +93 -146
  280. package/lib/components/message/src/message2.js.map +1 -1
  281. package/lib/components/message/src/method.js +2 -2
  282. package/lib/components/teleport/index.js +2 -2
  283. package/lib/components/teleport/src/teleport.js +9 -18
  284. package/lib/components/teleport/src/teleport.js.map +1 -1
  285. package/lib/components/teleport/src/teleport2.js +18 -9
  286. package/lib/components/teleport/src/teleport2.js.map +1 -1
  287. package/lib/index.js +2 -2
  288. package/lib/utils/vue/vnode.js +2 -3
  289. package/lib/utils/vue/vnode.js.map +1 -1
  290. package/lib/version.d.ts +1 -1
  291. package/lib/version.js +1 -1
  292. package/lib/version.js.map +1 -1
  293. package/package.json +2 -2
  294. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.mjs","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"teleported\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :clearable=\"clearable\"\n :disabled=\"disabled\"\n :name=\"name\"\n :model-value=\"modelValue\"\n :aria-label=\"ariaLabel\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n @keydown.esc=\"handleKeyEscape\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useAttrs, useId, useNamespace } from '@element-plus/hooks'\nimport { isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\nimport type { AutocompleteData } from './autocomplete'\n\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst attrs = useAttrs()\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(props.modelValue))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\n\nconst stopHandle = onClickOutside(listboxRef, () => {\n suggestionVisible.value && close()\n})\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n // get readonly attr\n readonly = (inputRef.value as any).ref!.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"names":["useRawAttrs","_openBlock","_createBlock","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete.mjs","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.ts"],"sourcesContent":["import {\n NOOP,\n buildProps,\n definePropType,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { useAriaProps } from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Autocomplete from './autocomplete.vue'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type AutocompleteData = Record<string, any>[]\nexport type AutocompleteFetchSuggestionsCallback = (\n data: AutocompleteData\n) => void\nexport type AutocompleteFetchSuggestions =\n | ((\n queryString: string,\n cb: AutocompleteFetchSuggestionsCallback\n ) => Awaitable<AutocompleteData> | void)\n | AutocompleteData\n\nexport const autocompleteProps = buildProps({\n /**\n * @description key name of the input suggestion object for display\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description binding value\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description debounce delay when typing, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description placement of the popup menu\n */\n placement: {\n type: definePropType<Placement>(String),\n values: [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ],\n default: 'bottom-start',\n },\n /**\n * @description a method to fetch input suggestions. When suggestions are ready, invoke `callback(data:[])` to return them to Autocomplete\n */\n fetchSuggestions: {\n type: definePropType<AutocompleteFetchSuggestions>([Function, Array]),\n default: NOOP,\n },\n /**\n * @description custom class name for autocomplete's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description whether show suggestions when input focus\n */\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to emit a `select` event on enter when there is no autocomplete match\n */\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether to hide the loading icon in remote search\n */\n hideLoading: {\n type: Boolean,\n default: false,\n },\n teleported: useTooltipContentProps.teleported,\n /**\n * @description whether to highlight first item in remote search suggestions by default\n */\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether to show clear button\n */\n clearable: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether to disable\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * @description same as `name` in native input\n */\n name: String,\n ...useAriaProps(['ariaLabel']),\n} as const)\nexport type AutocompleteProps = ExtractPropTypes<typeof autocompleteProps>\n\nexport const autocompleteEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n [INPUT_EVENT]: (value: string) => isString(value),\n [CHANGE_EVENT]: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n select: (item: Record<string, any>) => isObject(item),\n}\nexport type AutocompleteEmits = typeof autocompleteEmits\n\nexport type AutocompleteInstance = InstanceType<typeof Autocomplete>\n"],"names":[],"mappings":";;;;;;;;;;AAcY,MAAC,iBAAiB,GAAG,UAAU,CAAC;AAC5C,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,MAAM,EAAE;AACZ,MAAM,KAAK;AACX,MAAM,WAAW;AACjB,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,cAAc;AACpB,MAAM,YAAY;AAClB,KAAK;AACL,IAAI,OAAO,EAAE,cAAc;AAC3B,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC3C,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,mBAAmB,EAAE;AACvB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE,sBAAsB,CAAC,UAAU;AAC/C,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,GAAG,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC,EAAE;AACS,MAAC,iBAAiB,GAAG;AACjC,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAClD,EAAE,CAAC,WAAW,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAC3C,EAAE,CAAC,YAAY,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAC5C,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC1C,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC;AAClC;;;;"}
@@ -1,87 +1,373 @@
1
- import '../../../utils/index.mjs';
2
- import '../../tooltip/index.mjs';
1
+ import { defineComponent, useAttrs as useAttrs$1, ref, computed, onBeforeUnmount, onMounted, openBlock, createBlock, unref, withCtx, createElementVNode, normalizeClass, normalizeStyle, createVNode, createElementBlock, renderSlot, Fragment, renderList, createTextVNode, toDisplayString, mergeProps, withKeys, withModifiers, createSlots } from 'vue';
2
+ import { debounce } from 'lodash-unified';
3
+ import { onClickOutside } from '@vueuse/core';
4
+ import { Loading } from '@element-plus/icons-vue';
3
5
  import '../../../hooks/index.mjs';
6
+ import '../../../utils/index.mjs';
4
7
  import '../../../constants/index.mjs';
5
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
6
- import { NOOP, isString, isObject } from '@vue/shared';
7
- import { useTooltipContentProps } from '../../tooltip/src/content.mjs';
8
- import { useAriaProps } from '../../../hooks/use-aria/index.mjs';
9
- import { UPDATE_MODEL_EVENT, INPUT_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
8
+ import { ElInput } from '../../input/index.mjs';
9
+ import { ElScrollbar } from '../../scrollbar/index.mjs';
10
+ import { ElTooltip } from '../../tooltip/index.mjs';
11
+ import { ElIcon } from '../../icon/index.mjs';
12
+ import '../../form/index.mjs';
13
+ import { autocompleteProps, autocompleteEmits } from './autocomplete.mjs';
14
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
15
+ import { useAttrs } from '../../../hooks/use-attrs/index.mjs';
16
+ import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
17
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
18
+ import { useId } from '../../../hooks/use-id/index.mjs';
19
+ import { isArray } from '@vue/shared';
20
+ import { throwError } from '../../../utils/error.mjs';
21
+ import { INPUT_EVENT, UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
10
22
 
11
- const autocompleteProps = buildProps({
12
- valueKey: {
13
- type: String,
14
- default: "value"
15
- },
16
- modelValue: {
17
- type: [String, Number],
18
- default: ""
19
- },
20
- debounce: {
21
- type: Number,
22
- default: 300
23
- },
24
- placement: {
25
- type: definePropType(String),
26
- values: [
27
- "top",
28
- "top-start",
29
- "top-end",
30
- "bottom",
31
- "bottom-start",
32
- "bottom-end"
33
- ],
34
- default: "bottom-start"
35
- },
36
- fetchSuggestions: {
37
- type: definePropType([Function, Array]),
38
- default: NOOP
39
- },
40
- popperClass: {
41
- type: String,
42
- default: ""
43
- },
44
- triggerOnFocus: {
45
- type: Boolean,
46
- default: true
47
- },
48
- selectWhenUnmatched: {
49
- type: Boolean,
50
- default: false
51
- },
52
- hideLoading: {
53
- type: Boolean,
54
- default: false
55
- },
56
- teleported: useTooltipContentProps.teleported,
57
- highlightFirstItem: {
58
- type: Boolean,
59
- default: false
60
- },
61
- fitInputWidth: {
62
- type: Boolean,
63
- default: false
64
- },
65
- clearable: {
66
- type: Boolean,
67
- default: false
68
- },
69
- disabled: {
70
- type: Boolean,
71
- default: false
72
- },
73
- name: String,
74
- ...useAriaProps(["ariaLabel"])
23
+ const COMPONENT_NAME = "ElAutocomplete";
24
+ const __default__ = defineComponent({
25
+ name: COMPONENT_NAME,
26
+ inheritAttrs: false
27
+ });
28
+ const _sfc_main = /* @__PURE__ */ defineComponent({
29
+ ...__default__,
30
+ props: autocompleteProps,
31
+ emits: autocompleteEmits,
32
+ setup(__props, { expose, emit }) {
33
+ const props = __props;
34
+ const attrs = useAttrs();
35
+ const rawAttrs = useAttrs$1();
36
+ const disabled = useFormDisabled();
37
+ const ns = useNamespace("autocomplete");
38
+ const inputRef = ref();
39
+ const regionRef = ref();
40
+ const popperRef = ref();
41
+ const listboxRef = ref();
42
+ let readonly = false;
43
+ let ignoreFocusEvent = false;
44
+ const suggestions = ref([]);
45
+ const highlightedIndex = ref(-1);
46
+ const dropdownWidth = ref("");
47
+ const activated = ref(false);
48
+ const suggestionDisabled = ref(false);
49
+ const loading = ref(false);
50
+ const listboxId = useId();
51
+ const styles = computed(() => rawAttrs.style);
52
+ const suggestionVisible = computed(() => {
53
+ const isValidData = suggestions.value.length > 0;
54
+ return (isValidData || loading.value) && activated.value;
55
+ });
56
+ const suggestionLoading = computed(() => !props.hideLoading && loading.value);
57
+ const refInput = computed(() => {
58
+ if (inputRef.value) {
59
+ return Array.from(inputRef.value.$el.querySelectorAll("input"));
60
+ }
61
+ return [];
62
+ });
63
+ const onSuggestionShow = () => {
64
+ if (suggestionVisible.value) {
65
+ dropdownWidth.value = `${inputRef.value.$el.offsetWidth}px`;
66
+ }
67
+ };
68
+ const onHide = () => {
69
+ highlightedIndex.value = -1;
70
+ };
71
+ const getData = async (queryString) => {
72
+ if (suggestionDisabled.value)
73
+ return;
74
+ const cb = (suggestionList) => {
75
+ loading.value = false;
76
+ if (suggestionDisabled.value)
77
+ return;
78
+ if (isArray(suggestionList)) {
79
+ suggestions.value = suggestionList;
80
+ highlightedIndex.value = props.highlightFirstItem ? 0 : -1;
81
+ } else {
82
+ throwError(COMPONENT_NAME, "autocomplete suggestions must be an array");
83
+ }
84
+ };
85
+ loading.value = true;
86
+ if (isArray(props.fetchSuggestions)) {
87
+ cb(props.fetchSuggestions);
88
+ } else {
89
+ const result = await props.fetchSuggestions(queryString, cb);
90
+ if (isArray(result))
91
+ cb(result);
92
+ }
93
+ };
94
+ const debouncedGetData = debounce(getData, props.debounce);
95
+ const handleInput = (value) => {
96
+ const valuePresented = !!value;
97
+ emit(INPUT_EVENT, value);
98
+ emit(UPDATE_MODEL_EVENT, value);
99
+ suggestionDisabled.value = false;
100
+ activated.value || (activated.value = valuePresented);
101
+ if (!props.triggerOnFocus && !value) {
102
+ suggestionDisabled.value = true;
103
+ suggestions.value = [];
104
+ return;
105
+ }
106
+ debouncedGetData(value);
107
+ };
108
+ const handleMouseDown = (event) => {
109
+ var _a;
110
+ if (disabled.value)
111
+ return;
112
+ if (((_a = event.target) == null ? void 0 : _a.tagName) !== "INPUT" || refInput.value.includes(document.activeElement)) {
113
+ activated.value = true;
114
+ }
115
+ };
116
+ const handleChange = (value) => {
117
+ emit(CHANGE_EVENT, value);
118
+ };
119
+ const handleFocus = (evt) => {
120
+ if (!ignoreFocusEvent) {
121
+ activated.value = true;
122
+ emit("focus", evt);
123
+ if (props.triggerOnFocus && !readonly) {
124
+ debouncedGetData(String(props.modelValue));
125
+ }
126
+ } else {
127
+ ignoreFocusEvent = false;
128
+ }
129
+ };
130
+ const handleBlur = (evt) => {
131
+ setTimeout(() => {
132
+ var _a;
133
+ if ((_a = popperRef.value) == null ? void 0 : _a.isFocusInsideContent()) {
134
+ ignoreFocusEvent = true;
135
+ return;
136
+ }
137
+ activated.value && close();
138
+ emit("blur", evt);
139
+ });
140
+ };
141
+ const handleClear = () => {
142
+ activated.value = false;
143
+ emit(UPDATE_MODEL_EVENT, "");
144
+ emit("clear");
145
+ };
146
+ const handleKeyEnter = async () => {
147
+ if (suggestionVisible.value && highlightedIndex.value >= 0 && highlightedIndex.value < suggestions.value.length) {
148
+ handleSelect(suggestions.value[highlightedIndex.value]);
149
+ } else if (props.selectWhenUnmatched) {
150
+ emit("select", { value: props.modelValue });
151
+ suggestions.value = [];
152
+ highlightedIndex.value = -1;
153
+ }
154
+ };
155
+ const handleKeyEscape = (evt) => {
156
+ if (suggestionVisible.value) {
157
+ evt.preventDefault();
158
+ evt.stopPropagation();
159
+ close();
160
+ }
161
+ };
162
+ const close = () => {
163
+ activated.value = false;
164
+ };
165
+ const focus = () => {
166
+ var _a;
167
+ (_a = inputRef.value) == null ? void 0 : _a.focus();
168
+ };
169
+ const blur = () => {
170
+ var _a;
171
+ (_a = inputRef.value) == null ? void 0 : _a.blur();
172
+ };
173
+ const handleSelect = async (item) => {
174
+ emit(INPUT_EVENT, item[props.valueKey]);
175
+ emit(UPDATE_MODEL_EVENT, item[props.valueKey]);
176
+ emit("select", item);
177
+ suggestions.value = [];
178
+ highlightedIndex.value = -1;
179
+ };
180
+ const highlight = (index) => {
181
+ if (!suggestionVisible.value || loading.value)
182
+ return;
183
+ if (index < 0) {
184
+ highlightedIndex.value = -1;
185
+ return;
186
+ }
187
+ if (index >= suggestions.value.length) {
188
+ index = suggestions.value.length - 1;
189
+ }
190
+ const suggestion = regionRef.value.querySelector(`.${ns.be("suggestion", "wrap")}`);
191
+ const suggestionList = suggestion.querySelectorAll(`.${ns.be("suggestion", "list")} li`);
192
+ const highlightItem = suggestionList[index];
193
+ const scrollTop = suggestion.scrollTop;
194
+ const { offsetTop, scrollHeight } = highlightItem;
195
+ if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {
196
+ suggestion.scrollTop += scrollHeight;
197
+ }
198
+ if (offsetTop < scrollTop) {
199
+ suggestion.scrollTop -= scrollHeight;
200
+ }
201
+ highlightedIndex.value = index;
202
+ inputRef.value.ref.setAttribute("aria-activedescendant", `${listboxId.value}-item-${highlightedIndex.value}`);
203
+ };
204
+ const stopHandle = onClickOutside(listboxRef, () => {
205
+ suggestionVisible.value && close();
206
+ });
207
+ onBeforeUnmount(() => {
208
+ stopHandle == null ? void 0 : stopHandle();
209
+ });
210
+ onMounted(() => {
211
+ ;
212
+ inputRef.value.ref.setAttribute("role", "textbox");
213
+ inputRef.value.ref.setAttribute("aria-autocomplete", "list");
214
+ inputRef.value.ref.setAttribute("aria-controls", "id");
215
+ inputRef.value.ref.setAttribute("aria-activedescendant", `${listboxId.value}-item-${highlightedIndex.value}`);
216
+ readonly = inputRef.value.ref.hasAttribute("readonly");
217
+ });
218
+ expose({
219
+ highlightedIndex,
220
+ activated,
221
+ loading,
222
+ inputRef,
223
+ popperRef,
224
+ suggestions,
225
+ handleSelect,
226
+ handleKeyEnter,
227
+ focus,
228
+ blur,
229
+ close,
230
+ highlight,
231
+ getData
232
+ });
233
+ return (_ctx, _cache) => {
234
+ return openBlock(), createBlock(unref(ElTooltip), {
235
+ ref_key: "popperRef",
236
+ ref: popperRef,
237
+ visible: unref(suggestionVisible),
238
+ placement: _ctx.placement,
239
+ "fallback-placements": ["bottom-start", "top-start"],
240
+ "popper-class": [unref(ns).e("popper"), _ctx.popperClass],
241
+ teleported: _ctx.teleported,
242
+ "gpu-acceleration": false,
243
+ pure: "",
244
+ "manual-mode": "",
245
+ effect: "light",
246
+ trigger: "click",
247
+ transition: `${unref(ns).namespace.value}-zoom-in-top`,
248
+ persistent: "",
249
+ role: "listbox",
250
+ onBeforeShow: onSuggestionShow,
251
+ onHide
252
+ }, {
253
+ content: withCtx(() => [
254
+ createElementVNode("div", {
255
+ ref_key: "regionRef",
256
+ ref: regionRef,
257
+ class: normalizeClass([unref(ns).b("suggestion"), unref(ns).is("loading", unref(suggestionLoading))]),
258
+ style: normalizeStyle({
259
+ [_ctx.fitInputWidth ? "width" : "minWidth"]: dropdownWidth.value,
260
+ outline: "none"
261
+ }),
262
+ role: "region"
263
+ }, [
264
+ createVNode(unref(ElScrollbar), {
265
+ id: unref(listboxId),
266
+ tag: "ul",
267
+ "wrap-class": unref(ns).be("suggestion", "wrap"),
268
+ "view-class": unref(ns).be("suggestion", "list"),
269
+ role: "listbox"
270
+ }, {
271
+ default: withCtx(() => [
272
+ unref(suggestionLoading) ? (openBlock(), createElementBlock("li", { key: 0 }, [
273
+ renderSlot(_ctx.$slots, "loading", {}, () => [
274
+ createVNode(unref(ElIcon), {
275
+ class: normalizeClass(unref(ns).is("loading"))
276
+ }, {
277
+ default: withCtx(() => [
278
+ createVNode(unref(Loading))
279
+ ]),
280
+ _: 1
281
+ }, 8, ["class"])
282
+ ])
283
+ ])) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(suggestions.value, (item, index) => {
284
+ return openBlock(), createElementBlock("li", {
285
+ id: `${unref(listboxId)}-item-${index}`,
286
+ key: index,
287
+ class: normalizeClass({ highlighted: highlightedIndex.value === index }),
288
+ role: "option",
289
+ "aria-selected": highlightedIndex.value === index,
290
+ onClick: ($event) => handleSelect(item)
291
+ }, [
292
+ renderSlot(_ctx.$slots, "default", { item }, () => [
293
+ createTextVNode(toDisplayString(item[_ctx.valueKey]), 1)
294
+ ])
295
+ ], 10, ["id", "aria-selected", "onClick"]);
296
+ }), 128))
297
+ ]),
298
+ _: 3
299
+ }, 8, ["id", "wrap-class", "view-class"])
300
+ ], 6)
301
+ ]),
302
+ default: withCtx(() => [
303
+ createElementVNode("div", {
304
+ ref_key: "listboxRef",
305
+ ref: listboxRef,
306
+ class: normalizeClass([unref(ns).b(), _ctx.$attrs.class]),
307
+ style: normalizeStyle(unref(styles)),
308
+ role: "combobox",
309
+ "aria-haspopup": "listbox",
310
+ "aria-expanded": unref(suggestionVisible),
311
+ "aria-owns": unref(listboxId)
312
+ }, [
313
+ createVNode(unref(ElInput), mergeProps({
314
+ ref_key: "inputRef",
315
+ ref: inputRef
316
+ }, unref(attrs), {
317
+ clearable: _ctx.clearable,
318
+ disabled: unref(disabled),
319
+ name: _ctx.name,
320
+ "model-value": _ctx.modelValue,
321
+ "aria-label": _ctx.ariaLabel,
322
+ onInput: handleInput,
323
+ onChange: handleChange,
324
+ onFocus: handleFocus,
325
+ onBlur: handleBlur,
326
+ onClear: handleClear,
327
+ onKeydown: [
328
+ withKeys(withModifiers(($event) => highlight(highlightedIndex.value - 1), ["prevent"]), ["up"]),
329
+ withKeys(withModifiers(($event) => highlight(highlightedIndex.value + 1), ["prevent"]), ["down"]),
330
+ withKeys(handleKeyEnter, ["enter"]),
331
+ withKeys(close, ["tab"]),
332
+ withKeys(handleKeyEscape, ["esc"])
333
+ ],
334
+ onMousedown: handleMouseDown
335
+ }), createSlots({
336
+ _: 2
337
+ }, [
338
+ _ctx.$slots.prepend ? {
339
+ name: "prepend",
340
+ fn: withCtx(() => [
341
+ renderSlot(_ctx.$slots, "prepend")
342
+ ])
343
+ } : void 0,
344
+ _ctx.$slots.append ? {
345
+ name: "append",
346
+ fn: withCtx(() => [
347
+ renderSlot(_ctx.$slots, "append")
348
+ ])
349
+ } : void 0,
350
+ _ctx.$slots.prefix ? {
351
+ name: "prefix",
352
+ fn: withCtx(() => [
353
+ renderSlot(_ctx.$slots, "prefix")
354
+ ])
355
+ } : void 0,
356
+ _ctx.$slots.suffix ? {
357
+ name: "suffix",
358
+ fn: withCtx(() => [
359
+ renderSlot(_ctx.$slots, "suffix")
360
+ ])
361
+ } : void 0
362
+ ]), 1040, ["clearable", "disabled", "name", "model-value", "aria-label", "onKeydown"])
363
+ ], 14, ["aria-expanded", "aria-owns"])
364
+ ]),
365
+ _: 3
366
+ }, 8, ["visible", "placement", "popper-class", "teleported", "transition"]);
367
+ };
368
+ }
75
369
  });
76
- const autocompleteEmits = {
77
- [UPDATE_MODEL_EVENT]: (value) => isString(value),
78
- [INPUT_EVENT]: (value) => isString(value),
79
- [CHANGE_EVENT]: (value) => isString(value),
80
- focus: (evt) => evt instanceof FocusEvent,
81
- blur: (evt) => evt instanceof FocusEvent,
82
- clear: () => true,
83
- select: (item) => isObject(item)
84
- };
370
+ var Autocomplete = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "autocomplete.vue"]]);
85
371
 
86
- export { autocompleteEmits, autocompleteProps };
372
+ export { Autocomplete as default };
87
373
  //# sourceMappingURL=autocomplete2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete2.mjs","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.ts"],"sourcesContent":["import {\n NOOP,\n buildProps,\n definePropType,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { useAriaProps } from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Autocomplete from './autocomplete.vue'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type AutocompleteData = Record<string, any>[]\nexport type AutocompleteFetchSuggestionsCallback = (\n data: AutocompleteData\n) => void\nexport type AutocompleteFetchSuggestions =\n | ((\n queryString: string,\n cb: AutocompleteFetchSuggestionsCallback\n ) => Awaitable<AutocompleteData> | void)\n | AutocompleteData\n\nexport const autocompleteProps = buildProps({\n /**\n * @description key name of the input suggestion object for display\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description binding value\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description debounce delay when typing, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description placement of the popup menu\n */\n placement: {\n type: definePropType<Placement>(String),\n values: [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ],\n default: 'bottom-start',\n },\n /**\n * @description a method to fetch input suggestions. When suggestions are ready, invoke `callback(data:[])` to return them to Autocomplete\n */\n fetchSuggestions: {\n type: definePropType<AutocompleteFetchSuggestions>([Function, Array]),\n default: NOOP,\n },\n /**\n * @description custom class name for autocomplete's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description whether show suggestions when input focus\n */\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to emit a `select` event on enter when there is no autocomplete match\n */\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether to hide the loading icon in remote search\n */\n hideLoading: {\n type: Boolean,\n default: false,\n },\n teleported: useTooltipContentProps.teleported,\n /**\n * @description whether to highlight first item in remote search suggestions by default\n */\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether to show clear button\n */\n clearable: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether to disable\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * @description same as `name` in native input\n */\n name: String,\n ...useAriaProps(['ariaLabel']),\n} as const)\nexport type AutocompleteProps = ExtractPropTypes<typeof autocompleteProps>\n\nexport const autocompleteEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n [INPUT_EVENT]: (value: string) => isString(value),\n [CHANGE_EVENT]: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n select: (item: Record<string, any>) => isObject(item),\n}\nexport type AutocompleteEmits = typeof autocompleteEmits\n\nexport type AutocompleteInstance = InstanceType<typeof Autocomplete>\n"],"names":[],"mappings":";;;;;;;;;;AAcY,MAAC,iBAAiB,GAAG,UAAU,CAAC;AAC5C,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,MAAM,EAAE;AACZ,MAAM,KAAK;AACX,MAAM,WAAW;AACjB,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,cAAc;AACpB,MAAM,YAAY;AAClB,KAAK;AACL,IAAI,OAAO,EAAE,cAAc;AAC3B,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC3C,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,mBAAmB,EAAE;AACvB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE,sBAAsB,CAAC,UAAU;AAC/C,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,GAAG,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC,EAAE;AACS,MAAC,iBAAiB,GAAG;AACjC,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAClD,EAAE,CAAC,WAAW,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAC3C,EAAE,CAAC,YAAY,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAC5C,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC1C,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC;AAClC;;;;"}
1
+ {"version":3,"file":"autocomplete2.mjs","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"teleported\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :clearable=\"clearable\"\n :disabled=\"disabled\"\n :name=\"name\"\n :model-value=\"modelValue\"\n :aria-label=\"ariaLabel\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n @keydown.esc=\"handleKeyEscape\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useAttrs, useId, useNamespace } from '@element-plus/hooks'\nimport { isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\nimport type { AutocompleteData } from './autocomplete'\n\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst attrs = useAttrs()\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(props.modelValue))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\n\nconst stopHandle = onClickOutside(listboxRef, () => {\n suggestionVisible.value && close()\n})\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n // get readonly attr\n readonly = (inputRef.value as any).ref!.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"names":["useRawAttrs","_openBlock","_createBlock","_unref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;mCAwIc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB;;;;;;;AAKA,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAA,MAAM,WAAWA,UAAY,EAAA,CAAA;AAC7B,IAAA,MAAM,WAAW,eAAgB,EAAA,CAAA;AACjC,IAAM,MAAA,EAAA,GAAK,aAAa,cAAc,CAAA,CAAA;AAEtC,IAAA,MAAM,WAAW,GAAmB,EAAA,CAAA;AACpC,IAAA,MAAM,YAAY,GAAiB,EAAA,CAAA;AACnC,IAAA,MAAM,YAAY,GAAqB,EAAA,CAAA;AACvC,IAAA,MAAM,aAAa,GAAiB,EAAA,CAAA;AAEpC,IAAA,IAAI,QAAW,GAAA,KAAA,CAAA;AACf,IAAA,IAAI,gBAAmB,GAAA,KAAA,CAAA;AACvB,IAAM,MAAA,WAAA,GAAc,GAAsB,CAAA,EAAE,CAAA,CAAA;AAC5C,IAAM,MAAA,gBAAA,GAAmB,IAAI,CAAE,CAAA,CAAA,CAAA;AAC/B,IAAM,MAAA,aAAA,GAAgB,IAAI,EAAE,CAAA,CAAA;AAC5B,IAAM,MAAA,SAAA,GAAY,IAAI,KAAK,CAAA,CAAA;AAC3B,IAAM,MAAA,kBAAA,GAAqB,IAAI,KAAK,CAAA,CAAA;AACpC,IAAM,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA,CAAA;AAEzB,IAAA,MAAM,YAAY,KAAM,EAAA,CAAA;AACxB,IAAA,MAAM,MAAS,GAAA,QAAA,CAAS,MAAM,QAAA,CAAS,KAAmB,CAAA,CAAA;AAE1D,IAAM,MAAA,iBAAA,GAAoB,SAAS,MAAM;AACvC,MAAM,MAAA,WAAA,GAAc,WAAY,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA,CAAA;AAC/C,MAAQ,OAAA,CAAA,WAAA,IAAe,OAAQ,CAAA,KAAA,KAAU,SAAU,CAAA,KAAA,CAAA;AAAA,KACpD,CAAA,CAAA;AAED,IAAA,MAAM,oBAAoB,QAAS,CAAA,MAAM,CAAC,KAAM,CAAA,WAAA,IAAe,QAAQ,KAAK,CAAA,CAAA;AAE5E,IAAM,MAAA,QAAA,GAAW,SAA6B,MAAM;AAClD,MAAA,IAAI,SAAS,KAAO,EAAA;AAClB,QAAA,OAAO,KAAM,CAAA,IAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,gBAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AACgC,MAC7C,OAAA,EAAA,CAAA;AAAA,KACF,CAAA,CAAA;AACA,IAAA,MAAA,gBAAQ,GAAA,MAAA;AAAA,MACT,IAAA,iBAAA,CAAA,KAAA,EAAA;AAED,QAAA,sBAA+B,CAAA,EAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA;AAC7B,OAAA;AACE,KAAA,CAAA;AAAwD,IAC1D,MAAA,MAAA,GAAA,MAAA;AAAA,MACF,gBAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA;AAEA,KAAA,CAAA;AACE,IAAA,MAAA,OAAA,GAAA,OAAyB,WAAA,KAAA;AAAA,MAC3B,IAAA,kBAAA,CAAA,KAAA;AAEA,QAAM,OAAA;AACJ,MAAA,0BAA8B,KAAA;AAE9B,QAAM,OAAA,CAAA,KAA2C,GAAA,KAAA,CAAA;AAC/C,QAAA,IAAA,kBAAgB,CAAA,KAAA;AAChB,UAAA;AAEA,QAAI,IAAA,OAAA,CAAQ,cAAc,CAAG,EAAA;AAC3B,UAAA,WAAA,CAAY,KAAQ,GAAA,cAAA,CAAA;AACpB,UAAiB,gBAAA,CAAA,KAAA,GAAQ,KAAM,CAAA,kBAAA,GAAqB,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,SACnD,MAAA;AACL,UAAA,UAAA,CAAW,gBAAgB,2CAA2C,CAAA,CAAA;AAAA,SACxE;AAAA,OACF,CAAA;AAEA,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,MAAI,IAAA,OAAA,CAAQ,KAAM,CAAA,gBAAgB,CAAG,EAAA;AACnC,QAAA,EAAA,CAAG,MAAM,gBAAgB,CAAA,CAAA;AAAA,OACpB,MAAA;AACL,QAAA,MAAM,MAAS,GAAA,MAAM,KAAM,CAAA,gBAAA,CAAiB,aAAa,EAAE,CAAA,CAAA;AAC3D,QAAA,IAAI,OAAQ,CAAA,MAAM,CAAG;AAAS,UAChC,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,OACF;AACA,KAAA,CAAA;AAEA,IAAM,MAAA,gBAAiC,GAAA,QAAA,CAAA,OAAA,EAAA,KAAA,CAAA,QAAA,CAAA,CAAA;AACrC,IAAM,MAAA,WAAA,GAAA,CAAA,KAAkB,KAAC;AAEzB,MAAA,oBAAuB,GAAA,CAAA,CAAA,KAAA,CAAA;AACvB,MAAA,IAAA,CAAK,oBAAoB;AAEzB,MAAA,IAAA,CAAA,kBAA2B,EAAA,KAAA,CAAA,CAAA;AAC3B,MAAA,kBAAoB,CAAA,KAAA,GAAA,KAAA,CAAA;AAEpB,MAAA,SAAK,CAAA,KAAwB,KAAA,SAAA,CAAC,KAAO,GAAA,cAAA,CAAA,CAAA;AACnC,MAAA,IAAA,CAAA,KAAA,CAAA,cAA2B,IAAA,CAAA,KAAA,EAAA;AAC3B,QAAA,wBAAqB,GAAA,IAAA,CAAA;AACrB,QAAA,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA;AAAA,QACF,OAAA;AAEA,OAAA;AAAsB,MACxB,gBAAA,CAAA,KAAA,CAAA,CAAA;AAEA,KAAM,CAAA;AACJ,IAAA,MAAI,eAAgB,GAAA,CAAA,KAAA,KAAA;AACpB,MACG,IAAA,EAAA,CAAA;AAGD,MAAA,IAAA,QAAU,CAAQ,KAAA;AAAA,QACpB,OAAA;AAAA,MACF,IAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAA,MAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,MAAA,OAAA,IAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,EAAA;AAEA,QAAM,SAAA,CAAA,KAAA,GAAgB,IAAkB,CAAA;AACtC,OAAA;AAAwB,KAC1B,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAoB,KAAA,KAAA;AACvC,MAAA,IAAI,CAAC,YAAkB,EAAA,KAAA,CAAA,CAAA;AACrB,KAAA,CAAA;AACA,IAAA,MAAA,cAAiB,CAAA,GAAA,KAAA;AAEjB,MAAI,IAAA,CAAA,gBAAwB,EAAA;AAC1B,QAAiB,SAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAwB,QAC3C,IAAA,CAAA,OAAA,EAAA,GAAA,CAAA,CAAA;AAAA,QACK,IAAA,KAAA,CAAA,cAAA,IAAA,CAAA,QAAA,EAAA;AACL,UAAmB,gBAAA,CAAA,MAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,SACrB;AAAA,OACF,MAAA;AAEA,QAAM,gBAAc,GAAoB,KAAA,CAAA;AACtC,OAAA;AAGE,KAAI,CAAA;AACF,IAAmB,MAAA,UAAA,GAAA,CAAA,GAAA,KAAA;AACnB,MAAA,UAAA,CAAA,MAAA;AAAA,QACF,IAAA,EAAA,CAAA;AACA,QAAA,IAAA,CAAA,EAAA,GAAU,SAAS,CAAM,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,oBAAA,EAAA,EAAA;AACzB,UAAA,gBAAgB,GAAA,IAAA,CAAA;AAAA,UACjB,OAAA;AAAA,SACH;AAEA,QAAA,mBAA0B,KAAA,EAAA,CAAA;AACxB,QAAA,IAAA,CAAA,MAAkB,EAAA,GAAA,CAAA,CAAA;AAClB,OAAA,CAAA,CAAA;AACA,KAAA,CAAA;AAAY,IACd,MAAA,WAAA,GAAA,MAAA;AAEA,MAAA,uBAAmC,CAAA;AACjC,MACE,IAAA,CAAA;AAIA,MAAA,IAAA,CAAA,OAAA,CAAA,CAAA;AAAsD,KACxD,CAAA;AACE,IAAA,MAAA,cAAe,GAAS;AACxB,MAAA,IAAA,kBAAoB,KAAC,IAAA,gBAAA,CAAA,KAAA,IAAA,CAAA,IAAA,gBAAA,CAAA,KAAA,GAAA,WAAA,CAAA,KAAA,CAAA,MAAA,EAAA;AACrB,QAAA,YAAA,CAAA,WAAyB,CAAA,KAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,OAC3B,MAAA,IAAA,KAAA,CAAA,mBAAA,EAAA;AAAA,QACF,IAAA,CAAA,QAAA,EAAA,EAAA,KAAA,EAAA,KAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAEA,QAAM,WAAA,CAAA,KAAA,GAAkB,EAAgB,CAAA;AACtC,QAAA,sBAA6B,GAAA,CAAA,CAAA,CAAA;AAC3B,OAAA;AACA,KAAA,CAAA;AACA,IAAM,MAAA,eAAA,GAAA,CAAA,GAAA,KAAA;AAAA,MACR,IAAA,iBAAA,CAAA,KAAA,EAAA;AAAA,QACF,GAAA,CAAA,cAAA,EAAA,CAAA;AAEA,QAAA,mBAAoB,EAAA,CAAA;AAClB,QAAA,KAAA,EAAA,CAAU;AAAQ,OACpB;AAEA,KAAA,CAAA;AACE,IAAA,MAAA,KAAS,SAAa;AAAA,MACxB,SAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAEA,KAAA,CAAA;AACE,IAAA,MAAA,KAAS,SAAY;AAAA,MACvB,IAAA,EAAA,CAAA;AAEA,MAAM,CAAA,EAAA,GAAA,QAAA,CAAA,cAAoC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AACxC,KAAA,CAAA;AACA,IAAA,MAAA,IAAyB,GAAA,MAAA;AACzB,MAAA,IAAA;AACA,MAAA,CAAA,EAAA,GAAA,cAAoB,KAAC,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA;AACrB,KAAA,CAAA;AAAyB,IAC3B,MAAA,YAAA,GAAA,OAAA,IAAA,KAAA;AAEA,MAAM,IAAA,CAAA,WAAY,EAAmB,IAAA,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA,CAAA;AACnC,MAAA,IAAI,CAAC,kBAAkB,EAAS,IAAA,CAAA,KAAA,CAAA,QAAe,CAAA,CAAA,CAAA;AAE/C,MAAA,IAAI,SAAW,EAAA,IAAA,CAAA,CAAA;AACb,MAAA,WAAA,CAAA,KAAA,GAAyB,EAAA,CAAA;AACzB,MAAA,gBAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA;AAAA,KACF,CAAA;AAEA,IAAI,MAAA,SAAS,GAAY,CAAA,KAAA,KAAA;AACvB,MAAQ,IAAA,CAAA,iBAAY,MAAM,IAAS,OAAA,CAAA,KAAA;AAAA,QACrC,OAAA;AACA,MAAM,IAAA,KAAA,GAAA,CAAA,EAAA;AAA8B,QAClC,gBAAU,CAAA,KAAA;AAAqB,QACjC,OAAA;AACA,OAAA;AAAkC,MAAA,IAC5B,KAAG,IAAG,WAAA,CAAA,YAAqB,EAAA;AAAA,QACjC,KAAA,GAAA,WAAA,CAAA,KAAA,CAAA,MAAA,GAAA,CAAA,CAAA;AACA,OAAM;AACN,MAAA,MAAM,aAAuB,SAAA,CAAA,KAAA,CAAA,aAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC7B,MAAM,MAAA,cAAa,GAAA,UAAiB,CAAA,gBAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,MAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAEpC,MAAA,MAAgB,aAAA,GAAA,cAA2B,CAAA,KAAA,CAAA,CAAA;AACzC,MAAA,MAAA,SAAwB,GAAA,UAAA,CAAA,SAAA,CAAA;AAAA,MAC1B,MAAA,EAAA,SAAA,EAAA,YAAA,EAAA,GAAA,aAAA,CAAA;AACA,MAAA,IAAI,YAAY,YAAW,GAAA,SAAA,GAAA,UAAA,CAAA,YAAA,EAAA;AACzB,QAAA,UAAA,CAAW,SAAa,IAAA,YAAA,CAAA;AAAA,OAC1B;AACA,MAAA,IAAA,SAAA,GAAA,SAAyB,EAAA;AAExB,QAAC,oBAA4B,IAAA,YAAA,CAAA;AAAA,OAC5B;AAAA,MAAA,gBACkB,CAAA,KAAA,GAAA;AAA+B,MACnD,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,YAAA,CAAA,uBAAA,EAAA,CAAA,EAAA,SAAA,CAAA,KAAA,CAAA,MAAA,EAAA,gBAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,cAAe,CAAA,UAAA,EAAY,MAAM;AAClD,MAAA,iBAAA,CAAkB,SAAS,KAAM,EAAA,CAAA;AAAA,KAClC,CAAA,CAAA;AAED,IAAA,eAAA,CAAgB,MAAM;AACpB,MAAa,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,EAAA,CAAA;AAAA,KACd,CAAA,CAAA;AAED,IAAA,SAAA,CAAU,MAAM;AAEd,MAAA,CAAA;AAAC,MAAC,QAAS,CAAA,KAAA,CAAc,GAAK,CAAA,YAAA,CAAa,QAAQ,SAAS,CAAA,CAAA;AAC3D,MAAC,QAAS,CAAA,KAAA,CAAc,GAAK,CAAA,YAAA,CAAa,qBAAqB,MAAM,CAAA,CAAA;AACrE,MAAC,QAAS,CAAA,KAAA,CAAc,GAAK,CAAA,YAAA,CAAa,iBAAiB,IAAI,CAAA,CAAA;AAC/D,MAAC,QAAA,CAAS,MAAc,GAAK,CAAA,YAAA,CAAA,uBAAA,EAAA,CAAA,EAAA,SAAA,CAAA,KAAA,CAAA,MAAA,EAAA,gBAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,MAC5B,QAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,YAAA,CAAA,UAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AACiD,IACnD,MAAA,CAAA;AAEA,MAAA,gBAAqB;AAA0C,MAChE,SAAA;AAED,MAAa,OAAA;AAAA,MAAA,QAAA;AAAA,MAEX,SAAA;AAAA,MAAA,WAAA;AAAA,MAEA,YAAA;AAAA,MAAA,cAAA;AAAA,MAEA,KAAA;AAAA,MAAA,IAAA;AAAA,MAEA,KAAA;AAAA,MAAA,SAAA;AAAA,MAEA,OAAA;AAAA,KAAA,CAAA,CAAA;AAAA,IAEA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MAAA,OAAAC,SAAA,EAAA,EAAAC,WAAA,CAAAC,KAAA,CAAA,SAAA,CAAA,EAAA;AAAA,QAEA,OAAA,EAAA,WAAA;AAAA,QAAA,GAAA,EAAA,SAAA;AAAA,QAEA,OAAA,EAAAA,KAAA,CAAA,iBAAA,CAAA;AAAA,QAAA,SAAA,EAAA,IAAA,CAAA,SAAA;AAAA,QAEA,qBAAA,EAAA,CAAA,cAAA,EAAA,WAAA,CAAA;AAAA,QAAA,cAAA,EAAA,CAAAA,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,EAAA,IAAA,CAAA,WAAA,CAAA;AAAA,QAEA,UAAA,EAAA,IAAA,CAAA,UAAA;AAAA,QAAA,kBAAA,EAAA,KAAA;AAAA,QAEA,IAAA,EAAA,EAAA;AAAA,QAAA,aAAA,EAAA,EAAA;AAAA,QAEA,MAAA,EAAA,OAAA;AAAA,QAAA,OAAA,EAAA,OAAA;AAAA,QAEA,UAAA,EAAA,CAAA,EAAAA,KAAA,CAAA,EAAA,CAAA,CAAA,SAAA,CAAA,KAAA,CAAA,YAAA,CAAA;AAAA,QACD,UAAA,EAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -82,7 +82,7 @@ export { ElNotification } from './notification/index.mjs';
82
82
  export { ElPopover, ElPopoverDirective } from './popover/index.mjs';
83
83
  export { affixEmits, affixProps } from './affix/src/affix.mjs';
84
84
  export { alertEffects, alertEmits, alertProps } from './alert/src/alert.mjs';
85
- export { autocompleteEmits, autocompleteProps } from './autocomplete/src/autocomplete2.mjs';
85
+ export { autocompleteEmits, autocompleteProps } from './autocomplete/src/autocomplete.mjs';
86
86
  export { avatarEmits, avatarProps } from './avatar/src/avatar.mjs';
87
87
  export { backtopEmits, backtopProps } from './backtop/src/backtop.mjs';
88
88
  export { badgeProps } from './badge/src/badge.mjs';
@@ -223,7 +223,7 @@ export { segmentedEmits, segmentedProps } from './segmented/src/segmented.mjs';
223
223
  export { mentionEmits, mentionProps } from './mention/src/mention.mjs';
224
224
  export { vLoading as ElLoadingDirective, vLoading } from './loading/src/directive.mjs';
225
225
  export { Loading as ElLoadingService } from './loading/src/service.mjs';
226
- export { messageDefaults, messageEmits, messageProps, messageTypes } from './message/src/message.mjs';
226
+ export { messageDefaults, messageEmits, messageProps, messageTypes } from './message/src/message2.mjs';
227
227
  export { notificationEmits, notificationProps, notificationTypes } from './notification/src/notification.mjs';
228
228
  export { popoverEmits, popoverProps } from './popover/src/popover.mjs';
229
229
  //# sourceMappingURL=index.mjs.map
@@ -1,6 +1,6 @@
1
1
  import '../../utils/index.mjs';
2
2
  import message from './src/method.mjs';
3
- export { messageDefaults, messageEmits, messageProps, messageTypes } from './src/message.mjs';
3
+ export { messageDefaults, messageEmits, messageProps, messageTypes } from './src/message2.mjs';
4
4
  import { withInstallFunction } from '../../utils/vue/install.mjs';
5
5
 
6
6
  const ElMessage = withInstallFunction(message, "$message");