@element-plus/nightly 0.0.20260318 → 0.0.20260320

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 (596) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +4 -4
  3. package/dist/index.full.min.js +7 -7
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +4 -4
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +4 -4
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/affix/src/affix.d.ts +1 -1
  277. package/es/components/affix/src/affix.vue.d.ts +2 -2
  278. package/es/components/alert/src/alert.d.ts +2 -2
  279. package/es/components/alert/src/alert.vue.d.ts +2 -2
  280. package/es/components/anchor/src/anchor.d.ts +1 -1
  281. package/es/components/anchor/src/anchor.vue.d.ts +1 -1
  282. package/es/components/autocomplete/src/autocomplete.d.ts +4 -4
  283. package/es/components/autocomplete/src/autocomplete.vue.d.ts +15 -15
  284. package/es/components/avatar/src/avatar-group-props.d.ts +1 -1
  285. package/es/components/avatar/src/avatar-group.d.ts +2 -2
  286. package/es/components/avatar/src/avatar.d.ts +2 -2
  287. package/es/components/avatar/src/avatar.vue.d.ts +1 -1
  288. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  289. package/es/components/badge/src/badge.d.ts +1 -1
  290. package/es/components/badge/src/badge.vue.d.ts +1 -1
  291. package/es/components/button/src/button-group.vue.d.ts +1 -1
  292. package/es/components/button/src/button.d.ts +2 -2
  293. package/es/components/button/src/button.vue.d.ts +5 -5
  294. package/es/components/calendar/src/calendar.d.ts +1 -1
  295. package/es/components/card/src/card.d.ts +1 -1
  296. package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
  297. package/es/components/carousel/src/carousel.d.ts +1 -1
  298. package/es/components/carousel/src/carousel.vue.d.ts +1 -1
  299. package/es/components/cascader/src/cascader.d.ts +4 -4
  300. package/es/components/cascader/src/cascader.vue.d.ts +16 -16
  301. package/es/components/cascader-panel/src/index.vue.d.ts +1 -1
  302. package/es/components/check-tag/src/check-tag.d.ts +1 -1
  303. package/es/components/checkbox/src/checkbox-button.vue.d.ts +2 -2
  304. package/es/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
  305. package/es/components/checkbox/src/checkbox.d.ts +8 -8
  306. package/es/components/checkbox/src/checkbox.vue.d.ts +2 -2
  307. package/es/components/col/src/col.vue.d.ts +1 -1
  308. package/es/components/collapse/src/collapse.vue.d.ts +1 -1
  309. package/es/components/color-picker/src/color-picker.d.ts +1 -1
  310. package/es/components/color-picker/src/color-picker.vue.d.ts +6 -6
  311. package/es/components/color-picker-panel/src/color-picker-panel.d.ts +1 -1
  312. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  313. package/es/components/config-provider/src/config-provider.d.ts +1 -1
  314. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  315. package/es/components/date-picker/src/date-picker.d.ts +9 -9
  316. package/es/components/date-picker/src/props.d.ts +1 -1
  317. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +4 -4
  318. package/es/components/descriptions/src/description-item.d.ts +13 -13
  319. package/es/components/descriptions/src/description.vue.d.ts +1 -1
  320. package/es/components/dialog/src/dialog.vue.d.ts +3 -3
  321. package/es/components/divider/src/divider.vue.d.ts +1 -1
  322. package/es/components/drawer/src/drawer.vue.d.ts +4 -4
  323. package/es/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  324. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  325. package/es/components/dropdown/src/dropdown.d.ts +3 -3
  326. package/es/components/dropdown/src/dropdown.vue.d.ts +65 -65
  327. package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  328. package/es/components/form/src/form.vue.d.ts +1 -1
  329. package/es/components/image/src/image.vue.d.ts +3 -3
  330. package/es/components/image-viewer/src/image-viewer.vue.d.ts +2 -2
  331. package/es/components/input/src/input.d.ts +3 -3
  332. package/es/components/input/src/input.vue.d.ts +7 -7
  333. package/es/components/input-number/src/input-number.d.ts +2 -2
  334. package/es/components/input-number/src/input-number.vue.d.ts +6 -6
  335. package/es/components/input-tag/src/input-tag.d.ts +3 -3
  336. package/es/components/input-tag/src/input-tag.vue.d.ts +12 -12
  337. package/es/components/link/src/link.d.ts +2 -2
  338. package/es/components/link/src/link.vue.d.ts +1 -1
  339. package/es/components/mention/src/mention.d.ts +3 -3
  340. package/es/components/mention/src/mention.vue.d.ts +16 -16
  341. package/es/components/menu/src/menu.d.ts +3 -3
  342. package/es/components/menu/src/sub-menu.d.ts +1 -1
  343. package/es/components/message/src/message.d.ts +1 -1
  344. package/es/components/message/src/message.vue.d.ts +5 -5
  345. package/es/components/notification/src/notification.d.ts +1 -1
  346. package/es/components/notification/src/notification.vue.d.ts +6 -6
  347. package/es/components/overlay/index.d.ts +2 -2
  348. package/es/components/overlay/src/overlay.d.ts +1 -1
  349. package/es/components/page-header/src/page-header.vue.d.ts +1 -1
  350. package/es/components/pagination/src/pagination.d.ts +4 -4
  351. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  352. package/es/components/popconfirm/src/popconfirm.vue.d.ts +1 -1
  353. package/es/components/popover/src/popover.d.ts +1 -1
  354. package/es/components/popover/src/popover.vue.d.ts +11 -11
  355. package/es/components/popper/src/composables/use-content.d.ts +2 -2
  356. package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  357. package/es/components/popper/src/content.d.ts +4 -4
  358. package/es/components/popper/src/content.vue.d.ts +5 -5
  359. package/es/components/popper/src/popper.d.ts +2 -2
  360. package/es/components/progress/src/progress.vue.d.ts +1 -1
  361. package/es/components/radio/src/radio-button.d.ts +3 -3
  362. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  363. package/es/components/radio/src/radio-group.vue.d.ts +4 -4
  364. package/es/components/radio/src/radio.d.ts +6 -6
  365. package/es/components/radio/src/radio.vue.d.ts +3 -3
  366. package/es/components/rate/src/rate.vue.d.ts +2 -2
  367. package/es/components/result/src/result.d.ts +1 -1
  368. package/es/components/row/src/row.vue.d.ts +1 -1
  369. package/es/components/scrollbar/src/scrollbar.vue.d.ts +2 -2
  370. package/es/components/segmented/index.d.ts +3 -3
  371. package/es/components/segmented/src/segmented.d.ts +1 -1
  372. package/es/components/segmented/src/segmented.vue.d.ts +1 -1
  373. package/es/components/select/src/option.d.ts +2 -2
  374. package/es/components/select/src/option.vue.d.ts +5 -5
  375. package/es/components/select/src/select.d.ts +5 -5
  376. package/es/components/select/src/select.vue.d.ts +81 -81
  377. package/es/components/select/src/useSelect.mjs +1 -1
  378. package/es/components/select/src/useSelect.mjs.map +1 -1
  379. package/es/components/select-v2/src/defaults.d.ts +4 -4
  380. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  381. package/es/components/select-v2/src/select.vue.d.ts +62 -62
  382. package/es/components/select-v2/src/useSelect.mjs +1 -1
  383. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  384. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  385. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  386. package/es/components/slider/src/slider.vue.d.ts +5 -5
  387. package/es/components/space/src/space.d.ts +5 -5
  388. package/es/components/steps/src/item.vue.d.ts +1 -1
  389. package/es/components/steps/src/steps.vue.d.ts +1 -1
  390. package/es/components/switch/src/switch.vue.d.ts +2 -2
  391. package/es/components/table/src/table-body/index.d.ts +1 -1
  392. package/es/components/table/src/table-column/index.d.ts +13 -13
  393. package/es/components/table/src/table-header/index.d.ts +6 -6
  394. package/es/components/table/src/table.vue.d.ts +41 -41
  395. package/es/components/table-v2/src/components/header.d.ts +1 -1
  396. package/es/components/table-v2/src/components/row.d.ts +1 -1
  397. package/es/components/table-v2/src/table-grid.d.ts +3 -3
  398. package/es/components/table-v2/src/table-v2.d.ts +4 -4
  399. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  400. package/es/components/tabs/src/tabs.d.ts +3 -3
  401. package/es/components/tag/src/tag.d.ts +2 -2
  402. package/es/components/text/src/text.d.ts +1 -1
  403. package/es/components/time-picker/src/common/picker.vue.d.ts +13 -13
  404. package/es/components/time-picker/src/common/props.d.ts +1 -1
  405. package/es/components/time-picker/src/time-picker.d.ts +9 -9
  406. package/es/components/time-select/src/time-select.vue.d.ts +9 -9
  407. package/es/components/timeline/src/timeline-item.d.ts +1 -1
  408. package/es/components/tooltip/src/content.d.ts +1 -1
  409. package/es/components/tooltip/src/content.vue.d.ts +7 -7
  410. package/es/components/tooltip/src/tooltip.d.ts +2 -2
  411. package/es/components/tooltip/src/tooltip.vue.d.ts +10 -10
  412. package/es/components/tour/src/content.d.ts +2 -2
  413. package/es/components/tour/src/step.d.ts +1 -1
  414. package/es/components/tour/src/step.vue.d.ts +1 -1
  415. package/es/components/tour/src/tour.d.ts +1 -1
  416. package/es/components/tour/src/tour.vue.d.ts +3 -3
  417. package/es/components/transfer/src/transfer-panel.vue.d.ts +1 -1
  418. package/es/components/transfer/src/transfer.vue.d.ts +3 -3
  419. package/es/components/tree/src/tree.vue.d.ts +16 -16
  420. package/es/components/tree-select/src/tree-select.vue.d.ts +43 -43
  421. package/es/components/tree-v2/src/tree.vue.d.ts +4 -4
  422. package/es/components/upload/src/upload-content.d.ts +1 -1
  423. package/es/components/upload/src/upload-content.vue.d.ts +3 -3
  424. package/es/components/upload/src/upload-list.d.ts +1 -1
  425. package/es/components/upload/src/upload.d.ts +2 -2
  426. package/es/components/upload/src/upload.vue.d.ts +4 -4
  427. package/es/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  428. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  429. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +3 -3
  430. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  431. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +3 -3
  432. package/es/hooks/use-popper/index.d.ts +2 -2
  433. package/es/version.mjs +1 -1
  434. package/es/version.mjs.map +1 -1
  435. package/lib/components/affix/src/affix.d.ts +1 -1
  436. package/lib/components/affix/src/affix.vue.d.ts +2 -2
  437. package/lib/components/alert/src/alert.d.ts +2 -2
  438. package/lib/components/alert/src/alert.vue.d.ts +2 -2
  439. package/lib/components/anchor/src/anchor.d.ts +1 -1
  440. package/lib/components/anchor/src/anchor.vue.d.ts +1 -1
  441. package/lib/components/autocomplete/src/autocomplete.d.ts +4 -4
  442. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +15 -15
  443. package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
  444. package/lib/components/avatar/src/avatar-group.d.ts +2 -2
  445. package/lib/components/avatar/src/avatar.d.ts +2 -2
  446. package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
  447. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  448. package/lib/components/badge/src/badge.d.ts +1 -1
  449. package/lib/components/badge/src/badge.vue.d.ts +1 -1
  450. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  451. package/lib/components/button/src/button.d.ts +2 -2
  452. package/lib/components/button/src/button.vue.d.ts +5 -5
  453. package/lib/components/calendar/src/calendar.d.ts +1 -1
  454. package/lib/components/card/src/card.d.ts +1 -1
  455. package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
  456. package/lib/components/carousel/src/carousel.d.ts +1 -1
  457. package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
  458. package/lib/components/cascader/src/cascader.d.ts +4 -4
  459. package/lib/components/cascader/src/cascader.vue.d.ts +16 -16
  460. package/lib/components/cascader-panel/src/index.vue.d.ts +1 -1
  461. package/lib/components/check-tag/src/check-tag.d.ts +1 -1
  462. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +2 -2
  463. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
  464. package/lib/components/checkbox/src/checkbox.d.ts +8 -8
  465. package/lib/components/checkbox/src/checkbox.vue.d.ts +2 -2
  466. package/lib/components/col/src/col.vue.d.ts +1 -1
  467. package/lib/components/collapse/src/collapse.vue.d.ts +1 -1
  468. package/lib/components/color-picker/src/color-picker.d.ts +1 -1
  469. package/lib/components/color-picker/src/color-picker.vue.d.ts +6 -6
  470. package/lib/components/color-picker-panel/src/color-picker-panel.d.ts +1 -1
  471. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  472. package/lib/components/config-provider/src/config-provider.d.ts +1 -1
  473. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  474. package/lib/components/date-picker/src/date-picker.d.ts +9 -9
  475. package/lib/components/date-picker/src/props.d.ts +1 -1
  476. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +4 -4
  477. package/lib/components/descriptions/src/description-item.d.ts +13 -13
  478. package/lib/components/descriptions/src/description.vue.d.ts +1 -1
  479. package/lib/components/dialog/src/dialog.vue.d.ts +3 -3
  480. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  481. package/lib/components/drawer/src/drawer.vue.d.ts +4 -4
  482. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  483. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  484. package/lib/components/dropdown/src/dropdown.d.ts +3 -3
  485. package/lib/components/dropdown/src/dropdown.vue.d.ts +65 -65
  486. package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  487. package/lib/components/form/src/form.vue.d.ts +1 -1
  488. package/lib/components/image/src/image.vue.d.ts +3 -3
  489. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +2 -2
  490. package/lib/components/input/src/input.d.ts +3 -3
  491. package/lib/components/input/src/input.vue.d.ts +7 -7
  492. package/lib/components/input-number/src/input-number.d.ts +2 -2
  493. package/lib/components/input-number/src/input-number.vue.d.ts +6 -6
  494. package/lib/components/input-tag/src/input-tag.d.ts +3 -3
  495. package/lib/components/input-tag/src/input-tag.vue.d.ts +12 -12
  496. package/lib/components/link/src/link.d.ts +2 -2
  497. package/lib/components/link/src/link.vue.d.ts +1 -1
  498. package/lib/components/mention/src/mention.d.ts +3 -3
  499. package/lib/components/mention/src/mention.vue.d.ts +16 -16
  500. package/lib/components/menu/src/menu.d.ts +3 -3
  501. package/lib/components/menu/src/sub-menu.d.ts +1 -1
  502. package/lib/components/message/src/message.d.ts +1 -1
  503. package/lib/components/message/src/message.vue.d.ts +5 -5
  504. package/lib/components/notification/src/notification.d.ts +1 -1
  505. package/lib/components/notification/src/notification.vue.d.ts +6 -6
  506. package/lib/components/overlay/index.d.ts +2 -2
  507. package/lib/components/overlay/src/overlay.d.ts +1 -1
  508. package/lib/components/page-header/src/page-header.vue.d.ts +1 -1
  509. package/lib/components/pagination/src/pagination.d.ts +4 -4
  510. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  511. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +1 -1
  512. package/lib/components/popover/src/popover.d.ts +1 -1
  513. package/lib/components/popover/src/popover.vue.d.ts +11 -11
  514. package/lib/components/popper/src/composables/use-content.d.ts +2 -2
  515. package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  516. package/lib/components/popper/src/content.d.ts +4 -4
  517. package/lib/components/popper/src/content.vue.d.ts +5 -5
  518. package/lib/components/popper/src/popper.d.ts +2 -2
  519. package/lib/components/progress/src/progress.vue.d.ts +1 -1
  520. package/lib/components/radio/src/radio-button.d.ts +3 -3
  521. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  522. package/lib/components/radio/src/radio-group.vue.d.ts +4 -4
  523. package/lib/components/radio/src/radio.d.ts +6 -6
  524. package/lib/components/radio/src/radio.vue.d.ts +3 -3
  525. package/lib/components/rate/src/rate.vue.d.ts +2 -2
  526. package/lib/components/result/src/result.d.ts +1 -1
  527. package/lib/components/row/src/row.vue.d.ts +1 -1
  528. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +2 -2
  529. package/lib/components/segmented/index.d.ts +3 -3
  530. package/lib/components/segmented/src/segmented.d.ts +1 -1
  531. package/lib/components/segmented/src/segmented.vue.d.ts +1 -1
  532. package/lib/components/select/src/option.d.ts +2 -2
  533. package/lib/components/select/src/option.vue.d.ts +5 -5
  534. package/lib/components/select/src/select.d.ts +5 -5
  535. package/lib/components/select/src/select.vue.d.ts +81 -81
  536. package/lib/components/select/src/useSelect.js +1 -1
  537. package/lib/components/select/src/useSelect.js.map +1 -1
  538. package/lib/components/select-v2/src/defaults.d.ts +4 -4
  539. package/lib/components/select-v2/src/defaults.js.map +1 -1
  540. package/lib/components/select-v2/src/select.vue.d.ts +62 -62
  541. package/lib/components/select-v2/src/useSelect.js +1 -1
  542. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  543. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  544. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  545. package/lib/components/slider/src/slider.vue.d.ts +5 -5
  546. package/lib/components/space/src/space.d.ts +5 -5
  547. package/lib/components/steps/src/item.vue.d.ts +1 -1
  548. package/lib/components/steps/src/steps.vue.d.ts +1 -1
  549. package/lib/components/switch/src/switch.vue.d.ts +2 -2
  550. package/lib/components/table/src/table-body/index.d.ts +1 -1
  551. package/lib/components/table/src/table-column/index.d.ts +13 -13
  552. package/lib/components/table/src/table-header/index.d.ts +6 -6
  553. package/lib/components/table/src/table.vue.d.ts +41 -41
  554. package/lib/components/table-v2/src/components/header.d.ts +1 -1
  555. package/lib/components/table-v2/src/components/row.d.ts +1 -1
  556. package/lib/components/table-v2/src/table-grid.d.ts +3 -3
  557. package/lib/components/table-v2/src/table-v2.d.ts +4 -4
  558. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  559. package/lib/components/tabs/src/tabs.d.ts +3 -3
  560. package/lib/components/tag/src/tag.d.ts +2 -2
  561. package/lib/components/text/src/text.d.ts +1 -1
  562. package/lib/components/time-picker/src/common/picker.vue.d.ts +13 -13
  563. package/lib/components/time-picker/src/common/props.d.ts +1 -1
  564. package/lib/components/time-picker/src/time-picker.d.ts +9 -9
  565. package/lib/components/time-select/src/time-select.vue.d.ts +9 -9
  566. package/lib/components/timeline/src/timeline-item.d.ts +1 -1
  567. package/lib/components/tooltip/src/content.d.ts +1 -1
  568. package/lib/components/tooltip/src/content.vue.d.ts +7 -7
  569. package/lib/components/tooltip/src/tooltip.d.ts +2 -2
  570. package/lib/components/tooltip/src/tooltip.vue.d.ts +10 -10
  571. package/lib/components/tour/src/content.d.ts +2 -2
  572. package/lib/components/tour/src/step.d.ts +1 -1
  573. package/lib/components/tour/src/step.vue.d.ts +1 -1
  574. package/lib/components/tour/src/tour.d.ts +1 -1
  575. package/lib/components/tour/src/tour.vue.d.ts +3 -3
  576. package/lib/components/transfer/src/transfer-panel.vue.d.ts +1 -1
  577. package/lib/components/transfer/src/transfer.vue.d.ts +3 -3
  578. package/lib/components/tree/src/tree.vue.d.ts +16 -16
  579. package/lib/components/tree-select/src/tree-select.vue.d.ts +43 -43
  580. package/lib/components/tree-v2/src/tree.vue.d.ts +4 -4
  581. package/lib/components/upload/src/upload-content.d.ts +1 -1
  582. package/lib/components/upload/src/upload-content.vue.d.ts +3 -3
  583. package/lib/components/upload/src/upload-list.d.ts +1 -1
  584. package/lib/components/upload/src/upload.d.ts +2 -2
  585. package/lib/components/upload/src/upload.vue.d.ts +4 -4
  586. package/lib/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  587. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  588. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +3 -3
  589. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  590. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +3 -3
  591. package/lib/hooks/use-popper/index.d.ts +2 -2
  592. package/lib/version.js +1 -1
  593. package/lib/version.js.map +1 -1
  594. package/package.json +2 -2
  595. package/tags.json +1 -1
  596. package/web-types.json +1 -1
@@ -28,7 +28,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
28
28
  readonly emptyValues: ArrayConstructor;
29
29
  readonly valueOnClear: EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown, undefined, boolean>;
30
30
  readonly allowCreate: BooleanConstructor;
31
- readonly autocomplete: EpPropFinalized<(new (...args: any[]) => "inline" | "none" | "both" | "list") | (() => "inline" | "none" | "both" | "list") | (((new (...args: any[]) => "inline" | "none" | "both" | "list") | (() => "inline" | "none" | "both" | "list")) | null)[], unknown, unknown, "none", boolean>;
31
+ readonly autocomplete: EpPropFinalized<(new (...args: any[]) => "none" | "both" | "inline" | "list") | (() => "none" | "both" | "inline" | "list") | (((new (...args: any[]) => "none" | "both" | "inline" | "list") | (() => "none" | "both" | "inline" | "list")) | null)[], unknown, unknown, "none", boolean>;
32
32
  readonly automaticDropdown: BooleanConstructor;
33
33
  readonly clearable: BooleanConstructor;
34
34
  readonly clearIcon: EpPropFinalized<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown, vue.DefineComponent<{}, void, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>, boolean>;
@@ -211,18 +211,18 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
211
211
  readonly offset: EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
212
212
  readonly remoteShowSuffix: BooleanConstructor;
213
213
  readonly showArrow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
214
- readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "bottom" | "left" | "right" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "bottom" | "left" | "right" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom-start", boolean>;
214
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom-start", boolean>;
215
215
  readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom-start", "top-start", "right", "left"], boolean>;
216
216
  readonly tagType: {
217
217
  readonly default: "info";
218
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
218
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>>;
219
219
  readonly required: false;
220
220
  readonly validator: ((val: unknown) => boolean) | undefined;
221
221
  readonly __epPropKey: true;
222
222
  };
223
223
  readonly tagEffect: {
224
224
  readonly default: "light";
225
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>>;
225
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "light" | "dark" | "plain", unknown>>;
226
226
  readonly required: false;
227
227
  readonly validator: ((val: unknown) => boolean) | undefined;
228
228
  readonly __epPropKey: true;
@@ -331,7 +331,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
331
331
  suffixRef: vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
332
332
  collapseItemRef: vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
333
333
  popperRef: vue.ComputedRef<HTMLElement | undefined>;
334
- validateState: vue.ComputedRef<"error" | "" | "success" | "validating">;
334
+ validateState: vue.ComputedRef<"" | "error" | "success" | "validating">;
335
335
  validateIcon: vue.ComputedRef<vue.DefineComponent<{}, void, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any> | undefined>;
336
336
  showTagList: vue.ComputedRef<Option[]>;
337
337
  collapseTagList: vue.ComputedRef<Option[]>;
@@ -377,7 +377,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
377
377
  readonly emptyValues: ArrayConstructor;
378
378
  readonly valueOnClear: EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown, undefined, boolean>;
379
379
  readonly allowCreate: BooleanConstructor;
380
- readonly autocomplete: EpPropFinalized<(new (...args: any[]) => "inline" | "none" | "both" | "list") | (() => "inline" | "none" | "both" | "list") | (((new (...args: any[]) => "inline" | "none" | "both" | "list") | (() => "inline" | "none" | "both" | "list")) | null)[], unknown, unknown, "none", boolean>;
380
+ readonly autocomplete: EpPropFinalized<(new (...args: any[]) => "none" | "both" | "inline" | "list") | (() => "none" | "both" | "inline" | "list") | (((new (...args: any[]) => "none" | "both" | "inline" | "list") | (() => "none" | "both" | "inline" | "list")) | null)[], unknown, unknown, "none", boolean>;
381
381
  readonly automaticDropdown: BooleanConstructor;
382
382
  readonly clearable: BooleanConstructor;
383
383
  readonly clearIcon: EpPropFinalized<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown, vue.DefineComponent<{}, void, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>, boolean>;
@@ -560,18 +560,18 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
560
560
  readonly offset: EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
561
561
  readonly remoteShowSuffix: BooleanConstructor;
562
562
  readonly showArrow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
563
- readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "bottom" | "left" | "right" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "bottom" | "left" | "right" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom-start", boolean>;
563
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom-start", boolean>;
564
564
  readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom-start", "top-start", "right", "left"], boolean>;
565
565
  readonly tagType: {
566
566
  readonly default: "info";
567
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
567
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>>;
568
568
  readonly required: false;
569
569
  readonly validator: ((val: unknown) => boolean) | undefined;
570
570
  readonly __epPropKey: true;
571
571
  };
572
572
  readonly tagEffect: {
573
573
  readonly default: "light";
574
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>>;
574
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "light" | "dark" | "plain", unknown>>;
575
575
  readonly required: false;
576
576
  readonly validator: ((val: unknown) => boolean) | undefined;
577
577
  readonly __epPropKey: true;
@@ -589,52 +589,52 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
589
589
  onBlur?: ((evt: FocusEvent) => any) | undefined;
590
590
  onChange?: ((val: any) => any) | undefined;
591
591
  onFocus?: ((evt: FocusEvent) => any) | undefined;
592
- "onUpdate:modelValue"?: ((val: any) => any) | undefined;
593
592
  onClear?: (() => any) | undefined;
593
+ "onUpdate:modelValue"?: ((val: any) => any) | undefined;
594
594
  "onVisible-change"?: ((visible: boolean) => any) | undefined;
595
595
  "onRemove-tag"?: ((val: unknown) => any) | undefined;
596
596
  }>, {
597
- readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
597
+ readonly offset: number;
598
+ readonly teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
599
+ readonly props: Props;
600
+ readonly effect: EpPropMergeType<(new (...args: any[]) => string) | (() => PopperEffect) | (((new (...args: any[]) => string) | (() => PopperEffect)) | null)[], unknown, unknown>;
601
+ readonly valueKey: string;
598
602
  readonly modelValue: any;
603
+ readonly debounce: number;
604
+ readonly placement: EpPropMergeType<(new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown>;
605
+ readonly fitInputWidth: EpPropMergeType<readonly [BooleanConstructor, NumberConstructor], unknown, number | boolean>;
599
606
  readonly disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
607
+ readonly autocomplete: EpPropMergeType<(new (...args: any[]) => "none" | "both" | "inline" | "list") | (() => "none" | "both" | "inline" | "list") | (((new (...args: any[]) => "none" | "both" | "inline" | "list") | (() => "none" | "both" | "inline" | "list")) | null)[], unknown, unknown>;
600
608
  readonly clearable: boolean;
609
+ readonly clearIcon: EpPropMergeType<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown>;
610
+ readonly suffixIcon: EpPropMergeType<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown>;
601
611
  readonly tabindex: EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
602
- readonly teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
603
612
  readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
604
- readonly valueOnClear: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
605
- readonly props: Props;
606
- readonly effect: EpPropMergeType<(new (...args: any[]) => string) | (() => PopperEffect) | (((new (...args: any[]) => string) | (() => PopperEffect)) | null)[], unknown, unknown>;
613
+ readonly multiple: boolean;
607
614
  readonly fallbackPlacements: Placement[];
608
- readonly offset: number;
609
- readonly placement: EpPropMergeType<(new (...args: any[]) => "top" | "bottom" | "left" | "right" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "bottom" | "left" | "right" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown>;
610
615
  readonly popperOptions: Partial<Options>;
611
- readonly loading: boolean;
612
- readonly height: number;
613
616
  readonly showArrow: EpPropMergeType<BooleanConstructor, unknown, unknown>;
614
- readonly multiple: boolean;
615
- readonly autocomplete: EpPropMergeType<(new (...args: any[]) => "inline" | "none" | "both" | "list") | (() => "inline" | "none" | "both" | "list") | (((new (...args: any[]) => "inline" | "none" | "both" | "list") | (() => "inline" | "none" | "both" | "list")) | null)[], unknown, unknown>;
616
- readonly clearIcon: EpPropMergeType<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown>;
617
- readonly suffixIcon: EpPropMergeType<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown>;
618
- readonly scrollbarAlwaysOn: boolean;
619
- readonly automaticDropdown: boolean;
617
+ readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
618
+ readonly height: number;
619
+ readonly loading: boolean;
620
+ readonly valueOnClear: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
620
621
  readonly filterable: boolean;
622
+ readonly collapseTags: boolean;
623
+ readonly maxCollapseTags: number;
624
+ readonly collapseTagsTooltip: boolean;
625
+ readonly tagType: EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>;
626
+ readonly tagEffect: EpPropMergeType<StringConstructor, "light" | "dark" | "plain", unknown>;
627
+ readonly automaticDropdown: boolean;
621
628
  readonly allowCreate: boolean;
622
629
  readonly remote: boolean;
623
- readonly debounce: number;
624
630
  readonly multipleLimit: number;
625
631
  readonly defaultFirstOption: boolean;
626
632
  readonly reserveKeyword: EpPropMergeType<BooleanConstructor, unknown, unknown>;
627
- readonly valueKey: string;
628
- readonly collapseTags: boolean;
629
- readonly collapseTagsTooltip: boolean;
630
633
  readonly tagTooltip: TagTooltipProps;
631
- readonly maxCollapseTags: number;
632
- readonly fitInputWidth: EpPropMergeType<readonly [BooleanConstructor, NumberConstructor], unknown, number | boolean>;
633
- readonly tagType: EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>;
634
- readonly tagEffect: EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>;
635
634
  readonly remoteShowSuffix: boolean;
636
635
  readonly estimatedOptionHeight: number;
637
636
  readonly itemHeight: number;
637
+ readonly scrollbarAlwaysOn: boolean;
638
638
  }, {}, {
639
639
  ElSelectMenu: vue.DefineComponent<vue.ExtractPropTypes<{
640
640
  loading: BooleanConstructor;
@@ -705,8 +705,8 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
705
705
  ElTooltip: SFCWithInstall<{
706
706
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<UseTooltipProps> & Readonly<{
707
707
  onClose?: ((...args: any[]) => any) | undefined;
708
- onShow?: ((...args: any[]) => any) | undefined;
709
708
  onHide?: ((...args: any[]) => any) | undefined;
709
+ onShow?: ((...args: any[]) => any) | undefined;
710
710
  onOpen?: ((...args: any[]) => any) | undefined;
711
711
  "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
712
712
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
@@ -721,18 +721,21 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
721
721
  hide: (event?: Event) => void;
722
722
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
723
723
  close: (...args: any[]) => void;
724
- show: (...args: any[]) => void;
725
724
  hide: (...args: any[]) => void;
725
+ show: (...args: any[]) => void;
726
726
  open: (...args: any[]) => void;
727
727
  "update:visible": (...args: any[]) => void;
728
728
  "before-show": (...args: any[]) => void;
729
729
  "before-hide": (...args: any[]) => void;
730
730
  }, vue.PublicProps, {
731
- popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
732
- teleported: boolean;
733
- visible: boolean | null;
734
731
  style: string | false | vue.CSSProperties | vue.StyleValue[] | null;
732
+ offset: number;
733
+ teleported: boolean;
735
734
  effect: PopperEffect;
735
+ placement: Placement;
736
+ popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
737
+ visible: boolean | null;
738
+ content: string;
736
739
  enterable: boolean;
737
740
  pure: boolean;
738
741
  focusOnShow: boolean;
@@ -742,14 +745,11 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
742
745
  loop: boolean;
743
746
  boundariesPadding: number;
744
747
  gpuAcceleration: boolean;
745
- offset: number;
746
- placement: Placement;
747
748
  popperOptions: Partial<Options>;
748
- strategy: "absolute" | "fixed";
749
+ strategy: "fixed" | "absolute";
749
750
  arrowOffset: number;
750
- role: typeof roleTypes[number];
751
751
  showArrow: boolean;
752
- content: string;
752
+ role: typeof roleTypes[number];
753
753
  showAfter: number;
754
754
  hideAfter: number;
755
755
  autoClose: number;
@@ -764,8 +764,8 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
764
764
  Defaults: {};
765
765
  }, Readonly<UseTooltipProps> & Readonly<{
766
766
  onClose?: ((...args: any[]) => any) | undefined;
767
- onShow?: ((...args: any[]) => any) | undefined;
768
767
  onHide?: ((...args: any[]) => any) | undefined;
768
+ onShow?: ((...args: any[]) => any) | undefined;
769
769
  onOpen?: ((...args: any[]) => any) | undefined;
770
770
  "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
771
771
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
@@ -779,11 +779,14 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
779
779
  onClose: (event?: Event, delay?: number) => void;
780
780
  hide: (event?: Event) => void;
781
781
  }, {}, {}, {}, {
782
- popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
783
- teleported: boolean;
784
- visible: boolean | null;
785
782
  style: string | false | vue.CSSProperties | vue.StyleValue[] | null;
783
+ offset: number;
784
+ teleported: boolean;
786
785
  effect: PopperEffect;
786
+ placement: Placement;
787
+ popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
788
+ visible: boolean | null;
789
+ content: string;
787
790
  enterable: boolean;
788
791
  pure: boolean;
789
792
  focusOnShow: boolean;
@@ -793,14 +796,11 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
793
796
  loop: boolean;
794
797
  boundariesPadding: number;
795
798
  gpuAcceleration: boolean;
796
- offset: number;
797
- placement: Placement;
798
799
  popperOptions: Partial<Options>;
799
- strategy: "absolute" | "fixed";
800
+ strategy: "fixed" | "absolute";
800
801
  arrowOffset: number;
801
- role: typeof roleTypes[number];
802
802
  showArrow: boolean;
803
- content: string;
803
+ role: typeof roleTypes[number];
804
804
  showAfter: number;
805
805
  hideAfter: number;
806
806
  autoClose: number;
@@ -812,8 +812,8 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
812
812
  __isSuspense?: never;
813
813
  } & vue.ComponentOptionsBase<Readonly<UseTooltipProps> & Readonly<{
814
814
  onClose?: ((...args: any[]) => any) | undefined;
815
- onShow?: ((...args: any[]) => any) | undefined;
816
815
  onHide?: ((...args: any[]) => any) | undefined;
816
+ onShow?: ((...args: any[]) => any) | undefined;
817
817
  onOpen?: ((...args: any[]) => any) | undefined;
818
818
  "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
819
819
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
@@ -828,18 +828,21 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
828
828
  hide: (event?: Event) => void;
829
829
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
830
830
  close: (...args: any[]) => void;
831
- show: (...args: any[]) => void;
832
831
  hide: (...args: any[]) => void;
832
+ show: (...args: any[]) => void;
833
833
  open: (...args: any[]) => void;
834
834
  "update:visible": (...args: any[]) => void;
835
835
  "before-show": (...args: any[]) => void;
836
836
  "before-hide": (...args: any[]) => void;
837
837
  }, string, {
838
- popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
839
- teleported: boolean;
840
- visible: boolean | null;
841
838
  style: string | false | vue.CSSProperties | vue.StyleValue[] | null;
839
+ offset: number;
840
+ teleported: boolean;
842
841
  effect: PopperEffect;
842
+ placement: Placement;
843
+ popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
844
+ visible: boolean | null;
845
+ content: string;
843
846
  enterable: boolean;
844
847
  pure: boolean;
845
848
  focusOnShow: boolean;
@@ -849,14 +852,11 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
849
852
  loop: boolean;
850
853
  boundariesPadding: number;
851
854
  gpuAcceleration: boolean;
852
- offset: number;
853
- placement: Placement;
854
855
  popperOptions: Partial<Options>;
855
- strategy: "absolute" | "fixed";
856
+ strategy: "fixed" | "absolute";
856
857
  arrowOffset: number;
857
- role: typeof roleTypes[number];
858
858
  showArrow: boolean;
859
- content: string;
859
+ role: typeof roleTypes[number];
860
860
  showAfter: number;
861
861
  hideAfter: number;
862
862
  autoClose: number;
@@ -220,7 +220,7 @@ const useSelect = (props, emit) => {
220
220
  });
221
221
  const dropdownMenuVisible = (0, vue.computed)({
222
222
  get() {
223
- return expanded.value && (props.loading || !isRemoteSearchEmpty.value || props.remote && !!slots.empty) && (!debouncing.value || !require_types.isEmpty(states.previousQuery));
223
+ return expanded.value && (props.loading || !isRemoteSearchEmpty.value || props.remote && !!slots.empty) && (!debouncing.value || !require_types.isEmpty(states.previousQuery) || hasOptions.value);
224
224
  },
225
225
  set(val) {
226
226
  expanded.value = val;
@@ -1 +1 @@
1
- {"version":3,"file":"useSelect.js","names":["useLocale","useNamespace","useFormItem","useFormItemInputId","useProps","useEmptyValues","useComposition","useFormDisabled","useFocusController","debugWarn","ValidateComponentsMap","escapeStringRegexp","useFormSize","isNumber","MINIMUM_INPUT_WIDTH","isEmpty","useAllowCreate","CHANGE_EVENT","UPDATE_MODEL_EVENT","getEventCode","EVENT_CODE","isUndefined"],"sources":["../../../../../../packages/components/select-v2/src/useSelect.ts"],"sourcesContent":["import {\n computed,\n nextTick,\n onMounted,\n reactive,\n ref,\n useSlots,\n watch,\n watchEffect,\n} from 'vue'\nimport { findLastIndex, get, isEqual } from 'lodash-unified'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport {\n ValidateComponentsMap,\n debugWarn,\n escapeStringRegexp,\n getEventCode,\n isArray,\n isEmpty,\n isFunction,\n isNumber,\n isObject,\n isUndefined,\n} from '@element-plus/utils'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n MINIMUM_INPUT_WIDTH,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { useAllowCreate } from './useAllowCreate'\nimport { useProps } from './useProps'\n\nimport type { Option, OptionType, SelectStates } from './select.types'\nimport type { SelectV2Props } from './token'\nimport type { SelectV2EmitFn } from './defaults'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { SelectDropdownInstance } from './select-dropdown'\n\nconst useSelect = (props: SelectV2Props, emit: SelectV2EmitFn) => {\n // inject\n const { t } = useLocale()\n const slots = useSlots()\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n const { form: elForm, formItem: elFormItem } = useFormItem()\n const { inputId } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n })\n const { aliasProps, getLabel, getValue, getDisabled, getOptions } =\n useProps(props)\n const { valueOnClear, isEmptyValue } = useEmptyValues(props)\n\n const states: SelectStates = reactive({\n inputValue: '',\n cachedOptions: [],\n createdOptions: [],\n hoveringIndex: -1,\n inputHovering: false,\n selectionWidth: 0,\n collapseItemWidth: 0,\n previousQuery: null,\n previousValue: undefined,\n selectedLabel: '',\n menuVisibleOnFocus: false,\n isBeforeHide: false,\n })\n\n // data refs\n const popperSize = ref(-1)\n const debouncing = ref(false)\n\n // DOM & Component refs\n const selectRef = ref<HTMLElement>()\n const selectionRef = ref<HTMLElement>()\n const tooltipRef = ref<TooltipInstance>()\n const tagTooltipRef = ref<TooltipInstance>()\n const inputRef = ref<HTMLElement>()\n const prefixRef = ref<HTMLElement>()\n const suffixRef = ref<HTMLElement>()\n const menuRef = ref<SelectDropdownInstance>()\n const tagMenuRef = ref<HTMLElement>()\n const collapseItemRef = ref<HTMLElement>()\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionEnd,\n handleCompositionUpdate,\n } = useComposition({\n afterComposition: (e) => onInput(e),\n })\n\n const selectDisabled = useFormDisabled()\n\n const { wrapperRef, isFocused, handleBlur } = useFocusController(inputRef, {\n disabled: selectDisabled,\n afterFocus() {\n if (props.automaticDropdown && !expanded.value) {\n expanded.value = true\n states.menuVisibleOnFocus = true\n }\n },\n beforeBlur(event) {\n return (\n tooltipRef.value?.isFocusInsideContent(event) ||\n tagTooltipRef.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n expanded.value = false\n states.menuVisibleOnFocus = false\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n })\n\n const allOptions = computed(() => filterOptions(''))\n\n const hasOptions = computed(() => {\n if (props.loading) return false\n return props.options.length > 0 || states.createdOptions.length > 0\n })\n\n const filteredOptions = ref<OptionType[]>([])\n // the controller of the expanded popup\n const expanded = ref(false)\n\n const needStatusIcon = computed(() => elForm?.statusIcon ?? false)\n\n const popupHeight = computed(() => {\n const totalHeight = filteredOptions.value.length * props.itemHeight\n return totalHeight > props.height ? props.height : totalHeight\n })\n\n const hasModelValue = computed(() => {\n return props.multiple\n ? isArray(props.modelValue) && props.modelValue.length > 0\n : !isEmptyValue(props.modelValue)\n })\n\n const showClearBtn = computed(() => {\n return (\n props.clearable &&\n !selectDisabled.value &&\n hasModelValue.value &&\n (isFocused.value || states.inputHovering)\n )\n })\n\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n\n const iconReverse = computed(\n () => iconComponent.value && nsSelect.is('reverse', expanded.value)\n )\n\n const validateState = computed(() => elFormItem?.validateState || '')\n const validateIcon = computed(() => {\n // When we use indexed access to get the type of an undeclared property,\n // the unsafe type `any` will be inferred, which TypeScript throws an error to emphasize it.\n // To avoid TypeScript complaining about it, we use truthiness narrowing to narrow the type of validateState.\n if (!validateState.value) return\n return ValidateComponentsMap[validateState.value]\n })\n\n const debounce = computed(() => (props.remote ? props.debounce : 0))\n\n const isRemoteSearchEmpty = computed(\n () => props.remote && !states.inputValue && !hasOptions.value\n )\n\n // filteredOptions includes flatten the data into one dimensional array.\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (\n props.filterable &&\n states.inputValue &&\n hasOptions.value &&\n filteredOptions.value.length === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (!hasOptions.value) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const isFilterMethodValid = computed(\n () => props.filterable && isFunction(props.filterMethod)\n )\n const isRemoteMethodValid = computed(\n () => props.filterable && props.remote && isFunction(props.remoteMethod)\n )\n\n const filterOptions = (query: string) => {\n const regexp = new RegExp(escapeStringRegexp(query), 'i')\n\n const isValidOption = (o: Option): boolean => {\n if (isFilterMethodValid.value || isRemoteMethodValid.value) return true\n // when query was given, we should test on the label see whether the label contains the given query\n return query ? regexp.test(getLabel(o) || '') : true\n }\n if (props.loading) {\n return []\n }\n\n return [...states.createdOptions, ...props.options].reduce((all, item) => {\n const options = getOptions(item)\n\n if (isArray(options)) {\n const filtered = options.filter(isValidOption)\n\n if (filtered.length > 0) {\n all.push(\n {\n label: getLabel(item),\n type: 'Group',\n },\n ...filtered\n )\n }\n } else if (props.remote || isValidOption(item)) {\n all.push(item)\n }\n\n return all\n }, []) as OptionType[]\n }\n\n const updateOptions = () => {\n filteredOptions.value = filterOptions(states.inputValue)\n }\n\n const allOptionsValueMap = computed(() => {\n const valueMap = new Map()\n\n allOptions.value.forEach((option, index) => {\n valueMap.set(getValueKey(getValue(option)), { option, index })\n })\n return valueMap\n })\n\n const filteredOptionsValueMap = computed(() => {\n const valueMap = new Map()\n\n filteredOptions.value.forEach((option, index) => {\n valueMap.set(getValueKey(getValue(option)), { option, index })\n })\n return valueMap\n })\n\n const optionsAllDisabled = computed(() =>\n filteredOptions.value.every((option) => getDisabled(option))\n )\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n 'small' === selectSize.value ? 'small' : 'default'\n )\n\n const calculatePopperSize = () => {\n if (isNumber(props.fitInputWidth)) {\n popperSize.value = props.fitInputWidth\n return\n }\n const width = selectRef.value?.offsetWidth || 200\n if (!props.fitInputWidth && hasOptions.value) {\n nextTick(() => {\n popperSize.value = Math.max(width, calculateLabelMaxWidth())\n })\n } else {\n popperSize.value = width\n }\n }\n\n // TODO Caching implementation\n // 1. There is no need to calculate options that have already been calculated\n // 2. Repeatedly expand and close when persistent is set to false, no need for repeated calculations\n const calculateLabelMaxWidth = () => {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n const selector = nsSelect.be('dropdown', 'item')\n const dom = menuRef.value?.listRef?.innerRef || document\n const dropdownItemEl = dom.querySelector(`.${selector}`)\n if (dropdownItemEl === null || ctx === null) return 0\n const style = getComputedStyle(dropdownItemEl)\n const padding =\n Number.parseFloat(style.paddingLeft) +\n Number.parseFloat(style.paddingRight)\n ctx.font = `bold ${style.font.replace(\n new RegExp(`\\\\b${style.fontWeight}\\\\b`),\n ''\n )}`\n const maxWidth = filteredOptions.value.reduce((max, option) => {\n const metrics = ctx.measureText(getLabel(option))\n return Math.max(metrics.width, max)\n }, 0)\n return maxWidth + padding\n }\n\n const getGapWidth = () => {\n if (!selectionRef.value) return 0\n const style = window.getComputedStyle(selectionRef.value)\n return Number.parseFloat(style.gap || '6px')\n }\n\n // computed style\n const tagStyle = computed(() => {\n const gapWidth = getGapWidth()\n const inputSlotWidth = props.filterable ? gapWidth + MINIMUM_INPUT_WIDTH : 0\n const maxWidth =\n collapseItemRef.value && props.maxCollapseTags === 1\n ? states.selectionWidth -\n states.collapseItemWidth -\n gapWidth -\n inputSlotWidth\n : states.selectionWidth - inputSlotWidth\n return { maxWidth: `${maxWidth}px` }\n })\n\n const collapseTagStyle = computed(() => {\n return { maxWidth: `${states.selectionWidth}px` }\n })\n\n const shouldShowPlaceholder = computed(() => {\n if (isArray(props.modelValue)) {\n return props.modelValue.length === 0 && !states.inputValue\n }\n\n // when it's not multiple mode, we only determine this flag based on filterable and expanded\n // when filterable flag is true, which means we have input box on the screen\n return props.filterable ? !states.inputValue : true\n })\n\n const currentPlaceholder = computed(() => {\n const _placeholder = props.placeholder ?? t('el.select.placeholder')\n return props.multiple || !hasModelValue.value\n ? _placeholder\n : states.selectedLabel\n })\n\n // this obtains the actual popper DOM element.\n const popperRef = computed(() => tooltipRef.value?.popperRef?.contentRef)\n\n // the index with current value in options\n const indexRef = computed<number>(() => {\n if (props.multiple) {\n const len = (props.modelValue as []).length\n if (\n len > 0 &&\n filteredOptionsValueMap.value.has(props.modelValue[len - 1])\n ) {\n const { index } = filteredOptionsValueMap.value.get(\n props.modelValue[len - 1]\n )\n return index\n }\n } else {\n if (\n !isEmptyValue(props.modelValue) &&\n filteredOptionsValueMap.value.has(props.modelValue)\n ) {\n const { index } = filteredOptionsValueMap.value.get(props.modelValue)\n return index\n }\n }\n return -1\n })\n\n const dropdownMenuVisible = computed({\n get() {\n return (\n expanded.value &&\n (props.loading ||\n !isRemoteSearchEmpty.value ||\n (props.remote && !!slots.empty)) &&\n (!debouncing.value || !isEmpty(states.previousQuery))\n )\n },\n set(val: boolean) {\n expanded.value = val\n },\n })\n\n const showTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.cachedOptions.slice(0, props.maxCollapseTags)\n : states.cachedOptions\n })\n\n const collapseTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.cachedOptions.slice(props.maxCollapseTags)\n : []\n })\n\n // hooks\n const {\n createNewOption,\n removeNewOption,\n selectNewOption,\n clearAllNewOption,\n } = useAllowCreate(props, states)\n\n // methods\n const toggleMenu = (event?: Event) => {\n if (\n selectDisabled.value ||\n (props.filterable &&\n expanded.value &&\n event &&\n !suffixRef.value?.contains(event.target as Node))\n )\n return\n\n if (states.menuVisibleOnFocus) {\n // controlled by automaticDropdown\n states.menuVisibleOnFocus = false\n } else {\n expanded.value = !expanded.value\n }\n }\n\n const onInputChange = () => {\n if (states.inputValue.length > 0 && !expanded.value) {\n expanded.value = true\n }\n createNewOption(states.inputValue)\n nextTick(() => {\n handleQueryChange(states.inputValue)\n })\n }\n\n const debouncedOnInputChange = useDebounceFn(() => {\n onInputChange()\n debouncing.value = false\n }, debounce)\n\n const handleQueryChange = (val: string) => {\n if (states.previousQuery === val || isComposing.value) {\n return\n }\n states.previousQuery = val\n if (props.filterable && isFunction(props.filterMethod)) {\n props.filterMethod(val)\n } else if (\n props.filterable &&\n props.remote &&\n isFunction(props.remoteMethod)\n ) {\n props.remoteMethod(val)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptions.value.length\n ) {\n nextTick(checkDefaultFirstOption)\n } else {\n nextTick(updateHoveringIndex)\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = filteredOptions.value.filter(\n (n) => !n.disabled && n.type !== 'Group'\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n states.hoveringIndex = getValueIndex(\n filteredOptions.value,\n userCreatedOption || firstOriginOption\n )\n }\n\n const emitChange = (val: any | any[]) => {\n if (!isEqual(props.modelValue, val)) {\n emit(CHANGE_EVENT, val)\n }\n }\n\n const update = (val: any) => {\n emit(UPDATE_MODEL_EVENT, val)\n emitChange(val)\n states.previousValue = props.multiple ? String(val) : val\n\n nextTick(() => {\n if (props.multiple && isArray(props.modelValue)) {\n const cachedOptions = states.cachedOptions.slice()\n const selectedOptions = props.modelValue.map((value) =>\n getOption(value, cachedOptions)\n )\n\n if (!isEqual(states.cachedOptions, selectedOptions)) {\n states.cachedOptions = selectedOptions\n }\n } else {\n initStates(true)\n }\n })\n }\n\n const getValueIndex = (arr: unknown[] = [], value: unknown) => {\n if (!isObject(value)) {\n return arr.indexOf(value)\n }\n const valueKey = props.valueKey\n let index = -1\n arr.some((item, i) => {\n if (get(item, valueKey) === get(value, valueKey)) {\n index = i\n return true\n }\n return false\n })\n return index\n }\n\n const getValueKey = (item: unknown) => {\n return isObject(item) ? get(item, props.valueKey) : item\n }\n\n const handleResize = () => {\n calculatePopperSize()\n }\n\n const resetSelectionWidth = () => {\n states.selectionWidth = Number.parseFloat(\n window.getComputedStyle(selectionRef.value!).width\n )\n }\n\n const resetCollapseItemWidth = () => {\n states.collapseItemWidth =\n collapseItemRef.value!.getBoundingClientRect().width\n }\n\n const updateTooltip = () => {\n tooltipRef.value?.updatePopper?.()\n }\n\n const updateTagTooltip = () => {\n tagTooltipRef.value?.updatePopper?.()\n }\n\n const onSelect = (option: Option) => {\n const optionValue = getValue(option)\n\n if (props.multiple) {\n let selectedOptions = (props.modelValue as any[]).slice()\n\n const index = getValueIndex(selectedOptions, optionValue)\n if (index > -1) {\n selectedOptions = [\n ...selectedOptions.slice(0, index),\n ...selectedOptions.slice(index + 1),\n ]\n states.cachedOptions.splice(index, 1)\n removeNewOption(option)\n } else if (\n props.multipleLimit <= 0 ||\n selectedOptions.length < props.multipleLimit\n ) {\n selectedOptions = [...selectedOptions, optionValue]\n states.cachedOptions.push(option)\n selectNewOption(option)\n }\n update(selectedOptions)\n if (option.created) {\n handleQueryChange('')\n }\n if (props.filterable && (option.created || !props.reserveKeyword)) {\n states.inputValue = ''\n }\n } else {\n states.selectedLabel = getLabel(option)\n !isEqual(props.modelValue, optionValue) && update(optionValue)\n expanded.value = false\n selectNewOption(option)\n if (!option.created) {\n clearAllNewOption()\n }\n }\n focus()\n }\n\n const deleteTag = (event: MouseEvent, option: Option) => {\n let selectedOptions = (props.modelValue as any[]).slice()\n\n const index = getValueIndex(selectedOptions, getValue(option))\n\n if (index > -1 && !selectDisabled.value) {\n selectedOptions = [\n ...(props.modelValue as Array<unknown>).slice(0, index),\n ...(props.modelValue as Array<unknown>).slice(index + 1),\n ]\n states.cachedOptions.splice(index, 1)\n update(selectedOptions)\n emit('remove-tag', getValue(option))\n removeNewOption(option)\n }\n event.stopPropagation()\n focus()\n }\n\n const focus = () => {\n inputRef.value?.focus()\n }\n\n const blur = () => {\n if (expanded.value) {\n expanded.value = false\n nextTick(() => inputRef.value?.blur())\n return\n }\n inputRef.value?.blur()\n }\n\n // keyboard handlers\n const handleEsc = () => {\n if (states.inputValue.length > 0) {\n states.inputValue = ''\n } else {\n expanded.value = false\n }\n }\n\n const getLastNotDisabledIndex = (value: unknown[]) =>\n findLastIndex(\n value,\n (it) =>\n !states.cachedOptions.some(\n (option) => getValue(option) === it && getDisabled(option)\n )\n )\n\n const handleDel = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n if (!props.multiple) return\n if (code === EVENT_CODE.delete) return\n if (states.inputValue.length === 0) {\n e.preventDefault()\n const selected = (props.modelValue as Array<any>).slice()\n const lastNotDisabledIndex = getLastNotDisabledIndex(selected)\n if (lastNotDisabledIndex < 0) return\n const removeTagValue = selected[lastNotDisabledIndex]\n selected.splice(lastNotDisabledIndex, 1)\n const option = states.cachedOptions[lastNotDisabledIndex]\n states.cachedOptions.splice(lastNotDisabledIndex, 1)\n removeNewOption(option)\n update(selected)\n emit('remove-tag', removeTagValue)\n }\n }\n\n const handleClear = () => {\n let emptyValue: string | any[]\n if (isArray(props.modelValue)) {\n emptyValue = []\n } else {\n emptyValue = valueOnClear.value\n }\n\n states.selectedLabel = ''\n\n expanded.value = false\n update(emptyValue)\n emit('clear')\n clearAllNewOption()\n focus()\n }\n\n const onKeyboardNavigate = (\n direction: 'forward' | 'backward',\n hoveringIndex: number | undefined = undefined\n ): void => {\n const options = filteredOptions.value\n if (\n !['forward', 'backward'].includes(direction) ||\n selectDisabled.value ||\n options.length <= 0 ||\n optionsAllDisabled.value ||\n isComposing.value\n ) {\n return\n }\n if (!expanded.value) {\n return toggleMenu()\n }\n if (isUndefined(hoveringIndex)) {\n hoveringIndex = states.hoveringIndex\n }\n let newIndex = -1\n if (direction === 'forward') {\n newIndex = hoveringIndex + 1\n if (newIndex >= options.length) {\n // return to the first option\n newIndex = 0\n }\n } else if (direction === 'backward') {\n newIndex = hoveringIndex - 1\n if (newIndex < 0 || newIndex >= options.length) {\n // navigate to the last one\n newIndex = options.length - 1\n }\n }\n const option = options[newIndex]\n if (getDisabled(option) || option.type === 'Group') {\n // prevent dispatching multiple nextTick callbacks.\n return onKeyboardNavigate(direction, newIndex)\n } else {\n states.hoveringIndex = newIndex\n scrollToItem(newIndex)\n }\n }\n\n const onKeyboardSelect = () => {\n if (!expanded.value) {\n return toggleMenu()\n } else if (\n ~states.hoveringIndex &&\n filteredOptions.value[states.hoveringIndex]\n ) {\n onSelect(filteredOptions.value[states.hoveringIndex])\n }\n }\n\n const onHoverOption = (idx?: number) => {\n states.hoveringIndex = idx ?? -1\n }\n\n const updateHoveringIndex = () => {\n if (!props.multiple) {\n states.hoveringIndex = filteredOptions.value.findIndex((item) => {\n return getValueKey(getValue(item)) === getValueKey(props.modelValue)\n })\n } else {\n const length = props.modelValue.length\n if (length > 0) {\n const lastValue = props.modelValue[length - 1]\n states.hoveringIndex = filteredOptions.value.findIndex(\n (item) => getValueKey(lastValue) === getValueKey(getValue(item))\n )\n } else {\n states.hoveringIndex = -1\n }\n }\n }\n\n const onInput = (event: Event) => {\n states.inputValue = (event.target as HTMLInputElement).value\n if (props.remote) {\n debouncing.value = true\n debouncedOnInputChange()\n } else {\n return onInputChange()\n }\n }\n\n const handleClickOutside = (event: Event) => {\n expanded.value = false\n\n if (isFocused.value) {\n const _event = new FocusEvent('blur', event)\n handleBlur(_event)\n }\n }\n\n const handleMenuEnter = () => {\n states.isBeforeHide = false\n return nextTick(() => {\n if (~indexRef.value) {\n scrollToItem(indexRef.value)\n }\n })\n }\n\n const scrollToItem = (index: number) => {\n menuRef.value!.scrollToItem(index)\n }\n\n const getOption = (value: unknown, cachedOptions?: Option[]) => {\n // match the option with the given value, if not found, create a new option\n const selectValue = getValueKey(value)\n\n if (allOptionsValueMap.value.has(selectValue)) {\n const { option } = allOptionsValueMap.value.get(selectValue)\n\n return option\n }\n if (cachedOptions && cachedOptions.length) {\n const option = cachedOptions.find(\n (option) => getValueKey(getValue(option)) === selectValue\n )\n if (option) {\n return option\n }\n }\n\n return {\n [aliasProps.value.value]: value,\n [aliasProps.value.label]: value,\n }\n }\n\n const getIndex = (option: Option) =>\n allOptionsValueMap.value.get(getValue(option))?.index ?? -1\n\n const initStates = (needUpdateSelectedLabel = false) => {\n if (props.multiple) {\n if ((props.modelValue as Array<any>).length > 0) {\n const cachedOptions = states.cachedOptions.slice()\n states.cachedOptions.length = 0\n states.previousValue = props.modelValue.toString()\n\n for (const value of props.modelValue) {\n const option = getOption(value, cachedOptions)\n states.cachedOptions.push(option)\n }\n } else {\n states.cachedOptions = []\n states.previousValue = undefined\n }\n } else {\n if (hasModelValue.value) {\n states.previousValue = props.modelValue\n const options = filteredOptions.value\n const selectedItemIndex = options.findIndex(\n (option) =>\n getValueKey(getValue(option)) === getValueKey(props.modelValue)\n )\n if (~selectedItemIndex) {\n states.selectedLabel = getLabel(options[selectedItemIndex])\n } else {\n if (!states.selectedLabel || needUpdateSelectedLabel) {\n states.selectedLabel = getValueKey(props.modelValue)\n }\n }\n } else {\n states.selectedLabel = ''\n states.previousValue = undefined\n }\n }\n clearAllNewOption()\n calculatePopperSize()\n }\n\n watch(\n () => props.fitInputWidth,\n () => {\n calculatePopperSize()\n }\n )\n\n // in order to track these individually, we need to turn them into refs instead of watching the entire\n // reactive object which could cause perf penalty when unnecessary field gets changed the watch method will\n // be invoked.\n\n watch(expanded, (val) => {\n if (val) {\n if (!props.persistent) {\n calculatePopperSize()\n }\n handleQueryChange('')\n } else {\n states.inputValue = ''\n states.previousQuery = null\n states.isBeforeHide = true\n states.menuVisibleOnFocus = false\n createNewOption('')\n }\n })\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n const isValEmpty = !val || (isArray(val) && val.length === 0)\n\n if (\n isValEmpty ||\n (props.multiple && !isEqual(val.toString(), states.previousValue)) ||\n (!props.multiple &&\n getValueKey(val) !== getValueKey(states.previousValue))\n ) {\n initStates(true)\n }\n if (!isEqual(val, oldVal) && props.validateEvent) {\n elFormItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n },\n {\n deep: true,\n }\n )\n\n watch(\n () => props.options,\n () => {\n const input = inputRef.value\n // filter or remote-search scenarios are not initialized\n if (!input || (input && document.activeElement !== input)) {\n initStates()\n }\n },\n {\n deep: true,\n flush: 'post',\n }\n )\n\n // fix the problem that scrollTop is not reset in filterable mode\n watch(\n () => filteredOptions.value,\n () => {\n calculatePopperSize()\n return menuRef.value && nextTick(menuRef.value.resetScrollTop)\n }\n )\n\n watchEffect(() => {\n // Anything could cause options changed, then update options\n // If you want to control it by condition, write here\n if (states.isBeforeHide) return\n updateOptions()\n })\n\n watchEffect(() => {\n const { valueKey, options } = props\n const duplicateValue = new Map()\n for (const item of options) {\n const optionValue = getValue(item)\n let v = optionValue\n if (isObject(v)) {\n v = get(optionValue, valueKey)\n }\n if (duplicateValue.get(v)) {\n debugWarn(\n 'ElSelectV2',\n `The option values you provided seem to be duplicated, which may cause some problems, please check.`\n )\n break\n } else {\n duplicateValue.set(v, true)\n }\n }\n })\n\n onMounted(() => {\n initStates()\n })\n useResizeObserver(selectRef, handleResize)\n useResizeObserver(selectionRef, resetSelectionWidth)\n useResizeObserver(wrapperRef, updateTooltip)\n useResizeObserver(tagMenuRef, updateTagTooltip)\n useResizeObserver(collapseItemRef, resetCollapseItemWidth)\n\n // #21498\n let stop: (() => void) | undefined\n watch(\n () => dropdownMenuVisible.value,\n (newVal) => {\n if (newVal) {\n stop = useResizeObserver(menuRef, updateTooltip).stop\n } else {\n stop?.()\n stop = undefined\n }\n emit('visible-change', newVal)\n }\n )\n\n return {\n // data exports\n inputId,\n collapseTagSize,\n currentPlaceholder,\n expanded,\n emptyText,\n popupHeight,\n debounce,\n allOptions,\n allOptionsValueMap,\n filteredOptions,\n iconComponent,\n iconReverse,\n tagStyle,\n collapseTagStyle,\n popperSize,\n dropdownMenuVisible,\n hasModelValue,\n shouldShowPlaceholder,\n selectDisabled,\n selectSize,\n needStatusIcon,\n showClearBtn,\n states,\n isFocused,\n nsSelect,\n nsInput,\n\n // refs items exports\n inputRef,\n menuRef,\n tagMenuRef,\n tooltipRef,\n tagTooltipRef,\n selectRef,\n wrapperRef,\n selectionRef,\n prefixRef,\n suffixRef,\n collapseItemRef,\n\n popperRef,\n\n validateState,\n validateIcon,\n showTagList,\n collapseTagList,\n\n // methods exports\n debouncedOnInputChange,\n deleteTag,\n getLabel,\n getValue,\n getDisabled,\n getValueKey,\n getIndex,\n handleClear,\n handleClickOutside,\n handleDel,\n handleEsc,\n focus,\n blur,\n handleMenuEnter,\n handleResize,\n resetSelectionWidth,\n updateTooltip,\n updateTagTooltip,\n updateOptions,\n toggleMenu,\n scrollTo: scrollToItem,\n onInput,\n onKeyboardNavigate,\n onKeyboardSelect,\n onSelect,\n onHover: onHoverOption,\n handleCompositionStart,\n handleCompositionEnd,\n handleCompositionUpdate,\n }\n}\n\nexport default useSelect\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSelect.js","names":["useLocale","useNamespace","useFormItem","useFormItemInputId","useProps","useEmptyValues","useComposition","useFormDisabled","useFocusController","debugWarn","ValidateComponentsMap","escapeStringRegexp","useFormSize","isNumber","MINIMUM_INPUT_WIDTH","isEmpty","useAllowCreate","CHANGE_EVENT","UPDATE_MODEL_EVENT","getEventCode","EVENT_CODE","isUndefined"],"sources":["../../../../../../packages/components/select-v2/src/useSelect.ts"],"sourcesContent":["import {\n computed,\n nextTick,\n onMounted,\n reactive,\n ref,\n useSlots,\n watch,\n watchEffect,\n} from 'vue'\nimport { findLastIndex, get, isEqual } from 'lodash-unified'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport {\n ValidateComponentsMap,\n debugWarn,\n escapeStringRegexp,\n getEventCode,\n isArray,\n isEmpty,\n isFunction,\n isNumber,\n isObject,\n isUndefined,\n} from '@element-plus/utils'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n MINIMUM_INPUT_WIDTH,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { useAllowCreate } from './useAllowCreate'\nimport { useProps } from './useProps'\n\nimport type { Option, OptionType, SelectStates } from './select.types'\nimport type { SelectV2Props } from './token'\nimport type { SelectV2EmitFn } from './defaults'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { SelectDropdownInstance } from './select-dropdown'\n\nconst useSelect = (props: SelectV2Props, emit: SelectV2EmitFn) => {\n // inject\n const { t } = useLocale()\n const slots = useSlots()\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n const { form: elForm, formItem: elFormItem } = useFormItem()\n const { inputId } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n })\n const { aliasProps, getLabel, getValue, getDisabled, getOptions } =\n useProps(props)\n const { valueOnClear, isEmptyValue } = useEmptyValues(props)\n\n const states: SelectStates = reactive({\n inputValue: '',\n cachedOptions: [],\n createdOptions: [],\n hoveringIndex: -1,\n inputHovering: false,\n selectionWidth: 0,\n collapseItemWidth: 0,\n previousQuery: null,\n previousValue: undefined,\n selectedLabel: '',\n menuVisibleOnFocus: false,\n isBeforeHide: false,\n })\n\n // data refs\n const popperSize = ref(-1)\n const debouncing = ref(false)\n\n // DOM & Component refs\n const selectRef = ref<HTMLElement>()\n const selectionRef = ref<HTMLElement>()\n const tooltipRef = ref<TooltipInstance>()\n const tagTooltipRef = ref<TooltipInstance>()\n const inputRef = ref<HTMLElement>()\n const prefixRef = ref<HTMLElement>()\n const suffixRef = ref<HTMLElement>()\n const menuRef = ref<SelectDropdownInstance>()\n const tagMenuRef = ref<HTMLElement>()\n const collapseItemRef = ref<HTMLElement>()\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionEnd,\n handleCompositionUpdate,\n } = useComposition({\n afterComposition: (e) => onInput(e),\n })\n\n const selectDisabled = useFormDisabled()\n\n const { wrapperRef, isFocused, handleBlur } = useFocusController(inputRef, {\n disabled: selectDisabled,\n afterFocus() {\n if (props.automaticDropdown && !expanded.value) {\n expanded.value = true\n states.menuVisibleOnFocus = true\n }\n },\n beforeBlur(event) {\n return (\n tooltipRef.value?.isFocusInsideContent(event) ||\n tagTooltipRef.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n expanded.value = false\n states.menuVisibleOnFocus = false\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n })\n\n const allOptions = computed(() => filterOptions(''))\n\n const hasOptions = computed(() => {\n if (props.loading) return false\n return props.options.length > 0 || states.createdOptions.length > 0\n })\n\n const filteredOptions = ref<OptionType[]>([])\n // the controller of the expanded popup\n const expanded = ref(false)\n\n const needStatusIcon = computed(() => elForm?.statusIcon ?? false)\n\n const popupHeight = computed(() => {\n const totalHeight = filteredOptions.value.length * props.itemHeight\n return totalHeight > props.height ? props.height : totalHeight\n })\n\n const hasModelValue = computed(() => {\n return props.multiple\n ? isArray(props.modelValue) && props.modelValue.length > 0\n : !isEmptyValue(props.modelValue)\n })\n\n const showClearBtn = computed(() => {\n return (\n props.clearable &&\n !selectDisabled.value &&\n hasModelValue.value &&\n (isFocused.value || states.inputHovering)\n )\n })\n\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n\n const iconReverse = computed(\n () => iconComponent.value && nsSelect.is('reverse', expanded.value)\n )\n\n const validateState = computed(() => elFormItem?.validateState || '')\n const validateIcon = computed(() => {\n // When we use indexed access to get the type of an undeclared property,\n // the unsafe type `any` will be inferred, which TypeScript throws an error to emphasize it.\n // To avoid TypeScript complaining about it, we use truthiness narrowing to narrow the type of validateState.\n if (!validateState.value) return\n return ValidateComponentsMap[validateState.value]\n })\n\n const debounce = computed(() => (props.remote ? props.debounce : 0))\n\n const isRemoteSearchEmpty = computed(\n () => props.remote && !states.inputValue && !hasOptions.value\n )\n\n // filteredOptions includes flatten the data into one dimensional array.\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (\n props.filterable &&\n states.inputValue &&\n hasOptions.value &&\n filteredOptions.value.length === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (!hasOptions.value) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const isFilterMethodValid = computed(\n () => props.filterable && isFunction(props.filterMethod)\n )\n const isRemoteMethodValid = computed(\n () => props.filterable && props.remote && isFunction(props.remoteMethod)\n )\n\n const filterOptions = (query: string) => {\n const regexp = new RegExp(escapeStringRegexp(query), 'i')\n\n const isValidOption = (o: Option): boolean => {\n if (isFilterMethodValid.value || isRemoteMethodValid.value) return true\n // when query was given, we should test on the label see whether the label contains the given query\n return query ? regexp.test(getLabel(o) || '') : true\n }\n if (props.loading) {\n return []\n }\n\n return [...states.createdOptions, ...props.options].reduce((all, item) => {\n const options = getOptions(item)\n\n if (isArray(options)) {\n const filtered = options.filter(isValidOption)\n\n if (filtered.length > 0) {\n all.push(\n {\n label: getLabel(item),\n type: 'Group',\n },\n ...filtered\n )\n }\n } else if (props.remote || isValidOption(item)) {\n all.push(item)\n }\n\n return all\n }, []) as OptionType[]\n }\n\n const updateOptions = () => {\n filteredOptions.value = filterOptions(states.inputValue)\n }\n\n const allOptionsValueMap = computed(() => {\n const valueMap = new Map()\n\n allOptions.value.forEach((option, index) => {\n valueMap.set(getValueKey(getValue(option)), { option, index })\n })\n return valueMap\n })\n\n const filteredOptionsValueMap = computed(() => {\n const valueMap = new Map()\n\n filteredOptions.value.forEach((option, index) => {\n valueMap.set(getValueKey(getValue(option)), { option, index })\n })\n return valueMap\n })\n\n const optionsAllDisabled = computed(() =>\n filteredOptions.value.every((option) => getDisabled(option))\n )\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n 'small' === selectSize.value ? 'small' : 'default'\n )\n\n const calculatePopperSize = () => {\n if (isNumber(props.fitInputWidth)) {\n popperSize.value = props.fitInputWidth\n return\n }\n const width = selectRef.value?.offsetWidth || 200\n if (!props.fitInputWidth && hasOptions.value) {\n nextTick(() => {\n popperSize.value = Math.max(width, calculateLabelMaxWidth())\n })\n } else {\n popperSize.value = width\n }\n }\n\n // TODO Caching implementation\n // 1. There is no need to calculate options that have already been calculated\n // 2. Repeatedly expand and close when persistent is set to false, no need for repeated calculations\n const calculateLabelMaxWidth = () => {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n const selector = nsSelect.be('dropdown', 'item')\n const dom = menuRef.value?.listRef?.innerRef || document\n const dropdownItemEl = dom.querySelector(`.${selector}`)\n if (dropdownItemEl === null || ctx === null) return 0\n const style = getComputedStyle(dropdownItemEl)\n const padding =\n Number.parseFloat(style.paddingLeft) +\n Number.parseFloat(style.paddingRight)\n ctx.font = `bold ${style.font.replace(\n new RegExp(`\\\\b${style.fontWeight}\\\\b`),\n ''\n )}`\n const maxWidth = filteredOptions.value.reduce((max, option) => {\n const metrics = ctx.measureText(getLabel(option))\n return Math.max(metrics.width, max)\n }, 0)\n return maxWidth + padding\n }\n\n const getGapWidth = () => {\n if (!selectionRef.value) return 0\n const style = window.getComputedStyle(selectionRef.value)\n return Number.parseFloat(style.gap || '6px')\n }\n\n // computed style\n const tagStyle = computed(() => {\n const gapWidth = getGapWidth()\n const inputSlotWidth = props.filterable ? gapWidth + MINIMUM_INPUT_WIDTH : 0\n const maxWidth =\n collapseItemRef.value && props.maxCollapseTags === 1\n ? states.selectionWidth -\n states.collapseItemWidth -\n gapWidth -\n inputSlotWidth\n : states.selectionWidth - inputSlotWidth\n return { maxWidth: `${maxWidth}px` }\n })\n\n const collapseTagStyle = computed(() => {\n return { maxWidth: `${states.selectionWidth}px` }\n })\n\n const shouldShowPlaceholder = computed(() => {\n if (isArray(props.modelValue)) {\n return props.modelValue.length === 0 && !states.inputValue\n }\n\n // when it's not multiple mode, we only determine this flag based on filterable and expanded\n // when filterable flag is true, which means we have input box on the screen\n return props.filterable ? !states.inputValue : true\n })\n\n const currentPlaceholder = computed(() => {\n const _placeholder = props.placeholder ?? t('el.select.placeholder')\n return props.multiple || !hasModelValue.value\n ? _placeholder\n : states.selectedLabel\n })\n\n // this obtains the actual popper DOM element.\n const popperRef = computed(() => tooltipRef.value?.popperRef?.contentRef)\n\n // the index with current value in options\n const indexRef = computed<number>(() => {\n if (props.multiple) {\n const len = (props.modelValue as []).length\n if (\n len > 0 &&\n filteredOptionsValueMap.value.has(props.modelValue[len - 1])\n ) {\n const { index } = filteredOptionsValueMap.value.get(\n props.modelValue[len - 1]\n )\n return index\n }\n } else {\n if (\n !isEmptyValue(props.modelValue) &&\n filteredOptionsValueMap.value.has(props.modelValue)\n ) {\n const { index } = filteredOptionsValueMap.value.get(props.modelValue)\n return index\n }\n }\n return -1\n })\n\n const dropdownMenuVisible = computed({\n get() {\n return (\n expanded.value &&\n (props.loading ||\n !isRemoteSearchEmpty.value ||\n (props.remote && !!slots.empty)) &&\n (!debouncing.value ||\n !isEmpty(states.previousQuery) ||\n hasOptions.value)\n )\n },\n set(val: boolean) {\n expanded.value = val\n },\n })\n\n const showTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.cachedOptions.slice(0, props.maxCollapseTags)\n : states.cachedOptions\n })\n\n const collapseTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.cachedOptions.slice(props.maxCollapseTags)\n : []\n })\n\n // hooks\n const {\n createNewOption,\n removeNewOption,\n selectNewOption,\n clearAllNewOption,\n } = useAllowCreate(props, states)\n\n // methods\n const toggleMenu = (event?: Event) => {\n if (\n selectDisabled.value ||\n (props.filterable &&\n expanded.value &&\n event &&\n !suffixRef.value?.contains(event.target as Node))\n )\n return\n\n if (states.menuVisibleOnFocus) {\n // controlled by automaticDropdown\n states.menuVisibleOnFocus = false\n } else {\n expanded.value = !expanded.value\n }\n }\n\n const onInputChange = () => {\n if (states.inputValue.length > 0 && !expanded.value) {\n expanded.value = true\n }\n createNewOption(states.inputValue)\n nextTick(() => {\n handleQueryChange(states.inputValue)\n })\n }\n\n const debouncedOnInputChange = useDebounceFn(() => {\n onInputChange()\n debouncing.value = false\n }, debounce)\n\n const handleQueryChange = (val: string) => {\n if (states.previousQuery === val || isComposing.value) {\n return\n }\n states.previousQuery = val\n if (props.filterable && isFunction(props.filterMethod)) {\n props.filterMethod(val)\n } else if (\n props.filterable &&\n props.remote &&\n isFunction(props.remoteMethod)\n ) {\n props.remoteMethod(val)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptions.value.length\n ) {\n nextTick(checkDefaultFirstOption)\n } else {\n nextTick(updateHoveringIndex)\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = filteredOptions.value.filter(\n (n) => !n.disabled && n.type !== 'Group'\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n states.hoveringIndex = getValueIndex(\n filteredOptions.value,\n userCreatedOption || firstOriginOption\n )\n }\n\n const emitChange = (val: any | any[]) => {\n if (!isEqual(props.modelValue, val)) {\n emit(CHANGE_EVENT, val)\n }\n }\n\n const update = (val: any) => {\n emit(UPDATE_MODEL_EVENT, val)\n emitChange(val)\n states.previousValue = props.multiple ? String(val) : val\n\n nextTick(() => {\n if (props.multiple && isArray(props.modelValue)) {\n const cachedOptions = states.cachedOptions.slice()\n const selectedOptions = props.modelValue.map((value) =>\n getOption(value, cachedOptions)\n )\n\n if (!isEqual(states.cachedOptions, selectedOptions)) {\n states.cachedOptions = selectedOptions\n }\n } else {\n initStates(true)\n }\n })\n }\n\n const getValueIndex = (arr: unknown[] = [], value: unknown) => {\n if (!isObject(value)) {\n return arr.indexOf(value)\n }\n const valueKey = props.valueKey\n let index = -1\n arr.some((item, i) => {\n if (get(item, valueKey) === get(value, valueKey)) {\n index = i\n return true\n }\n return false\n })\n return index\n }\n\n const getValueKey = (item: unknown) => {\n return isObject(item) ? get(item, props.valueKey) : item\n }\n\n const handleResize = () => {\n calculatePopperSize()\n }\n\n const resetSelectionWidth = () => {\n states.selectionWidth = Number.parseFloat(\n window.getComputedStyle(selectionRef.value!).width\n )\n }\n\n const resetCollapseItemWidth = () => {\n states.collapseItemWidth =\n collapseItemRef.value!.getBoundingClientRect().width\n }\n\n const updateTooltip = () => {\n tooltipRef.value?.updatePopper?.()\n }\n\n const updateTagTooltip = () => {\n tagTooltipRef.value?.updatePopper?.()\n }\n\n const onSelect = (option: Option) => {\n const optionValue = getValue(option)\n\n if (props.multiple) {\n let selectedOptions = (props.modelValue as any[]).slice()\n\n const index = getValueIndex(selectedOptions, optionValue)\n if (index > -1) {\n selectedOptions = [\n ...selectedOptions.slice(0, index),\n ...selectedOptions.slice(index + 1),\n ]\n states.cachedOptions.splice(index, 1)\n removeNewOption(option)\n } else if (\n props.multipleLimit <= 0 ||\n selectedOptions.length < props.multipleLimit\n ) {\n selectedOptions = [...selectedOptions, optionValue]\n states.cachedOptions.push(option)\n selectNewOption(option)\n }\n update(selectedOptions)\n if (option.created) {\n handleQueryChange('')\n }\n if (props.filterable && (option.created || !props.reserveKeyword)) {\n states.inputValue = ''\n }\n } else {\n states.selectedLabel = getLabel(option)\n !isEqual(props.modelValue, optionValue) && update(optionValue)\n expanded.value = false\n selectNewOption(option)\n if (!option.created) {\n clearAllNewOption()\n }\n }\n focus()\n }\n\n const deleteTag = (event: MouseEvent, option: Option) => {\n let selectedOptions = (props.modelValue as any[]).slice()\n\n const index = getValueIndex(selectedOptions, getValue(option))\n\n if (index > -1 && !selectDisabled.value) {\n selectedOptions = [\n ...(props.modelValue as Array<unknown>).slice(0, index),\n ...(props.modelValue as Array<unknown>).slice(index + 1),\n ]\n states.cachedOptions.splice(index, 1)\n update(selectedOptions)\n emit('remove-tag', getValue(option))\n removeNewOption(option)\n }\n event.stopPropagation()\n focus()\n }\n\n const focus = () => {\n inputRef.value?.focus()\n }\n\n const blur = () => {\n if (expanded.value) {\n expanded.value = false\n nextTick(() => inputRef.value?.blur())\n return\n }\n inputRef.value?.blur()\n }\n\n // keyboard handlers\n const handleEsc = () => {\n if (states.inputValue.length > 0) {\n states.inputValue = ''\n } else {\n expanded.value = false\n }\n }\n\n const getLastNotDisabledIndex = (value: unknown[]) =>\n findLastIndex(\n value,\n (it) =>\n !states.cachedOptions.some(\n (option) => getValue(option) === it && getDisabled(option)\n )\n )\n\n const handleDel = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n if (!props.multiple) return\n if (code === EVENT_CODE.delete) return\n if (states.inputValue.length === 0) {\n e.preventDefault()\n const selected = (props.modelValue as Array<any>).slice()\n const lastNotDisabledIndex = getLastNotDisabledIndex(selected)\n if (lastNotDisabledIndex < 0) return\n const removeTagValue = selected[lastNotDisabledIndex]\n selected.splice(lastNotDisabledIndex, 1)\n const option = states.cachedOptions[lastNotDisabledIndex]\n states.cachedOptions.splice(lastNotDisabledIndex, 1)\n removeNewOption(option)\n update(selected)\n emit('remove-tag', removeTagValue)\n }\n }\n\n const handleClear = () => {\n let emptyValue: string | any[]\n if (isArray(props.modelValue)) {\n emptyValue = []\n } else {\n emptyValue = valueOnClear.value\n }\n\n states.selectedLabel = ''\n\n expanded.value = false\n update(emptyValue)\n emit('clear')\n clearAllNewOption()\n focus()\n }\n\n const onKeyboardNavigate = (\n direction: 'forward' | 'backward',\n hoveringIndex: number | undefined = undefined\n ): void => {\n const options = filteredOptions.value\n if (\n !['forward', 'backward'].includes(direction) ||\n selectDisabled.value ||\n options.length <= 0 ||\n optionsAllDisabled.value ||\n isComposing.value\n ) {\n return\n }\n if (!expanded.value) {\n return toggleMenu()\n }\n if (isUndefined(hoveringIndex)) {\n hoveringIndex = states.hoveringIndex\n }\n let newIndex = -1\n if (direction === 'forward') {\n newIndex = hoveringIndex + 1\n if (newIndex >= options.length) {\n // return to the first option\n newIndex = 0\n }\n } else if (direction === 'backward') {\n newIndex = hoveringIndex - 1\n if (newIndex < 0 || newIndex >= options.length) {\n // navigate to the last one\n newIndex = options.length - 1\n }\n }\n const option = options[newIndex]\n if (getDisabled(option) || option.type === 'Group') {\n // prevent dispatching multiple nextTick callbacks.\n return onKeyboardNavigate(direction, newIndex)\n } else {\n states.hoveringIndex = newIndex\n scrollToItem(newIndex)\n }\n }\n\n const onKeyboardSelect = () => {\n if (!expanded.value) {\n return toggleMenu()\n } else if (\n ~states.hoveringIndex &&\n filteredOptions.value[states.hoveringIndex]\n ) {\n onSelect(filteredOptions.value[states.hoveringIndex])\n }\n }\n\n const onHoverOption = (idx?: number) => {\n states.hoveringIndex = idx ?? -1\n }\n\n const updateHoveringIndex = () => {\n if (!props.multiple) {\n states.hoveringIndex = filteredOptions.value.findIndex((item) => {\n return getValueKey(getValue(item)) === getValueKey(props.modelValue)\n })\n } else {\n const length = props.modelValue.length\n if (length > 0) {\n const lastValue = props.modelValue[length - 1]\n states.hoveringIndex = filteredOptions.value.findIndex(\n (item) => getValueKey(lastValue) === getValueKey(getValue(item))\n )\n } else {\n states.hoveringIndex = -1\n }\n }\n }\n\n const onInput = (event: Event) => {\n states.inputValue = (event.target as HTMLInputElement).value\n if (props.remote) {\n debouncing.value = true\n debouncedOnInputChange()\n } else {\n return onInputChange()\n }\n }\n\n const handleClickOutside = (event: Event) => {\n expanded.value = false\n\n if (isFocused.value) {\n const _event = new FocusEvent('blur', event)\n handleBlur(_event)\n }\n }\n\n const handleMenuEnter = () => {\n states.isBeforeHide = false\n return nextTick(() => {\n if (~indexRef.value) {\n scrollToItem(indexRef.value)\n }\n })\n }\n\n const scrollToItem = (index: number) => {\n menuRef.value!.scrollToItem(index)\n }\n\n const getOption = (value: unknown, cachedOptions?: Option[]) => {\n // match the option with the given value, if not found, create a new option\n const selectValue = getValueKey(value)\n\n if (allOptionsValueMap.value.has(selectValue)) {\n const { option } = allOptionsValueMap.value.get(selectValue)\n\n return option\n }\n if (cachedOptions && cachedOptions.length) {\n const option = cachedOptions.find(\n (option) => getValueKey(getValue(option)) === selectValue\n )\n if (option) {\n return option\n }\n }\n\n return {\n [aliasProps.value.value]: value,\n [aliasProps.value.label]: value,\n }\n }\n\n const getIndex = (option: Option) =>\n allOptionsValueMap.value.get(getValue(option))?.index ?? -1\n\n const initStates = (needUpdateSelectedLabel = false) => {\n if (props.multiple) {\n if ((props.modelValue as Array<any>).length > 0) {\n const cachedOptions = states.cachedOptions.slice()\n states.cachedOptions.length = 0\n states.previousValue = props.modelValue.toString()\n\n for (const value of props.modelValue) {\n const option = getOption(value, cachedOptions)\n states.cachedOptions.push(option)\n }\n } else {\n states.cachedOptions = []\n states.previousValue = undefined\n }\n } else {\n if (hasModelValue.value) {\n states.previousValue = props.modelValue\n const options = filteredOptions.value\n const selectedItemIndex = options.findIndex(\n (option) =>\n getValueKey(getValue(option)) === getValueKey(props.modelValue)\n )\n if (~selectedItemIndex) {\n states.selectedLabel = getLabel(options[selectedItemIndex])\n } else {\n if (!states.selectedLabel || needUpdateSelectedLabel) {\n states.selectedLabel = getValueKey(props.modelValue)\n }\n }\n } else {\n states.selectedLabel = ''\n states.previousValue = undefined\n }\n }\n clearAllNewOption()\n calculatePopperSize()\n }\n\n watch(\n () => props.fitInputWidth,\n () => {\n calculatePopperSize()\n }\n )\n\n // in order to track these individually, we need to turn them into refs instead of watching the entire\n // reactive object which could cause perf penalty when unnecessary field gets changed the watch method will\n // be invoked.\n\n watch(expanded, (val) => {\n if (val) {\n if (!props.persistent) {\n calculatePopperSize()\n }\n handleQueryChange('')\n } else {\n states.inputValue = ''\n states.previousQuery = null\n states.isBeforeHide = true\n states.menuVisibleOnFocus = false\n createNewOption('')\n }\n })\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n const isValEmpty = !val || (isArray(val) && val.length === 0)\n\n if (\n isValEmpty ||\n (props.multiple && !isEqual(val.toString(), states.previousValue)) ||\n (!props.multiple &&\n getValueKey(val) !== getValueKey(states.previousValue))\n ) {\n initStates(true)\n }\n if (!isEqual(val, oldVal) && props.validateEvent) {\n elFormItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n },\n {\n deep: true,\n }\n )\n\n watch(\n () => props.options,\n () => {\n const input = inputRef.value\n // filter or remote-search scenarios are not initialized\n if (!input || (input && document.activeElement !== input)) {\n initStates()\n }\n },\n {\n deep: true,\n flush: 'post',\n }\n )\n\n // fix the problem that scrollTop is not reset in filterable mode\n watch(\n () => filteredOptions.value,\n () => {\n calculatePopperSize()\n return menuRef.value && nextTick(menuRef.value.resetScrollTop)\n }\n )\n\n watchEffect(() => {\n // Anything could cause options changed, then update options\n // If you want to control it by condition, write here\n if (states.isBeforeHide) return\n updateOptions()\n })\n\n watchEffect(() => {\n const { valueKey, options } = props\n const duplicateValue = new Map()\n for (const item of options) {\n const optionValue = getValue(item)\n let v = optionValue\n if (isObject(v)) {\n v = get(optionValue, valueKey)\n }\n if (duplicateValue.get(v)) {\n debugWarn(\n 'ElSelectV2',\n `The option values you provided seem to be duplicated, which may cause some problems, please check.`\n )\n break\n } else {\n duplicateValue.set(v, true)\n }\n }\n })\n\n onMounted(() => {\n initStates()\n })\n useResizeObserver(selectRef, handleResize)\n useResizeObserver(selectionRef, resetSelectionWidth)\n useResizeObserver(wrapperRef, updateTooltip)\n useResizeObserver(tagMenuRef, updateTagTooltip)\n useResizeObserver(collapseItemRef, resetCollapseItemWidth)\n\n // #21498\n let stop: (() => void) | undefined\n watch(\n () => dropdownMenuVisible.value,\n (newVal) => {\n if (newVal) {\n stop = useResizeObserver(menuRef, updateTooltip).stop\n } else {\n stop?.()\n stop = undefined\n }\n emit('visible-change', newVal)\n }\n )\n\n return {\n // data exports\n inputId,\n collapseTagSize,\n currentPlaceholder,\n expanded,\n emptyText,\n popupHeight,\n debounce,\n allOptions,\n allOptionsValueMap,\n filteredOptions,\n iconComponent,\n iconReverse,\n tagStyle,\n collapseTagStyle,\n popperSize,\n dropdownMenuVisible,\n hasModelValue,\n shouldShowPlaceholder,\n selectDisabled,\n selectSize,\n needStatusIcon,\n showClearBtn,\n states,\n isFocused,\n nsSelect,\n nsInput,\n\n // refs items exports\n inputRef,\n menuRef,\n tagMenuRef,\n tooltipRef,\n tagTooltipRef,\n selectRef,\n wrapperRef,\n selectionRef,\n prefixRef,\n suffixRef,\n collapseItemRef,\n\n popperRef,\n\n validateState,\n validateIcon,\n showTagList,\n collapseTagList,\n\n // methods exports\n debouncedOnInputChange,\n deleteTag,\n getLabel,\n getValue,\n getDisabled,\n getValueKey,\n getIndex,\n handleClear,\n handleClickOutside,\n handleDel,\n handleEsc,\n focus,\n blur,\n handleMenuEnter,\n handleResize,\n resetSelectionWidth,\n updateTooltip,\n updateTagTooltip,\n updateOptions,\n toggleMenu,\n scrollTo: scrollToItem,\n onInput,\n onKeyboardNavigate,\n onKeyboardSelect,\n onSelect,\n onHover: onHoverOption,\n handleCompositionStart,\n handleCompositionEnd,\n handleCompositionUpdate,\n }\n}\n\nexport default useSelect\n"],"mappings":"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"}
@@ -14,7 +14,7 @@ interface SkeletonItemProps {
14
14
  * @deprecated Removed after 3.0.0, Use `SkeletonItemProps` instead.
15
15
  */
16
16
  declare const skeletonItemProps: {
17
- readonly variant: EpPropFinalized<StringConstructor, "button" | "text" | "circle" | "caption" | "h1" | "h3" | "p" | "image" | "rect", unknown, "text", boolean>;
17
+ readonly variant: EpPropFinalized<StringConstructor, "button" | "caption" | "h1" | "h3" | "p" | "text" | "circle" | "image" | "rect", unknown, "text", boolean>;
18
18
  };
19
19
  /**
20
20
  * @deprecated Removed after 3.0.0, Use `SkeletonItemProps` instead.
@@ -13,8 +13,8 @@ type __VLS_Slots = {} & {
13
13
  declare const __VLS_base: vue.DefineComponent<SkeletonProps, {
14
14
  /** @description loading state */uiLoading: vue.Ref<boolean, boolean>;
15
15
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<SkeletonProps> & Readonly<{}>, {
16
- loading: boolean;
17
16
  rows: number;
17
+ loading: boolean;
18
18
  count: number;
19
19
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
20
20
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -80,8 +80,8 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
80
80
  }>, {
81
81
  onSliderClick: (event: MouseEvent | TouchEvent) => void;
82
82
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
83
- "update:modelValue": (value: Arrayable<number>) => void;
84
83
  change: (value: Arrayable<number>) => void;
84
+ "update:modelValue": (value: Arrayable<number>) => void;
85
85
  input: (value: Arrayable<number>) => void;
86
86
  }, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
87
87
  readonly ariaLabel: StringConstructor;
@@ -155,20 +155,20 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
155
155
  readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
156
156
  readonly persistent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
157
157
  }>> & Readonly<{
158
- onChange?: ((value: Arrayable<number>) => any) | undefined;
159
158
  onInput?: ((value: Arrayable<number>) => any) | undefined;
159
+ onChange?: ((value: Arrayable<number>) => any) | undefined;
160
160
  "onUpdate:modelValue"?: ((value: Arrayable<number>) => any) | undefined;
161
161
  }>, {
162
- readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
163
162
  readonly modelValue: EpPropMergeType<(new (...args: any[]) => number | number[]) | (() => Arrayable<number>) | (((new (...args: any[]) => number | number[]) | (() => Arrayable<number>)) | null)[], unknown, unknown>;
163
+ readonly placement: EpPropMergeType<StringConstructor, Placement, unknown>;
164
164
  readonly id: string;
165
165
  readonly disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
166
166
  readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
167
- readonly placement: EpPropMergeType<StringConstructor, Placement, unknown>;
168
167
  readonly vertical: boolean;
169
168
  readonly range: boolean;
170
- readonly min: number;
169
+ readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
171
170
  readonly max: number;
171
+ readonly min: number;
172
172
  readonly step: EpPropMergeType<(new (...args: any[]) => number | "mark") | (() => number | "mark") | (((new (...args: any[]) => number | "mark") | (() => number | "mark")) | null)[], unknown, unknown>;
173
173
  readonly showInputControls: EpPropMergeType<BooleanConstructor, unknown, unknown>;
174
174
  readonly showTooltip: EpPropMergeType<BooleanConstructor, unknown, unknown>;