@element-plus/nightly 0.0.20260612 → 0.0.20260613

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 (682) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +64 -6
  3. package/dist/index.full.min.js +3 -3
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +3 -3
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +64 -6
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/affix/src/affix.d.ts +1 -1
  277. package/es/components/affix/src/affix.vue.d.ts +1 -1
  278. package/es/components/anchor/src/anchor.vue.d.ts +3 -3
  279. package/es/components/autocomplete/src/autocomplete.d.ts +3 -3
  280. package/es/components/autocomplete/src/autocomplete.vue.d.ts +2 -2
  281. package/es/components/avatar/src/avatar-group-props.d.ts +1 -1
  282. package/es/components/avatar/src/avatar-group.d.ts +2 -2
  283. package/es/components/avatar/src/avatar.d.ts +2 -2
  284. package/es/components/badge/src/badge.vue.d.ts +1 -1
  285. package/es/components/button/src/button-group.d.ts +2 -2
  286. package/es/components/button/src/button-group.vue.d.ts +1 -1
  287. package/es/components/button/src/button.d.ts +2 -2
  288. package/es/components/button/src/button.vue.d.ts +5 -5
  289. package/es/components/button/src/use-button.d.ts +2 -2
  290. package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
  291. package/es/components/carousel/src/carousel.vue.d.ts +1 -1
  292. package/es/components/cascader/src/cascader.d.ts +3 -3
  293. package/es/components/cascader/src/cascader.vue.d.ts +7 -7
  294. package/es/components/cascader-panel/src/index.vue.d.ts +2 -2
  295. package/es/components/cascader-panel/src/menu.vue.d.ts +1 -1
  296. package/es/components/checkbox/src/checkbox-button.vue.d.ts +2 -2
  297. package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
  298. package/es/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  299. package/es/components/checkbox/src/checkbox.d.ts +9 -9
  300. package/es/components/checkbox/src/checkbox.vue.d.ts +2 -2
  301. package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  302. package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  303. package/es/components/collapse/src/collapse-item.vue.d.ts +1 -1
  304. package/es/components/color-picker/src/color-picker.d.ts +1 -1
  305. package/es/components/color-picker/src/color-picker.vue.d.ts +4 -4
  306. package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
  307. package/es/components/config-provider/src/config-provider.d.ts +2 -2
  308. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  309. package/es/components/date-picker/src/date-picker.d.ts +17 -17
  310. package/es/components/date-picker/src/props.d.ts +3 -3
  311. package/es/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  312. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +5 -5
  313. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +5 -5
  314. package/es/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  315. package/es/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +2 -2
  316. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  317. package/es/components/date-picker-panel/src/panel-utils.d.ts +30 -30
  318. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  319. package/es/components/date-picker-panel/src/props/panel-date-pick.d.ts +1 -1
  320. package/es/components/date-picker-panel/src/props/panel-date-range.d.ts +1 -1
  321. package/es/components/date-picker-panel/src/props/shared.d.ts +1 -1
  322. package/es/components/descriptions/src/description-item.d.ts +19 -19
  323. package/es/components/descriptions/src/description.d.ts +1 -1
  324. package/es/components/descriptions/src/description.vue.d.ts +2 -2
  325. package/es/components/dialog/src/dialog.vue.d.ts +4 -4
  326. package/es/components/divider/src/divider.d.ts +1 -1
  327. package/es/components/divider/src/divider.vue.d.ts +1 -1
  328. package/es/components/drawer/src/drawer.vue.d.ts +5 -5
  329. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +1 -1
  330. package/es/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  331. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  332. package/es/components/dropdown/src/dropdown.d.ts +3 -3
  333. package/es/components/dropdown/src/dropdown.vue.d.ts +48 -48
  334. package/es/components/form/src/form-item.d.ts +2 -2
  335. package/es/components/form/src/form-item.vue.d.ts +1 -1
  336. package/es/components/form/src/form.d.ts +3 -3
  337. package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  338. package/es/components/image/src/image.d.ts +1 -1
  339. package/es/components/image/src/image.vue.d.ts +4 -4
  340. package/es/components/input/src/input.d.ts +2 -2
  341. package/es/components/input/src/input.vue.d.ts +3 -3
  342. package/es/components/input-number/src/input-number.d.ts +3 -3
  343. package/es/components/input-number/src/input-number.vue.d.ts +3 -3
  344. package/es/components/input-otp/src/input-otp.vue.d.ts +3 -3
  345. package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  346. package/es/components/input-tag/src/input-tag.d.ts +1 -1
  347. package/es/components/input-tag/src/input-tag.vue.d.ts +4 -4
  348. package/es/components/mention/src/mention.d.ts +3 -3
  349. package/es/components/menu/src/menu.d.ts +2 -2
  350. package/es/components/message/src/instance.d.ts +1 -1
  351. package/es/components/message/src/message.d.ts +1 -1
  352. package/es/components/message/src/message.vue.d.ts +5 -5
  353. package/es/components/message-box/src/index.vue.d.ts +29 -29
  354. package/es/components/notification/src/notification.vue.d.ts +4 -4
  355. package/es/components/pagination/src/components/jumper.d.ts +1 -1
  356. package/es/components/pagination/src/components/jumper.vue.d.ts +2 -2
  357. package/es/components/pagination/src/components/sizes.d.ts +1 -1
  358. package/es/components/pagination/src/components/sizes.vue.d.ts +2 -2
  359. package/es/components/pagination/src/pagination.d.ts +6 -6
  360. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  361. package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  362. package/es/components/popover/src/popover.d.ts +1 -1
  363. package/es/components/popover/src/popover.vue.d.ts +3 -3
  364. package/es/components/popper/src/composables/use-content.d.ts +2 -2
  365. package/es/components/popper/src/content.vue.d.ts +1 -1
  366. package/es/components/popper/src/popper.d.ts +2 -2
  367. package/es/components/progress/src/progress.vue.d.ts +2 -2
  368. package/es/components/radio/src/radio-button.d.ts +4 -4
  369. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  370. package/es/components/radio/src/radio-group.d.ts +1 -1
  371. package/es/components/radio/src/radio-group.vue.d.ts +3 -3
  372. package/es/components/radio/src/radio.d.ts +8 -8
  373. package/es/components/radio/src/radio.vue.d.ts +3 -3
  374. package/es/components/radio/src/use-radio.d.ts +1 -1
  375. package/es/components/rate/src/rate.d.ts +1 -1
  376. package/es/components/result/src/result.vue.d.ts +1 -1
  377. package/es/components/row/src/row.d.ts +1 -1
  378. package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  379. package/es/components/segmented/index.d.ts +2 -2
  380. package/es/components/segmented/src/segmented.d.ts +2 -2
  381. package/es/components/select/src/option.d.ts +2 -2
  382. package/es/components/select/src/option.vue.d.ts +5 -5
  383. package/es/components/select/src/select.d.ts +4 -4
  384. package/es/components/select/src/select.vue.d.ts +45 -45
  385. package/es/components/select/src/useOption.d.ts +2 -2
  386. package/es/components/select/src/useSelect.d.ts +5 -5
  387. package/es/components/select-v2/src/defaults.d.ts +3 -3
  388. package/es/components/select-v2/src/select.vue.d.ts +32 -32
  389. package/es/components/select-v2/src/useSelect.d.ts +1 -1
  390. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  391. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  392. package/es/components/slider/src/slider.d.ts +2 -2
  393. package/es/components/slider/src/slider.vue.d.ts +6 -6
  394. package/es/components/space/src/space.d.ts +5 -5
  395. package/es/components/splitter/src/splitter.vue.d.ts +2 -2
  396. package/es/components/statistic/src/statistic.vue.d.ts +2 -2
  397. package/es/components/steps/src/item.d.ts +1 -1
  398. package/es/components/steps/src/item.vue.d.ts +1 -1
  399. package/es/components/steps/src/steps.d.ts +2 -2
  400. package/es/components/steps/src/steps.vue.d.ts +1 -1
  401. package/es/components/switch/src/switch.d.ts +1 -1
  402. package/es/components/switch/src/switch.vue.d.ts +3 -3
  403. package/es/components/table/src/filter-panel.vue.d.ts +30 -30
  404. package/es/components/table/src/store/helper.d.ts +1 -1
  405. package/es/components/table/src/store/index.d.ts +2 -2
  406. package/es/components/table/src/table/defaults.d.ts +6 -6
  407. package/es/components/table/src/table/style-helper.d.ts +2 -2
  408. package/es/components/table/src/table-column/defaults.d.ts +2 -2
  409. package/es/components/table/src/table-header/index.d.ts +7 -7
  410. package/es/components/table/src/table.vue.d.ts +5 -5
  411. package/es/components/table-v2/src/components/header.d.ts +1 -1
  412. package/es/components/table-v2/src/components/row.d.ts +1 -1
  413. package/es/components/table-v2/src/table-grid.d.ts +2 -2
  414. package/es/components/table-v2/src/table-v2.d.ts +4 -4
  415. package/es/components/tabs/src/tabs.d.ts +5 -5
  416. package/es/components/tag/src/tag.d.ts +1 -1
  417. package/es/components/text/src/text.d.ts +1 -1
  418. package/es/components/text/src/text.vue.d.ts +1 -1
  419. package/es/components/time-picker/src/common/picker.vue.d.ts +17 -17
  420. package/es/components/time-picker/src/common/props.d.ts +2 -2
  421. package/es/components/time-picker/src/time-picker.d.ts +15 -15
  422. package/es/components/time-select/src/time-select.d.ts +1 -1
  423. package/es/components/time-select/src/time-select.vue.d.ts +5 -5
  424. package/es/components/timeline/src/timeline-item.d.ts +1 -1
  425. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  426. package/es/components/tooltip/src/content.vue.d.ts +2 -2
  427. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  428. package/es/components/tooltip/src/tooltip.vue.d.ts +5 -5
  429. package/es/components/tour/src/content.d.ts +1 -1
  430. package/es/components/tour/src/content.vue.d.ts +1 -1
  431. package/es/components/tour/src/step.d.ts +1 -1
  432. package/es/components/tour/src/tour.d.ts +1 -1
  433. package/es/components/tour/src/tour.vue.d.ts +1 -1
  434. package/es/components/transfer/src/composables/use-check.d.ts +6 -1
  435. package/es/components/transfer/src/composables/use-check.mjs +12 -1
  436. package/es/components/transfer/src/composables/use-check.mjs.map +1 -1
  437. package/es/components/transfer/src/transfer-panel.d.ts +4 -0
  438. package/es/components/transfer/src/transfer-panel.mjs +3 -1
  439. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  440. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs +38 -4
  441. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  442. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  443. package/es/components/transfer/src/transfer.d.ts +10 -0
  444. package/es/components/transfer/src/transfer.mjs +11 -0
  445. package/es/components/transfer/src/transfer.mjs.map +1 -1
  446. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs +8 -0
  447. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  448. package/es/components/transfer/src/transfer2.mjs.map +1 -1
  449. package/es/components/transfer/style/css.mjs +1 -0
  450. package/es/components/transfer/style/index.mjs +1 -0
  451. package/es/components/tree/src/tree-node.vue.d.ts +8 -8
  452. package/es/components/tree/src/tree.vue.d.ts +16 -16
  453. package/es/components/tree-select/src/tree-select-option.d.ts +5 -5
  454. package/es/components/tree-select/src/tree-select.vue.d.ts +22 -22
  455. package/es/components/tree-v2/src/composables/useTree.d.ts +8 -8
  456. package/es/components/tree-v2/src/tree-node.vue.d.ts +3 -3
  457. package/es/components/tree-v2/src/tree.vue.d.ts +9 -9
  458. package/es/components/upload/src/upload-content.d.ts +1 -1
  459. package/es/components/upload/src/upload-content.vue.d.ts +2 -2
  460. package/es/components/upload/src/upload-list.d.ts +1 -1
  461. package/es/components/upload/src/upload.d.ts +2 -2
  462. package/es/components/upload/src/upload.vue.d.ts +2 -2
  463. package/es/components/virtual-list/src/builders/build-grid.d.ts +4 -4
  464. package/es/components/virtual-list/src/builders/build-list.d.ts +4 -4
  465. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +4 -4
  466. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +4 -4
  467. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +4 -4
  468. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +4 -4
  469. package/es/components/virtual-list/src/components/scrollbar.d.ts +2 -2
  470. package/es/hooks/use-floating/index.d.ts +4 -4
  471. package/es/hooks/use-popper/index.d.ts +2 -2
  472. package/es/hooks/use-size/index.d.ts +3 -3
  473. package/es/utils/vue/size.d.ts +1 -1
  474. package/es/utils/vue/vnode.d.ts +4 -4
  475. package/es/version.d.ts +1 -1
  476. package/es/version.mjs +1 -1
  477. package/es/version.mjs.map +1 -1
  478. package/lib/components/affix/src/affix.d.ts +1 -1
  479. package/lib/components/affix/src/affix.vue.d.ts +1 -1
  480. package/lib/components/anchor/src/anchor.vue.d.ts +3 -3
  481. package/lib/components/autocomplete/src/autocomplete.d.ts +3 -3
  482. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +2 -2
  483. package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
  484. package/lib/components/avatar/src/avatar-group.d.ts +2 -2
  485. package/lib/components/avatar/src/avatar.d.ts +2 -2
  486. package/lib/components/badge/src/badge.vue.d.ts +1 -1
  487. package/lib/components/button/src/button-group.d.ts +2 -2
  488. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  489. package/lib/components/button/src/button.d.ts +2 -2
  490. package/lib/components/button/src/button.vue.d.ts +5 -5
  491. package/lib/components/button/src/use-button.d.ts +2 -2
  492. package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
  493. package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
  494. package/lib/components/cascader/src/cascader.d.ts +3 -3
  495. package/lib/components/cascader/src/cascader.vue.d.ts +7 -7
  496. package/lib/components/cascader-panel/src/index.vue.d.ts +2 -2
  497. package/lib/components/cascader-panel/src/menu.vue.d.ts +1 -1
  498. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +2 -2
  499. package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
  500. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  501. package/lib/components/checkbox/src/checkbox.d.ts +9 -9
  502. package/lib/components/checkbox/src/checkbox.vue.d.ts +2 -2
  503. package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  504. package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  505. package/lib/components/collapse/src/collapse-item.vue.d.ts +1 -1
  506. package/lib/components/color-picker/src/color-picker.d.ts +1 -1
  507. package/lib/components/color-picker/src/color-picker.vue.d.ts +4 -4
  508. package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
  509. package/lib/components/config-provider/src/config-provider.d.ts +2 -2
  510. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  511. package/lib/components/date-picker/src/date-picker.d.ts +17 -17
  512. package/lib/components/date-picker/src/props.d.ts +3 -3
  513. package/lib/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  514. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +5 -5
  515. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +5 -5
  516. package/lib/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  517. package/lib/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +2 -2
  518. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  519. package/lib/components/date-picker-panel/src/panel-utils.d.ts +30 -30
  520. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  521. package/lib/components/date-picker-panel/src/props/panel-date-pick.d.ts +1 -1
  522. package/lib/components/date-picker-panel/src/props/panel-date-range.d.ts +1 -1
  523. package/lib/components/date-picker-panel/src/props/shared.d.ts +1 -1
  524. package/lib/components/descriptions/src/description-item.d.ts +19 -19
  525. package/lib/components/descriptions/src/description.d.ts +1 -1
  526. package/lib/components/descriptions/src/description.vue.d.ts +2 -2
  527. package/lib/components/dialog/src/dialog.vue.d.ts +4 -4
  528. package/lib/components/divider/src/divider.d.ts +1 -1
  529. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  530. package/lib/components/drawer/src/drawer.vue.d.ts +5 -5
  531. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +1 -1
  532. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  533. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  534. package/lib/components/dropdown/src/dropdown.d.ts +3 -3
  535. package/lib/components/dropdown/src/dropdown.vue.d.ts +48 -48
  536. package/lib/components/form/src/form-item.d.ts +2 -2
  537. package/lib/components/form/src/form-item.vue.d.ts +1 -1
  538. package/lib/components/form/src/form.d.ts +3 -3
  539. package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  540. package/lib/components/image/src/image.d.ts +1 -1
  541. package/lib/components/image/src/image.vue.d.ts +4 -4
  542. package/lib/components/input/src/input.d.ts +2 -2
  543. package/lib/components/input/src/input.vue.d.ts +3 -3
  544. package/lib/components/input-number/src/input-number.d.ts +3 -3
  545. package/lib/components/input-number/src/input-number.vue.d.ts +3 -3
  546. package/lib/components/input-otp/src/input-otp.vue.d.ts +3 -3
  547. package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  548. package/lib/components/input-tag/src/input-tag.d.ts +1 -1
  549. package/lib/components/input-tag/src/input-tag.vue.d.ts +4 -4
  550. package/lib/components/mention/src/mention.d.ts +3 -3
  551. package/lib/components/menu/src/menu.d.ts +2 -2
  552. package/lib/components/message/src/instance.d.ts +1 -1
  553. package/lib/components/message/src/message.d.ts +1 -1
  554. package/lib/components/message/src/message.vue.d.ts +5 -5
  555. package/lib/components/message-box/src/index.vue.d.ts +29 -29
  556. package/lib/components/notification/src/notification.vue.d.ts +4 -4
  557. package/lib/components/pagination/src/components/jumper.d.ts +1 -1
  558. package/lib/components/pagination/src/components/jumper.vue.d.ts +2 -2
  559. package/lib/components/pagination/src/components/sizes.d.ts +1 -1
  560. package/lib/components/pagination/src/components/sizes.vue.d.ts +2 -2
  561. package/lib/components/pagination/src/pagination.d.ts +6 -6
  562. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  563. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  564. package/lib/components/popover/src/popover.d.ts +1 -1
  565. package/lib/components/popover/src/popover.vue.d.ts +3 -3
  566. package/lib/components/popper/src/composables/use-content.d.ts +2 -2
  567. package/lib/components/popper/src/content.vue.d.ts +1 -1
  568. package/lib/components/popper/src/popper.d.ts +2 -2
  569. package/lib/components/progress/src/progress.vue.d.ts +2 -2
  570. package/lib/components/radio/src/radio-button.d.ts +4 -4
  571. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  572. package/lib/components/radio/src/radio-group.d.ts +1 -1
  573. package/lib/components/radio/src/radio-group.vue.d.ts +3 -3
  574. package/lib/components/radio/src/radio.d.ts +8 -8
  575. package/lib/components/radio/src/radio.vue.d.ts +3 -3
  576. package/lib/components/radio/src/use-radio.d.ts +1 -1
  577. package/lib/components/rate/src/rate.d.ts +1 -1
  578. package/lib/components/result/src/result.vue.d.ts +1 -1
  579. package/lib/components/row/src/row.d.ts +1 -1
  580. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  581. package/lib/components/segmented/index.d.ts +2 -2
  582. package/lib/components/segmented/src/segmented.d.ts +2 -2
  583. package/lib/components/select/src/option.d.ts +2 -2
  584. package/lib/components/select/src/option.vue.d.ts +5 -5
  585. package/lib/components/select/src/select.d.ts +4 -4
  586. package/lib/components/select/src/select.vue.d.ts +45 -45
  587. package/lib/components/select/src/useOption.d.ts +2 -2
  588. package/lib/components/select/src/useSelect.d.ts +5 -5
  589. package/lib/components/select-v2/src/defaults.d.ts +3 -3
  590. package/lib/components/select-v2/src/select.vue.d.ts +32 -32
  591. package/lib/components/select-v2/src/useSelect.d.ts +1 -1
  592. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  593. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  594. package/lib/components/slider/src/slider.d.ts +2 -2
  595. package/lib/components/slider/src/slider.vue.d.ts +6 -6
  596. package/lib/components/space/src/space.d.ts +5 -5
  597. package/lib/components/splitter/src/splitter.vue.d.ts +2 -2
  598. package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
  599. package/lib/components/steps/src/item.d.ts +1 -1
  600. package/lib/components/steps/src/item.vue.d.ts +1 -1
  601. package/lib/components/steps/src/steps.d.ts +2 -2
  602. package/lib/components/steps/src/steps.vue.d.ts +1 -1
  603. package/lib/components/switch/src/switch.d.ts +1 -1
  604. package/lib/components/switch/src/switch.vue.d.ts +3 -3
  605. package/lib/components/table/src/filter-panel.vue.d.ts +30 -30
  606. package/lib/components/table/src/store/helper.d.ts +1 -1
  607. package/lib/components/table/src/store/index.d.ts +2 -2
  608. package/lib/components/table/src/table/defaults.d.ts +6 -6
  609. package/lib/components/table/src/table/style-helper.d.ts +2 -2
  610. package/lib/components/table/src/table-column/defaults.d.ts +2 -2
  611. package/lib/components/table/src/table-header/index.d.ts +7 -7
  612. package/lib/components/table/src/table.vue.d.ts +5 -5
  613. package/lib/components/table-v2/src/components/header.d.ts +1 -1
  614. package/lib/components/table-v2/src/components/row.d.ts +1 -1
  615. package/lib/components/table-v2/src/table-grid.d.ts +2 -2
  616. package/lib/components/table-v2/src/table-v2.d.ts +4 -4
  617. package/lib/components/tabs/src/tabs.d.ts +5 -5
  618. package/lib/components/tag/src/tag.d.ts +1 -1
  619. package/lib/components/text/src/text.d.ts +1 -1
  620. package/lib/components/text/src/text.vue.d.ts +1 -1
  621. package/lib/components/time-picker/src/common/picker.vue.d.ts +17 -17
  622. package/lib/components/time-picker/src/common/props.d.ts +2 -2
  623. package/lib/components/time-picker/src/time-picker.d.ts +15 -15
  624. package/lib/components/time-select/src/time-select.d.ts +1 -1
  625. package/lib/components/time-select/src/time-select.vue.d.ts +5 -5
  626. package/lib/components/timeline/src/timeline-item.d.ts +1 -1
  627. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  628. package/lib/components/tooltip/src/content.vue.d.ts +2 -2
  629. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  630. package/lib/components/tooltip/src/tooltip.vue.d.ts +5 -5
  631. package/lib/components/tour/src/content.d.ts +1 -1
  632. package/lib/components/tour/src/content.vue.d.ts +1 -1
  633. package/lib/components/tour/src/step.d.ts +1 -1
  634. package/lib/components/tour/src/tour.d.ts +1 -1
  635. package/lib/components/tour/src/tour.vue.d.ts +1 -1
  636. package/lib/components/transfer/src/composables/use-check.d.ts +6 -1
  637. package/lib/components/transfer/src/composables/use-check.js +11 -0
  638. package/lib/components/transfer/src/composables/use-check.js.map +1 -1
  639. package/lib/components/transfer/src/transfer-panel.d.ts +4 -0
  640. package/lib/components/transfer/src/transfer-panel.js +3 -1
  641. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  642. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.js +37 -3
  643. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  644. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  645. package/lib/components/transfer/src/transfer.d.ts +10 -0
  646. package/lib/components/transfer/src/transfer.js +11 -0
  647. package/lib/components/transfer/src/transfer.js.map +1 -1
  648. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js +8 -0
  649. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  650. package/lib/components/transfer/src/transfer2.js.map +1 -1
  651. package/lib/components/transfer/style/css.js +1 -0
  652. package/lib/components/transfer/style/index.js +1 -0
  653. package/lib/components/tree/src/tree-node.vue.d.ts +8 -8
  654. package/lib/components/tree/src/tree.vue.d.ts +16 -16
  655. package/lib/components/tree-select/src/tree-select-option.d.ts +5 -5
  656. package/lib/components/tree-select/src/tree-select.vue.d.ts +22 -22
  657. package/lib/components/tree-v2/src/composables/useTree.d.ts +8 -8
  658. package/lib/components/tree-v2/src/tree-node.vue.d.ts +3 -3
  659. package/lib/components/tree-v2/src/tree.vue.d.ts +9 -9
  660. package/lib/components/upload/src/upload-content.d.ts +1 -1
  661. package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
  662. package/lib/components/upload/src/upload-list.d.ts +1 -1
  663. package/lib/components/upload/src/upload.d.ts +2 -2
  664. package/lib/components/upload/src/upload.vue.d.ts +2 -2
  665. package/lib/components/virtual-list/src/builders/build-grid.d.ts +4 -4
  666. package/lib/components/virtual-list/src/builders/build-list.d.ts +4 -4
  667. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +4 -4
  668. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +4 -4
  669. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +4 -4
  670. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +4 -4
  671. package/lib/components/virtual-list/src/components/scrollbar.d.ts +2 -2
  672. package/lib/hooks/use-floating/index.d.ts +4 -4
  673. package/lib/hooks/use-popper/index.d.ts +2 -2
  674. package/lib/hooks/use-size/index.d.ts +3 -3
  675. package/lib/utils/vue/size.d.ts +1 -1
  676. package/lib/utils/vue/vnode.d.ts +4 -4
  677. package/lib/version.d.ts +1 -1
  678. package/lib/version.js +1 -1
  679. package/lib/version.js.map +1 -1
  680. package/package.json +2 -2
  681. package/tags.json +1 -1
  682. package/web-types.json +1 -1
@@ -3,6 +3,7 @@ const require_types = require("../../../utils/types.js");
3
3
  const require_index = require("../../../hooks/use-locale/index.js");
4
4
  const require_index$1 = require("../../../hooks/use-namespace/index.js");
5
5
  const require_index$2 = require("../../input/index.js");
6
+ const require_fixed_size_list = require("../../virtual-list/src/components/fixed-size-list.js");
6
7
  const require_index$3 = require("../../checkbox/index.js");
7
8
  const require_transfer_panel = require("./transfer-panel.js");
8
9
  const require_use_props_alias = require("./composables/use-props-alias.js");
@@ -29,7 +30,7 @@ var transfer_panel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
29
30
  checkChangeByUser: true
30
31
  });
31
32
  const propsAlias = require_use_props_alias.usePropsAlias(props);
32
- const { filteredData, checkedSummary, isIndeterminate, handleAllCheckedChange } = require_use_check.useCheck(props, panelState, emit);
33
+ const { filteredData, checkedSummary, virtualListRef, isIndeterminate, checkboxGroupRef, virtualListHeight, handleAllCheckedChange } = require_use_check.useCheck(props, panelState, emit);
33
34
  const hasNoMatch = (0, vue.computed)(() => !require_types.isEmpty(panelState.query) && require_types.isEmpty(filteredData.value));
34
35
  const hasFooter = (0, vue.computed)(() => !require_types.isEmpty(slots.default()[0].children));
35
36
  const { checked, allChecked, query } = (0, vue.toRefs)(panelState);
@@ -70,12 +71,14 @@ query });
70
71
  "prefix-icon"
71
72
  ])) : (0, vue.createCommentVNode)("v-if", true),
72
73
  (0, vue.withDirectives)((0, vue.createVNode)((0, vue.unref)(require_index$3.ElCheckboxGroup), {
74
+ ref_key: "checkboxGroupRef",
75
+ ref: checkboxGroupRef,
73
76
  modelValue: (0, vue.unref)(checked),
74
77
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => (0, vue.isRef)(checked) ? checked.value = $event : null),
75
78
  "validate-event": false,
76
79
  class: (0, vue.normalizeClass)([(0, vue.unref)(ns).is("filterable", __props.filterable), (0, vue.unref)(ns).be("panel", "list")])
77
80
  }, {
78
- default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)((0, vue.unref)(filteredData), (item) => {
81
+ default: (0, vue.withCtx)(() => [!__props.virtualScroll ? ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, { key: 0 }, (0, vue.renderList)((0, vue.unref)(filteredData), (item) => {
79
82
  return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_index$3.ElCheckbox), {
80
83
  key: item[(0, vue.unref)(propsAlias).key],
81
84
  class: (0, vue.normalizeClass)((0, vue.unref)(ns).be("panel", "item")),
@@ -90,7 +93,38 @@ query });
90
93
  "value",
91
94
  "disabled"
92
95
  ]);
93
- }), 128))]),
96
+ }), 128)) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_fixed_size_list.default), {
97
+ key: 1,
98
+ ref_key: "virtualListRef",
99
+ ref: virtualListRef,
100
+ data: (0, vue.unref)(filteredData),
101
+ total: (0, vue.unref)(filteredData).length,
102
+ "item-size": __props.itemSize,
103
+ height: (0, vue.unref)(virtualListHeight)
104
+ }, {
105
+ default: (0, vue.withCtx)(({ data, index, style }) => [((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
106
+ key: data[index][(0, vue.unref)(propsAlias).key],
107
+ style: (0, vue.normalizeStyle)(style)
108
+ }, [(0, vue.createVNode)((0, vue.unref)(require_index$3.ElCheckbox), {
109
+ class: (0, vue.normalizeClass)((0, vue.unref)(ns).be("panel", "item")),
110
+ value: data[index][(0, vue.unref)(propsAlias).key],
111
+ disabled: data[index][(0, vue.unref)(propsAlias).disabled],
112
+ "validate-event": false
113
+ }, {
114
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)(OptionContent, { option: __props.optionRender?.(data[index]) }, null, 8, ["option"])]),
115
+ _: 2
116
+ }, 1032, [
117
+ "class",
118
+ "value",
119
+ "disabled"
120
+ ])], 4))]),
121
+ _: 1
122
+ }, 8, [
123
+ "data",
124
+ "total",
125
+ "item-size",
126
+ "height"
127
+ ]))]),
94
128
  _: 1
95
129
  }, 8, ["modelValue", "class"]), [[vue.vShow, !hasNoMatch.value && !(0, vue.unref)(require_types.isEmpty)(__props.data)]]),
96
130
  (0, vue.withDirectives)((0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)((0, vue.unref)(ns).be("panel", "empty")) }, [(0, vue.renderSlot)(_ctx.$slots, "empty", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)(hasNoMatch.value ? (0, vue.unref)(t)("el.transfer.noMatch") : (0, vue.unref)(t)("el.transfer.noData")), 1)])], 2), [[vue.vShow, hasNoMatch.value || (0, vue.unref)(require_types.isEmpty)(__props.data)]])
@@ -1 +1 @@
1
- {"version":3,"file":"transfer-panel.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b('panel')\">\n <p :class=\"ns.be('panel', 'header')\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n :validate-event=\"false\"\n @change=\"handleAllCheckedChange\"\n >\n <span :class=\"ns.be('panel', 'header-title')\">{{ title }}</span>\n <span :class=\"ns.be('panel', 'header-count')\">\n {{ checkedSummary }}\n </span>\n </el-checkbox>\n </p>\n\n <div :class=\"[ns.be('panel', 'body'), ns.is('with-footer', hasFooter)]\">\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n :class=\"ns.be('panel', 'filter')\"\n size=\"default\"\n :placeholder=\"placeholder\"\n :prefix-icon=\"Search\"\n clearable\n :validate-event=\"false\"\n />\n <el-checkbox-group\n v-show=\"!hasNoMatch && !isEmpty(data)\"\n v-model=\"checked\"\n :validate-event=\"false\"\n :class=\"[ns.is('filterable', filterable), ns.be('panel', 'list')]\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[propsAlias.key]\"\n :class=\"ns.be('panel', 'item')\"\n :value=\"item[propsAlias.key]\"\n :disabled=\"item[propsAlias.disabled]\"\n :validate-event=\"false\"\n >\n <option-content :option=\"optionRender?.(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <div\n v-show=\"hasNoMatch || isEmpty(data)\"\n :class=\"ns.be('panel', 'empty')\"\n >\n <slot name=\"empty\">\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </slot>\n </div>\n </div>\n <p v-if=\"hasFooter\" :class=\"ns.be('panel', 'footer')\">\n <slot />\n </p>\n </div>\n</template>\n\n<script lang=\"ts\" setup generic=\"T extends TransferDataItem = TransferDataItem\">\nimport { computed, reactive, toRefs, useSlots } from 'vue'\nimport { isEmpty, mutable } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport { ElInput } from '@element-plus/components/input'\nimport { Search } from '@element-plus/icons-vue'\nimport { transferPanelEmits } from './transfer-panel'\nimport { useCheck, usePropsAlias } from './composables'\n\nimport type { VNode } from 'vue'\nimport type { TransferDataItem } from './transfer'\nimport type { TransferPanelProps, TransferPanelState } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransferPanel',\n})\n\nconst props = withDefaults(defineProps<TransferPanelProps<T>>(), {\n data: () => [],\n format: () => ({}),\n defaultChecked: () => [],\n props: () =>\n mutable({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n})\nconst emit = defineEmits(transferPanelEmits)\nconst slots = useSlots()\n\nconst OptionContent = ({ option }: { option?: VNode | VNode[] }) => option\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\n\nconst panelState = reactive<TransferPanelState>({\n checked: [],\n allChecked: false,\n query: '',\n checkChangeByUser: true,\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst {\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n} = useCheck(props, panelState, emit)\n\nconst hasNoMatch = computed(\n () => !isEmpty(panelState.query) && isEmpty(filteredData.value)\n)\n\nconst hasFooter = computed(() => !isEmpty(slots.default!()[0].children))\n\nconst { checked, allChecked, query } = toRefs(panelState)\n\ndefineExpose({\n /** @description filter keyword */\n query,\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"transfer-panel.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b('panel')\">\n <p :class=\"ns.be('panel', 'header')\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n :validate-event=\"false\"\n @change=\"handleAllCheckedChange\"\n >\n <span :class=\"ns.be('panel', 'header-title')\">{{ title }}</span>\n <span :class=\"ns.be('panel', 'header-count')\">\n {{ checkedSummary }}\n </span>\n </el-checkbox>\n </p>\n\n <div :class=\"[ns.be('panel', 'body'), ns.is('with-footer', hasFooter)]\">\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n :class=\"ns.be('panel', 'filter')\"\n size=\"default\"\n :placeholder=\"placeholder\"\n :prefix-icon=\"Search\"\n clearable\n :validate-event=\"false\"\n />\n <el-checkbox-group\n v-show=\"!hasNoMatch && !isEmpty(data)\"\n ref=\"checkboxGroupRef\"\n v-model=\"checked\"\n :validate-event=\"false\"\n :class=\"[ns.is('filterable', filterable), ns.be('panel', 'list')]\"\n >\n <template v-if=\"!virtualScroll\">\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[propsAlias.key]\"\n :class=\"ns.be('panel', 'item')\"\n :value=\"item[propsAlias.key]\"\n :disabled=\"item[propsAlias.disabled]\"\n :validate-event=\"false\"\n >\n <option-content :option=\"optionRender?.(item)\" />\n </el-checkbox>\n </template>\n <el-fixed-size-list\n v-else\n ref=\"virtualListRef\"\n :data=\"filteredData\"\n :total=\"filteredData.length\"\n :item-size=\"itemSize\"\n :height=\"virtualListHeight\"\n >\n <template #default=\"{ data, index, style }\">\n <div :key=\"data[index][propsAlias.key]\" :style=\"style\">\n <el-checkbox\n :class=\"ns.be('panel', 'item')\"\n :value=\"data[index][propsAlias.key]\"\n :disabled=\"data[index][propsAlias.disabled]\"\n :validate-event=\"false\"\n >\n <option-content :option=\"optionRender?.(data[index])\" />\n </el-checkbox>\n </div>\n </template>\n </el-fixed-size-list>\n </el-checkbox-group>\n <div\n v-show=\"hasNoMatch || isEmpty(data)\"\n :class=\"ns.be('panel', 'empty')\"\n >\n <slot name=\"empty\">\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </slot>\n </div>\n </div>\n <p v-if=\"hasFooter\" :class=\"ns.be('panel', 'footer')\">\n <slot />\n </p>\n </div>\n</template>\n\n<script lang=\"ts\" setup generic=\"T extends TransferDataItem = TransferDataItem\">\nimport { computed, reactive, toRefs, useSlots } from 'vue'\nimport { isEmpty, mutable } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport { ElInput } from '@element-plus/components/input'\nimport { FixedSizeList as ElFixedSizeList } from '@element-plus/components/virtual-list'\nimport { Search } from '@element-plus/icons-vue'\nimport { transferPanelEmits } from './transfer-panel'\nimport { useCheck, usePropsAlias } from './composables'\n\nimport type { VNode } from 'vue'\nimport type { TransferDataItem } from './transfer'\nimport type { TransferPanelProps, TransferPanelState } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransferPanel',\n})\n\nconst props = withDefaults(defineProps<TransferPanelProps<T>>(), {\n data: () => [],\n format: () => ({}),\n defaultChecked: () => [],\n props: () =>\n mutable({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n virtualScroll: false,\n itemSize: 30,\n})\nconst emit = defineEmits(transferPanelEmits)\nconst slots = useSlots()\n\nconst OptionContent = ({ option }: { option?: VNode | VNode[] }) => option\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\n\nconst panelState = reactive<TransferPanelState>({\n checked: [],\n allChecked: false,\n query: '',\n checkChangeByUser: true,\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst {\n filteredData,\n checkedSummary,\n virtualListRef,\n isIndeterminate,\n checkboxGroupRef,\n virtualListHeight,\n handleAllCheckedChange,\n} = useCheck(props, panelState, emit)\n\nconst hasNoMatch = computed(\n () => !isEmpty(panelState.query) && isEmpty(filteredData.value)\n)\n\nconst hasFooter = computed(() => !isEmpty(slots.default!()[0].children))\n\nconst { checked, allChecked, query } = toRefs(panelState)\n\ndefineExpose({\n /** @description filter keyword */\n query,\n})\n</script>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transfer-panel2.js","names":[],"sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b('panel')\">\n <p :class=\"ns.be('panel', 'header')\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n :validate-event=\"false\"\n @change=\"handleAllCheckedChange\"\n >\n <span :class=\"ns.be('panel', 'header-title')\">{{ title }}</span>\n <span :class=\"ns.be('panel', 'header-count')\">\n {{ checkedSummary }}\n </span>\n </el-checkbox>\n </p>\n\n <div :class=\"[ns.be('panel', 'body'), ns.is('with-footer', hasFooter)]\">\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n :class=\"ns.be('panel', 'filter')\"\n size=\"default\"\n :placeholder=\"placeholder\"\n :prefix-icon=\"Search\"\n clearable\n :validate-event=\"false\"\n />\n <el-checkbox-group\n v-show=\"!hasNoMatch && !isEmpty(data)\"\n v-model=\"checked\"\n :validate-event=\"false\"\n :class=\"[ns.is('filterable', filterable), ns.be('panel', 'list')]\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[propsAlias.key]\"\n :class=\"ns.be('panel', 'item')\"\n :value=\"item[propsAlias.key]\"\n :disabled=\"item[propsAlias.disabled]\"\n :validate-event=\"false\"\n >\n <option-content :option=\"optionRender?.(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <div\n v-show=\"hasNoMatch || isEmpty(data)\"\n :class=\"ns.be('panel', 'empty')\"\n >\n <slot name=\"empty\">\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </slot>\n </div>\n </div>\n <p v-if=\"hasFooter\" :class=\"ns.be('panel', 'footer')\">\n <slot />\n </p>\n </div>\n</template>\n\n<script lang=\"ts\" setup generic=\"T extends TransferDataItem = TransferDataItem\">\nimport { computed, reactive, toRefs, useSlots } from 'vue'\nimport { isEmpty, mutable } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport { ElInput } from '@element-plus/components/input'\nimport { Search } from '@element-plus/icons-vue'\nimport { transferPanelEmits } from './transfer-panel'\nimport { useCheck, usePropsAlias } from './composables'\n\nimport type { VNode } from 'vue'\nimport type { TransferDataItem } from './transfer'\nimport type { TransferPanelProps, TransferPanelState } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransferPanel',\n})\n\nconst props = withDefaults(defineProps<TransferPanelProps<T>>(), {\n data: () => [],\n format: () => ({}),\n defaultChecked: () => [],\n props: () =>\n mutable({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n})\nconst emit = defineEmits(transferPanelEmits)\nconst slots = useSlots()\n\nconst OptionContent = ({ option }: { option?: VNode | VNode[] }) => option\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\n\nconst panelState = reactive<TransferPanelState>({\n checked: [],\n allChecked: false,\n query: '',\n checkChangeByUser: true,\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst {\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n} = useCheck(props, panelState, emit)\n\nconst hasNoMatch = computed(\n () => !isEmpty(panelState.query) && isEmpty(filteredData.value)\n)\n\nconst hasFooter = computed(() => !isEmpty(slots.default!()[0].children))\n\nconst { checked, allChecked, query } = toRefs(panelState)\n\ndefineExpose({\n /** @description filter keyword */\n query,\n})\n</script>\n"],"mappings":""}
1
+ {"version":3,"file":"transfer-panel2.js","names":[],"sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b('panel')\">\n <p :class=\"ns.be('panel', 'header')\">\n <el-checkbox\n v-model=\"allChecked\"\n :indeterminate=\"isIndeterminate\"\n :validate-event=\"false\"\n @change=\"handleAllCheckedChange\"\n >\n <span :class=\"ns.be('panel', 'header-title')\">{{ title }}</span>\n <span :class=\"ns.be('panel', 'header-count')\">\n {{ checkedSummary }}\n </span>\n </el-checkbox>\n </p>\n\n <div :class=\"[ns.be('panel', 'body'), ns.is('with-footer', hasFooter)]\">\n <el-input\n v-if=\"filterable\"\n v-model=\"query\"\n :class=\"ns.be('panel', 'filter')\"\n size=\"default\"\n :placeholder=\"placeholder\"\n :prefix-icon=\"Search\"\n clearable\n :validate-event=\"false\"\n />\n <el-checkbox-group\n v-show=\"!hasNoMatch && !isEmpty(data)\"\n ref=\"checkboxGroupRef\"\n v-model=\"checked\"\n :validate-event=\"false\"\n :class=\"[ns.is('filterable', filterable), ns.be('panel', 'list')]\"\n >\n <template v-if=\"!virtualScroll\">\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[propsAlias.key]\"\n :class=\"ns.be('panel', 'item')\"\n :value=\"item[propsAlias.key]\"\n :disabled=\"item[propsAlias.disabled]\"\n :validate-event=\"false\"\n >\n <option-content :option=\"optionRender?.(item)\" />\n </el-checkbox>\n </template>\n <el-fixed-size-list\n v-else\n ref=\"virtualListRef\"\n :data=\"filteredData\"\n :total=\"filteredData.length\"\n :item-size=\"itemSize\"\n :height=\"virtualListHeight\"\n >\n <template #default=\"{ data, index, style }\">\n <div :key=\"data[index][propsAlias.key]\" :style=\"style\">\n <el-checkbox\n :class=\"ns.be('panel', 'item')\"\n :value=\"data[index][propsAlias.key]\"\n :disabled=\"data[index][propsAlias.disabled]\"\n :validate-event=\"false\"\n >\n <option-content :option=\"optionRender?.(data[index])\" />\n </el-checkbox>\n </div>\n </template>\n </el-fixed-size-list>\n </el-checkbox-group>\n <div\n v-show=\"hasNoMatch || isEmpty(data)\"\n :class=\"ns.be('panel', 'empty')\"\n >\n <slot name=\"empty\">\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </slot>\n </div>\n </div>\n <p v-if=\"hasFooter\" :class=\"ns.be('panel', 'footer')\">\n <slot />\n </p>\n </div>\n</template>\n\n<script lang=\"ts\" setup generic=\"T extends TransferDataItem = TransferDataItem\">\nimport { computed, reactive, toRefs, useSlots } from 'vue'\nimport { isEmpty, mutable } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport { ElInput } from '@element-plus/components/input'\nimport { FixedSizeList as ElFixedSizeList } from '@element-plus/components/virtual-list'\nimport { Search } from '@element-plus/icons-vue'\nimport { transferPanelEmits } from './transfer-panel'\nimport { useCheck, usePropsAlias } from './composables'\n\nimport type { VNode } from 'vue'\nimport type { TransferDataItem } from './transfer'\nimport type { TransferPanelProps, TransferPanelState } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransferPanel',\n})\n\nconst props = withDefaults(defineProps<TransferPanelProps<T>>(), {\n data: () => [],\n format: () => ({}),\n defaultChecked: () => [],\n props: () =>\n mutable({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n virtualScroll: false,\n itemSize: 30,\n})\nconst emit = defineEmits(transferPanelEmits)\nconst slots = useSlots()\n\nconst OptionContent = ({ option }: { option?: VNode | VNode[] }) => option\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\n\nconst panelState = reactive<TransferPanelState>({\n checked: [],\n allChecked: false,\n query: '',\n checkChangeByUser: true,\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst {\n filteredData,\n checkedSummary,\n virtualListRef,\n isIndeterminate,\n checkboxGroupRef,\n virtualListHeight,\n handleAllCheckedChange,\n} = useCheck(props, panelState, emit)\n\nconst hasNoMatch = computed(\n () => !isEmpty(panelState.query) && isEmpty(filteredData.value)\n)\n\nconst hasFooter = computed(() => !isEmpty(slots.default!()[0].children))\n\nconst { checked, allChecked, query } = toRefs(panelState)\n\ndefineExpose({\n /** @description filter keyword */\n query,\n})\n</script>\n"],"mappings":""}
@@ -82,6 +82,14 @@ interface TransferProps<T extends TransferDataItem = TransferDataItem> {
82
82
  * @description whether to trigger form validation
83
83
  */
84
84
  validateEvent?: boolean;
85
+ /**
86
+ * @description whether to enable virtual scrolling
87
+ */
88
+ virtualScroll?: boolean;
89
+ /**
90
+ * @description line height for virtual scrolling
91
+ */
92
+ itemSize?: number;
85
93
  }
86
94
  /**
87
95
  * @deprecated Removed after 3.0.0, Use `TransferProps` instead.
@@ -115,6 +123,8 @@ declare const transferProps: {
115
123
  }>, boolean>;
116
124
  readonly targetOrder: EpPropFinalized<StringConstructor, "push" | "unshift" | "original", unknown, "original", boolean>;
117
125
  readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
126
+ readonly virtualScroll: BooleanConstructor;
127
+ readonly itemSize: EpPropFinalized<NumberConstructor, unknown, unknown, 30, boolean>;
118
128
  };
119
129
  /**
120
130
  * @deprecated Removed after 3.0.0, Use `TransferProps` instead.
@@ -106,6 +106,17 @@ const transferProps = require_runtime$1.buildProps({
106
106
  validateEvent: {
107
107
  type: Boolean,
108
108
  default: true
109
+ },
110
+ /**
111
+ * @description whether to enable virtual scrolling
112
+ */
113
+ virtualScroll: Boolean,
114
+ /**
115
+ * @description line height for virtual scrolling
116
+ */
117
+ itemSize: {
118
+ type: Number,
119
+ default: 30
109
120
  }
110
121
  });
111
122
  const transferCheckedChangeFn = (value, movedKeys) => [value, movedKeys].every(_vue_shared.isArray) || (0, _vue_shared.isArray)(value) && (0, lodash_unified.isNil)(movedKeys);
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","names":["buildProps","definePropType","mutable","isArray","CHANGE_EVENT","UPDATE_MODEL_EVENT"],"sources":["../../../../../../packages/components/transfer/src/transfer.ts"],"sourcesContent":["import { isNil } from 'lodash-unified'\nimport {\n buildProps,\n definePropType,\n isArray,\n mutable,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\n\nimport type {\n ComponentInstance,\n ExtractPublicPropTypes,\n h as H,\n VNode,\n} from 'vue'\nimport type { ComponentExposed } from 'vue-component-type-helpers'\nimport type Transfer from './transfer.vue'\n\nexport type TransferKey = string | number\nexport type TransferDirection = 'left' | 'right'\n\nexport type TransferDataItem = Record<string, any>\n\nexport type renderContent<T extends TransferDataItem = TransferDataItem> = (\n h: typeof H,\n option: T\n) => VNode | VNode[]\n\nexport interface TransferFormat {\n noChecked?: string\n hasChecked?: string\n}\n\nexport interface TransferPropsAlias {\n label?: string\n key?: string\n disabled?: string\n}\n\nexport interface TransferCheckedState {\n leftChecked: TransferKey[]\n rightChecked: TransferKey[]\n}\n\nexport const LEFT_CHECK_CHANGE_EVENT = 'left-check-change'\nexport const RIGHT_CHECK_CHANGE_EVENT = 'right-check-change'\n\nexport interface TransferProps<T extends TransferDataItem = TransferDataItem> {\n /**\n * @description data source\n */\n data?: T[]\n /**\n * @description custom list titles\n */\n titles?: [string, string]\n /**\n * @description custom button texts\n */\n buttonTexts?: [string, string]\n /**\n * @description placeholder for the filter input\n */\n filterPlaceholder?: string\n /**\n * @description custom filter method\n */\n filterMethod?: (query: string, item: T) => boolean\n /**\n * @description key array of initially checked data items of the left list\n */\n leftDefaultChecked?: TransferKey[]\n /**\n * @description key array of initially checked data items of the right list\n */\n rightDefaultChecked?: TransferKey[]\n /**\n * @description custom render function for data items\n */\n renderContent?: renderContent<T>\n /**\n * @description binding value\n */\n modelValue?: TransferKey[]\n /**\n * @description texts for checking status in list header\n */\n format?: TransferFormat\n /**\n * @description whether Transfer is filterable\n */\n filterable?: boolean\n /**\n * @description prop aliases for data source\n */\n props?: TransferPropsAlias\n /**\n * @description order strategy for elements in the target list. If set to `original`, the elements will keep the same order as the data source. If set to `push`, the newly added elements will be pushed to the bottom. If set to `unshift`, the newly added elements will be inserted on the top\n */\n targetOrder?: 'original' | 'push' | 'unshift'\n /**\n * @description whether to trigger form validation\n */\n validateEvent?: boolean\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `TransferProps` instead.\n */\nexport const transferProps = buildProps({\n /**\n * @description data source\n */\n data: {\n type: definePropType<TransferDataItem[]>(Array),\n default: () => [],\n },\n /**\n * @description custom list titles\n */\n titles: {\n type: definePropType<[string, string]>(Array),\n default: () => [],\n },\n /**\n * @description custom button texts\n */\n buttonTexts: {\n type: definePropType<[string, string]>(Array),\n default: () => [],\n },\n /**\n * @description placeholder for the filter input\n */\n filterPlaceholder: String,\n /**\n * @description custom filter method\n */\n filterMethod: {\n type: definePropType<(query: string, item: TransferDataItem) => boolean>(\n Function\n ),\n },\n /**\n * @description key array of initially checked data items of the left list\n */\n leftDefaultChecked: {\n type: definePropType<TransferKey[]>(Array),\n default: () => [],\n },\n /**\n * @description key array of initially checked data items of the right list\n */\n rightDefaultChecked: {\n type: definePropType<TransferKey[]>(Array),\n default: () => [],\n },\n /**\n * @description custom render function for data items\n */\n renderContent: {\n type: definePropType<renderContent>(Function),\n },\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<TransferKey[]>(Array),\n default: () => [],\n },\n /**\n * @description texts for checking status in list header\n */\n format: {\n type: definePropType<TransferFormat>(Object),\n default: () => ({}),\n },\n /**\n * @description whether Transfer is filterable\n */\n filterable: Boolean,\n /**\n * @description prop aliases for data source\n */\n props: {\n type: definePropType<TransferPropsAlias>(Object),\n default: () =>\n mutable({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n } as const),\n },\n /**\n * @description order strategy for elements in the target list. If set to `original`, the elements will keep the same order as the data source. If set to `push`, the newly added elements will be pushed to the bottom. If set to `unshift`, the newly added elements will be inserted on the top\n */\n targetOrder: {\n type: String,\n values: ['original', 'push', 'unshift'],\n default: 'original',\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `TransferProps` instead.\n */\nexport type TransferPropsPublic = ExtractPublicPropTypes<typeof transferProps>\n\nexport const transferCheckedChangeFn = (\n value: TransferKey[],\n movedKeys?: TransferKey[]\n) => [value, movedKeys].every(isArray) || (isArray(value) && isNil(movedKeys))\n\nexport const transferEmits = {\n [CHANGE_EVENT]: (\n value: TransferKey[],\n direction: TransferDirection,\n movedKeys: TransferKey[]\n ) =>\n [value, movedKeys].every(isArray) && ['left', 'right'].includes(direction),\n [UPDATE_MODEL_EVENT]: (value: TransferKey[]) => isArray(value),\n [LEFT_CHECK_CHANGE_EVENT]: transferCheckedChangeFn,\n [RIGHT_CHECK_CHANGE_EVENT]: transferCheckedChangeFn,\n}\nexport type TransferEmits = typeof transferEmits\n\nexport type TransferInstance = ComponentInstance<typeof Transfer> &\n ComponentExposed<typeof Transfer>\n"],"mappings":";;;;;;;;AA4CA,MAAa,0BAA0B;AACvC,MAAa,2BAA2B;;;;AAgExC,MAAa,gBAAgBA,kBAAAA,WAAW;;;;CAItC,MAAM;EACJ,MAAMC,kBAAAA,eAAmC,MAAM;EAC/C,eAAe,EAAE;EAClB;;;;CAID,QAAQ;EACN,MAAMA,kBAAAA,eAAiC,MAAM;EAC7C,eAAe,EAAE;EAClB;;;;CAID,aAAa;EACX,MAAMA,kBAAAA,eAAiC,MAAM;EAC7C,eAAe,EAAE;EAClB;;;;CAID,mBAAmB;;;;CAInB,cAAc,EACZ,MAAMA,kBAAAA,eACJ,SACD,EACF;;;;CAID,oBAAoB;EAClB,MAAMA,kBAAAA,eAA8B,MAAM;EAC1C,eAAe,EAAE;EAClB;;;;CAID,qBAAqB;EACnB,MAAMA,kBAAAA,eAA8B,MAAM;EAC1C,eAAe,EAAE;EAClB;;;;CAID,eAAe,EACb,MAAMA,kBAAAA,eAA8B,SAAS,EAC9C;;;;CAID,YAAY;EACV,MAAMA,kBAAAA,eAA8B,MAAM;EAC1C,eAAe,EAAE;EAClB;;;;CAID,QAAQ;EACN,MAAMA,kBAAAA,eAA+B,OAAO;EAC5C,gBAAgB,EAAE;EACnB;;;;CAID,YAAY;;;;CAIZ,OAAO;EACL,MAAMA,kBAAAA,eAAmC,OAAO;EAChD,eACEC,mBAAAA,QAAQ;GACN,OAAO;GACP,KAAK;GACL,UAAU;GACX,CAAU;EACd;;;;CAID,aAAa;EACX,MAAM;EACN,QAAQ;GAAC;GAAY;GAAQ;GAAU;EACvC,SAAS;EACV;;;;CAID,eAAe;EACb,MAAM;EACN,SAAS;EACV;CACF,CAAU;AAOX,MAAa,2BACX,OACA,cACG,CAAC,OAAO,UAAU,CAAC,MAAMC,YAAAA,QAAQ,KAAA,GAAA,YAAA,SAAa,MAAM,KAAA,GAAA,eAAA,OAAU,UAAU;AAE7E,MAAa,gBAAgB;EAC1BC,cAAAA,gBACC,OACA,WACA,cAEA,CAAC,OAAO,UAAU,CAAC,MAAMD,YAAAA,QAAQ,IAAI,CAAC,QAAQ,QAAQ,CAAC,SAAS,UAAU;EAC3EE,cAAAA,sBAAsB,WAAA,GAAA,YAAA,SAAiC,MAAM;EAC7D,0BAA0B;EAC1B,2BAA2B;CAC7B"}
1
+ {"version":3,"file":"transfer.js","names":["buildProps","definePropType","mutable","isArray","CHANGE_EVENT","UPDATE_MODEL_EVENT"],"sources":["../../../../../../packages/components/transfer/src/transfer.ts"],"sourcesContent":["import { isNil } from 'lodash-unified'\nimport {\n buildProps,\n definePropType,\n isArray,\n mutable,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\n\nimport type {\n ComponentInstance,\n ExtractPublicPropTypes,\n h as H,\n VNode,\n} from 'vue'\nimport type { ComponentExposed } from 'vue-component-type-helpers'\nimport type Transfer from './transfer.vue'\n\nexport type TransferKey = string | number\nexport type TransferDirection = 'left' | 'right'\n\nexport type TransferDataItem = Record<string, any>\n\nexport type renderContent<T extends TransferDataItem = TransferDataItem> = (\n h: typeof H,\n option: T\n) => VNode | VNode[]\n\nexport interface TransferFormat {\n noChecked?: string\n hasChecked?: string\n}\n\nexport interface TransferPropsAlias {\n label?: string\n key?: string\n disabled?: string\n}\n\nexport interface TransferCheckedState {\n leftChecked: TransferKey[]\n rightChecked: TransferKey[]\n}\n\nexport const LEFT_CHECK_CHANGE_EVENT = 'left-check-change'\nexport const RIGHT_CHECK_CHANGE_EVENT = 'right-check-change'\n\nexport interface TransferProps<T extends TransferDataItem = TransferDataItem> {\n /**\n * @description data source\n */\n data?: T[]\n /**\n * @description custom list titles\n */\n titles?: [string, string]\n /**\n * @description custom button texts\n */\n buttonTexts?: [string, string]\n /**\n * @description placeholder for the filter input\n */\n filterPlaceholder?: string\n /**\n * @description custom filter method\n */\n filterMethod?: (query: string, item: T) => boolean\n /**\n * @description key array of initially checked data items of the left list\n */\n leftDefaultChecked?: TransferKey[]\n /**\n * @description key array of initially checked data items of the right list\n */\n rightDefaultChecked?: TransferKey[]\n /**\n * @description custom render function for data items\n */\n renderContent?: renderContent<T>\n /**\n * @description binding value\n */\n modelValue?: TransferKey[]\n /**\n * @description texts for checking status in list header\n */\n format?: TransferFormat\n /**\n * @description whether Transfer is filterable\n */\n filterable?: boolean\n /**\n * @description prop aliases for data source\n */\n props?: TransferPropsAlias\n /**\n * @description order strategy for elements in the target list. If set to `original`, the elements will keep the same order as the data source. If set to `push`, the newly added elements will be pushed to the bottom. If set to `unshift`, the newly added elements will be inserted on the top\n */\n targetOrder?: 'original' | 'push' | 'unshift'\n /**\n * @description whether to trigger form validation\n */\n validateEvent?: boolean\n /**\n * @description whether to enable virtual scrolling\n */\n virtualScroll?: boolean\n /**\n * @description line height for virtual scrolling\n */\n itemSize?: number\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `TransferProps` instead.\n */\nexport const transferProps = buildProps({\n /**\n * @description data source\n */\n data: {\n type: definePropType<TransferDataItem[]>(Array),\n default: () => [],\n },\n /**\n * @description custom list titles\n */\n titles: {\n type: definePropType<[string, string]>(Array),\n default: () => [],\n },\n /**\n * @description custom button texts\n */\n buttonTexts: {\n type: definePropType<[string, string]>(Array),\n default: () => [],\n },\n /**\n * @description placeholder for the filter input\n */\n filterPlaceholder: String,\n /**\n * @description custom filter method\n */\n filterMethod: {\n type: definePropType<(query: string, item: TransferDataItem) => boolean>(\n Function\n ),\n },\n /**\n * @description key array of initially checked data items of the left list\n */\n leftDefaultChecked: {\n type: definePropType<TransferKey[]>(Array),\n default: () => [],\n },\n /**\n * @description key array of initially checked data items of the right list\n */\n rightDefaultChecked: {\n type: definePropType<TransferKey[]>(Array),\n default: () => [],\n },\n /**\n * @description custom render function for data items\n */\n renderContent: {\n type: definePropType<renderContent>(Function),\n },\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType<TransferKey[]>(Array),\n default: () => [],\n },\n /**\n * @description texts for checking status in list header\n */\n format: {\n type: definePropType<TransferFormat>(Object),\n default: () => ({}),\n },\n /**\n * @description whether Transfer is filterable\n */\n filterable: Boolean,\n /**\n * @description prop aliases for data source\n */\n props: {\n type: definePropType<TransferPropsAlias>(Object),\n default: () =>\n mutable({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n } as const),\n },\n /**\n * @description order strategy for elements in the target list. If set to `original`, the elements will keep the same order as the data source. If set to `push`, the newly added elements will be pushed to the bottom. If set to `unshift`, the newly added elements will be inserted on the top\n */\n targetOrder: {\n type: String,\n values: ['original', 'push', 'unshift'],\n default: 'original',\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to enable virtual scrolling\n */\n virtualScroll: Boolean,\n /**\n * @description line height for virtual scrolling\n */\n itemSize: {\n type: Number,\n default: 30,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `TransferProps` instead.\n */\nexport type TransferPropsPublic = ExtractPublicPropTypes<typeof transferProps>\n\nexport const transferCheckedChangeFn = (\n value: TransferKey[],\n movedKeys?: TransferKey[]\n) => [value, movedKeys].every(isArray) || (isArray(value) && isNil(movedKeys))\n\nexport const transferEmits = {\n [CHANGE_EVENT]: (\n value: TransferKey[],\n direction: TransferDirection,\n movedKeys: TransferKey[]\n ) =>\n [value, movedKeys].every(isArray) && ['left', 'right'].includes(direction),\n [UPDATE_MODEL_EVENT]: (value: TransferKey[]) => isArray(value),\n [LEFT_CHECK_CHANGE_EVENT]: transferCheckedChangeFn,\n [RIGHT_CHECK_CHANGE_EVENT]: transferCheckedChangeFn,\n}\nexport type TransferEmits = typeof transferEmits\n\nexport type TransferInstance = ComponentInstance<typeof Transfer> &\n ComponentExposed<typeof Transfer>\n"],"mappings":";;;;;;;;AA4CA,MAAa,0BAA0B;AACvC,MAAa,2BAA2B;;;;AAwExC,MAAa,gBAAgBA,kBAAAA,WAAW;;;;CAItC,MAAM;EACJ,MAAMC,kBAAAA,eAAmC,MAAM;EAC/C,eAAe,EAAE;EAClB;;;;CAID,QAAQ;EACN,MAAMA,kBAAAA,eAAiC,MAAM;EAC7C,eAAe,EAAE;EAClB;;;;CAID,aAAa;EACX,MAAMA,kBAAAA,eAAiC,MAAM;EAC7C,eAAe,EAAE;EAClB;;;;CAID,mBAAmB;;;;CAInB,cAAc,EACZ,MAAMA,kBAAAA,eACJ,SACD,EACF;;;;CAID,oBAAoB;EAClB,MAAMA,kBAAAA,eAA8B,MAAM;EAC1C,eAAe,EAAE;EAClB;;;;CAID,qBAAqB;EACnB,MAAMA,kBAAAA,eAA8B,MAAM;EAC1C,eAAe,EAAE;EAClB;;;;CAID,eAAe,EACb,MAAMA,kBAAAA,eAA8B,SAAS,EAC9C;;;;CAID,YAAY;EACV,MAAMA,kBAAAA,eAA8B,MAAM;EAC1C,eAAe,EAAE;EAClB;;;;CAID,QAAQ;EACN,MAAMA,kBAAAA,eAA+B,OAAO;EAC5C,gBAAgB,EAAE;EACnB;;;;CAID,YAAY;;;;CAIZ,OAAO;EACL,MAAMA,kBAAAA,eAAmC,OAAO;EAChD,eACEC,mBAAAA,QAAQ;GACN,OAAO;GACP,KAAK;GACL,UAAU;GACX,CAAU;EACd;;;;CAID,aAAa;EACX,MAAM;EACN,QAAQ;GAAC;GAAY;GAAQ;GAAU;EACvC,SAAS;EACV;;;;CAID,eAAe;EACb,MAAM;EACN,SAAS;EACV;;;;CAID,eAAe;;;;CAIf,UAAU;EACR,MAAM;EACN,SAAS;EACV;CACF,CAAU;AAOX,MAAa,2BACX,OACA,cACG,CAAC,OAAO,UAAU,CAAC,MAAMC,YAAAA,QAAQ,KAAA,GAAA,YAAA,SAAa,MAAM,KAAA,GAAA,eAAA,OAAU,UAAU;AAE7E,MAAa,gBAAgB;EAC1BC,cAAAA,gBACC,OACA,WACA,cAEA,CAAC,OAAO,UAAU,CAAC,MAAMD,YAAAA,QAAQ,IAAI,CAAC,QAAQ,QAAQ,CAAC,SAAS,UAAU;EAC3EE,cAAAA,sBAAsB,WAAA,GAAA,YAAA,SAAiC,MAAM;EAC7D,0BAA0B;EAC1B,2BAA2B;CAC7B"}
@@ -84,6 +84,8 @@ var transfer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, v
84
84
  "filter-method": __props.filterMethod,
85
85
  "default-checked": __props.leftDefaultChecked,
86
86
  props: props.props,
87
+ "virtual-scroll": __props.virtualScroll,
88
+ "item-size": __props.itemSize,
87
89
  onCheckedChange: (0, vue.unref)(onSourceCheckedChange)
88
90
  }, {
89
91
  empty: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "left-empty")]),
@@ -99,6 +101,8 @@ var transfer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, v
99
101
  "filter-method",
100
102
  "default-checked",
101
103
  "props",
104
+ "virtual-scroll",
105
+ "item-size",
102
106
  "onCheckedChange"
103
107
  ]),
104
108
  (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("buttons")) }, [(0, vue.createVNode)((0, vue.unref)(require_index$3.ElButton), {
@@ -144,6 +148,8 @@ var transfer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, v
144
148
  title: rightPanelTitle.value,
145
149
  "default-checked": __props.rightDefaultChecked,
146
150
  props: props.props,
151
+ "virtual-scroll": __props.virtualScroll,
152
+ "item-size": __props.itemSize,
147
153
  onCheckedChange: (0, vue.unref)(onTargetCheckedChange)
148
154
  }, {
149
155
  empty: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "right-empty")]),
@@ -159,6 +165,8 @@ var transfer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, v
159
165
  "title",
160
166
  "default-checked",
161
167
  "props",
168
+ "virtual-scroll",
169
+ "item-size",
162
170
  "onCheckedChange"
163
171
  ])
164
172
  ], 2);
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../../../packages/components/transfer/src/transfer.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <transfer-panel\n ref=\"leftPanel\"\n :data=\"sourceData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :title=\"leftPanelTitle\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :default-checked=\"leftDefaultChecked\"\n :props=\"props.props\"\n @checked-change=\"onSourceCheckedChange\"\n >\n <template #empty>\n <slot name=\"left-empty\" />\n </template>\n <slot name=\"left-footer\" />\n </transfer-panel>\n <div :class=\"ns.e('buttons')\">\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"isEmpty(checkedState.rightChecked)\"\n @click=\"addToLeft\"\n >\n <el-icon><arrow-left /></el-icon>\n <span v-if=\"!isUndefined(buttonTexts[0])\">{{ buttonTexts[0] }}</span>\n </el-button>\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"isEmpty(checkedState.leftChecked)\"\n @click=\"addToRight\"\n >\n <span v-if=\"!isUndefined(buttonTexts[1])\">{{ buttonTexts[1] }}</span>\n <el-icon><arrow-right /></el-icon>\n </el-button>\n </div>\n <transfer-panel\n ref=\"rightPanel\"\n :data=\"targetData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :title=\"rightPanelTitle\"\n :default-checked=\"rightDefaultChecked\"\n :props=\"props.props\"\n @checked-change=\"onTargetCheckedChange\"\n >\n <template #empty>\n <slot name=\"right-empty\" />\n </template>\n <slot name=\"right-footer\" />\n </transfer-panel>\n </div>\n</template>\n\n<script lang=\"ts\" setup generic=\"T extends TransferDataItem = TransferDataItem\">\nimport { Comment, computed, h, reactive, ref, watch } from 'vue'\nimport { NOOP, isEmpty, isUndefined } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useFormItem } from '@element-plus/components/form'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { transferEmits } from './transfer'\nimport {\n useCheckedChange,\n useComputedData,\n useMove,\n usePropsAlias,\n} from './composables'\nimport TransferPanel from './transfer-panel.vue'\n\nimport type { VNode } from 'vue'\nimport type {\n TransferCheckedState,\n TransferDataItem,\n TransferDirection,\n TransferProps,\n} from './transfer'\nimport type { TransferPanelInstance } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransfer',\n})\n\nconst props = withDefaults(defineProps<TransferProps<T>>(), {\n data: () => [],\n titles: () => [] as unknown as [string, string],\n buttonTexts: () => [] as unknown as [string, string],\n leftDefaultChecked: () => [],\n rightDefaultChecked: () => [],\n modelValue: () => [],\n format: () => ({}),\n props: () => ({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n targetOrder: 'original',\n validateEvent: true,\n})\nconst emit = defineEmits(transferEmits)\nconst slots = defineSlots<{\n default?: (props: { option: T }) => VNode[]\n 'left-empty'?: () => VNode[]\n 'left-footer'?: () => VNode[]\n 'right-empty'?: () => VNode[]\n 'right-footer'?: () => VNode[]\n}>()\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\nconst { formItem } = useFormItem()\n\nconst checkedState = reactive<TransferCheckedState>({\n leftChecked: [],\n rightChecked: [],\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst { sourceData, targetData } = useComputedData(props)\n\nconst { onSourceCheckedChange, onTargetCheckedChange } = useCheckedChange(\n checkedState,\n emit\n)\n\nconst { addToLeft, addToRight } = useMove(props, checkedState, emit)\n\nconst leftPanel = ref<TransferPanelInstance>()\nconst rightPanel = ref<TransferPanelInstance>()\n\nconst clearQuery = (which: TransferDirection) => {\n switch (which) {\n case 'left':\n leftPanel.value!.query = ''\n break\n case 'right':\n rightPanel.value!.query = ''\n break\n }\n}\n\nconst hasButtonTexts = computed(() => props.buttonTexts.length === 2)\n\nconst leftPanelTitle = computed(\n () => props.titles[0] || t('el.transfer.titles.0')\n)\n\nconst rightPanelTitle = computed(\n () => props.titles[1] || t('el.transfer.titles.1')\n)\n\nconst panelFilterPlaceholder = computed(\n () => props.filterPlaceholder || t('el.transfer.filterPlaceholder')\n)\n\nwatch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n formItem?.validate?.('change').catch(NOOP)\n }\n }\n)\n\nconst optionRender = computed(() => (option: T) => {\n if (props.renderContent) return props.renderContent(h, option)\n\n const defaultSlotVNodes = (slots.default?.({ option }) || []).filter(\n (node) => node.type !== Comment\n )\n if (defaultSlotVNodes.length) {\n return defaultSlotVNodes\n }\n\n return h(\n 'span',\n option[propsAlias.value.label] || option[propsAlias.value.key]\n )\n})\n\ndefineExpose({\n /** @description clear the filter keyword of a certain panel */\n clearQuery,\n /** @description left panel ref */\n leftPanel,\n /** @description right panel ref */\n rightPanel,\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"transfer.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../../../packages/components/transfer/src/transfer.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <transfer-panel\n ref=\"leftPanel\"\n :data=\"sourceData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :title=\"leftPanelTitle\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :default-checked=\"leftDefaultChecked\"\n :props=\"props.props\"\n :virtual-scroll=\"virtualScroll\"\n :item-size=\"itemSize\"\n @checked-change=\"onSourceCheckedChange\"\n >\n <template #empty>\n <slot name=\"left-empty\" />\n </template>\n <slot name=\"left-footer\" />\n </transfer-panel>\n <div :class=\"ns.e('buttons')\">\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"isEmpty(checkedState.rightChecked)\"\n @click=\"addToLeft\"\n >\n <el-icon><arrow-left /></el-icon>\n <span v-if=\"!isUndefined(buttonTexts[0])\">{{ buttonTexts[0] }}</span>\n </el-button>\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"isEmpty(checkedState.leftChecked)\"\n @click=\"addToRight\"\n >\n <span v-if=\"!isUndefined(buttonTexts[1])\">{{ buttonTexts[1] }}</span>\n <el-icon><arrow-right /></el-icon>\n </el-button>\n </div>\n <transfer-panel\n ref=\"rightPanel\"\n :data=\"targetData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :title=\"rightPanelTitle\"\n :default-checked=\"rightDefaultChecked\"\n :props=\"props.props\"\n :virtual-scroll=\"virtualScroll\"\n :item-size=\"itemSize\"\n @checked-change=\"onTargetCheckedChange\"\n >\n <template #empty>\n <slot name=\"right-empty\" />\n </template>\n <slot name=\"right-footer\" />\n </transfer-panel>\n </div>\n</template>\n\n<script lang=\"ts\" setup generic=\"T extends TransferDataItem = TransferDataItem\">\nimport { Comment, computed, h, reactive, ref, watch } from 'vue'\nimport { NOOP, isEmpty, isUndefined } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useFormItem } from '@element-plus/components/form'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { transferEmits } from './transfer'\nimport {\n useCheckedChange,\n useComputedData,\n useMove,\n usePropsAlias,\n} from './composables'\nimport TransferPanel from './transfer-panel.vue'\n\nimport type { VNode } from 'vue'\nimport type {\n TransferCheckedState,\n TransferDataItem,\n TransferDirection,\n TransferProps,\n} from './transfer'\nimport type { TransferPanelInstance } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransfer',\n})\n\nconst props = withDefaults(defineProps<TransferProps<T>>(), {\n data: () => [],\n titles: () => [] as unknown as [string, string],\n buttonTexts: () => [] as unknown as [string, string],\n leftDefaultChecked: () => [],\n rightDefaultChecked: () => [],\n modelValue: () => [],\n format: () => ({}),\n props: () => ({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n targetOrder: 'original',\n validateEvent: true,\n virtualScroll: false,\n itemSize: 30,\n})\nconst emit = defineEmits(transferEmits)\nconst slots = defineSlots<{\n default?: (props: { option: T }) => VNode[]\n 'left-empty'?: () => VNode[]\n 'left-footer'?: () => VNode[]\n 'right-empty'?: () => VNode[]\n 'right-footer'?: () => VNode[]\n}>()\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\nconst { formItem } = useFormItem()\n\nconst checkedState = reactive<TransferCheckedState>({\n leftChecked: [],\n rightChecked: [],\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst { sourceData, targetData } = useComputedData(props)\n\nconst { onSourceCheckedChange, onTargetCheckedChange } = useCheckedChange(\n checkedState,\n emit\n)\n\nconst { addToLeft, addToRight } = useMove(props, checkedState, emit)\n\nconst leftPanel = ref<TransferPanelInstance>()\nconst rightPanel = ref<TransferPanelInstance>()\n\nconst clearQuery = (which: TransferDirection) => {\n switch (which) {\n case 'left':\n leftPanel.value!.query = ''\n break\n case 'right':\n rightPanel.value!.query = ''\n break\n }\n}\n\nconst hasButtonTexts = computed(() => props.buttonTexts.length === 2)\n\nconst leftPanelTitle = computed(\n () => props.titles[0] || t('el.transfer.titles.0')\n)\n\nconst rightPanelTitle = computed(\n () => props.titles[1] || t('el.transfer.titles.1')\n)\n\nconst panelFilterPlaceholder = computed(\n () => props.filterPlaceholder || t('el.transfer.filterPlaceholder')\n)\n\nwatch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n formItem?.validate?.('change').catch(NOOP)\n }\n }\n)\n\nconst optionRender = computed(() => (option: T) => {\n if (props.renderContent) return props.renderContent(h, option)\n\n const defaultSlotVNodes = (slots.default?.({ option }) || []).filter(\n (node) => node.type !== Comment\n )\n if (defaultSlotVNodes.length) {\n return defaultSlotVNodes\n }\n\n return h(\n 'span',\n option[propsAlias.value.label] || option[propsAlias.value.key]\n )\n})\n\ndefineExpose({\n /** @description clear the filter keyword of a certain panel */\n clearQuery,\n /** @description left panel ref */\n leftPanel,\n /** @description right panel ref */\n rightPanel,\n})\n</script>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transfer2.js","names":[],"sources":["../../../../../../packages/components/transfer/src/transfer.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <transfer-panel\n ref=\"leftPanel\"\n :data=\"sourceData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :title=\"leftPanelTitle\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :default-checked=\"leftDefaultChecked\"\n :props=\"props.props\"\n @checked-change=\"onSourceCheckedChange\"\n >\n <template #empty>\n <slot name=\"left-empty\" />\n </template>\n <slot name=\"left-footer\" />\n </transfer-panel>\n <div :class=\"ns.e('buttons')\">\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"isEmpty(checkedState.rightChecked)\"\n @click=\"addToLeft\"\n >\n <el-icon><arrow-left /></el-icon>\n <span v-if=\"!isUndefined(buttonTexts[0])\">{{ buttonTexts[0] }}</span>\n </el-button>\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"isEmpty(checkedState.leftChecked)\"\n @click=\"addToRight\"\n >\n <span v-if=\"!isUndefined(buttonTexts[1])\">{{ buttonTexts[1] }}</span>\n <el-icon><arrow-right /></el-icon>\n </el-button>\n </div>\n <transfer-panel\n ref=\"rightPanel\"\n :data=\"targetData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :title=\"rightPanelTitle\"\n :default-checked=\"rightDefaultChecked\"\n :props=\"props.props\"\n @checked-change=\"onTargetCheckedChange\"\n >\n <template #empty>\n <slot name=\"right-empty\" />\n </template>\n <slot name=\"right-footer\" />\n </transfer-panel>\n </div>\n</template>\n\n<script lang=\"ts\" setup generic=\"T extends TransferDataItem = TransferDataItem\">\nimport { Comment, computed, h, reactive, ref, watch } from 'vue'\nimport { NOOP, isEmpty, isUndefined } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useFormItem } from '@element-plus/components/form'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { transferEmits } from './transfer'\nimport {\n useCheckedChange,\n useComputedData,\n useMove,\n usePropsAlias,\n} from './composables'\nimport TransferPanel from './transfer-panel.vue'\n\nimport type { VNode } from 'vue'\nimport type {\n TransferCheckedState,\n TransferDataItem,\n TransferDirection,\n TransferProps,\n} from './transfer'\nimport type { TransferPanelInstance } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransfer',\n})\n\nconst props = withDefaults(defineProps<TransferProps<T>>(), {\n data: () => [],\n titles: () => [] as unknown as [string, string],\n buttonTexts: () => [] as unknown as [string, string],\n leftDefaultChecked: () => [],\n rightDefaultChecked: () => [],\n modelValue: () => [],\n format: () => ({}),\n props: () => ({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n targetOrder: 'original',\n validateEvent: true,\n})\nconst emit = defineEmits(transferEmits)\nconst slots = defineSlots<{\n default?: (props: { option: T }) => VNode[]\n 'left-empty'?: () => VNode[]\n 'left-footer'?: () => VNode[]\n 'right-empty'?: () => VNode[]\n 'right-footer'?: () => VNode[]\n}>()\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\nconst { formItem } = useFormItem()\n\nconst checkedState = reactive<TransferCheckedState>({\n leftChecked: [],\n rightChecked: [],\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst { sourceData, targetData } = useComputedData(props)\n\nconst { onSourceCheckedChange, onTargetCheckedChange } = useCheckedChange(\n checkedState,\n emit\n)\n\nconst { addToLeft, addToRight } = useMove(props, checkedState, emit)\n\nconst leftPanel = ref<TransferPanelInstance>()\nconst rightPanel = ref<TransferPanelInstance>()\n\nconst clearQuery = (which: TransferDirection) => {\n switch (which) {\n case 'left':\n leftPanel.value!.query = ''\n break\n case 'right':\n rightPanel.value!.query = ''\n break\n }\n}\n\nconst hasButtonTexts = computed(() => props.buttonTexts.length === 2)\n\nconst leftPanelTitle = computed(\n () => props.titles[0] || t('el.transfer.titles.0')\n)\n\nconst rightPanelTitle = computed(\n () => props.titles[1] || t('el.transfer.titles.1')\n)\n\nconst panelFilterPlaceholder = computed(\n () => props.filterPlaceholder || t('el.transfer.filterPlaceholder')\n)\n\nwatch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n formItem?.validate?.('change').catch(NOOP)\n }\n }\n)\n\nconst optionRender = computed(() => (option: T) => {\n if (props.renderContent) return props.renderContent(h, option)\n\n const defaultSlotVNodes = (slots.default?.({ option }) || []).filter(\n (node) => node.type !== Comment\n )\n if (defaultSlotVNodes.length) {\n return defaultSlotVNodes\n }\n\n return h(\n 'span',\n option[propsAlias.value.label] || option[propsAlias.value.key]\n )\n})\n\ndefineExpose({\n /** @description clear the filter keyword of a certain panel */\n clearQuery,\n /** @description left panel ref */\n leftPanel,\n /** @description right panel ref */\n rightPanel,\n})\n</script>\n"],"mappings":""}
1
+ {"version":3,"file":"transfer2.js","names":[],"sources":["../../../../../../packages/components/transfer/src/transfer.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <transfer-panel\n ref=\"leftPanel\"\n :data=\"sourceData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :title=\"leftPanelTitle\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :default-checked=\"leftDefaultChecked\"\n :props=\"props.props\"\n :virtual-scroll=\"virtualScroll\"\n :item-size=\"itemSize\"\n @checked-change=\"onSourceCheckedChange\"\n >\n <template #empty>\n <slot name=\"left-empty\" />\n </template>\n <slot name=\"left-footer\" />\n </transfer-panel>\n <div :class=\"ns.e('buttons')\">\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"isEmpty(checkedState.rightChecked)\"\n @click=\"addToLeft\"\n >\n <el-icon><arrow-left /></el-icon>\n <span v-if=\"!isUndefined(buttonTexts[0])\">{{ buttonTexts[0] }}</span>\n </el-button>\n <el-button\n type=\"primary\"\n :class=\"[ns.e('button'), ns.is('with-texts', hasButtonTexts)]\"\n :disabled=\"isEmpty(checkedState.leftChecked)\"\n @click=\"addToRight\"\n >\n <span v-if=\"!isUndefined(buttonTexts[1])\">{{ buttonTexts[1] }}</span>\n <el-icon><arrow-right /></el-icon>\n </el-button>\n </div>\n <transfer-panel\n ref=\"rightPanel\"\n :data=\"targetData\"\n :option-render=\"optionRender\"\n :placeholder=\"panelFilterPlaceholder\"\n :filterable=\"filterable\"\n :format=\"format\"\n :filter-method=\"filterMethod\"\n :title=\"rightPanelTitle\"\n :default-checked=\"rightDefaultChecked\"\n :props=\"props.props\"\n :virtual-scroll=\"virtualScroll\"\n :item-size=\"itemSize\"\n @checked-change=\"onTargetCheckedChange\"\n >\n <template #empty>\n <slot name=\"right-empty\" />\n </template>\n <slot name=\"right-footer\" />\n </transfer-panel>\n </div>\n</template>\n\n<script lang=\"ts\" setup generic=\"T extends TransferDataItem = TransferDataItem\">\nimport { Comment, computed, h, reactive, ref, watch } from 'vue'\nimport { NOOP, isEmpty, isUndefined } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useFormItem } from '@element-plus/components/form'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { transferEmits } from './transfer'\nimport {\n useCheckedChange,\n useComputedData,\n useMove,\n usePropsAlias,\n} from './composables'\nimport TransferPanel from './transfer-panel.vue'\n\nimport type { VNode } from 'vue'\nimport type {\n TransferCheckedState,\n TransferDataItem,\n TransferDirection,\n TransferProps,\n} from './transfer'\nimport type { TransferPanelInstance } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransfer',\n})\n\nconst props = withDefaults(defineProps<TransferProps<T>>(), {\n data: () => [],\n titles: () => [] as unknown as [string, string],\n buttonTexts: () => [] as unknown as [string, string],\n leftDefaultChecked: () => [],\n rightDefaultChecked: () => [],\n modelValue: () => [],\n format: () => ({}),\n props: () => ({\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }),\n targetOrder: 'original',\n validateEvent: true,\n virtualScroll: false,\n itemSize: 30,\n})\nconst emit = defineEmits(transferEmits)\nconst slots = defineSlots<{\n default?: (props: { option: T }) => VNode[]\n 'left-empty'?: () => VNode[]\n 'left-footer'?: () => VNode[]\n 'right-empty'?: () => VNode[]\n 'right-footer'?: () => VNode[]\n}>()\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\nconst { formItem } = useFormItem()\n\nconst checkedState = reactive<TransferCheckedState>({\n leftChecked: [],\n rightChecked: [],\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst { sourceData, targetData } = useComputedData(props)\n\nconst { onSourceCheckedChange, onTargetCheckedChange } = useCheckedChange(\n checkedState,\n emit\n)\n\nconst { addToLeft, addToRight } = useMove(props, checkedState, emit)\n\nconst leftPanel = ref<TransferPanelInstance>()\nconst rightPanel = ref<TransferPanelInstance>()\n\nconst clearQuery = (which: TransferDirection) => {\n switch (which) {\n case 'left':\n leftPanel.value!.query = ''\n break\n case 'right':\n rightPanel.value!.query = ''\n break\n }\n}\n\nconst hasButtonTexts = computed(() => props.buttonTexts.length === 2)\n\nconst leftPanelTitle = computed(\n () => props.titles[0] || t('el.transfer.titles.0')\n)\n\nconst rightPanelTitle = computed(\n () => props.titles[1] || t('el.transfer.titles.1')\n)\n\nconst panelFilterPlaceholder = computed(\n () => props.filterPlaceholder || t('el.transfer.filterPlaceholder')\n)\n\nwatch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n formItem?.validate?.('change').catch(NOOP)\n }\n }\n)\n\nconst optionRender = computed(() => (option: T) => {\n if (props.renderContent) return props.renderContent(h, option)\n\n const defaultSlotVNodes = (slots.default?.({ option }) || []).filter(\n (node) => node.type !== Comment\n )\n if (defaultSlotVNodes.length) {\n return defaultSlotVNodes\n }\n\n return h(\n 'span',\n option[propsAlias.value.label] || option[propsAlias.value.key]\n )\n})\n\ndefineExpose({\n /** @description clear the filter keyword of a certain panel */\n clearQuery,\n /** @description left panel ref */\n leftPanel,\n /** @description right panel ref */\n rightPanel,\n})\n</script>\n"],"mappings":""}
@@ -3,5 +3,6 @@ require("../../base/style/css.js");
3
3
  require("../../input/style/css.js");
4
4
  require("../../button/style/css.js");
5
5
  require("../../checkbox/style/css.js");
6
+ require("../../virtual-list/style/css.js");
6
7
  require("../../checkbox-group/style/css.js");
7
8
  require("@element-plus/nightly/theme-chalk/el-transfer.css");
@@ -3,5 +3,6 @@ require("../../base/style/index.js");
3
3
  require("../../input/style/index.js");
4
4
  require("../../button/style/index.js");
5
5
  require("../../checkbox/style/index.js");
6
+ require("../../virtual-list/style/index.js");
6
7
  require("../../checkbox-group/style/index.js");
7
8
  require("@element-plus/nightly/theme-chalk/src/transfer.scss");
@@ -79,9 +79,9 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
79
79
  }>> & Readonly<{
80
80
  "onNode-expand"?: ((...args: any[]) => any) | undefined;
81
81
  }>, {
82
- node: Node;
83
82
  props: TreeOptionProps;
84
83
  accordion: boolean;
84
+ node: Node;
85
85
  renderAfterExpand: boolean;
86
86
  showCheckbox: boolean;
87
87
  }, {}, {
@@ -110,13 +110,13 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
110
110
  change: (val: CheckboxValueType) => void;
111
111
  "update:modelValue": (val: CheckboxValueType) => void;
112
112
  }, _$vue.PublicProps, {
113
+ name: string;
113
114
  label: string | boolean | number | object;
114
115
  disabled: boolean;
115
116
  id: string;
116
- name: string;
117
- value: string | boolean | number | object;
118
117
  modelValue: number | string | boolean;
119
118
  validateEvent: boolean;
119
+ value: string | boolean | number | object;
120
120
  trueValue: string | number;
121
121
  falseValue: string | number;
122
122
  trueLabel: string | number;
@@ -132,13 +132,13 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
132
132
  onChange?: ((val: CheckboxValueType) => any) | undefined;
133
133
  "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
134
134
  }>, {}, {}, {}, {}, {
135
+ name: string;
135
136
  label: string | boolean | number | object;
136
137
  disabled: boolean;
137
138
  id: string;
138
- name: string;
139
- value: string | boolean | number | object;
140
139
  modelValue: number | string | boolean;
141
140
  validateEvent: boolean;
141
+ value: string | boolean | number | object;
142
142
  trueValue: string | number;
143
143
  falseValue: string | number;
144
144
  trueLabel: string | number;
@@ -154,13 +154,13 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
154
154
  change: (val: CheckboxValueType) => void;
155
155
  "update:modelValue": (val: CheckboxValueType) => void;
156
156
  }, string, {
157
+ name: string;
157
158
  label: string | boolean | number | object;
158
159
  disabled: boolean;
159
160
  id: string;
160
- name: string;
161
- value: string | boolean | number | object;
162
161
  modelValue: number | string | boolean;
163
162
  validateEvent: boolean;
163
+ value: string | boolean | number | object;
164
164
  trueValue: string | number;
165
165
  falseValue: string | number;
166
166
  trueLabel: string | number;
@@ -184,7 +184,7 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
184
184
  readonly falseLabel?: string | number | (() => string | number) | undefined;
185
185
  readonly id?: string | (() => string) | undefined;
186
186
  readonly border?: boolean | (() => boolean) | undefined;
187
- readonly size?: "" | "default" | "large" | "small" | (() => "" | "default" | "large" | "small") | undefined;
187
+ readonly size?: "" | "default" | "small" | "large" | (() => "" | "default" | "small" | "large") | undefined;
188
188
  readonly tabindex?: string | number | (() => string | number) | undefined;
189
189
  readonly validateEvent?: boolean | (() => boolean) | undefined;
190
190
  readonly ariaLabel?: string | (() => string) | undefined;
@@ -1350,35 +1350,35 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
1350
1350
  __epPropKey: true;
1351
1351
  };
1352
1352
  }>> & Readonly<{
1353
- "onCheck-change"?: ((data: any, checked: boolean, indeterminate: boolean) => any) | undefined;
1354
1353
  "onCurrent-change"?: ((data: any, node: Node | null) => any) | undefined;
1354
+ "onNode-expand"?: ((data: any, node: Node, nodeInstance: ComponentInternalInstance | null) => any) | undefined;
1355
+ "onCheck-change"?: ((data: any, checked: boolean, indeterminate: boolean) => any) | undefined;
1355
1356
  "onNode-click"?: ((data: any, node: Node, nodeInstance: ComponentInternalInstance | null, evt: MouseEvent) => any) | undefined;
1356
1357
  "onNode-contextmenu"?: ((evt: Event, data: any, node: Node, nodeInstance: ComponentInternalInstance | null) => any) | undefined;
1357
1358
  "onNode-collapse"?: ((data: any, node: Node, nodeInstance: ComponentInternalInstance | null) => any) | undefined;
1358
- "onNode-expand"?: ((data: any, node: Node, nodeInstance: ComponentInternalInstance | null) => any) | undefined;
1359
1359
  onCheck?: ((data: any, checkedInfo: CheckedInfo) => any) | undefined;
1360
1360
  "onNode-drag-start"?: ((node: Node, evt: DragEvent) => any) | undefined;
1361
1361
  "onNode-drag-end"?: ((draggingNode: Node, dropNode: Node | null, dropType: NodeDropType, evt: DragEvent) => any) | undefined;
1362
- "onNode-drop"?: ((draggingNode: Node, dropNode: Node, dropType: "before" | "after" | "inner", evt: DragEvent) => any) | undefined;
1362
+ "onNode-drop"?: ((draggingNode: Node, dropNode: Node, dropType: "after" | "before" | "inner", evt: DragEvent) => any) | undefined;
1363
1363
  "onNode-drag-leave"?: ((draggingNode: Node, oldDropNode: Node, evt: DragEvent) => any) | undefined;
1364
1364
  "onNode-drag-enter"?: ((draggingNode: Node, dropNode: Node, evt: DragEvent) => any) | undefined;
1365
1365
  "onNode-drag-over"?: ((draggingNode: Node, dropNode: Node, evt: DragEvent) => any) | undefined;
1366
1366
  }>, {
1367
+ readonly props: TreeOptionProps;
1367
1368
  readonly data: TreeData;
1368
- readonly lazy: boolean;
1369
1369
  readonly checkStrictly: boolean;
1370
- readonly autoExpandParent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
1371
- readonly defaultExpandAll: boolean;
1372
- readonly checkDescendants: boolean;
1373
- readonly props: TreeOptionProps;
1370
+ readonly lazy: boolean;
1374
1371
  readonly checkOnClickNode: boolean;
1375
1372
  readonly checkOnClickLeaf: EpPropMergeType<BooleanConstructor, unknown, unknown>;
1376
1373
  readonly accordion: boolean;
1377
1374
  readonly draggable: boolean;
1375
+ readonly defaultExpandAll: boolean;
1378
1376
  readonly indent: number;
1379
1377
  readonly renderAfterExpand: EpPropMergeType<BooleanConstructor, unknown, unknown>;
1380
1378
  readonly showCheckbox: boolean;
1381
1379
  readonly expandOnClickNode: EpPropMergeType<BooleanConstructor, unknown, unknown>;
1380
+ readonly autoExpandParent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
1381
+ readonly checkDescendants: boolean;
1382
1382
  readonly highlightCurrent: boolean;
1383
1383
  }, {}, {
1384
1384
  ElTreeNode: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
@@ -1450,9 +1450,9 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
1450
1450
  }>> & Readonly<{
1451
1451
  "onNode-expand"?: ((...args: any[]) => any) | undefined;
1452
1452
  }>, {
1453
- node: Node;
1454
1453
  props: TreeOptionProps;
1455
1454
  accordion: boolean;
1455
+ node: Node;
1456
1456
  renderAfterExpand: boolean;
1457
1457
  showCheckbox: boolean;
1458
1458
  }, {}, {
@@ -1481,13 +1481,13 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
1481
1481
  change: (val: CheckboxValueType) => void;
1482
1482
  "update:modelValue": (val: CheckboxValueType) => void;
1483
1483
  }, _$vue.PublicProps, {
1484
+ name: string;
1484
1485
  label: string | boolean | number | object;
1485
1486
  disabled: boolean;
1486
1487
  id: string;
1487
- name: string;
1488
- value: string | boolean | number | object;
1489
1488
  modelValue: number | string | boolean;
1490
1489
  validateEvent: boolean;
1490
+ value: string | boolean | number | object;
1491
1491
  trueValue: string | number;
1492
1492
  falseValue: string | number;
1493
1493
  trueLabel: string | number;
@@ -1503,13 +1503,13 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
1503
1503
  onChange?: ((val: CheckboxValueType) => any) | undefined;
1504
1504
  "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
1505
1505
  }>, {}, {}, {}, {}, {
1506
+ name: string;
1506
1507
  label: string | boolean | number | object;
1507
1508
  disabled: boolean;
1508
1509
  id: string;
1509
- name: string;
1510
- value: string | boolean | number | object;
1511
1510
  modelValue: number | string | boolean;
1512
1511
  validateEvent: boolean;
1512
+ value: string | boolean | number | object;
1513
1513
  trueValue: string | number;
1514
1514
  falseValue: string | number;
1515
1515
  trueLabel: string | number;
@@ -1525,13 +1525,13 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
1525
1525
  change: (val: CheckboxValueType) => void;
1526
1526
  "update:modelValue": (val: CheckboxValueType) => void;
1527
1527
  }, string, {
1528
+ name: string;
1528
1529
  label: string | boolean | number | object;
1529
1530
  disabled: boolean;
1530
1531
  id: string;
1531
- name: string;
1532
- value: string | boolean | number | object;
1533
1532
  modelValue: number | string | boolean;
1534
1533
  validateEvent: boolean;
1534
+ value: string | boolean | number | object;
1535
1535
  trueValue: string | number;
1536
1536
  falseValue: string | number;
1537
1537
  trueLabel: string | number;
@@ -1555,7 +1555,7 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
1555
1555
  readonly falseLabel?: string | number | (() => string | number) | undefined;
1556
1556
  readonly id?: string | (() => string) | undefined;
1557
1557
  readonly border?: boolean | (() => boolean) | undefined;
1558
- readonly size?: "" | "default" | "large" | "small" | (() => "" | "default" | "large" | "small") | undefined;
1558
+ readonly size?: "" | "default" | "small" | "large" | (() => "" | "default" | "small" | "large") | undefined;
1559
1559
  readonly tabindex?: string | number | (() => string | number) | undefined;
1560
1560
  readonly validateEvent?: boolean | (() => boolean) | undefined;
1561
1561
  readonly ariaLabel?: string | (() => string) | undefined;
@@ -8,13 +8,13 @@ declare const component: _$vue.DefineComponent<{}, any, {}, {}, {
8
8
  selectOptionClick(): void;
9
9
  }, _$vue.ComponentOptionsMixin, SFCWithInstall<_$vue.DefineComponent<_$vue.ExtractPropTypes<{
10
10
  value: {
11
- readonly type: _$vue.PropType<EpPropMergeType<(BooleanConstructor | ObjectConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>>;
11
+ readonly type: _$vue.PropType<EpPropMergeType<(BooleanConstructor | StringConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown>>;
12
12
  readonly required: true;
13
13
  readonly validator: ((val: unknown) => boolean) | undefined;
14
14
  __epPropKey: true;
15
15
  };
16
16
  label: {
17
- readonly type: _$vue.PropType<EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>>;
17
+ readonly type: _$vue.PropType<EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
18
18
  readonly required: false;
19
19
  readonly validator: ((val: unknown) => boolean) | undefined;
20
20
  __epPropKey: true;
@@ -42,7 +42,7 @@ declare const component: _$vue.DefineComponent<{}, any, {}, {}, {
42
42
  };
43
43
  id: _$vue.Ref<string, string>;
44
44
  containerKls: _$vue.ComputedRef<string[]>;
45
- currentLabel: _$vue.ComputedRef<boolean | EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>>;
45
+ currentLabel: _$vue.ComputedRef<boolean | EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
46
46
  itemSelected: _$vue.ComputedRef<boolean>;
47
47
  isDisabled: _$vue.ComputedRef<boolean>;
48
48
  select: SelectContext;
@@ -61,13 +61,13 @@ declare const component: _$vue.DefineComponent<{}, any, {}, {}, {
61
61
  selectOptionClick: () => void;
62
62
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<_$vue.ExtractPropTypes<{
63
63
  value: {
64
- readonly type: _$vue.PropType<EpPropMergeType<(BooleanConstructor | ObjectConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>>;
64
+ readonly type: _$vue.PropType<EpPropMergeType<(BooleanConstructor | StringConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown>>;
65
65
  readonly required: true;
66
66
  readonly validator: ((val: unknown) => boolean) | undefined;
67
67
  __epPropKey: true;
68
68
  };
69
69
  label: {
70
- readonly type: _$vue.PropType<EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>>;
70
+ readonly type: _$vue.PropType<EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
71
71
  readonly required: false;
72
72
  readonly validator: ((val: unknown) => boolean) | undefined;
73
73
  __epPropKey: true;