@element-plus/nightly 0.0.20260420 → 0.0.20260422

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +29 -16
  3. package/dist/index.full.min.js +5 -5
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +7 -7
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +29 -16
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/affix/src/affix.d.ts +1 -1
  277. package/es/components/affix/src/affix.vue.d.ts +1 -1
  278. package/es/components/alert/src/alert.d.ts +1 -1
  279. package/es/components/alert/src/alert.vue.d.ts +2 -2
  280. package/es/components/anchor/src/anchor.vue.d.ts +1 -1
  281. package/es/components/autocomplete/src/autocomplete.d.ts +15 -5
  282. package/es/components/autocomplete/src/autocomplete.mjs +5 -0
  283. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  284. package/es/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  285. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs +4 -0
  286. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  287. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  288. package/es/components/avatar/src/avatar-group-props.d.ts +1 -1
  289. package/es/components/avatar/src/avatar-group.d.ts +3 -3
  290. package/es/components/avatar/src/avatar.d.ts +2 -2
  291. package/es/components/avatar/src/avatar.vue.d.ts +1 -1
  292. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  293. package/es/components/badge/src/badge.d.ts +1 -1
  294. package/es/components/badge/src/badge.vue.d.ts +2 -2
  295. package/es/components/button/src/button-group.vue.d.ts +1 -1
  296. package/es/components/button/src/button.d.ts +2 -2
  297. package/es/components/button/src/button.vue.d.ts +5 -5
  298. package/es/components/card/src/card.d.ts +1 -1
  299. package/es/components/carousel/src/carousel.d.ts +1 -1
  300. package/es/components/carousel/src/carousel.vue.d.ts +2 -2
  301. package/es/components/cascader/src/cascader.d.ts +4 -4
  302. package/es/components/cascader/src/cascader.vue.d.ts +17 -17
  303. package/es/components/cascader-panel/src/index.vue.d.ts +1 -1
  304. package/es/components/check-tag/src/check-tag.d.ts +1 -1
  305. package/es/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  306. package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
  307. package/es/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  308. package/es/components/checkbox/src/checkbox.d.ts +9 -9
  309. package/es/components/checkbox/src/checkbox.vue.d.ts +4 -4
  310. package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  311. package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  312. package/es/components/col/src/col.vue.d.ts +2 -2
  313. package/es/components/collapse/src/collapse-item.vue.d.ts +1 -1
  314. package/es/components/color-picker/src/color-picker.d.ts +1 -1
  315. package/es/components/color-picker/src/color-picker.vue.d.ts +5 -5
  316. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +2 -2
  317. package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
  318. package/es/components/config-provider/src/config-provider.d.ts +2 -2
  319. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  320. package/es/components/countdown/src/countdown.vue.d.ts +1 -1
  321. package/es/components/date-picker/src/date-picker.d.ts +15 -15
  322. package/es/components/date-picker/src/props.d.ts +2 -2
  323. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +3 -3
  324. package/es/components/descriptions/src/description-item.d.ts +12 -12
  325. package/es/components/descriptions/src/description.d.ts +1 -1
  326. package/es/components/descriptions/src/description.vue.d.ts +1 -1
  327. package/es/components/dialog/src/dialog.vue.d.ts +1 -1
  328. package/es/components/divider/src/divider.vue.d.ts +1 -1
  329. package/es/components/drawer/src/drawer.vue.d.ts +2 -2
  330. package/es/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  331. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  332. package/es/components/dropdown/src/dropdown.d.ts +3 -3
  333. package/es/components/dropdown/src/dropdown.vue.d.ts +99 -99
  334. package/es/components/form/src/form-item.d.ts +3 -3
  335. package/es/components/form/src/form-item.vue.d.ts +3 -3
  336. package/es/components/form/src/form.d.ts +3 -3
  337. package/es/components/form/src/form.vue.d.ts +1 -1
  338. package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  339. package/es/components/image/src/image.d.ts +1 -1
  340. package/es/components/image/src/image.vue.d.ts +4 -4
  341. package/es/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
  342. package/es/components/input/src/input.d.ts +3 -3
  343. package/es/components/input/src/input.vue.d.ts +12 -12
  344. package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs +13 -3
  345. package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  346. package/es/components/input/src/input2.mjs.map +1 -1
  347. package/es/components/input-number/src/input-number.d.ts +2 -2
  348. package/es/components/input-number/src/input-number.vue.d.ts +7 -7
  349. package/es/components/input-otp/src/input-otp.vue.d.ts +2 -2
  350. package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  351. package/es/components/input-tag/src/input-tag.d.ts +2 -2
  352. package/es/components/input-tag/src/input-tag.vue.d.ts +13 -13
  353. package/es/components/link/src/link.d.ts +2 -2
  354. package/es/components/mention/src/mention.d.ts +4 -4
  355. package/es/components/mention/src/mention.vue.d.ts +4 -4
  356. package/es/components/menu/src/menu.d.ts +1 -1
  357. package/es/components/message/src/message.d.ts +2 -2
  358. package/es/components/message/src/message.vue.d.ts +5 -5
  359. package/es/components/notification/src/notification.d.ts +2 -2
  360. package/es/components/notification/src/notification.vue.d.ts +2 -2
  361. package/es/components/pagination/src/pagination.d.ts +5 -5
  362. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  363. package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  364. package/es/components/popover/src/popover.d.ts +2 -2
  365. package/es/components/popover/src/popover.vue.d.ts +15 -15
  366. package/es/components/popper/src/composables/use-content.d.ts +4 -4
  367. package/es/components/popper/src/content.d.ts +4 -4
  368. package/es/components/popper/src/content.vue.d.ts +16 -16
  369. package/es/components/popper/src/popper.d.ts +2 -2
  370. package/es/components/progress/src/progress.d.ts +1 -1
  371. package/es/components/progress/src/progress.vue.d.ts +4 -4
  372. package/es/components/radio/src/radio-button.d.ts +4 -4
  373. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  374. package/es/components/radio/src/radio-group.d.ts +2 -2
  375. package/es/components/radio/src/radio-group.vue.d.ts +3 -3
  376. package/es/components/radio/src/radio.d.ts +8 -8
  377. package/es/components/radio/src/radio.vue.d.ts +3 -3
  378. package/es/components/rate/src/rate.d.ts +1 -1
  379. package/es/components/rate/src/rate.vue.d.ts +1 -1
  380. package/es/components/result/src/result.d.ts +1 -1
  381. package/es/components/result/src/result.vue.d.ts +1 -1
  382. package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  383. package/es/components/row/src/row.d.ts +1 -1
  384. package/es/components/row/src/row.vue.d.ts +1 -1
  385. package/es/components/scrollbar/src/scrollbar.vue.d.ts +4 -4
  386. package/es/components/segmented/index.d.ts +1 -1
  387. package/es/components/segmented/src/segmented.d.ts +2 -2
  388. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs +4 -0
  389. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  390. package/es/components/segmented/src/segmented2.mjs.map +1 -1
  391. package/es/components/select/src/option.d.ts +2 -2
  392. package/es/components/select/src/option.vue.d.ts +5 -5
  393. package/es/components/select/src/select.d.ts +7 -7
  394. package/es/components/select/src/select.mjs.map +1 -1
  395. package/es/components/select/src/select.vue.d.ts +143 -124
  396. package/es/components/select/src/select.vue_vue_type_script_lang.mjs +2 -13
  397. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  398. package/es/components/select/src/select2.mjs.map +1 -1
  399. package/es/components/select-v2/src/defaults.d.ts +4 -4
  400. package/es/components/select-v2/src/select.vue.d.ts +94 -94
  401. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  402. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  403. package/es/components/slider/src/button.vue.d.ts +1 -1
  404. package/es/components/slider/src/slider.d.ts +2 -2
  405. package/es/components/slider/src/slider.vue.d.ts +8 -8
  406. package/es/components/space/src/space.d.ts +3 -3
  407. package/es/components/steps/src/item.d.ts +1 -1
  408. package/es/components/steps/src/item.vue.d.ts +1 -1
  409. package/es/components/steps/src/steps.d.ts +2 -2
  410. package/es/components/switch/src/switch.d.ts +1 -1
  411. package/es/components/switch/src/switch.vue.d.ts +2 -2
  412. package/es/components/table/src/table-column/index.d.ts +19 -19
  413. package/es/components/table/src/table-header/index.d.ts +12 -12
  414. package/es/components/table/src/table.vue.d.ts +48 -48
  415. package/es/components/table-v2/src/components/row.d.ts +1 -1
  416. package/es/components/table-v2/src/table-grid.d.ts +3 -3
  417. package/es/components/table-v2/src/table-v2.d.ts +3 -3
  418. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  419. package/es/components/tabs/src/tabs.d.ts +6 -6
  420. package/es/components/tag/src/tag.d.ts +2 -2
  421. package/es/components/tag/src/tag.vue.d.ts +1 -1
  422. package/es/components/text/src/text.d.ts +2 -2
  423. package/es/components/time-picker/src/common/picker.vue.d.ts +17 -17
  424. package/es/components/time-picker/src/common/props.d.ts +2 -2
  425. package/es/components/time-picker/src/time-picker.d.ts +15 -15
  426. package/es/components/time-select/src/time-select.d.ts +1 -1
  427. package/es/components/time-select/src/time-select.vue.d.ts +5 -5
  428. package/es/components/timeline/src/timeline-item.d.ts +3 -3
  429. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  430. package/es/components/tooltip/src/content.d.ts +1 -1
  431. package/es/components/tooltip/src/content.vue.d.ts +16 -16
  432. package/es/components/tooltip/src/tooltip.d.ts +3 -3
  433. package/es/components/tooltip/src/tooltip.vue.d.ts +18 -18
  434. package/es/components/tooltip/src/trigger.d.ts +1 -1
  435. package/es/components/tour/src/content.d.ts +2 -2
  436. package/es/components/tour/src/step.d.ts +1 -1
  437. package/es/components/tour/src/step.vue.d.ts +1 -1
  438. package/es/components/tour/src/tour.d.ts +1 -1
  439. package/es/components/tour/src/tour.vue.d.ts +2 -2
  440. package/es/components/tree/src/tree.vue.d.ts +18 -18
  441. package/es/components/tree-select/src/tree-select.vue.d.ts +43 -43
  442. package/es/components/tree-v2/src/tree.vue.d.ts +4 -4
  443. package/es/components/upload/src/upload-content.d.ts +1 -1
  444. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  445. package/es/components/upload/src/upload-list.d.ts +1 -1
  446. package/es/components/upload/src/upload.d.ts +2 -2
  447. package/es/components/upload/src/upload.vue.d.ts +2 -2
  448. package/es/components/virtual-list/src/builders/build-grid.d.ts +3 -3
  449. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
  450. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +4 -4
  451. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
  452. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +4 -4
  453. package/es/hooks/use-floating/index.d.ts +8 -8
  454. package/es/hooks/use-popper/index.d.ts +4 -4
  455. package/es/hooks/use-size/index.d.ts +3 -3
  456. package/es/utils/vue/vnode.d.ts +4 -4
  457. package/es/version.mjs +1 -1
  458. package/es/version.mjs.map +1 -1
  459. package/lib/components/affix/src/affix.d.ts +1 -1
  460. package/lib/components/affix/src/affix.vue.d.ts +1 -1
  461. package/lib/components/alert/src/alert.d.ts +1 -1
  462. package/lib/components/alert/src/alert.vue.d.ts +2 -2
  463. package/lib/components/anchor/src/anchor.vue.d.ts +1 -1
  464. package/lib/components/autocomplete/src/autocomplete.d.ts +15 -5
  465. package/lib/components/autocomplete/src/autocomplete.js +5 -0
  466. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  467. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  468. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js +4 -0
  469. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  470. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  471. package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
  472. package/lib/components/avatar/src/avatar-group.d.ts +3 -3
  473. package/lib/components/avatar/src/avatar.d.ts +2 -2
  474. package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
  475. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  476. package/lib/components/badge/src/badge.d.ts +1 -1
  477. package/lib/components/badge/src/badge.vue.d.ts +2 -2
  478. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  479. package/lib/components/button/src/button.d.ts +2 -2
  480. package/lib/components/button/src/button.vue.d.ts +5 -5
  481. package/lib/components/card/src/card.d.ts +1 -1
  482. package/lib/components/carousel/src/carousel.d.ts +1 -1
  483. package/lib/components/carousel/src/carousel.vue.d.ts +2 -2
  484. package/lib/components/cascader/src/cascader.d.ts +4 -4
  485. package/lib/components/cascader/src/cascader.vue.d.ts +17 -17
  486. package/lib/components/cascader-panel/src/index.vue.d.ts +1 -1
  487. package/lib/components/check-tag/src/check-tag.d.ts +1 -1
  488. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  489. package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
  490. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  491. package/lib/components/checkbox/src/checkbox.d.ts +9 -9
  492. package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -4
  493. package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  494. package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  495. package/lib/components/col/src/col.vue.d.ts +2 -2
  496. package/lib/components/collapse/src/collapse-item.vue.d.ts +1 -1
  497. package/lib/components/color-picker/src/color-picker.d.ts +1 -1
  498. package/lib/components/color-picker/src/color-picker.vue.d.ts +5 -5
  499. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +2 -2
  500. package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
  501. package/lib/components/config-provider/src/config-provider.d.ts +2 -2
  502. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  503. package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
  504. package/lib/components/date-picker/src/date-picker.d.ts +15 -15
  505. package/lib/components/date-picker/src/props.d.ts +2 -2
  506. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +3 -3
  507. package/lib/components/descriptions/src/description-item.d.ts +12 -12
  508. package/lib/components/descriptions/src/description.d.ts +1 -1
  509. package/lib/components/descriptions/src/description.vue.d.ts +1 -1
  510. package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
  511. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  512. package/lib/components/drawer/src/drawer.vue.d.ts +2 -2
  513. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  514. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  515. package/lib/components/dropdown/src/dropdown.d.ts +3 -3
  516. package/lib/components/dropdown/src/dropdown.vue.d.ts +99 -99
  517. package/lib/components/form/src/form-item.d.ts +3 -3
  518. package/lib/components/form/src/form-item.vue.d.ts +3 -3
  519. package/lib/components/form/src/form.d.ts +3 -3
  520. package/lib/components/form/src/form.vue.d.ts +1 -1
  521. package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  522. package/lib/components/image/src/image.d.ts +1 -1
  523. package/lib/components/image/src/image.vue.d.ts +4 -4
  524. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
  525. package/lib/components/input/src/input.d.ts +3 -3
  526. package/lib/components/input/src/input.vue.d.ts +12 -12
  527. package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js +13 -3
  528. package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js.map +1 -1
  529. package/lib/components/input/src/input2.js.map +1 -1
  530. package/lib/components/input-number/src/input-number.d.ts +2 -2
  531. package/lib/components/input-number/src/input-number.vue.d.ts +7 -7
  532. package/lib/components/input-otp/src/input-otp.vue.d.ts +2 -2
  533. package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  534. package/lib/components/input-tag/src/input-tag.d.ts +2 -2
  535. package/lib/components/input-tag/src/input-tag.vue.d.ts +13 -13
  536. package/lib/components/link/src/link.d.ts +2 -2
  537. package/lib/components/mention/src/mention.d.ts +4 -4
  538. package/lib/components/mention/src/mention.vue.d.ts +4 -4
  539. package/lib/components/menu/src/menu.d.ts +1 -1
  540. package/lib/components/message/src/message.d.ts +2 -2
  541. package/lib/components/message/src/message.vue.d.ts +5 -5
  542. package/lib/components/notification/src/notification.d.ts +2 -2
  543. package/lib/components/notification/src/notification.vue.d.ts +2 -2
  544. package/lib/components/pagination/src/pagination.d.ts +5 -5
  545. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  546. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  547. package/lib/components/popover/src/popover.d.ts +2 -2
  548. package/lib/components/popover/src/popover.vue.d.ts +15 -15
  549. package/lib/components/popper/src/composables/use-content.d.ts +4 -4
  550. package/lib/components/popper/src/content.d.ts +4 -4
  551. package/lib/components/popper/src/content.vue.d.ts +16 -16
  552. package/lib/components/popper/src/popper.d.ts +2 -2
  553. package/lib/components/progress/src/progress.d.ts +1 -1
  554. package/lib/components/progress/src/progress.vue.d.ts +4 -4
  555. package/lib/components/radio/src/radio-button.d.ts +4 -4
  556. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  557. package/lib/components/radio/src/radio-group.d.ts +2 -2
  558. package/lib/components/radio/src/radio-group.vue.d.ts +3 -3
  559. package/lib/components/radio/src/radio.d.ts +8 -8
  560. package/lib/components/radio/src/radio.vue.d.ts +3 -3
  561. package/lib/components/rate/src/rate.d.ts +1 -1
  562. package/lib/components/rate/src/rate.vue.d.ts +1 -1
  563. package/lib/components/result/src/result.d.ts +1 -1
  564. package/lib/components/result/src/result.vue.d.ts +1 -1
  565. package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  566. package/lib/components/row/src/row.d.ts +1 -1
  567. package/lib/components/row/src/row.vue.d.ts +1 -1
  568. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +4 -4
  569. package/lib/components/segmented/index.d.ts +1 -1
  570. package/lib/components/segmented/src/segmented.d.ts +2 -2
  571. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js +4 -0
  572. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
  573. package/lib/components/segmented/src/segmented2.js.map +1 -1
  574. package/lib/components/select/src/option.d.ts +2 -2
  575. package/lib/components/select/src/option.vue.d.ts +5 -5
  576. package/lib/components/select/src/select.d.ts +7 -7
  577. package/lib/components/select/src/select.js.map +1 -1
  578. package/lib/components/select/src/select.vue.d.ts +143 -124
  579. package/lib/components/select/src/select.vue_vue_type_script_lang.js +1 -12
  580. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  581. package/lib/components/select/src/select2.js.map +1 -1
  582. package/lib/components/select-v2/src/defaults.d.ts +4 -4
  583. package/lib/components/select-v2/src/select.vue.d.ts +94 -94
  584. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  585. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  586. package/lib/components/slider/src/button.vue.d.ts +1 -1
  587. package/lib/components/slider/src/slider.d.ts +2 -2
  588. package/lib/components/slider/src/slider.vue.d.ts +8 -8
  589. package/lib/components/space/src/space.d.ts +3 -3
  590. package/lib/components/steps/src/item.d.ts +1 -1
  591. package/lib/components/steps/src/item.vue.d.ts +1 -1
  592. package/lib/components/steps/src/steps.d.ts +2 -2
  593. package/lib/components/switch/src/switch.d.ts +1 -1
  594. package/lib/components/switch/src/switch.vue.d.ts +2 -2
  595. package/lib/components/table/src/table-column/index.d.ts +19 -19
  596. package/lib/components/table/src/table-header/index.d.ts +12 -12
  597. package/lib/components/table/src/table.vue.d.ts +48 -48
  598. package/lib/components/table-v2/src/components/row.d.ts +1 -1
  599. package/lib/components/table-v2/src/table-grid.d.ts +3 -3
  600. package/lib/components/table-v2/src/table-v2.d.ts +3 -3
  601. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  602. package/lib/components/tabs/src/tabs.d.ts +6 -6
  603. package/lib/components/tag/src/tag.d.ts +2 -2
  604. package/lib/components/tag/src/tag.vue.d.ts +1 -1
  605. package/lib/components/text/src/text.d.ts +2 -2
  606. package/lib/components/time-picker/src/common/picker.vue.d.ts +17 -17
  607. package/lib/components/time-picker/src/common/props.d.ts +2 -2
  608. package/lib/components/time-picker/src/time-picker.d.ts +15 -15
  609. package/lib/components/time-select/src/time-select.d.ts +1 -1
  610. package/lib/components/time-select/src/time-select.vue.d.ts +5 -5
  611. package/lib/components/timeline/src/timeline-item.d.ts +3 -3
  612. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  613. package/lib/components/tooltip/src/content.d.ts +1 -1
  614. package/lib/components/tooltip/src/content.vue.d.ts +16 -16
  615. package/lib/components/tooltip/src/tooltip.d.ts +3 -3
  616. package/lib/components/tooltip/src/tooltip.vue.d.ts +18 -18
  617. package/lib/components/tooltip/src/trigger.d.ts +1 -1
  618. package/lib/components/tour/src/content.d.ts +2 -2
  619. package/lib/components/tour/src/step.d.ts +1 -1
  620. package/lib/components/tour/src/step.vue.d.ts +1 -1
  621. package/lib/components/tour/src/tour.d.ts +1 -1
  622. package/lib/components/tour/src/tour.vue.d.ts +2 -2
  623. package/lib/components/tree/src/tree.vue.d.ts +18 -18
  624. package/lib/components/tree-select/src/tree-select.vue.d.ts +43 -43
  625. package/lib/components/tree-v2/src/tree.vue.d.ts +4 -4
  626. package/lib/components/upload/src/upload-content.d.ts +1 -1
  627. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  628. package/lib/components/upload/src/upload-list.d.ts +1 -1
  629. package/lib/components/upload/src/upload.d.ts +2 -2
  630. package/lib/components/upload/src/upload.vue.d.ts +2 -2
  631. package/lib/components/virtual-list/src/builders/build-grid.d.ts +3 -3
  632. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
  633. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +4 -4
  634. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
  635. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +4 -4
  636. package/lib/hooks/use-floating/index.d.ts +8 -8
  637. package/lib/hooks/use-popper/index.d.ts +4 -4
  638. package/lib/hooks/use-size/index.d.ts +3 -3
  639. package/lib/utils/vue/vnode.d.ts +4 -4
  640. package/lib/version.js +1 -1
  641. package/lib/version.js.map +1 -1
  642. package/package.json +2 -2
  643. package/tags.json +1 -1
  644. package/web-types.json +1 -1
@@ -1 +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":"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"}
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":""}
@@ -11,7 +11,7 @@ declare const avatarGroupProps: {
11
11
  * @description control the size of avatars in this avatar-group
12
12
  */
13
13
  readonly size: {
14
- readonly type: vue.PropType<number | "" | "default" | "small" | "large" | undefined>;
14
+ readonly type: vue.PropType<number | "" | "default" | "large" | "small" | undefined>;
15
15
  readonly values: readonly ["", "default", "small", "large"];
16
16
  readonly validator: (val: unknown) => val is number;
17
17
  };
@@ -9,7 +9,7 @@ import * as vue_jsx_runtime0 from "vue/jsx-runtime";
9
9
  //#region ../../packages/components/avatar/src/avatar-group.d.ts
10
10
  declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
11
11
  readonly size: {
12
- readonly type: vue.PropType<number | "" | "default" | "small" | "large" | undefined>;
12
+ readonly type: vue.PropType<number | "" | "default" | "large" | "small" | undefined>;
13
13
  readonly values: readonly ["", "default", "small", "large"];
14
14
  readonly validator: (val: unknown) => val is number;
15
15
  };
@@ -146,7 +146,7 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
146
146
  };
147
147
  }>, () => vue_jsx_runtime0.JSX.Element, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
148
148
  readonly size: {
149
- readonly type: vue.PropType<number | "" | "default" | "small" | "large" | undefined>;
149
+ readonly type: vue.PropType<number | "" | "default" | "large" | "small" | undefined>;
150
150
  readonly values: readonly ["", "default", "small", "large"];
151
151
  readonly validator: (val: unknown) => val is number;
152
152
  };
@@ -282,8 +282,8 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
282
282
  readonly type: vue.PropType<vue.StyleValue>;
283
283
  };
284
284
  }>> & Readonly<{}>, {
285
- readonly effect: PopperEffect;
286
285
  readonly placement: Placement;
286
+ readonly effect: PopperEffect;
287
287
  readonly collapseAvatars: boolean;
288
288
  readonly collapseAvatarsTooltip: boolean;
289
289
  readonly maxCollapseAvatars: number;
@@ -43,7 +43,7 @@ interface AvatarProps {
43
43
  */
44
44
  declare const avatarProps: {
45
45
  readonly size: {
46
- readonly type: vue.PropType<EpPropMergeType<readonly [NumberConstructor, StringConstructor], "" | "default" | "small" | "large", number>>;
46
+ readonly type: vue.PropType<EpPropMergeType<readonly [NumberConstructor, StringConstructor], "" | "default" | "large" | "small", number>>;
47
47
  readonly required: false;
48
48
  readonly validator: ((val: unknown) => boolean) | undefined;
49
49
  __epPropKey: true;
@@ -63,7 +63,7 @@ declare const avatarProps: {
63
63
  readonly src: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
64
64
  readonly alt: StringConstructor;
65
65
  readonly srcSet: StringConstructor;
66
- readonly fit: EpPropFinalized<(new (...args: any[]) => "fill" | "none" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined) | (((new (...args: any[]) => "fill" | "none" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined)) | null)[], unknown, unknown, "cover", boolean>;
66
+ readonly fit: EpPropFinalized<(new (...args: any[]) => "fill" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "none" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined) | (((new (...args: any[]) => "fill" | "contain" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "none" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined)) | null)[], unknown, unknown, "cover", boolean>;
67
67
  };
68
68
  /**
69
69
  * @deprecated Removed after 3.0.0, Use `AvatarProps` instead.
@@ -12,8 +12,8 @@ declare const __VLS_base: vue.DefineComponent<AvatarProps, {}, {}, {}, {}, vue.C
12
12
  }, string, vue.PublicProps, Readonly<AvatarProps> & Readonly<{
13
13
  onError?: ((evt: Event) => any) | undefined;
14
14
  }>, {
15
- src: string;
16
15
  fit: csstype.Property.ObjectFit;
16
+ src: string;
17
17
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
18
18
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
19
  declare const _default: typeof __VLS_export;
@@ -11,8 +11,8 @@ declare const __VLS_base: vue.DefineComponent<BacktopProps, {}, {}, {}, {}, vue.
11
11
  }, string, vue.PublicProps, Readonly<BacktopProps> & Readonly<{
12
12
  onClick?: ((evt: MouseEvent) => any) | undefined;
13
13
  }>, {
14
- right: number;
15
14
  bottom: number;
15
+ right: number;
16
16
  target: string;
17
17
  visibilityHeight: number;
18
18
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -54,7 +54,7 @@ declare const badgeProps: {
54
54
  readonly max: EpPropFinalized<NumberConstructor, unknown, unknown, 99, boolean>;
55
55
  readonly isDot: BooleanConstructor;
56
56
  readonly hidden: BooleanConstructor;
57
- readonly type: EpPropFinalized<StringConstructor, "success" | "primary" | "info" | "warning" | "danger", unknown, "danger", boolean>;
57
+ readonly type: EpPropFinalized<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown, "danger", boolean>;
58
58
  readonly showZero: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
59
59
  readonly color: StringConstructor;
60
60
  readonly badgeStyle: {
@@ -14,10 +14,10 @@ type __VLS_Slots = {} & {
14
14
  declare const __VLS_base: vue.DefineComponent<BadgeProps, {
15
15
  /** @description badge content */content: vue.ComputedRef<string>;
16
16
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
17
- type: "primary" | "success" | "warning" | "info" | "danger";
18
17
  value: string | number;
19
- max: number;
18
+ type: "primary" | "success" | "warning" | "info" | "danger";
20
19
  offset: [number, number];
20
+ max: number;
21
21
  showZero: boolean;
22
22
  badgeStyle: string | false | vue.CSSProperties | StyleValue[] | null;
23
23
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -7,7 +7,7 @@ type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_1) => any;
8
8
  };
9
9
  declare const __VLS_base: vue.DefineComponent<ButtonGroupProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<ButtonGroupProps> & Readonly<{}>, {
10
- type: "" | "default" | "success" | "primary" | "info" | "warning" | "danger" | "text";
10
+ type: "" | "info" | "text" | "default" | "primary" | "success" | "warning" | "danger";
11
11
  direction: "horizontal" | "vertical";
12
12
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
13
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -93,13 +93,13 @@ interface ButtonProps {
93
93
  */
94
94
  declare const buttonProps: {
95
95
  readonly size: {
96
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
96
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
97
97
  readonly required: false;
98
98
  readonly validator: ((val: unknown) => boolean) | undefined;
99
99
  __epPropKey: true;
100
100
  };
101
101
  readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
102
- readonly type: EpPropFinalized<StringConstructor, "" | "default" | "success" | "primary" | "info" | "warning" | "danger" | "text", unknown, "", boolean>;
102
+ readonly type: EpPropFinalized<StringConstructor, "" | "info" | "text" | "default" | "primary" | "success" | "warning" | "danger", unknown, "", boolean>;
103
103
  readonly icon: {
104
104
  readonly type: vue.PropType<EpPropMergeType<(new (...args: any[]) => (string | Component) & {}) | (() => string | Component) | (((new (...args: any[]) => (string | Component) & {}) | (() => string | Component)) | null)[], unknown, unknown>>;
105
105
  readonly required: false;
@@ -15,8 +15,8 @@ type __VLS_Slots = {} & {
15
15
  };
16
16
  declare const __VLS_base: vue.DefineComponent<ButtonProps, {
17
17
  /** @description button html element */ref: vue.Ref<HTMLButtonElement | undefined, HTMLButtonElement | undefined>; /** @description button size */
18
- size: vue.ComputedRef<"" | "default" | "small" | "large">; /** @description button type */
19
- type: vue.ComputedRef<"" | "default" | "success" | "primary" | "info" | "warning" | "danger" | "text">; /** @description button disabled */
18
+ size: vue.ComputedRef<"" | "default" | "large" | "small">; /** @description button type */
19
+ type: vue.ComputedRef<"" | "info" | "text" | "default" | "primary" | "success" | "warning" | "danger">; /** @description button disabled */
20
20
  disabled: vue.ComputedRef<boolean>; /** @description whether adding space */
21
21
  shouldAddSpace: vue.ComputedRef<boolean>;
22
22
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
@@ -26,14 +26,14 @@ declare const __VLS_base: vue.DefineComponent<ButtonProps, {
26
26
  }>, {
27
27
  disabled: boolean;
28
28
  type: ButtonType;
29
- tag: string | vue.Component;
30
- plain: boolean;
31
- round: boolean;
32
29
  text: boolean;
30
+ round: boolean;
33
31
  dashed: boolean;
32
+ plain: boolean;
34
33
  nativeType: ButtonNativeType;
35
34
  loadingIcon: IconPropType;
36
35
  autoInsertSpace: boolean;
36
+ tag: string | vue.Component;
37
37
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
38
38
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
39
39
  declare const _default: typeof __VLS_export;
@@ -44,7 +44,7 @@ declare const cardProps: {
44
44
  readonly headerClass: StringConstructor;
45
45
  readonly bodyClass: StringConstructor;
46
46
  readonly footerClass: StringConstructor;
47
- readonly shadow: EpPropFinalized<StringConstructor, "always" | "hover" | "never", unknown, undefined, boolean>;
47
+ readonly shadow: EpPropFinalized<StringConstructor, "hover" | "always" | "never", unknown, undefined, boolean>;
48
48
  };
49
49
  /**
50
50
  * @deprecated Removed after 3.0.0, Use `CardProps` instead.
@@ -67,7 +67,7 @@ declare const carouselProps: {
67
67
  readonly autoplay: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
68
68
  readonly interval: EpPropFinalized<NumberConstructor, unknown, unknown, 3000, boolean>;
69
69
  readonly indicatorPosition: EpPropFinalized<StringConstructor, "" | "none" | "outside", unknown, "", boolean>;
70
- readonly arrow: EpPropFinalized<StringConstructor, "always" | "hover" | "never", unknown, "hover", boolean>;
70
+ readonly arrow: EpPropFinalized<StringConstructor, "hover" | "always" | "never", unknown, "hover", boolean>;
71
71
  readonly type: EpPropFinalized<StringConstructor, "" | "card", unknown, "", boolean>;
72
72
  readonly cardScale: EpPropFinalized<NumberConstructor, unknown, unknown, 0.83, boolean>;
73
73
  readonly loop: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
@@ -17,10 +17,10 @@ declare const __VLS_base: vue.DefineComponent<CarouselProps, {
17
17
  onChange?: ((current: number, prev: number) => any) | undefined;
18
18
  }>, {
19
19
  type: "" | "card";
20
- height: string;
21
- direction: "horizontal" | "vertical";
22
20
  loop: boolean;
23
21
  trigger: "hover" | "click";
22
+ direction: "horizontal" | "vertical";
23
+ height: string;
24
24
  arrow: "always" | "hover" | "never";
25
25
  initialIndex: number;
26
26
  autoplay: boolean;
@@ -140,7 +140,7 @@ declare const cascaderProps: {
140
140
  emptyValues: ArrayConstructor;
141
141
  valueOnClear: EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown, undefined, boolean>;
142
142
  size: {
143
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
143
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
144
144
  readonly required: false;
145
145
  readonly validator: ((val: unknown) => boolean) | undefined;
146
146
  __epPropKey: true;
@@ -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[]) => "right" | "left" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "right" | "left" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, string, boolean>;
183
+ placement: EpPropFinalized<(new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], 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,7 +294,7 @@ 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" | "primary" | "info" | "warning" | "danger", unknown>>;
297
+ type: vue.PropType<EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>>;
298
298
  required: false;
299
299
  validator: ((val: unknown) => boolean) | undefined;
300
300
  __epPropKey: true;
@@ -38,44 +38,44 @@ declare const __VLS_base: vue.DefineComponent<CascaderComponentProps, {
38
38
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
39
39
  "update:modelValue": (value: CascaderValue | null | undefined) => void;
40
40
  change: (value: CascaderValue | null | undefined) => void;
41
- clear: () => void;
42
41
  focus: (evt: FocusEvent) => void;
43
42
  blur: (evt: FocusEvent) => void;
43
+ clear: () => void;
44
44
  visibleChange: (val: boolean) => void;
45
45
  expandChange: (val: CascaderValue) => void;
46
46
  removeTag: (val: CascaderNodeValue | CascaderNodePathValue) => void;
47
47
  }, string, vue.PublicProps, Readonly<CascaderComponentProps> & Readonly<{
48
48
  "onUpdate:modelValue"?: ((value: CascaderValue | null | undefined) => any) | undefined;
49
49
  onChange?: ((value: CascaderValue | null | undefined) => any) | undefined;
50
- onClear?: (() => any) | undefined;
51
50
  onFocus?: ((evt: FocusEvent) => any) | undefined;
52
51
  onBlur?: ((evt: FocusEvent) => any) | undefined;
52
+ onClear?: (() => any) | undefined;
53
53
  onVisibleChange?: ((val: boolean) => any) | undefined;
54
54
  onExpandChange?: ((val: CascaderValue) => any) | undefined;
55
55
  onRemoveTag?: ((val: CascaderNodeValue | CascaderNodePathValue) => any) | undefined;
56
56
  }>, {
57
57
  disabled: boolean;
58
- props: CascaderProps;
59
- validateEvent: boolean;
60
- options: CascaderOption[];
61
- effect: PopperEffect;
62
- popperStyle: string | false | vue.CSSProperties | StyleValue[] | null;
63
- placement: Placement;
64
- debounce: number;
58
+ showPrefix: boolean;
59
+ clearIcon: IconPropType;
65
60
  filterMethod: (node: Node, keyword: string) => boolean;
61
+ separator: string;
62
+ showAllLevels: boolean;
66
63
  maxCollapseTags: number;
64
+ debounce: number;
65
+ beforeFilter: (value: string) => boolean | Promise<any>;
66
+ placement: Placement;
67
67
  fallbackPlacements: Placement[];
68
+ popperStyle: string | false | vue.CSSProperties | StyleValue[] | null;
68
69
  teleported: boolean;
69
- persistent: boolean;
70
- clearIcon: IconPropType;
71
- tagType: "success" | "primary" | "info" | "warning" | "danger";
70
+ effect: PopperEffect;
71
+ tagType: "info" | "primary" | "success" | "warning" | "danger";
72
72
  tagEffect: "light" | "dark" | "plain";
73
- valueOnClear: string | number | boolean | Function | null;
74
- separator: string;
75
- showPrefix: boolean;
76
- showAllLevels: boolean;
77
- beforeFilter: (value: string) => boolean | Promise<any>;
73
+ validateEvent: boolean;
74
+ persistent: boolean;
78
75
  showCheckedStrategy: "parent" | "child";
76
+ options: CascaderOption[];
77
+ props: CascaderProps;
78
+ valueOnClear: string | number | boolean | Function | null;
79
79
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
80
80
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
81
81
  declare const _default: typeof __VLS_export;
@@ -279,9 +279,9 @@ declare const __VLS_base: vue.DefineComponent<CascaderPanelProps, {
279
279
  onClose?: (() => any) | undefined;
280
280
  "onExpand-change"?: ((value: CascaderNodePathValue) => any) | undefined;
281
281
  }>, {
282
+ options: CascaderOption[];
282
283
  props: CascaderProps;
283
284
  border: boolean;
284
- options: CascaderOption[];
285
285
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
286
286
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
287
287
  declare const _default: typeof __VLS_export;
@@ -24,7 +24,7 @@ interface CheckTagProps {
24
24
  declare const checkTagProps: {
25
25
  readonly checked: BooleanConstructor;
26
26
  readonly disabled: BooleanConstructor;
27
- readonly type: EpPropFinalized<StringConstructor, "success" | "primary" | "info" | "warning" | "danger", unknown, "primary", boolean>;
27
+ readonly type: EpPropFinalized<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown, "primary", boolean>;
28
28
  };
29
29
  /**
30
30
  * @deprecated Removed after 3.0.0, Use `CheckTagProps` instead.
@@ -14,13 +14,13 @@ declare const __VLS_base: vue.DefineComponent<CheckboxProps, {}, {}, {}, {}, vue
14
14
  "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
15
15
  onChange?: ((val: CheckboxValueType) => any) | undefined;
16
16
  }>, {
17
- disabled: boolean;
17
+ value: string | boolean | number | object;
18
18
  label: string | boolean | number | object;
19
+ disabled: boolean;
20
+ validateEvent: boolean;
19
21
  modelValue: number | string | boolean;
20
- value: string | boolean | number | object;
21
- name: string;
22
22
  id: string;
23
- validateEvent: boolean;
23
+ name: string;
24
24
  trueValue: string | number;
25
25
  falseValue: string | number;
26
26
  trueLabel: string | number;
@@ -70,7 +70,7 @@ declare const checkboxGroupProps: {
70
70
  readonly min: NumberConstructor;
71
71
  readonly max: NumberConstructor;
72
72
  readonly size: {
73
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
73
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
74
74
  readonly required: false;
75
75
  readonly validator: ((val: unknown) => boolean) | undefined;
76
76
  __epPropKey: true;
@@ -16,14 +16,14 @@ declare const __VLS_base: vue.DefineComponent<CheckboxGroupProps, {}, {}, {}, {}
16
16
  onChange?: ((val: CheckboxValueType[]) => any) | undefined;
17
17
  }>, {
18
18
  disabled: boolean;
19
+ validateEvent: boolean;
20
+ modelValue: CheckboxGroupValueType;
19
21
  props: {
20
22
  value?: string;
21
23
  label?: string;
22
24
  disabled?: string;
23
25
  };
24
26
  type: "checkbox" | "button";
25
- modelValue: CheckboxGroupValueType;
26
- validateEvent: boolean;
27
27
  tag: string;
28
28
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
29
29
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;