@element-plus/nightly 0.0.20240921 → 0.0.20240923

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 (684) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +107 -67
  4. package/dist/index.full.min.js +9 -9
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +9 -9
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +107 -67
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hr.js +1 -1
  94. package/dist/locale/hr.min.js +1 -1
  95. package/dist/locale/hr.min.mjs +1 -1
  96. package/dist/locale/hr.mjs +1 -1
  97. package/dist/locale/hu.js +1 -1
  98. package/dist/locale/hu.min.js +1 -1
  99. package/dist/locale/hu.min.mjs +1 -1
  100. package/dist/locale/hu.mjs +1 -1
  101. package/dist/locale/hy-am.js +1 -1
  102. package/dist/locale/hy-am.min.js +1 -1
  103. package/dist/locale/hy-am.min.mjs +1 -1
  104. package/dist/locale/hy-am.mjs +1 -1
  105. package/dist/locale/id.js +1 -1
  106. package/dist/locale/id.min.js +1 -1
  107. package/dist/locale/id.min.mjs +1 -1
  108. package/dist/locale/id.mjs +1 -1
  109. package/dist/locale/it.js +1 -1
  110. package/dist/locale/it.min.js +1 -1
  111. package/dist/locale/it.min.mjs +1 -1
  112. package/dist/locale/it.mjs +1 -1
  113. package/dist/locale/ja.js +1 -1
  114. package/dist/locale/ja.min.js +1 -1
  115. package/dist/locale/ja.min.mjs +1 -1
  116. package/dist/locale/ja.mjs +1 -1
  117. package/dist/locale/kk.js +1 -1
  118. package/dist/locale/kk.min.js +1 -1
  119. package/dist/locale/kk.min.mjs +1 -1
  120. package/dist/locale/kk.mjs +1 -1
  121. package/dist/locale/km.js +1 -1
  122. package/dist/locale/km.min.js +1 -1
  123. package/dist/locale/km.min.mjs +1 -1
  124. package/dist/locale/km.mjs +1 -1
  125. package/dist/locale/ko.js +1 -1
  126. package/dist/locale/ko.min.js +1 -1
  127. package/dist/locale/ko.min.mjs +1 -1
  128. package/dist/locale/ko.mjs +1 -1
  129. package/dist/locale/ku.js +1 -1
  130. package/dist/locale/ku.min.js +1 -1
  131. package/dist/locale/ku.min.mjs +1 -1
  132. package/dist/locale/ku.mjs +1 -1
  133. package/dist/locale/ky.js +1 -1
  134. package/dist/locale/ky.min.js +1 -1
  135. package/dist/locale/ky.min.mjs +1 -1
  136. package/dist/locale/ky.mjs +1 -1
  137. package/dist/locale/lt.js +1 -1
  138. package/dist/locale/lt.min.js +1 -1
  139. package/dist/locale/lt.min.mjs +1 -1
  140. package/dist/locale/lt.mjs +1 -1
  141. package/dist/locale/lv.js +1 -1
  142. package/dist/locale/lv.min.js +1 -1
  143. package/dist/locale/lv.min.mjs +1 -1
  144. package/dist/locale/lv.mjs +1 -1
  145. package/dist/locale/mg.js +1 -1
  146. package/dist/locale/mg.min.js +1 -1
  147. package/dist/locale/mg.min.mjs +1 -1
  148. package/dist/locale/mg.mjs +1 -1
  149. package/dist/locale/mn.js +1 -1
  150. package/dist/locale/mn.min.js +1 -1
  151. package/dist/locale/mn.min.mjs +1 -1
  152. package/dist/locale/mn.mjs +1 -1
  153. package/dist/locale/my.js +1 -1
  154. package/dist/locale/my.min.js +1 -1
  155. package/dist/locale/my.min.mjs +1 -1
  156. package/dist/locale/my.mjs +1 -1
  157. package/dist/locale/nb-no.js +1 -1
  158. package/dist/locale/nb-no.min.js +1 -1
  159. package/dist/locale/nb-no.min.mjs +1 -1
  160. package/dist/locale/nb-no.mjs +1 -1
  161. package/dist/locale/nl.js +1 -1
  162. package/dist/locale/nl.min.js +1 -1
  163. package/dist/locale/nl.min.mjs +1 -1
  164. package/dist/locale/nl.mjs +1 -1
  165. package/dist/locale/pa.js +1 -1
  166. package/dist/locale/pa.min.js +1 -1
  167. package/dist/locale/pa.min.mjs +1 -1
  168. package/dist/locale/pa.mjs +1 -1
  169. package/dist/locale/pl.js +1 -1
  170. package/dist/locale/pl.min.js +1 -1
  171. package/dist/locale/pl.min.mjs +1 -1
  172. package/dist/locale/pl.mjs +1 -1
  173. package/dist/locale/pt-br.js +1 -1
  174. package/dist/locale/pt-br.min.js +1 -1
  175. package/dist/locale/pt-br.min.mjs +1 -1
  176. package/dist/locale/pt-br.mjs +1 -1
  177. package/dist/locale/pt.js +1 -1
  178. package/dist/locale/pt.min.js +1 -1
  179. package/dist/locale/pt.min.mjs +1 -1
  180. package/dist/locale/pt.mjs +1 -1
  181. package/dist/locale/ro.js +1 -1
  182. package/dist/locale/ro.min.js +1 -1
  183. package/dist/locale/ro.min.mjs +1 -1
  184. package/dist/locale/ro.mjs +1 -1
  185. package/dist/locale/ru.js +1 -1
  186. package/dist/locale/ru.min.js +1 -1
  187. package/dist/locale/ru.min.mjs +1 -1
  188. package/dist/locale/ru.mjs +1 -1
  189. package/dist/locale/sk.js +1 -1
  190. package/dist/locale/sk.min.js +1 -1
  191. package/dist/locale/sk.min.mjs +1 -1
  192. package/dist/locale/sk.mjs +1 -1
  193. package/dist/locale/sl.js +1 -1
  194. package/dist/locale/sl.min.js +1 -1
  195. package/dist/locale/sl.min.mjs +1 -1
  196. package/dist/locale/sl.mjs +1 -1
  197. package/dist/locale/sr.js +1 -1
  198. package/dist/locale/sr.min.js +1 -1
  199. package/dist/locale/sr.min.mjs +1 -1
  200. package/dist/locale/sr.mjs +1 -1
  201. package/dist/locale/sv.js +1 -1
  202. package/dist/locale/sv.min.js +1 -1
  203. package/dist/locale/sv.min.mjs +1 -1
  204. package/dist/locale/sv.mjs +1 -1
  205. package/dist/locale/sw.js +1 -1
  206. package/dist/locale/sw.min.js +1 -1
  207. package/dist/locale/sw.min.mjs +1 -1
  208. package/dist/locale/sw.mjs +1 -1
  209. package/dist/locale/ta.js +1 -1
  210. package/dist/locale/ta.min.js +1 -1
  211. package/dist/locale/ta.min.mjs +1 -1
  212. package/dist/locale/ta.mjs +1 -1
  213. package/dist/locale/th.js +1 -1
  214. package/dist/locale/th.min.js +1 -1
  215. package/dist/locale/th.min.mjs +1 -1
  216. package/dist/locale/th.mjs +1 -1
  217. package/dist/locale/tk.js +1 -1
  218. package/dist/locale/tk.min.js +1 -1
  219. package/dist/locale/tk.min.mjs +1 -1
  220. package/dist/locale/tk.mjs +1 -1
  221. package/dist/locale/tr.js +1 -1
  222. package/dist/locale/tr.min.js +1 -1
  223. package/dist/locale/tr.min.mjs +1 -1
  224. package/dist/locale/tr.mjs +1 -1
  225. package/dist/locale/ug-cn.js +1 -1
  226. package/dist/locale/ug-cn.min.js +1 -1
  227. package/dist/locale/ug-cn.min.mjs +1 -1
  228. package/dist/locale/ug-cn.mjs +1 -1
  229. package/dist/locale/uk.js +1 -1
  230. package/dist/locale/uk.min.js +1 -1
  231. package/dist/locale/uk.min.mjs +1 -1
  232. package/dist/locale/uk.mjs +1 -1
  233. package/dist/locale/uz-uz.js +1 -1
  234. package/dist/locale/uz-uz.min.js +1 -1
  235. package/dist/locale/uz-uz.min.mjs +1 -1
  236. package/dist/locale/uz-uz.mjs +1 -1
  237. package/dist/locale/vi.js +1 -1
  238. package/dist/locale/vi.min.js +1 -1
  239. package/dist/locale/vi.min.mjs +1 -1
  240. package/dist/locale/vi.mjs +1 -1
  241. package/dist/locale/zh-cn.js +1 -1
  242. package/dist/locale/zh-cn.min.js +1 -1
  243. package/dist/locale/zh-cn.min.mjs +1 -1
  244. package/dist/locale/zh-cn.mjs +1 -1
  245. package/dist/locale/zh-tw.js +1 -1
  246. package/dist/locale/zh-tw.min.js +1 -1
  247. package/dist/locale/zh-tw.min.mjs +1 -1
  248. package/dist/locale/zh-tw.mjs +1 -1
  249. package/es/components/autocomplete/index.mjs +2 -2
  250. package/es/components/autocomplete/src/autocomplete.mjs +365 -81
  251. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  252. package/es/components/autocomplete/src/autocomplete2.mjs +81 -365
  253. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  254. package/es/components/avatar/index.mjs +2 -2
  255. package/es/components/avatar/src/avatar.mjs +66 -32
  256. package/es/components/avatar/src/avatar.mjs.map +1 -1
  257. package/es/components/avatar/src/avatar2.mjs +32 -66
  258. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  259. package/es/components/breadcrumb/index.mjs +2 -2
  260. package/es/components/breadcrumb/src/breadcrumb-item.mjs +9 -57
  261. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  262. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +57 -9
  263. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  264. package/es/components/card/index.mjs +2 -2
  265. package/es/components/card/src/card.mjs +43 -21
  266. package/es/components/card/src/card.mjs.map +1 -1
  267. package/es/components/card/src/card2.mjs +21 -43
  268. package/es/components/card/src/card2.mjs.map +1 -1
  269. package/es/components/carousel/src/carousel2.mjs +1 -1
  270. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  271. package/es/components/cascader-panel/src/index.mjs +1 -1
  272. package/es/components/cascader-panel/src/menu.mjs +1 -1
  273. package/es/components/cascader-panel/src/node.mjs +207 -116
  274. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  275. package/es/components/cascader-panel/src/node2.mjs +116 -207
  276. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  277. package/es/components/cascader-panel/src/store.mjs +1 -1
  278. package/es/components/check-tag/index.mjs +2 -2
  279. package/es/components/check-tag/src/check-tag.mjs +39 -15
  280. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  281. package/es/components/check-tag/src/check-tag2.mjs +15 -39
  282. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  283. package/es/components/color-picker/src/color-picker2.mjs +5 -6
  284. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  285. package/es/components/date-picker/src/date-picker.d.ts +6 -0
  286. package/es/components/date-picker/src/props/date-picker.d.ts +2 -0
  287. package/es/components/descriptions/src/descriptions-cell.mjs +15 -7
  288. package/es/components/descriptions/src/descriptions-cell.mjs.map +1 -1
  289. package/es/components/dropdown/index.mjs +2 -2
  290. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  291. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  292. package/es/components/dropdown/src/dropdown-menu.mjs +2 -2
  293. package/es/components/dropdown/src/dropdown.mjs +94 -304
  294. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  295. package/es/components/dropdown/src/dropdown2.mjs +304 -94
  296. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  297. package/es/components/icon/index.mjs +2 -2
  298. package/es/components/icon/src/icon.mjs +36 -8
  299. package/es/components/icon/src/icon.mjs.map +1 -1
  300. package/es/components/icon/src/icon2.mjs +8 -36
  301. package/es/components/icon/src/icon2.mjs.map +1 -1
  302. package/es/components/image/index.mjs +2 -2
  303. package/es/components/image/src/image.mjs +233 -64
  304. package/es/components/image/src/image.mjs.map +1 -1
  305. package/es/components/image/src/image2.mjs +64 -233
  306. package/es/components/image/src/image2.mjs.map +1 -1
  307. package/es/components/index.mjs +25 -25
  308. package/es/components/input/index.mjs +2 -2
  309. package/es/components/input/src/input.mjs +103 -445
  310. package/es/components/input/src/input.mjs.map +1 -1
  311. package/es/components/input/src/input2.mjs +445 -103
  312. package/es/components/input/src/input2.mjs.map +1 -1
  313. package/es/components/input-number/src/input-number.vue.d.ts +2 -0
  314. package/es/components/input-number/src/input-number2.mjs +15 -2
  315. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  316. package/es/components/mention/src/mention-dropdown.mjs +167 -15
  317. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  318. package/es/components/mention/src/mention-dropdown2.mjs +15 -167
  319. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  320. package/es/components/mention/src/mention.mjs +1 -1
  321. package/es/components/mention/src/mention2.mjs +2 -2
  322. package/es/components/menu/index.mjs +2 -2
  323. package/es/components/menu/src/menu-item.mjs +97 -14
  324. package/es/components/menu/src/menu-item.mjs.map +1 -1
  325. package/es/components/menu/src/menu-item2.mjs +14 -97
  326. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  327. package/es/components/message/index.mjs +1 -1
  328. package/es/components/message/src/message.mjs +147 -91
  329. package/es/components/message/src/message.mjs.map +1 -1
  330. package/es/components/message/src/message2.mjs +91 -147
  331. package/es/components/message/src/message2.mjs.map +1 -1
  332. package/es/components/message/src/method.mjs +2 -2
  333. package/es/components/pagination/src/components/sizes.mjs +69 -23
  334. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  335. package/es/components/pagination/src/components/sizes2.mjs +23 -69
  336. package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
  337. package/es/components/pagination/src/pagination.mjs +1 -1
  338. package/es/components/popconfirm/index.mjs +2 -2
  339. package/es/components/popconfirm/src/popconfirm.mjs +47 -115
  340. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  341. package/es/components/popconfirm/src/popconfirm2.mjs +115 -47
  342. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  343. package/es/components/popover/src/popover.mjs +2 -2
  344. package/es/components/popper/index.mjs +4 -4
  345. package/es/components/popper/src/arrow.mjs +8 -37
  346. package/es/components/popper/src/arrow.mjs.map +1 -1
  347. package/es/components/popper/src/arrow2.mjs +37 -8
  348. package/es/components/popper/src/arrow2.mjs.map +1 -1
  349. package/es/components/popper/src/popper.mjs +25 -32
  350. package/es/components/popper/src/popper.mjs.map +1 -1
  351. package/es/components/popper/src/popper2.mjs +32 -25
  352. package/es/components/popper/src/popper2.mjs.map +1 -1
  353. package/es/components/radio/index.mjs +2 -2
  354. package/es/components/radio/src/radio-group.mjs +35 -68
  355. package/es/components/radio/src/radio-group.mjs.map +1 -1
  356. package/es/components/radio/src/radio-group2.mjs +68 -35
  357. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  358. package/es/components/result/index.mjs +2 -2
  359. package/es/components/result/src/result.mjs +63 -29
  360. package/es/components/result/src/result.mjs.map +1 -1
  361. package/es/components/result/src/result2.mjs +29 -63
  362. package/es/components/result/src/result2.mjs.map +1 -1
  363. package/es/components/roving-focus-group/index.mjs +3 -3
  364. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  365. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -29
  366. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  367. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +29 -27
  368. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  369. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  370. package/es/components/select-v2/src/defaults.d.ts +19 -0
  371. package/es/components/select-v2/src/defaults.mjs +17 -1
  372. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  373. package/es/components/select-v2/src/group-item.mjs +4 -2
  374. package/es/components/select-v2/src/group-item.mjs.map +1 -1
  375. package/es/components/select-v2/src/group-item.vue.d.ts +7 -2
  376. package/es/components/select-v2/src/option-item.mjs +2 -2
  377. package/es/components/select-v2/src/option-item.mjs.map +1 -1
  378. package/es/components/select-v2/src/option-item.vue.d.ts +6 -3
  379. package/es/components/select-v2/src/select-dropdown.d.ts +23 -1
  380. package/es/components/select-v2/src/select-dropdown.mjs +20 -19
  381. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  382. package/es/components/select-v2/src/select.mjs +3 -12
  383. package/es/components/select-v2/src/select.mjs.map +1 -1
  384. package/es/components/select-v2/src/select.types.d.ts +15 -0
  385. package/es/components/select-v2/src/select.vue.d.ts +45 -53
  386. package/es/components/select-v2/src/token.d.ts +7 -8
  387. package/es/components/select-v2/src/token.mjs.map +1 -1
  388. package/es/components/select-v2/src/useAllowCreate.d.ts +2 -2
  389. package/es/components/select-v2/src/useAllowCreate.mjs +1 -1
  390. package/es/components/select-v2/src/useAllowCreate.mjs.map +1 -1
  391. package/es/components/select-v2/src/useOption.d.ts +2 -1
  392. package/es/components/select-v2/src/useOption.mjs.map +1 -1
  393. package/es/components/select-v2/src/useSelect.d.ts +33 -47
  394. package/es/components/select-v2/src/useSelect.mjs +17 -13
  395. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  396. package/es/components/steps/index.mjs +2 -2
  397. package/es/components/steps/src/steps.mjs +36 -39
  398. package/es/components/steps/src/steps.mjs.map +1 -1
  399. package/es/components/steps/src/steps2.mjs +39 -36
  400. package/es/components/steps/src/steps2.mjs.map +1 -1
  401. package/es/components/time-picker/src/common/picker.mjs +3 -2
  402. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  403. package/es/components/time-picker/src/common/picker.vue.d.ts +6 -0
  404. package/es/components/time-picker/src/common/props.d.ts +3 -0
  405. package/es/components/time-picker/src/common/props.mjs +10 -0
  406. package/es/components/time-picker/src/common/props.mjs.map +1 -1
  407. package/es/components/time-picker/src/time-picker.d.ts +6 -0
  408. package/es/components/tooltip/index.mjs +3 -3
  409. package/es/components/tooltip/src/tooltip.mjs +31 -168
  410. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  411. package/es/components/tooltip/src/tooltip2.mjs +168 -31
  412. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  413. package/es/components/tooltip/src/trigger.mjs +16 -73
  414. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  415. package/es/components/tooltip/src/trigger2.mjs +73 -16
  416. package/es/components/tooltip/src/trigger2.mjs.map +1 -1
  417. package/es/components/tooltip-v2/index.mjs +1 -1
  418. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  419. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  420. package/es/components/tooltip-v2/src/trigger.mjs +12 -89
  421. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  422. package/es/components/tooltip-v2/src/trigger2.mjs +89 -12
  423. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  424. package/es/components/tour/index.mjs +2 -2
  425. package/es/components/tour/src/tour.mjs +69 -158
  426. package/es/components/tour/src/tour.mjs.map +1 -1
  427. package/es/components/tour/src/tour2.mjs +158 -69
  428. package/es/components/tour/src/tour2.mjs.map +1 -1
  429. package/es/components/transfer/index.mjs +2 -2
  430. package/es/components/transfer/src/composables/use-checked-change.mjs +1 -1
  431. package/es/components/transfer/src/transfer-panel.mjs +1 -1
  432. package/es/components/transfer/src/transfer.mjs +69 -158
  433. package/es/components/transfer/src/transfer.mjs.map +1 -1
  434. package/es/components/transfer/src/transfer2.mjs +158 -69
  435. package/es/components/transfer/src/transfer2.mjs.map +1 -1
  436. package/es/components/upload/index.mjs +2 -2
  437. package/es/components/upload/src/upload-content.mjs +33 -198
  438. package/es/components/upload/src/upload-content.mjs.map +1 -1
  439. package/es/components/upload/src/upload-content2.mjs +198 -33
  440. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  441. package/es/components/upload/src/upload-list.mjs +29 -175
  442. package/es/components/upload/src/upload-list.mjs.map +1 -1
  443. package/es/components/upload/src/upload-list2.mjs +175 -29
  444. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  445. package/es/components/upload/src/upload2.mjs +2 -2
  446. package/es/components/virtual-list/index.d.ts +2 -0
  447. package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
  448. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -0
  449. package/es/components/virtual-list/src/components/dynamic-size-list.mjs.map +1 -1
  450. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -0
  451. package/es/components/virtual-list/src/components/fixed-size-list.mjs.map +1 -1
  452. package/es/components/virtual-list/src/hooks/use-cache.d.ts +1 -1
  453. package/es/components/virtual-list/src/hooks/use-cache.mjs.map +1 -1
  454. package/es/components/watermark/index.mjs +2 -2
  455. package/es/components/watermark/src/watermark.mjs +209 -28
  456. package/es/components/watermark/src/watermark.mjs.map +1 -1
  457. package/es/components/watermark/src/watermark2.mjs +28 -209
  458. package/es/components/watermark/src/watermark2.mjs.map +1 -1
  459. package/es/index.mjs +25 -25
  460. package/es/utils/vue/typescript.d.ts +2 -1
  461. package/es/version.d.ts +1 -1
  462. package/es/version.mjs +1 -1
  463. package/es/version.mjs.map +1 -1
  464. package/lib/components/autocomplete/index.js +2 -2
  465. package/lib/components/autocomplete/src/autocomplete.js +363 -80
  466. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  467. package/lib/components/autocomplete/src/autocomplete2.js +80 -363
  468. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  469. package/lib/components/avatar/index.js +2 -2
  470. package/lib/components/avatar/src/avatar.js +66 -33
  471. package/lib/components/avatar/src/avatar.js.map +1 -1
  472. package/lib/components/avatar/src/avatar2.js +33 -66
  473. package/lib/components/avatar/src/avatar2.js.map +1 -1
  474. package/lib/components/breadcrumb/index.js +2 -2
  475. package/lib/components/breadcrumb/src/breadcrumb-item.js +9 -57
  476. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  477. package/lib/components/breadcrumb/src/breadcrumb-item2.js +57 -9
  478. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  479. package/lib/components/card/index.js +2 -2
  480. package/lib/components/card/src/card.js +43 -21
  481. package/lib/components/card/src/card.js.map +1 -1
  482. package/lib/components/card/src/card2.js +21 -43
  483. package/lib/components/card/src/card2.js.map +1 -1
  484. package/lib/components/carousel/src/carousel2.js +1 -1
  485. package/lib/components/carousel/src/carousel2.js.map +1 -1
  486. package/lib/components/cascader-panel/src/index.js +1 -1
  487. package/lib/components/cascader-panel/src/menu.js +1 -1
  488. package/lib/components/cascader-panel/src/node.js +207 -116
  489. package/lib/components/cascader-panel/src/node.js.map +1 -1
  490. package/lib/components/cascader-panel/src/node2.js +116 -207
  491. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  492. package/lib/components/cascader-panel/src/store.js +1 -1
  493. package/lib/components/check-tag/index.js +2 -2
  494. package/lib/components/check-tag/src/check-tag.js +39 -16
  495. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  496. package/lib/components/check-tag/src/check-tag2.js +16 -39
  497. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  498. package/lib/components/color-picker/src/color-picker2.js +5 -6
  499. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  500. package/lib/components/date-picker/src/date-picker.d.ts +6 -0
  501. package/lib/components/date-picker/src/props/date-picker.d.ts +2 -0
  502. package/lib/components/descriptions/src/descriptions-cell.js +15 -7
  503. package/lib/components/descriptions/src/descriptions-cell.js.map +1 -1
  504. package/lib/components/dropdown/index.js +2 -2
  505. package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
  506. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  507. package/lib/components/dropdown/src/dropdown-menu.js +2 -2
  508. package/lib/components/dropdown/src/dropdown.js +103 -304
  509. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  510. package/lib/components/dropdown/src/dropdown2.js +304 -103
  511. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  512. package/lib/components/icon/index.js +2 -2
  513. package/lib/components/icon/src/icon.js +36 -8
  514. package/lib/components/icon/src/icon.js.map +1 -1
  515. package/lib/components/icon/src/icon2.js +8 -36
  516. package/lib/components/icon/src/icon2.js.map +1 -1
  517. package/lib/components/image/index.js +2 -2
  518. package/lib/components/image/src/image.js +232 -64
  519. package/lib/components/image/src/image.js.map +1 -1
  520. package/lib/components/image/src/image2.js +64 -232
  521. package/lib/components/image/src/image2.js.map +1 -1
  522. package/lib/components/index.js +25 -25
  523. package/lib/components/input/index.js +2 -2
  524. package/lib/components/input/src/input.js +103 -444
  525. package/lib/components/input/src/input.js.map +1 -1
  526. package/lib/components/input/src/input2.js +444 -103
  527. package/lib/components/input/src/input2.js.map +1 -1
  528. package/lib/components/input-number/src/input-number.vue.d.ts +2 -0
  529. package/lib/components/input-number/src/input-number2.js +14 -1
  530. package/lib/components/input-number/src/input-number2.js.map +1 -1
  531. package/lib/components/mention/src/mention-dropdown.js +167 -16
  532. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  533. package/lib/components/mention/src/mention-dropdown2.js +16 -167
  534. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  535. package/lib/components/mention/src/mention.js +1 -1
  536. package/lib/components/mention/src/mention2.js +2 -2
  537. package/lib/components/menu/index.js +2 -2
  538. package/lib/components/menu/src/menu-item.js +97 -15
  539. package/lib/components/menu/src/menu-item.js.map +1 -1
  540. package/lib/components/menu/src/menu-item2.js +15 -97
  541. package/lib/components/menu/src/menu-item2.js.map +1 -1
  542. package/lib/components/message/index.js +1 -1
  543. package/lib/components/message/src/message.js +146 -93
  544. package/lib/components/message/src/message.js.map +1 -1
  545. package/lib/components/message/src/message2.js +93 -146
  546. package/lib/components/message/src/message2.js.map +1 -1
  547. package/lib/components/message/src/method.js +2 -2
  548. package/lib/components/pagination/src/components/sizes.js +69 -23
  549. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  550. package/lib/components/pagination/src/components/sizes2.js +23 -69
  551. package/lib/components/pagination/src/components/sizes2.js.map +1 -1
  552. package/lib/components/pagination/src/pagination.js +1 -1
  553. package/lib/components/popconfirm/index.js +2 -2
  554. package/lib/components/popconfirm/src/popconfirm.js +48 -115
  555. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  556. package/lib/components/popconfirm/src/popconfirm2.js +115 -48
  557. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  558. package/lib/components/popover/src/popover.js +2 -2
  559. package/lib/components/popper/index.js +4 -4
  560. package/lib/components/popper/src/arrow.js +9 -37
  561. package/lib/components/popper/src/arrow.js.map +1 -1
  562. package/lib/components/popper/src/arrow2.js +37 -9
  563. package/lib/components/popper/src/arrow2.js.map +1 -1
  564. package/lib/components/popper/src/popper.js +28 -32
  565. package/lib/components/popper/src/popper.js.map +1 -1
  566. package/lib/components/popper/src/popper2.js +32 -28
  567. package/lib/components/popper/src/popper2.js.map +1 -1
  568. package/lib/components/radio/index.js +2 -2
  569. package/lib/components/radio/src/radio-group.js +36 -68
  570. package/lib/components/radio/src/radio-group.js.map +1 -1
  571. package/lib/components/radio/src/radio-group2.js +68 -36
  572. package/lib/components/radio/src/radio-group2.js.map +1 -1
  573. package/lib/components/result/index.js +2 -2
  574. package/lib/components/result/src/result.js +63 -31
  575. package/lib/components/result/src/result.js.map +1 -1
  576. package/lib/components/result/src/result2.js +31 -63
  577. package/lib/components/result/src/result2.js.map +1 -1
  578. package/lib/components/roving-focus-group/index.js +2 -2
  579. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  580. package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -33
  581. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  582. package/lib/components/roving-focus-group/src/roving-focus-group2.js +33 -27
  583. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  584. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  585. package/lib/components/select-v2/src/defaults.d.ts +19 -0
  586. package/lib/components/select-v2/src/defaults.js +18 -0
  587. package/lib/components/select-v2/src/defaults.js.map +1 -1
  588. package/lib/components/select-v2/src/group-item.js +4 -2
  589. package/lib/components/select-v2/src/group-item.js.map +1 -1
  590. package/lib/components/select-v2/src/group-item.vue.d.ts +7 -2
  591. package/lib/components/select-v2/src/option-item.js +1 -1
  592. package/lib/components/select-v2/src/option-item.js.map +1 -1
  593. package/lib/components/select-v2/src/option-item.vue.d.ts +6 -3
  594. package/lib/components/select-v2/src/select-dropdown.d.ts +23 -1
  595. package/lib/components/select-v2/src/select-dropdown.js +20 -19
  596. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  597. package/lib/components/select-v2/src/select.js +2 -11
  598. package/lib/components/select-v2/src/select.js.map +1 -1
  599. package/lib/components/select-v2/src/select.types.d.ts +15 -0
  600. package/lib/components/select-v2/src/select.vue.d.ts +45 -53
  601. package/lib/components/select-v2/src/token.d.ts +7 -8
  602. package/lib/components/select-v2/src/token.js.map +1 -1
  603. package/lib/components/select-v2/src/useAllowCreate.d.ts +2 -2
  604. package/lib/components/select-v2/src/useAllowCreate.js +1 -1
  605. package/lib/components/select-v2/src/useAllowCreate.js.map +1 -1
  606. package/lib/components/select-v2/src/useOption.d.ts +2 -1
  607. package/lib/components/select-v2/src/useOption.js.map +1 -1
  608. package/lib/components/select-v2/src/useSelect.d.ts +33 -47
  609. package/lib/components/select-v2/src/useSelect.js +17 -13
  610. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  611. package/lib/components/steps/index.js +2 -2
  612. package/lib/components/steps/src/steps.js +37 -39
  613. package/lib/components/steps/src/steps.js.map +1 -1
  614. package/lib/components/steps/src/steps2.js +39 -37
  615. package/lib/components/steps/src/steps2.js.map +1 -1
  616. package/lib/components/time-picker/src/common/picker.js +3 -2
  617. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  618. package/lib/components/time-picker/src/common/picker.vue.d.ts +6 -0
  619. package/lib/components/time-picker/src/common/props.d.ts +3 -0
  620. package/lib/components/time-picker/src/common/props.js +10 -0
  621. package/lib/components/time-picker/src/common/props.js.map +1 -1
  622. package/lib/components/time-picker/src/time-picker.d.ts +6 -0
  623. package/lib/components/tooltip/index.js +3 -3
  624. package/lib/components/tooltip/src/tooltip.js +33 -166
  625. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  626. package/lib/components/tooltip/src/tooltip2.js +166 -33
  627. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  628. package/lib/components/tooltip/src/trigger.js +16 -73
  629. package/lib/components/tooltip/src/trigger.js.map +1 -1
  630. package/lib/components/tooltip/src/trigger2.js +73 -16
  631. package/lib/components/tooltip/src/trigger2.js.map +1 -1
  632. package/lib/components/tooltip-v2/index.js +1 -1
  633. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  634. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  635. package/lib/components/tooltip-v2/src/trigger.js +12 -89
  636. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  637. package/lib/components/tooltip-v2/src/trigger2.js +89 -12
  638. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  639. package/lib/components/tour/index.js +2 -2
  640. package/lib/components/tour/src/tour.js +69 -157
  641. package/lib/components/tour/src/tour.js.map +1 -1
  642. package/lib/components/tour/src/tour2.js +157 -69
  643. package/lib/components/tour/src/tour2.js.map +1 -1
  644. package/lib/components/transfer/index.js +2 -2
  645. package/lib/components/transfer/src/composables/use-checked-change.js +1 -1
  646. package/lib/components/transfer/src/transfer-panel.js +1 -1
  647. package/lib/components/transfer/src/transfer.js +73 -158
  648. package/lib/components/transfer/src/transfer.js.map +1 -1
  649. package/lib/components/transfer/src/transfer2.js +158 -73
  650. package/lib/components/transfer/src/transfer2.js.map +1 -1
  651. package/lib/components/upload/index.js +2 -2
  652. package/lib/components/upload/src/upload-content.js +31 -196
  653. package/lib/components/upload/src/upload-content.js.map +1 -1
  654. package/lib/components/upload/src/upload-content2.js +196 -31
  655. package/lib/components/upload/src/upload-content2.js.map +1 -1
  656. package/lib/components/upload/src/upload-list.js +30 -175
  657. package/lib/components/upload/src/upload-list.js.map +1 -1
  658. package/lib/components/upload/src/upload-list2.js +175 -30
  659. package/lib/components/upload/src/upload-list2.js.map +1 -1
  660. package/lib/components/upload/src/upload2.js +2 -2
  661. package/lib/components/virtual-list/index.d.ts +2 -0
  662. package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
  663. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -0
  664. package/lib/components/virtual-list/src/components/dynamic-size-list.js.map +1 -1
  665. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -0
  666. package/lib/components/virtual-list/src/components/fixed-size-list.js.map +1 -1
  667. package/lib/components/virtual-list/src/hooks/use-cache.d.ts +1 -1
  668. package/lib/components/virtual-list/src/hooks/use-cache.js.map +1 -1
  669. package/lib/components/watermark/index.js +2 -2
  670. package/lib/components/watermark/src/watermark.js +209 -28
  671. package/lib/components/watermark/src/watermark.js.map +1 -1
  672. package/lib/components/watermark/src/watermark2.js +28 -209
  673. package/lib/components/watermark/src/watermark2.js.map +1 -1
  674. package/lib/index.js +25 -25
  675. package/lib/utils/vue/typescript.d.ts +2 -1
  676. package/lib/version.d.ts +1 -1
  677. package/lib/version.js +1 -1
  678. package/lib/version.js.map +1 -1
  679. package/package.json +2 -2
  680. package/tags.json +1 -1
  681. package/theme-chalk/el-avatar.css +1 -1
  682. package/theme-chalk/index.css +1 -1
  683. package/theme-chalk/src/avatar.scss +1 -0
  684. package/web-types.json +1 -1
@@ -15,18 +15,19 @@ import { EVENT_CODE } from '../../../constants/aria.mjs';
15
15
  import FixedSizeList from '../../virtual-list/src/components/fixed-size-list.mjs';
16
16
  import DynamicSizeList from '../../virtual-list/src/components/dynamic-size-list.mjs';
17
17
 
18
+ const props = {
19
+ loading: Boolean,
20
+ data: {
21
+ type: Array,
22
+ required: true
23
+ },
24
+ hoveringIndex: Number,
25
+ width: Number
26
+ };
18
27
  var ElSelectMenu = defineComponent({
19
28
  name: "ElSelectDropdown",
20
- props: {
21
- loading: Boolean,
22
- data: {
23
- type: Array,
24
- required: true
25
- },
26
- hoveringIndex: Number,
27
- width: Number
28
- },
29
- setup(props, {
29
+ props,
30
+ setup(props2, {
30
31
  slots,
31
32
  expose
32
33
  }) {
@@ -39,7 +40,7 @@ var ElSelectMenu = defineComponent({
39
40
  } = useProps(select.props);
40
41
  const cachedHeights = ref([]);
41
42
  const listRef = ref();
42
- const size = computed(() => props.data.length);
43
+ const size = computed(() => props2.data.length);
43
44
  watch(() => size.value, () => {
44
45
  var _a, _b;
45
46
  (_b = (_a = select.tooltipRef.value).updatePopper) == null ? void 0 : _b.call(_a);
@@ -93,7 +94,7 @@ var ElSelectMenu = defineComponent({
93
94
  } = select.props;
94
95
  return disabled || !selected && (multiple ? multipleLimit > 0 && modelValue.length >= multipleLimit : false);
95
96
  };
96
- const isItemHovering = (target) => props.hoveringIndex === target;
97
+ const isItemHovering = (target) => props2.hoveringIndex === target;
97
98
  const scrollToItem = (index) => {
98
99
  const list = listRef.value;
99
100
  if (list) {
@@ -106,7 +107,7 @@ var ElSelectMenu = defineComponent({
106
107
  list.resetScrollTop();
107
108
  }
108
109
  };
109
- expose({
110
+ const exposed = {
110
111
  listRef,
111
112
  isSized,
112
113
  isItemDisabled,
@@ -114,7 +115,8 @@ var ElSelectMenu = defineComponent({
114
115
  isItemSelected,
115
116
  scrollToItem,
116
117
  resetScrollTop
117
- });
118
+ };
119
+ expose(exposed);
118
120
  const Item = (itemProps) => {
119
121
  const {
120
122
  index,
@@ -153,9 +155,9 @@ var ElSelectMenu = defineComponent({
153
155
  "onSelect": onSelect,
154
156
  "onHover": onHover
155
157
  }), {
156
- default: (props2) => {
158
+ default: (props3) => {
157
159
  var _a;
158
- return ((_a = slots.default) == null ? void 0 : _a.call(slots, props2)) || createVNode("span", null, [getLabel(item)]);
160
+ return ((_a = slots.default) == null ? void 0 : _a.call(slots, props3)) || createVNode("span", null, [getLabel(item)]);
159
161
  }
160
162
  });
161
163
  };
@@ -170,7 +172,6 @@ var ElSelectMenu = defineComponent({
170
172
  onKeyboardNavigate("backward");
171
173
  };
172
174
  const onEscOrTab = () => {
173
- select.expanded = false;
174
175
  };
175
176
  const onKeydown = (e) => {
176
177
  const {
@@ -212,7 +213,7 @@ var ElSelectMenu = defineComponent({
212
213
  const {
213
214
  data,
214
215
  width
215
- } = props;
216
+ } = props2;
216
217
  const {
217
218
  height,
218
219
  multiple,
@@ -235,7 +236,7 @@ var ElSelectMenu = defineComponent({
235
236
  "total": data.length,
236
237
  "onKeydown": onKeydown
237
238
  }), {
238
- default: (props2) => createVNode(Item, props2, null)
239
+ default: (props3) => createVNode(Item, props3, null)
239
240
  }), (_d = slots.footer) == null ? void 0 : _d.call(slots)]);
240
241
  };
241
242
  }
@@ -1 +1 @@
1
- {"version":3,"file":"select-dropdown.mjs","sources":["../../../../../../packages/components/select-v2/src/select-dropdown.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n ref,\n toRaw,\n unref,\n watch,\n} from 'vue'\nimport { get } from 'lodash-unified'\nimport { isObject, isUndefined } from '@element-plus/utils'\nimport {\n DynamicSizeList,\n FixedSizeList,\n} from '@element-plus/components/virtual-list'\nimport { useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\nimport { useProps } from './useProps'\n\nimport { selectV2InjectionKey } from './token'\n\nimport type { ItemProps } from '@element-plus/components/virtual-list'\nimport type { Option, OptionItemProps } from './select.types'\n\nexport default defineComponent({\n name: 'ElSelectDropdown',\n\n props: {\n loading: Boolean,\n data: {\n type: Array,\n required: true,\n },\n hoveringIndex: Number,\n width: Number,\n },\n setup(props, { slots, expose }) {\n const select = inject(selectV2InjectionKey)!\n const ns = useNamespace('select')\n const { getLabel, getValue, getDisabled } = useProps(select.props)\n\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref()\n\n const size = computed(() => props.data.length)\n watch(\n () => size.value,\n () => {\n select.tooltipRef.value.updatePopper?.()\n }\n )\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return get(selected, valueKey) === get(target, valueKey)\n }\n }\n\n const isItemSelected = (modelValue: any[] | any, target: Option) => {\n if (select.props.multiple) {\n return contains(modelValue, getValue(target))\n }\n return isEqual(modelValue, getValue(target))\n }\n\n const isItemDisabled = (modelValue: any[] | any, selected: boolean) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering = (target: number) => props.hoveringIndex === target\n\n const scrollToItem = (index: number) => {\n const list = listRef.value as any\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop = () => {\n const list = listRef.value as any\n if (list) {\n list.resetScrollTop()\n }\n }\n\n expose({\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n scrollToItem,\n resetScrollTop,\n })\n\n const Item = (itemProps: ItemProps<any>) => {\n const { index, data, style } = itemProps\n const sized = unref(isSized)\n const { itemSize, estimatedSize } = unref(listProps)\n const { modelValue } = select.props\n const { onSelect, onHover } = select\n const item = data[index]\n if (item.type === 'Group') {\n return (\n <GroupItem\n item={item}\n style={style}\n height={(sized ? itemSize : estimatedSize) as number}\n />\n )\n }\n\n const isSelected = isItemSelected(modelValue, item)\n const isDisabled = isItemDisabled(modelValue, isSelected)\n const isHovering = isItemHovering(index)\n return (\n <OptionItem\n {...itemProps}\n selected={isSelected}\n disabled={getDisabled(item) || isDisabled}\n created={!!item.created}\n hovering={isHovering}\n item={item}\n onSelect={onSelect}\n onHover={onHover}\n >\n {{\n default: (props: OptionItemProps) =>\n slots.default?.(props) || <span>{getLabel(item)}</span>,\n }}\n </OptionItem>\n )\n }\n\n // computed\n const { onKeyboardNavigate, onKeyboardSelect } = select\n\n const onForward = () => {\n onKeyboardNavigate('forward')\n }\n\n const onBackward = () => {\n onKeyboardNavigate('backward')\n }\n\n const onEscOrTab = () => {\n select.expanded = false\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n const { code } = e\n const { tab, esc, down, up, enter } = EVENT_CODE\n if (code !== tab) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n switch (code) {\n case tab:\n case esc: {\n onEscOrTab()\n break\n }\n case down: {\n onForward()\n break\n }\n case up: {\n onBackward()\n break\n }\n case enter: {\n onKeyboardSelect()\n break\n }\n }\n }\n\n return () => {\n const { data, width } = props\n const { height, multiple, scrollbarAlwaysOn } = select.props\n\n const List = unref(isSized) ? FixedSizeList : DynamicSizeList\n\n return (\n <div\n class={[ns.b('dropdown'), ns.is('multiple', multiple)]}\n style={{\n width: `${width}px`,\n }}\n >\n {slots.header?.()}\n {slots.loading?.() || slots.empty?.() || (\n <List\n ref={listRef}\n {...unref(listProps)}\n className={ns.be('dropdown', 'list')}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n data={data}\n height={height}\n width={width}\n total={data.length}\n // @ts-ignore - dts problem\n onKeydown={onKeydown}\n >\n {{\n default: (props: ItemProps<any>) => <Item {...props} />,\n }}\n </List>\n )}\n {slots.footer?.()}\n </div>\n )\n }\n },\n})\n"],"names":["defineComponent","name","props","loading","Boolean","data","type","Array","required","hoveringIndex","Number","width","slots","expose","select","ns","getLabel","getValue","getDisabled","cachedHeights","ref","listRef","size","computed","watch","tooltipRef","value","isSized","isUndefined","estimatedOptionHeight","listProps","itemSize","itemHeight","estimatedSize","contains","valueKey","isObject","target","arr","item","isEqual","selected","get","isItemSelected","modelValue","isItemDisabled","multipleLimit","isItemHovering","scrollToItem","resetScrollTop","list","Item","itemProps","style","_createVNode","unref","_mergeProps","onSelect","onHover","sized","default","onKeyboardNavigate","onKeyboardSelect","onForward","onBackward","onEscOrTab","expanded","onKeydown","code","e","tab","enter","EVENT_CODE","esc"],"mappings":"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"}
1
+ {"version":3,"file":"select-dropdown.mjs","sources":["../../../../../../packages/components/select-v2/src/select-dropdown.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n ref,\n toRaw,\n unref,\n watch,\n} from 'vue'\nimport { get } from 'lodash-unified'\nimport { isObject, isUndefined } from '@element-plus/utils'\nimport {\n DynamicSizeList,\n FixedSizeList,\n} from '@element-plus/components/virtual-list'\nimport { useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\nimport { useProps } from './useProps'\n\nimport { selectV2InjectionKey } from './token'\n\nimport type {\n DynamicSizeListInstance,\n FixedSizeListInstance,\n ItemProps,\n} from '@element-plus/components/virtual-list'\nimport type { Option, OptionItemProps } from './select.types'\nimport type {\n ComponentPublicInstance,\n ComputedRef,\n ExtractPropTypes,\n Ref,\n} from 'vue'\n\nconst props = {\n loading: Boolean,\n data: {\n type: Array,\n required: true as const,\n },\n hoveringIndex: Number,\n width: Number,\n}\ninterface SelectDropdownExposed {\n listRef: Ref<FixedSizeListInstance | DynamicSizeListInstance | undefined>\n isSized: ComputedRef<boolean>\n isItemDisabled: (modelValue: any[] | any, selected: boolean) => boolean\n isItemHovering: (target: number) => boolean\n isItemSelected: (modelValue: any[] | any, target: Option) => boolean\n scrollToItem: (index: number) => void\n resetScrollTop: () => void\n}\nexport type SelectDropdownInstance = ComponentPublicInstance<\n ExtractPropTypes<typeof props>,\n SelectDropdownExposed\n>\nexport default defineComponent({\n name: 'ElSelectDropdown',\n props,\n setup(props, { slots, expose }) {\n const select = inject(selectV2InjectionKey)!\n const ns = useNamespace('select')\n const { getLabel, getValue, getDisabled } = useProps(select.props)\n\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref<FixedSizeListInstance | DynamicSizeListInstance>()\n\n const size = computed(() => props.data.length)\n watch(\n () => size.value,\n () => {\n select.tooltipRef.value!.updatePopper?.()\n }\n )\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return get(selected, valueKey) === get(target, valueKey)\n }\n }\n\n const isItemSelected: SelectDropdownExposed['isItemSelected'] = (\n modelValue,\n target\n ) => {\n if (select.props.multiple) {\n return contains(modelValue, getValue(target))\n }\n return isEqual(modelValue, getValue(target))\n }\n\n const isItemDisabled: SelectDropdownExposed['isItemDisabled'] = (\n modelValue,\n selected\n ) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering: SelectDropdownExposed['isItemHovering'] = (target) =>\n props.hoveringIndex === target\n\n const scrollToItem: SelectDropdownExposed['scrollToItem'] = (index) => {\n const list = listRef.value\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop: SelectDropdownExposed['resetScrollTop'] = () => {\n const list = listRef.value\n if (list) {\n list.resetScrollTop()\n }\n }\n const exposed: SelectDropdownExposed = {\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n scrollToItem,\n resetScrollTop,\n }\n expose(exposed)\n\n const Item = (itemProps: ItemProps<any>) => {\n const { index, data, style } = itemProps\n const sized = unref(isSized)\n const { itemSize, estimatedSize } = unref(listProps)\n const { modelValue } = select.props\n const { onSelect, onHover } = select\n const item = data[index]\n if (item.type === 'Group') {\n return (\n <GroupItem\n item={item}\n style={style}\n height={sized ? (itemSize as number) : estimatedSize}\n />\n )\n }\n\n const isSelected = isItemSelected(modelValue, item)\n const isDisabled = isItemDisabled(modelValue, isSelected)\n const isHovering = isItemHovering(index)\n return (\n <OptionItem\n {...itemProps}\n selected={isSelected}\n disabled={getDisabled(item) || isDisabled}\n created={!!item.created}\n hovering={isHovering}\n item={item}\n onSelect={onSelect}\n onHover={onHover}\n >\n {{\n default: (props: OptionItemProps) =>\n slots.default?.(props) || <span>{getLabel(item)}</span>,\n }}\n </OptionItem>\n )\n }\n\n // computed\n const { onKeyboardNavigate, onKeyboardSelect } = select\n\n const onForward = () => {\n onKeyboardNavigate('forward')\n }\n\n const onBackward = () => {\n onKeyboardNavigate('backward')\n }\n\n const onEscOrTab = () => {\n // The following line actually doesn't work. Fixing it may introduce a small breaking change for some users, so just comment it out for now.\n // select.expanded = false\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n const { code } = e\n const { tab, esc, down, up, enter } = EVENT_CODE\n if (code !== tab) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n switch (code) {\n case tab:\n case esc: {\n onEscOrTab()\n break\n }\n case down: {\n onForward()\n break\n }\n case up: {\n onBackward()\n break\n }\n case enter: {\n onKeyboardSelect()\n break\n }\n }\n }\n\n return () => {\n const { data, width } = props\n const { height, multiple, scrollbarAlwaysOn } = select.props\n\n const List = unref(isSized) ? FixedSizeList : DynamicSizeList\n\n return (\n <div\n class={[ns.b('dropdown'), ns.is('multiple', multiple)]}\n style={{\n width: `${width}px`,\n }}\n >\n {slots.header?.()}\n {slots.loading?.() || slots.empty?.() || (\n <List\n ref={listRef}\n {...unref(listProps)}\n className={ns.be('dropdown', 'list')}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n data={data}\n height={height}\n width={width}\n total={data.length}\n // @ts-ignore - dts problem\n onKeydown={onKeydown}\n >\n {{\n default: (props: ItemProps<any>) => <Item {...props} />,\n }}\n </List>\n )}\n {slots.footer?.()}\n </div>\n )\n }\n },\n})\n"],"names":["props","loading","Boolean","data","type","Array","required","hoveringIndex","Number","width","defineComponent","name","slots","expose","select","ns","getLabel","getValue","getDisabled","cachedHeights","ref","listRef","size","computed","watch","tooltipRef","value","isSized","isUndefined","estimatedOptionHeight","listProps","itemSize","itemHeight","estimatedSize","contains","valueKey","isObject","target","arr","item","isEqual","selected","get","isItemSelected","modelValue","isItemDisabled","multipleLimit","isItemHovering","scrollToItem","resetScrollTop","list","Item","itemProps","style","_createVNode","unref","_mergeProps","onSelect","onHover","sized","default","onKeyboardSelect","onForward","onBackward","onEscOrTab","onKeydown","code","up","enter","EVENT_CODE","e","tab"],"mappings":"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"}
@@ -4,14 +4,12 @@ import '../../../directives/index.mjs';
4
4
  import { ElTooltip } from '../../tooltip/index.mjs';
5
5
  import { ElTag } from '../../tag/index.mjs';
6
6
  import { ElIcon } from '../../icon/index.mjs';
7
- import '../../../constants/index.mjs';
8
7
  import ElSelectMenu from './select-dropdown.mjs';
9
8
  import useSelect from './useSelect.mjs';
10
- import { SelectProps } from './defaults.mjs';
9
+ import { SelectProps, selectEmits } from './defaults.mjs';
11
10
  import { selectV2InjectionKey } from './token.mjs';
12
11
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
13
12
  import ClickOutside from '../../../directives/click-outside/index.mjs';
14
- import { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
15
13
  import { isArray } from '@vue/shared';
16
14
 
17
15
  const _sfc_main = defineComponent({
@@ -24,15 +22,7 @@ const _sfc_main = defineComponent({
24
22
  },
25
23
  directives: { ClickOutside },
26
24
  props: SelectProps,
27
- emits: [
28
- UPDATE_MODEL_EVENT,
29
- CHANGE_EVENT,
30
- "remove-tag",
31
- "clear",
32
- "visible-change",
33
- "focus",
34
- "blur"
35
- ],
25
+ emits: selectEmits,
36
26
  setup(props, { emit }) {
37
27
  const modelValue = computed(() => {
38
28
  const { modelValue: rawModelValue, multiple } = props;
@@ -52,6 +42,7 @@ const _sfc_main = defineComponent({
52
42
  height: API.popupHeight,
53
43
  modelValue
54
44
  }),
45
+ expanded: API.expanded,
55
46
  tooltipRef: API.tooltipRef,
56
47
  onSelect: API.onSelect,
57
48
  onHover: API.onHover,
@@ -1 +1 @@
1
- {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @mouseenter=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n :placement=\"placement\"\n pure\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n trigger=\"click\"\n :persistent=\"persistent\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!modelValue.length\n ),\n ]\"\n >\n <slot v-if=\"multiple\" name=\"tag\">\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(getValue(item))\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"!selectDisabled && !getDisabled(item)\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"tagStyle\"\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :label=\"getLabel(item)\"\n :value=\"getValue(item)\"\n >\n {{ getLabel(item) }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"collapseTags && modelValue.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom\"\n :teleported=\"teleported\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n :style=\"collapseTagStyle\"\n disable-transitions\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ modelValue.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"selected in collapseTagList\"\n :key=\"getValueKey(getValue(selected))\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !getDisabled(selected)\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :label=\"getLabel(selected)\"\n :value=\"getValue(selected)\"\n >\n {{ getLabel(selected) }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n v-if=\"!selectDisabled\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is('hidden', !filterable),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"states.inputValue\"\n :style=\"inputStyle\"\n :autocomplete=\"autocomplete\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-label=\"ariaLabel\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n @input=\"onInput\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"[nsSelect.e('caret'), nsInput.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsInput.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n :class=\"[nsInput.e('icon'), nsInput.e('validateIcon')]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template v-if=\"$slots.header\" #header>\n <div :class=\"nsSelect.be('dropdown', 'header')\">\n <slot name=\"header\" />\n </div>\n </template>\n <template #default=\"scope\">\n <slot v-bind=\"scope\" />\n </template>\n <template v-if=\"$slots.loading && loading\" #loading>\n <div :class=\"nsSelect.be('dropdown', 'loading')\">\n <slot name=\"loading\" />\n </div>\n </template>\n <template v-else-if=\"loading || filteredOptions.length === 0\" #empty>\n <div :class=\"nsSelect.be('dropdown', 'empty')\">\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n </template>\n <template v-if=\"$slots.footer\" #footer>\n <div :class=\"nsSelect.be('dropdown', 'footer')\">\n <slot name=\"footer\" />\n </div>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide, reactive, toRefs } from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElSelectMenu from './select-dropdown'\nimport useSelect from './useSelect'\nimport { SelectProps } from './defaults'\nimport { selectV2InjectionKey } from './token'\n\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n return multiple ? fallback : rawModelValue\n })\n\n const API = useSelect(\n reactive({\n ...toRefs(props),\n modelValue,\n }),\n emit\n )\n // TODO, remove the any cast to align the actual API.\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n modelValue,\n }),\n tooltipRef: API.tooltipRef,\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n } as any)\n\n return {\n ...API,\n modelValue,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createVNode","_withCtx","_createElementVNode","_withModifiers","_renderSlot","_createCommentVNode","_openBlock","_Fragment","_renderList","_normalizeStyle","_createTextVNode","_toDisplayString","_createBlock","_withKeys","_vModelText","_withDirectives","_resolveDynamicComponent","_createSlots"],"mappings":";;;;;;;;;;;;;;;;AAgSA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,YAAA;AAAA,EACN,UAAY,EAAA;AAAA,IACV,YAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,GACF;AAAA,EACA,UAAA,EAAY,EAAE,YAAa,EAAA;AAAA,EAC3B,KAAO,EAAA,WAAA;AAAA,EACP,KAAO,EAAA;AAAA,IACL,kBAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,IACA,gBAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,GACF;AAAA,EAEA,KAAA,CAAM,KAAO,EAAA,EAAE,IAAQ,EAAA,EAAA;AACrB,IAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAChC,MAAM,MAAA,EAAE,UAAY,EAAA,aAAA,EAAe,QAAa,EAAA,GAAA,KAAA,CAAA;AAChD,MAAM,MAAA,QAAA,GAAW,QAAW,GAAA,EAAK,GAAA,KAAA,CAAA,CAAA;AAGjC,MAAI,IAAA,OAAA,CAAQ,aAAa,CAAG,EAAA;AAC1B,QAAA,OAAO,WAAW,aAAgB,GAAA,QAAA,CAAA;AAAA,OACpC;AACA,MAAA,OAAO,WAAW,QAAW,GAAA,aAAA,CAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAM,MAAA,GAAA,GAAM,UACV,QAAS,CAAA;AAAA,MACP,GAAG,OAAO,KAAK,CAAA;AAAA,MACf,UAAA;AAAA,KACD,GACD,IACF,CAAA,CAAA;AAEA,IAAA,OAAA,CAAQ,oBAAsB,EAAA;AAAA,MAC5B,OAAO,QAAS,CAAA;AAAA,QACd,GAAG,OAAO,KAAK,CAAA;AAAA,QACf,QAAQ,GAAI,CAAA,WAAA;AAAA,QACZ,UAAA;AAAA,OACD,CAAA;AAAA,MACD,YAAY,GAAI,CAAA,UAAA;AAAA,MAChB,UAAU,GAAI,CAAA,QAAA;AAAA,MACd,SAAS,GAAI,CAAA,OAAA;AAAA,MACb,oBAAoB,GAAI,CAAA,kBAAA;AAAA,MACxB,kBAAkB,GAAI,CAAA,gBAAA;AAAA,KAChB,CAAA,CAAA;AAER,IAAO,OAAA;AAAA,MACL,GAAG,GAAA;AAAA,MACH,UAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;;;;;;sCAzVCA,kBA+QM,CAAA,KAAA,EAAA;AAAA,IA9QJ,GAAI,EAAA,WAAA;AAAA,IAEH,OAAKC,cAAG,CAAA,CAAA,IAAA,CAAA,QAAA,CAAS,GAAK,EAAA,IAAA,CAAA,QAAA,CAAS,EAAE,IAAU,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,IAC3C,YAAA,EAAU,CAAE,MAAA,KAAA,IAAA,CAAA,MAAA,CAAO,aAAa,GAAA,IAAA;AAAA,IAChC,YAAA,EAAU,CAAE,MAAA,KAAA,IAAA,CAAA,MAAA,CAAO,aAAa,GAAA,KAAA;AAAA,GAAA,EAAA;IAEjCC,WAuQa,CAAA,qBAAA,EAAA;AAAA,MAtQX,GAAI,EAAA,YAAA;AAAA,MACH,OAAS,EAAA,IAAA,CAAA,mBAAA;AAAA,MACT,UAAY,EAAA,IAAA,CAAA,UAAA;AAAA,MACZ,cAAY,EAAA,CAAG,IAAS,CAAA,QAAA,CAAA,CAAA,CAAC,WAAY,IAAW,CAAA,WAAA,CAAA;AAAA,MAChD,kBAAkB,EAAA,KAAA;AAAA,MAClB,yBAAyB,EAAA,KAAA;AAAA,MACzB,gBAAgB,EAAA,IAAA,CAAA,aAAA;AAAA,MAChB,qBAAqB,EAAA,IAAA,CAAA,kBAAA;AAAA,MACrB,MAAQ,EAAA,IAAA,CAAA,MAAA;AAAA,MACR,SAAW,EAAA,IAAA,CAAA,SAAA;AAAA,MACZ,IAAA,EAAA,EAAA;AAAA,MACC,UAAA,EAAU,CAAK,EAAA,IAAA,CAAA,QAAA,CAAS,SAAU,CAAA,KAAA,CAAA,YAAA,CAAA;AAAA,MACnC,OAAQ,EAAA,OAAA;AAAA,MACP,UAAY,EAAA,IAAA,CAAA,UAAA;AAAA,MACZ,YAAa,EAAA,IAAA,CAAA,eAAA;AAAA,MACb,MAAA,EAAI,CAAE,MAAA,KAAA,IAAA,CAAA,MAAA,CAAO,YAAY,GAAA,KAAA;AAAA,KAAA,EAAA;AAEf,MAAA,OAAA,EAAOC,QAChB,MA+MM;AAAA,QA/MNC,kBA+MM,CAAA,KAAA,EAAA;AAAA,UA9MJ,GAAI,EAAA,YAAA;AAAA,UACH,KAAK,EAAAH,cAAA,CAAA;AAAA,YAAgB,cAAS,CAAC,CAAA,SAAA,CAAA;AAAA,YAAyB,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA,SAAA,EAAY,IAAS,CAAA,SAAA,CAAA;AAAA,YAAe,IAAS,CAAA,QAAA,CAAA,EAAA,CAAE,UAAa,EAAA,IAAA,CAAA,MAAA,CAAO,aAAa,CAAA;AAAA,YAAe,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA,YAAA,EAAe,IAAU,CAAA,UAAA,CAAA;AAAA,YAAe,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA,UAAA,EAAa,IAAc,CAAA,cAAA,CAAA;AAAA,WAAA,CAAA;AAO3P,UAAA,OAAA,EAAKI,cAAU,IAAU,CAAA,UAAA,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,SAAA,EAAA;AAGlB,UAAA,IAAA,CAAA,MAAA,CAAO,uBADfL,kBAMM,CAAA,KAAA,EAAA;AAAA,YAAA,GAAA,EAAA,CAAA;YAJJ,GAAI,EAAA,WAAA;AAAA,YACH,KAAA,EAAKC,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,CAAC,CAAA,QAAA,CAAA,CAAA;AAAA,WAAA,EAAA;YAElBK,UAAsB,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,WAAA,EAAA,CAAA,CAAA,IAAAC,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;UAExBH,kBAkKM,CAAA,KAAA,EAAA;AAAA,YAjKJ,GAAI,EAAA,cAAA;AAAA,YACH,KAAK,EAAAH,cAAA,CAAA;AAAA,cAAkB,cAAS,CAAC,CAAA,WAAA,CAAA;AAAA,cAA6B,cAAS,EAA4C,CAAA,MAAA,EAAA,IAAA,CAAA,QAAA,IAAQ,CAAK,IAAO,CAAA,MAAA,CAAA,MAAA,IAAM,EAAM,IAAW,CAAA,UAAA,CAAA,MAAA,CAAA;;;YAQnJ,IAAZ,CAAA,QAAA,GAAAK,UAAA,CAqFO,gCArFP,MAqFO;AAAA,eAAAE,SAAA,CAAA,IAAA,CAAA,EApFLR,kBAwBM,CAAAS,QAAA,EAAA,IAAA,EAAAC,UAAA,CAvBW,IAAW,CAAA,WAAA,EAAA,CAAnB,IAAI,KAAA;oCADbV,kBAwBM,CAAA,KAAA,EAAA;AAAA,kBAtBH,GAAA,EAAK,IAAY,CAAA,WAAA,CAAA,IAAA,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAAA,kBAC9B,KAAA,EAAKC,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,CAAC,CAAA,eAAA,CAAA,CAAA;AAAA,iBAAA,EAAA;kBAElBC,WAkBS,CAAA,iBAAA,EAAA;AAAA,oBAjBN,QAAQ,EAAA,CAAG,IAAc,CAAA,cAAA,IAAA,CAAK,iBAAY,IAAI,CAAA;AAAA,oBAC9C,IAAM,EAAA,IAAA,CAAA,eAAA;AAAA,oBACN,IAAM,EAAA,IAAA,CAAA,OAAA;AAAA,oBACN,MAAQ,EAAA,IAAA,CAAA,SAAA;AAAA,oBACT,qBAAA,EAAA,EAAA;AAAA,oBACC,KAAA,EAAKS,eAAE,IAAQ,CAAA,QAAA,CAAA;AAAA,oBACf,OAAK,EAAA,CAAA,MAAA,KAAE,IAAU,CAAA,SAAA,CAAA,MAAA,EAAQ,IAAI,CAAA;AAAA,mBAAA,EAAA;qCAE9B,MAQO;AAAA,sBARPP,kBAQO,CAAA,MAAA,EAAA;AAAA,wBARA,KAAA,EAAKH,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,CAAC,CAAA,WAAA,CAAA,CAAA;AAAA,uBAAA,EAAA;wBACtBK,UAMO,CAAA,IAAA,CAAA,MAAA,EAAA,OAAA,EAAA;AAAA,0BAJJ,KAAA,EAAO,cAAS,IAAI,CAAA;AAAA,0BACpB,KAAA,EAAO,cAAS,IAAI,CAAA;AAAA,yBAAA,EAHvB,MAMO;AAAA,0BAAAM,eAAA,CAAAC,eAAA,CADF,cAAS,IAAI,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,yBAAA,CAAA;;;;;;;cAOhB,IAAgB,CAAA,YAAA,IAAA,IAAA,CAAA,UAAA,CAAW,MAAS,GAAA,IAAA,CAAA,eAAA,IAAAL,SAAA,EAAA,EAD5CM,WAyDa,CAAA,qBAAA,EAAA;AAAA,gBAAA,GAAA,EAAA,CAAA;gBAvDX,GAAI,EAAA,eAAA;AAAA,gBACH,QAAA,EAAU,4BAAmB,CAAK,IAAA,CAAA,mBAAA;AAAA,gBAClC,qBAAqB,EAAA,CAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAAA,gBACrB,MAAQ,EAAA,IAAA,CAAA,MAAA;AAAA,gBACT,SAAU,EAAA,QAAA;AAAA,gBACT,UAAY,EAAA,IAAA,CAAA,UAAA;AAAA,eAAA,EAAA;AAEF,gBAAA,OAAA,EAAOX,QAChB,MAgBM;AAAA,kBAhBNC,kBAgBM,CAAA,KAAA,EAAA;AAAA,oBAfJ,GAAI,EAAA,iBAAA;AAAA,oBACH,KAAA,EAAKH,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,CAAC,CAAA,eAAA,CAAA,CAAA;AAAA,mBAAA,EAAA;oBAElBC,WAWS,CAAA,iBAAA,EAAA;AAAA,sBAVN,QAAU,EAAA,KAAA;AAAA,sBACV,IAAM,EAAA,IAAA,CAAA,eAAA;AAAA,sBACN,IAAM,EAAA,IAAA,CAAA,OAAA;AAAA,sBACN,MAAQ,EAAA,IAAA,CAAA,SAAA;AAAA,sBACR,KAAA,EAAKS,eAAE,IAAgB,CAAA,gBAAA,CAAA;AAAA,sBACxB,qBAAA,EAAA,EAAA;AAAA,qBAAA,EAAA;uCAEA,MAEO;AAAA,wBAFPP,kBAEO,CAAA,MAAA,EAAA;AAAA,0BAFA,KAAA,EAAKH,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,CAAC,CAAA,WAAA,CAAA,CAAA;AAAA,yBAAA,EAAe,KACnC,GAAAY,eAAA,CAAG,IAAW,CAAA,UAAA,CAAA,MAAA,GAAS,IAAe,CAAA,eAAA,CAAA,EAAA,CAAA,CAAA;AAAA,uBAAA,CAAA;;;;;AAKrC,gBAAA,OAAA,EAAOV,QAChB,MA0BM;AAAA,kBA1BNC,kBA0BM,CAAA,KAAA,EAAA;AAAA,oBA1BD,GAAI,EAAA,YAAA;AAAA,oBAAc,KAAA,EAAKH,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,CAAC,CAAA,WAAA,CAAA,CAAA;AAAA,mBAAA,EAAA;sCACtCD,kBAwBM,CAAAS,QAAA,EAAA,IAAA,EAAAC,UAAA,CAvBe,IAAe,CAAA,eAAA,EAAA,CAA3B,QAAQ,KAAA;0CADjBV,kBAwBM,CAAA,KAAA,EAAA;AAAA,wBAtBH,GAAA,EAAK,IAAY,CAAA,WAAA,CAAA,IAAA,CAAA,QAAA,CAAS,QAAQ,CAAA,CAAA;AAAA,wBAClC,KAAA,EAAKC,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,CAAC,CAAA,eAAA,CAAA,CAAA;AAAA,uBAAA,EAAA;wBAElBC,WAkBS,CAAA,iBAAA,EAAA;AAAA,0BAjBP,KAAM,EAAA,YAAA;AAAA,0BACL,QAAQ,EAAA,CAAG,IAAc,CAAA,cAAA,IAAA,CAAK,iBAAY,QAAQ,CAAA;AAAA,0BAClD,IAAM,EAAA,IAAA,CAAA,eAAA;AAAA,0BACN,IAAM,EAAA,IAAA,CAAA,OAAA;AAAA,0BACN,MAAQ,EAAA,IAAA,CAAA,SAAA;AAAA,0BACT,qBAAA,EAAA,EAAA;AAAA,0BACC,OAAK,EAAA,CAAA,MAAA,KAAE,IAAU,CAAA,SAAA,CAAA,MAAA,EAAQ,QAAQ,CAAA;AAAA,yBAAA,EAAA;2CAElC,MAQO;AAAA,4BARPE,kBAQO,CAAA,MAAA,EAAA;AAAA,8BARA,KAAA,EAAKH,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,CAAC,CAAA,WAAA,CAAA,CAAA;AAAA,6BAAA,EAAA;8BACtBK,UAMO,CAAA,IAAA,CAAA,MAAA,EAAA,OAAA,EAAA;AAAA,gCAJJ,KAAA,EAAO,cAAS,QAAQ,CAAA;AAAA,gCACxB,KAAA,EAAO,cAAS,QAAQ,CAAA;AAAA,+BAAA,EAH3B,MAMO;AAAA,gCAAAM,eAAA,CAAAC,eAAA,CADF,cAAS,QAAQ,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,+BAAA,CAAA;;;;;;;;;;;;AAU3B,YAAA,CAAA,IAAA,CAAA,cAAA,IAAAL,SAAA,EAAA,EADTR,kBA4CM,CAAA,KAAA,EAAA;AAAA,cAAA,GAAA,EAAA,CAAA;cA1CH,KAAK,EAAAC,cAAA,CAAA;AAAA,gBAAoB,cAAS,CAAC,CAAA,eAAA,CAAA;AAAA,gBAAmC,cAAS,CAAC,CAAA,eAAA,CAAA;AAAA,gBAAmC,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA,QAAA,EAAA,CAAY,IAAU,CAAA,UAAA,CAAA;AAAA,eAAA,CAAA;;6BAMrJG,kBA4BE,CAAA,OAAA,EAAA;AAAA,gBA3BC,EAAI,EAAA,IAAA,CAAA,OAAA;AAAA,gBACL,GAAI,EAAA,UAAA;AAAA,gBAAA,qBAAA,EAAA,CAAA,MAAA,KACK,YAAO,UAAU,GAAA,MAAA;AAAA,gBACzB,KAAA,EAAKO,eAAE,IAAU,CAAA,UAAA,CAAA;AAAA,gBACjB,YAAc,EAAA,IAAA,CAAA,YAAA;AAAA,gBACf,mBAAkB,EAAA,MAAA;AAAA,gBAClB,eAAc,EAAA,SAAA;AAAA,gBACd,cAAe,EAAA,KAAA;AAAA,gBACd,eAAe,EAAA,IAAA,CAAA,QAAA;AAAA,gBACf,YAAY,EAAA,IAAA,CAAA,SAAA;AAAA,gBACZ,OAAKV,cAAG,CAAA,CAAA,IAAA,CAAA,QAAA,CAAS,EAAC,OAAW,CAAA,EAAA,IAAA,CAAA,QAAA,CAAS,GAAG,IAAU,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,gBACnD,QAAU,EAAA,IAAA,CAAA,cAAA;AAAA,gBACX,IAAK,EAAA,UAAA;AAAA,gBACJ,UAAQ,CAAG,IAAA,CAAA,UAAA;AAAA,gBACZ,UAAW,EAAA,OAAA;AAAA,gBACX,IAAK,EAAA,MAAA;AAAA,gBACJ,IAAM,EAAA,IAAA,CAAA,IAAA;AAAA,gBACN,OAAO,EAAA,IAAA,CAAA,OAAA;AAAA,gBACP,kBAAkB,EAAA,IAAA,CAAA,sBAAA;AAAA,gBAClB,mBAAmB,EAAA,IAAA,CAAA,uBAAA;AAAA,gBACnB,gBAAgB,EAAA,IAAA,CAAA,oBAAA;AAAA,gBAChB,SAAO,EAAA;AAAA,kBAAAc,QAAA,CAAAV,aAAA,CAAA,CAAA,MAAA,KAAkB,IAAkB,CAAA,kBAAA,CAAA,UAAA,CAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,IAAA,CAAA,CAAA;AAAA,kBAAAU,QAAA,CAAAV,aAAA,CAAA,CAAA,MAAA,KAChB,IAAkB,CAAA,kBAAA,CAAA,SAAA,CAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,kBAAAU,QAAA,CAAAV,aAAA,CACjB,IAAgB,CAAA,gBAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA;AAAA,kBAAAU,QAAA,CAAAV,aAAA,CAClB,IAAS,CAAA,SAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,KAAA,CAAA,CAAA;AAAA,kBAAAU,QAAA,CAAAV,aAAA,CACd,IAAS,CAAA,SAAA,EAAA,CAAA,MAAA,CAAA,CAAA,EAAA,CAAA,QAAA,CAAA,CAAA;AAAA,iBAAA;AAC9B,gBAAA,OAAA,EAAKA,cAAO,IAAU,CAAA,UAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,eAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,IAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,SAAA,CAAA,CAAA,EAAA;AAxBd,gBAAA,CAAAW,UAAA,EAAA,IAAA,CAAA,MAAA,CAAO,UAAU,CAAA;AAAA,eAAA,CAAA;AA2BpB,cAAA,IAAA,CAAA,UAAA,IAAAR,SAAA,EAAA,EADRR,kBAME,CAAA,MAAA,EAAA;AAAA,gBAAA,GAAA,EAAA,CAAA;gBAJA,GAAI,EAAA,eAAA;AAAA,gBACJ,aAAY,EAAA,MAAA;AAAA,gBACX,KAAA,EAAKC,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,CAAC,CAAA,kBAAA,CAAA,CAAA;AAAA,gBAClB,WAAA,EAAAY,eAAA,CAAQ,IAAkB,CAAA,MAAA,CAAX,UAAU,CAAA;AAAA,eAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA,IAAAN,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;;AAIrB,YAAA,IAAA,CAAA,qBAAA,IAAAC,SAAA,EAAA,EADRR,kBAoBM,CAAA,KAAA,EAAA;AAAA,cAAA,GAAA,EAAA,CAAA;cAlBH,KAAK,EAAAC,cAAA,CAAA;AAAA,gBAAoB,cAAS,CAAC,CAAA,eAAA,CAAA;AAAA,gBAAmC,cAAS,CAAC,CAAA,aAAA,CAAA;AAAA,gBAAiC,IAAS,CAAA,QAAA,CAAA,EAAA,CAAA,aAAA,EAAA,CAAwD,IAAkB,CAAA,aAAA,IAAA,IAAA,CAAA,QAAA,IAAQ,CAAK,IAAO,CAAA,MAAA,CAAA,UAAA,CAAA;;;AAUjN,cAAA,IAAA,CAAA,aAAA,GADRK,UAOO,CAAA,IAAA,CAAA,MAAA,EAAA,OAAA,EAAA;AAAA,gBAAA,GAAA,EAAA,CAAA;gBAJJ,KAAO,EAAA,IAAA,CAAA,kBAAA;AAAA,gBACP,KAAO,EAAA,IAAA,CAAA,UAAA;AAAA,eAAA,EAJV,MAOO;AAAA,gBADLF,kBAAA,CAAqC,8BAA5B,IAAkB,CAAA,kBAAA,CAAA,EAAA,CAAA,CAAA;AAAA,eAE7B,CAAA,IAAAI,SAAA,EAAA,EAAAR,kBAAA,CAA4C,oCAA5B,IAAkB,CAAA,kBAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAAA,aAAA,EAAA,CAAA,CAAA,IAAAO,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;;UAGtCH,kBAyBM,CAAA,KAAA,EAAA;AAAA,YAzBD,GAAI,EAAA,WAAA;AAAA,YAAa,KAAA,EAAKH,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,CAAC,CAAA,QAAA,CAAA,CAAA;AAAA,WAAA,EAAA;AAE7B,YAAA,IAAA,CAAA,aAAA,GAAAgB,cAAA,EAAAT,SAAA,EAAA,EADRM,WAMU,CAAA,kBAAA,EAAA;AAAA,cAAA,GAAA,EAAA,CAAA;AAHP,cAAA,KAAA,EAAKb,gBAAG,IAAS,CAAA,QAAA,CAAA,CAAA,CAAC,UAAW,IAAQ,CAAA,OAAA,CAAA,CAAA,CAAC,SAAU,IAAW,CAAA,WAAA,CAAA,CAAA;AAAA,aAAA,EAAA;+BAE5D,MAAiC;AAAA,iBAAjCO,SAAA,EAAA,EAAAM,WAAA,CAAiCI,wBAAjB,IAAa,CAAA,aAAA,CAAA,CAAA;AAAA,eAAA,CAAA;;;uBAHpB,IAAY,CAAA,YAAA,CAAA;AAAA,aAAA,CAAA,GAAAX,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAMf,YAAA,IAAA,CAAA,YAAA,IAAgB,+BADxBO,WAUU,CAAA,kBAAA,EAAA;AAAA,cAAA,GAAA,EAAA,CAAA;cARP,KAAK,EAAAb,cAAA,CAAA;AAAA,gBAAoB,cAAS,CAAC,CAAA,OAAA,CAAA;AAAA,gBAA2B,aAAQ,CAAC,CAAA,MAAA,CAAA;AAAA,gBAA0B,cAAS,CAAC,CAAA,OAAA,CAAA;AAAA,eAAA,CAAA;AAK3G,cAAA,OAAA,EAAKI,cAAe,IAAW,CAAA,WAAA,EAAA,CAAA,SAAA,EAAA,MAAA,CAAA,CAAA;AAAA,aAAA,EAAA;+BAEhC,MAA6B;AAAA,iBAA7BG,SAAA,EAAA,EAAAM,WAAA,CAA6BI,wBAAb,IAAS,CAAA,SAAA,CAAA,CAAA;AAAA,eAAA,CAAA;;;AAGnB,YAAA,IAAA,CAAA,aAAA,IAAiB,kCADzBJ,WAKU,CAAA,kBAAA,EAAA;AAAA,cAAA,GAAA,EAAA,CAAA;AAHP,cAAA,KAAA,EAAKb,cAAG,CAAA,CAAA,IAAA,CAAA,OAAA,CAAQ,CAAC,CAAA,MAAA,CAAA,EAAU,aAAQ,CAAC,CAAA,cAAA,CAAA,CAAA,CAAA;AAAA,aAAA,EAAA;+BAErC,MAAgC;AAAA,iBAAhCO,SAAA,EAAA,EAAAM,WAAA,CAAgCI,wBAAhB,IAAY,CAAA,YAAA,CAAA,CAAA;AAAA,eAAA,CAAA;;;;;;AAKzB,MAAA,OAAA,EAAOf,QAChB,MAgCiB;AAAA,QAhCjBD,WAgCiB,CAAA,yBAAA,EAAA;AAAA,UA/Bf,GAAI,EAAA,SAAA;AAAA,UACH,IAAM,EAAA,IAAA,CAAA,eAAA;AAAA,UACN,KAAO,EAAA,IAAA,CAAA,UAAA;AAAA,UACP,kBAAgB,IAAO,CAAA,MAAA,CAAA,aAAA;AAAA,UACvB,qBAAqB,EAAA,IAAA,CAAA,iBAAA;AAAA,SAAA,EAAAiB,WAAA,CAAA;UAOX,OAAO,EAAAhB,OAAA,CAChB,CADkB,KAAK,KAAA;AAAA,YACvBG,UAAA,CAAuB,0DAAT,KAAK,CAAA,CAAA,CAAA;AAAA,WAAA,CAAA;;;UANL,IAAO,CAAA,MAAA,CAAA,MAAA,GAAA;AAAS,YAAA,IAAA,EAAA,QAAA;AAAA,YAAA,EAAA,EAAAH,OAAA,CAC9B,MAEM;AAAA,cAFNC,kBAEM,CAAA,KAAA,EAAA;AAAA,gBAFA,KAAA,EAAKH,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA,UAAA,EAAA,QAAA,CAAA,CAAA;AAAA,eAAA,EAAA;gBACtBK,UAAsB,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,eAAA,EAAA,CAAA,CAAA;;;AAMV,UAAA,IAAA,CAAA,MAAA,CAAO,OAAW,IAAA,IAAA,CAAA,OAAA,GAAA;AAAU,YAAA,IAAA,EAAA,SAAA;AAAA,YAAA,EAAA,EAAAH,OAAA,CAC1C,MAEM;AAAA,cAFNC,kBAEM,CAAA,KAAA,EAAA;AAAA,gBAFA,KAAA,EAAKH,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA,UAAA,EAAA,SAAA,CAAA,CAAA;AAAA,eAAA,EAAA;gBACtBK,UAAuB,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,eAAA,EAAA,CAAA,CAAA;;AAGN,WAAA,GAAA,IAAA,CAAA,OAAA,IAAW,qBAAgB,MAAM,KAAA,CAAA,GAAA;AAAS,YAAA,IAAA,EAAA,OAAA;AAAA,YAAA,EAAA,EAAAH,OAAA,CAC7D,MAIM;AAAA,cAJNC,kBAIM,CAAA,KAAA,EAAA;AAAA,gBAJA,KAAA,EAAKH,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA,UAAA,EAAA,OAAA,CAAA,CAAA;AAAA,eAAA,EAAA;AACtB,gBAAAK,UAAA,CAEO,0BAFP,MAEO;AAAA,kBADLF,kBAAA,CAA4B,8BAAnB,IAAS,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA;AAAA,iBAAA,CAAA;;;;UAIR,IAAO,CAAA,MAAA,CAAA,MAAA,GAAA;AAAS,YAAA,IAAA,EAAA,QAAA;AAAA,YAAA,EAAA,EAAAD,OAAA,CAC9B,MAEM;AAAA,cAFNC,kBAEM,CAAA,KAAA,EAAA;AAAA,gBAFA,KAAA,EAAKH,cAAE,CAAA,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA,UAAA,EAAA,QAAA,CAAA,CAAA;AAAA,eAAA,EAAA;gBACtBK,UAAsB,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,eAAA,EAAA,CAAA,CAAA;;;;;;;;AAvQH,IAAA,CAAA,wBAAA,EAAA,IAAA,CAAA,kBAAA,EAAb,IAAW,CAAA,SAAA,CAAA;AAAA,GAAA,CAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @mouseenter=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n :placement=\"placement\"\n pure\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n trigger=\"click\"\n :persistent=\"persistent\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!modelValue.length\n ),\n ]\"\n >\n <slot v-if=\"multiple\" name=\"tag\">\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(getValue(item))\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"!selectDisabled && !getDisabled(item)\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"tagStyle\"\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :label=\"getLabel(item)\"\n :value=\"getValue(item)\"\n >\n {{ getLabel(item) }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"collapseTags && modelValue.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom\"\n :teleported=\"teleported\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n :style=\"collapseTagStyle\"\n disable-transitions\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ modelValue.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"selected in collapseTagList\"\n :key=\"getValueKey(getValue(selected))\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !getDisabled(selected)\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :label=\"getLabel(selected)\"\n :value=\"getValue(selected)\"\n >\n {{ getLabel(selected) }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n v-if=\"!selectDisabled\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is('hidden', !filterable),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"states.inputValue\"\n :style=\"inputStyle\"\n :autocomplete=\"autocomplete\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-label=\"ariaLabel\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n @input=\"onInput\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"[nsSelect.e('caret'), nsInput.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsInput.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n :class=\"[nsInput.e('icon'), nsInput.e('validateIcon')]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template v-if=\"$slots.header\" #header>\n <div :class=\"nsSelect.be('dropdown', 'header')\">\n <slot name=\"header\" />\n </div>\n </template>\n <template #default=\"scope\">\n <slot v-bind=\"scope\" />\n </template>\n <template v-if=\"$slots.loading && loading\" #loading>\n <div :class=\"nsSelect.be('dropdown', 'loading')\">\n <slot name=\"loading\" />\n </div>\n </template>\n <template v-else-if=\"loading || filteredOptions.length === 0\" #empty>\n <div :class=\"nsSelect.be('dropdown', 'empty')\">\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n </template>\n <template v-if=\"$slots.footer\" #footer>\n <div :class=\"nsSelect.be('dropdown', 'footer')\">\n <slot name=\"footer\" />\n </div>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide, reactive, toRefs } from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport ElSelectMenu from './select-dropdown'\nimport useSelect from './useSelect'\nimport { SelectProps, selectEmits } from './defaults'\nimport { selectV2InjectionKey } from './token'\n\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: SelectProps,\n emits: selectEmits,\n setup(props, { emit }) {\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n return multiple ? fallback : rawModelValue\n })\n\n const API = useSelect(\n reactive({\n ...toRefs(props),\n modelValue,\n }),\n emit\n )\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n modelValue,\n }),\n expanded: API.expanded,\n tooltipRef: API.tooltipRef,\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n })\n\n return {\n ...API,\n modelValue,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createVNode","_withCtx","_createElementVNode","_withModifiers","_renderSlot","_createCommentVNode","_openBlock","_Fragment","_renderList","_normalizeStyle","_createTextVNode","_toDisplayString","_createBlock","_withKeys","_vModelText","_withDirectives","_resolveDynamicComponent","_createSlots"],"mappings":"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"}
@@ -9,4 +9,19 @@ export declare type OptionItemProps = {
9
9
  index: number;
10
10
  disabled: boolean;
11
11
  };
12
+ export declare type SelectStates = {
13
+ inputValue: string;
14
+ cachedOptions: Option[];
15
+ createdOptions: Option[];
16
+ hoveringIndex: number;
17
+ inputHovering: boolean;
18
+ selectionWidth: number;
19
+ calculatorWidth: number;
20
+ collapseItemWidth: number;
21
+ previousQuery: string | null;
22
+ previousValue: unknown;
23
+ selectedLabel: string;
24
+ menuVisibleOnFocus: boolean;
25
+ isBeforeHide: boolean;
26
+ };
12
27
  export {};
@@ -91,8 +91,18 @@ declare const _default: import("vue").DefineComponent<{
91
91
  emptyText: import("vue").ComputedRef<string | false | null>;
92
92
  popupHeight: import("vue").ComputedRef<number>;
93
93
  debounce: import("vue").ComputedRef<0 | 300>;
94
- allOptions: import("vue").Ref<never[]>;
95
- filteredOptions: import("vue").Ref<never[]>;
94
+ allOptions: import("vue").Ref<({
95
+ [x: string]: any;
96
+ } | {
97
+ [x: string]: any;
98
+ created?: boolean | undefined;
99
+ })[]>;
100
+ filteredOptions: import("vue").Ref<({
101
+ [x: string]: any;
102
+ } | {
103
+ [x: string]: any;
104
+ created?: boolean | undefined;
105
+ })[]>;
96
106
  iconComponent: import("vue").ComputedRef<any>;
97
107
  iconReverse: import("vue").ComputedRef<any>;
98
108
  tagStyle: import("vue").ComputedRef<{
@@ -111,27 +121,7 @@ declare const _default: import("vue").DefineComponent<{
111
121
  selectDisabled: import("vue").ComputedRef<boolean | undefined>;
112
122
  selectSize: import("vue").ComputedRef<"" | "small" | "default" | "large">;
113
123
  showClearBtn: import("vue").ComputedRef<boolean>;
114
- states: {
115
- inputValue: string;
116
- cachedOptions: {
117
- [x: string]: any;
118
- created?: boolean | undefined;
119
- }[];
120
- createdOptions: {
121
- [x: string]: any;
122
- created?: boolean | undefined;
123
- }[];
124
- hoveringIndex: number;
125
- inputHovering: boolean;
126
- selectionWidth: number;
127
- calculatorWidth: number;
128
- collapseItemWidth: number;
129
- previousQuery: null;
130
- previousValue: undefined;
131
- selectedLabel: string;
132
- menuVisibleOnFocus: boolean;
133
- isBeforeHide: boolean;
134
- };
124
+ states: import("./select.types").SelectStates;
135
125
  isFocused: import("vue").Ref<boolean>;
136
126
  nsSelect: {
137
127
  namespace: import("vue").ComputedRef<string>;
@@ -169,10 +159,10 @@ declare const _default: import("vue").DefineComponent<{
169
159
  cssVarBlock: (object: Record<string, string>) => Record<string, string>;
170
160
  cssVarBlockName: (name: string) => string;
171
161
  };
172
- calculatorRef: import("vue").Ref<HTMLElement>;
173
- inputRef: import("vue").Ref<HTMLElement>;
174
- menuRef: import("vue").Ref<HTMLElement>;
175
- tagMenuRef: import("vue").Ref<HTMLElement>;
162
+ calculatorRef: import("vue").Ref<HTMLElement | undefined>;
163
+ inputRef: import("vue").Ref<HTMLElement | undefined>;
164
+ menuRef: import("vue").Ref<import("./select-dropdown").SelectDropdownInstance | undefined>;
165
+ tagMenuRef: import("vue").Ref<HTMLElement | undefined>;
176
166
  tooltipRef: import("vue").Ref<({
177
167
  $: import("vue").ComponentInternalInstance;
178
168
  $data: {};
@@ -1385,7 +1375,7 @@ declare const _default: import("vue").DefineComponent<{
1385
1375
  default?(_: {}): any;
1386
1376
  content?(_: {}): any;
1387
1377
  };
1388
- }) | null>;
1378
+ }) | undefined>;
1389
1379
  tagTooltipRef: import("vue").Ref<({
1390
1380
  $: import("vue").ComponentInternalInstance;
1391
1381
  $data: {};
@@ -2598,24 +2588,18 @@ declare const _default: import("vue").DefineComponent<{
2598
2588
  default?(_: {}): any;
2599
2589
  content?(_: {}): any;
2600
2590
  };
2601
- }) | null>;
2602
- selectRef: import("vue").Ref<HTMLElement>;
2591
+ }) | undefined>;
2592
+ selectRef: import("vue").Ref<HTMLElement | undefined>;
2603
2593
  wrapperRef: import("vue").ShallowRef<HTMLElement | undefined>;
2604
- selectionRef: import("vue").Ref<HTMLElement>;
2605
- prefixRef: import("vue").Ref<HTMLElement>;
2606
- suffixRef: import("vue").Ref<HTMLElement>;
2607
- collapseItemRef: import("vue").Ref<HTMLElement>;
2594
+ selectionRef: import("vue").Ref<HTMLElement | undefined>;
2595
+ prefixRef: import("vue").Ref<HTMLElement | undefined>;
2596
+ suffixRef: import("vue").Ref<HTMLElement | undefined>;
2597
+ collapseItemRef: import("vue").Ref<HTMLElement | undefined>;
2608
2598
  popperRef: import("vue").ComputedRef<HTMLElement | undefined>;
2609
2599
  validateState: import("vue").ComputedRef<"" | "error" | "success" | "validating">;
2610
2600
  validateIcon: import("vue").ComputedRef<any>;
2611
- showTagList: import("vue").ComputedRef<{
2612
- [x: string]: any;
2613
- created?: boolean | undefined;
2614
- }[]>;
2615
- collapseTagList: import("vue").ComputedRef<{
2616
- [x: string]: any;
2617
- created?: boolean | undefined;
2618
- }[]>;
2601
+ showTagList: import("vue").ComputedRef<import("./select.types").Option[]>;
2602
+ collapseTagList: import("vue").ComputedRef<import("./select.types").Option[]>;
2619
2603
  debouncedOnInputChange: import("lodash").DebouncedFunc<() => void>;
2620
2604
  deleteTag: (event: MouseEvent, option: import("./select.types").Option) => void;
2621
2605
  getLabel: (option: import("./select.types").Option) => any;
@@ -2637,15 +2621,23 @@ declare const _default: import("vue").DefineComponent<{
2637
2621
  updateOptions: () => void;
2638
2622
  toggleMenu: () => void;
2639
2623
  scrollTo: (index: number) => void;
2640
- onInput: (event: any) => void;
2641
- onKeyboardNavigate: (direction: "forward" | "backward", hoveringIndex?: number) => any;
2624
+ onInput: (event: Event) => void;
2625
+ onKeyboardNavigate: (direction: "forward" | "backward", hoveringIndex?: number | undefined) => void;
2642
2626
  onKeyboardSelect: () => void;
2643
2627
  onSelect: (option: import("./select.types").Option) => void;
2644
- onHover: (idx: number) => void;
2628
+ onHover: (idx?: number | undefined) => void;
2645
2629
  handleCompositionStart: (event: CompositionEvent) => void;
2646
2630
  handleCompositionEnd: (event: CompositionEvent) => void;
2647
2631
  handleCompositionUpdate: (event: CompositionEvent) => void;
2648
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:modelValue" | "change" | "blur" | "focus" | "visible-change" | "remove-tag")[], "clear" | "update:modelValue" | "change" | "blur" | "focus" | "visible-change" | "remove-tag", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
2632
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
2633
+ "update:modelValue": (val: any) => boolean;
2634
+ change: (val: any) => boolean;
2635
+ 'remove-tag': (val: unknown) => boolean;
2636
+ 'visible-change': (visible: boolean) => boolean;
2637
+ focus: (evt: FocusEvent) => boolean;
2638
+ blur: (evt: FocusEvent) => boolean;
2639
+ clear: () => boolean;
2640
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
2649
2641
  readonly ariaLabel: StringConstructor;
2650
2642
  readonly emptyValues: ArrayConstructor;
2651
2643
  readonly valueOnClear: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
@@ -2730,13 +2722,13 @@ declare const _default: import("vue").DefineComponent<{
2730
2722
  readonly __epPropKey: true;
2731
2723
  };
2732
2724
  }>> & {
2733
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
2734
- onChange?: ((...args: any[]) => any) | undefined;
2735
- onFocus?: ((...args: any[]) => any) | undefined;
2736
- onBlur?: ((...args: any[]) => any) | undefined;
2737
- onClear?: ((...args: any[]) => any) | undefined;
2738
- "onVisible-change"?: ((...args: any[]) => any) | undefined;
2739
- "onRemove-tag"?: ((...args: any[]) => any) | undefined;
2725
+ "onUpdate:modelValue"?: ((val: any) => any) | undefined;
2726
+ onChange?: ((val: any) => any) | undefined;
2727
+ onFocus?: ((evt: FocusEvent) => any) | undefined;
2728
+ onBlur?: ((evt: FocusEvent) => any) | undefined;
2729
+ onClear?: (() => any) | undefined;
2730
+ "onVisible-change"?: ((visible: boolean) => any) | undefined;
2731
+ "onRemove-tag"?: ((val: unknown) => any) | undefined;
2740
2732
  }, {
2741
2733
  readonly height: number;
2742
2734
  readonly multiple: boolean;
@@ -1,16 +1,15 @@
1
- import type { OptionProps, SelectProps } from './defaults';
2
- import type { ExtractPropTypes, InjectionKey, Ref } from 'vue';
1
+ import type { IOptionV2Props, ISelectV2Props } from './defaults';
2
+ import type { InjectionKey, Ref } from 'vue';
3
3
  import type { Option } from './select.types';
4
4
  import type { TooltipInstance } from '@element-plus/nightly/es/components/tooltip';
5
5
  export interface SelectV2Context {
6
- props: ExtractPropTypes<typeof SelectProps>;
7
- expanded: boolean;
8
- tooltipRef: Ref<TooltipInstance>;
6
+ props: ISelectV2Props;
7
+ expanded: Ref<boolean>;
8
+ tooltipRef: Ref<TooltipInstance | undefined>;
9
9
  onSelect: (option: Option) => void;
10
- onHover: (idx: number) => void;
10
+ onHover: (idx?: number) => void;
11
11
  onKeyboardNavigate: (direction: 'forward' | 'backward') => void;
12
12
  onKeyboardSelect: () => void;
13
13
  }
14
14
  export declare const selectV2InjectionKey: InjectionKey<SelectV2Context>;
15
- export declare type IOptionV2Props = ExtractPropTypes<typeof OptionProps>;
16
- export declare type ISelectV2Props = ExtractPropTypes<typeof SelectProps>;
15
+ export type { ISelectV2Props, IOptionV2Props };
@@ -1 +1 @@
1
- {"version":3,"file":"token.mjs","sources":["../../../../../../packages/components/select-v2/src/token.ts"],"sourcesContent":["import type { OptionProps, SelectProps } from './defaults'\nimport type { ExtractPropTypes, InjectionKey, Ref } from 'vue'\nimport type { Option } from './select.types'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\nexport interface SelectV2Context {\n props: ExtractPropTypes<typeof SelectProps>\n expanded: boolean\n tooltipRef: Ref<TooltipInstance>\n onSelect: (option: Option) => void\n onHover: (idx: number) => void\n onKeyboardNavigate: (direction: 'forward' | 'backward') => void\n onKeyboardSelect: () => void\n}\n\nexport const selectV2InjectionKey: InjectionKey<SelectV2Context> = Symbol(\n 'ElSelectV2Injection'\n)\nexport type IOptionV2Props = ExtractPropTypes<typeof OptionProps>\nexport type ISelectV2Props = ExtractPropTypes<typeof SelectProps>\n"],"names":[],"mappings":"AAAY,MAAC,oBAAoB,GAAG,MAAM,CAAC,qBAAqB;;;;"}
1
+ {"version":3,"file":"token.mjs","sources":["../../../../../../packages/components/select-v2/src/token.ts"],"sourcesContent":["import type { IOptionV2Props, ISelectV2Props } from './defaults'\nimport type { InjectionKey, Ref } from 'vue'\nimport type { Option } from './select.types'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\nexport interface SelectV2Context {\n props: ISelectV2Props\n expanded: Ref<boolean>\n tooltipRef: Ref<TooltipInstance | undefined>\n onSelect: (option: Option) => void\n onHover: (idx?: number) => void\n onKeyboardNavigate: (direction: 'forward' | 'backward') => void\n onKeyboardSelect: () => void\n}\n\nexport const selectV2InjectionKey: InjectionKey<SelectV2Context> = Symbol(\n 'ElSelectV2Injection'\n)\nexport type { ISelectV2Props, IOptionV2Props }\n"],"names":[],"mappings":"AAAY,MAAC,oBAAoB,GAAG,MAAM,CAAC,qBAAqB;;;;"}
@@ -1,6 +1,6 @@
1
1
  import type { ISelectV2Props } from './token';
2
- import type { Option } from './select.types';
3
- export declare function useAllowCreate(props: ISelectV2Props, states: any): {
2
+ import type { Option, SelectStates } from './select.types';
3
+ export declare function useAllowCreate(props: ISelectV2Props, states: SelectStates): {
4
4
  createNewOption: (query: string) => void;
5
5
  removeNewOption: (option: Option) => void;
6
6
  selectNewOption: (option: Option) => void;
@@ -4,7 +4,7 @@ import { useProps } from './useProps.mjs';
4
4
  function useAllowCreate(props, states) {
5
5
  const { aliasProps, getLabel, getValue } = useProps(props);
6
6
  const createOptionCount = ref(0);
7
- const cachedSelectedOption = ref(null);
7
+ const cachedSelectedOption = ref();
8
8
  const enableAllowCreateMode = computed(() => {
9
9
  return props.allowCreate && props.filterable;
10
10
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useAllowCreate.mjs","sources":["../../../../../../packages/components/select-v2/src/useAllowCreate.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, ref } from 'vue'\nimport { useProps } from './useProps'\nimport type { ISelectV2Props } from './token'\nimport type { Option } from './select.types'\n\nexport function useAllowCreate(props: ISelectV2Props, states) {\n const { aliasProps, getLabel, getValue } = useProps(props)\n\n const createOptionCount = ref(0)\n const cachedSelectedOption = ref<Option>(null)\n\n const enableAllowCreateMode = computed(() => {\n return props.allowCreate && props.filterable\n })\n\n function hasExistingOption(query: string) {\n const hasOption = (option) => getLabel(option) === query\n return (\n (props.options && props.options.some(hasOption)) ||\n states.createdOptions.some(hasOption)\n )\n }\n\n function selectNewOption(option: Option) {\n if (!enableAllowCreateMode.value) {\n return\n }\n if (props.multiple && option.created) {\n createOptionCount.value++\n } else {\n cachedSelectedOption.value = option\n }\n }\n\n function createNewOption(query: string) {\n if (enableAllowCreateMode.value) {\n if (query && query.length > 0) {\n if (hasExistingOption(query)) {\n return\n }\n const newOption = {\n [aliasProps.value.value]: query,\n [aliasProps.value.label]: query,\n created: true,\n [aliasProps.value.disabled]: false,\n }\n if (states.createdOptions.length >= createOptionCount.value) {\n states.createdOptions[createOptionCount.value] = newOption\n } else {\n states.createdOptions.push(newOption)\n }\n } else {\n if (props.multiple) {\n states.createdOptions.length = createOptionCount.value\n } else {\n const selectedOption = cachedSelectedOption.value\n states.createdOptions.length = 0\n if (selectedOption && selectedOption.created) {\n states.createdOptions.push(selectedOption)\n }\n }\n }\n }\n }\n\n function removeNewOption(option: Option) {\n if (\n !enableAllowCreateMode.value ||\n !option ||\n !option.created ||\n (option.created &&\n props.reserveKeyword &&\n states.inputValue === getLabel(option))\n ) {\n return\n }\n const idx = states.createdOptions.findIndex(\n (it) => getValue(it) === getValue(option)\n )\n if (~idx) {\n states.createdOptions.splice(idx, 1)\n createOptionCount.value--\n }\n }\n\n function clearAllNewOption() {\n if (enableAllowCreateMode.value) {\n states.createdOptions.length = 0\n createOptionCount.value = 0\n }\n }\n\n return {\n createNewOption,\n removeNewOption,\n selectNewOption,\n clearAllNewOption,\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAllowCreate.mjs","sources":["../../../../../../packages/components/select-v2/src/useAllowCreate.ts"],"sourcesContent":["import { computed, ref } from 'vue'\nimport { useProps } from './useProps'\nimport type { ISelectV2Props } from './token'\nimport type { Option, SelectStates } from './select.types'\n\nexport function useAllowCreate(props: ISelectV2Props, states: SelectStates) {\n const { aliasProps, getLabel, getValue } = useProps(props)\n\n const createOptionCount = ref(0)\n const cachedSelectedOption = ref<Option>()\n\n const enableAllowCreateMode = computed(() => {\n return props.allowCreate && props.filterable\n })\n\n function hasExistingOption(query: string) {\n const hasOption = (option: Option) => getLabel(option) === query\n return (\n (props.options && props.options.some(hasOption)) ||\n states.createdOptions.some(hasOption)\n )\n }\n\n function selectNewOption(option: Option) {\n if (!enableAllowCreateMode.value) {\n return\n }\n if (props.multiple && option.created) {\n createOptionCount.value++\n } else {\n cachedSelectedOption.value = option\n }\n }\n\n function createNewOption(query: string) {\n if (enableAllowCreateMode.value) {\n if (query && query.length > 0) {\n if (hasExistingOption(query)) {\n return\n }\n const newOption = {\n [aliasProps.value.value]: query,\n [aliasProps.value.label]: query,\n created: true,\n [aliasProps.value.disabled]: false,\n }\n if (states.createdOptions.length >= createOptionCount.value) {\n states.createdOptions[createOptionCount.value] = newOption\n } else {\n states.createdOptions.push(newOption)\n }\n } else {\n if (props.multiple) {\n states.createdOptions.length = createOptionCount.value\n } else {\n const selectedOption = cachedSelectedOption.value\n states.createdOptions.length = 0\n if (selectedOption && selectedOption.created) {\n states.createdOptions.push(selectedOption)\n }\n }\n }\n }\n }\n\n function removeNewOption(option: Option) {\n if (\n !enableAllowCreateMode.value ||\n !option ||\n !option.created ||\n (option.created &&\n props.reserveKeyword &&\n states.inputValue === getLabel(option))\n ) {\n return\n }\n const idx = states.createdOptions.findIndex(\n (it) => getValue(it) === getValue(option)\n )\n if (~idx) {\n states.createdOptions.splice(idx, 1)\n createOptionCount.value--\n }\n }\n\n function clearAllNewOption() {\n if (enableAllowCreateMode.value) {\n states.createdOptions.length = 0\n createOptionCount.value = 0\n }\n }\n\n return {\n createNewOption,\n removeNewOption,\n selectNewOption,\n clearAllNewOption,\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { IOptionV2Props } from './token';
2
+ import type { OptionEmitFn } from './defaults';
2
3
  export declare function useOption(props: IOptionV2Props, { emit }: {
3
- emit: any;
4
+ emit: OptionEmitFn;
4
5
  }): {
5
6
  hoverItem: () => void;
6
7
  selectOptionClick: () => void;