@element-plus/nightly 0.0.20260611 → 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 (610) 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.vue.d.ts +3 -3
  277. package/es/components/alert/src/alert.d.ts +2 -2
  278. package/es/components/anchor/src/anchor.d.ts +1 -1
  279. package/es/components/autocomplete/src/autocomplete.d.ts +4 -4
  280. package/es/components/autocomplete/src/autocomplete.vue.d.ts +6 -6
  281. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  282. package/es/components/button/src/button-group.d.ts +1 -1
  283. package/es/components/button/src/button-group.vue.d.ts +1 -1
  284. package/es/components/button/src/button.d.ts +1 -1
  285. package/es/components/button/src/button.vue.d.ts +2 -2
  286. package/es/components/button/src/use-button.d.ts +1 -1
  287. package/es/components/calendar/src/calendar.vue.d.ts +1 -1
  288. package/es/components/card/src/card.vue.d.ts +1 -1
  289. package/es/components/carousel/src/carousel.d.ts +1 -1
  290. package/es/components/cascader/src/cascader.d.ts +2 -2
  291. package/es/components/cascader/src/cascader.vue.d.ts +10 -10
  292. package/es/components/cascader-panel/src/index.vue.d.ts +3 -3
  293. package/es/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
  294. package/es/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  295. package/es/components/checkbox/src/checkbox.d.ts +2 -2
  296. package/es/components/checkbox/src/checkbox.vue.d.ts +5 -5
  297. package/es/components/col/src/col.vue.d.ts +2 -2
  298. package/es/components/collapse/src/collapse.vue.d.ts +1 -1
  299. package/es/components/color-picker/src/color-picker.vue.d.ts +7 -7
  300. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  301. package/es/components/date-picker/src/date-picker.d.ts +4 -4
  302. package/es/components/date-picker/src/props.d.ts +1 -1
  303. package/es/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  304. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  305. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
  306. package/es/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +1 -1
  307. package/es/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +1 -1
  308. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +3 -3
  309. package/es/components/date-picker-panel/src/panel-utils.d.ts +9 -9
  310. package/es/components/descriptions/src/description-item.d.ts +9 -9
  311. package/es/components/dialog/src/dialog.vue.d.ts +3 -3
  312. package/es/components/divider/src/divider.d.ts +1 -1
  313. package/es/components/drawer/src/drawer.vue.d.ts +3 -3
  314. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -2
  315. package/es/components/dropdown/src/dropdown-item.vue.d.ts +6 -6
  316. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  317. package/es/components/dropdown/src/dropdown.d.ts +4 -4
  318. package/es/components/dropdown/src/dropdown.vue.d.ts +37 -37
  319. package/es/components/form/src/form-item.d.ts +2 -2
  320. package/es/components/form/src/form-item.vue.d.ts +1 -1
  321. package/es/components/form/src/form.d.ts +1 -1
  322. package/es/components/image/src/image.vue.d.ts +2 -2
  323. package/es/components/input/src/input.d.ts +3 -3
  324. package/es/components/input/src/input.vue.d.ts +16 -16
  325. package/es/components/input-number/src/input-number.d.ts +2 -2
  326. package/es/components/input-number/src/input-number.vue.d.ts +7 -7
  327. package/es/components/input-otp/src/input-otp.vue.d.ts +4 -4
  328. package/es/components/input-tag/src/input-tag.d.ts +2 -2
  329. package/es/components/input-tag/src/input-tag.vue.d.ts +9 -9
  330. package/es/components/link/src/link.vue.d.ts +1 -1
  331. package/es/components/mention/src/mention.d.ts +3 -3
  332. package/es/components/mention/src/mention.vue.d.ts +5 -5
  333. package/es/components/menu/src/menu.d.ts +6 -6
  334. package/es/components/menu/src/sub-menu.d.ts +1 -1
  335. package/es/components/message/src/instance.d.ts +1 -1
  336. package/es/components/message/src/message.d.ts +2 -2
  337. package/es/components/message/src/message.vue.d.ts +2 -2
  338. package/es/components/message-box/src/index.vue.d.ts +50 -50
  339. package/es/components/notification/src/notification.d.ts +2 -2
  340. package/es/components/notification/src/notification.vue.d.ts +3 -3
  341. package/es/components/pagination/src/components/sizes.vue.d.ts +1 -1
  342. package/es/components/pagination/src/pagination.d.ts +2 -2
  343. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  344. package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  345. package/es/components/popover/src/popover.d.ts +2 -2
  346. package/es/components/popover/src/popover.vue.d.ts +2 -2
  347. package/es/components/popper/src/composables/use-content.d.ts +1 -1
  348. package/es/components/popper/src/content.d.ts +4 -4
  349. package/es/components/popper/src/content.vue.d.ts +7 -7
  350. package/es/components/popper/src/popper.d.ts +2 -2
  351. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  352. package/es/components/radio/src/radio-group.vue.d.ts +4 -4
  353. package/es/components/radio/src/radio.vue.d.ts +4 -4
  354. package/es/components/rate/src/rate.vue.d.ts +2 -2
  355. package/es/components/result/src/result.d.ts +1 -1
  356. package/es/components/row/src/row.d.ts +2 -2
  357. package/es/components/segmented/index.d.ts +2 -2
  358. package/es/components/segmented/src/segmented.vue.d.ts +1 -1
  359. package/es/components/select/src/option.d.ts +1 -1
  360. package/es/components/select/src/option.vue.d.ts +2 -2
  361. package/es/components/select/src/select.d.ts +3 -3
  362. package/es/components/select/src/select.vue.d.ts +42 -42
  363. package/es/components/select/src/useSelect.d.ts +5 -5
  364. package/es/components/select-v2/src/defaults.d.ts +3 -3
  365. package/es/components/select-v2/src/select.vue.d.ts +36 -36
  366. package/es/components/select-v2/src/useSelect.d.ts +1 -1
  367. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  368. package/es/components/slider/src/button.vue.d.ts +1 -1
  369. package/es/components/slider/src/slider.vue.d.ts +5 -5
  370. package/es/components/space/src/space.d.ts +1 -1
  371. package/es/components/steps/src/item.d.ts +1 -1
  372. package/es/components/steps/src/item.vue.d.ts +1 -1
  373. package/es/components/steps/src/steps.d.ts +2 -2
  374. package/es/components/switch/src/switch.vue.d.ts +3 -3
  375. package/es/components/table/src/filter-panel.vue.d.ts +34 -34
  376. package/es/components/table/src/table-header/index.d.ts +14 -14
  377. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  378. package/es/components/tabs/src/tab-pane.vue.d.ts +1 -1
  379. package/es/components/tabs/src/tabs.d.ts +5 -5
  380. package/es/components/tag/src/tag.d.ts +1 -1
  381. package/es/components/tag/src/tag.vue.d.ts +2 -2
  382. package/es/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
  383. package/es/components/time-picker/src/common/picker.vue.d.ts +10 -10
  384. package/es/components/time-picker/src/common/props.d.ts +1 -1
  385. package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
  386. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
  387. package/es/components/time-picker/src/time-picker.d.ts +4 -4
  388. package/es/components/time-select/src/time-select.vue.d.ts +9 -9
  389. package/es/components/timeline/src/timeline-item.d.ts +1 -1
  390. package/es/components/tooltip/src/content.d.ts +1 -1
  391. package/es/components/tooltip/src/content.vue.d.ts +4 -4
  392. package/es/components/tooltip/src/tooltip.d.ts +3 -3
  393. package/es/components/tooltip/src/tooltip.vue.d.ts +5 -5
  394. package/es/components/tooltip/src/trigger.d.ts +1 -1
  395. package/es/components/tour/src/content.d.ts +2 -2
  396. package/es/components/tour/src/mask.vue.d.ts +1 -1
  397. package/es/components/tour/src/step.d.ts +1 -1
  398. package/es/components/tour/src/tour.d.ts +1 -1
  399. package/es/components/tour/src/tour.vue.d.ts +2 -2
  400. package/es/components/transfer/src/composables/use-check.d.ts +6 -1
  401. package/es/components/transfer/src/composables/use-check.mjs +12 -1
  402. package/es/components/transfer/src/composables/use-check.mjs.map +1 -1
  403. package/es/components/transfer/src/transfer-panel.d.ts +4 -0
  404. package/es/components/transfer/src/transfer-panel.mjs +3 -1
  405. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  406. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs +38 -4
  407. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  408. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  409. package/es/components/transfer/src/transfer.d.ts +10 -0
  410. package/es/components/transfer/src/transfer.mjs +11 -0
  411. package/es/components/transfer/src/transfer.mjs.map +1 -1
  412. package/es/components/transfer/src/transfer.vue.d.ts +1 -1
  413. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs +8 -0
  414. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  415. package/es/components/transfer/src/transfer2.mjs.map +1 -1
  416. package/es/components/transfer/style/css.mjs +1 -0
  417. package/es/components/transfer/style/index.mjs +1 -0
  418. package/es/components/tree/src/tree-node.vue.d.ts +14 -14
  419. package/es/components/tree/src/tree.vue.d.ts +14 -14
  420. package/es/components/tree-select/src/tree-select-option.d.ts +2 -2
  421. package/es/components/tree-select/src/tree-select.vue.d.ts +13 -13
  422. package/es/components/tree-v2/src/composables/useTree.d.ts +2 -2
  423. package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
  424. package/es/components/upload/src/upload-content.d.ts +1 -1
  425. package/es/components/upload/src/upload-content.vue.d.ts +3 -3
  426. package/es/components/upload/src/upload-list.d.ts +1 -1
  427. package/es/components/upload/src/upload.d.ts +2 -2
  428. package/es/components/upload/src/upload.vue.d.ts +4 -4
  429. package/es/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  430. package/es/components/virtual-list/src/builders/build-list.d.ts +1 -1
  431. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  432. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  433. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  434. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  435. package/es/components/virtual-list/src/components/scrollbar.d.ts +2 -2
  436. package/es/components/watermark/src/watermark.vue.d.ts +1 -1
  437. package/es/hooks/use-floating/index.d.ts +4 -4
  438. package/es/hooks/use-popper/index.d.ts +1 -1
  439. package/es/version.d.ts +1 -1
  440. package/es/version.mjs +1 -1
  441. package/es/version.mjs.map +1 -1
  442. package/lib/components/affix/src/affix.vue.d.ts +3 -3
  443. package/lib/components/alert/src/alert.d.ts +2 -2
  444. package/lib/components/anchor/src/anchor.d.ts +1 -1
  445. package/lib/components/autocomplete/src/autocomplete.d.ts +4 -4
  446. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +6 -6
  447. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  448. package/lib/components/button/src/button-group.d.ts +1 -1
  449. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  450. package/lib/components/button/src/button.d.ts +1 -1
  451. package/lib/components/button/src/button.vue.d.ts +2 -2
  452. package/lib/components/button/src/use-button.d.ts +1 -1
  453. package/lib/components/calendar/src/calendar.vue.d.ts +1 -1
  454. package/lib/components/card/src/card.vue.d.ts +1 -1
  455. package/lib/components/carousel/src/carousel.d.ts +1 -1
  456. package/lib/components/cascader/src/cascader.d.ts +2 -2
  457. package/lib/components/cascader/src/cascader.vue.d.ts +10 -10
  458. package/lib/components/cascader-panel/src/index.vue.d.ts +3 -3
  459. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
  460. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  461. package/lib/components/checkbox/src/checkbox.d.ts +2 -2
  462. package/lib/components/checkbox/src/checkbox.vue.d.ts +5 -5
  463. package/lib/components/col/src/col.vue.d.ts +2 -2
  464. package/lib/components/collapse/src/collapse.vue.d.ts +1 -1
  465. package/lib/components/color-picker/src/color-picker.vue.d.ts +7 -7
  466. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  467. package/lib/components/date-picker/src/date-picker.d.ts +4 -4
  468. package/lib/components/date-picker/src/props.d.ts +1 -1
  469. package/lib/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  470. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  471. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
  472. package/lib/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +1 -1
  473. package/lib/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +1 -1
  474. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +3 -3
  475. package/lib/components/date-picker-panel/src/panel-utils.d.ts +9 -9
  476. package/lib/components/descriptions/src/description-item.d.ts +9 -9
  477. package/lib/components/dialog/src/dialog.vue.d.ts +3 -3
  478. package/lib/components/divider/src/divider.d.ts +1 -1
  479. package/lib/components/drawer/src/drawer.vue.d.ts +3 -3
  480. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -2
  481. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +6 -6
  482. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  483. package/lib/components/dropdown/src/dropdown.d.ts +4 -4
  484. package/lib/components/dropdown/src/dropdown.vue.d.ts +37 -37
  485. package/lib/components/form/src/form-item.d.ts +2 -2
  486. package/lib/components/form/src/form-item.vue.d.ts +1 -1
  487. package/lib/components/form/src/form.d.ts +1 -1
  488. package/lib/components/image/src/image.vue.d.ts +2 -2
  489. package/lib/components/input/src/input.d.ts +3 -3
  490. package/lib/components/input/src/input.vue.d.ts +16 -16
  491. package/lib/components/input-number/src/input-number.d.ts +2 -2
  492. package/lib/components/input-number/src/input-number.vue.d.ts +7 -7
  493. package/lib/components/input-otp/src/input-otp.vue.d.ts +4 -4
  494. package/lib/components/input-tag/src/input-tag.d.ts +2 -2
  495. package/lib/components/input-tag/src/input-tag.vue.d.ts +9 -9
  496. package/lib/components/link/src/link.vue.d.ts +1 -1
  497. package/lib/components/mention/src/mention.d.ts +3 -3
  498. package/lib/components/mention/src/mention.vue.d.ts +5 -5
  499. package/lib/components/menu/src/menu.d.ts +6 -6
  500. package/lib/components/menu/src/sub-menu.d.ts +1 -1
  501. package/lib/components/message/src/instance.d.ts +1 -1
  502. package/lib/components/message/src/message.d.ts +2 -2
  503. package/lib/components/message/src/message.vue.d.ts +2 -2
  504. package/lib/components/message-box/src/index.vue.d.ts +50 -50
  505. package/lib/components/notification/src/notification.d.ts +2 -2
  506. package/lib/components/notification/src/notification.vue.d.ts +3 -3
  507. package/lib/components/pagination/src/components/sizes.vue.d.ts +1 -1
  508. package/lib/components/pagination/src/pagination.d.ts +2 -2
  509. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  510. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  511. package/lib/components/popover/src/popover.d.ts +2 -2
  512. package/lib/components/popover/src/popover.vue.d.ts +2 -2
  513. package/lib/components/popper/src/composables/use-content.d.ts +1 -1
  514. package/lib/components/popper/src/content.d.ts +4 -4
  515. package/lib/components/popper/src/content.vue.d.ts +7 -7
  516. package/lib/components/popper/src/popper.d.ts +2 -2
  517. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  518. package/lib/components/radio/src/radio-group.vue.d.ts +4 -4
  519. package/lib/components/radio/src/radio.vue.d.ts +4 -4
  520. package/lib/components/rate/src/rate.vue.d.ts +2 -2
  521. package/lib/components/result/src/result.d.ts +1 -1
  522. package/lib/components/row/src/row.d.ts +2 -2
  523. package/lib/components/segmented/index.d.ts +2 -2
  524. package/lib/components/segmented/src/segmented.vue.d.ts +1 -1
  525. package/lib/components/select/src/option.d.ts +1 -1
  526. package/lib/components/select/src/option.vue.d.ts +2 -2
  527. package/lib/components/select/src/select.d.ts +3 -3
  528. package/lib/components/select/src/select.vue.d.ts +42 -42
  529. package/lib/components/select/src/useSelect.d.ts +5 -5
  530. package/lib/components/select-v2/src/defaults.d.ts +3 -3
  531. package/lib/components/select-v2/src/select.vue.d.ts +36 -36
  532. package/lib/components/select-v2/src/useSelect.d.ts +1 -1
  533. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  534. package/lib/components/slider/src/button.vue.d.ts +1 -1
  535. package/lib/components/slider/src/slider.vue.d.ts +5 -5
  536. package/lib/components/space/src/space.d.ts +1 -1
  537. package/lib/components/steps/src/item.d.ts +1 -1
  538. package/lib/components/steps/src/item.vue.d.ts +1 -1
  539. package/lib/components/steps/src/steps.d.ts +2 -2
  540. package/lib/components/switch/src/switch.vue.d.ts +3 -3
  541. package/lib/components/table/src/filter-panel.vue.d.ts +34 -34
  542. package/lib/components/table/src/table-header/index.d.ts +14 -14
  543. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  544. package/lib/components/tabs/src/tab-pane.vue.d.ts +1 -1
  545. package/lib/components/tabs/src/tabs.d.ts +5 -5
  546. package/lib/components/tag/src/tag.d.ts +1 -1
  547. package/lib/components/tag/src/tag.vue.d.ts +2 -2
  548. package/lib/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
  549. package/lib/components/time-picker/src/common/picker.vue.d.ts +10 -10
  550. package/lib/components/time-picker/src/common/props.d.ts +1 -1
  551. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
  552. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
  553. package/lib/components/time-picker/src/time-picker.d.ts +4 -4
  554. package/lib/components/time-select/src/time-select.vue.d.ts +9 -9
  555. package/lib/components/timeline/src/timeline-item.d.ts +1 -1
  556. package/lib/components/tooltip/src/content.d.ts +1 -1
  557. package/lib/components/tooltip/src/content.vue.d.ts +4 -4
  558. package/lib/components/tooltip/src/tooltip.d.ts +3 -3
  559. package/lib/components/tooltip/src/tooltip.vue.d.ts +5 -5
  560. package/lib/components/tooltip/src/trigger.d.ts +1 -1
  561. package/lib/components/tour/src/content.d.ts +2 -2
  562. package/lib/components/tour/src/mask.vue.d.ts +1 -1
  563. package/lib/components/tour/src/step.d.ts +1 -1
  564. package/lib/components/tour/src/tour.d.ts +1 -1
  565. package/lib/components/tour/src/tour.vue.d.ts +2 -2
  566. package/lib/components/transfer/src/composables/use-check.d.ts +6 -1
  567. package/lib/components/transfer/src/composables/use-check.js +11 -0
  568. package/lib/components/transfer/src/composables/use-check.js.map +1 -1
  569. package/lib/components/transfer/src/transfer-panel.d.ts +4 -0
  570. package/lib/components/transfer/src/transfer-panel.js +3 -1
  571. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  572. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.js +37 -3
  573. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  574. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  575. package/lib/components/transfer/src/transfer.d.ts +10 -0
  576. package/lib/components/transfer/src/transfer.js +11 -0
  577. package/lib/components/transfer/src/transfer.js.map +1 -1
  578. package/lib/components/transfer/src/transfer.vue.d.ts +1 -1
  579. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js +8 -0
  580. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  581. package/lib/components/transfer/src/transfer2.js.map +1 -1
  582. package/lib/components/transfer/style/css.js +1 -0
  583. package/lib/components/transfer/style/index.js +1 -0
  584. package/lib/components/tree/src/tree-node.vue.d.ts +14 -14
  585. package/lib/components/tree/src/tree.vue.d.ts +14 -14
  586. package/lib/components/tree-select/src/tree-select-option.d.ts +2 -2
  587. package/lib/components/tree-select/src/tree-select.vue.d.ts +13 -13
  588. package/lib/components/tree-v2/src/composables/useTree.d.ts +2 -2
  589. package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
  590. package/lib/components/upload/src/upload-content.d.ts +1 -1
  591. package/lib/components/upload/src/upload-content.vue.d.ts +3 -3
  592. package/lib/components/upload/src/upload-list.d.ts +1 -1
  593. package/lib/components/upload/src/upload.d.ts +2 -2
  594. package/lib/components/upload/src/upload.vue.d.ts +4 -4
  595. package/lib/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  596. package/lib/components/virtual-list/src/builders/build-list.d.ts +1 -1
  597. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  598. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  599. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  600. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  601. package/lib/components/virtual-list/src/components/scrollbar.d.ts +2 -2
  602. package/lib/components/watermark/src/watermark.vue.d.ts +1 -1
  603. package/lib/hooks/use-floating/index.d.ts +4 -4
  604. package/lib/hooks/use-popper/index.d.ts +1 -1
  605. package/lib/version.d.ts +1 -1
  606. package/lib/version.js +1 -1
  607. package/lib/version.js.map +1 -1
  608. package/package.json +2 -2
  609. package/tags.json +1 -1
  610. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-check.js","names":["usePropsAlias","CHECKED_CHANGE_EVENT"],"sources":["../../../../../../../packages/components/transfer/src/composables/use-check.ts"],"sourcesContent":["import { computed, watch } from 'vue'\nimport { isFunction } from '@element-plus/utils'\nimport { CHECKED_CHANGE_EVENT } from '../transfer-panel'\nimport { usePropsAlias } from './use-props-alias'\n\nimport type { SetupContext } from 'vue'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\nimport type { TransferDataItem, TransferKey } from '../transfer'\nimport type {\n TransferPanelEmits,\n TransferPanelProps,\n TransferPanelState,\n} from '../transfer-panel'\n\nexport const useCheck = <T extends TransferDataItem = TransferDataItem>(\n props: Required<\n Pick<\n TransferPanelProps<T>,\n 'data' | 'format' | 'defaultChecked' | 'props' // 'props' needed by usePropsAlias\n >\n > & { filterMethod: TransferPanelProps<T>['filterMethod'] },\n panelState: TransferPanelState,\n emit: SetupContext<TransferPanelEmits>['emit']\n) => {\n const propsAlias = usePropsAlias(props)\n\n const filteredData = computed(() => {\n return props.data.filter((item) => {\n if (isFunction(props.filterMethod)) {\n return props.filterMethod(panelState.query, item)\n } else {\n const label = String(\n item[propsAlias.value.label] || item[propsAlias.value.key]\n )\n return label.toLowerCase().includes(panelState.query.toLowerCase())\n }\n })\n })\n\n const checkableData = computed(() =>\n filteredData.value.filter((item) => !item[propsAlias.value.disabled])\n )\n\n const checkedSummary = computed(() => {\n const checkedLength = panelState.checked.length\n const dataLength = props.data.length\n const { noChecked, hasChecked } = props.format\n\n if (noChecked && hasChecked) {\n return checkedLength > 0\n ? hasChecked\n .replace(/\\${checked}/g, checkedLength.toString())\n .replace(/\\${total}/g, dataLength.toString())\n : noChecked.replace(/\\${total}/g, dataLength.toString())\n } else {\n return `${checkedLength}/${dataLength}`\n }\n })\n\n const isIndeterminate = computed(() => {\n const checkedLength = panelState.checked.length\n return checkedLength > 0 && checkedLength < checkableData.value.length\n })\n\n const updateAllChecked = () => {\n const checkableDataKeys = checkableData.value.map(\n (item) => item[propsAlias.value.key]\n )\n panelState.allChecked =\n checkableDataKeys.length > 0 &&\n checkableDataKeys.every((item) => panelState.checked.includes(item))\n }\n\n const handleAllCheckedChange = (value: CheckboxValueType) => {\n panelState.checked = value\n ? checkableData.value.map((item) => item[propsAlias.value.key])\n : []\n }\n\n watch(\n () => panelState.checked,\n (val, oldVal) => {\n updateAllChecked()\n\n if (panelState.checkChangeByUser) {\n const movedKeys = val\n .concat(oldVal)\n .filter((v) => !val.includes(v) || !oldVal.includes(v))\n emit(CHECKED_CHANGE_EVENT, val, movedKeys)\n } else {\n emit(CHECKED_CHANGE_EVENT, val)\n panelState.checkChangeByUser = true\n }\n }\n )\n\n watch(checkableData, () => {\n updateAllChecked()\n })\n\n watch(\n () => props.data,\n () => {\n const checked: TransferKey[] = []\n const filteredDataKeys = filteredData.value.map(\n (item) => item[propsAlias.value.key]\n )\n panelState.checked.forEach((item) => {\n if (filteredDataKeys.includes(item)) {\n checked.push(item)\n }\n })\n panelState.checkChangeByUser = false\n panelState.checked = checked\n }\n )\n\n watch(\n () => props.defaultChecked,\n (val, oldVal) => {\n if (\n oldVal &&\n val.length === oldVal.length &&\n val.every((item) => oldVal.includes(item))\n )\n return\n\n const checked: TransferKey[] = []\n const checkableDataKeys = checkableData.value.map(\n (item) => item[propsAlias.value.key]\n )\n\n val.forEach((item) => {\n if (checkableDataKeys.includes(item)) {\n checked.push(item)\n }\n })\n panelState.checkChangeByUser = false\n panelState.checked = checked\n },\n {\n immediate: true,\n }\n )\n\n return {\n filteredData,\n checkableData,\n checkedSummary,\n isIndeterminate,\n updateAllChecked,\n handleAllCheckedChange,\n }\n}\n"],"mappings":";;;;;;;AAcA,MAAa,YACX,OAMA,YACA,SACG;CACH,MAAM,aAAaA,wBAAAA,cAAc,MAAM;CAEvC,MAAM,gBAAA,GAAA,IAAA,gBAA8B;EAClC,OAAO,MAAM,KAAK,QAAQ,SAAS;GACjC,KAAA,GAAA,YAAA,YAAe,MAAM,aAAa,EAChC,OAAO,MAAM,aAAa,WAAW,OAAO,KAAK;QAKjD,OAHc,OACZ,KAAK,WAAW,MAAM,UAAU,KAAK,WAAW,MAAM,KAE5C,CAAC,aAAa,CAAC,SAAS,WAAW,MAAM,aAAa,CAAC;IAErE;GACF;CAEF,MAAM,iBAAA,GAAA,IAAA,gBACJ,aAAa,MAAM,QAAQ,SAAS,CAAC,KAAK,WAAW,MAAM,UAAU,CACtE;CAED,MAAM,kBAAA,GAAA,IAAA,gBAAgC;EACpC,MAAM,gBAAgB,WAAW,QAAQ;EACzC,MAAM,aAAa,MAAM,KAAK;EAC9B,MAAM,EAAE,WAAW,eAAe,MAAM;EAExC,IAAI,aAAa,YACf,OAAO,gBAAgB,IACnB,WACG,QAAQ,gBAAgB,cAAc,UAAU,CAAC,CACjD,QAAQ,cAAc,WAAW,UAAU,CAAC,GAC/C,UAAU,QAAQ,cAAc,WAAW,UAAU,CAAC;OAE1D,OAAO,GAAG,cAAc,GAAG;GAE7B;CAEF,MAAM,mBAAA,GAAA,IAAA,gBAAiC;EACrC,MAAM,gBAAgB,WAAW,QAAQ;EACzC,OAAO,gBAAgB,KAAK,gBAAgB,cAAc,MAAM;GAChE;CAEF,MAAM,yBAAyB;EAC7B,MAAM,oBAAoB,cAAc,MAAM,KAC3C,SAAS,KAAK,WAAW,MAAM,KACjC;EACD,WAAW,aACT,kBAAkB,SAAS,KAC3B,kBAAkB,OAAO,SAAS,WAAW,QAAQ,SAAS,KAAK,CAAC;;CAGxE,MAAM,0BAA0B,UAA6B;EAC3D,WAAW,UAAU,QACjB,cAAc,MAAM,KAAK,SAAS,KAAK,WAAW,MAAM,KAAK,GAC7D,EAAE;;CAGR,CAAA,GAAA,IAAA,aACQ,WAAW,UAChB,KAAK,WAAW;EACf,kBAAkB;EAElB,IAAI,WAAW,mBAIb,KAAKC,uBAAAA,sBAAsB,KAHT,IACf,OAAO,OAAO,CACd,QAAQ,MAAM,CAAC,IAAI,SAAS,EAAE,IAAI,CAAC,OAAO,SAAS,EAAE,CACf,CAAC;OACrC;GACL,KAAKA,uBAAAA,sBAAsB,IAAI;GAC/B,WAAW,oBAAoB;;GAGpC;CAED,CAAA,GAAA,IAAA,OAAM,qBAAqB;EACzB,kBAAkB;GAClB;CAEF,CAAA,GAAA,IAAA,aACQ,MAAM,YACN;EACJ,MAAM,UAAyB,EAAE;EACjC,MAAM,mBAAmB,aAAa,MAAM,KACzC,SAAS,KAAK,WAAW,MAAM,KACjC;EACD,WAAW,QAAQ,SAAS,SAAS;GACnC,IAAI,iBAAiB,SAAS,KAAK,EACjC,QAAQ,KAAK,KAAK;IAEpB;EACF,WAAW,oBAAoB;EAC/B,WAAW,UAAU;GAExB;CAED,CAAA,GAAA,IAAA,aACQ,MAAM,iBACX,KAAK,WAAW;EACf,IACE,UACA,IAAI,WAAW,OAAO,UACtB,IAAI,OAAO,SAAS,OAAO,SAAS,KAAK,CAAC,EAE1C;EAEF,MAAM,UAAyB,EAAE;EACjC,MAAM,oBAAoB,cAAc,MAAM,KAC3C,SAAS,KAAK,WAAW,MAAM,KACjC;EAED,IAAI,SAAS,SAAS;GACpB,IAAI,kBAAkB,SAAS,KAAK,EAClC,QAAQ,KAAK,KAAK;IAEpB;EACF,WAAW,oBAAoB;EAC/B,WAAW,UAAU;IAEvB,EACE,WAAW,MACZ,CACF;CAED,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACD"}
1
+ {"version":3,"file":"use-check.js","names":["usePropsAlias","CHECKED_CHANGE_EVENT"],"sources":["../../../../../../../packages/components/transfer/src/composables/use-check.ts"],"sourcesContent":["import { computed, ref, watch } from 'vue'\nimport { isFunction } from '@element-plus/utils'\nimport { useElementSize } from '@vueuse/core'\nimport { CHECKED_CHANGE_EVENT } from '../transfer-panel'\nimport { usePropsAlias } from './use-props-alias'\n\nimport type { SetupContext } from 'vue'\nimport type {\n CheckboxGroupInstance,\n CheckboxValueType,\n} from '@element-plus/components/checkbox'\nimport type { TransferDataItem, TransferKey } from '../transfer'\nimport type {\n TransferPanelEmits,\n TransferPanelProps,\n TransferPanelState,\n} from '../transfer-panel'\nimport type { FixedSizeListInstance } from '@element-plus/components/virtual-list'\n\nexport const useCheck = <T extends TransferDataItem = TransferDataItem>(\n props: Required<\n Pick<\n TransferPanelProps<T>,\n 'data' | 'format' | 'defaultChecked' | 'props' | 'virtualScroll' // 'props' needed by usePropsAlias\n >\n > & { filterMethod: TransferPanelProps<T>['filterMethod'] },\n panelState: TransferPanelState,\n emit: SetupContext<TransferPanelEmits>['emit']\n) => {\n const propsAlias = usePropsAlias(props)\n\n const filteredData = computed(() => {\n return props.data.filter((item) => {\n if (isFunction(props.filterMethod)) {\n return props.filterMethod(panelState.query, item)\n } else {\n const label = String(\n item[propsAlias.value.label] || item[propsAlias.value.key]\n )\n return label.toLowerCase().includes(panelState.query.toLowerCase())\n }\n })\n })\n\n const checkableData = computed(() =>\n filteredData.value.filter((item) => !item[propsAlias.value.disabled])\n )\n\n const checkedSummary = computed(() => {\n const checkedLength = panelState.checked.length\n const dataLength = props.data.length\n const { noChecked, hasChecked } = props.format\n\n if (noChecked && hasChecked) {\n return checkedLength > 0\n ? hasChecked\n .replace(/\\${checked}/g, checkedLength.toString())\n .replace(/\\${total}/g, dataLength.toString())\n : noChecked.replace(/\\${total}/g, dataLength.toString())\n } else {\n return `${checkedLength}/${dataLength}`\n }\n })\n\n const isIndeterminate = computed(() => {\n const checkedLength = panelState.checked.length\n return checkedLength > 0 && checkedLength < checkableData.value.length\n })\n\n const updateAllChecked = () => {\n const checkableDataKeys = checkableData.value.map(\n (item) => item[propsAlias.value.key]\n )\n panelState.allChecked =\n checkableDataKeys.length > 0 &&\n checkableDataKeys.every((item) => panelState.checked.includes(item))\n }\n\n const handleAllCheckedChange = (value: CheckboxValueType) => {\n panelState.checked = value\n ? checkableData.value.map((item) => item[propsAlias.value.key])\n : []\n }\n\n const checkboxGroupRef = ref<CheckboxGroupInstance>()\n const { height: virtualListHeight } = useElementSize(\n computed(() => checkboxGroupRef.value?.$el)\n )\n\n const virtualListRef = ref<FixedSizeListInstance>()\n\n watch(\n () => panelState.checked,\n (val, oldVal) => {\n updateAllChecked()\n\n if (panelState.checkChangeByUser) {\n const movedKeys = val\n .concat(oldVal)\n .filter((v) => !val.includes(v) || !oldVal.includes(v))\n emit(CHECKED_CHANGE_EVENT, val, movedKeys)\n } else {\n emit(CHECKED_CHANGE_EVENT, val)\n panelState.checkChangeByUser = true\n }\n }\n )\n\n watch(checkableData, () => {\n updateAllChecked()\n })\n\n watch(\n () => props.data,\n () => {\n const checked: TransferKey[] = []\n const filteredDataKeys = filteredData.value.map(\n (item) => item[propsAlias.value.key]\n )\n panelState.checked.forEach((item) => {\n if (filteredDataKeys.includes(item)) {\n checked.push(item)\n }\n })\n panelState.checkChangeByUser = false\n panelState.checked = checked\n }\n )\n\n watch(\n () => props.defaultChecked,\n (val, oldVal) => {\n if (\n oldVal &&\n val.length === oldVal.length &&\n val.every((item) => oldVal.includes(item))\n )\n return\n\n const checked: TransferKey[] = []\n const checkableDataKeys = checkableData.value.map(\n (item) => item[propsAlias.value.key]\n )\n\n val.forEach((item) => {\n if (checkableDataKeys.includes(item)) {\n checked.push(item)\n }\n })\n panelState.checkChangeByUser = false\n panelState.checked = checked\n },\n {\n immediate: true,\n }\n )\n\n watch(\n () => panelState.query,\n () => {\n if (!props.virtualScroll) {\n return\n }\n virtualListRef.value?.scrollToItem(0)\n },\n { flush: 'post' }\n )\n\n return {\n filteredData,\n checkableData,\n checkedSummary,\n virtualListRef,\n isIndeterminate,\n checkboxGroupRef,\n virtualListHeight,\n updateAllChecked,\n handleAllCheckedChange,\n }\n}\n"],"mappings":"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"}
@@ -24,6 +24,8 @@ interface TransferPanelProps<T extends TransferDataItem = TransferDataItem> {
24
24
  filterMethod?: (query: string, item: T) => boolean;
25
25
  defaultChecked?: TransferKey[];
26
26
  props?: TransferPropsAlias;
27
+ virtualScroll?: boolean;
28
+ itemSize?: number;
27
29
  }
28
30
  /**
29
31
  * @deprecated Removed after 3.0.0, Use `TransferPanelProps` instead.
@@ -52,6 +54,8 @@ declare const transferPanelProps: {
52
54
  readonly key: "key";
53
55
  readonly disabled: "disabled";
54
56
  }>, boolean>;
57
+ readonly virtualScroll: BooleanConstructor;
58
+ readonly itemSize: EpPropFinalized<NumberConstructor, unknown, unknown, 30, boolean>;
55
59
  };
56
60
  /**
57
61
  * @deprecated Removed after 3.0.0, Use `TransferPanelProps` instead.
@@ -15,7 +15,9 @@ const transferPanelProps = require_runtime.buildProps({
15
15
  format: require_transfer.transferProps.format,
16
16
  filterMethod: require_transfer.transferProps.filterMethod,
17
17
  defaultChecked: require_transfer.transferProps.leftDefaultChecked,
18
- props: require_transfer.transferProps.props
18
+ props: require_transfer.transferProps.props,
19
+ virtualScroll: require_transfer.transferProps.virtualScroll,
20
+ itemSize: require_transfer.transferProps.itemSize
19
21
  });
20
22
  const transferPanelEmits = { [CHECKED_CHANGE_EVENT]: require_transfer.transferCheckedChangeFn };
21
23
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"transfer-panel.js","names":["buildProps","transferProps","definePropType","transferCheckedChangeFn"],"sources":["../../../../../../packages/components/transfer/src/transfer-panel.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { transferCheckedChangeFn, transferProps } from './transfer'\n\nimport type { ComponentInstance, ExtractPublicPropTypes, VNode } from 'vue'\nimport type { ComponentExposed } from 'vue-component-type-helpers'\nimport type {\n TransferDataItem,\n TransferFormat,\n TransferKey,\n TransferPropsAlias,\n} from './transfer'\nimport type TransferPanel from './transfer-panel.vue'\n\nexport interface TransferPanelState {\n checked: TransferKey[]\n allChecked: boolean\n query: string\n checkChangeByUser: boolean\n}\n\nexport const CHECKED_CHANGE_EVENT = 'checked-change'\n\nexport interface TransferPanelProps<\n T extends TransferDataItem = TransferDataItem,\n> {\n data?: T[]\n optionRender?: (option: T) => VNode | VNode[]\n placeholder?: string\n title?: string\n filterable?: boolean\n format?: TransferFormat\n filterMethod?: (query: string, item: T) => boolean\n defaultChecked?: TransferKey[]\n props?: TransferPropsAlias\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `TransferPanelProps` instead.\n */\nexport const transferPanelProps = buildProps({\n data: transferProps.data,\n optionRender: {\n type: definePropType<(option: TransferDataItem) => VNode | VNode[]>(\n Function\n ),\n },\n placeholder: String,\n title: String,\n filterable: Boolean,\n format: transferProps.format,\n filterMethod: transferProps.filterMethod,\n defaultChecked: transferProps.leftDefaultChecked,\n props: transferProps.props,\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `TransferPanelProps` instead.\n */\nexport type TransferPanelPropsPublic = ExtractPublicPropTypes<\n typeof transferPanelProps\n>\n\nexport const transferPanelEmits = {\n [CHECKED_CHANGE_EVENT]: transferCheckedChangeFn,\n}\nexport type TransferPanelEmits = typeof transferPanelEmits\n\nexport type TransferPanelInstance = ComponentInstance<typeof TransferPanel> &\n ComponentExposed<typeof TransferPanel>\n"],"mappings":";;;;AAoBA,MAAa,uBAAuB;;;;AAmBpC,MAAa,qBAAqBA,gBAAAA,WAAW;CAC3C,MAAMC,iBAAAA,cAAc;CACpB,cAAc,EACZ,MAAMC,gBAAAA,eACJ,SACD,EACF;CACD,aAAa;CACb,OAAO;CACP,YAAY;CACZ,QAAQD,iBAAAA,cAAc;CACtB,cAAcA,iBAAAA,cAAc;CAC5B,gBAAgBA,iBAAAA,cAAc;CAC9B,OAAOA,iBAAAA,cAAc;CACtB,CAAU;AASX,MAAa,qBAAqB,GAC/B,uBAAuBE,iBAAAA,yBACzB"}
1
+ {"version":3,"file":"transfer-panel.js","names":["buildProps","transferProps","definePropType","transferCheckedChangeFn"],"sources":["../../../../../../packages/components/transfer/src/transfer-panel.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { transferCheckedChangeFn, transferProps } from './transfer'\n\nimport type { ComponentInstance, ExtractPublicPropTypes, VNode } from 'vue'\nimport type { ComponentExposed } from 'vue-component-type-helpers'\nimport type {\n TransferDataItem,\n TransferFormat,\n TransferKey,\n TransferPropsAlias,\n} from './transfer'\nimport type TransferPanel from './transfer-panel.vue'\n\nexport interface TransferPanelState {\n checked: TransferKey[]\n allChecked: boolean\n query: string\n checkChangeByUser: boolean\n}\n\nexport const CHECKED_CHANGE_EVENT = 'checked-change'\n\nexport interface TransferPanelProps<\n T extends TransferDataItem = TransferDataItem,\n> {\n data?: T[]\n optionRender?: (option: T) => VNode | VNode[]\n placeholder?: string\n title?: string\n filterable?: boolean\n format?: TransferFormat\n filterMethod?: (query: string, item: T) => boolean\n defaultChecked?: TransferKey[]\n props?: TransferPropsAlias\n virtualScroll?: boolean\n itemSize?: number\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `TransferPanelProps` instead.\n */\nexport const transferPanelProps = buildProps({\n data: transferProps.data,\n optionRender: {\n type: definePropType<(option: TransferDataItem) => VNode | VNode[]>(\n Function\n ),\n },\n placeholder: String,\n title: String,\n filterable: Boolean,\n format: transferProps.format,\n filterMethod: transferProps.filterMethod,\n defaultChecked: transferProps.leftDefaultChecked,\n props: transferProps.props,\n virtualScroll: transferProps.virtualScroll,\n itemSize: transferProps.itemSize,\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `TransferPanelProps` instead.\n */\nexport type TransferPanelPropsPublic = ExtractPublicPropTypes<\n typeof transferPanelProps\n>\n\nexport const transferPanelEmits = {\n [CHECKED_CHANGE_EVENT]: transferCheckedChangeFn,\n}\nexport type TransferPanelEmits = typeof transferPanelEmits\n\nexport type TransferPanelInstance = ComponentInstance<typeof TransferPanel> &\n ComponentExposed<typeof TransferPanel>\n"],"mappings":";;;;AAoBA,MAAa,uBAAuB;;;;AAqBpC,MAAa,qBAAqBA,gBAAAA,WAAW;CAC3C,MAAMC,iBAAAA,cAAc;CACpB,cAAc,EACZ,MAAMC,gBAAAA,eACJ,SACD,EACF;CACD,aAAa;CACb,OAAO;CACP,YAAY;CACZ,QAAQD,iBAAAA,cAAc;CACtB,cAAcA,iBAAAA,cAAc;CAC5B,gBAAgBA,iBAAAA,cAAc;CAC9B,OAAOA,iBAAAA,cAAc;CACrB,eAAeA,iBAAAA,cAAc;CAC7B,UAAUA,iBAAAA,cAAc;CACzB,CAAU;AASX,MAAa,qBAAqB,GAC/B,uBAAuBE,iBAAAA,yBACzB"}
@@ -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"}
@@ -6,8 +6,8 @@ import { VNode } from "vue";
6
6
  //#region ../../packages/components/transfer/src/transfer.vue.d.ts
7
7
  declare const __VLS_export: <T extends TransferDataItem = TransferDataItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
8
8
  props: _$vue.PublicProps & __VLS_PrettifyLocal<TransferProps<T> & {
9
- "onUpdate:modelValue"?: ((value: TransferKey[]) => any) | undefined;
10
9
  onChange?: ((value: TransferKey[], direction: TransferDirection, movedKeys: TransferKey[]) => any) | undefined;
10
+ "onUpdate:modelValue"?: ((value: TransferKey[]) => any) | undefined;
11
11
  "onLeft-check-change"?: ((value: TransferKey[], movedKeys?: TransferKey[] | undefined) => any) | undefined;
12
12
  "onRight-check-change"?: ((value: TransferKey[], movedKeys?: TransferKey[] | undefined) => any) | undefined;
13
13
  }> & (typeof globalThis extends {
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;EA2FA,MAAM,QAAQ;EAgBd,MAAM,OAAO;EACb,MAAM,SAAA,GAAA,IAAA,WAAQ;EAQd,MAAM,EAAE,MAAM,cAAA,WAAU;EACxB,MAAM,KAAK,gBAAA,aAAa,WAAU;EAClC,MAAM,EAAE,aAAa,sBAAA,aAAY;EAEjC,MAAM,gBAAA,GAAA,IAAA,UAA8C;GAClD,aAAa,EAAE;GACf,cAAc,EAAE;GACjB,CAAA;EAED,MAAM,aAAa,wBAAA,cAAc,MAAK;EAEtC,MAAM,EAAE,YAAY,eAAe,0BAAA,gBAAgB,MAAK;EAExD,MAAM,EAAE,uBAAuB,0BAA0B,2BAAA,iBACvD,cACA,KACF;EAEA,MAAM,EAAE,WAAW,eAAe,iBAAA,QAAQ,OAAO,cAAc,KAAI;EAEnE,MAAM,aAAA,GAAA,IAAA,MAAuC;EAC7C,MAAM,cAAA,GAAA,IAAA,MAAwC;EAE9C,MAAM,cAAc,UAA6B;GAC/C,QAAQ,OAAR;IACE,KAAK;KACH,UAAU,MAAO,QAAQ;KACzB;IACF,KAAK;KACH,WAAW,MAAO,QAAQ;KAC1B;;;EAIN,MAAM,kBAAA,GAAA,IAAA,gBAAgC,MAAM,YAAY,WAAW,EAAC;EAEpE,MAAM,kBAAA,GAAA,IAAA,gBACE,MAAM,OAAO,MAAM,EAAE,uBAAsB,CACnD;EAEA,MAAM,mBAAA,GAAA,IAAA,gBACE,MAAM,OAAO,MAAM,EAAE,uBAAsB,CACnD;EAEA,MAAM,0BAAA,GAAA,IAAA,gBACE,MAAM,qBAAqB,EAAE,gCAA+B,CACpE;EAEA,CAAA,GAAA,IAAA,aACQ,MAAM,kBACN;GACJ,IAAI,MAAM,eACR,UAAU,WAAW,SAAS,CAAC,MAAM,YAAA,KAAI;IAG/C;EAEA,MAAM,gBAAA,GAAA,IAAA,iBAA+B,WAAc;GACjD,IAAI,MAAM,eAAe,OAAO,MAAM,cAAc,IAAA,GAAG,OAAM;GAE7D,MAAM,qBAAqB,MAAM,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,QAC3D,SAAS,KAAK,SAAS,IAAA,QAC1B;GACA,IAAI,kBAAkB,QACpB,OAAO;GAGT,QAAA,GAAA,IAAA,GACE,QACA,OAAO,WAAW,MAAM,UAAU,OAAO,WAAW,MAAM,KAC5D;IACD;EAED,SAAa;;GAEX;;GAEA;;GAEA;GACD,CAAA;;4DA1IO,OAAA,EAzDA,QAAA,GAAA,IAAA,iBAAA,GAAA,IAAA,OAAO,GAAE,CAAC,GAAC,CAAA,EAAA,EAAA;yBAkBE,uBAAA,SAAA;cAhBX;KAAJ,KAAI;KACH,OAAA,GAAA,IAAA,OAAM,WAAU;KAChB,iBAAe,aAAA;KACf,aAAa,uBAAA;KACb,OAAO,eAAA;KACP,YAAY,QAAA;KACZ,QAAQ,QAAA;KACR,iBAAe,QAAA;KACf,mBAAiB,QAAA;KACjB,OAAO,MAAM;KACb,kBAAA,GAAA,IAAA,OAAgB,sBAAA;;KAEN,QAAA,GAAA,IAAA,eACiB,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,aAAA,CAAA,CAAA;qCAED,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,cAAA,CAAA,CAAA;;;;;;;;;;;;;;gCAqBvB,OAAA,EAnBA,QAAA,GAAA,IAAA,iBAAA,GAAA,IAAA,OAAO,GAAE,CAAC,EAAC,UAAA,CAAA,EAAA,EAAA,EAAA,GAAA,IAAA,cAAA,GAAA,IAAA,OASH,gBAAA,SAAA,EAAA;KAPV,MAAK;KACJ,QAAA,GAAA,IAAA,gBAAK,EAAA,GAAA,IAAA,OAAG,GAAE,CAAC,EAAC,SAAA,GAAA,GAAA,IAAA,OAAY,GAAE,CAAC,GAAE,cAAe,eAAA,MAAc,CAAA,CAAA;KAC1D,WAAA,GAAA,IAAA,OAAU,cAAA,QAAO,CAAC,aAAa,aAAY;KAC3C,UAAA,GAAA,IAAA,OAAO,UAAA;;qCAEyB,EAAA,GAAA,IAAA,cAAA,GAAA,IAAA,OAAA,gBAAA,OAAA,EAAA,MAAA;sCAAV,EAAA,GAAA,IAAA,cAAA,GAAA,IAAA,OAAA,wBAAA,UAAA,CAAA,CAAA,CAAA;;yBACV,cAAA,YAAW,CAAC,QAAA,YAAW,GAAA,KAAA,GAAA,IAAA,YAAA,GAAA,GAAA,IAAA,oBAAiC,QAAA,aAAA,GAAA,IAAA,iBAAxB,QAAA,YAAW,GAAA,EAAA,EAAA,KAAA,GAAA,IAAA,oBAAA,QAAA,KAAA,CAAA,CAAA;;;;;;4CAU9C,gBAAA,SAAA,EAAA;KAPV,MAAK;KACJ,QAAA,GAAA,IAAA,gBAAK,EAAA,GAAA,IAAA,OAAG,GAAE,CAAC,EAAC,SAAA,GAAA,GAAA,IAAA,OAAY,GAAE,CAAC,GAAE,cAAe,eAAA,MAAc,CAAA,CAAA;KAC1D,WAAA,GAAA,IAAA,OAAU,cAAA,QAAO,CAAC,aAAa,YAAW;KAC1C,UAAA,GAAA,IAAA,OAAO,WAAA;;qCAE6D,CAAA,EAAA,GAAA,IAAA,OAAxD,cAAA,YAAW,CAAC,QAAA,YAAW,GAAA,KAAA,GAAA,IAAA,YAAA,GAAA,GAAA,IAAA,oBAAiC,QAAA,aAAA,GAAA,IAAA,iBAAxB,QAAA,YAAW,GAAA,EAAA,EAAA,KAAA,GAAA,IAAA,oBAAA,QAAA,KAAA,GAAA,GAAA,IAAA,cAAA,GAAA,IAAA,OACtB,gBAAA,OAAA,EAAA,MAAA;sCAAV,EAAA,GAAA,IAAA,cAAA,GAAA,IAAA,OAAA,wBAAA,WAAA,CAAA,CAAA,CAAA;;;;;;;;;yBAoBX,uBAAA,SAAA;cAhBX;KAAJ,KAAI;KACH,OAAA,GAAA,IAAA,OAAM,WAAU;KAChB,iBAAe,aAAA;KACf,aAAa,uBAAA;KACb,YAAY,QAAA;KACZ,QAAQ,QAAA;KACR,iBAAe,QAAA;KACf,OAAO,gBAAA;KACP,mBAAiB,QAAA;KACjB,OAAO,MAAM;KACb,kBAAA,GAAA,IAAA,OAAgB,sBAAA;;KAEN,QAAA,GAAA,IAAA,eACkB,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,cAAA,CAAA,CAAA;qCAED,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,eAAA,CAAA,CAAA"}
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");
@@ -104,19 +104,19 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
104
104
  })>;
105
105
  ElCheckbox: {
106
106
  new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<CheckboxProps> & Readonly<{
107
- "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
108
107
  onChange?: ((val: CheckboxValueType) => any) | undefined;
108
+ "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
109
109
  }>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
110
- "update:modelValue": (val: CheckboxValueType) => void;
111
110
  change: (val: CheckboxValueType) => void;
111
+ "update:modelValue": (val: CheckboxValueType) => void;
112
112
  }, _$vue.PublicProps, {
113
- id: string;
113
+ name: string;
114
+ label: string | boolean | number | object;
114
115
  disabled: boolean;
116
+ id: string;
115
117
  modelValue: number | string | boolean;
116
118
  validateEvent: boolean;
117
- name: string;
118
119
  value: string | boolean | number | object;
119
- label: string | boolean | number | object;
120
120
  trueValue: string | number;
121
121
  falseValue: string | number;
122
122
  trueLabel: string | number;
@@ -129,16 +129,16 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
129
129
  M: {};
130
130
  Defaults: {};
131
131
  }, Readonly<CheckboxProps> & Readonly<{
132
- "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
133
132
  onChange?: ((val: CheckboxValueType) => any) | undefined;
133
+ "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
134
134
  }>, {}, {}, {}, {}, {
135
- id: string;
135
+ name: string;
136
+ label: string | boolean | number | object;
136
137
  disabled: boolean;
138
+ id: string;
137
139
  modelValue: number | string | boolean;
138
140
  validateEvent: boolean;
139
- name: string;
140
141
  value: string | boolean | number | object;
141
- label: string | boolean | number | object;
142
142
  trueValue: string | number;
143
143
  falseValue: string | number;
144
144
  trueLabel: string | number;
@@ -148,19 +148,19 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
148
148
  __isTeleport?: never;
149
149
  __isSuspense?: never;
150
150
  } & _$vue.ComponentOptionsBase<Readonly<CheckboxProps> & Readonly<{
151
- "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
152
151
  onChange?: ((val: CheckboxValueType) => any) | undefined;
152
+ "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
153
153
  }>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
154
- "update:modelValue": (val: CheckboxValueType) => void;
155
154
  change: (val: CheckboxValueType) => void;
155
+ "update:modelValue": (val: CheckboxValueType) => void;
156
156
  }, string, {
157
- id: string;
157
+ name: string;
158
+ label: string | boolean | number | object;
158
159
  disabled: boolean;
160
+ id: string;
159
161
  modelValue: number | string | boolean;
160
162
  validateEvent: boolean;
161
- name: string;
162
163
  value: string | boolean | number | object;
163
- label: string | boolean | number | object;
164
164
  trueValue: string | number;
165
165
  falseValue: string | number;
166
166
  trueLabel: string | number;