@element-plus/nightly 0.0.20260328 → 0.0.20260330

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 (650) hide show
  1. package/dist/index.full.js +362 -14
  2. package/dist/index.full.min.js +6 -6
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +8 -8
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +363 -15
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lo.js +1 -1
  140. package/dist/locale/lo.min.js +1 -1
  141. package/dist/locale/lo.min.mjs +1 -1
  142. package/dist/locale/lo.mjs +1 -1
  143. package/dist/locale/lt.js +1 -1
  144. package/dist/locale/lt.min.js +1 -1
  145. package/dist/locale/lt.min.mjs +1 -1
  146. package/dist/locale/lt.mjs +1 -1
  147. package/dist/locale/lv.js +1 -1
  148. package/dist/locale/lv.min.js +1 -1
  149. package/dist/locale/lv.min.mjs +1 -1
  150. package/dist/locale/lv.mjs +1 -1
  151. package/dist/locale/mg.js +1 -1
  152. package/dist/locale/mg.min.js +1 -1
  153. package/dist/locale/mg.min.mjs +1 -1
  154. package/dist/locale/mg.mjs +1 -1
  155. package/dist/locale/mn.js +1 -1
  156. package/dist/locale/mn.min.js +1 -1
  157. package/dist/locale/mn.min.mjs +1 -1
  158. package/dist/locale/mn.mjs +1 -1
  159. package/dist/locale/ms.js +1 -1
  160. package/dist/locale/ms.min.js +1 -1
  161. package/dist/locale/ms.min.mjs +1 -1
  162. package/dist/locale/ms.mjs +1 -1
  163. package/dist/locale/my.js +1 -1
  164. package/dist/locale/my.min.js +1 -1
  165. package/dist/locale/my.min.mjs +1 -1
  166. package/dist/locale/my.mjs +1 -1
  167. package/dist/locale/nb-no.js +1 -1
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.mjs +1 -1
  170. package/dist/locale/nb-no.mjs +1 -1
  171. package/dist/locale/nl.js +1 -1
  172. package/dist/locale/nl.min.js +1 -1
  173. package/dist/locale/nl.min.mjs +1 -1
  174. package/dist/locale/nl.mjs +1 -1
  175. package/dist/locale/no.js +1 -1
  176. package/dist/locale/no.min.js +1 -1
  177. package/dist/locale/no.min.mjs +1 -1
  178. package/dist/locale/no.mjs +1 -1
  179. package/dist/locale/pa.js +1 -1
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.mjs +1 -1
  182. package/dist/locale/pa.mjs +1 -1
  183. package/dist/locale/pl.js +1 -1
  184. package/dist/locale/pl.min.js +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +1 -1
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.mjs +1 -1
  190. package/dist/locale/pt-br.mjs +1 -1
  191. package/dist/locale/pt.js +1 -1
  192. package/dist/locale/pt.min.js +1 -1
  193. package/dist/locale/pt.min.mjs +1 -1
  194. package/dist/locale/pt.mjs +1 -1
  195. package/dist/locale/ro.js +1 -1
  196. package/dist/locale/ro.min.js +1 -1
  197. package/dist/locale/ro.min.mjs +1 -1
  198. package/dist/locale/ro.mjs +1 -1
  199. package/dist/locale/ru.js +1 -1
  200. package/dist/locale/ru.min.js +1 -1
  201. package/dist/locale/ru.min.mjs +1 -1
  202. package/dist/locale/ru.mjs +1 -1
  203. package/dist/locale/sk.js +1 -1
  204. package/dist/locale/sk.min.js +1 -1
  205. package/dist/locale/sk.min.mjs +1 -1
  206. package/dist/locale/sk.mjs +1 -1
  207. package/dist/locale/sl.js +1 -1
  208. package/dist/locale/sl.min.js +1 -1
  209. package/dist/locale/sl.min.mjs +1 -1
  210. package/dist/locale/sl.mjs +1 -1
  211. package/dist/locale/sr.js +1 -1
  212. package/dist/locale/sr.min.js +1 -1
  213. package/dist/locale/sr.min.mjs +1 -1
  214. package/dist/locale/sr.mjs +1 -1
  215. package/dist/locale/sv.js +1 -1
  216. package/dist/locale/sv.min.js +1 -1
  217. package/dist/locale/sv.min.mjs +1 -1
  218. package/dist/locale/sv.mjs +1 -1
  219. package/dist/locale/sw.js +1 -1
  220. package/dist/locale/sw.min.js +1 -1
  221. package/dist/locale/sw.min.mjs +1 -1
  222. package/dist/locale/sw.mjs +1 -1
  223. package/dist/locale/ta.js +1 -1
  224. package/dist/locale/ta.min.js +1 -1
  225. package/dist/locale/ta.min.mjs +1 -1
  226. package/dist/locale/ta.mjs +1 -1
  227. package/dist/locale/te.js +1 -1
  228. package/dist/locale/te.min.js +1 -1
  229. package/dist/locale/te.min.mjs +1 -1
  230. package/dist/locale/te.mjs +1 -1
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/components/affix/src/affix.vue.d.ts +2 -2
  276. package/es/components/alert/src/alert.d.ts +1 -1
  277. package/es/components/alert/src/alert.vue.d.ts +1 -1
  278. package/es/components/anchor/src/anchor-link.vue.d.ts +1 -3
  279. package/es/components/anchor/src/anchor-link.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  280. package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
  281. package/es/components/anchor/src/anchor.vue.d.ts +1 -1
  282. package/es/components/autocomplete/src/autocomplete.d.ts +2 -2
  283. package/es/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  284. package/es/components/avatar/src/avatar.d.ts +1 -1
  285. package/es/components/avatar/src/avatar.vue.d.ts +1 -1
  286. package/es/components/badge/src/badge.d.ts +1 -1
  287. package/es/components/button/src/button-group.vue.d.ts +1 -1
  288. package/es/components/button/src/button.d.ts +1 -1
  289. package/es/components/button/src/button.vue.d.ts +3 -3
  290. package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
  291. package/es/components/carousel/src/carousel.vue.d.ts +3 -3
  292. package/es/components/cascader/src/cascader.d.ts +3 -3
  293. package/es/components/cascader/src/cascader.vue.d.ts +10 -10
  294. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs +6 -1
  295. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  296. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  297. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  298. package/es/components/cascader-panel/src/index.vue.d.ts +1 -1
  299. package/es/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  300. package/es/components/check-tag/src/check-tag.d.ts +1 -1
  301. package/es/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
  302. package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
  303. package/es/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  304. package/es/components/checkbox/src/checkbox.d.ts +8 -8
  305. package/es/components/checkbox/src/checkbox.vue.d.ts +5 -5
  306. package/es/components/collapse/src/collapse.vue.d.ts +1 -1
  307. package/es/components/color-picker/src/color-picker.vue.d.ts +5 -5
  308. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  309. package/es/components/color-picker-panel/src/composables/use-predefine.mjs.map +1 -1
  310. package/es/components/date-picker/src/date-picker.d.ts +11 -11
  311. package/es/components/date-picker/src/props.d.ts +2 -2
  312. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +6 -6
  313. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  314. package/es/components/descriptions/src/description-item.d.ts +13 -13
  315. package/es/components/descriptions/src/description.mjs.map +1 -1
  316. package/es/components/dialog/src/dialog.vue.d.ts +6 -6
  317. package/es/components/dialog/src/use-dialog.d.ts +2 -2
  318. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  319. package/es/components/drawer/src/drawer.vue.d.ts +7 -7
  320. package/es/components/dropdown/src/dropdown-item.vue.d.ts +3 -9
  321. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  322. package/es/components/dropdown/src/dropdown.d.ts +3 -3
  323. package/es/components/dropdown/src/dropdown.vue.d.ts +65 -71
  324. package/es/components/form/src/form-item.vue_vue_type_script_setup_true_lang.mjs +11 -1
  325. package/es/components/form/src/form-item.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  326. package/es/components/form/src/form-item2.mjs.map +1 -1
  327. package/es/components/form/src/form.vue_vue_type_script_setup_true_lang.mjs +11 -3
  328. package/es/components/form/src/form.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  329. package/es/components/form/src/form2.mjs.map +1 -1
  330. package/es/components/form/src/types.d.ts +2 -1
  331. package/es/components/icon/src/icon.vue.d.ts +1 -3
  332. package/es/components/icon/src/icon.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  333. package/es/components/icon/src/icon2.mjs.map +1 -1
  334. package/es/components/image/src/image.d.ts +1 -1
  335. package/es/components/image/src/image.vue.d.ts +7 -7
  336. package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  337. package/es/components/input/src/input.d.ts +1 -1
  338. package/es/components/input/src/input.vue.d.ts +4 -3
  339. package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs +1 -0
  340. package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  341. package/es/components/input/src/input2.mjs.map +1 -1
  342. package/es/components/input-number/src/input-number.d.ts +1 -1
  343. package/es/components/input-number/src/input-number.vue.d.ts +6 -6
  344. package/es/components/input-tag/src/input-tag.d.ts +1 -1
  345. package/es/components/input-tag/src/input-tag.vue.d.ts +7 -7
  346. package/es/components/link/src/link.d.ts +1 -1
  347. package/es/components/link/src/link.vue.d.ts +1 -1
  348. package/es/components/mention/src/helper.d.ts +1 -1
  349. package/es/components/mention/src/helper.mjs.map +1 -1
  350. package/es/components/mention/src/mention.d.ts +8 -7
  351. package/es/components/mention/src/mention.mjs.map +1 -1
  352. package/es/components/mention/src/mention.vue.d.ts +48 -55
  353. package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs +212 -5
  354. package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  355. package/es/components/mention/src/mention2.mjs.map +1 -1
  356. package/es/components/menu/src/menu.d.ts +2 -2
  357. package/es/components/message/src/message.d.ts +1 -1
  358. package/es/components/message/src/message.vue.d.ts +6 -6
  359. package/es/components/notification/src/notification.d.ts +1 -1
  360. package/es/components/notification/src/notification.vue.d.ts +4 -4
  361. package/es/components/pagination/src/pagination.d.ts +2 -2
  362. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  363. package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  364. package/es/components/popover/src/popover.d.ts +1 -1
  365. package/es/components/popover/src/popover.vue.d.ts +8 -8
  366. package/es/components/popper/src/composables/use-content.d.ts +8 -8
  367. package/es/components/popper/src/content.vue.d.ts +4 -4
  368. package/es/components/popper/src/popper.d.ts +2 -2
  369. package/es/components/popper/src/trigger.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  370. package/es/components/popper/src/trigger2.mjs.map +1 -1
  371. package/es/components/progress/src/progress.vue.d.ts +5 -5
  372. package/es/components/radio/src/radio-button.d.ts +3 -3
  373. package/es/components/radio/src/radio-button.vue.d.ts +3 -3
  374. package/es/components/radio/src/radio-group.vue.d.ts +4 -4
  375. package/es/components/radio/src/radio.d.ts +6 -6
  376. package/es/components/radio/src/radio.vue.d.ts +4 -4
  377. package/es/components/rate/src/rate.vue.d.ts +2 -2
  378. package/es/components/result/src/result.d.ts +1 -1
  379. package/es/components/row/src/row.vue.d.ts +1 -1
  380. package/es/components/segmented/index.d.ts +2 -2
  381. package/es/components/segmented/src/segmented.d.ts +1 -1
  382. package/es/components/segmented/src/segmented.vue.d.ts +1 -1
  383. package/es/components/select/src/option.d.ts +2 -2
  384. package/es/components/select/src/option.vue.d.ts +5 -5
  385. package/es/components/select/src/select.d.ts +4 -4
  386. package/es/components/select/src/select.vue.d.ts +75 -81
  387. package/es/components/select-v2/src/defaults.d.ts +2 -2
  388. package/es/components/select-v2/src/select.vue.d.ts +62 -68
  389. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  390. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  391. package/es/components/slider/src/slider.vue.d.ts +5 -5
  392. package/es/components/space/src/space.d.ts +1 -1
  393. package/es/components/statistic/src/statistic.vue.d.ts +1 -1
  394. package/es/components/steps/src/item.d.ts +1 -1
  395. package/es/components/steps/src/steps.d.ts +2 -2
  396. package/es/components/switch/src/switch.vue.d.ts +2 -2
  397. package/es/components/table/src/table-column/index.d.ts +22 -22
  398. package/es/components/table/src/table-header/index.d.ts +15 -15
  399. package/es/components/table/src/table.vue.d.ts +37 -37
  400. package/es/components/table-v2/src/table-grid.d.ts +1 -1
  401. package/es/components/table-v2/src/table-v2.d.ts +1 -1
  402. package/es/components/tabs/src/tab-pane.vue.d.ts +1 -1
  403. package/es/components/tabs/src/tabs.d.ts +1 -1
  404. package/es/components/tag/src/tag.d.ts +1 -1
  405. package/es/components/text/src/text.d.ts +1 -1
  406. package/es/components/text/src/text.vue.d.ts +1 -1
  407. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  408. package/es/components/time-picker/src/common/picker.vue.d.ts +10 -10
  409. package/es/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.mjs +4 -3
  410. package/es/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  411. package/es/components/time-picker/src/common/props.d.ts +1 -1
  412. package/es/components/time-picker/src/time-picker.d.ts +8 -8
  413. package/es/components/time-select/src/time-select.vue.d.ts +4 -4
  414. package/es/components/timeline/src/timeline-item.d.ts +1 -1
  415. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  416. package/es/components/tooltip/src/content.vue.d.ts +8 -8
  417. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  418. package/es/components/tooltip/src/tooltip.vue.d.ts +12 -12
  419. package/es/components/tour/src/content.d.ts +1 -1
  420. package/es/components/tour/src/step.d.ts +1 -1
  421. package/es/components/tour/src/step.vue.d.ts +2 -2
  422. package/es/components/tour/src/tour.d.ts +1 -1
  423. package/es/components/tour/src/tour.vue.d.ts +8 -8
  424. package/es/components/transfer/src/composables/use-check.d.ts +4 -4
  425. package/es/components/transfer/src/composables/use-check.mjs.map +1 -1
  426. package/es/components/transfer/src/composables/use-computed-data.d.ts +3 -3
  427. package/es/components/transfer/src/composables/use-computed-data.mjs +1 -1
  428. package/es/components/transfer/src/composables/use-computed-data.mjs.map +1 -1
  429. package/es/components/transfer/src/composables/use-move.d.ts +2 -2
  430. package/es/components/transfer/src/composables/use-move.mjs.map +1 -1
  431. package/es/components/transfer/src/composables/use-props-alias.d.ts +4 -2
  432. package/es/components/transfer/src/composables/use-props-alias.mjs.map +1 -1
  433. package/es/components/transfer/src/transfer-panel.d.ts +11 -10
  434. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  435. package/es/components/transfer/src/transfer-panel.vue.d.ts +23 -25
  436. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs +48 -2
  437. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  438. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  439. package/es/components/transfer/src/transfer.d.ts +9 -8
  440. package/es/components/transfer/src/transfer.mjs.map +1 -1
  441. package/es/components/transfer/src/transfer.vue.d.ts +32 -42
  442. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs +73 -2
  443. package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  444. package/es/components/transfer/src/transfer2.mjs.map +1 -1
  445. package/es/components/tree/src/tree.vue.d.ts +22 -28
  446. package/es/components/tree-select/src/tree-select.vue.d.ts +34 -34
  447. package/es/components/tree-v2/src/tree.vue.d.ts +2 -2
  448. package/es/components/upload/src/upload-content.mjs.map +1 -1
  449. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  450. package/es/components/upload/src/upload.vue.d.ts +2 -2
  451. package/es/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  452. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  453. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
  454. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  455. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  456. package/es/components/watermark/src/watermark.vue.d.ts +2 -2
  457. package/es/hooks/use-popper/index.d.ts +8 -8
  458. package/es/utils/vue/size.d.ts +1 -1
  459. package/es/utils/vue/vnode.d.ts +4 -4
  460. package/es/version.mjs +1 -1
  461. package/es/version.mjs.map +1 -1
  462. package/lib/components/affix/src/affix.vue.d.ts +2 -2
  463. package/lib/components/alert/src/alert.d.ts +1 -1
  464. package/lib/components/alert/src/alert.vue.d.ts +1 -1
  465. package/lib/components/anchor/src/anchor-link.vue.d.ts +1 -3
  466. package/lib/components/anchor/src/anchor-link.vue_vue_type_script_setup_true_lang.js.map +1 -1
  467. package/lib/components/anchor/src/anchor-link2.js.map +1 -1
  468. package/lib/components/anchor/src/anchor.vue.d.ts +1 -1
  469. package/lib/components/autocomplete/src/autocomplete.d.ts +2 -2
  470. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  471. package/lib/components/avatar/src/avatar.d.ts +1 -1
  472. package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
  473. package/lib/components/badge/src/badge.d.ts +1 -1
  474. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  475. package/lib/components/button/src/button.d.ts +1 -1
  476. package/lib/components/button/src/button.vue.d.ts +3 -3
  477. package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
  478. package/lib/components/carousel/src/carousel.vue.d.ts +3 -3
  479. package/lib/components/cascader/src/cascader.d.ts +3 -3
  480. package/lib/components/cascader/src/cascader.vue.d.ts +10 -10
  481. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js +6 -1
  482. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  483. package/lib/components/cascader/src/cascader2.js.map +1 -1
  484. package/lib/components/cascader-panel/src/index.js.map +1 -1
  485. package/lib/components/cascader-panel/src/index.vue.d.ts +1 -1
  486. package/lib/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.js.map +1 -1
  487. package/lib/components/check-tag/src/check-tag.d.ts +1 -1
  488. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
  489. package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
  490. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  491. package/lib/components/checkbox/src/checkbox.d.ts +8 -8
  492. package/lib/components/checkbox/src/checkbox.vue.d.ts +5 -5
  493. package/lib/components/collapse/src/collapse.vue.d.ts +1 -1
  494. package/lib/components/color-picker/src/color-picker.vue.d.ts +5 -5
  495. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  496. package/lib/components/color-picker-panel/src/composables/use-predefine.js.map +1 -1
  497. package/lib/components/date-picker/src/date-picker.d.ts +11 -11
  498. package/lib/components/date-picker/src/props.d.ts +2 -2
  499. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +6 -6
  500. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  501. package/lib/components/descriptions/src/description-item.d.ts +13 -13
  502. package/lib/components/descriptions/src/description.js.map +1 -1
  503. package/lib/components/dialog/src/dialog.vue.d.ts +6 -6
  504. package/lib/components/dialog/src/use-dialog.d.ts +2 -2
  505. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  506. package/lib/components/drawer/src/drawer.vue.d.ts +7 -7
  507. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +3 -9
  508. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  509. package/lib/components/dropdown/src/dropdown.d.ts +3 -3
  510. package/lib/components/dropdown/src/dropdown.vue.d.ts +65 -71
  511. package/lib/components/form/src/form-item.vue_vue_type_script_setup_true_lang.js +11 -1
  512. package/lib/components/form/src/form-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
  513. package/lib/components/form/src/form-item2.js.map +1 -1
  514. package/lib/components/form/src/form.vue_vue_type_script_setup_true_lang.js +11 -3
  515. package/lib/components/form/src/form.vue_vue_type_script_setup_true_lang.js.map +1 -1
  516. package/lib/components/form/src/form2.js.map +1 -1
  517. package/lib/components/form/src/types.d.ts +2 -1
  518. package/lib/components/icon/src/icon.vue.d.ts +1 -3
  519. package/lib/components/icon/src/icon.vue_vue_type_script_setup_true_lang.js.map +1 -1
  520. package/lib/components/icon/src/icon2.js.map +1 -1
  521. package/lib/components/image/src/image.d.ts +1 -1
  522. package/lib/components/image/src/image.vue.d.ts +7 -7
  523. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  524. package/lib/components/input/src/input.d.ts +1 -1
  525. package/lib/components/input/src/input.vue.d.ts +4 -3
  526. package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js +1 -0
  527. package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js.map +1 -1
  528. package/lib/components/input/src/input2.js.map +1 -1
  529. package/lib/components/input-number/src/input-number.d.ts +1 -1
  530. package/lib/components/input-number/src/input-number.vue.d.ts +6 -6
  531. package/lib/components/input-tag/src/input-tag.d.ts +1 -1
  532. package/lib/components/input-tag/src/input-tag.vue.d.ts +7 -7
  533. package/lib/components/link/src/link.d.ts +1 -1
  534. package/lib/components/link/src/link.vue.d.ts +1 -1
  535. package/lib/components/mention/src/helper.d.ts +1 -1
  536. package/lib/components/mention/src/helper.js.map +1 -1
  537. package/lib/components/mention/src/mention.d.ts +8 -7
  538. package/lib/components/mention/src/mention.js.map +1 -1
  539. package/lib/components/mention/src/mention.vue.d.ts +48 -55
  540. package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js +208 -1
  541. package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js.map +1 -1
  542. package/lib/components/mention/src/mention2.js.map +1 -1
  543. package/lib/components/menu/src/menu.d.ts +2 -2
  544. package/lib/components/message/src/message.d.ts +1 -1
  545. package/lib/components/message/src/message.vue.d.ts +6 -6
  546. package/lib/components/notification/src/notification.d.ts +1 -1
  547. package/lib/components/notification/src/notification.vue.d.ts +4 -4
  548. package/lib/components/pagination/src/pagination.d.ts +2 -2
  549. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  550. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  551. package/lib/components/popover/src/popover.d.ts +1 -1
  552. package/lib/components/popover/src/popover.vue.d.ts +8 -8
  553. package/lib/components/popper/src/composables/use-content.d.ts +8 -8
  554. package/lib/components/popper/src/content.vue.d.ts +4 -4
  555. package/lib/components/popper/src/popper.d.ts +2 -2
  556. package/lib/components/popper/src/trigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  557. package/lib/components/popper/src/trigger2.js.map +1 -1
  558. package/lib/components/progress/src/progress.vue.d.ts +5 -5
  559. package/lib/components/radio/src/radio-button.d.ts +3 -3
  560. package/lib/components/radio/src/radio-button.vue.d.ts +3 -3
  561. package/lib/components/radio/src/radio-group.vue.d.ts +4 -4
  562. package/lib/components/radio/src/radio.d.ts +6 -6
  563. package/lib/components/radio/src/radio.vue.d.ts +4 -4
  564. package/lib/components/rate/src/rate.vue.d.ts +2 -2
  565. package/lib/components/result/src/result.d.ts +1 -1
  566. package/lib/components/row/src/row.vue.d.ts +1 -1
  567. package/lib/components/segmented/index.d.ts +2 -2
  568. package/lib/components/segmented/src/segmented.d.ts +1 -1
  569. package/lib/components/segmented/src/segmented.vue.d.ts +1 -1
  570. package/lib/components/select/src/option.d.ts +2 -2
  571. package/lib/components/select/src/option.vue.d.ts +5 -5
  572. package/lib/components/select/src/select.d.ts +4 -4
  573. package/lib/components/select/src/select.vue.d.ts +75 -81
  574. package/lib/components/select-v2/src/defaults.d.ts +2 -2
  575. package/lib/components/select-v2/src/select.vue.d.ts +62 -68
  576. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  577. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  578. package/lib/components/slider/src/slider.vue.d.ts +5 -5
  579. package/lib/components/space/src/space.d.ts +1 -1
  580. package/lib/components/statistic/src/statistic.vue.d.ts +1 -1
  581. package/lib/components/steps/src/item.d.ts +1 -1
  582. package/lib/components/steps/src/steps.d.ts +2 -2
  583. package/lib/components/switch/src/switch.vue.d.ts +2 -2
  584. package/lib/components/table/src/table-column/index.d.ts +22 -22
  585. package/lib/components/table/src/table-header/index.d.ts +15 -15
  586. package/lib/components/table/src/table.vue.d.ts +37 -37
  587. package/lib/components/table-v2/src/table-grid.d.ts +1 -1
  588. package/lib/components/table-v2/src/table-v2.d.ts +1 -1
  589. package/lib/components/tabs/src/tab-pane.vue.d.ts +1 -1
  590. package/lib/components/tabs/src/tabs.d.ts +1 -1
  591. package/lib/components/tag/src/tag.d.ts +1 -1
  592. package/lib/components/text/src/text.d.ts +1 -1
  593. package/lib/components/text/src/text.vue.d.ts +1 -1
  594. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  595. package/lib/components/time-picker/src/common/picker.vue.d.ts +10 -10
  596. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.js +4 -3
  597. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  598. package/lib/components/time-picker/src/common/props.d.ts +1 -1
  599. package/lib/components/time-picker/src/time-picker.d.ts +8 -8
  600. package/lib/components/time-select/src/time-select.vue.d.ts +4 -4
  601. package/lib/components/timeline/src/timeline-item.d.ts +1 -1
  602. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  603. package/lib/components/tooltip/src/content.vue.d.ts +8 -8
  604. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  605. package/lib/components/tooltip/src/tooltip.vue.d.ts +12 -12
  606. package/lib/components/tour/src/content.d.ts +1 -1
  607. package/lib/components/tour/src/step.d.ts +1 -1
  608. package/lib/components/tour/src/step.vue.d.ts +2 -2
  609. package/lib/components/tour/src/tour.d.ts +1 -1
  610. package/lib/components/tour/src/tour.vue.d.ts +8 -8
  611. package/lib/components/transfer/src/composables/use-check.d.ts +4 -4
  612. package/lib/components/transfer/src/composables/use-check.js.map +1 -1
  613. package/lib/components/transfer/src/composables/use-computed-data.d.ts +3 -3
  614. package/lib/components/transfer/src/composables/use-computed-data.js +1 -1
  615. package/lib/components/transfer/src/composables/use-computed-data.js.map +1 -1
  616. package/lib/components/transfer/src/composables/use-move.d.ts +2 -2
  617. package/lib/components/transfer/src/composables/use-move.js.map +1 -1
  618. package/lib/components/transfer/src/composables/use-props-alias.d.ts +4 -2
  619. package/lib/components/transfer/src/composables/use-props-alias.js.map +1 -1
  620. package/lib/components/transfer/src/transfer-panel.d.ts +11 -10
  621. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  622. package/lib/components/transfer/src/transfer-panel.vue.d.ts +23 -25
  623. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.js +47 -1
  624. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  625. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  626. package/lib/components/transfer/src/transfer.d.ts +9 -8
  627. package/lib/components/transfer/src/transfer.js.map +1 -1
  628. package/lib/components/transfer/src/transfer.vue.d.ts +32 -42
  629. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js +72 -1
  630. package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  631. package/lib/components/transfer/src/transfer2.js.map +1 -1
  632. package/lib/components/tree/src/tree.vue.d.ts +22 -28
  633. package/lib/components/tree-select/src/tree-select.vue.d.ts +34 -34
  634. package/lib/components/tree-v2/src/tree.vue.d.ts +2 -2
  635. package/lib/components/upload/src/upload-content.js.map +1 -1
  636. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  637. package/lib/components/upload/src/upload.vue.d.ts +2 -2
  638. package/lib/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  639. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  640. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
  641. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  642. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  643. package/lib/components/watermark/src/watermark.vue.d.ts +2 -2
  644. package/lib/hooks/use-popper/index.d.ts +8 -8
  645. package/lib/utils/vue/size.d.ts +1 -1
  646. package/lib/utils/vue/vnode.d.ts +4 -4
  647. package/lib/version.js +1 -1
  648. package/lib/version.js.map +1 -1
  649. package/package.json +2 -2
  650. package/web-types.json +1 -1
@@ -1,8 +1,10 @@
1
- import { TransferProps } from "../transfer.js";
1
+ import { TransferPropsAlias } from "../transfer.js";
2
2
  import * as vue from "vue";
3
3
 
4
4
  //#region ../../packages/components/transfer/src/composables/use-props-alias.d.ts
5
- declare const usePropsAlias: (props: TransferProps) => vue.ComputedRef<{
5
+ declare const usePropsAlias: (props: {
6
+ props?: TransferPropsAlias;
7
+ }) => vue.ComputedRef<{
6
8
  label: string;
7
9
  key: string;
8
10
  disabled: string;
@@ -1 +1 @@
1
- {"version":3,"file":"use-props-alias.js","names":[],"sources":["../../../../../../../packages/components/transfer/src/composables/use-props-alias.ts"],"sourcesContent":["import { computed } from 'vue'\n\nimport type { TransferProps, TransferPropsAlias } from '../transfer'\n\nexport const usePropsAlias = (props: TransferProps) => {\n const initProps: Required<TransferPropsAlias> = {\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }\n\n return computed(() => ({\n ...initProps,\n ...props.props,\n }))\n}\n"],"mappings":";;;;;AAIA,MAAa,iBAAiB,UAAyB;CACrD,MAAM,YAA0C;EAC9C,OAAO;EACP,KAAK;EACL,UAAU;EACX;AAED,iCAAuB;EACrB,GAAG;EACH,GAAG,MAAM;EACV,EAAE"}
1
+ {"version":3,"file":"use-props-alias.js","names":[],"sources":["../../../../../../../packages/components/transfer/src/composables/use-props-alias.ts"],"sourcesContent":["import { computed } from 'vue'\n\nimport type { TransferPropsAlias } from '../transfer'\n\nexport const usePropsAlias = (props: { props?: TransferPropsAlias }) => {\n const initProps: Required<TransferPropsAlias> = {\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }\n\n return computed(() => ({\n ...initProps,\n ...props.props,\n }))\n}\n"],"mappings":";;;;;AAIA,MAAa,iBAAiB,UAA0C;CACtE,MAAM,YAA0C;EAC9C,OAAO;EACP,KAAK;EACL,UAAU;EACX;AAED,iCAAuB;EACrB,GAAG;EACH,GAAG,MAAM;EACV,EAAE"}
@@ -1,7 +1,8 @@
1
1
  import "../../../utils/index.js";
2
- import { TransferDataItem, TransferKey, TransferProps } from "./transfer.js";
2
+ import { TransferDataItem, TransferFormat, TransferKey, TransferPropsAlias } from "./transfer.js";
3
3
  import { _default } from "./transfer-panel.vue.js";
4
- import { ExtractPublicPropTypes, VNode } from "vue";
4
+ import { ComponentInstance, ExtractPublicPropTypes, VNode } from "vue";
5
+ import { ComponentExposed } from "vue-component-type-helpers";
5
6
 
6
7
  //#region ../../packages/components/transfer/src/transfer-panel.d.ts
7
8
  interface TransferPanelState {
@@ -10,21 +11,21 @@ interface TransferPanelState {
10
11
  query: string;
11
12
  checkChangeByUser: boolean;
12
13
  }
13
- interface TransferPanelProps {
14
- data?: TransferProps['data'];
15
- optionRender?: (option: TransferDataItem) => VNode | VNode[];
14
+ interface TransferPanelProps<T extends TransferDataItem = TransferDataItem> {
15
+ data?: T[];
16
+ optionRender?: (option: T) => VNode | VNode[];
16
17
  placeholder?: string;
17
18
  title?: string;
18
19
  filterable?: boolean;
19
- format?: TransferProps['format'];
20
- filterMethod?: TransferProps['filterMethod'];
21
- defaultChecked?: TransferProps['leftDefaultChecked'];
22
- props?: TransferProps['props'];
20
+ format?: TransferFormat;
21
+ filterMethod?: (query: string, item: T) => boolean;
22
+ defaultChecked?: TransferKey[];
23
+ props?: TransferPropsAlias;
23
24
  }
24
25
  declare const transferPanelEmits: {
25
26
  "checked-change": (value: TransferKey[], movedKeys?: TransferKey[]) => boolean;
26
27
  };
27
28
  type TransferPanelEmits = typeof transferPanelEmits;
28
- type TransferPanelInstance = InstanceType<typeof _default> & unknown;
29
+ type TransferPanelInstance = ComponentInstance<typeof _default> & ComponentExposed<typeof _default>;
29
30
  //#endregion
30
31
  export { TransferPanelEmits, TransferPanelInstance, TransferPanelProps, TransferPanelState };
@@ -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 { ExtractPublicPropTypes, VNode } from 'vue'\nimport type { TransferDataItem, TransferKey, TransferProps } 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 data?: TransferProps['data']\n optionRender?: (option: TransferDataItem) => VNode | VNode[]\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}\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 = InstanceType<typeof TransferPanel> & unknown\n"],"mappings":";;;;;AAcA,MAAa,uBAAuB;;;;AAiBpC,MAAa,qBAAqBA,2BAAW;CAC3C,MAAMC,+BAAc;CACpB,cAAc,EACZ,MAAMC,+BACJ,SACD,EACF;CACD,aAAa;CACb,OAAO;CACP,YAAY;CACZ,QAAQD,+BAAc;CACtB,cAAcA,+BAAc;CAC5B,gBAAgBA,+BAAc;CAC9B,OAAOA,+BAAc;CACtB,CAAU;AASX,MAAa,qBAAqB,GAC/B,uBAAuBE,0CACzB"}
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,2BAAW;CAC3C,MAAMC,+BAAc;CACpB,cAAc,EACZ,MAAMC,+BACJ,SACD,EACF;CACD,aAAa;CACb,OAAO;CACP,YAAY;CACZ,QAAQD,+BAAc;CACtB,cAAcA,+BAAc;CAC5B,gBAAgBA,+BAAc;CAC9B,OAAOA,+BAAc;CACtB,CAAU;AASX,MAAa,qBAAqB,GAC/B,uBAAuBE,0CACzB"}
@@ -1,33 +1,31 @@
1
- import { TransferDataItem, TransferFormat, TransferKey, TransferPropsAlias } from "./transfer.js";
1
+ import { TransferDataItem, TransferKey } from "./transfer.js";
2
2
  import { TransferPanelProps } from "./transfer-panel.js";
3
- import "../../../index.js";
4
3
  import * as vue from "vue";
4
+ import { VNode } from "vue";
5
5
 
6
6
  //#region ../../packages/components/transfer/src/transfer-panel.vue.d.ts
7
- declare var __VLS_31: {}, __VLS_33: {};
8
- type __VLS_Slots = {} & {
9
- empty?: (props: typeof __VLS_31) => any;
10
- } & {
11
- default?: (props: typeof __VLS_33) => any;
12
- };
13
- declare const __VLS_base: vue.DefineComponent<TransferPanelProps, {
14
- /** @description filter keyword */query: vue.Ref<string, string>;
15
- }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
16
- "checked-change": (value: TransferKey[], movedKeys?: TransferKey[] | undefined) => void;
17
- }, string, vue.PublicProps, Readonly<TransferPanelProps> & Readonly<{
18
- "onChecked-change"?: ((value: TransferKey[], movedKeys?: TransferKey[] | undefined) => any) | undefined;
19
- }>, {
20
- props: TransferPropsAlias;
21
- data: TransferDataItem[];
22
- format: TransferFormat;
23
- defaultChecked: TransferKey[];
24
- }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
25
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
26
- declare const _default: typeof __VLS_export;
27
- type __VLS_WithSlots<T, S> = T & {
28
- new (): {
29
- $slots: S;
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
+ props: vue.PublicProps & __VLS_PrettifyLocal<TransferPanelProps<T> & {
9
+ "onChecked-change"?: ((value: TransferKey[], movedKeys?: TransferKey[] | undefined) => any) | undefined;
10
+ }> & (typeof globalThis extends {
11
+ __VLS_PROPS_FALLBACK: infer P;
12
+ } ? P : {});
13
+ expose: (exposed: vue.ShallowUnwrapRef<{
14
+ /** @description filter keyword */query: vue.Ref<string, string>;
15
+ }>) => void;
16
+ attrs: any;
17
+ slots: {
18
+ empty?: (props: {}) => any;
19
+ } & {
20
+ default?: (props: {}) => any;
30
21
  };
22
+ emit: (event: "checked-change", value: TransferKey[], movedKeys?: TransferKey[] | undefined) => void;
23
+ }>) => VNode<vue.RendererNode, vue.RendererElement, {
24
+ [key: string]: any;
25
+ }> & {
26
+ __ctx?: Awaited<typeof __VLS_setup>;
31
27
  };
28
+ declare const _default: typeof __VLS_export;
29
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
32
30
  //#endregion
33
31
  export { _default };
@@ -1,5 +1,6 @@
1
1
  const require_runtime = require('../../../_virtual/_rolldown/runtime.js');
2
2
  const require_types = require('../../../utils/types.js');
3
+ const require_typescript = require('../../../utils/typescript.js');
3
4
  const require_index = require('../../../hooks/use-locale/index.js');
4
5
  const require_index$1 = require('../../../hooks/use-namespace/index.js');
5
6
  const require_index$2 = require('../../input/index.js');
@@ -14,7 +15,52 @@ let vue = require("vue");
14
15
  var transfer_panel_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
15
16
  name: "ElTransferPanel",
16
17
  __name: "transfer-panel",
17
- props: require_transfer_panel.transferPanelProps,
18
+ props: {
19
+ data: {
20
+ type: Array,
21
+ required: false,
22
+ default: () => []
23
+ },
24
+ optionRender: {
25
+ type: Function,
26
+ required: false
27
+ },
28
+ placeholder: {
29
+ type: String,
30
+ required: false
31
+ },
32
+ title: {
33
+ type: String,
34
+ required: false
35
+ },
36
+ filterable: {
37
+ type: Boolean,
38
+ required: false
39
+ },
40
+ format: {
41
+ type: Object,
42
+ required: false,
43
+ default: () => ({})
44
+ },
45
+ filterMethod: {
46
+ type: Function,
47
+ required: false
48
+ },
49
+ defaultChecked: {
50
+ type: Array,
51
+ required: false,
52
+ default: () => []
53
+ },
54
+ props: {
55
+ type: Object,
56
+ required: false,
57
+ default: () => require_typescript.mutable({
58
+ label: "label",
59
+ key: "key",
60
+ disabled: "disabled"
61
+ })
62
+ }
63
+ },
18
64
  emits: require_transfer_panel.transferPanelEmits,
19
65
  setup(__props, { expose: __expose, emit: __emit }) {
20
66
  const props = __props;
@@ -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>\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 { TransferPanelProps, TransferPanelState } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransferPanel',\n})\n\nconst props = withDefaults(defineProps<TransferPanelProps>(), {\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":";;;;;;;;;;;;;;;;;;;EA4EA,MAAM,QAAQ;EAWd,MAAM,OAAO;EACb,MAAM,2BAAiB;EAEvB,MAAM,iBAAiB,EAAE,aAA2C;EAEpE,MAAM,EAAE,MAAM,yBAAU;EACxB,MAAM,KAAK,6BAAa,WAAU;EAElC,MAAM,+BAA0C;GAC9C,SAAS,EAAE;GACX,YAAY;GACZ,OAAO;GACP,mBAAmB;GACpB,CAAA;EAED,MAAM,aAAa,sCAAc,MAAK;EAEtC,MAAM,EACJ,cACA,gBACA,iBACA,2BACE,2BAAS,OAAO,YAAY,KAAI;EAEpC,MAAM,qCACE,CAAC,sBAAQ,WAAW,MAAM,IAAI,sBAAQ,aAAa,MAAK,CAChE;EAEA,MAAM,oCAA2B,CAAC,sBAAQ,MAAM,SAAU,CAAC,GAAG,SAAS,CAAA;EAEvE,MAAM,EAAE,SAAS,YAAY,0BAAiB,WAAU;AAExD,WAAa,EAEX,OACD,CAAA;;4DAlEO,OAAA,EAvDA,8CAAO,GAAE,CAAC,EAAC,QAAA,CAAA;gCAaX,KAAA,EAZA,8CAAO,GAAE,CAAC,GAAE,SAAA,SAAA,CAAA,yCAWA,2BAAA,EAAA;gCATH,WAAU;+FAAV,WAAU,QAAA,SAAA;KAClB,8BAAe,gBAAe;KAC9B,kBAAgB;KAChB,yBAAQ,uBAAA;;qCAEuD,6BAAA,QAAA,EAAzD,8CAAO,GAAE,CAAC,GAAE,SAAA,eAAA,CAAA,6BAA8B,QAAA,MAAK,EAAA,EAAA,8BAG/C,QAAA,EAFA,8CAAO,GAAE,CAAC,GAAE,SAAA,eAAA,CAAA,4CACd,eAAc,CAAA,EAAA,EAAA;;;;;;;gCAyCjB,OAAA,EApCA,+BAAK,gBAAG,GAAE,CAAC,GAAE,SAAA,OAAA,iBAAmB,GAAE,CAAC,GAAE,eAAgB,UAAA,MAAS,CAAA,CAAA;KAE1D,QAAA,wEAQN,wBAAA,EAAA;;iCAPS,MAAK;2FAAL,MAAK,QAAA,SAAA;MACb,8CAAO,GAAE,CAAC,GAAE,SAAA,SAAA,CAAA;MACb,MAAK;MACJ,aAAa,QAAA;MACb,8BAAa,+BAAM;MACpB,WAAA;MACC,kBAAgB;;;;;;;iEAkBC,gCAAA,EAAA;iCAdT,QAAO;6FAAP,QAAO,QAAA,SAAA;MACf,kBAAgB;MAChB,+BAAK,gBAAG,GAAE,CAAC,GAAE,cAAe,QAAA,WAAU,iBAAG,GAAE,CAAC,GAAE,SAAA,OAAA,CAAA,CAAA;;sCAGjB,wDAQhB,cAAA,yCARG,aAAY,GAApB,SAAI;wEAQC,2BAAA,EAAA;QAPX,KAAK,oBAAK,WAAU,CAAC;QACrB,8CAAO,GAAE,CAAC,GAAE,SAAA,OAAA,CAAA;QACZ,OAAO,oBAAK,WAAU,CAAC;QACvB,UAAU,oBAAK,WAAU,CAAC;QAC1B,kBAAgB;;wCAEgC,sBAAA,eAAA,EAAhC,QAAQ,QAAA,eAAe,KAAI;;;;;;;;;mDAbrC,WAAA,SAAU,gBAAK,sBAAO,CAAC,QAAA,KAAI,CAAA;yDAuBhC,OAAA,EALH,8CAAO,GAAE,CAAC,GAAE,SAAA,QAAA,CAAA,yBAIN,KAAA,QAAA,SAAA,EAAA,QAAA,mDADF,WAAA,uBAAa,EAAC,CAAA,sBAAA,kBAA0B,EAAC,CAAA,qBAAA,CAAA,EAAA,EAAA,sBAJtC,WAAA,wBAAc,sBAAO,CAAC,QAAA,KAAI,CAAA;;IAQ7B,UAAA,2DAEL,KAAA;;KAFiB,8CAAO,GAAE,CAAC,GAAE,SAAA,SAAA,CAAA;4BACvB,KAAA,QAAA,UAAA"}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6EA,MAAM,QAAQ;EAWd,MAAM,OAAO;EACb,MAAM,2BAAiB;EAEvB,MAAM,iBAAiB,EAAE,aAA2C;EAEpE,MAAM,EAAE,MAAM,yBAAU;EACxB,MAAM,KAAK,6BAAa,WAAU;EAElC,MAAM,+BAA0C;GAC9C,SAAS,EAAE;GACX,YAAY;GACZ,OAAO;GACP,mBAAmB;GACpB,CAAA;EAED,MAAM,aAAa,sCAAc,MAAK;EAEtC,MAAM,EACJ,cACA,gBACA,iBACA,2BACE,2BAAS,OAAO,YAAY,KAAI;EAEpC,MAAM,qCACE,CAAC,sBAAQ,WAAW,MAAM,IAAI,sBAAQ,aAAa,MAAK,CAChE;EAEA,MAAM,oCAA2B,CAAC,sBAAQ,MAAM,SAAU,CAAC,GAAG,SAAS,CAAA;EAEvE,MAAM,EAAE,SAAS,YAAY,0BAAiB,WAAU;AAExD,WAAa,EAEX,OACD,CAAA;;4DAnEO,OAAA,EAvDA,8CAAO,GAAE,CAAC,EAAC,QAAA,CAAA;gCAaX,KAAA,EAZA,8CAAO,GAAE,CAAC,GAAE,SAAA,SAAA,CAAA,yCAWA,2BAAA,EAAA;gCATH,WAAU;+FAAV,WAAU,QAAA,SAAA;KAClB,8BAAe,gBAAe;KAC9B,kBAAgB;KAChB,yBAAQ,uBAAsB;;qCAEiC,6BAAA,QAAA,EAAzD,8CAAO,GAAE,CAAC,GAAE,SAAA,eAAA,CAAA,6BAA8B,QAAA,MAAK,EAAA,EAAA,8BAG/C,QAAA,EAFA,8CAAO,GAAE,CAAC,GAAE,SAAA,eAAA,CAAA,4CACd,eAAc,CAAA,EAAA,EAAA;;;;;;;gCAyCjB,OAAA,EApCA,+BAAK,gBAAG,GAAE,CAAC,GAAE,SAAA,OAAA,iBAAmB,GAAE,CAAC,GAAE,eAAgB,UAAA,MAAS,CAAA,CAAA;KAE1D,QAAA,wEAQN,wBAAA,EAAA;;iCAPS,MAAK;2FAAL,MAAK,QAAA,SAAA;MACb,8CAAO,GAAE,CAAC,GAAE,SAAA,SAAA,CAAA;MACb,MAAK;MACJ,aAAa,QAAA;MACb,8BAAa,+BAAM;MACpB,WAAA;MACC,kBAAgB;;;;;;;iEAkBC,gCAAA,EAAA;iCAdT,QAAO;6FAAP,QAAO,QAAA,SAAA;MACf,kBAAgB;MAChB,+BAAK,gBAAG,GAAE,CAAC,GAAE,cAAe,QAAA,WAAU,iBAAG,GAAE,CAAC,GAAE,SAAA,OAAA,CAAA,CAAA;;sCAGjB,wDAQhB,cAAA,yCARG,aAAY,GAApB,SAAI;wEAQC,2BAAA,EAAA;QAPX,KAAK,oBAAK,WAAU,CAAC;QACrB,8CAAO,GAAE,CAAC,GAAE,SAAA,OAAA,CAAA;QACZ,OAAO,oBAAK,WAAU,CAAC;QACvB,UAAU,oBAAK,WAAU,CAAC;QAC1B,kBAAgB;;wCAEgC,sBAAA,eAAA,EAAhC,QAAQ,QAAA,eAAe,KAAI;;;;;;;;;mDAbrC,WAAA,SAAU,gBAAK,sBAAO,CAAC,QAAA,KAAI,CAAA;yDAuBhC,OAAA,EALH,8CAAO,GAAE,CAAC,GAAE,SAAA,QAAA,CAAA,yBAIN,KAAA,QAAA,SAAA,EAAA,QAAA,mDADF,WAAA,uBAAa,EAAC,CAAA,sBAAA,kBAA0B,EAAC,CAAA,qBAAA,CAAA,EAAA,EAAA,sBAJtC,WAAA,wBAAc,sBAAO,CAAC,QAAA,KAAI,CAAA;;IAQ7B,UAAA,2DAEL,KAAA;;KAFiB,8CAAO,GAAE,CAAC,GAAE,SAAA,SAAA,CAAA;4BACvB,KAAA,QAAA,UAAA"}
@@ -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>\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 { TransferPanelProps, TransferPanelState } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransferPanel',\n})\n\nconst props = withDefaults(defineProps<TransferPanelProps>(), {\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 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":""}
@@ -3,13 +3,14 @@ import { Mutable } from "../../../utils/typescript.js";
3
3
  import "../../../utils/index.js";
4
4
  import { _default } from "./transfer.vue.js";
5
5
  import * as vue from "vue";
6
- import { ExtractPublicPropTypes, VNode, h } from "vue";
6
+ import { ComponentInstance, ExtractPublicPropTypes, VNode, h } from "vue";
7
+ import { ComponentExposed } from "vue-component-type-helpers";
7
8
 
8
9
  //#region ../../packages/components/transfer/src/transfer.d.ts
9
10
  type TransferKey = string | number;
10
11
  type TransferDirection = 'left' | 'right';
11
12
  type TransferDataItem = Record<string, any>;
12
- type renderContent = (h: typeof h, option: TransferDataItem) => VNode | VNode[];
13
+ type renderContent<T extends TransferDataItem = TransferDataItem> = (h: typeof h, option: T) => VNode | VNode[];
13
14
  interface TransferFormat {
14
15
  noChecked?: string;
15
16
  hasChecked?: string;
@@ -25,11 +26,11 @@ interface TransferCheckedState {
25
26
  }
26
27
  declare const LEFT_CHECK_CHANGE_EVENT = "left-check-change";
27
28
  declare const RIGHT_CHECK_CHANGE_EVENT = "right-check-change";
28
- interface TransferProps {
29
+ interface TransferProps<T extends TransferDataItem = TransferDataItem> {
29
30
  /**
30
31
  * @description data source
31
32
  */
32
- data?: TransferDataItem[];
33
+ data?: T[];
33
34
  /**
34
35
  * @description custom list titles
35
36
  */
@@ -45,7 +46,7 @@ interface TransferProps {
45
46
  /**
46
47
  * @description custom filter method
47
48
  */
48
- filterMethod?: (query: string, item: TransferDataItem) => boolean;
49
+ filterMethod?: (query: string, item: T) => boolean;
49
50
  /**
50
51
  * @description key array of initially checked data items of the left list
51
52
  */
@@ -57,7 +58,7 @@ interface TransferProps {
57
58
  /**
58
59
  * @description custom render function for data items
59
60
  */
60
- renderContent?: renderContent;
61
+ renderContent?: renderContent<T>;
61
62
  /**
62
63
  * @description binding value
63
64
  */
@@ -100,7 +101,7 @@ declare const transferProps: {
100
101
  readonly leftDefaultChecked: EpPropFinalized<(new (...args: any[]) => TransferKey[]) | (() => TransferKey[]) | (((new (...args: any[]) => TransferKey[]) | (() => TransferKey[])) | null)[], unknown, unknown, () => never[], boolean>;
101
102
  readonly rightDefaultChecked: EpPropFinalized<(new (...args: any[]) => TransferKey[]) | (() => TransferKey[]) | (((new (...args: any[]) => TransferKey[]) | (() => TransferKey[])) | null)[], unknown, unknown, () => never[], boolean>;
102
103
  readonly renderContent: {
103
- readonly type: vue.PropType<renderContent>;
104
+ readonly type: vue.PropType<renderContent<TransferDataItem>>;
104
105
  readonly required: false;
105
106
  readonly validator: ((val: unknown) => boolean) | undefined;
106
107
  __epPropKey: true;
@@ -128,6 +129,6 @@ declare const transferEmits: {
128
129
  "right-check-change": (value: TransferKey[], movedKeys?: TransferKey[]) => boolean;
129
130
  };
130
131
  type TransferEmits = typeof transferEmits;
131
- type TransferInstance = InstanceType<typeof _default> & unknown;
132
+ type TransferInstance = ComponentInstance<typeof _default> & ComponentExposed<typeof _default>;
132
133
  //#endregion
133
134
  export { LEFT_CHECK_CHANGE_EVENT, RIGHT_CHECK_CHANGE_EVENT, TransferCheckedState, TransferDataItem, TransferDirection, TransferEmits, TransferFormat, TransferInstance, TransferKey, TransferProps, TransferPropsAlias, TransferPropsPublic, renderContent, transferCheckedChangeFn, transferEmits, transferProps };
@@ -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 { ExtractPublicPropTypes, h as H, VNode } from 'vue'\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 = (\n h: typeof H,\n option: TransferDataItem\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 {\n /**\n * @description data source\n */\n data?: TransferDataItem[]\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: TransferDataItem) => 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\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 = InstanceType<typeof Transfer> & unknown\n"],"mappings":";;;;;;;;;AAsCA,MAAa,0BAA0B;AACvC,MAAa,2BAA2B;;;;AAgExC,MAAa,gBAAgBA,6BAAW;CAItC,MAAM;EACJ,MAAMC,iCAAmC,MAAM;EAC/C,eAAe,EAAE;EAClB;CAID,QAAQ;EACN,MAAMA,iCAAiC,MAAM;EAC7C,eAAe,EAAE;EAClB;CAID,aAAa;EACX,MAAMA,iCAAiC,MAAM;EAC7C,eAAe,EAAE;EAClB;CAID,mBAAmB;CAInB,cAAc,EACZ,MAAMA,iCACJ,SACD,EACF;CAID,oBAAoB;EAClB,MAAMA,iCAA8B,MAAM;EAC1C,eAAe,EAAE;EAClB;CAID,qBAAqB;EACnB,MAAMA,iCAA8B,MAAM;EAC1C,eAAe,EAAE;EAClB;CAID,eAAe,EACb,MAAMA,iCAA8B,SAAS,EAC9C;CAID,YAAY;EACV,MAAMA,iCAA8B,MAAM;EAC1C,eAAe,EAAE;EAClB;CAID,QAAQ;EACN,MAAMA,iCAA+B,OAAO;EAC5C,gBAAgB,EAAE;EACnB;CAID,YAAY;CAIZ,OAAO;EACL,MAAMA,iCAAmC,OAAO;EAChD,eACEC,2BAAQ;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,oBAAQ,6BAAa,MAAM,8BAAU,UAAU;AAE7E,MAAa,gBAAgB;EAC1BC,8BACC,OACA,WACA,cAEA,CAAC,OAAO,UAAU,CAAC,MAAMD,oBAAQ,IAAI,CAAC,QAAQ,QAAQ,CAAC,SAAS,UAAU;EAC3EE,oCAAsB,mCAAiC,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\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,6BAAW;CAItC,MAAM;EACJ,MAAMC,iCAAmC,MAAM;EAC/C,eAAe,EAAE;EAClB;CAID,QAAQ;EACN,MAAMA,iCAAiC,MAAM;EAC7C,eAAe,EAAE;EAClB;CAID,aAAa;EACX,MAAMA,iCAAiC,MAAM;EAC7C,eAAe,EAAE;EAClB;CAID,mBAAmB;CAInB,cAAc,EACZ,MAAMA,iCACJ,SACD,EACF;CAID,oBAAoB;EAClB,MAAMA,iCAA8B,MAAM;EAC1C,eAAe,EAAE;EAClB;CAID,qBAAqB;EACnB,MAAMA,iCAA8B,MAAM;EAC1C,eAAe,EAAE;EAClB;CAID,eAAe,EACb,MAAMA,iCAA8B,SAAS,EAC9C;CAID,YAAY;EACV,MAAMA,iCAA8B,MAAM;EAC1C,eAAe,EAAE;EAClB;CAID,QAAQ;EACN,MAAMA,iCAA+B,OAAO;EAC5C,gBAAgB,EAAE;EACnB;CAID,YAAY;CAIZ,OAAO;EACL,MAAMA,iCAAmC,OAAO;EAChD,eACEC,2BAAQ;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,oBAAQ,6BAAa,MAAM,8BAAU,UAAU;AAE7E,MAAa,gBAAgB;EAC1BC,8BACC,OACA,WACA,cAEA,CAAC,OAAO,UAAU,CAAC,MAAMD,oBAAQ,IAAI,CAAC,QAAQ,QAAQ,CAAC,SAAS,UAAU;EAC3EE,oCAAsB,mCAAiC,MAAM;EAC7D,0BAA0B;EAC1B,2BAA2B;CAC7B"}
@@ -1,50 +1,40 @@
1
- import { TransferDataItem, TransferDirection, TransferFormat, TransferKey, TransferProps, TransferPropsAlias } from "./transfer.js";
1
+ import { TransferDataItem, TransferDirection, TransferKey, TransferProps } from "./transfer.js";
2
2
  import { TransferPanelInstance } from "./transfer-panel.js";
3
3
  import * as vue from "vue";
4
+ import { VNode } from "vue";
4
5
 
5
6
  //#region ../../packages/components/transfer/src/transfer.vue.d.ts
6
- declare var __VLS_12: {}, __VLS_14: {}, __VLS_65: {}, __VLS_67: {};
7
- type __VLS_Slots = {} & {
8
- 'left-empty'?: (props: typeof __VLS_12) => any;
9
- } & {
10
- 'left-footer'?: (props: typeof __VLS_14) => any;
11
- } & {
12
- 'right-empty'?: (props: typeof __VLS_65) => any;
13
- } & {
14
- 'right-footer'?: (props: typeof __VLS_67) => any;
15
- };
16
- declare const __VLS_base: vue.DefineComponent<TransferProps, {
17
- /** @description clear the filter keyword of a certain panel */clearQuery: (which: TransferDirection) => void; /** @description left panel ref */
18
- leftPanel: vue.Ref<TransferPanelInstance | undefined, TransferPanelInstance | undefined>; /** @description right panel ref */
19
- rightPanel: vue.Ref<TransferPanelInstance | undefined, TransferPanelInstance | undefined>;
20
- }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
21
- "update:modelValue": (value: TransferKey[]) => void;
22
- change: (value: TransferKey[], direction: TransferDirection, movedKeys: TransferKey[]) => void;
23
- "left-check-change": (value: TransferKey[], movedKeys?: TransferKey[] | undefined) => void;
24
- "right-check-change": (value: TransferKey[], movedKeys?: TransferKey[] | undefined) => void;
25
- }, string, vue.PublicProps, Readonly<TransferProps> & Readonly<{
26
- onChange?: ((value: TransferKey[], direction: TransferDirection, movedKeys: TransferKey[]) => any) | undefined;
27
- "onUpdate:modelValue"?: ((value: TransferKey[]) => any) | undefined;
28
- "onLeft-check-change"?: ((value: TransferKey[], movedKeys?: TransferKey[] | undefined) => any) | undefined;
29
- "onRight-check-change"?: ((value: TransferKey[], movedKeys?: TransferKey[] | undefined) => any) | undefined;
30
- }>, {
31
- props: TransferPropsAlias;
32
- modelValue: TransferKey[];
33
- validateEvent: boolean;
34
- data: TransferDataItem[];
35
- format: TransferFormat;
36
- titles: [string, string];
37
- buttonTexts: [string, string];
38
- leftDefaultChecked: TransferKey[];
39
- rightDefaultChecked: TransferKey[];
40
- targetOrder: "original" | "push" | "unshift";
41
- }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
42
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
43
- declare const _default: typeof __VLS_export;
44
- type __VLS_WithSlots<T, S> = T & {
45
- new (): {
46
- $slots: S;
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
+ props: vue.PublicProps & __VLS_PrettifyLocal<TransferProps<T> & {
9
+ onChange?: ((value: TransferKey[], direction: TransferDirection, movedKeys: TransferKey[]) => any) | undefined;
10
+ "onUpdate:modelValue"?: ((value: TransferKey[]) => any) | undefined;
11
+ "onLeft-check-change"?: ((value: TransferKey[], movedKeys?: TransferKey[] | undefined) => any) | undefined;
12
+ "onRight-check-change"?: ((value: TransferKey[], movedKeys?: TransferKey[] | undefined) => any) | undefined;
13
+ }> & (typeof globalThis extends {
14
+ __VLS_PROPS_FALLBACK: infer P;
15
+ } ? P : {});
16
+ expose: (exposed: vue.ShallowUnwrapRef<{
17
+ /** @description clear the filter keyword of a certain panel */clearQuery: (which: TransferDirection) => void; /** @description left panel ref */
18
+ leftPanel: vue.Ref<TransferPanelInstance | undefined, TransferPanelInstance | undefined>; /** @description right panel ref */
19
+ rightPanel: vue.Ref<TransferPanelInstance | undefined, TransferPanelInstance | undefined>;
20
+ }>) => void;
21
+ attrs: any;
22
+ slots: {
23
+ default?: (props: {
24
+ option: T;
25
+ }) => VNode[];
26
+ 'left-empty'?: () => VNode[];
27
+ 'left-footer'?: () => VNode[];
28
+ 'right-empty'?: () => VNode[];
29
+ 'right-footer'?: () => VNode[];
47
30
  };
31
+ emit: ((event: "change", value: TransferKey[], direction: TransferDirection, movedKeys: TransferKey[]) => void) & ((event: "update:modelValue", value: TransferKey[]) => void) & ((event: "left-check-change", value: TransferKey[], movedKeys?: TransferKey[] | undefined) => void) & ((event: "right-check-change", value: TransferKey[], movedKeys?: TransferKey[] | undefined) => void);
32
+ }>) => VNode<vue.RendererNode, vue.RendererElement, {
33
+ [key: string]: any;
34
+ }> & {
35
+ __ctx?: Awaited<typeof __VLS_setup>;
48
36
  };
37
+ declare const _default: typeof __VLS_export;
38
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
49
39
  //#endregion
50
40
  export { _default };
@@ -21,7 +21,78 @@ const _hoisted_2 = { key: 0 };
21
21
  var transfer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
22
22
  name: "ElTransfer",
23
23
  __name: "transfer",
24
- props: require_transfer.transferProps,
24
+ props: {
25
+ data: {
26
+ type: Array,
27
+ required: false,
28
+ default: () => []
29
+ },
30
+ titles: {
31
+ type: Array,
32
+ required: false,
33
+ default: () => []
34
+ },
35
+ buttonTexts: {
36
+ type: Array,
37
+ required: false,
38
+ default: () => []
39
+ },
40
+ filterPlaceholder: {
41
+ type: String,
42
+ required: false
43
+ },
44
+ filterMethod: {
45
+ type: Function,
46
+ required: false
47
+ },
48
+ leftDefaultChecked: {
49
+ type: Array,
50
+ required: false,
51
+ default: () => []
52
+ },
53
+ rightDefaultChecked: {
54
+ type: Array,
55
+ required: false,
56
+ default: () => []
57
+ },
58
+ renderContent: {
59
+ type: Function,
60
+ required: false
61
+ },
62
+ modelValue: {
63
+ type: Array,
64
+ required: false,
65
+ default: () => []
66
+ },
67
+ format: {
68
+ type: Object,
69
+ required: false,
70
+ default: () => ({})
71
+ },
72
+ filterable: {
73
+ type: Boolean,
74
+ required: false
75
+ },
76
+ props: {
77
+ type: Object,
78
+ required: false,
79
+ default: () => ({
80
+ label: "label",
81
+ key: "key",
82
+ disabled: "disabled"
83
+ })
84
+ },
85
+ targetOrder: {
86
+ type: String,
87
+ required: false,
88
+ default: "original"
89
+ },
90
+ validateEvent: {
91
+ type: Boolean,
92
+ required: false,
93
+ default: true
94
+ }
95
+ },
25
96
  emits: require_transfer.transferEmits,
26
97
  setup(__props, { expose: __expose, emit: __emit }) {
27
98
  const props = __props;
@@ -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>\nimport { Comment, computed, h, reactive, ref, useSlots, watch } from 'vue'\nimport { debugWarn, 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 {\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>(), {\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 = useSlots()\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((err) => debugWarn(err))\n }\n }\n)\n\nconst optionRender = computed(() => (option: TransferDataItem) => {\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":";;;;;;;;;;;;;;;;;;;;;;;;;;EA0FA,MAAM,QAAQ;EAgBd,MAAM,OAAO;EACb,MAAM,2BAAiB;EAEvB,MAAM,EAAE,MAAM,yBAAU;EACxB,MAAM,KAAK,6BAAa,WAAU;EAClC,MAAM,EAAE,aAAa,mCAAY;EAEjC,MAAM,iCAA8C;GAClD,aAAa,EAAE;GACf,cAAc,EAAE;GACjB,CAAA;EAED,MAAM,aAAa,sCAAc,MAAK;EAEtC,MAAM,EAAE,YAAY,eAAe,0CAAgB,MAAK;EAExD,MAAM,EAAE,uBAAuB,0BAA0B,4CACvD,cACA,KACF;EAEA,MAAM,EAAE,WAAW,eAAe,yBAAQ,OAAO,cAAc,KAAI;EAEnE,MAAM,0BAAuC;EAC7C,MAAM,2BAAwC;EAE9C,MAAM,cAAc,UAA6B;AAC/C,WAAQ,OAAR;IACE,KAAK;AACH,eAAU,MAAO,QAAQ;AACzB;IACF,KAAK;AACH,gBAAW,MAAO,QAAQ;AAC1B;;;EAIN,MAAM,yCAAgC,MAAM,YAAY,WAAW,EAAC;EAEpE,MAAM,yCACE,MAAM,OAAO,MAAM,EAAE,uBAAsB,CACnD;EAEA,MAAM,0CACE,MAAM,OAAO,MAAM,EAAE,uBAAsB,CACnD;EAEA,MAAM,iDACE,MAAM,qBAAqB,EAAE,gCAA+B,CACpE;AAEA,uBACQ,MAAM,kBACN;AACJ,OAAI,MAAM,cACR,WAAU,WAAW,SAAS,CAAC,OAAO,QAAQ,wBAAU,IAAI,CAAA;IAGlE;EAEA,MAAM,wCAA+B,WAA6B;AAChE,OAAI,MAAM,cAAe,QAAO,MAAM,cAAc,OAAG,OAAM;GAE7D,MAAM,qBAAqB,MAAM,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,QAC3D,SAAS,KAAK,SAAS,YAC1B;AACA,OAAI,kBAAkB,OACpB,QAAO;AAGT,qBACE,QACA,OAAO,WAAW,MAAM,UAAU,OAAO,WAAW,MAAM,KAC5D;IACD;AAED,WAAa;GAEX;GAEA;GAEA;GACD,CAAA;;4DAnIO,OAAA,EAzDA,8CAAO,GAAE,CAAC,GAAC,CAAA;yBAkBE,gCAAA;cAhBX;KAAJ,KAAI;KACH,qBAAM,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,gCAAgB,sBAAA;;KAEN,8BACiB,qBAAA,KAAA,QAAA,aAAA;qCAED,qBAAA,KAAA,QAAA,cAAA;;;;;;;;;;;;;;gCAqBvB,OAAA,EAnBA,8CAAO,GAAE,CAAC,EAAC,UAAA,CAAA,yCASH,yBAAA,EAAA;KAPV,MAAK;KACJ,+BAAK,gBAAG,GAAE,CAAC,EAAC,SAAA,iBAAY,GAAE,CAAC,GAAE,cAAe,eAAA,MAAc,CAAA,CAAA;KAC1D,yBAAU,sBAAO,CAAC,aAAa,aAAY;KAC3C,wBAAO,UAAA;;qCAEyB,qCAAA,uBAAA,EAAA,MAAA;sCAAV,qCAAA,kCAAA,CAAA;;yBACV,0BAAW,CAAC,QAAA,YAAW,GAAA,sDAAiC,QAAA,qCAAxB,QAAA,YAAW,GAAA,EAAA,EAAA;;;;;;4CAU9C,yBAAA,EAAA;KAPV,MAAK;KACJ,+BAAK,gBAAG,GAAE,CAAC,EAAC,SAAA,iBAAY,GAAE,CAAC,GAAE,cAAe,eAAA,MAAc,CAAA,CAAA;KAC1D,yBAAU,sBAAO,CAAC,aAAa,YAAW;KAC1C,wBAAO,WAAA;;qCAE6D,iBAAxD,0BAAW,CAAC,QAAA,YAAW,GAAA,sDAAiC,QAAA,qCAAxB,QAAA,YAAW,GAAA,EAAA,EAAA,mFACtB,uBAAA,EAAA,MAAA;sCAAV,qCAAA,mCAAA,CAAA;;;;;;;;;yBAoBX,gCAAA;cAhBX;KAAJ,KAAI;KACH,qBAAM,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,gCAAgB,sBAAA;;KAEN,8BACkB,qBAAA,KAAA,QAAA,cAAA;qCAED,qBAAA,KAAA,QAAA,eAAA"}
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 { debugWarn, 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((err) => debugWarn(err))\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,2BAAQ;EAQd,MAAM,EAAE,MAAM,yBAAU;EACxB,MAAM,KAAK,6BAAa,WAAU;EAClC,MAAM,EAAE,aAAa,mCAAY;EAEjC,MAAM,iCAA8C;GAClD,aAAa,EAAE;GACf,cAAc,EAAE;GACjB,CAAA;EAED,MAAM,aAAa,sCAAc,MAAK;EAEtC,MAAM,EAAE,YAAY,eAAe,0CAAgB,MAAK;EAExD,MAAM,EAAE,uBAAuB,0BAA0B,4CACvD,cACA,KACF;EAEA,MAAM,EAAE,WAAW,eAAe,yBAAQ,OAAO,cAAc,KAAI;EAEnE,MAAM,0BAAuC;EAC7C,MAAM,2BAAwC;EAE9C,MAAM,cAAc,UAA6B;AAC/C,WAAQ,OAAR;IACE,KAAK;AACH,eAAU,MAAO,QAAQ;AACzB;IACF,KAAK;AACH,gBAAW,MAAO,QAAQ;AAC1B;;;EAIN,MAAM,yCAAgC,MAAM,YAAY,WAAW,EAAC;EAEpE,MAAM,yCACE,MAAM,OAAO,MAAM,EAAE,uBAAsB,CACnD;EAEA,MAAM,0CACE,MAAM,OAAO,MAAM,EAAE,uBAAsB,CACnD;EAEA,MAAM,iDACE,MAAM,qBAAqB,EAAE,gCAA+B,CACpE;AAEA,uBACQ,MAAM,kBACN;AACJ,OAAI,MAAM,cACR,WAAU,WAAW,SAAS,CAAC,OAAO,QAAQ,wBAAU,IAAI,CAAA;IAGlE;EAEA,MAAM,wCAA+B,WAAc;AACjD,OAAI,MAAM,cAAe,QAAO,MAAM,cAAc,OAAG,OAAM;GAE7D,MAAM,qBAAqB,MAAM,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,QAC3D,SAAS,KAAK,SAAS,YAC1B;AACA,OAAI,kBAAkB,OACpB,QAAO;AAGT,qBACE,QACA,OAAO,WAAW,MAAM,UAAU,OAAO,WAAW,MAAM,KAC5D;IACD;AAED,WAAa;GAEX;GAEA;GAEA;GACD,CAAA;;4DA1IO,OAAA,EAzDA,8CAAO,GAAE,CAAC,GAAC,CAAA;yBAkBE,gCAAA;cAhBX;KAAJ,KAAI;KACH,qBAAM,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,gCAAgB,sBAAqB;;KAE3B,8BACiB,qBAAA,KAAA,QAAA,aAAA;qCAED,qBAAA,KAAA,QAAA,cAAA;;;;;;;;;;;;;;gCAqBvB,OAAA,EAnBA,8CAAO,GAAE,CAAC,EAAC,UAAA,CAAA,yCASH,yBAAA,EAAA;KAPV,MAAK;KACJ,+BAAK,gBAAG,GAAE,CAAC,EAAC,SAAA,iBAAY,GAAE,CAAC,GAAE,cAAe,eAAA,MAAc,CAAA,CAAA;KAC1D,yBAAU,sBAAO,CAAC,aAAa,aAAY;KAC3C,wBAAO,UAAS;;qCAEgB,qCAAA,uBAAA,EAAA,MAAA;sCAAV,qCAAA,kCAAA,CAAA;;yBACV,0BAAW,CAAC,QAAA,YAAW,GAAA,sDAAiC,QAAA,qCAAxB,QAAA,YAAW,GAAA,EAAA,EAAA;;;;;;4CAU9C,yBAAA,EAAA;KAPV,MAAK;KACJ,+BAAK,gBAAG,GAAE,CAAC,EAAC,SAAA,iBAAY,GAAE,CAAC,GAAE,cAAe,eAAA,MAAc,CAAA,CAAA;KAC1D,yBAAU,sBAAO,CAAC,aAAa,YAAW;KAC1C,wBAAO,WAAU;;qCAEmD,iBAAxD,0BAAW,CAAC,QAAA,YAAW,GAAA,sDAAiC,QAAA,qCAAxB,QAAA,YAAW,GAAA,EAAA,EAAA,mFACtB,uBAAA,EAAA,MAAA;sCAAV,qCAAA,mCAAA,CAAA;;;;;;;;;yBAoBX,gCAAA;cAhBX;KAAJ,KAAI;KACH,qBAAM,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,gCAAgB,sBAAqB;;KAE3B,8BACkB,qBAAA,KAAA,QAAA,cAAA;qCAED,qBAAA,KAAA,QAAA,eAAA"}
@@ -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>\nimport { Comment, computed, h, reactive, ref, useSlots, watch } from 'vue'\nimport { debugWarn, 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 {\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>(), {\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 = useSlots()\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((err) => debugWarn(err))\n }\n }\n)\n\nconst optionRender = computed(() => (option: TransferDataItem) => {\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 @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 { debugWarn, 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((err) => debugWarn(err))\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":""}