@element-plus/nightly 0.0.20260411 → 0.0.20260413

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 (814) hide show
  1. package/dist/index.full.js +35 -37
  2. package/dist/index.full.min.js +8 -8
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +6 -6
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +35 -37
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lo.js +1 -1
  140. package/dist/locale/lo.min.js +1 -1
  141. package/dist/locale/lo.min.mjs +1 -1
  142. package/dist/locale/lo.mjs +1 -1
  143. package/dist/locale/lt.js +1 -1
  144. package/dist/locale/lt.min.js +1 -1
  145. package/dist/locale/lt.min.mjs +1 -1
  146. package/dist/locale/lt.mjs +1 -1
  147. package/dist/locale/lv.js +1 -1
  148. package/dist/locale/lv.min.js +1 -1
  149. package/dist/locale/lv.min.mjs +1 -1
  150. package/dist/locale/lv.mjs +1 -1
  151. package/dist/locale/mg.js +1 -1
  152. package/dist/locale/mg.min.js +1 -1
  153. package/dist/locale/mg.min.mjs +1 -1
  154. package/dist/locale/mg.mjs +1 -1
  155. package/dist/locale/mn.js +1 -1
  156. package/dist/locale/mn.min.js +1 -1
  157. package/dist/locale/mn.min.mjs +1 -1
  158. package/dist/locale/mn.mjs +1 -1
  159. package/dist/locale/ms.js +1 -1
  160. package/dist/locale/ms.min.js +1 -1
  161. package/dist/locale/ms.min.mjs +1 -1
  162. package/dist/locale/ms.mjs +1 -1
  163. package/dist/locale/my.js +1 -1
  164. package/dist/locale/my.min.js +1 -1
  165. package/dist/locale/my.min.mjs +1 -1
  166. package/dist/locale/my.mjs +1 -1
  167. package/dist/locale/nb-no.js +1 -1
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.mjs +1 -1
  170. package/dist/locale/nb-no.mjs +1 -1
  171. package/dist/locale/nl.js +1 -1
  172. package/dist/locale/nl.min.js +1 -1
  173. package/dist/locale/nl.min.mjs +1 -1
  174. package/dist/locale/nl.mjs +1 -1
  175. package/dist/locale/no.js +1 -1
  176. package/dist/locale/no.min.js +1 -1
  177. package/dist/locale/no.min.mjs +1 -1
  178. package/dist/locale/no.mjs +1 -1
  179. package/dist/locale/pa.js +1 -1
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.mjs +1 -1
  182. package/dist/locale/pa.mjs +1 -1
  183. package/dist/locale/pl.js +1 -1
  184. package/dist/locale/pl.min.js +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +1 -1
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.mjs +1 -1
  190. package/dist/locale/pt-br.mjs +1 -1
  191. package/dist/locale/pt.js +1 -1
  192. package/dist/locale/pt.min.js +1 -1
  193. package/dist/locale/pt.min.mjs +1 -1
  194. package/dist/locale/pt.mjs +1 -1
  195. package/dist/locale/ro.js +1 -1
  196. package/dist/locale/ro.min.js +1 -1
  197. package/dist/locale/ro.min.mjs +1 -1
  198. package/dist/locale/ro.mjs +1 -1
  199. package/dist/locale/ru.js +1 -1
  200. package/dist/locale/ru.min.js +1 -1
  201. package/dist/locale/ru.min.mjs +1 -1
  202. package/dist/locale/ru.mjs +1 -1
  203. package/dist/locale/sk.js +1 -1
  204. package/dist/locale/sk.min.js +1 -1
  205. package/dist/locale/sk.min.mjs +1 -1
  206. package/dist/locale/sk.mjs +1 -1
  207. package/dist/locale/sl.js +1 -1
  208. package/dist/locale/sl.min.js +1 -1
  209. package/dist/locale/sl.min.mjs +1 -1
  210. package/dist/locale/sl.mjs +1 -1
  211. package/dist/locale/sr.js +1 -1
  212. package/dist/locale/sr.min.js +1 -1
  213. package/dist/locale/sr.min.mjs +1 -1
  214. package/dist/locale/sr.mjs +1 -1
  215. package/dist/locale/sv.js +1 -1
  216. package/dist/locale/sv.min.js +1 -1
  217. package/dist/locale/sv.min.mjs +1 -1
  218. package/dist/locale/sv.mjs +1 -1
  219. package/dist/locale/sw.js +1 -1
  220. package/dist/locale/sw.min.js +1 -1
  221. package/dist/locale/sw.min.mjs +1 -1
  222. package/dist/locale/sw.mjs +1 -1
  223. package/dist/locale/ta.js +1 -1
  224. package/dist/locale/ta.min.js +1 -1
  225. package/dist/locale/ta.min.mjs +1 -1
  226. package/dist/locale/ta.mjs +1 -1
  227. package/dist/locale/te.js +1 -1
  228. package/dist/locale/te.min.js +1 -1
  229. package/dist/locale/te.min.mjs +1 -1
  230. package/dist/locale/te.mjs +1 -1
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/components/affix/src/affix.d.ts +1 -1
  276. package/es/components/affix/src/affix.vue.d.ts +3 -3
  277. package/es/components/alert/src/alert.d.ts +1 -1
  278. package/es/components/alert/src/alert.vue.d.ts +1 -1
  279. package/es/components/anchor/src/anchor.d.ts +1 -1
  280. package/es/components/anchor/src/anchor.vue.d.ts +1 -1
  281. package/es/components/autocomplete/src/autocomplete.d.ts +10 -9
  282. package/es/components/autocomplete/src/autocomplete.vue.d.ts +6 -8
  283. package/es/components/avatar/src/avatar-group-props.d.ts +5 -5
  284. package/es/components/avatar/src/avatar-group.d.ts +12 -12
  285. package/es/components/avatar/src/avatar.d.ts +2 -2
  286. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  287. package/es/components/badge/src/badge.vue.d.ts +2 -2
  288. package/es/components/button/src/button-group.vue.d.ts +1 -1
  289. package/es/components/button/src/button.d.ts +3 -3
  290. package/es/components/button/src/button.vue.d.ts +5 -4
  291. package/es/components/calendar/src/calendar.d.ts +1 -1
  292. package/es/components/calendar/src/calendar.vue.d.ts +2 -1
  293. package/es/components/card/src/card.d.ts +1 -1
  294. package/es/components/card/src/card.vue.d.ts +1 -1
  295. package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
  296. package/es/components/carousel/src/carousel.d.ts +2 -2
  297. package/es/components/cascader/src/cascader.d.ts +9 -8
  298. package/es/components/cascader/src/cascader.vue.d.ts +21 -20
  299. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs +3 -3
  300. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  301. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  302. package/es/components/cascader-panel/index.d.ts +1 -1
  303. package/es/components/cascader-panel/src/config.d.ts +1 -0
  304. package/es/components/cascader-panel/src/index.vue.d.ts +26 -25
  305. package/es/components/cascader-panel/src/menu.vue.d.ts +1 -1
  306. package/es/components/checkbox/src/checkbox-button.vue.d.ts +7 -6
  307. package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
  308. package/es/components/checkbox/src/checkbox-group.vue.d.ts +5 -5
  309. package/es/components/checkbox/src/checkbox-group.vue_vue_type_script_setup_true_lang.mjs +2 -2
  310. package/es/components/checkbox/src/checkbox-group.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  311. package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
  312. package/es/components/checkbox/src/checkbox.d.ts +4 -4
  313. package/es/components/checkbox/src/checkbox.vue.d.ts +7 -6
  314. package/es/components/checkbox/src/composables/use-checkbox-event.mjs +2 -2
  315. package/es/components/checkbox/src/composables/use-checkbox-event.mjs.map +1 -1
  316. package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  317. package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  318. package/es/components/col/src/col.vue.d.ts +3 -2
  319. package/es/components/collapse/src/collapse-item.vue.d.ts +1 -1
  320. package/es/components/collapse/src/collapse.d.ts +1 -1
  321. package/es/components/collapse/src/collapse.vue.d.ts +3 -2
  322. package/es/components/color-picker/src/color-picker.d.ts +5 -5
  323. package/es/components/color-picker/src/color-picker.vue.d.ts +9 -9
  324. package/es/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.mjs +4 -4
  325. package/es/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  326. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  327. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +3 -3
  328. package/es/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.mjs +3 -3
  329. package/es/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  330. package/es/components/color-picker-panel/src/color-picker-panel2.mjs.map +1 -1
  331. package/es/components/config-provider/index.d.ts +1 -1
  332. package/es/components/config-provider/src/config-provider-props.d.ts +3 -3
  333. package/es/components/config-provider/src/config-provider.d.ts +4 -4
  334. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -2
  335. package/es/components/date-picker/src/date-picker.d.ts +21 -22
  336. package/es/components/date-picker/src/props.d.ts +7 -8
  337. package/es/components/date-picker-panel/index.d.ts +1 -1
  338. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +2 -3
  339. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -0
  340. package/es/components/descriptions/src/description-item.d.ts +8 -8
  341. package/es/components/descriptions/src/description.d.ts +1 -1
  342. package/es/components/descriptions/src/description.vue.d.ts +2 -2
  343. package/es/components/dialog/src/dialog.vue.d.ts +5 -4
  344. package/es/components/divider/src/divider.d.ts +1 -1
  345. package/es/components/divider/src/divider.vue.d.ts +1 -0
  346. package/es/components/drawer/src/drawer.d.ts +1 -0
  347. package/es/components/drawer/src/drawer.vue.d.ts +14 -14
  348. package/es/components/dropdown/src/dropdown-item.vue.d.ts +4 -4
  349. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  350. package/es/components/dropdown/src/dropdown.d.ts +11 -10
  351. package/es/components/dropdown/src/dropdown.vue.d.ts +79 -83
  352. package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  353. package/es/components/form/index.d.ts +1 -1
  354. package/es/components/form/src/form-item.d.ts +3 -3
  355. package/es/components/form/src/form-item.vue.d.ts +4 -3
  356. package/es/components/form/src/form.d.ts +6 -5
  357. package/es/components/form/src/form.vue.d.ts +1 -1
  358. package/es/components/form/src/form.vue_vue_type_script_setup_true_lang.mjs +2 -1
  359. package/es/components/form/src/form.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  360. package/es/components/form/src/form2.mjs.map +1 -1
  361. package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  362. package/es/components/form/src/hooks/use-form-item.d.ts +1 -0
  363. package/es/components/form/src/types.d.ts +1 -1
  364. package/es/components/form/src/utils.d.ts +1 -1
  365. package/es/components/image/src/image.d.ts +1 -1
  366. package/es/components/image/src/image.vue.d.ts +7 -7
  367. package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  368. package/es/components/index.d.ts +31 -31
  369. package/es/components/input/src/input.d.ts +3 -3
  370. package/es/components/input/src/input.vue.d.ts +18 -17
  371. package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs +2 -2
  372. package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  373. package/es/components/input/src/input2.mjs.map +1 -1
  374. package/es/components/input-number/src/input-number.d.ts +3 -3
  375. package/es/components/input-number/src/input-number.vue.d.ts +9 -9
  376. package/es/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.mjs +3 -2
  377. package/es/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  378. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  379. package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  380. package/es/components/input-tag/src/composables/use-input-tag.mjs +3 -3
  381. package/es/components/input-tag/src/composables/use-input-tag.mjs.map +1 -1
  382. package/es/components/input-tag/src/input-tag.d.ts +3 -3
  383. package/es/components/input-tag/src/input-tag.vue.d.ts +13 -13
  384. package/es/components/link/src/link.d.ts +2 -2
  385. package/es/components/link/src/link.vue.d.ts +1 -1
  386. package/es/components/loading/index.d.ts +1 -0
  387. package/es/components/loading/src/loading.d.ts +1 -0
  388. package/es/components/mention/src/mention.d.ts +10 -9
  389. package/es/components/mention/src/mention.vue.d.ts +6 -8
  390. package/es/components/menu/src/menu.d.ts +9 -9
  391. package/es/components/menu/src/sub-menu.d.ts +1 -1
  392. package/es/components/message/index.d.ts +1 -0
  393. package/es/components/message/src/message.d.ts +2 -2
  394. package/es/components/message/src/message.vue.d.ts +5 -4
  395. package/es/components/message-box/index.d.ts +1 -0
  396. package/es/components/message-box/src/message-box.type.d.ts +1 -1
  397. package/es/components/notification/index.d.ts +1 -0
  398. package/es/components/notification/src/notification.d.ts +1 -1
  399. package/es/components/notification/src/notification.vue.d.ts +5 -4
  400. package/es/components/pagination/src/pagination.d.ts +6 -6
  401. package/es/components/popconfirm/src/popconfirm.d.ts +4 -4
  402. package/es/components/popconfirm/src/popconfirm.vue.d.ts +1 -2
  403. package/es/components/popover/src/popover.d.ts +9 -8
  404. package/es/components/popover/src/popover.vue.d.ts +7 -8
  405. package/es/components/popper/index.d.ts +1 -1
  406. package/es/components/popper/src/composables/use-content-dom.d.ts +2 -2
  407. package/es/components/popper/src/composables/use-content.d.ts +8 -6
  408. package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  409. package/es/components/popper/src/content.d.ts +5 -5
  410. package/es/components/popper/src/content.vue.d.ts +7 -7
  411. package/es/components/popper/src/popper.d.ts +2 -2
  412. package/es/components/popper/src/popper.vue.d.ts +2 -1
  413. package/es/components/popper/src/trigger.vue.d.ts +1 -0
  414. package/es/components/progress/src/progress.vue.d.ts +1 -0
  415. package/es/components/radio/src/radio-button.d.ts +4 -4
  416. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  417. package/es/components/radio/src/radio-group.d.ts +1 -1
  418. package/es/components/radio/src/radio-group.vue.d.ts +6 -5
  419. package/es/components/radio/src/radio-group.vue_vue_type_script_setup_true_lang.mjs +2 -2
  420. package/es/components/radio/src/radio-group.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  421. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  422. package/es/components/radio/src/radio.d.ts +8 -8
  423. package/es/components/radio/src/radio.vue.d.ts +5 -5
  424. package/es/components/rate/src/rate.d.ts +1 -1
  425. package/es/components/rate/src/rate.vue.d.ts +4 -4
  426. package/es/components/result/src/result.d.ts +1 -1
  427. package/es/components/result/src/result.vue.d.ts +1 -1
  428. package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  429. package/es/components/row/src/row.d.ts +2 -2
  430. package/es/components/row/src/row.vue.d.ts +1 -0
  431. package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  432. package/es/components/segmented/index.d.ts +7 -9
  433. package/es/components/segmented/src/segmented.d.ts +2 -2
  434. package/es/components/segmented/src/segmented.vue.d.ts +3 -5
  435. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs +2 -2
  436. package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  437. package/es/components/segmented/src/segmented2.mjs.map +1 -1
  438. package/es/components/select/src/option.d.ts +1 -1
  439. package/es/components/select/src/option.vue.d.ts +3 -2
  440. package/es/components/select/src/select.d.ts +4 -4
  441. package/es/components/select/src/select.vue.d.ts +83 -87
  442. package/es/components/select/src/useSelect.mjs +4 -4
  443. package/es/components/select/src/useSelect.mjs.map +1 -1
  444. package/es/components/select-v2/src/defaults.d.ts +7 -7
  445. package/es/components/select-v2/src/select-dropdown.mjs +2 -4
  446. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  447. package/es/components/select-v2/src/select.vue.d.ts +77 -80
  448. package/es/components/select-v2/src/useSelect.mjs +3 -2
  449. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  450. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  451. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  452. package/es/components/slider/src/button.d.ts +3 -2
  453. package/es/components/slider/src/button.vue.d.ts +2 -2
  454. package/es/components/slider/src/composables/use-slide.d.ts +1 -1
  455. package/es/components/slider/src/composables/use-watch.mjs +4 -3
  456. package/es/components/slider/src/composables/use-watch.mjs.map +1 -1
  457. package/es/components/slider/src/slider.d.ts +5 -4
  458. package/es/components/slider/src/slider.vue.d.ts +11 -11
  459. package/es/components/space/src/space.d.ts +4 -4
  460. package/es/components/steps/src/item.d.ts +1 -1
  461. package/es/components/steps/src/item.vue.d.ts +1 -1
  462. package/es/components/steps/src/steps.d.ts +2 -2
  463. package/es/components/steps/src/steps.vue.d.ts +2 -1
  464. package/es/components/switch/src/switch.d.ts +1 -1
  465. package/es/components/switch/src/switch.vue.d.ts +4 -4
  466. package/es/components/switch/src/switch.vue_vue_type_script_setup_true_lang.mjs +2 -1
  467. package/es/components/switch/src/switch.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  468. package/es/components/switch/src/switch2.mjs.map +1 -1
  469. package/es/components/table/src/store/index.d.ts +2 -2
  470. package/es/components/table/src/store/tree.d.ts +1 -1
  471. package/es/components/table/src/table/defaults.d.ts +1 -1
  472. package/es/components/table/src/table-body/defaults.d.ts +1 -1
  473. package/es/components/table/src/table-column/defaults.d.ts +1 -1
  474. package/es/components/table/src/table-column/index.d.ts +28 -29
  475. package/es/components/table/src/table-footer/index.d.ts +3 -2
  476. package/es/components/table/src/table-header/index.d.ts +29 -31
  477. package/es/components/table/src/table-layout.d.ts +1 -1
  478. package/es/components/table/src/table.vue.d.ts +49 -51
  479. package/es/components/table-v2/index.d.ts +1 -1
  480. package/es/components/table-v2/src/components/row.d.ts +1 -0
  481. package/es/components/table-v2/src/composables/use-row.d.ts +1 -1
  482. package/es/components/table-v2/src/table-grid.d.ts +1 -0
  483. package/es/components/table-v2/src/table-v2.d.ts +1 -1
  484. package/es/components/table-v2/src/table.d.ts +2 -1
  485. package/es/components/table-v2/src/use-table.d.ts +1 -1
  486. package/es/components/tabs/src/tab-bar.d.ts +4 -4
  487. package/es/components/tabs/src/tab-bar.vue.d.ts +1 -0
  488. package/es/components/tabs/src/tab-nav.d.ts +16 -16
  489. package/es/components/tabs/src/tab-pane.vue.d.ts +1 -1
  490. package/es/components/tabs/src/tabs.d.ts +7 -7
  491. package/es/components/tag/src/tag.d.ts +1 -1
  492. package/es/components/tag/src/tag.vue.d.ts +3 -3
  493. package/es/components/text/src/text.d.ts +1 -1
  494. package/es/components/text/src/text.vue.d.ts +1 -1
  495. package/es/components/time-picker/index.d.ts +1 -1
  496. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  497. package/es/components/time-picker/src/common/picker.vue.d.ts +30 -29
  498. package/es/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.mjs +2 -3
  499. package/es/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  500. package/es/components/time-picker/src/common/props.d.ts +6 -6
  501. package/es/components/time-picker/src/time-picker.d.ts +21 -21
  502. package/es/components/time-select/src/time-select.d.ts +2 -2
  503. package/es/components/time-select/src/time-select.vue.d.ts +8 -8
  504. package/es/components/timeline/src/timeline-item.d.ts +2 -2
  505. package/es/components/timeline/src/timeline-item.vue.d.ts +2 -2
  506. package/es/components/tooltip/index.d.ts +1 -1
  507. package/es/components/tooltip/src/content.d.ts +12 -11
  508. package/es/components/tooltip/src/content.vue.d.ts +7 -6
  509. package/es/components/tooltip/src/tooltip.d.ts +16 -16
  510. package/es/components/tooltip/src/tooltip.vue.d.ts +14 -13
  511. package/es/components/tooltip/src/trigger.d.ts +2 -1
  512. package/es/components/tour/src/content.d.ts +2 -2
  513. package/es/components/tour/src/step.d.ts +1 -1
  514. package/es/components/tour/src/step.vue.d.ts +1 -0
  515. package/es/components/tour/src/tour.d.ts +1 -1
  516. package/es/components/tour/src/tour.vue.d.ts +3 -3
  517. package/es/components/transfer/src/transfer-panel.vue.d.ts +2 -4
  518. package/es/components/transfer/src/transfer.vue.d.ts +4 -5
  519. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs +2 -2
  520. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  521. package/es/components/transfer/src/transfer2.mjs.map +1 -1
  522. package/es/components/tree/index.d.ts +1 -1
  523. package/es/components/tree/src/model/useDragNode.d.ts +1 -0
  524. package/es/components/tree/src/tree.d.ts +1 -0
  525. package/es/components/tree/src/tree.vue.d.ts +538 -99
  526. package/es/components/tree-select/src/tree-select.vue.d.ts +33 -35
  527. package/es/components/tree-v2/src/tree.vue.d.ts +2 -3
  528. package/es/components/upload/src/upload-content.d.ts +1 -0
  529. package/es/components/upload/src/upload-content.vue.d.ts +3 -2
  530. package/es/components/upload/src/upload-list.vue.d.ts +1 -0
  531. package/es/components/upload/src/upload.vue.d.ts +4 -3
  532. package/es/components/virtual-list/src/builders/build-grid.d.ts +2 -1
  533. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -1
  534. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +3 -2
  535. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  536. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  537. package/es/hooks/use-floating/index.d.ts +8 -8
  538. package/es/hooks/use-popper/index.d.ts +8 -6
  539. package/es/hooks/use-size/index.d.ts +3 -3
  540. package/es/index.d.ts +31 -31
  541. package/es/utils/vue/vnode.d.ts +4 -4
  542. package/es/version.mjs +1 -1
  543. package/es/version.mjs.map +1 -1
  544. package/lib/components/affix/src/affix.d.ts +1 -1
  545. package/lib/components/affix/src/affix.vue.d.ts +3 -3
  546. package/lib/components/alert/src/alert.d.ts +1 -1
  547. package/lib/components/alert/src/alert.vue.d.ts +1 -1
  548. package/lib/components/anchor/src/anchor.d.ts +1 -1
  549. package/lib/components/anchor/src/anchor.vue.d.ts +1 -1
  550. package/lib/components/autocomplete/src/autocomplete.d.ts +10 -9
  551. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +6 -8
  552. package/lib/components/avatar/src/avatar-group-props.d.ts +5 -5
  553. package/lib/components/avatar/src/avatar-group.d.ts +12 -12
  554. package/lib/components/avatar/src/avatar.d.ts +2 -2
  555. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  556. package/lib/components/badge/src/badge.vue.d.ts +2 -2
  557. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  558. package/lib/components/button/src/button.d.ts +3 -3
  559. package/lib/components/button/src/button.vue.d.ts +5 -4
  560. package/lib/components/calendar/src/calendar.d.ts +1 -1
  561. package/lib/components/calendar/src/calendar.vue.d.ts +2 -1
  562. package/lib/components/card/src/card.d.ts +1 -1
  563. package/lib/components/card/src/card.vue.d.ts +1 -1
  564. package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
  565. package/lib/components/carousel/src/carousel.d.ts +2 -2
  566. package/lib/components/cascader/src/cascader.d.ts +9 -8
  567. package/lib/components/cascader/src/cascader.vue.d.ts +21 -20
  568. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js +2 -3
  569. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  570. package/lib/components/cascader/src/cascader2.js.map +1 -1
  571. package/lib/components/cascader-panel/index.d.ts +1 -1
  572. package/lib/components/cascader-panel/src/config.d.ts +1 -0
  573. package/lib/components/cascader-panel/src/index.vue.d.ts +26 -25
  574. package/lib/components/cascader-panel/src/menu.vue.d.ts +1 -1
  575. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +7 -6
  576. package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
  577. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +5 -5
  578. package/lib/components/checkbox/src/checkbox-group.vue_vue_type_script_setup_true_lang.js +2 -2
  579. package/lib/components/checkbox/src/checkbox-group.vue_vue_type_script_setup_true_lang.js.map +1 -1
  580. package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
  581. package/lib/components/checkbox/src/checkbox.d.ts +4 -4
  582. package/lib/components/checkbox/src/checkbox.vue.d.ts +7 -6
  583. package/lib/components/checkbox/src/composables/use-checkbox-event.js +2 -2
  584. package/lib/components/checkbox/src/composables/use-checkbox-event.js.map +1 -1
  585. package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  586. package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  587. package/lib/components/col/src/col.vue.d.ts +3 -2
  588. package/lib/components/collapse/src/collapse-item.vue.d.ts +1 -1
  589. package/lib/components/collapse/src/collapse.d.ts +1 -1
  590. package/lib/components/collapse/src/collapse.vue.d.ts +3 -2
  591. package/lib/components/color-picker/src/color-picker.d.ts +5 -5
  592. package/lib/components/color-picker/src/color-picker.vue.d.ts +9 -9
  593. package/lib/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.js +4 -4
  594. package/lib/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  595. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  596. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +3 -3
  597. package/lib/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.js +3 -3
  598. package/lib/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  599. package/lib/components/color-picker-panel/src/color-picker-panel2.js.map +1 -1
  600. package/lib/components/config-provider/index.d.ts +1 -1
  601. package/lib/components/config-provider/src/config-provider-props.d.ts +3 -3
  602. package/lib/components/config-provider/src/config-provider.d.ts +4 -4
  603. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -2
  604. package/lib/components/date-picker/src/date-picker.d.ts +21 -22
  605. package/lib/components/date-picker/src/props.d.ts +7 -8
  606. package/lib/components/date-picker-panel/index.d.ts +1 -1
  607. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +2 -3
  608. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -0
  609. package/lib/components/descriptions/src/description-item.d.ts +8 -8
  610. package/lib/components/descriptions/src/description.d.ts +1 -1
  611. package/lib/components/descriptions/src/description.vue.d.ts +2 -2
  612. package/lib/components/dialog/src/dialog.vue.d.ts +5 -4
  613. package/lib/components/divider/src/divider.d.ts +1 -1
  614. package/lib/components/divider/src/divider.vue.d.ts +1 -0
  615. package/lib/components/drawer/src/drawer.d.ts +1 -0
  616. package/lib/components/drawer/src/drawer.vue.d.ts +14 -14
  617. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +4 -4
  618. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  619. package/lib/components/dropdown/src/dropdown.d.ts +11 -10
  620. package/lib/components/dropdown/src/dropdown.vue.d.ts +79 -83
  621. package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  622. package/lib/components/form/index.d.ts +1 -1
  623. package/lib/components/form/src/form-item.d.ts +3 -3
  624. package/lib/components/form/src/form-item.vue.d.ts +4 -3
  625. package/lib/components/form/src/form.d.ts +6 -5
  626. package/lib/components/form/src/form.vue.d.ts +1 -1
  627. package/lib/components/form/src/form.vue_vue_type_script_setup_true_lang.js +1 -1
  628. package/lib/components/form/src/form.vue_vue_type_script_setup_true_lang.js.map +1 -1
  629. package/lib/components/form/src/form2.js.map +1 -1
  630. package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  631. package/lib/components/form/src/hooks/use-form-item.d.ts +1 -0
  632. package/lib/components/form/src/types.d.ts +1 -1
  633. package/lib/components/form/src/utils.d.ts +1 -1
  634. package/lib/components/image/src/image.d.ts +1 -1
  635. package/lib/components/image/src/image.vue.d.ts +7 -7
  636. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  637. package/lib/components/index.d.ts +31 -31
  638. package/lib/components/input/src/input.d.ts +3 -3
  639. package/lib/components/input/src/input.vue.d.ts +18 -17
  640. package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js +2 -2
  641. package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js.map +1 -1
  642. package/lib/components/input/src/input2.js.map +1 -1
  643. package/lib/components/input-number/src/input-number.d.ts +3 -3
  644. package/lib/components/input-number/src/input-number.vue.d.ts +9 -9
  645. package/lib/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.js +2 -2
  646. package/lib/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.js.map +1 -1
  647. package/lib/components/input-number/src/input-number2.js.map +1 -1
  648. package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  649. package/lib/components/input-tag/src/composables/use-input-tag.js +3 -3
  650. package/lib/components/input-tag/src/composables/use-input-tag.js.map +1 -1
  651. package/lib/components/input-tag/src/input-tag.d.ts +3 -3
  652. package/lib/components/input-tag/src/input-tag.vue.d.ts +13 -13
  653. package/lib/components/link/src/link.d.ts +2 -2
  654. package/lib/components/link/src/link.vue.d.ts +1 -1
  655. package/lib/components/loading/index.d.ts +1 -0
  656. package/lib/components/loading/src/loading.d.ts +1 -0
  657. package/lib/components/mention/src/mention.d.ts +10 -9
  658. package/lib/components/mention/src/mention.vue.d.ts +6 -8
  659. package/lib/components/menu/src/menu.d.ts +9 -9
  660. package/lib/components/menu/src/sub-menu.d.ts +1 -1
  661. package/lib/components/message/index.d.ts +1 -0
  662. package/lib/components/message/src/message.d.ts +2 -2
  663. package/lib/components/message/src/message.vue.d.ts +5 -4
  664. package/lib/components/message-box/index.d.ts +1 -0
  665. package/lib/components/message-box/src/message-box.type.d.ts +1 -1
  666. package/lib/components/notification/index.d.ts +1 -0
  667. package/lib/components/notification/src/notification.d.ts +1 -1
  668. package/lib/components/notification/src/notification.vue.d.ts +5 -4
  669. package/lib/components/pagination/src/pagination.d.ts +6 -6
  670. package/lib/components/popconfirm/src/popconfirm.d.ts +4 -4
  671. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +1 -2
  672. package/lib/components/popover/src/popover.d.ts +9 -8
  673. package/lib/components/popover/src/popover.vue.d.ts +7 -8
  674. package/lib/components/popper/index.d.ts +1 -1
  675. package/lib/components/popper/src/composables/use-content-dom.d.ts +2 -2
  676. package/lib/components/popper/src/composables/use-content.d.ts +8 -6
  677. package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  678. package/lib/components/popper/src/content.d.ts +5 -5
  679. package/lib/components/popper/src/content.vue.d.ts +7 -7
  680. package/lib/components/popper/src/popper.d.ts +2 -2
  681. package/lib/components/popper/src/popper.vue.d.ts +2 -1
  682. package/lib/components/popper/src/trigger.vue.d.ts +1 -0
  683. package/lib/components/progress/src/progress.vue.d.ts +1 -0
  684. package/lib/components/radio/src/radio-button.d.ts +4 -4
  685. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  686. package/lib/components/radio/src/radio-group.d.ts +1 -1
  687. package/lib/components/radio/src/radio-group.vue.d.ts +6 -5
  688. package/lib/components/radio/src/radio-group.vue_vue_type_script_setup_true_lang.js +2 -2
  689. package/lib/components/radio/src/radio-group.vue_vue_type_script_setup_true_lang.js.map +1 -1
  690. package/lib/components/radio/src/radio-group2.js.map +1 -1
  691. package/lib/components/radio/src/radio.d.ts +8 -8
  692. package/lib/components/radio/src/radio.vue.d.ts +5 -5
  693. package/lib/components/rate/src/rate.d.ts +1 -1
  694. package/lib/components/rate/src/rate.vue.d.ts +4 -4
  695. package/lib/components/result/src/result.d.ts +1 -1
  696. package/lib/components/result/src/result.vue.d.ts +1 -1
  697. package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  698. package/lib/components/row/src/row.d.ts +2 -2
  699. package/lib/components/row/src/row.vue.d.ts +1 -0
  700. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  701. package/lib/components/segmented/index.d.ts +7 -9
  702. package/lib/components/segmented/src/segmented.d.ts +2 -2
  703. package/lib/components/segmented/src/segmented.vue.d.ts +3 -5
  704. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js +1 -2
  705. package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
  706. package/lib/components/segmented/src/segmented2.js.map +1 -1
  707. package/lib/components/select/src/option.d.ts +1 -1
  708. package/lib/components/select/src/option.vue.d.ts +3 -2
  709. package/lib/components/select/src/select.d.ts +4 -4
  710. package/lib/components/select/src/select.vue.d.ts +83 -87
  711. package/lib/components/select/src/useSelect.js +3 -4
  712. package/lib/components/select/src/useSelect.js.map +1 -1
  713. package/lib/components/select-v2/src/defaults.d.ts +7 -7
  714. package/lib/components/select-v2/src/select-dropdown.js +2 -4
  715. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  716. package/lib/components/select-v2/src/select.vue.d.ts +77 -80
  717. package/lib/components/select-v2/src/useSelect.js +2 -2
  718. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  719. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  720. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  721. package/lib/components/slider/src/button.d.ts +3 -2
  722. package/lib/components/slider/src/button.vue.d.ts +2 -2
  723. package/lib/components/slider/src/composables/use-slide.d.ts +1 -1
  724. package/lib/components/slider/src/composables/use-watch.js +2 -2
  725. package/lib/components/slider/src/composables/use-watch.js.map +1 -1
  726. package/lib/components/slider/src/slider.d.ts +5 -4
  727. package/lib/components/slider/src/slider.vue.d.ts +11 -11
  728. package/lib/components/space/src/space.d.ts +4 -4
  729. package/lib/components/steps/src/item.d.ts +1 -1
  730. package/lib/components/steps/src/item.vue.d.ts +1 -1
  731. package/lib/components/steps/src/steps.d.ts +2 -2
  732. package/lib/components/steps/src/steps.vue.d.ts +2 -1
  733. package/lib/components/switch/src/switch.d.ts +1 -1
  734. package/lib/components/switch/src/switch.vue.d.ts +4 -4
  735. package/lib/components/switch/src/switch.vue_vue_type_script_setup_true_lang.js +1 -1
  736. package/lib/components/switch/src/switch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  737. package/lib/components/switch/src/switch2.js.map +1 -1
  738. package/lib/components/table/src/store/index.d.ts +2 -2
  739. package/lib/components/table/src/store/tree.d.ts +1 -1
  740. package/lib/components/table/src/table/defaults.d.ts +1 -1
  741. package/lib/components/table/src/table-body/defaults.d.ts +1 -1
  742. package/lib/components/table/src/table-column/defaults.d.ts +1 -1
  743. package/lib/components/table/src/table-column/index.d.ts +28 -29
  744. package/lib/components/table/src/table-footer/index.d.ts +3 -2
  745. package/lib/components/table/src/table-header/index.d.ts +29 -31
  746. package/lib/components/table/src/table-layout.d.ts +1 -1
  747. package/lib/components/table/src/table.vue.d.ts +49 -51
  748. package/lib/components/table-v2/index.d.ts +1 -1
  749. package/lib/components/table-v2/src/components/row.d.ts +1 -0
  750. package/lib/components/table-v2/src/composables/use-row.d.ts +1 -1
  751. package/lib/components/table-v2/src/table-grid.d.ts +1 -0
  752. package/lib/components/table-v2/src/table-v2.d.ts +1 -1
  753. package/lib/components/table-v2/src/table.d.ts +2 -1
  754. package/lib/components/table-v2/src/use-table.d.ts +1 -1
  755. package/lib/components/tabs/src/tab-bar.d.ts +4 -4
  756. package/lib/components/tabs/src/tab-bar.vue.d.ts +1 -0
  757. package/lib/components/tabs/src/tab-nav.d.ts +16 -16
  758. package/lib/components/tabs/src/tab-pane.vue.d.ts +1 -1
  759. package/lib/components/tabs/src/tabs.d.ts +7 -7
  760. package/lib/components/tag/src/tag.d.ts +1 -1
  761. package/lib/components/tag/src/tag.vue.d.ts +3 -3
  762. package/lib/components/text/src/text.d.ts +1 -1
  763. package/lib/components/text/src/text.vue.d.ts +1 -1
  764. package/lib/components/time-picker/index.d.ts +1 -1
  765. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  766. package/lib/components/time-picker/src/common/picker.vue.d.ts +30 -29
  767. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.js +2 -3
  768. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  769. package/lib/components/time-picker/src/common/props.d.ts +6 -6
  770. package/lib/components/time-picker/src/time-picker.d.ts +21 -21
  771. package/lib/components/time-select/src/time-select.d.ts +2 -2
  772. package/lib/components/time-select/src/time-select.vue.d.ts +8 -8
  773. package/lib/components/timeline/src/timeline-item.d.ts +2 -2
  774. package/lib/components/timeline/src/timeline-item.vue.d.ts +2 -2
  775. package/lib/components/tooltip/index.d.ts +1 -1
  776. package/lib/components/tooltip/src/content.d.ts +12 -11
  777. package/lib/components/tooltip/src/content.vue.d.ts +7 -6
  778. package/lib/components/tooltip/src/tooltip.d.ts +16 -16
  779. package/lib/components/tooltip/src/tooltip.vue.d.ts +14 -13
  780. package/lib/components/tooltip/src/trigger.d.ts +2 -1
  781. package/lib/components/tour/src/content.d.ts +2 -2
  782. package/lib/components/tour/src/step.d.ts +1 -1
  783. package/lib/components/tour/src/step.vue.d.ts +1 -0
  784. package/lib/components/tour/src/tour.d.ts +1 -1
  785. package/lib/components/tour/src/tour.vue.d.ts +3 -3
  786. package/lib/components/transfer/src/transfer-panel.vue.d.ts +2 -4
  787. package/lib/components/transfer/src/transfer.vue.d.ts +4 -5
  788. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js +2 -2
  789. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  790. package/lib/components/transfer/src/transfer2.js.map +1 -1
  791. package/lib/components/tree/index.d.ts +1 -1
  792. package/lib/components/tree/src/model/useDragNode.d.ts +1 -0
  793. package/lib/components/tree/src/tree.d.ts +1 -0
  794. package/lib/components/tree/src/tree.vue.d.ts +538 -99
  795. package/lib/components/tree-select/src/tree-select.vue.d.ts +33 -35
  796. package/lib/components/tree-v2/src/tree.vue.d.ts +2 -3
  797. package/lib/components/upload/src/upload-content.d.ts +1 -0
  798. package/lib/components/upload/src/upload-content.vue.d.ts +3 -2
  799. package/lib/components/upload/src/upload-list.vue.d.ts +1 -0
  800. package/lib/components/upload/src/upload.vue.d.ts +4 -3
  801. package/lib/components/virtual-list/src/builders/build-grid.d.ts +2 -1
  802. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -1
  803. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +3 -2
  804. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  805. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  806. package/lib/hooks/use-floating/index.d.ts +8 -8
  807. package/lib/hooks/use-popper/index.d.ts +8 -6
  808. package/lib/hooks/use-size/index.d.ts +3 -3
  809. package/lib/index.d.ts +31 -31
  810. package/lib/utils/vue/vnode.d.ts +4 -4
  811. package/lib/version.js +1 -1
  812. package/lib/version.js.map +1 -1
  813. package/package.json +2 -2
  814. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useSelect.js","names":["useLocale","useId","useNamespace","useFormItem","useFormItemInputId","useEmptyValues","useComposition","useFormDisabled","useFocusController","debugWarn","ValidateComponentsMap","useFormSize","isEmpty","isUndefined","isIOS","isClient","isNumber","CHANGE_EVENT","getEventCode","EVENT_CODE","UPDATE_MODEL_EVENT","MINIMUM_INPUT_WIDTH"],"sources":["../../../../../../packages/components/select/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 { clamp, findLastIndex, get, isEqual, isNil } from 'lodash-unified'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport {\n ValidateComponentsMap,\n debugWarn,\n ensureArray,\n getEventCode,\n isArray,\n isClient,\n isEmpty,\n isFunction,\n isIOS,\n isNumber,\n isObject,\n isPlainObject,\n isUndefined,\n scrollIntoView,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n MINIMUM_INPUT_WIDTH,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useId,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\n\nimport type { Component } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { SelectEmits, SelectProps } from './select'\nimport type {\n OptionBasic,\n OptionPublicInstance,\n OptionValue,\n SelectStates,\n} from './type'\n\nexport const useSelect = (props: SelectProps, emit: SelectEmits) => {\n const { t } = useLocale()\n const slots = useSlots()\n const contentId = useId()\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n\n const states = reactive<SelectStates>({\n inputValue: '',\n options: new Map(),\n cachedOptions: new Map(),\n optionValues: [], // sorted value of options\n selected: [],\n selectionWidth: 0,\n collapseItemWidth: 0,\n selectedLabel: '',\n hoveringIndex: -1,\n previousQuery: null,\n inputHovering: false,\n menuVisibleOnFocus: false,\n isBeforeHide: false,\n })\n\n // template 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<HTMLInputElement>()\n const prefixRef = ref<HTMLElement>()\n const suffixRef = ref<HTMLElement>()\n const menuRef = ref<HTMLElement>()\n const tagMenuRef = ref<HTMLElement>()\n const collapseItemRef = ref<HTMLElement>()\n const scrollbarRef = ref<ScrollbarInstance>()\n // the controller of the expanded popup\n const expanded = ref(false)\n const hoverOption = ref()\n const debouncing = ref(false)\n\n const { form, formItem } = useFormItem()\n const { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n })\n const { valueOnClear, isEmptyValue } = useEmptyValues(props)\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\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 formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n })\n\n const hasModelValue = computed(() => {\n return isArray(props.modelValue)\n ? props.modelValue.length > 0\n : !isEmptyValue(props.modelValue)\n })\n\n const needStatusIcon = computed(() => form?.statusIcon ?? false)\n\n const showClearBtn = computed(() => {\n return (\n props.clearable &&\n !selectDisabled.value &&\n hasModelValue.value &&\n (isFocused.value || states.inputHovering)\n )\n })\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n const iconReverse = computed(() =>\n nsSelect.is('reverse', !!(iconComponent.value && expanded.value))\n )\n\n const validateState = computed(() => formItem?.validateState || '')\n const validateIcon = computed(\n () =>\n validateState.value &&\n (ValidateComponentsMap[validateState.value] as Component)\n )\n\n const debounce = computed(() => (props.remote ? props.debounce : 0))\n\n const isRemoteSearchEmpty = computed(\n () => props.remote && !states.inputValue && states.options.size === 0\n )\n\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 states.options.size > 0 &&\n filteredOptionsCount.value === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (states.options.size === 0) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const filteredOptionsCount = computed(\n () => optionsArray.value.filter((option) => option.visible).length\n )\n\n const optionsArray = computed(() => {\n const list = Array.from(states.options.values())\n const newList: OptionPublicInstance[] = []\n states.optionValues.forEach((item) => {\n const index = list.findIndex((i) => i.value === item)\n if (index > -1) {\n newList.push(list[index])\n }\n })\n return newList.length >= list.length ? newList : list\n })\n\n const cachedOptionsArray = computed(() =>\n Array.from(states.cachedOptions.values())\n )\n\n const showNewOption = computed(() => {\n const hasExistingOption = optionsArray.value\n .filter((option) => {\n return !option.created\n })\n .some((option) => {\n return option.currentLabel === states.inputValue\n })\n return (\n props.filterable &&\n props.allowCreate &&\n states.inputValue !== '' &&\n !hasExistingOption\n )\n })\n\n const updateOptions = () => {\n if (props.filterable && isFunction(props.filterMethod)) return\n if (props.filterable && props.remote && isFunction(props.remoteMethod))\n return\n optionsArray.value.forEach((option) => {\n option.updateOption?.(states.inputValue)\n })\n }\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n ['small'].includes(selectSize.value) ? 'small' : 'default'\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 states.options.size > 0)\n )\n },\n set(val: boolean) {\n expanded.value = val\n },\n })\n\n const shouldShowPlaceholder = computed(() => {\n if (props.multiple && !isUndefined(props.modelValue)) {\n return ensureArray(props.modelValue).length === 0 && !states.inputValue\n }\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n return props.filterable || isUndefined(value) ? !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 // iOS Safari does not handle click events when a mouseenter event is registered and a DOM-change happens in a child\n // We use a Vue custom event binding to only register the event on non-iOS devices\n // ref.: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n // Github Issue: https://github.com/vuejs/vue/issues/9859\n const mouseEnterEventName = computed(() => (isIOS ? null : 'mouseenter'))\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (props.multiple) {\n if (props.filterable && !props.reserveKeyword) {\n states.inputValue = ''\n handleQueryChange('')\n }\n }\n setSelected()\n if (!isEqual(val, oldVal) && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n {\n flush: 'post',\n deep: true,\n }\n )\n\n watch(\n () => expanded.value,\n (val) => {\n if (val) {\n handleQueryChange(states.inputValue)\n } else {\n states.inputValue = ''\n states.previousQuery = null\n states.isBeforeHide = true\n states.menuVisibleOnFocus = false\n }\n }\n )\n\n watch(\n // fix `Array.prototype.push/splice/..` cannot trigger non-deep watcher\n // https://github.com/vuejs/vue-next/issues/2116\n () => states.options.entries(),\n () => {\n if (!isClient) return\n // tooltipRef.value?.updatePopper?.()\n setSelected()\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptionsCount.value\n ) {\n checkDefaultFirstOption()\n }\n },\n {\n flush: 'post',\n }\n )\n\n watch([() => states.hoveringIndex, optionsArray], ([val]) => {\n if (isNumber(val) && val > -1) {\n hoverOption.value = optionsArray.value[val] || {}\n } else {\n hoverOption.value = {}\n }\n optionsArray.value.forEach((option) => {\n option.hover = hoverOption.value === option\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 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 filteredOptionsCount.value\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 = optionsArray.value.filter(\n (n) => n.visible && !n.disabled && !n.states.groupDisabled\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n const valueList = optionsArray.value.map((item) => item.value)\n states.hoveringIndex = getValueIndex(\n valueList,\n userCreatedOption || firstOriginOption\n )\n }\n\n const setSelected = () => {\n if (!props.multiple) {\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n const option = getOption(value)\n states.selectedLabel = option.currentLabel\n states.selected = [option]\n return\n } else {\n states.selectedLabel = ''\n }\n const result: SelectStates['selected'] = []\n if (!isUndefined(props.modelValue)) {\n ensureArray(props.modelValue).forEach((value) => {\n result.push(getOption(value))\n })\n }\n states.selected = result\n }\n\n const getOption = (value: OptionValue) => {\n let option\n const isObjectValue = isPlainObject(value)\n\n for (let i = states.cachedOptions.size - 1; i >= 0; i--) {\n const cachedOption = cachedOptionsArray.value[i]\n const isEqualValue = isObjectValue\n ? get(cachedOption.value, props.valueKey) === get(value, props.valueKey)\n : cachedOption.value === value\n if (isEqualValue) {\n option = {\n index: optionsArray.value\n .filter((opt) => !opt.created)\n .indexOf(cachedOption),\n value,\n currentLabel: cachedOption.currentLabel,\n get isDisabled() {\n return cachedOption.isDisabled\n },\n }\n break\n }\n }\n if (option) return option\n const label = isObjectValue ? value.label : (value ?? '')\n const newOption = {\n index: -1,\n value,\n currentLabel: label,\n }\n return newOption\n }\n\n const updateHoveringIndex = () => {\n const length = states.selected.length\n if (length > 0) {\n const lastOption = states.selected[length - 1]\n states.hoveringIndex = optionsArray.value.findIndex(\n (item) => getValueKey(lastOption) === getValueKey(item)\n )\n } else {\n states.hoveringIndex = -1\n }\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 onInputChange = () => {\n if (states.inputValue.length > 0 && !expanded.value) {\n expanded.value = true\n }\n handleQueryChange(states.inputValue)\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 debouncedOnInputChange = useDebounceFn(() => {\n onInputChange()\n debouncing.value = false\n }, debounce)\n\n const emitChange = (val: OptionValue | OptionValue[]) => {\n if (!isEqual(props.modelValue, val)) {\n emit(CHANGE_EVENT, val)\n }\n }\n\n const getLastNotDisabledIndex = (value: OptionValue[]) =>\n findLastIndex(value, (it) => {\n const option = states.cachedOptions.get(it)\n return !option?.disabled && !option?.states.groupDisabled\n })\n\n const deletePrevTag = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n if (!props.multiple) return\n if (code === EVENT_CODE.delete) return\n if ((e.target as HTMLInputElement).value.length <= 0) {\n const value = ensureArray(props.modelValue).slice()\n const lastNotDisabledIndex = getLastNotDisabledIndex(value)\n if (lastNotDisabledIndex < 0) return\n const removeTagValue = value[lastNotDisabledIndex]\n value.splice(lastNotDisabledIndex, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', removeTagValue)\n }\n }\n\n const deleteTag = (event: MouseEvent, tag: OptionBasic) => {\n const index = states.selected.indexOf(tag)\n if (index > -1 && !selectDisabled.value) {\n const value = ensureArray(props.modelValue).slice()\n value.splice(index, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', tag.value)\n }\n event.stopPropagation()\n focus()\n }\n\n const deleteSelected = (event: Event) => {\n event.stopPropagation()\n const value = props.multiple ? [] : valueOnClear.value\n if (props.multiple) {\n for (const item of states.selected) {\n if (item.isDisabled) value.push(item.value)\n }\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n states.hoveringIndex = -1\n expanded.value = false\n emit('clear')\n focus()\n }\n\n const handleOptionSelect = (option: OptionPublicInstance) => {\n if (props.multiple) {\n const value = ensureArray(props.modelValue ?? []).slice()\n const optionIndex = getValueIndex(value, option)\n if (optionIndex > -1) {\n value.splice(optionIndex, 1)\n } else if (\n props.multipleLimit <= 0 ||\n value.length < props.multipleLimit\n ) {\n value.push(option.value)\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n if (option.created) {\n handleQueryChange('')\n }\n if (props.filterable && (option.created || !props.reserveKeyword)) {\n states.inputValue = ''\n }\n } else {\n !isEqual(props.modelValue, option.value) &&\n emit(UPDATE_MODEL_EVENT, option.value)\n emitChange(option.value)\n expanded.value = false\n }\n focus()\n if (expanded.value) return\n nextTick(() => {\n scrollToOption(option)\n })\n }\n\n const getValueIndex = (arr: OptionValue[], option: OptionPublicInstance) => {\n if (isUndefined(option)) return -1\n if (!isObject(option.value)) return arr.indexOf(option.value)\n\n return arr.findIndex((item) => {\n return isEqual(get(item, props.valueKey), getValueKey(option))\n })\n }\n\n const scrollToOption = (\n option:\n | OptionPublicInstance\n | OptionPublicInstance[]\n | SelectStates['selected']\n ) => {\n const targetOption = isArray(option) ? option[option.length - 1] : option\n let target = null\n\n if (!isNil(targetOption?.value)) {\n const options = optionsArray.value.filter(\n (item) => item.value === targetOption.value\n )\n if (options.length > 0) {\n target = options[0].$el\n }\n }\n\n if (tooltipRef.value && target) {\n const menu = tooltipRef.value?.popperRef?.contentRef?.querySelector?.(\n `.${nsSelect.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbarRef.value?.handleScroll()\n }\n\n const onOptionCreate = (vm: OptionPublicInstance) => {\n states.options.set(vm.value, vm)\n states.cachedOptions.set(vm.value, vm)\n }\n\n const onOptionDestroy = (key: OptionValue, vm: OptionPublicInstance) => {\n if (states.options.get(key) === vm) {\n states.options.delete(key)\n }\n }\n\n const popperRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const handleMenuEnter = () => {\n states.isBeforeHide = false\n nextTick(() => {\n scrollbarRef.value?.update()\n scrollToOption(states.selected)\n })\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 const handleClearClick = (event: Event) => {\n deleteSelected(event)\n }\n\n const handleClickOutside = (event: Event) => {\n expanded.value = false\n\n if (isFocused.value) {\n const _event = new FocusEvent('blur', event)\n nextTick(() => handleBlur(_event))\n }\n }\n\n const handleEsc = () => {\n if (states.inputValue.length > 0) {\n states.inputValue = ''\n } else {\n expanded.value = false\n }\n }\n\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 // We only set the inputHovering state to true on mouseenter event on iOS devices\n // To keep the state updated we set it here to true\n if (isIOS) states.inputHovering = true\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 selectOption = () => {\n if (!expanded.value) {\n toggleMenu()\n } else {\n const option = optionsArray.value[states.hoveringIndex]\n if (option && !option.isDisabled) {\n handleOptionSelect(option)\n }\n }\n }\n\n const getValueKey = (\n item: OptionPublicInstance | SelectStates['selected'][0]\n ) => {\n return isObject(item.value) ? get(item.value, props.valueKey) : item.value\n }\n\n const optionsAllDisabled = computed(() =>\n optionsArray.value\n .filter((option) => option.visible)\n .every((option) => option.isDisabled)\n )\n\n const showTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(0, props.maxCollapseTags)\n : states.selected\n })\n\n const collapseTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(props.maxCollapseTags)\n : []\n })\n\n const navigateOptions = (direction: 'prev' | 'next') => {\n if (!expanded.value) {\n expanded.value = true\n return\n }\n if (\n states.options.size === 0 ||\n filteredOptionsCount.value === 0 ||\n isComposing.value\n )\n return\n\n if (!optionsAllDisabled.value) {\n if (direction === 'next') {\n states.hoveringIndex++\n if (states.hoveringIndex === states.options.size) {\n states.hoveringIndex = 0\n }\n } else if (direction === 'prev') {\n states.hoveringIndex--\n if (states.hoveringIndex < 0) {\n states.hoveringIndex = states.options.size - 1\n }\n }\n const option = optionsArray.value[states.hoveringIndex]\n if (option.isDisabled || !option.visible) {\n navigateOptions(direction)\n }\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const findFocusableIndex = (\n arr: any[],\n start: number,\n step: number,\n len: number\n ) => {\n for (let i = start; i >= 0 && i < len; i += step) {\n const obj = arr[i]\n if (!obj?.isDisabled && obj?.visible) {\n return i\n }\n }\n return null\n }\n\n const focusOption = (targetIndex: number, mode: 'up' | 'down') => {\n const len = states.options.size\n if (len === 0) return\n const start = clamp(targetIndex, 0, len - 1)\n const options = optionsArray.value\n const direction = mode === 'up' ? -1 : 1\n const newIndex =\n findFocusableIndex(options, start, direction, len) ??\n findFocusableIndex(options, start - direction, -direction, len)\n\n if (newIndex != null) {\n states.hoveringIndex = newIndex\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const handleKeydown = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n let isPreventDefault = true\n switch (code) {\n case EVENT_CODE.up:\n navigateOptions('prev')\n break\n case EVENT_CODE.down:\n navigateOptions('next')\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n if (!isComposing.value) {\n selectOption()\n }\n break\n case EVENT_CODE.esc:\n handleEsc()\n break\n case EVENT_CODE.backspace:\n isPreventDefault = false\n deletePrevTag(e)\n return\n case EVENT_CODE.home:\n if (!expanded.value) return\n focusOption(0, 'down')\n break\n case EVENT_CODE.end:\n if (!expanded.value) return\n focusOption(states.options.size - 1, 'up')\n break\n case EVENT_CODE.pageUp:\n if (!expanded.value) return\n focusOption(states.hoveringIndex - 10, 'up')\n break\n case EVENT_CODE.pageDown:\n if (!expanded.value) return\n focusOption(states.hoveringIndex + 10, 'down')\n break\n default:\n isPreventDefault = false\n break\n }\n if (isPreventDefault) {\n e.preventDefault()\n e.stopPropagation()\n }\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 popupScroll = (data: { scrollTop: number; scrollLeft: number }) => {\n emit('popup-scroll', data)\n }\n\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 onMounted(() => {\n setSelected()\n })\n\n return {\n inputId,\n contentId,\n nsSelect,\n nsInput,\n states,\n isFocused,\n expanded,\n optionsArray,\n hoverOption,\n selectSize,\n filteredOptionsCount,\n updateTooltip,\n updateTagTooltip,\n debouncedOnInputChange,\n onInput,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n hasModelValue,\n shouldShowPlaceholder,\n currentPlaceholder,\n mouseEnterEventName,\n needStatusIcon,\n showClearBtn,\n iconComponent,\n iconReverse,\n validateState,\n validateIcon,\n showNewOption,\n updateOptions,\n collapseTagSize,\n setSelected,\n selectDisabled,\n emptyText,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n handleKeydown,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n focus,\n blur,\n handleClearClick,\n handleClickOutside,\n handleEsc,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropdownMenuVisible,\n showTagList,\n collapseTagList,\n popupScroll,\n getOption,\n\n // computed style\n tagStyle,\n collapseTagStyle,\n\n // DOM ref\n popperRef,\n inputRef,\n tooltipRef,\n tagTooltipRef,\n prefixRef,\n suffixRef,\n selectRef,\n wrapperRef,\n selectionRef,\n scrollbarRef,\n menuRef,\n tagMenuRef,\n collapseItemRef,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSelect.js","names":["useLocale","useId","useNamespace","useFormItem","useFormItemInputId","useEmptyValues","useComposition","useFormDisabled","useFocusController","NOOP","ValidateComponentsMap","useFormSize","isEmpty","isUndefined","isIOS","isClient","isNumber","CHANGE_EVENT","getEventCode","EVENT_CODE","UPDATE_MODEL_EVENT","MINIMUM_INPUT_WIDTH"],"sources":["../../../../../../packages/components/select/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 { clamp, findLastIndex, get, isEqual, isNil } from 'lodash-unified'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport {\n NOOP,\n ValidateComponentsMap,\n ensureArray,\n getEventCode,\n isArray,\n isClient,\n isEmpty,\n isFunction,\n isIOS,\n isNumber,\n isObject,\n isPlainObject,\n isUndefined,\n scrollIntoView,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n MINIMUM_INPUT_WIDTH,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useId,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\n\nimport type { Component } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { SelectEmits, SelectProps } from './select'\nimport type {\n OptionBasic,\n OptionPublicInstance,\n OptionValue,\n SelectStates,\n} from './type'\n\nexport const useSelect = (props: SelectProps, emit: SelectEmits) => {\n const { t } = useLocale()\n const slots = useSlots()\n const contentId = useId()\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n\n const states = reactive<SelectStates>({\n inputValue: '',\n options: new Map(),\n cachedOptions: new Map(),\n optionValues: [], // sorted value of options\n selected: [],\n selectionWidth: 0,\n collapseItemWidth: 0,\n selectedLabel: '',\n hoveringIndex: -1,\n previousQuery: null,\n inputHovering: false,\n menuVisibleOnFocus: false,\n isBeforeHide: false,\n })\n\n // template 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<HTMLInputElement>()\n const prefixRef = ref<HTMLElement>()\n const suffixRef = ref<HTMLElement>()\n const menuRef = ref<HTMLElement>()\n const tagMenuRef = ref<HTMLElement>()\n const collapseItemRef = ref<HTMLElement>()\n const scrollbarRef = ref<ScrollbarInstance>()\n // the controller of the expanded popup\n const expanded = ref(false)\n const hoverOption = ref()\n const debouncing = ref(false)\n\n const { form, formItem } = useFormItem()\n const { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n })\n const { valueOnClear, isEmptyValue } = useEmptyValues(props)\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\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 formItem?.validate?.('blur').catch(NOOP)\n }\n },\n })\n\n const hasModelValue = computed(() => {\n return isArray(props.modelValue)\n ? props.modelValue.length > 0\n : !isEmptyValue(props.modelValue)\n })\n\n const needStatusIcon = computed(() => form?.statusIcon ?? false)\n\n const showClearBtn = computed(() => {\n return (\n props.clearable &&\n !selectDisabled.value &&\n hasModelValue.value &&\n (isFocused.value || states.inputHovering)\n )\n })\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n const iconReverse = computed(() =>\n nsSelect.is('reverse', !!(iconComponent.value && expanded.value))\n )\n\n const validateState = computed(() => formItem?.validateState || '')\n const validateIcon = computed(\n () =>\n validateState.value &&\n (ValidateComponentsMap[validateState.value] as Component)\n )\n\n const debounce = computed(() => (props.remote ? props.debounce : 0))\n\n const isRemoteSearchEmpty = computed(\n () => props.remote && !states.inputValue && states.options.size === 0\n )\n\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 states.options.size > 0 &&\n filteredOptionsCount.value === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (states.options.size === 0) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const filteredOptionsCount = computed(\n () => optionsArray.value.filter((option) => option.visible).length\n )\n\n const optionsArray = computed(() => {\n const list = Array.from(states.options.values())\n const newList: OptionPublicInstance[] = []\n states.optionValues.forEach((item) => {\n const index = list.findIndex((i) => i.value === item)\n if (index > -1) {\n newList.push(list[index])\n }\n })\n return newList.length >= list.length ? newList : list\n })\n\n const cachedOptionsArray = computed(() =>\n Array.from(states.cachedOptions.values())\n )\n\n const showNewOption = computed(() => {\n const hasExistingOption = optionsArray.value\n .filter((option) => {\n return !option.created\n })\n .some((option) => {\n return option.currentLabel === states.inputValue\n })\n return (\n props.filterable &&\n props.allowCreate &&\n states.inputValue !== '' &&\n !hasExistingOption\n )\n })\n\n const updateOptions = () => {\n if (props.filterable && isFunction(props.filterMethod)) return\n if (props.filterable && props.remote && isFunction(props.remoteMethod))\n return\n optionsArray.value.forEach((option) => {\n option.updateOption?.(states.inputValue)\n })\n }\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n ['small'].includes(selectSize.value) ? 'small' : 'default'\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 states.options.size > 0)\n )\n },\n set(val: boolean) {\n expanded.value = val\n },\n })\n\n const shouldShowPlaceholder = computed(() => {\n if (props.multiple && !isUndefined(props.modelValue)) {\n return ensureArray(props.modelValue).length === 0 && !states.inputValue\n }\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n return props.filterable || isUndefined(value) ? !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 // iOS Safari does not handle click events when a mouseenter event is registered and a DOM-change happens in a child\n // We use a Vue custom event binding to only register the event on non-iOS devices\n // ref.: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n // Github Issue: https://github.com/vuejs/vue/issues/9859\n const mouseEnterEventName = isIOS ? null : 'mouseenter'\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (props.multiple) {\n if (props.filterable && !props.reserveKeyword) {\n states.inputValue = ''\n handleQueryChange('')\n }\n }\n setSelected()\n if (!isEqual(val, oldVal) && props.validateEvent) {\n formItem?.validate('change').catch(NOOP)\n }\n },\n {\n flush: 'post',\n deep: true,\n }\n )\n\n watch(\n () => expanded.value,\n (val) => {\n if (val) {\n handleQueryChange(states.inputValue)\n } else {\n states.inputValue = ''\n states.previousQuery = null\n states.isBeforeHide = true\n states.menuVisibleOnFocus = false\n }\n }\n )\n\n watch(\n // fix `Array.prototype.push/splice/..` cannot trigger non-deep watcher\n // https://github.com/vuejs/vue-next/issues/2116\n () => states.options.entries(),\n () => {\n if (!isClient) return\n // tooltipRef.value?.updatePopper?.()\n setSelected()\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptionsCount.value\n ) {\n checkDefaultFirstOption()\n }\n },\n {\n flush: 'post',\n }\n )\n\n watch([() => states.hoveringIndex, optionsArray], ([val]) => {\n if (isNumber(val) && val > -1) {\n hoverOption.value = optionsArray.value[val] || {}\n } else {\n hoverOption.value = {}\n }\n optionsArray.value.forEach((option) => {\n option.hover = hoverOption.value === option\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 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 filteredOptionsCount.value\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 = optionsArray.value.filter(\n (n) => n.visible && !n.disabled && !n.states.groupDisabled\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n const valueList = optionsArray.value.map((item) => item.value)\n states.hoveringIndex = getValueIndex(\n valueList,\n userCreatedOption || firstOriginOption\n )\n }\n\n const setSelected = () => {\n if (!props.multiple) {\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n const option = getOption(value)\n states.selectedLabel = option.currentLabel\n states.selected = [option]\n return\n } else {\n states.selectedLabel = ''\n }\n const result: SelectStates['selected'] = []\n if (!isUndefined(props.modelValue)) {\n ensureArray(props.modelValue).forEach((value) => {\n result.push(getOption(value))\n })\n }\n states.selected = result\n }\n\n const getOption = (value: OptionValue) => {\n let option\n const isObjectValue = isPlainObject(value)\n\n for (let i = states.cachedOptions.size - 1; i >= 0; i--) {\n const cachedOption = cachedOptionsArray.value[i]\n const isEqualValue = isObjectValue\n ? get(cachedOption.value, props.valueKey) === get(value, props.valueKey)\n : cachedOption.value === value\n if (isEqualValue) {\n option = {\n index: optionsArray.value\n .filter((opt) => !opt.created)\n .indexOf(cachedOption),\n value,\n currentLabel: cachedOption.currentLabel,\n get isDisabled() {\n return cachedOption.isDisabled\n },\n }\n break\n }\n }\n if (option) return option\n const label = isObjectValue ? value.label : (value ?? '')\n const newOption = {\n index: -1,\n value,\n currentLabel: label,\n }\n return newOption\n }\n\n const updateHoveringIndex = () => {\n const length = states.selected.length\n if (length > 0) {\n const lastOption = states.selected[length - 1]\n states.hoveringIndex = optionsArray.value.findIndex(\n (item) => getValueKey(lastOption) === getValueKey(item)\n )\n } else {\n states.hoveringIndex = -1\n }\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 onInputChange = () => {\n if (states.inputValue.length > 0 && !expanded.value) {\n expanded.value = true\n }\n handleQueryChange(states.inputValue)\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 debouncedOnInputChange = useDebounceFn(() => {\n onInputChange()\n debouncing.value = false\n }, debounce)\n\n const emitChange = (val: OptionValue | OptionValue[]) => {\n if (!isEqual(props.modelValue, val)) {\n emit(CHANGE_EVENT, val)\n }\n }\n\n const getLastNotDisabledIndex = (value: OptionValue[]) =>\n findLastIndex(value, (it) => {\n const option = states.cachedOptions.get(it)\n return !option?.disabled && !option?.states.groupDisabled\n })\n\n const deletePrevTag = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n if (!props.multiple) return\n if (code === EVENT_CODE.delete) return\n if ((e.target as HTMLInputElement).value.length <= 0) {\n const value = ensureArray(props.modelValue).slice()\n const lastNotDisabledIndex = getLastNotDisabledIndex(value)\n if (lastNotDisabledIndex < 0) return\n const removeTagValue = value[lastNotDisabledIndex]\n value.splice(lastNotDisabledIndex, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', removeTagValue)\n }\n }\n\n const deleteTag = (event: MouseEvent, tag: OptionBasic) => {\n const index = states.selected.indexOf(tag)\n if (index > -1 && !selectDisabled.value) {\n const value = ensureArray(props.modelValue).slice()\n value.splice(index, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', tag.value)\n }\n event.stopPropagation()\n focus()\n }\n\n const deleteSelected = (event: Event) => {\n event.stopPropagation()\n const value = props.multiple ? [] : valueOnClear.value\n if (props.multiple) {\n for (const item of states.selected) {\n if (item.isDisabled) value.push(item.value)\n }\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n states.hoveringIndex = -1\n expanded.value = false\n emit('clear')\n focus()\n }\n\n const handleOptionSelect = (option: OptionPublicInstance) => {\n if (props.multiple) {\n const value = ensureArray(props.modelValue ?? []).slice()\n const optionIndex = getValueIndex(value, option)\n if (optionIndex > -1) {\n value.splice(optionIndex, 1)\n } else if (\n props.multipleLimit <= 0 ||\n value.length < props.multipleLimit\n ) {\n value.push(option.value)\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n if (option.created) {\n handleQueryChange('')\n }\n if (props.filterable && (option.created || !props.reserveKeyword)) {\n states.inputValue = ''\n }\n } else {\n !isEqual(props.modelValue, option.value) &&\n emit(UPDATE_MODEL_EVENT, option.value)\n emitChange(option.value)\n expanded.value = false\n }\n focus()\n if (expanded.value) return\n nextTick(() => {\n scrollToOption(option)\n })\n }\n\n const getValueIndex = (arr: OptionValue[], option: OptionPublicInstance) => {\n if (isUndefined(option)) return -1\n if (!isObject(option.value)) return arr.indexOf(option.value)\n\n return arr.findIndex((item) => {\n return isEqual(get(item, props.valueKey), getValueKey(option))\n })\n }\n\n const scrollToOption = (\n option:\n | OptionPublicInstance\n | OptionPublicInstance[]\n | SelectStates['selected']\n ) => {\n const targetOption = isArray(option) ? option[option.length - 1] : option\n let target = null\n\n if (!isNil(targetOption?.value)) {\n const options = optionsArray.value.filter(\n (item) => item.value === targetOption.value\n )\n if (options.length > 0) {\n target = options[0].$el\n }\n }\n\n if (tooltipRef.value && target) {\n const menu = tooltipRef.value?.popperRef?.contentRef?.querySelector?.(\n `.${nsSelect.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbarRef.value?.handleScroll()\n }\n\n const onOptionCreate = (vm: OptionPublicInstance) => {\n states.options.set(vm.value, vm)\n states.cachedOptions.set(vm.value, vm)\n }\n\n const onOptionDestroy = (key: OptionValue, vm: OptionPublicInstance) => {\n if (states.options.get(key) === vm) {\n states.options.delete(key)\n }\n }\n\n const popperRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const handleMenuEnter = () => {\n states.isBeforeHide = false\n nextTick(() => {\n scrollbarRef.value?.update()\n scrollToOption(states.selected)\n })\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 const handleClearClick = (event: Event) => {\n deleteSelected(event)\n }\n\n const handleClickOutside = (event: Event) => {\n expanded.value = false\n\n if (isFocused.value) {\n const _event = new FocusEvent('blur', event)\n nextTick(() => handleBlur(_event))\n }\n }\n\n const handleEsc = () => {\n if (states.inputValue.length > 0) {\n states.inputValue = ''\n } else {\n expanded.value = false\n }\n }\n\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 // We only set the inputHovering state to true on mouseenter event on iOS devices\n // To keep the state updated we set it here to true\n if (isIOS) states.inputHovering = true\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 selectOption = () => {\n if (!expanded.value) {\n toggleMenu()\n } else {\n const option = optionsArray.value[states.hoveringIndex]\n if (option && !option.isDisabled) {\n handleOptionSelect(option)\n }\n }\n }\n\n const getValueKey = (\n item: OptionPublicInstance | SelectStates['selected'][0]\n ) => {\n return isObject(item.value) ? get(item.value, props.valueKey) : item.value\n }\n\n const optionsAllDisabled = computed(() =>\n optionsArray.value\n .filter((option) => option.visible)\n .every((option) => option.isDisabled)\n )\n\n const showTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(0, props.maxCollapseTags)\n : states.selected\n })\n\n const collapseTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(props.maxCollapseTags)\n : []\n })\n\n const navigateOptions = (direction: 'prev' | 'next') => {\n if (!expanded.value) {\n expanded.value = true\n return\n }\n if (\n states.options.size === 0 ||\n filteredOptionsCount.value === 0 ||\n isComposing.value\n )\n return\n\n if (!optionsAllDisabled.value) {\n if (direction === 'next') {\n states.hoveringIndex++\n if (states.hoveringIndex === states.options.size) {\n states.hoveringIndex = 0\n }\n } else if (direction === 'prev') {\n states.hoveringIndex--\n if (states.hoveringIndex < 0) {\n states.hoveringIndex = states.options.size - 1\n }\n }\n const option = optionsArray.value[states.hoveringIndex]\n if (option.isDisabled || !option.visible) {\n navigateOptions(direction)\n }\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const findFocusableIndex = (\n arr: any[],\n start: number,\n step: number,\n len: number\n ) => {\n for (let i = start; i >= 0 && i < len; i += step) {\n const obj = arr[i]\n if (!obj?.isDisabled && obj?.visible) {\n return i\n }\n }\n return null\n }\n\n const focusOption = (targetIndex: number, mode: 'up' | 'down') => {\n const len = states.options.size\n if (len === 0) return\n const start = clamp(targetIndex, 0, len - 1)\n const options = optionsArray.value\n const direction = mode === 'up' ? -1 : 1\n const newIndex =\n findFocusableIndex(options, start, direction, len) ??\n findFocusableIndex(options, start - direction, -direction, len)\n\n if (newIndex != null) {\n states.hoveringIndex = newIndex\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const handleKeydown = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n let isPreventDefault = true\n switch (code) {\n case EVENT_CODE.up:\n navigateOptions('prev')\n break\n case EVENT_CODE.down:\n navigateOptions('next')\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n if (!isComposing.value) {\n selectOption()\n }\n break\n case EVENT_CODE.esc:\n handleEsc()\n break\n case EVENT_CODE.backspace:\n isPreventDefault = false\n deletePrevTag(e)\n return\n case EVENT_CODE.home:\n if (!expanded.value) return\n focusOption(0, 'down')\n break\n case EVENT_CODE.end:\n if (!expanded.value) return\n focusOption(states.options.size - 1, 'up')\n break\n case EVENT_CODE.pageUp:\n if (!expanded.value) return\n focusOption(states.hoveringIndex - 10, 'up')\n break\n case EVENT_CODE.pageDown:\n if (!expanded.value) return\n focusOption(states.hoveringIndex + 10, 'down')\n break\n default:\n isPreventDefault = false\n break\n }\n if (isPreventDefault) {\n e.preventDefault()\n e.stopPropagation()\n }\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 popupScroll = (data: { scrollTop: number; scrollLeft: number }) => {\n emit('popup-scroll', data)\n }\n\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 onMounted(() => {\n setSelected()\n })\n\n return {\n inputId,\n contentId,\n nsSelect,\n nsInput,\n states,\n isFocused,\n expanded,\n optionsArray,\n hoverOption,\n selectSize,\n filteredOptionsCount,\n updateTooltip,\n updateTagTooltip,\n debouncedOnInputChange,\n onInput,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n hasModelValue,\n shouldShowPlaceholder,\n currentPlaceholder,\n mouseEnterEventName,\n needStatusIcon,\n showClearBtn,\n iconComponent,\n iconReverse,\n validateState,\n validateIcon,\n showNewOption,\n updateOptions,\n collapseTagSize,\n setSelected,\n selectDisabled,\n emptyText,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n handleKeydown,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n focus,\n blur,\n handleClearClick,\n handleClickOutside,\n handleEsc,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropdownMenuVisible,\n showTagList,\n collapseTagList,\n popupScroll,\n getOption,\n\n // computed style\n tagStyle,\n collapseTagStyle,\n\n // DOM ref\n popperRef,\n inputRef,\n tooltipRef,\n tagTooltipRef,\n prefixRef,\n suffixRef,\n selectRef,\n wrapperRef,\n selectionRef,\n scrollbarRef,\n menuRef,\n tagMenuRef,\n collapseItemRef,\n }\n}\n"],"mappings":"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"}
@@ -2,10 +2,10 @@ import "../../../utils/vue/typescript.js";
2
2
  import { EpPropFinalized, EpPropMergeType } from "../../../utils/vue/props/types.js";
3
3
  import "../../../utils/index.js";
4
4
  import { PopperEffect } from "../../popper/src/popper.js";
5
+ import { Options, Placement } from "../../popper/index.js";
5
6
  import { Option, OptionType } from "./select.types.js";
6
7
  import { _default } from "./select.vue.js";
7
8
  import { Props } from "./useProps.js";
8
- import { Options, Placement } from "../../popper/index.js";
9
9
  import * as vue from "vue";
10
10
  import { CSSProperties, ExtractPropTypes, ExtractPublicPropTypes } from "vue";
11
11
 
@@ -117,7 +117,7 @@ declare const selectV2Props: {
117
117
  [x: string]: boolean;
118
118
  } | (string | {
119
119
  [x: string]: boolean;
120
- } | any)[])[])[])[])[])[])[])[])[])[])[]) | (() => string | {
120
+ } | /*elided*/any)[])[])[])[])[])[])[])[])[])[])[]) | (() => string | {
121
121
  [x: string]: boolean;
122
122
  } | (string | {
123
123
  [x: string]: boolean;
@@ -141,7 +141,7 @@ declare const selectV2Props: {
141
141
  [x: string]: boolean;
142
142
  } | (string | {
143
143
  [x: string]: boolean;
144
- } | any)[])[])[])[])[])[])[])[])[])[])[]) | (((new (...args: any[]) => string | {
144
+ } | /*elided*/any)[])[])[])[])[])[])[])[])[])[])[]) | (((new (...args: any[]) => string | {
145
145
  [x: string]: boolean;
146
146
  } | (string | {
147
147
  [x: string]: boolean;
@@ -165,7 +165,7 @@ declare const selectV2Props: {
165
165
  [x: string]: boolean;
166
166
  } | (string | {
167
167
  [x: string]: boolean;
168
- } | any)[])[])[])[])[])[])[])[])[])[])[]) | (() => string | {
168
+ } | /*elided*/any)[])[])[])[])[])[])[])[])[])[])[]) | (() => string | {
169
169
  [x: string]: boolean;
170
170
  } | (string | {
171
171
  [x: string]: boolean;
@@ -189,7 +189,7 @@ declare const selectV2Props: {
189
189
  [x: string]: boolean;
190
190
  } | (string | {
191
191
  [x: string]: boolean;
192
- } | any)[])[])[])[])[])[])[])[])[])[])[])) | null)[], unknown, unknown>>;
192
+ } | /*elided*/any)[])[])[])[])[])[])[])[])[])[])[])) | null)[], unknown, unknown>>;
193
193
  readonly required: false;
194
194
  readonly validator: ((val: unknown) => boolean) | undefined;
195
195
  __epPropKey: true;
@@ -204,7 +204,7 @@ declare const selectV2Props: {
204
204
  readonly remote: BooleanConstructor;
205
205
  readonly debounce: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
206
206
  readonly size: {
207
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
207
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
208
208
  readonly required: false;
209
209
  readonly validator: ((val: unknown) => boolean) | undefined;
210
210
  __epPropKey: true;
@@ -216,7 +216,7 @@ declare const selectV2Props: {
216
216
  readonly offset: EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
217
217
  readonly remoteShowSuffix: BooleanConstructor;
218
218
  readonly showArrow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
219
- readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "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" | "auto" | "bottom" | "left" | "right" | "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>;
219
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom-start", boolean>;
220
220
  readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom-start", "top-start", "right", "left"], boolean>;
221
221
  readonly tagType: {
222
222
  readonly default: "info";
@@ -153,9 +153,7 @@ var select_dropdown_default = /* @__PURE__ */ (0, vue.defineComponent)({
153
153
  return () => {
154
154
  const { data, width } = props;
155
155
  const { height, multiple, scrollbarAlwaysOn } = select.props;
156
- const isScrollbarAlwaysOn = (0, vue.computed)(() => {
157
- return _vueuse_core.isIOS ? true : scrollbarAlwaysOn;
158
- });
156
+ const isScrollbarAlwaysOn = _vueuse_core.isIOS ? true : scrollbarAlwaysOn;
159
157
  const List = (0, vue.unref)(isSized) ? require_fixed_size_list.default : require_dynamic_size_list.default;
160
158
  return (0, vue.createVNode)("div", {
161
159
  "class": [ns.b("dropdown"), ns.is("multiple", multiple)],
@@ -164,7 +162,7 @@ var select_dropdown_default = /* @__PURE__ */ (0, vue.defineComponent)({
164
162
  slots.header?.(),
165
163
  slots.loading?.() || slots.empty?.() || (0, vue.createVNode)(List, (0, vue.mergeProps)({ "ref": listRef }, (0, vue.unref)(listProps), {
166
164
  "className": ns.be("dropdown", "list"),
167
- "scrollbarAlwaysOn": isScrollbarAlwaysOn.value,
165
+ "scrollbarAlwaysOn": isScrollbarAlwaysOn,
168
166
  "data": data,
169
167
  "height": height,
170
168
  "width": width,
@@ -1 +1 @@
1
- {"version":3,"file":"select-dropdown.js","names":["computed","defineComponent","inject","ref","toRaw","unref","watch","createVNode","_createVNode","mergeProps","_mergeProps","get","getEventCode","isIOS","isObject","isUndefined","DynamicSizeList","FixedSizeList","useNamespace","EVENT_CODE","GroupItem","OptionItem","useProps","selectV2InjectionKey","props","loading","Boolean","data","type","Array","required","hoveringIndex","Number","width","id","String","ariaLabel","name","setup","slots","expose","select","ns","getLabel","getValue","getDisabled","cachedHeights","listRef","size","length","value","tooltipRef","updatePopper","isSized","estimatedOptionHeight","listProps","itemSize","itemHeight","estimatedSize","idx","contains","arr","target","valueKey","includes","some","item","isEqual","selected","isItemSelected","modelValue","multiple","isItemDisabled","disabled","multipleLimit","isItemHovering","scrollToItem","index","list","resetScrollTop","exposed","Item","itemProps","style","sized","onSelect","onHover","isSelected","isDisabled","isHovering","created","default","onKeyboardNavigate","onKeyboardSelect","onForward","onBackward","onEscOrTab","onKeydown","e","code","tab","esc","down","up","enter","numpadEnter","preventDefault","stopPropagation","height","scrollbarAlwaysOn","isScrollbarAlwaysOn","List","b","is","header","empty","be","role","footer"],"sources":["../../../../../../packages/components/select-v2/src/select-dropdown.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n ref,\n toRaw,\n unref,\n watch,\n} from 'vue'\nimport { get } from 'lodash-unified'\nimport { getEventCode, isIOS, isObject, isUndefined } from '@element-plus/utils'\nimport {\n DynamicSizeList,\n FixedSizeList,\n} from '@element-plus/components/virtual-list'\nimport { useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\nimport { useProps } from './useProps'\nimport { selectV2InjectionKey } from './token'\n\nimport type {\n DynamicSizeListInstance,\n FixedSizeListInstance,\n ItemProps,\n} from '@element-plus/components/virtual-list'\nimport type { Option, OptionItemProps } from './select.types'\nimport type {\n ComponentPublicInstance,\n ComputedRef,\n ExtractPropTypes,\n Ref,\n} from 'vue'\n\nconst props = {\n loading: Boolean,\n data: {\n type: Array,\n required: true as const,\n },\n hoveringIndex: Number,\n width: Number,\n id: String,\n ariaLabel: String,\n}\ninterface SelectDropdownExposed {\n listRef: Ref<FixedSizeListInstance | DynamicSizeListInstance | undefined>\n isSized: ComputedRef<boolean>\n isItemDisabled: (modelValue: any[] | any, selected: boolean) => boolean\n isItemHovering: (target: number) => boolean\n isItemSelected: (modelValue: any[] | any, target: Option) => boolean\n scrollToItem: (index: number) => void\n resetScrollTop: () => void\n}\nexport type SelectDropdownInstance = ComponentPublicInstance<\n ExtractPropTypes<typeof props>,\n SelectDropdownExposed\n>\nexport default defineComponent({\n name: 'ElSelectDropdown',\n props,\n setup(props, { slots, expose }) {\n const select = inject(selectV2InjectionKey)!\n const ns = useNamespace('select')\n const { getLabel, getValue, getDisabled } = useProps(select.props)\n\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref<FixedSizeListInstance | DynamicSizeListInstance>()\n\n const size = computed(() => props.data.length)\n watch(\n () => size.value,\n () => {\n select.tooltipRef.value?.updatePopper?.()\n }\n )\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return get(selected, valueKey) === get(target, valueKey)\n }\n }\n\n const isItemSelected: SelectDropdownExposed['isItemSelected'] = (\n modelValue,\n target\n ) => {\n if (select.props.multiple) {\n return contains(modelValue, getValue(target))\n }\n return isEqual(modelValue, getValue(target))\n }\n\n const isItemDisabled: SelectDropdownExposed['isItemDisabled'] = (\n modelValue,\n selected\n ) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering: SelectDropdownExposed['isItemHovering'] = (target) =>\n props.hoveringIndex === target\n\n const scrollToItem: SelectDropdownExposed['scrollToItem'] = (index) => {\n const list = listRef.value\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop: SelectDropdownExposed['resetScrollTop'] = () => {\n const list = listRef.value\n if (list) {\n list.resetScrollTop()\n }\n }\n const exposed: SelectDropdownExposed = {\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n scrollToItem,\n resetScrollTop,\n }\n expose(exposed)\n\n const Item = (itemProps: ItemProps<any>) => {\n const { index, data, style } = itemProps\n const sized = unref(isSized)\n const { itemSize, estimatedSize } = unref(listProps)\n const { modelValue } = select.props\n const { onSelect, onHover } = select\n const item = data[index]\n if (item.type === 'Group') {\n return (\n <GroupItem\n item={item}\n style={style}\n height={sized ? (itemSize as number) : estimatedSize}\n />\n )\n }\n\n const isSelected = isItemSelected(modelValue, item)\n const isDisabled = isItemDisabled(modelValue, isSelected)\n const isHovering = isItemHovering(index)\n return (\n <OptionItem\n {...itemProps}\n selected={isSelected}\n disabled={getDisabled(item) || isDisabled}\n created={!!item.created}\n hovering={isHovering}\n item={item}\n onSelect={onSelect}\n onHover={onHover}\n >\n {{\n default: (props: OptionItemProps) =>\n slots.default?.(props) || <span>{getLabel(item)}</span>,\n }}\n </OptionItem>\n )\n }\n\n // computed\n const { onKeyboardNavigate, onKeyboardSelect } = select\n\n const onForward = () => {\n onKeyboardNavigate('forward')\n }\n\n const onBackward = () => {\n onKeyboardNavigate('backward')\n }\n\n const onEscOrTab = () => {\n // The following line actually doesn't work. Fixing it may introduce a small breaking change for some users, so just comment it out for now.\n // select.expanded = false\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n const { tab, esc, down, up, enter, numpadEnter } = EVENT_CODE\n if ([esc, down, up, enter, numpadEnter].includes(code)) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n switch (code) {\n case tab:\n case esc:\n onEscOrTab()\n break\n case down:\n onForward()\n break\n case up:\n onBackward()\n break\n case enter:\n case numpadEnter:\n onKeyboardSelect()\n break\n }\n }\n\n return () => {\n const { data, width } = props\n const { height, multiple, scrollbarAlwaysOn } = select.props\n const isScrollbarAlwaysOn = computed(() => {\n // fix https://github.com/element-plus/element-plus/issues/19127\n return isIOS ? true : scrollbarAlwaysOn\n })\n\n const List = unref(isSized) ? FixedSizeList : DynamicSizeList\n\n return (\n <div\n class={[ns.b('dropdown'), ns.is('multiple', multiple)]}\n style={{\n width: `${width}px`,\n }}\n >\n {slots.header?.()}\n {slots.loading?.() || slots.empty?.() || (\n <List\n ref={listRef}\n {...unref(listProps)}\n className={ns.be('dropdown', 'list')}\n scrollbarAlwaysOn={isScrollbarAlwaysOn.value}\n data={data}\n height={height}\n width={width}\n total={data.length}\n innerElement=\"ul\"\n innerProps={{\n id: props.id,\n role: 'listbox',\n 'aria-label': props.ariaLabel,\n 'aria-orientation': 'vertical',\n }}\n // @ts-ignore - dts problem\n onKeydown={onKeydown}\n >\n {{\n default: (props: ItemProps<any>) => <Item {...props} />,\n }}\n </List>\n )}\n {slots.footer?.()}\n </div>\n )\n }\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"select-dropdown.js","names":["computed","defineComponent","inject","ref","toRaw","unref","watch","createVNode","_createVNode","mergeProps","_mergeProps","get","getEventCode","isIOS","isObject","isUndefined","DynamicSizeList","FixedSizeList","useNamespace","EVENT_CODE","GroupItem","OptionItem","useProps","selectV2InjectionKey","props","loading","Boolean","data","type","Array","required","hoveringIndex","Number","width","id","String","ariaLabel","name","setup","slots","expose","select","ns","getLabel","getValue","getDisabled","cachedHeights","listRef","size","length","value","tooltipRef","updatePopper","isSized","estimatedOptionHeight","listProps","itemSize","itemHeight","estimatedSize","idx","contains","arr","target","valueKey","includes","some","item","isEqual","selected","isItemSelected","modelValue","multiple","isItemDisabled","disabled","multipleLimit","isItemHovering","scrollToItem","index","list","resetScrollTop","exposed","Item","itemProps","style","sized","onSelect","onHover","isSelected","isDisabled","isHovering","created","default","onKeyboardNavigate","onKeyboardSelect","onForward","onBackward","onEscOrTab","onKeydown","e","code","tab","esc","down","up","enter","numpadEnter","preventDefault","stopPropagation","height","scrollbarAlwaysOn","isScrollbarAlwaysOn","List","b","is","header","empty","be","role","footer"],"sources":["../../../../../../packages/components/select-v2/src/select-dropdown.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n ref,\n toRaw,\n unref,\n watch,\n} from 'vue'\nimport { get } from 'lodash-unified'\nimport { getEventCode, isIOS, isObject, isUndefined } from '@element-plus/utils'\nimport {\n DynamicSizeList,\n FixedSizeList,\n} from '@element-plus/components/virtual-list'\nimport { useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\nimport { useProps } from './useProps'\nimport { selectV2InjectionKey } from './token'\n\nimport type {\n DynamicSizeListInstance,\n FixedSizeListInstance,\n ItemProps,\n} from '@element-plus/components/virtual-list'\nimport type { Option, OptionItemProps } from './select.types'\nimport type {\n ComponentPublicInstance,\n ComputedRef,\n ExtractPropTypes,\n Ref,\n} from 'vue'\n\nconst props = {\n loading: Boolean,\n data: {\n type: Array,\n required: true as const,\n },\n hoveringIndex: Number,\n width: Number,\n id: String,\n ariaLabel: String,\n}\ninterface SelectDropdownExposed {\n listRef: Ref<FixedSizeListInstance | DynamicSizeListInstance | undefined>\n isSized: ComputedRef<boolean>\n isItemDisabled: (modelValue: any[] | any, selected: boolean) => boolean\n isItemHovering: (target: number) => boolean\n isItemSelected: (modelValue: any[] | any, target: Option) => boolean\n scrollToItem: (index: number) => void\n resetScrollTop: () => void\n}\nexport type SelectDropdownInstance = ComponentPublicInstance<\n ExtractPropTypes<typeof props>,\n SelectDropdownExposed\n>\nexport default defineComponent({\n name: 'ElSelectDropdown',\n props,\n setup(props, { slots, expose }) {\n const select = inject(selectV2InjectionKey)!\n const ns = useNamespace('select')\n const { getLabel, getValue, getDisabled } = useProps(select.props)\n\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref<FixedSizeListInstance | DynamicSizeListInstance>()\n\n const size = computed(() => props.data.length)\n watch(\n () => size.value,\n () => {\n select.tooltipRef.value?.updatePopper?.()\n }\n )\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return get(selected, valueKey) === get(target, valueKey)\n }\n }\n\n const isItemSelected: SelectDropdownExposed['isItemSelected'] = (\n modelValue,\n target\n ) => {\n if (select.props.multiple) {\n return contains(modelValue, getValue(target))\n }\n return isEqual(modelValue, getValue(target))\n }\n\n const isItemDisabled: SelectDropdownExposed['isItemDisabled'] = (\n modelValue,\n selected\n ) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering: SelectDropdownExposed['isItemHovering'] = (target) =>\n props.hoveringIndex === target\n\n const scrollToItem: SelectDropdownExposed['scrollToItem'] = (index) => {\n const list = listRef.value\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop: SelectDropdownExposed['resetScrollTop'] = () => {\n const list = listRef.value\n if (list) {\n list.resetScrollTop()\n }\n }\n const exposed: SelectDropdownExposed = {\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n scrollToItem,\n resetScrollTop,\n }\n expose(exposed)\n\n const Item = (itemProps: ItemProps<any>) => {\n const { index, data, style } = itemProps\n const sized = unref(isSized)\n const { itemSize, estimatedSize } = unref(listProps)\n const { modelValue } = select.props\n const { onSelect, onHover } = select\n const item = data[index]\n if (item.type === 'Group') {\n return (\n <GroupItem\n item={item}\n style={style}\n height={sized ? (itemSize as number) : estimatedSize}\n />\n )\n }\n\n const isSelected = isItemSelected(modelValue, item)\n const isDisabled = isItemDisabled(modelValue, isSelected)\n const isHovering = isItemHovering(index)\n return (\n <OptionItem\n {...itemProps}\n selected={isSelected}\n disabled={getDisabled(item) || isDisabled}\n created={!!item.created}\n hovering={isHovering}\n item={item}\n onSelect={onSelect}\n onHover={onHover}\n >\n {{\n default: (props: OptionItemProps) =>\n slots.default?.(props) || <span>{getLabel(item)}</span>,\n }}\n </OptionItem>\n )\n }\n\n // computed\n const { onKeyboardNavigate, onKeyboardSelect } = select\n\n const onForward = () => {\n onKeyboardNavigate('forward')\n }\n\n const onBackward = () => {\n onKeyboardNavigate('backward')\n }\n\n const onEscOrTab = () => {\n // The following line actually doesn't work. Fixing it may introduce a small breaking change for some users, so just comment it out for now.\n // select.expanded = false\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n const { tab, esc, down, up, enter, numpadEnter } = EVENT_CODE\n if ([esc, down, up, enter, numpadEnter].includes(code)) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n switch (code) {\n case tab:\n case esc:\n onEscOrTab()\n break\n case down:\n onForward()\n break\n case up:\n onBackward()\n break\n case enter:\n case numpadEnter:\n onKeyboardSelect()\n break\n }\n }\n\n return () => {\n const { data, width } = props\n const { height, multiple, scrollbarAlwaysOn } = select.props\n\n // fix https://github.com/element-plus/element-plus/issues/19127\n const isScrollbarAlwaysOn = isIOS ? true : scrollbarAlwaysOn\n\n const List = unref(isSized) ? FixedSizeList : DynamicSizeList\n\n return (\n <div\n class={[ns.b('dropdown'), ns.is('multiple', multiple)]}\n style={{\n width: `${width}px`,\n }}\n >\n {slots.header?.()}\n {slots.loading?.() || slots.empty?.() || (\n <List\n ref={listRef}\n {...unref(listProps)}\n className={ns.be('dropdown', 'list')}\n scrollbarAlwaysOn={isScrollbarAlwaysOn}\n data={data}\n height={height}\n width={width}\n total={data.length}\n innerElement=\"ul\"\n innerProps={{\n id: props.id,\n role: 'listbox',\n 'aria-label': props.ariaLabel,\n 'aria-orientation': 'vertical',\n }}\n // @ts-ignore - dts problem\n onKeydown={onKeydown}\n >\n {{\n default: (props: ItemProps<any>) => <Item {...props} />,\n }}\n </List>\n )}\n {slots.footer?.()}\n </div>\n )\n }\n },\n})\n"],"mappings":"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"}