@element-plus/nightly 0.0.20260402 → 0.0.20260404

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 (600) hide show
  1. package/dist/index.full.js +7 -385
  2. package/dist/index.full.min.js +5 -5
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +8 -8
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +8 -386
  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/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lo.js +1 -1
  140. package/dist/locale/lo.min.js +1 -1
  141. package/dist/locale/lo.min.mjs +1 -1
  142. package/dist/locale/lo.mjs +1 -1
  143. package/dist/locale/lt.js +1 -1
  144. package/dist/locale/lt.min.js +1 -1
  145. package/dist/locale/lt.min.mjs +1 -1
  146. package/dist/locale/lt.mjs +1 -1
  147. package/dist/locale/lv.js +1 -1
  148. package/dist/locale/lv.min.js +1 -1
  149. package/dist/locale/lv.min.mjs +1 -1
  150. package/dist/locale/lv.mjs +1 -1
  151. package/dist/locale/mg.js +1 -1
  152. package/dist/locale/mg.min.js +1 -1
  153. package/dist/locale/mg.min.mjs +1 -1
  154. package/dist/locale/mg.mjs +1 -1
  155. package/dist/locale/mn.js +1 -1
  156. package/dist/locale/mn.min.js +1 -1
  157. package/dist/locale/mn.min.mjs +1 -1
  158. package/dist/locale/mn.mjs +1 -1
  159. package/dist/locale/ms.js +1 -1
  160. package/dist/locale/ms.min.js +1 -1
  161. package/dist/locale/ms.min.mjs +1 -1
  162. package/dist/locale/ms.mjs +1 -1
  163. package/dist/locale/my.js +1 -1
  164. package/dist/locale/my.min.js +1 -1
  165. package/dist/locale/my.min.mjs +1 -1
  166. package/dist/locale/my.mjs +1 -1
  167. package/dist/locale/nb-no.js +1 -1
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.mjs +1 -1
  170. package/dist/locale/nb-no.mjs +1 -1
  171. package/dist/locale/nl.js +1 -1
  172. package/dist/locale/nl.min.js +1 -1
  173. package/dist/locale/nl.min.mjs +1 -1
  174. package/dist/locale/nl.mjs +1 -1
  175. package/dist/locale/no.js +1 -1
  176. package/dist/locale/no.min.js +1 -1
  177. package/dist/locale/no.min.mjs +1 -1
  178. package/dist/locale/no.mjs +1 -1
  179. package/dist/locale/pa.js +1 -1
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.mjs +1 -1
  182. package/dist/locale/pa.mjs +1 -1
  183. package/dist/locale/pl.js +1 -1
  184. package/dist/locale/pl.min.js +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +1 -1
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.mjs +1 -1
  190. package/dist/locale/pt-br.mjs +1 -1
  191. package/dist/locale/pt.js +1 -1
  192. package/dist/locale/pt.min.js +1 -1
  193. package/dist/locale/pt.min.mjs +1 -1
  194. package/dist/locale/pt.mjs +1 -1
  195. package/dist/locale/ro.js +1 -1
  196. package/dist/locale/ro.min.js +1 -1
  197. package/dist/locale/ro.min.mjs +1 -1
  198. package/dist/locale/ro.mjs +1 -1
  199. package/dist/locale/ru.js +1 -1
  200. package/dist/locale/ru.min.js +1 -1
  201. package/dist/locale/ru.min.mjs +1 -1
  202. package/dist/locale/ru.mjs +1 -1
  203. package/dist/locale/sk.js +1 -1
  204. package/dist/locale/sk.min.js +1 -1
  205. package/dist/locale/sk.min.mjs +1 -1
  206. package/dist/locale/sk.mjs +1 -1
  207. package/dist/locale/sl.js +1 -1
  208. package/dist/locale/sl.min.js +1 -1
  209. package/dist/locale/sl.min.mjs +1 -1
  210. package/dist/locale/sl.mjs +1 -1
  211. package/dist/locale/sr.js +1 -1
  212. package/dist/locale/sr.min.js +1 -1
  213. package/dist/locale/sr.min.mjs +1 -1
  214. package/dist/locale/sr.mjs +1 -1
  215. package/dist/locale/sv.js +1 -1
  216. package/dist/locale/sv.min.js +1 -1
  217. package/dist/locale/sv.min.mjs +1 -1
  218. package/dist/locale/sv.mjs +1 -1
  219. package/dist/locale/sw.js +1 -1
  220. package/dist/locale/sw.min.js +1 -1
  221. package/dist/locale/sw.min.mjs +1 -1
  222. package/dist/locale/sw.mjs +1 -1
  223. package/dist/locale/ta.js +1 -1
  224. package/dist/locale/ta.min.js +1 -1
  225. package/dist/locale/ta.min.mjs +1 -1
  226. package/dist/locale/ta.mjs +1 -1
  227. package/dist/locale/te.js +1 -1
  228. package/dist/locale/te.min.js +1 -1
  229. package/dist/locale/te.min.mjs +1 -1
  230. package/dist/locale/te.mjs +1 -1
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/components/affix/src/affix.d.ts +1 -1
  276. package/es/components/affix/src/affix.vue.d.ts +1 -1
  277. package/es/components/alert/src/alert.d.ts +2 -2
  278. package/es/components/alert/src/alert.vue.d.ts +1 -1
  279. package/es/components/anchor/src/anchor.d.ts +1 -1
  280. package/es/components/anchor/src/anchor.vue.d.ts +3 -3
  281. package/es/components/autocomplete/index.d.ts +2 -2
  282. package/es/components/autocomplete/src/autocomplete.d.ts +14 -12
  283. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  284. package/es/components/autocomplete/src/autocomplete.vue.d.ts +55 -80
  285. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  286. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  287. package/es/components/avatar/src/avatar-group-props.d.ts +1 -1
  288. package/es/components/avatar/src/avatar-group.d.ts +3 -3
  289. package/es/components/avatar/src/avatar.d.ts +2 -2
  290. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  291. package/es/components/badge/src/badge.d.ts +1 -1
  292. package/es/components/badge/src/badge.vue.d.ts +2 -2
  293. package/es/components/button/src/button-group.vue.d.ts +1 -1
  294. package/es/components/button/src/button.d.ts +1 -1
  295. package/es/components/button/src/button.vue.d.ts +5 -5
  296. package/es/components/card/src/card.vue.d.ts +1 -1
  297. package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
  298. package/es/components/carousel/src/carousel.d.ts +1 -1
  299. package/es/components/carousel/src/carousel.vue.d.ts +1 -1
  300. package/es/components/cascader/src/cascader.d.ts +4 -4
  301. package/es/components/cascader/src/cascader.vue.d.ts +10 -10
  302. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs +1 -1
  303. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  304. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  305. package/es/components/cascader-panel/src/index.vue.d.ts +1 -1
  306. package/es/components/check-tag/src/check-tag.d.ts +1 -1
  307. package/es/components/checkbox/src/checkbox-button.vue.d.ts +3 -3
  308. package/es/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
  309. package/es/components/checkbox/src/checkbox.d.ts +8 -8
  310. package/es/components/checkbox/src/checkbox.vue.d.ts +3 -3
  311. package/es/components/col/src/col.vue.d.ts +1 -1
  312. package/es/components/color-picker/src/color-picker.vue.d.ts +5 -5
  313. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  314. package/es/components/countdown/src/countdown.vue.d.ts +1 -1
  315. package/es/components/date-picker/src/date-picker.d.ts +17 -17
  316. package/es/components/date-picker/src/props.d.ts +3 -3
  317. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  318. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +2 -2
  319. package/es/components/descriptions/src/description-item.d.ts +19 -19
  320. package/es/components/descriptions/src/description.d.ts +1 -1
  321. package/es/components/descriptions/src/description.vue.d.ts +1 -1
  322. package/es/components/dialog/src/dialog.vue.d.ts +2 -2
  323. package/es/components/divider/src/divider.d.ts +2 -2
  324. package/es/components/divider/src/divider.vue.d.ts +1 -1
  325. package/es/components/drawer/src/drawer.vue.d.ts +4 -4
  326. package/es/components/dropdown/src/dropdown.d.ts +2 -2
  327. package/es/components/dropdown/src/dropdown.vue.d.ts +81 -81
  328. package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  329. package/es/components/form/src/form.vue.d.ts +1 -1
  330. package/es/components/image/src/image.vue.d.ts +1 -1
  331. package/es/components/image-viewer/src/image-viewer.vue.d.ts +1 -1
  332. package/es/components/index.d.ts +2 -2
  333. package/es/components/input/src/input.d.ts +2 -2
  334. package/es/components/input/src/input.vue.d.ts +4 -4
  335. package/es/components/input-number/src/input-number.d.ts +2 -2
  336. package/es/components/input-number/src/input-number.vue.d.ts +4 -4
  337. package/es/components/input-tag/src/input-tag.d.ts +2 -2
  338. package/es/components/input-tag/src/input-tag.vue.d.ts +7 -7
  339. package/es/components/link/src/link.d.ts +1 -1
  340. package/es/components/mention/src/mention.d.ts +3 -3
  341. package/es/components/mention/src/mention.vue.d.ts +2 -2
  342. package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs +5 -212
  343. package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  344. package/es/components/menu/src/menu.d.ts +7 -7
  345. package/es/components/menu/src/sub-menu.d.ts +1 -1
  346. package/es/components/message/src/message.d.ts +2 -2
  347. package/es/components/message/src/message.vue.d.ts +5 -5
  348. package/es/components/notification/src/notification.d.ts +2 -2
  349. package/es/components/notification/src/notification.vue.d.ts +5 -5
  350. package/es/components/pagination/src/pagination.d.ts +2 -2
  351. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  352. package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  353. package/es/components/popover/src/popover.d.ts +1 -1
  354. package/es/components/popover/src/popover.vue.d.ts +10 -10
  355. package/es/components/popper/src/composables/use-content.d.ts +6 -6
  356. package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  357. package/es/components/popper/src/content.vue.d.ts +10 -10
  358. package/es/components/progress/src/progress.d.ts +2 -2
  359. package/es/components/progress/src/progress.vue.d.ts +2 -2
  360. package/es/components/radio/src/radio-button.d.ts +3 -3
  361. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  362. package/es/components/radio/src/radio-group.vue.d.ts +3 -3
  363. package/es/components/radio/src/radio.d.ts +6 -6
  364. package/es/components/radio/src/radio.vue.d.ts +3 -3
  365. package/es/components/rate/src/rate.vue.d.ts +2 -2
  366. package/es/components/result/src/result.d.ts +1 -1
  367. package/es/components/roving-focus-group/src/roving-focus-group.d.ts +1 -1
  368. package/es/components/roving-focus-group/src/roving-focus-group.vue.d.ts +2 -2
  369. package/es/components/row/src/row.d.ts +2 -2
  370. package/es/components/segmented/index.d.ts +1 -1
  371. package/es/components/segmented/src/segmented.d.ts +2 -2
  372. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs +2 -57
  373. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  374. package/es/components/select/src/option.d.ts +2 -2
  375. package/es/components/select/src/option.vue.d.ts +5 -5
  376. package/es/components/select/src/select.d.ts +5 -5
  377. package/es/components/select/src/select.vue.d.ts +86 -86
  378. package/es/components/select-v2/src/defaults.d.ts +3 -3
  379. package/es/components/select-v2/src/select.vue.d.ts +71 -71
  380. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  381. package/es/components/slider/src/button.vue.d.ts +1 -1
  382. package/es/components/slider/src/slider.vue.d.ts +4 -4
  383. package/es/components/space/src/space.d.ts +4 -4
  384. package/es/components/splitter/src/splitter.d.ts +1 -1
  385. package/es/components/splitter/src/splitter.vue.d.ts +2 -2
  386. package/es/components/steps/src/item.d.ts +1 -1
  387. package/es/components/steps/src/steps.d.ts +3 -3
  388. package/es/components/steps/src/steps.vue.d.ts +1 -1
  389. package/es/components/switch/src/switch.vue.d.ts +1 -1
  390. package/es/components/table/src/table-body/index.d.ts +1 -1
  391. package/es/components/table/src/table-column/index.d.ts +14 -14
  392. package/es/components/table/src/table-footer/index.d.ts +1 -1
  393. package/es/components/table/src/table-header/index.d.ts +10 -10
  394. package/es/components/table/src/table.vue.d.ts +29 -29
  395. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  396. package/es/components/tabs/src/tabs.d.ts +6 -6
  397. package/es/components/tag/src/tag.d.ts +2 -2
  398. package/es/components/text/src/text.d.ts +1 -1
  399. package/es/components/text/src/text.vue.d.ts +1 -1
  400. package/es/components/time-picker/src/common/picker.vue.d.ts +14 -14
  401. package/es/components/time-picker/src/common/props.d.ts +2 -2
  402. package/es/components/time-picker/src/time-picker.d.ts +14 -14
  403. package/es/components/time-select/src/time-select.vue.d.ts +6 -6
  404. package/es/components/timeline/src/timeline-item.d.ts +2 -2
  405. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  406. package/es/components/timeline/src/timeline.d.ts +4 -4
  407. package/es/components/tooltip/src/content.vue.d.ts +15 -15
  408. package/es/components/tooltip/src/tooltip.vue.d.ts +16 -16
  409. package/es/components/tour/src/content.d.ts +1 -1
  410. package/es/components/tour/src/step.d.ts +1 -1
  411. package/es/components/tour/src/step.vue.d.ts +2 -2
  412. package/es/components/tour/src/tour.d.ts +1 -1
  413. package/es/components/tour/src/tour.vue.d.ts +8 -8
  414. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs +2 -48
  415. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  416. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs +2 -73
  417. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  418. package/es/components/tree/src/tree.vue.d.ts +9 -9
  419. package/es/components/tree-select/src/tree-select.vue.d.ts +29 -29
  420. package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
  421. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  422. package/es/components/upload/src/upload.vue.d.ts +2 -2
  423. package/es/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  424. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  425. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +5 -5
  426. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  427. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +5 -5
  428. package/es/components/virtual-list/src/props.d.ts +2 -2
  429. package/es/components/watermark/src/watermark.vue.d.ts +1 -1
  430. package/es/hooks/use-floating/index.d.ts +4 -4
  431. package/es/hooks/use-popper/index.d.ts +6 -6
  432. package/es/index.d.ts +2 -2
  433. package/es/utils/vue/size.d.ts +1 -1
  434. package/es/utils/vue/vnode.d.ts +4 -4
  435. package/es/version.mjs +1 -1
  436. package/es/version.mjs.map +1 -1
  437. package/lib/components/affix/src/affix.d.ts +1 -1
  438. package/lib/components/affix/src/affix.vue.d.ts +1 -1
  439. package/lib/components/alert/src/alert.d.ts +2 -2
  440. package/lib/components/alert/src/alert.vue.d.ts +1 -1
  441. package/lib/components/anchor/src/anchor.d.ts +1 -1
  442. package/lib/components/anchor/src/anchor.vue.d.ts +3 -3
  443. package/lib/components/autocomplete/index.d.ts +2 -2
  444. package/lib/components/autocomplete/src/autocomplete.d.ts +14 -12
  445. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  446. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +55 -80
  447. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  448. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  449. package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
  450. package/lib/components/avatar/src/avatar-group.d.ts +3 -3
  451. package/lib/components/avatar/src/avatar.d.ts +2 -2
  452. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  453. package/lib/components/badge/src/badge.d.ts +1 -1
  454. package/lib/components/badge/src/badge.vue.d.ts +2 -2
  455. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  456. package/lib/components/button/src/button.d.ts +1 -1
  457. package/lib/components/button/src/button.vue.d.ts +5 -5
  458. package/lib/components/card/src/card.vue.d.ts +1 -1
  459. package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
  460. package/lib/components/carousel/src/carousel.d.ts +1 -1
  461. package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
  462. package/lib/components/cascader/src/cascader.d.ts +4 -4
  463. package/lib/components/cascader/src/cascader.vue.d.ts +10 -10
  464. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js +1 -1
  465. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  466. package/lib/components/cascader/src/cascader2.js.map +1 -1
  467. package/lib/components/cascader-panel/src/index.vue.d.ts +1 -1
  468. package/lib/components/check-tag/src/check-tag.d.ts +1 -1
  469. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +3 -3
  470. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
  471. package/lib/components/checkbox/src/checkbox.d.ts +8 -8
  472. package/lib/components/checkbox/src/checkbox.vue.d.ts +3 -3
  473. package/lib/components/col/src/col.vue.d.ts +1 -1
  474. package/lib/components/color-picker/src/color-picker.vue.d.ts +5 -5
  475. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  476. package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
  477. package/lib/components/date-picker/src/date-picker.d.ts +17 -17
  478. package/lib/components/date-picker/src/props.d.ts +3 -3
  479. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  480. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +2 -2
  481. package/lib/components/descriptions/src/description-item.d.ts +19 -19
  482. package/lib/components/descriptions/src/description.d.ts +1 -1
  483. package/lib/components/descriptions/src/description.vue.d.ts +1 -1
  484. package/lib/components/dialog/src/dialog.vue.d.ts +2 -2
  485. package/lib/components/divider/src/divider.d.ts +2 -2
  486. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  487. package/lib/components/drawer/src/drawer.vue.d.ts +4 -4
  488. package/lib/components/dropdown/src/dropdown.d.ts +2 -2
  489. package/lib/components/dropdown/src/dropdown.vue.d.ts +81 -81
  490. package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  491. package/lib/components/form/src/form.vue.d.ts +1 -1
  492. package/lib/components/image/src/image.vue.d.ts +1 -1
  493. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +1 -1
  494. package/lib/components/index.d.ts +2 -2
  495. package/lib/components/input/src/input.d.ts +2 -2
  496. package/lib/components/input/src/input.vue.d.ts +4 -4
  497. package/lib/components/input-number/src/input-number.d.ts +2 -2
  498. package/lib/components/input-number/src/input-number.vue.d.ts +4 -4
  499. package/lib/components/input-tag/src/input-tag.d.ts +2 -2
  500. package/lib/components/input-tag/src/input-tag.vue.d.ts +7 -7
  501. package/lib/components/link/src/link.d.ts +1 -1
  502. package/lib/components/mention/src/mention.d.ts +3 -3
  503. package/lib/components/mention/src/mention.vue.d.ts +2 -2
  504. package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js +1 -208
  505. package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js.map +1 -1
  506. package/lib/components/menu/src/menu.d.ts +7 -7
  507. package/lib/components/menu/src/sub-menu.d.ts +1 -1
  508. package/lib/components/message/src/message.d.ts +2 -2
  509. package/lib/components/message/src/message.vue.d.ts +5 -5
  510. package/lib/components/notification/src/notification.d.ts +2 -2
  511. package/lib/components/notification/src/notification.vue.d.ts +5 -5
  512. package/lib/components/pagination/src/pagination.d.ts +2 -2
  513. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  514. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  515. package/lib/components/popover/src/popover.d.ts +1 -1
  516. package/lib/components/popover/src/popover.vue.d.ts +10 -10
  517. package/lib/components/popper/src/composables/use-content.d.ts +6 -6
  518. package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  519. package/lib/components/popper/src/content.vue.d.ts +10 -10
  520. package/lib/components/progress/src/progress.d.ts +2 -2
  521. package/lib/components/progress/src/progress.vue.d.ts +2 -2
  522. package/lib/components/radio/src/radio-button.d.ts +3 -3
  523. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  524. package/lib/components/radio/src/radio-group.vue.d.ts +3 -3
  525. package/lib/components/radio/src/radio.d.ts +6 -6
  526. package/lib/components/radio/src/radio.vue.d.ts +3 -3
  527. package/lib/components/rate/src/rate.vue.d.ts +2 -2
  528. package/lib/components/result/src/result.d.ts +1 -1
  529. package/lib/components/roving-focus-group/src/roving-focus-group.d.ts +1 -1
  530. package/lib/components/roving-focus-group/src/roving-focus-group.vue.d.ts +2 -2
  531. package/lib/components/row/src/row.d.ts +2 -2
  532. package/lib/components/segmented/index.d.ts +1 -1
  533. package/lib/components/segmented/src/segmented.d.ts +2 -2
  534. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js +1 -56
  535. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
  536. package/lib/components/select/src/option.d.ts +2 -2
  537. package/lib/components/select/src/option.vue.d.ts +5 -5
  538. package/lib/components/select/src/select.d.ts +5 -5
  539. package/lib/components/select/src/select.vue.d.ts +86 -86
  540. package/lib/components/select-v2/src/defaults.d.ts +3 -3
  541. package/lib/components/select-v2/src/select.vue.d.ts +71 -71
  542. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  543. package/lib/components/slider/src/button.vue.d.ts +1 -1
  544. package/lib/components/slider/src/slider.vue.d.ts +4 -4
  545. package/lib/components/space/src/space.d.ts +4 -4
  546. package/lib/components/splitter/src/splitter.d.ts +1 -1
  547. package/lib/components/splitter/src/splitter.vue.d.ts +2 -2
  548. package/lib/components/steps/src/item.d.ts +1 -1
  549. package/lib/components/steps/src/steps.d.ts +3 -3
  550. package/lib/components/steps/src/steps.vue.d.ts +1 -1
  551. package/lib/components/switch/src/switch.vue.d.ts +1 -1
  552. package/lib/components/table/src/table-body/index.d.ts +1 -1
  553. package/lib/components/table/src/table-column/index.d.ts +14 -14
  554. package/lib/components/table/src/table-footer/index.d.ts +1 -1
  555. package/lib/components/table/src/table-header/index.d.ts +10 -10
  556. package/lib/components/table/src/table.vue.d.ts +29 -29
  557. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  558. package/lib/components/tabs/src/tabs.d.ts +6 -6
  559. package/lib/components/tag/src/tag.d.ts +2 -2
  560. package/lib/components/text/src/text.d.ts +1 -1
  561. package/lib/components/text/src/text.vue.d.ts +1 -1
  562. package/lib/components/time-picker/src/common/picker.vue.d.ts +14 -14
  563. package/lib/components/time-picker/src/common/props.d.ts +2 -2
  564. package/lib/components/time-picker/src/time-picker.d.ts +14 -14
  565. package/lib/components/time-select/src/time-select.vue.d.ts +6 -6
  566. package/lib/components/timeline/src/timeline-item.d.ts +2 -2
  567. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  568. package/lib/components/timeline/src/timeline.d.ts +4 -4
  569. package/lib/components/tooltip/src/content.vue.d.ts +15 -15
  570. package/lib/components/tooltip/src/tooltip.vue.d.ts +16 -16
  571. package/lib/components/tour/src/content.d.ts +1 -1
  572. package/lib/components/tour/src/step.d.ts +1 -1
  573. package/lib/components/tour/src/step.vue.d.ts +2 -2
  574. package/lib/components/tour/src/tour.d.ts +1 -1
  575. package/lib/components/tour/src/tour.vue.d.ts +8 -8
  576. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.js +1 -47
  577. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  578. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js +1 -72
  579. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  580. package/lib/components/tree/src/tree.vue.d.ts +9 -9
  581. package/lib/components/tree-select/src/tree-select.vue.d.ts +29 -29
  582. package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
  583. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  584. package/lib/components/upload/src/upload.vue.d.ts +2 -2
  585. package/lib/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  586. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  587. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +5 -5
  588. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  589. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +5 -5
  590. package/lib/components/virtual-list/src/props.d.ts +2 -2
  591. package/lib/components/watermark/src/watermark.vue.d.ts +1 -1
  592. package/lib/hooks/use-floating/index.d.ts +4 -4
  593. package/lib/hooks/use-popper/index.d.ts +6 -6
  594. package/lib/index.d.ts +2 -2
  595. package/lib/utils/vue/size.d.ts +1 -1
  596. package/lib/utils/vue/vnode.d.ts +4 -4
  597. package/lib/version.js +1 -1
  598. package/lib/version.js.map +1 -1
  599. package/package.json +2 -2
  600. package/web-types.json +1 -1
@@ -20,9 +20,9 @@ declare const __VLS_base: vue.DefineComponent<AlertProps, {}, {}, {}, {}, vue.Co
20
20
  type: keyof typeof TypeComponentsMap;
21
21
  title: string;
22
22
  description: string;
23
+ effect: "light" | "dark";
23
24
  closable: boolean;
24
25
  closeText: string;
25
- effect: "light" | "dark";
26
26
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
27
27
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
28
  declare const _default: typeof __VLS_export;
@@ -54,7 +54,7 @@ declare const anchorProps: {
54
54
  duration: EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
55
55
  marker: EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
56
56
  type: EpPropFinalized<(new (...args: any[]) => "default" | "underline") | (() => "default" | "underline") | (((new (...args: any[]) => "default" | "underline") | (() => "default" | "underline")) | null)[], unknown, unknown, string, boolean>;
57
- direction: EpPropFinalized<(new (...args: any[]) => "vertical" | "horizontal") | (() => "vertical" | "horizontal") | (((new (...args: any[]) => "vertical" | "horizontal") | (() => "vertical" | "horizontal")) | null)[], unknown, unknown, string, boolean>;
57
+ direction: EpPropFinalized<(new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical") | (((new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical")) | null)[], unknown, unknown, string, boolean>;
58
58
  selectScrollTop: BooleanConstructor;
59
59
  };
60
60
  /**
@@ -17,10 +17,10 @@ declare const __VLS_base: vue.DefineComponent<AnchorProps, {
17
17
  }>, {
18
18
  type: "default" | "underline";
19
19
  offset: number;
20
- bound: number;
21
- duration: number;
22
- marker: boolean;
23
20
  direction: "vertical" | "horizontal";
21
+ marker: boolean;
22
+ duration: number;
23
+ bound: number;
24
24
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
25
25
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
26
26
  declare const _default: typeof __VLS_export;
@@ -1,9 +1,9 @@
1
1
  import { SFCWithInstall } from "../../utils/vue/typescript.js";
2
2
  import "../../utils/index.js";
3
- import { AutocompleteData, AutocompleteEmits, AutocompleteFetchSuggestions, AutocompleteFetchSuggestionsCallback, AutocompleteInstance, AutocompletePlacement, AutocompleteProps, AutocompletePropsPublic, autocompleteEmits, autocompleteProps } from "./src/autocomplete.js";
3
+ import { AutocompleteData, AutocompleteDataItem, AutocompleteEmits, AutocompleteFetchSuggestions, AutocompleteFetchSuggestionsCallback, AutocompleteInstance, AutocompletePlacement, AutocompleteProps, AutocompletePropsPublic, autocompleteEmits, autocompleteProps } from "./src/autocomplete.js";
4
4
  import { _default } from "./src/autocomplete.vue.js";
5
5
 
6
6
  //#region ../../packages/components/autocomplete/index.d.ts
7
7
  declare const ElAutocomplete: SFCWithInstall<typeof _default>;
8
8
  //#endregion
9
- export { AutocompleteData, AutocompleteEmits, AutocompleteFetchSuggestions, AutocompleteFetchSuggestionsCallback, AutocompleteInstance, AutocompletePlacement, AutocompleteProps, AutocompletePropsPublic, ElAutocomplete, ElAutocomplete as default, autocompleteEmits, autocompleteProps };
9
+ export { AutocompleteData, AutocompleteDataItem, AutocompleteEmits, AutocompleteFetchSuggestions, AutocompleteFetchSuggestionsCallback, AutocompleteInstance, AutocompletePlacement, AutocompleteProps, AutocompletePropsPublic, ElAutocomplete, ElAutocomplete as default, autocompleteEmits, autocompleteProps };
@@ -8,14 +8,16 @@ import "../../tooltip/index.js";
8
8
  import { Placement } from "../../popper/index.js";
9
9
  import { _default } from "./autocomplete.vue.js";
10
10
  import * as vue from "vue";
11
- import { ExtractPublicPropTypes } from "vue";
11
+ import { ComponentInstance, ExtractPublicPropTypes } from "vue";
12
+ import { ComponentExposed } from "vue-component-type-helpers";
12
13
 
13
14
  //#region ../../packages/components/autocomplete/src/autocomplete.d.ts
14
- type AutocompleteData = Record<string, any>[];
15
- type AutocompleteFetchSuggestionsCallback = (data: AutocompleteData) => void;
16
- type AutocompleteFetchSuggestions = ((queryString: string, cb: AutocompleteFetchSuggestionsCallback) => Awaitable<AutocompleteData> | void) | AutocompleteData;
15
+ type AutocompleteDataItem = Record<string, any>;
16
+ type AutocompleteData<T extends AutocompleteDataItem = AutocompleteDataItem> = T[];
17
+ type AutocompleteFetchSuggestionsCallback<T extends AutocompleteDataItem = AutocompleteDataItem> = (data: AutocompleteData<T>) => void;
18
+ type AutocompleteFetchSuggestions<T extends AutocompleteDataItem = AutocompleteDataItem> = ((queryString: string, cb: AutocompleteFetchSuggestionsCallback<T>) => Awaitable<AutocompleteData<T> | void>) | AutocompleteData<T>;
17
19
  type AutocompletePlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end';
18
- interface AutocompleteProps extends InputProps {
20
+ interface AutocompleteProps<T extends AutocompleteDataItem = AutocompleteDataItem> extends InputProps {
19
21
  /**
20
22
  * @description key name of the input suggestion object for display
21
23
  */
@@ -35,7 +37,7 @@ interface AutocompleteProps extends InputProps {
35
37
  /**
36
38
  * @description a method to fetch input suggestions. When suggestions are ready, invoke `callback(data:[])` to return them to Autocomplete
37
39
  */
38
- fetchSuggestions?: AutocompleteFetchSuggestions;
40
+ fetchSuggestions?: AutocompleteFetchSuggestions<T>;
39
41
  /**
40
42
  * @description custom class name for autocomplete's dropdown
41
43
  */
@@ -84,8 +86,8 @@ declare const autocompleteProps: {
84
86
  readonly valueKey: EpPropFinalized<StringConstructor, unknown, unknown, "value", boolean>;
85
87
  readonly modelValue: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
86
88
  readonly debounce: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
87
- readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end", unknown, "bottom-start", boolean>;
88
- readonly fetchSuggestions: EpPropFinalized<(new (...args: any[]) => AutocompleteData | ((queryString: string, cb: AutocompleteFetchSuggestionsCallback) => Awaitable<AutocompleteData> | void)) | (() => AutocompleteFetchSuggestions) | (((new (...args: any[]) => AutocompleteData | ((queryString: string, cb: AutocompleteFetchSuggestionsCallback) => Awaitable<AutocompleteData> | void)) | (() => AutocompleteFetchSuggestions)) | null)[], unknown, unknown, () => void, boolean>;
89
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "bottom" | "top" | "right" | "left" | "bottom-start" | "bottom-end" | "top-start" | "top-end" | "right-start" | "right-end" | "left-start" | "left-end" | "auto" | "auto-start" | "auto-end") | (() => Placement) | (((new (...args: any[]) => "bottom" | "top" | "right" | "left" | "bottom-start" | "bottom-end" | "top-start" | "top-end" | "right-start" | "right-end" | "left-start" | "left-end" | "auto" | "auto-start" | "auto-end") | (() => Placement)) | null)[], "bottom" | "top" | "bottom-start" | "bottom-end" | "top-start" | "top-end", unknown, "bottom-start", boolean>;
90
+ readonly fetchSuggestions: EpPropFinalized<(new (...args: any[]) => ((queryString: string, cb: AutocompleteFetchSuggestionsCallback<AutocompleteDataItem>) => Awaitable<void | AutocompleteData<AutocompleteDataItem>>) | AutocompleteData<AutocompleteDataItem>) | (() => AutocompleteFetchSuggestions<AutocompleteDataItem>) | (((new (...args: any[]) => ((queryString: string, cb: AutocompleteFetchSuggestionsCallback<AutocompleteDataItem>) => Awaitable<void | AutocompleteData<AutocompleteDataItem>>) | AutocompleteData<AutocompleteDataItem>) | (() => AutocompleteFetchSuggestions<AutocompleteDataItem>)) | null)[], unknown, unknown, () => void, boolean>;
89
91
  readonly popperClass: {
90
92
  readonly type: vue.PropType<EpPropMergeType<(new (...args: any[]) => string | {
91
93
  [x: string]: boolean;
@@ -207,7 +209,7 @@ declare const autocompleteProps: {
207
209
  readonly highlightFirstItem: BooleanConstructor;
208
210
  readonly fitInputWidth: BooleanConstructor;
209
211
  readonly loopNavigation: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
210
- readonly inputmode: EpPropFinalized<(new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
212
+ readonly inputmode: EpPropFinalized<(new (...args: any[]) => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
211
213
  readonly name: StringConstructor;
212
214
  readonly ariaLabel: StringConstructor;
213
215
  readonly id: EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
@@ -233,7 +235,7 @@ declare const autocompleteProps: {
233
235
  };
234
236
  readonly type: EpPropFinalized<(new (...args: any[]) => string) | (() => InputType) | (((new (...args: any[]) => string) | (() => InputType)) | null)[], unknown, unknown, "text", boolean>;
235
237
  readonly resize: {
236
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "vertical" | "horizontal" | "none" | "both", unknown>>;
238
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>>;
237
239
  readonly required: false;
238
240
  readonly validator: ((val: unknown) => boolean) | undefined;
239
241
  __epPropKey: true;
@@ -315,6 +317,6 @@ declare const autocompleteEmits: {
315
317
  select: (item: Record<string, any>) => boolean;
316
318
  };
317
319
  type AutocompleteEmits = typeof autocompleteEmits;
318
- type AutocompleteInstance = InstanceType<typeof _default> & unknown;
320
+ type AutocompleteInstance = ComponentInstance<typeof _default> & ComponentExposed<typeof _default>;
319
321
  //#endregion
320
- export { AutocompleteData, AutocompleteEmits, AutocompleteFetchSuggestions, AutocompleteFetchSuggestionsCallback, AutocompleteInstance, AutocompletePlacement, AutocompleteProps, AutocompletePropsPublic, autocompleteEmits, autocompleteProps };
322
+ export { AutocompleteData, AutocompleteDataItem, AutocompleteEmits, AutocompleteFetchSuggestions, AutocompleteFetchSuggestionsCallback, AutocompleteInstance, AutocompletePlacement, AutocompleteProps, AutocompletePropsPublic, autocompleteEmits, autocompleteProps };
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.js","names":["buildProps","inputProps","definePropType","NOOP","useTooltipContentProps","UPDATE_MODEL_EVENT","isNumber","INPUT_EVENT","CHANGE_EVENT"],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.ts"],"sourcesContent":["import {\n NOOP,\n buildProps,\n definePropType,\n isNumber,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { inputProps } from '@element-plus/components/input'\n\nimport type { ExtractPublicPropTypes } from 'vue'\nimport type Autocomplete from './autocomplete.vue'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { Awaitable } from '@element-plus/utils'\nimport type { InputProps } from '@element-plus/components/input'\nimport type { ElTooltipContentProps } from '@element-plus/components/tooltip'\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 type AutocompletePlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n\nexport interface AutocompleteProps extends InputProps {\n /**\n * @description key name of the input suggestion object for display\n */\n valueKey?: string\n /**\n * @description binding value\n */\n modelValue?: string | number\n /**\n * @description debounce delay when typing, in milliseconds\n */\n debounce?: number\n /**\n * @description placement of the popup menu\n */\n placement?: AutocompletePlacement\n /**\n * @description a method to fetch input suggestions. When suggestions are ready, invoke `callback(data:[])` to return them to Autocomplete\n */\n fetchSuggestions?: AutocompleteFetchSuggestions\n /**\n * @description custom class name for autocomplete's dropdown\n */\n popperClass?: ElTooltipContentProps['popperClass']\n /**\n * @description custom style for autocomplete's dropdown\n */\n popperStyle?: ElTooltipContentProps['popperStyle']\n /**\n * @description whether show suggestions when input focus\n */\n triggerOnFocus?: boolean\n /**\n * @description whether to emit a `select` event on enter when there is no autocomplete match\n */\n selectWhenUnmatched?: boolean\n /**\n * @description whether to hide the loading icon in remote search\n */\n hideLoading?: boolean\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported?: ElTooltipContentProps['teleported']\n /**\n * @description which select dropdown appends to\n */\n appendTo?: ElTooltipContentProps['appendTo']\n /**\n * @description whether to highlight first item in remote search suggestions by default\n */\n highlightFirstItem?: boolean\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth?: boolean\n /**\n * @description whether keyboard navigation loops from end to start\n */\n loopNavigation?: boolean\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `AutocompleteProps` instead.\n */\nexport const autocompleteProps = buildProps({\n ...inputProps,\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: useTooltipContentProps.popperClass,\n /**\n * @description custom style for autocomplete's dropdown\n */\n popperStyle: useTooltipContentProps.popperStyle,\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: Boolean,\n /**\n * @description whether to hide the loading icon in remote search\n */\n hideLoading: Boolean,\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description which select dropdown appends to\n */\n appendTo: useTooltipContentProps.appendTo,\n /**\n * @description whether to highlight first item in remote search suggestions by default\n */\n highlightFirstItem: Boolean,\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: Boolean,\n /**\n * @description whether keyboard navigation loops from end to start\n */\n loopNavigation: {\n type: Boolean,\n default: true,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `AutocompleteProps` instead.\n */\nexport type AutocompletePropsPublic = ExtractPublicPropTypes<\n typeof autocompleteProps\n>\n\nexport const autocompleteEmits = {\n [UPDATE_MODEL_EVENT]: (value: string | number) =>\n isString(value) || isNumber(value),\n [INPUT_EVENT]: (value: string | number) => isString(value) || isNumber(value),\n [CHANGE_EVENT]: (value: string | number) =>\n isString(value) || isNumber(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> & unknown\n"],"mappings":";;;;;;;;;;;;;AA4GA,MAAa,oBAAoBA,6BAAW;CAC1C,GAAGC;CAIH,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,YAAY;EACV,MAAM,CAAC,QAAQ,OAAO;EACtB,SAAS;EACV;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,WAAW;EACT,MAAMC,iCAA0B,OAAO;EACvC,QAAQ;GACN;GACA;GACA;GACA;GACA;GACA;GACD;EACD,SAAS;EACV;CAID,kBAAkB;EAChB,MAAMA,iCAA6C,CAAC,UAAU,MAAM,CAAC;EACrE,SAASC;EACV;CAID,aAAaC,uCAAuB;CAIpC,aAAaA,uCAAuB;CAIpC,gBAAgB;EACd,MAAM;EACN,SAAS;EACV;CAID,qBAAqB;CAIrB,aAAa;CAIb,YAAYA,uCAAuB;CAInC,UAAUA,uCAAuB;CAIjC,oBAAoB;CAIpB,eAAe;CAIf,gBAAgB;EACd,MAAM;EACN,SAAS;EACV;CACF,CAAU;AASX,MAAa,oBAAoB;EAC9BC,oCAAsB,oCACZ,MAAM,IAAIC,uBAAS,MAAM;EACnCC,6BAAe,oCAAoC,MAAM,IAAID,uBAAS,MAAM;EAC5EE,8BAAgB,oCACN,MAAM,IAAIF,uBAAS,MAAM;CACpC,QAAQ,QAAoB,eAAe;CAC3C,OAAO,QAAoB,eAAe;CAC1C,aAAa;CACb,SAAS,mCAAuC,KAAK;CACtD"}
1
+ {"version":3,"file":"autocomplete.js","names":["buildProps","inputProps","definePropType","NOOP","useTooltipContentProps","UPDATE_MODEL_EVENT","isNumber","INPUT_EVENT","CHANGE_EVENT"],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.ts"],"sourcesContent":["import {\n NOOP,\n buildProps,\n definePropType,\n isNumber,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { inputProps } from '@element-plus/components/input'\n\nimport type { ComponentInstance, ExtractPublicPropTypes } from 'vue'\nimport type { ComponentExposed } from 'vue-component-type-helpers'\nimport type Autocomplete from './autocomplete.vue'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { Awaitable } from '@element-plus/utils'\nimport type { InputProps } from '@element-plus/components/input'\nimport type { ElTooltipContentProps } from '@element-plus/components/tooltip'\n\nexport type AutocompleteDataItem = Record<string, any>\nexport type AutocompleteData<\n T extends AutocompleteDataItem = AutocompleteDataItem,\n> = T[]\nexport type AutocompleteFetchSuggestionsCallback<\n T extends AutocompleteDataItem = AutocompleteDataItem,\n> = (data: AutocompleteData<T>) => void\nexport type AutocompleteFetchSuggestions<\n T extends AutocompleteDataItem = AutocompleteDataItem,\n> =\n | ((\n queryString: string,\n cb: AutocompleteFetchSuggestionsCallback<T>\n ) => Awaitable<AutocompleteData<T> | void>)\n | AutocompleteData<T>\n\nexport type AutocompletePlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n\nexport interface AutocompleteProps<\n T extends AutocompleteDataItem = AutocompleteDataItem,\n> extends InputProps {\n /**\n * @description key name of the input suggestion object for display\n */\n valueKey?: string\n /**\n * @description binding value\n */\n modelValue?: string | number\n /**\n * @description debounce delay when typing, in milliseconds\n */\n debounce?: number\n /**\n * @description placement of the popup menu\n */\n placement?: AutocompletePlacement\n /**\n * @description a method to fetch input suggestions. When suggestions are ready, invoke `callback(data:[])` to return them to Autocomplete\n */\n fetchSuggestions?: AutocompleteFetchSuggestions<T>\n /**\n * @description custom class name for autocomplete's dropdown\n */\n popperClass?: ElTooltipContentProps['popperClass']\n /**\n * @description custom style for autocomplete's dropdown\n */\n popperStyle?: ElTooltipContentProps['popperStyle']\n /**\n * @description whether show suggestions when input focus\n */\n triggerOnFocus?: boolean\n /**\n * @description whether to emit a `select` event on enter when there is no autocomplete match\n */\n selectWhenUnmatched?: boolean\n /**\n * @description whether to hide the loading icon in remote search\n */\n hideLoading?: boolean\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported?: ElTooltipContentProps['teleported']\n /**\n * @description which select dropdown appends to\n */\n appendTo?: ElTooltipContentProps['appendTo']\n /**\n * @description whether to highlight first item in remote search suggestions by default\n */\n highlightFirstItem?: boolean\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth?: boolean\n /**\n * @description whether keyboard navigation loops from end to start\n */\n loopNavigation?: boolean\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `AutocompleteProps` instead.\n */\nexport const autocompleteProps = buildProps({\n ...inputProps,\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: useTooltipContentProps.popperClass,\n /**\n * @description custom style for autocomplete's dropdown\n */\n popperStyle: useTooltipContentProps.popperStyle,\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: Boolean,\n /**\n * @description whether to hide the loading icon in remote search\n */\n hideLoading: Boolean,\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description which select dropdown appends to\n */\n appendTo: useTooltipContentProps.appendTo,\n /**\n * @description whether to highlight first item in remote search suggestions by default\n */\n highlightFirstItem: Boolean,\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: Boolean,\n /**\n * @description whether keyboard navigation loops from end to start\n */\n loopNavigation: {\n type: Boolean,\n default: true,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `AutocompleteProps` instead.\n */\nexport type AutocompletePropsPublic = ExtractPublicPropTypes<\n typeof autocompleteProps\n>\n\nexport const autocompleteEmits = {\n [UPDATE_MODEL_EVENT]: (value: string | number) =>\n isString(value) || isNumber(value),\n [INPUT_EVENT]: (value: string | number) => isString(value) || isNumber(value),\n [CHANGE_EVENT]: (value: string | number) =>\n isString(value) || isNumber(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 = ComponentInstance<typeof Autocomplete> &\n ComponentExposed<typeof Autocomplete>\n"],"mappings":";;;;;;;;;;;;;AAoHA,MAAa,oBAAoBA,6BAAW;CAC1C,GAAGC;CAIH,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,YAAY;EACV,MAAM,CAAC,QAAQ,OAAO;EACtB,SAAS;EACV;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,WAAW;EACT,MAAMC,iCAA0B,OAAO;EACvC,QAAQ;GACN;GACA;GACA;GACA;GACA;GACA;GACD;EACD,SAAS;EACV;CAID,kBAAkB;EAChB,MAAMA,iCAA6C,CAAC,UAAU,MAAM,CAAC;EACrE,SAASC;EACV;CAID,aAAaC,uCAAuB;CAIpC,aAAaA,uCAAuB;CAIpC,gBAAgB;EACd,MAAM;EACN,SAAS;EACV;CAID,qBAAqB;CAIrB,aAAa;CAIb,YAAYA,uCAAuB;CAInC,UAAUA,uCAAuB;CAIjC,oBAAoB;CAIpB,eAAe;CAIf,gBAAgB;EACd,MAAM;EACN,SAAS;EACV;CACF,CAAU;AASX,MAAa,oBAAoB;EAC9BC,oCAAsB,oCACZ,MAAM,IAAIC,uBAAS,MAAM;EACnCC,6BAAe,oCAAoC,MAAM,IAAID,uBAAS,MAAM;EAC5EE,8BAAgB,oCACN,MAAM,IAAIF,uBAAS,MAAM;CACpC,QAAQ,QAAoB,eAAe;CAC3C,OAAO,QAAoB,eAAe;CAC1C,aAAa;CACb,SAAS,mCAAuC,KAAK;CACtD"}
@@ -1,91 +1,66 @@
1
- import { IconPropType } from "../../../utils/vue/icon.js";
2
- import "../../../utils/index.js";
3
- import { InputModelModifiers, InputType } from "../../input/src/input.js";
4
1
  import { InputInstance } from "../../input/src/instance.js";
5
2
  import "../../input/index.js";
6
3
  import { TooltipInstance } from "../../tooltip/src/tooltip.js";
7
4
  import "../../tooltip/index.js";
8
- import { AutocompleteData, AutocompleteFetchSuggestions, AutocompletePlacement, AutocompleteProps } from "./autocomplete.js";
5
+ import { AutocompleteData, AutocompleteDataItem, AutocompleteProps } from "./autocomplete.js";
9
6
  import * as vue from "vue";
10
- import { StyleValue } from "vue";
7
+ import { Ref } from "vue";
11
8
 
12
9
  //#region ../../packages/components/autocomplete/src/autocomplete.vue.d.ts
13
- declare var __VLS_29: {}, __VLS_32: {}, __VLS_35: {}, __VLS_38: {}, __VLS_41: {}, __VLS_49: {}, __VLS_62: {
14
- item: Record<string, any>;
15
- }, __VLS_64: {};
16
- type __VLS_Slots = {} & {
17
- prepend?: (props: typeof __VLS_29) => any;
18
- } & {
19
- append?: (props: typeof __VLS_32) => any;
20
- } & {
21
- prefix?: (props: typeof __VLS_35) => any;
22
- } & {
23
- suffix?: (props: typeof __VLS_38) => any;
24
- } & {
25
- header?: (props: typeof __VLS_41) => any;
26
- } & {
27
- loading?: (props: typeof __VLS_49) => any;
28
- } & {
29
- default?: (props: typeof __VLS_62) => any;
30
- } & {
31
- footer?: (props: typeof __VLS_64) => any;
32
- };
33
- declare const __VLS_base: vue.DefineComponent<AutocompleteProps, {
34
- /** @description the index of the currently highlighted item */highlightedIndex: vue.Ref<number, number>; /** @description autocomplete whether activated */
35
- activated: vue.Ref<boolean, boolean>; /** @description remote search loading status */
36
- loading: vue.Ref<boolean, boolean>; /** @description el-input component instance */
37
- inputRef: vue.Ref<InputInstance | undefined, InputInstance | undefined>; /** @description el-tooltip component instance */
38
- popperRef: vue.Ref<TooltipInstance | undefined, TooltipInstance | undefined>; /** @description fetch suggestions result */
39
- suggestions: vue.Ref<Record<string, any>[], Record<string, any>[] | AutocompleteData>; /** @description triggers when a suggestion is clicked */
40
- handleSelect: (item: any) => Promise<void>; /** @description handle keyboard enter event */
41
- handleKeyEnter: () => Promise<void>; /** @description focus the input element */
42
- focus: () => void; /** @description blur the input element */
43
- blur: () => void; /** @description close suggestion */
44
- close: () => void; /** @description highlight an item in a suggestion */
45
- highlight: (index: number) => void; /** @description loading suggestion list */
46
- getData: (queryString: string) => Promise<void>;
47
- }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
48
- blur: (evt: FocusEvent) => void;
49
- focus: (evt: FocusEvent) => void;
50
- select: (item: Record<string, any>) => void;
51
- "update:modelValue": (value: string | number) => void;
52
- change: (value: string | number) => void;
53
- clear: () => void;
54
- input: (value: string | number) => void;
55
- }, string, vue.PublicProps, Readonly<AutocompleteProps> & Readonly<{
56
- onBlur?: ((evt: FocusEvent) => any) | undefined;
57
- onChange?: ((value: string | number) => any) | undefined;
58
- onFocus?: ((evt: FocusEvent) => any) | undefined;
59
- onInput?: ((value: string | number) => any) | undefined;
60
- onSelect?: ((item: Record<string, any>) => any) | undefined;
61
- "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
62
- onClear?: (() => any) | undefined;
63
- }>, {
64
- modelValue: string | number;
65
- type: InputType;
66
- teleported: boolean;
67
- placement: AutocompletePlacement;
68
- disabled: boolean;
69
- clearIcon: IconPropType;
70
- tabindex: string | number;
71
- validateEvent: boolean;
72
- valueKey: string;
73
- debounce: number;
74
- fetchSuggestions: AutocompleteFetchSuggestions;
75
- triggerOnFocus: boolean;
76
- loopNavigation: boolean;
77
- modelModifiers: InputModelModifiers;
78
- autocomplete: string;
79
- wordLimitPosition: "inside" | "outside";
80
- inputStyle: string | false | vue.CSSProperties | StyleValue[] | null;
81
- rows: number;
82
- }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
83
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
84
- declare const _default: typeof __VLS_export;
85
- type __VLS_WithSlots<T, S> = T & {
86
- new (): {
87
- $slots: S;
10
+ declare const __VLS_export: <T extends AutocompleteDataItem = AutocompleteDataItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
11
+ props: vue.PublicProps & __VLS_PrettifyLocal<AutocompleteProps<T> & {
12
+ onBlur?: ((evt: FocusEvent) => any) | undefined;
13
+ onChange?: ((value: string | number) => any) | undefined;
14
+ onFocus?: ((evt: FocusEvent) => any) | undefined;
15
+ onInput?: ((value: string | number) => any) | undefined;
16
+ onSelect?: ((item: Record<string, any>) => any) | undefined;
17
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
18
+ onClear?: (() => any) | undefined;
19
+ }> & (typeof globalThis extends {
20
+ __VLS_PROPS_FALLBACK: infer P;
21
+ } ? P : {});
22
+ expose: (exposed: vue.ShallowUnwrapRef<{
23
+ /** @description the index of the currently highlighted item */highlightedIndex: Ref<number, number>; /** @description autocomplete whether activated */
24
+ activated: Ref<boolean, boolean>; /** @description remote search loading status */
25
+ loading: Ref<boolean, boolean>; /** @description el-input component instance */
26
+ inputRef: Ref<InputInstance | undefined, InputInstance | undefined>; /** @description el-tooltip component instance */
27
+ popperRef: Ref<TooltipInstance | undefined, TooltipInstance | undefined>; /** @description fetch suggestions result */
28
+ suggestions: Ref<AutocompleteData<T>, AutocompleteData<T>>; /** @description triggers when a suggestion is clicked */
29
+ handleSelect: (item: T) => Promise<void>; /** @description handle keyboard enter event */
30
+ handleKeyEnter: () => Promise<void>; /** @description focus the input element */
31
+ focus: () => void; /** @description blur the input element */
32
+ blur: () => void; /** @description close suggestion */
33
+ close: () => void; /** @description highlight an item in a suggestion */
34
+ highlight: (index: number) => void; /** @description loading suggestion list */
35
+ getData: (queryString: string) => Promise<void>;
36
+ }>) => void;
37
+ attrs: any;
38
+ slots: {
39
+ prepend?: (props: {}) => any;
40
+ } & {
41
+ append?: (props: {}) => any;
42
+ } & {
43
+ prefix?: (props: {}) => any;
44
+ } & {
45
+ suffix?: (props: {}) => any;
46
+ } & {
47
+ header?: (props: {}) => any;
48
+ } & {
49
+ loading?: (props: {}) => any;
50
+ } & {
51
+ default?: (props: {
52
+ item: T;
53
+ }) => any;
54
+ } & {
55
+ footer?: (props: {}) => any;
88
56
  };
57
+ emit: ((event: "blur", evt: FocusEvent) => void) & ((event: "focus", evt: FocusEvent) => void) & ((event: "select", item: Record<string, any>) => void) & ((event: "update:modelValue", value: string | number) => void) & ((event: "clear") => void) & ((event: "change", value: string | number) => void) & ((event: "input", value: string | number) => void);
58
+ }>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
59
+ [key: string]: any;
60
+ }> & {
61
+ __ctx?: Awaited<typeof __VLS_setup>;
89
62
  };
63
+ declare const _default: typeof __VLS_export;
64
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
90
65
  //#endregion
91
66
  export { _default };
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.vue_vue_type_script_setup_true_lang.js","names":["$slots","$attrs"],"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 :popper-style=\"popperStyle\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\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=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\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 <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\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 v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, {\n inputProps,\n inputPropsDefaults,\n} 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 } from './autocomplete'\n\nimport type { AutocompleteData, AutocompleteProps } from './autocomplete'\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 = withDefaults(defineProps<AutocompleteProps>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n})\nconst emit = defineEmits(autocompleteEmits)\n\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\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}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, 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 | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\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 (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\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 if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\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 = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\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 return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.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"],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete.vue_vue_type_script_setup_true_lang.js","names":["$slots","$attrs"],"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 :popper-style=\"popperStyle\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\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=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\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 <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\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 v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script\n lang=\"ts\"\n setup\n generic=\"T extends AutocompleteDataItem = AutocompleteDataItem\"\n>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, {\n inputProps,\n inputPropsDefaults,\n} 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 } from './autocomplete'\n\nimport type {\n AutocompleteData,\n AutocompleteDataItem,\n AutocompleteProps,\n} from './autocomplete'\nimport type { Ref, 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 = withDefaults(defineProps<AutocompleteProps<T>>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\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([]) as Ref<AutocompleteData<T>>\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<T>) => {\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}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, 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 | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\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 (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\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: T) => {\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 if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\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 = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\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 return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete2.js","names":[],"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 :popper-style=\"popperStyle\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\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=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\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 <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\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 v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, {\n inputProps,\n inputPropsDefaults,\n} 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 } from './autocomplete'\n\nimport type { AutocompleteData, AutocompleteProps } from './autocomplete'\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 = withDefaults(defineProps<AutocompleteProps>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n})\nconst emit = defineEmits(autocompleteEmits)\n\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\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}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, 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 | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\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 (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\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 if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\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 = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\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 return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.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"],"mappings":""}
1
+ {"version":3,"file":"autocomplete2.js","names":[],"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 :popper-style=\"popperStyle\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\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=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\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 <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\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 v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script\n lang=\"ts\"\n setup\n generic=\"T extends AutocompleteDataItem = AutocompleteDataItem\"\n>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, {\n inputProps,\n inputPropsDefaults,\n} 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 } from './autocomplete'\n\nimport type {\n AutocompleteData,\n AutocompleteDataItem,\n AutocompleteProps,\n} from './autocomplete'\nimport type { Ref, 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 = withDefaults(defineProps<AutocompleteProps<T>>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\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([]) as Ref<AutocompleteData<T>>\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<T>) => {\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}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, 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 | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\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 (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\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: T) => {\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 if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\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 = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\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 return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.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"],"mappings":""}
@@ -19,7 +19,7 @@ declare const avatarGroupProps: {
19
19
  * @description control the shape of avatars in this avatar-group
20
20
  */
21
21
  readonly shape: {
22
- readonly type: vue.PropType<"square" | "circle" | undefined>;
22
+ readonly type: vue.PropType<"circle" | "square" | undefined>;
23
23
  readonly values: readonly ["circle", "square"];
24
24
  };
25
25
  /**
@@ -14,7 +14,7 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
14
14
  readonly validator: (val: unknown) => val is number;
15
15
  };
16
16
  readonly shape: {
17
- readonly type: vue.PropType<"square" | "circle" | undefined>;
17
+ readonly type: vue.PropType<"circle" | "square" | undefined>;
18
18
  readonly values: readonly ["circle", "square"];
19
19
  };
20
20
  readonly collapseAvatars: BooleanConstructor;
@@ -151,7 +151,7 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
151
151
  readonly validator: (val: unknown) => val is number;
152
152
  };
153
153
  readonly shape: {
154
- readonly type: vue.PropType<"square" | "circle" | undefined>;
154
+ readonly type: vue.PropType<"circle" | "square" | undefined>;
155
155
  readonly values: readonly ["circle", "square"];
156
156
  };
157
157
  readonly collapseAvatars: BooleanConstructor;
@@ -282,8 +282,8 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
282
282
  readonly type: vue.PropType<vue.StyleValue>;
283
283
  };
284
284
  }>> & Readonly<{}>, {
285
- readonly effect: PopperEffect;
286
285
  readonly placement: Placement;
286
+ readonly effect: PopperEffect;
287
287
  readonly collapseAvatars: boolean;
288
288
  readonly collapseAvatarsTooltip: boolean;
289
289
  readonly maxCollapseAvatars: number;
@@ -49,7 +49,7 @@ declare const avatarProps: {
49
49
  __epPropKey: true;
50
50
  };
51
51
  readonly shape: {
52
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "square" | "circle", unknown>>;
52
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "circle" | "square", unknown>>;
53
53
  readonly required: false;
54
54
  readonly validator: ((val: unknown) => boolean) | undefined;
55
55
  __epPropKey: true;
@@ -63,7 +63,7 @@ declare const avatarProps: {
63
63
  readonly src: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
64
64
  readonly alt: StringConstructor;
65
65
  readonly srcSet: StringConstructor;
66
- readonly fit: EpPropFinalized<(new (...args: any[]) => "fill" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "none" | "contain" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined) | (((new (...args: any[]) => "fill" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "none" | "contain" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined)) | null)[], unknown, unknown, "cover", boolean>;
66
+ readonly fit: EpPropFinalized<(new (...args: any[]) => "fill" | "none" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "contain" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined) | (((new (...args: any[]) => "fill" | "none" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "contain" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined)) | null)[], unknown, unknown, "cover", boolean>;
67
67
  };
68
68
  /**
69
69
  * @deprecated Removed after 3.0.0, Use `AvatarProps` instead.
@@ -11,9 +11,9 @@ declare const __VLS_base: vue.DefineComponent<BacktopProps, {}, {}, {}, {}, vue.
11
11
  }, string, vue.PublicProps, Readonly<BacktopProps> & Readonly<{
12
12
  onClick?: ((evt: MouseEvent) => any) | undefined;
13
13
  }>, {
14
- target: string;
15
14
  bottom: number;
16
15
  right: number;
16
+ target: string;
17
17
  visibilityHeight: number;
18
18
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
19
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -54,7 +54,7 @@ declare const badgeProps: {
54
54
  readonly max: EpPropFinalized<NumberConstructor, unknown, unknown, 99, boolean>;
55
55
  readonly isDot: BooleanConstructor;
56
56
  readonly hidden: BooleanConstructor;
57
- readonly type: EpPropFinalized<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown, "danger", boolean>;
57
+ readonly type: EpPropFinalized<StringConstructor, "danger" | "primary" | "success" | "warning" | "info", unknown, "danger", boolean>;
58
58
  readonly showZero: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
59
59
  readonly color: StringConstructor;
60
60
  readonly badgeStyle: {