@element-plus/nightly 0.0.20251125 → 0.0.20251128

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 (548) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +70 -27
  3. package/dist/index.full.min.js +14 -14
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +12 -12
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +70 -27
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/autocomplete/index.mjs +2 -2
  277. package/es/components/autocomplete/src/autocomplete.mjs +444 -60
  278. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  279. package/es/components/autocomplete/src/autocomplete2.mjs +60 -444
  280. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  281. package/es/components/breadcrumb/index.mjs +2 -2
  282. package/es/components/breadcrumb/src/breadcrumb-item.mjs +56 -8
  283. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  284. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +8 -56
  285. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  286. package/es/components/calendar/index.mjs +2 -2
  287. package/es/components/calendar/src/calendar.mjs +134 -16
  288. package/es/components/calendar/src/calendar.mjs.map +1 -1
  289. package/es/components/calendar/src/calendar2.mjs +16 -134
  290. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  291. package/es/components/calendar/src/date-table.mjs +89 -31
  292. package/es/components/calendar/src/date-table.mjs.map +1 -1
  293. package/es/components/calendar/src/date-table2.mjs +31 -89
  294. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  295. package/es/components/calendar/src/use-date-table.mjs +1 -1
  296. package/es/components/carousel/index.mjs +2 -2
  297. package/es/components/carousel/src/carousel.mjs +212 -61
  298. package/es/components/carousel/src/carousel.mjs.map +1 -1
  299. package/es/components/carousel/src/carousel2.mjs +61 -212
  300. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  301. package/es/components/checkbox/index.mjs +2 -2
  302. package/es/components/checkbox/src/checkbox-button.mjs +1 -1
  303. package/es/components/checkbox/src/checkbox-group2.mjs +1 -1
  304. package/es/components/checkbox/src/checkbox.mjs +108 -59
  305. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  306. package/es/components/checkbox/src/checkbox2.mjs +59 -108
  307. package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
  308. package/es/components/col/index.mjs +2 -2
  309. package/es/components/col/src/col.mjs +64 -43
  310. package/es/components/col/src/col.mjs.map +1 -1
  311. package/es/components/col/src/col2.mjs +43 -64
  312. package/es/components/col/src/col2.mjs.map +1 -1
  313. package/es/components/collection/index.mjs +1 -1
  314. package/es/components/collection/src/collection.mjs +10 -62
  315. package/es/components/collection/src/collection.mjs.map +1 -1
  316. package/es/components/collection/src/collection2.mjs +62 -10
  317. package/es/components/collection/src/collection2.mjs.map +1 -1
  318. package/es/components/color-picker-panel/src/components/alpha-slider.mjs +3 -2
  319. package/es/components/color-picker-panel/src/components/alpha-slider.mjs.map +1 -1
  320. package/es/components/color-picker-panel/src/components/hue-slider.mjs +3 -2
  321. package/es/components/color-picker-panel/src/components/hue-slider.mjs.map +1 -1
  322. package/es/components/color-picker-panel/src/components/sv-panel.mjs +3 -2
  323. package/es/components/color-picker-panel/src/components/sv-panel.mjs.map +1 -1
  324. package/es/components/countdown/index.mjs +2 -2
  325. package/es/components/countdown/src/countdown.mjs +21 -79
  326. package/es/components/countdown/src/countdown.mjs.map +1 -1
  327. package/es/components/countdown/src/countdown2.mjs +79 -21
  328. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  329. package/es/components/date-picker-panel/src/date-picker-com/basic-date-table.mjs +3 -2
  330. package/es/components/date-picker-panel/src/date-picker-com/basic-date-table.mjs.map +1 -1
  331. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.mjs +6 -4
  332. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  333. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.mjs +12 -8
  334. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.mjs.map +1 -1
  335. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  336. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  337. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  338. package/es/components/form/index.mjs +4 -4
  339. package/es/components/form/src/form-item.mjs +322 -46
  340. package/es/components/form/src/form-item.mjs.map +1 -1
  341. package/es/components/form/src/form-item2.mjs +46 -322
  342. package/es/components/form/src/form-item2.mjs.map +1 -1
  343. package/es/components/form/src/form.mjs +161 -54
  344. package/es/components/form/src/form.mjs.map +1 -1
  345. package/es/components/form/src/form2.mjs +54 -161
  346. package/es/components/form/src/form2.mjs.map +1 -1
  347. package/es/components/index.mjs +15 -15
  348. package/es/components/popper/index.mjs +2 -2
  349. package/es/components/popper/src/content.mjs +131 -89
  350. package/es/components/popper/src/content.mjs.map +1 -1
  351. package/es/components/popper/src/content2.mjs +89 -131
  352. package/es/components/popper/src/content2.mjs.map +1 -1
  353. package/es/components/roving-focus-group/index.mjs +3 -3
  354. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  355. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -27
  356. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  357. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -27
  358. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  359. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  360. package/es/components/scrollbar/index.mjs +1 -1
  361. package/es/components/scrollbar/src/bar.mjs +10 -64
  362. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  363. package/es/components/scrollbar/src/bar2.mjs +64 -10
  364. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  365. package/es/components/scrollbar/src/scrollbar2.mjs +1 -1
  366. package/es/components/scrollbar/src/thumb.mjs +11 -139
  367. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  368. package/es/components/scrollbar/src/thumb2.mjs +139 -11
  369. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  370. package/es/components/select-v2/src/useProps.d.ts +1 -1
  371. package/es/components/select-v2/src/useProps.mjs +10 -3
  372. package/es/components/select-v2/src/useProps.mjs.map +1 -1
  373. package/es/components/splitter/index.mjs +2 -2
  374. package/es/components/splitter/src/split-panel.mjs +20 -160
  375. package/es/components/splitter/src/split-panel.mjs.map +1 -1
  376. package/es/components/splitter/src/split-panel2.mjs +160 -20
  377. package/es/components/splitter/src/split-panel2.mjs.map +1 -1
  378. package/es/components/table/src/table/defaults.d.ts +3 -3
  379. package/es/components/table/src/table/defaults.mjs +1 -1
  380. package/es/components/table/src/table/defaults.mjs.map +1 -1
  381. package/es/components/table/src/table-column/render-helper.mjs +9 -3
  382. package/es/components/table/src/table-column/render-helper.mjs.map +1 -1
  383. package/es/components/table/src/table.vue.d.ts +3 -3
  384. package/es/components/table/src/util.d.ts +2 -1
  385. package/es/components/table/src/util.mjs +14 -2
  386. package/es/components/table/src/util.mjs.map +1 -1
  387. package/es/components/tabs/index.mjs +2 -2
  388. package/es/components/tabs/src/tab-pane.mjs +85 -16
  389. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  390. package/es/components/tabs/src/tab-pane2.mjs +16 -85
  391. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  392. package/es/components/time-select/index.mjs +2 -2
  393. package/es/components/time-select/src/time-select.mjs +134 -64
  394. package/es/components/time-select/src/time-select.mjs.map +1 -1
  395. package/es/components/time-select/src/time-select2.mjs +64 -134
  396. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  397. package/es/components/timeline/src/timeline.d.ts +8 -2
  398. package/es/components/timeline/src/timeline.mjs +12 -3
  399. package/es/components/timeline/src/timeline.mjs.map +1 -1
  400. package/es/components/tooltip/src/content.mjs +1 -1
  401. package/es/components/tooltip/src/content2.mjs +1 -1
  402. package/es/components/tree-select/index.d.ts +1 -0
  403. package/es/components/tree-select/index.mjs.map +1 -1
  404. package/es/components/tree-select/src/instance.d.ts +6 -0
  405. package/es/components/tree-select/src/instance.mjs +2 -0
  406. package/es/components/tree-select/src/instance.mjs.map +1 -0
  407. package/es/index.mjs +15 -15
  408. package/es/version.d.ts +1 -1
  409. package/es/version.mjs +1 -1
  410. package/es/version.mjs.map +1 -1
  411. package/lib/components/autocomplete/index.js +2 -2
  412. package/lib/components/autocomplete/src/autocomplete.js +442 -59
  413. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  414. package/lib/components/autocomplete/src/autocomplete2.js +59 -442
  415. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  416. package/lib/components/breadcrumb/index.js +2 -2
  417. package/lib/components/breadcrumb/src/breadcrumb-item.js +56 -8
  418. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  419. package/lib/components/breadcrumb/src/breadcrumb-item2.js +8 -56
  420. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  421. package/lib/components/calendar/index.js +2 -2
  422. package/lib/components/calendar/src/calendar.js +134 -17
  423. package/lib/components/calendar/src/calendar.js.map +1 -1
  424. package/lib/components/calendar/src/calendar2.js +17 -134
  425. package/lib/components/calendar/src/calendar2.js.map +1 -1
  426. package/lib/components/calendar/src/date-table.js +89 -35
  427. package/lib/components/calendar/src/date-table.js.map +1 -1
  428. package/lib/components/calendar/src/date-table2.js +35 -89
  429. package/lib/components/calendar/src/date-table2.js.map +1 -1
  430. package/lib/components/calendar/src/use-date-table.js +1 -1
  431. package/lib/components/carousel/index.js +2 -2
  432. package/lib/components/carousel/src/carousel.js +212 -62
  433. package/lib/components/carousel/src/carousel.js.map +1 -1
  434. package/lib/components/carousel/src/carousel2.js +62 -212
  435. package/lib/components/carousel/src/carousel2.js.map +1 -1
  436. package/lib/components/checkbox/index.js +2 -2
  437. package/lib/components/checkbox/src/checkbox-button.js +1 -1
  438. package/lib/components/checkbox/src/checkbox-group2.js +1 -1
  439. package/lib/components/checkbox/src/checkbox.js +108 -60
  440. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  441. package/lib/components/checkbox/src/checkbox2.js +60 -108
  442. package/lib/components/checkbox/src/checkbox2.js.map +1 -1
  443. package/lib/components/col/index.js +2 -2
  444. package/lib/components/col/src/col.js +64 -43
  445. package/lib/components/col/src/col.js.map +1 -1
  446. package/lib/components/col/src/col2.js +43 -64
  447. package/lib/components/col/src/col2.js.map +1 -1
  448. package/lib/components/collection/index.js +1 -1
  449. package/lib/components/collection/src/collection.js +9 -62
  450. package/lib/components/collection/src/collection.js.map +1 -1
  451. package/lib/components/collection/src/collection2.js +62 -9
  452. package/lib/components/collection/src/collection2.js.map +1 -1
  453. package/lib/components/color-picker-panel/src/components/alpha-slider.js +3 -2
  454. package/lib/components/color-picker-panel/src/components/alpha-slider.js.map +1 -1
  455. package/lib/components/color-picker-panel/src/components/hue-slider.js +3 -2
  456. package/lib/components/color-picker-panel/src/components/hue-slider.js.map +1 -1
  457. package/lib/components/color-picker-panel/src/components/sv-panel.js +3 -2
  458. package/lib/components/color-picker-panel/src/components/sv-panel.js.map +1 -1
  459. package/lib/components/countdown/index.js +2 -2
  460. package/lib/components/countdown/src/countdown.js +22 -79
  461. package/lib/components/countdown/src/countdown.js.map +1 -1
  462. package/lib/components/countdown/src/countdown2.js +79 -22
  463. package/lib/components/countdown/src/countdown2.js.map +1 -1
  464. package/lib/components/date-picker-panel/src/date-picker-com/basic-date-table.js +3 -2
  465. package/lib/components/date-picker-panel/src/date-picker-com/basic-date-table.js.map +1 -1
  466. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.js +6 -4
  467. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.js.map +1 -1
  468. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.js +12 -8
  469. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.js.map +1 -1
  470. package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
  471. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  472. package/lib/components/dropdown/src/dropdown2.js +1 -1
  473. package/lib/components/form/index.js +4 -4
  474. package/lib/components/form/src/form-item.js +326 -47
  475. package/lib/components/form/src/form-item.js.map +1 -1
  476. package/lib/components/form/src/form-item2.js +47 -326
  477. package/lib/components/form/src/form-item2.js.map +1 -1
  478. package/lib/components/form/src/form.js +160 -55
  479. package/lib/components/form/src/form.js.map +1 -1
  480. package/lib/components/form/src/form2.js +55 -160
  481. package/lib/components/form/src/form2.js.map +1 -1
  482. package/lib/components/index.js +15 -15
  483. package/lib/components/popper/index.js +2 -2
  484. package/lib/components/popper/src/content.js +131 -94
  485. package/lib/components/popper/src/content.js.map +1 -1
  486. package/lib/components/popper/src/content2.js +94 -131
  487. package/lib/components/popper/src/content2.js.map +1 -1
  488. package/lib/components/roving-focus-group/index.js +2 -2
  489. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  490. package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -31
  491. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  492. package/lib/components/roving-focus-group/src/roving-focus-group2.js +31 -27
  493. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  494. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  495. package/lib/components/scrollbar/index.js +1 -1
  496. package/lib/components/scrollbar/src/bar.js +10 -64
  497. package/lib/components/scrollbar/src/bar.js.map +1 -1
  498. package/lib/components/scrollbar/src/bar2.js +64 -10
  499. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  500. package/lib/components/scrollbar/src/scrollbar2.js +1 -1
  501. package/lib/components/scrollbar/src/thumb.js +11 -139
  502. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  503. package/lib/components/scrollbar/src/thumb2.js +139 -11
  504. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  505. package/lib/components/select-v2/src/useProps.d.ts +1 -1
  506. package/lib/components/select-v2/src/useProps.js +8 -1
  507. package/lib/components/select-v2/src/useProps.js.map +1 -1
  508. package/lib/components/splitter/index.js +2 -2
  509. package/lib/components/splitter/src/split-panel.js +21 -160
  510. package/lib/components/splitter/src/split-panel.js.map +1 -1
  511. package/lib/components/splitter/src/split-panel2.js +160 -21
  512. package/lib/components/splitter/src/split-panel2.js.map +1 -1
  513. package/lib/components/table/src/table/defaults.d.ts +3 -3
  514. package/lib/components/table/src/table/defaults.js +1 -1
  515. package/lib/components/table/src/table/defaults.js.map +1 -1
  516. package/lib/components/table/src/table-column/render-helper.js +7 -1
  517. package/lib/components/table/src/table-column/render-helper.js.map +1 -1
  518. package/lib/components/table/src/table.vue.d.ts +3 -3
  519. package/lib/components/table/src/util.d.ts +2 -1
  520. package/lib/components/table/src/util.js +13 -0
  521. package/lib/components/table/src/util.js.map +1 -1
  522. package/lib/components/tabs/index.js +2 -2
  523. package/lib/components/tabs/src/tab-pane.js +85 -16
  524. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  525. package/lib/components/tabs/src/tab-pane2.js +16 -85
  526. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  527. package/lib/components/time-select/index.js +2 -2
  528. package/lib/components/time-select/src/time-select.js +139 -64
  529. package/lib/components/time-select/src/time-select.js.map +1 -1
  530. package/lib/components/time-select/src/time-select2.js +64 -139
  531. package/lib/components/time-select/src/time-select2.js.map +1 -1
  532. package/lib/components/timeline/src/timeline.d.ts +8 -2
  533. package/lib/components/timeline/src/timeline.js +11 -2
  534. package/lib/components/timeline/src/timeline.js.map +1 -1
  535. package/lib/components/tooltip/src/content.js +1 -1
  536. package/lib/components/tooltip/src/content2.js +1 -1
  537. package/lib/components/tree-select/index.d.ts +1 -0
  538. package/lib/components/tree-select/index.js.map +1 -1
  539. package/lib/components/tree-select/src/instance.d.ts +6 -0
  540. package/lib/components/tree-select/src/instance.js +3 -0
  541. package/lib/components/tree-select/src/instance.js.map +1 -0
  542. package/lib/index.js +15 -15
  543. package/lib/version.d.ts +1 -1
  544. package/lib/version.js +1 -1
  545. package/lib/version.js.map +1 -1
  546. package/package.json +2 -2
  547. package/tags.json +1 -1
  548. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"split-panel2.mjs","sources":["../../../../../../packages/components/splitter/src/split-panel.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type SplitterPanel from './split-panel.vue'\n\nexport const splitterPanelProps = buildProps({\n min: {\n type: [String, Number],\n },\n max: {\n type: [String, Number],\n },\n size: {\n type: [String, Number],\n },\n resizable: {\n type: Boolean,\n default: true,\n },\n collapsible: Boolean,\n} as const)\n\nexport type SplitterPanelProps = ExtractPropTypes<typeof splitterPanelProps>\nexport type SplitterPanelPropsPublic = __ExtractPublicPropTypes<\n typeof splitterPanelProps\n>\nexport type SplitterPanelInstance = InstanceType<typeof SplitterPanel> & unknown\n\nexport const splitterPanelEmits = {\n 'update:size': (value: number) => typeof value === 'number',\n}\n\nexport type SplitterPanelEmits = typeof splitterPanelEmits\n"],"names":[],"mappings":";;AACY,MAAC,kBAAkB,GAAG,UAAU,CAAC;AAC7C,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,WAAW,EAAE,OAAO;AACtB,CAAC,EAAE;AACS,MAAC,kBAAkB,GAAG;AAClC,EAAE,aAAa,EAAE,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ;AACrD;;;;"}
1
+ {"version":3,"file":"split-panel2.mjs","sources":["../../../../../../packages/components/splitter/src/split-panel.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n computed,\n getCurrentInstance,\n inject,\n nextTick,\n onBeforeUnmount,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { throwError } from '@element-plus/utils'\nimport { getCollapsible, isCollapsible } from './hooks/usePanel'\nimport SplitBar from './split-bar.vue'\nimport { splitterPanelEmits, splitterPanelProps } from './split-panel'\nimport { getPct, getPx, isPct, isPx } from './hooks'\nimport { splitterRootContextKey } from './type'\n\nconst ns = useNamespace('splitter-panel')\n\nconst COMPONENT_NAME = 'ElSplitterPanel'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(splitterPanelProps)\n\nconst emits = defineEmits(splitterPanelEmits)\nconst splitterContext = inject(splitterRootContextKey)\nif (!splitterContext)\n throwError(\n COMPONENT_NAME,\n 'usage: <el-splitter><el-splitter-panel /></el-splitter/>'\n )\n\nconst { panels, layout, lazy, containerSize, pxSizes } = toRefs(splitterContext)\n\nconst {\n registerPanel,\n unregisterPanel,\n onCollapse,\n onMoveEnd,\n onMoveStart,\n onMoving,\n} = splitterContext\n\nconst panelEl = ref<HTMLDivElement>()\nconst instance = getCurrentInstance()!\nconst uid = instance.uid\n\nconst index = ref(0)\nconst panel = computed(() => panels.value[index.value])\n\nconst setIndex = (val: number) => {\n index.value = val\n}\n\nconst panelSize = computed(() => {\n if (!panel.value) return 0\n return pxSizes.value[index.value] ?? 0\n})\n\nconst nextSize = computed(() => {\n if (!panel.value) return 0\n return pxSizes.value[index.value + 1] ?? 0\n})\n\nconst nextPanel = computed(() => {\n if (panel.value) {\n return panels.value[index.value + 1]\n }\n return null\n})\n\nconst isResizable = computed(() => {\n if (!nextPanel.value) return false\n return (\n props.resizable &&\n nextPanel.value?.resizable &&\n // If it is 0, it means it is collapsed => check if the minimum value is set\n (panelSize.value !== 0 || !props.min) &&\n (nextSize.value !== 0 || !nextPanel.value.min)\n )\n})\n\n// The last panel doesn't need a drag bar\nconst isShowBar = computed(() => {\n if (!panel.value) return false\n return index.value !== panels.value.length - 1\n})\n\nconst startCollapsible = computed(() =>\n isCollapsible(panel.value, panelSize.value, nextPanel.value, nextSize.value)\n)\n\nconst endCollapsible = computed(() =>\n isCollapsible(nextPanel.value, nextSize.value, panel.value, panelSize.value)\n)\n\nfunction sizeToPx(str: string | number | undefined) {\n if (isPct(str)) {\n return getPct(str) * containerSize.value || 0\n } else if (isPx(str)) {\n return getPx(str)\n }\n return str ?? 0\n}\n\n// Two-way binding for size\nlet isSizeUpdating = false\nwatch(\n () => props.size,\n () => {\n if (!isSizeUpdating && panel.value) {\n if (!containerSize.value) {\n panel.value.size = props.size\n return\n }\n\n const size = sizeToPx(props.size)\n const maxSize = sizeToPx(props.max)\n const minSize = sizeToPx(props.min)\n\n // Ensure it is within the maximum and minimum value range\n const finalSize = Math.min(Math.max(size, minSize || 0), maxSize || size)\n\n if (finalSize !== size) {\n emits('update:size', finalSize)\n }\n\n panel.value.size = finalSize\n }\n }\n)\n\nwatch(\n () => panel.value?.size,\n (val) => {\n if (val !== props.size) {\n isSizeUpdating = true\n emits('update:size', val as number)\n nextTick(() => (isSizeUpdating = false))\n }\n }\n)\n\nwatch(\n () => props.resizable,\n (val) => {\n if (panel.value) {\n panel.value.resizable = val\n }\n }\n)\n\nconst _panel = reactive({\n el: panelEl.value!,\n uid,\n getVnode: () => instance.vnode,\n setIndex,\n ...props,\n collapsible: computed(() => getCollapsible(props.collapsible)),\n})\n\nregisterPanel(_panel)\n\nonBeforeUnmount(() => unregisterPanel(_panel))\n\ndefineExpose({\n /** @description splitter-panel html element */\n splitterPanelRef: panelEl,\n})\n</script>\n\n<template>\n <div\n ref=\"panelEl\"\n :class=\"[ns.b()]\"\n :style=\"{ flexBasis: `${panelSize}px` }\"\n v-bind=\"$attrs\"\n >\n <slot />\n </div>\n <SplitBar\n v-if=\"isShowBar\"\n :index=\"index\"\n :layout=\"layout\"\n :lazy=\"lazy\"\n :resizable=\"isResizable\"\n :start-collapsible=\"startCollapsible\"\n :end-collapsible=\"endCollapsible\"\n @move-start=\"onMoveStart\"\n @moving=\"onMoving\"\n @move-end=\"onMoveEnd\"\n @collapse=\"onCollapse\"\n >\n <template #start-collapsible>\n <slot name=\"start-collapsible\" />\n </template>\n <template #end-collapsible>\n <slot name=\"end-collapsible\" />\n </template>\n </SplitBar>\n</template>\n"],"names":["_openBlock","_createElementBlock","_Fragment","_createElementVNode","_mergeProps","_unref"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CSSProperties, ComponentInternalInstance, PropType, Ref, VNode } from 'vue';
1
+ import type { CSSProperties, ComponentInternalInstance, PropType, Ref, StyleValue, VNode } from 'vue';
2
2
  import type { ComponentSize } from '@element-plus/nightly/es/constants';
3
3
  import type { Nullable } from '@element-plus/nightly/es/utils';
4
4
  import type { Store } from '../store';
@@ -123,7 +123,7 @@ interface TableProps<T extends DefaultRow> {
123
123
  lazy?: boolean;
124
124
  load?: (row: T, treeNode: TreeNode, resolve: (data: T[]) => void) => void;
125
125
  className?: string;
126
- style?: CSSProperties;
126
+ style?: StyleValue;
127
127
  tableLayout?: Layout;
128
128
  scrollbarAlwaysOn?: boolean;
129
129
  flexible?: boolean;
@@ -330,7 +330,7 @@ declare const _default: {
330
330
  */
331
331
  load: PropType<TableProps<any>["load"]>;
332
332
  style: {
333
- type: PropType<CSSProperties>;
333
+ type: PropType<TableProps<any>["style"]>;
334
334
  default: () => {};
335
335
  };
336
336
  className: {
@@ -61,7 +61,7 @@ var defaultProps = {
61
61
  lazy: Boolean,
62
62
  load: Function,
63
63
  style: {
64
- type: Object,
64
+ type: [String, Object, Array],
65
65
  default: () => ({})
66
66
  },
67
67
  className: {
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.mjs","sources":["../../../../../../../packages/components/table/src/table/defaults.ts"],"sourcesContent":["import { useSizeProp } from '@element-plus/hooks'\n\nimport type {\n CSSProperties,\n ComponentInternalInstance,\n PropType,\n Ref,\n VNode,\n} from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { Nullable } from '@element-plus/utils'\nimport type { Store } from '../store'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type TableLayout from '../table-layout'\nimport type {\n TableOverflowTooltipFormatter,\n TableOverflowTooltipOptions,\n} from '../util'\n\ntype DefaultRow = Record<PropertyKey, any>\n\ninterface TableRefs {\n tableWrapper: HTMLElement\n headerWrapper: HTMLElement\n footerWrapper: HTMLElement\n fixedBodyWrapper: HTMLElement\n rightFixedBodyWrapper: HTMLElement\n bodyWrapper: HTMLElement\n appendWrapper: HTMLElement\n [key: string]: any\n}\n\ninterface TableState {\n isGroup: Ref<boolean>\n resizeState: Ref<{\n width: any\n height: any\n }>\n doLayout: () => void\n debouncedUpdateLayout: () => void\n}\n\ninterface TreeProps {\n hasChildren?: string\n children?: string\n checkStrictly?: boolean\n}\n\ntype HoverState<T extends DefaultRow> = Nullable<{\n cell: HTMLElement\n column: TableColumnCtx<T>\n row: T\n}>\n\ntype RIS<T extends DefaultRow> = {\n row: T\n $index: number\n store: Store<T>\n expanded: boolean\n}\n\ntype RenderExpanded<T extends DefaultRow> = ({\n row,\n $index,\n store,\n expanded,\n}: RIS<T>) => VNode[] | undefined\n\ntype SummaryMethod<T extends DefaultRow> = (data: {\n columns: TableColumnCtx<T>[]\n data: T[]\n}) => (string | VNode)[]\n\ninterface Table<T extends DefaultRow = any> extends ComponentInternalInstance {\n $ready: boolean\n hoverState?: HoverState<T> | null\n renderExpanded: RenderExpanded<T>\n store: Store<T>\n layout: TableLayout<T>\n refs: TableRefs\n tableId: string\n state: TableState\n}\n\ntype ColumnCls<T> = string | ((data: { row: T; rowIndex: number }) => string)\ntype ColumnStyle<T> =\n | CSSProperties\n | ((data: { row: T; rowIndex: number }) => CSSProperties)\ntype CellCls<T extends DefaultRow> =\n | string\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => string)\ntype CellStyle<T extends DefaultRow> =\n | CSSProperties\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => CSSProperties)\ntype Layout = 'fixed' | 'auto'\ninterface TableProps<T extends DefaultRow> {\n data: T[]\n size?: ComponentSize\n width?: string | number\n height?: string | number\n maxHeight?: string | number\n fit?: boolean\n stripe?: boolean\n border?: boolean\n rowKey?: string | ((row: T) => string)\n context?: Table<T>\n showHeader?: boolean\n showSummary?: boolean\n sumText?: string\n summaryMethod?: SummaryMethod<T>\n rowClassName?: ColumnCls<T>\n rowStyle?: ColumnStyle<T>\n cellClassName?: CellCls<T>\n cellStyle?: CellStyle<T>\n headerRowClassName?: ColumnCls<T>\n headerRowStyle?: ColumnStyle<T>\n headerCellClassName?: CellCls<T>\n headerCellStyle?: CellStyle<T>\n highlightCurrentRow?: boolean\n currentRowKey?: string | number\n emptyText?: string\n expandRowKeys?: Array<string>\n defaultExpandAll?: boolean\n defaultSort?: Sort\n tooltipEffect?: string\n tooltipOptions?: TableOverflowTooltipOptions\n spanMethod?: (data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) =>\n | number[]\n | {\n rowspan: number\n colspan: number\n }\n | undefined\n selectOnIndeterminate?: boolean\n indent?: number\n treeProps?: TreeProps\n lazy?: boolean\n load?: (row: T, treeNode: TreeNode, resolve: (data: T[]) => void) => void\n className?: string\n style?: CSSProperties\n tableLayout?: Layout\n scrollbarAlwaysOn?: boolean\n flexible?: boolean\n showOverflowTooltip?: boolean | TableOverflowTooltipOptions\n tooltipFormatter?: TableOverflowTooltipFormatter<T>\n appendFilterPanelTo?: string\n scrollbarTabindex?: number | string\n nativeScrollbar?: boolean\n}\n\ntype TableTooltipData<T extends DefaultRow> = Parameters<\n TableOverflowTooltipFormatter<T>\n>[0]\ntype TableSortOrder = 'ascending' | 'descending'\n\ninterface Sort {\n prop: string\n order: TableSortOrder\n init?: any\n silent?: any\n}\n\ninterface Filter<T extends DefaultRow> {\n column: TableColumnCtx<T>\n values: string[]\n silent: any\n}\n\ninterface TreeNode {\n expanded?: boolean\n loading?: boolean\n noLazyChildren?: boolean\n indent?: number\n level?: number\n display?: boolean\n}\n\ninterface RenderRowData<T extends DefaultRow> {\n store: Store<T>\n _self: Table<T>\n column: TableColumnCtx<T>\n row: T\n $index: number\n cellIndex: number\n treeNode?: TreeNode\n expanded: boolean\n}\n\nexport default {\n /**\n * @description table data\n */\n data: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n /**\n * @description size of Table\n */\n size: useSizeProp,\n width: [String, Number],\n /**\n * @description table's height. By default it has an `auto` height. If its value is a number, the height is measured in pixels; if its value is a string, the value will be assigned to element's style.height, the height is affected by external styles\n */\n height: [String, Number],\n /**\n * @description table's max-height. The legal value is a number or the height in px\n */\n maxHeight: [String, Number],\n /**\n * @description whether width of column automatically fits its container\n */\n fit: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether Table is striped\n */\n stripe: Boolean,\n /**\n * @description whether Table has vertical border\n */\n border: Boolean,\n /**\n * @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used\n */\n rowKey: [String, Function] as PropType<TableProps<any>['rowKey']>,\n /**\n * @description whether Table header is visible\n */\n showHeader: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to display a summary row\n */\n showSummary: Boolean,\n /**\n * @description displayed text for the first column of summary row\n */\n sumText: String,\n /**\n * @description custom summary method\n */\n summaryMethod: Function as PropType<TableProps<any>['summaryMethod']>,\n /**\n * @description function that returns custom class names for a row, or a string assigning class names for every row\n */\n rowClassName: [String, Function] as PropType<TableProps<any>['rowClassName']>,\n /**\n * @description function that returns custom style for a row, or an object assigning custom style for every row\n */\n rowStyle: [Object, Function] as PropType<TableProps<any>['rowStyle']>,\n /**\n * @description function that returns custom class names for a cell, or a string assigning class names for every cell\n */\n cellClassName: [String, Function] as PropType<\n TableProps<any>['cellClassName']\n >,\n /**\n * @description function that returns custom style for a cell, or an object assigning custom style for every cell\n */\n cellStyle: [Object, Function] as PropType<TableProps<any>['cellStyle']>,\n /**\n * @description function that returns custom class names for a row in table header, or a string assigning class names for every row in table header\n */\n headerRowClassName: [String, Function] as PropType<\n TableProps<any>['headerRowClassName']\n >,\n /**\n * @description function that returns custom style for a row in table header, or an object assigning custom style for every row in table header\n */\n headerRowStyle: [Object, Function] as PropType<\n TableProps<any>['headerRowStyle']\n >,\n /**\n * @description function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header\n */\n headerCellClassName: [String, Function] as PropType<\n TableProps<any>['headerCellClassName']\n >,\n /**\n * @description function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header\n */\n headerCellStyle: [Object, Function] as PropType<\n TableProps<any>['headerCellStyle']\n >,\n /**\n * @description whether current row is highlighted\n */\n highlightCurrentRow: Boolean,\n /**\n * @description key of current row, a set only prop\n */\n currentRowKey: [String, Number],\n /**\n * @description displayed text when data is empty. You can customize this area with `#empty`\n */\n emptyText: String,\n /**\n * @description set expanded rows by this prop, prop's value is the keys of expand rows, you should set row-key before using this prop\n */\n expandRowKeys: Array as PropType<TableProps<any>['expandRowKeys']>,\n /**\n * @description whether expand all rows by default, works when the table has a column type=\"expand\" or contains tree structure data\n */\n defaultExpandAll: Boolean,\n /**\n * @description set the default sort column and order. property `prop` is used to set default sort column, property `order` is used to set default sort order\n */\n defaultSort: Object as PropType<TableProps<any>['defaultSort']>,\n /**\n * @description the `effect` of the overflow tooltip\n */\n tooltipEffect: String,\n /**\n * @description the options for the overflow tooltip, [see the following tooltip component](tooltip.html#attributes)\n */\n tooltipOptions: Object as PropType<TableProps<any>['tooltipOptions']>,\n /**\n * @description method that returns rowspan and colspan\n */\n spanMethod: Function as PropType<TableProps<any>['spanMethod']>,\n /**\n * @description controls the behavior of master checkbox in multi-select tables when only some rows are selected (but not all). If true, all rows will be selected, else deselected\n */\n selectOnIndeterminate: {\n type: Boolean,\n default: true,\n },\n /**\n * @description horizontal indentation of tree data\n */\n indent: {\n type: Number,\n default: 16,\n },\n /**\n * @description configuration for rendering nested data\n */\n treeProps: {\n type: Object as PropType<TableProps<any>['treeProps']>,\n default: () => {\n return {\n hasChildren: 'hasChildren',\n children: 'children',\n checkStrictly: false,\n }\n },\n },\n /**\n * @description whether to lazy loading data\n */\n lazy: Boolean,\n /**\n * @description method for loading child row data, only works when `lazy` is true\n */\n load: Function as PropType<TableProps<any>['load']>,\n style: {\n type: Object as PropType<CSSProperties>,\n default: () => ({}),\n },\n className: {\n type: String,\n default: '',\n },\n /**\n * @description sets the algorithm used to lay out table cells, rows, and columns\n */\n tableLayout: {\n type: String as PropType<Layout>,\n default: 'fixed',\n },\n /**\n * @description always show scrollbar\n */\n scrollbarAlwaysOn: Boolean,\n /**\n * @description ensure main axis minimum-size doesn't follow the content\n */\n flexible: Boolean,\n /**\n * @description whether to hide extra content and show them in a tooltip when hovering on the cell.It will affect all the table columns\n */\n showOverflowTooltip: [Boolean, Object] as PropType<\n TableProps<any>['showOverflowTooltip']\n >,\n /**\n * @description function that formats cell tooltip content, works when `show-overflow-tooltip` is `true`\n */\n tooltipFormatter: Function as PropType<TableProps<any>['tooltipFormatter']>,\n appendFilterPanelTo: String,\n scrollbarTabindex: {\n type: [Number, String],\n default: undefined,\n },\n /**\n * @description whether to allow drag the last column\n */\n allowDragLastColumn: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to preserve expanded row content in DOM when collapsed\n */\n preserveExpandedContent: Boolean,\n /**\n * @description whether to use native scrollbars\n */\n nativeScrollbar: Boolean,\n}\nexport type {\n SummaryMethod,\n Table,\n TableProps,\n TableRefs,\n ColumnCls,\n ColumnStyle,\n CellCls,\n CellStyle,\n DefaultRow,\n TreeNode,\n RenderRowData,\n Sort,\n Filter,\n TableColumnCtx,\n TreeProps,\n TableTooltipData,\n TableSortOrder,\n RenderExpanded,\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.mjs","sources":["../../../../../../../packages/components/table/src/table/defaults.ts"],"sourcesContent":["import { useSizeProp } from '@element-plus/hooks'\n\nimport type {\n CSSProperties,\n ComponentInternalInstance,\n PropType,\n Ref,\n StyleValue,\n VNode,\n} from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { Nullable } from '@element-plus/utils'\nimport type { Store } from '../store'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type TableLayout from '../table-layout'\nimport type {\n TableOverflowTooltipFormatter,\n TableOverflowTooltipOptions,\n} from '../util'\n\ntype DefaultRow = Record<PropertyKey, any>\n\ninterface TableRefs {\n tableWrapper: HTMLElement\n headerWrapper: HTMLElement\n footerWrapper: HTMLElement\n fixedBodyWrapper: HTMLElement\n rightFixedBodyWrapper: HTMLElement\n bodyWrapper: HTMLElement\n appendWrapper: HTMLElement\n [key: string]: any\n}\n\ninterface TableState {\n isGroup: Ref<boolean>\n resizeState: Ref<{\n width: any\n height: any\n }>\n doLayout: () => void\n debouncedUpdateLayout: () => void\n}\n\ninterface TreeProps {\n hasChildren?: string\n children?: string\n checkStrictly?: boolean\n}\n\ntype HoverState<T extends DefaultRow> = Nullable<{\n cell: HTMLElement\n column: TableColumnCtx<T>\n row: T\n}>\n\ntype RIS<T extends DefaultRow> = {\n row: T\n $index: number\n store: Store<T>\n expanded: boolean\n}\n\ntype RenderExpanded<T extends DefaultRow> = ({\n row,\n $index,\n store,\n expanded,\n}: RIS<T>) => VNode[] | undefined\n\ntype SummaryMethod<T extends DefaultRow> = (data: {\n columns: TableColumnCtx<T>[]\n data: T[]\n}) => (string | VNode)[]\n\ninterface Table<T extends DefaultRow = any> extends ComponentInternalInstance {\n $ready: boolean\n hoverState?: HoverState<T> | null\n renderExpanded: RenderExpanded<T>\n store: Store<T>\n layout: TableLayout<T>\n refs: TableRefs\n tableId: string\n state: TableState\n}\n\ntype ColumnCls<T> = string | ((data: { row: T; rowIndex: number }) => string)\ntype ColumnStyle<T> =\n | CSSProperties\n | ((data: { row: T; rowIndex: number }) => CSSProperties)\ntype CellCls<T extends DefaultRow> =\n | string\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => string)\ntype CellStyle<T extends DefaultRow> =\n | CSSProperties\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => CSSProperties)\ntype Layout = 'fixed' | 'auto'\ninterface TableProps<T extends DefaultRow> {\n data: T[]\n size?: ComponentSize\n width?: string | number\n height?: string | number\n maxHeight?: string | number\n fit?: boolean\n stripe?: boolean\n border?: boolean\n rowKey?: string | ((row: T) => string)\n context?: Table<T>\n showHeader?: boolean\n showSummary?: boolean\n sumText?: string\n summaryMethod?: SummaryMethod<T>\n rowClassName?: ColumnCls<T>\n rowStyle?: ColumnStyle<T>\n cellClassName?: CellCls<T>\n cellStyle?: CellStyle<T>\n headerRowClassName?: ColumnCls<T>\n headerRowStyle?: ColumnStyle<T>\n headerCellClassName?: CellCls<T>\n headerCellStyle?: CellStyle<T>\n highlightCurrentRow?: boolean\n currentRowKey?: string | number\n emptyText?: string\n expandRowKeys?: Array<string>\n defaultExpandAll?: boolean\n defaultSort?: Sort\n tooltipEffect?: string\n tooltipOptions?: TableOverflowTooltipOptions\n spanMethod?: (data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) =>\n | number[]\n | {\n rowspan: number\n colspan: number\n }\n | undefined\n selectOnIndeterminate?: boolean\n indent?: number\n treeProps?: TreeProps\n lazy?: boolean\n load?: (row: T, treeNode: TreeNode, resolve: (data: T[]) => void) => void\n className?: string\n style?: StyleValue\n tableLayout?: Layout\n scrollbarAlwaysOn?: boolean\n flexible?: boolean\n showOverflowTooltip?: boolean | TableOverflowTooltipOptions\n tooltipFormatter?: TableOverflowTooltipFormatter<T>\n appendFilterPanelTo?: string\n scrollbarTabindex?: number | string\n nativeScrollbar?: boolean\n}\n\ntype TableTooltipData<T extends DefaultRow> = Parameters<\n TableOverflowTooltipFormatter<T>\n>[0]\ntype TableSortOrder = 'ascending' | 'descending'\n\ninterface Sort {\n prop: string\n order: TableSortOrder\n init?: any\n silent?: any\n}\n\ninterface Filter<T extends DefaultRow> {\n column: TableColumnCtx<T>\n values: string[]\n silent: any\n}\n\ninterface TreeNode {\n expanded?: boolean\n loading?: boolean\n noLazyChildren?: boolean\n indent?: number\n level?: number\n display?: boolean\n}\n\ninterface RenderRowData<T extends DefaultRow> {\n store: Store<T>\n _self: Table<T>\n column: TableColumnCtx<T>\n row: T\n $index: number\n cellIndex: number\n treeNode?: TreeNode\n expanded: boolean\n}\n\nexport default {\n /**\n * @description table data\n */\n data: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n /**\n * @description size of Table\n */\n size: useSizeProp,\n width: [String, Number],\n /**\n * @description table's height. By default it has an `auto` height. If its value is a number, the height is measured in pixels; if its value is a string, the value will be assigned to element's style.height, the height is affected by external styles\n */\n height: [String, Number],\n /**\n * @description table's max-height. The legal value is a number or the height in px\n */\n maxHeight: [String, Number],\n /**\n * @description whether width of column automatically fits its container\n */\n fit: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether Table is striped\n */\n stripe: Boolean,\n /**\n * @description whether Table has vertical border\n */\n border: Boolean,\n /**\n * @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used\n */\n rowKey: [String, Function] as PropType<TableProps<any>['rowKey']>,\n /**\n * @description whether Table header is visible\n */\n showHeader: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to display a summary row\n */\n showSummary: Boolean,\n /**\n * @description displayed text for the first column of summary row\n */\n sumText: String,\n /**\n * @description custom summary method\n */\n summaryMethod: Function as PropType<TableProps<any>['summaryMethod']>,\n /**\n * @description function that returns custom class names for a row, or a string assigning class names for every row\n */\n rowClassName: [String, Function] as PropType<TableProps<any>['rowClassName']>,\n /**\n * @description function that returns custom style for a row, or an object assigning custom style for every row\n */\n rowStyle: [Object, Function] as PropType<TableProps<any>['rowStyle']>,\n /**\n * @description function that returns custom class names for a cell, or a string assigning class names for every cell\n */\n cellClassName: [String, Function] as PropType<\n TableProps<any>['cellClassName']\n >,\n /**\n * @description function that returns custom style for a cell, or an object assigning custom style for every cell\n */\n cellStyle: [Object, Function] as PropType<TableProps<any>['cellStyle']>,\n /**\n * @description function that returns custom class names for a row in table header, or a string assigning class names for every row in table header\n */\n headerRowClassName: [String, Function] as PropType<\n TableProps<any>['headerRowClassName']\n >,\n /**\n * @description function that returns custom style for a row in table header, or an object assigning custom style for every row in table header\n */\n headerRowStyle: [Object, Function] as PropType<\n TableProps<any>['headerRowStyle']\n >,\n /**\n * @description function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header\n */\n headerCellClassName: [String, Function] as PropType<\n TableProps<any>['headerCellClassName']\n >,\n /**\n * @description function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header\n */\n headerCellStyle: [Object, Function] as PropType<\n TableProps<any>['headerCellStyle']\n >,\n /**\n * @description whether current row is highlighted\n */\n highlightCurrentRow: Boolean,\n /**\n * @description key of current row, a set only prop\n */\n currentRowKey: [String, Number],\n /**\n * @description displayed text when data is empty. You can customize this area with `#empty`\n */\n emptyText: String,\n /**\n * @description set expanded rows by this prop, prop's value is the keys of expand rows, you should set row-key before using this prop\n */\n expandRowKeys: Array as PropType<TableProps<any>['expandRowKeys']>,\n /**\n * @description whether expand all rows by default, works when the table has a column type=\"expand\" or contains tree structure data\n */\n defaultExpandAll: Boolean,\n /**\n * @description set the default sort column and order. property `prop` is used to set default sort column, property `order` is used to set default sort order\n */\n defaultSort: Object as PropType<TableProps<any>['defaultSort']>,\n /**\n * @description the `effect` of the overflow tooltip\n */\n tooltipEffect: String,\n /**\n * @description the options for the overflow tooltip, [see the following tooltip component](tooltip.html#attributes)\n */\n tooltipOptions: Object as PropType<TableProps<any>['tooltipOptions']>,\n /**\n * @description method that returns rowspan and colspan\n */\n spanMethod: Function as PropType<TableProps<any>['spanMethod']>,\n /**\n * @description controls the behavior of master checkbox in multi-select tables when only some rows are selected (but not all). If true, all rows will be selected, else deselected\n */\n selectOnIndeterminate: {\n type: Boolean,\n default: true,\n },\n /**\n * @description horizontal indentation of tree data\n */\n indent: {\n type: Number,\n default: 16,\n },\n /**\n * @description configuration for rendering nested data\n */\n treeProps: {\n type: Object as PropType<TableProps<any>['treeProps']>,\n default: () => {\n return {\n hasChildren: 'hasChildren',\n children: 'children',\n checkStrictly: false,\n }\n },\n },\n /**\n * @description whether to lazy loading data\n */\n lazy: Boolean,\n /**\n * @description method for loading child row data, only works when `lazy` is true\n */\n load: Function as PropType<TableProps<any>['load']>,\n style: {\n type: [String, Object, Array] as PropType<TableProps<any>['style']>,\n default: () => ({}),\n },\n className: {\n type: String,\n default: '',\n },\n /**\n * @description sets the algorithm used to lay out table cells, rows, and columns\n */\n tableLayout: {\n type: String as PropType<Layout>,\n default: 'fixed',\n },\n /**\n * @description always show scrollbar\n */\n scrollbarAlwaysOn: Boolean,\n /**\n * @description ensure main axis minimum-size doesn't follow the content\n */\n flexible: Boolean,\n /**\n * @description whether to hide extra content and show them in a tooltip when hovering on the cell.It will affect all the table columns\n */\n showOverflowTooltip: [Boolean, Object] as PropType<\n TableProps<any>['showOverflowTooltip']\n >,\n /**\n * @description function that formats cell tooltip content, works when `show-overflow-tooltip` is `true`\n */\n tooltipFormatter: Function as PropType<TableProps<any>['tooltipFormatter']>,\n appendFilterPanelTo: String,\n scrollbarTabindex: {\n type: [Number, String],\n default: undefined,\n },\n /**\n * @description whether to allow drag the last column\n */\n allowDragLastColumn: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to preserve expanded row content in DOM when collapsed\n */\n preserveExpandedContent: Boolean,\n /**\n * @description whether to use native scrollbars\n */\n nativeScrollbar: Boolean,\n}\nexport type {\n SummaryMethod,\n Table,\n TableProps,\n TableRefs,\n ColumnCls,\n ColumnStyle,\n CellCls,\n CellStyle,\n DefaultRow,\n TreeNode,\n RenderRowData,\n Sort,\n Filter,\n TableColumnCtx,\n TreeProps,\n TableTooltipData,\n TableSortOrder,\n RenderExpanded,\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { getCurrentInstance, ref, watchEffect, computed, unref, renderSlot, h, Comment } from 'vue';
1
+ import { getCurrentInstance, ref, watchEffect, computed, unref, h, Fragment, createTextVNode, renderSlot, Comment } from 'vue';
2
2
  import { cellForced, defaultRenderCell, treeCellPrefix, getDefaultClassName } from '../config.mjs';
3
- import { parseWidth, parseMinWidth } from '../util.mjs';
3
+ import { parseWidth, parseMinWidth, ensureValidVNode } from '../util.mjs';
4
4
  import { useNamespace } from '../../../../hooks/use-namespace/index.mjs';
5
5
  import { isUndefined } from '../../../../utils/types.mjs';
6
6
  import { debugWarn } from '../../../../utils/error.mjs';
@@ -88,7 +88,13 @@ function useRender(props, slots, owner) {
88
88
  } else if (column.type !== "selection") {
89
89
  column.renderHeader = (scope) => {
90
90
  instance.columnConfig.value["label"];
91
- return renderSlot(slots, "header", scope, () => [column.label]);
91
+ if (slots.header) {
92
+ const slotResult = slots.header(scope);
93
+ if (ensureValidVNode(slotResult)) {
94
+ return h(Fragment, slotResult);
95
+ }
96
+ }
97
+ return createTextVNode(column.label);
92
98
  };
93
99
  }
94
100
  if (slots["filter-icon"]) {
@@ -1 +1 @@
1
- {"version":3,"file":"render-helper.mjs","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(\n (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 },\n {} as Record<string, any>\n )\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":[],"mappings":"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"}
1
+ {"version":3,"file":"render-helper.mjs","sources":["../../../../../../../packages/components/table/src/table-column/render-helper.ts"],"sourcesContent":["import {\n Comment,\n Fragment,\n computed,\n createTextVNode,\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 { ensureValidVNode, 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\n if (slots.header) {\n const slotResult = slots.header(scope)\n // Manual valid check to support v-if fallback\n // and bypass renderSlot to support HMR\n if (ensureValidVNode(slotResult)) {\n return h(Fragment, slotResult)\n }\n }\n\n return createTextVNode(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(\n (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 },\n {} as Record<string, any>\n )\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":[],"mappings":";;;;;;;;AAqBA,SAAS,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AACxC,EAAE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;AACxC,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AACjC,EAAE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;AAC1B,EAAE,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC;AAChC,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AACnC,EAAE,WAAW,CAAC,MAAM;AACpB,IAAI,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;AAC/D,IAAI,SAAS,CAAC,KAAK,CAAC;AACpB,GAAG,CAAC,CAAC;AACL,EAAE,WAAW,CAAC,MAAM;AACpB,IAAI,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;AAC5F,IAAI,eAAe,CAAC,KAAK,CAAC;AAC1B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM;AAC7C,IAAI,IAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC;AAC3D,IAAI,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC;AACrD,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;AACvC,IAAI,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;AACtC,IAAI,IAAI,CAAC,KAAK;AACd,MAAM,OAAO,KAAK,CAAC;AACnB,IAAI,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;AACtC,IAAI,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;AACzC,IAAI,OAAO,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAClE,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,EAAE,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,EAAE,MAAM,cAAc,GAAG,CAAC,MAAM,KAAK;AACrC,IAAI,IAAI,SAAS,CAAC,KAAK;AACvB,MAAM,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;AACrC,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE;AAC5B,MAAM,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;AAC3C,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,EAAE;AAChD,MAAM,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AAC5B,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC1B,MAAM,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;AAC3B,KAAK;AACL,IAAI,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1F,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,oBAAoB,GAAG,CAAC,MAAM,KAAK;AAC3C,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAC7B,IAAI,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAC1C,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACjC,MAAM,IAAI,IAAI,KAAK,WAAW,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;AAEvD,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC7B,OAAO;AACP,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAChD,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/D,MAAM,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC;AAC7F,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,CAAC,QAAQ,KAAK;AACvC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC3B,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;AACtB,KAAK;AACL,IAAI,SAAS,KAAK,CAAC,IAAI,EAAE;AACzB,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,MAAM,eAAe,EAAE;AACrG,QAAQ,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;AAChC,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,MAAM,KAAK;AACvC,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE;AAC5B,MAAM,SAAS,CAAC,aAAa,EAAE,gHAAgH,CAAC,CAAC;AACjJ,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AAC5C,MAAM,MAAM,CAAC,YAAY,GAAG,CAAC,KAAK,KAAK;AACvC,QAAQ,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7C,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE;AAC1B,UAAU,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjD,UAAU,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE;AAC5C,YAAY,OAAO,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC3C,WAAW;AACX,SAAS;AACT,QAAQ,OAAO,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7C,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE;AAC9B,MAAM,MAAM,CAAC,gBAAgB,GAAG,CAAC,KAAK,KAAK;AAC3C,QAAQ,OAAO,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AACvD,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE;AACtB,MAAM,MAAM,CAAC,YAAY,GAAG,CAAC,KAAK,KAAK;AACvC,QAAQ,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAClD,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC;AAC7C,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;AAClC,MAAM,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE;AAC7C,QAAQ,KAAK,EAAE,MAAM;AACrB,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,GAAG,KAAK;AAC5C,QAAQ,OAAO,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AAClE,OAAO,CAAC;AACR,KAAK,MAAM;AACX,MAAM,gBAAgB,GAAG,gBAAgB,IAAI,iBAAiB,CAAC;AAC/D,MAAM,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK;AACpC,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC;AAC5B,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE;AAC3B,UAAU,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7C,UAAU,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,GAAG,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC9F,SAAS,MAAM;AACf,UAAU,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC5C,SAAS;AACT,QAAQ,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;AACrD,QAAQ,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AAChG,QAAQ,MAAM,uBAAuB,GAAG,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,oBAAoB,CAAC;AACvG,QAAQ,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;AACrE,QAAQ,MAAM,MAAM,GAAG;AACvB,UAAU,KAAK,EAAE,MAAM;AACvB,UAAU,KAAK,EAAE,EAAE;AACnB,SAAS,CAAC;AACV,QAAQ,IAAI,MAAM,CAAC,mBAAmB,EAAE;AACxC,UAAU,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1E,UAAU,MAAM,CAAC,KAAK,GAAG;AACzB,YAAY,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAClF,WAAW,CAAC;AACZ,SAAS;AACT,QAAQ,cAAc,CAAC,QAAQ,CAAC,CAAC;AACjC,QAAQ,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACpD,OAAO,CAAC;AACR,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,CAAC,GAAG,QAAQ,KAAK;AACxC,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK;AAC1C,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;AACxB,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC7B,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AACjC,SAAS,CAAC,CAAC;AACX,OAAO;AACP,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,KAAK,KAAK;AAChD,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,GAAG,CAAC;AACJ,EAAE,MAAM,iBAAiB,GAAG,MAAM;AAClC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC/E,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,eAAe;AACnB,IAAI,mBAAmB;AACvB,IAAI,cAAc;AAClB,IAAI,oBAAoB;AACxB,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,iBAAiB;AACrB,GAAG,CAAC;AACJ;;;;"}
@@ -64,7 +64,7 @@ declare const _default: import("vue").DefineComponent<{
64
64
  lazy: BooleanConstructor;
65
65
  load: import("vue").PropType<import("./table/defaults").TableProps<any>["load"]>;
66
66
  style: {
67
- type: import("vue").PropType<import("vue").CSSProperties>;
67
+ type: import("vue").PropType<import("./table/defaults").TableProps<any>["style"]>;
68
68
  default: () => {};
69
69
  };
70
70
  className: {
@@ -797,7 +797,7 @@ declare const _default: import("vue").DefineComponent<{
797
797
  lazy: BooleanConstructor;
798
798
  load: import("vue").PropType<import("./table/defaults").TableProps<any>["load"]>;
799
799
  style: {
800
- type: import("vue").PropType<import("vue").CSSProperties>;
800
+ type: import("vue").PropType<import("./table/defaults").TableProps<any>["style"]>;
801
801
  default: () => {};
802
802
  };
803
803
  className: {
@@ -845,7 +845,7 @@ declare const _default: import("vue").DefineComponent<{
845
845
  "onRow-dblclick"?: ((...args: any[]) => any) | undefined;
846
846
  }, {
847
847
  data: any[];
848
- style: import("vue").CSSProperties;
848
+ style: import("vue").StyleValue | undefined;
849
849
  tableLayout: "fixed" | "auto";
850
850
  border: boolean;
851
851
  className: string;
@@ -1,7 +1,7 @@
1
1
  import { type ElTooltipProps } from '@element-plus/nightly/es/components/tooltip';
2
2
  import type { DefaultRow, Table, TreeProps } from './table/defaults';
3
3
  import type { TableColumnCtx } from './table-column/defaults';
4
- import type { CSSProperties, VNode } from 'vue';
4
+ import type { CSSProperties, VNode, VNodeArrayChildren } from 'vue';
5
5
  export type TableOverflowTooltipOptions = Partial<Pick<ElTooltipProps, 'appendTo' | 'effect' | 'enterable' | 'hideAfter' | 'offset' | 'placement' | 'popperClass' | 'popperOptions' | 'showAfter' | 'showArrow' | 'transition'>>;
6
6
  export type TableOverflowTooltipFormatter<T extends DefaultRow> = (data: {
7
7
  row: T;
@@ -49,4 +49,5 @@ export declare const isFixedColumn: <T extends DefaultRow>(index: number, fixed:
49
49
  export declare const getFixedColumnsClass: <T extends DefaultRow>(namespace: string, index: number, fixed: string | boolean | undefined, store: any, realColumns?: TableColumnCtx<T>[], offset?: number) => string[];
50
50
  export declare const getFixedColumnOffset: <T extends DefaultRow>(index: number, fixed: string | boolean | undefined, store: any, realColumns?: TableColumnCtx<T>[]) => CSSProperties | undefined;
51
51
  export declare const ensurePosition: (style: CSSProperties | undefined, key: keyof CSSProperties) => void;
52
+ export declare function ensureValidVNode(vnodes: VNodeArrayChildren): VNodeArrayChildren | null;
52
53
  export {};
@@ -1,4 +1,4 @@
1
- import { createVNode, render, isVNode } from 'vue';
1
+ import { createVNode, render, isVNode, Comment, Fragment } from 'vue';
2
2
  import { merge, flatMap, castArray, get, isNull } from 'lodash-unified';
3
3
  import { ElTooltip } from '../../tooltip/index.mjs';
4
4
  import { isArray, isString, isFunction, hasOwn, isObject } from '@vue/shared';
@@ -434,6 +434,18 @@ const ensurePosition = (style, key) => {
434
434
  style[key] = `${style[key]}px`;
435
435
  }
436
436
  };
437
+ function ensureValidVNode(vnodes) {
438
+ return vnodes.some((child) => {
439
+ if (!isVNode(child))
440
+ return true;
441
+ if (child.type === Comment)
442
+ return false;
443
+ if (child.type === Fragment && !ensureValidVNode(child.children)) {
444
+ return false;
445
+ }
446
+ return true;
447
+ }) ? vnodes : null;
448
+ }
437
449
 
438
- export { compose, createTablePopper, ensurePosition, getCell, getColumnByCell, getColumnById, getColumnByKey, getFixedColumnOffset, getFixedColumnsClass, getKeysMap, getRowIdentity, isFixedColumn, mergeOptions, orderBy, parseHeight, parseMinWidth, parseWidth, removePopper, toggleRowStatus, walkTreeNode };
450
+ export { compose, createTablePopper, ensurePosition, ensureValidVNode, getCell, getColumnByCell, getColumnById, getColumnByKey, getFixedColumnOffset, getFixedColumnsClass, getKeysMap, getRowIdentity, isFixedColumn, mergeOptions, orderBy, parseHeight, parseMinWidth, parseWidth, removePopper, toggleRowStatus, walkTreeNode };
439
451
  //# sourceMappingURL=util.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.mjs","sources":["../../../../../../packages/components/table/src/util.ts"],"sourcesContent":["import { createVNode, isVNode, render } from 'vue'\nimport { flatMap, get, isNull, merge } from 'lodash-unified'\nimport {\n ensureArray,\n getProp,\n hasOwn,\n isArray,\n isBoolean,\n isFunction,\n isNumber,\n isObject,\n isString,\n isUndefined,\n throwError,\n} from '@element-plus/utils'\nimport ElTooltip, {\n type ElTooltipProps,\n} from '@element-plus/components/tooltip'\n\nimport type { DefaultRow, Table, TreeProps } from './table/defaults'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { CSSProperties, VNode } from 'vue'\n\nexport type TableOverflowTooltipOptions = Partial<\n Pick<\n ElTooltipProps,\n | 'appendTo'\n | 'effect'\n | 'enterable'\n | 'hideAfter'\n | 'offset'\n | 'placement'\n | 'popperClass'\n | 'popperOptions'\n | 'showAfter'\n | 'showArrow'\n | 'transition'\n >\n>\n\nexport type TableOverflowTooltipFormatter<T extends DefaultRow> = (data: {\n row: T\n column: TableColumnCtx<T>\n cellValue: any\n}) => VNode | string\n\ntype RemovePopperFn = (() => void) & {\n trigger?: HTMLElement\n vm?: VNode\n}\n\ntype CompareValue<T> = {\n value: T\n index: number\n key: any[] | null\n}\n\nexport const getCell = function (event: Event) {\n return (event.target as HTMLElement)?.closest('td')\n}\n\nexport const orderBy = function <T extends DefaultRow>(\n array: T[],\n sortKey: string | null,\n reverse: string | number | null,\n sortMethod: TableColumnCtx<T>['sortMethod'] | null,\n sortBy: string | string[] | ((a: T, index: number, array?: T[]) => string)\n) {\n if (\n !sortKey &&\n !sortMethod &&\n (!sortBy || (isArray(sortBy) && !sortBy.length))\n ) {\n return array\n }\n if (isString(reverse)) {\n reverse = reverse === 'descending' ? -1 : 1\n } else {\n reverse = reverse && reverse < 0 ? -1 : 1\n }\n const getKey = sortMethod\n ? null\n : function (value: T, index: number) {\n if (sortBy) {\n return flatMap(ensureArray(sortBy), (by) => {\n if (isString(by)) {\n return get(value, by)\n } else {\n return by(value, index, array)\n }\n })\n }\n if (sortKey !== '$key') {\n if (isObject(value) && '$value' in value) value = value.$value\n }\n return [\n isObject(value) ? (sortKey ? get(value, sortKey) : null) : value,\n ]\n }\n const compare = function (a: CompareValue<T>, b: CompareValue<T>) {\n if (sortMethod) {\n return sortMethod(a.value, b.value)\n }\n for (let i = 0, len = a.key?.length ?? 0; i < len; i++) {\n if (a.key?.[i] < b.key?.[i]) {\n return -1\n }\n if (a.key?.[i] > b.key?.[i]) {\n return 1\n }\n }\n return 0\n }\n return array\n .map<CompareValue<T>>((value: T, index) => {\n return {\n value,\n index,\n key: getKey ? getKey(value, index) : null,\n }\n })\n .sort((a, b) => {\n let order = compare(a, b)\n if (!order) {\n // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\n order = a.index - b.index\n }\n return order * +reverse\n })\n .map((item) => item.value)\n}\n\nexport const getColumnById = function <T extends DefaultRow>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnId: string\n): null | TableColumnCtx<T> {\n let column = null\n table.columns.forEach((item) => {\n if (item.id === columnId) {\n column = item\n }\n })\n return column\n}\n\nexport const getColumnByKey = function <T extends DefaultRow>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnKey: string\n): TableColumnCtx<T> {\n let column = null\n for (let i = 0; i < table.columns.length; i++) {\n const item = table.columns[i]\n if (item.columnKey === columnKey) {\n column = item\n break\n }\n }\n if (!column)\n throwError('ElTable', `No column matching with column-key: ${columnKey}`)\n return column\n}\n\nexport const getColumnByCell = function <T extends DefaultRow>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n cell: HTMLElement,\n namespace: string\n): null | TableColumnCtx<T> {\n const matches = (cell.className || '').match(\n new RegExp(`${namespace}-table_[^\\\\s]+`, 'gm')\n )\n if (matches) {\n return getColumnById(table, matches[0])\n }\n return null\n}\n\nexport const getRowIdentity = <T extends DefaultRow>(\n row: T,\n rowKey: string | ((row: T) => string) | null\n): string => {\n if (!row) throw new Error('Row is required when get row identity')\n if (isString(rowKey)) {\n if (!rowKey.includes('.')) {\n return `${row[rowKey]}`\n }\n const key = rowKey.split('.')\n let current: any = row\n for (const element of key) {\n current = current[element]\n }\n //TODO: \"current\" is now any, we just satisfies typecheck here\n // but this function can actually return a number\n return `${current}`\n } else if (isFunction(rowKey)) {\n return rowKey.call(null, row)\n }\n return ''\n}\n\nexport const getKeysMap = function <T extends DefaultRow>(\n array: T[],\n rowKey: string | null,\n flatten = false,\n childrenKey = 'children'\n): Record<PropertyKey, { row: T; index: number }> {\n const data = array || []\n const arrayMap: Record<string, { row: T; index: number }> = {}\n\n data.forEach((row, index) => {\n arrayMap[getRowIdentity(row, rowKey)] = { row, index }\n\n if (flatten) {\n const children = row[childrenKey]\n if (isArray(children)) {\n Object.assign(arrayMap, getKeysMap(children, rowKey, true, childrenKey))\n }\n }\n })\n\n return arrayMap\n}\n\nexport function mergeOptions<T extends DefaultRow, K extends DefaultRow>(\n defaults: T,\n config: K\n): T & K {\n const options = {} as T & K\n let key: keyof T & keyof K\n for (key in defaults) {\n options[key] = defaults[key]\n }\n for (key in config) {\n if (hasOwn(config, key)) {\n const value = config[key]\n if (!isUndefined(value)) {\n options[key as keyof K] = value\n }\n }\n }\n return options\n}\n\nexport function parseWidth(width?: number | string): number | string {\n if (width === '') return width\n if (!isUndefined(width)) {\n width = Number.parseInt(width as string, 10)\n if (Number.isNaN(width)) {\n width = ''\n }\n }\n return width!\n}\n\nexport function parseMinWidth(minWidth: number | string): number | string {\n if (minWidth === '') return minWidth\n if (!isUndefined(minWidth)) {\n minWidth = parseWidth(minWidth)\n if (Number.isNaN(minWidth)) {\n minWidth = 80\n }\n }\n return minWidth\n}\n\nexport function parseHeight(height: number | string | null) {\n if (isNumber(height)) {\n return height\n }\n if (isString(height)) {\n if (/^\\d+(?:px)?$/.test(height)) {\n return Number.parseInt(height, 10)\n } else {\n return height\n }\n }\n return null\n}\n\n// https://github.com/reduxjs/redux/blob/master/src/compose.ts\nexport function compose(...funcs: ((...args: any[]) => void)[]) {\n if (funcs.length === 0) {\n return <T>(arg: T) => arg\n }\n if (funcs.length === 1) {\n return funcs[0]\n }\n return funcs.reduce(\n (a, b) =>\n (...args: any[]) =>\n a(b(...args))\n )\n}\n\nexport function toggleRowStatus<T extends DefaultRow>(\n statusArr: T[],\n row: T,\n newVal?: boolean,\n tableTreeProps?: TreeProps,\n selectable?: ((row: T, index: number) => boolean) | null,\n rowIndex?: number,\n rowKey?: string | null\n): boolean {\n let _rowIndex = rowIndex ?? 0\n let changed = false\n\n const getIndex = () => {\n if (!rowKey) {\n return statusArr.indexOf(row)\n }\n\n const id = getRowIdentity(row, rowKey)\n\n return statusArr.findIndex((item) => getRowIdentity(item, rowKey) === id)\n }\n\n const index = getIndex()\n\n const included = index !== -1\n const isRowSelectable = selectable?.call(null, row, _rowIndex)\n\n const toggleStatus = (type: 'add' | 'remove') => {\n if (type === 'add') {\n statusArr.push(row)\n } else {\n statusArr.splice(index, 1)\n }\n changed = true\n }\n const getChildrenCount = <T extends DefaultRow>(row: T) => {\n let count = 0\n const children = tableTreeProps?.children && row[tableTreeProps.children]\n if (children && isArray(children)) {\n count += children.length\n children.forEach((item) => {\n count += getChildrenCount(item)\n })\n }\n return count\n }\n\n if (!selectable || isRowSelectable) {\n if (isBoolean(newVal)) {\n if (newVal && !included) {\n toggleStatus('add')\n } else if (!newVal && included) {\n toggleStatus('remove')\n }\n } else {\n included ? toggleStatus('remove') : toggleStatus('add')\n }\n }\n\n if (\n !tableTreeProps?.checkStrictly &&\n tableTreeProps?.children &&\n isArray(row[tableTreeProps.children])\n ) {\n row[tableTreeProps.children].forEach((item: T) => {\n const childChanged = toggleRowStatus(\n statusArr,\n item,\n newVal ?? !included,\n tableTreeProps,\n selectable,\n _rowIndex + 1,\n rowKey\n )\n _rowIndex += getChildrenCount(item) + 1\n if (childChanged) {\n changed = childChanged\n }\n })\n }\n return changed\n}\n\nexport function walkTreeNode<T extends DefaultRow>(\n root: T[],\n cb: (parent: any, children: T | T[] | null, level: number) => void,\n childrenKey = 'children',\n lazyKey = 'hasChildren',\n lazy = false\n) {\n const isNil = (array: any): array is null => !(isArray(array) && array.length)\n\n function _walker(parent: any, children: T | T[], level: number) {\n cb(parent, children, level)\n children.forEach((item: any) => {\n if (item[lazyKey] && lazy) {\n cb(item, null, level + 1)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, level + 1)\n }\n })\n }\n\n root.forEach((item: any) => {\n if (item[lazyKey] && lazy) {\n cb(item, null, 0)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, 0)\n }\n })\n}\n\nconst getTableOverflowTooltipProps = <T extends DefaultRow>(\n props: TableOverflowTooltipOptions,\n innerText: string,\n row: T,\n column: TableColumnCtx<T> | null\n) => {\n // merge popperOptions\n const popperOptions = {\n strategy: 'fixed',\n ...props.popperOptions,\n }\n\n const tooltipFormatterContent = isFunction(column?.tooltipFormatter)\n ? column.tooltipFormatter({\n row,\n column,\n cellValue: getProp(row, column.property).value,\n })\n : undefined\n\n if (isVNode(tooltipFormatterContent)) {\n return {\n slotContent: tooltipFormatterContent,\n content: null,\n ...props,\n popperOptions,\n }\n }\n\n return {\n slotContent: null,\n content: tooltipFormatterContent ?? innerText,\n ...props,\n popperOptions,\n }\n}\n\nexport let removePopper: RemovePopperFn | null = null\n\nexport function createTablePopper<T extends DefaultRow>(\n props: TableOverflowTooltipOptions,\n popperContent: string,\n row: T,\n column: TableColumnCtx<T> | null,\n trigger: HTMLElement | null,\n table: Table<DefaultRow>\n) {\n const tableOverflowTooltipProps = getTableOverflowTooltipProps(\n props,\n popperContent,\n row,\n column\n )\n const mergedProps = {\n ...tableOverflowTooltipProps,\n slotContent: undefined,\n }\n if (removePopper?.trigger === trigger) {\n const comp = removePopper.vm?.component\n merge(comp?.props, mergedProps)\n if (comp && tableOverflowTooltipProps.slotContent) {\n comp.slots.content = () => [tableOverflowTooltipProps.slotContent]\n }\n return\n }\n removePopper?.()\n const parentNode = table?.refs.tableWrapper\n const ns = parentNode?.dataset.prefix\n const vm = createVNode(\n ElTooltip,\n {\n virtualTriggering: true,\n virtualRef: trigger,\n appendTo: parentNode,\n placement: 'top',\n transition: 'none', // Default does not require transition\n offset: 0,\n hideAfter: 0,\n ...mergedProps,\n },\n tableOverflowTooltipProps.slotContent\n ? {\n content: () => tableOverflowTooltipProps.slotContent,\n }\n : undefined\n )\n vm.appContext = { ...table.appContext, ...table }\n const container = document.createElement('div')\n render(vm, container)\n vm.component!.exposed!.onOpen()\n const scrollContainer = parentNode?.querySelector(`.${ns}-scrollbar__wrap`)\n removePopper = () => {\n if (vm.component?.exposed?.onClose) {\n vm.component.exposed.onClose()\n }\n render(null, container)\n const currentRemovePopper = removePopper as RemovePopperFn\n scrollContainer?.removeEventListener('scroll', currentRemovePopper)\n currentRemovePopper.trigger = undefined\n currentRemovePopper.vm = undefined\n removePopper = null\n }\n removePopper.trigger = trigger ?? undefined\n removePopper.vm = vm\n scrollContainer?.addEventListener('scroll', removePopper)\n}\n\nfunction getCurrentColumns<T extends DefaultRow>(\n column: TableColumnCtx<T>\n): TableColumnCtx<T>[] {\n if (column.children) {\n return flatMap(column.children, getCurrentColumns)\n } else {\n return [column]\n }\n}\n\nfunction getColSpan<T extends DefaultRow>(\n colSpan: number,\n column: TableColumnCtx<T>\n) {\n return colSpan + column.colSpan\n}\n\nexport const isFixedColumn = <T extends DefaultRow>(\n index: number,\n fixed: string | boolean | undefined,\n store: any,\n realColumns?: TableColumnCtx<T>[]\n) => {\n let start = 0\n let after = index\n const columns = store.states.columns.value\n if (realColumns) {\n // fixed column supported in grouped header\n const curColumns = getCurrentColumns(realColumns[index])\n const preColumns = columns.slice(0, columns.indexOf(curColumns[0]))\n\n start = preColumns.reduce(getColSpan, 0)\n after = start + curColumns.reduce(getColSpan, 0) - 1\n } else {\n start = index\n }\n let fixedLayout\n switch (fixed) {\n case 'left':\n if (after < store.states.fixedLeafColumnsLength.value) {\n fixedLayout = 'left'\n }\n break\n case 'right':\n if (\n start >=\n columns.length - store.states.rightFixedLeafColumnsLength.value\n ) {\n fixedLayout = 'right'\n }\n break\n default:\n if (after < store.states.fixedLeafColumnsLength.value) {\n fixedLayout = 'left'\n } else if (\n start >=\n columns.length - store.states.rightFixedLeafColumnsLength.value\n ) {\n fixedLayout = 'right'\n }\n }\n return fixedLayout\n ? {\n direction: fixedLayout,\n start,\n after,\n }\n : {}\n}\n\nexport const getFixedColumnsClass = <T extends DefaultRow>(\n namespace: string,\n index: number,\n fixed: string | boolean | undefined,\n store: any,\n realColumns?: TableColumnCtx<T>[],\n offset = 0\n) => {\n const classes: string[] = []\n const { direction, start, after } = isFixedColumn(\n index,\n fixed,\n store,\n realColumns\n )\n if (direction) {\n const isLeft = direction === 'left'\n classes.push(`${namespace}-fixed-column--${direction}`)\n if (\n isLeft &&\n after + offset === store.states.fixedLeafColumnsLength.value - 1\n ) {\n classes.push('is-last-column')\n } else if (\n !isLeft &&\n start - offset ===\n store.states.columns.value.length -\n store.states.rightFixedLeafColumnsLength.value\n ) {\n classes.push('is-first-column')\n }\n }\n return classes\n}\n\nfunction getOffset<T extends DefaultRow>(\n offset: number,\n column: TableColumnCtx<T>\n) {\n return (\n offset +\n (isNull(column.realWidth) || Number.isNaN(column.realWidth)\n ? Number(column.width)\n : column.realWidth)\n )\n}\n\nexport const getFixedColumnOffset = <T extends DefaultRow>(\n index: number,\n fixed: string | boolean | undefined,\n store: any,\n realColumns?: TableColumnCtx<T>[]\n) => {\n const {\n direction,\n start = 0,\n after = 0,\n } = isFixedColumn(index, fixed, store, realColumns)\n if (!direction) {\n return\n }\n const styles: CSSProperties = {}\n const isLeft = direction === 'left'\n const columns = store.states.columns.value\n if (isLeft) {\n styles.left = columns.slice(0, start).reduce(getOffset, 0)\n } else {\n styles.right = columns\n .slice(after + 1)\n .reverse()\n .reduce(getOffset, 0)\n }\n return styles\n}\n\nexport const ensurePosition = (\n style: CSSProperties | undefined,\n key: keyof CSSProperties\n) => {\n if (!style) return\n if (!Number.isNaN(style[key])) {\n style[key] = `${style[key]}px` as any\n }\n}\n"],"names":["ensureArray"],"mappings":"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"}
1
+ {"version":3,"file":"util.mjs","sources":["../../../../../../packages/components/table/src/util.ts"],"sourcesContent":["import { Comment, Fragment, createVNode, isVNode, render } from 'vue'\nimport { flatMap, get, isNull, merge } from 'lodash-unified'\nimport {\n ensureArray,\n getProp,\n hasOwn,\n isArray,\n isBoolean,\n isFunction,\n isNumber,\n isObject,\n isString,\n isUndefined,\n throwError,\n} from '@element-plus/utils'\nimport ElTooltip, {\n type ElTooltipProps,\n} from '@element-plus/components/tooltip'\n\nimport type { DefaultRow, Table, TreeProps } from './table/defaults'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { CSSProperties, VNode, VNodeArrayChildren } from 'vue'\n\nexport type TableOverflowTooltipOptions = Partial<\n Pick<\n ElTooltipProps,\n | 'appendTo'\n | 'effect'\n | 'enterable'\n | 'hideAfter'\n | 'offset'\n | 'placement'\n | 'popperClass'\n | 'popperOptions'\n | 'showAfter'\n | 'showArrow'\n | 'transition'\n >\n>\n\nexport type TableOverflowTooltipFormatter<T extends DefaultRow> = (data: {\n row: T\n column: TableColumnCtx<T>\n cellValue: any\n}) => VNode | string\n\ntype RemovePopperFn = (() => void) & {\n trigger?: HTMLElement\n vm?: VNode\n}\n\ntype CompareValue<T> = {\n value: T\n index: number\n key: any[] | null\n}\n\nexport const getCell = function (event: Event) {\n return (event.target as HTMLElement)?.closest('td')\n}\n\nexport const orderBy = function <T extends DefaultRow>(\n array: T[],\n sortKey: string | null,\n reverse: string | number | null,\n sortMethod: TableColumnCtx<T>['sortMethod'] | null,\n sortBy: string | string[] | ((a: T, index: number, array?: T[]) => string)\n) {\n if (\n !sortKey &&\n !sortMethod &&\n (!sortBy || (isArray(sortBy) && !sortBy.length))\n ) {\n return array\n }\n if (isString(reverse)) {\n reverse = reverse === 'descending' ? -1 : 1\n } else {\n reverse = reverse && reverse < 0 ? -1 : 1\n }\n const getKey = sortMethod\n ? null\n : function (value: T, index: number) {\n if (sortBy) {\n return flatMap(ensureArray(sortBy), (by) => {\n if (isString(by)) {\n return get(value, by)\n } else {\n return by(value, index, array)\n }\n })\n }\n if (sortKey !== '$key') {\n if (isObject(value) && '$value' in value) value = value.$value\n }\n return [\n isObject(value) ? (sortKey ? get(value, sortKey) : null) : value,\n ]\n }\n const compare = function (a: CompareValue<T>, b: CompareValue<T>) {\n if (sortMethod) {\n return sortMethod(a.value, b.value)\n }\n for (let i = 0, len = a.key?.length ?? 0; i < len; i++) {\n if (a.key?.[i] < b.key?.[i]) {\n return -1\n }\n if (a.key?.[i] > b.key?.[i]) {\n return 1\n }\n }\n return 0\n }\n return array\n .map<CompareValue<T>>((value: T, index) => {\n return {\n value,\n index,\n key: getKey ? getKey(value, index) : null,\n }\n })\n .sort((a, b) => {\n let order = compare(a, b)\n if (!order) {\n // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\n order = a.index - b.index\n }\n return order * +reverse\n })\n .map((item) => item.value)\n}\n\nexport const getColumnById = function <T extends DefaultRow>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnId: string\n): null | TableColumnCtx<T> {\n let column = null\n table.columns.forEach((item) => {\n if (item.id === columnId) {\n column = item\n }\n })\n return column\n}\n\nexport const getColumnByKey = function <T extends DefaultRow>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnKey: string\n): TableColumnCtx<T> {\n let column = null\n for (let i = 0; i < table.columns.length; i++) {\n const item = table.columns[i]\n if (item.columnKey === columnKey) {\n column = item\n break\n }\n }\n if (!column)\n throwError('ElTable', `No column matching with column-key: ${columnKey}`)\n return column\n}\n\nexport const getColumnByCell = function <T extends DefaultRow>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n cell: HTMLElement,\n namespace: string\n): null | TableColumnCtx<T> {\n const matches = (cell.className || '').match(\n new RegExp(`${namespace}-table_[^\\\\s]+`, 'gm')\n )\n if (matches) {\n return getColumnById(table, matches[0])\n }\n return null\n}\n\nexport const getRowIdentity = <T extends DefaultRow>(\n row: T,\n rowKey: string | ((row: T) => string) | null\n): string => {\n if (!row) throw new Error('Row is required when get row identity')\n if (isString(rowKey)) {\n if (!rowKey.includes('.')) {\n return `${row[rowKey]}`\n }\n const key = rowKey.split('.')\n let current: any = row\n for (const element of key) {\n current = current[element]\n }\n //TODO: \"current\" is now any, we just satisfies typecheck here\n // but this function can actually return a number\n return `${current}`\n } else if (isFunction(rowKey)) {\n return rowKey.call(null, row)\n }\n return ''\n}\n\nexport const getKeysMap = function <T extends DefaultRow>(\n array: T[],\n rowKey: string | null,\n flatten = false,\n childrenKey = 'children'\n): Record<PropertyKey, { row: T; index: number }> {\n const data = array || []\n const arrayMap: Record<string, { row: T; index: number }> = {}\n\n data.forEach((row, index) => {\n arrayMap[getRowIdentity(row, rowKey)] = { row, index }\n\n if (flatten) {\n const children = row[childrenKey]\n if (isArray(children)) {\n Object.assign(arrayMap, getKeysMap(children, rowKey, true, childrenKey))\n }\n }\n })\n\n return arrayMap\n}\n\nexport function mergeOptions<T extends DefaultRow, K extends DefaultRow>(\n defaults: T,\n config: K\n): T & K {\n const options = {} as T & K\n let key: keyof T & keyof K\n for (key in defaults) {\n options[key] = defaults[key]\n }\n for (key in config) {\n if (hasOwn(config, key)) {\n const value = config[key]\n if (!isUndefined(value)) {\n options[key as keyof K] = value\n }\n }\n }\n return options\n}\n\nexport function parseWidth(width?: number | string): number | string {\n if (width === '') return width\n if (!isUndefined(width)) {\n width = Number.parseInt(width as string, 10)\n if (Number.isNaN(width)) {\n width = ''\n }\n }\n return width!\n}\n\nexport function parseMinWidth(minWidth: number | string): number | string {\n if (minWidth === '') return minWidth\n if (!isUndefined(minWidth)) {\n minWidth = parseWidth(minWidth)\n if (Number.isNaN(minWidth)) {\n minWidth = 80\n }\n }\n return minWidth\n}\n\nexport function parseHeight(height: number | string | null) {\n if (isNumber(height)) {\n return height\n }\n if (isString(height)) {\n if (/^\\d+(?:px)?$/.test(height)) {\n return Number.parseInt(height, 10)\n } else {\n return height\n }\n }\n return null\n}\n\n// https://github.com/reduxjs/redux/blob/master/src/compose.ts\nexport function compose(...funcs: ((...args: any[]) => void)[]) {\n if (funcs.length === 0) {\n return <T>(arg: T) => arg\n }\n if (funcs.length === 1) {\n return funcs[0]\n }\n return funcs.reduce(\n (a, b) =>\n (...args: any[]) =>\n a(b(...args))\n )\n}\n\nexport function toggleRowStatus<T extends DefaultRow>(\n statusArr: T[],\n row: T,\n newVal?: boolean,\n tableTreeProps?: TreeProps,\n selectable?: ((row: T, index: number) => boolean) | null,\n rowIndex?: number,\n rowKey?: string | null\n): boolean {\n let _rowIndex = rowIndex ?? 0\n let changed = false\n\n const getIndex = () => {\n if (!rowKey) {\n return statusArr.indexOf(row)\n }\n\n const id = getRowIdentity(row, rowKey)\n\n return statusArr.findIndex((item) => getRowIdentity(item, rowKey) === id)\n }\n\n const index = getIndex()\n\n const included = index !== -1\n const isRowSelectable = selectable?.call(null, row, _rowIndex)\n\n const toggleStatus = (type: 'add' | 'remove') => {\n if (type === 'add') {\n statusArr.push(row)\n } else {\n statusArr.splice(index, 1)\n }\n changed = true\n }\n const getChildrenCount = <T extends DefaultRow>(row: T) => {\n let count = 0\n const children = tableTreeProps?.children && row[tableTreeProps.children]\n if (children && isArray(children)) {\n count += children.length\n children.forEach((item) => {\n count += getChildrenCount(item)\n })\n }\n return count\n }\n\n if (!selectable || isRowSelectable) {\n if (isBoolean(newVal)) {\n if (newVal && !included) {\n toggleStatus('add')\n } else if (!newVal && included) {\n toggleStatus('remove')\n }\n } else {\n included ? toggleStatus('remove') : toggleStatus('add')\n }\n }\n\n if (\n !tableTreeProps?.checkStrictly &&\n tableTreeProps?.children &&\n isArray(row[tableTreeProps.children])\n ) {\n row[tableTreeProps.children].forEach((item: T) => {\n const childChanged = toggleRowStatus(\n statusArr,\n item,\n newVal ?? !included,\n tableTreeProps,\n selectable,\n _rowIndex + 1,\n rowKey\n )\n _rowIndex += getChildrenCount(item) + 1\n if (childChanged) {\n changed = childChanged\n }\n })\n }\n return changed\n}\n\nexport function walkTreeNode<T extends DefaultRow>(\n root: T[],\n cb: (parent: any, children: T | T[] | null, level: number) => void,\n childrenKey = 'children',\n lazyKey = 'hasChildren',\n lazy = false\n) {\n const isNil = (array: any): array is null => !(isArray(array) && array.length)\n\n function _walker(parent: any, children: T | T[], level: number) {\n cb(parent, children, level)\n children.forEach((item: any) => {\n if (item[lazyKey] && lazy) {\n cb(item, null, level + 1)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, level + 1)\n }\n })\n }\n\n root.forEach((item: any) => {\n if (item[lazyKey] && lazy) {\n cb(item, null, 0)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, 0)\n }\n })\n}\n\nconst getTableOverflowTooltipProps = <T extends DefaultRow>(\n props: TableOverflowTooltipOptions,\n innerText: string,\n row: T,\n column: TableColumnCtx<T> | null\n) => {\n // merge popperOptions\n const popperOptions = {\n strategy: 'fixed',\n ...props.popperOptions,\n }\n\n const tooltipFormatterContent = isFunction(column?.tooltipFormatter)\n ? column.tooltipFormatter({\n row,\n column,\n cellValue: getProp(row, column.property).value,\n })\n : undefined\n\n if (isVNode(tooltipFormatterContent)) {\n return {\n slotContent: tooltipFormatterContent,\n content: null,\n ...props,\n popperOptions,\n }\n }\n\n return {\n slotContent: null,\n content: tooltipFormatterContent ?? innerText,\n ...props,\n popperOptions,\n }\n}\n\nexport let removePopper: RemovePopperFn | null = null\n\nexport function createTablePopper<T extends DefaultRow>(\n props: TableOverflowTooltipOptions,\n popperContent: string,\n row: T,\n column: TableColumnCtx<T> | null,\n trigger: HTMLElement | null,\n table: Table<DefaultRow>\n) {\n const tableOverflowTooltipProps = getTableOverflowTooltipProps(\n props,\n popperContent,\n row,\n column\n )\n const mergedProps = {\n ...tableOverflowTooltipProps,\n slotContent: undefined,\n }\n if (removePopper?.trigger === trigger) {\n const comp = removePopper.vm?.component\n merge(comp?.props, mergedProps)\n if (comp && tableOverflowTooltipProps.slotContent) {\n comp.slots.content = () => [tableOverflowTooltipProps.slotContent]\n }\n return\n }\n removePopper?.()\n const parentNode = table?.refs.tableWrapper\n const ns = parentNode?.dataset.prefix\n const vm = createVNode(\n ElTooltip,\n {\n virtualTriggering: true,\n virtualRef: trigger,\n appendTo: parentNode,\n placement: 'top',\n transition: 'none', // Default does not require transition\n offset: 0,\n hideAfter: 0,\n ...mergedProps,\n },\n tableOverflowTooltipProps.slotContent\n ? {\n content: () => tableOverflowTooltipProps.slotContent,\n }\n : undefined\n )\n vm.appContext = { ...table.appContext, ...table }\n const container = document.createElement('div')\n render(vm, container)\n vm.component!.exposed!.onOpen()\n const scrollContainer = parentNode?.querySelector(`.${ns}-scrollbar__wrap`)\n removePopper = () => {\n if (vm.component?.exposed?.onClose) {\n vm.component.exposed.onClose()\n }\n render(null, container)\n const currentRemovePopper = removePopper as RemovePopperFn\n scrollContainer?.removeEventListener('scroll', currentRemovePopper)\n currentRemovePopper.trigger = undefined\n currentRemovePopper.vm = undefined\n removePopper = null\n }\n removePopper.trigger = trigger ?? undefined\n removePopper.vm = vm\n scrollContainer?.addEventListener('scroll', removePopper)\n}\n\nfunction getCurrentColumns<T extends DefaultRow>(\n column: TableColumnCtx<T>\n): TableColumnCtx<T>[] {\n if (column.children) {\n return flatMap(column.children, getCurrentColumns)\n } else {\n return [column]\n }\n}\n\nfunction getColSpan<T extends DefaultRow>(\n colSpan: number,\n column: TableColumnCtx<T>\n) {\n return colSpan + column.colSpan\n}\n\nexport const isFixedColumn = <T extends DefaultRow>(\n index: number,\n fixed: string | boolean | undefined,\n store: any,\n realColumns?: TableColumnCtx<T>[]\n) => {\n let start = 0\n let after = index\n const columns = store.states.columns.value\n if (realColumns) {\n // fixed column supported in grouped header\n const curColumns = getCurrentColumns(realColumns[index])\n const preColumns = columns.slice(0, columns.indexOf(curColumns[0]))\n\n start = preColumns.reduce(getColSpan, 0)\n after = start + curColumns.reduce(getColSpan, 0) - 1\n } else {\n start = index\n }\n let fixedLayout\n switch (fixed) {\n case 'left':\n if (after < store.states.fixedLeafColumnsLength.value) {\n fixedLayout = 'left'\n }\n break\n case 'right':\n if (\n start >=\n columns.length - store.states.rightFixedLeafColumnsLength.value\n ) {\n fixedLayout = 'right'\n }\n break\n default:\n if (after < store.states.fixedLeafColumnsLength.value) {\n fixedLayout = 'left'\n } else if (\n start >=\n columns.length - store.states.rightFixedLeafColumnsLength.value\n ) {\n fixedLayout = 'right'\n }\n }\n return fixedLayout\n ? {\n direction: fixedLayout,\n start,\n after,\n }\n : {}\n}\n\nexport const getFixedColumnsClass = <T extends DefaultRow>(\n namespace: string,\n index: number,\n fixed: string | boolean | undefined,\n store: any,\n realColumns?: TableColumnCtx<T>[],\n offset = 0\n) => {\n const classes: string[] = []\n const { direction, start, after } = isFixedColumn(\n index,\n fixed,\n store,\n realColumns\n )\n if (direction) {\n const isLeft = direction === 'left'\n classes.push(`${namespace}-fixed-column--${direction}`)\n if (\n isLeft &&\n after + offset === store.states.fixedLeafColumnsLength.value - 1\n ) {\n classes.push('is-last-column')\n } else if (\n !isLeft &&\n start - offset ===\n store.states.columns.value.length -\n store.states.rightFixedLeafColumnsLength.value\n ) {\n classes.push('is-first-column')\n }\n }\n return classes\n}\n\nfunction getOffset<T extends DefaultRow>(\n offset: number,\n column: TableColumnCtx<T>\n) {\n return (\n offset +\n (isNull(column.realWidth) || Number.isNaN(column.realWidth)\n ? Number(column.width)\n : column.realWidth)\n )\n}\n\nexport const getFixedColumnOffset = <T extends DefaultRow>(\n index: number,\n fixed: string | boolean | undefined,\n store: any,\n realColumns?: TableColumnCtx<T>[]\n) => {\n const {\n direction,\n start = 0,\n after = 0,\n } = isFixedColumn(index, fixed, store, realColumns)\n if (!direction) {\n return\n }\n const styles: CSSProperties = {}\n const isLeft = direction === 'left'\n const columns = store.states.columns.value\n if (isLeft) {\n styles.left = columns.slice(0, start).reduce(getOffset, 0)\n } else {\n styles.right = columns\n .slice(after + 1)\n .reverse()\n .reduce(getOffset, 0)\n }\n return styles\n}\n\nexport const ensurePosition = (\n style: CSSProperties | undefined,\n key: keyof CSSProperties\n) => {\n if (!style) return\n if (!Number.isNaN(style[key])) {\n style[key] = `${style[key]}px` as any\n }\n}\n\nexport function ensureValidVNode(\n vnodes: VNodeArrayChildren\n): VNodeArrayChildren | null {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true\n if (child.type === Comment) return false\n if (\n child.type === Fragment &&\n !ensureValidVNode(child.children as VNodeArrayChildren)\n ) {\n return false\n }\n return true\n })\n ? vnodes\n : null\n}\n"],"names":["ensureArray"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import Tabs from './src/tabs.mjs';
2
2
  export { tabsEmits, tabsProps } from './src/tabs.mjs';
3
- import TabPane from './src/tab-pane2.mjs';
3
+ import TabPane from './src/tab-pane.mjs';
4
4
  export { tabBarProps } from './src/tab-bar.mjs';
5
5
  export { tabNavEmits, tabNavProps } from './src/tab-nav.mjs';
6
- export { tabPaneProps } from './src/tab-pane.mjs';
6
+ export { tabPaneProps } from './src/tab-pane2.mjs';
7
7
  export { tabsRootContextKey } from './src/constants.mjs';
8
8
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
9
9
 
@@ -1,20 +1,89 @@
1
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
1
+ import { defineComponent, getCurrentInstance, useSlots, inject, ref, computed, watch, reactive, onBeforeUnmount, onBeforeUpdate, unref, withDirectives, openBlock, createElementBlock, normalizeClass, renderSlot, vShow, createCommentVNode } from 'vue';
2
+ import { eagerComputed } from '@vueuse/core';
3
+ import { tabsRootContextKey } from './constants.mjs';
4
+ import { tabPaneProps } from './tab-pane2.mjs';
5
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
+ import { throwError } from '../../../utils/error.mjs';
7
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
2
8
 
3
- const tabPaneProps = buildProps({
4
- label: {
5
- type: String,
6
- default: ""
7
- },
8
- name: {
9
- type: [String, Number]
10
- },
11
- closable: {
12
- type: Boolean,
13
- default: void 0
14
- },
15
- disabled: Boolean,
16
- lazy: Boolean
9
+ const COMPONENT_NAME = "ElTabPane";
10
+ const __default__ = defineComponent({
11
+ name: COMPONENT_NAME
17
12
  });
13
+ const _sfc_main = /* @__PURE__ */ defineComponent({
14
+ ...__default__,
15
+ props: tabPaneProps,
16
+ setup(__props) {
17
+ const props = __props;
18
+ const instance = getCurrentInstance();
19
+ const slots = useSlots();
20
+ const tabsRoot = inject(tabsRootContextKey);
21
+ if (!tabsRoot)
22
+ throwError(COMPONENT_NAME, "usage: <el-tabs><el-tab-pane /></el-tabs/>");
23
+ const ns = useNamespace("tab-pane");
24
+ const paneRef = ref();
25
+ const index = ref();
26
+ const isClosable = computed(() => {
27
+ var _a;
28
+ return (_a = props.closable) != null ? _a : tabsRoot.props.closable;
29
+ });
30
+ const active = eagerComputed(() => {
31
+ var _a;
32
+ return tabsRoot.currentName.value === ((_a = props.name) != null ? _a : index.value);
33
+ });
34
+ const loaded = ref(active.value);
35
+ const paneName = computed(() => {
36
+ var _a;
37
+ return (_a = props.name) != null ? _a : index.value;
38
+ });
39
+ const shouldBeRender = eagerComputed(() => !props.lazy || loaded.value || active.value);
40
+ const isFocusInsidePane = () => {
41
+ var _a;
42
+ return (_a = paneRef.value) == null ? void 0 : _a.contains(document.activeElement);
43
+ };
44
+ watch(active, (val) => {
45
+ if (val)
46
+ loaded.value = true;
47
+ });
48
+ const pane = reactive({
49
+ uid: instance.uid,
50
+ getVnode: () => instance.vnode,
51
+ slots,
52
+ props,
53
+ paneName,
54
+ active,
55
+ index,
56
+ isClosable,
57
+ isFocusInsidePane
58
+ });
59
+ tabsRoot.registerPane(pane);
60
+ onBeforeUnmount(() => {
61
+ tabsRoot.unregisterPane(pane);
62
+ });
63
+ onBeforeUpdate(() => {
64
+ var _a;
65
+ if (slots.label)
66
+ (_a = tabsRoot.nav$.value) == null ? void 0 : _a.scheduleRender();
67
+ });
68
+ return (_ctx, _cache) => {
69
+ return unref(shouldBeRender) ? withDirectives((openBlock(), createElementBlock("div", {
70
+ key: 0,
71
+ id: `pane-${unref(paneName)}`,
72
+ ref_key: "paneRef",
73
+ ref: paneRef,
74
+ class: normalizeClass(unref(ns).b()),
75
+ role: "tabpanel",
76
+ "aria-hidden": !unref(active),
77
+ "aria-labelledby": `tab-${unref(paneName)}`
78
+ }, [
79
+ renderSlot(_ctx.$slots, "default")
80
+ ], 10, ["id", "aria-hidden", "aria-labelledby"])), [
81
+ [vShow, unref(active)]
82
+ ]) : createCommentVNode("v-if", true);
83
+ };
84
+ }
85
+ });
86
+ var TabPane = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "tab-pane.vue"]]);
18
87
 
19
- export { tabPaneProps };
88
+ export { TabPane as default };
20
89
  //# sourceMappingURL=tab-pane.mjs.map