@element-plus/nightly 0.0.20260402 → 0.0.20260403

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 (592) hide show
  1. package/dist/index.full.js +6 -384
  2. package/dist/index.full.min.js +4 -4
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +8 -8
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +7 -385
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lo.js +1 -1
  140. package/dist/locale/lo.min.js +1 -1
  141. package/dist/locale/lo.min.mjs +1 -1
  142. package/dist/locale/lo.mjs +1 -1
  143. package/dist/locale/lt.js +1 -1
  144. package/dist/locale/lt.min.js +1 -1
  145. package/dist/locale/lt.min.mjs +1 -1
  146. package/dist/locale/lt.mjs +1 -1
  147. package/dist/locale/lv.js +1 -1
  148. package/dist/locale/lv.min.js +1 -1
  149. package/dist/locale/lv.min.mjs +1 -1
  150. package/dist/locale/lv.mjs +1 -1
  151. package/dist/locale/mg.js +1 -1
  152. package/dist/locale/mg.min.js +1 -1
  153. package/dist/locale/mg.min.mjs +1 -1
  154. package/dist/locale/mg.mjs +1 -1
  155. package/dist/locale/mn.js +1 -1
  156. package/dist/locale/mn.min.js +1 -1
  157. package/dist/locale/mn.min.mjs +1 -1
  158. package/dist/locale/mn.mjs +1 -1
  159. package/dist/locale/ms.js +1 -1
  160. package/dist/locale/ms.min.js +1 -1
  161. package/dist/locale/ms.min.mjs +1 -1
  162. package/dist/locale/ms.mjs +1 -1
  163. package/dist/locale/my.js +1 -1
  164. package/dist/locale/my.min.js +1 -1
  165. package/dist/locale/my.min.mjs +1 -1
  166. package/dist/locale/my.mjs +1 -1
  167. package/dist/locale/nb-no.js +1 -1
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.mjs +1 -1
  170. package/dist/locale/nb-no.mjs +1 -1
  171. package/dist/locale/nl.js +1 -1
  172. package/dist/locale/nl.min.js +1 -1
  173. package/dist/locale/nl.min.mjs +1 -1
  174. package/dist/locale/nl.mjs +1 -1
  175. package/dist/locale/no.js +1 -1
  176. package/dist/locale/no.min.js +1 -1
  177. package/dist/locale/no.min.mjs +1 -1
  178. package/dist/locale/no.mjs +1 -1
  179. package/dist/locale/pa.js +1 -1
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.mjs +1 -1
  182. package/dist/locale/pa.mjs +1 -1
  183. package/dist/locale/pl.js +1 -1
  184. package/dist/locale/pl.min.js +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +1 -1
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.mjs +1 -1
  190. package/dist/locale/pt-br.mjs +1 -1
  191. package/dist/locale/pt.js +1 -1
  192. package/dist/locale/pt.min.js +1 -1
  193. package/dist/locale/pt.min.mjs +1 -1
  194. package/dist/locale/pt.mjs +1 -1
  195. package/dist/locale/ro.js +1 -1
  196. package/dist/locale/ro.min.js +1 -1
  197. package/dist/locale/ro.min.mjs +1 -1
  198. package/dist/locale/ro.mjs +1 -1
  199. package/dist/locale/ru.js +1 -1
  200. package/dist/locale/ru.min.js +1 -1
  201. package/dist/locale/ru.min.mjs +1 -1
  202. package/dist/locale/ru.mjs +1 -1
  203. package/dist/locale/sk.js +1 -1
  204. package/dist/locale/sk.min.js +1 -1
  205. package/dist/locale/sk.min.mjs +1 -1
  206. package/dist/locale/sk.mjs +1 -1
  207. package/dist/locale/sl.js +1 -1
  208. package/dist/locale/sl.min.js +1 -1
  209. package/dist/locale/sl.min.mjs +1 -1
  210. package/dist/locale/sl.mjs +1 -1
  211. package/dist/locale/sr.js +1 -1
  212. package/dist/locale/sr.min.js +1 -1
  213. package/dist/locale/sr.min.mjs +1 -1
  214. package/dist/locale/sr.mjs +1 -1
  215. package/dist/locale/sv.js +1 -1
  216. package/dist/locale/sv.min.js +1 -1
  217. package/dist/locale/sv.min.mjs +1 -1
  218. package/dist/locale/sv.mjs +1 -1
  219. package/dist/locale/sw.js +1 -1
  220. package/dist/locale/sw.min.js +1 -1
  221. package/dist/locale/sw.min.mjs +1 -1
  222. package/dist/locale/sw.mjs +1 -1
  223. package/dist/locale/ta.js +1 -1
  224. package/dist/locale/ta.min.js +1 -1
  225. package/dist/locale/ta.min.mjs +1 -1
  226. package/dist/locale/ta.mjs +1 -1
  227. package/dist/locale/te.js +1 -1
  228. package/dist/locale/te.min.js +1 -1
  229. package/dist/locale/te.min.mjs +1 -1
  230. package/dist/locale/te.mjs +1 -1
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/components/affix/src/affix.d.ts +1 -1
  276. package/es/components/affix/src/affix.vue.d.ts +3 -3
  277. package/es/components/alert/src/alert.d.ts +1 -1
  278. package/es/components/alert/src/alert.vue.d.ts +2 -2
  279. package/es/components/anchor/src/anchor.d.ts +1 -1
  280. package/es/components/anchor/src/anchor.vue.d.ts +3 -3
  281. package/es/components/autocomplete/index.d.ts +2 -2
  282. package/es/components/autocomplete/src/autocomplete.d.ts +14 -12
  283. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  284. package/es/components/autocomplete/src/autocomplete.vue.d.ts +55 -80
  285. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  286. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  287. package/es/components/avatar/src/avatar.d.ts +1 -1
  288. package/es/components/avatar/src/avatar.vue.d.ts +1 -1
  289. package/es/components/backtop/src/backtop.vue.d.ts +2 -2
  290. package/es/components/badge/src/badge.vue.d.ts +1 -1
  291. package/es/components/button/src/button.vue.d.ts +3 -3
  292. package/es/components/card/src/card.vue.d.ts +1 -1
  293. package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
  294. package/es/components/carousel/src/carousel.d.ts +1 -1
  295. package/es/components/carousel/src/carousel.vue.d.ts +2 -2
  296. package/es/components/cascader/src/cascader.d.ts +3 -3
  297. package/es/components/cascader/src/cascader.vue.d.ts +13 -13
  298. package/es/components/cascader-panel/src/index.vue.d.ts +1 -1
  299. package/es/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  300. package/es/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
  301. package/es/components/checkbox/src/checkbox.d.ts +8 -8
  302. package/es/components/checkbox/src/checkbox.vue.d.ts +4 -4
  303. package/es/components/col/src/col.vue.d.ts +2 -2
  304. package/es/components/collapse/src/collapse-item.vue.d.ts +1 -1
  305. package/es/components/collapse/src/collapse.d.ts +1 -1
  306. package/es/components/color-picker/src/color-picker.vue.d.ts +6 -6
  307. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  308. package/es/components/config-provider/src/config-provider.d.ts +1 -1
  309. package/es/components/date-picker/src/date-picker.d.ts +17 -17
  310. package/es/components/date-picker/src/props.d.ts +2 -2
  311. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  312. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  313. package/es/components/descriptions/src/description-item.d.ts +21 -21
  314. package/es/components/descriptions/src/description.d.ts +1 -1
  315. package/es/components/descriptions/src/description.vue.d.ts +2 -2
  316. package/es/components/dialog/src/dialog.vue.d.ts +7 -7
  317. package/es/components/divider/src/divider.d.ts +2 -2
  318. package/es/components/divider/src/divider.vue.d.ts +1 -1
  319. package/es/components/drawer/src/drawer.vue.d.ts +9 -9
  320. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  321. package/es/components/dropdown/src/dropdown.d.ts +2 -2
  322. package/es/components/dropdown/src/dropdown.vue.d.ts +79 -79
  323. package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  324. package/es/components/form/src/form-item.d.ts +1 -1
  325. package/es/components/form/src/form.d.ts +2 -2
  326. package/es/components/form/src/form.vue.d.ts +1 -1
  327. package/es/components/image/src/image.vue.d.ts +2 -2
  328. package/es/components/image-viewer/src/image-viewer.vue.d.ts +1 -1
  329. package/es/components/index.d.ts +2 -2
  330. package/es/components/input/src/input.d.ts +2 -2
  331. package/es/components/input/src/input.vue.d.ts +5 -5
  332. package/es/components/input-number/src/input-number.d.ts +1 -1
  333. package/es/components/input-number/src/input-number.vue.d.ts +5 -5
  334. package/es/components/input-tag/src/input-tag.d.ts +2 -2
  335. package/es/components/input-tag/src/input-tag.vue.d.ts +8 -8
  336. package/es/components/link/src/link.vue.d.ts +1 -1
  337. package/es/components/mention/src/mention.d.ts +3 -3
  338. package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs +5 -212
  339. package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  340. package/es/components/menu/src/menu.d.ts +7 -7
  341. package/es/components/menu/src/sub-menu.d.ts +1 -1
  342. package/es/components/message/src/message.d.ts +1 -1
  343. package/es/components/message/src/message.vue.d.ts +7 -7
  344. package/es/components/notification/src/notification.d.ts +1 -1
  345. package/es/components/notification/src/notification.vue.d.ts +6 -6
  346. package/es/components/pagination/src/pagination.d.ts +3 -3
  347. package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  348. package/es/components/popover/src/popover.d.ts +1 -1
  349. package/es/components/popover/src/popover.vue.d.ts +11 -11
  350. package/es/components/popper/src/composables/use-content.d.ts +3 -3
  351. package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  352. package/es/components/popper/src/content.vue.d.ts +11 -11
  353. package/es/components/popper/src/popper.d.ts +2 -2
  354. package/es/components/progress/src/progress.d.ts +1 -1
  355. package/es/components/progress/src/progress.vue.d.ts +2 -2
  356. package/es/components/radio/src/radio-button.d.ts +3 -3
  357. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  358. package/es/components/radio/src/radio-group.vue.d.ts +3 -3
  359. package/es/components/radio/src/radio.d.ts +6 -6
  360. package/es/components/radio/src/radio.vue.d.ts +3 -3
  361. package/es/components/rate/src/rate.vue.d.ts +2 -2
  362. package/es/components/result/src/result.vue.d.ts +1 -1
  363. package/es/components/roving-focus-group/src/roving-focus-group.d.ts +1 -1
  364. package/es/components/roving-focus-group/src/roving-focus-group.vue.d.ts +2 -2
  365. package/es/components/row/src/row.d.ts +2 -2
  366. package/es/components/row/src/row.vue.d.ts +1 -1
  367. package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  368. package/es/components/segmented/index.d.ts +1 -1
  369. package/es/components/segmented/src/segmented.d.ts +2 -2
  370. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs +2 -57
  371. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  372. package/es/components/select/src/option.d.ts +2 -2
  373. package/es/components/select/src/option.vue.d.ts +5 -5
  374. package/es/components/select/src/select.d.ts +4 -4
  375. package/es/components/select/src/select.vue.d.ts +99 -99
  376. package/es/components/select-v2/src/defaults.d.ts +2 -2
  377. package/es/components/select-v2/src/select.vue.d.ts +78 -78
  378. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  379. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  380. package/es/components/slider/src/slider.vue.d.ts +6 -6
  381. package/es/components/space/src/space.d.ts +4 -4
  382. package/es/components/splitter/src/splitter.d.ts +1 -1
  383. package/es/components/steps/src/item.d.ts +1 -1
  384. package/es/components/steps/src/item.vue.d.ts +2 -2
  385. package/es/components/steps/src/steps.d.ts +3 -3
  386. package/es/components/steps/src/steps.vue.d.ts +1 -1
  387. package/es/components/switch/src/switch.vue.d.ts +2 -2
  388. package/es/components/table/src/table-body/index.d.ts +1 -1
  389. package/es/components/table/src/table-column/index.d.ts +21 -21
  390. package/es/components/table/src/table-footer/index.d.ts +1 -1
  391. package/es/components/table/src/table-header/index.d.ts +13 -13
  392. package/es/components/table/src/table.vue.d.ts +36 -36
  393. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  394. package/es/components/tabs/src/tabs.d.ts +6 -6
  395. package/es/components/tag/src/tag.d.ts +1 -1
  396. package/es/components/text/src/text.vue.d.ts +1 -1
  397. package/es/components/time-picker/src/common/picker.vue.d.ts +17 -17
  398. package/es/components/time-picker/src/common/props.d.ts +1 -1
  399. package/es/components/time-picker/src/time-picker.d.ts +15 -15
  400. package/es/components/time-select/src/time-select.vue.d.ts +6 -6
  401. package/es/components/timeline/src/timeline-item.d.ts +1 -1
  402. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  403. package/es/components/tooltip/src/content.vue.d.ts +16 -16
  404. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  405. package/es/components/tooltip/src/tooltip.vue.d.ts +17 -17
  406. package/es/components/tour/src/content.d.ts +1 -1
  407. package/es/components/tour/src/step.d.ts +1 -1
  408. package/es/components/tour/src/tour.d.ts +1 -1
  409. package/es/components/tour/src/tour.vue.d.ts +3 -3
  410. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs +2 -48
  411. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  412. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs +2 -73
  413. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  414. package/es/components/tree/src/tree.vue.d.ts +18 -18
  415. package/es/components/tree-select/src/tree-select.vue.d.ts +38 -38
  416. package/es/components/tree-v2/src/tree.vue.d.ts +2 -2
  417. package/es/components/upload/src/upload-content.vue.d.ts +2 -2
  418. package/es/components/upload/src/upload.vue.d.ts +3 -3
  419. package/es/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  420. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  421. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +5 -5
  422. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  423. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +5 -5
  424. package/es/components/virtual-list/src/props.d.ts +2 -2
  425. package/es/components/watermark/src/watermark.vue.d.ts +1 -1
  426. package/es/hooks/use-floating/index.d.ts +12 -12
  427. package/es/hooks/use-popper/index.d.ts +3 -3
  428. package/es/index.d.ts +2 -2
  429. package/es/utils/vue/size.d.ts +1 -1
  430. package/es/utils/vue/vnode.d.ts +4 -4
  431. package/es/version.mjs +1 -1
  432. package/es/version.mjs.map +1 -1
  433. package/lib/components/affix/src/affix.d.ts +1 -1
  434. package/lib/components/affix/src/affix.vue.d.ts +3 -3
  435. package/lib/components/alert/src/alert.d.ts +1 -1
  436. package/lib/components/alert/src/alert.vue.d.ts +2 -2
  437. package/lib/components/anchor/src/anchor.d.ts +1 -1
  438. package/lib/components/anchor/src/anchor.vue.d.ts +3 -3
  439. package/lib/components/autocomplete/index.d.ts +2 -2
  440. package/lib/components/autocomplete/src/autocomplete.d.ts +14 -12
  441. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  442. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +55 -80
  443. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  444. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  445. package/lib/components/avatar/src/avatar.d.ts +1 -1
  446. package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
  447. package/lib/components/backtop/src/backtop.vue.d.ts +2 -2
  448. package/lib/components/badge/src/badge.vue.d.ts +1 -1
  449. package/lib/components/button/src/button.vue.d.ts +3 -3
  450. package/lib/components/card/src/card.vue.d.ts +1 -1
  451. package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
  452. package/lib/components/carousel/src/carousel.d.ts +1 -1
  453. package/lib/components/carousel/src/carousel.vue.d.ts +2 -2
  454. package/lib/components/cascader/src/cascader.d.ts +3 -3
  455. package/lib/components/cascader/src/cascader.vue.d.ts +13 -13
  456. package/lib/components/cascader-panel/src/index.vue.d.ts +1 -1
  457. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  458. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
  459. package/lib/components/checkbox/src/checkbox.d.ts +8 -8
  460. package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -4
  461. package/lib/components/col/src/col.vue.d.ts +2 -2
  462. package/lib/components/collapse/src/collapse-item.vue.d.ts +1 -1
  463. package/lib/components/collapse/src/collapse.d.ts +1 -1
  464. package/lib/components/color-picker/src/color-picker.vue.d.ts +6 -6
  465. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  466. package/lib/components/config-provider/src/config-provider.d.ts +1 -1
  467. package/lib/components/date-picker/src/date-picker.d.ts +17 -17
  468. package/lib/components/date-picker/src/props.d.ts +2 -2
  469. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  470. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  471. package/lib/components/descriptions/src/description-item.d.ts +21 -21
  472. package/lib/components/descriptions/src/description.d.ts +1 -1
  473. package/lib/components/descriptions/src/description.vue.d.ts +2 -2
  474. package/lib/components/dialog/src/dialog.vue.d.ts +7 -7
  475. package/lib/components/divider/src/divider.d.ts +2 -2
  476. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  477. package/lib/components/drawer/src/drawer.vue.d.ts +9 -9
  478. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  479. package/lib/components/dropdown/src/dropdown.d.ts +2 -2
  480. package/lib/components/dropdown/src/dropdown.vue.d.ts +79 -79
  481. package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  482. package/lib/components/form/src/form-item.d.ts +1 -1
  483. package/lib/components/form/src/form.d.ts +2 -2
  484. package/lib/components/form/src/form.vue.d.ts +1 -1
  485. package/lib/components/image/src/image.vue.d.ts +2 -2
  486. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +1 -1
  487. package/lib/components/index.d.ts +2 -2
  488. package/lib/components/input/src/input.d.ts +2 -2
  489. package/lib/components/input/src/input.vue.d.ts +5 -5
  490. package/lib/components/input-number/src/input-number.d.ts +1 -1
  491. package/lib/components/input-number/src/input-number.vue.d.ts +5 -5
  492. package/lib/components/input-tag/src/input-tag.d.ts +2 -2
  493. package/lib/components/input-tag/src/input-tag.vue.d.ts +8 -8
  494. package/lib/components/link/src/link.vue.d.ts +1 -1
  495. package/lib/components/mention/src/mention.d.ts +3 -3
  496. package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js +1 -208
  497. package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js.map +1 -1
  498. package/lib/components/menu/src/menu.d.ts +7 -7
  499. package/lib/components/menu/src/sub-menu.d.ts +1 -1
  500. package/lib/components/message/src/message.d.ts +1 -1
  501. package/lib/components/message/src/message.vue.d.ts +7 -7
  502. package/lib/components/notification/src/notification.d.ts +1 -1
  503. package/lib/components/notification/src/notification.vue.d.ts +6 -6
  504. package/lib/components/pagination/src/pagination.d.ts +3 -3
  505. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  506. package/lib/components/popover/src/popover.d.ts +1 -1
  507. package/lib/components/popover/src/popover.vue.d.ts +11 -11
  508. package/lib/components/popper/src/composables/use-content.d.ts +3 -3
  509. package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  510. package/lib/components/popper/src/content.vue.d.ts +11 -11
  511. package/lib/components/popper/src/popper.d.ts +2 -2
  512. package/lib/components/progress/src/progress.d.ts +1 -1
  513. package/lib/components/progress/src/progress.vue.d.ts +2 -2
  514. package/lib/components/radio/src/radio-button.d.ts +3 -3
  515. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  516. package/lib/components/radio/src/radio-group.vue.d.ts +3 -3
  517. package/lib/components/radio/src/radio.d.ts +6 -6
  518. package/lib/components/radio/src/radio.vue.d.ts +3 -3
  519. package/lib/components/rate/src/rate.vue.d.ts +2 -2
  520. package/lib/components/result/src/result.vue.d.ts +1 -1
  521. package/lib/components/roving-focus-group/src/roving-focus-group.d.ts +1 -1
  522. package/lib/components/roving-focus-group/src/roving-focus-group.vue.d.ts +2 -2
  523. package/lib/components/row/src/row.d.ts +2 -2
  524. package/lib/components/row/src/row.vue.d.ts +1 -1
  525. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  526. package/lib/components/segmented/index.d.ts +1 -1
  527. package/lib/components/segmented/src/segmented.d.ts +2 -2
  528. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js +1 -56
  529. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
  530. package/lib/components/select/src/option.d.ts +2 -2
  531. package/lib/components/select/src/option.vue.d.ts +5 -5
  532. package/lib/components/select/src/select.d.ts +4 -4
  533. package/lib/components/select/src/select.vue.d.ts +99 -99
  534. package/lib/components/select-v2/src/defaults.d.ts +2 -2
  535. package/lib/components/select-v2/src/select.vue.d.ts +78 -78
  536. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  537. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  538. package/lib/components/slider/src/slider.vue.d.ts +6 -6
  539. package/lib/components/space/src/space.d.ts +4 -4
  540. package/lib/components/splitter/src/splitter.d.ts +1 -1
  541. package/lib/components/steps/src/item.d.ts +1 -1
  542. package/lib/components/steps/src/item.vue.d.ts +2 -2
  543. package/lib/components/steps/src/steps.d.ts +3 -3
  544. package/lib/components/steps/src/steps.vue.d.ts +1 -1
  545. package/lib/components/switch/src/switch.vue.d.ts +2 -2
  546. package/lib/components/table/src/table-body/index.d.ts +1 -1
  547. package/lib/components/table/src/table-column/index.d.ts +21 -21
  548. package/lib/components/table/src/table-footer/index.d.ts +1 -1
  549. package/lib/components/table/src/table-header/index.d.ts +13 -13
  550. package/lib/components/table/src/table.vue.d.ts +36 -36
  551. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  552. package/lib/components/tabs/src/tabs.d.ts +6 -6
  553. package/lib/components/tag/src/tag.d.ts +1 -1
  554. package/lib/components/text/src/text.vue.d.ts +1 -1
  555. package/lib/components/time-picker/src/common/picker.vue.d.ts +17 -17
  556. package/lib/components/time-picker/src/common/props.d.ts +1 -1
  557. package/lib/components/time-picker/src/time-picker.d.ts +15 -15
  558. package/lib/components/time-select/src/time-select.vue.d.ts +6 -6
  559. package/lib/components/timeline/src/timeline-item.d.ts +1 -1
  560. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  561. package/lib/components/tooltip/src/content.vue.d.ts +16 -16
  562. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  563. package/lib/components/tooltip/src/tooltip.vue.d.ts +17 -17
  564. package/lib/components/tour/src/content.d.ts +1 -1
  565. package/lib/components/tour/src/step.d.ts +1 -1
  566. package/lib/components/tour/src/tour.d.ts +1 -1
  567. package/lib/components/tour/src/tour.vue.d.ts +3 -3
  568. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.js +1 -47
  569. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  570. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js +1 -72
  571. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  572. package/lib/components/tree/src/tree.vue.d.ts +18 -18
  573. package/lib/components/tree-select/src/tree-select.vue.d.ts +38 -38
  574. package/lib/components/tree-v2/src/tree.vue.d.ts +2 -2
  575. package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
  576. package/lib/components/upload/src/upload.vue.d.ts +3 -3
  577. package/lib/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  578. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  579. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +5 -5
  580. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  581. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +5 -5
  582. package/lib/components/virtual-list/src/props.d.ts +2 -2
  583. package/lib/components/watermark/src/watermark.vue.d.ts +1 -1
  584. package/lib/hooks/use-floating/index.d.ts +12 -12
  585. package/lib/hooks/use-popper/index.d.ts +3 -3
  586. package/lib/index.d.ts +2 -2
  587. package/lib/utils/vue/size.d.ts +1 -1
  588. package/lib/utils/vue/vnode.d.ts +4 -4
  589. package/lib/version.js +1 -1
  590. package/lib/version.js.map +1 -1
  591. package/package.json +2 -2
  592. package/web-types.json +1 -1
@@ -1,91 +1,66 @@
1
- import { IconPropType } from "../../../utils/vue/icon.js";
2
- import "../../../utils/index.js";
3
- import { InputModelModifiers, InputType } from "../../input/src/input.js";
4
1
  import { InputInstance } from "../../input/src/instance.js";
5
2
  import "../../input/index.js";
6
3
  import { TooltipInstance } from "../../tooltip/src/tooltip.js";
7
4
  import "../../tooltip/index.js";
8
- import { AutocompleteData, AutocompleteFetchSuggestions, AutocompletePlacement, AutocompleteProps } from "./autocomplete.js";
5
+ import { AutocompleteData, AutocompleteDataItem, AutocompleteProps } from "./autocomplete.js";
9
6
  import * as vue from "vue";
10
- import { StyleValue } from "vue";
7
+ import { Ref } from "vue";
11
8
 
12
9
  //#region ../../packages/components/autocomplete/src/autocomplete.vue.d.ts
13
- declare var __VLS_29: {}, __VLS_32: {}, __VLS_35: {}, __VLS_38: {}, __VLS_41: {}, __VLS_49: {}, __VLS_62: {
14
- item: Record<string, any>;
15
- }, __VLS_64: {};
16
- type __VLS_Slots = {} & {
17
- prepend?: (props: typeof __VLS_29) => any;
18
- } & {
19
- append?: (props: typeof __VLS_32) => any;
20
- } & {
21
- prefix?: (props: typeof __VLS_35) => any;
22
- } & {
23
- suffix?: (props: typeof __VLS_38) => any;
24
- } & {
25
- header?: (props: typeof __VLS_41) => any;
26
- } & {
27
- loading?: (props: typeof __VLS_49) => any;
28
- } & {
29
- default?: (props: typeof __VLS_62) => any;
30
- } & {
31
- footer?: (props: typeof __VLS_64) => any;
32
- };
33
- declare const __VLS_base: vue.DefineComponent<AutocompleteProps, {
34
- /** @description the index of the currently highlighted item */highlightedIndex: vue.Ref<number, number>; /** @description autocomplete whether activated */
35
- activated: vue.Ref<boolean, boolean>; /** @description remote search loading status */
36
- loading: vue.Ref<boolean, boolean>; /** @description el-input component instance */
37
- inputRef: vue.Ref<InputInstance | undefined, InputInstance | undefined>; /** @description el-tooltip component instance */
38
- popperRef: vue.Ref<TooltipInstance | undefined, TooltipInstance | undefined>; /** @description fetch suggestions result */
39
- suggestions: vue.Ref<Record<string, any>[], Record<string, any>[] | AutocompleteData>; /** @description triggers when a suggestion is clicked */
40
- handleSelect: (item: any) => Promise<void>; /** @description handle keyboard enter event */
41
- handleKeyEnter: () => Promise<void>; /** @description focus the input element */
42
- focus: () => void; /** @description blur the input element */
43
- blur: () => void; /** @description close suggestion */
44
- close: () => void; /** @description highlight an item in a suggestion */
45
- highlight: (index: number) => void; /** @description loading suggestion list */
46
- getData: (queryString: string) => Promise<void>;
47
- }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
48
- blur: (evt: FocusEvent) => void;
49
- focus: (evt: FocusEvent) => void;
50
- select: (item: Record<string, any>) => void;
51
- "update:modelValue": (value: string | number) => void;
52
- change: (value: string | number) => void;
53
- clear: () => void;
54
- input: (value: string | number) => void;
55
- }, string, vue.PublicProps, Readonly<AutocompleteProps> & Readonly<{
56
- onBlur?: ((evt: FocusEvent) => any) | undefined;
57
- onChange?: ((value: string | number) => any) | undefined;
58
- onFocus?: ((evt: FocusEvent) => any) | undefined;
59
- onInput?: ((value: string | number) => any) | undefined;
60
- onSelect?: ((item: Record<string, any>) => any) | undefined;
61
- "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
62
- onClear?: (() => any) | undefined;
63
- }>, {
64
- modelValue: string | number;
65
- type: InputType;
66
- teleported: boolean;
67
- placement: AutocompletePlacement;
68
- disabled: boolean;
69
- clearIcon: IconPropType;
70
- tabindex: string | number;
71
- validateEvent: boolean;
72
- valueKey: string;
73
- debounce: number;
74
- fetchSuggestions: AutocompleteFetchSuggestions;
75
- triggerOnFocus: boolean;
76
- loopNavigation: boolean;
77
- modelModifiers: InputModelModifiers;
78
- autocomplete: string;
79
- wordLimitPosition: "inside" | "outside";
80
- inputStyle: string | false | vue.CSSProperties | StyleValue[] | null;
81
- rows: number;
82
- }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
83
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
84
- declare const _default: typeof __VLS_export;
85
- type __VLS_WithSlots<T, S> = T & {
86
- new (): {
87
- $slots: S;
10
+ declare const __VLS_export: <T extends AutocompleteDataItem = AutocompleteDataItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
11
+ props: vue.PublicProps & __VLS_PrettifyLocal<AutocompleteProps<T> & {
12
+ onBlur?: ((evt: FocusEvent) => any) | undefined;
13
+ onChange?: ((value: string | number) => any) | undefined;
14
+ onFocus?: ((evt: FocusEvent) => any) | undefined;
15
+ onInput?: ((value: string | number) => any) | undefined;
16
+ onSelect?: ((item: Record<string, any>) => any) | undefined;
17
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
18
+ onClear?: (() => any) | undefined;
19
+ }> & (typeof globalThis extends {
20
+ __VLS_PROPS_FALLBACK: infer P;
21
+ } ? P : {});
22
+ expose: (exposed: vue.ShallowUnwrapRef<{
23
+ /** @description the index of the currently highlighted item */highlightedIndex: Ref<number, number>; /** @description autocomplete whether activated */
24
+ activated: Ref<boolean, boolean>; /** @description remote search loading status */
25
+ loading: Ref<boolean, boolean>; /** @description el-input component instance */
26
+ inputRef: Ref<InputInstance | undefined, InputInstance | undefined>; /** @description el-tooltip component instance */
27
+ popperRef: Ref<TooltipInstance | undefined, TooltipInstance | undefined>; /** @description fetch suggestions result */
28
+ suggestions: Ref<AutocompleteData<T>, AutocompleteData<T>>; /** @description triggers when a suggestion is clicked */
29
+ handleSelect: (item: T) => Promise<void>; /** @description handle keyboard enter event */
30
+ handleKeyEnter: () => Promise<void>; /** @description focus the input element */
31
+ focus: () => void; /** @description blur the input element */
32
+ blur: () => void; /** @description close suggestion */
33
+ close: () => void; /** @description highlight an item in a suggestion */
34
+ highlight: (index: number) => void; /** @description loading suggestion list */
35
+ getData: (queryString: string) => Promise<void>;
36
+ }>) => void;
37
+ attrs: any;
38
+ slots: {
39
+ prepend?: (props: {}) => any;
40
+ } & {
41
+ append?: (props: {}) => any;
42
+ } & {
43
+ prefix?: (props: {}) => any;
44
+ } & {
45
+ suffix?: (props: {}) => any;
46
+ } & {
47
+ header?: (props: {}) => any;
48
+ } & {
49
+ loading?: (props: {}) => any;
50
+ } & {
51
+ default?: (props: {
52
+ item: T;
53
+ }) => any;
54
+ } & {
55
+ footer?: (props: {}) => any;
88
56
  };
57
+ emit: ((event: "blur", evt: FocusEvent) => void) & ((event: "focus", evt: FocusEvent) => void) & ((event: "select", item: Record<string, any>) => void) & ((event: "update:modelValue", value: string | number) => void) & ((event: "clear") => void) & ((event: "change", value: string | number) => void) & ((event: "input", value: string | number) => void);
58
+ }>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
59
+ [key: string]: any;
60
+ }> & {
61
+ __ctx?: Awaited<typeof __VLS_setup>;
89
62
  };
63
+ declare const _default: typeof __VLS_export;
64
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
90
65
  //#endregion
91
66
  export { _default };
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.vue_vue_type_script_setup_true_lang.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 lang=\"ts\" setup>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, {\n inputProps,\n inputPropsDefaults,\n} from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type { AutocompleteData, AutocompleteProps } from './autocomplete'\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n})\nconst emit = defineEmits(autocompleteEmits)\n\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete.vue_vue_type_script_setup_true_lang.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, {\n inputProps,\n inputPropsDefaults,\n} from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type {\n AutocompleteData,\n AutocompleteDataItem,\n AutocompleteProps,\n} from './autocomplete'\nimport type { Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps<T>>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref([]) as Ref<AutocompleteData<T>>\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData<T>) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: T) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete2.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 lang=\"ts\" setup>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, {\n inputProps,\n inputPropsDefaults,\n} from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type { AutocompleteData, AutocompleteProps } from './autocomplete'\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n})\nconst emit = defineEmits(autocompleteEmits)\n\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"mappings":""}
1
+ {"version":3,"file":"autocomplete2.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, {\n inputProps,\n inputPropsDefaults,\n} from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type {\n AutocompleteData,\n AutocompleteDataItem,\n AutocompleteProps,\n} from './autocomplete'\nimport type { Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps<T>>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => pick(props, Object.keys(inputProps)))\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref([]) as Ref<AutocompleteData<T>>\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData<T>) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: T) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"mappings":""}
@@ -63,7 +63,7 @@ declare const avatarProps: {
63
63
  readonly src: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
64
64
  readonly alt: StringConstructor;
65
65
  readonly srcSet: StringConstructor;
66
- readonly fit: EpPropFinalized<(new (...args: any[]) => "fill" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "none" | "contain" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined) | (((new (...args: any[]) => "fill" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "none" | "contain" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined)) | null)[], unknown, unknown, "cover", boolean>;
66
+ readonly fit: EpPropFinalized<(new (...args: any[]) => "fill" | "none" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "contain" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined) | (((new (...args: any[]) => "fill" | "none" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "contain" | "cover" | "scale-down") | (() => csstype.Property.ObjectFit | undefined)) | null)[], unknown, unknown, "cover", boolean>;
67
67
  };
68
68
  /**
69
69
  * @deprecated Removed after 3.0.0, Use `AvatarProps` instead.
@@ -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,9 +11,9 @@ declare const __VLS_base: vue.DefineComponent<BacktopProps, {}, {}, {}, {}, vue.
11
11
  }, string, vue.PublicProps, Readonly<BacktopProps> & Readonly<{
12
12
  onClick?: ((evt: MouseEvent) => any) | undefined;
13
13
  }>, {
14
- target: string;
15
- bottom: number;
16
14
  right: number;
15
+ bottom: number;
16
+ target: string;
17
17
  visibilityHeight: number;
18
18
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
19
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -16,8 +16,8 @@ declare const __VLS_base: vue.DefineComponent<BadgeProps, {
16
16
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
17
17
  type: "primary" | "success" | "warning" | "info" | "danger";
18
18
  value: string | number;
19
- offset: [number, number];
20
19
  max: number;
20
+ offset: [number, number];
21
21
  showZero: boolean;
22
22
  badgeStyle: string | false | vue.CSSProperties | StyleValue[] | null;
23
23
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -23,15 +23,15 @@ declare const __VLS_base: vue.DefineComponent<ButtonProps, {
23
23
  }, string, vue.PublicProps, Readonly<ButtonProps> & Readonly<{
24
24
  onClick?: ((evt: MouseEvent) => any) | undefined;
25
25
  }>, {
26
+ disabled: boolean;
26
27
  type: ButtonType;
27
28
  text: boolean;
28
- tag: string | vue.Component;
29
- disabled: boolean;
30
29
  round: boolean;
31
30
  dashed: boolean;
31
+ plain: boolean;
32
+ tag: string | vue.Component;
32
33
  nativeType: ButtonNativeType;
33
34
  loadingIcon: IconPropType;
34
- plain: boolean;
35
35
  autoInsertSpace: boolean;
36
36
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
37
37
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -11,8 +11,8 @@ type __VLS_Slots = {} & {
11
11
  footer?: (props: typeof __VLS_5) => any;
12
12
  };
13
13
  declare const __VLS_base: vue.DefineComponent<CardProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<CardProps> & Readonly<{}>, {
14
- header: string;
15
14
  footer: string;
15
+ header: string;
16
16
  bodyStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
17
17
  shadow: "always" | "hover" | "never";
18
18
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -7,8 +7,8 @@ type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_1) => any;
8
8
  };
9
9
  declare const __VLS_base: vue.DefineComponent<CarouselItemProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<CarouselItemProps> & Readonly<{}>, {
10
- label: string | number;
11
10
  name: string;
11
+ label: string | number;
12
12
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
13
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
14
  declare const _default: typeof __VLS_export;
@@ -71,7 +71,7 @@ declare const carouselProps: {
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>;
74
- readonly direction: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "horizontal", boolean>;
74
+ readonly direction: EpPropFinalized<StringConstructor, "horizontal" | "vertical", unknown, "horizontal", boolean>;
75
75
  readonly pauseOnHover: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
76
76
  readonly motionBlur: BooleanConstructor;
77
77
  };
@@ -17,9 +17,9 @@ declare const __VLS_base: vue.DefineComponent<CarouselProps, {
17
17
  onChange?: ((current: number, prev: number) => any) | undefined;
18
18
  }>, {
19
19
  type: "" | "card";
20
- direction: "horizontal" | "vertical";
21
- loop: boolean;
22
20
  trigger: "hover" | "click";
21
+ loop: boolean;
22
+ direction: "horizontal" | "vertical";
23
23
  height: string;
24
24
  arrow: "always" | "hover" | "never";
25
25
  initialIndex: number;
@@ -164,7 +164,7 @@ declare const cascaderProps: {
164
164
  maxCollapseTags: EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
165
165
  collapseTagsTooltip: BooleanConstructor;
166
166
  maxCollapseTagsTooltipHeight: {
167
- readonly type: vue.PropType<EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>>;
167
+ readonly type: vue.PropType<EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
168
168
  readonly required: false;
169
169
  readonly validator: ((val: unknown) => boolean) | undefined;
170
170
  __epPropKey: true;
@@ -179,7 +179,7 @@ declare const cascaderProps: {
179
179
  new (): any;
180
180
  readonly prototype: any;
181
181
  }) | null)[], unknown, unknown, () => true, boolean>;
182
- placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, string, boolean>;
182
+ placement: EpPropFinalized<(new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, string, boolean>;
183
183
  fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, string[], boolean>;
184
184
  popperClass: {
185
185
  readonly type: vue.PropType<EpPropMergeType<(new (...args: any[]) => string | {
@@ -300,7 +300,7 @@ declare const cascaderProps: {
300
300
  };
301
301
  tagEffect: {
302
302
  default: string;
303
- type: vue.PropType<EpPropMergeType<StringConstructor, "light" | "dark" | "plain", unknown>>;
303
+ type: vue.PropType<EpPropMergeType<StringConstructor, "dark" | "light" | "plain", unknown>>;
304
304
  required: false;
305
305
  validator: ((val: unknown) => boolean) | undefined;
306
306
  __epPropKey: true;
@@ -38,8 +38,8 @@ declare const __VLS_base: vue.DefineComponent<CascaderComponentProps, {
38
38
  blur: (evt: FocusEvent) => void;
39
39
  focus: (evt: FocusEvent) => void;
40
40
  "update:modelValue": (value: CascaderValue | null | undefined) => void;
41
- change: (value: CascaderValue | null | undefined) => void;
42
41
  clear: () => void;
42
+ change: (value: CascaderValue | null | undefined) => void;
43
43
  visibleChange: (val: boolean) => void;
44
44
  expandChange: (val: CascaderValue) => void;
45
45
  removeTag: (val: CascaderNodeValue | CascaderNodePathValue) => void;
@@ -53,27 +53,27 @@ declare const __VLS_base: vue.DefineComponent<CascaderComponentProps, {
53
53
  onExpandChange?: ((val: CascaderValue) => any) | undefined;
54
54
  onRemoveTag?: ((val: CascaderNodeValue | CascaderNodePathValue) => any) | undefined;
55
55
  }>, {
56
- options: CascaderOption[];
56
+ disabled: boolean;
57
57
  props: CascaderProps;
58
- teleported: boolean;
59
- valueOnClear: string | number | boolean | Function | null;
58
+ clearIcon: IconPropType;
59
+ validateEvent: boolean;
60
+ separator: string;
61
+ tagType: "info" | "primary" | "success" | "warning" | "danger";
62
+ tagEffect: "dark" | "light" | "plain";
60
63
  effect: PopperEffect;
64
+ maxCollapseTags: number;
65
+ popperStyle: string | false | vue.CSSProperties | StyleValue[] | null;
61
66
  fallbackPlacements: Placement[];
62
67
  placement: Placement;
63
- popperStyle: string | false | vue.CSSProperties | StyleValue[] | null;
64
- disabled: boolean;
65
68
  persistent: boolean;
66
- clearIcon: IconPropType;
67
- validateEvent: boolean;
69
+ teleported: boolean;
70
+ options: CascaderOption[];
71
+ valueOnClear: string | number | boolean | Function | null;
68
72
  debounce: number;
69
- separator: string;
70
- showPrefix: boolean;
71
73
  filterMethod: (node: Node, keyword: string) => boolean;
74
+ showPrefix: boolean;
72
75
  showAllLevels: boolean;
73
- maxCollapseTags: number;
74
76
  beforeFilter: (value: string) => boolean | Promise<any>;
75
- tagType: "info" | "primary" | "success" | "warning" | "danger";
76
- tagEffect: "light" | "dark" | "plain";
77
77
  showCheckedStrategy: "parent" | "child";
78
78
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
79
79
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -278,9 +278,9 @@ declare const __VLS_base: vue.DefineComponent<CascaderPanelProps, {
278
278
  "onUpdate:modelValue"?: ((value: CascaderValue | null | undefined) => any) | undefined;
279
279
  "onExpand-change"?: ((value: CascaderNodePathValue) => any) | undefined;
280
280
  }>, {
281
+ props: CascaderProps;
281
282
  border: boolean;
282
283
  options: CascaderOption[];
283
- props: CascaderProps;
284
284
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
285
285
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
286
286
  declare const _default: typeof __VLS_export;
@@ -13,13 +13,13 @@ declare const __VLS_base: vue.DefineComponent<CheckboxProps, {}, {}, {}, {}, vue
13
13
  onChange?: ((val: CheckboxValueType) => any) | undefined;
14
14
  "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
15
15
  }>, {
16
+ disabled: boolean;
17
+ id: string;
16
18
  modelValue: number | string | boolean;
19
+ validateEvent: boolean;
20
+ name: string;
17
21
  value: string | boolean | number | object;
18
22
  label: string | boolean | number | object;
19
- name: string;
20
- id: string;
21
- disabled: boolean;
22
- validateEvent: boolean;
23
23
  trueValue: string | number;
24
24
  falseValue: string | number;
25
25
  trueLabel: string | number;
@@ -15,16 +15,16 @@ declare const __VLS_base: vue.DefineComponent<CheckboxGroupProps, {}, {}, {}, {}
15
15
  onChange?: ((val: CheckboxValueType[]) => any) | undefined;
16
16
  "onUpdate:modelValue"?: ((val: CheckboxGroupValueType) => any) | undefined;
17
17
  }>, {
18
- modelValue: CheckboxGroupValueType;
18
+ disabled: boolean;
19
19
  props: {
20
20
  value?: string;
21
21
  label?: string;
22
22
  disabled?: string;
23
23
  };
24
24
  type: "checkbox" | "button";
25
- tag: string;
26
- disabled: boolean;
25
+ modelValue: CheckboxGroupValueType;
27
26
  validateEvent: boolean;
27
+ tag: string;
28
28
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
29
29
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
30
30
  declare const _default: typeof __VLS_export;