@element-plus/nightly 0.0.20260420 → 0.0.20260422

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 (644) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +29 -16
  3. package/dist/index.full.min.js +5 -5
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +7 -7
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +29 -16
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/affix/src/affix.d.ts +1 -1
  277. package/es/components/affix/src/affix.vue.d.ts +1 -1
  278. package/es/components/alert/src/alert.d.ts +1 -1
  279. package/es/components/alert/src/alert.vue.d.ts +2 -2
  280. package/es/components/anchor/src/anchor.vue.d.ts +1 -1
  281. package/es/components/autocomplete/src/autocomplete.d.ts +15 -5
  282. package/es/components/autocomplete/src/autocomplete.mjs +5 -0
  283. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  284. package/es/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  285. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs +4 -0
  286. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  287. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  288. package/es/components/avatar/src/avatar-group-props.d.ts +1 -1
  289. package/es/components/avatar/src/avatar-group.d.ts +3 -3
  290. package/es/components/avatar/src/avatar.d.ts +2 -2
  291. package/es/components/avatar/src/avatar.vue.d.ts +1 -1
  292. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  293. package/es/components/badge/src/badge.d.ts +1 -1
  294. package/es/components/badge/src/badge.vue.d.ts +2 -2
  295. package/es/components/button/src/button-group.vue.d.ts +1 -1
  296. package/es/components/button/src/button.d.ts +2 -2
  297. package/es/components/button/src/button.vue.d.ts +5 -5
  298. package/es/components/card/src/card.d.ts +1 -1
  299. package/es/components/carousel/src/carousel.d.ts +1 -1
  300. package/es/components/carousel/src/carousel.vue.d.ts +2 -2
  301. package/es/components/cascader/src/cascader.d.ts +4 -4
  302. package/es/components/cascader/src/cascader.vue.d.ts +17 -17
  303. package/es/components/cascader-panel/src/index.vue.d.ts +1 -1
  304. package/es/components/check-tag/src/check-tag.d.ts +1 -1
  305. package/es/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  306. package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
  307. package/es/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  308. package/es/components/checkbox/src/checkbox.d.ts +9 -9
  309. package/es/components/checkbox/src/checkbox.vue.d.ts +4 -4
  310. package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  311. package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  312. package/es/components/col/src/col.vue.d.ts +2 -2
  313. package/es/components/collapse/src/collapse-item.vue.d.ts +1 -1
  314. package/es/components/color-picker/src/color-picker.d.ts +1 -1
  315. package/es/components/color-picker/src/color-picker.vue.d.ts +5 -5
  316. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +2 -2
  317. package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
  318. package/es/components/config-provider/src/config-provider.d.ts +2 -2
  319. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  320. package/es/components/countdown/src/countdown.vue.d.ts +1 -1
  321. package/es/components/date-picker/src/date-picker.d.ts +15 -15
  322. package/es/components/date-picker/src/props.d.ts +2 -2
  323. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +3 -3
  324. package/es/components/descriptions/src/description-item.d.ts +12 -12
  325. package/es/components/descriptions/src/description.d.ts +1 -1
  326. package/es/components/descriptions/src/description.vue.d.ts +1 -1
  327. package/es/components/dialog/src/dialog.vue.d.ts +1 -1
  328. package/es/components/divider/src/divider.vue.d.ts +1 -1
  329. package/es/components/drawer/src/drawer.vue.d.ts +2 -2
  330. package/es/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  331. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  332. package/es/components/dropdown/src/dropdown.d.ts +3 -3
  333. package/es/components/dropdown/src/dropdown.vue.d.ts +99 -99
  334. package/es/components/form/src/form-item.d.ts +3 -3
  335. package/es/components/form/src/form-item.vue.d.ts +3 -3
  336. package/es/components/form/src/form.d.ts +3 -3
  337. package/es/components/form/src/form.vue.d.ts +1 -1
  338. package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  339. package/es/components/image/src/image.d.ts +1 -1
  340. package/es/components/image/src/image.vue.d.ts +4 -4
  341. package/es/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
  342. package/es/components/input/src/input.d.ts +3 -3
  343. package/es/components/input/src/input.vue.d.ts +12 -12
  344. package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs +13 -3
  345. package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  346. package/es/components/input/src/input2.mjs.map +1 -1
  347. package/es/components/input-number/src/input-number.d.ts +2 -2
  348. package/es/components/input-number/src/input-number.vue.d.ts +7 -7
  349. package/es/components/input-otp/src/input-otp.vue.d.ts +2 -2
  350. package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  351. package/es/components/input-tag/src/input-tag.d.ts +2 -2
  352. package/es/components/input-tag/src/input-tag.vue.d.ts +13 -13
  353. package/es/components/link/src/link.d.ts +2 -2
  354. package/es/components/mention/src/mention.d.ts +4 -4
  355. package/es/components/mention/src/mention.vue.d.ts +4 -4
  356. package/es/components/menu/src/menu.d.ts +1 -1
  357. package/es/components/message/src/message.d.ts +2 -2
  358. package/es/components/message/src/message.vue.d.ts +5 -5
  359. package/es/components/notification/src/notification.d.ts +2 -2
  360. package/es/components/notification/src/notification.vue.d.ts +2 -2
  361. package/es/components/pagination/src/pagination.d.ts +5 -5
  362. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  363. package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  364. package/es/components/popover/src/popover.d.ts +2 -2
  365. package/es/components/popover/src/popover.vue.d.ts +15 -15
  366. package/es/components/popper/src/composables/use-content.d.ts +4 -4
  367. package/es/components/popper/src/content.d.ts +4 -4
  368. package/es/components/popper/src/content.vue.d.ts +16 -16
  369. package/es/components/popper/src/popper.d.ts +2 -2
  370. package/es/components/progress/src/progress.d.ts +1 -1
  371. package/es/components/progress/src/progress.vue.d.ts +4 -4
  372. package/es/components/radio/src/radio-button.d.ts +4 -4
  373. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  374. package/es/components/radio/src/radio-group.d.ts +2 -2
  375. package/es/components/radio/src/radio-group.vue.d.ts +3 -3
  376. package/es/components/radio/src/radio.d.ts +8 -8
  377. package/es/components/radio/src/radio.vue.d.ts +3 -3
  378. package/es/components/rate/src/rate.d.ts +1 -1
  379. package/es/components/rate/src/rate.vue.d.ts +1 -1
  380. package/es/components/result/src/result.d.ts +1 -1
  381. package/es/components/result/src/result.vue.d.ts +1 -1
  382. package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  383. package/es/components/row/src/row.d.ts +1 -1
  384. package/es/components/row/src/row.vue.d.ts +1 -1
  385. package/es/components/scrollbar/src/scrollbar.vue.d.ts +4 -4
  386. package/es/components/segmented/index.d.ts +1 -1
  387. package/es/components/segmented/src/segmented.d.ts +2 -2
  388. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs +4 -0
  389. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  390. package/es/components/segmented/src/segmented2.mjs.map +1 -1
  391. package/es/components/select/src/option.d.ts +2 -2
  392. package/es/components/select/src/option.vue.d.ts +5 -5
  393. package/es/components/select/src/select.d.ts +7 -7
  394. package/es/components/select/src/select.mjs.map +1 -1
  395. package/es/components/select/src/select.vue.d.ts +143 -124
  396. package/es/components/select/src/select.vue_vue_type_script_lang.mjs +2 -13
  397. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  398. package/es/components/select/src/select2.mjs.map +1 -1
  399. package/es/components/select-v2/src/defaults.d.ts +4 -4
  400. package/es/components/select-v2/src/select.vue.d.ts +94 -94
  401. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  402. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  403. package/es/components/slider/src/button.vue.d.ts +1 -1
  404. package/es/components/slider/src/slider.d.ts +2 -2
  405. package/es/components/slider/src/slider.vue.d.ts +8 -8
  406. package/es/components/space/src/space.d.ts +3 -3
  407. package/es/components/steps/src/item.d.ts +1 -1
  408. package/es/components/steps/src/item.vue.d.ts +1 -1
  409. package/es/components/steps/src/steps.d.ts +2 -2
  410. package/es/components/switch/src/switch.d.ts +1 -1
  411. package/es/components/switch/src/switch.vue.d.ts +2 -2
  412. package/es/components/table/src/table-column/index.d.ts +19 -19
  413. package/es/components/table/src/table-header/index.d.ts +12 -12
  414. package/es/components/table/src/table.vue.d.ts +48 -48
  415. package/es/components/table-v2/src/components/row.d.ts +1 -1
  416. package/es/components/table-v2/src/table-grid.d.ts +3 -3
  417. package/es/components/table-v2/src/table-v2.d.ts +3 -3
  418. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  419. package/es/components/tabs/src/tabs.d.ts +6 -6
  420. package/es/components/tag/src/tag.d.ts +2 -2
  421. package/es/components/tag/src/tag.vue.d.ts +1 -1
  422. package/es/components/text/src/text.d.ts +2 -2
  423. package/es/components/time-picker/src/common/picker.vue.d.ts +17 -17
  424. package/es/components/time-picker/src/common/props.d.ts +2 -2
  425. package/es/components/time-picker/src/time-picker.d.ts +15 -15
  426. package/es/components/time-select/src/time-select.d.ts +1 -1
  427. package/es/components/time-select/src/time-select.vue.d.ts +5 -5
  428. package/es/components/timeline/src/timeline-item.d.ts +3 -3
  429. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  430. package/es/components/tooltip/src/content.d.ts +1 -1
  431. package/es/components/tooltip/src/content.vue.d.ts +16 -16
  432. package/es/components/tooltip/src/tooltip.d.ts +3 -3
  433. package/es/components/tooltip/src/tooltip.vue.d.ts +18 -18
  434. package/es/components/tooltip/src/trigger.d.ts +1 -1
  435. package/es/components/tour/src/content.d.ts +2 -2
  436. package/es/components/tour/src/step.d.ts +1 -1
  437. package/es/components/tour/src/step.vue.d.ts +1 -1
  438. package/es/components/tour/src/tour.d.ts +1 -1
  439. package/es/components/tour/src/tour.vue.d.ts +2 -2
  440. package/es/components/tree/src/tree.vue.d.ts +18 -18
  441. package/es/components/tree-select/src/tree-select.vue.d.ts +43 -43
  442. package/es/components/tree-v2/src/tree.vue.d.ts +4 -4
  443. package/es/components/upload/src/upload-content.d.ts +1 -1
  444. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  445. package/es/components/upload/src/upload-list.d.ts +1 -1
  446. package/es/components/upload/src/upload.d.ts +2 -2
  447. package/es/components/upload/src/upload.vue.d.ts +2 -2
  448. package/es/components/virtual-list/src/builders/build-grid.d.ts +3 -3
  449. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
  450. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +4 -4
  451. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
  452. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +4 -4
  453. package/es/hooks/use-floating/index.d.ts +8 -8
  454. package/es/hooks/use-popper/index.d.ts +4 -4
  455. package/es/hooks/use-size/index.d.ts +3 -3
  456. package/es/utils/vue/vnode.d.ts +4 -4
  457. package/es/version.mjs +1 -1
  458. package/es/version.mjs.map +1 -1
  459. package/lib/components/affix/src/affix.d.ts +1 -1
  460. package/lib/components/affix/src/affix.vue.d.ts +1 -1
  461. package/lib/components/alert/src/alert.d.ts +1 -1
  462. package/lib/components/alert/src/alert.vue.d.ts +2 -2
  463. package/lib/components/anchor/src/anchor.vue.d.ts +1 -1
  464. package/lib/components/autocomplete/src/autocomplete.d.ts +15 -5
  465. package/lib/components/autocomplete/src/autocomplete.js +5 -0
  466. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  467. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  468. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js +4 -0
  469. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  470. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  471. package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
  472. package/lib/components/avatar/src/avatar-group.d.ts +3 -3
  473. package/lib/components/avatar/src/avatar.d.ts +2 -2
  474. package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
  475. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  476. package/lib/components/badge/src/badge.d.ts +1 -1
  477. package/lib/components/badge/src/badge.vue.d.ts +2 -2
  478. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  479. package/lib/components/button/src/button.d.ts +2 -2
  480. package/lib/components/button/src/button.vue.d.ts +5 -5
  481. package/lib/components/card/src/card.d.ts +1 -1
  482. package/lib/components/carousel/src/carousel.d.ts +1 -1
  483. package/lib/components/carousel/src/carousel.vue.d.ts +2 -2
  484. package/lib/components/cascader/src/cascader.d.ts +4 -4
  485. package/lib/components/cascader/src/cascader.vue.d.ts +17 -17
  486. package/lib/components/cascader-panel/src/index.vue.d.ts +1 -1
  487. package/lib/components/check-tag/src/check-tag.d.ts +1 -1
  488. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  489. package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
  490. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  491. package/lib/components/checkbox/src/checkbox.d.ts +9 -9
  492. package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -4
  493. package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  494. package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  495. package/lib/components/col/src/col.vue.d.ts +2 -2
  496. package/lib/components/collapse/src/collapse-item.vue.d.ts +1 -1
  497. package/lib/components/color-picker/src/color-picker.d.ts +1 -1
  498. package/lib/components/color-picker/src/color-picker.vue.d.ts +5 -5
  499. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +2 -2
  500. package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
  501. package/lib/components/config-provider/src/config-provider.d.ts +2 -2
  502. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  503. package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
  504. package/lib/components/date-picker/src/date-picker.d.ts +15 -15
  505. package/lib/components/date-picker/src/props.d.ts +2 -2
  506. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +3 -3
  507. package/lib/components/descriptions/src/description-item.d.ts +12 -12
  508. package/lib/components/descriptions/src/description.d.ts +1 -1
  509. package/lib/components/descriptions/src/description.vue.d.ts +1 -1
  510. package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
  511. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  512. package/lib/components/drawer/src/drawer.vue.d.ts +2 -2
  513. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  514. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  515. package/lib/components/dropdown/src/dropdown.d.ts +3 -3
  516. package/lib/components/dropdown/src/dropdown.vue.d.ts +99 -99
  517. package/lib/components/form/src/form-item.d.ts +3 -3
  518. package/lib/components/form/src/form-item.vue.d.ts +3 -3
  519. package/lib/components/form/src/form.d.ts +3 -3
  520. package/lib/components/form/src/form.vue.d.ts +1 -1
  521. package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  522. package/lib/components/image/src/image.d.ts +1 -1
  523. package/lib/components/image/src/image.vue.d.ts +4 -4
  524. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
  525. package/lib/components/input/src/input.d.ts +3 -3
  526. package/lib/components/input/src/input.vue.d.ts +12 -12
  527. package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js +13 -3
  528. package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js.map +1 -1
  529. package/lib/components/input/src/input2.js.map +1 -1
  530. package/lib/components/input-number/src/input-number.d.ts +2 -2
  531. package/lib/components/input-number/src/input-number.vue.d.ts +7 -7
  532. package/lib/components/input-otp/src/input-otp.vue.d.ts +2 -2
  533. package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  534. package/lib/components/input-tag/src/input-tag.d.ts +2 -2
  535. package/lib/components/input-tag/src/input-tag.vue.d.ts +13 -13
  536. package/lib/components/link/src/link.d.ts +2 -2
  537. package/lib/components/mention/src/mention.d.ts +4 -4
  538. package/lib/components/mention/src/mention.vue.d.ts +4 -4
  539. package/lib/components/menu/src/menu.d.ts +1 -1
  540. package/lib/components/message/src/message.d.ts +2 -2
  541. package/lib/components/message/src/message.vue.d.ts +5 -5
  542. package/lib/components/notification/src/notification.d.ts +2 -2
  543. package/lib/components/notification/src/notification.vue.d.ts +2 -2
  544. package/lib/components/pagination/src/pagination.d.ts +5 -5
  545. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  546. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  547. package/lib/components/popover/src/popover.d.ts +2 -2
  548. package/lib/components/popover/src/popover.vue.d.ts +15 -15
  549. package/lib/components/popper/src/composables/use-content.d.ts +4 -4
  550. package/lib/components/popper/src/content.d.ts +4 -4
  551. package/lib/components/popper/src/content.vue.d.ts +16 -16
  552. package/lib/components/popper/src/popper.d.ts +2 -2
  553. package/lib/components/progress/src/progress.d.ts +1 -1
  554. package/lib/components/progress/src/progress.vue.d.ts +4 -4
  555. package/lib/components/radio/src/radio-button.d.ts +4 -4
  556. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  557. package/lib/components/radio/src/radio-group.d.ts +2 -2
  558. package/lib/components/radio/src/radio-group.vue.d.ts +3 -3
  559. package/lib/components/radio/src/radio.d.ts +8 -8
  560. package/lib/components/radio/src/radio.vue.d.ts +3 -3
  561. package/lib/components/rate/src/rate.d.ts +1 -1
  562. package/lib/components/rate/src/rate.vue.d.ts +1 -1
  563. package/lib/components/result/src/result.d.ts +1 -1
  564. package/lib/components/result/src/result.vue.d.ts +1 -1
  565. package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  566. package/lib/components/row/src/row.d.ts +1 -1
  567. package/lib/components/row/src/row.vue.d.ts +1 -1
  568. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +4 -4
  569. package/lib/components/segmented/index.d.ts +1 -1
  570. package/lib/components/segmented/src/segmented.d.ts +2 -2
  571. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js +4 -0
  572. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
  573. package/lib/components/segmented/src/segmented2.js.map +1 -1
  574. package/lib/components/select/src/option.d.ts +2 -2
  575. package/lib/components/select/src/option.vue.d.ts +5 -5
  576. package/lib/components/select/src/select.d.ts +7 -7
  577. package/lib/components/select/src/select.js.map +1 -1
  578. package/lib/components/select/src/select.vue.d.ts +143 -124
  579. package/lib/components/select/src/select.vue_vue_type_script_lang.js +1 -12
  580. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  581. package/lib/components/select/src/select2.js.map +1 -1
  582. package/lib/components/select-v2/src/defaults.d.ts +4 -4
  583. package/lib/components/select-v2/src/select.vue.d.ts +94 -94
  584. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  585. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  586. package/lib/components/slider/src/button.vue.d.ts +1 -1
  587. package/lib/components/slider/src/slider.d.ts +2 -2
  588. package/lib/components/slider/src/slider.vue.d.ts +8 -8
  589. package/lib/components/space/src/space.d.ts +3 -3
  590. package/lib/components/steps/src/item.d.ts +1 -1
  591. package/lib/components/steps/src/item.vue.d.ts +1 -1
  592. package/lib/components/steps/src/steps.d.ts +2 -2
  593. package/lib/components/switch/src/switch.d.ts +1 -1
  594. package/lib/components/switch/src/switch.vue.d.ts +2 -2
  595. package/lib/components/table/src/table-column/index.d.ts +19 -19
  596. package/lib/components/table/src/table-header/index.d.ts +12 -12
  597. package/lib/components/table/src/table.vue.d.ts +48 -48
  598. package/lib/components/table-v2/src/components/row.d.ts +1 -1
  599. package/lib/components/table-v2/src/table-grid.d.ts +3 -3
  600. package/lib/components/table-v2/src/table-v2.d.ts +3 -3
  601. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  602. package/lib/components/tabs/src/tabs.d.ts +6 -6
  603. package/lib/components/tag/src/tag.d.ts +2 -2
  604. package/lib/components/tag/src/tag.vue.d.ts +1 -1
  605. package/lib/components/text/src/text.d.ts +2 -2
  606. package/lib/components/time-picker/src/common/picker.vue.d.ts +17 -17
  607. package/lib/components/time-picker/src/common/props.d.ts +2 -2
  608. package/lib/components/time-picker/src/time-picker.d.ts +15 -15
  609. package/lib/components/time-select/src/time-select.d.ts +1 -1
  610. package/lib/components/time-select/src/time-select.vue.d.ts +5 -5
  611. package/lib/components/timeline/src/timeline-item.d.ts +3 -3
  612. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  613. package/lib/components/tooltip/src/content.d.ts +1 -1
  614. package/lib/components/tooltip/src/content.vue.d.ts +16 -16
  615. package/lib/components/tooltip/src/tooltip.d.ts +3 -3
  616. package/lib/components/tooltip/src/tooltip.vue.d.ts +18 -18
  617. package/lib/components/tooltip/src/trigger.d.ts +1 -1
  618. package/lib/components/tour/src/content.d.ts +2 -2
  619. package/lib/components/tour/src/step.d.ts +1 -1
  620. package/lib/components/tour/src/step.vue.d.ts +1 -1
  621. package/lib/components/tour/src/tour.d.ts +1 -1
  622. package/lib/components/tour/src/tour.vue.d.ts +2 -2
  623. package/lib/components/tree/src/tree.vue.d.ts +18 -18
  624. package/lib/components/tree-select/src/tree-select.vue.d.ts +43 -43
  625. package/lib/components/tree-v2/src/tree.vue.d.ts +4 -4
  626. package/lib/components/upload/src/upload-content.d.ts +1 -1
  627. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  628. package/lib/components/upload/src/upload-list.d.ts +1 -1
  629. package/lib/components/upload/src/upload.d.ts +2 -2
  630. package/lib/components/upload/src/upload.vue.d.ts +2 -2
  631. package/lib/components/virtual-list/src/builders/build-grid.d.ts +3 -3
  632. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
  633. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +4 -4
  634. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
  635. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +4 -4
  636. package/lib/hooks/use-floating/index.d.ts +8 -8
  637. package/lib/hooks/use-popper/index.d.ts +4 -4
  638. package/lib/hooks/use-size/index.d.ts +3 -3
  639. package/lib/utils/vue/vnode.d.ts +4 -4
  640. package/lib/version.js +1 -1
  641. package/lib/version.js.map +1 -1
  642. package/package.json +2 -2
  643. package/tags.json +1 -1
  644. package/web-types.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { EpPropFinalized, EpPropMergeType } from "../../../utils/vue/props/types.js";
2
2
  import { Awaitable, Mutable } from "../../../utils/typescript.js";
3
3
  import "../../../utils/index.js";
4
- import { Placement } from "../../popper/index.js";
4
+ import { Options, Placement } from "../../popper/index.js";
5
5
  import { InputAutoSize, InputModelModifiers, InputProps, InputType } from "../../input/src/input.js";
6
6
  import "../../input/index.js";
7
7
  import { ElTooltipContentProps } from "../../tooltip/src/content.js";
@@ -47,6 +47,14 @@ interface AutocompleteProps<T extends AutocompleteDataItem = AutocompleteDataIte
47
47
  * @description custom style for autocomplete's dropdown
48
48
  */
49
49
  popperStyle?: ElTooltipContentProps['popperStyle'];
50
+ /**
51
+ * @description [popper.js](https://popper.js.org/docs/v2/) parameters
52
+ */
53
+ popperOptions?: Partial<Options>;
54
+ /**
55
+ * @description determines whether the arrow is displayed
56
+ */
57
+ showArrow?: boolean;
50
58
  /**
51
59
  * @description whether show suggestions when input focus
52
60
  */
@@ -87,7 +95,7 @@ declare const autocompleteProps: {
87
95
  readonly valueKey: EpPropFinalized<StringConstructor, unknown, unknown, "value", boolean>;
88
96
  readonly modelValue: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
89
97
  readonly debounce: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
90
- readonly placement: EpPropFinalized<(new (...args: any[]) => "right" | "left" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "right" | "left" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "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>;
98
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], "bottom-start" | "bottom" | "top" | "top-start" | "top-end" | "bottom-end", unknown, "bottom-start", boolean>;
91
99
  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>;
92
100
  readonly popperClass: {
93
101
  readonly type: vue.PropType<EpPropMergeType<(new (...args: any[]) => string | {
@@ -197,6 +205,8 @@ declare const autocompleteProps: {
197
205
  readonly validator: ((val: unknown) => boolean) | undefined;
198
206
  __epPropKey: true;
199
207
  };
208
+ readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
209
+ readonly showArrow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
200
210
  readonly triggerOnFocus: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
201
211
  readonly selectWhenUnmatched: BooleanConstructor;
202
212
  readonly hideLoading: BooleanConstructor;
@@ -210,12 +220,12 @@ declare const autocompleteProps: {
210
220
  readonly highlightFirstItem: BooleanConstructor;
211
221
  readonly fitInputWidth: BooleanConstructor;
212
222
  readonly loopNavigation: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
213
- readonly inputmode: EpPropFinalized<(new (...args: any[]) => "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal") | (() => "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal") | (() => "search" | "none" | "text" | "email" | "tel" | "url" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
223
+ readonly inputmode: EpPropFinalized<(new (...args: any[]) => "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "text" | "none" | "search" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
214
224
  readonly name: StringConstructor;
215
225
  readonly ariaLabel: StringConstructor;
216
226
  readonly id: EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
217
227
  readonly size: {
218
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
228
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
219
229
  readonly required: false;
220
230
  readonly validator: ((val: unknown) => boolean) | undefined;
221
231
  __epPropKey: true;
@@ -236,7 +246,7 @@ declare const autocompleteProps: {
236
246
  };
237
247
  readonly type: EpPropFinalized<(new (...args: any[]) => string) | (() => InputType) | (((new (...args: any[]) => string) | (() => InputType)) | null)[], unknown, unknown, "text", boolean>;
238
248
  readonly resize: {
239
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "horizontal" | "vertical" | "none" | "both", unknown>>;
249
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>>;
240
250
  readonly required: false;
241
251
  readonly validator: ((val: unknown) => boolean) | undefined;
242
252
  __epPropKey: true;
@@ -43,6 +43,11 @@ const autocompleteProps = require_runtime$1.buildProps({
43
43
  },
44
44
  popperClass: require_content.useTooltipContentProps.popperClass,
45
45
  popperStyle: require_content.useTooltipContentProps.popperStyle,
46
+ popperOptions: require_content.useTooltipContentProps.popperOptions,
47
+ showArrow: {
48
+ type: Boolean,
49
+ default: true
50
+ },
46
51
  triggerOnFocus: {
47
52
  type: Boolean,
48
53
  default: true
@@ -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 { 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
+ {"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 { Options, 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 [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions?: Partial<Options>\n /**\n * @description determines whether the arrow is displayed\n */\n showArrow?: boolean\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 [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: useTooltipContentProps.popperOptions,\n /**\n * @description determines whether the arrow is displayed\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether show suggestions when input focus\n */\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to emit a `select` event on enter when there is no autocomplete match\n */\n selectWhenUnmatched: 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":";;;;;;;;;;;;;AA4HA,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,eAAeA,uCAAuB;CAItC,WAAW;EACT,MAAM;EACN,SAAS;EACV;CAID,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"}
@@ -11,11 +11,11 @@ declare const __VLS_export: <T extends AutocompleteDataItem = AutocompleteDataIt
11
11
  props: vue.PublicProps & __VLS_PrettifyLocal<AutocompleteProps<T> & {
12
12
  "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
13
13
  onChange?: ((value: string | number) => any) | undefined;
14
+ onFocus?: ((evt: FocusEvent) => any) | undefined;
15
+ onBlur?: ((evt: FocusEvent) => any) | undefined;
14
16
  onClear?: (() => any) | undefined;
15
17
  onInput?: ((value: string | number) => any) | undefined;
16
18
  onSelect?: ((item: Record<string, any>) => any) | undefined;
17
- onFocus?: ((evt: FocusEvent) => any) | undefined;
18
- onBlur?: ((evt: FocusEvent) => any) | undefined;
19
19
  }> & (typeof globalThis extends {
20
20
  __VLS_PROPS_FALLBACK: infer P;
21
21
  } ? P : {});
@@ -54,7 +54,7 @@ declare const __VLS_export: <T extends AutocompleteDataItem = AutocompleteDataIt
54
54
  } & {
55
55
  footer?: (props: {}) => any;
56
56
  };
57
- emit: ((event: "update:modelValue", value: string | number) => void) & ((event: "change", value: string | number) => void) & ((event: "clear") => void) & ((event: "select", item: Record<string, any>) => void) & ((event: "focus", evt: FocusEvent) => void) & ((event: "blur", evt: FocusEvent) => void) & ((event: "input", value: string | number) => void);
57
+ emit: ((event: "update:modelValue", value: string | number) => void) & ((event: "change", value: string | number) => void) & ((event: "focus", evt: FocusEvent) => void) & ((event: "blur", evt: FocusEvent) => void) & ((event: "clear") => void) & ((event: "select", item: Record<string, any>) => void) & ((event: "input", value: string | number) => void);
58
58
  }>) => vue.VNode & {
59
59
  __ctx?: Awaited<typeof __VLS_setup>;
60
60
  };
@@ -287,6 +287,8 @@ var autocomplete_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (
287
287
  "fallback-placements": ["bottom-start", "top-start"],
288
288
  "popper-class": [(0, vue.unref)(ns).e("popper"), __props.popperClass],
289
289
  "popper-style": __props.popperStyle,
290
+ "popper-options": __props.popperOptions,
291
+ "show-arrow": __props.showArrow,
290
292
  teleported: __props.teleported,
291
293
  "append-to": __props.appendTo,
292
294
  "gpu-acceleration": false,
@@ -397,6 +399,8 @@ var autocomplete_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (
397
399
  "placement",
398
400
  "popper-class",
399
401
  "popper-style",
402
+ "popper-options",
403
+ "show-arrow",
400
404
  "teleported",
401
405
  "append-to",
402
406
  "transition"
@@ -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\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, { inputPropsDefaults } 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(() => {\n const inputProps = ElInput.props ?? []\n const keys = isArray(inputProps) ? inputProps : Object.keys(inputProps)\n return pick(props, keys)\n})\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA0JA,MAAM,iBAAiB;;;;;;;;EAMvB,MAAM,QAAQ;EAWd,MAAM,OAAO;EACb,MAAM,yCAAgC;GACpC,MAAM,aAAa,wBAAQ,SAAS,EAAC;AAErC,mCAAY,gCADS,WAAW,GAAG,aAAa,OAAO,KAAK,WAAU,CAC/C;IACxB;EAED,MAAM,8BAAuB;EAC7B,MAAM,WAAW,+CAAgB;EACjC,MAAM,KAAK,2BAAa,eAAc;EAEtC,MAAM,yBAA8B;EACpC,MAAM,0BAA6B;EACnC,MAAM,0BAAiC;EACvC,MAAM,2BAA8B;EAEpC,IAAI,WAAW;EACf,IAAI,mBAAmB;EACvB,MAAM,2BAAkB,EAAE,CAAC;EAC3B,MAAM,gCAAuB,GAAE;EAC/B,MAAM,6BAAoB,GAAE;EAC5B,MAAM,yBAAgB,MAAK;EAC3B,MAAM,kCAAyB,MAAK;EACpC,MAAM,uBAAc,MAAK;EAEzB,MAAM,YAAY,uBAAM;EACxB,MAAM,iCAAwB,SAAS,MAAmB;EAE1D,MAAM,4CAAmC;AAEvC,WADoB,YAAY,MAAM,SAAS,KACxB,QAAQ,UAAU,UAAU;IACpD;EAED,MAAM,4CAAmC,CAAC,MAAM,eAAe,QAAQ,MAAK;EAE5E,MAAM,mCAA8C;AAClD,OAAI,SAAS,MACX,QAAO,MAAM,KACX,SAAS,MAAM,IAAI,iBAAiB,QAAO,CAC7C;AAEF,UAAO,EAAC;IACT;EAED,MAAM,yBAAyB;AAC7B,OAAI,kBAAkB,MACpB,eAAc,QAAQ,GAAG,SAAS,MAAO,IAAI,YAAY;;EAI7D,MAAM,eAAe;AACnB,oBAAiB,QAAQ;;EAG3B,MAAM,UAAU,OAAO,gBAAwB;AAC7C,OAAI,mBAAmB,MAAO;GAE9B,MAAM,MAAM,mBAAwC;AAClD,YAAQ,QAAQ;AAChB,QAAI,mBAAmB,MAAO;AAE9B,iCAAY,eAAe,EAAE;AAC3B,iBAAY,QAAQ;AACpB,sBAAiB,QAAQ,MAAM,qBAAqB,IAAI;UAExD,0BAAW,gBAAgB,4CAA2C;;AAI1E,WAAQ,QAAQ;AAChB,gCAAY,MAAM,iBAAiB,CACjC,IAAG,MAAM,iBAAgB;QACpB;IACL,MAAM,SAAS,MAAM,MAAM,iBAAiB,aAAa,GAAE;AAC3D,iCAAY,OAAO,CAAE,IAAG,OAAM;;;EAKlC,MAAM,mDAAiC,iCADP,MAAM,SAAQ,CACU;EAExD,MAAM,eAAe,UAAkB;GACrC,MAAM,iBAAiB,CAAC,CAAC;AAEzB,QAAK,2BAAa,MAAK;AACvB,QAAK,kCAAoB,MAAK;AAE9B,sBAAmB,QAAQ;AAC3B,aAAU,UAAU;AAEpB,OAAI,CAAC,MAAM,kBAAkB,CAAC,OAAO;AACnC,uBAAmB,QAAQ;AAC3B,gBAAY,QAAQ,EAAC;AACrB;;AAGF,oBAAiB,MAAK;;EAGxB,MAAM,mBAAmB,UAAsB;AAC7C,OAAI,SAAS,MAAO;AACpB,OACG,MAAM,QAAwB,YAAY,WAC3C,SAAS,MAAM,SAAS,SAAS,cAAiC,CAElE,WAAU,QAAQ;;EAItB,MAAM,gBAAgB,UAA2B;AAC/C,QAAK,4BAAc,MAAK;;EAG1B,MAAM,eAAe,QAAoB;AACvC,OAAI,CAAC,kBAAkB;AACrB,cAAU,QAAQ;AAClB,SAAK,SAAS,IAAG;IACjB,MAAM,cAAc,MAAM,cAAc;AACxC,QAAI,MAAM,kBAAkB,CAAC,SAC3B,kBAAiB,OAAO,YAAY,CAAA;SAGtC,oBAAmB;;EAIvB,MAAM,cAAc,QAAoB;AACtC,oBAAiB;AAGf,QAAI,UAAU,OAAO,sBAAsB,EAAE;AAC3C,wBAAmB;AACnB;;AAEF,cAAU,SAAS,OAAM;AACzB,SAAK,QAAQ,IAAG;KACjB;;EAGH,MAAM,oBAAoB;AACxB,aAAU,QAAQ;AAClB,QAAK,kCAAoB,GAAE;AAC3B,QAAK,QAAO;;EAGd,MAAM,iBAAiB,YAAY;AACjC,OAAI,SAAS,OAAO,YAClB;AAGF,OACE,kBAAkB,SAClB,iBAAiB,SAAS,KAC1B,iBAAiB,QAAQ,YAAY,MAAM,OAE3C,cAAa,YAAY,MAAM,iBAAiB,OAAM;QACjD;AACL,QAAI,MAAM,qBAAqB;AAC7B,UAAK,UAAU,EAAE,OAAO,MAAM,YAAY,CAAA;AAC1C,iBAAY,QAAQ,EAAC;AACrB,sBAAiB,QAAQ;;AAE3B,cAAU,QAAQ;AAClB,qBAAiB,OAAO,MAAM,WAAW,CAAA;;;EAI7C,MAAM,mBAAmB,QAAe;AACtC,OAAI,kBAAkB,OAAO;AAC3B,QAAI,gBAAe;AACnB,QAAI,iBAAgB;AACpB,WAAM;;;EAIV,MAAM,cAAc;AAClB,aAAU,QAAQ;;EAGpB,MAAM,cAAc;AAClB,YAAS,OAAO,OAAM;;EAGxB,MAAM,aAAa;AACjB,YAAS,OAAO,MAAK;;EAGvB,MAAM,eAAe,OAAO,SAAY;AACtC,QAAK,2BAAa,KAAK,MAAM,UAAS;AACtC,QAAK,kCAAoB,KAAK,MAAM,UAAS;AAC7C,QAAK,UAAU,KAAI;AACnB,eAAY,QAAQ,EAAC;AACrB,oBAAiB,QAAQ;;EAG3B,MAAM,aAAa,UAAkB;AACnC,OAAI,CAAC,kBAAkB,SAAS,QAAQ,MAAO;AAE/C,OAAI,QAAQ,GAAG;AACb,QAAI,CAAC,MAAM,gBAAgB;AACzB,sBAAiB,QAAQ;AACzB;;AAEF,YAAQ,YAAY,MAAM,SAAS;;AAGrC,OAAI,SAAS,YAAY,MAAM,OAC7B,SAAQ,MAAM,iBAAiB,IAAI,YAAY,MAAM,SAAS;GAEhE,MAAM,CAAC,YAAY,kBAAkB,sBAAqB;GAC1D,MAAM,gBAAgB,eAAe;GACrC,MAAM,YAAY,WAAW;GAC7B,MAAM,EAAE,WAAW,iBAAiB;AAEpC,OAAI,YAAY,eAAe,YAAY,WAAW,aACpD,YAAW,YAAY,YAAY,eAAe,WAAW;AAE/D,OAAI,YAAY,UACd,YAAW,YAAY;AAEzB,oBAAiB,QAAQ;AACzB,YAAS,OAAO,KAAK,aACnB,yBACA,GAAG,UAAU,MAAM,QAAQ,iBAAiB,QAC9C;;EAEF,MAAM,6BAA6B;GACjC,MAAM,aAAa,UAAU,MAAO,cAClC,IAAI,GAAG,GAAG,cAAc,OAAO,GAChC;AAID,UAAO,CAAC,YAHe,WAAW,iBAChC,IAAI,GAAG,GAAG,cAAc,OAAO,CAAC,KAClC,CACmC;;EAGrC,MAAM,8CAA4B,aAAa,UAAsB;AAEnE,OAAI,UAAU,OAAO,sBAAsB,CAAE;GAC7C,MAAM,kBAAkB;AACxB,sBAAmB;AACnB,OAAI,CAAC,kBAAkB,MAAO;AAC9B,OAAI,gBACF,YAAW,IAAI,WAAW,QAAQ,MAAM,CAAA;OAExC,QAAM;IAET;EAED,MAAM,iBAAiB,MAA6B;AAElD,WADa,6BAAa,EAAkB,EAC5C;IACE,KAAK,wBAAW;AACd,OAAE,gBAAe;AACjB,eAAU,iBAAiB,QAAQ,EAAC;AACpC;IACF,KAAK,wBAAW;AACd,OAAE,gBAAe;AACjB,eAAU,iBAAiB,QAAQ,EAAC;AACpC;IACF,KAAK,wBAAW;IAChB,KAAK,wBAAW;AACd,OAAE,gBAAe;AACjB,qBAAe;AACf;IACF,KAAK,wBAAW;AACd,YAAM;AACN;IACF,KAAK,wBAAW;AACd,qBAAgB,EAAC;AACjB;IACF,KAAK,wBAAW;AACd,OAAE,gBAAe;AACjB,eAAU,EAAC;AACX;IACF,KAAK,wBAAW;AACd,OAAE,gBAAe;AACjB,eAAU,YAAY,MAAM,SAAS,EAAC;AACtC;IACF,KAAK,wBAAW;AACd,OAAE,gBAAe;AACjB,eAAU,KAAK,IAAI,GAAG,iBAAiB,QAAQ,GAAG,CAAA;AAClD;IACF,KAAK,wBAAW;AACd,OAAE,gBAAe;AACjB,eACE,KAAK,IAAI,YAAY,MAAM,SAAS,GAAG,iBAAiB,QAAQ,GAAE,CACpE;AACA;;;AAIN,iCAAsB;AACpB,iBAAa;IACd;AAED,2BAAgB;GACd,MAAM,eAAe,SAAS,OAAO;AACrC,OAAI,CAAC,aAAc;AAClB;IACC;KAAE,KAAK;KAAQ,OAAO;KAAW;IACjC;KAAE,KAAK;KAAqB,OAAO;KAAQ;IAC3C;KAAE,KAAK;KAAiB,OAAO,UAAU;KAAO;IAChD;KACE,KAAK;KACL,OAAO,GAAG,UAAU,MAAM,QAAQ,iBAAiB;KACpD;IACF,CAAC,SAAS,EAAE,KAAK,YAAY,aAAa,aAAa,KAAK,MAAM,CAAA;AAEnE,cAAW,aAAa,aAAa,WAAU;IAChD;AAED,WAAa;GAEX;GAEA;GAEA;GAEA;GAEA;GAEA;GAEA;GAEA;GAEA;GAEA;GAEA;GAEA;GAEA;GACD,CAAA;;oEA/Yc,0BAAA,EAAA;aA7GP;IAAJ,KAAI;IACH,SAAS,kBAAA;IACT,WAAW,QAAA;IACX,uBAAqB,CAAA,gBAAA,YAA6B;IAClD,gBAAY,gBAAG,GAAE,CAAC,EAAC,SAAA,EAAY,QAAA,YAAW;IAC1C,gBAAc,QAAA;IACd,YAAY,QAAA;IACZ,aAAW,QAAA;IACX,oBAAkB;IACnB,MAAA;IACA,eAAA;IACA,QAAO;IACP,SAAQ;IACP,YAAU,kBAAK,GAAE,CAAC,UAAU,MAAK;IAClC,YAAA;IACA,MAAK;IACJ,cAAa;IACP;;IAsCI,gCAoDH,6BAAA,OAAA;cAlDA;KAAJ,KAAI;KACH,+BAAK,gBAAG,GAAE,CAAC,EAAC,aAAA,iBAAgB,GAAE,CAAC,GAAE,WAAY,kBAAA,MAAiB,CAAA,CAAA;KAC9D,+BAAK;OAAe,QAAA,gBAAa,UAAA,aAA0B,cAAA;;;KAI5D,MAAK;;KAGGA,KAAAA,OAAO,4DAKT,OAAA;;MAJH,8CAAO,GAAE,CAAC,GAAE,cAAA,SAAA,CAAA;MACZ,SAAK,OAAA,OAAA,OAAA,kCAAN,IAAW,CAAA,OAAA,CAAA;6BAEW,KAAA,QAAA,SAAA;yCA6BT,4BAAA,EAAA;MA1BZ,mBAAI,UAAS;MACd,KAAI;MACH,6BAAY,GAAE,CAAC,GAAE,cAAA,OAAA;MACjB,6BAAY,GAAE,CAAC,GAAE,cAAA,OAAA;MAClB,MAAK;;sCAQA,CANK,kBAAA,2DAML,MAAA,YAAA,qBADI,KAAA,QAAA,WAAA,EAAA,QAAA,qCADK,uBAAA,EAAA,EAFA,8CAAO,GAAE,CAAC,GAAE,UAAA,CAAA;uCACT,qCAAA,gCAAA,CAAA;;qFAeV,cAAA,EAAA,KAAA,GAAA,sBATqB,YAAA,QAAhB,MAAM,UAAK;gEAShB,MAAA;QARF,IAAE,kBAAK,UAAS,CAAA,QAAS;QACzB,KAAK;QACL,+BAAK,EAAA,aAAiB,iBAAA,UAAqB,OAAK,CAAA;QACjD,MAAK;QACJ,iBAAe,iBAAA,UAAqB;QACpC,UAAK,WAAE,aAAa,KAAI;+BAEqB,KAAA,QAAA,WAAA,EAAjC,MAAI,QAA6B,mDAAxB,KAAK,QAAA,UAAQ,EAAA,EAAA;;;;;;;;KAKjCA,KAAAA,OAAO,4DAKT,OAAA;;MAJH,8CAAO,GAAE,CAAC,GAAE,cAAA,SAAA,CAAA;MACZ,SAAK,OAAA,OAAA,OAAA,kCAAN,IAAW,CAAA,OAAA,CAAA;6BAEW,KAAA,QAAA,SAAA;;oCAnDtB,6BAAA,OAAA;cAlCA;KAAJ,KAAI;KACH,+BAAK,gBAAG,GAAE,CAAC,GAAC,EAAIC,KAAAA,OAAO,MAAK,CAAA;KAC5B,+BAAO,OAAA,MAAM;KACd,MAAK;KACL,iBAAc;KACb,iBAAe,kBAAA;KACf,4BAAW,UAAA;4CA2BD,wBAAA,sBAAA;cAxBL;KAAJ,KAAI;2BACe,eAAA,OAAgBA,KAAAA,OAAM,EAAA;KACxC,eAAa,QAAA;KACb,yBAAU,SAAQ;KAClB,SAAO;KACP,UAAQ;KACR,SAAO;KACP,QAAM;KACN,SAAO;KACP,WAAS;KACT,aAAW;;KAEID,KAAAA,OAAO;YAAU;iCACR,qBAAA,KAAA,QAAA,UAAA;;;KAETA,KAAAA,OAAO;YAAS;iCACR,qBAAA,KAAA,QAAA,SAAA;;;KAERA,KAAAA,OAAO;YAAS;iCACR,qBAAA,KAAA,QAAA,SAAA;;;KAERA,KAAAA,OAAO;YAAS;iCACR,qBAAA,KAAA,QAAA,SAAA"}
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 :popper-options=\"popperOptions\"\n :show-arrow=\"showArrow\"\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, { inputPropsDefaults } 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 showArrow: true,\n popperOptions: () => ({}),\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => {\n const inputProps = ElInput.props ?? []\n const keys = isArray(inputProps) ? inputProps : Object.keys(inputProps)\n return pick(props, keys)\n})\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\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, { inputPropsDefaults } 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(() => {\n const inputProps = ElInput.props ?? []\n const keys = isArray(inputProps) ? inputProps : Object.keys(inputProps)\n return pick(props, keys)\n})\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":""}
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 :popper-options=\"popperOptions\"\n :show-arrow=\"showArrow\"\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, { inputPropsDefaults } 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 showArrow: true,\n popperOptions: () => ({}),\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => {\n const inputProps = ElInput.props ?? []\n const keys = isArray(inputProps) ? inputProps : Object.keys(inputProps)\n return pick(props, keys)\n})\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":""}
@@ -11,7 +11,7 @@ declare const avatarGroupProps: {
11
11
  * @description control the size of avatars in this avatar-group
12
12
  */
13
13
  readonly size: {
14
- readonly type: vue.PropType<number | "" | "default" | "small" | "large" | undefined>;
14
+ readonly type: vue.PropType<number | "" | "default" | "large" | "small" | undefined>;
15
15
  readonly values: readonly ["", "default", "small", "large"];
16
16
  readonly validator: (val: unknown) => val is number;
17
17
  };
@@ -9,7 +9,7 @@ import * as vue_jsx_runtime0 from "vue/jsx-runtime";
9
9
  //#region ../../packages/components/avatar/src/avatar-group.d.ts
10
10
  declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
11
11
  readonly size: {
12
- readonly type: vue.PropType<number | "" | "default" | "small" | "large" | undefined>;
12
+ readonly type: vue.PropType<number | "" | "default" | "large" | "small" | undefined>;
13
13
  readonly values: readonly ["", "default", "small", "large"];
14
14
  readonly validator: (val: unknown) => val is number;
15
15
  };
@@ -146,7 +146,7 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
146
146
  };
147
147
  }>, () => vue_jsx_runtime0.JSX.Element, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
148
148
  readonly size: {
149
- readonly type: vue.PropType<number | "" | "default" | "small" | "large" | undefined>;
149
+ readonly type: vue.PropType<number | "" | "default" | "large" | "small" | undefined>;
150
150
  readonly values: readonly ["", "default", "small", "large"];
151
151
  readonly validator: (val: unknown) => val is number;
152
152
  };
@@ -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;
@@ -43,7 +43,7 @@ interface AvatarProps {
43
43
  */
44
44
  declare const avatarProps: {
45
45
  readonly size: {
46
- readonly type: vue.PropType<EpPropMergeType<readonly [NumberConstructor, StringConstructor], "" | "default" | "small" | "large", number>>;
46
+ readonly type: vue.PropType<EpPropMergeType<readonly [NumberConstructor, StringConstructor], "" | "default" | "large" | "small", number>>;
47
47
  readonly required: false;
48
48
  readonly validator: ((val: unknown) => boolean) | undefined;
49
49
  __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" | "none" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined) | (((new (...args: any[]) => "fill" | "none" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined)) | null)[], unknown, unknown, "cover", boolean>;
66
+ readonly fit: EpPropFinalized<(new (...args: any[]) => "fill" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "none" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined) | (((new (...args: any[]) => "fill" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "none" | "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.
@@ -12,8 +12,8 @@ declare const __VLS_base: vue.DefineComponent<AvatarProps, {}, {}, {}, {}, vue.C
12
12
  }, string, vue.PublicProps, Readonly<AvatarProps> & Readonly<{
13
13
  onError?: ((evt: Event) => any) | undefined;
14
14
  }>, {
15
- src: string;
16
15
  fit: csstype.Property.ObjectFit;
16
+ src: string;
17
17
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
18
18
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
19
  declare const _default: typeof __VLS_export;
@@ -11,8 +11,8 @@ 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
- right: number;
15
14
  bottom: number;
15
+ right: number;
16
16
  target: string;
17
17
  visibilityHeight: number;
18
18
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -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, "success" | "primary" | "info" | "warning" | "danger", unknown, "danger", boolean>;
57
+ readonly type: EpPropFinalized<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown, "danger", boolean>;
58
58
  readonly showZero: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
59
59
  readonly color: StringConstructor;
60
60
  readonly badgeStyle: {
@@ -14,10 +14,10 @@ type __VLS_Slots = {} & {
14
14
  declare const __VLS_base: vue.DefineComponent<BadgeProps, {
15
15
  /** @description badge content */content: vue.ComputedRef<string>;
16
16
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
17
- type: "primary" | "success" | "warning" | "info" | "danger";
18
17
  value: string | number;
19
- max: number;
18
+ type: "primary" | "success" | "warning" | "info" | "danger";
20
19
  offset: [number, number];
20
+ max: number;
21
21
  showZero: boolean;
22
22
  badgeStyle: string | false | vue.CSSProperties | StyleValue[] | null;
23
23
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -7,7 +7,7 @@ type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_1) => any;
8
8
  };
9
9
  declare const __VLS_base: vue.DefineComponent<ButtonGroupProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<ButtonGroupProps> & Readonly<{}>, {
10
- type: "" | "default" | "success" | "primary" | "info" | "warning" | "danger" | "text";
10
+ type: "" | "info" | "text" | "default" | "primary" | "success" | "warning" | "danger";
11
11
  direction: "horizontal" | "vertical";
12
12
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
13
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -93,13 +93,13 @@ interface ButtonProps {
93
93
  */
94
94
  declare const buttonProps: {
95
95
  readonly size: {
96
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
96
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
97
97
  readonly required: false;
98
98
  readonly validator: ((val: unknown) => boolean) | undefined;
99
99
  __epPropKey: true;
100
100
  };
101
101
  readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
102
- readonly type: EpPropFinalized<StringConstructor, "" | "default" | "success" | "primary" | "info" | "warning" | "danger" | "text", unknown, "", boolean>;
102
+ readonly type: EpPropFinalized<StringConstructor, "" | "info" | "text" | "default" | "primary" | "success" | "warning" | "danger", unknown, "", boolean>;
103
103
  readonly icon: {
104
104
  readonly type: vue.PropType<EpPropMergeType<(new (...args: any[]) => (string | Component) & {}) | (() => string | Component) | (((new (...args: any[]) => (string | Component) & {}) | (() => string | Component)) | null)[], unknown, unknown>>;
105
105
  readonly required: false;
@@ -15,8 +15,8 @@ type __VLS_Slots = {} & {
15
15
  };
16
16
  declare const __VLS_base: vue.DefineComponent<ButtonProps, {
17
17
  /** @description button html element */ref: vue.Ref<HTMLButtonElement | undefined, HTMLButtonElement | undefined>; /** @description button size */
18
- size: vue.ComputedRef<"" | "default" | "small" | "large">; /** @description button type */
19
- type: vue.ComputedRef<"" | "default" | "success" | "primary" | "info" | "warning" | "danger" | "text">; /** @description button disabled */
18
+ size: vue.ComputedRef<"" | "default" | "large" | "small">; /** @description button type */
19
+ type: vue.ComputedRef<"" | "info" | "text" | "default" | "primary" | "success" | "warning" | "danger">; /** @description button disabled */
20
20
  disabled: vue.ComputedRef<boolean>; /** @description whether adding space */
21
21
  shouldAddSpace: vue.ComputedRef<boolean>;
22
22
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
@@ -26,14 +26,14 @@ declare const __VLS_base: vue.DefineComponent<ButtonProps, {
26
26
  }>, {
27
27
  disabled: boolean;
28
28
  type: ButtonType;
29
- tag: string | vue.Component;
30
- plain: boolean;
31
- round: boolean;
32
29
  text: boolean;
30
+ round: boolean;
33
31
  dashed: boolean;
32
+ plain: boolean;
34
33
  nativeType: ButtonNativeType;
35
34
  loadingIcon: IconPropType;
36
35
  autoInsertSpace: boolean;
36
+ tag: string | vue.Component;
37
37
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
38
38
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
39
39
  declare const _default: typeof __VLS_export;
@@ -44,7 +44,7 @@ declare const cardProps: {
44
44
  readonly headerClass: StringConstructor;
45
45
  readonly bodyClass: StringConstructor;
46
46
  readonly footerClass: StringConstructor;
47
- readonly shadow: EpPropFinalized<StringConstructor, "always" | "hover" | "never", unknown, undefined, boolean>;
47
+ readonly shadow: EpPropFinalized<StringConstructor, "hover" | "always" | "never", unknown, undefined, boolean>;
48
48
  };
49
49
  /**
50
50
  * @deprecated Removed after 3.0.0, Use `CardProps` instead.
@@ -67,7 +67,7 @@ declare const carouselProps: {
67
67
  readonly autoplay: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
68
68
  readonly interval: EpPropFinalized<NumberConstructor, unknown, unknown, 3000, boolean>;
69
69
  readonly indicatorPosition: EpPropFinalized<StringConstructor, "" | "none" | "outside", unknown, "", boolean>;
70
- readonly arrow: EpPropFinalized<StringConstructor, "always" | "hover" | "never", unknown, "hover", boolean>;
70
+ readonly arrow: EpPropFinalized<StringConstructor, "hover" | "always" | "never", unknown, "hover", boolean>;
71
71
  readonly type: EpPropFinalized<StringConstructor, "" | "card", unknown, "", boolean>;
72
72
  readonly cardScale: EpPropFinalized<NumberConstructor, unknown, unknown, 0.83, boolean>;
73
73
  readonly loop: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
@@ -17,10 +17,10 @@ declare const __VLS_base: vue.DefineComponent<CarouselProps, {
17
17
  onChange?: ((current: number, prev: number) => any) | undefined;
18
18
  }>, {
19
19
  type: "" | "card";
20
- height: string;
21
- direction: "horizontal" | "vertical";
22
20
  loop: boolean;
23
21
  trigger: "hover" | "click";
22
+ direction: "horizontal" | "vertical";
23
+ height: string;
24
24
  arrow: "always" | "hover" | "never";
25
25
  initialIndex: number;
26
26
  autoplay: boolean;