@element-plus/nightly 0.0.20250622 → 0.0.20250624

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 (697) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +425 -417
  3. package/dist/index.full.min.js +17 -17
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +17 -17
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +425 -419
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/autocomplete/index.mjs +2 -2
  277. package/es/components/autocomplete/src/autocomplete.mjs +370 -80
  278. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  279. package/es/components/autocomplete/src/autocomplete2.mjs +80 -370
  280. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  281. package/es/components/avatar/index.mjs +2 -2
  282. package/es/components/avatar/src/avatar.mjs +65 -31
  283. package/es/components/avatar/src/avatar.mjs.map +1 -1
  284. package/es/components/avatar/src/avatar2.mjs +31 -65
  285. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  286. package/es/components/calendar/index.mjs +2 -2
  287. package/es/components/calendar/src/calendar.mjs +134 -16
  288. package/es/components/calendar/src/calendar.mjs.map +1 -1
  289. package/es/components/calendar/src/calendar2.mjs +16 -134
  290. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  291. package/es/components/cascader/src/cascader.d.ts +2 -2
  292. package/es/components/cascader/src/cascader.mjs +3 -2
  293. package/es/components/cascader/src/cascader.mjs.map +1 -1
  294. package/es/components/cascader/src/cascader.vue.d.ts +4 -4
  295. package/es/components/cascader-panel/index.mjs +1 -1
  296. package/es/components/cascader-panel/src/config.d.ts +26 -2
  297. package/es/components/cascader-panel/src/config.mjs +19 -1
  298. package/es/components/cascader-panel/src/config.mjs.map +1 -1
  299. package/es/components/cascader-panel/src/index.mjs +50 -55
  300. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  301. package/es/components/cascader-panel/src/index.vue.d.ts +46 -46
  302. package/es/components/cascader-panel/src/instance.d.ts +2 -0
  303. package/es/components/cascader-panel/src/menu.mjs +68 -85
  304. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  305. package/es/components/cascader-panel/src/menu.vue.d.ts +11 -30
  306. package/es/components/cascader-panel/src/node-content.d.ts +14 -19
  307. package/es/components/cascader-panel/src/node-content.mjs +29 -18
  308. package/es/components/cascader-panel/src/node-content.mjs.map +1 -1
  309. package/es/components/cascader-panel/src/node.d.ts +9 -8
  310. package/es/components/cascader-panel/src/node.mjs +12 -12
  311. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  312. package/es/components/cascader-panel/src/node.vue.d.ts +3 -36
  313. package/es/components/cascader-panel/src/node2.mjs +86 -114
  314. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  315. package/es/components/cascader-panel/src/types.d.ts +6 -6
  316. package/es/components/cascader-panel/src/types.mjs.map +1 -1
  317. package/es/components/check-tag/index.mjs +2 -2
  318. package/es/components/check-tag/src/check-tag.mjs +38 -14
  319. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  320. package/es/components/check-tag/src/check-tag2.mjs +14 -38
  321. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  322. package/es/components/checkbox/index.mjs +2 -2
  323. package/es/components/checkbox/src/checkbox-button.mjs +1 -1
  324. package/es/components/checkbox/src/checkbox.mjs +59 -119
  325. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  326. package/es/components/checkbox/src/checkbox2.mjs +119 -59
  327. package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
  328. package/es/components/color-picker/src/color-picker.d.ts +3 -1
  329. package/es/components/color-picker/src/color-picker.mjs +6 -1
  330. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  331. package/es/components/color-picker/src/color-picker.vue.d.ts +8 -2
  332. package/es/components/color-picker/src/color-picker2.mjs +6 -4
  333. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  334. package/es/components/color-picker/src/utils/color.d.ts +1 -1
  335. package/es/components/color-picker/src/utils/color.mjs.map +1 -1
  336. package/es/components/drawer/index.mjs +2 -2
  337. package/es/components/drawer/src/drawer.mjs +26 -178
  338. package/es/components/drawer/src/drawer.mjs.map +1 -1
  339. package/es/components/drawer/src/drawer2.mjs +178 -26
  340. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  341. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  342. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  343. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  344. package/es/components/form/index.mjs +2 -2
  345. package/es/components/form/src/form.mjs +54 -161
  346. package/es/components/form/src/form.mjs.map +1 -1
  347. package/es/components/form/src/form2.mjs +161 -54
  348. package/es/components/form/src/form2.mjs.map +1 -1
  349. package/es/components/image/index.mjs +2 -2
  350. package/es/components/image/src/image.mjs +226 -68
  351. package/es/components/image/src/image.mjs.map +1 -1
  352. package/es/components/image/src/image2.mjs +68 -226
  353. package/es/components/image/src/image2.mjs.map +1 -1
  354. package/es/components/index.mjs +17 -17
  355. package/es/components/input/index.mjs +2 -2
  356. package/es/components/input/src/input.mjs +106 -437
  357. package/es/components/input/src/input.mjs.map +1 -1
  358. package/es/components/input/src/input2.mjs +437 -106
  359. package/es/components/input/src/input2.mjs.map +1 -1
  360. package/es/components/mention/src/mention.mjs +1 -1
  361. package/es/components/mention/src/mention2.mjs +1 -1
  362. package/es/components/message/index.mjs +1 -1
  363. package/es/components/message/src/message.mjs +153 -92
  364. package/es/components/message/src/message.mjs.map +1 -1
  365. package/es/components/message/src/message2.mjs +92 -153
  366. package/es/components/message/src/message2.mjs.map +1 -1
  367. package/es/components/message/src/method.mjs +2 -2
  368. package/es/components/pagination/src/components/jumper.mjs +58 -7
  369. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  370. package/es/components/pagination/src/components/jumper2.mjs +7 -58
  371. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  372. package/es/components/pagination/src/pagination.mjs +1 -1
  373. package/es/components/radio/index.mjs +2 -2
  374. package/es/components/radio/src/radio-group.mjs +34 -65
  375. package/es/components/radio/src/radio-group.mjs.map +1 -1
  376. package/es/components/radio/src/radio-group2.mjs +65 -34
  377. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  378. package/es/components/roving-focus-group/index.mjs +3 -3
  379. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  380. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -27
  381. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  382. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -27
  383. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  384. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  385. package/es/components/row/index.mjs +2 -2
  386. package/es/components/row/src/row.mjs +28 -44
  387. package/es/components/row/src/row.mjs.map +1 -1
  388. package/es/components/row/src/row2.mjs +44 -28
  389. package/es/components/row/src/row2.mjs.map +1 -1
  390. package/es/components/select/index.mjs +1 -1
  391. package/es/components/select/src/option.mjs +13 -89
  392. package/es/components/select/src/option.mjs.map +1 -1
  393. package/es/components/select/src/option2.mjs +89 -13
  394. package/es/components/select/src/option2.mjs.map +1 -1
  395. package/es/components/select/src/select2.mjs +1 -1
  396. package/es/components/select/src/useOption.mjs +1 -1
  397. package/es/components/space/src/space.mjs +0 -2
  398. package/es/components/space/src/space.mjs.map +1 -1
  399. package/es/components/table/src/store/index.mjs +0 -1
  400. package/es/components/table/src/store/index.mjs.map +1 -1
  401. package/es/components/table/src/store/watcher.mjs +0 -10
  402. package/es/components/table/src/store/watcher.mjs.map +1 -1
  403. package/es/components/tabs/src/tab-bar2.mjs +1 -1
  404. package/es/components/text/index.mjs +2 -2
  405. package/es/components/text/src/text.mjs +67 -21
  406. package/es/components/text/src/text.mjs.map +1 -1
  407. package/es/components/text/src/text2.mjs +21 -67
  408. package/es/components/text/src/text2.mjs.map +1 -1
  409. package/es/components/time-select/index.mjs +2 -2
  410. package/es/components/time-select/src/time-select.mjs +132 -54
  411. package/es/components/time-select/src/time-select.mjs.map +1 -1
  412. package/es/components/time-select/src/time-select2.mjs +54 -132
  413. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  414. package/es/components/timeline/index.mjs +2 -2
  415. package/es/components/timeline/src/timeline-item.mjs +72 -33
  416. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  417. package/es/components/timeline/src/timeline-item2.mjs +33 -72
  418. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  419. package/es/components/tooltip-v2/index.mjs +5 -5
  420. package/es/components/tooltip-v2/src/arrow.mjs +37 -21
  421. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  422. package/es/components/tooltip-v2/src/arrow2.mjs +21 -37
  423. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  424. package/es/components/tooltip-v2/src/content.mjs +110 -48
  425. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  426. package/es/components/tooltip-v2/src/content2.mjs +48 -110
  427. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  428. package/es/components/tooltip-v2/src/tooltip.mjs +78 -20
  429. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  430. package/es/components/tooltip-v2/src/tooltip2.mjs +20 -78
  431. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  432. package/es/components/tooltip-v2/src/trigger.mjs +89 -12
  433. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  434. package/es/components/tooltip-v2/src/trigger2.mjs +12 -89
  435. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  436. package/es/components/tree/src/model/node.d.ts +9 -9
  437. package/es/components/tree/src/model/node.mjs +13 -9
  438. package/es/components/tree/src/model/node.mjs.map +1 -1
  439. package/es/components/tree/src/model/tree-store.d.ts +8 -8
  440. package/es/components/tree/src/model/tree-store.mjs +22 -12
  441. package/es/components/tree/src/model/tree-store.mjs.map +1 -1
  442. package/es/components/tree/src/model/useDragNode.d.ts +221 -13
  443. package/es/components/tree/src/model/useDragNode.mjs +22 -10
  444. package/es/components/tree/src/model/useDragNode.mjs.map +1 -1
  445. package/es/components/tree/src/model/useKeydown.d.ts +1 -1
  446. package/es/components/tree/src/model/useKeydown.mjs +2 -0
  447. package/es/components/tree/src/model/useKeydown.mjs.map +1 -1
  448. package/es/components/tree/src/model/useNodeExpandEventBroadcast.d.ts +7 -2
  449. package/es/components/tree/src/model/useNodeExpandEventBroadcast.mjs +2 -1
  450. package/es/components/tree/src/model/useNodeExpandEventBroadcast.mjs.map +1 -1
  451. package/es/components/tree/src/model/util.d.ts +2 -2
  452. package/es/components/tree/src/model/util.mjs.map +1 -1
  453. package/es/components/tree/src/tree.mjs +15 -8
  454. package/es/components/tree/src/tree.mjs.map +1 -1
  455. package/es/components/tree/src/tree.type.d.ts +6 -6
  456. package/es/components/tree/src/tree.vue.d.ts +171 -79
  457. package/es/components/tree-v2/src/composables/useTree.d.ts +0 -1
  458. package/es/components/tree-v2/src/composables/useTree.mjs +5 -4
  459. package/es/components/tree-v2/src/composables/useTree.mjs.map +1 -1
  460. package/es/components/tree-v2/src/tree-node.mjs +3 -1
  461. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  462. package/es/components/tree-v2/src/tree.mjs +1 -2
  463. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  464. package/es/components/tree-v2/src/tree.vue.d.ts +3 -3
  465. package/es/components/tree-v2/src/types.d.ts +1 -0
  466. package/es/components/upload/index.mjs +1 -1
  467. package/es/components/upload/src/upload-content.mjs +196 -33
  468. package/es/components/upload/src/upload-content.mjs.map +1 -1
  469. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  470. package/es/components/upload/src/upload-content2.mjs +33 -196
  471. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  472. package/es/components/upload/src/upload.vue.d.ts +1 -1
  473. package/es/components/upload/src/upload2.mjs +1 -1
  474. package/es/components/visual-hidden/index.mjs +3 -3
  475. package/es/components/visual-hidden/src/visual-hidden.mjs +35 -6
  476. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  477. package/es/components/visual-hidden/src/visual-hidden2.mjs +6 -35
  478. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  479. package/es/index.d.ts +2608 -2434
  480. package/es/index.mjs +17 -17
  481. package/es/version.d.ts +1 -1
  482. package/es/version.mjs +1 -1
  483. package/es/version.mjs.map +1 -1
  484. package/lib/components/autocomplete/index.js +2 -2
  485. package/lib/components/autocomplete/src/autocomplete.js +368 -79
  486. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  487. package/lib/components/autocomplete/src/autocomplete2.js +79 -368
  488. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  489. package/lib/components/avatar/index.js +2 -2
  490. package/lib/components/avatar/src/avatar.js +65 -32
  491. package/lib/components/avatar/src/avatar.js.map +1 -1
  492. package/lib/components/avatar/src/avatar2.js +32 -65
  493. package/lib/components/avatar/src/avatar2.js.map +1 -1
  494. package/lib/components/calendar/index.js +2 -2
  495. package/lib/components/calendar/src/calendar.js +134 -17
  496. package/lib/components/calendar/src/calendar.js.map +1 -1
  497. package/lib/components/calendar/src/calendar2.js +17 -134
  498. package/lib/components/calendar/src/calendar2.js.map +1 -1
  499. package/lib/components/cascader/src/cascader.d.ts +2 -2
  500. package/lib/components/cascader/src/cascader.js +3 -2
  501. package/lib/components/cascader/src/cascader.js.map +1 -1
  502. package/lib/components/cascader/src/cascader.vue.d.ts +4 -4
  503. package/lib/components/cascader-panel/index.js +2 -0
  504. package/lib/components/cascader-panel/index.js.map +1 -1
  505. package/lib/components/cascader-panel/src/config.d.ts +26 -2
  506. package/lib/components/cascader-panel/src/config.js +20 -0
  507. package/lib/components/cascader-panel/src/config.js.map +1 -1
  508. package/lib/components/cascader-panel/src/index.js +48 -53
  509. package/lib/components/cascader-panel/src/index.js.map +1 -1
  510. package/lib/components/cascader-panel/src/index.vue.d.ts +46 -46
  511. package/lib/components/cascader-panel/src/instance.d.ts +2 -0
  512. package/lib/components/cascader-panel/src/menu.js +75 -92
  513. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  514. package/lib/components/cascader-panel/src/menu.vue.d.ts +11 -30
  515. package/lib/components/cascader-panel/src/node-content.d.ts +14 -19
  516. package/lib/components/cascader-panel/src/node-content.js +28 -17
  517. package/lib/components/cascader-panel/src/node-content.js.map +1 -1
  518. package/lib/components/cascader-panel/src/node.d.ts +9 -8
  519. package/lib/components/cascader-panel/src/node.js +12 -12
  520. package/lib/components/cascader-panel/src/node.js.map +1 -1
  521. package/lib/components/cascader-panel/src/node.vue.d.ts +3 -36
  522. package/lib/components/cascader-panel/src/node2.js +90 -118
  523. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  524. package/lib/components/cascader-panel/src/types.d.ts +6 -6
  525. package/lib/components/cascader-panel/src/types.js.map +1 -1
  526. package/lib/components/check-tag/index.js +2 -2
  527. package/lib/components/check-tag/src/check-tag.js +38 -15
  528. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  529. package/lib/components/check-tag/src/check-tag2.js +15 -38
  530. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  531. package/lib/components/checkbox/index.js +2 -2
  532. package/lib/components/checkbox/src/checkbox-button.js +1 -1
  533. package/lib/components/checkbox/src/checkbox.js +60 -119
  534. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  535. package/lib/components/checkbox/src/checkbox2.js +119 -60
  536. package/lib/components/checkbox/src/checkbox2.js.map +1 -1
  537. package/lib/components/color-picker/src/color-picker.d.ts +3 -1
  538. package/lib/components/color-picker/src/color-picker.js +8 -3
  539. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  540. package/lib/components/color-picker/src/color-picker.vue.d.ts +8 -2
  541. package/lib/components/color-picker/src/color-picker2.js +20 -18
  542. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  543. package/lib/components/color-picker/src/utils/color.d.ts +1 -1
  544. package/lib/components/color-picker/src/utils/color.js.map +1 -1
  545. package/lib/components/drawer/index.js +2 -2
  546. package/lib/components/drawer/src/drawer.js +27 -178
  547. package/lib/components/drawer/src/drawer.js.map +1 -1
  548. package/lib/components/drawer/src/drawer2.js +178 -27
  549. package/lib/components/drawer/src/drawer2.js.map +1 -1
  550. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  551. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  552. package/lib/components/dropdown/src/dropdown2.js +1 -1
  553. package/lib/components/form/index.js +2 -2
  554. package/lib/components/form/src/form.js +55 -160
  555. package/lib/components/form/src/form.js.map +1 -1
  556. package/lib/components/form/src/form2.js +160 -55
  557. package/lib/components/form/src/form2.js.map +1 -1
  558. package/lib/components/image/index.js +2 -2
  559. package/lib/components/image/src/image.js +225 -68
  560. package/lib/components/image/src/image.js.map +1 -1
  561. package/lib/components/image/src/image2.js +68 -225
  562. package/lib/components/image/src/image2.js.map +1 -1
  563. package/lib/components/index.js +18 -16
  564. package/lib/components/index.js.map +1 -1
  565. package/lib/components/input/index.js +2 -2
  566. package/lib/components/input/src/input.js +104 -434
  567. package/lib/components/input/src/input.js.map +1 -1
  568. package/lib/components/input/src/input2.js +434 -104
  569. package/lib/components/input/src/input2.js.map +1 -1
  570. package/lib/components/mention/src/mention.js +1 -1
  571. package/lib/components/mention/src/mention2.js +1 -1
  572. package/lib/components/message/index.js +1 -1
  573. package/lib/components/message/src/message.js +152 -94
  574. package/lib/components/message/src/message.js.map +1 -1
  575. package/lib/components/message/src/message2.js +94 -152
  576. package/lib/components/message/src/message2.js.map +1 -1
  577. package/lib/components/message/src/method.js +2 -2
  578. package/lib/components/pagination/src/components/jumper.js +58 -7
  579. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  580. package/lib/components/pagination/src/components/jumper2.js +7 -58
  581. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  582. package/lib/components/pagination/src/pagination.js +1 -1
  583. package/lib/components/radio/index.js +2 -2
  584. package/lib/components/radio/src/radio-group.js +35 -65
  585. package/lib/components/radio/src/radio-group.js.map +1 -1
  586. package/lib/components/radio/src/radio-group2.js +65 -35
  587. package/lib/components/radio/src/radio-group2.js.map +1 -1
  588. package/lib/components/roving-focus-group/index.js +2 -2
  589. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  590. package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -31
  591. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  592. package/lib/components/roving-focus-group/src/roving-focus-group2.js +31 -27
  593. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  594. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  595. package/lib/components/row/index.js +2 -2
  596. package/lib/components/row/src/row.js +30 -44
  597. package/lib/components/row/src/row.js.map +1 -1
  598. package/lib/components/row/src/row2.js +44 -30
  599. package/lib/components/row/src/row2.js.map +1 -1
  600. package/lib/components/select/index.js +1 -1
  601. package/lib/components/select/src/option.js +14 -89
  602. package/lib/components/select/src/option.js.map +1 -1
  603. package/lib/components/select/src/option2.js +89 -14
  604. package/lib/components/select/src/option2.js.map +1 -1
  605. package/lib/components/select/src/select2.js +1 -1
  606. package/lib/components/select/src/useOption.js +1 -1
  607. package/lib/components/space/src/space.js +0 -2
  608. package/lib/components/space/src/space.js.map +1 -1
  609. package/lib/components/table/src/store/index.js +0 -1
  610. package/lib/components/table/src/store/index.js.map +1 -1
  611. package/lib/components/table/src/store/watcher.js +0 -10
  612. package/lib/components/table/src/store/watcher.js.map +1 -1
  613. package/lib/components/tabs/src/tab-bar2.js +1 -1
  614. package/lib/components/text/index.js +2 -2
  615. package/lib/components/text/src/text.js +67 -21
  616. package/lib/components/text/src/text.js.map +1 -1
  617. package/lib/components/text/src/text2.js +21 -67
  618. package/lib/components/text/src/text2.js.map +1 -1
  619. package/lib/components/time-select/index.js +2 -2
  620. package/lib/components/time-select/src/time-select.js +137 -54
  621. package/lib/components/time-select/src/time-select.js.map +1 -1
  622. package/lib/components/time-select/src/time-select2.js +54 -137
  623. package/lib/components/time-select/src/time-select2.js.map +1 -1
  624. package/lib/components/timeline/index.js +2 -2
  625. package/lib/components/timeline/src/timeline-item.js +72 -33
  626. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  627. package/lib/components/timeline/src/timeline-item2.js +33 -72
  628. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  629. package/lib/components/tooltip-v2/index.js +5 -5
  630. package/lib/components/tooltip-v2/src/arrow.js +37 -22
  631. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  632. package/lib/components/tooltip-v2/src/arrow2.js +22 -37
  633. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  634. package/lib/components/tooltip-v2/src/content.js +110 -48
  635. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  636. package/lib/components/tooltip-v2/src/content2.js +48 -110
  637. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  638. package/lib/components/tooltip-v2/src/tooltip.js +78 -20
  639. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  640. package/lib/components/tooltip-v2/src/tooltip2.js +20 -78
  641. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  642. package/lib/components/tooltip-v2/src/trigger.js +89 -12
  643. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  644. package/lib/components/tooltip-v2/src/trigger2.js +12 -89
  645. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  646. package/lib/components/tree/src/model/node.d.ts +9 -9
  647. package/lib/components/tree/src/model/node.js +13 -9
  648. package/lib/components/tree/src/model/node.js.map +1 -1
  649. package/lib/components/tree/src/model/tree-store.d.ts +8 -8
  650. package/lib/components/tree/src/model/tree-store.js +21 -11
  651. package/lib/components/tree/src/model/tree-store.js.map +1 -1
  652. package/lib/components/tree/src/model/useDragNode.d.ts +221 -13
  653. package/lib/components/tree/src/model/useDragNode.js +22 -10
  654. package/lib/components/tree/src/model/useDragNode.js.map +1 -1
  655. package/lib/components/tree/src/model/useKeydown.d.ts +1 -1
  656. package/lib/components/tree/src/model/useKeydown.js +2 -0
  657. package/lib/components/tree/src/model/useKeydown.js.map +1 -1
  658. package/lib/components/tree/src/model/useNodeExpandEventBroadcast.d.ts +7 -2
  659. package/lib/components/tree/src/model/useNodeExpandEventBroadcast.js +2 -1
  660. package/lib/components/tree/src/model/useNodeExpandEventBroadcast.js.map +1 -1
  661. package/lib/components/tree/src/model/util.d.ts +2 -2
  662. package/lib/components/tree/src/model/util.js.map +1 -1
  663. package/lib/components/tree/src/tree.js +15 -8
  664. package/lib/components/tree/src/tree.js.map +1 -1
  665. package/lib/components/tree/src/tree.type.d.ts +6 -6
  666. package/lib/components/tree/src/tree.vue.d.ts +171 -79
  667. package/lib/components/tree-v2/src/composables/useTree.d.ts +0 -1
  668. package/lib/components/tree-v2/src/composables/useTree.js +5 -4
  669. package/lib/components/tree-v2/src/composables/useTree.js.map +1 -1
  670. package/lib/components/tree-v2/src/tree-node.js +3 -1
  671. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  672. package/lib/components/tree-v2/src/tree.js +1 -2
  673. package/lib/components/tree-v2/src/tree.js.map +1 -1
  674. package/lib/components/tree-v2/src/tree.vue.d.ts +3 -3
  675. package/lib/components/tree-v2/src/types.d.ts +1 -0
  676. package/lib/components/upload/index.js +1 -1
  677. package/lib/components/upload/src/upload-content.js +194 -31
  678. package/lib/components/upload/src/upload-content.js.map +1 -1
  679. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  680. package/lib/components/upload/src/upload-content2.js +31 -194
  681. package/lib/components/upload/src/upload-content2.js.map +1 -1
  682. package/lib/components/upload/src/upload.vue.d.ts +1 -1
  683. package/lib/components/upload/src/upload2.js +1 -1
  684. package/lib/components/visual-hidden/index.js +2 -2
  685. package/lib/components/visual-hidden/src/visual-hidden.js +35 -6
  686. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  687. package/lib/components/visual-hidden/src/visual-hidden2.js +6 -35
  688. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  689. package/lib/index.d.ts +2608 -2434
  690. package/lib/index.js +18 -16
  691. package/lib/index.js.map +1 -1
  692. package/lib/version.d.ts +1 -1
  693. package/lib/version.js +1 -1
  694. package/lib/version.js.map +1 -1
  695. package/package.json +2 -2
  696. package/tags.json +1 -1
  697. package/web-types.json +1 -1
@@ -1,4 +1,6 @@
1
- import type { InjectionKey } from 'vue';
1
+ import type { InjectionKey, Ref, SetupContext } from 'vue';
2
+ import type { AllowDragFunction, AllowDropFunction, FakeNode, NodeDropType } from '../tree.type';
3
+ import type TreeStore from './tree-store';
2
4
  import type Node from './node';
3
5
  interface TreeNode {
4
6
  node: Node;
@@ -8,25 +10,231 @@ interface DragOptions {
8
10
  event: DragEvent;
9
11
  treeNode: TreeNode;
10
12
  }
13
+ interface Props {
14
+ props: {
15
+ allowDrag?: AllowDragFunction;
16
+ allowDrop?: AllowDropFunction;
17
+ };
18
+ ctx: SetupContext<string[]>;
19
+ el$: Ref<HTMLElement | null>;
20
+ dropIndicator$: Ref<HTMLElement | null>;
21
+ store: Ref<TreeStore>;
22
+ }
11
23
  export interface DragEvents {
12
24
  treeNodeDragStart: (options: DragOptions) => void;
13
25
  treeNodeDragOver: (options: DragOptions) => void;
14
26
  treeNodeDragEnd: (event: DragEvent) => void;
15
27
  }
16
28
  export declare const dragEventsKey: InjectionKey<DragEvents>;
17
- export declare function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }: {
18
- props: any;
19
- ctx: any;
20
- el$: any;
21
- dropIndicator$: any;
22
- store: any;
23
- }): {
24
- dragState: import("vue").Ref<{
25
- showDropIndicator: boolean;
26
- draggingNode: null;
27
- dropNode: null;
29
+ export declare function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store, }: Props): {
30
+ dragState: Ref<{
28
31
  allowDrop: boolean;
29
- dropType: null;
32
+ dropType: NodeDropType | null;
33
+ draggingNode: {
34
+ node: {
35
+ id: number;
36
+ text: string | null;
37
+ checked: boolean;
38
+ indeterminate: boolean;
39
+ data: import("../tree.type").TreeNodeData;
40
+ expanded: boolean;
41
+ parent: any | null;
42
+ visible: boolean;
43
+ isCurrent: boolean;
44
+ store: {
45
+ currentNode: any | null;
46
+ currentNodeKey: import("../tree.type").TreeKey | null;
47
+ nodesMap: import("../tree.type").TreeStoreNodesMap;
48
+ root: any;
49
+ data: import("../tree.type").TreeNodeData[];
50
+ lazy: boolean;
51
+ load?: import("../tree.type").LoadFunction | undefined;
52
+ filterNodeMethod?: import("../tree.type").FilterNodeMethodFunction | undefined;
53
+ key: import("../tree.type").TreeKey;
54
+ defaultCheckedKeys?: import("../tree.type").TreeKey[] | undefined;
55
+ checkStrictly: boolean;
56
+ defaultExpandedKeys?: import("../tree.type").TreeKey[] | undefined;
57
+ autoExpandParent: boolean;
58
+ defaultExpandAll: boolean;
59
+ checkDescendants: boolean;
60
+ props: {
61
+ children?: string | undefined;
62
+ label?: (string | ((data: import("../tree.type").TreeNodeData, node: Node) => string)) | undefined;
63
+ disabled?: (string | ((data: import("../tree.type").TreeNodeData, node: Node) => boolean)) | undefined;
64
+ isLeaf?: (string | ((data: import("../tree.type").TreeNodeData, node: Node) => boolean)) | undefined;
65
+ class?: ((data: import("../tree.type").TreeNodeData, node: Node) => string | {
66
+ [key: string]: boolean;
67
+ }) | undefined;
68
+ };
69
+ initialize: () => void;
70
+ filter: (value: import("../tree.type").FilterValue) => void;
71
+ setData: (newVal: import("../tree.type").TreeData) => void;
72
+ getNode: (data: import("../tree.type").TreeKey | import("../tree.type").TreeNodeData | Node) => Node;
73
+ insertBefore: (data: import("../tree.type").TreeNodeData, refData: import("../tree.type").TreeKey | import("../tree.type").TreeNodeData | Node) => void;
74
+ insertAfter: (data: import("../tree.type").TreeNodeData, refData: import("../tree.type").TreeKey | import("../tree.type").TreeNodeData | Node) => void;
75
+ remove: (data: import("../tree.type").TreeNodeData | Node) => void;
76
+ append: (data: import("../tree.type").TreeNodeData, parentData: import("../tree.type").TreeNodeData | import("../tree.type").TreeKey | Node) => void;
77
+ _initDefaultCheckedNodes: () => void;
78
+ _initDefaultCheckedNode: (node: Node) => void;
79
+ setDefaultCheckedKey: (newVal: import("../tree.type").TreeKey[]) => void;
80
+ registerNode: (node: Node) => void;
81
+ deregisterNode: (node: Node) => void;
82
+ getCheckedNodes: (leafOnly?: boolean, includeHalfChecked?: boolean) => import("../tree.type").TreeNodeData[];
83
+ getCheckedKeys: (leafOnly?: boolean) => import("../tree.type").TreeKey[];
84
+ getHalfCheckedNodes: () => import("../tree.type").TreeNodeData[];
85
+ getHalfCheckedKeys: () => import("../tree.type").TreeKey[];
86
+ _getAllNodes: () => Node[];
87
+ updateChildren: (key: import("../tree.type").TreeKey, data: import("../tree.type").TreeData) => void;
88
+ _setCheckedKeys: (key: import("../tree.type").TreeKey, leafOnly: boolean | undefined, checkedKeys: {
89
+ [key: string]: boolean;
90
+ }) => void;
91
+ setCheckedNodes: (array: Node[], leafOnly?: boolean) => void;
92
+ setCheckedKeys: (keys: import("../tree.type").TreeKey[], leafOnly?: boolean) => void;
93
+ setDefaultExpandedKeys: (keys: import("../tree.type").TreeKey[]) => void;
94
+ setChecked: (data: import("../tree.type").TreeKey | import("../tree.type").TreeNodeData, checked: boolean, deep: boolean) => void;
95
+ getCurrentNode: () => Node | null;
96
+ setCurrentNode: (currentNode: Node) => void;
97
+ setUserCurrentNode: (node: Node, shouldAutoExpandParent?: boolean) => void;
98
+ setCurrentNodeKey: (key: import("../tree.type").TreeKey | null, shouldAutoExpandParent?: boolean) => void;
99
+ };
100
+ isLeafByUser: boolean | undefined;
101
+ isLeaf: boolean | undefined;
102
+ canFocus: boolean;
103
+ level: number;
104
+ loaded: boolean;
105
+ childNodes: any[];
106
+ loading: boolean;
107
+ initialize: () => void;
108
+ setData: (data: import("../tree.type").TreeNodeData) => void;
109
+ readonly label: string;
110
+ readonly key: import("../tree.type").TreeKey | null | undefined;
111
+ readonly disabled: boolean;
112
+ readonly nextSibling: any | null;
113
+ readonly previousSibling: any | null;
114
+ contains: (target: Node, deep?: boolean) => boolean;
115
+ remove: () => void;
116
+ insertChild: (child?: FakeNode | Node, index?: number, batch?: boolean) => void;
117
+ insertBefore: (child: FakeNode | Node, ref: Node) => void;
118
+ insertAfter: (child: FakeNode | Node, ref: Node) => void;
119
+ removeChild: (child: Node) => void;
120
+ removeChildByData: (data: import("../tree.type").TreeNodeData | null) => void;
121
+ expand: (callback?: (() => void) | null, expandParent?: boolean) => void;
122
+ doCreateChildren: (array: import("../tree.type").TreeNodeData[], defaultProps?: import("../tree.type").TreeNodeLoadedDefaultProps) => void;
123
+ collapse: () => void;
124
+ shouldLoadData: () => boolean;
125
+ updateLeafState: () => void;
126
+ setChecked: (value?: boolean | string, deep?: boolean, recursion?: boolean, passValue?: boolean) => void;
127
+ getChildren: (forceInit?: boolean) => import("../tree.type").TreeNodeData | import("../tree.type").TreeNodeData[] | null;
128
+ updateChildren: () => void;
129
+ loadData: (callback: (data?: import("../tree.type").TreeNodeData[]) => void, defaultProps?: import("../tree.type").TreeNodeLoadedDefaultProps) => void;
130
+ eachNode: (callback: (node: Node) => void) => void;
131
+ reInitChecked: () => void;
132
+ };
133
+ $el?: HTMLElement | undefined;
134
+ } | null;
135
+ showDropIndicator: boolean;
136
+ dropNode: {
137
+ node: {
138
+ id: number;
139
+ text: string | null;
140
+ checked: boolean;
141
+ indeterminate: boolean;
142
+ data: import("../tree.type").TreeNodeData;
143
+ expanded: boolean;
144
+ parent: any | null;
145
+ visible: boolean;
146
+ isCurrent: boolean;
147
+ store: {
148
+ currentNode: any | null;
149
+ currentNodeKey: import("../tree.type").TreeKey | null;
150
+ nodesMap: import("../tree.type").TreeStoreNodesMap;
151
+ root: any;
152
+ data: import("../tree.type").TreeNodeData[];
153
+ lazy: boolean;
154
+ load?: import("../tree.type").LoadFunction | undefined;
155
+ filterNodeMethod?: import("../tree.type").FilterNodeMethodFunction | undefined;
156
+ key: import("../tree.type").TreeKey;
157
+ defaultCheckedKeys?: import("../tree.type").TreeKey[] | undefined;
158
+ checkStrictly: boolean;
159
+ defaultExpandedKeys?: import("../tree.type").TreeKey[] | undefined;
160
+ autoExpandParent: boolean;
161
+ defaultExpandAll: boolean;
162
+ checkDescendants: boolean;
163
+ props: {
164
+ children?: string | undefined;
165
+ label?: (string | ((data: import("../tree.type").TreeNodeData, node: Node) => string)) | undefined;
166
+ disabled?: (string | ((data: import("../tree.type").TreeNodeData, node: Node) => boolean)) | undefined;
167
+ isLeaf?: (string | ((data: import("../tree.type").TreeNodeData, node: Node) => boolean)) | undefined;
168
+ class?: ((data: import("../tree.type").TreeNodeData, node: Node) => string | {
169
+ [key: string]: boolean;
170
+ }) | undefined;
171
+ };
172
+ initialize: () => void;
173
+ filter: (value: import("../tree.type").FilterValue) => void;
174
+ setData: (newVal: import("../tree.type").TreeData) => void;
175
+ getNode: (data: import("../tree.type").TreeKey | import("../tree.type").TreeNodeData | Node) => Node;
176
+ insertBefore: (data: import("../tree.type").TreeNodeData, refData: import("../tree.type").TreeKey | import("../tree.type").TreeNodeData | Node) => void;
177
+ insertAfter: (data: import("../tree.type").TreeNodeData, refData: import("../tree.type").TreeKey | import("../tree.type").TreeNodeData | Node) => void;
178
+ remove: (data: import("../tree.type").TreeNodeData | Node) => void;
179
+ append: (data: import("../tree.type").TreeNodeData, parentData: import("../tree.type").TreeNodeData | import("../tree.type").TreeKey | Node) => void;
180
+ _initDefaultCheckedNodes: () => void;
181
+ _initDefaultCheckedNode: (node: Node) => void;
182
+ setDefaultCheckedKey: (newVal: import("../tree.type").TreeKey[]) => void;
183
+ registerNode: (node: Node) => void;
184
+ deregisterNode: (node: Node) => void;
185
+ getCheckedNodes: (leafOnly?: boolean, includeHalfChecked?: boolean) => import("../tree.type").TreeNodeData[];
186
+ getCheckedKeys: (leafOnly?: boolean) => import("../tree.type").TreeKey[];
187
+ getHalfCheckedNodes: () => import("../tree.type").TreeNodeData[];
188
+ getHalfCheckedKeys: () => import("../tree.type").TreeKey[];
189
+ _getAllNodes: () => Node[];
190
+ updateChildren: (key: import("../tree.type").TreeKey, data: import("../tree.type").TreeData) => void;
191
+ _setCheckedKeys: (key: import("../tree.type").TreeKey, leafOnly: boolean | undefined, checkedKeys: {
192
+ [key: string]: boolean;
193
+ }) => void;
194
+ setCheckedNodes: (array: Node[], leafOnly?: boolean) => void;
195
+ setCheckedKeys: (keys: import("../tree.type").TreeKey[], leafOnly?: boolean) => void;
196
+ setDefaultExpandedKeys: (keys: import("../tree.type").TreeKey[]) => void;
197
+ setChecked: (data: import("../tree.type").TreeKey | import("../tree.type").TreeNodeData, checked: boolean, deep: boolean) => void;
198
+ getCurrentNode: () => Node | null;
199
+ setCurrentNode: (currentNode: Node) => void;
200
+ setUserCurrentNode: (node: Node, shouldAutoExpandParent?: boolean) => void;
201
+ setCurrentNodeKey: (key: import("../tree.type").TreeKey | null, shouldAutoExpandParent?: boolean) => void;
202
+ };
203
+ isLeafByUser: boolean | undefined;
204
+ isLeaf: boolean | undefined;
205
+ canFocus: boolean;
206
+ level: number;
207
+ loaded: boolean;
208
+ childNodes: any[];
209
+ loading: boolean;
210
+ initialize: () => void;
211
+ setData: (data: import("../tree.type").TreeNodeData) => void;
212
+ readonly label: string;
213
+ readonly key: import("../tree.type").TreeKey | null | undefined;
214
+ readonly disabled: boolean;
215
+ readonly nextSibling: any | null;
216
+ readonly previousSibling: any | null;
217
+ contains: (target: Node, deep?: boolean) => boolean;
218
+ remove: () => void;
219
+ insertChild: (child?: FakeNode | Node, index?: number, batch?: boolean) => void;
220
+ insertBefore: (child: FakeNode | Node, ref: Node) => void;
221
+ insertAfter: (child: FakeNode | Node, ref: Node) => void;
222
+ removeChild: (child: Node) => void;
223
+ removeChildByData: (data: import("../tree.type").TreeNodeData | null) => void;
224
+ expand: (callback?: (() => void) | null, expandParent?: boolean) => void;
225
+ doCreateChildren: (array: import("../tree.type").TreeNodeData[], defaultProps?: import("../tree.type").TreeNodeLoadedDefaultProps) => void;
226
+ collapse: () => void;
227
+ shouldLoadData: () => boolean;
228
+ updateLeafState: () => void;
229
+ setChecked: (value?: boolean | string, deep?: boolean, recursion?: boolean, passValue?: boolean) => void;
230
+ getChildren: (forceInit?: boolean) => import("../tree.type").TreeNodeData | import("../tree.type").TreeNodeData[] | null;
231
+ updateChildren: () => void;
232
+ loadData: (callback: (data?: import("../tree.type").TreeNodeData[]) => void, defaultProps?: import("../tree.type").TreeNodeLoadedDefaultProps) => void;
233
+ eachNode: (callback: (node: Node) => void) => void;
234
+ reInitChecked: () => void;
235
+ };
236
+ $el?: HTMLElement | undefined;
237
+ } | null;
30
238
  }>;
31
239
  };
32
240
  export {};
@@ -8,7 +8,13 @@ var shared = require('@vue/shared');
8
8
  var style = require('../../../../utils/dom/style.js');
9
9
 
10
10
  const dragEventsKey = Symbol("dragEvents");
11
- function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }) {
11
+ function useDragNodeHandler({
12
+ props,
13
+ ctx,
14
+ el$,
15
+ dropIndicator$,
16
+ store
17
+ }) {
12
18
  const ns = index.useNamespace("tree");
13
19
  const dragState = vue.ref({
14
20
  showDropIndicator: false,
@@ -18,6 +24,8 @@ function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }) {
18
24
  dropType: null
19
25
  });
20
26
  const treeNodeDragStart = ({ event, treeNode }) => {
27
+ if (!event.dataTransfer)
28
+ return;
21
29
  if (shared.isFunction(props.allowDrag) && !props.allowDrag(treeNode.node)) {
22
30
  event.preventDefault();
23
31
  return false;
@@ -31,6 +39,8 @@ function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }) {
31
39
  ctx.emit("node-drag-start", treeNode.node, event);
32
40
  };
33
41
  const treeNodeDragOver = ({ event, treeNode }) => {
42
+ if (!event.dataTransfer)
43
+ return;
34
44
  const dropNode = treeNode;
35
45
  const oldDropNode = dragState.value.dropNode;
36
46
  if (oldDropNode && oldDropNode.node.id !== dropNode.node.id) {
@@ -74,7 +84,8 @@ function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }) {
74
84
  dropInner = false;
75
85
  dropNext = false;
76
86
  }
77
- const targetPosition = dropNode.$el.querySelector(`.${ns.be("node", "content")}`).getBoundingClientRect();
87
+ const dropEl = dropNode.$el;
88
+ const targetPosition = dropEl.querySelector(`.${ns.be("node", "content")}`).getBoundingClientRect();
78
89
  const treePosition = el$.value.getBoundingClientRect();
79
90
  let dropType;
80
91
  const prevPercent = dropPrev ? dropInner ? 0.25 : dropNext ? 0.45 : 1 : -1;
@@ -90,7 +101,7 @@ function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }) {
90
101
  } else {
91
102
  dropType = "none";
92
103
  }
93
- const iconPosition = dropNode.$el.querySelector(`.${ns.be("node", "expand-icon")}`).getBoundingClientRect();
104
+ const iconPosition = dropEl.querySelector(`.${ns.be("node", "expand-icon")}`).getBoundingClientRect();
94
105
  const dropIndicator = dropIndicator$.value;
95
106
  if (dropType === "before") {
96
107
  indicatorTop = iconPosition.top - treePosition.top;
@@ -100,9 +111,9 @@ function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }) {
100
111
  dropIndicator.style.top = `${indicatorTop}px`;
101
112
  dropIndicator.style.left = `${iconPosition.right - treePosition.left}px`;
102
113
  if (dropType === "inner") {
103
- style.addClass(dropNode.$el, ns.is("drop-inner"));
114
+ style.addClass(dropEl, ns.is("drop-inner"));
104
115
  } else {
105
- style.removeClass(dropNode.$el, ns.is("drop-inner"));
116
+ style.removeClass(dropEl, ns.is("drop-inner"));
106
117
  }
107
118
  dragState.value.showDropIndicator = dropType === "before" || dropType === "after";
108
119
  dragState.value.allowDrop = dragState.value.showDropIndicator || userAllowDropInner;
@@ -110,20 +121,21 @@ function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }) {
110
121
  ctx.emit("node-drag-over", draggingNode.node, dropNode.node, event);
111
122
  };
112
123
  const treeNodeDragEnd = (event) => {
124
+ var _a, _b;
113
125
  const { draggingNode, dropType, dropNode } = dragState.value;
114
126
  event.preventDefault();
115
127
  if (event.dataTransfer) {
116
128
  event.dataTransfer.dropEffect = "move";
117
129
  }
118
- if (draggingNode && dropNode) {
130
+ if ((draggingNode == null ? void 0 : draggingNode.node.data) && dropNode) {
119
131
  const draggingNodeCopy = { data: draggingNode.node.data };
120
132
  if (dropType !== "none") {
121
133
  draggingNode.node.remove();
122
134
  }
123
135
  if (dropType === "before") {
124
- dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node);
136
+ (_a = dropNode.node.parent) == null ? void 0 : _a.insertBefore(draggingNodeCopy, dropNode.node);
125
137
  } else if (dropType === "after") {
126
- dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node);
138
+ (_b = dropNode.node.parent) == null ? void 0 : _b.insertAfter(draggingNodeCopy, dropNode.node);
127
139
  } else if (dropType === "inner") {
128
140
  dropNode.node.insertChild(draggingNodeCopy);
129
141
  }
@@ -131,8 +143,8 @@ function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }) {
131
143
  store.value.registerNode(draggingNodeCopy);
132
144
  if (store.value.key) {
133
145
  draggingNode.node.eachNode((node) => {
134
- var _a;
135
- (_a = store.value.nodesMap[node.data[store.value.key]]) == null ? void 0 : _a.setChecked(node.checked, !store.value.checkStrictly);
146
+ var _a2;
147
+ (_a2 = store.value.nodesMap[node.data[store.value.key]]) == null ? void 0 : _a2.setChecked(node.checked, !store.value.checkStrictly);
136
148
  });
137
149
  }
138
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useDragNode.js","sources":["../../../../../../../packages/components/tree/src/model/useDragNode.ts"],"sourcesContent":["// @ts-nocheck\nimport { provide, ref } from 'vue'\nimport { addClass, isFunction, removeClass } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type { InjectionKey } from 'vue'\nimport type Node from './node'\nimport type { NodeDropType } from '../tree.type'\n\ninterface TreeNode {\n node: Node\n $el?: HTMLElement\n}\n\ninterface DragOptions {\n event: DragEvent\n treeNode: TreeNode\n}\n\nexport interface DragEvents {\n treeNodeDragStart: (options: DragOptions) => void\n treeNodeDragOver: (options: DragOptions) => void\n treeNodeDragEnd: (event: DragEvent) => void\n}\n\nexport const dragEventsKey: InjectionKey<DragEvents> = Symbol('dragEvents')\n\nexport function useDragNodeHandler({ props, ctx, el$, dropIndicator$, store }) {\n const ns = useNamespace('tree')\n const dragState = ref({\n showDropIndicator: false,\n draggingNode: null,\n dropNode: null,\n allowDrop: true,\n dropType: null,\n })\n\n const treeNodeDragStart = ({ event, treeNode }: DragOptions) => {\n if (isFunction(props.allowDrag) && !props.allowDrag(treeNode.node)) {\n event.preventDefault()\n return false\n }\n event.dataTransfer.effectAllowed = 'move'\n\n // wrap in try catch to address IE's error when first param is 'text/plain'\n try {\n // setData is required for draggable to work in FireFox\n // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox\n event.dataTransfer.setData('text/plain', '')\n } catch {}\n dragState.value.draggingNode = treeNode\n ctx.emit('node-drag-start', treeNode.node, event)\n }\n\n const treeNodeDragOver = ({ event, treeNode }: DragOptions) => {\n const dropNode = treeNode\n const oldDropNode = dragState.value.dropNode\n if (oldDropNode && oldDropNode.node.id !== dropNode.node.id) {\n removeClass(oldDropNode.$el, ns.is('drop-inner'))\n }\n const draggingNode = dragState.value.draggingNode\n if (!draggingNode || !dropNode) return\n\n let dropPrev = true\n let dropInner = true\n let dropNext = true\n let userAllowDropInner = true\n if (isFunction(props.allowDrop)) {\n dropPrev = props.allowDrop(draggingNode.node, dropNode.node, 'prev')\n userAllowDropInner = dropInner = props.allowDrop(\n draggingNode.node,\n dropNode.node,\n 'inner'\n )\n dropNext = props.allowDrop(draggingNode.node, dropNode.node, 'next')\n }\n event.dataTransfer.dropEffect =\n dropInner || dropPrev || dropNext ? 'move' : 'none'\n if (\n (dropPrev || dropInner || dropNext) &&\n oldDropNode?.node.id !== dropNode.node.id\n ) {\n if (oldDropNode) {\n ctx.emit('node-drag-leave', draggingNode.node, oldDropNode.node, event)\n }\n ctx.emit('node-drag-enter', draggingNode.node, dropNode.node, event)\n }\n\n if (dropPrev || dropInner || dropNext) {\n dragState.value.dropNode = dropNode\n } else {\n // Reset dragState.value.dropNode to null when allowDrop is transfer from true to false.(For issue #14704)\n dragState.value.dropNode = null\n }\n\n if (dropNode.node.nextSibling === draggingNode.node) {\n dropNext = false\n }\n if (dropNode.node.previousSibling === draggingNode.node) {\n dropPrev = false\n }\n if (dropNode.node.contains(draggingNode.node, false)) {\n dropInner = false\n }\n if (\n draggingNode.node === dropNode.node ||\n draggingNode.node.contains(dropNode.node)\n ) {\n dropPrev = false\n dropInner = false\n dropNext = false\n }\n\n // find target node without children, just calc content node height\n const targetPosition = dropNode.$el\n .querySelector(`.${ns.be('node', 'content')}`)\n .getBoundingClientRect()\n const treePosition = el$.value.getBoundingClientRect()\n\n let dropType: NodeDropType\n const prevPercent = dropPrev ? (dropInner ? 0.25 : dropNext ? 0.45 : 1) : -1\n const nextPercent = dropNext ? (dropInner ? 0.75 : dropPrev ? 0.55 : 0) : 1\n\n let indicatorTop = -9999\n const distance = event.clientY - targetPosition.top\n if (distance < targetPosition.height * prevPercent) {\n dropType = 'before'\n } else if (distance > targetPosition.height * nextPercent) {\n dropType = 'after'\n } else if (dropInner) {\n dropType = 'inner'\n } else {\n dropType = 'none'\n }\n\n const iconPosition = dropNode.$el\n .querySelector(`.${ns.be('node', 'expand-icon')}`)\n .getBoundingClientRect()\n const dropIndicator = dropIndicator$.value\n if (dropType === 'before') {\n indicatorTop = iconPosition.top - treePosition.top\n } else if (dropType === 'after') {\n indicatorTop = iconPosition.bottom - treePosition.top\n }\n dropIndicator.style.top = `${indicatorTop}px`\n dropIndicator.style.left = `${iconPosition.right - treePosition.left}px`\n\n if (dropType === 'inner') {\n addClass(dropNode.$el, ns.is('drop-inner'))\n } else {\n removeClass(dropNode.$el, ns.is('drop-inner'))\n }\n\n dragState.value.showDropIndicator =\n dropType === 'before' || dropType === 'after'\n dragState.value.allowDrop =\n dragState.value.showDropIndicator || userAllowDropInner\n dragState.value.dropType = dropType\n ctx.emit('node-drag-over', draggingNode.node, dropNode.node, event)\n }\n\n const treeNodeDragEnd = (event: DragEvent) => {\n const { draggingNode, dropType, dropNode } = dragState.value\n event.preventDefault()\n\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1911486\n if (event.dataTransfer) {\n event.dataTransfer.dropEffect = 'move'\n }\n\n if (draggingNode && dropNode) {\n const draggingNodeCopy = { data: draggingNode.node.data }\n if (dropType !== 'none') {\n draggingNode.node.remove()\n }\n if (dropType === 'before') {\n dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node)\n } else if (dropType === 'after') {\n dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node)\n } else if (dropType === 'inner') {\n dropNode.node.insertChild(draggingNodeCopy)\n }\n if (dropType !== 'none') {\n store.value.registerNode(draggingNodeCopy)\n if (store.value.key) {\n //restore checkbox state after dragging\n draggingNode.node.eachNode((node) => {\n store.value.nodesMap[node.data[store.value.key]]?.setChecked(\n node.checked,\n !store.value.checkStrictly\n )\n })\n }\n }\n\n removeClass(dropNode.$el, ns.is('drop-inner'))\n\n ctx.emit(\n 'node-drag-end',\n draggingNode.node,\n dropNode.node,\n dropType,\n event\n )\n if (dropType !== 'none') {\n ctx.emit('node-drop', draggingNode.node, dropNode.node, dropType, event)\n }\n }\n if (draggingNode && !dropNode) {\n ctx.emit('node-drag-end', draggingNode.node, null, dropType, event)\n }\n\n dragState.value.showDropIndicator = false\n dragState.value.draggingNode = null\n dragState.value.dropNode = null\n dragState.value.allowDrop = true\n }\n\n provide(dragEventsKey, {\n treeNodeDragStart,\n treeNodeDragOver,\n treeNodeDragEnd,\n })\n\n return {\n dragState,\n }\n}\n"],"names":["useNamespace","ref","isFunction","removeClass","addClass","provide"],"mappings":"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"}
1
+ {"version":3,"file":"useDragNode.js","sources":["../../../../../../../packages/components/tree/src/model/useDragNode.ts"],"sourcesContent":["import { provide, ref } from 'vue'\nimport { addClass, isFunction, removeClass } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type { InjectionKey, Ref, SetupContext } from 'vue'\nimport type {\n AllowDragFunction,\n AllowDropFunction,\n FakeNode,\n NodeDropType,\n} from '../tree.type'\nimport type TreeStore from './tree-store'\nimport type Node from './node'\n\ninterface TreeNode {\n node: Node\n $el?: HTMLElement\n}\n\ninterface DragOptions {\n event: DragEvent\n treeNode: TreeNode\n}\n\ninterface Props {\n props: {\n allowDrag?: AllowDragFunction\n allowDrop?: AllowDropFunction\n }\n ctx: SetupContext<string[]>\n el$: Ref<HTMLElement | null>\n dropIndicator$: Ref<HTMLElement | null>\n store: Ref<TreeStore>\n}\n\nexport interface DragEvents {\n treeNodeDragStart: (options: DragOptions) => void\n treeNodeDragOver: (options: DragOptions) => void\n treeNodeDragEnd: (event: DragEvent) => void\n}\n\nexport const dragEventsKey: InjectionKey<DragEvents> = Symbol('dragEvents')\n\nexport function useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n}: Props) {\n const ns = useNamespace('tree')\n const dragState = ref<{\n allowDrop: boolean\n dropType: NodeDropType | null\n draggingNode: TreeNode | null\n showDropIndicator: boolean\n dropNode: TreeNode | null\n }>({\n showDropIndicator: false,\n draggingNode: null,\n dropNode: null,\n allowDrop: true,\n dropType: null,\n })\n\n const treeNodeDragStart = ({ event, treeNode }: DragOptions) => {\n if (!event.dataTransfer) return\n if (isFunction(props.allowDrag) && !props.allowDrag(treeNode.node)) {\n event.preventDefault()\n return false\n }\n event.dataTransfer.effectAllowed = 'move'\n\n // wrap in try catch to address IE's error when first param is 'text/plain'\n try {\n // setData is required for draggable to work in FireFox\n // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox\n event.dataTransfer.setData('text/plain', '')\n } catch {}\n dragState.value.draggingNode = treeNode\n ctx.emit('node-drag-start', treeNode.node, event)\n }\n\n const treeNodeDragOver = ({ event, treeNode }: DragOptions) => {\n if (!event.dataTransfer) return\n const dropNode = treeNode\n const oldDropNode = dragState.value.dropNode\n if (oldDropNode && oldDropNode.node.id !== dropNode.node.id) {\n removeClass(oldDropNode.$el!, ns.is('drop-inner'))\n }\n const draggingNode = dragState.value.draggingNode\n if (!draggingNode || !dropNode) return\n\n let dropPrev = true\n let dropInner = true\n let dropNext = true\n let userAllowDropInner = true\n if (isFunction(props.allowDrop)) {\n dropPrev = props.allowDrop(draggingNode.node, dropNode.node, 'prev')\n userAllowDropInner = dropInner = props.allowDrop(\n draggingNode.node,\n dropNode.node,\n 'inner'\n )\n dropNext = props.allowDrop(draggingNode.node, dropNode.node, 'next')\n }\n event.dataTransfer.dropEffect =\n dropInner || dropPrev || dropNext ? 'move' : 'none'\n if (\n (dropPrev || dropInner || dropNext) &&\n oldDropNode?.node.id !== dropNode.node.id\n ) {\n if (oldDropNode) {\n ctx.emit('node-drag-leave', draggingNode.node, oldDropNode.node, event)\n }\n ctx.emit('node-drag-enter', draggingNode.node, dropNode.node, event)\n }\n\n if (dropPrev || dropInner || dropNext) {\n dragState.value.dropNode = dropNode\n } else {\n // Reset dragState.value.dropNode to null when allowDrop is transfer from true to false.(For issue #14704)\n dragState.value.dropNode = null\n }\n\n if (dropNode.node.nextSibling === draggingNode.node) {\n dropNext = false\n }\n if (dropNode.node.previousSibling === draggingNode.node) {\n dropPrev = false\n }\n if (dropNode.node.contains(draggingNode.node, false)) {\n dropInner = false\n }\n if (\n draggingNode.node === dropNode.node ||\n draggingNode.node.contains(dropNode.node)\n ) {\n dropPrev = false\n dropInner = false\n dropNext = false\n }\n const dropEl = dropNode.$el!\n\n // find target node without children, just calc content node height\n const targetPosition = dropEl\n .querySelector(`.${ns.be('node', 'content')}`)!\n .getBoundingClientRect()\n const treePosition = el$.value!.getBoundingClientRect()\n\n let dropType: NodeDropType\n const prevPercent = dropPrev ? (dropInner ? 0.25 : dropNext ? 0.45 : 1) : -1\n const nextPercent = dropNext ? (dropInner ? 0.75 : dropPrev ? 0.55 : 0) : 1\n\n let indicatorTop = -9999\n const distance = event.clientY - targetPosition.top\n if (distance < targetPosition.height * prevPercent) {\n dropType = 'before'\n } else if (distance > targetPosition.height * nextPercent) {\n dropType = 'after'\n } else if (dropInner) {\n dropType = 'inner'\n } else {\n dropType = 'none'\n }\n\n const iconPosition = dropEl\n .querySelector(`.${ns.be('node', 'expand-icon')}`)!\n .getBoundingClientRect()\n const dropIndicator = dropIndicator$.value\n if (dropType === 'before') {\n indicatorTop = iconPosition.top - treePosition.top\n } else if (dropType === 'after') {\n indicatorTop = iconPosition.bottom - treePosition.top\n }\n dropIndicator!.style.top = `${indicatorTop}px`\n dropIndicator!.style.left = `${iconPosition.right - treePosition.left}px`\n\n if (dropType === 'inner') {\n addClass(dropEl, ns.is('drop-inner'))\n } else {\n removeClass(dropEl, ns.is('drop-inner'))\n }\n\n dragState.value.showDropIndicator =\n dropType === 'before' || dropType === 'after'\n dragState.value.allowDrop =\n dragState.value.showDropIndicator || userAllowDropInner\n dragState.value.dropType = dropType\n ctx.emit('node-drag-over', draggingNode.node, dropNode.node, event)\n }\n\n const treeNodeDragEnd = (event: DragEvent) => {\n const { draggingNode, dropType, dropNode } = dragState.value\n event.preventDefault()\n\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1911486\n if (event.dataTransfer) {\n event.dataTransfer.dropEffect = 'move'\n }\n\n if (draggingNode?.node.data && dropNode) {\n const draggingNodeCopy: FakeNode = { data: draggingNode.node.data }\n if (dropType !== 'none') {\n draggingNode.node.remove()\n }\n if (dropType === 'before') {\n dropNode.node.parent?.insertBefore(draggingNodeCopy, dropNode.node)\n } else if (dropType === 'after') {\n dropNode.node.parent?.insertAfter(draggingNodeCopy, dropNode.node)\n } else if (dropType === 'inner') {\n dropNode.node.insertChild(draggingNodeCopy)\n }\n if (dropType !== 'none') {\n store.value.registerNode(draggingNodeCopy as any)\n if (store.value.key) {\n //restore checkbox state after dragging\n draggingNode.node.eachNode((node) => {\n store.value.nodesMap[node.data[store.value.key]]?.setChecked(\n node.checked,\n !store.value.checkStrictly\n )\n })\n }\n }\n\n removeClass(dropNode.$el!, ns.is('drop-inner'))\n\n ctx.emit(\n 'node-drag-end',\n draggingNode.node,\n dropNode.node,\n dropType,\n event\n )\n if (dropType !== 'none') {\n ctx.emit('node-drop', draggingNode.node, dropNode.node, dropType, event)\n }\n }\n if (draggingNode && !dropNode) {\n ctx.emit('node-drag-end', draggingNode.node, null, dropType, event)\n }\n\n dragState.value.showDropIndicator = false\n dragState.value.draggingNode = null\n dragState.value.dropNode = null\n dragState.value.allowDrop = true\n }\n\n provide(dragEventsKey, {\n treeNodeDragStart,\n treeNodeDragOver,\n treeNodeDragEnd,\n })\n\n return {\n dragState,\n }\n}\n"],"names":["useNamespace","ref","isFunction","removeClass","addClass","provide"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type TreeStore from './tree-store';
2
2
  import type { Ref } from 'vue';
3
3
  interface UseKeydownOption {
4
- el$: Ref<HTMLElement>;
4
+ el$: Ref<HTMLElement | null>;
5
5
  }
6
6
  export declare function useKeydown({ el$ }: UseKeydownOption, store: Ref<TreeStore>): void;
7
7
  export {};
@@ -74,6 +74,8 @@ function useKeydown({ el$ }, store) {
74
74
  core.useEventListener(el$, "keydown", handleKeydown);
75
75
  const initTabIndex = () => {
76
76
  var _a;
77
+ if (!el$.value)
78
+ return;
77
79
  const treeItems = Array.from(el$.value.querySelectorAll(`.${ns.is("focusable")}[role=treeitem]`));
78
80
  const checkboxItems = Array.from(el$.value.querySelectorAll("input[type=checkbox]"));
79
81
  checkboxItems.forEach((checkbox) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useKeydown.js","sources":["../../../../../../../packages/components/tree/src/model/useKeydown.ts"],"sourcesContent":["// @ts-nocheck\nimport { onMounted, onUpdated } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type TreeStore from './tree-store'\nimport type { Ref } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\n\ninterface UseKeydownOption {\n el$: Ref<HTMLElement>\n}\nexport function useKeydown({ el$ }: UseKeydownOption, store: Ref<TreeStore>) {\n const ns = useNamespace('tree')\n\n onMounted(() => {\n initTabIndex()\n })\n\n onUpdated(() => {\n const checkboxItems = Array.from(\n el$.value.querySelectorAll('input[type=checkbox]')\n )\n checkboxItems.forEach((checkbox) => {\n checkbox.setAttribute('tabindex', '-1')\n })\n })\n\n const handleKeydown = (ev: KeyboardEvent): void => {\n const currentItem = ev.target as HTMLElement\n if (!currentItem.className.includes(ns.b('node'))) return\n const code = ev.code\n const treeItems = Array.from(\n el$.value.querySelectorAll(`.${ns.is('focusable')}[role=treeitem]`)\n )\n const currentIndex = treeItems.indexOf(currentItem)\n let nextIndex\n if ([EVENT_CODE.up, EVENT_CODE.down].includes(code)) {\n ev.preventDefault()\n if (code === EVENT_CODE.up) {\n nextIndex =\n currentIndex === -1\n ? 0\n : currentIndex !== 0\n ? currentIndex - 1\n : treeItems.length - 1\n const startIndex = nextIndex\n while (true) {\n if (store.value.getNode(treeItems[nextIndex].dataset.key).canFocus)\n break\n nextIndex--\n if (nextIndex === startIndex) {\n nextIndex = -1\n break\n }\n if (nextIndex < 0) {\n nextIndex = treeItems.length - 1\n }\n }\n } else {\n nextIndex =\n currentIndex === -1\n ? 0\n : currentIndex < treeItems.length - 1\n ? currentIndex + 1\n : 0\n const startIndex = nextIndex\n while (true) {\n if (store.value.getNode(treeItems[nextIndex].dataset.key).canFocus)\n break\n nextIndex++\n if (nextIndex === startIndex) {\n nextIndex = -1\n break\n }\n if (nextIndex >= treeItems.length) {\n nextIndex = 0\n }\n }\n }\n nextIndex !== -1 && treeItems[nextIndex].focus()\n }\n if ([EVENT_CODE.left, EVENT_CODE.right].includes(code)) {\n ev.preventDefault()\n currentItem.click()\n }\n const hasInput = currentItem.querySelector(\n '[type=\"checkbox\"]'\n ) as Nullable<HTMLInputElement>\n if (\n [EVENT_CODE.enter, EVENT_CODE.numpadEnter, EVENT_CODE.space].includes(\n code\n ) &&\n hasInput\n ) {\n ev.preventDefault()\n hasInput.click()\n }\n }\n\n useEventListener(el$, 'keydown', handleKeydown)\n\n const initTabIndex = (): void => {\n const treeItems = Array.from(\n el$.value.querySelectorAll(`.${ns.is('focusable')}[role=treeitem]`)\n )\n const checkboxItems = Array.from(\n el$.value.querySelectorAll('input[type=checkbox]')\n )\n checkboxItems.forEach((checkbox) => {\n checkbox.setAttribute('tabindex', '-1')\n })\n const checkedItem = el$.value.querySelectorAll(\n `.${ns.is('checked')}[role=treeitem]`\n )\n if (checkedItem.length) {\n checkedItem[0].setAttribute('tabindex', '0')\n return\n }\n treeItems[0]?.setAttribute('tabindex', '0')\n }\n}\n"],"names":["useNamespace","onMounted","onUpdated","EVENT_CODE","useEventListener"],"mappings":"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"}
1
+ {"version":3,"file":"useKeydown.js","sources":["../../../../../../../packages/components/tree/src/model/useKeydown.ts"],"sourcesContent":["import { onMounted, onUpdated } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type TreeStore from './tree-store'\nimport type { Ref } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\n\ninterface UseKeydownOption {\n el$: Ref<HTMLElement | null>\n}\nexport function useKeydown({ el$ }: UseKeydownOption, store: Ref<TreeStore>) {\n const ns = useNamespace('tree')\n\n onMounted(() => {\n initTabIndex()\n })\n\n onUpdated(() => {\n const checkboxItems = Array.from(\n el$.value!.querySelectorAll('input[type=checkbox]')\n )\n checkboxItems.forEach((checkbox) => {\n checkbox.setAttribute('tabindex', '-1')\n })\n })\n\n const handleKeydown = (ev: KeyboardEvent): void => {\n const currentItem = ev.target as HTMLDivElement\n if (!currentItem.className.includes(ns.b('node'))) return\n const code = ev.code\n const treeItems: HTMLElement[] = Array.from(\n el$.value!.querySelectorAll(`.${ns.is('focusable')}[role=treeitem]`)\n )\n const currentIndex = treeItems.indexOf(currentItem)\n let nextIndex\n if ([EVENT_CODE.up, EVENT_CODE.down].includes(code)) {\n ev.preventDefault()\n if (code === EVENT_CODE.up) {\n nextIndex =\n currentIndex === -1\n ? 0\n : currentIndex !== 0\n ? currentIndex - 1\n : treeItems.length - 1\n const startIndex = nextIndex\n while (true) {\n if (store.value.getNode(treeItems[nextIndex].dataset.key!).canFocus)\n break\n nextIndex--\n if (nextIndex === startIndex) {\n nextIndex = -1\n break\n }\n if (nextIndex < 0) {\n nextIndex = treeItems.length - 1\n }\n }\n } else {\n nextIndex =\n currentIndex === -1\n ? 0\n : currentIndex < treeItems.length - 1\n ? currentIndex + 1\n : 0\n const startIndex = nextIndex\n while (true) {\n if (store.value.getNode(treeItems[nextIndex].dataset.key!).canFocus)\n break\n nextIndex++\n if (nextIndex === startIndex) {\n nextIndex = -1\n break\n }\n if (nextIndex >= treeItems.length) {\n nextIndex = 0\n }\n }\n }\n nextIndex !== -1 && treeItems[nextIndex].focus()\n }\n if ([EVENT_CODE.left, EVENT_CODE.right].includes(code)) {\n ev.preventDefault()\n currentItem.click()\n }\n const hasInput = currentItem.querySelector(\n '[type=\"checkbox\"]'\n ) as Nullable<HTMLInputElement>\n if (\n [EVENT_CODE.enter, EVENT_CODE.numpadEnter, EVENT_CODE.space].includes(\n code\n ) &&\n hasInput\n ) {\n ev.preventDefault()\n hasInput.click()\n }\n }\n\n useEventListener(el$, 'keydown', handleKeydown)\n\n const initTabIndex = (): void => {\n if (!el$.value) return\n const treeItems = Array.from(\n el$.value.querySelectorAll(`.${ns.is('focusable')}[role=treeitem]`)\n )\n const checkboxItems = Array.from(\n el$.value.querySelectorAll('input[type=checkbox]')\n )\n checkboxItems.forEach((checkbox) => {\n checkbox.setAttribute('tabindex', '-1')\n })\n const checkedItem = el$.value.querySelectorAll(\n `.${ns.is('checked')}[role=treeitem]`\n )\n if (checkedItem.length) {\n checkedItem[0].setAttribute('tabindex', '0')\n return\n }\n treeItems[0]?.setAttribute('tabindex', '0')\n }\n}\n"],"names":["useNamespace","onMounted","onUpdated","EVENT_CODE","useEventListener"],"mappings":";;;;;;;;;AAIO,SAAS,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE;AAC3C,EAAE,MAAM,EAAE,GAAGA,kBAAY,CAAC,MAAM,CAAC,CAAC;AAClC,EAAEC,aAAS,CAAC,MAAM;AAClB,IAAI,YAAY,EAAE,CAAC;AACnB,GAAG,CAAC,CAAC;AACL,EAAEC,aAAS,CAAC,MAAM;AAClB,IAAI,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACzF,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;AACxC,MAAM,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC9C,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAG,CAAC,EAAE,KAAK;AAChC,IAAI,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC;AAClC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACrD,MAAM,OAAO;AACb,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;AACzB,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACtG,IAAI,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACxD,IAAI,IAAI,SAAS,CAAC;AAClB,IAAI,IAAI,CAACC,eAAU,CAAC,EAAE,EAAEA,eAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACzD,MAAM,EAAE,CAAC,cAAc,EAAE,CAAC;AAC1B,MAAM,IAAI,IAAI,KAAKA,eAAU,CAAC,EAAE,EAAE;AAClC,QAAQ,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3G,QAAQ,MAAM,UAAU,GAAG,SAAS,CAAC;AACrC,QAAQ,OAAO,IAAI,EAAE;AACrB,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ;AAC5E,YAAY,MAAM;AAClB,UAAU,SAAS,EAAE,CAAC;AACtB,UAAU,IAAI,SAAS,KAAK,UAAU,EAAE;AACxC,YAAY,SAAS,GAAG,CAAC,CAAC,CAAC;AAC3B,YAAY,MAAM;AAClB,WAAW;AACX,UAAU,IAAI,SAAS,GAAG,CAAC,EAAE;AAC7B,YAAY,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7C,WAAW;AACX,SAAS;AACT,OAAO,MAAM;AACb,QAAQ,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;AACzG,QAAQ,MAAM,UAAU,GAAG,SAAS,CAAC;AACrC,QAAQ,OAAO,IAAI,EAAE;AACrB,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ;AAC5E,YAAY,MAAM;AAClB,UAAU,SAAS,EAAE,CAAC;AACtB,UAAU,IAAI,SAAS,KAAK,UAAU,EAAE;AACxC,YAAY,SAAS,GAAG,CAAC,CAAC,CAAC;AAC3B,YAAY,MAAM;AAClB,WAAW;AACX,UAAU,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE;AAC7C,YAAY,SAAS,GAAG,CAAC,CAAC;AAC1B,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;AACvD,KAAK;AACL,IAAI,IAAI,CAACA,eAAU,CAAC,IAAI,EAAEA,eAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC5D,MAAM,EAAE,CAAC,cAAc,EAAE,CAAC;AAC1B,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;AAC1B,KAAK;AACL,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;AACpE,IAAI,IAAI,CAACA,eAAU,CAAC,KAAK,EAAEA,eAAU,CAAC,WAAW,EAAEA,eAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;AACjG,MAAM,EAAE,CAAC,cAAc,EAAE,CAAC;AAC1B,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;AACvB,KAAK;AACL,GAAG,CAAC;AACJ,EAAEC,qBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAClD,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK;AAClB,MAAM,OAAO;AACb,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACtG,IAAI,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACzF,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;AACxC,MAAM,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC9C,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAC1F,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE;AAC5B,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACnD,MAAM,OAAO;AACb,KAAK;AACL,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC5E,GAAG,CAAC;AACJ;;;;"}
@@ -1,4 +1,9 @@
1
1
  import type Node from '../model/node';
2
- export declare function useNodeExpandEventBroadcast(props: any): {
3
- broadcastExpanded: (node: Node) => void;
2
+ interface Props {
3
+ node?: Node;
4
+ accordion: boolean;
5
+ }
6
+ export declare function useNodeExpandEventBroadcast(props: Props): {
7
+ broadcastExpanded: (node?: Node) => void;
4
8
  };
9
+ export {};
@@ -9,8 +9,9 @@ function useNodeExpandEventBroadcast(props) {
9
9
  const parentNodeMap = vue.inject(tokens.TREE_NODE_MAP_INJECTION_KEY, null);
10
10
  const currentNodeMap = {
11
11
  treeNodeExpand: (node) => {
12
+ var _a;
12
13
  if (props.node !== node) {
13
- props.node.collapse();
14
+ (_a = props.node) == null ? void 0 : _a.collapse();
14
15
  }
15
16
  },
16
17
  children: []
@@ -1 +1 @@
1
- {"version":3,"file":"useNodeExpandEventBroadcast.js","sources":["../../../../../../../packages/components/tree/src/model/useNodeExpandEventBroadcast.ts"],"sourcesContent":["// @ts-nocheck\nimport { inject, provide } from 'vue'\nimport { TREE_NODE_MAP_INJECTION_KEY } from '../tokens'\n\nimport type Node from '../model/node'\n\ninterface NodeMap {\n treeNodeExpand(node: Node): void\n children: NodeMap[]\n}\n\nexport function useNodeExpandEventBroadcast(props) {\n const parentNodeMap = inject<NodeMap>(TREE_NODE_MAP_INJECTION_KEY, null)\n const currentNodeMap: NodeMap = {\n treeNodeExpand: (node) => {\n if (props.node !== node) {\n props.node.collapse()\n }\n },\n children: [],\n }\n\n if (parentNodeMap) {\n parentNodeMap.children.push(currentNodeMap)\n }\n\n provide(TREE_NODE_MAP_INJECTION_KEY, currentNodeMap)\n\n return {\n broadcastExpanded: (node: Node): void => {\n if (!props.accordion) return\n for (const childNode of currentNodeMap.children) {\n childNode.treeNodeExpand(node)\n }\n },\n }\n}\n"],"names":["inject","TREE_NODE_MAP_INJECTION_KEY","provide"],"mappings":";;;;;;;AAEO,SAAS,2BAA2B,CAAC,KAAK,EAAE;AACnD,EAAE,MAAM,aAAa,GAAGA,UAAM,CAACC,kCAA2B,EAAE,IAAI,CAAC,CAAC;AAClE,EAAE,MAAM,cAAc,GAAG;AACzB,IAAI,cAAc,EAAE,CAAC,IAAI,KAAK;AAC9B,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;AAC/B,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC9B,OAAO;AACP,KAAK;AACL,IAAI,QAAQ,EAAE,EAAE;AAChB,GAAG,CAAC;AACJ,EAAE,IAAI,aAAa,EAAE;AACrB,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAChD,GAAG;AACH,EAAEC,WAAO,CAACD,kCAA2B,EAAE,cAAc,CAAC,CAAC;AACvD,EAAE,OAAO;AACT,IAAI,iBAAiB,EAAE,CAAC,IAAI,KAAK;AACjC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS;AAC1B,QAAQ,OAAO;AACf,MAAM,KAAK,MAAM,SAAS,IAAI,cAAc,CAAC,QAAQ,EAAE;AACvD,QAAQ,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACvC,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"useNodeExpandEventBroadcast.js","sources":["../../../../../../../packages/components/tree/src/model/useNodeExpandEventBroadcast.ts"],"sourcesContent":["import { inject, provide } from 'vue'\nimport { TREE_NODE_MAP_INJECTION_KEY } from '../tokens'\n\nimport type Node from '../model/node'\n\ninterface NodeMap {\n treeNodeExpand(node?: Node): void\n children: NodeMap[]\n}\n\ninterface Props {\n node?: Node\n accordion: boolean\n}\n\nexport function useNodeExpandEventBroadcast(props: Props) {\n const parentNodeMap = inject(\n TREE_NODE_MAP_INJECTION_KEY,\n null\n ) as NodeMap | null\n const currentNodeMap: NodeMap = {\n treeNodeExpand: (node) => {\n if (props.node !== node) {\n props.node?.collapse()\n }\n },\n children: [],\n }\n\n if (parentNodeMap) {\n parentNodeMap.children.push(currentNodeMap)\n }\n\n provide(TREE_NODE_MAP_INJECTION_KEY, currentNodeMap)\n\n return {\n broadcastExpanded: (node?: Node): void => {\n if (!props.accordion) return\n for (const childNode of currentNodeMap.children) {\n childNode.treeNodeExpand(node)\n }\n },\n }\n}\n"],"names":["inject","TREE_NODE_MAP_INJECTION_KEY","provide"],"mappings":";;;;;;;AAEO,SAAS,2BAA2B,CAAC,KAAK,EAAE;AACnD,EAAE,MAAM,aAAa,GAAGA,UAAM,CAACC,kCAA2B,EAAE,IAAI,CAAC,CAAC;AAClE,EAAE,MAAM,cAAc,GAAG;AACzB,IAAI,cAAc,EAAE,CAAC,IAAI,KAAK;AAC9B,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;AAC/B,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC3D,OAAO;AACP,KAAK;AACL,IAAI,QAAQ,EAAE,EAAE;AAChB,GAAG,CAAC;AACJ,EAAE,IAAI,aAAa,EAAE;AACrB,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAChD,GAAG;AACH,EAAEC,WAAO,CAACD,kCAA2B,EAAE,cAAc,CAAC,CAAC;AACvD,EAAE,OAAO;AACT,IAAI,iBAAiB,EAAE,CAAC,IAAI,KAAK;AACjC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS;AAC1B,QAAQ,OAAO;AACf,MAAM,KAAK,MAAM,SAAS,IAAI,cAAc,CAAC,QAAQ,EAAE;AACvD,QAAQ,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACvC,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}
@@ -2,6 +2,6 @@ import type { SetupContext } from 'vue';
2
2
  import type Node from './node';
3
3
  import type { RootTreeType, TreeKey, TreeNodeData } from '../tree.type';
4
4
  export declare const NODE_KEY = "$treeNodeId";
5
- export declare const markNodeData: (node: Node, data: TreeNodeData) => void;
6
- export declare const getNodeKey: (key: TreeKey, data: TreeNodeData) => any;
5
+ export declare const markNodeData: (node: Node, data: TreeNodeData | null) => void;
6
+ export declare const getNodeKey: (key: TreeKey | undefined, data: TreeNodeData) => any;
7
7
  export declare const handleCurrentChange: (store: RootTreeType["store"], emit: SetupContext["emit"], setCurrent: () => void) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../../../../../../../packages/components/tree/src/model/util.ts"],"sourcesContent":["import type { SetupContext } from 'vue'\nimport type Node from './node'\nimport type { RootTreeType, TreeKey, TreeNodeData } from '../tree.type'\n\nexport const NODE_KEY = '$treeNodeId'\n\nexport const markNodeData = function (node: Node, data: TreeNodeData): void {\n if (!data || data[NODE_KEY]) return\n Object.defineProperty(data, NODE_KEY, {\n value: node.id,\n enumerable: false,\n configurable: false,\n writable: false,\n })\n}\n\nexport const getNodeKey = (key: TreeKey, data: TreeNodeData) =>\n data?.[key || NODE_KEY]\n\nexport const handleCurrentChange = (\n store: RootTreeType['store'],\n emit: SetupContext['emit'],\n setCurrent: () => void\n) => {\n const preCurrentNode = store.value.currentNode\n setCurrent()\n const currentNode = store.value.currentNode\n if (preCurrentNode === currentNode) return\n\n emit('current-change', currentNode ? currentNode.data : null, currentNode)\n}\n"],"names":[],"mappings":";;;;AAAY,MAAC,QAAQ,GAAG,cAAc;AAC1B,MAAC,YAAY,GAAG,SAAS,IAAI,EAAE,IAAI,EAAE;AACjD,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;AAC7B,IAAI,OAAO;AACX,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE;AACxC,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE;AAClB,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,QAAQ,EAAE,KAAK;AACnB,GAAG,CAAC,CAAC;AACL,EAAE;AACU,MAAC,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE;AAC3E,MAAC,mBAAmB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,KAAK;AAChE,EAAE,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;AACjD,EAAE,UAAU,EAAE,CAAC;AACf,EAAE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;AAC9C,EAAE,IAAI,cAAc,KAAK,WAAW;AACpC,IAAI,OAAO;AACX,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,WAAW,CAAC,IAAI,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7E;;;;;;;"}
1
+ {"version":3,"file":"util.js","sources":["../../../../../../../packages/components/tree/src/model/util.ts"],"sourcesContent":["import type { SetupContext } from 'vue'\nimport type Node from './node'\nimport type { RootTreeType, TreeKey, TreeNodeData } from '../tree.type'\n\nexport const NODE_KEY = '$treeNodeId'\n\nexport const markNodeData = function (\n node: Node,\n data: TreeNodeData | null\n): void {\n if (!data || data[NODE_KEY]) return\n Object.defineProperty(data, NODE_KEY, {\n value: node.id,\n enumerable: false,\n configurable: false,\n writable: false,\n })\n}\n\nexport const getNodeKey = (key: TreeKey | undefined, data: TreeNodeData) =>\n data?.[key || NODE_KEY]\n\nexport const handleCurrentChange = (\n store: RootTreeType['store'],\n emit: SetupContext['emit'],\n setCurrent: () => void\n) => {\n const preCurrentNode = store.value.currentNode\n setCurrent()\n const currentNode = store.value.currentNode\n if (preCurrentNode === currentNode) return\n\n emit('current-change', currentNode ? currentNode.data : null, currentNode)\n}\n"],"names":[],"mappings":";;;;AAAY,MAAC,QAAQ,GAAG,cAAc;AAC1B,MAAC,YAAY,GAAG,SAAS,IAAI,EAAE,IAAI,EAAE;AACjD,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;AAC7B,IAAI,OAAO;AACX,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE;AACxC,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE;AAClB,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,QAAQ,EAAE,KAAK;AACnB,GAAG,CAAC,CAAC;AACL,EAAE;AACU,MAAC,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE;AAC3E,MAAC,mBAAmB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,KAAK;AAChE,EAAE,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;AACjD,EAAE,UAAU,EAAE,CAAC;AACf,EAAE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;AAC9C,EAAE,IAAI,cAAc,KAAK,WAAW;AACpC,IAAI,OAAO;AACX,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,WAAW,CAAC,IAAI,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7E;;;;;;;"}
@@ -12,6 +12,7 @@ var useDragNode = require('./model/useDragNode.js');
12
12
  var useKeydown = require('./model/useKeydown.js');
13
13
  var tokens = require('./tokens.js');
14
14
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
15
+ var runtime = require('../../../utils/vue/props/runtime.js');
15
16
  var icon = require('../../../utils/vue/icon.js');
16
17
  var index = require('../../../hooks/use-locale/index.js');
17
18
  var index$1 = require('../../../hooks/use-namespace/index.js');
@@ -22,7 +23,7 @@ const _sfc_main = vue.defineComponent({
22
23
  components: { ElTreeNode: treeNode["default"] },
23
24
  props: {
24
25
  data: {
25
- type: Array,
26
+ type: runtime.definePropType(Array),
26
27
  default: () => []
27
28
  },
28
29
  emptyText: {
@@ -55,7 +56,9 @@ const _sfc_main = vue.defineComponent({
55
56
  defaultCheckedKeys: Array,
56
57
  defaultExpandedKeys: Array,
57
58
  currentNodeKey: [String, Number],
58
- renderContent: Function,
59
+ renderContent: {
60
+ type: runtime.definePropType(Function)
61
+ },
59
62
  showCheckbox: {
60
63
  type: Boolean,
61
64
  default: false
@@ -64,8 +67,12 @@ const _sfc_main = vue.defineComponent({
64
67
  type: Boolean,
65
68
  default: false
66
69
  },
67
- allowDrag: Function,
68
- allowDrop: Function,
70
+ allowDrag: {
71
+ type: runtime.definePropType(Function)
72
+ },
73
+ allowDrop: {
74
+ type: runtime.definePropType(Function)
75
+ },
69
76
  props: {
70
77
  type: Object,
71
78
  default: () => ({
@@ -144,13 +151,13 @@ const _sfc_main = vue.defineComponent({
144
151
  return (!childNodes || childNodes.length === 0 || childNodes.every(({ visible }) => !visible)) && !hasFilteredOptions;
145
152
  });
146
153
  vue.watch(() => props.currentNodeKey, (newVal) => {
147
- store.value.setCurrentNodeKey(newVal);
154
+ store.value.setCurrentNodeKey(newVal != null ? newVal : null);
148
155
  });
149
156
  vue.watch(() => props.defaultCheckedKeys, (newVal) => {
150
- store.value.setDefaultCheckedKey(newVal);
157
+ store.value.setDefaultCheckedKey(newVal != null ? newVal : []);
151
158
  });
152
159
  vue.watch(() => props.defaultExpandedKeys, (newVal) => {
153
- store.value.setDefaultExpandedKeys(newVal);
160
+ store.value.setDefaultExpandedKeys(newVal != null ? newVal : []);
154
161
  });
155
162
  vue.watch(() => props.data, (newVal) => {
156
163
  store.value.setData(newVal);
@@ -228,7 +235,7 @@ const _sfc_main = vue.defineComponent({
228
235
  throw new Error("[Tree] nodeKey is required in setCurrentKey");
229
236
  util.handleCurrentChange(store, ctx.emit, () => {
230
237
  broadcastExpanded();
231
- store.value.setCurrentNodeKey(key, shouldAutoExpandParent);
238
+ store.value.setCurrentNodeKey(key != null ? key : null, shouldAutoExpandParent);
232
239
  });
233
240
  };
234
241
  const getNode = (data) => {