@element-plus/nightly 0.0.20260421 → 0.0.20260423

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 (608) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +16 -13
  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 +5 -5
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +16 -13
  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 +2 -2
  278. package/es/components/alert/src/alert.d.ts +2 -2
  279. package/es/components/alert/src/alert.vue.d.ts +2 -2
  280. package/es/components/anchor/src/anchor.vue.d.ts +2 -2
  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 +6 -6
  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 +2 -2
  293. package/es/components/badge/src/badge.d.ts +1 -1
  294. package/es/components/badge/src/badge.vue.d.ts +1 -1
  295. package/es/components/button/src/button-group.vue.d.ts +1 -1
  296. package/es/components/button/src/button.d.ts +1 -1
  297. package/es/components/button/src/button.vue.d.ts +4 -4
  298. package/es/components/calendar/src/calendar.d.ts +1 -1
  299. package/es/components/card/src/card.vue.d.ts +1 -1
  300. package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
  301. package/es/components/carousel/src/carousel.vue.d.ts +3 -3
  302. package/es/components/cascader/src/cascader.d.ts +4 -4
  303. package/es/components/cascader/src/cascader.vue.d.ts +166 -19
  304. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  305. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  306. package/es/components/cascader-panel/src/index.vue.d.ts +2 -2
  307. package/es/components/check-tag/src/check-tag.d.ts +1 -1
  308. package/es/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  309. package/es/components/checkbox/src/checkbox-group.vue.d.ts +5 -5
  310. package/es/components/checkbox/src/checkbox.d.ts +8 -8
  311. package/es/components/checkbox/src/checkbox.vue.d.ts +4 -4
  312. package/es/components/col/src/col.vue.d.ts +1 -1
  313. package/es/components/collapse/src/collapse-item.vue.d.ts +1 -1
  314. package/es/components/collapse/src/collapse.d.ts +1 -1
  315. package/es/components/collapse/src/collapse.vue.d.ts +2 -2
  316. package/es/components/color-picker/src/color-picker.vue.d.ts +11 -11
  317. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  318. package/es/components/config-provider/src/config-provider.d.ts +1 -1
  319. package/es/components/date-picker/src/date-picker.d.ts +15 -15
  320. package/es/components/date-picker/src/props.d.ts +2 -2
  321. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  322. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  323. package/es/components/descriptions/src/description-item.d.ts +20 -20
  324. package/es/components/dialog/src/dialog.vue.d.ts +5 -5
  325. package/es/components/divider/src/divider.d.ts +1 -1
  326. package/es/components/drawer/src/drawer.vue.d.ts +7 -7
  327. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  328. package/es/components/dropdown/src/dropdown.d.ts +4 -4
  329. package/es/components/dropdown/src/dropdown.vue.d.ts +74 -74
  330. package/es/components/form/src/form-item.d.ts +1 -1
  331. package/es/components/form/src/form.d.ts +2 -2
  332. package/es/components/form/src/form.vue.d.ts +1 -1
  333. package/es/components/image/src/image.d.ts +1 -1
  334. package/es/components/image/src/image.vue.d.ts +6 -6
  335. package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  336. package/es/components/input/src/input.d.ts +3 -3
  337. package/es/components/input/src/input.vue.d.ts +22 -22
  338. package/es/components/input-number/src/input-number.d.ts +2 -2
  339. package/es/components/input-number/src/input-number.vue.d.ts +12 -12
  340. package/es/components/input-otp/src/input-otp.vue.d.ts +7 -7
  341. package/es/components/input-tag/src/input-tag.d.ts +3 -3
  342. package/es/components/input-tag/src/input-tag.vue.d.ts +16 -16
  343. package/es/components/link/src/link.d.ts +1 -1
  344. package/es/components/link/src/link.vue.d.ts +1 -1
  345. package/es/components/mention/src/mention.d.ts +4 -4
  346. package/es/components/mention/src/mention.vue.d.ts +4 -4
  347. package/es/components/menu/src/menu.d.ts +2 -2
  348. package/es/components/menu/src/sub-menu.d.ts +1 -1
  349. package/es/components/message/src/message.d.ts +2 -2
  350. package/es/components/message/src/message.vue.d.ts +4 -4
  351. package/es/components/notification/src/notification.d.ts +2 -2
  352. package/es/components/notification/src/notification.vue.d.ts +5 -5
  353. package/es/components/page-header/src/page-header.vue.d.ts +1 -1
  354. package/es/components/pagination/src/pagination.d.ts +3 -3
  355. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  356. package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  357. package/es/components/popover/src/popover.d.ts +2 -2
  358. package/es/components/popover/src/popover.vue.d.ts +14 -14
  359. package/es/components/popper/src/composables/use-content.d.ts +4 -4
  360. package/es/components/popper/src/content.vue.d.ts +11 -11
  361. package/es/components/popper/src/popper.d.ts +2 -2
  362. package/es/components/progress/src/progress.d.ts +2 -2
  363. package/es/components/progress/src/progress.vue.d.ts +2 -2
  364. package/es/components/radio/src/radio-button.d.ts +3 -3
  365. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  366. package/es/components/radio/src/radio-group.vue.d.ts +6 -6
  367. package/es/components/radio/src/radio.d.ts +6 -6
  368. package/es/components/radio/src/radio.vue.d.ts +5 -5
  369. package/es/components/rate/src/rate.vue.d.ts +6 -6
  370. package/es/components/result/src/result.d.ts +1 -1
  371. package/es/components/result/src/result.vue.d.ts +1 -1
  372. package/es/components/row/src/row.d.ts +2 -2
  373. package/es/components/row/src/row.vue.d.ts +1 -1
  374. package/es/components/scrollbar/src/scrollbar.vue.d.ts +2 -2
  375. package/es/components/segmented/index.d.ts +4 -4
  376. package/es/components/segmented/src/segmented.d.ts +1 -1
  377. package/es/components/segmented/src/segmented.vue.d.ts +2 -2
  378. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs +4 -0
  379. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  380. package/es/components/segmented/src/segmented2.mjs.map +1 -1
  381. package/es/components/select/src/option.d.ts +2 -2
  382. package/es/components/select/src/option.vue.d.ts +5 -5
  383. package/es/components/select/src/select.d.ts +7 -7
  384. package/es/components/select/src/select.mjs.map +1 -1
  385. package/es/components/select/src/select.vue.d.ts +123 -104
  386. package/es/components/select/src/select.vue_vue_type_script_lang.mjs +2 -13
  387. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  388. package/es/components/select/src/select2.mjs.map +1 -1
  389. package/es/components/select-v2/src/defaults.d.ts +3 -3
  390. package/es/components/select-v2/src/select.vue.d.ts +78 -78
  391. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  392. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  393. package/es/components/slider/src/button.vue.d.ts +1 -1
  394. package/es/components/slider/src/slider.vue.d.ts +8 -8
  395. package/es/components/splitter/src/splitter.vue.d.ts +2 -2
  396. package/es/components/steps/src/item.d.ts +1 -1
  397. package/es/components/steps/src/item.vue.d.ts +2 -2
  398. package/es/components/steps/src/steps.d.ts +2 -2
  399. package/es/components/switch/src/switch.vue.d.ts +4 -4
  400. package/es/components/table/src/table-column/index.d.ts +18 -18
  401. package/es/components/table/src/table-footer/index.d.ts +2 -2
  402. package/es/components/table/src/table-header/index.d.ts +15 -15
  403. package/es/components/table/src/table.vue.d.ts +47 -47
  404. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  405. package/es/components/tabs/src/tabs.d.ts +7 -7
  406. package/es/components/tag/src/tag.d.ts +2 -2
  407. package/es/components/tag/src/tag.vue.d.ts +2 -2
  408. package/es/components/text/src/text.d.ts +1 -1
  409. package/es/components/time-picker/src/common/picker.vue.d.ts +23 -23
  410. package/es/components/time-picker/src/common/props.d.ts +2 -2
  411. package/es/components/time-picker/src/time-picker.d.ts +15 -15
  412. package/es/components/time-select/src/time-select.vue.d.ts +13 -13
  413. package/es/components/timeline/src/timeline-item.d.ts +2 -2
  414. package/es/components/tooltip/src/content.vue.d.ts +10 -10
  415. package/es/components/tooltip/src/tooltip.d.ts +2 -2
  416. package/es/components/tooltip/src/tooltip.vue.d.ts +12 -12
  417. package/es/components/tooltip/src/trigger.d.ts +1 -1
  418. package/es/components/tour/src/content.d.ts +1 -1
  419. package/es/components/tour/src/step.d.ts +1 -1
  420. package/es/components/tour/src/tour.d.ts +1 -1
  421. package/es/components/tour/src/tour.vue.d.ts +5 -5
  422. package/es/components/transfer/src/transfer.vue.d.ts +2 -2
  423. package/es/components/tree/src/tree.vue.d.ts +19 -19
  424. package/es/components/tree-select/src/tree-select.vue.d.ts +42 -42
  425. package/es/components/tree-v2/src/tree.vue.d.ts +2 -2
  426. package/es/components/tree-v2/src/types.d.ts +7 -2
  427. package/es/components/tree-v2/src/virtual-tree.d.ts +129 -3
  428. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  429. package/es/components/upload/src/upload.vue.d.ts +2 -2
  430. package/es/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  431. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  432. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
  433. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  434. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  435. package/es/components/watermark/src/watermark.vue.d.ts +1 -1
  436. package/es/hooks/use-floating/index.d.ts +12 -12
  437. package/es/hooks/use-popper/index.d.ts +4 -4
  438. package/es/utils/vue/size.d.ts +1 -1
  439. package/es/version.mjs +1 -1
  440. package/es/version.mjs.map +1 -1
  441. package/lib/components/affix/src/affix.d.ts +1 -1
  442. package/lib/components/affix/src/affix.vue.d.ts +2 -2
  443. package/lib/components/alert/src/alert.d.ts +2 -2
  444. package/lib/components/alert/src/alert.vue.d.ts +2 -2
  445. package/lib/components/anchor/src/anchor.vue.d.ts +2 -2
  446. package/lib/components/autocomplete/src/autocomplete.d.ts +15 -5
  447. package/lib/components/autocomplete/src/autocomplete.js +5 -0
  448. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  449. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +6 -6
  450. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js +4 -0
  451. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  452. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  453. package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
  454. package/lib/components/avatar/src/avatar-group.d.ts +3 -3
  455. package/lib/components/avatar/src/avatar.d.ts +2 -2
  456. package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
  457. package/lib/components/backtop/src/backtop.vue.d.ts +2 -2
  458. package/lib/components/badge/src/badge.d.ts +1 -1
  459. package/lib/components/badge/src/badge.vue.d.ts +1 -1
  460. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  461. package/lib/components/button/src/button.d.ts +1 -1
  462. package/lib/components/button/src/button.vue.d.ts +4 -4
  463. package/lib/components/calendar/src/calendar.d.ts +1 -1
  464. package/lib/components/card/src/card.vue.d.ts +1 -1
  465. package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
  466. package/lib/components/carousel/src/carousel.vue.d.ts +3 -3
  467. package/lib/components/cascader/src/cascader.d.ts +4 -4
  468. package/lib/components/cascader/src/cascader.vue.d.ts +166 -19
  469. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  470. package/lib/components/cascader/src/cascader2.js.map +1 -1
  471. package/lib/components/cascader-panel/src/index.vue.d.ts +2 -2
  472. package/lib/components/check-tag/src/check-tag.d.ts +1 -1
  473. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  474. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +5 -5
  475. package/lib/components/checkbox/src/checkbox.d.ts +8 -8
  476. package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -4
  477. package/lib/components/col/src/col.vue.d.ts +1 -1
  478. package/lib/components/collapse/src/collapse-item.vue.d.ts +1 -1
  479. package/lib/components/collapse/src/collapse.d.ts +1 -1
  480. package/lib/components/collapse/src/collapse.vue.d.ts +2 -2
  481. package/lib/components/color-picker/src/color-picker.vue.d.ts +11 -11
  482. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  483. package/lib/components/config-provider/src/config-provider.d.ts +1 -1
  484. package/lib/components/date-picker/src/date-picker.d.ts +15 -15
  485. package/lib/components/date-picker/src/props.d.ts +2 -2
  486. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  487. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  488. package/lib/components/descriptions/src/description-item.d.ts +20 -20
  489. package/lib/components/dialog/src/dialog.vue.d.ts +5 -5
  490. package/lib/components/divider/src/divider.d.ts +1 -1
  491. package/lib/components/drawer/src/drawer.vue.d.ts +7 -7
  492. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  493. package/lib/components/dropdown/src/dropdown.d.ts +4 -4
  494. package/lib/components/dropdown/src/dropdown.vue.d.ts +74 -74
  495. package/lib/components/form/src/form-item.d.ts +1 -1
  496. package/lib/components/form/src/form.d.ts +2 -2
  497. package/lib/components/form/src/form.vue.d.ts +1 -1
  498. package/lib/components/image/src/image.d.ts +1 -1
  499. package/lib/components/image/src/image.vue.d.ts +6 -6
  500. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  501. package/lib/components/input/src/input.d.ts +3 -3
  502. package/lib/components/input/src/input.vue.d.ts +22 -22
  503. package/lib/components/input-number/src/input-number.d.ts +2 -2
  504. package/lib/components/input-number/src/input-number.vue.d.ts +12 -12
  505. package/lib/components/input-otp/src/input-otp.vue.d.ts +7 -7
  506. package/lib/components/input-tag/src/input-tag.d.ts +3 -3
  507. package/lib/components/input-tag/src/input-tag.vue.d.ts +16 -16
  508. package/lib/components/link/src/link.d.ts +1 -1
  509. package/lib/components/link/src/link.vue.d.ts +1 -1
  510. package/lib/components/mention/src/mention.d.ts +4 -4
  511. package/lib/components/mention/src/mention.vue.d.ts +4 -4
  512. package/lib/components/menu/src/menu.d.ts +2 -2
  513. package/lib/components/menu/src/sub-menu.d.ts +1 -1
  514. package/lib/components/message/src/message.d.ts +2 -2
  515. package/lib/components/message/src/message.vue.d.ts +4 -4
  516. package/lib/components/notification/src/notification.d.ts +2 -2
  517. package/lib/components/notification/src/notification.vue.d.ts +5 -5
  518. package/lib/components/page-header/src/page-header.vue.d.ts +1 -1
  519. package/lib/components/pagination/src/pagination.d.ts +3 -3
  520. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  521. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  522. package/lib/components/popover/src/popover.d.ts +2 -2
  523. package/lib/components/popover/src/popover.vue.d.ts +14 -14
  524. package/lib/components/popper/src/composables/use-content.d.ts +4 -4
  525. package/lib/components/popper/src/content.vue.d.ts +11 -11
  526. package/lib/components/popper/src/popper.d.ts +2 -2
  527. package/lib/components/progress/src/progress.d.ts +2 -2
  528. package/lib/components/progress/src/progress.vue.d.ts +2 -2
  529. package/lib/components/radio/src/radio-button.d.ts +3 -3
  530. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  531. package/lib/components/radio/src/radio-group.vue.d.ts +6 -6
  532. package/lib/components/radio/src/radio.d.ts +6 -6
  533. package/lib/components/radio/src/radio.vue.d.ts +5 -5
  534. package/lib/components/rate/src/rate.vue.d.ts +6 -6
  535. package/lib/components/result/src/result.d.ts +1 -1
  536. package/lib/components/result/src/result.vue.d.ts +1 -1
  537. package/lib/components/row/src/row.d.ts +2 -2
  538. package/lib/components/row/src/row.vue.d.ts +1 -1
  539. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +2 -2
  540. package/lib/components/segmented/index.d.ts +4 -4
  541. package/lib/components/segmented/src/segmented.d.ts +1 -1
  542. package/lib/components/segmented/src/segmented.vue.d.ts +2 -2
  543. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js +4 -0
  544. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
  545. package/lib/components/segmented/src/segmented2.js.map +1 -1
  546. package/lib/components/select/src/option.d.ts +2 -2
  547. package/lib/components/select/src/option.vue.d.ts +5 -5
  548. package/lib/components/select/src/select.d.ts +7 -7
  549. package/lib/components/select/src/select.js.map +1 -1
  550. package/lib/components/select/src/select.vue.d.ts +123 -104
  551. package/lib/components/select/src/select.vue_vue_type_script_lang.js +1 -12
  552. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  553. package/lib/components/select/src/select2.js.map +1 -1
  554. package/lib/components/select-v2/src/defaults.d.ts +3 -3
  555. package/lib/components/select-v2/src/select.vue.d.ts +78 -78
  556. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  557. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  558. package/lib/components/slider/src/button.vue.d.ts +1 -1
  559. package/lib/components/slider/src/slider.vue.d.ts +8 -8
  560. package/lib/components/splitter/src/splitter.vue.d.ts +2 -2
  561. package/lib/components/steps/src/item.d.ts +1 -1
  562. package/lib/components/steps/src/item.vue.d.ts +2 -2
  563. package/lib/components/steps/src/steps.d.ts +2 -2
  564. package/lib/components/switch/src/switch.vue.d.ts +4 -4
  565. package/lib/components/table/src/table-column/index.d.ts +18 -18
  566. package/lib/components/table/src/table-footer/index.d.ts +2 -2
  567. package/lib/components/table/src/table-header/index.d.ts +15 -15
  568. package/lib/components/table/src/table.vue.d.ts +47 -47
  569. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  570. package/lib/components/tabs/src/tabs.d.ts +7 -7
  571. package/lib/components/tag/src/tag.d.ts +2 -2
  572. package/lib/components/tag/src/tag.vue.d.ts +2 -2
  573. package/lib/components/text/src/text.d.ts +1 -1
  574. package/lib/components/time-picker/src/common/picker.vue.d.ts +23 -23
  575. package/lib/components/time-picker/src/common/props.d.ts +2 -2
  576. package/lib/components/time-picker/src/time-picker.d.ts +15 -15
  577. package/lib/components/time-select/src/time-select.vue.d.ts +13 -13
  578. package/lib/components/timeline/src/timeline-item.d.ts +2 -2
  579. package/lib/components/tooltip/src/content.vue.d.ts +10 -10
  580. package/lib/components/tooltip/src/tooltip.d.ts +2 -2
  581. package/lib/components/tooltip/src/tooltip.vue.d.ts +12 -12
  582. package/lib/components/tooltip/src/trigger.d.ts +1 -1
  583. package/lib/components/tour/src/content.d.ts +1 -1
  584. package/lib/components/tour/src/step.d.ts +1 -1
  585. package/lib/components/tour/src/tour.d.ts +1 -1
  586. package/lib/components/tour/src/tour.vue.d.ts +5 -5
  587. package/lib/components/transfer/src/transfer.vue.d.ts +2 -2
  588. package/lib/components/tree/src/tree.vue.d.ts +19 -19
  589. package/lib/components/tree-select/src/tree-select.vue.d.ts +42 -42
  590. package/lib/components/tree-v2/src/tree.vue.d.ts +2 -2
  591. package/lib/components/tree-v2/src/types.d.ts +7 -2
  592. package/lib/components/tree-v2/src/virtual-tree.d.ts +129 -3
  593. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  594. package/lib/components/upload/src/upload.vue.d.ts +2 -2
  595. package/lib/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  596. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  597. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
  598. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  599. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  600. package/lib/components/watermark/src/watermark.vue.d.ts +1 -1
  601. package/lib/hooks/use-floating/index.d.ts +12 -12
  602. package/lib/hooks/use-popper/index.d.ts +4 -4
  603. package/lib/utils/vue/size.d.ts +1 -1
  604. package/lib/version.js +1 -1
  605. package/lib/version.js.map +1 -1
  606. package/package.json +2 -2
  607. package/tags.json +1 -1
  608. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.vue_vue_type_script_setup_true_lang.mjs","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,iBAAiB,eAAe;GACpC,MAAM,aAAa,QAAQ,SAAS,EAAC;AAErC,UAAO,KAAK,OADC,QAAQ,WAAW,GAAG,aAAa,OAAO,KAAK,WAAU,CAC/C;IACxB;EAED,MAAM,WAAW,UAAY;EAC7B,MAAM,WAAW,iBAAgB;EACjC,MAAM,KAAK,aAAa,eAAc;EAEtC,MAAM,WAAW,KAAmB;EACpC,MAAM,YAAY,KAAiB;EACnC,MAAM,YAAY,KAAqB;EACvC,MAAM,aAAa,KAAiB;EAEpC,IAAI,WAAW;EACf,IAAI,mBAAmB;EACvB,MAAM,cAAc,IAAI,EAAE,CAAC;EAC3B,MAAM,mBAAmB,IAAI,GAAE;EAC/B,MAAM,gBAAgB,IAAI,GAAE;EAC5B,MAAM,YAAY,IAAI,MAAK;EAC3B,MAAM,qBAAqB,IAAI,MAAK;EACpC,MAAM,UAAU,IAAI,MAAK;EAEzB,MAAM,YAAY,OAAM;EACxB,MAAM,SAAS,eAAe,SAAS,MAAmB;EAE1D,MAAM,oBAAoB,eAAe;AAEvC,WADoB,YAAY,MAAM,SAAS,KACxB,QAAQ,UAAU,UAAU;IACpD;EAED,MAAM,oBAAoB,eAAe,CAAC,MAAM,eAAe,QAAQ,MAAK;EAE5E,MAAM,WAAW,eAAmC;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,QAAI,QAAQ,eAAe,EAAE;AAC3B,iBAAY,QAAQ;AACpB,sBAAiB,QAAQ,MAAM,qBAAqB,IAAI;UAExD,YAAW,gBAAgB,4CAA2C;;AAI1E,WAAQ,QAAQ;AAChB,OAAI,QAAQ,MAAM,iBAAiB,CACjC,IAAG,MAAM,iBAAgB;QACpB;IACL,MAAM,SAAS,MAAM,MAAM,iBAAiB,aAAa,GAAE;AAC3D,QAAI,QAAQ,OAAO,CAAE,IAAG,OAAM;;;EAKlC,MAAM,mBAAmB,cAAc,SADtB,eAAe,MAAM,SAAQ,CACU;EAExD,MAAM,eAAe,UAAkB;GACrC,MAAM,iBAAiB,CAAC,CAAC;AAEzB,QAAK,aAAa,MAAK;AACvB,QAAK,oBAAoB,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,cAAc,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,oBAAoB,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,aAAa,KAAK,MAAM,UAAS;AACtC,QAAK,oBAAoB,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,aAAa,eAAe,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,aAAa,EAAkB,EAC5C;IACE,KAAK,WAAW;AACd,OAAE,gBAAe;AACjB,eAAU,iBAAiB,QAAQ,EAAC;AACpC;IACF,KAAK,WAAW;AACd,OAAE,gBAAe;AACjB,eAAU,iBAAiB,QAAQ,EAAC;AACpC;IACF,KAAK,WAAW;IAChB,KAAK,WAAW;AACd,OAAE,gBAAe;AACjB,qBAAe;AACf;IACF,KAAK,WAAW;AACd,YAAM;AACN;IACF,KAAK,WAAW;AACd,qBAAgB,EAAC;AACjB;IACF,KAAK,WAAW;AACd,OAAE,gBAAe;AACjB,eAAU,EAAC;AACX;IACF,KAAK,WAAW;AACd,OAAE,gBAAe;AACjB,eAAU,YAAY,MAAM,SAAS,EAAC;AACtC;IACF,KAAK,WAAW;AACd,OAAE,gBAAe;AACjB,eAAU,KAAK,IAAI,GAAG,iBAAiB,QAAQ,GAAG,CAAA;AAClD;IACF,KAAK,WAAW;AACd,OAAE,gBAAe;AACjB,eACE,KAAK,IAAI,YAAY,MAAM,SAAS,GAAG,iBAAiB,QAAQ,GAAE,CACpE;AACA;;;AAIN,wBAAsB;AACpB,iBAAa;IACd;AAED,kBAAgB;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;;uBA7fC,YA8Ga,MAAA,UAAA,EAAA;aA7GP;IAAJ,KAAI;IACH,SAAS,kBAAA;IACT,WAAW,QAAA;IACX,uBAAqB,CAAA,gBAAA,YAA6B;IAClD,gBAAY,CAAG,MAAA,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,GAAK,MAAA,GAAE,CAAC,UAAU,MAAK;IAClC,YAAA;IACA,MAAK;IACJ,cAAa;IACP;;IAsCI,SAAO,cAoDV,CAnDN,mBAmDM,OAAA;cAlDA;KAAJ,KAAI;KACH,OAAK,eAAA,CAAG,MAAA,GAAE,CAAC,EAAC,aAAA,EAAgB,MAAA,GAAE,CAAC,GAAE,WAAY,kBAAA,MAAiB,CAAA,CAAA;KAC9D,OAAK,eAAA;OAAe,QAAA,gBAAa,UAAA,aAA0B,cAAA;;;KAI5D,MAAK;;KAGGA,KAAAA,OAAO,uBADf,mBAMM,OAAA;;MAJH,OAAK,eAAE,MAAA,GAAE,CAAC,GAAE,cAAA,SAAA,CAAA;MACZ,SAAK,OAAA,OAAA,OAAA,KAAA,oBAAN,IAAW,CAAA,OAAA,CAAA;SAEX,WAAsB,KAAA,QAAA,SAAA;KAExB,YA2Be,MAAA,YAAA,EAAA;MA1BZ,IAAI,MAAA,UAAS;MACd,KAAI;MACH,cAAY,MAAA,GAAE,CAAC,GAAE,cAAA,OAAA;MACjB,cAAY,MAAA,GAAE,CAAC,GAAE,cAAA,OAAA;MAClB,MAAK;;6BAQA,CANK,kBAAA,sBAAV,mBAMK,MAAA,YAAA,CALH,WAIO,KAAA,QAAA,WAAA,EAAA,QAAA,CAHL,YAEU,MAAA,OAAA,EAAA,EAFA,OAAK,eAAE,MAAA,GAAE,CAAC,GAAE,UAAA,CAAA;8BACT,CAAX,YAAW,MAAA,QAAA,CAAA;;gDAKf,mBAUK,UAAA,EAAA,KAAA,GAAA,EAAA,WATqB,YAAA,QAAhB,MAAM,UAAK;2BADrB,mBAUK,MAAA;QARF,IAAE,GAAK,MAAA,UAAS,CAAA,QAAS;QACzB,KAAK;QACL,OAAK,eAAA,EAAA,aAAiB,iBAAA,UAAqB,OAAK,CAAA;QACjD,MAAK;QACJ,iBAAe,iBAAA,UAAqB;QACpC,UAAK,WAAE,aAAa,KAAI;WAEzB,WAA8C,KAAA,QAAA,WAAA,EAAjC,MAAI,QAA6B,iCAAxB,KAAK,QAAA,UAAQ,EAAA,EAAA;;;;;;;;KAKjCA,KAAAA,OAAO,uBADf,mBAMM,OAAA;;MAJH,OAAK,eAAE,MAAA,GAAE,CAAC,GAAE,cAAA,SAAA,CAAA;MACZ,SAAK,OAAA,OAAA,OAAA,KAAA,oBAAN,IAAW,CAAA,OAAA,CAAA;SAEX,WAAsB,KAAA,QAAA,SAAA;;2BAnDtB,CAnCN,mBAmCM,OAAA;cAlCA;KAAJ,KAAI;KACH,OAAK,eAAA,CAAG,MAAA,GAAE,CAAC,GAAC,EAAIC,KAAAA,OAAO,MAAK,CAAA;KAC5B,OAAK,eAAE,OAAA,MAAM;KACd,MAAK;KACL,iBAAc;KACb,iBAAe,kBAAA;KACf,aAAW,MAAA,UAAA;QAEZ,YAyBW,MAAA,QAAA,EAzBX,WAyBW;cAxBL;KAAJ,KAAI;OACI,WAAW,eAAA,OAAgBA,KAAAA,OAAM,EAAA;KACxC,eAAa,QAAA;KACb,UAAU,MAAA,SAAQ;KAClB,SAAO;KACP,UAAQ;KACR,SAAO;KACP,QAAM;KACN,SAAO;KACP,WAAS;KACT,aAAW;;KAEID,KAAAA,OAAO;YAAU;wBACR,CAAvB,WAAuB,KAAA,QAAA,UAAA;;;KAETA,KAAAA,OAAO;YAAS;wBACR,CAAtB,WAAsB,KAAA,QAAA,SAAA;;;KAERA,KAAAA,OAAO;YAAS;wBACR,CAAtB,WAAsB,KAAA,QAAA,SAAA;;;KAERA,KAAAA,OAAO;YAAS;wBACR,CAAtB,WAAsB,KAAA,QAAA,SAAA"}
1
+ {"version":3,"file":"autocomplete.vue_vue_type_script_setup_true_lang.mjs","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.mjs","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.mjs","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":""}
@@ -19,7 +19,7 @@ declare const avatarGroupProps: {
19
19
  * @description control the shape of avatars in this avatar-group
20
20
  */
21
21
  readonly shape: {
22
- readonly type: vue.PropType<"square" | "circle" | undefined>;
22
+ readonly type: vue.PropType<"circle" | "square" | undefined>;
23
23
  readonly values: readonly ["circle", "square"];
24
24
  };
25
25
  /**
@@ -14,7 +14,7 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
14
14
  readonly validator: (val: unknown) => val is number;
15
15
  };
16
16
  readonly shape: {
17
- readonly type: vue.PropType<"square" | "circle" | undefined>;
17
+ readonly type: vue.PropType<"circle" | "square" | undefined>;
18
18
  readonly values: readonly ["circle", "square"];
19
19
  };
20
20
  readonly collapseAvatars: BooleanConstructor;
@@ -151,7 +151,7 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
151
151
  readonly validator: (val: unknown) => val is number;
152
152
  };
153
153
  readonly shape: {
154
- readonly type: vue.PropType<"square" | "circle" | undefined>;
154
+ readonly type: vue.PropType<"circle" | "square" | undefined>;
155
155
  readonly values: readonly ["circle", "square"];
156
156
  };
157
157
  readonly collapseAvatars: BooleanConstructor;
@@ -282,8 +282,8 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
282
282
  readonly type: vue.PropType<vue.StyleValue>;
283
283
  };
284
284
  }>> & Readonly<{}>, {
285
- readonly effect: PopperEffect;
286
285
  readonly placement: Placement;
286
+ readonly effect: PopperEffect;
287
287
  readonly collapseAvatars: boolean;
288
288
  readonly collapseAvatarsTooltip: boolean;
289
289
  readonly maxCollapseAvatars: number;
@@ -49,7 +49,7 @@ declare const avatarProps: {
49
49
  __epPropKey: true;
50
50
  };
51
51
  readonly shape: {
52
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "square" | "circle", unknown>>;
52
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "circle" | "square", unknown>>;
53
53
  readonly required: false;
54
54
  readonly validator: ((val: unknown) => boolean) | undefined;
55
55
  __epPropKey: true;
@@ -63,7 +63,7 @@ declare const avatarProps: {
63
63
  readonly src: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
64
64
  readonly alt: StringConstructor;
65
65
  readonly srcSet: StringConstructor;
66
- readonly fit: EpPropFinalized<(new (...args: any[]) => "fill" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "none" | "contain" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined) | (((new (...args: any[]) => "fill" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "none" | "contain" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined)) | null)[], unknown, unknown, "cover", boolean>;
66
+ readonly fit: EpPropFinalized<(new (...args: any[]) => "cover" | "fill" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "contain" | "none" | "scale-down") | (() => csstype.Property.ObjectFit | undefined) | (((new (...args: any[]) => "cover" | "fill" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "contain" | "none" | "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
- fit: csstype.Property.ObjectFit;
16
15
  src: string;
16
+ fit: csstype.Property.ObjectFit;
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,10 +11,10 @@ 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;
16
- target: string;
15
+ right: number;
17
16
  visibilityHeight: number;
17
+ target: string;
18
18
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
19
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
20
  declare const _default: typeof __VLS_export;
@@ -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" | "warning" | "primary" | "info" | "danger", unknown, "danger", boolean>;
57
+ readonly type: EpPropFinalized<StringConstructor, "primary" | "success" | "info" | "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
- max: number;
18
17
  type: "primary" | "success" | "warning" | "info" | "danger";
19
18
  offset: [number, number];
20
19
  value: string | 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" | "text" | "success" | "warning" | "primary" | "info" | "danger";
10
+ type: "" | "default" | "text" | "primary" | "success" | "info" | "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>;
@@ -99,7 +99,7 @@ declare const buttonProps: {
99
99
  __epPropKey: true;
100
100
  };
101
101
  readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
102
- readonly type: EpPropFinalized<StringConstructor, "" | "default" | "text" | "success" | "warning" | "primary" | "info" | "danger", unknown, "", boolean>;
102
+ readonly type: EpPropFinalized<StringConstructor, "" | "default" | "text" | "primary" | "success" | "info" | "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;
@@ -16,7 +16,7 @@ type __VLS_Slots = {} & {
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
18
  size: vue.ComputedRef<"" | "default" | "small" | "large">; /** @description button type */
19
- type: vue.ComputedRef<"" | "default" | "text" | "success" | "warning" | "primary" | "info" | "danger">; /** @description button disabled */
19
+ type: vue.ComputedRef<"" | "default" | "text" | "primary" | "success" | "info" | "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, {
@@ -24,16 +24,16 @@ declare const __VLS_base: vue.DefineComponent<ButtonProps, {
24
24
  }, string, vue.PublicProps, Readonly<ButtonProps> & Readonly<{
25
25
  onClick?: ((evt: MouseEvent) => any) | undefined;
26
26
  }>, {
27
- disabled: boolean;
28
27
  type: ButtonType;
29
- tag: string | vue.Component;
28
+ disabled: boolean;
30
29
  text: boolean;
31
30
  round: boolean;
32
31
  dashed: boolean;
33
- plain: boolean;
34
32
  nativeType: ButtonNativeType;
35
33
  loadingIcon: IconPropType;
34
+ plain: boolean;
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;
@@ -40,7 +40,7 @@ declare const calendarProps: {
40
40
  readonly validator: ((val: unknown) => boolean) | undefined;
41
41
  __epPropKey: true;
42
42
  };
43
- readonly controllerType: EpPropFinalized<StringConstructor, "select" | "button", unknown, "button", boolean>;
43
+ readonly controllerType: EpPropFinalized<StringConstructor, "button" | "select", unknown, "button", boolean>;
44
44
  readonly formatter: {
45
45
  readonly type: vue.PropType<(value: number, type: "year" | "month") => string | number>;
46
46
  readonly required: false;
@@ -11,8 +11,8 @@ type __VLS_Slots = {} & {
11
11
  footer?: (props: typeof __VLS_5) => any;
12
12
  };
13
13
  declare const __VLS_base: vue.DefineComponent<CardProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<CardProps> & Readonly<{}>, {
14
- footer: string;
15
14
  header: string;
15
+ footer: string;
16
16
  bodyStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
17
17
  shadow: "always" | "hover" | "never";
18
18
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -7,8 +7,8 @@ type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_1) => any;
8
8
  };
9
9
  declare const __VLS_base: vue.DefineComponent<CarouselItemProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<CarouselItemProps> & Readonly<{}>, {
10
- label: string | number;
11
10
  name: string;
11
+ label: string | number;
12
12
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
13
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
14
  declare const _default: typeof __VLS_export;
@@ -17,11 +17,11 @@ declare const __VLS_base: vue.DefineComponent<CarouselProps, {
17
17
  onChange?: ((current: number, prev: number) => any) | undefined;
18
18
  }>, {
19
19
  type: "" | "card";
20
- direction: "horizontal" | "vertical";
21
- height: string;
22
- arrow: "always" | "hover" | "never";
23
20
  loop: boolean;
21
+ height: string;
24
22
  trigger: "hover" | "click";
23
+ direction: "horizontal" | "vertical";
24
+ arrow: "always" | "hover" | "never";
25
25
  initialIndex: number;
26
26
  autoplay: boolean;
27
27
  interval: number;
@@ -165,7 +165,7 @@ declare const cascaderProps: {
165
165
  maxCollapseTags: EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
166
166
  collapseTagsTooltip: BooleanConstructor;
167
167
  maxCollapseTagsTooltipHeight: {
168
- readonly type: vue.PropType<EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
168
+ readonly type: vue.PropType<EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>>;
169
169
  readonly required: false;
170
170
  readonly validator: ((val: unknown) => boolean) | undefined;
171
171
  __epPropKey: true;
@@ -180,7 +180,7 @@ declare const cascaderProps: {
180
180
  new (): any;
181
181
  readonly prototype: any;
182
182
  }) | null)[], unknown, unknown, () => true, boolean>;
183
- placement: EpPropFinalized<(new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, string, boolean>;
183
+ placement: EpPropFinalized<(new (...args: any[]) => "auto" | "auto-start" | "auto-end" | "top" | "bottom" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "auto" | "auto-start" | "auto-end" | "top" | "bottom" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, string, boolean>;
184
184
  fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, string[], boolean>;
185
185
  popperClass: {
186
186
  readonly type: vue.PropType<EpPropMergeType<(new (...args: any[]) => string | {
@@ -294,14 +294,14 @@ declare const cascaderProps: {
294
294
  effect: EpPropFinalized<(new (...args: any[]) => string) | (() => PopperEffect) | (((new (...args: any[]) => string) | (() => PopperEffect)) | null)[], unknown, unknown, string, boolean>;
295
295
  tagType: {
296
296
  default: string;
297
- type: vue.PropType<EpPropMergeType<StringConstructor, "success" | "warning" | "primary" | "info" | "danger", unknown>>;
297
+ type: vue.PropType<EpPropMergeType<StringConstructor, "primary" | "success" | "info" | "warning" | "danger", unknown>>;
298
298
  required: false;
299
299
  validator: ((val: unknown) => boolean) | undefined;
300
300
  __epPropKey: true;
301
301
  };
302
302
  tagEffect: {
303
303
  default: string;
304
- type: vue.PropType<EpPropMergeType<StringConstructor, "dark" | "light" | "plain", unknown>>;
304
+ type: vue.PropType<EpPropMergeType<StringConstructor, "light" | "dark" | "plain", unknown>>;
305
305
  required: false;
306
306
  validator: ((val: unknown) => boolean) | undefined;
307
307
  __epPropKey: true;