@element-plus/nightly 0.0.20260424 → 0.0.20260425

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 (582) hide show
  1. package/dist/index.full.js +4 -3
  2. package/dist/index.full.min.js +3 -3
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +3 -3
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +4 -3
  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 +2 -2
  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 +2 -2
  281. package/es/components/autocomplete/src/autocomplete.d.ts +4 -4
  282. package/es/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  283. package/es/components/avatar/src/avatar.d.ts +1 -1
  284. package/es/components/avatar/src/avatar.vue.d.ts +1 -1
  285. package/es/components/badge/src/badge.d.ts +1 -1
  286. package/es/components/badge/src/badge.vue.d.ts +1 -1
  287. package/es/components/button/src/button-group.vue.d.ts +1 -1
  288. package/es/components/button/src/button.d.ts +1 -1
  289. package/es/components/button/src/button.vue.d.ts +4 -4
  290. package/es/components/calendar/src/calendar.d.ts +1 -1
  291. package/es/components/calendar/src/calendar.vue.d.ts +1 -1
  292. package/es/components/card/src/card.d.ts +1 -1
  293. package/es/components/carousel/src/carousel.d.ts +2 -2
  294. package/es/components/carousel/src/carousel.vue.d.ts +3 -3
  295. package/es/components/cascader/src/cascader.d.ts +2 -2
  296. package/es/components/cascader/src/cascader.vue.d.ts +16 -16
  297. package/es/components/cascader-panel/src/index.vue.d.ts +3 -3
  298. package/es/components/cascader-panel/src/menu.vue.d.ts +1 -1
  299. package/es/components/check-tag/src/check-tag.d.ts +1 -1
  300. package/es/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  301. package/es/components/checkbox/src/checkbox-group.vue.d.ts +1 -1
  302. package/es/components/checkbox/src/checkbox.d.ts +2 -2
  303. package/es/components/checkbox/src/checkbox.vue.d.ts +4 -4
  304. package/es/components/col/src/col.vue.d.ts +2 -2
  305. package/es/components/collapse/src/collapse.d.ts +1 -1
  306. package/es/components/color-picker/src/color-picker.vue.d.ts +9 -9
  307. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  308. package/es/components/config-provider/src/config-provider.d.ts +1 -1
  309. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  310. package/es/components/date-picker/src/date-picker.d.ts +15 -15
  311. package/es/components/date-picker/src/props.d.ts +2 -2
  312. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  313. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  314. package/es/components/descriptions/src/description-item.d.ts +10 -10
  315. package/es/components/dialog/src/dialog.vue.d.ts +5 -5
  316. package/es/components/divider/src/divider.d.ts +1 -1
  317. package/es/components/divider/src/divider.vue.d.ts +1 -1
  318. package/es/components/drawer/src/drawer.vue.d.ts +7 -7
  319. package/es/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  320. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  321. package/es/components/dropdown/src/dropdown.d.ts +4 -4
  322. package/es/components/dropdown/src/dropdown.vue.d.ts +86 -86
  323. package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  324. package/es/components/form/src/form-item.d.ts +2 -2
  325. package/es/components/form/src/form-item.vue.d.ts +1 -1
  326. package/es/components/form/src/form.d.ts +2 -2
  327. package/es/components/form/src/form.vue.d.ts +1 -1
  328. package/es/components/image/src/image.d.ts +1 -1
  329. package/es/components/image/src/image.vue.d.ts +10 -10
  330. package/es/components/image-viewer/src/image-viewer.vue.d.ts +6 -6
  331. package/es/components/input/src/input.d.ts +3 -3
  332. package/es/components/input/src/input.vue.d.ts +8 -8
  333. package/es/components/input-number/src/input-number.d.ts +3 -3
  334. package/es/components/input-number/src/input-number.vue.d.ts +9 -9
  335. package/es/components/input-otp/src/input-otp.vue.d.ts +6 -6
  336. package/es/components/input-tag/src/input-tag.d.ts +2 -2
  337. package/es/components/input-tag/src/input-tag.vue.d.ts +12 -12
  338. package/es/components/link/src/link.d.ts +2 -2
  339. package/es/components/mention/src/mention.d.ts +4 -4
  340. package/es/components/mention/src/mention.vue.d.ts +3 -3
  341. package/es/components/menu/src/menu.d.ts +10 -10
  342. package/es/components/message/src/message.d.ts +2 -2
  343. package/es/components/message/src/message.vue.d.ts +4 -4
  344. package/es/components/notification/src/notification.d.ts +1 -1
  345. package/es/components/notification/src/notification.vue.d.ts +4 -4
  346. package/es/components/page-header/src/page-header.vue.d.ts +1 -1
  347. package/es/components/pagination/src/pagination.d.ts +3 -3
  348. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  349. package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  350. package/es/components/popover/src/popover.d.ts +2 -2
  351. package/es/components/popover/src/popover.vue.d.ts +12 -12
  352. package/es/components/popper/src/composables/use-content.d.ts +4 -4
  353. package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  354. package/es/components/popper/src/content.d.ts +4 -4
  355. package/es/components/popper/src/content.vue.d.ts +7 -7
  356. package/es/components/popper/src/popper.d.ts +2 -2
  357. package/es/components/progress/src/progress.d.ts +2 -2
  358. package/es/components/progress/src/progress.vue.d.ts +3 -3
  359. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  360. package/es/components/radio/src/radio-group.vue.d.ts +4 -4
  361. package/es/components/radio/src/radio.vue.d.ts +3 -3
  362. package/es/components/rate/src/rate.vue.d.ts +2 -2
  363. package/es/components/result/src/result.d.ts +1 -1
  364. package/es/components/row/src/row.d.ts +2 -2
  365. package/es/components/row/src/row.vue.d.ts +1 -1
  366. package/es/components/scrollbar/src/scrollbar.vue.d.ts +4 -4
  367. package/es/components/segmented/index.d.ts +1 -1
  368. package/es/components/select/src/option.d.ts +1 -1
  369. package/es/components/select/src/option.vue.d.ts +2 -2
  370. package/es/components/select/src/select.d.ts +3 -3
  371. package/es/components/select/src/select.vue.d.ts +91 -91
  372. package/es/components/select/src/useSelect.mjs +2 -1
  373. package/es/components/select/src/useSelect.mjs.map +1 -1
  374. package/es/components/select-v2/src/defaults.d.ts +2 -2
  375. package/es/components/select-v2/src/select.vue.d.ts +71 -71
  376. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  377. package/es/components/slider/src/button.vue.d.ts +2 -2
  378. package/es/components/slider/src/slider.vue.d.ts +6 -6
  379. package/es/components/space/src/space.d.ts +1 -1
  380. package/es/components/splitter/src/splitter.vue.d.ts +2 -2
  381. package/es/components/statistic/src/statistic.vue.d.ts +2 -2
  382. package/es/components/steps/src/item.d.ts +1 -1
  383. package/es/components/steps/src/item.vue.d.ts +1 -1
  384. package/es/components/steps/src/steps.d.ts +2 -2
  385. package/es/components/steps/src/steps.vue.d.ts +1 -1
  386. package/es/components/switch/src/switch.vue.d.ts +2 -2
  387. package/es/components/table/src/table-column/index.d.ts +16 -16
  388. package/es/components/table/src/table-footer/index.d.ts +1 -1
  389. package/es/components/table/src/table-header/index.d.ts +14 -14
  390. package/es/components/table/src/table.vue.d.ts +41 -41
  391. package/es/components/table-v2/src/components/row.d.ts +1 -1
  392. package/es/components/table-v2/src/table-grid.d.ts +3 -3
  393. package/es/components/table-v2/src/table-v2.d.ts +3 -3
  394. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  395. package/es/components/tabs/src/tab-pane.vue.d.ts +1 -1
  396. package/es/components/tabs/src/tabs.d.ts +6 -6
  397. package/es/components/tag/src/tag.d.ts +1 -1
  398. package/es/components/text/src/text.d.ts +1 -1
  399. package/es/components/time-picker/src/common/picker.vue.d.ts +21 -21
  400. package/es/components/time-picker/src/common/props.d.ts +2 -2
  401. package/es/components/time-picker/src/time-picker.d.ts +15 -15
  402. package/es/components/time-select/src/time-select.vue.d.ts +9 -9
  403. package/es/components/timeline/src/timeline-item.d.ts +3 -3
  404. package/es/components/tooltip/src/content.d.ts +1 -1
  405. package/es/components/tooltip/src/content.vue.d.ts +10 -10
  406. package/es/components/tooltip/src/tooltip.d.ts +3 -3
  407. package/es/components/tooltip/src/tooltip.vue.d.ts +14 -14
  408. package/es/components/tooltip/src/trigger.d.ts +1 -1
  409. package/es/components/tour/src/content.d.ts +2 -2
  410. package/es/components/tour/src/step.d.ts +1 -1
  411. package/es/components/tour/src/tour.d.ts +1 -1
  412. package/es/components/tour/src/tour.vue.d.ts +5 -5
  413. package/es/components/tree/src/tree.vue.d.ts +26 -26
  414. package/es/components/tree-select/src/tree-select.vue.d.ts +41 -41
  415. package/es/components/tree-v2/src/tree.vue.d.ts +9 -9
  416. package/es/components/upload/src/upload-content.vue.d.ts +2 -2
  417. package/es/components/upload/src/upload.vue.d.ts +3 -3
  418. package/es/components/virtual-list/src/builders/build-grid.d.ts +3 -3
  419. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
  420. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +4 -4
  421. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
  422. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +4 -4
  423. package/es/hooks/use-floating/index.d.ts +8 -8
  424. package/es/hooks/use-popper/index.d.ts +4 -4
  425. package/es/utils/vue/size.d.ts +1 -1
  426. package/es/version.mjs +1 -1
  427. package/es/version.mjs.map +1 -1
  428. package/lib/components/affix/src/affix.d.ts +1 -1
  429. package/lib/components/affix/src/affix.vue.d.ts +2 -2
  430. package/lib/components/alert/src/alert.d.ts +1 -1
  431. package/lib/components/alert/src/alert.vue.d.ts +1 -1
  432. package/lib/components/anchor/src/anchor.d.ts +1 -1
  433. package/lib/components/anchor/src/anchor.vue.d.ts +2 -2
  434. package/lib/components/autocomplete/src/autocomplete.d.ts +4 -4
  435. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  436. package/lib/components/avatar/src/avatar.d.ts +1 -1
  437. package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
  438. package/lib/components/badge/src/badge.d.ts +1 -1
  439. package/lib/components/badge/src/badge.vue.d.ts +1 -1
  440. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  441. package/lib/components/button/src/button.d.ts +1 -1
  442. package/lib/components/button/src/button.vue.d.ts +4 -4
  443. package/lib/components/calendar/src/calendar.d.ts +1 -1
  444. package/lib/components/calendar/src/calendar.vue.d.ts +1 -1
  445. package/lib/components/card/src/card.d.ts +1 -1
  446. package/lib/components/carousel/src/carousel.d.ts +2 -2
  447. package/lib/components/carousel/src/carousel.vue.d.ts +3 -3
  448. package/lib/components/cascader/src/cascader.d.ts +2 -2
  449. package/lib/components/cascader/src/cascader.vue.d.ts +16 -16
  450. package/lib/components/cascader-panel/src/index.vue.d.ts +3 -3
  451. package/lib/components/cascader-panel/src/menu.vue.d.ts +1 -1
  452. package/lib/components/check-tag/src/check-tag.d.ts +1 -1
  453. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
  454. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +1 -1
  455. package/lib/components/checkbox/src/checkbox.d.ts +2 -2
  456. package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -4
  457. package/lib/components/col/src/col.vue.d.ts +2 -2
  458. package/lib/components/collapse/src/collapse.d.ts +1 -1
  459. package/lib/components/color-picker/src/color-picker.vue.d.ts +9 -9
  460. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  461. package/lib/components/config-provider/src/config-provider.d.ts +1 -1
  462. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  463. package/lib/components/date-picker/src/date-picker.d.ts +15 -15
  464. package/lib/components/date-picker/src/props.d.ts +2 -2
  465. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  466. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  467. package/lib/components/descriptions/src/description-item.d.ts +10 -10
  468. package/lib/components/dialog/src/dialog.vue.d.ts +5 -5
  469. package/lib/components/divider/src/divider.d.ts +1 -1
  470. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  471. package/lib/components/drawer/src/drawer.vue.d.ts +7 -7
  472. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  473. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  474. package/lib/components/dropdown/src/dropdown.d.ts +4 -4
  475. package/lib/components/dropdown/src/dropdown.vue.d.ts +86 -86
  476. package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  477. package/lib/components/form/src/form-item.d.ts +2 -2
  478. package/lib/components/form/src/form-item.vue.d.ts +1 -1
  479. package/lib/components/form/src/form.d.ts +2 -2
  480. package/lib/components/form/src/form.vue.d.ts +1 -1
  481. package/lib/components/image/src/image.d.ts +1 -1
  482. package/lib/components/image/src/image.vue.d.ts +10 -10
  483. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +6 -6
  484. package/lib/components/input/src/input.d.ts +3 -3
  485. package/lib/components/input/src/input.vue.d.ts +8 -8
  486. package/lib/components/input-number/src/input-number.d.ts +3 -3
  487. package/lib/components/input-number/src/input-number.vue.d.ts +9 -9
  488. package/lib/components/input-otp/src/input-otp.vue.d.ts +6 -6
  489. package/lib/components/input-tag/src/input-tag.d.ts +2 -2
  490. package/lib/components/input-tag/src/input-tag.vue.d.ts +12 -12
  491. package/lib/components/link/src/link.d.ts +2 -2
  492. package/lib/components/mention/src/mention.d.ts +4 -4
  493. package/lib/components/mention/src/mention.vue.d.ts +3 -3
  494. package/lib/components/menu/src/menu.d.ts +10 -10
  495. package/lib/components/message/src/message.d.ts +2 -2
  496. package/lib/components/message/src/message.vue.d.ts +4 -4
  497. package/lib/components/notification/src/notification.d.ts +1 -1
  498. package/lib/components/notification/src/notification.vue.d.ts +4 -4
  499. package/lib/components/page-header/src/page-header.vue.d.ts +1 -1
  500. package/lib/components/pagination/src/pagination.d.ts +3 -3
  501. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  502. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  503. package/lib/components/popover/src/popover.d.ts +2 -2
  504. package/lib/components/popover/src/popover.vue.d.ts +12 -12
  505. package/lib/components/popper/src/composables/use-content.d.ts +4 -4
  506. package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  507. package/lib/components/popper/src/content.d.ts +4 -4
  508. package/lib/components/popper/src/content.vue.d.ts +7 -7
  509. package/lib/components/popper/src/popper.d.ts +2 -2
  510. package/lib/components/progress/src/progress.d.ts +2 -2
  511. package/lib/components/progress/src/progress.vue.d.ts +3 -3
  512. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  513. package/lib/components/radio/src/radio-group.vue.d.ts +4 -4
  514. package/lib/components/radio/src/radio.vue.d.ts +3 -3
  515. package/lib/components/rate/src/rate.vue.d.ts +2 -2
  516. package/lib/components/result/src/result.d.ts +1 -1
  517. package/lib/components/row/src/row.d.ts +2 -2
  518. package/lib/components/row/src/row.vue.d.ts +1 -1
  519. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +4 -4
  520. package/lib/components/segmented/index.d.ts +1 -1
  521. package/lib/components/select/src/option.d.ts +1 -1
  522. package/lib/components/select/src/option.vue.d.ts +2 -2
  523. package/lib/components/select/src/select.d.ts +3 -3
  524. package/lib/components/select/src/select.vue.d.ts +91 -91
  525. package/lib/components/select/src/useSelect.js +2 -1
  526. package/lib/components/select/src/useSelect.js.map +1 -1
  527. package/lib/components/select-v2/src/defaults.d.ts +2 -2
  528. package/lib/components/select-v2/src/select.vue.d.ts +71 -71
  529. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  530. package/lib/components/slider/src/button.vue.d.ts +2 -2
  531. package/lib/components/slider/src/slider.vue.d.ts +6 -6
  532. package/lib/components/space/src/space.d.ts +1 -1
  533. package/lib/components/splitter/src/splitter.vue.d.ts +2 -2
  534. package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
  535. package/lib/components/steps/src/item.d.ts +1 -1
  536. package/lib/components/steps/src/item.vue.d.ts +1 -1
  537. package/lib/components/steps/src/steps.d.ts +2 -2
  538. package/lib/components/steps/src/steps.vue.d.ts +1 -1
  539. package/lib/components/switch/src/switch.vue.d.ts +2 -2
  540. package/lib/components/table/src/table-column/index.d.ts +16 -16
  541. package/lib/components/table/src/table-footer/index.d.ts +1 -1
  542. package/lib/components/table/src/table-header/index.d.ts +14 -14
  543. package/lib/components/table/src/table.vue.d.ts +41 -41
  544. package/lib/components/table-v2/src/components/row.d.ts +1 -1
  545. package/lib/components/table-v2/src/table-grid.d.ts +3 -3
  546. package/lib/components/table-v2/src/table-v2.d.ts +3 -3
  547. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  548. package/lib/components/tabs/src/tab-pane.vue.d.ts +1 -1
  549. package/lib/components/tabs/src/tabs.d.ts +6 -6
  550. package/lib/components/tag/src/tag.d.ts +1 -1
  551. package/lib/components/text/src/text.d.ts +1 -1
  552. package/lib/components/time-picker/src/common/picker.vue.d.ts +21 -21
  553. package/lib/components/time-picker/src/common/props.d.ts +2 -2
  554. package/lib/components/time-picker/src/time-picker.d.ts +15 -15
  555. package/lib/components/time-select/src/time-select.vue.d.ts +9 -9
  556. package/lib/components/timeline/src/timeline-item.d.ts +3 -3
  557. package/lib/components/tooltip/src/content.d.ts +1 -1
  558. package/lib/components/tooltip/src/content.vue.d.ts +10 -10
  559. package/lib/components/tooltip/src/tooltip.d.ts +3 -3
  560. package/lib/components/tooltip/src/tooltip.vue.d.ts +14 -14
  561. package/lib/components/tooltip/src/trigger.d.ts +1 -1
  562. package/lib/components/tour/src/content.d.ts +2 -2
  563. package/lib/components/tour/src/step.d.ts +1 -1
  564. package/lib/components/tour/src/tour.d.ts +1 -1
  565. package/lib/components/tour/src/tour.vue.d.ts +5 -5
  566. package/lib/components/tree/src/tree.vue.d.ts +26 -26
  567. package/lib/components/tree-select/src/tree-select.vue.d.ts +41 -41
  568. package/lib/components/tree-v2/src/tree.vue.d.ts +9 -9
  569. package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
  570. package/lib/components/upload/src/upload.vue.d.ts +3 -3
  571. package/lib/components/virtual-list/src/builders/build-grid.d.ts +3 -3
  572. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
  573. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +4 -4
  574. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
  575. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +4 -4
  576. package/lib/hooks/use-floating/index.d.ts +8 -8
  577. package/lib/hooks/use-popper/index.d.ts +4 -4
  578. package/lib/utils/vue/size.d.ts +1 -1
  579. package/lib/version.js +1 -1
  580. package/lib/version.js.map +1 -1
  581. package/package.json +5 -5
  582. package/web-types.json +1 -1
@@ -1 +1 @@
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 {\n ScrollbarDirection,\n ScrollbarInstance,\n} 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 const endReached = (direction: ScrollbarDirection) => {\n emit('end-reached', direction)\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 endReached,\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 {\n ScrollbarDirection,\n ScrollbarInstance,\n} 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\n const existingSelected = states.selected.find((item) =>\n isObjectValue\n ? get(item.value, props.valueKey) === get(value, props.valueKey)\n : item.value === value\n )\n const label = isObjectValue\n ? value.label\n : existingSelected\n ? existingSelected.currentLabel\n : (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 const endReached = (direction: ScrollbarDirection) => {\n emit('end-reached', direction)\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 endReached,\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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"}
@@ -217,11 +217,11 @@ declare const selectV2Props: {
217
217
  readonly offset: EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
218
218
  readonly remoteShowSuffix: BooleanConstructor;
219
219
  readonly showArrow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
220
- readonly placement: EpPropFinalized<(new (...args: any[]) => "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom-start", boolean>;
220
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "auto" | "top" | "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[]) => "auto" | "top" | "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>;
221
221
  readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom-start", "top-start", "right", "left"], boolean>;
222
222
  readonly tagType: {
223
223
  readonly default: "info";
224
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "success" | "warning" | "info" | "primary" | "danger", unknown>>;
224
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "primary" | "success" | "info" | "warning" | "danger", unknown>>;
225
225
  readonly required: false;
226
226
  readonly validator: ((val: unknown) => boolean) | undefined;
227
227
  readonly __epPropKey: true;
@@ -209,11 +209,11 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
209
209
  readonly offset: EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
210
210
  readonly remoteShowSuffix: BooleanConstructor;
211
211
  readonly showArrow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
212
- readonly placement: EpPropFinalized<(new (...args: any[]) => "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom-start", boolean>;
212
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "auto" | "top" | "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[]) => "auto" | "top" | "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>;
213
213
  readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom-start", "top-start", "right", "left"], boolean>;
214
214
  readonly tagType: {
215
215
  readonly default: "info";
216
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "success" | "warning" | "info" | "primary" | "danger", unknown>>;
216
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "primary" | "success" | "info" | "warning" | "danger", unknown>>;
217
217
  readonly required: false;
218
218
  readonly validator: ((val: unknown) => boolean) | undefined;
219
219
  readonly __epPropKey: true;
@@ -329,7 +329,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
329
329
  suffixRef: vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
330
330
  collapseItemRef: vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
331
331
  popperRef: vue.ComputedRef<HTMLElement | undefined>;
332
- validateState: vue.ComputedRef<"error" | "" | "success" | "validating">;
332
+ validateState: vue.ComputedRef<"" | "success" | "error" | "validating">;
333
333
  validateIcon: vue.ComputedRef<vue.DefineComponent<{}, void, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any> | undefined>;
334
334
  showTagList: vue.ComputedRef<Option[]>;
335
335
  collapseTagList: vue.ComputedRef<Option[]>;
@@ -560,11 +560,11 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
560
560
  readonly offset: EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
561
561
  readonly remoteShowSuffix: BooleanConstructor;
562
562
  readonly showArrow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
563
- readonly placement: EpPropFinalized<(new (...args: any[]) => "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom-start", boolean>;
563
+ readonly placement: EpPropFinalized<(new (...args: any[]) => "auto" | "top" | "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[]) => "auto" | "top" | "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>;
564
564
  readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom-start", "top-start", "right", "left"], boolean>;
565
565
  readonly tagType: {
566
566
  readonly default: "info";
567
- readonly type: vue.PropType<EpPropMergeType<StringConstructor, "success" | "warning" | "info" | "primary" | "danger", unknown>>;
567
+ readonly type: vue.PropType<EpPropMergeType<StringConstructor, "primary" | "success" | "info" | "warning" | "danger", unknown>>;
568
568
  readonly required: false;
569
569
  readonly validator: ((val: unknown) => boolean) | undefined;
570
570
  readonly __epPropKey: true;
@@ -586,53 +586,53 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
586
586
  readonly fitInputWidth: EpPropFinalized<readonly [BooleanConstructor, NumberConstructor], unknown, number | boolean, true, boolean>;
587
587
  readonly suffixIcon: EpPropFinalized<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown, vue.DefineComponent<{}, void, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>, boolean>;
588
588
  }>> & Readonly<{
589
- onClear?: (() => any) | undefined;
590
- onBlur?: ((evt: FocusEvent) => any) | undefined;
591
589
  onChange?: ((val: any) => any) | undefined;
592
- onFocus?: ((evt: FocusEvent) => any) | undefined;
593
590
  "onUpdate:modelValue"?: ((val: any) => any) | undefined;
591
+ onClear?: (() => any) | undefined;
594
592
  "onEnd-reached"?: ((direction: ScrollbarDirection) => any) | undefined;
595
- "onVisible-change"?: ((visible: boolean) => any) | undefined;
593
+ onBlur?: ((evt: FocusEvent) => any) | undefined;
594
+ onFocus?: ((evt: FocusEvent) => any) | undefined;
596
595
  "onRemove-tag"?: ((val: unknown) => any) | undefined;
596
+ "onVisible-change"?: ((visible: boolean) => any) | undefined;
597
597
  }>, {
598
- readonly loading: boolean;
598
+ readonly valueOnClear: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
599
599
  readonly props: Props;
600
- readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
601
600
  readonly disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
602
- readonly teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
603
601
  readonly effect: EpPropMergeType<(new (...args: any[]) => string) | (() => PopperEffect) | (((new (...args: any[]) => string) | (() => PopperEffect)) | null)[], unknown, unknown>;
604
- readonly fallbackPlacements: Placement[];
602
+ readonly modelValue: any;
603
+ readonly tabindex: EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
604
+ readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
605
+ readonly loading: boolean;
605
606
  readonly offset: number;
606
- readonly placement: EpPropMergeType<(new (...args: any[]) => "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown>;
607
+ readonly placement: EpPropMergeType<(new (...args: any[]) => "auto" | "top" | "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[]) => "auto" | "top" | "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>;
607
608
  readonly popperOptions: Partial<Options>;
608
609
  readonly showArrow: EpPropMergeType<BooleanConstructor, unknown, unknown>;
610
+ readonly fallbackPlacements: Placement[];
609
611
  readonly height: number;
612
+ readonly scrollbarAlwaysOn: boolean;
610
613
  readonly multiple: boolean;
611
- readonly valueOnClear: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
612
- readonly modelValue: any;
613
- readonly autocomplete: EpPropMergeType<(new (...args: any[]) => "none" | "both" | "inline" | "list") | (() => "none" | "both" | "inline" | "list") | (((new (...args: any[]) => "none" | "both" | "inline" | "list") | (() => "none" | "both" | "inline" | "list")) | null)[], unknown, unknown>;
614
+ readonly automaticDropdown: boolean;
615
+ readonly teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
616
+ readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
614
617
  readonly clearable: boolean;
615
618
  readonly clearIcon: EpPropMergeType<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown>;
616
- readonly suffixIcon: EpPropMergeType<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown>;
617
- readonly tabindex: EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
618
- readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
619
- readonly valueKey: string;
620
- readonly debounce: number;
621
- readonly fitInputWidth: EpPropMergeType<readonly [BooleanConstructor, NumberConstructor], unknown, number | boolean>;
622
619
  readonly filterable: boolean;
623
- readonly collapseTags: boolean;
624
- readonly maxCollapseTags: number;
625
- readonly collapseTagsTooltip: boolean;
626
- readonly tagType: EpPropMergeType<StringConstructor, "success" | "warning" | "info" | "primary" | "danger", unknown>;
627
- readonly tagEffect: EpPropMergeType<StringConstructor, "light" | "dark" | "plain", unknown>;
628
- readonly scrollbarAlwaysOn: boolean;
629
- readonly automaticDropdown: boolean;
620
+ readonly autocomplete: EpPropMergeType<(new (...args: any[]) => "none" | "both" | "inline" | "list") | (() => "none" | "both" | "inline" | "list") | (((new (...args: any[]) => "none" | "both" | "inline" | "list") | (() => "none" | "both" | "inline" | "list")) | null)[], unknown, unknown>;
630
621
  readonly allowCreate: boolean;
631
622
  readonly remote: boolean;
623
+ readonly debounce: number;
632
624
  readonly multipleLimit: number;
633
625
  readonly defaultFirstOption: boolean;
634
626
  readonly reserveKeyword: EpPropMergeType<BooleanConstructor, unknown, unknown>;
627
+ readonly valueKey: string;
628
+ readonly collapseTags: boolean;
629
+ readonly collapseTagsTooltip: boolean;
635
630
  readonly tagTooltip: TagTooltipProps;
631
+ readonly maxCollapseTags: number;
632
+ readonly fitInputWidth: EpPropMergeType<readonly [BooleanConstructor, NumberConstructor], unknown, number | boolean>;
633
+ readonly suffixIcon: EpPropMergeType<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown>;
634
+ readonly tagType: EpPropMergeType<StringConstructor, "primary" | "success" | "info" | "warning" | "danger", unknown>;
635
+ readonly tagEffect: EpPropMergeType<StringConstructor, "light" | "dark" | "plain", unknown>;
636
636
  readonly remoteShowSuffix: boolean;
637
637
  readonly estimatedOptionHeight: number;
638
638
  readonly itemHeight: number;
@@ -710,12 +710,12 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
710
710
  ElTooltip: SFCWithInstall<{
711
711
  new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<UseTooltipProps> & Readonly<{
712
712
  onClose?: ((...args: any[]) => any) | undefined;
713
+ onHide?: ((...args: any[]) => any) | undefined;
713
714
  onShow?: ((...args: any[]) => any) | undefined;
714
715
  onOpen?: ((...args: any[]) => any) | undefined;
715
716
  "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
716
717
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
717
718
  "onBefore-hide"?: ((...args: any[]) => any) | undefined;
718
- onHide?: ((...args: any[]) => any) | undefined;
719
719
  }>, {
720
720
  popperRef: vue.Ref<PopperInstance | undefined, PopperInstance | undefined>;
721
721
  contentRef: vue.Ref<TooltipContentInstance | undefined, TooltipContentInstance | undefined>;
@@ -726,38 +726,38 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
726
726
  hide: (event?: Event) => void;
727
727
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
728
728
  close: (...args: any[]) => void;
729
+ hide: (...args: any[]) => void;
729
730
  show: (...args: any[]) => void;
730
731
  open: (...args: any[]) => void;
731
732
  "update:visible": (...args: any[]) => void;
732
733
  "before-show": (...args: any[]) => void;
733
734
  "before-hide": (...args: any[]) => void;
734
- hide: (...args: any[]) => void;
735
735
  }, vue.PublicProps, {
736
- popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
737
- style: string | false | vue.CSSProperties | vue.StyleValue[] | null;
738
- role: typeof roleTypes[number];
739
- teleported: boolean;
740
- visible: boolean | null;
741
736
  effect: PopperEffect;
742
737
  enterable: boolean;
738
+ hideAfter: number;
739
+ offset: number;
740
+ placement: Placement;
741
+ popperOptions: Partial<Options>;
742
+ showAfter: number;
743
+ showArrow: boolean;
744
+ visible: boolean | null;
745
+ style: string | false | vue.CSSProperties | vue.StyleValue[] | null;
743
746
  pure: boolean;
744
747
  focusOnShow: boolean;
745
748
  trapping: boolean;
749
+ popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
746
750
  stopPopperMouseEvent: boolean;
747
751
  virtualTriggering: boolean;
748
752
  loop: boolean;
749
753
  boundariesPadding: number;
750
754
  gpuAcceleration: boolean;
751
- offset: number;
752
- placement: Placement;
753
- popperOptions: Partial<Options>;
754
- strategy: "absolute" | "fixed";
755
+ strategy: "fixed" | "absolute";
755
756
  arrowOffset: number;
756
- showArrow: boolean;
757
+ role: typeof roleTypes[number];
757
758
  content: string;
758
- showAfter: number;
759
- hideAfter: number;
760
759
  autoClose: number;
760
+ teleported: boolean;
761
761
  trigger: Arrayable<TooltipTriggerType>;
762
762
  triggerKeys: string[];
763
763
  }, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
@@ -769,12 +769,12 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
769
769
  Defaults: {};
770
770
  }, Readonly<UseTooltipProps> & Readonly<{
771
771
  onClose?: ((...args: any[]) => any) | undefined;
772
+ onHide?: ((...args: any[]) => any) | undefined;
772
773
  onShow?: ((...args: any[]) => any) | undefined;
773
774
  onOpen?: ((...args: any[]) => any) | undefined;
774
775
  "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
775
776
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
776
777
  "onBefore-hide"?: ((...args: any[]) => any) | undefined;
777
- onHide?: ((...args: any[]) => any) | undefined;
778
778
  }>, {
779
779
  popperRef: vue.Ref<PopperInstance | undefined, PopperInstance | undefined>;
780
780
  contentRef: vue.Ref<TooltipContentInstance | undefined, TooltipContentInstance | undefined>;
@@ -784,31 +784,31 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
784
784
  onClose: (event?: Event, delay?: number) => void;
785
785
  hide: (event?: Event) => void;
786
786
  }, {}, {}, {}, {
787
- popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
788
- style: string | false | vue.CSSProperties | vue.StyleValue[] | null;
789
- role: typeof roleTypes[number];
790
- teleported: boolean;
791
- visible: boolean | null;
792
787
  effect: PopperEffect;
793
788
  enterable: boolean;
789
+ hideAfter: number;
790
+ offset: number;
791
+ placement: Placement;
792
+ popperOptions: Partial<Options>;
793
+ showAfter: number;
794
+ showArrow: boolean;
795
+ visible: boolean | null;
796
+ style: string | false | vue.CSSProperties | vue.StyleValue[] | null;
794
797
  pure: boolean;
795
798
  focusOnShow: boolean;
796
799
  trapping: boolean;
800
+ popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
797
801
  stopPopperMouseEvent: boolean;
798
802
  virtualTriggering: boolean;
799
803
  loop: boolean;
800
804
  boundariesPadding: number;
801
805
  gpuAcceleration: boolean;
802
- offset: number;
803
- placement: Placement;
804
- popperOptions: Partial<Options>;
805
- strategy: "absolute" | "fixed";
806
+ strategy: "fixed" | "absolute";
806
807
  arrowOffset: number;
807
- showArrow: boolean;
808
+ role: typeof roleTypes[number];
808
809
  content: string;
809
- showAfter: number;
810
- hideAfter: number;
811
810
  autoClose: number;
811
+ teleported: boolean;
812
812
  trigger: Arrayable<TooltipTriggerType>;
813
813
  triggerKeys: string[];
814
814
  }>;
@@ -817,12 +817,12 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
817
817
  __isSuspense?: never;
818
818
  } & vue.ComponentOptionsBase<Readonly<UseTooltipProps> & Readonly<{
819
819
  onClose?: ((...args: any[]) => any) | undefined;
820
+ onHide?: ((...args: any[]) => any) | undefined;
820
821
  onShow?: ((...args: any[]) => any) | undefined;
821
822
  onOpen?: ((...args: any[]) => any) | undefined;
822
823
  "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
823
824
  "onBefore-show"?: ((...args: any[]) => any) | undefined;
824
825
  "onBefore-hide"?: ((...args: any[]) => any) | undefined;
825
- onHide?: ((...args: any[]) => any) | undefined;
826
826
  }>, {
827
827
  popperRef: vue.Ref<PopperInstance | undefined, PopperInstance | undefined>;
828
828
  contentRef: vue.Ref<TooltipContentInstance | undefined, TooltipContentInstance | undefined>;
@@ -833,38 +833,38 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
833
833
  hide: (event?: Event) => void;
834
834
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
835
835
  close: (...args: any[]) => void;
836
+ hide: (...args: any[]) => void;
836
837
  show: (...args: any[]) => void;
837
838
  open: (...args: any[]) => void;
838
839
  "update:visible": (...args: any[]) => void;
839
840
  "before-show": (...args: any[]) => void;
840
841
  "before-hide": (...args: any[]) => void;
841
- hide: (...args: any[]) => void;
842
842
  }, string, {
843
- popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
844
- style: string | false | vue.CSSProperties | vue.StyleValue[] | null;
845
- role: typeof roleTypes[number];
846
- teleported: boolean;
847
- visible: boolean | null;
848
843
  effect: PopperEffect;
849
844
  enterable: boolean;
845
+ hideAfter: number;
846
+ offset: number;
847
+ placement: Placement;
848
+ popperOptions: Partial<Options>;
849
+ showAfter: number;
850
+ showArrow: boolean;
851
+ visible: boolean | null;
852
+ style: string | false | vue.CSSProperties | vue.StyleValue[] | null;
850
853
  pure: boolean;
851
854
  focusOnShow: boolean;
852
855
  trapping: boolean;
856
+ popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
853
857
  stopPopperMouseEvent: boolean;
854
858
  virtualTriggering: boolean;
855
859
  loop: boolean;
856
860
  boundariesPadding: number;
857
861
  gpuAcceleration: boolean;
858
- offset: number;
859
- placement: Placement;
860
- popperOptions: Partial<Options>;
861
- strategy: "absolute" | "fixed";
862
+ strategy: "fixed" | "absolute";
862
863
  arrowOffset: number;
863
- showArrow: boolean;
864
+ role: typeof roleTypes[number];
864
865
  content: string;
865
- showAfter: number;
866
- hideAfter: number;
867
866
  autoClose: number;
867
+ teleported: boolean;
868
868
  trigger: Arrayable<TooltipTriggerType>;
869
869
  triggerKeys: string[];
870
870
  }, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
@@ -14,7 +14,7 @@ interface SkeletonItemProps {
14
14
  * @deprecated Removed after 3.0.0, Use `SkeletonItemProps` instead.
15
15
  */
16
16
  declare const skeletonItemProps: {
17
- readonly variant: EpPropFinalized<StringConstructor, "button" | "caption" | "h1" | "h3" | "p" | "text" | "circle" | "image" | "rect", unknown, "text", boolean>;
17
+ readonly variant: EpPropFinalized<StringConstructor, "button" | "image" | "caption" | "h1" | "h3" | "p" | "text" | "circle" | "rect", unknown, "text", boolean>;
18
18
  };
19
19
  /**
20
20
  * @deprecated Removed after 3.0.0, Use `SkeletonItemProps` instead.
@@ -26,9 +26,9 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
26
26
  }>> & Readonly<{
27
27
  "onUpdate:modelValue"?: ((value: number) => any) | undefined;
28
28
  }>, {
29
- readonly vertical: boolean;
30
- readonly placement: EpPropMergeType<StringConstructor, Placement, unknown>;
31
29
  readonly modelValue: number;
30
+ readonly placement: EpPropMergeType<StringConstructor, Placement, unknown>;
31
+ readonly vertical: boolean;
32
32
  }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
33
33
  declare const _default: typeof __VLS_export;
34
34
  //#endregion
@@ -155,20 +155,20 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
155
155
  readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
156
156
  readonly persistent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
157
157
  }>> & Readonly<{
158
- onInput?: ((value: Arrayable<number>) => any) | undefined;
159
158
  onChange?: ((value: Arrayable<number>) => any) | undefined;
160
159
  "onUpdate:modelValue"?: ((value: Arrayable<number>) => any) | undefined;
160
+ onInput?: ((value: Arrayable<number>) => any) | undefined;
161
161
  }>, {
162
- readonly vertical: boolean;
163
- readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
164
162
  readonly disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
163
+ readonly modelValue: EpPropMergeType<(new (...args: any[]) => number | number[]) | (() => Arrayable<number>) | (((new (...args: any[]) => number | number[]) | (() => Arrayable<number>)) | null)[], unknown, unknown>;
165
164
  readonly id: string;
165
+ readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
166
166
  readonly placement: EpPropMergeType<StringConstructor, Placement, unknown>;
167
+ readonly vertical: boolean;
167
168
  readonly range: boolean;
168
- readonly modelValue: EpPropMergeType<(new (...args: any[]) => number | number[]) | (() => Arrayable<number>) | (((new (...args: any[]) => number | number[]) | (() => Arrayable<number>)) | null)[], unknown, unknown>;
169
- readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
170
- readonly max: number;
169
+ readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
171
170
  readonly min: number;
171
+ readonly max: number;
172
172
  readonly step: EpPropMergeType<(new (...args: any[]) => number | "mark") | (() => number | "mark") | (((new (...args: any[]) => number | "mark") | (() => number | "mark")) | null)[], unknown, unknown>;
173
173
  readonly showInputControls: EpPropMergeType<BooleanConstructor, unknown, unknown>;
174
174
  readonly showTooltip: EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -86,8 +86,8 @@ declare const Space: vue.DefineComponent<ExtractPropTypes<{
86
86
  }>> & Readonly<{}>, {
87
87
  readonly fill: boolean;
88
88
  readonly style: StyleValue;
89
- readonly class: EpPropMergeType<(new (...args: any[]) => string | Record<string, boolean> | (string | Record<string, boolean>)[]) | (() => Arrayable<string | Record<string, boolean>>) | (((new (...args: any[]) => string | Record<string, boolean> | (string | Record<string, boolean>)[]) | (() => Arrayable<string | Record<string, boolean>>)) | null)[], unknown, unknown>;
90
89
  readonly direction: EpPropMergeType<StringConstructor, "horizontal" | "vertical", unknown>;
90
+ readonly class: EpPropMergeType<(new (...args: any[]) => string | Record<string, boolean> | (string | Record<string, boolean>)[]) | (() => Arrayable<string | Record<string, boolean>>) | (((new (...args: any[]) => string | Record<string, boolean> | (string | Record<string, boolean>)[]) | (() => Arrayable<string | Record<string, boolean>>)) | null)[], unknown, unknown>;
91
91
  readonly wrap: boolean;
92
92
  readonly alignment: EpPropMergeType<(new (...args: any[]) => string) | (() => csstype.Property.AlignItems | undefined) | (((new (...args: any[]) => string) | (() => csstype.Property.AlignItems | undefined)) | null)[], unknown, unknown>;
93
93
  readonly spacer: EpPropMergeType<(new (...args: any[]) => VNodeChild & {}) | (() => VNodeChild) | (((new (...args: any[]) => VNodeChild & {}) | (() => VNodeChild)) | null)[], unknown, string | number | VNode<vue.RendererNode, vue.RendererElement, {
@@ -8,13 +8,13 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_1) => any;
9
9
  };
10
10
  declare const __VLS_base: vue.DefineComponent<SplitterProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
- collapse: (index: number, type: "end" | "start", sizes: number[]) => void;
12
11
  resize: (index: number, sizes: number[]) => void;
12
+ collapse: (index: number, type: "end" | "start", sizes: number[]) => void;
13
13
  resizeStart: (index: number, sizes: number[]) => void;
14
14
  resizeEnd: (index: number, sizes: number[]) => void;
15
15
  }, string, vue.PublicProps, Readonly<SplitterProps> & Readonly<{
16
- onCollapse?: ((index: number, type: "end" | "start", sizes: number[]) => any) | undefined;
17
16
  onResize?: ((index: number, sizes: number[]) => any) | undefined;
17
+ onCollapse?: ((index: number, type: "end" | "start", sizes: number[]) => any) | undefined;
18
18
  onResizeStart?: ((index: number, sizes: number[]) => any) | undefined;
19
19
  onResizeEnd?: ((index: number, sizes: number[]) => any) | undefined;
20
20
  }>, {