@element-plus/nightly 0.0.20250224 → 0.0.20250226

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 (684) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +46 -34
  4. package/dist/index.full.min.js +13 -13
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +13 -13
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +46 -34
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lt.js +1 -1
  142. package/dist/locale/lt.min.js +1 -1
  143. package/dist/locale/lt.min.mjs +1 -1
  144. package/dist/locale/lt.mjs +1 -1
  145. package/dist/locale/lv.js +1 -1
  146. package/dist/locale/lv.min.js +1 -1
  147. package/dist/locale/lv.min.mjs +1 -1
  148. package/dist/locale/lv.mjs +1 -1
  149. package/dist/locale/mg.js +1 -1
  150. package/dist/locale/mg.min.js +1 -1
  151. package/dist/locale/mg.min.mjs +1 -1
  152. package/dist/locale/mg.mjs +1 -1
  153. package/dist/locale/mn.js +1 -1
  154. package/dist/locale/mn.min.js +1 -1
  155. package/dist/locale/mn.min.mjs +1 -1
  156. package/dist/locale/mn.mjs +1 -1
  157. package/dist/locale/ms.js +1 -1
  158. package/dist/locale/ms.min.js +1 -1
  159. package/dist/locale/ms.min.mjs +1 -1
  160. package/dist/locale/ms.mjs +1 -1
  161. package/dist/locale/my.js +1 -1
  162. package/dist/locale/my.min.js +1 -1
  163. package/dist/locale/my.min.mjs +1 -1
  164. package/dist/locale/my.mjs +1 -1
  165. package/dist/locale/nb-no.js +1 -1
  166. package/dist/locale/nb-no.min.js +1 -1
  167. package/dist/locale/nb-no.min.mjs +1 -1
  168. package/dist/locale/nb-no.mjs +1 -1
  169. package/dist/locale/nl.js +1 -1
  170. package/dist/locale/nl.min.js +1 -1
  171. package/dist/locale/nl.min.mjs +1 -1
  172. package/dist/locale/nl.mjs +1 -1
  173. package/dist/locale/no.js +1 -1
  174. package/dist/locale/no.min.js +1 -1
  175. package/dist/locale/no.min.mjs +1 -1
  176. package/dist/locale/no.mjs +1 -1
  177. package/dist/locale/pa.js +1 -1
  178. package/dist/locale/pa.min.js +1 -1
  179. package/dist/locale/pa.min.mjs +1 -1
  180. package/dist/locale/pa.mjs +1 -1
  181. package/dist/locale/pl.js +1 -1
  182. package/dist/locale/pl.min.js +1 -1
  183. package/dist/locale/pl.min.mjs +1 -1
  184. package/dist/locale/pl.mjs +1 -1
  185. package/dist/locale/pt-br.js +1 -1
  186. package/dist/locale/pt-br.min.js +1 -1
  187. package/dist/locale/pt-br.min.mjs +1 -1
  188. package/dist/locale/pt-br.mjs +1 -1
  189. package/dist/locale/pt.js +1 -1
  190. package/dist/locale/pt.min.js +1 -1
  191. package/dist/locale/pt.min.mjs +1 -1
  192. package/dist/locale/pt.mjs +1 -1
  193. package/dist/locale/ro.js +1 -1
  194. package/dist/locale/ro.min.js +1 -1
  195. package/dist/locale/ro.min.mjs +1 -1
  196. package/dist/locale/ro.mjs +1 -1
  197. package/dist/locale/ru.js +1 -1
  198. package/dist/locale/ru.min.js +1 -1
  199. package/dist/locale/ru.min.mjs +1 -1
  200. package/dist/locale/ru.mjs +1 -1
  201. package/dist/locale/sk.js +1 -1
  202. package/dist/locale/sk.min.js +1 -1
  203. package/dist/locale/sk.min.mjs +1 -1
  204. package/dist/locale/sk.mjs +1 -1
  205. package/dist/locale/sl.js +1 -1
  206. package/dist/locale/sl.min.js +1 -1
  207. package/dist/locale/sl.min.mjs +1 -1
  208. package/dist/locale/sl.mjs +1 -1
  209. package/dist/locale/sr.js +1 -1
  210. package/dist/locale/sr.min.js +1 -1
  211. package/dist/locale/sr.min.mjs +1 -1
  212. package/dist/locale/sr.mjs +1 -1
  213. package/dist/locale/sv.js +1 -1
  214. package/dist/locale/sv.min.js +1 -1
  215. package/dist/locale/sv.min.mjs +1 -1
  216. package/dist/locale/sv.mjs +1 -1
  217. package/dist/locale/sw.js +1 -1
  218. package/dist/locale/sw.min.js +1 -1
  219. package/dist/locale/sw.min.mjs +1 -1
  220. package/dist/locale/sw.mjs +1 -1
  221. package/dist/locale/ta.js +1 -1
  222. package/dist/locale/ta.min.js +1 -1
  223. package/dist/locale/ta.min.mjs +1 -1
  224. package/dist/locale/ta.mjs +1 -1
  225. package/dist/locale/te.js +1 -1
  226. package/dist/locale/te.min.js +1 -1
  227. package/dist/locale/te.min.mjs +1 -1
  228. package/dist/locale/te.mjs +1 -1
  229. package/dist/locale/th.js +1 -1
  230. package/dist/locale/th.min.js +1 -1
  231. package/dist/locale/th.min.mjs +1 -1
  232. package/dist/locale/th.mjs +1 -1
  233. package/dist/locale/tk.js +1 -1
  234. package/dist/locale/tk.min.js +1 -1
  235. package/dist/locale/tk.min.mjs +1 -1
  236. package/dist/locale/tk.mjs +1 -1
  237. package/dist/locale/tr.js +1 -1
  238. package/dist/locale/tr.min.js +1 -1
  239. package/dist/locale/tr.min.mjs +1 -1
  240. package/dist/locale/tr.mjs +1 -1
  241. package/dist/locale/ug-cn.js +1 -1
  242. package/dist/locale/ug-cn.min.js +1 -1
  243. package/dist/locale/ug-cn.min.mjs +1 -1
  244. package/dist/locale/ug-cn.mjs +1 -1
  245. package/dist/locale/uk.js +1 -1
  246. package/dist/locale/uk.min.js +1 -1
  247. package/dist/locale/uk.min.mjs +1 -1
  248. package/dist/locale/uk.mjs +1 -1
  249. package/dist/locale/uz-uz.js +1 -1
  250. package/dist/locale/uz-uz.min.js +1 -1
  251. package/dist/locale/uz-uz.min.mjs +1 -1
  252. package/dist/locale/uz-uz.mjs +1 -1
  253. package/dist/locale/vi.js +1 -1
  254. package/dist/locale/vi.min.js +1 -1
  255. package/dist/locale/vi.min.mjs +1 -1
  256. package/dist/locale/vi.mjs +1 -1
  257. package/dist/locale/zh-cn.js +1 -1
  258. package/dist/locale/zh-cn.min.js +1 -1
  259. package/dist/locale/zh-cn.min.mjs +1 -1
  260. package/dist/locale/zh-cn.mjs +1 -1
  261. package/dist/locale/zh-hk.js +1 -1
  262. package/dist/locale/zh-hk.min.js +1 -1
  263. package/dist/locale/zh-hk.min.mjs +1 -1
  264. package/dist/locale/zh-hk.mjs +1 -1
  265. package/dist/locale/zh-mo.js +1 -1
  266. package/dist/locale/zh-mo.min.js +1 -1
  267. package/dist/locale/zh-mo.min.mjs +1 -1
  268. package/dist/locale/zh-mo.mjs +1 -1
  269. package/dist/locale/zh-tw.js +1 -1
  270. package/dist/locale/zh-tw.min.js +1 -1
  271. package/dist/locale/zh-tw.min.mjs +1 -1
  272. package/dist/locale/zh-tw.mjs +1 -1
  273. package/es/components/alert/index.mjs +2 -2
  274. package/es/components/alert/src/alert.mjs +89 -36
  275. package/es/components/alert/src/alert.mjs.map +1 -1
  276. package/es/components/alert/src/alert2.mjs +36 -89
  277. package/es/components/alert/src/alert2.mjs.map +1 -1
  278. package/es/components/avatar/index.mjs +2 -2
  279. package/es/components/avatar/src/avatar.mjs +65 -31
  280. package/es/components/avatar/src/avatar.mjs.map +1 -1
  281. package/es/components/avatar/src/avatar2.mjs +31 -65
  282. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  283. package/es/components/button/index.mjs +1 -1
  284. package/es/components/button/src/button-group.mjs +29 -6
  285. package/es/components/button/src/button-group.mjs.map +1 -1
  286. package/es/components/button/src/button-group2.mjs +6 -29
  287. package/es/components/button/src/button-group2.mjs.map +1 -1
  288. package/es/components/carousel/index.mjs +2 -2
  289. package/es/components/carousel/src/carousel-item.mjs +69 -7
  290. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  291. package/es/components/carousel/src/carousel-item2.mjs +7 -69
  292. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  293. package/es/components/cascader/src/cascader.mjs +1 -1
  294. package/es/components/check-tag/index.mjs +2 -2
  295. package/es/components/check-tag/src/check-tag.mjs +14 -38
  296. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  297. package/es/components/check-tag/src/check-tag2.mjs +38 -14
  298. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  299. package/es/components/checkbox/index.mjs +2 -2
  300. package/es/components/checkbox/src/checkbox-button.mjs +1 -1
  301. package/es/components/checkbox/src/checkbox.mjs +119 -59
  302. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  303. package/es/components/checkbox/src/checkbox2.mjs +59 -119
  304. package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
  305. package/es/components/col/index.mjs +2 -2
  306. package/es/components/col/src/col.mjs +43 -64
  307. package/es/components/col/src/col.mjs.map +1 -1
  308. package/es/components/col/src/col2.mjs +64 -43
  309. package/es/components/col/src/col2.mjs.map +1 -1
  310. package/es/components/collapse/index.mjs +2 -2
  311. package/es/components/collapse/src/collapse-item.mjs +18 -90
  312. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  313. package/es/components/collapse/src/collapse-item2.mjs +90 -18
  314. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  315. package/es/components/collection/index.mjs +1 -1
  316. package/es/components/collection/src/collection.mjs +10 -62
  317. package/es/components/collection/src/collection.mjs.map +1 -1
  318. package/es/components/collection/src/collection2.mjs +62 -10
  319. package/es/components/collection/src/collection2.mjs.map +1 -1
  320. package/es/components/dialog/index.mjs +2 -2
  321. package/es/components/dialog/src/dialog.mjs +171 -67
  322. package/es/components/dialog/src/dialog.mjs.map +1 -1
  323. package/es/components/dialog/src/dialog2.mjs +67 -171
  324. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  325. package/es/components/drawer/src/drawer.mjs +1 -1
  326. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  327. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  328. package/es/components/dropdown/src/dropdown.mjs +1 -1
  329. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  330. package/es/components/form/index.mjs +2 -2
  331. package/es/components/form/src/form-item.mjs +319 -47
  332. package/es/components/form/src/form-item.mjs.map +1 -1
  333. package/es/components/form/src/form-item2.mjs +47 -319
  334. package/es/components/form/src/form-item2.mjs.map +1 -1
  335. package/es/components/image/index.mjs +2 -2
  336. package/es/components/image/src/image.mjs +68 -242
  337. package/es/components/image/src/image.mjs.map +1 -1
  338. package/es/components/image/src/image2.mjs +222 -68
  339. package/es/components/image/src/image2.mjs.map +1 -1
  340. package/es/components/image-viewer/src/image-viewer2.mjs +20 -0
  341. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  342. package/es/components/index.mjs +22 -22
  343. package/es/components/input/index.mjs +2 -2
  344. package/es/components/input/src/input.mjs +102 -431
  345. package/es/components/input/src/input.mjs.map +1 -1
  346. package/es/components/input/src/input2.mjs +431 -102
  347. package/es/components/input/src/input2.mjs.map +1 -1
  348. package/es/components/input-tag/src/input-tag.mjs +1 -1
  349. package/es/components/mention/src/mention-dropdown.mjs +166 -15
  350. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  351. package/es/components/mention/src/mention-dropdown2.mjs +15 -166
  352. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  353. package/es/components/mention/src/mention.mjs +1 -1
  354. package/es/components/mention/src/mention2.mjs +2 -2
  355. package/es/components/message/index.mjs +1 -1
  356. package/es/components/message/src/message.mjs +145 -91
  357. package/es/components/message/src/message.mjs.map +1 -1
  358. package/es/components/message/src/message2.mjs +91 -145
  359. package/es/components/message/src/message2.mjs.map +1 -1
  360. package/es/components/message/src/method.mjs +2 -2
  361. package/es/components/notification/index.mjs +1 -1
  362. package/es/components/notification/src/notification.mjs +68 -142
  363. package/es/components/notification/src/notification.mjs.map +1 -1
  364. package/es/components/notification/src/notification2.mjs +142 -68
  365. package/es/components/notification/src/notification2.mjs.map +1 -1
  366. package/es/components/notification/src/notify.mjs +2 -2
  367. package/es/components/popper/index.mjs +2 -2
  368. package/es/components/popper/src/trigger.mjs +127 -31
  369. package/es/components/popper/src/trigger.mjs.map +1 -1
  370. package/es/components/popper/src/trigger2.mjs +31 -127
  371. package/es/components/popper/src/trigger2.mjs.map +1 -1
  372. package/es/components/roving-focus-group/index.mjs +3 -3
  373. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  374. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -27
  375. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  376. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -27
  377. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  378. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  379. package/es/components/scrollbar/index.mjs +2 -2
  380. package/es/components/scrollbar/src/bar.mjs +64 -10
  381. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  382. package/es/components/scrollbar/src/bar2.mjs +10 -64
  383. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  384. package/es/components/scrollbar/src/scrollbar.mjs +170 -55
  385. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  386. package/es/components/scrollbar/src/scrollbar2.mjs +55 -170
  387. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  388. package/es/components/select/index.mjs +1 -1
  389. package/es/components/select/src/select.mjs +113 -429
  390. package/es/components/select/src/select.mjs.map +1 -1
  391. package/es/components/select/src/select2.mjs +429 -113
  392. package/es/components/select/src/select2.mjs.map +1 -1
  393. package/es/components/select-v2/src/defaults.mjs +1 -1
  394. package/es/components/select-v2/src/select.vue.d.ts +1 -1
  395. package/es/components/select-v2/src/useSelect.d.ts +1 -1
  396. package/es/components/select-v2/src/useSelect.mjs +16 -12
  397. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  398. package/es/components/skeleton/index.mjs +2 -2
  399. package/es/components/skeleton/src/skeleton.mjs +48 -21
  400. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  401. package/es/components/skeleton/src/skeleton2.mjs +21 -48
  402. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  403. package/es/components/steps/index.mjs +2 -2
  404. package/es/components/steps/src/item.mjs +190 -19
  405. package/es/components/steps/src/item.mjs.map +1 -1
  406. package/es/components/steps/src/item2.mjs +19 -190
  407. package/es/components/steps/src/item2.mjs.map +1 -1
  408. package/es/components/tag/index.mjs +2 -2
  409. package/es/components/tag/src/tag.mjs +99 -27
  410. package/es/components/tag/src/tag.mjs.map +1 -1
  411. package/es/components/tag/src/tag2.mjs +27 -99
  412. package/es/components/tag/src/tag2.mjs.map +1 -1
  413. package/es/components/teleport/index.mjs +2 -2
  414. package/es/components/teleport/src/teleport.mjs +18 -8
  415. package/es/components/teleport/src/teleport.mjs.map +1 -1
  416. package/es/components/teleport/src/teleport2.mjs +8 -18
  417. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  418. package/es/components/tooltip/src/trigger.mjs +1 -1
  419. package/es/components/tooltip/src/trigger2.mjs +1 -1
  420. package/es/components/tooltip-v2/index.mjs +1 -1
  421. package/es/components/tooltip-v2/src/content2.mjs +1 -1
  422. package/es/components/tooltip-v2/src/root.mjs +79 -17
  423. package/es/components/tooltip-v2/src/root.mjs.map +1 -1
  424. package/es/components/tooltip-v2/src/root2.mjs +17 -79
  425. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  426. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  427. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  428. package/es/components/tour/index.mjs +1 -1
  429. package/es/components/tour/src/content.mjs +43 -67
  430. package/es/components/tour/src/content.mjs.map +1 -1
  431. package/es/components/tour/src/content2.mjs +67 -43
  432. package/es/components/tour/src/content2.mjs.map +1 -1
  433. package/es/components/tour/src/step.mjs +1 -1
  434. package/es/components/tour/src/tour.mjs +1 -1
  435. package/es/components/tour/src/tour2.mjs +1 -1
  436. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  437. package/es/components/transfer/src/transfer-panel.mjs +130 -19
  438. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  439. package/es/components/transfer/src/transfer-panel2.mjs +19 -130
  440. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  441. package/es/components/transfer/src/transfer2.mjs +1 -1
  442. package/es/components/tree/src/tree-node.mjs +1 -1
  443. package/es/components/tree/src/tree-node.mjs.map +1 -1
  444. package/es/components/tree/src/tree.mjs +4 -0
  445. package/es/components/tree/src/tree.mjs.map +1 -1
  446. package/es/components/tree/src/tree.type.d.ts +1 -0
  447. package/es/components/tree/src/tree.vue.d.ts +9 -0
  448. package/es/components/tree-v2/src/composables/useTree.mjs +1 -1
  449. package/es/components/tree-v2/src/composables/useTree.mjs.map +1 -1
  450. package/es/components/tree-v2/src/tree.vue.d.ts +3 -0
  451. package/es/components/tree-v2/src/virtual-tree.d.ts +1 -0
  452. package/es/components/tree-v2/src/virtual-tree.mjs +4 -0
  453. package/es/components/tree-v2/src/virtual-tree.mjs.map +1 -1
  454. package/es/components/upload/index.mjs +2 -2
  455. package/es/components/upload/src/upload-content.mjs +33 -196
  456. package/es/components/upload/src/upload-content.mjs.map +1 -1
  457. package/es/components/upload/src/upload-content2.mjs +196 -33
  458. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  459. package/es/components/upload/src/upload-list.mjs +28 -173
  460. package/es/components/upload/src/upload-list.mjs.map +1 -1
  461. package/es/components/upload/src/upload-list2.mjs +173 -28
  462. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  463. package/es/components/upload/src/upload2.mjs +2 -2
  464. package/es/components/visual-hidden/index.mjs +3 -3
  465. package/es/components/visual-hidden/src/visual-hidden.mjs +35 -6
  466. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  467. package/es/components/visual-hidden/src/visual-hidden2.mjs +6 -35
  468. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  469. package/es/directives/click-outside/index.mjs +1 -1
  470. package/es/hooks/use-focus-controller/index.mjs +1 -1
  471. package/es/hooks/use-lockscreen/index.mjs +1 -1
  472. package/es/index.mjs +22 -22
  473. package/es/version.d.ts +1 -1
  474. package/es/version.mjs +1 -1
  475. package/es/version.mjs.map +1 -1
  476. package/lib/components/alert/index.js +2 -2
  477. package/lib/components/alert/src/alert.js +88 -37
  478. package/lib/components/alert/src/alert.js.map +1 -1
  479. package/lib/components/alert/src/alert2.js +37 -88
  480. package/lib/components/alert/src/alert2.js.map +1 -1
  481. package/lib/components/avatar/index.js +2 -2
  482. package/lib/components/avatar/src/avatar.js +65 -32
  483. package/lib/components/avatar/src/avatar.js.map +1 -1
  484. package/lib/components/avatar/src/avatar2.js +32 -65
  485. package/lib/components/avatar/src/avatar2.js.map +1 -1
  486. package/lib/components/button/index.js +1 -1
  487. package/lib/components/button/src/button-group.js +29 -6
  488. package/lib/components/button/src/button-group.js.map +1 -1
  489. package/lib/components/button/src/button-group2.js +6 -29
  490. package/lib/components/button/src/button-group2.js.map +1 -1
  491. package/lib/components/carousel/index.js +2 -2
  492. package/lib/components/carousel/src/carousel-item.js +69 -7
  493. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  494. package/lib/components/carousel/src/carousel-item2.js +7 -69
  495. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  496. package/lib/components/cascader/src/cascader.js +1 -1
  497. package/lib/components/check-tag/index.js +2 -2
  498. package/lib/components/check-tag/src/check-tag.js +15 -38
  499. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  500. package/lib/components/check-tag/src/check-tag2.js +38 -15
  501. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  502. package/lib/components/checkbox/index.js +2 -2
  503. package/lib/components/checkbox/src/checkbox-button.js +1 -1
  504. package/lib/components/checkbox/src/checkbox.js +119 -60
  505. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  506. package/lib/components/checkbox/src/checkbox2.js +60 -119
  507. package/lib/components/checkbox/src/checkbox2.js.map +1 -1
  508. package/lib/components/col/index.js +2 -2
  509. package/lib/components/col/src/col.js +43 -64
  510. package/lib/components/col/src/col.js.map +1 -1
  511. package/lib/components/col/src/col2.js +64 -43
  512. package/lib/components/col/src/col2.js.map +1 -1
  513. package/lib/components/collapse/index.js +2 -2
  514. package/lib/components/collapse/src/collapse-item.js +18 -90
  515. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  516. package/lib/components/collapse/src/collapse-item2.js +90 -18
  517. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  518. package/lib/components/collection/index.js +1 -1
  519. package/lib/components/collection/src/collection.js +9 -62
  520. package/lib/components/collection/src/collection.js.map +1 -1
  521. package/lib/components/collection/src/collection2.js +62 -9
  522. package/lib/components/collection/src/collection2.js.map +1 -1
  523. package/lib/components/dialog/index.js +2 -2
  524. package/lib/components/dialog/src/dialog.js +171 -68
  525. package/lib/components/dialog/src/dialog.js.map +1 -1
  526. package/lib/components/dialog/src/dialog2.js +68 -171
  527. package/lib/components/dialog/src/dialog2.js.map +1 -1
  528. package/lib/components/drawer/src/drawer.js +1 -1
  529. package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
  530. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  531. package/lib/components/dropdown/src/dropdown.js +1 -1
  532. package/lib/components/dropdown/src/dropdown2.js +1 -1
  533. package/lib/components/form/index.js +2 -2
  534. package/lib/components/form/src/form-item.js +323 -48
  535. package/lib/components/form/src/form-item.js.map +1 -1
  536. package/lib/components/form/src/form-item2.js +48 -323
  537. package/lib/components/form/src/form-item2.js.map +1 -1
  538. package/lib/components/image/index.js +2 -2
  539. package/lib/components/image/src/image.js +68 -241
  540. package/lib/components/image/src/image.js.map +1 -1
  541. package/lib/components/image/src/image2.js +221 -68
  542. package/lib/components/image/src/image2.js.map +1 -1
  543. package/lib/components/image-viewer/src/image-viewer2.js +20 -0
  544. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  545. package/lib/components/index.js +22 -22
  546. package/lib/components/input/index.js +2 -2
  547. package/lib/components/input/src/input.js +102 -430
  548. package/lib/components/input/src/input.js.map +1 -1
  549. package/lib/components/input/src/input2.js +430 -102
  550. package/lib/components/input/src/input2.js.map +1 -1
  551. package/lib/components/input-tag/src/input-tag.js +1 -1
  552. package/lib/components/mention/src/mention-dropdown.js +166 -16
  553. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  554. package/lib/components/mention/src/mention-dropdown2.js +16 -166
  555. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  556. package/lib/components/mention/src/mention.js +1 -1
  557. package/lib/components/mention/src/mention2.js +2 -2
  558. package/lib/components/message/index.js +1 -1
  559. package/lib/components/message/src/message.js +144 -93
  560. package/lib/components/message/src/message.js.map +1 -1
  561. package/lib/components/message/src/message2.js +93 -144
  562. package/lib/components/message/src/message2.js.map +1 -1
  563. package/lib/components/message/src/method.js +2 -2
  564. package/lib/components/notification/index.js +1 -1
  565. package/lib/components/notification/src/notification.js +69 -141
  566. package/lib/components/notification/src/notification.js.map +1 -1
  567. package/lib/components/notification/src/notification2.js +141 -69
  568. package/lib/components/notification/src/notification2.js.map +1 -1
  569. package/lib/components/notification/src/notify.js +2 -2
  570. package/lib/components/popper/index.js +2 -2
  571. package/lib/components/popper/src/trigger.js +127 -32
  572. package/lib/components/popper/src/trigger.js.map +1 -1
  573. package/lib/components/popper/src/trigger2.js +32 -127
  574. package/lib/components/popper/src/trigger2.js.map +1 -1
  575. package/lib/components/roving-focus-group/index.js +2 -2
  576. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  577. package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -31
  578. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  579. package/lib/components/roving-focus-group/src/roving-focus-group2.js +31 -27
  580. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  581. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  582. package/lib/components/scrollbar/index.js +2 -2
  583. package/lib/components/scrollbar/src/bar.js +64 -10
  584. package/lib/components/scrollbar/src/bar.js.map +1 -1
  585. package/lib/components/scrollbar/src/bar2.js +10 -64
  586. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  587. package/lib/components/scrollbar/src/scrollbar.js +170 -56
  588. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  589. package/lib/components/scrollbar/src/scrollbar2.js +56 -170
  590. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  591. package/lib/components/select/index.js +1 -1
  592. package/lib/components/select/src/select.js +113 -429
  593. package/lib/components/select/src/select.js.map +1 -1
  594. package/lib/components/select/src/select2.js +429 -113
  595. package/lib/components/select/src/select2.js.map +1 -1
  596. package/lib/components/select-v2/src/defaults.js +1 -1
  597. package/lib/components/select-v2/src/select.vue.d.ts +1 -1
  598. package/lib/components/select-v2/src/useSelect.d.ts +1 -1
  599. package/lib/components/select-v2/src/useSelect.js +15 -11
  600. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  601. package/lib/components/skeleton/index.js +2 -2
  602. package/lib/components/skeleton/src/skeleton.js +48 -21
  603. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  604. package/lib/components/skeleton/src/skeleton2.js +21 -48
  605. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  606. package/lib/components/steps/index.js +2 -2
  607. package/lib/components/steps/src/item.js +190 -19
  608. package/lib/components/steps/src/item.js.map +1 -1
  609. package/lib/components/steps/src/item2.js +19 -190
  610. package/lib/components/steps/src/item2.js.map +1 -1
  611. package/lib/components/tag/index.js +2 -2
  612. package/lib/components/tag/src/tag.js +99 -28
  613. package/lib/components/tag/src/tag.js.map +1 -1
  614. package/lib/components/tag/src/tag2.js +28 -99
  615. package/lib/components/tag/src/tag2.js.map +1 -1
  616. package/lib/components/teleport/index.js +2 -2
  617. package/lib/components/teleport/src/teleport.js +18 -8
  618. package/lib/components/teleport/src/teleport.js.map +1 -1
  619. package/lib/components/teleport/src/teleport2.js +8 -18
  620. package/lib/components/teleport/src/teleport2.js.map +1 -1
  621. package/lib/components/tooltip/src/trigger.js +1 -1
  622. package/lib/components/tooltip/src/trigger2.js +1 -1
  623. package/lib/components/tooltip-v2/index.js +1 -1
  624. package/lib/components/tooltip-v2/src/content2.js +1 -1
  625. package/lib/components/tooltip-v2/src/root.js +79 -17
  626. package/lib/components/tooltip-v2/src/root.js.map +1 -1
  627. package/lib/components/tooltip-v2/src/root2.js +17 -79
  628. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  629. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  630. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  631. package/lib/components/tour/index.js +1 -1
  632. package/lib/components/tour/src/content.js +46 -67
  633. package/lib/components/tour/src/content.js.map +1 -1
  634. package/lib/components/tour/src/content2.js +67 -46
  635. package/lib/components/tour/src/content2.js.map +1 -1
  636. package/lib/components/tour/src/step.js +1 -1
  637. package/lib/components/tour/src/tour.js +1 -1
  638. package/lib/components/tour/src/tour2.js +1 -1
  639. package/lib/components/transfer/src/composables/use-check.js +1 -1
  640. package/lib/components/transfer/src/transfer-panel.js +130 -21
  641. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  642. package/lib/components/transfer/src/transfer-panel2.js +21 -130
  643. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  644. package/lib/components/transfer/src/transfer2.js +1 -1
  645. package/lib/components/tree/src/tree-node.js +1 -1
  646. package/lib/components/tree/src/tree-node.js.map +1 -1
  647. package/lib/components/tree/src/tree.js +4 -0
  648. package/lib/components/tree/src/tree.js.map +1 -1
  649. package/lib/components/tree/src/tree.type.d.ts +1 -0
  650. package/lib/components/tree/src/tree.vue.d.ts +9 -0
  651. package/lib/components/tree-v2/src/composables/useTree.js +1 -1
  652. package/lib/components/tree-v2/src/composables/useTree.js.map +1 -1
  653. package/lib/components/tree-v2/src/tree.vue.d.ts +3 -0
  654. package/lib/components/tree-v2/src/virtual-tree.d.ts +1 -0
  655. package/lib/components/tree-v2/src/virtual-tree.js +4 -0
  656. package/lib/components/tree-v2/src/virtual-tree.js.map +1 -1
  657. package/lib/components/upload/index.js +2 -2
  658. package/lib/components/upload/src/upload-content.js +31 -194
  659. package/lib/components/upload/src/upload-content.js.map +1 -1
  660. package/lib/components/upload/src/upload-content2.js +194 -31
  661. package/lib/components/upload/src/upload-content2.js.map +1 -1
  662. package/lib/components/upload/src/upload-list.js +29 -173
  663. package/lib/components/upload/src/upload-list.js.map +1 -1
  664. package/lib/components/upload/src/upload-list2.js +173 -29
  665. package/lib/components/upload/src/upload-list2.js.map +1 -1
  666. package/lib/components/upload/src/upload2.js +2 -2
  667. package/lib/components/visual-hidden/index.js +2 -2
  668. package/lib/components/visual-hidden/src/visual-hidden.js +35 -6
  669. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  670. package/lib/components/visual-hidden/src/visual-hidden2.js +6 -35
  671. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  672. package/lib/directives/click-outside/index.js +1 -1
  673. package/lib/hooks/use-focus-controller/index.js +1 -1
  674. package/lib/hooks/use-lockscreen/index.js +1 -1
  675. package/lib/index.js +22 -22
  676. package/lib/version.d.ts +1 -1
  677. package/lib/version.js +1 -1
  678. package/lib/version.js.map +1 -1
  679. package/package.json +2 -2
  680. package/tags.json +1 -1
  681. package/theme-chalk/el-tabs.css +1 -1
  682. package/theme-chalk/index.css +1 -1
  683. package/theme-chalk/src/tabs.scss +1 -0
  684. package/web-types.json +1 -1
@@ -2,137 +2,28 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var index$2 = require('../../checkbox/index.js');
7
- var index$3 = require('../../input/index.js');
8
- var iconsVue = require('@element-plus/icons-vue');
9
- var transferPanel = require('./transfer-panel.js');
10
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
11
- var usePropsAlias = require('./composables/use-props-alias.js');
12
- var useCheck = require('./composables/use-check.js');
13
- var index = require('../../../hooks/use-locale/index.js');
14
- var index$1 = require('../../../hooks/use-namespace/index.js');
15
- var types = require('../../../utils/types.js');
5
+ var transfer = require('./transfer.js');
6
+ var runtime = require('../../../utils/vue/props/runtime.js');
16
7
 
17
- const __default__ = vue.defineComponent({
18
- name: "ElTransferPanel"
8
+ const CHECKED_CHANGE_EVENT = "checked-change";
9
+ const transferPanelProps = runtime.buildProps({
10
+ data: transfer.transferProps.data,
11
+ optionRender: {
12
+ type: runtime.definePropType(Function)
13
+ },
14
+ placeholder: String,
15
+ title: String,
16
+ filterable: Boolean,
17
+ format: transfer.transferProps.format,
18
+ filterMethod: transfer.transferProps.filterMethod,
19
+ defaultChecked: transfer.transferProps.leftDefaultChecked,
20
+ props: transfer.transferProps.props
19
21
  });
20
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
- ...__default__,
22
- props: transferPanel.transferPanelProps,
23
- emits: transferPanel.transferPanelEmits,
24
- setup(__props, { expose, emit }) {
25
- const props = __props;
26
- const slots = vue.useSlots();
27
- const OptionContent = ({ option }) => option;
28
- const { t } = index.useLocale();
29
- const ns = index$1.useNamespace("transfer");
30
- const panelState = vue.reactive({
31
- checked: [],
32
- allChecked: false,
33
- query: "",
34
- checkChangeByUser: true
35
- });
36
- const propsAlias = usePropsAlias.usePropsAlias(props);
37
- const {
38
- filteredData,
39
- checkedSummary,
40
- isIndeterminate,
41
- handleAllCheckedChange
42
- } = useCheck.useCheck(props, panelState, emit);
43
- const hasNoMatch = vue.computed(() => !types.isEmpty(panelState.query) && types.isEmpty(filteredData.value));
44
- const hasFooter = vue.computed(() => !types.isEmpty(slots.default()[0].children));
45
- const { checked, allChecked, query } = vue.toRefs(panelState);
46
- expose({
47
- query
48
- });
49
- return (_ctx, _cache) => {
50
- return vue.openBlock(), vue.createElementBlock("div", {
51
- class: vue.normalizeClass(vue.unref(ns).b("panel"))
52
- }, [
53
- vue.createElementVNode("p", {
54
- class: vue.normalizeClass(vue.unref(ns).be("panel", "header"))
55
- }, [
56
- vue.createVNode(vue.unref(index$2.ElCheckbox), {
57
- modelValue: vue.unref(allChecked),
58
- "onUpdate:modelValue": ($event) => vue.isRef(allChecked) ? allChecked.value = $event : null,
59
- indeterminate: vue.unref(isIndeterminate),
60
- "validate-event": false,
61
- onChange: vue.unref(handleAllCheckedChange)
62
- }, {
63
- default: vue.withCtx(() => [
64
- vue.createTextVNode(vue.toDisplayString(_ctx.title) + " ", 1),
65
- vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(checkedSummary)), 1)
66
- ]),
67
- _: 1
68
- }, 8, ["modelValue", "onUpdate:modelValue", "indeterminate", "onChange"])
69
- ], 2),
70
- vue.createElementVNode("div", {
71
- class: vue.normalizeClass([vue.unref(ns).be("panel", "body"), vue.unref(ns).is("with-footer", vue.unref(hasFooter))])
72
- }, [
73
- _ctx.filterable ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.ElInput), {
74
- key: 0,
75
- modelValue: vue.unref(query),
76
- "onUpdate:modelValue": ($event) => vue.isRef(query) ? query.value = $event : null,
77
- class: vue.normalizeClass(vue.unref(ns).be("panel", "filter")),
78
- size: "default",
79
- placeholder: _ctx.placeholder,
80
- "prefix-icon": vue.unref(iconsVue.Search),
81
- clearable: "",
82
- "validate-event": false
83
- }, null, 8, ["modelValue", "onUpdate:modelValue", "class", "placeholder", "prefix-icon"])) : vue.createCommentVNode("v-if", true),
84
- vue.withDirectives(vue.createVNode(vue.unref(index$2.ElCheckboxGroup), {
85
- modelValue: vue.unref(checked),
86
- "onUpdate:modelValue": ($event) => vue.isRef(checked) ? checked.value = $event : null,
87
- "validate-event": false,
88
- class: vue.normalizeClass([vue.unref(ns).is("filterable", _ctx.filterable), vue.unref(ns).be("panel", "list")])
89
- }, {
90
- default: vue.withCtx(() => [
91
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(filteredData), (item) => {
92
- return vue.openBlock(), vue.createBlock(vue.unref(index$2.ElCheckbox), {
93
- key: item[vue.unref(propsAlias).key],
94
- class: vue.normalizeClass(vue.unref(ns).be("panel", "item")),
95
- value: item[vue.unref(propsAlias).key],
96
- disabled: item[vue.unref(propsAlias).disabled],
97
- "validate-event": false
98
- }, {
99
- default: vue.withCtx(() => {
100
- var _a;
101
- return [
102
- vue.createVNode(OptionContent, {
103
- option: (_a = _ctx.optionRender) == null ? void 0 : _a.call(_ctx, item)
104
- }, null, 8, ["option"])
105
- ];
106
- }),
107
- _: 2
108
- }, 1032, ["class", "value", "disabled"]);
109
- }), 128))
110
- ]),
111
- _: 1
112
- }, 8, ["modelValue", "onUpdate:modelValue", "class"]), [
113
- [vue.vShow, !vue.unref(hasNoMatch) && !vue.unref(types.isEmpty)(_ctx.data)]
114
- ]),
115
- vue.withDirectives(vue.createElementVNode("div", {
116
- class: vue.normalizeClass(vue.unref(ns).be("panel", "empty"))
117
- }, [
118
- vue.renderSlot(_ctx.$slots, "empty", {}, () => [
119
- vue.createTextVNode(vue.toDisplayString(vue.unref(hasNoMatch) ? vue.unref(t)("el.transfer.noMatch") : vue.unref(t)("el.transfer.noData")), 1)
120
- ])
121
- ], 2), [
122
- [vue.vShow, vue.unref(hasNoMatch) || vue.unref(types.isEmpty)(_ctx.data)]
123
- ])
124
- ], 2),
125
- vue.unref(hasFooter) ? (vue.openBlock(), vue.createElementBlock("p", {
126
- key: 0,
127
- class: vue.normalizeClass(vue.unref(ns).be("panel", "footer"))
128
- }, [
129
- vue.renderSlot(_ctx.$slots, "default")
130
- ], 2)) : vue.createCommentVNode("v-if", true)
131
- ], 2);
132
- };
133
- }
134
- });
135
- var TransferPanel = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "transfer-panel.vue"]]);
22
+ const transferPanelEmits = {
23
+ [CHECKED_CHANGE_EVENT]: transfer.transferCheckedChangeFn
24
+ };
136
25
 
137
- exports["default"] = TransferPanel;
26
+ exports.CHECKED_CHANGE_EVENT = CHECKED_CHANGE_EVENT;
27
+ exports.transferPanelEmits = transferPanelEmits;
28
+ exports.transferPanelProps = transferPanelProps;
138
29
  //# sourceMappingURL=transfer-panel2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transfer-panel2.js","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 {{ title }}\n <span>{{ checkedSummary }}</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 } 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, transferPanelProps } from './transfer-panel'\nimport { useCheck, usePropsAlias } from './composables'\n\nimport type { VNode } from 'vue'\nimport type { TransferPanelState } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransferPanel',\n})\n\nconst props = defineProps(transferPanelProps)\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"],"names":["useSlots","useLocale","useNamespace","reactive","usePropsAlias","useCheck","computed","isEmpty","toRefs","_openBlock","_createElementBlock","_normalizeClass","_unref"],"mappings":";;;;;;;;;;;;;;;;uCAsEc,CAAA;AAAA,EACZ,IAAM,EAAA,iBAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAA,MAAM,QAAQA,YAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,aAAgB,GAAA,CAAC,EAAE,MAAA,EAA2C,KAAA,MAAA,CAAA;AAEpE,IAAM,MAAA,EAAE,CAAE,EAAA,GAAIC,eAAU,EAAA,CAAA;AACxB,IAAM,MAAA,EAAA,GAAKC,qBAAa,UAAU,CAAA,CAAA;AAElC,IAAA,MAAM,aAAaC,YAA6B,CAAA;AAAA,MAC9C,SAAS,EAAC;AAAA,MACV,UAAY,EAAA,KAAA;AAAA,MACZ,KAAO,EAAA,EAAA;AAAA,MACP,iBAAmB,EAAA,IAAA;AAAA,KACpB,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAaC,4BAAc,KAAK,CAAA,CAAA;AAEtC,IAAM,MAAA;AAAA,MACJ,YAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,MACA,sBAAA;AAAA,KACE,GAAAC,iBAAA,CAAS,KAAO,EAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAEpC,IAAA,MAAM,UAAa,GAAAC,YAAA,CAAA,MAAA,CAAAC,aAAA,CAAA,UAAA,CAAA,KAAA,CAAA,IAAAA,aAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IACjB,MAAA,SAAe,GAAAD,YAAA,CAAA,MAAgB,CAAKC,aAAA,CAAA,iBAAqB,CAAK,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,IAChE,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,KAAA,EAAA,GAAAC,UAAA,CAAA,UAAA,CAAA,CAAA;AAEA,IAAM,MAAA,CAAA;AAEN,MAAA;AAEA,KAAa,CAAA,CAAA;AAAA,IAAA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MAEX,OAAAC,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;AAAA,QACD,KAAA,EAAAC,kBAAA,CAAAC,SAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"transfer-panel2.js","sources":["../../../../../../packages/components/transfer/src/transfer-panel.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { transferCheckedChangeFn, transferProps } from './transfer'\n\nimport type { ExtractPropTypes, VNode } from 'vue'\nimport type { TransferDataItem, TransferKey } 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 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)\nexport type TransferPanelProps = ExtractPropTypes<typeof transferPanelProps>\n\nexport const transferPanelEmits = {\n [CHECKED_CHANGE_EVENT]: transferCheckedChangeFn,\n}\nexport type TransferPanelEmits = typeof transferPanelEmits\n\nexport type TransferPanelInstance = InstanceType<typeof TransferPanel>\n"],"names":["buildProps","transferProps","definePropType","transferCheckedChangeFn"],"mappings":";;;;;;;AAEY,MAAC,oBAAoB,GAAG,iBAAiB;AACzC,MAAC,kBAAkB,GAAGA,kBAAU,CAAC;AAC7C,EAAE,IAAI,EAAEC,sBAAa,CAAC,IAAI;AAC1B,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAEC,sBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,MAAM,EAAED,sBAAa,CAAC,MAAM;AAC9B,EAAE,YAAY,EAAEA,sBAAa,CAAC,YAAY;AAC1C,EAAE,cAAc,EAAEA,sBAAa,CAAC,kBAAkB;AAClD,EAAE,KAAK,EAAEA,sBAAa,CAAC,KAAK;AAC5B,CAAC,EAAE;AACS,MAAC,kBAAkB,GAAG;AAClC,EAAE,CAAC,oBAAoB,GAAGE,gCAAuB;AACjD;;;;;;"}
@@ -7,7 +7,7 @@ var index$2 = require('../../button/index.js');
7
7
  var index$3 = require('../../icon/index.js');
8
8
  var iconsVue = require('@element-plus/icons-vue');
9
9
  var transfer = require('./transfer.js');
10
- var transferPanel = require('./transfer-panel2.js');
10
+ var transferPanel = require('./transfer-panel.js');
11
11
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
12
12
  var useComputedData = require('./composables/use-computed-data.js');
13
13
  var useMove = require('./composables/use-move.js');
@@ -127,7 +127,7 @@ const _sfc_main = vue.defineComponent({
127
127
  if (tree.props.expandOnClickNode) {
128
128
  handleExpandIconClick();
129
129
  }
130
- if (tree.props.checkOnClickNode && !props.node.disabled) {
130
+ if ((tree.props.checkOnClickNode || props.node.isLeaf && tree.props.checkOnClickLeaf) && !props.node.disabled) {
131
131
  handleCheckChange(!props.node.checked);
132
132
  }
133
133
  tree.ctx.emit("node-click", props.node.data, props.node, instance, e);
@@ -1 +1 @@
1
- {"version":3,"file":"tree-node.js","sources":["../../../../../../packages/components/tree/src/tree-node.vue"],"sourcesContent":["<template>\n <div\n v-show=\"node.visible\"\n ref=\"node$\"\n :class=\"[\n ns.b('node'),\n ns.is('expanded', expanded),\n ns.is('current', node.isCurrent),\n ns.is('hidden', !node.visible),\n ns.is('focusable', !node.disabled),\n ns.is('checked', !node.disabled && node.checked),\n getNodeClass(node),\n ]\"\n role=\"treeitem\"\n tabindex=\"-1\"\n :aria-expanded=\"expanded\"\n :aria-disabled=\"node.disabled\"\n :aria-checked=\"node.checked\"\n :draggable=\"tree.props.draggable\"\n :data-key=\"getNodeKey(node)\"\n @click.stop=\"handleClick\"\n @contextmenu=\"handleContextMenu\"\n @dragstart.stop=\"handleDragStart\"\n @dragover.stop=\"handleDragOver\"\n @dragend.stop=\"handleDragEnd\"\n @drop.stop=\"handleDrop\"\n >\n <div\n :class=\"ns.be('node', 'content')\"\n :style=\"{ paddingLeft: (node.level - 1) * tree.props.indent + 'px' }\"\n >\n <el-icon\n v-if=\"tree.props.icon || CaretRight\"\n :class=\"[\n ns.be('node', 'expand-icon'),\n ns.is('leaf', node.isLeaf),\n {\n expanded: !node.isLeaf && expanded,\n },\n ]\"\n @click.stop=\"handleExpandIconClick\"\n >\n <component :is=\"tree.props.icon || CaretRight\" />\n </el-icon>\n <el-checkbox\n v-if=\"showCheckbox\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"!!node.disabled\"\n @click.stop\n @change=\"handleCheckChange\"\n />\n <el-icon\n v-if=\"node.loading\"\n :class=\"[ns.be('node', 'loading-icon'), ns.is('loading')]\"\n >\n <loading />\n </el-icon>\n <node-content :node=\"node\" :render-content=\"renderContent\" />\n </div>\n <el-collapse-transition>\n <div\n v-if=\"!renderAfterExpand || childNodeRendered\"\n v-show=\"expanded\"\n :class=\"ns.be('node', 'children')\"\n role=\"group\"\n :aria-expanded=\"expanded\"\n >\n <el-tree-node\n v-for=\"child in node.childNodes\"\n :key=\"getNodeKey(child)\"\n :render-content=\"renderContent\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :node=\"child\"\n :accordion=\"accordion\"\n :props=\"props\"\n @node-expand=\"handleChildNodeExpand\"\n />\n </div>\n </el-collapse-transition>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { debugWarn, isFunction, isString } from '@element-plus/utils'\nimport ElCollapseTransition from '@element-plus/components/collapse-transition'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CaretRight, Loading } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport NodeContent from './tree-node-content.vue'\nimport { getNodeKey as getNodeKeyUtil, handleCurrentChange } from './model/util'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { dragEventsKey } from './model/useDragNode'\nimport Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType } from 'vue'\nimport type { RootTreeType, TreeNodeData, TreeOptionProps } from './tree.type'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\n\nexport default defineComponent({\n name: 'ElTreeNode',\n components: {\n ElCollapseTransition,\n ElCheckbox,\n NodeContent,\n ElIcon,\n Loading,\n },\n props: {\n node: {\n type: Node,\n default: () => ({}),\n },\n props: {\n type: Object as PropType<TreeOptionProps>,\n default: () => ({}),\n },\n accordion: Boolean,\n renderContent: Function,\n renderAfterExpand: Boolean,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['node-expand'],\n setup(props, ctx) {\n const ns = useNamespace('tree')\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n const tree = inject<RootTreeType>('RootTree')!\n const expanded = ref(false)\n const childNodeRendered = ref(false)\n const oldChecked = ref<boolean>()\n const oldIndeterminate = ref<boolean>()\n const node$ = ref<HTMLElement>()\n const dragEvents = inject(dragEventsKey)!\n const instance = getCurrentInstance()\n\n provide('NodeInstance', instance)\n if (!tree) {\n debugWarn('Tree', \"Can not find node's tree.\")\n }\n\n if (props.node.expanded) {\n expanded.value = true\n childNodeRendered.value = true\n }\n\n const childrenKey = tree.props.props['children'] || 'children'\n watch(\n () => {\n const children = props.node.data?.[childrenKey]\n return children && [...children]\n },\n () => {\n props.node.updateChildren()\n }\n )\n\n watch(\n () => props.node.indeterminate,\n (val) => {\n handleSelectChange(props.node.checked, val)\n }\n )\n\n watch(\n () => props.node.checked,\n (val) => {\n handleSelectChange(val, props.node.indeterminate)\n }\n )\n\n watch(\n () => props.node.childNodes.length,\n () => props.node.reInitChecked()\n )\n\n watch(\n () => props.node.expanded,\n (val) => {\n nextTick(() => (expanded.value = val))\n if (val) {\n childNodeRendered.value = true\n }\n }\n )\n\n const getNodeKey = (node: Node): any => {\n return getNodeKeyUtil(tree.props.nodeKey, node.data)\n }\n\n const getNodeClass = (node: Node) => {\n const nodeClassFunc = props.props.class\n if (!nodeClassFunc) {\n return {}\n }\n let className\n if (isFunction(nodeClassFunc)) {\n const { data } = node\n className = nodeClassFunc(data, node)\n } else {\n className = nodeClassFunc\n }\n\n if (isString(className)) {\n return { [className]: true }\n } else {\n return className\n }\n }\n\n const handleSelectChange = (checked: boolean, indeterminate: boolean) => {\n if (\n oldChecked.value !== checked ||\n oldIndeterminate.value !== indeterminate\n ) {\n tree.ctx.emit('check-change', props.node.data, checked, indeterminate)\n }\n oldChecked.value = checked\n oldIndeterminate.value = indeterminate\n }\n\n const handleClick = (e: MouseEvent) => {\n handleCurrentChange(tree.store, tree.ctx.emit, () => {\n const nodeKeyProp = tree?.props?.nodeKey\n if (nodeKeyProp) {\n const curNodeKey = getNodeKey(props.node)\n tree.store.value.setCurrentNodeKey(curNodeKey)\n } else {\n tree.store.value.setCurrentNode(props.node)\n }\n })\n tree.currentNode.value = props.node\n\n if (tree.props.expandOnClickNode) {\n handleExpandIconClick()\n }\n\n if (tree.props.checkOnClickNode && !props.node.disabled) {\n handleCheckChange(!props.node.checked)\n }\n tree.ctx.emit('node-click', props.node.data, props.node, instance, e)\n }\n\n const handleContextMenu = (event: Event) => {\n if (tree.instance.vnode.props?.['onNodeContextmenu']) {\n event.stopPropagation()\n event.preventDefault()\n }\n tree.ctx.emit(\n 'node-contextmenu',\n event,\n props.node.data,\n props.node,\n instance\n )\n }\n\n const handleExpandIconClick = () => {\n if (props.node.isLeaf) return\n if (expanded.value) {\n tree.ctx.emit('node-collapse', props.node.data, props.node, instance)\n props.node.collapse()\n } else {\n props.node.expand(() => {\n ctx.emit('node-expand', props.node.data, props.node, instance)\n })\n }\n }\n\n const handleCheckChange = (value: CheckboxValueType) => {\n props.node.setChecked(value as boolean, !tree?.props.checkStrictly)\n nextTick(() => {\n const store = tree.store.value\n tree.ctx.emit('check', props.node.data, {\n checkedNodes: store.getCheckedNodes(),\n checkedKeys: store.getCheckedKeys(),\n halfCheckedNodes: store.getHalfCheckedNodes(),\n halfCheckedKeys: store.getHalfCheckedKeys(),\n })\n })\n }\n\n const handleChildNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n tree.ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const handleDragStart = (event: DragEvent) => {\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragStart({ event, treeNode: props })\n }\n\n const handleDragOver = (event: DragEvent) => {\n event.preventDefault()\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragOver({\n event,\n treeNode: { $el: node$.value, node: props.node },\n })\n }\n\n const handleDrop = (event: DragEvent) => {\n event.preventDefault()\n }\n\n const handleDragEnd = (event: DragEvent) => {\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragEnd(event)\n }\n\n return {\n ns,\n node$,\n tree,\n expanded,\n childNodeRendered,\n oldChecked,\n oldIndeterminate,\n getNodeKey,\n getNodeClass,\n handleSelectChange,\n handleClick,\n handleContextMenu,\n handleExpandIconClick,\n handleCheckChange,\n handleChildNodeExpand,\n handleDragStart,\n handleDragOver,\n handleDrop,\n handleDragEnd,\n CaretRight,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCollapseTransition","ElCheckbox","NodeContent","ElIcon","Loading","Node","useNamespace","useNodeExpandEventBroadcast","inject","ref","dragEventsKey","getCurrentInstance","provide","debugWarn","watch","nextTick","getNodeKeyUtil","isFunction","isString","handleCurrentChange","CaretRight","_resolveComponent","_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_withModifiers","_createElementVNode","_normalizeStyle","_createBlock","_withCtx","_resolveDynamicComponent","_createCommentVNode","_createVNode","_Fragment","_renderList","_vShow","_export_sfc"],"mappings":"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"}
1
+ {"version":3,"file":"tree-node.js","sources":["../../../../../../packages/components/tree/src/tree-node.vue"],"sourcesContent":["<template>\n <div\n v-show=\"node.visible\"\n ref=\"node$\"\n :class=\"[\n ns.b('node'),\n ns.is('expanded', expanded),\n ns.is('current', node.isCurrent),\n ns.is('hidden', !node.visible),\n ns.is('focusable', !node.disabled),\n ns.is('checked', !node.disabled && node.checked),\n getNodeClass(node),\n ]\"\n role=\"treeitem\"\n tabindex=\"-1\"\n :aria-expanded=\"expanded\"\n :aria-disabled=\"node.disabled\"\n :aria-checked=\"node.checked\"\n :draggable=\"tree.props.draggable\"\n :data-key=\"getNodeKey(node)\"\n @click.stop=\"handleClick\"\n @contextmenu=\"handleContextMenu\"\n @dragstart.stop=\"handleDragStart\"\n @dragover.stop=\"handleDragOver\"\n @dragend.stop=\"handleDragEnd\"\n @drop.stop=\"handleDrop\"\n >\n <div\n :class=\"ns.be('node', 'content')\"\n :style=\"{ paddingLeft: (node.level - 1) * tree.props.indent + 'px' }\"\n >\n <el-icon\n v-if=\"tree.props.icon || CaretRight\"\n :class=\"[\n ns.be('node', 'expand-icon'),\n ns.is('leaf', node.isLeaf),\n {\n expanded: !node.isLeaf && expanded,\n },\n ]\"\n @click.stop=\"handleExpandIconClick\"\n >\n <component :is=\"tree.props.icon || CaretRight\" />\n </el-icon>\n <el-checkbox\n v-if=\"showCheckbox\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"!!node.disabled\"\n @click.stop\n @change=\"handleCheckChange\"\n />\n <el-icon\n v-if=\"node.loading\"\n :class=\"[ns.be('node', 'loading-icon'), ns.is('loading')]\"\n >\n <loading />\n </el-icon>\n <node-content :node=\"node\" :render-content=\"renderContent\" />\n </div>\n <el-collapse-transition>\n <div\n v-if=\"!renderAfterExpand || childNodeRendered\"\n v-show=\"expanded\"\n :class=\"ns.be('node', 'children')\"\n role=\"group\"\n :aria-expanded=\"expanded\"\n >\n <el-tree-node\n v-for=\"child in node.childNodes\"\n :key=\"getNodeKey(child)\"\n :render-content=\"renderContent\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :node=\"child\"\n :accordion=\"accordion\"\n :props=\"props\"\n @node-expand=\"handleChildNodeExpand\"\n />\n </div>\n </el-collapse-transition>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { debugWarn, isFunction, isString } from '@element-plus/utils'\nimport ElCollapseTransition from '@element-plus/components/collapse-transition'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CaretRight, Loading } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport NodeContent from './tree-node-content.vue'\nimport { getNodeKey as getNodeKeyUtil, handleCurrentChange } from './model/util'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { dragEventsKey } from './model/useDragNode'\nimport Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType } from 'vue'\nimport type { RootTreeType, TreeNodeData, TreeOptionProps } from './tree.type'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\n\nexport default defineComponent({\n name: 'ElTreeNode',\n components: {\n ElCollapseTransition,\n ElCheckbox,\n NodeContent,\n ElIcon,\n Loading,\n },\n props: {\n node: {\n type: Node,\n default: () => ({}),\n },\n props: {\n type: Object as PropType<TreeOptionProps>,\n default: () => ({}),\n },\n accordion: Boolean,\n renderContent: Function,\n renderAfterExpand: Boolean,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['node-expand'],\n setup(props, ctx) {\n const ns = useNamespace('tree')\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n const tree = inject<RootTreeType>('RootTree')!\n const expanded = ref(false)\n const childNodeRendered = ref(false)\n const oldChecked = ref<boolean>()\n const oldIndeterminate = ref<boolean>()\n const node$ = ref<HTMLElement>()\n const dragEvents = inject(dragEventsKey)!\n const instance = getCurrentInstance()\n\n provide('NodeInstance', instance)\n if (!tree) {\n debugWarn('Tree', \"Can not find node's tree.\")\n }\n\n if (props.node.expanded) {\n expanded.value = true\n childNodeRendered.value = true\n }\n\n const childrenKey = tree.props.props['children'] || 'children'\n watch(\n () => {\n const children = props.node.data?.[childrenKey]\n return children && [...children]\n },\n () => {\n props.node.updateChildren()\n }\n )\n\n watch(\n () => props.node.indeterminate,\n (val) => {\n handleSelectChange(props.node.checked, val)\n }\n )\n\n watch(\n () => props.node.checked,\n (val) => {\n handleSelectChange(val, props.node.indeterminate)\n }\n )\n\n watch(\n () => props.node.childNodes.length,\n () => props.node.reInitChecked()\n )\n\n watch(\n () => props.node.expanded,\n (val) => {\n nextTick(() => (expanded.value = val))\n if (val) {\n childNodeRendered.value = true\n }\n }\n )\n\n const getNodeKey = (node: Node): any => {\n return getNodeKeyUtil(tree.props.nodeKey, node.data)\n }\n\n const getNodeClass = (node: Node) => {\n const nodeClassFunc = props.props.class\n if (!nodeClassFunc) {\n return {}\n }\n let className\n if (isFunction(nodeClassFunc)) {\n const { data } = node\n className = nodeClassFunc(data, node)\n } else {\n className = nodeClassFunc\n }\n\n if (isString(className)) {\n return { [className]: true }\n } else {\n return className\n }\n }\n\n const handleSelectChange = (checked: boolean, indeterminate: boolean) => {\n if (\n oldChecked.value !== checked ||\n oldIndeterminate.value !== indeterminate\n ) {\n tree.ctx.emit('check-change', props.node.data, checked, indeterminate)\n }\n oldChecked.value = checked\n oldIndeterminate.value = indeterminate\n }\n\n const handleClick = (e: MouseEvent) => {\n handleCurrentChange(tree.store, tree.ctx.emit, () => {\n const nodeKeyProp = tree?.props?.nodeKey\n if (nodeKeyProp) {\n const curNodeKey = getNodeKey(props.node)\n tree.store.value.setCurrentNodeKey(curNodeKey)\n } else {\n tree.store.value.setCurrentNode(props.node)\n }\n })\n tree.currentNode.value = props.node\n\n if (tree.props.expandOnClickNode) {\n handleExpandIconClick()\n }\n\n if (\n (tree.props.checkOnClickNode ||\n (props.node.isLeaf && tree.props.checkOnClickLeaf)) &&\n !props.node.disabled\n ) {\n handleCheckChange(!props.node.checked)\n }\n tree.ctx.emit('node-click', props.node.data, props.node, instance, e)\n }\n\n const handleContextMenu = (event: Event) => {\n if (tree.instance.vnode.props?.['onNodeContextmenu']) {\n event.stopPropagation()\n event.preventDefault()\n }\n tree.ctx.emit(\n 'node-contextmenu',\n event,\n props.node.data,\n props.node,\n instance\n )\n }\n\n const handleExpandIconClick = () => {\n if (props.node.isLeaf) return\n if (expanded.value) {\n tree.ctx.emit('node-collapse', props.node.data, props.node, instance)\n props.node.collapse()\n } else {\n props.node.expand(() => {\n ctx.emit('node-expand', props.node.data, props.node, instance)\n })\n }\n }\n\n const handleCheckChange = (value: CheckboxValueType) => {\n props.node.setChecked(value as boolean, !tree?.props.checkStrictly)\n nextTick(() => {\n const store = tree.store.value\n tree.ctx.emit('check', props.node.data, {\n checkedNodes: store.getCheckedNodes(),\n checkedKeys: store.getCheckedKeys(),\n halfCheckedNodes: store.getHalfCheckedNodes(),\n halfCheckedKeys: store.getHalfCheckedKeys(),\n })\n })\n }\n\n const handleChildNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n tree.ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const handleDragStart = (event: DragEvent) => {\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragStart({ event, treeNode: props })\n }\n\n const handleDragOver = (event: DragEvent) => {\n event.preventDefault()\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragOver({\n event,\n treeNode: { $el: node$.value, node: props.node },\n })\n }\n\n const handleDrop = (event: DragEvent) => {\n event.preventDefault()\n }\n\n const handleDragEnd = (event: DragEvent) => {\n if (!tree.props.draggable) return\n dragEvents.treeNodeDragEnd(event)\n }\n\n return {\n ns,\n node$,\n tree,\n expanded,\n childNodeRendered,\n oldChecked,\n oldIndeterminate,\n getNodeKey,\n getNodeClass,\n handleSelectChange,\n handleClick,\n handleContextMenu,\n handleExpandIconClick,\n handleCheckChange,\n handleChildNodeExpand,\n handleDragStart,\n handleDragOver,\n handleDrop,\n handleDragEnd,\n CaretRight,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCollapseTransition","ElCheckbox","NodeContent","ElIcon","Loading","Node","useNamespace","useNodeExpandEventBroadcast","inject","ref","dragEventsKey","getCurrentInstance","provide","debugWarn","watch","nextTick","getNodeKeyUtil","isFunction","isString","handleCurrentChange","CaretRight","_resolveComponent","_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_withModifiers","_createElementVNode","_normalizeStyle","_createBlock","_withCtx","_resolveDynamicComponent","_createCommentVNode","_createVNode","_Fragment","_renderList","_vShow","_export_sfc"],"mappings":"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"}
@@ -39,6 +39,10 @@ const _sfc_main = vue.defineComponent({
39
39
  default: true
40
40
  },
41
41
  checkOnClickNode: Boolean,
42
+ checkOnClickLeaf: {
43
+ type: Boolean,
44
+ default: true
45
+ },
42
46
  checkDescendants: {
43
47
  type: Boolean,
44
48
  default: false
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n :class=\"[\n ns.b(),\n ns.is('dragging', !!dragState.draggingNode),\n ns.is('drop-not-allow', !dragState.allowDrop),\n ns.is('drop-inner', dragState.dropType === 'inner'),\n { [ns.m('highlight-current')]: highlightCurrent },\n ]\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" :class=\"ns.e('empty-block')\">\n <slot name=\"empty\">\n <span :class=\"ns.e('empty-text')\">\n {{ emptyText ?? t('el.tree.emptyText') }}\n </span>\n </slot>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n :class=\"ns.e('drop-indicator')\"\n />\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { iconPropType } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { formItemContextKey } from '@element-plus/components/form'\nimport { selectKey } from '@element-plus/components/select/src/token'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil, handleCurrentChange } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport type Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n TreeComponentProps,\n TreeData,\n TreeKey,\n TreeNodeData,\n} from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: {\n data: {\n type: Array,\n default: () => [],\n },\n emptyText: {\n type: String,\n },\n renderAfterExpand: {\n type: Boolean,\n default: true,\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true,\n },\n checkOnClickNode: Boolean,\n checkDescendants: {\n type: Boolean,\n default: false,\n },\n autoExpandParent: {\n type: Boolean,\n default: true,\n },\n defaultCheckedKeys: Array as PropType<\n TreeComponentProps['defaultCheckedKeys']\n >,\n defaultExpandedKeys: Array as PropType<\n TreeComponentProps['defaultExpandedKeys']\n >,\n currentNodeKey: [String, Number] as PropType<string | number>,\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n draggable: {\n type: Boolean,\n default: false,\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n type: Object as PropType<TreeComponentProps['props']>,\n default: () => ({\n children: 'children',\n label: 'label',\n disabled: 'disabled',\n }),\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n highlightCurrent: Boolean,\n load: Function as PropType<TreeComponentProps['load']>,\n filterNodeMethod: Function as PropType<\n TreeComponentProps['filterNodeMethod']\n >,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18,\n },\n icon: {\n type: iconPropType,\n },\n },\n emits: [\n 'check-change',\n 'current-change',\n 'node-click',\n 'node-contextmenu',\n 'node-collapse',\n 'node-expand',\n 'check',\n 'node-drag-start',\n 'node-drag-end',\n 'node-drop',\n 'node-drag-leave',\n 'node-drag-enter',\n 'node-drag-over',\n ],\n setup(props, ctx) {\n const { t } = useLocale()\n const ns = useNamespace('tree')\n const selectInfo = inject(selectKey, null)\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n const hasFilteredOptions = selectInfo\n ? selectInfo.hasFilteredOptions !== 0\n : false\n return (\n (!childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)) &&\n !hasFilteredOptions\n )\n })\n\n watch(\n () => props.currentNodeKey,\n (newVal) => {\n store.value.setCurrentNodeKey(newVal)\n }\n )\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal) => {\n store.value.setDefaultCheckedKey(newVal)\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.setDefaultExpandedKeys(newVal)\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getNodePath')\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly?: boolean,\n includeHalfChecked?: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly?: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = (): TreeNodeData => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): any => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getCurrentKey')\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedNodes')\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys: TreeKey[], leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedKeys')\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentNode')\n\n handleCurrentChange(store, ctx.emit, () => {\n broadcastExpanded(node)\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n })\n }\n\n const setCurrentKey = (key?: TreeKey, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentKey')\n\n handleCurrentChange(store, ctx.emit, () => {\n broadcastExpanded()\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n })\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData | Node\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData | Node\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in updateKeyChild')\n store.value.updateChildren(key, data)\n }\n\n provide('RootTree', {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance: getCurrentInstance(),\n } as any)\n\n provide(formItemContextKey, undefined)\n\n return {\n ns,\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElTreeNode","iconPropType","useLocale","useNamespace","inject","selectKey","ref","TreeStore","useNodeExpandEventBroadcast","useDragNodeHandler","useKeydown","computed","watch","getNodeKeyUtil","currentNode","handleCurrentChange","provide","getCurrentInstance","formItemContextKey","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createBlock","_renderSlot","_createElementVNode","_toDisplayString","_createCommentVNode","_withDirectives","_vShow","_export_sfc"],"mappings":";;;;;;;;;;;;;;;;;;AAqEA,MAAK,YAAaA,mBAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,QAAA;AAAA,EACN,UAAA,EAAY,cAAEC,mBAAW,EAAA;AAAA,EACzB,KAAO,EAAA;AAAA,IACL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,KAAA;AAAA,MACN,OAAA,EAAS,MAAM,EAAC;AAAA,KAClB;AAAA,IACA,SAAW,EAAA;AAAA,MACT,IAAM,EAAA,MAAA;AAAA,KACR;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,IAAA;AAAA,KACX;AAAA,IACA,OAAS,EAAA,MAAA;AAAA,IACT,aAAe,EAAA,OAAA;AAAA,IACf,gBAAkB,EAAA,OAAA;AAAA,IAClB,iBAAmB,EAAA;AAAA,MACjB,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,IAAA;AAAA,KACX;AAAA,IACA,gBAAkB,EAAA,OAAA;AAAA,IAClB,gBAAkB,EAAA;AAAA,MAChB,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,KAAA;AAAA,KACX;AAAA,IACA,gBAAkB,EAAA;AAAA,MAChB,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,IAAA;AAAA,KACX;AAAA,IACA,kBAAoB,EAAA,KAAA;AAAA,IAGpB,mBAAqB,EAAA,KAAA;AAAA,IAGrB,cAAA,EAAgB,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IAC/B,aAAe,EAAA,QAAA;AAAA,IACf,YAAc,EAAA;AAAA,MACZ,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,KAAA;AAAA,KACX;AAAA,IACA,SAAW,EAAA;AAAA,MACT,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,KAAA;AAAA,KACX;AAAA,IACA,SAAW,EAAA,QAAA;AAAA,IACX,SAAW,EAAA,QAAA;AAAA,IACX,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,MAAA;AAAA,MACN,SAAS,OAAO;AAAA,QACd,QAAU,EAAA,UAAA;AAAA,QACV,KAAO,EAAA,OAAA;AAAA,QACP,QAAU,EAAA,UAAA;AAAA,OACZ,CAAA;AAAA,KACF;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,KAAA;AAAA,KACX;AAAA,IACA,gBAAkB,EAAA,OAAA;AAAA,IAClB,IAAM,EAAA,QAAA;AAAA,IACN,gBAAkB,EAAA,QAAA;AAAA,IAGlB,SAAW,EAAA,OAAA;AAAA,IACX,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,IAAM,EAAAC,iBAAA;AAAA,KACR;AAAA,GACF;AAAA,EACA,KAAO,EAAA;AAAA,IACL,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,YAAA;AAAA,IACA,kBAAA;AAAA,IACA,eAAA;AAAA,IACA,aAAA;AAAA,IACA,OAAA;AAAA,IACA,iBAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAA;AAAA,IACA,iBAAA;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,GACF;AAAA,EACA,KAAA,CAAM,OAAO,GAAK,EAAA;AAChB,IAAM,MAAA,EAAE,CAAE,EAAA,GAAIC,eAAU,EAAA,CAAA;AACxB,IAAM,MAAA,EAAA,GAAKC,qBAAa,MAAM,CAAA,CAAA;AAC9B,IAAM,MAAA,UAAA,GAAaC,UAAO,CAAAC,eAAA,EAAW,IAAI,CAAA,CAAA;AAEzC,IAAA,MAAM,KAAQ,GAAAC,OAAA,CAAA,IAAAC,oBAAA,CAAA;AAAA,MACZ,KAAc,KAAA,CAAA,OAAA;AAAA,MAAA,WACD,CAAA,IAAA;AAAA,MAAA,WACC,CAAA,IAAA;AAAA,MAAA,YACA,CAAA,KAAA;AAAA,MAAA,WACC,CAAA,IAAA;AAAA,MAAA,cACD,EAAA,KAAA,CAAA,cAAA;AAAA,MAAA,oBACU,CAAA,aAAA;AAAA,MAAA,kBACD,KAAA,CAAA,gBAAA;AAAA,MAAA,oBACH,KAAM,CAAA,kBAAA;AAAA,MAAA,0BACE,CAAA,mBAAA;AAAA,MAAA,uBACL,CAAM,gBAAA;AAAA,MAAA,uBACH,CAAA,gBAAA;AAAA,MAAA,uBACA,CAAA,gBAAA;AAAA,KAAA,CAAA,CAAA,CACxB;AAAwB,IAAA,KACzB,CAAA,KAAA,CAAA,UAAA,EAAA,CAAA;AAAA,IACH,MAAA,IAAA,GAAAD,OAAA,CAAA,KAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AAEA,IAAA,MAAM,WAAiB,GAAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AAEvB,IAAA,MAAM,GAAO,GAAAA,OAAA,CAAA,IAAgB,CAAA,CAAA;AAC7B,IAAM,MAAA,cAAc,UAAc,CAAA,IAAA,CAAA,CAAA;AAClC,IAAM,MAAA,EAAA,iBAAqC,EAAA,GAAAE,uDAAA,CAAA,KAAA,CAAA,CAAA;AAC3C,IAAM,MAAA,EAAA,SAAA,EAAA,GAAAC,8BAAgD,CAAA;AAEtD,MAAA,KAAQ;AAER,MAAM,GAAA;AAAmC,MACvC,GAAA;AAAA,MACA,cAAA;AAAA,MACA,KAAA;AAAA,KACA,CAAA,CAAA;AAAA,IACAC,qBAAA,CAAA,EAAA,GAAA,EAAA,EAAA,KAAA,CAAA,CAAA;AAAA,IACF,MAAC,OAAA,GAAAC,YAAA,CAAA,MAAA;AAED,MAAW,MAAA,EAAA,UAAS,EAAK,GAAA,IAAA,CAAA,KAAA,CAAA;AAEzB,MAAM,MAAA,kBAAyB,GAAA,UAAA,GAAA,UAAA,CAAA,kBAAA,KAAA,CAAA,GAAA,KAAA,CAAA;AAC7B,MAAM,OAAA,CAAE,CAAW,UAAA,IAAI,UAAK,CAAA,MAAA,KAAA,CAAA,IAAA,UAAA,CAAA,KAAA,CAAA,CAAA,EAAA,OAAA,EAAA,KAAA,CAAA,OAAA,CAAA,KAAA,CAAA,kBAAA,CAAA;AAC5B,KAAA,CAAA,CAAA;AAGA,IAAAC,SAAA,CAAA,MACI,KAAA,CAAA,cACW,EAAA,CAAA,MAAA,KAAA;AAEZ,MAEJ,KAAA,CAAA,KAAA,CAAA,iBAAA,CAAA,MAAA,CAAA,CAAA;AAED,KAAA,CAAA,CAAA;AAAA,IAAAA,gBACc,KAAA,CAAA,kBAAA,EAAA,CAAA,MAAA,KAAA;AAAA,MACZ,KAAY,CAAA,KAAA,CAAA,oBAAA,CAAA,MAAA,CAAA,CAAA;AACV,KAAM,CAAA,CAAA;AAA8B,IACtCA,SAAA,CAAA,MAAA,KAAA,CAAA,mBAAA,EAAA,CAAA,MAAA,KAAA;AAAA,MACF,KAAA,CAAA,KAAA,CAAA,sBAAA,CAAA,MAAA,CAAA,CAAA;AAEA,KAAA,CAAA,CAAA;AAAA,IAAAA,gBACc,KAAA,CAAA,IAAA,EAAA,CAAA,MAAA,KAAA;AAAA,MACZ,KAAY,CAAA,KAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA;AACV,KAAM,EAAA,EAAA,IAAA,EAAA,IAAA;AAAiC,IACzCA,SAAA,CAAA,MAAA,KAAA,CAAA,aAAA,EAAA,CAAA,MAAA,KAAA;AAAA,MACF,KAAA,CAAA,KAAA,CAAA,aAAA,GAAA,MAAA,CAAA;AAEA,KAAA,CAAA,CAAA;AAAA,IAAA,YACc,GAAA,CAAA,KAAA,KAAA;AAAA,MACZ,IAAY,CAAA,KAAA,CAAA,gBAAA;AACV,QAAM,MAAA,IAAA,uDAAmC,CAAA,CAAA;AAAA,MAC3C,KAAA,CAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACF,CAAA;AAEA,IAAA,MAAA,UAAA,GAAA,CAAA,IAAA,KAAA;AAAA,MACE,OAAYC,eAAA,CAAA,KAAA,CAAA,OAAA,EAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AAAA,KAAA,CACZ;AACE,IAAM,MAAA,mBAAoB,KAAA;AAAA,MAC5B,IAAA,CAAA,KAAA,CAAA,OAAA;AAAA,QACE,MAAM,IAAK,KAAA,CAAA,2CAAA,CAAA,CAAA;AAAA,MACf,MAAA,IAAA,GAAA,KAAA,CAAA,KAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AAEA,MAAA,IAAA,CAAA,IAAA;AAAA,eACc,EAAA,CAAA;AAAA,MACZ,MAAY,IAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACV,MAAA,IAAA,aAA4B,CAAA,MAAA,CAAA;AAAA,MAC9B,OAAA,MAAA,IAAA,MAAA,KAAA,IAAA,CAAA,KAAA,EAAA;AAAA,QACF,IAAA,CAAA,IAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA;AAEA,QAAM,MAAA,GAAA,MAAoB,CAAA,MAAA,CAAA;AACxB,OAAA;AACE,MAAM,OAAA,IAAA,CAAI,OAAuD,EAAA,CAAA;AACnE,KAAM,CAAA;AAAkB,IAC1B,MAAA,eAAA,GAAA,CAAA,QAAA,EAAA,kBAAA,KAAA;AAEA,MAAM,OAAA,KAAA,CAAA,KAAc,CAAe,eAAA,CAAA,QAAA,EAAA,kBAAA,CAAA,CAAA;AACjC,KAAA,CAAA;AAA8C,IAChD,MAAA,cAAA,GAAA,CAAA,QAAA,KAAA;AAEA,MAAM,OAAA,KAAA,CAAA,KAAc,CAAC,cAAiC,CAAA,QAAA,CAAA,CAAA;AACpD,KAAA,CAAA;AACE,IAAM,MAAA,cAAU,GAA2C,MAAA;AAC7D,MAAA,MAAM,YAAO,GAAY,KAAA,CAAA,KAAA,CAAQ,cAAI,EAAA,CAAA;AACrC,MAAI,OAAO,YAAQ,GAAA,YAAA,CAAA,IAAA,GAAA,IAAA,CAAA;AACnB,KAAM,CAAA;AACN,IAAA,MAAI,aAAc,GAAA,MAAA;AAClB,MAAO,IAAA,CAAA,KAAA,CAAA,OAAqB;AAC1B,QAAK,MAAA,IAAK,mDAAW,CAAA,CAAA;AACrB,MAAA,MAAA,YAAgB,GAAA,cAAA,EAAA,CAAA;AAAA,MAClB,OAAA,YAAA,GAAA,YAAA,CAAA,KAAA,CAAA,OAAA,CAAA,GAAA,IAAA,CAAA;AACA,KAAA,CAAA;AAAoB,IACtB,MAAA,eAAA,GAAA,CAAA,KAAA,EAAA,QAAA,KAAA;AAEA,MAAM,IAAA,CAAA,KAAA,CAAA,OAAA;AAIJ,QAAA,MAAa,IAAA,KAAA,CAAA,+CAAkD,CAAA,CAAA;AAAA,MACjE,KAAA,CAAA,KAAA,CAAA,eAAA,CAAA,KAAA,EAAA,QAAA,CAAA,CAAA;AAEA,KAAM,CAAA;AACJ,IAAO,MAAA,cAAY,GAAA,CAAA,IAAA,EAAA,QAAuB,KAAA;AAAA,MAC5C,IAAA,CAAA,KAAA,CAAA,OAAA;AAEA,QAAA,8DAA2C,CAAA,CAAA;AACzC,MAAMC,KAAAA,CAAAA,KAAAA,CAAAA,cAAoB,CAAA,IAAA,EAAM,QAAe,CAAA,CAAA;AAC/C,KAAOA,CAAAA;AAAiC,IAC1C,MAAA,UAAA,GAAA,CAAA,IAAA,EAAA,OAAA,EAAA,IAAA,KAAA;AAEA,MAAA,sBAAiC,CAAA,IAAA,EAAA,OAAA,EAAA,IAAA,CAAA,CAAA;AAC/B,KAAA,CAAA;AACE,IAAM,MAAA,mBAAuD,GAAA,MAAA;AAC/D,MAAA,sCAAmC,EAAA,CAAA;AACnC,KAAA,CAAA;AAAkD,IACpD,MAAA,kBAAA,GAAA,MAAA;AAEA,MAAM,OAAA,KAAA,CAAA,KAAA,CAAA,kBAAyD,EAAA,CAAA;AAC7D,KAAA,CAAA;AACE,IAAM,MAAA,cAAU,GAA+C,CAAA,IAAA,EAAA,sBAAA,GAAA,IAAA,KAAA;AACjE,MAAM,IAAA,CAAA,KAAA,CAAA,OAAsB;AAAe,QAC7C,MAAA,IAAA,KAAA,CAAA,8CAAA,CAAA,CAAA;AAEA,MAAMC,wBAAA,CAAA,KAAkB,EAAA,GAAwC,CAAA,IAAA,EAAA,MAAA;AAC9D,QAAA,iBAAW,CAAA,IAAA,CAAA,CAAA;AACT,QAAM,KAAA,CAAA,wBAAwD,CAAA,IAAA,EAAA,sBAAA,CAAA,CAAA;AAChE,OAAM,CAAA,CAAA;AAAmC,KAC3C,CAAA;AAEA,IAAA,MAAM,aAAa,GAEjB,CAAA,GAAA,EAAA,sBAEG,GAAA,IAAA,KAAA;AACH,MAAA,IAAA,CAAA,KAAY,CAAA,OAAA;AAA8B,QAC5C,MAAA,IAAA,KAAA,CAAA,6CAAA,CAAA,CAAA;AAEA,MAAAA,gCAAkD,GAAA,CAAA,IAAA,EAAA,MAAA;AAChD,QAAO,iBAAY,EAAoB,CAAA;AAAA,QACzC,KAAA,CAAA,KAAA,CAAA,iBAAA,CAAA,GAAA,EAAA,sBAAA,CAAA,CAAA;AAEA,OAAA,CAAA,CAAA;AACE,KAAO,CAAA;AAA+B,IACxC,MAAA,OAAA,GAAA,CAAA,IAAA,KAAA;AAEA,MAAA,OAAuB,KAAA,CAAA,KAAA,CAAA,OAAa,CAAA,IAAA,CAAA,CAAA;AAClC,KAAA,CAAA;AACE,IAAM,MAAA,MAAA,QAAU,KAA8C;AAEhE,MAAoB,KAAA,CAAA,KAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA;AAClB,KAAA,CAAA;AACA,IAAM,MAAA,MAAA,GAAA,CAAM,IAAmB,EAAA,UAAA,KAAA;AAA4B,MAC7D,KAAC,CAAA,KAAA,CAAA,MAAA,CAAA,IAAA,EAAA,UAAA,CAAA,CAAA;AAAA,KACH,CAAA;AAEA,IAAA,MAAM,YAAgB,GAAA,CAAA,IAAgB,EAAA,OAAA,KAAA;AACpC,MAAA,KAAK,CAAM,KAAA,CAAA,YAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AACT,KAAM,CAAA;AAER,IAAoB,MAAA,WAAA,GAAA,CAAA,IAAA,EAAA,OAAW,KAAM;AACnC,MAAkB,KAAA,CAAA,KAAA,CAAA,WAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AAClB,KAAM,CAAA;AAAmD,IAAA,MAC1D,gBAAA,GAAA,CAAA,QAAA,EAAA,IAAA,EAAA,QAAA,KAAA;AAAA,MACH,iBAAA,CAAA,IAAA,CAAA,CAAA;AAEA,MAAM,GAAA,CAAA,IAAA,CAAA,aAAkD,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AACtD,KAAO,CAAA;AAAwB,IACjC,MAAA,iBAAA,GAAA,CAAA,GAAA,EAAA,IAAA,KAAA;AAEA,MAAM,IAAA,CAAA,KAAA,CAAA,OAAwC;AAC5C,QAAM,MAAA,IAAM,oDAAW,CAAA,CAAA;AAAA,MACzB,KAAA,CAAA,KAAA,CAAA,cAAA,CAAA,GAAA,EAAA,IAAA,CAAA,CAAA;AAEA,KAAM,CAAA;AAIJ,IAAMC,WAAA,CAAA,UAAa,EAAA;AAAgB,MACrC,GAAA;AAEA,MAAM,KAAA;AAIJ,MAAM,KAAA;AAAgC,MACxC,IAAA;AAEA,MAAM,WAAA;AAIJ,MAAM,QAAA,EAAAC,sBAAkB,EAAM;AAAO,KACvC,CAAA,CAAA;AAEA,IAAAD,WAAyB,CAAAE,4BACvB,EACA,KAAA,CAAA,CAAA,CAAA;AAGA,IAAA,OAAA;AACA,MAAA,EAAA;AAAgD,MAClD,KAAA;AAEA,MAAM,IAAA;AACJ,MAAA,WAAW;AACT,MAAM,SAAA;AACR,MAAM,GAAA;AAA8B,MACtC,cAAA;AAEA,MAAA,OAAoB;AAAA,MAClB,MAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,MACA,cAAA;AAAA,MACA,cAA6B;AAAA,MACvB,aAAA;AAER,MAAA;AAEA,MAAO,cAAA;AAAA,MACL,UAAA;AAAA,MAAA,mBAAA;AAAA,MAEA,kBAAA;AAAA,MACA,cAAA;AAAA,MACA,aAAA;AAAA,MACA,CAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MAAA,MAAA;AAAA,MAGA,YAAA;AAAA,MAAA,WAAA;AAAA,MAGA,gBAAA;AAAA,MACA,iBAAA;AAAA,KACA,CAAA;AAAA,GACA;AAAA,CACA,CAAA,CAAA;AACA,SACA,WAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,QAAA,EAAA;AAAA,EACA,MAAA,uBAAA,GAAAC,oBAAA,CAAA,cAAA,CAAA,CAAA;AAAA,EACA,OAAAC,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;AAAA,IACA,GAAA,EAAA,KAAA;AAAA,IACA,KAAA,EAAAC,kBAAA,CAAA;AAAA,MACA,IAAA,CAAA,EAAA,CAAA,CAAA,EAAA;AAAA,MACA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,CAAA,CAAA,IAAA,CAAA,SAAA,CAAA,YAAA,CAAA;AAAA,MACA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,IAAA,CAAA,SAAA,CAAA,SAAA,CAAA;AAAA,MACA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,IAAA,CAAA,SAAA,CAAA,QAAA,KAAA,OAAA,CAAA;AAAA,MACA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,mBAAA,CAAA,GAAA,IAAA,CAAA,gBAAA,EAAA;AAAA,KACA,CAAA;AAAA,IACA,IAAA,EAAA,MAAA;AAAA,GACA,EAAA;AAAA,KACAF,aAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,CAAAE,YAAA,EAAA,IAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,IAAA,CAAA,UAAA,EAAA,CAAA,KAAA,KAAA;AAAA,MACA,OAAAJ,aAAA,EAAA,EAAAK,eAAA,CAAA,uBAAA,EAAA;AAAA,QACA,GAAA,EAAA,IAAA,CAAA,UAAA,CAAA,KAAA,CAAA;AAAA,QACF,IAAA,EAAA,KAAA;AAAA,QACF,KAAA,EAAA,IAAA,CAAA,KAAA;AACF,QAAC,SAAA,EAAA,IAAA,CAAA,SAAA;;;;AArbC,QAAA,YAAA,EAAA,IAAA,CAAA,gBAAA;AAAA,OAkCM,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AAAA,KAAA,CAAA,EAAA,GAAA,CAAA;AAAA,IAAA,IAjCA,CAAA,OAAA,IAAAL,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;AAAA,MACH,GAAK,EAAA,CAAA;AAAA,MAAA,yBAAc,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA;AAAA,KAAA,EAAA;AAAoD,MAAAK,cAAY,CAAA,IAAsB,CAAA,MAAA,EAAA,OAAA,EAAA,EAAA,EAAA,MAAA;AAAmB,QAAS,IAAG,EAAA,CAAA;AAAmC,QAAwB,OAAA;AAA4C,UAAAC,sBAAA,CAAA,MAAA,EAAA;YAO3O,KAAA,EAAAL,kBAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,YAAA,CAAA,CAAA;AAAA,WAAA,EAAAM,mBAAA,CAAA,CAAA,EAAA,GAAA,IAAA,CAAA,SAAA,KAAA,IAAA,GAAA,EAAA,GAAA,IAAA,CAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;AAEL,OAAA,CAAA;AAAA,KAUE,EAAA,CAAA,CAAA,IAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,IAAAC,kBAAA,CAAAH,sBAAA,CAAA,KAAA,EAAA;AAAA,MATgB,GAAA,EAAA,gBAAA;oCAShB,CAAA,EAAA,CAAA,CAAA,CAAA,gBAAA,CAAA,CAAA;AAAA,KARC,EAAA,IAAA,EAAA,CAAA,CAAA,EAAK;AAAgB,MAAA,CAAAI,SACf,EAAA,IAAA,CAAA,SAAA,CAAA,iBAAA,CAAA;AAAA,KAAA,CAAA;AACC,GAAA,EAAA,CAAA,CAAA,CAAA;AACI,CAAA;AAEI,WACC,gBAAAC,iCAAA,CAAA,SAAA,EAAA,CAAA,CAAA,QAAA,EAAA,WAAA,CAAA,EAAA,CAAA,QAAA,EAAA,UAAA,CAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"tree.js","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n :class=\"[\n ns.b(),\n ns.is('dragging', !!dragState.draggingNode),\n ns.is('drop-not-allow', !dragState.allowDrop),\n ns.is('drop-inner', dragState.dropType === 'inner'),\n { [ns.m('highlight-current')]: highlightCurrent },\n ]\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" :class=\"ns.e('empty-block')\">\n <slot name=\"empty\">\n <span :class=\"ns.e('empty-text')\">\n {{ emptyText ?? t('el.tree.emptyText') }}\n </span>\n </slot>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n :class=\"ns.e('drop-indicator')\"\n />\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { iconPropType } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { formItemContextKey } from '@element-plus/components/form'\nimport { selectKey } from '@element-plus/components/select/src/token'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil, handleCurrentChange } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport type Node from './model/node'\n\nimport type { ComponentInternalInstance, PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n TreeComponentProps,\n TreeData,\n TreeKey,\n TreeNodeData,\n} from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: {\n data: {\n type: Array,\n default: () => [],\n },\n emptyText: {\n type: String,\n },\n renderAfterExpand: {\n type: Boolean,\n default: true,\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true,\n },\n checkOnClickNode: Boolean,\n checkOnClickLeaf: {\n type: Boolean,\n default: true,\n },\n checkDescendants: {\n type: Boolean,\n default: false,\n },\n autoExpandParent: {\n type: Boolean,\n default: true,\n },\n defaultCheckedKeys: Array as PropType<\n TreeComponentProps['defaultCheckedKeys']\n >,\n defaultExpandedKeys: Array as PropType<\n TreeComponentProps['defaultExpandedKeys']\n >,\n currentNodeKey: [String, Number] as PropType<string | number>,\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false,\n },\n draggable: {\n type: Boolean,\n default: false,\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n type: Object as PropType<TreeComponentProps['props']>,\n default: () => ({\n children: 'children',\n label: 'label',\n disabled: 'disabled',\n }),\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n highlightCurrent: Boolean,\n load: Function as PropType<TreeComponentProps['load']>,\n filterNodeMethod: Function as PropType<\n TreeComponentProps['filterNodeMethod']\n >,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18,\n },\n icon: {\n type: iconPropType,\n },\n },\n emits: [\n 'check-change',\n 'current-change',\n 'node-click',\n 'node-contextmenu',\n 'node-collapse',\n 'node-expand',\n 'check',\n 'node-drag-start',\n 'node-drag-end',\n 'node-drop',\n 'node-drag-leave',\n 'node-drag-enter',\n 'node-drag-over',\n ],\n setup(props, ctx) {\n const { t } = useLocale()\n const ns = useNamespace('tree')\n const selectInfo = inject(selectKey, null)\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n const hasFilteredOptions = selectInfo\n ? selectInfo.hasFilteredOptions !== 0\n : false\n return (\n (!childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)) &&\n !hasFilteredOptions\n )\n })\n\n watch(\n () => props.currentNodeKey,\n (newVal) => {\n store.value.setCurrentNodeKey(newVal)\n }\n )\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal) => {\n store.value.setDefaultCheckedKey(newVal)\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.setDefaultExpandedKeys(newVal)\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getNodePath')\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly?: boolean,\n includeHalfChecked?: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly?: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = (): TreeNodeData => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): any => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in getCurrentKey')\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedNodes')\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys: TreeKey[], leafOnly?: boolean) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCheckedKeys')\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentNode')\n\n handleCurrentChange(store, ctx.emit, () => {\n broadcastExpanded(node)\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n })\n }\n\n const setCurrentKey = (key?: TreeKey, shouldAutoExpandParent = true) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in setCurrentKey')\n\n handleCurrentChange(store, ctx.emit, () => {\n broadcastExpanded()\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n })\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData | Node\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData | Node\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n if (!props.nodeKey)\n throw new Error('[Tree] nodeKey is required in updateKeyChild')\n store.value.updateChildren(key, data)\n }\n\n provide('RootTree', {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance: getCurrentInstance(),\n } as any)\n\n provide(formItemContextKey, undefined)\n\n return {\n ns,\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElTreeNode","iconPropType","useLocale","useNamespace","inject","selectKey","ref","TreeStore","useNodeExpandEventBroadcast","useDragNodeHandler","useKeydown","computed","watch","getNodeKeyUtil","currentNode","handleCurrentChange","provide","getCurrentInstance","formItemContextKey","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createBlock","_renderSlot","_createElementVNode","_toDisplayString","_createCommentVNode","_withDirectives","_vShow","_export_sfc"],"mappings":"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"}
@@ -79,6 +79,7 @@ export interface TreeComponentProps {
79
79
  expandOnClickNode: boolean;
80
80
  defaultExpandAll: boolean;
81
81
  checkOnClickNode: boolean;
82
+ checkOnClickLeaf: boolean;
82
83
  checkDescendants: boolean;
83
84
  autoExpandParent: boolean;
84
85
  defaultCheckedKeys: TreeKey[];
@@ -22,6 +22,10 @@ declare const _default: import("vue").DefineComponent<{
22
22
  default: boolean;
23
23
  };
24
24
  checkOnClickNode: BooleanConstructor;
25
+ checkOnClickLeaf: {
26
+ type: BooleanConstructor;
27
+ default: boolean;
28
+ };
25
29
  checkDescendants: {
26
30
  type: BooleanConstructor;
27
31
  default: boolean;
@@ -368,6 +372,10 @@ declare const _default: import("vue").DefineComponent<{
368
372
  default: boolean;
369
373
  };
370
374
  checkOnClickNode: BooleanConstructor;
375
+ checkOnClickLeaf: {
376
+ type: BooleanConstructor;
377
+ default: boolean;
378
+ };
371
379
  checkDescendants: {
372
380
  type: BooleanConstructor;
373
381
  default: boolean;
@@ -440,6 +448,7 @@ declare const _default: import("vue").DefineComponent<{
440
448
  showCheckbox: boolean;
441
449
  expandOnClickNode: boolean;
442
450
  checkOnClickNode: boolean;
451
+ checkOnClickLeaf: boolean;
443
452
  checkDescendants: boolean;
444
453
  autoExpandParent: boolean;
445
454
  highlightCurrent: boolean;
@@ -166,7 +166,7 @@ function useTree(props, emit) {
166
166
  if (props.expandOnClickNode) {
167
167
  toggleExpand(node);
168
168
  }
169
- if (props.showCheckbox && props.checkOnClickNode && !node.disabled) {
169
+ if (props.showCheckbox && (props.checkOnClickNode || node.isLeaf && props.checkOnClickLeaf) && !node.disabled) {
170
170
  toggleCheckbox(node, !isChecked(node), true);
171
171
  }
172
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useTree.js","sources":["../../../../../../../packages/components/tree-v2/src/composables/useTree.ts"],"sourcesContent":["import { computed, nextTick, ref, shallowRef, watch } from 'vue'\nimport { isObject } from '@element-plus/utils'\nimport {\n CURRENT_CHANGE,\n NODE_CLICK,\n NODE_COLLAPSE,\n NODE_DROP,\n NODE_EXPAND,\n TreeOptionsEnum,\n} from '../virtual-tree'\nimport { useCheck } from './useCheck'\nimport { useFilter } from './useFilter'\nimport type {\n FixedSizeList,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { SetupContext } from 'vue'\nimport type { treeEmits } from '../virtual-tree'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\nimport type {\n Tree,\n TreeData,\n TreeKey,\n TreeNode,\n TreeNodeData,\n TreeProps,\n} from '../types'\n\nexport function useTree(\n props: TreeProps,\n emit: SetupContext<typeof treeEmits>['emit']\n) {\n const expandedKeySet = ref<Set<TreeKey>>(new Set(props.defaultExpandedKeys))\n const currentKey = ref<TreeKey | undefined>()\n const tree = shallowRef<Tree | undefined>()\n const listRef = ref<typeof FixedSizeList | undefined>()\n\n watch(\n () => props.currentNodeKey,\n (key) => {\n currentKey.value = key\n },\n {\n immediate: true,\n }\n )\n\n watch(\n () => props.data,\n (data: TreeData) => {\n setData(data)\n },\n {\n immediate: true,\n }\n )\n\n const {\n isIndeterminate,\n isChecked,\n toggleCheckbox,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n } = useCheck(props, tree)\n\n const { doFilter, hiddenNodeKeySet, isForceHiddenExpandIcon } = useFilter(\n props,\n tree\n )\n\n const valueKey = computed(() => {\n return props.props?.value || TreeOptionsEnum.KEY\n })\n const childrenKey = computed(() => {\n return props.props?.children || TreeOptionsEnum.CHILDREN\n })\n const disabledKey = computed(() => {\n return props.props?.disabled || TreeOptionsEnum.DISABLED\n })\n const labelKey = computed(() => {\n return props.props?.label || TreeOptionsEnum.LABEL\n })\n\n const flattenTree = computed(() => {\n const expandedKeys = expandedKeySet.value\n const hiddenKeys = hiddenNodeKeySet.value\n const flattenNodes: TreeNode[] = []\n const nodes = tree.value?.treeNodes || []\n\n const stack: TreeNode[] = []\n for (let i = nodes.length - 1; i >= 0; --i) {\n stack.push(nodes[i])\n }\n while (stack.length) {\n const node = stack.pop()!\n if (hiddenKeys.has(node.key)) continue\n\n flattenNodes.push(node)\n if (node.children && expandedKeys.has(node.key)) {\n for (let i = node.children.length - 1; i >= 0; --i) {\n stack.push(node.children[i])\n }\n }\n }\n\n return flattenNodes\n })\n\n const isNotEmpty = computed(() => {\n return flattenTree.value.length > 0\n })\n\n function createTree(data: TreeData): Tree {\n const treeNodeMap: Map<TreeKey, TreeNode> = new Map()\n const levelTreeNodeMap: Map<number, TreeNode[]> = new Map()\n let maxLevel = 1\n function traverse(\n nodes: TreeData,\n level = 1,\n parent: TreeNode | undefined = undefined\n ) {\n const siblings: TreeNode[] = []\n for (const rawNode of nodes) {\n const value = getKey(rawNode)\n const node: TreeNode = {\n level,\n key: value,\n data: rawNode,\n }\n node.label = getLabel(rawNode)\n node.parent = parent\n const children = getChildren(rawNode)\n node.disabled = getDisabled(rawNode)\n node.isLeaf = !children || children.length === 0\n if (children && children.length) {\n node.children = traverse(children, level + 1, node)\n }\n siblings.push(node)\n treeNodeMap.set(value, node)\n if (!levelTreeNodeMap.has(level)) {\n levelTreeNodeMap.set(level, [])\n }\n levelTreeNodeMap.get(level)?.push(node)\n }\n if (level > maxLevel) {\n maxLevel = level\n }\n return siblings\n }\n const treeNodes: TreeNode[] = traverse(data)\n return {\n treeNodeMap,\n levelTreeNodeMap,\n maxLevel,\n treeNodes,\n }\n }\n\n function filter(query: string) {\n const keys = doFilter(query)\n if (keys) {\n expandedKeySet.value = keys\n }\n }\n\n function getChildren(node: TreeNodeData): TreeNodeData[] {\n return node[childrenKey.value]\n }\n\n function getKey(node: TreeNodeData): TreeKey {\n if (!node) {\n return ''\n }\n return node[valueKey.value]\n }\n\n function getDisabled(node: TreeNodeData): boolean {\n return node[disabledKey.value]\n }\n\n function getLabel(node: TreeNodeData): string {\n return node[labelKey.value]\n }\n\n function toggleExpand(node: TreeNode) {\n const expandedKeys = expandedKeySet.value\n if (expandedKeys.has(node.key)) {\n collapseNode(node)\n } else {\n expandNode(node)\n }\n }\n\n function setExpandedKeys(keys: TreeKey[]) {\n const expandedKeys = new Set<TreeKey>()\n const nodeMap = tree.value!.treeNodeMap\n\n keys.forEach((k) => {\n let node = nodeMap.get(k)\n while (node && !expandedKeys.has(node.key)) {\n expandedKeys.add(node.key)\n node = node.parent\n }\n })\n\n expandedKeySet.value = expandedKeys\n }\n\n function handleNodeClick(node: TreeNode, e: MouseEvent) {\n emit(NODE_CLICK, node.data, node, e)\n handleCurrentChange(node)\n if (props.expandOnClickNode) {\n toggleExpand(node)\n }\n if (props.showCheckbox && props.checkOnClickNode && !node.disabled) {\n toggleCheckbox(node, !isChecked(node), true)\n }\n }\n\n function handleNodeDrop(node: TreeNode, e: DragEvent) {\n emit(NODE_DROP, node.data, node, e)\n }\n\n function handleCurrentChange(node: TreeNode) {\n if (!isCurrent(node)) {\n currentKey.value = node.key\n emit(CURRENT_CHANGE, node.data, node)\n }\n }\n\n function handleNodeCheck(node: TreeNode, checked: CheckboxValueType) {\n toggleCheckbox(node, checked)\n }\n\n function expandNode(node: TreeNode) {\n const keySet = expandedKeySet.value\n if (tree.value && props.accordion) {\n // whether only one node among the same level can be expanded at one time\n const { treeNodeMap } = tree.value\n keySet.forEach((key) => {\n const treeNode = treeNodeMap.get(key)\n if (node && node.level === treeNode?.level) {\n keySet.delete(key)\n }\n })\n }\n keySet.add(node.key)\n emit(NODE_EXPAND, node.data, node)\n }\n\n function collapseNode(node: TreeNode) {\n expandedKeySet.value.delete(node.key)\n emit(NODE_COLLAPSE, node.data, node)\n }\n\n function isExpanded(node: TreeNode): boolean {\n return expandedKeySet.value.has(node.key)\n }\n\n function isDisabled(node: TreeNode): boolean {\n return !!node.disabled\n }\n\n function isCurrent(node: TreeNode): boolean {\n const current = currentKey.value\n return current !== undefined && current === node.key\n }\n\n function getCurrentNode(): TreeNodeData | undefined {\n if (!currentKey.value) return undefined\n return tree.value?.treeNodeMap.get(currentKey.value)?.data\n }\n\n function getCurrentKey(): TreeKey | undefined {\n return currentKey.value\n }\n\n function setCurrentKey(key: TreeKey): void {\n currentKey.value = key\n }\n\n function setData(data: TreeData) {\n nextTick(() => (tree.value = createTree(data)))\n }\n\n function getNode(data: TreeKey | TreeNodeData) {\n const key = isObject(data) ? getKey(data) : data\n return tree.value?.treeNodeMap.get(key)\n }\n\n function scrollToNode(key: TreeKey, strategy: ScrollStrategy = 'auto') {\n const node = getNode(key)\n if (node && listRef.value) {\n listRef.value.scrollToItem(flattenTree.value.indexOf(node), strategy)\n }\n }\n\n function scrollTo(offset: number) {\n listRef.value?.scrollTo(offset)\n }\n\n return {\n tree,\n flattenTree,\n isNotEmpty,\n listRef,\n getKey,\n getChildren,\n toggleExpand,\n toggleCheckbox,\n isExpanded,\n isChecked,\n isIndeterminate,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n handleNodeClick,\n handleNodeDrop,\n handleNodeCheck,\n // expose\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n getNode,\n expandNode,\n collapseNode,\n setExpandedKeys,\n scrollToNode,\n scrollTo,\n }\n}\n"],"names":["ref","shallowRef","watch","useCheck","useFilter","computed","TreeOptionsEnum","NODE_CLICK","NODE_DROP","CURRENT_CHANGE","NODE_EXPAND","NODE_COLLAPSE","nextTick","isObject"],"mappings":"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"}
1
+ {"version":3,"file":"useTree.js","sources":["../../../../../../../packages/components/tree-v2/src/composables/useTree.ts"],"sourcesContent":["import { computed, nextTick, ref, shallowRef, watch } from 'vue'\nimport { isObject } from '@element-plus/utils'\nimport {\n CURRENT_CHANGE,\n NODE_CLICK,\n NODE_COLLAPSE,\n NODE_DROP,\n NODE_EXPAND,\n TreeOptionsEnum,\n} from '../virtual-tree'\nimport { useCheck } from './useCheck'\nimport { useFilter } from './useFilter'\nimport type {\n FixedSizeList,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { SetupContext } from 'vue'\nimport type { treeEmits } from '../virtual-tree'\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\nimport type {\n Tree,\n TreeData,\n TreeKey,\n TreeNode,\n TreeNodeData,\n TreeProps,\n} from '../types'\n\nexport function useTree(\n props: TreeProps,\n emit: SetupContext<typeof treeEmits>['emit']\n) {\n const expandedKeySet = ref<Set<TreeKey>>(new Set(props.defaultExpandedKeys))\n const currentKey = ref<TreeKey | undefined>()\n const tree = shallowRef<Tree | undefined>()\n const listRef = ref<typeof FixedSizeList | undefined>()\n\n watch(\n () => props.currentNodeKey,\n (key) => {\n currentKey.value = key\n },\n {\n immediate: true,\n }\n )\n\n watch(\n () => props.data,\n (data: TreeData) => {\n setData(data)\n },\n {\n immediate: true,\n }\n )\n\n const {\n isIndeterminate,\n isChecked,\n toggleCheckbox,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n } = useCheck(props, tree)\n\n const { doFilter, hiddenNodeKeySet, isForceHiddenExpandIcon } = useFilter(\n props,\n tree\n )\n\n const valueKey = computed(() => {\n return props.props?.value || TreeOptionsEnum.KEY\n })\n const childrenKey = computed(() => {\n return props.props?.children || TreeOptionsEnum.CHILDREN\n })\n const disabledKey = computed(() => {\n return props.props?.disabled || TreeOptionsEnum.DISABLED\n })\n const labelKey = computed(() => {\n return props.props?.label || TreeOptionsEnum.LABEL\n })\n\n const flattenTree = computed(() => {\n const expandedKeys = expandedKeySet.value\n const hiddenKeys = hiddenNodeKeySet.value\n const flattenNodes: TreeNode[] = []\n const nodes = tree.value?.treeNodes || []\n\n const stack: TreeNode[] = []\n for (let i = nodes.length - 1; i >= 0; --i) {\n stack.push(nodes[i])\n }\n while (stack.length) {\n const node = stack.pop()!\n if (hiddenKeys.has(node.key)) continue\n\n flattenNodes.push(node)\n if (node.children && expandedKeys.has(node.key)) {\n for (let i = node.children.length - 1; i >= 0; --i) {\n stack.push(node.children[i])\n }\n }\n }\n\n return flattenNodes\n })\n\n const isNotEmpty = computed(() => {\n return flattenTree.value.length > 0\n })\n\n function createTree(data: TreeData): Tree {\n const treeNodeMap: Map<TreeKey, TreeNode> = new Map()\n const levelTreeNodeMap: Map<number, TreeNode[]> = new Map()\n let maxLevel = 1\n function traverse(\n nodes: TreeData,\n level = 1,\n parent: TreeNode | undefined = undefined\n ) {\n const siblings: TreeNode[] = []\n for (const rawNode of nodes) {\n const value = getKey(rawNode)\n const node: TreeNode = {\n level,\n key: value,\n data: rawNode,\n }\n node.label = getLabel(rawNode)\n node.parent = parent\n const children = getChildren(rawNode)\n node.disabled = getDisabled(rawNode)\n node.isLeaf = !children || children.length === 0\n if (children && children.length) {\n node.children = traverse(children, level + 1, node)\n }\n siblings.push(node)\n treeNodeMap.set(value, node)\n if (!levelTreeNodeMap.has(level)) {\n levelTreeNodeMap.set(level, [])\n }\n levelTreeNodeMap.get(level)?.push(node)\n }\n if (level > maxLevel) {\n maxLevel = level\n }\n return siblings\n }\n const treeNodes: TreeNode[] = traverse(data)\n return {\n treeNodeMap,\n levelTreeNodeMap,\n maxLevel,\n treeNodes,\n }\n }\n\n function filter(query: string) {\n const keys = doFilter(query)\n if (keys) {\n expandedKeySet.value = keys\n }\n }\n\n function getChildren(node: TreeNodeData): TreeNodeData[] {\n return node[childrenKey.value]\n }\n\n function getKey(node: TreeNodeData): TreeKey {\n if (!node) {\n return ''\n }\n return node[valueKey.value]\n }\n\n function getDisabled(node: TreeNodeData): boolean {\n return node[disabledKey.value]\n }\n\n function getLabel(node: TreeNodeData): string {\n return node[labelKey.value]\n }\n\n function toggleExpand(node: TreeNode) {\n const expandedKeys = expandedKeySet.value\n if (expandedKeys.has(node.key)) {\n collapseNode(node)\n } else {\n expandNode(node)\n }\n }\n\n function setExpandedKeys(keys: TreeKey[]) {\n const expandedKeys = new Set<TreeKey>()\n const nodeMap = tree.value!.treeNodeMap\n\n keys.forEach((k) => {\n let node = nodeMap.get(k)\n while (node && !expandedKeys.has(node.key)) {\n expandedKeys.add(node.key)\n node = node.parent\n }\n })\n\n expandedKeySet.value = expandedKeys\n }\n\n function handleNodeClick(node: TreeNode, e: MouseEvent) {\n emit(NODE_CLICK, node.data, node, e)\n handleCurrentChange(node)\n if (props.expandOnClickNode) {\n toggleExpand(node)\n }\n if (\n props.showCheckbox &&\n (props.checkOnClickNode || (node.isLeaf && props.checkOnClickLeaf)) &&\n !node.disabled\n ) {\n toggleCheckbox(node, !isChecked(node), true)\n }\n }\n\n function handleNodeDrop(node: TreeNode, e: DragEvent) {\n emit(NODE_DROP, node.data, node, e)\n }\n\n function handleCurrentChange(node: TreeNode) {\n if (!isCurrent(node)) {\n currentKey.value = node.key\n emit(CURRENT_CHANGE, node.data, node)\n }\n }\n\n function handleNodeCheck(node: TreeNode, checked: CheckboxValueType) {\n toggleCheckbox(node, checked)\n }\n\n function expandNode(node: TreeNode) {\n const keySet = expandedKeySet.value\n if (tree.value && props.accordion) {\n // whether only one node among the same level can be expanded at one time\n const { treeNodeMap } = tree.value\n keySet.forEach((key) => {\n const treeNode = treeNodeMap.get(key)\n if (node && node.level === treeNode?.level) {\n keySet.delete(key)\n }\n })\n }\n keySet.add(node.key)\n emit(NODE_EXPAND, node.data, node)\n }\n\n function collapseNode(node: TreeNode) {\n expandedKeySet.value.delete(node.key)\n emit(NODE_COLLAPSE, node.data, node)\n }\n\n function isExpanded(node: TreeNode): boolean {\n return expandedKeySet.value.has(node.key)\n }\n\n function isDisabled(node: TreeNode): boolean {\n return !!node.disabled\n }\n\n function isCurrent(node: TreeNode): boolean {\n const current = currentKey.value\n return current !== undefined && current === node.key\n }\n\n function getCurrentNode(): TreeNodeData | undefined {\n if (!currentKey.value) return undefined\n return tree.value?.treeNodeMap.get(currentKey.value)?.data\n }\n\n function getCurrentKey(): TreeKey | undefined {\n return currentKey.value\n }\n\n function setCurrentKey(key: TreeKey): void {\n currentKey.value = key\n }\n\n function setData(data: TreeData) {\n nextTick(() => (tree.value = createTree(data)))\n }\n\n function getNode(data: TreeKey | TreeNodeData) {\n const key = isObject(data) ? getKey(data) : data\n return tree.value?.treeNodeMap.get(key)\n }\n\n function scrollToNode(key: TreeKey, strategy: ScrollStrategy = 'auto') {\n const node = getNode(key)\n if (node && listRef.value) {\n listRef.value.scrollToItem(flattenTree.value.indexOf(node), strategy)\n }\n }\n\n function scrollTo(offset: number) {\n listRef.value?.scrollTo(offset)\n }\n\n return {\n tree,\n flattenTree,\n isNotEmpty,\n listRef,\n getKey,\n getChildren,\n toggleExpand,\n toggleCheckbox,\n isExpanded,\n isChecked,\n isIndeterminate,\n isDisabled,\n isCurrent,\n isForceHiddenExpandIcon,\n handleNodeClick,\n handleNodeDrop,\n handleNodeCheck,\n // expose\n getCurrentNode,\n getCurrentKey,\n setCurrentKey,\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n filter,\n setData,\n getNode,\n expandNode,\n collapseNode,\n setExpandedKeys,\n scrollToNode,\n scrollTo,\n }\n}\n"],"names":["ref","shallowRef","watch","useCheck","useFilter","computed","TreeOptionsEnum","NODE_CLICK","NODE_DROP","CURRENT_CHANGE","NODE_EXPAND","NODE_COLLAPSE","nextTick","isObject"],"mappings":"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"}