@element-plus/nightly 0.0.20220830 → 0.0.20220831

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 (378) hide show
  1. package/README.md +0 -5
  2. package/attributes.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +95 -67
  5. package/dist/index.full.min.js +25 -25
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +23 -23
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +95 -67
  10. package/dist/locale/af.js +1 -1
  11. package/dist/locale/af.min.js +1 -1
  12. package/dist/locale/af.min.mjs +1 -1
  13. package/dist/locale/af.mjs +1 -1
  14. package/dist/locale/ar.js +1 -1
  15. package/dist/locale/ar.min.js +1 -1
  16. package/dist/locale/ar.min.mjs +1 -1
  17. package/dist/locale/ar.mjs +1 -1
  18. package/dist/locale/az.js +1 -1
  19. package/dist/locale/az.min.js +1 -1
  20. package/dist/locale/az.min.mjs +1 -1
  21. package/dist/locale/az.mjs +1 -1
  22. package/dist/locale/bg.js +1 -1
  23. package/dist/locale/bg.min.js +1 -1
  24. package/dist/locale/bg.min.mjs +1 -1
  25. package/dist/locale/bg.mjs +1 -1
  26. package/dist/locale/bn.js +1 -1
  27. package/dist/locale/bn.min.js +1 -1
  28. package/dist/locale/bn.min.mjs +1 -1
  29. package/dist/locale/bn.mjs +1 -1
  30. package/dist/locale/ca.js +1 -1
  31. package/dist/locale/ca.min.js +1 -1
  32. package/dist/locale/ca.min.mjs +1 -1
  33. package/dist/locale/ca.mjs +1 -1
  34. package/dist/locale/cs.js +1 -1
  35. package/dist/locale/cs.min.js +1 -1
  36. package/dist/locale/cs.min.mjs +1 -1
  37. package/dist/locale/cs.mjs +1 -1
  38. package/dist/locale/da.js +1 -1
  39. package/dist/locale/da.min.js +1 -1
  40. package/dist/locale/da.min.mjs +1 -1
  41. package/dist/locale/da.mjs +1 -1
  42. package/dist/locale/de.js +1 -1
  43. package/dist/locale/de.min.js +1 -1
  44. package/dist/locale/de.min.mjs +1 -1
  45. package/dist/locale/de.mjs +1 -1
  46. package/dist/locale/el.js +1 -1
  47. package/dist/locale/el.min.js +1 -1
  48. package/dist/locale/el.min.mjs +1 -1
  49. package/dist/locale/el.mjs +1 -1
  50. package/dist/locale/en.js +1 -1
  51. package/dist/locale/en.min.js +1 -1
  52. package/dist/locale/en.min.mjs +1 -1
  53. package/dist/locale/en.mjs +1 -1
  54. package/dist/locale/eo.js +1 -1
  55. package/dist/locale/eo.min.js +1 -1
  56. package/dist/locale/eo.min.mjs +1 -1
  57. package/dist/locale/eo.mjs +1 -1
  58. package/dist/locale/es.js +1 -1
  59. package/dist/locale/es.min.js +1 -1
  60. package/dist/locale/es.min.mjs +1 -1
  61. package/dist/locale/es.mjs +1 -1
  62. package/dist/locale/et.js +1 -1
  63. package/dist/locale/et.min.js +1 -1
  64. package/dist/locale/et.min.mjs +1 -1
  65. package/dist/locale/et.mjs +1 -1
  66. package/dist/locale/eu.js +1 -1
  67. package/dist/locale/eu.min.js +1 -1
  68. package/dist/locale/eu.min.mjs +1 -1
  69. package/dist/locale/eu.mjs +1 -1
  70. package/dist/locale/fa.js +1 -1
  71. package/dist/locale/fa.min.js +1 -1
  72. package/dist/locale/fa.min.mjs +1 -1
  73. package/dist/locale/fa.mjs +1 -1
  74. package/dist/locale/fi.js +1 -1
  75. package/dist/locale/fi.min.js +1 -1
  76. package/dist/locale/fi.min.mjs +1 -1
  77. package/dist/locale/fi.mjs +1 -1
  78. package/dist/locale/fr.js +1 -1
  79. package/dist/locale/fr.min.js +1 -1
  80. package/dist/locale/fr.min.mjs +1 -1
  81. package/dist/locale/fr.mjs +1 -1
  82. package/dist/locale/he.js +1 -1
  83. package/dist/locale/he.min.js +1 -1
  84. package/dist/locale/he.min.mjs +1 -1
  85. package/dist/locale/he.mjs +1 -1
  86. package/dist/locale/hr.js +1 -1
  87. package/dist/locale/hr.min.js +1 -1
  88. package/dist/locale/hr.min.mjs +1 -1
  89. package/dist/locale/hr.mjs +1 -1
  90. package/dist/locale/hu.js +1 -1
  91. package/dist/locale/hu.min.js +1 -1
  92. package/dist/locale/hu.min.mjs +1 -1
  93. package/dist/locale/hu.mjs +1 -1
  94. package/dist/locale/hy-am.js +1 -1
  95. package/dist/locale/hy-am.min.js +1 -1
  96. package/dist/locale/hy-am.min.mjs +1 -1
  97. package/dist/locale/hy-am.mjs +1 -1
  98. package/dist/locale/id.js +1 -1
  99. package/dist/locale/id.min.js +1 -1
  100. package/dist/locale/id.min.mjs +1 -1
  101. package/dist/locale/id.mjs +1 -1
  102. package/dist/locale/it.js +1 -1
  103. package/dist/locale/it.min.js +1 -1
  104. package/dist/locale/it.min.mjs +1 -1
  105. package/dist/locale/it.mjs +1 -1
  106. package/dist/locale/ja.js +1 -1
  107. package/dist/locale/ja.min.js +1 -1
  108. package/dist/locale/ja.min.mjs +1 -1
  109. package/dist/locale/ja.mjs +1 -1
  110. package/dist/locale/kk.js +1 -1
  111. package/dist/locale/kk.min.js +1 -1
  112. package/dist/locale/kk.min.mjs +1 -1
  113. package/dist/locale/kk.mjs +1 -1
  114. package/dist/locale/km.js +1 -1
  115. package/dist/locale/km.min.js +1 -1
  116. package/dist/locale/km.min.mjs +1 -1
  117. package/dist/locale/km.mjs +1 -1
  118. package/dist/locale/ko.js +1 -1
  119. package/dist/locale/ko.min.js +1 -1
  120. package/dist/locale/ko.min.mjs +1 -1
  121. package/dist/locale/ko.mjs +1 -1
  122. package/dist/locale/ku.js +1 -1
  123. package/dist/locale/ku.min.js +1 -1
  124. package/dist/locale/ku.min.mjs +1 -1
  125. package/dist/locale/ku.mjs +1 -1
  126. package/dist/locale/ky.js +1 -1
  127. package/dist/locale/ky.min.js +1 -1
  128. package/dist/locale/ky.min.mjs +1 -1
  129. package/dist/locale/ky.mjs +1 -1
  130. package/dist/locale/lt.js +1 -1
  131. package/dist/locale/lt.min.js +1 -1
  132. package/dist/locale/lt.min.mjs +1 -1
  133. package/dist/locale/lt.mjs +1 -1
  134. package/dist/locale/lv.js +1 -1
  135. package/dist/locale/lv.min.js +1 -1
  136. package/dist/locale/lv.min.mjs +1 -1
  137. package/dist/locale/lv.mjs +1 -1
  138. package/dist/locale/mg.js +1 -1
  139. package/dist/locale/mg.min.js +1 -1
  140. package/dist/locale/mg.min.mjs +1 -1
  141. package/dist/locale/mg.mjs +1 -1
  142. package/dist/locale/mn.js +1 -1
  143. package/dist/locale/mn.min.js +1 -1
  144. package/dist/locale/mn.min.mjs +1 -1
  145. package/dist/locale/mn.mjs +1 -1
  146. package/dist/locale/nb-no.js +1 -1
  147. package/dist/locale/nb-no.min.js +1 -1
  148. package/dist/locale/nb-no.min.mjs +1 -1
  149. package/dist/locale/nb-no.mjs +1 -1
  150. package/dist/locale/nl.js +1 -1
  151. package/dist/locale/nl.min.js +1 -1
  152. package/dist/locale/nl.min.mjs +1 -1
  153. package/dist/locale/nl.mjs +1 -1
  154. package/dist/locale/pa.js +1 -1
  155. package/dist/locale/pa.min.js +1 -1
  156. package/dist/locale/pa.min.mjs +1 -1
  157. package/dist/locale/pa.mjs +1 -1
  158. package/dist/locale/pl.js +1 -1
  159. package/dist/locale/pl.min.js +1 -1
  160. package/dist/locale/pl.min.mjs +1 -1
  161. package/dist/locale/pl.mjs +1 -1
  162. package/dist/locale/pt-br.js +1 -1
  163. package/dist/locale/pt-br.min.js +1 -1
  164. package/dist/locale/pt-br.min.mjs +1 -1
  165. package/dist/locale/pt-br.mjs +1 -1
  166. package/dist/locale/pt.js +1 -1
  167. package/dist/locale/pt.min.js +1 -1
  168. package/dist/locale/pt.min.mjs +1 -1
  169. package/dist/locale/pt.mjs +1 -1
  170. package/dist/locale/ro.js +1 -1
  171. package/dist/locale/ro.min.js +1 -1
  172. package/dist/locale/ro.min.mjs +1 -1
  173. package/dist/locale/ro.mjs +1 -1
  174. package/dist/locale/ru.js +1 -1
  175. package/dist/locale/ru.min.js +1 -1
  176. package/dist/locale/ru.min.mjs +1 -1
  177. package/dist/locale/ru.mjs +1 -1
  178. package/dist/locale/sk.js +1 -1
  179. package/dist/locale/sk.min.js +1 -1
  180. package/dist/locale/sk.min.mjs +1 -1
  181. package/dist/locale/sk.mjs +1 -1
  182. package/dist/locale/sl.js +1 -1
  183. package/dist/locale/sl.min.js +1 -1
  184. package/dist/locale/sl.min.mjs +1 -1
  185. package/dist/locale/sl.mjs +1 -1
  186. package/dist/locale/sr.js +1 -1
  187. package/dist/locale/sr.min.js +1 -1
  188. package/dist/locale/sr.min.mjs +1 -1
  189. package/dist/locale/sr.mjs +1 -1
  190. package/dist/locale/sv.js +1 -1
  191. package/dist/locale/sv.min.js +1 -1
  192. package/dist/locale/sv.min.mjs +1 -1
  193. package/dist/locale/sv.mjs +1 -1
  194. package/dist/locale/ta.js +1 -1
  195. package/dist/locale/ta.min.js +1 -1
  196. package/dist/locale/ta.min.mjs +1 -1
  197. package/dist/locale/ta.mjs +1 -1
  198. package/dist/locale/th.js +1 -1
  199. package/dist/locale/th.min.js +1 -1
  200. package/dist/locale/th.min.mjs +1 -1
  201. package/dist/locale/th.mjs +1 -1
  202. package/dist/locale/tk.js +1 -1
  203. package/dist/locale/tk.min.js +1 -1
  204. package/dist/locale/tk.min.mjs +1 -1
  205. package/dist/locale/tk.mjs +1 -1
  206. package/dist/locale/tr.js +1 -1
  207. package/dist/locale/tr.min.js +1 -1
  208. package/dist/locale/tr.min.mjs +1 -1
  209. package/dist/locale/tr.mjs +1 -1
  210. package/dist/locale/ug-cn.js +1 -1
  211. package/dist/locale/ug-cn.min.js +1 -1
  212. package/dist/locale/ug-cn.min.mjs +1 -1
  213. package/dist/locale/ug-cn.mjs +1 -1
  214. package/dist/locale/uk.js +1 -1
  215. package/dist/locale/uk.min.js +1 -1
  216. package/dist/locale/uk.min.mjs +1 -1
  217. package/dist/locale/uk.mjs +1 -1
  218. package/dist/locale/uz-uz.js +1 -1
  219. package/dist/locale/uz-uz.min.js +1 -1
  220. package/dist/locale/uz-uz.min.mjs +1 -1
  221. package/dist/locale/uz-uz.mjs +1 -1
  222. package/dist/locale/vi.js +1 -1
  223. package/dist/locale/vi.min.js +1 -1
  224. package/dist/locale/vi.min.mjs +1 -1
  225. package/dist/locale/vi.mjs +1 -1
  226. package/dist/locale/zh-cn.js +1 -1
  227. package/dist/locale/zh-cn.min.js +1 -1
  228. package/dist/locale/zh-cn.min.mjs +1 -1
  229. package/dist/locale/zh-cn.mjs +1 -1
  230. package/dist/locale/zh-tw.js +1 -1
  231. package/dist/locale/zh-tw.min.js +1 -1
  232. package/dist/locale/zh-tw.min.mjs +1 -1
  233. package/dist/locale/zh-tw.mjs +1 -1
  234. package/es/components/autocomplete/index.d.ts +1 -0
  235. package/es/components/autocomplete/src/autocomplete.vue.d.ts +1 -0
  236. package/es/components/autocomplete/src/autocomplete2.mjs +3 -1
  237. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  238. package/es/components/form/src/form-item2.mjs +5 -6
  239. package/es/components/form/src/form-item2.mjs.map +1 -1
  240. package/es/components/input/src/input2.mjs +3 -1
  241. package/es/components/input/src/input2.mjs.map +1 -1
  242. package/es/components/input-number/index.d.ts +4 -0
  243. package/es/components/input-number/src/input-number.d.ts +1 -0
  244. package/es/components/input-number/src/input-number.mjs +1 -0
  245. package/es/components/input-number/src/input-number.mjs.map +1 -1
  246. package/es/components/input-number/src/input-number.vue.d.ts +4 -0
  247. package/es/components/input-number/src/input-number2.mjs +4 -3
  248. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  249. package/es/components/menu/src/menu.mjs +2 -0
  250. package/es/components/menu/src/menu.mjs.map +1 -1
  251. package/es/components/page-header/style/css.d.ts +1 -0
  252. package/es/components/page-header/style/css.mjs +1 -0
  253. package/es/components/page-header/style/css.mjs.map +1 -1
  254. package/es/components/page-header/style/index.d.ts +1 -0
  255. package/es/components/page-header/style/index.mjs +1 -0
  256. package/es/components/page-header/style/index.mjs.map +1 -1
  257. package/es/components/pagination/src/components/jumper.mjs +1 -0
  258. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  259. package/es/components/pagination/src/components/sizes2.mjs +1 -0
  260. package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
  261. package/es/components/select/src/option.mjs +1 -1
  262. package/es/components/select/src/option.mjs.map +1 -1
  263. package/es/components/select/src/useOption.mjs +4 -0
  264. package/es/components/select/src/useOption.mjs.map +1 -1
  265. package/es/components/select/src/useSelect.mjs +2 -1
  266. package/es/components/select/src/useSelect.mjs.map +1 -1
  267. package/es/components/select-v2/index.d.ts +2 -2
  268. package/es/components/select-v2/src/select.mjs +25 -23
  269. package/es/components/select-v2/src/select.mjs.map +1 -1
  270. package/es/components/select-v2/src/select.vue.d.ts +1 -1
  271. package/es/components/select-v2/src/useSelect.d.ts +1 -1
  272. package/es/components/select-v2/src/useSelect.mjs +2 -2
  273. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  274. package/es/components/slider/index.d.ts +4 -0
  275. package/es/components/slider/src/composables/use-slider-button.mjs +1 -1
  276. package/es/components/slider/src/composables/use-slider-button.mjs.map +1 -1
  277. package/es/components/slider/src/slider.vue.d.ts +4 -0
  278. package/es/components/table/index.d.ts +1 -0
  279. package/es/components/table/index.mjs.map +1 -1
  280. package/es/components/table/src/config.mjs +3 -0
  281. package/es/components/table/src/config.mjs.map +1 -1
  282. package/es/components/table/src/table-column/render-helper.mjs +1 -2
  283. package/es/components/table/src/table-column/render-helper.mjs.map +1 -1
  284. package/es/components/table-v2/src/components/header.mjs +1 -1
  285. package/es/components/table-v2/src/components/header.mjs.map +1 -1
  286. package/es/components/table-v2/src/table-v2.mjs +10 -7
  287. package/es/components/table-v2/src/table-v2.mjs.map +1 -1
  288. package/es/components/tabs/src/tab-bar2.mjs +1 -1
  289. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  290. package/es/components/tabs/src/tab-nav.mjs +3 -2
  291. package/es/components/tabs/src/tab-nav.mjs.map +1 -1
  292. package/es/components/tree-select/src/tree.mjs +2 -2
  293. package/es/components/tree-select/src/tree.mjs.map +1 -1
  294. package/es/components/tree-v2/src/composables/useCheck.mjs +1 -1
  295. package/es/components/tree-v2/src/composables/useCheck.mjs.map +1 -1
  296. package/es/directives/repeat-click/index.d.ts +2 -0
  297. package/es/directives/repeat-click/index.mjs +18 -12
  298. package/es/directives/repeat-click/index.mjs.map +1 -1
  299. package/es/version.d.ts +1 -1
  300. package/es/version.mjs +1 -1
  301. package/es/version.mjs.map +1 -1
  302. package/lib/components/autocomplete/index.d.ts +1 -0
  303. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +1 -0
  304. package/lib/components/autocomplete/src/autocomplete2.js +3 -1
  305. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  306. package/lib/components/form/src/form-item2.js +4 -5
  307. package/lib/components/form/src/form-item2.js.map +1 -1
  308. package/lib/components/input/src/input2.js +3 -1
  309. package/lib/components/input/src/input2.js.map +1 -1
  310. package/lib/components/input-number/index.d.ts +4 -0
  311. package/lib/components/input-number/src/input-number.d.ts +1 -0
  312. package/lib/components/input-number/src/input-number.js +1 -0
  313. package/lib/components/input-number/src/input-number.js.map +1 -1
  314. package/lib/components/input-number/src/input-number.vue.d.ts +4 -0
  315. package/lib/components/input-number/src/input-number2.js +4 -3
  316. package/lib/components/input-number/src/input-number2.js.map +1 -1
  317. package/lib/components/menu/src/menu.js +2 -0
  318. package/lib/components/menu/src/menu.js.map +1 -1
  319. package/lib/components/page-header/style/css.d.ts +1 -0
  320. package/lib/components/page-header/style/css.js +1 -0
  321. package/lib/components/page-header/style/css.js.map +1 -1
  322. package/lib/components/page-header/style/index.d.ts +1 -0
  323. package/lib/components/page-header/style/index.js +1 -0
  324. package/lib/components/page-header/style/index.js.map +1 -1
  325. package/lib/components/pagination/src/components/jumper.js +1 -0
  326. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  327. package/lib/components/pagination/src/components/sizes2.js +1 -0
  328. package/lib/components/pagination/src/components/sizes2.js.map +1 -1
  329. package/lib/components/select/src/option.js +1 -1
  330. package/lib/components/select/src/option.js.map +1 -1
  331. package/lib/components/select/src/useOption.js +4 -0
  332. package/lib/components/select/src/useOption.js.map +1 -1
  333. package/lib/components/select/src/useSelect.js +2 -1
  334. package/lib/components/select/src/useSelect.js.map +1 -1
  335. package/lib/components/select-v2/index.d.ts +2 -2
  336. package/lib/components/select-v2/src/select.js +25 -23
  337. package/lib/components/select-v2/src/select.js.map +1 -1
  338. package/lib/components/select-v2/src/select.vue.d.ts +1 -1
  339. package/lib/components/select-v2/src/useSelect.d.ts +1 -1
  340. package/lib/components/select-v2/src/useSelect.js +2 -2
  341. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  342. package/lib/components/slider/index.d.ts +4 -0
  343. package/lib/components/slider/src/composables/use-slider-button.js +1 -1
  344. package/lib/components/slider/src/composables/use-slider-button.js.map +1 -1
  345. package/lib/components/slider/src/slider.vue.d.ts +4 -0
  346. package/lib/components/table/index.d.ts +1 -0
  347. package/lib/components/table/index.js.map +1 -1
  348. package/lib/components/table/src/config.js +3 -0
  349. package/lib/components/table/src/config.js.map +1 -1
  350. package/lib/components/table/src/table-column/render-helper.js +1 -2
  351. package/lib/components/table/src/table-column/render-helper.js.map +1 -1
  352. package/lib/components/table-v2/src/components/header.js +1 -1
  353. package/lib/components/table-v2/src/components/header.js.map +1 -1
  354. package/lib/components/table-v2/src/table-v2.js +10 -7
  355. package/lib/components/table-v2/src/table-v2.js.map +1 -1
  356. package/lib/components/tabs/src/tab-bar2.js +1 -1
  357. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  358. package/lib/components/tabs/src/tab-nav.js +3 -2
  359. package/lib/components/tabs/src/tab-nav.js.map +1 -1
  360. package/lib/components/tree-select/src/tree.js +2 -2
  361. package/lib/components/tree-select/src/tree.js.map +1 -1
  362. package/lib/components/tree-v2/src/composables/useCheck.js +1 -1
  363. package/lib/components/tree-v2/src/composables/useCheck.js.map +1 -1
  364. package/lib/directives/repeat-click/index.d.ts +2 -0
  365. package/lib/directives/repeat-click/index.js +19 -11
  366. package/lib/directives/repeat-click/index.js.map +1 -1
  367. package/lib/version.d.ts +1 -1
  368. package/lib/version.js +1 -1
  369. package/lib/version.js.map +1 -1
  370. package/package.json +2 -2
  371. package/tags.json +1 -1
  372. package/theme-chalk/el-loading.css +1 -1
  373. package/theme-chalk/el-select-v2.css +1 -1
  374. package/theme-chalk/el-select.css +1 -1
  375. package/theme-chalk/index.css +1 -1
  376. package/theme-chalk/src/loading.scss +2 -0
  377. package/theme-chalk/src/select/common.scss +1 -0
  378. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config.mjs","sources":["../../../../../../packages/components/table/src/config.ts"],"sourcesContent":["// @ts-nocheck\nimport { h } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowRight, Loading } from '@element-plus/icons-vue'\nimport { getProp } from '@element-plus/utils'\n\nimport type { VNode } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { Store } from './store'\nimport type { TreeNode } from './table/defaults'\n\nconst defaultClassNames = {\n selection: 'table-column--selection',\n expand: 'table__expand-column',\n}\n\nexport const cellStarts = {\n default: {\n order: '',\n },\n selection: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n expand: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n index: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n}\n\nexport const getDefaultClassName = (type) => {\n return defaultClassNames[type] || ''\n}\n\n// 这些选项不应该被覆盖\nexport const cellForced = {\n selection: {\n renderHeader<T>({ store }: { store: Store<T> }) {\n function isDisabled() {\n return store.states.data.value && store.states.data.value.length === 0\n }\n return h(ElCheckbox, {\n disabled: isDisabled(),\n size: store.states.tableSize.value,\n indeterminate:\n store.states.selection.value.length > 0 &&\n !store.states.isAllSelected.value,\n 'onUpdate:modelValue': store.toggleAllSelection,\n modelValue: store.states.isAllSelected.value,\n })\n },\n renderCell<T>({\n row,\n column,\n store,\n $index,\n }: {\n row: T\n column: TableColumnCtx<T>\n store: Store<T>\n $index: string\n }) {\n return h(ElCheckbox, {\n disabled: column.selectable\n ? !column.selectable.call(null, row, $index)\n : false,\n size: store.states.tableSize.value,\n onChange: () => {\n store.commit('rowSelectedChanged', row)\n },\n onClick: (event: Event) => event.stopPropagation(),\n modelValue: store.isSelected(row),\n })\n },\n sortable: false,\n resizable: false,\n },\n index: {\n renderHeader<T>({ column }: { column: TableColumnCtx<T> }) {\n return column.label || '#'\n },\n renderCell<T>({\n column,\n $index,\n }: {\n column: TableColumnCtx<T>\n $index: number\n }) {\n let i = $index + 1\n const index = column.index\n\n if (typeof index === 'number') {\n i = $index + index\n } else if (typeof index === 'function') {\n i = index($index)\n }\n return h('div', {}, [i])\n },\n sortable: false,\n },\n expand: {\n renderHeader<T>({ column }: { column: TableColumnCtx<T> }) {\n return column.label || ''\n },\n renderCell<T>({\n row,\n store,\n expanded,\n }: {\n row: T\n store: Store<T>\n expanded: boolean\n }) {\n const { ns } = store\n const classes = [ns.e('expand-icon')]\n if (expanded) {\n classes.push(ns.em('expand-icon', 'expanded'))\n }\n const callback = function (e: Event) {\n e.stopPropagation()\n store.toggleRowExpansion(row)\n }\n return h(\n 'div',\n {\n class: classes,\n onClick: callback,\n },\n {\n default: () => {\n return [\n h(ElIcon, null, {\n default: () => {\n return [h(ArrowRight)]\n },\n }),\n ]\n },\n }\n )\n },\n sortable: false,\n resizable: false,\n },\n}\n\nexport function defaultRenderCell<T>({\n row,\n column,\n $index,\n}: {\n row: T\n column: TableColumnCtx<T>\n $index: number\n}) {\n const property = column.property\n const value = property && getProp(row, property).value\n if (column && column.formatter) {\n return column.formatter(row, column, value, $index)\n }\n return value?.toString?.() || ''\n}\n\nexport function treeCellPrefix<T>(\n {\n row,\n treeNode,\n store,\n }: {\n row: T\n treeNode: TreeNode\n store: Store<T>\n },\n createPlacehoder = false\n) {\n const { ns } = store\n if (!treeNode) {\n if (createPlacehoder) {\n return [\n h('span', {\n class: ns.e('placeholder'),\n }),\n ]\n }\n return null\n }\n const ele: VNode[] = []\n const callback = function (e) {\n e.stopPropagation()\n store.loadOrToggle(row)\n }\n if (treeNode.indent) {\n ele.push(\n h('span', {\n class: ns.e('indent'),\n style: { 'padding-left': `${treeNode.indent}px` },\n })\n )\n }\n if (typeof treeNode.expanded === 'boolean' && !treeNode.noLazyChildren) {\n const expandClasses = [\n ns.e('expand-icon'),\n treeNode.expanded ? ns.em('expand-icon', 'expanded') : '',\n ]\n let icon = ArrowRight\n if (treeNode.loading) {\n icon = Loading\n }\n\n ele.push(\n h(\n 'div',\n {\n class: expandClasses,\n onClick: callback,\n },\n {\n default: () => {\n return [\n h(\n ElIcon,\n { class: { [ns.is('loading')]: treeNode.loading } },\n {\n default: () => [h(icon)],\n }\n ),\n ]\n },\n }\n )\n )\n } else {\n ele.push(\n h('span', {\n class: ns.e('placeholder'),\n })\n )\n }\n return ele\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.mjs","sources":["../../../../../../packages/components/table/src/config.ts"],"sourcesContent":["// @ts-nocheck\nimport { h } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowRight, Loading } from '@element-plus/icons-vue'\nimport { getProp } from '@element-plus/utils'\n\nimport type { VNode } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { Store } from './store'\nimport type { TreeNode } from './table/defaults'\n\nconst defaultClassNames = {\n selection: 'table-column--selection',\n expand: 'table__expand-column',\n}\n\nexport const cellStarts = {\n default: {\n order: '',\n },\n selection: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n expand: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n index: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n}\n\nexport const getDefaultClassName = (type) => {\n return defaultClassNames[type] || ''\n}\n\n// 这些选项不应该被覆盖\nexport const cellForced = {\n selection: {\n renderHeader<T>({ store }: { store: Store<T> }) {\n function isDisabled() {\n return store.states.data.value && store.states.data.value.length === 0\n }\n return h(ElCheckbox, {\n disabled: isDisabled(),\n size: store.states.tableSize.value,\n indeterminate:\n store.states.selection.value.length > 0 &&\n !store.states.isAllSelected.value,\n 'onUpdate:modelValue': store.toggleAllSelection,\n modelValue: store.states.isAllSelected.value,\n })\n },\n renderCell<T>({\n row,\n column,\n store,\n $index,\n }: {\n row: T\n column: TableColumnCtx<T>\n store: Store<T>\n $index: string\n }) {\n return h(ElCheckbox, {\n disabled: column.selectable\n ? !column.selectable.call(null, row, $index)\n : false,\n size: store.states.tableSize.value,\n onChange: () => {\n store.commit('rowSelectedChanged', row)\n },\n onClick: (event: Event) => event.stopPropagation(),\n modelValue: store.isSelected(row),\n })\n },\n sortable: false,\n resizable: false,\n },\n index: {\n renderHeader<T>({ column }: { column: TableColumnCtx<T> }) {\n return column.label || '#'\n },\n renderCell<T>({\n column,\n $index,\n }: {\n column: TableColumnCtx<T>\n $index: number\n }) {\n let i = $index + 1\n const index = column.index\n\n if (typeof index === 'number') {\n i = $index + index\n } else if (typeof index === 'function') {\n i = index($index)\n }\n return h('div', {}, [i])\n },\n sortable: false,\n },\n expand: {\n renderHeader<T>({ column }: { column: TableColumnCtx<T> }) {\n return column.label || ''\n },\n renderCell<T>({\n row,\n store,\n expanded,\n }: {\n row: T\n store: Store<T>\n expanded: boolean\n }) {\n const { ns } = store\n const classes = [ns.e('expand-icon')]\n if (expanded) {\n classes.push(ns.em('expand-icon', 'expanded'))\n }\n const callback = function (e: Event) {\n e.stopPropagation()\n store.toggleRowExpansion(row)\n }\n return h(\n 'div',\n {\n class: classes,\n onClick: callback,\n },\n {\n default: () => {\n return [\n h(ElIcon, null, {\n default: () => {\n return [h(ArrowRight)]\n },\n }),\n ]\n },\n }\n )\n },\n sortable: false,\n resizable: false,\n },\n}\n\nexport function defaultRenderCell<T>({\n row,\n column,\n $index,\n}: {\n row: T\n column: TableColumnCtx<T>\n $index: number\n}) {\n const property = column.property\n const value = property && getProp(row, property).value\n if (column && column.formatter) {\n return column.formatter(row, column, value, $index)\n }\n return value?.toString?.() || ''\n}\n\nexport function treeCellPrefix<T>(\n {\n row,\n treeNode,\n store,\n }: {\n row: T\n treeNode: TreeNode\n store: Store<T>\n },\n createPlacehoder = false\n) {\n const { ns } = store\n if (!treeNode) {\n if (createPlacehoder) {\n return [\n h('span', {\n class: ns.e('placeholder'),\n }),\n ]\n }\n return null\n }\n const ele: VNode[] = []\n const callback = function (e) {\n e.stopPropagation()\n if (treeNode.loading) {\n return\n }\n store.loadOrToggle(row)\n }\n if (treeNode.indent) {\n ele.push(\n h('span', {\n class: ns.e('indent'),\n style: { 'padding-left': `${treeNode.indent}px` },\n })\n )\n }\n if (typeof treeNode.expanded === 'boolean' && !treeNode.noLazyChildren) {\n const expandClasses = [\n ns.e('expand-icon'),\n treeNode.expanded ? ns.em('expand-icon', 'expanded') : '',\n ]\n let icon = ArrowRight\n if (treeNode.loading) {\n icon = Loading\n }\n\n ele.push(\n h(\n 'div',\n {\n class: expandClasses,\n onClick: callback,\n },\n {\n default: () => {\n return [\n h(\n ElIcon,\n { class: { [ns.is('loading')]: treeNode.loading } },\n {\n default: () => [h(icon)],\n }\n ),\n ]\n },\n }\n )\n )\n } else {\n ele.push(\n h('span', {\n class: ns.e('placeholder'),\n })\n )\n }\n return ele\n}\n"],"names":[],"mappings":"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"}
@@ -90,7 +90,6 @@ function useRender(props, slots, owner) {
90
90
  };
91
91
  }
92
92
  let originRenderCell = column.renderCell;
93
- const hasTreeColumnValue = hasTreeColumn.value;
94
93
  if (column.type === "expand") {
95
94
  column.renderCell = (data) => h("div", {
96
95
  class: "cell"
@@ -108,7 +107,7 @@ function useRender(props, slots, owner) {
108
107
  } else {
109
108
  children = originRenderCell(data);
110
109
  }
111
- const shouldCreatePlaceholder = hasTreeColumnValue && data.cellIndex === 0;
110
+ const shouldCreatePlaceholder = hasTreeColumn.value && data.cellIndex === 0;
112
111
  const prefix = treeCellPrefix(data, shouldCreatePlaceholder);
113
112
  const props2 = {
114
113
  class: "cell",
@@ -1 +1 @@
1
- {"version":3,"file":"render-helper.mjs","sources":["../../../../../../../packages/components/table/src/table-column/render-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n Comment,\n computed,\n getCurrentInstance,\n h,\n ref,\n unref,\n watchEffect,\n} from 'vue'\nimport { debugWarn } 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'\nimport type { ComputedRef } from 'vue'\nimport type { TableColumn, TableColumnCtx } from './defaults'\n\nfunction useRender<T>(\n props: TableColumnCtx<T>,\n slots,\n owner: ComputedRef<any>\n) {\n const instance = getCurrentInstance() as TableColumn<T>\n const columnId = ref('')\n const isSubColumn = ref(false)\n const realAlign = ref<string>()\n const realHeaderAlign = ref<string>()\n const ns = useNamespace('table')\n watchEffect(() => {\n realAlign.value = props.align ? `is-${props.align}` : null\n // nextline help render\n realAlign.value\n })\n watchEffect(() => {\n realHeaderAlign.value = props.headerAlign\n ? `is-${props.headerAlign}`\n : realAlign.value\n // nextline help render\n realHeaderAlign.value\n })\n const columnOrTableParent = computed(() => {\n let parent: any = instance.vnode.vParent || instance.parent\n while (parent && !parent.tableId && !parent.columnId) {\n parent = parent.vnode.vParent || parent.parent\n }\n return parent\n })\n const hasTreeColumn = computed<boolean>(() => {\n const { store } = instance.parent\n if (!store) return false\n const { treeData } = store.states\n const treeDataValue = treeData.value\n return treeDataValue && Object.keys(treeDataValue).length > 0\n })\n\n const realWidth = ref(parseWidth(props.width))\n const realMinWidth = ref(parseMinWidth(props.minWidth))\n const setColumnWidth = (column: TableColumnCtx<T>) => {\n if (realWidth.value) column.width = realWidth.value\n if (realMinWidth.value) {\n column.minWidth = realMinWidth.value\n }\n if (!column.minWidth) {\n column.minWidth = 80\n }\n column.realWidth = Number(\n column.width === undefined ? column.minWidth : column.width\n )\n return column\n }\n const setColumnForcedProps = (column: TableColumnCtx<T>) => {\n // 对于特定类型的 column,某些属性不允许设置\n const type = column.type\n const source = cellForced[type] || {}\n Object.keys(source).forEach((prop) => {\n const value = source[prop]\n if (prop !== 'className' && value !== undefined) {\n column[prop] = value\n }\n })\n const className = getDefaultClassName(type)\n if (className) {\n const forceClass = `${unref(ns.namespace)}-${className}`\n column.className = column.className\n ? `${column.className} ${forceClass}`\n : forceClass\n }\n return column\n }\n\n const checkSubColumn = (children: TableColumn<T> | TableColumn<T>[]) => {\n if (Array.isArray(children)) {\n children.forEach((child) => check(child))\n } else {\n check(children)\n }\n function check(item: TableColumn<T>) {\n if (item?.type?.name === 'ElTableColumn') {\n item.vParent = instance\n }\n }\n }\n const setColumnRenders = (column: TableColumnCtx<T>) => {\n // renderHeader 属性不推荐使用。\n if (props.renderHeader) {\n debugWarn(\n 'TableColumn',\n 'Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.'\n )\n } else if (column.type !== 'selection') {\n column.renderHeader = (scope) => {\n // help render\n instance.columnConfig.value['label']\n const renderHeader = slots.header\n return renderHeader ? renderHeader(scope) : column.label\n }\n }\n\n let originRenderCell = column.renderCell\n const hasTreeColumnValue = hasTreeColumn.value\n // TODO: 这里的实现调整\n if (column.type === 'expand') {\n // 对于展开行,renderCell 不允许配置的。在上一步中已经设置过,这里需要简单封装一下。\n column.renderCell = (data) =>\n h(\n 'div',\n {\n class: 'cell',\n },\n [originRenderCell(data)]\n )\n owner.value.renderExpanded = (data) => {\n return slots.default ? slots.default(data) : slots.default\n }\n } else {\n originRenderCell = originRenderCell || defaultRenderCell\n // 对 renderCell 进行包装\n column.renderCell = (data) => {\n let children = null\n if (slots.default) {\n const vnodes = slots.default(data)\n children = vnodes.some((v) => v.type !== Comment)\n ? vnodes\n : originRenderCell(data)\n } else {\n children = originRenderCell(data)\n }\n const shouldCreatePlaceholder =\n hasTreeColumnValue && data.cellIndex === 0\n const prefix = treeCellPrefix(data, shouldCreatePlaceholder)\n const props = {\n class: 'cell',\n style: {},\n }\n if (column.showOverflowTooltip) {\n props.class = `${props.class} ${unref(ns.namespace)}-tooltip`\n props.style = {\n width: `${\n (data.column.realWidth || Number(data.column.width)) - 1\n }px`,\n }\n }\n checkSubColumn(children)\n return h('div', props, [prefix, children])\n }\n }\n return column\n }\n const getPropsData = (...propsKey: unknown[]) => {\n return propsKey.reduce((prev, cur) => {\n if (Array.isArray(cur)) {\n cur.forEach((key) => {\n prev[key] = props[key]\n })\n }\n return prev\n }, {})\n }\n const getColumnElIndex = (children, child) => {\n return Array.prototype.indexOf.call(children, child)\n }\n\n return {\n columnId,\n realAlign,\n isSubColumn,\n realHeaderAlign,\n columnOrTableParent,\n setColumnWidth,\n setColumnForcedProps,\n setColumnRenders,\n getPropsData,\n getColumnElIndex,\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":["// @ts-nocheck\nimport {\n Comment,\n computed,\n getCurrentInstance,\n h,\n ref,\n unref,\n watchEffect,\n} from 'vue'\nimport { debugWarn } 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'\nimport type { ComputedRef } from 'vue'\nimport type { TableColumn, TableColumnCtx } from './defaults'\n\nfunction useRender<T>(\n props: TableColumnCtx<T>,\n slots,\n owner: ComputedRef<any>\n) {\n const instance = getCurrentInstance() as TableColumn<T>\n const columnId = ref('')\n const isSubColumn = ref(false)\n const realAlign = ref<string>()\n const realHeaderAlign = ref<string>()\n const ns = useNamespace('table')\n watchEffect(() => {\n realAlign.value = props.align ? `is-${props.align}` : null\n // nextline help render\n realAlign.value\n })\n watchEffect(() => {\n realHeaderAlign.value = props.headerAlign\n ? `is-${props.headerAlign}`\n : realAlign.value\n // nextline help render\n realHeaderAlign.value\n })\n const columnOrTableParent = computed(() => {\n let parent: any = instance.vnode.vParent || instance.parent\n while (parent && !parent.tableId && !parent.columnId) {\n parent = parent.vnode.vParent || parent.parent\n }\n return parent\n })\n const hasTreeColumn = computed<boolean>(() => {\n const { store } = instance.parent\n if (!store) return false\n const { treeData } = store.states\n const treeDataValue = treeData.value\n return treeDataValue && Object.keys(treeDataValue).length > 0\n })\n\n const realWidth = ref(parseWidth(props.width))\n const realMinWidth = ref(parseMinWidth(props.minWidth))\n const setColumnWidth = (column: TableColumnCtx<T>) => {\n if (realWidth.value) column.width = realWidth.value\n if (realMinWidth.value) {\n column.minWidth = realMinWidth.value\n }\n if (!column.minWidth) {\n column.minWidth = 80\n }\n column.realWidth = Number(\n column.width === undefined ? column.minWidth : column.width\n )\n return column\n }\n const setColumnForcedProps = (column: TableColumnCtx<T>) => {\n // 对于特定类型的 column,某些属性不允许设置\n const type = column.type\n const source = cellForced[type] || {}\n Object.keys(source).forEach((prop) => {\n const value = source[prop]\n if (prop !== 'className' && value !== undefined) {\n column[prop] = value\n }\n })\n const className = getDefaultClassName(type)\n if (className) {\n const forceClass = `${unref(ns.namespace)}-${className}`\n column.className = column.className\n ? `${column.className} ${forceClass}`\n : forceClass\n }\n return column\n }\n\n const checkSubColumn = (children: TableColumn<T> | TableColumn<T>[]) => {\n if (Array.isArray(children)) {\n children.forEach((child) => check(child))\n } else {\n check(children)\n }\n function check(item: TableColumn<T>) {\n if (item?.type?.name === 'ElTableColumn') {\n item.vParent = instance\n }\n }\n }\n const setColumnRenders = (column: TableColumnCtx<T>) => {\n // renderHeader 属性不推荐使用。\n if (props.renderHeader) {\n debugWarn(\n 'TableColumn',\n 'Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.'\n )\n } else if (column.type !== 'selection') {\n column.renderHeader = (scope) => {\n // help render\n instance.columnConfig.value['label']\n const renderHeader = slots.header\n return renderHeader ? renderHeader(scope) : column.label\n }\n }\n\n let originRenderCell = column.renderCell\n // TODO: 这里的实现调整\n if (column.type === 'expand') {\n // 对于展开行,renderCell 不允许配置的。在上一步中已经设置过,这里需要简单封装一下。\n column.renderCell = (data) =>\n h(\n 'div',\n {\n class: 'cell',\n },\n [originRenderCell(data)]\n )\n owner.value.renderExpanded = (data) => {\n return slots.default ? slots.default(data) : slots.default\n }\n } else {\n originRenderCell = originRenderCell || defaultRenderCell\n // 对 renderCell 进行包装\n column.renderCell = (data) => {\n let children = null\n if (slots.default) {\n const vnodes = slots.default(data)\n children = vnodes.some((v) => v.type !== Comment)\n ? vnodes\n : originRenderCell(data)\n } else {\n children = originRenderCell(data)\n }\n const shouldCreatePlaceholder =\n hasTreeColumn.value && data.cellIndex === 0\n const prefix = treeCellPrefix(data, shouldCreatePlaceholder)\n const props = {\n class: 'cell',\n style: {},\n }\n if (column.showOverflowTooltip) {\n props.class = `${props.class} ${unref(ns.namespace)}-tooltip`\n props.style = {\n width: `${\n (data.column.realWidth || Number(data.column.width)) - 1\n }px`,\n }\n }\n checkSubColumn(children)\n return h('div', props, [prefix, children])\n }\n }\n return column\n }\n const getPropsData = (...propsKey: unknown[]) => {\n return propsKey.reduce((prev, cur) => {\n if (Array.isArray(cur)) {\n cur.forEach((key) => {\n prev[key] = props[key]\n })\n }\n return prev\n }, {})\n }\n const getColumnElIndex = (children, child) => {\n return Array.prototype.indexOf.call(children, child)\n }\n\n return {\n columnId,\n realAlign,\n isSubColumn,\n realHeaderAlign,\n columnOrTableParent,\n setColumnWidth,\n setColumnForcedProps,\n setColumnRenders,\n getPropsData,\n getColumnElIndex,\n }\n}\n\nexport default useRender\n"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ const TableV2Header = defineComponent({
28
28
  const scrollToLeft = (left) => {
29
29
  const headerEl = unref(headerRef);
30
30
  nextTick(() => {
31
- headerEl == null ? void 0 : headerEl.scroll({
31
+ (headerEl == null ? void 0 : headerEl.scroll) && headerEl.scroll({
32
32
  left
33
33
  });
34
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"header.mjs","sources":["../../../../../../../packages/components/table-v2/src/components/header.tsx"],"sourcesContent":["import { computed, defineComponent, nextTick, ref, unref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ensureArray } from '@element-plus/utils'\nimport { tableV2HeaderProps } from '../header'\nimport { enforceUnit } from '../utils'\n\nimport type { CSSProperties, UnwrapRef } from 'vue'\nimport type { TableV2HeaderProps } from '../header'\nimport type { UseColumnsReturn } from '../composables/use-columns'\n\nconst COMPONENT_NAME = 'ElTableV2Header'\nconst TableV2Header = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2HeaderProps,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n\n const headerRef = ref<HTMLElement>()\n\n const headerStyle = computed(() =>\n enforceUnit({\n width: props.width,\n height: props.height,\n })\n )\n\n const rowStyle = computed(() =>\n enforceUnit({\n width: props.rowWidth,\n height: props.height,\n })\n )\n\n const headerHeights = computed(() => ensureArray(unref(props.headerHeight)))\n\n const scrollToLeft = (left?: number) => {\n const headerEl = unref(headerRef)\n nextTick(() => {\n headerEl?.scroll({\n left,\n })\n })\n }\n\n const renderFixedRows = () => {\n const fixedRowClassName = ns.e('fixed-header-row')\n\n const { columns, fixedHeaderData, rowHeight } = props\n\n return fixedHeaderData?.map((fixedRowData, fixedRowIndex) => {\n const style: CSSProperties = enforceUnit({\n height: rowHeight,\n width: '100%',\n })\n\n return slots.fixed?.({\n class: fixedRowClassName,\n columns,\n rowData: fixedRowData,\n rowIndex: -(fixedRowIndex + 1),\n style,\n })\n })\n }\n\n const renderDynamicRows = () => {\n const dynamicRowClassName = ns.e('dynamic-header-row')\n const { columns } = props\n\n return unref(headerHeights).map((rowHeight, rowIndex) => {\n const style: CSSProperties = enforceUnit({\n width: '100%',\n height: rowHeight,\n })\n\n return slots.dynamic?.({\n class: dynamicRowClassName,\n columns,\n headerIndex: rowIndex,\n style,\n })\n })\n }\n\n expose({\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft,\n })\n\n return () => {\n if (props.height <= 0) return\n\n return (\n <div ref={headerRef} class={props.class} style={unref(headerStyle)}>\n <div style={unref(rowStyle)} class={ns.e('header')}>\n {renderDynamicRows()}\n {renderFixedRows()}\n </div>\n </div>\n )\n }\n },\n})\n\nexport default TableV2Header\n\nexport type TableV2HeaderInstance = InstanceType<typeof TableV2Header> & {\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft: (left?: number) => void\n}\n\nexport type TableV2HeaderRendererParams = {\n class: string\n columns: TableV2HeaderProps['columns']\n columnsStyles: UnwrapRef<UseColumnsReturn['columnsStyles']>\n headerIndex: number\n style: CSSProperties\n}\n\nexport type TableV2HeaderRowRendererParams = {\n rowData: any\n rowIndex: number\n} & Omit<TableV2HeaderRendererParams, 'headerIndex'>\n"],"names":["COMPONENT_NAME","TableV2Header","defineComponent","name","props","tableV2HeaderProps","slots","expose","ns","headerRef","ref","computed","width","height","rowWidth","ensureArray","headerHeights","scrollToLeft","nextTick","left","renderFixedRows","rowHeight","fixedHeaderData","style","enforceUnit","class","fixedRowClassName","columns","rowData","rowIndex","renderDynamicRows","unref","headerIndex","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"header.mjs","sources":["../../../../../../../packages/components/table-v2/src/components/header.tsx"],"sourcesContent":["import { computed, defineComponent, nextTick, ref, unref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ensureArray } from '@element-plus/utils'\nimport { tableV2HeaderProps } from '../header'\nimport { enforceUnit } from '../utils'\n\nimport type { CSSProperties, UnwrapRef } from 'vue'\nimport type { TableV2HeaderProps } from '../header'\nimport type { UseColumnsReturn } from '../composables/use-columns'\n\nconst COMPONENT_NAME = 'ElTableV2Header'\nconst TableV2Header = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2HeaderProps,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n\n const headerRef = ref<HTMLElement>()\n\n const headerStyle = computed(() =>\n enforceUnit({\n width: props.width,\n height: props.height,\n })\n )\n\n const rowStyle = computed(() =>\n enforceUnit({\n width: props.rowWidth,\n height: props.height,\n })\n )\n\n const headerHeights = computed(() => ensureArray(unref(props.headerHeight)))\n\n const scrollToLeft = (left?: number) => {\n const headerEl = unref(headerRef)\n nextTick(() => {\n headerEl?.scroll &&\n headerEl.scroll({\n left,\n })\n })\n }\n\n const renderFixedRows = () => {\n const fixedRowClassName = ns.e('fixed-header-row')\n\n const { columns, fixedHeaderData, rowHeight } = props\n\n return fixedHeaderData?.map((fixedRowData, fixedRowIndex) => {\n const style: CSSProperties = enforceUnit({\n height: rowHeight,\n width: '100%',\n })\n\n return slots.fixed?.({\n class: fixedRowClassName,\n columns,\n rowData: fixedRowData,\n rowIndex: -(fixedRowIndex + 1),\n style,\n })\n })\n }\n\n const renderDynamicRows = () => {\n const dynamicRowClassName = ns.e('dynamic-header-row')\n const { columns } = props\n\n return unref(headerHeights).map((rowHeight, rowIndex) => {\n const style: CSSProperties = enforceUnit({\n width: '100%',\n height: rowHeight,\n })\n\n return slots.dynamic?.({\n class: dynamicRowClassName,\n columns,\n headerIndex: rowIndex,\n style,\n })\n })\n }\n\n expose({\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft,\n })\n\n return () => {\n if (props.height <= 0) return\n\n return (\n <div ref={headerRef} class={props.class} style={unref(headerStyle)}>\n <div style={unref(rowStyle)} class={ns.e('header')}>\n {renderDynamicRows()}\n {renderFixedRows()}\n </div>\n </div>\n )\n }\n },\n})\n\nexport default TableV2Header\n\nexport type TableV2HeaderInstance = InstanceType<typeof TableV2Header> & {\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft: (left?: number) => void\n}\n\nexport type TableV2HeaderRendererParams = {\n class: string\n columns: TableV2HeaderProps['columns']\n columnsStyles: UnwrapRef<UseColumnsReturn['columnsStyles']>\n headerIndex: number\n style: CSSProperties\n}\n\nexport type TableV2HeaderRowRendererParams = {\n rowData: any\n rowIndex: number\n} & Omit<TableV2HeaderRendererParams, 'headerIndex'>\n"],"names":["COMPONENT_NAME","TableV2Header","defineComponent","name","props","tableV2HeaderProps","slots","expose","ns","headerRef","ref","computed","width","height","rowWidth","ensureArray","headerHeights","scrollToLeft","nextTick","headerEl","left","renderFixedRows","rowHeight","fixedHeaderData","style","enforceUnit","class","fixedRowClassName","columns","rowData","rowIndex","renderDynamicRows","unref","headerIndex","_createVNode"],"mappings":"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"}
@@ -217,13 +217,16 @@ const TableV2 = defineComponent({
217
217
  const tableSlots = {
218
218
  row: (props2) => createVNode(RowRenderer, mergeProps(props2, tableRowProps), {
219
219
  row: slots.row,
220
- cell: (props3) => slots.cell ? createVNode(CellRenderer, mergeProps(props3, tableCellProps, {
221
- "style": _columnsStyles[props3.column.key]
222
- }), {
223
- default: () => [slots.cell]
224
- }) : createVNode(CellRenderer, mergeProps(props3, tableCellProps, {
225
- "style": _columnsStyles[props3.column.key]
226
- }), null)
220
+ cell: (props3) => {
221
+ let _slot;
222
+ return slots.cell ? createVNode(CellRenderer, mergeProps(props3, tableCellProps, {
223
+ "style": _columnsStyles[props3.column.key]
224
+ }), _isSlot(_slot = slots.cell()) ? _slot : {
225
+ default: () => [_slot]
226
+ }) : createVNode(CellRenderer, mergeProps(props3, tableCellProps, {
227
+ "style": _columnsStyles[props3.column.key]
228
+ }), null);
229
+ }
227
230
  }),
228
231
  header: (props2) => createVNode(HeaderRenderer, mergeProps(props2, tableHeaderProps), {
229
232
  header: slots.header,
@@ -1 +1 @@
1
- {"version":3,"file":"table-v2.mjs","sources":["../../../../../../packages/components/table-v2/src/table-v2.tsx"],"sourcesContent":["// @ts-nocheck\nimport { defineComponent, provide, unref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useTable } from './use-table'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2Props } from './table'\n// renderers\nimport MainTable from './renderers/main-table'\nimport LeftTable from './renderers/left-table'\nimport RightTable from './renderers/right-table'\nimport Row from './renderers/row'\nimport Cell from './renderers/cell'\nimport Header from './renderers/header'\nimport HeaderCell from './renderers/header-cell'\nimport Footer from './renderers/footer'\nimport Empty from './renderers/empty'\nimport Overlay from './renderers/overlay'\n\nimport type { TableGridRowSlotParams } from './table-grid'\nimport type { ScrollStrategy } from './composables/use-scrollbar'\nimport type {\n TableV2HeaderRendererParams,\n TableV2HeaderRowCellRendererParams,\n TableV2RowCellRenderParam,\n} from './components'\n\nconst COMPONENT_NAME = 'ElTableV2'\n\nconst TableV2 = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2Props,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n\n const {\n columnsStyles,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n mainColumns,\n mainTableHeight,\n fixedTableHeight,\n leftTableWidth,\n rightTableWidth,\n data,\n depthMap,\n expandedRowKeys,\n hasFixedColumns,\n hoveringRowKey,\n mainTableRef,\n leftTableRef,\n rightTableRef,\n isDynamic,\n isResetting,\n isScrolling,\n\n bodyWidth,\n emptyStyle,\n rootStyle,\n headerWidth,\n footerHeight,\n\n showEmpty,\n\n // exposes\n scrollTo,\n scrollToLeft,\n scrollToTop,\n scrollToRow,\n\n getRowHeight,\n onColumnSorted,\n onRowHeightChange,\n onRowHovered,\n onRowExpanded,\n onRowsRendered,\n onScroll,\n onVerticalScroll,\n } = useTable(props)\n\n expose({\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo,\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft,\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n })\n\n provide(TableV2InjectionKey, {\n ns,\n isResetting,\n hoveringRowKey,\n isScrolling,\n })\n\n return () => {\n const {\n cache,\n cellProps,\n estimatedRowHeight,\n expandColumnKey,\n fixedData,\n headerHeight,\n headerClass,\n headerProps,\n headerCellProps,\n sortBy,\n sortState,\n rowHeight,\n rowClass,\n rowEventHandlers,\n rowKey,\n rowProps,\n scrollbarAlwaysOn,\n indentSize,\n iconSize,\n useIsScrolling,\n vScrollbarSize,\n width,\n } = props\n\n const _data = unref(data)\n\n const mainTableProps = {\n cache,\n class: ns.e('main'),\n columns: unref(mainColumns),\n data: _data,\n fixedData,\n estimatedRowHeight,\n bodyWidth: unref(bodyWidth),\n headerHeight,\n headerWidth: unref(headerWidth),\n height: unref(mainTableHeight),\n mainTableRef,\n rowKey,\n rowHeight,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width,\n getRowHeight,\n onRowsRendered,\n onScroll,\n }\n\n const leftColumnsWidth = unref(leftTableWidth)\n const _fixedTableHeight = unref(fixedTableHeight)\n\n const leftTableProps = {\n cache,\n class: ns.e('left'),\n columns: unref(fixedColumnsOnLeft),\n data: _data,\n estimatedRowHeight,\n leftTableRef,\n rowHeight,\n bodyWidth: leftColumnsWidth,\n headerWidth: leftColumnsWidth,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width: leftColumnsWidth,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n\n const rightColumnsWidth = unref(rightTableWidth)\n const rightColumnsWidthWithScrollbar = rightColumnsWidth + vScrollbarSize\n\n const rightTableProps = {\n cache,\n class: ns.e('right'),\n columns: unref(fixedColumnsOnRight),\n data: _data,\n estimatedRowHeight,\n rightTableRef,\n rowHeight,\n bodyWidth: rightColumnsWidthWithScrollbar,\n headerWidth: rightColumnsWidthWithScrollbar,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n width: rightColumnsWidthWithScrollbar,\n style: `--${unref(\n ns.namespace\n )}-table-scrollbar-size: ${vScrollbarSize}px`,\n useIsScrolling,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n const _columnsStyles = unref(columnsStyles)\n\n const tableRowProps = {\n ns,\n depthMap: unref(depthMap),\n columnsStyles: _columnsStyles,\n expandColumnKey,\n expandedRowKeys: unref(expandedRowKeys),\n estimatedRowHeight,\n hasFixedColumns: unref(hasFixedColumns),\n hoveringRowKey: unref(hoveringRowKey),\n rowProps,\n rowClass,\n rowKey,\n rowEventHandlers,\n onRowHovered,\n onRowExpanded,\n onRowHeightChange,\n }\n\n const tableCellProps = {\n cellProps,\n expandColumnKey,\n indentSize,\n iconSize,\n rowKey,\n expandedRowKeys: unref(expandedRowKeys),\n ns,\n }\n\n const tableHeaderProps = {\n ns,\n headerClass,\n headerProps,\n columnsStyles: _columnsStyles,\n }\n\n const tableHeaderCellProps = {\n ns,\n\n sortBy,\n sortState,\n headerCellProps,\n onColumnSorted,\n }\n\n const tableSlots = {\n row: (props: TableGridRowSlotParams) => (\n <Row {...props} {...tableRowProps}>\n {{\n row: slots.row,\n cell: (props: TableV2RowCellRenderParam) =>\n slots.cell ? (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key]}\n >\n {slots.cell}\n </Cell>\n ) : (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key]}\n />\n ),\n }}\n </Row>\n ),\n header: (props: TableV2HeaderRendererParams) => (\n <Header {...props} {...tableHeaderProps}>\n {{\n header: slots.header,\n cell: (props: TableV2HeaderRowCellRendererParams) =>\n slots['header-cell'] ? (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key]}\n >\n {slots['header-cell']}\n </HeaderCell>\n ) : (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key]}\n />\n ),\n }}\n </Header>\n ),\n }\n\n const rootKls = [\n props.class,\n ns.b(),\n ns.e('root'),\n {\n [ns.is('dynamic')]: unref(isDynamic),\n },\n ]\n\n const footerProps = {\n class: ns.e('footer'),\n style: unref(footerHeight),\n }\n\n return (\n <div class={rootKls} style={unref(rootStyle)}>\n <MainTable {...mainTableProps}>{tableSlots}</MainTable>\n <LeftTable {...leftTableProps}>{tableSlots}</LeftTable>\n <RightTable {...rightTableProps}>{tableSlots}</RightTable>\n {slots.footer && (\n <Footer {...footerProps}>{{ default: slots.footer }}</Footer>\n )}\n {unref(showEmpty) && (\n <Empty class={ns.e('empty')} style={unref(emptyStyle)}>\n {{ default: slots.empty }}\n </Empty>\n )}\n {slots.overlay && (\n <Overlay class={ns.e('overlay')}>\n {{ default: slots.overlay }}\n </Overlay>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableV2\n\nexport type TableV2Instance = InstanceType<typeof TableV2> & {\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo: (param: { scrollLeft?: number; scrollTop?: number }) => void\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft: (scrollLeft: number) => void\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop: (scrollTop: number) => void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy?: ScrollStrategy): void\n}\n"],"names":["Empty","Overlay","_isVNode","COMPONENT_NAME","TableV2","name","props","expose","columnsStyles","fixedColumnsOnLeft","fixedColumnsOnRight","mainColumns","mainTableHeight","fixedTableHeight","leftTableWidth","rightTableWidth","data","depthMap","expandedRowKeys","hasFixedColumns","hoveringRowKey","mainTableRef","leftTableRef","rightTableRef","isDynamic","isResetting","isScrolling","bodyWidth","emptyStyle","rootStyle","headerWidth","footerHeight","showEmpty","scrollTo","scrollToLeft","scrollToTop","scrollToRow","getRowHeight","onColumnSorted","onRowExpanded","onRowsRendered","onScroll","onVerticalScroll","useTable","cache","cellProps","estimatedRowHeight","expandColumnKey","fixedData","headerHeight","headerClass","headerProps","headerCellProps","sortBy","sortState","rowHeight","rowClass","rowEventHandlers","rowKey","rowProps","scrollbarAlwaysOn","indentSize","iconSize","useIsScrolling","vScrollbarSize","width","class","columns","unref","height","scrollbarStartGap","scrollbarEndGap","_data","style","tableRowProps","ns","_createVNode","Cell","_mergeProps","onRowHeightChange","Header","HeaderCell","tableHeaderProps","_columnsStyles","tableHeaderCellProps","row","slots","column","header","cell"],"mappings":"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"}
1
+ {"version":3,"file":"table-v2.mjs","sources":["../../../../../../packages/components/table-v2/src/table-v2.tsx"],"sourcesContent":["// @ts-nocheck\nimport { defineComponent, provide, unref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useTable } from './use-table'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2Props } from './table'\n// renderers\nimport MainTable from './renderers/main-table'\nimport LeftTable from './renderers/left-table'\nimport RightTable from './renderers/right-table'\nimport Row from './renderers/row'\nimport Cell from './renderers/cell'\nimport Header from './renderers/header'\nimport HeaderCell from './renderers/header-cell'\nimport Footer from './renderers/footer'\nimport Empty from './renderers/empty'\nimport Overlay from './renderers/overlay'\n\nimport type { TableGridRowSlotParams } from './table-grid'\nimport type { ScrollStrategy } from './composables/use-scrollbar'\nimport type {\n TableV2HeaderRendererParams,\n TableV2HeaderRowCellRendererParams,\n TableV2RowCellRenderParam,\n} from './components'\n\nconst COMPONENT_NAME = 'ElTableV2'\n\nconst TableV2 = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2Props,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n\n const {\n columnsStyles,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n mainColumns,\n mainTableHeight,\n fixedTableHeight,\n leftTableWidth,\n rightTableWidth,\n data,\n depthMap,\n expandedRowKeys,\n hasFixedColumns,\n hoveringRowKey,\n mainTableRef,\n leftTableRef,\n rightTableRef,\n isDynamic,\n isResetting,\n isScrolling,\n\n bodyWidth,\n emptyStyle,\n rootStyle,\n headerWidth,\n footerHeight,\n\n showEmpty,\n\n // exposes\n scrollTo,\n scrollToLeft,\n scrollToTop,\n scrollToRow,\n\n getRowHeight,\n onColumnSorted,\n onRowHeightChange,\n onRowHovered,\n onRowExpanded,\n onRowsRendered,\n onScroll,\n onVerticalScroll,\n } = useTable(props)\n\n expose({\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo,\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft,\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n })\n\n provide(TableV2InjectionKey, {\n ns,\n isResetting,\n hoveringRowKey,\n isScrolling,\n })\n\n return () => {\n const {\n cache,\n cellProps,\n estimatedRowHeight,\n expandColumnKey,\n fixedData,\n headerHeight,\n headerClass,\n headerProps,\n headerCellProps,\n sortBy,\n sortState,\n rowHeight,\n rowClass,\n rowEventHandlers,\n rowKey,\n rowProps,\n scrollbarAlwaysOn,\n indentSize,\n iconSize,\n useIsScrolling,\n vScrollbarSize,\n width,\n } = props\n\n const _data = unref(data)\n\n const mainTableProps = {\n cache,\n class: ns.e('main'),\n columns: unref(mainColumns),\n data: _data,\n fixedData,\n estimatedRowHeight,\n bodyWidth: unref(bodyWidth),\n headerHeight,\n headerWidth: unref(headerWidth),\n height: unref(mainTableHeight),\n mainTableRef,\n rowKey,\n rowHeight,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width,\n getRowHeight,\n onRowsRendered,\n onScroll,\n }\n\n const leftColumnsWidth = unref(leftTableWidth)\n const _fixedTableHeight = unref(fixedTableHeight)\n\n const leftTableProps = {\n cache,\n class: ns.e('left'),\n columns: unref(fixedColumnsOnLeft),\n data: _data,\n estimatedRowHeight,\n leftTableRef,\n rowHeight,\n bodyWidth: leftColumnsWidth,\n headerWidth: leftColumnsWidth,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width: leftColumnsWidth,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n\n const rightColumnsWidth = unref(rightTableWidth)\n const rightColumnsWidthWithScrollbar = rightColumnsWidth + vScrollbarSize\n\n const rightTableProps = {\n cache,\n class: ns.e('right'),\n columns: unref(fixedColumnsOnRight),\n data: _data,\n estimatedRowHeight,\n rightTableRef,\n rowHeight,\n bodyWidth: rightColumnsWidthWithScrollbar,\n headerWidth: rightColumnsWidthWithScrollbar,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n width: rightColumnsWidthWithScrollbar,\n style: `--${unref(\n ns.namespace\n )}-table-scrollbar-size: ${vScrollbarSize}px`,\n useIsScrolling,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n const _columnsStyles = unref(columnsStyles)\n\n const tableRowProps = {\n ns,\n depthMap: unref(depthMap),\n columnsStyles: _columnsStyles,\n expandColumnKey,\n expandedRowKeys: unref(expandedRowKeys),\n estimatedRowHeight,\n hasFixedColumns: unref(hasFixedColumns),\n hoveringRowKey: unref(hoveringRowKey),\n rowProps,\n rowClass,\n rowKey,\n rowEventHandlers,\n onRowHovered,\n onRowExpanded,\n onRowHeightChange,\n }\n\n const tableCellProps = {\n cellProps,\n expandColumnKey,\n indentSize,\n iconSize,\n rowKey,\n expandedRowKeys: unref(expandedRowKeys),\n ns,\n }\n\n const tableHeaderProps = {\n ns,\n headerClass,\n headerProps,\n columnsStyles: _columnsStyles,\n }\n\n const tableHeaderCellProps = {\n ns,\n\n sortBy,\n sortState,\n headerCellProps,\n onColumnSorted,\n }\n\n const tableSlots = {\n row: (props: TableGridRowSlotParams) => (\n <Row {...props} {...tableRowProps}>\n {{\n row: slots.row,\n cell: (props: TableV2RowCellRenderParam) =>\n slots.cell ? (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key]}\n >\n {slots.cell()}\n </Cell>\n ) : (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key]}\n />\n ),\n }}\n </Row>\n ),\n header: (props: TableV2HeaderRendererParams) => (\n <Header {...props} {...tableHeaderProps}>\n {{\n header: slots.header,\n cell: (props: TableV2HeaderRowCellRendererParams) =>\n slots['header-cell'] ? (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key]}\n >\n {slots['header-cell']}\n </HeaderCell>\n ) : (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key]}\n />\n ),\n }}\n </Header>\n ),\n }\n\n const rootKls = [\n props.class,\n ns.b(),\n ns.e('root'),\n {\n [ns.is('dynamic')]: unref(isDynamic),\n },\n ]\n\n const footerProps = {\n class: ns.e('footer'),\n style: unref(footerHeight),\n }\n\n return (\n <div class={rootKls} style={unref(rootStyle)}>\n <MainTable {...mainTableProps}>{tableSlots}</MainTable>\n <LeftTable {...leftTableProps}>{tableSlots}</LeftTable>\n <RightTable {...rightTableProps}>{tableSlots}</RightTable>\n {slots.footer && (\n <Footer {...footerProps}>{{ default: slots.footer }}</Footer>\n )}\n {unref(showEmpty) && (\n <Empty class={ns.e('empty')} style={unref(emptyStyle)}>\n {{ default: slots.empty }}\n </Empty>\n )}\n {slots.overlay && (\n <Overlay class={ns.e('overlay')}>\n {{ default: slots.overlay }}\n </Overlay>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableV2\n\nexport type TableV2Instance = InstanceType<typeof TableV2> & {\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo: (param: { scrollLeft?: number; scrollTop?: number }) => void\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft: (scrollLeft: number) => void\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop: (scrollTop: number) => void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy?: ScrollStrategy): void\n}\n"],"names":["Empty","Overlay","_isVNode","COMPONENT_NAME","TableV2","name","props","expose","columnsStyles","fixedColumnsOnLeft","fixedColumnsOnRight","mainColumns","mainTableHeight","fixedTableHeight","leftTableWidth","rightTableWidth","data","depthMap","expandedRowKeys","hasFixedColumns","hoveringRowKey","mainTableRef","leftTableRef","rightTableRef","isDynamic","isResetting","isScrolling","bodyWidth","emptyStyle","rootStyle","headerWidth","footerHeight","showEmpty","scrollTo","scrollToLeft","scrollToTop","scrollToRow","getRowHeight","onColumnSorted","onRowExpanded","onRowsRendered","onScroll","onVerticalScroll","useTable","cache","cellProps","estimatedRowHeight","expandColumnKey","fixedData","headerHeight","headerClass","headerProps","headerCellProps","sortBy","sortState","rowHeight","rowClass","rowEventHandlers","rowKey","rowProps","scrollbarAlwaysOn","indentSize","iconSize","useIsScrolling","vScrollbarSize","width","class","columns","unref","height","scrollbarStartGap","scrollbarEndGap","_data","style","tableRowProps","ns","_createVNode","Cell","_mergeProps","onRowHeightChange","Header","HeaderCell","tableHeaderProps","tableHeaderCellProps","row","slots","cell","_columnsStyles","column","header"],"mappings":"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"}
@@ -33,7 +33,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
33
33
  const sizeDir = sizeName === "width" ? "x" : "y";
34
34
  props.tabs.every((tab) => {
35
35
  var _a, _b, _c, _d;
36
- const $el = (_b = (_a = instance.parent) == null ? void 0 : _a.refs) == null ? void 0 : _b[`tab-${tab.paneName}`];
36
+ const $el = (_b = (_a = instance.parent) == null ? void 0 : _a.refs) == null ? void 0 : _b[`tab-${tab.uid}`];
37
37
  if (!$el)
38
38
  return false;
39
39
  if (!tab.active) {
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-bar.vue"],"sourcesContent":["<template>\n <div\n ref=\"barRef\"\n :class=\"[ns.e('active-bar'), ns.is(rootTabs.props.tabPosition)]\"\n :style=\"barStyle\"\n />\n</template>\n<script lang=\"ts\" setup>\n// @ts-nocheck\nimport { getCurrentInstance, inject, nextTick, ref, watch } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { capitalize, throwError } from '@element-plus/utils'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabBarProps } from './tab-bar'\n\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElTabBar'\ndefineOptions({\n name: 'ElTabBar',\n})\nconst props = defineProps(tabBarProps)\n\nconst instance = getCurrentInstance()!\nconst rootTabs = inject(tabsRootContextKey)\nif (!rootTabs) throwError(COMPONENT_NAME, '<el-tabs><el-tab-bar /></el-tabs>')\n\nconst ns = useNamespace('tabs')\n\nconst barRef = ref<HTMLDivElement>()\nconst barStyle = ref<CSSProperties>()\n\nconst getBarStyle = (): CSSProperties => {\n let offset = 0\n let tabSize = 0\n\n const sizeName = ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n const sizeDir = sizeName === 'width' ? 'x' : 'y'\n\n props.tabs.every((tab) => {\n const $el = instance.parent?.refs?.[`tab-${tab.paneName}`] as HTMLElement\n if (!$el) return false\n\n if (!tab.active) {\n return true\n }\n\n tabSize = $el[`client${capitalize(sizeName)}`]\n const position = sizeDir === 'x' ? 'left' : 'top'\n offset =\n $el.getBoundingClientRect()[position] -\n ($el.parentElement?.getBoundingClientRect()[position] ?? 0)\n const tabStyles = window.getComputedStyle($el)\n\n if (sizeName === 'width') {\n if (props.tabs.length > 1) {\n tabSize -=\n Number.parseFloat(tabStyles.paddingLeft) +\n Number.parseFloat(tabStyles.paddingRight)\n }\n offset += Number.parseFloat(tabStyles.paddingLeft)\n }\n return false\n })\n\n return {\n [sizeName]: `${tabSize}px`,\n transform: `translate${capitalize(sizeDir)}(${offset}px)`,\n }\n}\n\nconst update = () => (barStyle.value = getBarStyle())\n\nwatch(\n () => props.tabs,\n async () => {\n await nextTick()\n update()\n },\n { immediate: true }\n)\nuseResizeObserver(barRef, () => update())\n\ndefineExpose({\n /** @description tab root html element */\n ref: barRef,\n /** @description method to manually update tab bar style */\n update,\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tab-bar2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-bar.vue"],"sourcesContent":["<template>\n <div\n ref=\"barRef\"\n :class=\"[ns.e('active-bar'), ns.is(rootTabs.props.tabPosition)]\"\n :style=\"barStyle\"\n />\n</template>\n<script lang=\"ts\" setup>\n// @ts-nocheck\nimport { getCurrentInstance, inject, nextTick, ref, watch } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { capitalize, throwError } from '@element-plus/utils'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabBarProps } from './tab-bar'\n\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElTabBar'\ndefineOptions({\n name: 'ElTabBar',\n})\nconst props = defineProps(tabBarProps)\n\nconst instance = getCurrentInstance()!\nconst rootTabs = inject(tabsRootContextKey)\nif (!rootTabs) throwError(COMPONENT_NAME, '<el-tabs><el-tab-bar /></el-tabs>')\n\nconst ns = useNamespace('tabs')\n\nconst barRef = ref<HTMLDivElement>()\nconst barStyle = ref<CSSProperties>()\n\nconst getBarStyle = (): CSSProperties => {\n let offset = 0\n let tabSize = 0\n\n const sizeName = ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n const sizeDir = sizeName === 'width' ? 'x' : 'y'\n\n props.tabs.every((tab) => {\n const $el = instance.parent?.refs?.[`tab-${tab.uid}`] as HTMLElement\n if (!$el) return false\n\n if (!tab.active) {\n return true\n }\n\n tabSize = $el[`client${capitalize(sizeName)}`]\n const position = sizeDir === 'x' ? 'left' : 'top'\n offset =\n $el.getBoundingClientRect()[position] -\n ($el.parentElement?.getBoundingClientRect()[position] ?? 0)\n const tabStyles = window.getComputedStyle($el)\n\n if (sizeName === 'width') {\n if (props.tabs.length > 1) {\n tabSize -=\n Number.parseFloat(tabStyles.paddingLeft) +\n Number.parseFloat(tabStyles.paddingRight)\n }\n offset += Number.parseFloat(tabStyles.paddingLeft)\n }\n return false\n })\n\n return {\n [sizeName]: `${tabSize}px`,\n transform: `translate${capitalize(sizeDir)}(${offset}px)`,\n }\n}\n\nconst update = () => (barStyle.value = getBarStyle())\n\nwatch(\n () => props.tabs,\n async () => {\n await nextTick()\n update()\n },\n { immediate: true }\n)\nuseResizeObserver(barRef, () => update())\n\ndefineExpose({\n /** @description tab root html element */\n ref: barRef,\n /** @description method to manually update tab bar style */\n update,\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -216,6 +216,7 @@ const TabNav = defineComponent({
216
216
  })])] : null;
217
217
  const tabs = props.panes.map((pane, index) => {
218
218
  var _a, _b, _c, _d;
219
+ const uid = pane.uid;
219
220
  const disabled = pane.props.disabled;
220
221
  const tabName = (_b = (_a = pane.props.name) != null ? _a : pane.index) != null ? _b : `${index}`;
221
222
  const closable = !disabled && (pane.isClosable || props.editable);
@@ -229,10 +230,10 @@ const TabNav = defineComponent({
229
230
  const tabLabelContent = ((_d = (_c = pane.slots).label) == null ? void 0 : _d.call(_c)) || pane.props.label;
230
231
  const tabindex = !disabled && pane.active ? 0 : -1;
231
232
  return createVNode("div", {
232
- "ref": `tab-${tabName}`,
233
+ "ref": `tab-${uid}`,
233
234
  "class": [ns.e("item"), ns.is(rootTabs.props.tabPosition), ns.is("active", pane.active), ns.is("disabled", disabled), ns.is("closable", closable), ns.is("focus", isFocus.value)],
234
235
  "id": `tab-${tabName}`,
235
- "key": `tab-${tabName}`,
236
+ "key": `tab-${uid}`,
236
237
  "aria-controls": `pane-${tabName}`,
237
238
  "role": "tab",
238
239
  "aria-selected": pane.active,
@@ -1 +1 @@
1
- {"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\n throwError,\n} from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-plus/tokens'\nimport type { TabPanelName } from './tabs'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n onTabClick: {\n type: definePropType<\n (tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void\n >(Function),\n default: NOOP,\n },\n onTabRemove: {\n type: definePropType<(tab: TabsPaneContext, ev: Event) => void>(Function),\n default: NOOP,\n },\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n\n setup(props, { expose }) {\n const vm = getCurrentInstance()!\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n const currentOffset = navOffset.value\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]:not(.is-disabled)'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus() // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n watch(\n () => props.panes,\n () => vm.update(),\n { flush: 'post' }\n )\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable = !disabled && (pane.isClosable || props.editable)\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onClick={(ev: MouseEvent) => props.onTabRemove(pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex = !disabled && pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${tabName}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${tabName}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n props.onTabClick(pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n props.onTabRemove(pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !props.type ? <TabBar tabs={[...props.panes]} /> : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav>\nexport default TabNav\n"],"names":["TabBar","tabNavProps","panes","type","definePropType","Array","default","currentName","String","editable","Boolean","onTabClick","onTabRemove","values","stretch","COMPONENT_NAME","TabNav","defineComponent","name","props","expose","vm","getCurrentInstance","throwError","ns","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","scrollable","navOffset","isFocus","focusable","sizeName","computed","dir","transform","scrollPrev","value","containerSize","newOffset","currentOffset","scrollNext","navSize","capitalize","scrollToActiveTab","nav","activeTab","activeTabBounding","navScrollBounding","maxOffset","isHorizontal","right","top","bottom","update","prev","changeTab","code","up","EVENT_CODE","currentIndex","nextIndex","tabList","focus","setFocus","watch","_createVNode","useResizeObserver","setTimeout","onUpdated","removeFocus","flush","scrollBtn","map","pane","disabled","isClosable","index","btnClose","closable","ev","tabName","is","rootTabs","tabLabelContent"],"mappings":"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"}
1
+ {"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\n throwError,\n} from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-plus/tokens'\nimport type { TabPanelName } from './tabs'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n onTabClick: {\n type: definePropType<\n (tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void\n >(Function),\n default: NOOP,\n },\n onTabRemove: {\n type: definePropType<(tab: TabsPaneContext, ev: Event) => void>(Function),\n default: NOOP,\n },\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n\n setup(props, { expose }) {\n const vm = getCurrentInstance()!\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n const currentOffset = navOffset.value\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]:not(.is-disabled)'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus() // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n watch(\n () => props.panes,\n () => vm.update(),\n { flush: 'post' }\n )\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const uid = pane.uid\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable = !disabled && (pane.isClosable || props.editable)\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onClick={(ev: MouseEvent) => props.onTabRemove(pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex = !disabled && pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${uid}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n props.onTabClick(pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n props.onTabRemove(pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !props.type ? <TabBar tabs={[...props.panes]} /> : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav>\nexport default TabNav\n"],"names":["TabBar","tabNavProps","panes","type","definePropType","Array","default","currentName","String","editable","Boolean","onTabClick","onTabRemove","values","stretch","COMPONENT_NAME","TabNav","defineComponent","name","props","expose","vm","getCurrentInstance","throwError","ns","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","scrollable","navOffset","isFocus","focusable","sizeName","computed","dir","transform","scrollPrev","value","containerSize","newOffset","currentOffset","scrollNext","navSize","capitalize","scrollToActiveTab","nav","activeTab","activeTabBounding","navScrollBounding","maxOffset","isHorizontal","right","top","bottom","update","prev","changeTab","code","up","EVENT_CODE","currentIndex","nextIndex","tabList","focus","setFocus","watch","_createVNode","useResizeObserver","setTimeout","onUpdated","removeFocus","flush","e","is","pane","uid","disabled","isClosable","index","btnClose","closable","ev","rootTabs","tabLabelContent"],"mappings":"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"}
@@ -47,7 +47,7 @@ const useTree = (props, { attrs, slots, emit }, {
47
47
  ...attrs,
48
48
  nodeKey: key,
49
49
  expandOnClickNode: computed(() => {
50
- return !props.checkStrictly;
50
+ return !props.checkStrictly && props.expandOnClickNode;
51
51
  }),
52
52
  defaultExpandedKeys: computed(() => {
53
53
  return props.defaultExpandedKeys ? props.defaultExpandedKeys.concat(defaultExpandedParentKeys) : defaultExpandedParentKeys;
@@ -77,7 +77,7 @@ const useTree = (props, { attrs, slots, emit }, {
77
77
  const option = (_b = select.value) == null ? void 0 : _b.options.get(getNodeValByProp("value", data));
78
78
  (_c = select.value) == null ? void 0 : _c.handleOptionSelect(option, true);
79
79
  }
80
- } else {
80
+ } else if (props.expandOnClickNode) {
81
81
  e.proxy.handleExpandIconClick();
82
82
  }
83
83
  },
@@ -1 +1 @@
1
- {"version":3,"file":"tree.mjs","sources":["../../../../../../packages/components/tree-select/src/tree.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, nextTick, toRefs, watch } from 'vue'\nimport { isEqual, pick } from 'lodash-unified'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { isFunction } from '@element-plus/utils'\nimport ElTree from '@element-plus/components/tree'\nimport TreeSelectOption from './tree-select-option'\nimport { isValidArray, isValidValue, toValidArray, treeFind } from './utils'\nimport type { Ref } from 'vue'\nimport type ElSelect from '@element-plus/components/select'\nimport type Node from '@element-plus/components/tree/src/model/node'\nimport type { TreeNodeData } from '@element-plus/components/tree/src/tree.type'\n\nexport const useTree = (\n props,\n { attrs, slots, emit },\n {\n select,\n tree,\n key,\n }: {\n select: Ref<InstanceType<typeof ElSelect> | undefined>\n tree: Ref<InstanceType<typeof ElTree> | undefined>\n key: Ref<string>\n }\n) => {\n watch(\n () => props.modelValue,\n () => {\n if (props.showCheckbox) {\n nextTick(() => {\n const treeInstance = tree.value\n if (\n treeInstance &&\n !isEqual(\n treeInstance.getCheckedKeys(),\n toValidArray(props.modelValue)\n )\n ) {\n treeInstance.setCheckedKeys(toValidArray(props.modelValue))\n }\n })\n }\n },\n {\n immediate: true,\n deep: true,\n }\n )\n\n const propsMap = computed(() => ({\n value: key.value,\n ...props.props,\n }))\n\n const getNodeValByProp = (\n prop: 'value' | 'label' | 'children' | 'disabled' | 'isLeaf',\n data: TreeNodeData\n ) => {\n const propVal = propsMap.value[prop]\n if (isFunction(propVal)) {\n return propVal(\n data,\n tree.value?.getNode(getNodeValByProp('value', data)) as Node\n )\n } else {\n return data[propVal as string]\n }\n }\n\n const defaultExpandedParentKeys = toValidArray(props.modelValue)\n .map((value) => {\n return treeFind(\n props.data || [],\n (data) => getNodeValByProp('value', data) === value,\n (data) => getNodeValByProp('children', data),\n (data, index, array, parent) =>\n parent && getNodeValByProp('value', parent)\n )\n })\n .filter((item) => isValidValue(item))\n\n return {\n ...pick(toRefs(props), Object.keys(ElTree.props)),\n ...attrs,\n nodeKey: key,\n\n // only expand on click node when the `check-strictly` is false\n expandOnClickNode: computed(() => {\n return !props.checkStrictly\n }),\n\n // show current selected node only first time,\n // fix the problem of expanding multiple nodes when checking multiple nodes\n defaultExpandedKeys: computed(() => {\n return props.defaultExpandedKeys\n ? props.defaultExpandedKeys.concat(defaultExpandedParentKeys)\n : defaultExpandedParentKeys\n }),\n\n renderContent: (h, { node, data, store }) => {\n return h(\n TreeSelectOption,\n {\n value: getNodeValByProp('value', data),\n label: getNodeValByProp('label', data),\n disabled: getNodeValByProp('disabled', data),\n },\n props.renderContent\n ? () => props.renderContent(h, { node, data, store })\n : slots.default\n ? () => slots.default({ node, data, store })\n : undefined\n )\n },\n filterNodeMethod: (value, data, node) => {\n if (props.filterNodeMethod)\n return props.filterNodeMethod(value, data, node)\n if (!value) return true\n return getNodeValByProp('label', data)?.includes(value)\n },\n onNodeClick: (data, node, e) => {\n attrs.onNodeClick?.(data, node, e)\n\n // `onCheck` is trigger when `checkOnClickNode`\n if (props.showCheckbox && props.checkOnClickNode) return\n\n // now `checkOnClickNode` is false, only no checkbox and `checkStrictly` or `isLeaf`\n if (!props.showCheckbox && (props.checkStrictly || node.isLeaf)) {\n if (!getNodeValByProp('disabled', data)) {\n const option = select.value?.options.get(\n getNodeValByProp('value', data)\n )\n select.value?.handleOptionSelect(option, true)\n }\n } else {\n e.proxy.handleExpandIconClick()\n }\n },\n onCheck: (data, params) => {\n attrs.onCheck?.(data, params)\n\n const dataValue = getNodeValByProp('value', data)\n if (props.checkStrictly) {\n emit(\n UPDATE_MODEL_EVENT,\n // Checking for changes may come from `check-on-node-click`\n props.multiple\n ? params.checkedKeys\n : params.checkedKeys.includes(dataValue)\n ? dataValue\n : undefined\n )\n }\n // only can select leaf node\n else {\n if (props.multiple) {\n emit(\n UPDATE_MODEL_EVENT,\n (tree.value as InstanceType<typeof ElTree>).getCheckedKeys(true)\n )\n } else {\n // select first leaf node when check parent\n const firstLeaf = treeFind(\n [data],\n (data) =>\n !isValidArray(getNodeValByProp('children', data)) &&\n !getNodeValByProp('disabled', data),\n (data) => getNodeValByProp('children', data)\n )\n const firstLeafKey = firstLeaf\n ? getNodeValByProp('value', firstLeaf)\n : undefined\n\n // unselect when any child checked\n const hasCheckedChild =\n isValidValue(props.modelValue) &&\n !!treeFind(\n [data],\n (data) => getNodeValByProp('value', data) === props.modelValue,\n (data) => getNodeValByProp('children', data)\n )\n\n emit(\n UPDATE_MODEL_EVENT,\n firstLeafKey === props.modelValue || hasCheckedChild\n ? undefined\n : firstLeafKey\n )\n }\n }\n },\n }\n}\n"],"names":["ElTree","TreeSelectOption"],"mappings":"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"}
1
+ {"version":3,"file":"tree.mjs","sources":["../../../../../../packages/components/tree-select/src/tree.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, nextTick, toRefs, watch } from 'vue'\nimport { isEqual, pick } from 'lodash-unified'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { isFunction } from '@element-plus/utils'\nimport ElTree from '@element-plus/components/tree'\nimport TreeSelectOption from './tree-select-option'\nimport { isValidArray, isValidValue, toValidArray, treeFind } from './utils'\nimport type { Ref } from 'vue'\nimport type ElSelect from '@element-plus/components/select'\nimport type Node from '@element-plus/components/tree/src/model/node'\nimport type { TreeNodeData } from '@element-plus/components/tree/src/tree.type'\n\nexport const useTree = (\n props,\n { attrs, slots, emit },\n {\n select,\n tree,\n key,\n }: {\n select: Ref<InstanceType<typeof ElSelect> | undefined>\n tree: Ref<InstanceType<typeof ElTree> | undefined>\n key: Ref<string>\n }\n) => {\n watch(\n () => props.modelValue,\n () => {\n if (props.showCheckbox) {\n nextTick(() => {\n const treeInstance = tree.value\n if (\n treeInstance &&\n !isEqual(\n treeInstance.getCheckedKeys(),\n toValidArray(props.modelValue)\n )\n ) {\n treeInstance.setCheckedKeys(toValidArray(props.modelValue))\n }\n })\n }\n },\n {\n immediate: true,\n deep: true,\n }\n )\n\n const propsMap = computed(() => ({\n value: key.value,\n ...props.props,\n }))\n\n const getNodeValByProp = (\n prop: 'value' | 'label' | 'children' | 'disabled' | 'isLeaf',\n data: TreeNodeData\n ) => {\n const propVal = propsMap.value[prop]\n if (isFunction(propVal)) {\n return propVal(\n data,\n tree.value?.getNode(getNodeValByProp('value', data)) as Node\n )\n } else {\n return data[propVal as string]\n }\n }\n\n const defaultExpandedParentKeys = toValidArray(props.modelValue)\n .map((value) => {\n return treeFind(\n props.data || [],\n (data) => getNodeValByProp('value', data) === value,\n (data) => getNodeValByProp('children', data),\n (data, index, array, parent) =>\n parent && getNodeValByProp('value', parent)\n )\n })\n .filter((item) => isValidValue(item))\n\n return {\n ...pick(toRefs(props), Object.keys(ElTree.props)),\n ...attrs,\n nodeKey: key,\n\n // only expand on click node when the `check-strictly` is false\n expandOnClickNode: computed(() => {\n return !props.checkStrictly && props.expandOnClickNode\n }),\n\n // show current selected node only first time,\n // fix the problem of expanding multiple nodes when checking multiple nodes\n defaultExpandedKeys: computed(() => {\n return props.defaultExpandedKeys\n ? props.defaultExpandedKeys.concat(defaultExpandedParentKeys)\n : defaultExpandedParentKeys\n }),\n\n renderContent: (h, { node, data, store }) => {\n return h(\n TreeSelectOption,\n {\n value: getNodeValByProp('value', data),\n label: getNodeValByProp('label', data),\n disabled: getNodeValByProp('disabled', data),\n },\n props.renderContent\n ? () => props.renderContent(h, { node, data, store })\n : slots.default\n ? () => slots.default({ node, data, store })\n : undefined\n )\n },\n filterNodeMethod: (value, data, node) => {\n if (props.filterNodeMethod)\n return props.filterNodeMethod(value, data, node)\n if (!value) return true\n return getNodeValByProp('label', data)?.includes(value)\n },\n onNodeClick: (data, node, e) => {\n attrs.onNodeClick?.(data, node, e)\n\n // `onCheck` is trigger when `checkOnClickNode`\n if (props.showCheckbox && props.checkOnClickNode) return\n\n // now `checkOnClickNode` is false, only no checkbox and `checkStrictly` or `isLeaf`\n if (!props.showCheckbox && (props.checkStrictly || node.isLeaf)) {\n if (!getNodeValByProp('disabled', data)) {\n const option = select.value?.options.get(\n getNodeValByProp('value', data)\n )\n select.value?.handleOptionSelect(option, true)\n }\n } else if (props.expandOnClickNode) {\n e.proxy.handleExpandIconClick()\n }\n },\n onCheck: (data, params) => {\n attrs.onCheck?.(data, params)\n\n const dataValue = getNodeValByProp('value', data)\n if (props.checkStrictly) {\n emit(\n UPDATE_MODEL_EVENT,\n // Checking for changes may come from `check-on-node-click`\n props.multiple\n ? params.checkedKeys\n : params.checkedKeys.includes(dataValue)\n ? dataValue\n : undefined\n )\n }\n // only can select leaf node\n else {\n if (props.multiple) {\n emit(\n UPDATE_MODEL_EVENT,\n (tree.value as InstanceType<typeof ElTree>).getCheckedKeys(true)\n )\n } else {\n // select first leaf node when check parent\n const firstLeaf = treeFind(\n [data],\n (data) =>\n !isValidArray(getNodeValByProp('children', data)) &&\n !getNodeValByProp('disabled', data),\n (data) => getNodeValByProp('children', data)\n )\n const firstLeafKey = firstLeaf\n ? getNodeValByProp('value', firstLeaf)\n : undefined\n\n // unselect when any child checked\n const hasCheckedChild =\n isValidValue(props.modelValue) &&\n !!treeFind(\n [data],\n (data) => getNodeValByProp('value', data) === props.modelValue,\n (data) => getNodeValByProp('children', data)\n )\n\n emit(\n UPDATE_MODEL_EVENT,\n firstLeafKey === props.modelValue || hasCheckedChild\n ? undefined\n : firstLeafKey\n )\n }\n }\n },\n }\n}\n"],"names":["ElTree","TreeSelectOption"],"mappings":"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"}
@@ -5,7 +5,7 @@ function useCheck(props, tree) {
5
5
  const checkedKeys = ref(/* @__PURE__ */ new Set());
6
6
  const indeterminateKeys = ref(/* @__PURE__ */ new Set());
7
7
  const { emit } = getCurrentInstance();
8
- watch(() => tree.value, () => {
8
+ watch([() => tree.value, () => props.defaultCheckedKeys], () => {
9
9
  return nextTick(() => {
10
10
  _setCheckedKeys(props.defaultCheckedKeys);
11
11
  });