@element-plus/nightly 0.0.20250701 → 0.0.20250703

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 (636) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +98 -86
  3. package/dist/index.full.min.js +16 -16
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +16 -16
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +98 -86
  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/src/autocomplete.d.ts +83 -3
  277. package/es/components/autocomplete/src/autocomplete.mjs +3 -12
  278. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  279. package/es/components/autocomplete/src/autocomplete.vue.d.ts +183 -8
  280. package/es/components/autocomplete/src/autocomplete2.mjs +8 -11
  281. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  282. package/es/components/calendar/src/calendar2.mjs +1 -1
  283. package/es/components/calendar/src/date-table.mjs +31 -89
  284. package/es/components/calendar/src/date-table.mjs.map +1 -1
  285. package/es/components/calendar/src/date-table2.mjs +89 -31
  286. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  287. package/es/components/calendar/src/use-date-table.mjs +1 -1
  288. package/es/components/collapse/index.mjs +4 -4
  289. package/es/components/collapse/src/collapse-item.mjs +95 -18
  290. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  291. package/es/components/collapse/src/collapse-item2.mjs +18 -95
  292. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  293. package/es/components/collapse/src/collapse.mjs +23 -28
  294. package/es/components/collapse/src/collapse.mjs.map +1 -1
  295. package/es/components/collapse/src/collapse2.mjs +28 -23
  296. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  297. package/es/components/drawer/index.mjs +2 -2
  298. package/es/components/drawer/src/drawer.mjs +26 -178
  299. package/es/components/drawer/src/drawer.mjs.map +1 -1
  300. package/es/components/drawer/src/drawer2.mjs +178 -26
  301. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  302. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  303. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  304. package/es/components/dropdown/src/dropdown.mjs +1 -1
  305. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  306. package/es/components/empty/index.mjs +2 -2
  307. package/es/components/empty/src/empty.mjs +11 -52
  308. package/es/components/empty/src/empty.mjs.map +1 -1
  309. package/es/components/empty/src/empty2.mjs +52 -11
  310. package/es/components/empty/src/empty2.mjs.map +1 -1
  311. package/es/components/image-viewer/index.mjs +2 -2
  312. package/es/components/image-viewer/src/image-viewer.mjs +447 -49
  313. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  314. package/es/components/image-viewer/src/image-viewer2.mjs +49 -447
  315. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  316. package/es/components/index.mjs +14 -14
  317. package/es/components/input/src/input.d.ts +1 -0
  318. package/es/components/input/src/input.mjs +2 -1
  319. package/es/components/input/src/input.mjs.map +1 -1
  320. package/es/components/input/src/input.vue.d.ts +2 -0
  321. package/es/components/input/src/input2.mjs +2 -1
  322. package/es/components/input/src/input2.mjs.map +1 -1
  323. package/es/components/mention/src/mention.d.ts +1 -0
  324. package/es/components/mention/src/mention.mjs +1 -1
  325. package/es/components/mention/src/mention.vue.d.ts +2 -0
  326. package/es/components/menu/index.mjs +2 -2
  327. package/es/components/menu/src/menu-item.mjs +100 -15
  328. package/es/components/menu/src/menu-item.mjs.map +1 -1
  329. package/es/components/menu/src/menu-item2.mjs +15 -100
  330. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  331. package/es/components/pagination/src/components/jumper.mjs +58 -7
  332. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  333. package/es/components/pagination/src/components/jumper2.mjs +7 -58
  334. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  335. package/es/components/pagination/src/components/prev.mjs +35 -17
  336. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  337. package/es/components/pagination/src/components/prev2.mjs +17 -35
  338. package/es/components/pagination/src/components/prev2.mjs.map +1 -1
  339. package/es/components/pagination/src/pagination.mjs +2 -2
  340. package/es/components/popper/index.mjs +2 -2
  341. package/es/components/popper/src/popper.mjs +22 -32
  342. package/es/components/popper/src/popper.mjs.map +1 -1
  343. package/es/components/popper/src/popper2.mjs +32 -22
  344. package/es/components/popper/src/popper2.mjs.map +1 -1
  345. package/es/components/radio/index.mjs +2 -2
  346. package/es/components/radio/src/radio-button.mjs +1 -1
  347. package/es/components/radio/src/radio-group.mjs +1 -1
  348. package/es/components/radio/src/radio.mjs +32 -74
  349. package/es/components/radio/src/radio.mjs.map +1 -1
  350. package/es/components/radio/src/radio2.mjs +74 -32
  351. package/es/components/radio/src/radio2.mjs.map +1 -1
  352. package/es/components/rate/index.mjs +2 -2
  353. package/es/components/rate/src/rate.mjs +83 -258
  354. package/es/components/rate/src/rate.mjs.map +1 -1
  355. package/es/components/rate/src/rate2.mjs +258 -83
  356. package/es/components/rate/src/rate2.mjs.map +1 -1
  357. package/es/components/result/index.mjs +2 -2
  358. package/es/components/result/src/result.mjs +30 -62
  359. package/es/components/result/src/result.mjs.map +1 -1
  360. package/es/components/result/src/result2.mjs +62 -30
  361. package/es/components/result/src/result2.mjs.map +1 -1
  362. package/es/components/roving-focus-group/index.mjs +3 -3
  363. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  364. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -27
  365. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  366. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -27
  367. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  368. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  369. package/es/components/scrollbar/src/bar.mjs +64 -10
  370. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  371. package/es/components/scrollbar/src/bar2.mjs +10 -64
  372. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  373. package/es/components/scrollbar/src/scrollbar2.mjs +1 -1
  374. package/es/components/select/src/select2.mjs +2 -1
  375. package/es/components/select/src/select2.mjs.map +1 -1
  376. package/es/components/select-v2/src/select.mjs +2 -1
  377. package/es/components/select-v2/src/select.mjs.map +1 -1
  378. package/es/components/skeleton/index.mjs +4 -4
  379. package/es/components/skeleton/src/skeleton-item.mjs +17 -22
  380. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  381. package/es/components/skeleton/src/skeleton-item2.mjs +22 -17
  382. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  383. package/es/components/skeleton/src/skeleton.mjs +21 -48
  384. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  385. package/es/components/skeleton/src/skeleton2.mjs +48 -21
  386. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  387. package/es/components/slider/src/button.mjs +19 -91
  388. package/es/components/slider/src/button.mjs.map +1 -1
  389. package/es/components/slider/src/button2.mjs +91 -19
  390. package/es/components/slider/src/button2.mjs.map +1 -1
  391. package/es/components/slider/src/slider2.mjs +1 -1
  392. package/es/components/steps/index.mjs +2 -2
  393. package/es/components/steps/src/steps.mjs +35 -41
  394. package/es/components/steps/src/steps.mjs.map +1 -1
  395. package/es/components/steps/src/steps2.mjs +41 -35
  396. package/es/components/steps/src/steps2.mjs.map +1 -1
  397. package/es/components/table/src/table/defaults.d.ts +2 -2
  398. package/es/components/table/src/table/defaults.mjs.map +1 -1
  399. package/es/components/table/src/table/style-helper.d.ts +2 -2
  400. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  401. package/es/components/table/src/table-body/events-helper.d.ts +3 -2
  402. package/es/components/table/src/table-body/events-helper.mjs +24 -14
  403. package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
  404. package/es/components/table/src/table-body/index.mjs +13 -12
  405. package/es/components/table/src/table-body/index.mjs.map +1 -1
  406. package/es/components/table/src/table-body/render-helper.d.ts +2 -1
  407. package/es/components/table/src/table-body/render-helper.mjs +14 -10
  408. package/es/components/table/src/table-body/render-helper.mjs.map +1 -1
  409. package/es/components/table/src/table-body/styles-helper.d.ts +2 -1
  410. package/es/components/table/src/table-body/styles-helper.mjs +2 -1
  411. package/es/components/table/src/table-body/styles-helper.mjs.map +1 -1
  412. package/es/components/table/src/table-column/defaults.d.ts +1 -1
  413. package/es/components/table/src/table-column/defaults.mjs.map +1 -1
  414. package/es/components/table/src/table-column/index.mjs +5 -5
  415. package/es/components/table/src/table-column/index.mjs.map +1 -1
  416. package/es/components/table/src/table-column/render-helper.d.ts +9 -8
  417. package/es/components/table/src/table-column/render-helper.mjs +2 -2
  418. package/es/components/table/src/table-column/render-helper.mjs.map +1 -1
  419. package/es/components/table/src/table-column/watcher-helper.d.ts +2 -1
  420. package/es/components/table/src/table-column/watcher-helper.mjs.map +1 -1
  421. package/es/components/table/src/table-footer/index.d.ts +12 -12
  422. package/es/components/table/src/table-footer/index.mjs.map +1 -1
  423. package/es/components/table/src/table-footer/mapState-helper.d.ts +1 -1
  424. package/es/components/table/src/table-footer/mapState-helper.mjs +14 -12
  425. package/es/components/table/src/table-footer/mapState-helper.mjs.map +1 -1
  426. package/es/components/table/src/table-footer/style-helper.d.ts +1 -1
  427. package/es/components/table/src/table-header/event-helper.d.ts +4 -2
  428. package/es/components/table/src/table-header/event-helper.mjs +5 -4
  429. package/es/components/table/src/table-header/event-helper.mjs.map +1 -1
  430. package/es/components/table/src/table-header/index.d.ts +18 -17
  431. package/es/components/table/src/table-header/index.mjs +3 -2
  432. package/es/components/table/src/table-header/index.mjs.map +1 -1
  433. package/es/components/table/src/table-header/utils-helper.d.ts +4 -3
  434. package/es/components/table/src/table-header/utils-helper.mjs.map +1 -1
  435. package/es/components/table/src/table.vue.d.ts +7 -7
  436. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  437. package/es/components/tooltip/src/tooltip.mjs +1 -1
  438. package/es/components/tooltip-v2/index.mjs +1 -1
  439. package/es/components/tooltip-v2/src/content.mjs +110 -48
  440. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  441. package/es/components/tooltip-v2/src/content2.mjs +48 -110
  442. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  443. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  444. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  445. package/es/components/tour/index.mjs +2 -2
  446. package/es/components/tour/src/step.mjs +168 -44
  447. package/es/components/tour/src/step.mjs.map +1 -1
  448. package/es/components/tour/src/step2.mjs +44 -168
  449. package/es/components/tour/src/step2.mjs.map +1 -1
  450. package/es/index.d.ts +312 -22
  451. package/es/index.mjs +14 -14
  452. package/es/version.d.ts +1 -1
  453. package/es/version.mjs +1 -1
  454. package/es/version.mjs.map +1 -1
  455. package/lib/components/autocomplete/src/autocomplete.d.ts +83 -3
  456. package/lib/components/autocomplete/src/autocomplete.js +3 -12
  457. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  458. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +183 -8
  459. package/lib/components/autocomplete/src/autocomplete2.js +17 -20
  460. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  461. package/lib/components/calendar/src/calendar2.js +1 -1
  462. package/lib/components/calendar/src/date-table.js +35 -89
  463. package/lib/components/calendar/src/date-table.js.map +1 -1
  464. package/lib/components/calendar/src/date-table2.js +89 -35
  465. package/lib/components/calendar/src/date-table2.js.map +1 -1
  466. package/lib/components/calendar/src/use-date-table.js +1 -1
  467. package/lib/components/collapse/index.js +4 -4
  468. package/lib/components/collapse/src/collapse-item.js +95 -18
  469. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  470. package/lib/components/collapse/src/collapse-item2.js +18 -95
  471. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  472. package/lib/components/collapse/src/collapse.js +25 -28
  473. package/lib/components/collapse/src/collapse.js.map +1 -1
  474. package/lib/components/collapse/src/collapse2.js +28 -25
  475. package/lib/components/collapse/src/collapse2.js.map +1 -1
  476. package/lib/components/drawer/index.js +2 -2
  477. package/lib/components/drawer/src/drawer.js +27 -178
  478. package/lib/components/drawer/src/drawer.js.map +1 -1
  479. package/lib/components/drawer/src/drawer2.js +178 -27
  480. package/lib/components/drawer/src/drawer2.js.map +1 -1
  481. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  482. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  483. package/lib/components/dropdown/src/dropdown.js +1 -1
  484. package/lib/components/dropdown/src/dropdown2.js +1 -1
  485. package/lib/components/empty/index.js +2 -2
  486. package/lib/components/empty/src/empty.js +11 -52
  487. package/lib/components/empty/src/empty.js.map +1 -1
  488. package/lib/components/empty/src/empty2.js +52 -11
  489. package/lib/components/empty/src/empty2.js.map +1 -1
  490. package/lib/components/image-viewer/index.js +2 -2
  491. package/lib/components/image-viewer/src/image-viewer.js +447 -50
  492. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  493. package/lib/components/image-viewer/src/image-viewer2.js +50 -447
  494. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  495. package/lib/components/index.js +14 -14
  496. package/lib/components/input/src/input.d.ts +1 -0
  497. package/lib/components/input/src/input.js +2 -1
  498. package/lib/components/input/src/input.js.map +1 -1
  499. package/lib/components/input/src/input.vue.d.ts +2 -0
  500. package/lib/components/input/src/input2.js +2 -1
  501. package/lib/components/input/src/input2.js.map +1 -1
  502. package/lib/components/mention/src/mention.d.ts +1 -0
  503. package/lib/components/mention/src/mention.js +1 -1
  504. package/lib/components/mention/src/mention.vue.d.ts +2 -0
  505. package/lib/components/menu/index.js +2 -2
  506. package/lib/components/menu/src/menu-item.js +100 -16
  507. package/lib/components/menu/src/menu-item.js.map +1 -1
  508. package/lib/components/menu/src/menu-item2.js +16 -100
  509. package/lib/components/menu/src/menu-item2.js.map +1 -1
  510. package/lib/components/pagination/src/components/jumper.js +58 -7
  511. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  512. package/lib/components/pagination/src/components/jumper2.js +7 -58
  513. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  514. package/lib/components/pagination/src/components/prev.js +35 -18
  515. package/lib/components/pagination/src/components/prev.js.map +1 -1
  516. package/lib/components/pagination/src/components/prev2.js +18 -35
  517. package/lib/components/pagination/src/components/prev2.js.map +1 -1
  518. package/lib/components/pagination/src/pagination.js +2 -2
  519. package/lib/components/popper/index.js +2 -2
  520. package/lib/components/popper/src/popper.js +25 -32
  521. package/lib/components/popper/src/popper.js.map +1 -1
  522. package/lib/components/popper/src/popper2.js +32 -25
  523. package/lib/components/popper/src/popper2.js.map +1 -1
  524. package/lib/components/radio/index.js +2 -2
  525. package/lib/components/radio/src/radio-button.js +1 -1
  526. package/lib/components/radio/src/radio-group.js +1 -1
  527. package/lib/components/radio/src/radio.js +33 -73
  528. package/lib/components/radio/src/radio.js.map +1 -1
  529. package/lib/components/radio/src/radio2.js +73 -33
  530. package/lib/components/radio/src/radio2.js.map +1 -1
  531. package/lib/components/rate/index.js +2 -2
  532. package/lib/components/rate/src/rate.js +83 -257
  533. package/lib/components/rate/src/rate.js.map +1 -1
  534. package/lib/components/rate/src/rate2.js +257 -83
  535. package/lib/components/rate/src/rate2.js.map +1 -1
  536. package/lib/components/result/index.js +2 -2
  537. package/lib/components/result/src/result.js +32 -62
  538. package/lib/components/result/src/result.js.map +1 -1
  539. package/lib/components/result/src/result2.js +62 -32
  540. package/lib/components/result/src/result2.js.map +1 -1
  541. package/lib/components/roving-focus-group/index.js +2 -2
  542. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  543. package/lib/components/roving-focus-group/src/roving-focus-group.js +31 -27
  544. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  545. package/lib/components/roving-focus-group/src/roving-focus-group2.js +27 -31
  546. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  547. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  548. package/lib/components/scrollbar/src/bar.js +64 -10
  549. package/lib/components/scrollbar/src/bar.js.map +1 -1
  550. package/lib/components/scrollbar/src/bar2.js +10 -64
  551. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  552. package/lib/components/scrollbar/src/scrollbar2.js +1 -1
  553. package/lib/components/select/src/select2.js +2 -1
  554. package/lib/components/select/src/select2.js.map +1 -1
  555. package/lib/components/select-v2/src/select.js +2 -1
  556. package/lib/components/select-v2/src/select.js.map +1 -1
  557. package/lib/components/skeleton/index.js +4 -4
  558. package/lib/components/skeleton/src/skeleton-item.js +17 -22
  559. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  560. package/lib/components/skeleton/src/skeleton-item2.js +22 -17
  561. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  562. package/lib/components/skeleton/src/skeleton.js +21 -48
  563. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  564. package/lib/components/skeleton/src/skeleton2.js +48 -21
  565. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  566. package/lib/components/slider/src/button.js +20 -91
  567. package/lib/components/slider/src/button.js.map +1 -1
  568. package/lib/components/slider/src/button2.js +91 -20
  569. package/lib/components/slider/src/button2.js.map +1 -1
  570. package/lib/components/slider/src/slider2.js +1 -1
  571. package/lib/components/steps/index.js +2 -2
  572. package/lib/components/steps/src/steps.js +36 -41
  573. package/lib/components/steps/src/steps.js.map +1 -1
  574. package/lib/components/steps/src/steps2.js +41 -36
  575. package/lib/components/steps/src/steps2.js.map +1 -1
  576. package/lib/components/table/src/table/defaults.d.ts +2 -2
  577. package/lib/components/table/src/table/defaults.js.map +1 -1
  578. package/lib/components/table/src/table/style-helper.d.ts +2 -2
  579. package/lib/components/table/src/table/style-helper.js.map +1 -1
  580. package/lib/components/table/src/table-body/events-helper.d.ts +3 -2
  581. package/lib/components/table/src/table-body/events-helper.js +24 -14
  582. package/lib/components/table/src/table-body/events-helper.js.map +1 -1
  583. package/lib/components/table/src/table-body/index.js +13 -12
  584. package/lib/components/table/src/table-body/index.js.map +1 -1
  585. package/lib/components/table/src/table-body/render-helper.d.ts +2 -1
  586. package/lib/components/table/src/table-body/render-helper.js +14 -10
  587. package/lib/components/table/src/table-body/render-helper.js.map +1 -1
  588. package/lib/components/table/src/table-body/styles-helper.d.ts +2 -1
  589. package/lib/components/table/src/table-body/styles-helper.js +2 -1
  590. package/lib/components/table/src/table-body/styles-helper.js.map +1 -1
  591. package/lib/components/table/src/table-column/defaults.d.ts +1 -1
  592. package/lib/components/table/src/table-column/defaults.js.map +1 -1
  593. package/lib/components/table/src/table-column/index.js +5 -5
  594. package/lib/components/table/src/table-column/index.js.map +1 -1
  595. package/lib/components/table/src/table-column/render-helper.d.ts +9 -8
  596. package/lib/components/table/src/table-column/render-helper.js +2 -2
  597. package/lib/components/table/src/table-column/render-helper.js.map +1 -1
  598. package/lib/components/table/src/table-column/watcher-helper.d.ts +2 -1
  599. package/lib/components/table/src/table-column/watcher-helper.js.map +1 -1
  600. package/lib/components/table/src/table-footer/index.d.ts +12 -12
  601. package/lib/components/table/src/table-footer/index.js.map +1 -1
  602. package/lib/components/table/src/table-footer/mapState-helper.d.ts +1 -1
  603. package/lib/components/table/src/table-footer/mapState-helper.js +14 -12
  604. package/lib/components/table/src/table-footer/mapState-helper.js.map +1 -1
  605. package/lib/components/table/src/table-footer/style-helper.d.ts +1 -1
  606. package/lib/components/table/src/table-header/event-helper.d.ts +4 -2
  607. package/lib/components/table/src/table-header/event-helper.js +5 -4
  608. package/lib/components/table/src/table-header/event-helper.js.map +1 -1
  609. package/lib/components/table/src/table-header/index.d.ts +18 -17
  610. package/lib/components/table/src/table-header/index.js +3 -2
  611. package/lib/components/table/src/table-header/index.js.map +1 -1
  612. package/lib/components/table/src/table-header/utils-helper.d.ts +4 -3
  613. package/lib/components/table/src/table-header/utils-helper.js.map +1 -1
  614. package/lib/components/table/src/table.vue.d.ts +7 -7
  615. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  616. package/lib/components/tooltip/src/tooltip.js +1 -1
  617. package/lib/components/tooltip-v2/index.js +1 -1
  618. package/lib/components/tooltip-v2/src/content.js +110 -48
  619. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  620. package/lib/components/tooltip-v2/src/content2.js +48 -110
  621. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  622. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  623. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  624. package/lib/components/tour/index.js +2 -2
  625. package/lib/components/tour/src/step.js +167 -44
  626. package/lib/components/tour/src/step.js.map +1 -1
  627. package/lib/components/tour/src/step2.js +44 -167
  628. package/lib/components/tour/src/step2.js.map +1 -1
  629. package/lib/index.d.ts +312 -22
  630. package/lib/index.js +14 -14
  631. package/lib/version.d.ts +1 -1
  632. package/lib/version.js +1 -1
  633. package/lib/version.js.map +1 -1
  634. package/package.json +2 -2
  635. package/tags.json +1 -1
  636. package/web-types.json +1 -1
@@ -35,10 +35,12 @@ function useRender(props) {
35
35
  getColspanRealWidth
36
36
  } = stylesHelper["default"](props);
37
37
  const firstDefaultColumnIndex = vue.computed(() => {
38
- return props.store.states.columns.value.findIndex(({ type }) => type === "default");
38
+ var _a;
39
+ return (_a = props.store) == null ? void 0 : _a.states.columns.value.findIndex(({ type }) => type === "default");
39
40
  });
40
41
  const getKeyOfRow = (row, index) => {
41
- const rowKey = parent.props.rowKey;
42
+ var _a;
43
+ const rowKey = (_a = parent == null ? void 0 : parent.props) == null ? void 0 : _a.rowKey;
42
44
  if (rowKey) {
43
45
  return util.getRowIdentity(row, rowKey);
44
46
  }
@@ -51,7 +53,7 @@ function useRender(props) {
51
53
  let display = true;
52
54
  if (treeRowData) {
53
55
  rowClasses.push(ns.em("row", `level-${treeRowData.level}`));
54
- display = treeRowData.display;
56
+ display = !!treeRowData.display;
55
57
  }
56
58
  const displayStyle = display ? null : { display: "none" };
57
59
  return vue.h("tr", {
@@ -71,7 +73,7 @@ function useRender(props) {
71
73
  const columnData = Object.assign({}, column);
72
74
  columnData.realWidth = getColspanRealWidth(columns.value, colspan, cellIndex);
73
75
  const data = {
74
- store: props.store,
76
+ store,
75
77
  _self: props.context || parent,
76
78
  column: columnData,
77
79
  row,
@@ -81,7 +83,7 @@ function useRender(props) {
81
83
  };
82
84
  if (cellIndex === firstDefaultColumnIndex.value && treeRowData) {
83
85
  data.treeNode = {
84
- indent: treeRowData.level * indent.value,
86
+ indent: treeRowData.level && treeRowData.level * indent.value,
85
87
  level: treeRowData.level
86
88
  };
87
89
  if (types.isBoolean(treeRowData.expanded)) {
@@ -112,7 +114,7 @@ function useRender(props) {
112
114
  });
113
115
  }));
114
116
  };
115
- const cellChildren = (cellIndex, column, data) => {
117
+ const cellChildren = (_cellIndex, column, data) => {
116
118
  return column.renderCell(data);
117
119
  };
118
120
  const wrappedRowRender = (row, $index) => {
@@ -124,7 +126,7 @@ function useRender(props) {
124
126
  if (hasExpandColumn) {
125
127
  const expanded = isRowExpanded(row);
126
128
  const tr = rowRender(row, $index, void 0, expanded);
127
- const renderExpanded = parent.renderExpanded;
129
+ const renderExpanded = parent == null ? void 0 : parent.renderExpanded;
128
130
  if (!renderExpanded) {
129
131
  console.error("[Element Error]renderExpanded is required.");
130
132
  return tr;
@@ -151,16 +153,18 @@ function useRender(props) {
151
153
  treeRowData = {
152
154
  expanded: cur.expanded,
153
155
  level: cur.level,
154
- display: true
156
+ display: true,
157
+ noLazyChildren: void 0,
158
+ loading: void 0
155
159
  };
156
160
  if (types.isBoolean(cur.lazy)) {
157
- if (types.isBoolean(cur.loaded) && cur.loaded) {
161
+ if (treeRowData && types.isBoolean(cur.loaded) && cur.loaded) {
158
162
  treeRowData.noLazyChildren = !(cur.children && cur.children.length);
159
163
  }
160
164
  treeRowData.loading = cur.loading;
161
165
  }
162
166
  }
163
- const tmp = [rowRender(row, $index, treeRowData)];
167
+ const tmp = [rowRender(row, $index, treeRowData != null ? treeRowData : void 0)];
164
168
  if (cur) {
165
169
  let i = 0;
166
170
  const traverse = (children, parent2) => {
@@ -1 +1 @@
1
- {"version":3,"file":"render-helper.js","sources":["../../../../../../../packages/components/table/src/table-body/render-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, h, inject } from 'vue'\nimport { merge } from 'lodash-unified'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isBoolean, isPropAbsent } from '@element-plus/utils'\nimport { getRowIdentity } from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport useEvents from './events-helper'\nimport useStyles from './styles-helper'\nimport TdWrapper from './td-wrapper.vue'\n\nimport type { TableBodyProps } from './defaults'\nimport type { RenderRowData, TableProps, TreeNode } from '../table/defaults'\n\nfunction useRender<T>(props: Partial<TableBodyProps<T>>) {\n const parent = inject(TABLE_INJECTION_KEY)\n const ns = useNamespace('table')\n const {\n handleDoubleClick,\n handleClick,\n handleContextMenu,\n handleMouseEnter,\n handleMouseLeave,\n handleCellMouseEnter,\n handleCellMouseLeave,\n tooltipContent,\n tooltipTrigger,\n } = useEvents(props)\n const {\n getRowStyle,\n getRowClass,\n getCellStyle,\n getCellClass,\n getSpan,\n getColspanRealWidth,\n } = useStyles(props)\n const firstDefaultColumnIndex = computed(() => {\n return props.store.states.columns.value.findIndex(\n ({ type }) => type === 'default'\n )\n })\n const getKeyOfRow = (row: T, index: number) => {\n const rowKey = (parent.props as Partial<TableProps<T>>).rowKey\n if (rowKey) {\n return getRowIdentity(row, rowKey)\n }\n return index\n }\n const rowRender = (\n row: T,\n $index: number,\n treeRowData?: TreeNode,\n expanded = false\n ) => {\n const { tooltipEffect, tooltipOptions, store } = props\n const { indent, columns } = store.states\n const rowClasses = getRowClass(row, $index)\n let display = true\n if (treeRowData) {\n rowClasses.push(ns.em('row', `level-${treeRowData.level}`))\n display = treeRowData.display\n }\n const displayStyle = display ? null : { display: 'none' }\n return h(\n 'tr',\n {\n style: [displayStyle, getRowStyle(row, $index)],\n class: rowClasses,\n key: getKeyOfRow(row, $index),\n onDblclick: ($event) => handleDoubleClick($event, row),\n onClick: ($event) => handleClick($event, row),\n onContextmenu: ($event) => handleContextMenu($event, row),\n onMouseenter: () => handleMouseEnter($index),\n onMouseleave: handleMouseLeave,\n },\n columns.value.map((column, cellIndex) => {\n const { rowspan, colspan } = getSpan(row, column, $index, cellIndex)\n if (!rowspan || !colspan) {\n return null\n }\n const columnData = Object.assign({}, column)\n columnData.realWidth = getColspanRealWidth(\n columns.value,\n colspan,\n cellIndex\n )\n const data: RenderRowData<T> = {\n store: props.store,\n _self: props.context || parent,\n column: columnData,\n row,\n $index,\n cellIndex,\n expanded,\n }\n if (cellIndex === firstDefaultColumnIndex.value && treeRowData) {\n data.treeNode = {\n indent: treeRowData.level * indent.value,\n level: treeRowData.level,\n }\n if (isBoolean(treeRowData.expanded)) {\n data.treeNode.expanded = treeRowData.expanded\n // 表明是懒加载\n if ('loading' in treeRowData) {\n data.treeNode.loading = treeRowData.loading\n }\n if ('noLazyChildren' in treeRowData) {\n data.treeNode.noLazyChildren = treeRowData.noLazyChildren\n }\n }\n }\n const baseKey = `${getKeyOfRow(row, $index)},${cellIndex}`\n const patchKey = columnData.columnKey || columnData.rawColumnKey || ''\n const mergedTooltipOptions =\n column.showOverflowTooltip &&\n merge(\n {\n effect: tooltipEffect,\n },\n tooltipOptions,\n column.showOverflowTooltip\n )\n return h(\n TdWrapper,\n {\n style: getCellStyle($index, cellIndex, row, column),\n class: getCellClass($index, cellIndex, row, column, colspan - 1),\n key: `${patchKey}${baseKey}`,\n rowspan,\n colspan,\n onMouseenter: ($event) =>\n handleCellMouseEnter($event, row, mergedTooltipOptions),\n onMouseleave: handleCellMouseLeave,\n },\n {\n default: () => cellChildren(cellIndex, column, data),\n }\n )\n })\n )\n }\n const cellChildren = (cellIndex, column, data) => {\n return column.renderCell(data)\n }\n\n const wrappedRowRender = (row: T, $index: number) => {\n const store = props.store\n const { isRowExpanded, assertRowKey } = store\n const { treeData, lazyTreeNodeMap, childrenColumnName, rowKey } =\n store.states\n const columns = store.states.columns.value\n const hasExpandColumn = columns.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n const expanded = isRowExpanded(row)\n const tr = rowRender(row, $index, undefined, expanded)\n const renderExpanded = parent.renderExpanded\n if (!renderExpanded) {\n console.error('[Element Error]renderExpanded is required.')\n return tr\n }\n\n // 在没设置时候避免 h 执行\n // 非保留模式且未展开时,直接返回\n // 使用二维数组包装,避免修改 $index\n const rows = [[tr]]\n\n // 仅在需要时创建展开行(保留模式或展开状态)\n if (parent.props.preserveExpandedContent || expanded) {\n rows[0].push(\n h(\n 'tr',\n {\n key: `expanded-row__${tr.key as string}`,\n style: { display: expanded ? '' : 'none' },\n },\n [\n h(\n 'td',\n {\n colspan: columns.length,\n class: `${ns.e('cell')} ${ns.e('expanded-cell')}`,\n },\n [renderExpanded({ row, $index, store, expanded })]\n ),\n ]\n )\n )\n }\n\n return rows\n } else if (Object.keys(treeData.value).length) {\n assertRowKey()\n // TreeTable 时,rowKey 必须由用户设定,不使用 getKeyOfRow 计算\n // 在调用 rowRender 函数时,仍然会计算 rowKey,不太好的操作\n const key = getRowIdentity(row, rowKey.value)\n let cur = treeData.value[key]\n let treeRowData = null\n if (cur) {\n treeRowData = {\n expanded: cur.expanded,\n level: cur.level,\n display: true,\n }\n if (isBoolean(cur.lazy)) {\n if (isBoolean(cur.loaded) && cur.loaded) {\n treeRowData.noLazyChildren = !(cur.children && cur.children.length)\n }\n treeRowData.loading = cur.loading\n }\n }\n const tmp = [rowRender(row, $index, treeRowData)]\n // 渲染嵌套数据\n if (cur) {\n // currentRow 记录的是 index,所以还需主动增加 TreeTable 的 index\n let i = 0\n const traverse = (children, parent) => {\n if (!(children && children.length && parent)) return\n children.forEach((node) => {\n // 父节点的 display 状态影响子节点的显示状态\n const innerTreeRowData = {\n display: parent.display && parent.expanded,\n level: parent.level + 1,\n expanded: false,\n noLazyChildren: false,\n loading: false,\n }\n const childKey = getRowIdentity(node, rowKey.value)\n if (isPropAbsent(childKey)) {\n throw new Error('For nested data item, row-key is required.')\n }\n cur = { ...treeData.value[childKey] }\n // 对于当前节点,分成有无子节点两种情况。\n // 如果包含子节点的,设置 expanded 属性。\n // 对于它子节点的 display 属性由它本身的 expanded 与 display 共同决定。\n if (cur) {\n innerTreeRowData.expanded = cur.expanded\n // 懒加载的某些节点,level 未知\n cur.level = cur.level || innerTreeRowData.level\n cur.display = !!(cur.expanded && innerTreeRowData.display)\n if (isBoolean(cur.lazy)) {\n if (isBoolean(cur.loaded) && cur.loaded) {\n innerTreeRowData.noLazyChildren = !(\n cur.children && cur.children.length\n )\n }\n innerTreeRowData.loading = cur.loading\n }\n }\n i++\n tmp.push(rowRender(node, $index + i, innerTreeRowData))\n if (cur) {\n const nodes =\n lazyTreeNodeMap.value[childKey] ||\n node[childrenColumnName.value]\n traverse(nodes, cur)\n }\n })\n }\n // 对于 root 节点,display 一定为 true\n cur.display = true\n const nodes =\n lazyTreeNodeMap.value[key] || row[childrenColumnName.value]\n traverse(nodes, cur)\n }\n return tmp\n } else {\n return rowRender(row, $index, undefined)\n }\n }\n\n return {\n wrappedRowRender,\n tooltipContent,\n tooltipTrigger,\n }\n}\n\nexport default useRender\n"],"names":["inject","TABLE_INJECTION_KEY","useNamespace","useEvents","useStyles","computed","getRowIdentity","h","isBoolean","merge","TdWrapper","isPropAbsent"],"mappings":"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"}
1
+ {"version":3,"file":"render-helper.js","sources":["../../../../../../../packages/components/table/src/table-body/render-helper.ts"],"sourcesContent":["import { computed, h, inject } from 'vue'\nimport { merge } from 'lodash-unified'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isBoolean, isPropAbsent } from '@element-plus/utils'\nimport { getRowIdentity } from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport useEvents from './events-helper'\nimport useStyles from './styles-helper'\nimport TdWrapper from './td-wrapper.vue'\n\nimport type { TableBodyProps } from './defaults'\nimport type {\n DefaultRow,\n RenderRowData,\n Table,\n TableColumnCtx,\n TableProps,\n TreeNode,\n} from '../table/defaults'\nimport type { TreeData } from '../store/tree'\nimport type { TableOverflowTooltipOptions } from '../util'\n\nfunction useRender<T extends DefaultRow>(props: Partial<TableBodyProps<T>>) {\n const parent = inject(TABLE_INJECTION_KEY) as Table<T>\n const ns = useNamespace('table')\n const {\n handleDoubleClick,\n handleClick,\n handleContextMenu,\n handleMouseEnter,\n handleMouseLeave,\n handleCellMouseEnter,\n handleCellMouseLeave,\n tooltipContent,\n tooltipTrigger,\n } = useEvents(props)\n const {\n getRowStyle,\n getRowClass,\n getCellStyle,\n getCellClass,\n getSpan,\n getColspanRealWidth,\n } = useStyles(props)\n const firstDefaultColumnIndex = computed(() => {\n return props.store?.states.columns.value.findIndex(\n ({ type }) => type === 'default'\n )\n })\n const getKeyOfRow = (row: T, index: number) => {\n const rowKey = (parent?.props as Partial<TableProps<T>>)?.rowKey\n if (rowKey) {\n return getRowIdentity(row, rowKey)\n }\n return index\n }\n const rowRender = (\n row: T,\n $index: number,\n treeRowData?: TreeNode,\n expanded = false\n ) => {\n const { tooltipEffect, tooltipOptions, store } = props\n const { indent, columns } = store!.states\n const rowClasses = getRowClass(row, $index)\n let display = true\n if (treeRowData) {\n rowClasses.push(ns.em('row', `level-${treeRowData.level}`))\n display = !!treeRowData.display\n }\n const displayStyle = display ? null : { display: 'none' }\n return h(\n 'tr',\n {\n style: [displayStyle, getRowStyle(row, $index)],\n class: rowClasses,\n key: getKeyOfRow(row, $index),\n onDblclick: ($event: Event) => handleDoubleClick($event, row),\n onClick: ($event: Event) => handleClick($event, row),\n onContextmenu: ($event: Event) => handleContextMenu($event, row),\n onMouseenter: () => handleMouseEnter($index),\n onMouseleave: handleMouseLeave,\n },\n columns.value.map((column, cellIndex) => {\n const { rowspan, colspan } = getSpan(row, column, $index, cellIndex)\n if (!rowspan || !colspan) {\n return null\n }\n const columnData = Object.assign({}, column)\n columnData.realWidth = getColspanRealWidth(\n columns.value,\n colspan,\n cellIndex\n )\n const data: RenderRowData<T> = {\n store: store!,\n _self: props.context || parent!,\n column: columnData,\n row,\n $index,\n cellIndex,\n expanded,\n }\n if (cellIndex === firstDefaultColumnIndex.value && treeRowData) {\n data.treeNode = {\n indent: treeRowData.level && treeRowData.level * indent.value,\n level: treeRowData.level,\n }\n if (isBoolean(treeRowData.expanded)) {\n data.treeNode.expanded = treeRowData.expanded\n // 表明是懒加载\n if ('loading' in treeRowData) {\n data.treeNode.loading = treeRowData.loading\n }\n if ('noLazyChildren' in treeRowData) {\n data.treeNode.noLazyChildren = treeRowData.noLazyChildren\n }\n }\n }\n const baseKey = `${getKeyOfRow(row, $index)},${cellIndex}`\n const patchKey = columnData.columnKey || columnData.rawColumnKey || ''\n const mergedTooltipOptions =\n column.showOverflowTooltip &&\n merge(\n {\n effect: tooltipEffect,\n },\n tooltipOptions,\n column.showOverflowTooltip\n )\n return h(\n TdWrapper,\n {\n style: getCellStyle($index, cellIndex, row, column),\n class: getCellClass($index, cellIndex, row, column, colspan - 1),\n key: `${patchKey}${baseKey}`,\n rowspan,\n colspan,\n onMouseenter: ($event: MouseEvent) =>\n handleCellMouseEnter(\n $event,\n row,\n mergedTooltipOptions as TableOverflowTooltipOptions\n ),\n onMouseleave: handleCellMouseLeave,\n },\n {\n default: () => cellChildren(cellIndex, column, data),\n }\n )\n })\n )\n }\n const cellChildren = <T extends DefaultRow>(\n _cellIndex: number,\n column: TableColumnCtx<T>,\n data: RenderRowData<T>\n ) => {\n return column.renderCell(data)\n }\n\n const wrappedRowRender = (row: T, $index: number) => {\n const store = props.store!\n const { isRowExpanded, assertRowKey } = store\n const { treeData, lazyTreeNodeMap, childrenColumnName, rowKey } =\n store.states\n const columns = store.states.columns.value\n const hasExpandColumn = columns.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n const expanded = isRowExpanded(row)\n const tr = rowRender(row, $index, undefined, expanded)\n const renderExpanded = parent?.renderExpanded\n if (!renderExpanded) {\n console.error('[Element Error]renderExpanded is required.')\n return tr\n }\n\n // 在没设置时候避免 h 执行\n // 非保留模式且未展开时,直接返回\n // 使用二维数组包装,避免修改 $index\n const rows = [[tr]]\n\n // 仅在需要时创建展开行(保留模式或展开状态)\n if (parent.props.preserveExpandedContent || expanded) {\n rows[0].push(\n h(\n 'tr',\n {\n key: `expanded-row__${tr.key as string}`,\n style: { display: expanded ? '' : 'none' },\n },\n [\n h(\n 'td',\n {\n colspan: columns.length,\n class: `${ns.e('cell')} ${ns.e('expanded-cell')}`,\n },\n [renderExpanded({ row, $index, store, expanded })]\n ),\n ]\n )\n )\n }\n\n return rows\n } else if (Object.keys(treeData.value).length) {\n assertRowKey()\n // TreeTable 时,rowKey 必须由用户设定,不使用 getKeyOfRow 计算\n // 在调用 rowRender 函数时,仍然会计算 rowKey,不太好的操作\n const key = getRowIdentity(row, rowKey.value)\n let cur = treeData.value[key]\n let treeRowData = null\n if (cur) {\n treeRowData = {\n expanded: cur.expanded,\n level: cur.level,\n display: true,\n noLazyChildren: undefined as boolean | undefined,\n loading: undefined as boolean | undefined,\n }\n if (isBoolean(cur.lazy)) {\n if (treeRowData && isBoolean(cur.loaded) && cur.loaded) {\n treeRowData.noLazyChildren = !(cur.children && cur.children.length)\n }\n treeRowData.loading = cur.loading\n }\n }\n const tmp = [rowRender(row, $index, treeRowData ?? undefined)]\n // 渲染嵌套数据\n if (cur) {\n // currentRow 记录的是 index,所以还需主动增加 TreeTable 的 index\n let i = 0\n const traverse = (children: T[], parent: TreeData) => {\n if (!(children && children.length && parent)) return\n children.forEach((node) => {\n // 父节点的 display 状态影响子节点的显示状态\n const innerTreeRowData: Partial<Record<string, any>> = {\n display: parent.display && parent.expanded,\n level: parent.level! + 1,\n expanded: false,\n noLazyChildren: false,\n loading: false,\n }\n const childKey = getRowIdentity(node, rowKey.value)\n if (isPropAbsent(childKey)) {\n throw new Error('For nested data item, row-key is required.')\n }\n cur = { ...treeData.value[childKey] }\n // 对于当前节点,分成有无子节点两种情况。\n // 如果包含子节点的,设置 expanded 属性。\n // 对于它子节点的 display 属性由它本身的 expanded 与 display 共同决定。\n if (cur) {\n innerTreeRowData.expanded = cur.expanded\n // 懒加载的某些节点,level 未知\n cur.level = cur.level || innerTreeRowData.level\n cur.display = !!(cur.expanded && innerTreeRowData.display)\n if (isBoolean(cur.lazy)) {\n if (isBoolean(cur.loaded) && cur.loaded) {\n innerTreeRowData.noLazyChildren = !(\n cur.children && cur.children.length\n )\n }\n innerTreeRowData.loading = cur.loading\n }\n }\n i++\n tmp.push(rowRender(node, $index + i, innerTreeRowData))\n if (cur) {\n const nodes =\n lazyTreeNodeMap.value[childKey] ||\n node[childrenColumnName.value]\n traverse(nodes, cur)\n }\n })\n }\n // 对于 root 节点,display 一定为 true\n cur.display = true\n const nodes =\n lazyTreeNodeMap.value[key] || row[childrenColumnName.value]\n traverse(nodes, cur)\n }\n return tmp\n } else {\n return rowRender(row, $index, undefined)\n }\n }\n\n return {\n wrappedRowRender,\n tooltipContent,\n tooltipTrigger,\n }\n}\n\nexport default useRender\n"],"names":["inject","TABLE_INJECTION_KEY","useNamespace","useEvents","useStyles","computed","getRowIdentity","h","isBoolean","merge","TdWrapper","isPropAbsent"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { TableColumnCtx } from '../table-column/defaults';
2
2
  import type { TableBodyProps } from './defaults';
3
- declare function useStyles<T>(props: Partial<TableBodyProps<T>>): {
3
+ import type { DefaultRow } from '../table/defaults';
4
+ declare function useStyles<T extends DefaultRow>(props: Partial<TableBodyProps<T>>): {
4
5
  getRowStyle: (row: T, rowIndex: number) => any;
5
6
  getRowClass: (row: T, rowIndex: number) => string[];
6
7
  getCellStyle: (rowIndex: number, columnIndex: number, row: T, column: TableColumnCtx<T>) => import("vue").CSSProperties;
@@ -22,8 +22,9 @@ function useStyles(props) {
22
22
  return rowStyle || null;
23
23
  };
24
24
  const getRowClass = (row, rowIndex) => {
25
+ var _a;
25
26
  const classes = [ns.e("row")];
26
- if ((parent == null ? void 0 : parent.props.highlightCurrentRow) && row === props.store.states.currentRow.value) {
27
+ if ((parent == null ? void 0 : parent.props.highlightCurrentRow) && row === ((_a = props.store) == null ? void 0 : _a.states.currentRow.value)) {
27
28
  classes.push("current-row");
28
29
  }
29
30
  if (props.stripe && rowIndex % 2 === 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"styles-helper.js","sources":["../../../../../../../packages/components/table/src/table-body/styles-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport { inject } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isArray, isFunction, isObject, isString } from '@element-plus/utils'\nimport {\n ensurePosition,\n getFixedColumnOffset,\n getFixedColumnsClass,\n} from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\n\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { TableBodyProps } from './defaults'\n\nfunction useStyles<T>(props: Partial<TableBodyProps<T>>) {\n const parent = inject(TABLE_INJECTION_KEY)\n const ns = useNamespace('table')\n\n const getRowStyle = (row: T, rowIndex: number) => {\n const rowStyle = parent?.props.rowStyle\n if (isFunction(rowStyle)) {\n return rowStyle.call(null, {\n row,\n rowIndex,\n })\n }\n return rowStyle || null\n }\n\n const getRowClass = (row: T, rowIndex: number) => {\n const classes = [ns.e('row')]\n if (\n parent?.props.highlightCurrentRow &&\n row === props.store.states.currentRow.value\n ) {\n classes.push('current-row')\n }\n\n if (props.stripe && rowIndex % 2 === 1) {\n classes.push(ns.em('row', 'striped'))\n }\n const rowClassName = parent?.props.rowClassName\n if (isString(rowClassName)) {\n classes.push(rowClassName)\n } else if (isFunction(rowClassName)) {\n classes.push(\n rowClassName.call(null, {\n row,\n rowIndex,\n })\n )\n }\n return classes\n }\n\n const getCellStyle = (\n rowIndex: number,\n columnIndex: number,\n row: T,\n column: TableColumnCtx<T>\n ) => {\n const cellStyle = parent?.props.cellStyle\n let cellStyles = cellStyle ?? {}\n if (isFunction(cellStyle)) {\n cellStyles = cellStyle.call(null, {\n rowIndex,\n columnIndex,\n row,\n column,\n })\n }\n const fixedStyle = getFixedColumnOffset(\n columnIndex,\n props?.fixed,\n props.store\n )\n ensurePosition(fixedStyle, 'left')\n ensurePosition(fixedStyle, 'right')\n return Object.assign({}, cellStyles, fixedStyle)\n }\n\n const getCellClass = (\n rowIndex: number,\n columnIndex: number,\n row: T,\n column: TableColumnCtx<T>,\n offset: number\n ) => {\n const fixedClasses = getFixedColumnsClass(\n ns.b(),\n columnIndex,\n props?.fixed,\n props.store,\n undefined,\n offset\n )\n const classes = [column.id, column.align, column.className, ...fixedClasses]\n const cellClassName = parent?.props.cellClassName\n if (isString(cellClassName)) {\n classes.push(cellClassName)\n } else if (isFunction(cellClassName)) {\n classes.push(\n cellClassName.call(null, {\n rowIndex,\n columnIndex,\n row,\n column,\n })\n )\n }\n classes.push(ns.e('cell'))\n return classes.filter((className) => Boolean(className)).join(' ')\n }\n const getSpan = (\n row: T,\n column: TableColumnCtx<T>,\n rowIndex: number,\n columnIndex: number\n ) => {\n let rowspan = 1\n let colspan = 1\n const fn = parent?.props.spanMethod\n if (isFunction(fn)) {\n const result = fn({\n row,\n column,\n rowIndex,\n columnIndex,\n })\n if (isArray(result)) {\n rowspan = result[0]\n colspan = result[1]\n } else if (isObject(result)) {\n rowspan = result.rowspan\n colspan = result.colspan\n }\n }\n return { rowspan, colspan }\n }\n const getColspanRealWidth = (\n columns: TableColumnCtx<T>[],\n colspan: number,\n index: number\n ): number => {\n if (colspan < 1) {\n return columns[index].realWidth\n }\n const widthArr = columns\n .map(({ realWidth, width }) => realWidth || width)\n .slice(index, index + colspan)\n return Number(\n widthArr.reduce((acc, width) => Number(acc) + Number(width), -1)\n )\n }\n\n return {\n getRowStyle,\n getRowClass,\n getCellStyle,\n getCellClass,\n getSpan,\n getColspanRealWidth,\n }\n}\n\nexport default useStyles\n"],"names":["inject","TABLE_INJECTION_KEY","useNamespace","isFunction","isString","getFixedColumnOffset","ensurePosition","getFixedColumnsClass","isArray","isObject"],"mappings":"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"}
1
+ {"version":3,"file":"styles-helper.js","sources":["../../../../../../../packages/components/table/src/table-body/styles-helper.ts"],"sourcesContent":["import { inject } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isArray, isFunction, isObject, isString } from '@element-plus/utils'\nimport {\n ensurePosition,\n getFixedColumnOffset,\n getFixedColumnsClass,\n} from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\n\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { TableBodyProps } from './defaults'\nimport type { DefaultRow, Table } from '../table/defaults'\n\nfunction useStyles<T extends DefaultRow>(props: Partial<TableBodyProps<T>>) {\n const parent = inject(TABLE_INJECTION_KEY) as Table<T>\n const ns = useNamespace('table')\n\n const getRowStyle = (row: T, rowIndex: number) => {\n const rowStyle = parent?.props.rowStyle\n if (isFunction(rowStyle)) {\n return rowStyle.call(null, {\n row,\n rowIndex,\n })\n }\n return rowStyle || null\n }\n\n const getRowClass = (row: T, rowIndex: number) => {\n const classes = [ns.e('row')]\n if (\n parent?.props.highlightCurrentRow &&\n row === props.store?.states.currentRow.value\n ) {\n classes.push('current-row')\n }\n\n if (props.stripe && rowIndex % 2 === 1) {\n classes.push(ns.em('row', 'striped'))\n }\n const rowClassName = parent?.props.rowClassName\n if (isString(rowClassName)) {\n classes.push(rowClassName)\n } else if (isFunction(rowClassName)) {\n classes.push(\n rowClassName.call(null, {\n row,\n rowIndex,\n })\n )\n }\n return classes\n }\n\n const getCellStyle = (\n rowIndex: number,\n columnIndex: number,\n row: T,\n column: TableColumnCtx<T>\n ) => {\n const cellStyle = parent?.props.cellStyle\n let cellStyles = cellStyle ?? {}\n if (isFunction(cellStyle)) {\n cellStyles = cellStyle.call(null, {\n rowIndex,\n columnIndex,\n row,\n column,\n })\n }\n const fixedStyle = getFixedColumnOffset(\n columnIndex,\n props?.fixed,\n props.store\n )\n ensurePosition(fixedStyle, 'left')\n ensurePosition(fixedStyle, 'right')\n return Object.assign({}, cellStyles, fixedStyle)\n }\n\n const getCellClass = (\n rowIndex: number,\n columnIndex: number,\n row: T,\n column: TableColumnCtx<T>,\n offset: number\n ) => {\n const fixedClasses = getFixedColumnsClass(\n ns.b(),\n columnIndex,\n props?.fixed,\n props.store,\n undefined,\n offset\n )\n const classes = [column.id, column.align, column.className, ...fixedClasses]\n const cellClassName = parent?.props.cellClassName\n if (isString(cellClassName)) {\n classes.push(cellClassName)\n } else if (isFunction(cellClassName)) {\n classes.push(\n cellClassName.call(null, {\n rowIndex,\n columnIndex,\n row,\n column,\n })\n )\n }\n classes.push(ns.e('cell'))\n return classes.filter((className) => Boolean(className)).join(' ')\n }\n const getSpan = (\n row: T,\n column: TableColumnCtx<T>,\n rowIndex: number,\n columnIndex: number\n ) => {\n let rowspan = 1\n let colspan = 1\n const fn = parent?.props.spanMethod\n if (isFunction(fn)) {\n const result = fn({\n row,\n column,\n rowIndex,\n columnIndex,\n })\n if (isArray(result)) {\n rowspan = result[0]\n colspan = result[1]\n } else if (isObject(result)) {\n rowspan = result.rowspan\n colspan = result.colspan\n }\n }\n return { rowspan, colspan }\n }\n const getColspanRealWidth = (\n columns: TableColumnCtx<T>[],\n colspan: number,\n index: number\n ): number => {\n if (colspan < 1) {\n return columns[index].realWidth!\n }\n const widthArr = columns\n .map(({ realWidth, width }) => realWidth || width)\n .slice(index, index + colspan)\n return Number(\n widthArr.reduce((acc, width) => Number(acc) + Number(width), -1)\n )\n }\n\n return {\n getRowStyle,\n getRowClass,\n getCellStyle,\n getCellClass,\n getSpan,\n getColspanRealWidth,\n }\n}\n\nexport default useStyles\n"],"names":["inject","TABLE_INJECTION_KEY","useNamespace","isFunction","isString","getFixedColumnOffset","ensurePosition","getFixedColumnsClass","isArray","isObject"],"mappings":"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"}
@@ -48,7 +48,7 @@ type TableColumnCtx<T extends DefaultRow = DefaultRow> = {
48
48
  filterClassName: string;
49
49
  index: number | ((index: number) => number);
50
50
  sortOrders: (TableSortOrder | null)[];
51
- renderCell: (data: any) => void;
51
+ renderCell: (data: any) => VNode | VNode[];
52
52
  colSpan: number;
53
53
  rowSpan: number;
54
54
  children?: TableColumnCtx<T>[];
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sources":["../../../../../../../packages/components/table/src/table-column/defaults.ts"],"sourcesContent":["import type { ComponentInternalInstance, PropType, Ref, VNode } from 'vue'\nimport type { DefaultRow, Table, TableSortOrder } from '../table/defaults'\nimport type {\n TableOverflowTooltipFormatter,\n TableOverflowTooltipOptions,\n} from '../util'\nimport type { Store } from '../store'\n\ntype CI<T extends DefaultRow> = {\n column: TableColumnCtx<T>\n $index: number\n store: Store<T>\n _self: any\n}\n\ntype Filters = {\n text: string\n value: string\n}[]\n\ntype FilterMethods<T extends DefaultRow> = (\n value: string,\n row: T,\n column: TableColumnCtx<T>\n) => void\n\ntype ValueOf<T> = T[keyof T]\n\ntype TableColumnCtx<T extends DefaultRow = DefaultRow> = {\n id: string\n realWidth: number | null\n type: string\n label: string\n className: string\n labelClassName: string\n property: string\n prop: string\n width?: string | number\n minWidth: string | number\n renderHeader: (data: CI<T>) => VNode\n sortable: boolean | string\n sortMethod: (a: T, b: T) => number\n sortBy: string | ((row: T, index: number, array?: T[]) => string) | string[]\n resizable: boolean\n columnKey: string\n rawColumnKey: string\n align: string\n headerAlign: string\n showOverflowTooltip?: boolean | TableOverflowTooltipOptions\n tooltipFormatter?: TableOverflowTooltipFormatter<T>\n fixed: boolean | string\n formatter: (\n row: T,\n column: TableColumnCtx<T>,\n cellValue: any,\n index: number\n ) => VNode | string\n selectable: (row: T, index: number) => boolean\n reserveSelection: boolean\n filterMethod: FilterMethods<T>\n filteredValue: string[]\n filters: Filters\n filterPlacement: string\n filterMultiple: boolean\n filterClassName: string\n index: number | ((index: number) => number)\n sortOrders: (TableSortOrder | null)[]\n renderCell: (data: any) => void\n colSpan: number\n rowSpan: number\n children?: TableColumnCtx<T>[]\n level: number\n filterable: boolean | FilterMethods<T> | Filters\n order: TableSortOrder | null\n isColumnGroup: boolean\n isSubColumn: boolean\n columns: TableColumnCtx<T>[]\n getColumnIndex: () => number\n no: number\n filterOpened?: boolean\n renderFilterIcon?: (scope: any) => VNode\n renderExpand?: (scope: any) => VNode\n}\n\ninterface TableColumn<T extends DefaultRow> extends ComponentInternalInstance {\n vnode: {\n vParent: TableColumn<T> | Table<T>\n } & VNode\n vParent: TableColumn<T> | Table<T>\n columnId: string\n columnConfig: Ref<Partial<TableColumnCtx<T>>>\n}\n\nexport type { Filters, FilterMethods, TableColumnCtx, TableColumn, ValueOf }\n\nexport default {\n /**\n * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n */\n type: {\n type: String,\n default: 'default',\n },\n /**\n * @description column label\n */\n label: String,\n /**\n * @description class name of cells in the column\n */\n className: String,\n /**\n * @description class name of the label of this column\n */\n labelClassName: String,\n /**\n * @description\n */\n property: String,\n /**\n * @description field name. You can also use its alias: `property`\n */\n prop: String,\n /**\n * @description column width\n */\n width: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column minimum width. Columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion\n */\n minWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description render function for table header of this column\n */\n renderHeader: Function as PropType<TableColumnCtx<any>['renderHeader']>,\n /**\n * @description whether column can be sorted. Remote sorting can be done by setting this attribute to 'custom' and listening to the `sort-change` event of Table\n */\n sortable: {\n type: [Boolean, String],\n default: false,\n },\n /**\n * @description sorting method, works when `sortable` is `true`. Should return a number, just like Array.sort\n */\n sortMethod: Function as PropType<TableColumnCtx<any>['sortMethod']>,\n /**\n * @description specify which property to sort by, works when `sortable` is `true` and `sort-method` is `undefined`. If set to an Array, the column will sequentially sort by the next property if the previous one is equal\n */\n sortBy: [String, Function, Array] as PropType<TableColumnCtx<any>['sortBy']>,\n /**\n * @description whether column width can be resized, works when `border` of `el-table` is `true`\n */\n resizable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description column's key. If you need to use the filter-change event, you need this attribute to identify which column is being filtered\n */\n columnKey: String,\n /**\n * @description alignment, the value should be 'left' \\/ 'center' \\/ 'right'\n */\n align: String,\n /**\n * @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right'\n */\n headerAlign: String,\n /**\n * @description whether to hide extra content and show them in a tooltip when hovering on the cell\n */\n showOverflowTooltip: {\n type: [Boolean, Object] as PropType<\n TableColumnCtx<any>['showOverflowTooltip']\n >,\n default: undefined,\n },\n /**\n * @description function that formats cell tooltip content, works when `show-overflow-tooltip` is `true`\n */\n tooltipFormatter: Function as PropType<\n TableColumnCtx<any>['tooltipFormatter']\n >,\n /**\n * @description whether column is fixed at left / right. Will be fixed at left if `true`\n */\n fixed: [Boolean, String],\n /**\n * @description function that formats cell content\n */\n formatter: Function as PropType<TableColumnCtx<any>['formatter']>,\n /**\n * @description function that determines if a certain row can be selected, works when `type` is 'selection'\n */\n selectable: Function as PropType<TableColumnCtx<any>['selectable']>,\n /**\n * @description whether to reserve selection after data refreshing, works when `type` is 'selection'. Note that `row-key` is required for this to work\n */\n reserveSelection: Boolean,\n /**\n * @description data filtering method. If `filter-multiple` is on, this method will be called multiple times for each row, and a row will display if one of the calls returns `true`\n */\n filterMethod: Function as PropType<TableColumnCtx<any>['filterMethod']>,\n /**\n * @description filter value for selected data, might be useful when table header is rendered with `render-header`\n */\n filteredValue: Array as PropType<TableColumnCtx<any>['filteredValue']>,\n /**\n * @description an array of data filtering options. For each element in this array, `text` and `value` are required\n */\n filters: Array as PropType<TableColumnCtx<any>['filters']>,\n /**\n * @description placement for the filter dropdown\n */\n filterPlacement: String,\n /**\n * @description whether data filtering supports multiple options\n */\n filterMultiple: {\n type: Boolean,\n default: true,\n },\n /**\n * @description className for the filter dropdown\n */\n filterClassName: String,\n /**\n * @description customize indices for each row, works on columns with `type=index`\n */\n index: [Number, Function] as PropType<TableColumnCtx<any>['index']>,\n /**\n * @description the order of the sorting strategies used when sorting the data, works when `sortable` is `true`. Accepts an array, as the user clicks on the header, the column is sorted in order of the elements in the array\n */\n sortOrders: {\n type: Array as PropType<TableColumnCtx<any>['sortOrders']>,\n default: () => {\n return ['ascending', 'descending', null]\n },\n validator: (val: TableColumnCtx<any>['sortOrders']) => {\n return val.every((order: TableSortOrder | null) =>\n ['ascending', 'descending', null].includes(order)\n )\n },\n },\n}\n"],"names":[],"mappings":";;;;AAAA,mBAAe;AACf,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,SAAS;AACtB,GAAG;AACH,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,cAAc,EAAE,MAAM;AACxB,EAAE,QAAQ,EAAE,MAAM;AAClB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE,QAAQ;AACxB,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC3B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE,QAAQ;AACtB,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;AACnC,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,mBAAmB,EAAE;AACvB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC3B,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,gBAAgB,EAAE,QAAQ;AAC5B,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC1B,EAAE,SAAS,EAAE,QAAQ;AACrB,EAAE,UAAU,EAAE,QAAQ;AACtB,EAAE,gBAAgB,EAAE,OAAO;AAC3B,EAAE,YAAY,EAAE,QAAQ;AACxB,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,OAAO,EAAE,KAAK;AAChB,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC3B,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK;AACxB,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACrF,KAAK;AACL,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"defaults.js","sources":["../../../../../../../packages/components/table/src/table-column/defaults.ts"],"sourcesContent":["import type { ComponentInternalInstance, PropType, Ref, VNode } from 'vue'\nimport type { DefaultRow, Table, TableSortOrder } from '../table/defaults'\nimport type {\n TableOverflowTooltipFormatter,\n TableOverflowTooltipOptions,\n} from '../util'\nimport type { Store } from '../store'\n\ntype CI<T extends DefaultRow> = {\n column: TableColumnCtx<T>\n $index: number\n store: Store<T>\n _self: any\n}\n\ntype Filters = {\n text: string\n value: string\n}[]\n\ntype FilterMethods<T extends DefaultRow> = (\n value: string,\n row: T,\n column: TableColumnCtx<T>\n) => void\n\ntype ValueOf<T> = T[keyof T]\n\ntype TableColumnCtx<T extends DefaultRow = DefaultRow> = {\n id: string\n realWidth: number | null\n type: string\n label: string\n className: string\n labelClassName: string\n property: string\n prop: string\n width?: string | number\n minWidth: string | number\n renderHeader: (data: CI<T>) => VNode\n sortable: boolean | string\n sortMethod: (a: T, b: T) => number\n sortBy: string | ((row: T, index: number, array?: T[]) => string) | string[]\n resizable: boolean\n columnKey: string\n rawColumnKey: string\n align: string\n headerAlign: string\n showOverflowTooltip?: boolean | TableOverflowTooltipOptions\n tooltipFormatter?: TableOverflowTooltipFormatter<T>\n fixed: boolean | string\n formatter: (\n row: T,\n column: TableColumnCtx<T>,\n cellValue: any,\n index: number\n ) => VNode | string\n selectable: (row: T, index: number) => boolean\n reserveSelection: boolean\n filterMethod: FilterMethods<T>\n filteredValue: string[]\n filters: Filters\n filterPlacement: string\n filterMultiple: boolean\n filterClassName: string\n index: number | ((index: number) => number)\n sortOrders: (TableSortOrder | null)[]\n renderCell: (data: any) => VNode | VNode[]\n colSpan: number\n rowSpan: number\n children?: TableColumnCtx<T>[]\n level: number\n filterable: boolean | FilterMethods<T> | Filters\n order: TableSortOrder | null\n isColumnGroup: boolean\n isSubColumn: boolean\n columns: TableColumnCtx<T>[]\n getColumnIndex: () => number\n no: number\n filterOpened?: boolean\n renderFilterIcon?: (scope: any) => VNode\n renderExpand?: (scope: any) => VNode\n}\n\ninterface TableColumn<T extends DefaultRow> extends ComponentInternalInstance {\n vnode: {\n vParent: TableColumn<T> | Table<T>\n } & VNode\n vParent: TableColumn<T> | Table<T>\n columnId: string\n columnConfig: Ref<Partial<TableColumnCtx<T>>>\n}\n\nexport type { Filters, FilterMethods, TableColumnCtx, TableColumn, ValueOf }\n\nexport default {\n /**\n * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n */\n type: {\n type: String,\n default: 'default',\n },\n /**\n * @description column label\n */\n label: String,\n /**\n * @description class name of cells in the column\n */\n className: String,\n /**\n * @description class name of the label of this column\n */\n labelClassName: String,\n /**\n * @description\n */\n property: String,\n /**\n * @description field name. You can also use its alias: `property`\n */\n prop: String,\n /**\n * @description column width\n */\n width: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column minimum width. Columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion\n */\n minWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description render function for table header of this column\n */\n renderHeader: Function as PropType<TableColumnCtx<any>['renderHeader']>,\n /**\n * @description whether column can be sorted. Remote sorting can be done by setting this attribute to 'custom' and listening to the `sort-change` event of Table\n */\n sortable: {\n type: [Boolean, String],\n default: false,\n },\n /**\n * @description sorting method, works when `sortable` is `true`. Should return a number, just like Array.sort\n */\n sortMethod: Function as PropType<TableColumnCtx<any>['sortMethod']>,\n /**\n * @description specify which property to sort by, works when `sortable` is `true` and `sort-method` is `undefined`. If set to an Array, the column will sequentially sort by the next property if the previous one is equal\n */\n sortBy: [String, Function, Array] as PropType<TableColumnCtx<any>['sortBy']>,\n /**\n * @description whether column width can be resized, works when `border` of `el-table` is `true`\n */\n resizable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description column's key. If you need to use the filter-change event, you need this attribute to identify which column is being filtered\n */\n columnKey: String,\n /**\n * @description alignment, the value should be 'left' \\/ 'center' \\/ 'right'\n */\n align: String,\n /**\n * @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right'\n */\n headerAlign: String,\n /**\n * @description whether to hide extra content and show them in a tooltip when hovering on the cell\n */\n showOverflowTooltip: {\n type: [Boolean, Object] as PropType<\n TableColumnCtx<any>['showOverflowTooltip']\n >,\n default: undefined,\n },\n /**\n * @description function that formats cell tooltip content, works when `show-overflow-tooltip` is `true`\n */\n tooltipFormatter: Function as PropType<\n TableColumnCtx<any>['tooltipFormatter']\n >,\n /**\n * @description whether column is fixed at left / right. Will be fixed at left if `true`\n */\n fixed: [Boolean, String],\n /**\n * @description function that formats cell content\n */\n formatter: Function as PropType<TableColumnCtx<any>['formatter']>,\n /**\n * @description function that determines if a certain row can be selected, works when `type` is 'selection'\n */\n selectable: Function as PropType<TableColumnCtx<any>['selectable']>,\n /**\n * @description whether to reserve selection after data refreshing, works when `type` is 'selection'. Note that `row-key` is required for this to work\n */\n reserveSelection: Boolean,\n /**\n * @description data filtering method. If `filter-multiple` is on, this method will be called multiple times for each row, and a row will display if one of the calls returns `true`\n */\n filterMethod: Function as PropType<TableColumnCtx<any>['filterMethod']>,\n /**\n * @description filter value for selected data, might be useful when table header is rendered with `render-header`\n */\n filteredValue: Array as PropType<TableColumnCtx<any>['filteredValue']>,\n /**\n * @description an array of data filtering options. For each element in this array, `text` and `value` are required\n */\n filters: Array as PropType<TableColumnCtx<any>['filters']>,\n /**\n * @description placement for the filter dropdown\n */\n filterPlacement: String,\n /**\n * @description whether data filtering supports multiple options\n */\n filterMultiple: {\n type: Boolean,\n default: true,\n },\n /**\n * @description className for the filter dropdown\n */\n filterClassName: String,\n /**\n * @description customize indices for each row, works on columns with `type=index`\n */\n index: [Number, Function] as PropType<TableColumnCtx<any>['index']>,\n /**\n * @description the order of the sorting strategies used when sorting the data, works when `sortable` is `true`. Accepts an array, as the user clicks on the header, the column is sorted in order of the elements in the array\n */\n sortOrders: {\n type: Array as PropType<TableColumnCtx<any>['sortOrders']>,\n default: () => {\n return ['ascending', 'descending', null]\n },\n validator: (val: TableColumnCtx<any>['sortOrders']) => {\n return val.every((order: TableSortOrder | null) =>\n ['ascending', 'descending', null].includes(order)\n )\n },\n },\n}\n"],"names":[],"mappings":";;;;AAAA,mBAAe;AACf,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,SAAS;AACtB,GAAG;AACH,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,cAAc,EAAE,MAAM;AACxB,EAAE,QAAQ,EAAE,MAAM;AAClB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE,QAAQ;AACxB,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC3B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE,QAAQ;AACtB,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;AACnC,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,mBAAmB,EAAE;AACvB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC3B,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,gBAAgB,EAAE,QAAQ;AAC5B,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC1B,EAAE,SAAS,EAAE,QAAQ;AACrB,EAAE,UAAU,EAAE,QAAQ;AACtB,EAAE,gBAAgB,EAAE,OAAO;AAC3B,EAAE,YAAY,EAAE,QAAQ;AACxB,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,OAAO,EAAE,KAAK;AAChB,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC3B,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK;AACxB,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACrF,KAAK;AACL,GAAG;AACH,CAAC;;;;"}
@@ -44,7 +44,7 @@ var ElTableColumn = vue.defineComponent({
44
44
  updateColumnOrder
45
45
  } = renderHelper["default"](props, slots, owner);
46
46
  const parent = columnOrTableParent.value;
47
- columnId.value = `${parent.tableId || parent.columnId}_column_${columnIdSeed++}`;
47
+ columnId.value = `${"tableId" in parent && parent.tableId || "columnId" in parent && parent.columnId}_column_${columnIdSeed++}`;
48
48
  vue.onBeforeMount(() => {
49
49
  isSubColumn.value = owner.value !== parent;
50
50
  const type = props.type || "default";
@@ -102,18 +102,18 @@ var ElTableColumn = vue.defineComponent({
102
102
  registerComplexWatchers();
103
103
  });
104
104
  vue.onMounted(() => {
105
- var _a;
105
+ var _a, _b;
106
106
  const parent2 = columnOrTableParent.value;
107
- const children = isSubColumn.value ? parent2.vnode.el.children : (_a = parent2.refs.hiddenColumns) == null ? void 0 : _a.children;
107
+ const children = isSubColumn.value ? (_a = parent2.vnode.el) == null ? void 0 : _a.children : (_b = parent2.refs.hiddenColumns) == null ? void 0 : _b.children;
108
108
  const getColumnIndex = () => getColumnElIndex(children || [], instance.vnode.el);
109
109
  columnConfig.value.getColumnIndex = getColumnIndex;
110
110
  const columnIndex = getColumnIndex();
111
- columnIndex > -1 && owner.value.store.commit("insertColumn", columnConfig.value, isSubColumn.value ? parent2.columnConfig.value : null, updateColumnOrder);
111
+ columnIndex > -1 && owner.value.store.commit("insertColumn", columnConfig.value, isSubColumn.value ? "columnConfig" in parent2 && parent2.columnConfig.value : null, updateColumnOrder);
112
112
  });
113
113
  vue.onBeforeUnmount(() => {
114
114
  const getColumnIndex = columnConfig.value.getColumnIndex;
115
115
  const columnIndex = getColumnIndex ? getColumnIndex() : -1;
116
- columnIndex > -1 && owner.value.store.commit("removeColumn", columnConfig.value, isSubColumn.value ? parent.columnConfig.value : null, updateColumnOrder);
116
+ columnIndex > -1 && owner.value.store.commit("removeColumn", columnConfig.value, isSubColumn.value ? "columnConfig" in parent && parent.columnConfig.value : null, updateColumnOrder);
117
117
  });
118
118
  instance.columnId = columnId.value;
119
119
  instance.columnConfig = columnConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../packages/components/table/src/table-column/index.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n onBeforeMount,\n onBeforeUnmount,\n onMounted,\n ref,\n} from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { isArray, isString, isUndefined } from '@element-plus/utils'\nimport { cellStarts } from '../config'\nimport { compose, mergeOptions } from '../util'\nimport useWatcher from './watcher-helper'\nimport useRender from './render-helper'\nimport defaultProps from './defaults'\n\nimport type { TableColumn, TableColumnCtx } from './defaults'\nimport type { DefaultRow } from '../table/defaults'\n\nlet columnIdSeed = 1\n\nexport default defineComponent({\n name: 'ElTableColumn',\n components: {\n ElCheckbox,\n },\n props: defaultProps,\n setup(props, { slots }) {\n const instance = getCurrentInstance() as TableColumn<DefaultRow>\n const columnConfig = ref<Partial<TableColumnCtx<DefaultRow>>>({})\n const owner = computed(() => {\n let parent = instance.parent as any\n while (parent && !parent.tableId) {\n parent = parent.parent\n }\n return parent\n })\n\n const { registerNormalWatchers, registerComplexWatchers } = useWatcher(\n owner,\n props\n )\n const {\n columnId,\n isSubColumn,\n realHeaderAlign,\n columnOrTableParent,\n setColumnWidth,\n setColumnForcedProps,\n setColumnRenders,\n getPropsData,\n getColumnElIndex,\n realAlign,\n updateColumnOrder,\n } = useRender(props as unknown as TableColumnCtx<unknown>, slots, owner)\n\n const parent = columnOrTableParent.value\n columnId.value = `${\n parent.tableId || parent.columnId\n }_column_${columnIdSeed++}`\n onBeforeMount(() => {\n isSubColumn.value = owner.value !== parent\n\n const type = props.type || 'default'\n const sortable = props.sortable === '' ? true : props.sortable\n //The selection column should not be affected by `showOverflowTooltip`.\n const showOverflowTooltip =\n type === 'selection'\n ? false\n : isUndefined(props.showOverflowTooltip)\n ? parent.props.showOverflowTooltip\n : props.showOverflowTooltip\n const tooltipFormatter = isUndefined(props.tooltipFormatter)\n ? parent.props.tooltipFormatter\n : props.tooltipFormatter\n const defaults = {\n ...cellStarts[type],\n id: columnId.value,\n type,\n property: props.prop || props.property,\n align: realAlign,\n headerAlign: realHeaderAlign,\n showOverflowTooltip,\n tooltipFormatter,\n // filter 相关属性\n filterable: props.filters || props.filterMethod,\n filteredValue: [],\n filterPlacement: '',\n filterClassName: '',\n isColumnGroup: false,\n isSubColumn: false,\n filterOpened: false,\n // sort 相关属性\n sortable,\n // index 列\n index: props.index,\n // <el-table-column key=\"xxx\" />\n rawColumnKey: instance.vnode.key,\n }\n\n const basicProps = [\n 'columnKey',\n 'label',\n 'className',\n 'labelClassName',\n 'type',\n 'renderHeader',\n 'formatter',\n 'fixed',\n 'resizable',\n ]\n const sortProps = ['sortMethod', 'sortBy', 'sortOrders']\n const selectProps = ['selectable', 'reserveSelection']\n const filterProps = [\n 'filterMethod',\n 'filters',\n 'filterMultiple',\n 'filterOpened',\n 'filteredValue',\n 'filterPlacement',\n 'filterClassName',\n ]\n\n let column = getPropsData(basicProps, sortProps, selectProps, filterProps)\n\n column = mergeOptions(defaults, column)\n // 注意 compose 中函数执行的顺序是从右到左\n const chains = compose(\n setColumnRenders,\n setColumnWidth,\n setColumnForcedProps\n )\n column = chains(column)\n columnConfig.value = column\n\n // 注册 watcher\n registerNormalWatchers()\n registerComplexWatchers()\n })\n onMounted(() => {\n const parent = columnOrTableParent.value\n const children = isSubColumn.value\n ? parent.vnode.el.children\n : parent.refs.hiddenColumns?.children\n const getColumnIndex = () =>\n getColumnElIndex(children || [], instance.vnode.el)\n columnConfig.value.getColumnIndex = getColumnIndex\n const columnIndex = getColumnIndex()\n columnIndex > -1 &&\n owner.value.store.commit(\n 'insertColumn',\n columnConfig.value,\n isSubColumn.value ? parent.columnConfig.value : null,\n updateColumnOrder\n )\n })\n onBeforeUnmount(() => {\n const getColumnIndex = columnConfig.value.getColumnIndex\n const columnIndex = getColumnIndex ? getColumnIndex() : -1\n columnIndex > -1 &&\n owner.value.store.commit(\n 'removeColumn',\n columnConfig.value,\n isSubColumn.value ? parent.columnConfig.value : null,\n updateColumnOrder\n )\n })\n instance.columnId = columnId.value\n\n instance.columnConfig = columnConfig\n return\n },\n render() {\n try {\n const renderDefault = this.$slots.default?.({\n row: {},\n column: {},\n $index: -1,\n })\n const children = []\n if (isArray(renderDefault)) {\n for (const childNode of renderDefault) {\n if (\n childNode.type?.name === 'ElTableColumn' ||\n childNode.shapeFlag & 2\n ) {\n children.push(childNode)\n } else if (\n childNode.type === Fragment &&\n isArray(childNode.children)\n ) {\n childNode.children.forEach((vnode) => {\n // No rendering when vnode is dynamic slot or text\n if (vnode?.patchFlag !== 1024 && !isString(vnode?.children)) {\n children.push(vnode)\n }\n })\n }\n }\n }\n const vnode = h('div', children)\n return vnode\n } catch {\n return h('div', [])\n }\n },\n})\n"],"names":["defineComponent","ElCheckbox","defaultProps","getCurrentInstance","ref","computed","useWatcher","useRender","onBeforeMount","isUndefined","cellStarts","mergeOptions","compose","onMounted","onBeforeUnmount","isArray","Fragment","isString","h"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../packages/components/table/src/table-column/index.ts"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n onBeforeMount,\n onBeforeUnmount,\n onMounted,\n ref,\n} from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { isArray, isString, isUndefined } from '@element-plus/utils'\nimport { cellStarts } from '../config'\nimport { compose, mergeOptions } from '../util'\nimport useWatcher from './watcher-helper'\nimport useRender from './render-helper'\nimport defaultProps from './defaults'\n\nimport type { VNode } from 'vue'\nimport type { TableColumn, TableColumnCtx } from './defaults'\nimport type { DefaultRow } from '../table/defaults'\n\nlet columnIdSeed = 1\n\n//TODO: when vue 3.3 we can set this component a generic: https://github.com/vuejs/core/pull/7963\nexport default defineComponent({\n name: 'ElTableColumn',\n components: {\n ElCheckbox,\n },\n props: defaultProps,\n setup(props, { slots }) {\n const instance = getCurrentInstance() as TableColumn<DefaultRow>\n const columnConfig = ref<Partial<TableColumnCtx<DefaultRow>>>({})\n const owner = computed(() => {\n let parent = instance.parent as any\n while (parent && !parent.tableId) {\n parent = parent.parent\n }\n return parent\n })\n\n const { registerNormalWatchers, registerComplexWatchers } = useWatcher(\n owner,\n props\n )\n const {\n columnId,\n isSubColumn,\n realHeaderAlign,\n columnOrTableParent,\n setColumnWidth,\n setColumnForcedProps,\n setColumnRenders,\n getPropsData,\n getColumnElIndex,\n realAlign,\n updateColumnOrder,\n } = useRender(props as unknown as TableColumnCtx<DefaultRow>, slots, owner)\n\n const parent = columnOrTableParent.value\n columnId.value = `${\n ('tableId' in parent && parent.tableId) ||\n ('columnId' in parent && parent.columnId)\n }_column_${columnIdSeed++}`\n onBeforeMount(() => {\n isSubColumn.value = owner.value !== parent\n\n const type = (props.type as keyof typeof cellStarts) || 'default'\n const sortable = props.sortable === '' ? true : props.sortable\n //The selection column should not be affected by `showOverflowTooltip`.\n const showOverflowTooltip =\n type === 'selection'\n ? false\n : isUndefined(props.showOverflowTooltip)\n ? parent.props.showOverflowTooltip\n : props.showOverflowTooltip\n const tooltipFormatter = isUndefined(props.tooltipFormatter)\n ? parent.props.tooltipFormatter\n : props.tooltipFormatter\n const defaults = {\n ...cellStarts[type],\n id: columnId.value,\n type,\n property: props.prop || props.property,\n align: realAlign,\n headerAlign: realHeaderAlign,\n showOverflowTooltip,\n tooltipFormatter,\n // filter 相关属性\n filterable: props.filters || props.filterMethod,\n filteredValue: [],\n filterPlacement: '',\n filterClassName: '',\n isColumnGroup: false,\n isSubColumn: false,\n filterOpened: false,\n // sort 相关属性\n sortable,\n // index 列\n index: props.index,\n // <el-table-column key=\"xxx\" />\n rawColumnKey: instance.vnode.key,\n }\n\n const basicProps = [\n 'columnKey',\n 'label',\n 'className',\n 'labelClassName',\n 'type',\n 'renderHeader',\n 'formatter',\n 'fixed',\n 'resizable',\n ]\n const sortProps = ['sortMethod', 'sortBy', 'sortOrders']\n const selectProps = ['selectable', 'reserveSelection']\n const filterProps = [\n 'filterMethod',\n 'filters',\n 'filterMultiple',\n 'filterOpened',\n 'filteredValue',\n 'filterPlacement',\n 'filterClassName',\n ]\n\n let column = getPropsData(basicProps, sortProps, selectProps, filterProps)\n\n column = mergeOptions(defaults, column)\n // 注意 compose 中函数执行的顺序是从右到左\n const chains = compose(\n setColumnRenders,\n setColumnWidth,\n setColumnForcedProps\n )\n column = chains(column) as unknown as TableColumnCtx<DefaultRow>\n columnConfig.value = column\n\n // 注册 watcher\n registerNormalWatchers()\n registerComplexWatchers()\n })\n onMounted(() => {\n const parent = columnOrTableParent.value\n const children = isSubColumn.value\n ? parent.vnode.el?.children\n : parent.refs.hiddenColumns?.children\n const getColumnIndex = () =>\n getColumnElIndex(children || [], instance.vnode.el)\n columnConfig.value.getColumnIndex = getColumnIndex\n const columnIndex = getColumnIndex()\n columnIndex > -1 &&\n owner.value.store.commit(\n 'insertColumn',\n columnConfig.value,\n isSubColumn.value\n ? 'columnConfig' in parent && parent.columnConfig.value\n : null,\n updateColumnOrder\n )\n })\n onBeforeUnmount(() => {\n const getColumnIndex = columnConfig.value.getColumnIndex\n const columnIndex = getColumnIndex ? getColumnIndex() : -1\n columnIndex > -1 &&\n owner.value.store.commit(\n 'removeColumn',\n columnConfig.value,\n isSubColumn.value\n ? 'columnConfig' in parent && parent.columnConfig.value\n : null,\n updateColumnOrder\n )\n })\n instance.columnId = columnId.value\n\n instance.columnConfig = columnConfig as any\n return\n },\n render() {\n try {\n const renderDefault = this.$slots.default?.({\n row: {},\n column: {},\n $index: -1,\n })\n const children = []\n if (isArray(renderDefault)) {\n for (const childNode of renderDefault) {\n if (\n (childNode.type as any)?.name === 'ElTableColumn' ||\n childNode.shapeFlag & 2\n ) {\n children.push(childNode)\n } else if (\n childNode.type === Fragment &&\n isArray(childNode.children)\n ) {\n childNode.children.forEach((vnode) => {\n // No rendering when vnode is dynamic slot or text\n if (\n (vnode as VNode)?.patchFlag !== 1024 &&\n !isString((vnode as VNode)?.children)\n ) {\n children.push(vnode)\n }\n })\n }\n }\n }\n const vnode = h('div', children)\n return vnode\n } catch {\n return h('div', [])\n }\n },\n})\n"],"names":["defineComponent","ElCheckbox","defaultProps","getCurrentInstance","ref","computed","useWatcher","useRender","onBeforeMount","isUndefined","cellStarts","mergeOptions","compose","onMounted","onBeforeUnmount","isArray","Fragment","isString","h"],"mappings":"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"}
@@ -1,16 +1,17 @@
1
- import type { ComputedRef } from 'vue';
2
- import type { TableColumnCtx } from './defaults';
3
- declare function useRender<T>(props: TableColumnCtx<T>, slots: any, owner: ComputedRef<any>): {
1
+ import type { ComputedRef, RendererNode, Slots } from 'vue';
2
+ import type { TableColumn, TableColumnCtx } from './defaults';
3
+ import type { DefaultRow, Table } from '../table/defaults';
4
+ declare function useRender<T extends DefaultRow>(props: TableColumnCtx<T>, slots: Slots, owner: ComputedRef<Table<T>>): {
4
5
  columnId: import("vue").Ref<string>;
5
- realAlign: import("vue").Ref<string | undefined>;
6
+ realAlign: import("vue").Ref<string | null | undefined>;
6
7
  isSubColumn: import("vue").Ref<boolean>;
7
- realHeaderAlign: import("vue").Ref<string | undefined>;
8
- columnOrTableParent: ComputedRef<any>;
8
+ realHeaderAlign: import("vue").Ref<string | null | undefined>;
9
+ columnOrTableParent: ComputedRef<Table<T> | TableColumn<T>>;
9
10
  setColumnWidth: (column: TableColumnCtx<T>) => TableColumnCtx<T>;
10
11
  setColumnForcedProps: (column: TableColumnCtx<T>) => TableColumnCtx<T>;
11
12
  setColumnRenders: (column: TableColumnCtx<T>) => TableColumnCtx<T>;
12
- getPropsData: (...propsKey: unknown[]) => unknown;
13
- getColumnElIndex: (children: any, child: any) => number;
13
+ getPropsData: (...propsKey: string[][]) => Record<string, any>;
14
+ getColumnElIndex: (children: T[], child: RendererNode | null) => number;
14
15
  updateColumnOrder: () => void;
15
16
  };
16
17
  export default useRender;
@@ -110,8 +110,8 @@ function useRender(props, slots, owner) {
110
110
  column.renderCell = (data) => vue.h("div", {
111
111
  class: "cell"
112
112
  }, [originRenderCell(data)]);
113
- owner.value.renderExpanded = (data) => {
114
- return slots.default ? slots.default(data) : slots.default;
113
+ owner.value.renderExpanded = (row) => {
114
+ return slots.default ? slots.default(row) : slots.default;
115
115
  };
116
116
  } else {
117
117
  originRenderCell = originRenderCell || config.defaultRenderCell;
@@ -1 +1 @@
1
- {"version":3,"file":"render-helper.js","sources":["../../../../../../../packages/components/table/src/table-column/render-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n Comment,\n computed,\n getCurrentInstance,\n h,\n ref,\n renderSlot,\n unref,\n watchEffect,\n} from 'vue'\nimport { debugWarn, isArray, isUndefined } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n cellForced,\n defaultRenderCell,\n getDefaultClassName,\n treeCellPrefix,\n} from '../config'\nimport { parseMinWidth, parseWidth } from '../util'\n\nimport type { ComputedRef } from 'vue'\nimport type { TableColumn, TableColumnCtx } from './defaults'\n\nfunction useRender<T>(\n props: TableColumnCtx<T>,\n slots,\n owner: ComputedRef<any>\n) {\n const instance = getCurrentInstance() as TableColumn<T>\n const columnId = ref('')\n const isSubColumn = ref(false)\n const realAlign = ref<string>()\n const realHeaderAlign = ref<string>()\n const ns = useNamespace('table')\n watchEffect(() => {\n realAlign.value = props.align ? `is-${props.align}` : null\n // nextline help render\n realAlign.value\n })\n watchEffect(() => {\n realHeaderAlign.value = props.headerAlign\n ? `is-${props.headerAlign}`\n : realAlign.value\n // nextline help render\n realHeaderAlign.value\n })\n const columnOrTableParent = computed(() => {\n let parent: any = instance.vnode.vParent || instance.parent\n while (parent && !parent.tableId && !parent.columnId) {\n parent = parent.vnode.vParent || parent.parent\n }\n return parent\n })\n const hasTreeColumn = computed<boolean>(() => {\n const { store } = instance.parent\n if (!store) return false\n const { treeData } = store.states\n const treeDataValue = treeData.value\n return treeDataValue && Object.keys(treeDataValue).length > 0\n })\n\n const realWidth = ref(parseWidth(props.width))\n const realMinWidth = ref(parseMinWidth(props.minWidth))\n const setColumnWidth = (column: TableColumnCtx<T>) => {\n if (realWidth.value) column.width = realWidth.value\n if (realMinWidth.value) {\n column.minWidth = realMinWidth.value\n }\n if (!realWidth.value && realMinWidth.value) {\n column.width = undefined\n }\n if (!column.minWidth) {\n column.minWidth = 80\n }\n column.realWidth = Number(\n isUndefined(column.width) ? column.minWidth : column.width\n )\n return column\n }\n const setColumnForcedProps = (column: TableColumnCtx<T>) => {\n // 对于特定类型的 column,某些属性不允许设置\n const type = column.type\n const source = cellForced[type] || {}\n Object.keys(source).forEach((prop) => {\n const value = source[prop]\n if (prop !== 'className' && !isUndefined(value)) {\n column[prop] = value\n }\n })\n const className = getDefaultClassName(type)\n if (className) {\n const forceClass = `${unref(ns.namespace)}-${className}`\n column.className = column.className\n ? `${column.className} ${forceClass}`\n : forceClass\n }\n return column\n }\n\n const checkSubColumn = (children: TableColumn<T> | TableColumn<T>[]) => {\n if (isArray(children)) {\n children.forEach((child) => check(child))\n } else {\n check(children)\n }\n function check(item: TableColumn<T>) {\n if (item?.type?.name === 'ElTableColumn') {\n item.vParent = instance\n }\n }\n }\n const setColumnRenders = (column: TableColumnCtx<T>) => {\n // renderHeader 属性不推荐使用。\n if (props.renderHeader) {\n debugWarn(\n 'TableColumn',\n 'Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.'\n )\n } else if (column.type !== 'selection') {\n column.renderHeader = (scope) => {\n // help render\n instance.columnConfig.value['label']\n return renderSlot(slots, 'header', scope, () => [column.label])\n }\n }\n\n if (slots['filter-icon']) {\n column.renderFilterIcon = (scope) => {\n return renderSlot(slots, 'filter-icon', scope)\n }\n }\n\n if (slots.expand) {\n column.renderExpand = (scope) => {\n return renderSlot(slots, 'expand', scope)\n }\n }\n\n let originRenderCell = column.renderCell\n // TODO: 这里的实现调整\n if (column.type === 'expand') {\n // 对于展开行,renderCell 不允许配置的。在上一步中已经设置过,这里需要简单封装一下。\n column.renderCell = (data) =>\n h(\n 'div',\n {\n class: 'cell',\n },\n [originRenderCell(data)]\n )\n owner.value.renderExpanded = (data) => {\n return slots.default ? slots.default(data) : slots.default\n }\n } else {\n originRenderCell = originRenderCell || defaultRenderCell\n // 对 renderCell 进行包装\n column.renderCell = (data) => {\n let children = null\n if (slots.default) {\n const vnodes = slots.default(data)\n children = vnodes.some((v) => v.type !== Comment)\n ? vnodes\n : originRenderCell(data)\n } else {\n children = originRenderCell(data)\n }\n\n const { columns } = owner.value.store.states\n const firstUserColumnIndex = columns.value.findIndex(\n (item) => item.type === 'default'\n )\n const shouldCreatePlaceholder =\n hasTreeColumn.value && data.cellIndex === firstUserColumnIndex\n const prefix = treeCellPrefix(data, shouldCreatePlaceholder)\n const props = {\n class: 'cell',\n style: {},\n }\n if (column.showOverflowTooltip) {\n props.class = `${props.class} ${unref(ns.namespace)}-tooltip`\n props.style = {\n width: `${\n (data.column.realWidth || Number(data.column.width)) - 1\n }px`,\n }\n }\n checkSubColumn(children)\n return h('div', props, [prefix, children])\n }\n }\n return column\n }\n const getPropsData = (...propsKey: unknown[]) => {\n return propsKey.reduce((prev, cur) => {\n if (isArray(cur)) {\n cur.forEach((key) => {\n prev[key] = props[key]\n })\n }\n return prev\n }, {})\n }\n const getColumnElIndex = (children, child) => {\n return Array.prototype.indexOf.call(children, child)\n }\n\n const updateColumnOrder = () => {\n owner.value.store.commit('updateColumnOrder', instance.columnConfig.value)\n }\n\n return {\n columnId,\n realAlign,\n isSubColumn,\n realHeaderAlign,\n columnOrTableParent,\n setColumnWidth,\n setColumnForcedProps,\n setColumnRenders,\n getPropsData,\n getColumnElIndex,\n updateColumnOrder,\n }\n}\n\nexport default useRender\n"],"names":["getCurrentInstance","ref","useNamespace","watchEffect","computed","parseWidth","parseMinWidth","isUndefined","cellForced","getDefaultClassName","unref","isArray","debugWarn","renderSlot","h","defaultRenderCell","Comment","treeCellPrefix"],"mappings":"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"}
1
+ {"version":3,"file":"render-helper.js","sources":["../../../../../../../packages/components/table/src/table-column/render-helper.ts"],"sourcesContent":["import {\n Comment,\n computed,\n getCurrentInstance,\n h,\n ref,\n renderSlot,\n unref,\n watchEffect,\n} from 'vue'\nimport { debugWarn, isArray, isUndefined } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n cellForced,\n defaultRenderCell,\n getDefaultClassName,\n treeCellPrefix,\n} from '../config'\nimport { parseMinWidth, parseWidth } from '../util'\n\nimport type { ComputedRef, RendererNode, Slots, VNode } from 'vue'\nimport type { TableColumn, TableColumnCtx } from './defaults'\nimport type { DefaultRow, Table } from '../table/defaults'\n\nfunction useRender<T extends DefaultRow>(\n props: TableColumnCtx<T>,\n slots: Slots,\n owner: ComputedRef<Table<T>>\n) {\n const instance = getCurrentInstance() as TableColumn<T>\n const columnId = ref('')\n const isSubColumn = ref(false)\n const realAlign = ref<string | null>()\n const realHeaderAlign = ref<string | null | undefined>()\n const ns = useNamespace('table')\n watchEffect(() => {\n realAlign.value = props.align ? `is-${props.align}` : null\n // nextline help render\n realAlign.value\n })\n watchEffect(() => {\n realHeaderAlign.value = props.headerAlign\n ? `is-${props.headerAlign}`\n : realAlign.value\n // nextline help render\n realHeaderAlign.value\n })\n const columnOrTableParent = computed<Table<T> | TableColumn<T>>(() => {\n let parent: any = instance.vnode.vParent || instance.parent\n while (parent && !parent.tableId && !parent.columnId) {\n parent = parent.vnode.vParent || parent.parent\n }\n return parent\n })\n const hasTreeColumn = computed<boolean>(() => {\n const { store } = (instance.parent as Table<T>)!\n if (!store) return false\n const { treeData } = store.states\n const treeDataValue = treeData.value\n return treeDataValue && Object.keys(treeDataValue).length > 0\n })\n\n const realWidth = ref(parseWidth(props.width))\n const realMinWidth = ref(parseMinWidth(props.minWidth))\n const setColumnWidth = (column: TableColumnCtx<T>) => {\n if (realWidth.value) column.width = realWidth.value\n if (realMinWidth.value) {\n column.minWidth = realMinWidth.value\n }\n if (!realWidth.value && realMinWidth.value) {\n column.width = undefined\n }\n if (!column.minWidth) {\n column.minWidth = 80\n }\n column.realWidth = Number(\n isUndefined(column.width) ? column.minWidth : column.width\n )\n return column\n }\n const setColumnForcedProps = (column: TableColumnCtx<T>) => {\n // 对于特定类型的 column,某些属性不允许设置\n const type = column.type\n const source = cellForced[type as keyof typeof cellForced] || {}\n Object.keys(source).forEach((prop) => {\n const value = source[prop as keyof typeof source]\n if (prop !== 'className' && !isUndefined(value)) {\n ;(column as any)[prop] = value\n }\n })\n const className = getDefaultClassName(type)\n if (className) {\n const forceClass = `${unref(ns.namespace)}-${className}`\n column.className = column.className\n ? `${column.className} ${forceClass}`\n : forceClass\n }\n return column\n }\n\n const checkSubColumn = (children: VNode | VNode[]) => {\n if (isArray(children)) {\n children.forEach((child) => check(child))\n } else {\n check(children)\n }\n function check(item: any) {\n if (item?.type?.name === 'ElTableColumn') {\n item.vParent = instance\n }\n }\n }\n const setColumnRenders = (column: TableColumnCtx<T>) => {\n // renderHeader 属性不推荐使用。\n //@ts-expect-error\n if (props.renderHeader) {\n debugWarn(\n 'TableColumn',\n 'Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.'\n )\n } else if (column.type !== 'selection') {\n column.renderHeader = (scope) => {\n // help render\n instance.columnConfig.value['label']\n return renderSlot(slots, 'header', scope, () => [column.label])\n }\n }\n\n if (slots['filter-icon']) {\n column.renderFilterIcon = (scope) => {\n return renderSlot(slots, 'filter-icon', scope)\n }\n }\n\n if (slots.expand) {\n column.renderExpand = (scope) => {\n return renderSlot(slots, 'expand', scope)\n }\n }\n\n let originRenderCell = column.renderCell\n // TODO: 这里的实现调整\n if (column.type === 'expand') {\n // 对于展开行,renderCell 不允许配置的。在上一步中已经设置过,这里需要简单封装一下。\n column.renderCell = (data) =>\n h(\n 'div',\n {\n class: 'cell',\n },\n [originRenderCell(data)]\n )\n owner.value.renderExpanded = (row) => {\n return slots.default ? slots.default(row) : slots.default\n }\n } else {\n originRenderCell = originRenderCell || defaultRenderCell\n // 对 renderCell 进行包装\n column.renderCell = (data) => {\n let children: VNode | VNode[] | null = null\n if (slots.default) {\n const vnodes = slots.default(data)\n children = vnodes.some((v) => v.type !== Comment)\n ? vnodes\n : originRenderCell(data)\n } else {\n children = originRenderCell(data)\n }\n\n const { columns } = owner.value.store.states\n const firstUserColumnIndex = columns.value.findIndex(\n (item) => item.type === 'default'\n )\n const shouldCreatePlaceholder =\n hasTreeColumn.value && data.cellIndex === firstUserColumnIndex\n const prefix = treeCellPrefix(data, shouldCreatePlaceholder)\n const props = {\n class: 'cell',\n style: {},\n }\n if (column.showOverflowTooltip) {\n props.class = `${props.class} ${unref(ns.namespace)}-tooltip`\n props.style = {\n width: `${\n (data.column.realWidth || Number(data.column.width)) - 1\n }px`,\n }\n }\n checkSubColumn(children)\n return h('div', props, [prefix, children])\n }\n }\n return column\n }\n const getPropsData = (...propsKey: string[][]) => {\n return propsKey.reduce((prev, cur) => {\n if (isArray(cur)) {\n cur.forEach((key) => {\n prev[key] = props[key as keyof TableColumnCtx<T>]\n })\n }\n return prev\n }, {} as Record<string, any>)\n }\n const getColumnElIndex = (children: T[], child: RendererNode | null) => {\n return Array.prototype.indexOf.call(children, child)\n }\n\n const updateColumnOrder = () => {\n owner.value.store.commit('updateColumnOrder', instance.columnConfig.value)\n }\n\n return {\n columnId,\n realAlign,\n isSubColumn,\n realHeaderAlign,\n columnOrTableParent,\n setColumnWidth,\n setColumnForcedProps,\n setColumnRenders,\n getPropsData,\n getColumnElIndex,\n updateColumnOrder,\n }\n}\n\nexport default useRender\n"],"names":["getCurrentInstance","ref","useNamespace","watchEffect","computed","parseWidth","parseMinWidth","isUndefined","cellForced","getDefaultClassName","unref","isArray","debugWarn","renderSlot","h","defaultRenderCell","Comment","treeCellPrefix"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { ComputedRef } from 'vue';
2
+ import type { DefaultRow } from '../table/defaults';
2
3
  import type { TableColumnCtx } from './defaults';
3
- declare function useWatcher<T>(owner: ComputedRef<any>, props_: Partial<TableColumnCtx<T>>): {
4
+ declare function useWatcher<T extends DefaultRow>(owner: ComputedRef<any>, props_: Partial<TableColumnCtx<T>>): {
4
5
  registerComplexWatchers: () => void;
5
6
  registerNormalWatchers: () => void;
6
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"watcher-helper.js","sources":["../../../../../../../packages/components/table/src/table-column/watcher-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport { getCurrentInstance, watch } from 'vue'\nimport { hasOwn } from '@element-plus/utils'\nimport { parseMinWidth, parseWidth } from '../util'\n\nimport type { ComputedRef } from 'vue'\nimport type { TableColumn, TableColumnCtx, ValueOf } from './defaults'\n\nfunction getAllAliases(props, aliases) {\n return props.reduce((prev, cur) => {\n prev[cur] = cur\n return prev\n }, aliases)\n}\nfunction useWatcher<T>(\n owner: ComputedRef<any>,\n props_: Partial<TableColumnCtx<T>>\n) {\n const instance = getCurrentInstance() as TableColumn<T>\n const registerComplexWatchers = () => {\n const props = ['fixed']\n const aliases = {\n realWidth: 'width',\n realMinWidth: 'minWidth',\n }\n const allAliases = getAllAliases(props, aliases)\n Object.keys(allAliases).forEach((key) => {\n const columnKey = aliases[key]\n if (hasOwn(props_, columnKey)) {\n watch(\n () => props_[columnKey],\n (newVal) => {\n let value: ValueOf<TableColumnCtx<T>> = newVal\n if (columnKey === 'width' && key === 'realWidth') {\n value = parseWidth(newVal)\n }\n if (columnKey === 'minWidth' && key === 'realMinWidth') {\n value = parseMinWidth(newVal)\n }\n instance.columnConfig.value[columnKey as any] = value\n instance.columnConfig.value[key] = value\n const updateColumns = columnKey === 'fixed'\n owner.value.store.scheduleLayout(updateColumns)\n }\n )\n }\n })\n }\n const registerNormalWatchers = () => {\n const props = [\n 'label',\n 'filters',\n 'filterMultiple',\n 'filteredValue',\n 'sortable',\n 'index',\n 'formatter',\n 'className',\n 'labelClassName',\n 'filterClassName',\n 'showOverflowTooltip',\n 'tooltipFormatter',\n ]\n const aliases = {\n property: 'prop',\n align: 'realAlign',\n headerAlign: 'realHeaderAlign',\n }\n const allAliases = getAllAliases(props, aliases)\n Object.keys(allAliases).forEach((key) => {\n const columnKey = aliases[key]\n if (hasOwn(props_, columnKey)) {\n watch(\n () => props_[columnKey],\n (newVal) => {\n instance.columnConfig.value[key] = newVal\n }\n )\n }\n })\n }\n\n return {\n registerComplexWatchers,\n registerNormalWatchers,\n }\n}\n\nexport default useWatcher\n"],"names":["getCurrentInstance","hasOwn","watch","parseWidth","parseMinWidth"],"mappings":"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"}
1
+ {"version":3,"file":"watcher-helper.js","sources":["../../../../../../../packages/components/table/src/table-column/watcher-helper.ts"],"sourcesContent":["import { getCurrentInstance, watch } from 'vue'\nimport { hasOwn } from '@element-plus/utils'\nimport { parseMinWidth, parseWidth } from '../util'\n\nimport type { ComputedRef } from 'vue'\nimport type { DefaultRow } from '../table/defaults'\nimport type { TableColumn, TableColumnCtx, ValueOf } from './defaults'\n\nfunction getAllAliases(props: string[], aliases: Record<string, string>) {\n return props.reduce((prev, cur) => {\n prev[cur as keyof typeof prev] = cur\n return prev\n }, aliases)\n}\nfunction useWatcher<T extends DefaultRow>(\n owner: ComputedRef<any>,\n props_: Partial<TableColumnCtx<T>>\n) {\n const instance = getCurrentInstance() as TableColumn<T>\n const registerComplexWatchers = () => {\n const props = ['fixed']\n const aliases: Record<string, string> = {\n realWidth: 'width',\n realMinWidth: 'minWidth',\n }\n const allAliases = getAllAliases(props, aliases)\n Object.keys(allAliases).forEach((key) => {\n const columnKey = aliases[key]\n if (hasOwn(props_, columnKey)) {\n watch(\n () => props_[columnKey],\n (newVal) => {\n let value: ValueOf<TableColumnCtx<T>> = newVal\n if (columnKey === 'width' && key === 'realWidth') {\n value = parseWidth(newVal)\n }\n if (columnKey === 'minWidth' && key === 'realMinWidth') {\n value = parseMinWidth(newVal)\n }\n instance.columnConfig.value[columnKey as never] = value as never\n instance.columnConfig.value[key as never] = value as never\n const updateColumns = columnKey === 'fixed'\n owner.value.store.scheduleLayout(updateColumns)\n }\n )\n }\n })\n }\n const registerNormalWatchers = () => {\n const props = [\n 'label',\n 'filters',\n 'filterMultiple',\n 'filteredValue',\n 'sortable',\n 'index',\n 'formatter',\n 'className',\n 'labelClassName',\n 'filterClassName',\n 'showOverflowTooltip',\n 'tooltipFormatter',\n ]\n const aliases: Record<string, string> = {\n property: 'prop',\n align: 'realAlign',\n headerAlign: 'realHeaderAlign',\n }\n const allAliases = getAllAliases(props, aliases)\n Object.keys(allAliases).forEach((key) => {\n const columnKey = aliases[key]\n if (hasOwn(props_, columnKey)) {\n watch(\n () => props_[columnKey],\n (newVal) => {\n instance.columnConfig.value[key as never] = newVal\n }\n )\n }\n })\n }\n\n return {\n registerComplexWatchers,\n registerNormalWatchers,\n }\n}\n\nexport default useWatcher\n"],"names":["getCurrentInstance","hasOwn","watch","parseWidth","parseMinWidth"],"mappings":";;;;;;;;AAGA,SAAS,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE;AACvC,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK;AACrC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACpB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AACD,SAAS,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE;AACnC,EAAE,MAAM,QAAQ,GAAGA,sBAAkB,EAAE,CAAC;AACxC,EAAE,MAAM,uBAAuB,GAAG,MAAM;AACxC,IAAI,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;AAC5B,IAAI,MAAM,OAAO,GAAG;AACpB,MAAM,SAAS,EAAE,OAAO;AACxB,MAAM,YAAY,EAAE,UAAU;AAC9B,KAAK,CAAC;AACN,IAAI,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACrD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC7C,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AACrC,MAAM,IAAIC,aAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;AACrC,QAAQC,SAAK,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,KAAK;AACnD,UAAU,IAAI,KAAK,GAAG,MAAM,CAAC;AAC7B,UAAU,IAAI,SAAS,KAAK,OAAO,IAAI,GAAG,KAAK,WAAW,EAAE;AAC5D,YAAY,KAAK,GAAGC,eAAU,CAAC,MAAM,CAAC,CAAC;AACvC,WAAW;AACX,UAAU,IAAI,SAAS,KAAK,UAAU,IAAI,GAAG,KAAK,cAAc,EAAE;AAClE,YAAY,KAAK,GAAGC,kBAAa,CAAC,MAAM,CAAC,CAAC;AAC1C,WAAW;AACX,UAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;AACzD,UAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACnD,UAAU,MAAM,aAAa,GAAG,SAAS,KAAK,OAAO,CAAC;AACtD,UAAU,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;AAC1D,SAAS,CAAC,CAAC;AACX,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM,sBAAsB,GAAG,MAAM;AACvC,IAAI,MAAM,KAAK,GAAG;AAClB,MAAM,OAAO;AACb,MAAM,SAAS;AACf,MAAM,gBAAgB;AACtB,MAAM,eAAe;AACrB,MAAM,UAAU;AAChB,MAAM,OAAO;AACb,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,gBAAgB;AACtB,MAAM,iBAAiB;AACvB,MAAM,qBAAqB;AAC3B,MAAM,kBAAkB;AACxB,KAAK,CAAC;AACN,IAAI,MAAM,OAAO,GAAG;AACpB,MAAM,QAAQ,EAAE,MAAM;AACtB,MAAM,KAAK,EAAE,WAAW;AACxB,MAAM,WAAW,EAAE,iBAAiB;AACpC,KAAK,CAAC;AACN,IAAI,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACrD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC7C,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AACrC,MAAM,IAAIH,aAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;AACrC,QAAQC,SAAK,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,KAAK;AACnD,UAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AACpD,SAAS,CAAC,CAAC;AACX,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,uBAAuB;AAC3B,IAAI,sBAAsB;AAC1B,GAAG,CAAC;AACJ;;;;"}