element-pe 2.14.2-2 → 2.14.2-4

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 (679) hide show
  1. package/dist/index.full.js +35 -111
  2. package/dist/index.full.min.js +8 -8
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +4 -4
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +35 -111
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lo.js +1 -1
  140. package/dist/locale/lo.min.js +1 -1
  141. package/dist/locale/lo.min.mjs +1 -1
  142. package/dist/locale/lo.mjs +1 -1
  143. package/dist/locale/lt.js +1 -1
  144. package/dist/locale/lt.min.js +1 -1
  145. package/dist/locale/lt.min.mjs +1 -1
  146. package/dist/locale/lt.mjs +1 -1
  147. package/dist/locale/lv.js +1 -1
  148. package/dist/locale/lv.min.js +1 -1
  149. package/dist/locale/lv.min.mjs +1 -1
  150. package/dist/locale/lv.mjs +1 -1
  151. package/dist/locale/mg.js +1 -1
  152. package/dist/locale/mg.min.js +1 -1
  153. package/dist/locale/mg.min.mjs +1 -1
  154. package/dist/locale/mg.mjs +1 -1
  155. package/dist/locale/mn.js +1 -1
  156. package/dist/locale/mn.min.js +1 -1
  157. package/dist/locale/mn.min.mjs +1 -1
  158. package/dist/locale/mn.mjs +1 -1
  159. package/dist/locale/ms.js +1 -1
  160. package/dist/locale/ms.min.js +1 -1
  161. package/dist/locale/ms.min.mjs +1 -1
  162. package/dist/locale/ms.mjs +1 -1
  163. package/dist/locale/my.js +1 -1
  164. package/dist/locale/my.min.js +1 -1
  165. package/dist/locale/my.min.mjs +1 -1
  166. package/dist/locale/my.mjs +1 -1
  167. package/dist/locale/nb-no.js +1 -1
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.mjs +1 -1
  170. package/dist/locale/nb-no.mjs +1 -1
  171. package/dist/locale/nl.js +1 -1
  172. package/dist/locale/nl.min.js +1 -1
  173. package/dist/locale/nl.min.mjs +1 -1
  174. package/dist/locale/nl.mjs +1 -1
  175. package/dist/locale/no.js +1 -1
  176. package/dist/locale/no.min.js +1 -1
  177. package/dist/locale/no.min.mjs +1 -1
  178. package/dist/locale/no.mjs +1 -1
  179. package/dist/locale/pa.js +1 -1
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.mjs +1 -1
  182. package/dist/locale/pa.mjs +1 -1
  183. package/dist/locale/pl.js +1 -1
  184. package/dist/locale/pl.min.js +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +1 -1
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.mjs +1 -1
  190. package/dist/locale/pt-br.mjs +1 -1
  191. package/dist/locale/pt.js +1 -1
  192. package/dist/locale/pt.min.js +1 -1
  193. package/dist/locale/pt.min.mjs +1 -1
  194. package/dist/locale/pt.mjs +1 -1
  195. package/dist/locale/ro.js +1 -1
  196. package/dist/locale/ro.min.js +1 -1
  197. package/dist/locale/ro.min.mjs +1 -1
  198. package/dist/locale/ro.mjs +1 -1
  199. package/dist/locale/ru.js +1 -1
  200. package/dist/locale/ru.min.js +1 -1
  201. package/dist/locale/ru.min.mjs +1 -1
  202. package/dist/locale/ru.mjs +1 -1
  203. package/dist/locale/sk.js +1 -1
  204. package/dist/locale/sk.min.js +1 -1
  205. package/dist/locale/sk.min.mjs +1 -1
  206. package/dist/locale/sk.mjs +1 -1
  207. package/dist/locale/sl.js +1 -1
  208. package/dist/locale/sl.min.js +1 -1
  209. package/dist/locale/sl.min.mjs +1 -1
  210. package/dist/locale/sl.mjs +1 -1
  211. package/dist/locale/sr.js +1 -1
  212. package/dist/locale/sr.min.js +1 -1
  213. package/dist/locale/sr.min.mjs +1 -1
  214. package/dist/locale/sr.mjs +1 -1
  215. package/dist/locale/sv.js +1 -1
  216. package/dist/locale/sv.min.js +1 -1
  217. package/dist/locale/sv.min.mjs +1 -1
  218. package/dist/locale/sv.mjs +1 -1
  219. package/dist/locale/sw.js +1 -1
  220. package/dist/locale/sw.min.js +1 -1
  221. package/dist/locale/sw.min.mjs +1 -1
  222. package/dist/locale/sw.mjs +1 -1
  223. package/dist/locale/ta.js +1 -1
  224. package/dist/locale/ta.min.js +1 -1
  225. package/dist/locale/ta.min.mjs +1 -1
  226. package/dist/locale/ta.mjs +1 -1
  227. package/dist/locale/te.js +1 -1
  228. package/dist/locale/te.min.js +1 -1
  229. package/dist/locale/te.min.mjs +1 -1
  230. package/dist/locale/te.mjs +1 -1
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/component.mjs +4 -4
  276. package/es/components/affix/src/affix.d.ts +1 -1
  277. package/es/components/affix/src/affix.vue.d.ts +3 -3
  278. package/es/components/alert/src/alert.d.ts +1 -1
  279. package/es/components/alert/src/alert.vue.d.ts +2 -2
  280. package/es/components/anchor/src/anchor.d.ts +1 -1
  281. package/es/components/anchor/src/anchor.vue.d.ts +2 -2
  282. package/es/components/autocomplete/src/autocomplete.d.ts +4 -4
  283. package/es/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  284. package/es/components/avatar/src/avatar-group.d.ts +1 -1
  285. package/es/components/avatar/src/avatar.d.ts +1 -1
  286. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  287. package/es/components/badge/src/badge.vue.d.ts +1 -1
  288. package/es/components/button/src/button-group.d.ts +1 -1
  289. package/es/components/button/src/button-group.vue.d.ts +1 -1
  290. package/es/components/button/src/button.d.ts +1 -1
  291. package/es/components/button/src/button.vue.d.ts +3 -3
  292. package/es/components/button/src/use-button.d.ts +1 -1
  293. package/es/components/calendar/src/calendar.d.ts +1 -1
  294. package/es/components/carousel/src/carousel.vue.d.ts +3 -3
  295. package/es/components/cascader/src/cascader.d.ts +3 -3
  296. package/es/components/cascader/src/cascader.vue.d.ts +14 -14
  297. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs +2 -2
  298. package/es/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.mjs +1 -1
  299. package/es/components/checkbox/src/checkbox-button.vue.d.ts +3 -3
  300. package/es/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  301. package/es/components/checkbox/src/checkbox.d.ts +8 -8
  302. package/es/components/checkbox/src/checkbox.vue.d.ts +3 -3
  303. package/es/components/col/src/col.vue.d.ts +1 -1
  304. package/es/components/collapse/src/collapse.d.ts +1 -1
  305. package/es/components/color-picker/src/color-picker.vue.d.ts +9 -9
  306. package/es/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.mjs +1 -1
  307. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  308. package/es/components/config-provider/src/config-provider.d.ts +2 -2
  309. package/es/components/countdown/src/countdown.vue_vue_type_script_setup_true_lang.mjs +1 -1
  310. package/es/components/date-picker/src/date-picker.d.ts +13 -13
  311. package/es/components/date-picker/src/props.d.ts +1 -1
  312. package/es/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  313. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  314. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.mjs +1 -1
  315. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue_vue_type_script_setup_true_lang.mjs +1 -1
  316. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +2 -2
  317. package/es/components/date-picker-panel/src/panel-utils.d.ts +3 -3
  318. package/es/components/descriptions/src/description-item.d.ts +19 -19
  319. package/es/components/descriptions/src/description.vue.d.ts +1 -1
  320. package/es/components/dialog/src/dialog-content.vue.d.ts +1 -1
  321. package/es/components/dialog/src/dialog.vue.d.ts +4 -4
  322. package/es/components/divider/src/divider.d.ts +1 -1
  323. package/es/components/divider/src/divider.vue.d.ts +1 -1
  324. package/es/components/drawer/src/drawer.vue.d.ts +6 -6
  325. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  326. package/es/components/dropdown/src/dropdown.d.ts +3 -3
  327. package/es/components/dropdown/src/dropdown.vue.d.ts +63 -63
  328. package/es/components/form/src/form-item.d.ts +1 -1
  329. package/es/components/form/src/form.d.ts +2 -2
  330. package/es/components/image/src/image.vue.d.ts +4 -4
  331. package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  332. package/es/components/index.mjs +10 -10
  333. package/es/components/input/src/input.d.ts +3 -3
  334. package/es/components/input/src/input.vue.d.ts +7 -7
  335. package/es/components/input-number/src/input-number.d.ts +3 -3
  336. package/es/components/input-number/src/input-number.vue.d.ts +7 -7
  337. package/es/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.mjs +1 -1
  338. package/es/components/input-otp/src/input-otp.vue.d.ts +1 -1
  339. package/es/components/input-tag/src/input-tag.d.ts +2 -2
  340. package/es/components/input-tag/src/input-tag.vue.d.ts +11 -11
  341. package/es/components/link/src/link.d.ts +1 -1
  342. package/es/components/link/src/link.vue.d.ts +2 -2
  343. package/es/components/mention/src/mention.d.ts +4 -4
  344. package/es/components/mention/src/mention.vue.d.ts +3 -3
  345. package/es/components/menu/src/menu.d.ts +3 -3
  346. package/es/components/menu/src/menu.mjs +1 -1
  347. package/es/components/menu/src/sub-menu.d.ts +1 -1
  348. package/es/components/menu/src/utils/menu-item.mjs +1 -1
  349. package/es/components/menu/src/utils/submenu.mjs +1 -1
  350. package/es/components/message/src/instance.d.ts +1 -1
  351. package/es/components/message/src/message.d.ts +1 -1
  352. package/es/components/message/src/message.vue.d.ts +6 -6
  353. package/es/components/message-box/src/index.vue.d.ts +33 -33
  354. package/es/components/message-box/src/index.vue_vue_type_script_lang.mjs +1 -1
  355. package/es/components/notification/src/notification.d.ts +1 -1
  356. package/es/components/notification/src/notification.vue.d.ts +5 -5
  357. package/es/components/page-header/src/page-header.vue.d.ts +1 -1
  358. package/es/components/pagination/src/components/sizes.vue.d.ts +1 -1
  359. package/es/components/pagination/src/pagination.d.ts +3 -3
  360. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  361. package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  362. package/es/components/popover/src/popover.d.ts +1 -1
  363. package/es/components/popover/src/popover.vue.d.ts +8 -8
  364. package/es/components/popper/src/composables/use-content.d.ts +3 -3
  365. package/es/components/popper/src/content.vue.d.ts +5 -5
  366. package/es/components/popper/src/popper.d.ts +2 -2
  367. package/es/components/progress/src/progress.vue.d.ts +3 -3
  368. package/es/components/radio/src/radio-button.d.ts +3 -3
  369. package/es/components/radio/src/radio-button.vue.d.ts +1 -1
  370. package/es/components/radio/src/radio-group.vue.d.ts +4 -4
  371. package/es/components/radio/src/radio.d.ts +6 -6
  372. package/es/components/radio/src/radio.vue.d.ts +1 -1
  373. package/es/components/rate/src/rate.vue.d.ts +2 -2
  374. package/es/components/resizable-columns/index.d.ts +2 -2
  375. package/es/components/resizable-columns/src/resizable-column.vue.d.ts +1 -1
  376. package/es/components/result/src/result.vue.d.ts +1 -1
  377. package/es/components/row/src/row.d.ts +2 -2
  378. package/es/components/row/src/row.vue.d.ts +1 -1
  379. package/es/components/scrollbar/src/scrollbar.vue.d.ts +2 -2
  380. package/es/components/segmented/index.d.ts +1 -1
  381. package/es/components/segmented/src/segmented.d.ts +1 -1
  382. package/es/components/select/src/option.d.ts +2 -2
  383. package/es/components/select/src/option.vue.d.ts +5 -5
  384. package/es/components/select/src/select.d.ts +4 -4
  385. package/es/components/select/src/select.vue.d.ts +71 -71
  386. package/es/components/select/src/select.vue_vue_type_script_lang.mjs +1 -1
  387. package/es/components/select/src/useOption.d.ts +2 -2
  388. package/es/components/select/src/useSelect.d.ts +3 -3
  389. package/es/components/select-v2/src/defaults.d.ts +2 -2
  390. package/es/components/select-v2/src/select.vue.d.ts +54 -54
  391. package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs +1 -1
  392. package/es/components/slider/src/button.vue.d.ts +1 -1
  393. package/es/components/slider/src/slider.vue.d.ts +5 -5
  394. package/es/components/space/src/space.d.ts +3 -3
  395. package/es/components/splitter/src/split-bar.vue.d.ts +1 -1
  396. package/es/components/statistic/src/statistic.vue.d.ts +2 -2
  397. package/es/components/steps/src/item.vue.d.ts +1 -1
  398. package/es/components/steps/src/steps.vue.d.ts +1 -1
  399. package/es/components/switch/src/switch.vue.d.ts +2 -2
  400. package/es/components/table/src/filter-panel.vue.d.ts +49 -49
  401. package/es/components/table/src/store/helper.d.ts +0 -12
  402. package/es/components/table/src/store/index.d.ts +0 -24
  403. package/es/components/table/src/store/watcher.d.ts +0 -2
  404. package/es/components/table/src/store/watcher.mjs +0 -64
  405. package/es/components/table/src/store/watcher.mjs.map +1 -1
  406. package/es/components/table/src/table/defaults.d.ts +5 -5
  407. package/es/components/table/src/table/style-helper.d.ts +1 -1
  408. package/es/components/table/src/table/style-helper.mjs +0 -4
  409. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  410. package/es/components/table/src/table-body/defaults.d.ts +1 -2
  411. package/es/components/table/src/table-body/defaults.mjs +1 -2
  412. package/es/components/table/src/table-body/defaults.mjs.map +1 -1
  413. package/es/components/table/src/table-body/index.mjs +1 -1
  414. package/es/components/table/src/table-body/render-helper.mjs +2 -11
  415. package/es/components/table/src/table-body/render-helper.mjs.map +1 -1
  416. package/es/components/table/src/table-body/styles-helper.mjs.map +1 -1
  417. package/es/components/table/src/table-column/defaults.d.ts +2 -2
  418. package/es/components/table/src/table-footer/index.d.ts +1 -1
  419. package/es/components/table/src/table-header/index.d.ts +10 -10
  420. package/es/components/table/src/table-header/index.mjs +1 -1
  421. package/es/components/table/src/table-header/index.mjs.map +1 -1
  422. package/es/components/table/src/table.mjs.map +1 -1
  423. package/es/components/table/src/table.vue.d.ts +4 -17
  424. package/es/components/table/src/table.vue_vue_type_script_setup_true_lang.mjs +5 -7
  425. package/es/components/table/src/table.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  426. package/es/components/tabs/src/tab-pane.vue.d.ts +1 -1
  427. package/es/components/tabs/src/tabs.d.ts +5 -5
  428. package/es/components/tag/src/tag.d.ts +1 -1
  429. package/es/components/time-picker/src/common/picker.vue.d.ts +15 -15
  430. package/es/components/time-picker/src/common/props.d.ts +1 -1
  431. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_setup_true_lang.mjs +1 -1
  432. package/es/components/time-picker/src/time-picker.d.ts +13 -13
  433. package/es/components/time-select/src/time-select.vue.d.ts +7 -7
  434. package/es/components/timeline/src/timeline-item.d.ts +1 -1
  435. package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
  436. package/es/components/tooltip/src/content.vue.d.ts +4 -4
  437. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  438. package/es/components/tooltip/src/tooltip.vue.d.ts +10 -10
  439. package/es/components/tour/src/content.d.ts +1 -1
  440. package/es/components/tour/src/content.vue.d.ts +1 -1
  441. package/es/components/tour/src/mask.vue.d.ts +1 -1
  442. package/es/components/tour/src/step.d.ts +1 -1
  443. package/es/components/tour/src/step.vue.d.ts +1 -1
  444. package/es/components/tour/src/tour.d.ts +1 -1
  445. package/es/components/tour/src/tour.vue.d.ts +4 -4
  446. package/es/components/tree/src/tree-node.vue.d.ts +9 -9
  447. package/es/components/tree/src/tree.d.ts +12 -0
  448. package/es/components/tree/src/tree.mjs +3 -1
  449. package/es/components/tree/src/tree.mjs.map +1 -1
  450. package/es/components/tree/src/tree.vue.d.ts +36 -12
  451. package/es/components/tree-select/src/tree-select-option.d.ts +5 -5
  452. package/es/components/tree-select/src/tree-select.vue.d.ts +54 -30
  453. package/es/components/tree-v2/src/composables/useTree.d.ts +6 -6
  454. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  455. package/es/components/upload/src/upload.vue.d.ts +1 -1
  456. package/es/components/virtual-list/src/builders/build-list.d.ts +3 -3
  457. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +3 -3
  458. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +3 -3
  459. package/es/constants/index.mjs +2 -2
  460. package/es/directives/trap-focus/index.mjs +1 -1
  461. package/es/hooks/use-floating/index.d.ts +8 -8
  462. package/es/hooks/use-popper/index.d.ts +3 -3
  463. package/es/index.mjs +17 -17
  464. package/es/plugin.mjs +1 -1
  465. package/es/utils/vue/size.d.ts +1 -1
  466. package/es/version.d.ts +1 -1
  467. package/es/version.mjs +1 -1
  468. package/es/version.mjs.map +1 -1
  469. package/lib/component.js +111 -111
  470. package/lib/components/affix/src/affix.d.ts +1 -1
  471. package/lib/components/affix/src/affix.vue.d.ts +3 -3
  472. package/lib/components/alert/src/alert.d.ts +1 -1
  473. package/lib/components/alert/src/alert.vue.d.ts +2 -2
  474. package/lib/components/anchor/src/anchor.d.ts +1 -1
  475. package/lib/components/anchor/src/anchor.vue.d.ts +2 -2
  476. package/lib/components/autocomplete/src/autocomplete.d.ts +4 -4
  477. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
  478. package/lib/components/avatar/src/avatar-group.d.ts +1 -1
  479. package/lib/components/avatar/src/avatar.d.ts +1 -1
  480. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  481. package/lib/components/badge/src/badge.vue.d.ts +1 -1
  482. package/lib/components/button/src/button-group.d.ts +1 -1
  483. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  484. package/lib/components/button/src/button.d.ts +1 -1
  485. package/lib/components/button/src/button.vue.d.ts +3 -3
  486. package/lib/components/button/src/use-button.d.ts +1 -1
  487. package/lib/components/calendar/src/calendar.d.ts +1 -1
  488. package/lib/components/carousel/src/carousel.vue.d.ts +3 -3
  489. package/lib/components/cascader/src/cascader.d.ts +3 -3
  490. package/lib/components/cascader/src/cascader.vue.d.ts +14 -14
  491. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js +40 -40
  492. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  493. package/lib/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.js +12 -12
  494. package/lib/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.js.map +1 -1
  495. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +3 -3
  496. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
  497. package/lib/components/checkbox/src/checkbox.d.ts +8 -8
  498. package/lib/components/checkbox/src/checkbox.vue.d.ts +3 -3
  499. package/lib/components/col/src/col.vue.d.ts +1 -1
  500. package/lib/components/collapse/src/collapse.d.ts +1 -1
  501. package/lib/components/color-picker/src/color-picker.vue.d.ts +9 -9
  502. package/lib/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.js +18 -18
  503. package/lib/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  504. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
  505. package/lib/components/config-provider/src/config-provider.d.ts +2 -2
  506. package/lib/components/countdown/src/countdown.vue_vue_type_script_setup_true_lang.js +1 -1
  507. package/lib/components/date-picker/src/date-picker.d.ts +13 -13
  508. package/lib/components/date-picker/src/props.d.ts +1 -1
  509. package/lib/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  510. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  511. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.js +18 -18
  512. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.js.map +1 -1
  513. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue_vue_type_script_setup_true_lang.js +23 -23
  514. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue_vue_type_script_setup_true_lang.js.map +1 -1
  515. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +2 -2
  516. package/lib/components/date-picker-panel/src/panel-utils.d.ts +3 -3
  517. package/lib/components/descriptions/src/description-item.d.ts +19 -19
  518. package/lib/components/descriptions/src/description.vue.d.ts +1 -1
  519. package/lib/components/dialog/src/dialog-content.vue.d.ts +1 -1
  520. package/lib/components/dialog/src/dialog.vue.d.ts +4 -4
  521. package/lib/components/divider/src/divider.d.ts +1 -1
  522. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  523. package/lib/components/drawer/src/drawer.vue.d.ts +6 -6
  524. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  525. package/lib/components/dropdown/src/dropdown.d.ts +3 -3
  526. package/lib/components/dropdown/src/dropdown.vue.d.ts +63 -63
  527. package/lib/components/form/src/form-item.d.ts +1 -1
  528. package/lib/components/form/src/form.d.ts +2 -2
  529. package/lib/components/image/src/image.vue.d.ts +4 -4
  530. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
  531. package/lib/components/index.js +134 -134
  532. package/lib/components/input/src/input.d.ts +3 -3
  533. package/lib/components/input/src/input.vue.d.ts +7 -7
  534. package/lib/components/input-number/src/input-number.d.ts +3 -3
  535. package/lib/components/input-number/src/input-number.vue.d.ts +7 -7
  536. package/lib/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.js +12 -12
  537. package/lib/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.js.map +1 -1
  538. package/lib/components/input-otp/src/input-otp.vue.d.ts +1 -1
  539. package/lib/components/input-tag/src/input-tag.d.ts +2 -2
  540. package/lib/components/input-tag/src/input-tag.vue.d.ts +11 -11
  541. package/lib/components/link/src/link.d.ts +1 -1
  542. package/lib/components/link/src/link.vue.d.ts +2 -2
  543. package/lib/components/mention/src/mention.d.ts +4 -4
  544. package/lib/components/mention/src/mention.vue.d.ts +3 -3
  545. package/lib/components/menu/src/menu.d.ts +3 -3
  546. package/lib/components/menu/src/menu.js +7 -7
  547. package/lib/components/menu/src/menu.js.map +1 -1
  548. package/lib/components/menu/src/sub-menu.d.ts +1 -1
  549. package/lib/components/menu/src/utils/menu-item.js +11 -11
  550. package/lib/components/menu/src/utils/menu-item.js.map +1 -1
  551. package/lib/components/menu/src/utils/submenu.js +9 -9
  552. package/lib/components/menu/src/utils/submenu.js.map +1 -1
  553. package/lib/components/message/src/instance.d.ts +1 -1
  554. package/lib/components/message/src/message.d.ts +1 -1
  555. package/lib/components/message/src/message.vue.d.ts +6 -6
  556. package/lib/components/message-box/src/index.vue.d.ts +33 -33
  557. package/lib/components/message-box/src/index.vue_vue_type_script_lang.js +19 -19
  558. package/lib/components/message-box/src/index.vue_vue_type_script_lang.js.map +1 -1
  559. package/lib/components/notification/src/notification.d.ts +1 -1
  560. package/lib/components/notification/src/notification.vue.d.ts +5 -5
  561. package/lib/components/page-header/src/page-header.vue.d.ts +1 -1
  562. package/lib/components/pagination/src/components/sizes.vue.d.ts +1 -1
  563. package/lib/components/pagination/src/pagination.d.ts +3 -3
  564. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  565. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  566. package/lib/components/popover/src/popover.d.ts +1 -1
  567. package/lib/components/popover/src/popover.vue.d.ts +8 -8
  568. package/lib/components/popper/src/composables/use-content.d.ts +3 -3
  569. package/lib/components/popper/src/content.vue.d.ts +5 -5
  570. package/lib/components/popper/src/popper.d.ts +2 -2
  571. package/lib/components/progress/src/progress.vue.d.ts +3 -3
  572. package/lib/components/radio/src/radio-button.d.ts +3 -3
  573. package/lib/components/radio/src/radio-button.vue.d.ts +1 -1
  574. package/lib/components/radio/src/radio-group.vue.d.ts +4 -4
  575. package/lib/components/radio/src/radio.d.ts +6 -6
  576. package/lib/components/radio/src/radio.vue.d.ts +1 -1
  577. package/lib/components/rate/src/rate.vue.d.ts +2 -2
  578. package/lib/components/resizable-columns/index.d.ts +2 -2
  579. package/lib/components/resizable-columns/src/resizable-column.vue.d.ts +1 -1
  580. package/lib/components/result/src/result.vue.d.ts +1 -1
  581. package/lib/components/row/src/row.d.ts +2 -2
  582. package/lib/components/row/src/row.vue.d.ts +1 -1
  583. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +2 -2
  584. package/lib/components/segmented/index.d.ts +1 -1
  585. package/lib/components/segmented/src/segmented.d.ts +1 -1
  586. package/lib/components/select/src/option.d.ts +2 -2
  587. package/lib/components/select/src/option.vue.d.ts +5 -5
  588. package/lib/components/select/src/select.d.ts +4 -4
  589. package/lib/components/select/src/select.vue.d.ts +71 -71
  590. package/lib/components/select/src/select.vue_vue_type_script_lang.js +10 -10
  591. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  592. package/lib/components/select/src/useOption.d.ts +2 -2
  593. package/lib/components/select/src/useSelect.d.ts +3 -3
  594. package/lib/components/select-v2/src/defaults.d.ts +2 -2
  595. package/lib/components/select-v2/src/select.vue.d.ts +54 -54
  596. package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js +10 -10
  597. package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
  598. package/lib/components/slider/src/button.vue.d.ts +1 -1
  599. package/lib/components/slider/src/slider.vue.d.ts +5 -5
  600. package/lib/components/space/src/space.d.ts +3 -3
  601. package/lib/components/splitter/src/split-bar.vue.d.ts +1 -1
  602. package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
  603. package/lib/components/steps/src/item.vue.d.ts +1 -1
  604. package/lib/components/steps/src/steps.vue.d.ts +1 -1
  605. package/lib/components/switch/src/switch.vue.d.ts +2 -2
  606. package/lib/components/table/src/filter-panel.vue.d.ts +49 -49
  607. package/lib/components/table/src/store/helper.d.ts +0 -12
  608. package/lib/components/table/src/store/index.d.ts +0 -24
  609. package/lib/components/table/src/store/watcher.d.ts +0 -2
  610. package/lib/components/table/src/store/watcher.js +0 -64
  611. package/lib/components/table/src/store/watcher.js.map +1 -1
  612. package/lib/components/table/src/table/defaults.d.ts +5 -5
  613. package/lib/components/table/src/table/style-helper.d.ts +1 -1
  614. package/lib/components/table/src/table/style-helper.js +0 -4
  615. package/lib/components/table/src/table/style-helper.js.map +1 -1
  616. package/lib/components/table/src/table-body/defaults.d.ts +1 -2
  617. package/lib/components/table/src/table-body/defaults.js +0 -2
  618. package/lib/components/table/src/table-body/defaults.js.map +1 -1
  619. package/lib/components/table/src/table-body/index.js +1 -1
  620. package/lib/components/table/src/table-body/render-helper.js +2 -11
  621. package/lib/components/table/src/table-body/render-helper.js.map +1 -1
  622. package/lib/components/table/src/table-body/styles-helper.js.map +1 -1
  623. package/lib/components/table/src/table-column/defaults.d.ts +2 -2
  624. package/lib/components/table/src/table-footer/index.d.ts +1 -1
  625. package/lib/components/table/src/table-header/index.d.ts +10 -10
  626. package/lib/components/table/src/table-header/index.js +1 -1
  627. package/lib/components/table/src/table-header/index.js.map +1 -1
  628. package/lib/components/table/src/table.js.map +1 -1
  629. package/lib/components/table/src/table.vue.d.ts +4 -17
  630. package/lib/components/table/src/table.vue_vue_type_script_setup_true_lang.js +13 -15
  631. package/lib/components/table/src/table.vue_vue_type_script_setup_true_lang.js.map +1 -1
  632. package/lib/components/tabs/src/tab-pane.vue.d.ts +1 -1
  633. package/lib/components/tabs/src/tabs.d.ts +5 -5
  634. package/lib/components/tag/src/tag.d.ts +1 -1
  635. package/lib/components/time-picker/src/common/picker.vue.d.ts +15 -15
  636. package/lib/components/time-picker/src/common/props.d.ts +1 -1
  637. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_setup_true_lang.js +10 -10
  638. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  639. package/lib/components/time-picker/src/time-picker.d.ts +13 -13
  640. package/lib/components/time-select/src/time-select.vue.d.ts +7 -7
  641. package/lib/components/timeline/src/timeline-item.d.ts +1 -1
  642. package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
  643. package/lib/components/tooltip/src/content.vue.d.ts +4 -4
  644. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  645. package/lib/components/tooltip/src/tooltip.vue.d.ts +10 -10
  646. package/lib/components/tour/src/content.d.ts +1 -1
  647. package/lib/components/tour/src/content.vue.d.ts +1 -1
  648. package/lib/components/tour/src/mask.vue.d.ts +1 -1
  649. package/lib/components/tour/src/step.d.ts +1 -1
  650. package/lib/components/tour/src/step.vue.d.ts +1 -1
  651. package/lib/components/tour/src/tour.d.ts +1 -1
  652. package/lib/components/tour/src/tour.vue.d.ts +4 -4
  653. package/lib/components/tree/src/tree-node.vue.d.ts +9 -9
  654. package/lib/components/tree/src/tree.d.ts +12 -0
  655. package/lib/components/tree/src/tree.js +3 -1
  656. package/lib/components/tree/src/tree.js.map +1 -1
  657. package/lib/components/tree/src/tree.vue.d.ts +36 -12
  658. package/lib/components/tree-select/src/tree-select-option.d.ts +5 -5
  659. package/lib/components/tree-select/src/tree-select.vue.d.ts +54 -30
  660. package/lib/components/tree-v2/src/composables/useTree.d.ts +6 -6
  661. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  662. package/lib/components/upload/src/upload.vue.d.ts +1 -1
  663. package/lib/components/virtual-list/src/builders/build-list.d.ts +3 -3
  664. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +3 -3
  665. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +3 -3
  666. package/lib/constants/index.js +2 -2
  667. package/lib/directives/trap-focus/index.js +5 -5
  668. package/lib/directives/trap-focus/index.js.map +1 -1
  669. package/lib/hooks/use-floating/index.d.ts +8 -8
  670. package/lib/hooks/use-popper/index.d.ts +3 -3
  671. package/lib/index.js +278 -278
  672. package/lib/plugin.js +12 -12
  673. package/lib/plugin.js.map +1 -1
  674. package/lib/utils/vue/size.d.ts +1 -1
  675. package/lib/version.d.ts +1 -1
  676. package/lib/version.js +1 -1
  677. package/lib/version.js.map +1 -1
  678. package/package.json +1 -1
  679. package/web-types.json +1 -1
@@ -6,7 +6,6 @@ import { getColumnById, getColumnByKey, getKeysMap, getRowIdentity, orderBy, tog
6
6
  import useExpand from "./expand.mjs";
7
7
  import useCurrent from "./current.mjs";
8
8
  import useTree from "./tree.mjs";
9
- import "../table-body/defaults.mjs";
10
9
  import { computed, getCurrentInstance, ref, toRefs, unref } from "vue";
11
10
  //#region ../../packages/components/table/src/store/watcher.ts
12
11
  const sortData = (data, states) => {
@@ -54,12 +53,6 @@ function useWatcher() {
54
53
  const sortProp = ref(null);
55
54
  const sortOrder = ref(null);
56
55
  const hoverRow = ref(null);
57
- const renderRange = ref([
58
- -1,
59
- -1,
60
- 32
61
- ]);
62
- const oldRenderRange = ref([-1, -1]);
63
56
  let halfSelection = [];
64
57
  const selectedMap = computed(() => {
65
58
  return rowKey.value ? getKeysMap(selection.value, rowKey.value) : void 0;
@@ -461,61 +454,6 @@ function useWatcher() {
461
454
  if (columns.value.some(({ type }) => type === "expand")) toggleRowExpansion(row, expanded);
462
455
  else toggleTreeExpansion(row, expanded);
463
456
  };
464
- const onScroll = (evt) => {
465
- const scrollBarRef = instance.setupState.scrollBarRef;
466
- if (scrollBarRef) {
467
- const rows = scrollBarRef.wrapRef.querySelectorAll(".el-table .el-table__body tbody>tr");
468
- if (rows.length > 0) {
469
- const wrapRect = scrollBarRef.wrapRef.getBoundingClientRect();
470
- const wrapStart = wrapRect.y;
471
- const wrapEnd = wrapRect.y + wrapRect.height;
472
- let firstIndex = -1;
473
- let lastIndex = -1;
474
- const lastRect = rows[rows.length - 1].getBoundingClientRect();
475
- if (lastRect.y + lastRect.height < wrapEnd) lastIndex = rows.length - 1;
476
- if (evt) {
477
- let rowTop = 0;
478
- for (let i = 0; i < rows.length; i++) {
479
- const row = rows[i];
480
- if (row.style.display !== "none") {
481
- rowTop += row.getBoundingClientRect().height;
482
- if (firstIndex === -1 && rowTop >= evt.scrollTop) firstIndex = i;
483
- if (lastIndex === -1 && rowTop >= evt.scrollTop + wrapRect.height) {
484
- lastIndex = i;
485
- break;
486
- }
487
- }
488
- }
489
- } else for (let i = 0; i < rows.length; i++) {
490
- if (firstIndex !== -1 && lastIndex !== -1) break;
491
- const rowRect = rows[i].getBoundingClientRect();
492
- if (rowRect.y <= wrapStart && rowRect.y + rowRect.height > wrapStart) firstIndex = i;
493
- if (rowRect.y + rowRect.height >= wrapEnd && rowRect.y < wrapEnd) lastIndex = i;
494
- }
495
- if (firstIndex !== -1 && lastIndex !== -1) {
496
- if (firstIndex !== oldRenderRange.value[0] || lastIndex !== oldRenderRange.value[1]) {
497
- let startIndex = firstIndex;
498
- let beforeCount = 0;
499
- while (startIndex > 0 && beforeCount < 20) if (rows[startIndex - 1].style.display !== "none") {
500
- startIndex -= 1;
501
- beforeCount += 1;
502
- } else startIndex -= 1;
503
- let endIndex = lastIndex;
504
- let afterCount = 0;
505
- while (endIndex < rows.length - 1 && afterCount < 20) if (rows[endIndex + 1].style.display !== "none") {
506
- endIndex += 1;
507
- afterCount += 1;
508
- } else endIndex += 1;
509
- renderRange.value[0] = startIndex;
510
- renderRange.value[1] = endIndex;
511
- renderRange.value[2] = (rows[firstIndex].getBoundingClientRect().height + rows[lastIndex].getBoundingClientRect().height) / 2;
512
- oldRenderRange.value[0] = firstIndex;
513
- oldRenderRange.value[1] = lastIndex;
514
- }
515
- }
516
- }
517
- }
518
- };
519
457
  watch$1(() => treeStates.checkStrictly.value, (value) => {
520
458
  if (value) {
521
459
  selectionIndeterminate.value = {};
@@ -572,7 +510,6 @@ function useWatcher() {
572
510
  loadOrToggle,
573
511
  updateTreeData,
574
512
  updateKeyChildren,
575
- onScroll,
576
513
  states: {
577
514
  tableSize,
578
515
  rowKey,
@@ -604,7 +541,6 @@ function useWatcher() {
604
541
  sortProp,
605
542
  sortOrder,
606
543
  hoverRow,
607
- renderRange,
608
544
  ...expandStates,
609
545
  ...treeStates,
610
546
  ...currentData
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/store/watcher.ts"],"sourcesContent":["import { computed, getCurrentInstance, ref, toRefs, unref } from 'vue'\nimport { watch } from '../../../config-provider'\nimport { ensureArray, hasOwn, isArray, isString } from '@element-plus/utils'\nimport {\n getColumnById,\n getColumnByKey,\n getKeysMap,\n getRowIdentity,\n orderBy,\n toggleRowStatus,\n} from '../util'\nimport useExpand from './expand'\nimport useCurrent from './current'\nimport useTree from './tree'\nimport { RenderLen } from '../table-body/defaults'\n\nimport type { Ref } from 'vue'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type {\n DefaultRow,\n Table,\n TableRefs,\n TableSortOrder,\n} from '../table/defaults'\nimport type { StoreFilter } from '.'\n\nconst sortData = <T extends DefaultRow>(\n data: T[],\n states: {\n sortingColumn: TableColumnCtx<T> | null\n sortProp: string | null\n sortOrder: string | number | null\n }\n) => {\n const sortingColumn = states.sortingColumn\n if (!sortingColumn || isString(sortingColumn.sortable)) {\n return data\n }\n return orderBy(\n data,\n states.sortProp,\n states.sortOrder,\n sortingColumn.sortMethod,\n sortingColumn.sortBy\n )\n}\n\nconst doFlattenColumns = <T extends DefaultRow>(\n columns: TableColumnCtx<T>[]\n) => {\n const result: TableColumnCtx<T>[] = []\n columns.forEach((column) => {\n if (column.children && column.children.length > 0) {\n // eslint-disable-next-line prefer-spread\n result.push.apply(result, doFlattenColumns(column.children))\n } else {\n result.push(column)\n }\n })\n return result\n}\n\nfunction useWatcher<T extends DefaultRow>() {\n const instance = getCurrentInstance() as Table<T>\n const { size: tableSize } = toRefs(instance.proxy?.$props as any)\n const rowKey: Ref<string | null> = ref(null)\n const data: Ref<T[]> = ref([])\n const _data: Ref<T[]> = ref([])\n const isComplex = ref(false)\n const _columns: Ref<TableColumnCtx<T>[]> = ref([])\n const originColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const columns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const leafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const updateOrderFns: (() => void)[] = []\n const leafColumnsLength = ref(0)\n const fixedLeafColumnsLength = ref(0)\n const rightFixedLeafColumnsLength = ref(0)\n const isAllSelected = ref(false)\n const selection: Ref<T[]> = ref([])\n const selectionIndeterminate = ref<Record<string, boolean>>({})\n const reserveSelection = ref(false)\n const selectOnIndeterminate = ref(false)\n const selectable: Ref<((row: T, index: number) => boolean) | null> = ref(null)\n const rowExpandable: Ref<((row: T, index: number) => boolean) | null> =\n ref(null)\n const filters: Ref<StoreFilter> = ref({})\n const filteredData: Ref<T[] | null> = ref(null)\n const sortingColumn: Ref<TableColumnCtx<T> | null> = ref(null)\n const sortProp: Ref<string | null> = ref(null)\n const sortOrder: Ref<TableSortOrder | null> = ref(null)\n const hoverRow: Ref<T | null> = ref(null)\n const renderRange = ref([-1, -1, 32])\n const oldRenderRange = ref([-1, -1])\n\n let halfSelection: T[] = []\n\n const selectedMap = computed(() => {\n return rowKey.value ? getKeysMap(selection.value, rowKey.value) : undefined\n })\n\n const getRowChildren = (row: T): T[] => {\n const { childrenColumnName, lazyTreeNodeMap } = instance.store.states\n const inlineChildren = (row[childrenColumnName.value] ?? []) as T[]\n if (!rowKey.value) return inlineChildren\n const id = getRowIdentity(row, rowKey.value)\n const lazyChildren = (lazyTreeNodeMap.value?.[id] ?? []) as T[]\n return [...lazyChildren, ...inlineChildren]\n }\n\n watch(\n data,\n () => {\n if (instance.state) {\n scheduleLayout(false)\n const needUpdateFixed = instance.props.tableLayout === 'auto'\n if (needUpdateFixed) {\n instance.refs.tableHeaderRef?.updateFixedColumnStyle()\n }\n }\n },\n {\n deep: true,\n }\n )\n\n const assertRowKey = () => {\n if (!rowKey.value) throw new Error('[ElTable] prop row-key is required')\n }\n\n const updateChildFixed = (column: TableColumnCtx<T>) => {\n column.children?.forEach((childColumn) => {\n childColumn.fixed = column.fixed\n updateChildFixed(childColumn)\n })\n }\n\n const updateColumns = () => {\n _columns.value.forEach((column) => {\n updateChildFixed(column)\n })\n fixedColumns.value = _columns.value.filter((column) =>\n [true, 'left'].includes(column.fixed)\n )\n\n const selectColumn = _columns.value.find(\n (column) => column.type === 'selection'\n )\n\n let selectColFixLeft: boolean\n if (\n selectColumn &&\n selectColumn.fixed !== 'right' &&\n !fixedColumns.value.includes(selectColumn)\n ) {\n const selectColumnIndex = _columns.value.indexOf(selectColumn)\n if (selectColumnIndex === 0 && fixedColumns.value.length) {\n fixedColumns.value.unshift(selectColumn)\n selectColFixLeft = true\n }\n }\n\n rightFixedColumns.value = _columns.value.filter(\n (column) => column.fixed === 'right'\n )\n\n const notFixedColumns = _columns.value.filter(\n (column) =>\n (selectColFixLeft ? column.type !== 'selection' : true) && !column.fixed\n )\n\n originColumns.value = Array.from(fixedColumns.value)\n .concat(notFixedColumns)\n .concat(rightFixedColumns.value)\n const leafColumns = doFlattenColumns(notFixedColumns)\n const fixedLeafColumns = doFlattenColumns(fixedColumns.value)\n const rightFixedLeafColumns = doFlattenColumns(rightFixedColumns.value)\n\n leafColumnsLength.value = leafColumns.length\n fixedLeafColumnsLength.value = fixedLeafColumns.length\n rightFixedLeafColumnsLength.value = rightFixedLeafColumns.length\n\n columns.value = Array.from(fixedLeafColumns)\n .concat(leafColumns)\n .concat(rightFixedLeafColumns)\n isComplex.value =\n fixedColumns.value.length > 0 || rightFixedColumns.value.length > 0\n }\n\n const scheduleLayout = (needUpdateColumns?: boolean, immediate = false) => {\n if (needUpdateColumns) {\n updateColumns()\n }\n if (immediate) {\n instance.state.doLayout()\n } else {\n instance.state.debouncedUpdateLayout()\n }\n }\n\n const isSelected = (row: T) => {\n if (selectedMap.value) {\n return !!selectedMap.value[getRowIdentity(row, rowKey.value)]\n } else {\n return selection.value.includes(row)\n }\n }\n\n // Used by selectable to compute row indices in tree-shaped data\n const rowIndexMap = computed(() => {\n const map = new Map<string, number>()\n if (!rowKey.value || !selectable.value) return map\n let index = 0\n const _traverse = (rows: T[]) => {\n if (!isArray(rows)) return\n rows.forEach((row) => {\n const id = getRowIdentity(row, rowKey.value)\n map.set(id, index)\n index += 1\n const children = getRowChildren(row)\n if (children.length) _traverse(children)\n })\n }\n _traverse(data.value || [])\n return map\n })\n\n // Update parent selection and indeterminate state based on children selection\n const updateSelectionByChildren = (\n options: {\n emitChange?: boolean\n rowIndexMap?: Map<string, number>\n } = {}\n ) => {\n const { emitChange = true } = options\n if (treeStates.checkStrictly.value || !rowKey.value) {\n selectionIndeterminate.value = {}\n halfSelection = []\n return\n }\n const rowKeyValue = rowKey.value\n const rowIndexMapValue = options.rowIndexMap ?? rowIndexMap.value\n const selectableFn = selectable.value\n const rowIdCache = new WeakMap<T, string>()\n const getCachedRowId = (row: T) => {\n const cachedId = rowIdCache.get(row)\n if (cachedId) return cachedId\n const id = getRowIdentity(row, rowKeyValue)\n rowIdCache.set(row, id)\n return id\n }\n const indeterminateMap: Record<string, boolean> = {}\n const nextHalfSelection: T[] = []\n const selectedIdSet = new Set(\n selection.value.map((row) => getCachedRowId(row))\n )\n const rowsToAdd: T[] = []\n let selectionChanged = false\n // Sync parent selection without triggering external select event\n const _updateSelectionForRow = (row: T, id: string, selected: boolean) => {\n const isRowSelected = selectedIdSet.has(id)\n if (selected && !isRowSelected) {\n rowsToAdd.push(row)\n selectedIdSet.add(id)\n selectionChanged = true\n } else if (!selected && isRowSelected) {\n selectedIdSet.delete(id)\n selectionChanged = true\n }\n }\n const _walk = (rows: T[]) => {\n let selectedCount = 0\n let selectableCount = 0\n if (!isArray(rows)) return { selectedCount, selectableCount }\n rows.forEach((row) => {\n const id = getCachedRowId(row)\n const children = getRowChildren(row)\n let childSelectedCount = 0\n let childSelectableCount = 0\n if (children.length) {\n const childResult = _walk(children)\n childSelectedCount = childResult.selectedCount\n childSelectableCount = childResult.selectableCount\n }\n const rowSelectable = selectableFn\n ? selectableFn.call(null, row, rowIndexMapValue.get(id) ?? 0)\n : true\n if (rowSelectable) {\n if (childSelectableCount > 0) {\n const allSelected = childSelectedCount === childSelectableCount\n const noneSelected = childSelectedCount === 0\n if (!allSelected && !noneSelected) {\n indeterminateMap[id] = true\n nextHalfSelection.push(row)\n }\n _updateSelectionForRow(row, id, allSelected)\n }\n }\n if (rowSelectable) {\n selectableCount += 1\n if (selectedIdSet.has(id)) {\n selectedCount += 1\n }\n }\n selectedCount += childSelectedCount\n selectableCount += childSelectableCount\n })\n return { selectedCount, selectableCount }\n }\n _walk(data.value || [])\n if (selectionChanged) {\n const nextSelection = selection.value.filter((row) =>\n selectedIdSet.has(getCachedRowId(row))\n )\n rowsToAdd.forEach((row) => {\n if (!selectedIdSet.has(getCachedRowId(row))) return\n nextSelection.push(row)\n })\n selection.value = nextSelection\n }\n selectionIndeterminate.value = indeterminateMap\n halfSelection = nextHalfSelection\n if (selectionChanged && emitChange) {\n instance.emit(\n 'selection-change',\n selection.value ? selection.value.slice() : []\n )\n }\n }\n\n const clearSelection = () => {\n isAllSelected.value = false\n const oldSelection = selection.value\n selection.value = []\n selectionIndeterminate.value = {}\n halfSelection = []\n if (oldSelection.length) {\n instance.emit('selection-change', [])\n }\n }\n\n const cleanSelection = () => {\n let deleted\n if (rowKey.value) {\n deleted = []\n const childrenKey = instance?.store?.states?.childrenColumnName.value\n const dataMap = getKeysMap(data.value, rowKey.value, true, childrenKey)\n // Include lazy-loaded children only if their parent is still in data\n const { lazyTreeNodeMap } = instance.store.states\n if (lazyTreeNodeMap.value) {\n Object.entries(lazyTreeNodeMap.value).forEach(\n ([parentId, lazyRows]) => {\n if (dataMap[parentId]) {\n ;(lazyRows as T[]).forEach((row) => {\n const id = getRowIdentity(row, rowKey.value)\n if (!dataMap[id]) {\n dataMap[id] = { row, index: -1 }\n }\n })\n }\n }\n )\n }\n for (const key in selectedMap.value) {\n if (hasOwn(selectedMap.value, key) && !dataMap[key]) {\n deleted.push(selectedMap.value[key].row)\n }\n }\n } else {\n deleted = selection.value.filter((item) => !data.value.includes(item))\n }\n if (deleted.length) {\n const newSelection = selection.value.filter(\n (item) => !deleted.includes(item)\n )\n selection.value = newSelection\n updateSelectionByChildren({ emitChange: false })\n instance.emit('selection-change', [...newSelection])\n }\n }\n\n const getSelectionRows = () => {\n return (selection.value || []).slice()\n }\n\n const getHalfSelectionRows = () => {\n return halfSelection.slice()\n }\n\n const cascadeToLazyChildren = (\n row: T,\n selected: boolean,\n rowIndexMap: Map<string, number>\n ) => {\n if (\n !rowKey.value ||\n treeStates.checkStrictly.value ||\n !treeStates.lazy.value\n )\n return\n const { lazyTreeNodeMap, childrenColumnName } = instance.store.states\n const id = getRowIdentity(row, rowKey.value)\n const lazyChildren = (lazyTreeNodeMap.value?.[id] ?? []) as T[]\n const inlineChildren = (row[childrenColumnName.value] ?? []) as T[]\n const treeProps = {\n children: childrenColumnName.value,\n checkStrictly: false,\n }\n\n for (const child of lazyChildren) {\n const childIndex =\n rowIndexMap.get(getRowIdentity(child, rowKey.value)) ?? 0\n toggleRowStatus(\n selection.value,\n child,\n selected,\n treeProps,\n selectable.value,\n childIndex,\n rowKey.value\n )\n // Recursively handle lazy children's inline descendants\n cascadeToLazyChildren(child, selected, rowIndexMap)\n }\n // Only recurse into inline children (lazy children handled above)\n for (const child of inlineChildren) {\n cascadeToLazyChildren(child, selected, rowIndexMap)\n }\n }\n\n const toggleRowSelection = (\n row: T,\n selected?: boolean,\n emitChange = true,\n ignoreSelectable = false\n ) => {\n const treeProps = {\n children: instance?.store?.states?.childrenColumnName.value,\n checkStrictly: instance?.store?.states?.checkStrictly.value,\n }\n const changed = toggleRowStatus(\n selection.value,\n row,\n selected,\n treeProps,\n ignoreSelectable ? undefined : selectable.value,\n data.value.indexOf(row),\n rowKey.value\n )\n if (changed) {\n // lazy mode and non-strict mode, sync lazy children selection status\n if (treeStates.lazy.value && !treeStates.checkStrictly.value) {\n const finalSelected = selected ?? isSelected(row)\n cascadeToLazyChildren(row, finalSelected, rowIndexMap.value)\n updateSelectionByChildren({\n emitChange: false,\n rowIndexMap: rowIndexMap.value,\n })\n } else {\n updateSelectionByChildren({ emitChange: false })\n }\n const newSelection = (selection.value || []).slice()\n // API call to modify selection, don't trigger select event\n if (emitChange) {\n instance.emit('select', newSelection, row)\n }\n instance.emit('selection-change', newSelection)\n }\n }\n\n const _toggleAllSelection = () => {\n // when only some rows are selected (but not all), select or deselect all of them\n // depending on the value of selectOnIndeterminate\n const value = selectOnIndeterminate.value\n ? !isAllSelected.value\n : !(isAllSelected.value || selection.value.length)\n isAllSelected.value = value\n\n let selectionChanged = false\n let childrenCount = 0\n const rowKey = instance?.store?.states?.rowKey.value\n const { childrenColumnName } = instance.store.states\n const treeProps = {\n children: childrenColumnName.value,\n checkStrictly: false, // Disable checkStrictly when selecting all\n }\n\n data.value.forEach((row, index) => {\n const rowIndex = index + childrenCount\n if (\n toggleRowStatus(\n selection.value,\n row,\n value,\n treeProps,\n selectable.value,\n rowIndex,\n rowKey\n )\n ) {\n selectionChanged = true\n }\n childrenCount += getChildrenCount(getRowIdentity(row, rowKey))\n })\n\n const rowIndexMapVal = rowIndexMap.value\n\n if (treeStates.lazy.value && !treeStates.checkStrictly.value && rowKey) {\n for (const lazyRows of Object.values(treeStates.lazyTreeNodeMap.value)) {\n for (const child of lazyRows as T[]) {\n const childIndex =\n rowIndexMapVal.get(getRowIdentity(child, rowKey)) ?? 0\n if (\n toggleRowStatus(\n selection.value,\n child,\n value,\n treeProps,\n selectable.value,\n childIndex,\n rowKey\n )\n )\n selectionChanged = true\n cascadeToLazyChildren(child, value, rowIndexMapVal)\n }\n }\n }\n\n updateSelectionByChildren({\n emitChange: false,\n rowIndexMap: rowIndexMapVal,\n })\n\n if (selectionChanged) {\n instance.emit(\n 'selection-change',\n selection.value ? [...selection.value] : []\n )\n }\n instance.emit('select-all', (selection.value || []).slice())\n }\n\n const updateAllSelected = () => {\n // When data is null, default values during destructuring are ignored\n if (data.value?.length === 0) {\n isAllSelected.value = false\n return\n }\n\n let rowIndex = 0\n let selectedCount = 0\n\n const checkSelectedStatus = (rows: T[]) => {\n for (const row of rows) {\n const isRowSelectable =\n selectable.value && selectable.value.call(null, row, rowIndex)\n\n if (!isSelected(row)) {\n if (!selectable.value || isRowSelectable) {\n return false\n }\n } else {\n selectedCount++\n }\n rowIndex++\n\n const children = getRowChildren(row)\n if (children.length && !checkSelectedStatus(children)) {\n return false\n }\n }\n return true\n }\n\n const isAllSelected_ = checkSelectedStatus(data.value || [])\n isAllSelected.value = selectedCount === 0 ? false : isAllSelected_\n }\n\n const getRowIndeterminate = (row: T) => {\n if (!rowKey.value) return false\n const id = getRowIdentity(row, rowKey.value)\n return !!selectionIndeterminate.value[id]\n }\n\n const getChildrenCount = (rowKey: string) => {\n if (!instance || !instance.store) return 0\n const { treeData } = instance.store.states\n let count = 0\n const children = treeData.value[rowKey]?.children\n if (children) {\n count += children.length\n children.forEach((childKey) => {\n count += getChildrenCount(childKey)\n })\n }\n return count\n }\n\n const updateFilters = (column: TableColumnCtx<T>, values: string[]) => {\n const filters_: Record<string, string[]> = {}\n ensureArray(column).forEach((col) => {\n filters.value[col.id] = values\n filters_[col.columnKey || col.id] = values\n })\n return filters_\n }\n\n const updateSort = (\n column: TableColumnCtx<T> | null,\n prop: string | null,\n order: TableSortOrder | null\n ) => {\n if (sortingColumn.value && sortingColumn.value !== column) {\n sortingColumn.value.order = null\n }\n sortingColumn.value = column\n sortProp.value = prop\n sortOrder.value = order\n }\n\n const execFilter = () => {\n let sourceData = unref(_data)\n Object.keys(filters.value).forEach((columnId) => {\n const values = filters.value[columnId]\n if (!values || values.length === 0) return\n const column = getColumnById(\n {\n columns: columns.value,\n },\n columnId\n )\n if (column && column.filterMethod) {\n sourceData = sourceData.filter((row) => {\n return values.some((value) =>\n column.filterMethod.call(null, value, row, column)\n )\n })\n }\n })\n filteredData.value = sourceData\n }\n\n const execSort = () => {\n data.value = sortData(filteredData.value ?? [], {\n sortingColumn: sortingColumn.value,\n sortProp: sortProp.value,\n sortOrder: sortOrder.value,\n })\n }\n\n // Filter and sort data based on filters and sort conditions\n const execQuery = (ignore: { filter: boolean } | undefined = undefined) => {\n if (!ignore?.filter) {\n execFilter()\n }\n execSort()\n }\n\n const clearFilter = (columnKeys?: string[] | string) => {\n const { tableHeaderRef } = instance.refs as TableRefs\n if (!tableHeaderRef) return\n const panels = Object.assign({}, tableHeaderRef.filterPanels)\n\n const keys = Object.keys(panels)\n if (!keys.length) return\n\n if (isString(columnKeys)) {\n columnKeys = [columnKeys]\n }\n\n if (isArray(columnKeys)) {\n const columns_ = columnKeys.map((key) =>\n getColumnByKey(\n {\n columns: columns.value,\n },\n key\n )\n )\n keys.forEach((key) => {\n const column = columns_.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n instance.store.commit('filterChange', {\n column: columns_,\n values: [],\n silent: true,\n multi: true,\n })\n } else {\n keys.forEach((key) => {\n const column = columns.value.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n\n filters.value = {}\n instance.store.commit('filterChange', {\n column: {},\n values: [],\n silent: true,\n })\n }\n }\n\n const clearSort = () => {\n if (!sortingColumn.value) return\n\n updateSort(null, null, null)\n instance.store.commit('changeSortCondition', {\n silent: true,\n })\n }\n const {\n setExpandRowKeys,\n toggleRowExpansion,\n updateExpandRows,\n states: expandStates,\n isRowExpanded,\n } = useExpand({\n data,\n rowKey,\n })\n const {\n updateTreeExpandKeys,\n toggleTreeExpansion,\n updateTreeData,\n updateKeyChildren,\n loadOrToggle,\n states: treeStates,\n } = useTree({\n data,\n rowKey,\n })\n const {\n updateCurrentRowData,\n updateCurrentRow,\n setCurrentRowKey,\n states: currentData,\n } = useCurrent({\n data,\n rowKey,\n })\n // Adapter layer, expand-row-keys is used in both Expand and TreeTable\n const setExpandRowKeysAdapter = (val: string[]) => {\n // Triggers extra computation, but kept for compatibility\n setExpandRowKeys(val)\n updateTreeExpandKeys(val)\n }\n\n // Used for both expand rows and TreeTable\n const toggleRowExpansionAdapter = (row: T, expanded?: boolean) => {\n const hasExpandColumn = columns.value.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n toggleRowExpansion(row, expanded)\n } else {\n toggleTreeExpansion(row, expanded)\n }\n }\n\n const onScroll = (evt?: any) => {\n const scrollBarRef = (instance as any).setupState.scrollBarRef\n if (scrollBarRef) {\n const rows = scrollBarRef.wrapRef.querySelectorAll('.el-table .el-table__body tbody>tr')\n if (rows.length > 0) {\n const wrapRect = (scrollBarRef.wrapRef as HTMLElement).getBoundingClientRect()\n const wrapStart = wrapRect.y\n const wrapEnd = wrapRect.y + wrapRect.height\n let firstIndex = -1\n let lastIndex = -1\n\n const lastRect = (rows[rows.length - 1] as HTMLElement).getBoundingClientRect()\n if (lastRect.y + lastRect.height < wrapEnd) {\n lastIndex = rows.length - 1\n }\n\n if (evt) {\n let rowTop = 0\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i] as HTMLElement\n if (row.style.display !== 'none') {\n rowTop += row.getBoundingClientRect().height\n if (firstIndex === -1 && rowTop >= evt.scrollTop) {\n firstIndex = i\n }\n if (lastIndex === -1 && rowTop >= evt.scrollTop + wrapRect.height) {\n lastIndex = i\n break\n }\n }\n }\n } else {\n for (let i = 0; i < rows.length; i++) {\n if (firstIndex !== -1 && lastIndex !== -1) {\n break\n }\n const rowRect = (rows[i] as HTMLElement).getBoundingClientRect()\n if (rowRect.y <= wrapStart && (rowRect.y + rowRect.height) > wrapStart) {\n firstIndex = i\n }\n if ((rowRect.y + rowRect.height) >= wrapEnd && rowRect.y < wrapEnd) {\n lastIndex = i\n }\n }\n }\n\n if (firstIndex !== -1 && lastIndex !== -1) {\n if (firstIndex !== oldRenderRange.value[0] || lastIndex !== oldRenderRange.value[1]) {\n let startIndex = firstIndex\n let beforeCount = 0\n while (startIndex > 0 && beforeCount < RenderLen) {\n const beforeRow = rows[startIndex - 1] as HTMLElement\n if (beforeRow.style.display !== 'none') {\n startIndex -= 1\n beforeCount += 1\n } else {\n startIndex -= 1\n }\n }\n let endIndex = lastIndex\n let afterCount = 0\n while (endIndex < rows.length - 1 && afterCount < RenderLen) {\n const afterRow = rows[endIndex + 1] as HTMLElement\n if (afterRow.style.display !== 'none') {\n endIndex += 1\n afterCount += 1\n } else {\n endIndex += 1\n }\n }\n\n renderRange.value[0] = startIndex\n renderRange.value[1] = endIndex\n renderRange.value[2] = ((rows[firstIndex] as HTMLElement).getBoundingClientRect().height\n + (rows[lastIndex] as HTMLElement).getBoundingClientRect().height) / 2\n\n oldRenderRange.value[0] = firstIndex\n oldRenderRange.value[1] = lastIndex\n }\n }\n }\n }\n }\n\n watch(\n () => treeStates.checkStrictly.value,\n (value) => {\n if (value) {\n selectionIndeterminate.value = {}\n halfSelection = []\n } else {\n // Internal sync when switching strict mode, avoid triggering selection-change\n updateSelectionByChildren({ emitChange: false })\n }\n updateAllSelected()\n }\n )\n\n watch(\n () => treeStates.lazyTreeNodeMap.value,\n () => {\n if (\n !treeStates.lazy.value ||\n treeStates.checkStrictly.value ||\n !rowKey.value\n )\n return\n const rowIndexMapVal = rowIndexMap.value\n const prevLen = selection.value.length\n\n for (const parentId of Object.keys(treeStates.lazyTreeNodeMap.value)) {\n if (!selectedMap.value?.[parentId]) continue\n cascadeToLazyChildren(\n selectedMap.value[parentId].row,\n true,\n rowIndexMapVal\n )\n }\n\n const cascadeChanged = selection.value.length !== prevLen\n updateSelectionByChildren({\n emitChange: !cascadeChanged,\n rowIndexMap: rowIndexMapVal,\n })\n updateAllSelected()\n if (cascadeChanged) {\n instance.emit('selection-change', [...selection.value])\n }\n }\n )\n\n return {\n assertRowKey,\n updateColumns,\n scheduleLayout,\n isSelected,\n clearSelection,\n cleanSelection,\n getSelectionRows,\n getHalfSelectionRows,\n toggleRowSelection,\n _toggleAllSelection,\n toggleAllSelection: null as (() => void) | null,\n updateAllSelected,\n updateSelectionByChildren,\n getRowIndeterminate,\n updateFilters,\n updateCurrentRow,\n updateSort,\n execFilter,\n execSort,\n execQuery,\n clearFilter,\n clearSort,\n toggleRowExpansion,\n setExpandRowKeysAdapter,\n setCurrentRowKey,\n toggleRowExpansionAdapter,\n isRowExpanded,\n updateExpandRows,\n updateCurrentRowData,\n loadOrToggle,\n updateTreeData,\n updateKeyChildren,\n onScroll,\n states: {\n tableSize,\n rowKey,\n data,\n _data,\n isComplex,\n _columns,\n originColumns,\n columns,\n fixedColumns,\n rightFixedColumns,\n leafColumns,\n fixedLeafColumns,\n rightFixedLeafColumns,\n updateOrderFns,\n leafColumnsLength,\n fixedLeafColumnsLength,\n rightFixedLeafColumnsLength,\n isAllSelected,\n selection,\n selectionIndeterminate,\n reserveSelection,\n selectOnIndeterminate,\n selectable,\n rowExpandable,\n filters,\n filteredData,\n sortingColumn,\n sortProp,\n sortOrder,\n hoverRow,\n renderRange,\n ...expandStates,\n ...treeStates,\n ...currentData,\n },\n }\n}\n\nexport default useWatcher\n"],"mappings":";;;;;;;;;;;AA0BA,MAAM,YACJ,MACA,WAKG;CACH,MAAM,gBAAgB,OAAO;CAC7B,IAAI,CAAC,iBAAiB,SAAS,cAAc,QAAQ,GACnD,OAAO;CAET,OAAO,QACL,MACA,OAAO,UACP,OAAO,WACP,cAAc,YACd,cAAc,MAChB;AACF;AAEA,MAAM,oBACJ,YACG;CACH,MAAM,SAA8B,CAAC;CACrC,QAAQ,SAAS,WAAW;EAC1B,IAAI,OAAO,YAAY,OAAO,SAAS,SAAS,GAE9C,OAAO,KAAK,MAAM,QAAQ,iBAAiB,OAAO,QAAQ,CAAC;OAE3D,OAAO,KAAK,MAAM;CAEtB,CAAC;CACD,OAAO;AACT;AAEA,SAAS,aAAmC;CAC1C,MAAM,WAAW,mBAAmB;CACpC,MAAM,EAAE,MAAM,cAAc,OAAO,SAAS,OAAO,MAAa;CAChE,MAAM,SAA6B,IAAI,IAAI;CAC3C,MAAM,OAAiB,IAAI,CAAC,CAAC;CAC7B,MAAM,QAAkB,IAAI,CAAC,CAAC;CAC9B,MAAM,YAAY,IAAI,KAAK;CAC3B,MAAM,WAAqC,IAAI,CAAC,CAAC;CACjD,MAAM,gBAA0C,IAAI,CAAC,CAAC;CACtD,MAAM,UAAoC,IAAI,CAAC,CAAC;CAChD,MAAM,eAAyC,IAAI,CAAC,CAAC;CACrD,MAAM,oBAA8C,IAAI,CAAC,CAAC;CAC1D,MAAM,cAAwC,IAAI,CAAC,CAAC;CACpD,MAAM,mBAA6C,IAAI,CAAC,CAAC;CACzD,MAAM,wBAAkD,IAAI,CAAC,CAAC;CAC9D,MAAM,iBAAiC,CAAC;CACxC,MAAM,oBAAoB,IAAI,CAAC;CAC/B,MAAM,yBAAyB,IAAI,CAAC;CACpC,MAAM,8BAA8B,IAAI,CAAC;CACzC,MAAM,gBAAgB,IAAI,KAAK;CAC/B,MAAM,YAAsB,IAAI,CAAC,CAAC;CAClC,MAAM,yBAAyB,IAA6B,CAAC,CAAC;CAC9D,MAAM,mBAAmB,IAAI,KAAK;CAClC,MAAM,wBAAwB,IAAI,KAAK;CACvC,MAAM,aAA+D,IAAI,IAAI;CAC7E,MAAM,gBACJ,IAAI,IAAI;CACV,MAAM,UAA4B,IAAI,CAAC,CAAC;CACxC,MAAM,eAAgC,IAAI,IAAI;CAC9C,MAAM,gBAA+C,IAAI,IAAI;CAC7D,MAAM,WAA+B,IAAI,IAAI;CAC7C,MAAM,YAAwC,IAAI,IAAI;CACtD,MAAM,WAA0B,IAAI,IAAI;CACxC,MAAM,cAAc,IAAI;EAAC;EAAI;EAAI;CAAE,CAAC;CACpC,MAAM,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC;CAEnC,IAAI,gBAAqB,CAAC;CAE1B,MAAM,cAAc,eAAe;EACjC,OAAO,OAAO,QAAQ,WAAW,UAAU,OAAO,OAAO,KAAK,IAAI,KAAA;CACpE,CAAC;CAED,MAAM,kBAAkB,QAAgB;EACtC,MAAM,EAAE,oBAAoB,oBAAoB,SAAS,MAAM;EAC/D,MAAM,iBAAkB,IAAI,mBAAmB,UAAU,CAAC;EAC1D,IAAI,CAAC,OAAO,OAAO,OAAO;EAC1B,MAAM,KAAK,eAAe,KAAK,OAAO,KAAK;EAE3C,OAAO,CAAC,GADc,gBAAgB,QAAQ,OAAO,CAAC,GAC7B,GAAG,cAAc;CAC5C;CAEA,QACE,YACM;EACJ,IAAI,SAAS,OAAO;GAClB,eAAe,KAAK;GAEpB,IADwB,SAAS,MAAM,gBAAgB,QAErD,SAAS,KAAK,gBAAgB,uBAAuB;EAEzD;CACF,GACA,EACE,MAAM,KACR,CACF;CAEA,MAAM,qBAAqB;EACzB,IAAI,CAAC,OAAO,OAAO,MAAM,IAAI,MAAM,oCAAoC;CACzE;CAEA,MAAM,oBAAoB,WAA8B;EACtD,OAAO,UAAU,SAAS,gBAAgB;GACxC,YAAY,QAAQ,OAAO;GAC3B,iBAAiB,WAAW;EAC9B,CAAC;CACH;CAEA,MAAM,sBAAsB;EAC1B,SAAS,MAAM,SAAS,WAAW;GACjC,iBAAiB,MAAM;EACzB,CAAC;EACD,aAAa,QAAQ,SAAS,MAAM,QAAQ,WAC1C,CAAC,MAAM,MAAM,CAAC,CAAC,SAAS,OAAO,KAAK,CACtC;EAEA,MAAM,eAAe,SAAS,MAAM,MACjC,WAAW,OAAO,SAAS,WAC9B;EAEA,IAAI;EACJ,IACE,gBACA,aAAa,UAAU,WACvB,CAAC,aAAa,MAAM,SAAS,YAAY;OAEf,SAAS,MAAM,QAAQ,YAC7B,MAAM,KAAK,aAAa,MAAM,QAAQ;IACxD,aAAa,MAAM,QAAQ,YAAY;IACvC,mBAAmB;GACrB;;EAGF,kBAAkB,QAAQ,SAAS,MAAM,QACtC,WAAW,OAAO,UAAU,OAC/B;EAEA,MAAM,kBAAkB,SAAS,MAAM,QACpC,YACE,mBAAmB,OAAO,SAAS,cAAc,SAAS,CAAC,OAAO,KACvE;EAEA,cAAc,QAAQ,MAAM,KAAK,aAAa,KAAK,CAAC,CACjD,OAAO,eAAe,CAAC,CACvB,OAAO,kBAAkB,KAAK;EACjC,MAAM,cAAc,iBAAiB,eAAe;EACpD,MAAM,mBAAmB,iBAAiB,aAAa,KAAK;EAC5D,MAAM,wBAAwB,iBAAiB,kBAAkB,KAAK;EAEtE,kBAAkB,QAAQ,YAAY;EACtC,uBAAuB,QAAQ,iBAAiB;EAChD,4BAA4B,QAAQ,sBAAsB;EAE1D,QAAQ,QAAQ,MAAM,KAAK,gBAAgB,CAAC,CACzC,OAAO,WAAW,CAAC,CACnB,OAAO,qBAAqB;EAC/B,UAAU,QACR,aAAa,MAAM,SAAS,KAAK,kBAAkB,MAAM,SAAS;CACtE;CAEA,MAAM,kBAAkB,mBAA6B,YAAY,UAAU;EACzE,IAAI,mBACF,cAAc;EAEhB,IAAI,WACF,SAAS,MAAM,SAAS;OAExB,SAAS,MAAM,sBAAsB;CAEzC;CAEA,MAAM,cAAc,QAAW;EAC7B,IAAI,YAAY,OACd,OAAO,CAAC,CAAC,YAAY,MAAM,eAAe,KAAK,OAAO,KAAK;OAE3D,OAAO,UAAU,MAAM,SAAS,GAAG;CAEvC;CAGA,MAAM,cAAc,eAAe;EACjC,MAAM,sBAAM,IAAI,IAAoB;EACpC,IAAI,CAAC,OAAO,SAAS,CAAC,WAAW,OAAO,OAAO;EAC/C,IAAI,QAAQ;EACZ,MAAM,aAAa,SAAc;GAC/B,IAAI,CAAC,QAAQ,IAAI,GAAG;GACpB,KAAK,SAAS,QAAQ;IACpB,MAAM,KAAK,eAAe,KAAK,OAAO,KAAK;IAC3C,IAAI,IAAI,IAAI,KAAK;IACjB,SAAS;IACT,MAAM,WAAW,eAAe,GAAG;IACnC,IAAI,SAAS,QAAQ,UAAU,QAAQ;GACzC,CAAC;EACH;EACA,UAAU,KAAK,SAAS,CAAC,CAAC;EAC1B,OAAO;CACT,CAAC;CAGD,MAAM,6BACJ,UAGI,CAAC,MACF;EACH,MAAM,EAAE,aAAa,SAAS;EAC9B,IAAI,WAAW,cAAc,SAAS,CAAC,OAAO,OAAO;GACnD,uBAAuB,QAAQ,CAAC;GAChC,gBAAgB,CAAC;GACjB;EACF;EACA,MAAM,cAAc,OAAO;EAC3B,MAAM,mBAAmB,QAAQ,eAAe,YAAY;EAC5D,MAAM,eAAe,WAAW;EAChC,MAAM,6BAAa,IAAI,QAAmB;EAC1C,MAAM,kBAAkB,QAAW;GACjC,MAAM,WAAW,WAAW,IAAI,GAAG;GACnC,IAAI,UAAU,OAAO;GACrB,MAAM,KAAK,eAAe,KAAK,WAAW;GAC1C,WAAW,IAAI,KAAK,EAAE;GACtB,OAAO;EACT;EACA,MAAM,mBAA4C,CAAC;EACnD,MAAM,oBAAyB,CAAC;EAChC,MAAM,gBAAgB,IAAI,IACxB,UAAU,MAAM,KAAK,QAAQ,eAAe,GAAG,CAAC,CAClD;EACA,MAAM,YAAiB,CAAC;EACxB,IAAI,mBAAmB;EAEvB,MAAM,0BAA0B,KAAQ,IAAY,aAAsB;GACxE,MAAM,gBAAgB,cAAc,IAAI,EAAE;GAC1C,IAAI,YAAY,CAAC,eAAe;IAC9B,UAAU,KAAK,GAAG;IAClB,cAAc,IAAI,EAAE;IACpB,mBAAmB;GACrB,OAAO,IAAI,CAAC,YAAY,eAAe;IACrC,cAAc,OAAO,EAAE;IACvB,mBAAmB;GACrB;EACF;EACA,MAAM,SAAS,SAAc;GAC3B,IAAI,gBAAgB;GACpB,IAAI,kBAAkB;GACtB,IAAI,CAAC,QAAQ,IAAI,GAAG,OAAO;IAAE;IAAe;GAAgB;GAC5D,KAAK,SAAS,QAAQ;IACpB,MAAM,KAAK,eAAe,GAAG;IAC7B,MAAM,WAAW,eAAe,GAAG;IACnC,IAAI,qBAAqB;IACzB,IAAI,uBAAuB;IAC3B,IAAI,SAAS,QAAQ;KACnB,MAAM,cAAc,MAAM,QAAQ;KAClC,qBAAqB,YAAY;KACjC,uBAAuB,YAAY;IACrC;IACA,MAAM,gBAAgB,eAClB,aAAa,KAAK,MAAM,KAAK,iBAAiB,IAAI,EAAE,KAAK,CAAC,IAC1D;IACJ,IAAI;SACE,uBAAuB,GAAG;MAC5B,MAAM,cAAc,uBAAuB;MAE3C,IAAI,CAAC,eAAe,EADC,uBAAuB,IACT;OACjC,iBAAiB,MAAM;OACvB,kBAAkB,KAAK,GAAG;MAC5B;MACA,uBAAuB,KAAK,IAAI,WAAW;KAC7C;;IAEF,IAAI,eAAe;KACjB,mBAAmB;KACnB,IAAI,cAAc,IAAI,EAAE,GACtB,iBAAiB;IAErB;IACA,iBAAiB;IACjB,mBAAmB;GACrB,CAAC;GACD,OAAO;IAAE;IAAe;GAAgB;EAC1C;EACA,MAAM,KAAK,SAAS,CAAC,CAAC;EACtB,IAAI,kBAAkB;GACpB,MAAM,gBAAgB,UAAU,MAAM,QAAQ,QAC5C,cAAc,IAAI,eAAe,GAAG,CAAC,CACvC;GACA,UAAU,SAAS,QAAQ;IACzB,IAAI,CAAC,cAAc,IAAI,eAAe,GAAG,CAAC,GAAG;IAC7C,cAAc,KAAK,GAAG;GACxB,CAAC;GACD,UAAU,QAAQ;EACpB;EACA,uBAAuB,QAAQ;EAC/B,gBAAgB;EAChB,IAAI,oBAAoB,YACtB,SAAS,KACP,oBACA,UAAU,QAAQ,UAAU,MAAM,MAAM,IAAI,CAAC,CAC/C;CAEJ;CAEA,MAAM,uBAAuB;EAC3B,cAAc,QAAQ;EACtB,MAAM,eAAe,UAAU;EAC/B,UAAU,QAAQ,CAAC;EACnB,uBAAuB,QAAQ,CAAC;EAChC,gBAAgB,CAAC;EACjB,IAAI,aAAa,QACf,SAAS,KAAK,oBAAoB,CAAC,CAAC;CAExC;CAEA,MAAM,uBAAuB;EAC3B,IAAI;EACJ,IAAI,OAAO,OAAO;GAChB,UAAU,CAAC;GACX,MAAM,cAAc,UAAU,OAAO,QAAQ,mBAAmB;GAChE,MAAM,UAAU,WAAW,KAAK,OAAO,OAAO,OAAO,MAAM,WAAW;GAEtE,MAAM,EAAE,oBAAoB,SAAS,MAAM;GAC3C,IAAI,gBAAgB,OAClB,OAAO,QAAQ,gBAAgB,KAAK,CAAC,CAAC,SACnC,CAAC,UAAU,cAAc;IACxB,IAAI,QAAQ,WACT,SAAkB,SAAS,QAAQ;KAClC,MAAM,KAAK,eAAe,KAAK,OAAO,KAAK;KAC3C,IAAI,CAAC,QAAQ,KACX,QAAQ,MAAM;MAAE;MAAK,OAAO;KAAG;IAEnC,CAAC;GAEL,CACF;GAEF,KAAK,MAAM,OAAO,YAAY,OAC5B,IAAI,OAAO,YAAY,OAAO,GAAG,KAAK,CAAC,QAAQ,MAC7C,QAAQ,KAAK,YAAY,MAAM,IAAI,CAAC,GAAG;EAG7C,OACE,UAAU,UAAU,MAAM,QAAQ,SAAS,CAAC,KAAK,MAAM,SAAS,IAAI,CAAC;EAEvE,IAAI,QAAQ,QAAQ;GAClB,MAAM,eAAe,UAAU,MAAM,QAClC,SAAS,CAAC,QAAQ,SAAS,IAAI,CAClC;GACA,UAAU,QAAQ;GAClB,0BAA0B,EAAE,YAAY,MAAM,CAAC;GAC/C,SAAS,KAAK,oBAAoB,CAAC,GAAG,YAAY,CAAC;EACrD;CACF;CAEA,MAAM,yBAAyB;EAC7B,QAAQ,UAAU,SAAS,CAAC,EAAA,CAAG,MAAM;CACvC;CAEA,MAAM,6BAA6B;EACjC,OAAO,cAAc,MAAM;CAC7B;CAEA,MAAM,yBACJ,KACA,UACA,gBACG;EACH,IACE,CAAC,OAAO,SACR,WAAW,cAAc,SACzB,CAAC,WAAW,KAAK,OAEjB;EACF,MAAM,EAAE,iBAAiB,uBAAuB,SAAS,MAAM;EAC/D,MAAM,KAAK,eAAe,KAAK,OAAO,KAAK;EAC3C,MAAM,eAAgB,gBAAgB,QAAQ,OAAO,CAAC;EACtD,MAAM,iBAAkB,IAAI,mBAAmB,UAAU,CAAC;EAC1D,MAAM,YAAY;GAChB,UAAU,mBAAmB;GAC7B,eAAe;EACjB;EAEA,KAAK,MAAM,SAAS,cAAc;GAChC,MAAM,aACJ,YAAY,IAAI,eAAe,OAAO,OAAO,KAAK,CAAC,KAAK;GAC1D,gBACE,UAAU,OACV,OACA,UACA,WACA,WAAW,OACX,YACA,OAAO,KACT;GAEA,sBAAsB,OAAO,UAAU,WAAW;EACpD;EAEA,KAAK,MAAM,SAAS,gBAClB,sBAAsB,OAAO,UAAU,WAAW;CAEtD;CAEA,MAAM,sBACJ,KACA,UACA,aAAa,MACb,mBAAmB,UAChB;EACH,MAAM,YAAY;GAChB,UAAU,UAAU,OAAO,QAAQ,mBAAmB;GACtD,eAAe,UAAU,OAAO,QAAQ,cAAc;EACxD;EAUA,IATgB,gBACd,UAAU,OACV,KACA,UACA,WACA,mBAAmB,KAAA,IAAY,WAAW,OAC1C,KAAK,MAAM,QAAQ,GAAG,GACtB,OAAO,KAEC,GAAG;GAEX,IAAI,WAAW,KAAK,SAAS,CAAC,WAAW,cAAc,OAAO;IAE5D,sBAAsB,KADA,YAAY,WAAW,GAAG,GACN,YAAY,KAAK;IAC3D,0BAA0B;KACxB,YAAY;KACZ,aAAa,YAAY;IAC3B,CAAC;GACH,OACE,0BAA0B,EAAE,YAAY,MAAM,CAAC;GAEjD,MAAM,gBAAgB,UAAU,SAAS,CAAC,EAAA,CAAG,MAAM;GAEnD,IAAI,YACF,SAAS,KAAK,UAAU,cAAc,GAAG;GAE3C,SAAS,KAAK,oBAAoB,YAAY;EAChD;CACF;CAEA,MAAM,4BAA4B;EAGhC,MAAM,QAAQ,sBAAsB,QAChC,CAAC,cAAc,QACf,EAAE,cAAc,SAAS,UAAU,MAAM;EAC7C,cAAc,QAAQ;EAEtB,IAAI,mBAAmB;EACvB,IAAI,gBAAgB;EACpB,MAAM,SAAS,UAAU,OAAO,QAAQ,OAAO;EAC/C,MAAM,EAAE,uBAAuB,SAAS,MAAM;EAC9C,MAAM,YAAY;GAChB,UAAU,mBAAmB;GAC7B,eAAe;EACjB;EAEA,KAAK,MAAM,SAAS,KAAK,UAAU;GACjC,MAAM,WAAW,QAAQ;GACzB,IACE,gBACE,UAAU,OACV,KACA,OACA,WACA,WAAW,OACX,UACA,MACF,GAEA,mBAAmB;GAErB,iBAAiB,iBAAiB,eAAe,KAAK,MAAM,CAAC;EAC/D,CAAC;EAED,MAAM,iBAAiB,YAAY;EAEnC,IAAI,WAAW,KAAK,SAAS,CAAC,WAAW,cAAc,SAAS,QAC9D,KAAK,MAAM,YAAY,OAAO,OAAO,WAAW,gBAAgB,KAAK,GACnE,KAAK,MAAM,SAAS,UAAiB;GACnC,MAAM,aACJ,eAAe,IAAI,eAAe,OAAO,MAAM,CAAC,KAAK;GACvD,IACE,gBACE,UAAU,OACV,OACA,OACA,WACA,WAAW,OACX,YACA,MACF,GAEA,mBAAmB;GACrB,sBAAsB,OAAO,OAAO,cAAc;EACpD;EAIJ,0BAA0B;GACxB,YAAY;GACZ,aAAa;EACf,CAAC;EAED,IAAI,kBACF,SAAS,KACP,oBACA,UAAU,QAAQ,CAAC,GAAG,UAAU,KAAK,IAAI,CAAC,CAC5C;EAEF,SAAS,KAAK,eAAe,UAAU,SAAS,CAAC,EAAA,CAAG,MAAM,CAAC;CAC7D;CAEA,MAAM,0BAA0B;EAE9B,IAAI,KAAK,OAAO,WAAW,GAAG;GAC5B,cAAc,QAAQ;GACtB;EACF;EAEA,IAAI,WAAW;EACf,IAAI,gBAAgB;EAEpB,MAAM,uBAAuB,SAAc;GACzC,KAAK,MAAM,OAAO,MAAM;IACtB,MAAM,kBACJ,WAAW,SAAS,WAAW,MAAM,KAAK,MAAM,KAAK,QAAQ;IAE/D,IAAI,CAAC,WAAW,GAAG;SACb,CAAC,WAAW,SAAS,iBACvB,OAAO;IAAA,OAGT;IAEF;IAEA,MAAM,WAAW,eAAe,GAAG;IACnC,IAAI,SAAS,UAAU,CAAC,oBAAoB,QAAQ,GAClD,OAAO;GAEX;GACA,OAAO;EACT;EAEA,MAAM,iBAAiB,oBAAoB,KAAK,SAAS,CAAC,CAAC;EAC3D,cAAc,QAAQ,kBAAkB,IAAI,QAAQ;CACtD;CAEA,MAAM,uBAAuB,QAAW;EACtC,IAAI,CAAC,OAAO,OAAO,OAAO;EAC1B,MAAM,KAAK,eAAe,KAAK,OAAO,KAAK;EAC3C,OAAO,CAAC,CAAC,uBAAuB,MAAM;CACxC;CAEA,MAAM,oBAAoB,WAAmB;EAC3C,IAAI,CAAC,YAAY,CAAC,SAAS,OAAO,OAAO;EACzC,MAAM,EAAE,aAAa,SAAS,MAAM;EACpC,IAAI,QAAQ;EACZ,MAAM,WAAW,SAAS,MAAM,OAAO,EAAE;EACzC,IAAI,UAAU;GACZ,SAAS,SAAS;GAClB,SAAS,SAAS,aAAa;IAC7B,SAAS,iBAAiB,QAAQ;GACpC,CAAC;EACH;EACA,OAAO;CACT;CAEA,MAAM,iBAAiB,QAA2B,WAAqB;EACrE,MAAM,WAAqC,CAAC;EAC5C,YAAY,MAAM,CAAC,CAAC,SAAS,QAAQ;GACnC,QAAQ,MAAM,IAAI,MAAM;GACxB,SAAS,IAAI,aAAa,IAAI,MAAM;EACtC,CAAC;EACD,OAAO;CACT;CAEA,MAAM,cACJ,QACA,MACA,UACG;EACH,IAAI,cAAc,SAAS,cAAc,UAAU,QACjD,cAAc,MAAM,QAAQ;EAE9B,cAAc,QAAQ;EACtB,SAAS,QAAQ;EACjB,UAAU,QAAQ;CACpB;CAEA,MAAM,mBAAmB;EACvB,IAAI,aAAa,MAAM,KAAK;EAC5B,OAAO,KAAK,QAAQ,KAAK,CAAC,CAAC,SAAS,aAAa;GAC/C,MAAM,SAAS,QAAQ,MAAM;GAC7B,IAAI,CAAC,UAAU,OAAO,WAAW,GAAG;GACpC,MAAM,SAAS,cACb,EACE,SAAS,QAAQ,MACnB,GACA,QACF;GACA,IAAI,UAAU,OAAO,cACnB,aAAa,WAAW,QAAQ,QAAQ;IACtC,OAAO,OAAO,MAAM,UAClB,OAAO,aAAa,KAAK,MAAM,OAAO,KAAK,MAAM,CACnD;GACF,CAAC;EAEL,CAAC;EACD,aAAa,QAAQ;CACvB;CAEA,MAAM,iBAAiB;EACrB,KAAK,QAAQ,SAAS,aAAa,SAAS,CAAC,GAAG;GAC9C,eAAe,cAAc;GAC7B,UAAU,SAAS;GACnB,WAAW,UAAU;EACvB,CAAC;CACH;CAGA,MAAM,aAAa,SAA0C,KAAA,MAAc;EACzE,IAAI,CAAC,QAAQ,QACX,WAAW;EAEb,SAAS;CACX;CAEA,MAAM,eAAe,eAAmC;EACtD,MAAM,EAAE,mBAAmB,SAAS;EACpC,IAAI,CAAC,gBAAgB;EACrB,MAAM,SAAS,OAAO,OAAO,CAAC,GAAG,eAAe,YAAY;EAE5D,MAAM,OAAO,OAAO,KAAK,MAAM;EAC/B,IAAI,CAAC,KAAK,QAAQ;EAElB,IAAI,SAAS,UAAU,GACrB,aAAa,CAAC,UAAU;EAG1B,IAAI,QAAQ,UAAU,GAAG;GACvB,MAAM,WAAW,WAAW,KAAK,QAC/B,eACE,EACE,SAAS,QAAQ,MACnB,GACA,GACF,CACF;GACA,KAAK,SAAS,QAAQ;IACpB,MAAM,SAAS,SAAS,MAAM,QAAQ,IAAI,OAAO,GAAG;IACpD,IAAI,QACF,OAAO,gBAAgB,CAAC;GAE5B,CAAC;GACD,SAAS,MAAM,OAAO,gBAAgB;IACpC,QAAQ;IACR,QAAQ,CAAC;IACT,QAAQ;IACR,OAAO;GACT,CAAC;EACH,OAAO;GACL,KAAK,SAAS,QAAQ;IACpB,MAAM,SAAS,QAAQ,MAAM,MAAM,QAAQ,IAAI,OAAO,GAAG;IACzD,IAAI,QACF,OAAO,gBAAgB,CAAC;GAE5B,CAAC;GAED,QAAQ,QAAQ,CAAC;GACjB,SAAS,MAAM,OAAO,gBAAgB;IACpC,QAAQ,CAAC;IACT,QAAQ,CAAC;IACT,QAAQ;GACV,CAAC;EACH;CACF;CAEA,MAAM,kBAAkB;EACtB,IAAI,CAAC,cAAc,OAAO;EAE1B,WAAW,MAAM,MAAM,IAAI;EAC3B,SAAS,MAAM,OAAO,uBAAuB,EAC3C,QAAQ,KACV,CAAC;CACH;CACA,MAAM,EACJ,kBACA,oBACA,kBACA,QAAQ,cACR,kBACE,UAAU;EACZ;EACA;CACF,CAAC;CACD,MAAM,EACJ,sBACA,qBACA,gBACA,mBACA,cACA,QAAQ,eACN,QAAQ;EACV;EACA;CACF,CAAC;CACD,MAAM,EACJ,sBACA,kBACA,kBACA,QAAQ,gBACN,WAAW;EACb;EACA;CACF,CAAC;CAED,MAAM,2BAA2B,QAAkB;EAEjD,iBAAiB,GAAG;EACpB,qBAAqB,GAAG;CAC1B;CAGA,MAAM,6BAA6B,KAAQ,aAAuB;EAEhE,IADwB,QAAQ,MAAM,MAAM,EAAE,WAAW,SAAS,QAChD,GAChB,mBAAmB,KAAK,QAAQ;OAEhC,oBAAoB,KAAK,QAAQ;CAErC;CAEA,MAAM,YAAY,QAAc;EAC9B,MAAM,eAAgB,SAAiB,WAAW;EAClD,IAAI,cAAc;GAChB,MAAM,OAAO,aAAa,QAAQ,iBAAiB,oCAAoC;GACvF,IAAI,KAAK,SAAS,GAAG;IACnB,MAAM,WAAY,aAAa,QAAwB,sBAAsB;IAC7E,MAAM,YAAY,SAAS;IAC3B,MAAM,UAAU,SAAS,IAAI,SAAS;IACtC,IAAI,aAAa;IACjB,IAAI,YAAY;IAEhB,MAAM,WAAY,KAAK,KAAK,SAAS,EAAE,CAAiB,sBAAsB;IAC9E,IAAI,SAAS,IAAI,SAAS,SAAS,SACjC,YAAY,KAAK,SAAS;IAG5B,IAAI,KAAK;KACP,IAAI,SAAS;KACb,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;MACpC,MAAM,MAAM,KAAK;MACjB,IAAI,IAAI,MAAM,YAAY,QAAQ;OAChC,UAAU,IAAI,sBAAsB,CAAC,CAAC;OACtC,IAAI,eAAe,MAAM,UAAU,IAAI,WACrC,aAAa;OAEf,IAAI,cAAc,MAAM,UAAU,IAAI,YAAY,SAAS,QAAQ;QACjE,YAAY;QACZ;OACF;MACF;KACF;IACF,OACE,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;KACpC,IAAI,eAAe,MAAM,cAAc,IACrC;KAEF,MAAM,UAAW,KAAK,EAAE,CAAiB,sBAAsB;KAC/D,IAAI,QAAQ,KAAK,aAAc,QAAQ,IAAI,QAAQ,SAAU,WAC3D,aAAa;KAEf,IAAK,QAAQ,IAAI,QAAQ,UAAW,WAAW,QAAQ,IAAI,SACzD,YAAY;IAEhB;IAGF,IAAI,eAAe,MAAM,cAAc;SACjC,eAAe,eAAe,MAAM,MAAM,cAAc,eAAe,MAAM,IAAI;MACnF,IAAI,aAAa;MACjB,IAAI,cAAc;MAClB,OAAO,aAAa,KAAK,cAAA,IAEvB,IADkB,KAAK,aAAa,EACvB,CAAC,MAAM,YAAY,QAAQ;OACtC,cAAc;OACd,eAAe;MACjB,OACE,cAAc;MAGlB,IAAI,WAAW;MACf,IAAI,aAAa;MACjB,OAAO,WAAW,KAAK,SAAS,KAAK,aAAA,IAEnC,IADiB,KAAK,WAAW,EACrB,CAAC,MAAM,YAAY,QAAQ;OACrC,YAAY;OACZ,cAAc;MAChB,OACE,YAAY;MAIhB,YAAY,MAAM,KAAK;MACvB,YAAY,MAAM,KAAK;MACvB,YAAY,MAAM,MAAO,KAAK,WAAW,CAAiB,sBAAsB,CAAC,CAAC,SAC7E,KAAK,UAAU,CAAiB,sBAAsB,CAAC,CAAC,UAAU;MAEvE,eAAe,MAAM,KAAK;MAC1B,eAAe,MAAM,KAAK;KAC5B;;GAEJ;EACF;CACF;CAEA,cACQ,WAAW,cAAc,QAC9B,UAAU;EACT,IAAI,OAAO;GACT,uBAAuB,QAAQ,CAAC;GAChC,gBAAgB,CAAC;EACnB,OAEE,0BAA0B,EAAE,YAAY,MAAM,CAAC;EAEjD,kBAAkB;CACpB,CACF;CAEA,cACQ,WAAW,gBAAgB,aAC3B;EACJ,IACE,CAAC,WAAW,KAAK,SACjB,WAAW,cAAc,SACzB,CAAC,OAAO,OAER;EACF,MAAM,iBAAiB,YAAY;EACnC,MAAM,UAAU,UAAU,MAAM;EAEhC,KAAK,MAAM,YAAY,OAAO,KAAK,WAAW,gBAAgB,KAAK,GAAG;GACpE,IAAI,CAAC,YAAY,QAAQ,WAAW;GACpC,sBACE,YAAY,MAAM,SAAS,CAAC,KAC5B,MACA,cACF;EACF;EAEA,MAAM,iBAAiB,UAAU,MAAM,WAAW;EAClD,0BAA0B;GACxB,YAAY,CAAC;GACb,aAAa;EACf,CAAC;EACD,kBAAkB;EAClB,IAAI,gBACF,SAAS,KAAK,oBAAoB,CAAC,GAAG,UAAU,KAAK,CAAC;CAE1D,CACF;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,oBAAoB;EACpB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACH,GAAG;GACH,GAAG;EACL;CACF;AACF"}
1
+ {"version":3,"file":"watcher.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/store/watcher.ts"],"sourcesContent":["import { computed, getCurrentInstance, ref, toRefs, unref } from 'vue'\nimport { watch } from '../../../config-provider'\nimport { ensureArray, hasOwn, isArray, isString } from '@element-plus/utils'\nimport {\n getColumnById,\n getColumnByKey,\n getKeysMap,\n getRowIdentity,\n orderBy,\n toggleRowStatus,\n} from '../util'\nimport useExpand from './expand'\nimport useCurrent from './current'\nimport useTree from './tree'\n\nimport type { Ref } from 'vue'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type {\n DefaultRow,\n Table,\n TableRefs,\n TableSortOrder,\n} from '../table/defaults'\nimport type { StoreFilter } from '.'\n\nconst sortData = <T extends DefaultRow>(\n data: T[],\n states: {\n sortingColumn: TableColumnCtx<T> | null\n sortProp: string | null\n sortOrder: string | number | null\n }\n) => {\n const sortingColumn = states.sortingColumn\n if (!sortingColumn || isString(sortingColumn.sortable)) {\n return data\n }\n return orderBy(\n data,\n states.sortProp,\n states.sortOrder,\n sortingColumn.sortMethod,\n sortingColumn.sortBy\n )\n}\n\nconst doFlattenColumns = <T extends DefaultRow>(\n columns: TableColumnCtx<T>[]\n) => {\n const result: TableColumnCtx<T>[] = []\n columns.forEach((column) => {\n if (column.children && column.children.length > 0) {\n // eslint-disable-next-line prefer-spread\n result.push.apply(result, doFlattenColumns(column.children))\n } else {\n result.push(column)\n }\n })\n return result\n}\n\nfunction useWatcher<T extends DefaultRow>() {\n const instance = getCurrentInstance() as Table<T>\n const { size: tableSize } = toRefs(instance.proxy?.$props as any)\n const rowKey: Ref<string | null> = ref(null)\n const data: Ref<T[]> = ref([])\n const _data: Ref<T[]> = ref([])\n const isComplex = ref(false)\n const _columns: Ref<TableColumnCtx<T>[]> = ref([])\n const originColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const columns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const leafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const updateOrderFns: (() => void)[] = []\n const leafColumnsLength = ref(0)\n const fixedLeafColumnsLength = ref(0)\n const rightFixedLeafColumnsLength = ref(0)\n const isAllSelected = ref(false)\n const selection: Ref<T[]> = ref([])\n const selectionIndeterminate = ref<Record<string, boolean>>({})\n const reserveSelection = ref(false)\n const selectOnIndeterminate = ref(false)\n const selectable: Ref<((row: T, index: number) => boolean) | null> = ref(null)\n const rowExpandable: Ref<((row: T, index: number) => boolean) | null> =\n ref(null)\n const filters: Ref<StoreFilter> = ref({})\n const filteredData: Ref<T[] | null> = ref(null)\n const sortingColumn: Ref<TableColumnCtx<T> | null> = ref(null)\n const sortProp: Ref<string | null> = ref(null)\n const sortOrder: Ref<TableSortOrder | null> = ref(null)\n const hoverRow: Ref<T | null> = ref(null)\n\n let halfSelection: T[] = []\n\n const selectedMap = computed(() => {\n return rowKey.value ? getKeysMap(selection.value, rowKey.value) : undefined\n })\n\n const getRowChildren = (row: T): T[] => {\n const { childrenColumnName, lazyTreeNodeMap } = instance.store.states\n const inlineChildren = (row[childrenColumnName.value] ?? []) as T[]\n if (!rowKey.value) return inlineChildren\n const id = getRowIdentity(row, rowKey.value)\n const lazyChildren = (lazyTreeNodeMap.value?.[id] ?? []) as T[]\n return [...lazyChildren, ...inlineChildren]\n }\n\n watch(\n data,\n () => {\n if (instance.state) {\n scheduleLayout(false)\n const needUpdateFixed = instance.props.tableLayout === 'auto'\n if (needUpdateFixed) {\n instance.refs.tableHeaderRef?.updateFixedColumnStyle()\n }\n }\n },\n {\n deep: true,\n }\n )\n\n const assertRowKey = () => {\n if (!rowKey.value) throw new Error('[ElTable] prop row-key is required')\n }\n\n const updateChildFixed = (column: TableColumnCtx<T>) => {\n column.children?.forEach((childColumn) => {\n childColumn.fixed = column.fixed\n updateChildFixed(childColumn)\n })\n }\n\n const updateColumns = () => {\n _columns.value.forEach((column) => {\n updateChildFixed(column)\n })\n fixedColumns.value = _columns.value.filter((column) =>\n [true, 'left'].includes(column.fixed)\n )\n\n const selectColumn = _columns.value.find(\n (column) => column.type === 'selection'\n )\n\n let selectColFixLeft: boolean\n if (\n selectColumn &&\n selectColumn.fixed !== 'right' &&\n !fixedColumns.value.includes(selectColumn)\n ) {\n const selectColumnIndex = _columns.value.indexOf(selectColumn)\n if (selectColumnIndex === 0 && fixedColumns.value.length) {\n fixedColumns.value.unshift(selectColumn)\n selectColFixLeft = true\n }\n }\n\n rightFixedColumns.value = _columns.value.filter(\n (column) => column.fixed === 'right'\n )\n\n const notFixedColumns = _columns.value.filter(\n (column) =>\n (selectColFixLeft ? column.type !== 'selection' : true) && !column.fixed\n )\n\n originColumns.value = Array.from(fixedColumns.value)\n .concat(notFixedColumns)\n .concat(rightFixedColumns.value)\n const leafColumns = doFlattenColumns(notFixedColumns)\n const fixedLeafColumns = doFlattenColumns(fixedColumns.value)\n const rightFixedLeafColumns = doFlattenColumns(rightFixedColumns.value)\n\n leafColumnsLength.value = leafColumns.length\n fixedLeafColumnsLength.value = fixedLeafColumns.length\n rightFixedLeafColumnsLength.value = rightFixedLeafColumns.length\n\n columns.value = Array.from(fixedLeafColumns)\n .concat(leafColumns)\n .concat(rightFixedLeafColumns)\n isComplex.value =\n fixedColumns.value.length > 0 || rightFixedColumns.value.length > 0\n }\n\n const scheduleLayout = (needUpdateColumns?: boolean, immediate = false) => {\n if (needUpdateColumns) {\n updateColumns()\n }\n if (immediate) {\n instance.state.doLayout()\n } else {\n instance.state.debouncedUpdateLayout()\n }\n }\n\n const isSelected = (row: T) => {\n if (selectedMap.value) {\n return !!selectedMap.value[getRowIdentity(row, rowKey.value)]\n } else {\n return selection.value.includes(row)\n }\n }\n\n // Used by selectable to compute row indices in tree-shaped data\n const rowIndexMap = computed(() => {\n const map = new Map<string, number>()\n if (!rowKey.value || !selectable.value) return map\n let index = 0\n const _traverse = (rows: T[]) => {\n if (!isArray(rows)) return\n rows.forEach((row) => {\n const id = getRowIdentity(row, rowKey.value)\n map.set(id, index)\n index += 1\n const children = getRowChildren(row)\n if (children.length) _traverse(children)\n })\n }\n _traverse(data.value || [])\n return map\n })\n\n // Update parent selection and indeterminate state based on children selection\n const updateSelectionByChildren = (\n options: {\n emitChange?: boolean\n rowIndexMap?: Map<string, number>\n } = {}\n ) => {\n const { emitChange = true } = options\n if (treeStates.checkStrictly.value || !rowKey.value) {\n selectionIndeterminate.value = {}\n halfSelection = []\n return\n }\n const rowKeyValue = rowKey.value\n const rowIndexMapValue = options.rowIndexMap ?? rowIndexMap.value\n const selectableFn = selectable.value\n const rowIdCache = new WeakMap<T, string>()\n const getCachedRowId = (row: T) => {\n const cachedId = rowIdCache.get(row)\n if (cachedId) return cachedId\n const id = getRowIdentity(row, rowKeyValue)\n rowIdCache.set(row, id)\n return id\n }\n const indeterminateMap: Record<string, boolean> = {}\n const nextHalfSelection: T[] = []\n const selectedIdSet = new Set(\n selection.value.map((row) => getCachedRowId(row))\n )\n const rowsToAdd: T[] = []\n let selectionChanged = false\n // Sync parent selection without triggering external select event\n const _updateSelectionForRow = (row: T, id: string, selected: boolean) => {\n const isRowSelected = selectedIdSet.has(id)\n if (selected && !isRowSelected) {\n rowsToAdd.push(row)\n selectedIdSet.add(id)\n selectionChanged = true\n } else if (!selected && isRowSelected) {\n selectedIdSet.delete(id)\n selectionChanged = true\n }\n }\n const _walk = (rows: T[]) => {\n let selectedCount = 0\n let selectableCount = 0\n if (!isArray(rows)) return { selectedCount, selectableCount }\n rows.forEach((row) => {\n const id = getCachedRowId(row)\n const children = getRowChildren(row)\n let childSelectedCount = 0\n let childSelectableCount = 0\n if (children.length) {\n const childResult = _walk(children)\n childSelectedCount = childResult.selectedCount\n childSelectableCount = childResult.selectableCount\n }\n const rowSelectable = selectableFn\n ? selectableFn.call(null, row, rowIndexMapValue.get(id) ?? 0)\n : true\n if (rowSelectable) {\n if (childSelectableCount > 0) {\n const allSelected = childSelectedCount === childSelectableCount\n const noneSelected = childSelectedCount === 0\n if (!allSelected && !noneSelected) {\n indeterminateMap[id] = true\n nextHalfSelection.push(row)\n }\n _updateSelectionForRow(row, id, allSelected)\n }\n }\n if (rowSelectable) {\n selectableCount += 1\n if (selectedIdSet.has(id)) {\n selectedCount += 1\n }\n }\n selectedCount += childSelectedCount\n selectableCount += childSelectableCount\n })\n return { selectedCount, selectableCount }\n }\n _walk(data.value || [])\n if (selectionChanged) {\n const nextSelection = selection.value.filter((row) =>\n selectedIdSet.has(getCachedRowId(row))\n )\n rowsToAdd.forEach((row) => {\n if (!selectedIdSet.has(getCachedRowId(row))) return\n nextSelection.push(row)\n })\n selection.value = nextSelection\n }\n selectionIndeterminate.value = indeterminateMap\n halfSelection = nextHalfSelection\n if (selectionChanged && emitChange) {\n instance.emit(\n 'selection-change',\n selection.value ? selection.value.slice() : []\n )\n }\n }\n\n const clearSelection = () => {\n isAllSelected.value = false\n const oldSelection = selection.value\n selection.value = []\n selectionIndeterminate.value = {}\n halfSelection = []\n if (oldSelection.length) {\n instance.emit('selection-change', [])\n }\n }\n\n const cleanSelection = () => {\n let deleted\n if (rowKey.value) {\n deleted = []\n const childrenKey = instance?.store?.states?.childrenColumnName.value\n const dataMap = getKeysMap(data.value, rowKey.value, true, childrenKey)\n // Include lazy-loaded children only if their parent is still in data\n const { lazyTreeNodeMap } = instance.store.states\n if (lazyTreeNodeMap.value) {\n Object.entries(lazyTreeNodeMap.value).forEach(\n ([parentId, lazyRows]) => {\n if (dataMap[parentId]) {\n ;(lazyRows as T[]).forEach((row) => {\n const id = getRowIdentity(row, rowKey.value)\n if (!dataMap[id]) {\n dataMap[id] = { row, index: -1 }\n }\n })\n }\n }\n )\n }\n for (const key in selectedMap.value) {\n if (hasOwn(selectedMap.value, key) && !dataMap[key]) {\n deleted.push(selectedMap.value[key].row)\n }\n }\n } else {\n deleted = selection.value.filter((item) => !data.value.includes(item))\n }\n if (deleted.length) {\n const newSelection = selection.value.filter(\n (item) => !deleted.includes(item)\n )\n selection.value = newSelection\n updateSelectionByChildren({ emitChange: false })\n instance.emit('selection-change', [...newSelection])\n }\n }\n\n const getSelectionRows = () => {\n return (selection.value || []).slice()\n }\n\n const getHalfSelectionRows = () => {\n return halfSelection.slice()\n }\n\n const cascadeToLazyChildren = (\n row: T,\n selected: boolean,\n rowIndexMap: Map<string, number>\n ) => {\n if (\n !rowKey.value ||\n treeStates.checkStrictly.value ||\n !treeStates.lazy.value\n )\n return\n const { lazyTreeNodeMap, childrenColumnName } = instance.store.states\n const id = getRowIdentity(row, rowKey.value)\n const lazyChildren = (lazyTreeNodeMap.value?.[id] ?? []) as T[]\n const inlineChildren = (row[childrenColumnName.value] ?? []) as T[]\n const treeProps = {\n children: childrenColumnName.value,\n checkStrictly: false,\n }\n\n for (const child of lazyChildren) {\n const childIndex =\n rowIndexMap.get(getRowIdentity(child, rowKey.value)) ?? 0\n toggleRowStatus(\n selection.value,\n child,\n selected,\n treeProps,\n selectable.value,\n childIndex,\n rowKey.value\n )\n // Recursively handle lazy children's inline descendants\n cascadeToLazyChildren(child, selected, rowIndexMap)\n }\n // Only recurse into inline children (lazy children handled above)\n for (const child of inlineChildren) {\n cascadeToLazyChildren(child, selected, rowIndexMap)\n }\n }\n\n const toggleRowSelection = (\n row: T,\n selected?: boolean,\n emitChange = true,\n ignoreSelectable = false\n ) => {\n const treeProps = {\n children: instance?.store?.states?.childrenColumnName.value,\n checkStrictly: instance?.store?.states?.checkStrictly.value,\n }\n const changed = toggleRowStatus(\n selection.value,\n row,\n selected,\n treeProps,\n ignoreSelectable ? undefined : selectable.value,\n data.value.indexOf(row),\n rowKey.value\n )\n if (changed) {\n // lazy mode and non-strict mode, sync lazy children selection status\n if (treeStates.lazy.value && !treeStates.checkStrictly.value) {\n const finalSelected = selected ?? isSelected(row)\n cascadeToLazyChildren(row, finalSelected, rowIndexMap.value)\n updateSelectionByChildren({\n emitChange: false,\n rowIndexMap: rowIndexMap.value,\n })\n } else {\n updateSelectionByChildren({ emitChange: false })\n }\n const newSelection = (selection.value || []).slice()\n // API call to modify selection, don't trigger select event\n if (emitChange) {\n instance.emit('select', newSelection, row)\n }\n instance.emit('selection-change', newSelection)\n }\n }\n\n const _toggleAllSelection = () => {\n // when only some rows are selected (but not all), select or deselect all of them\n // depending on the value of selectOnIndeterminate\n const value = selectOnIndeterminate.value\n ? !isAllSelected.value\n : !(isAllSelected.value || selection.value.length)\n isAllSelected.value = value\n\n let selectionChanged = false\n let childrenCount = 0\n const rowKey = instance?.store?.states?.rowKey.value\n const { childrenColumnName } = instance.store.states\n const treeProps = {\n children: childrenColumnName.value,\n checkStrictly: false, // Disable checkStrictly when selecting all\n }\n\n data.value.forEach((row, index) => {\n const rowIndex = index + childrenCount\n if (\n toggleRowStatus(\n selection.value,\n row,\n value,\n treeProps,\n selectable.value,\n rowIndex,\n rowKey\n )\n ) {\n selectionChanged = true\n }\n childrenCount += getChildrenCount(getRowIdentity(row, rowKey))\n })\n\n const rowIndexMapVal = rowIndexMap.value\n\n if (treeStates.lazy.value && !treeStates.checkStrictly.value && rowKey) {\n for (const lazyRows of Object.values(treeStates.lazyTreeNodeMap.value)) {\n for (const child of lazyRows as T[]) {\n const childIndex =\n rowIndexMapVal.get(getRowIdentity(child, rowKey)) ?? 0\n if (\n toggleRowStatus(\n selection.value,\n child,\n value,\n treeProps,\n selectable.value,\n childIndex,\n rowKey\n )\n )\n selectionChanged = true\n cascadeToLazyChildren(child, value, rowIndexMapVal)\n }\n }\n }\n\n updateSelectionByChildren({\n emitChange: false,\n rowIndexMap: rowIndexMapVal,\n })\n\n if (selectionChanged) {\n instance.emit(\n 'selection-change',\n selection.value ? [...selection.value] : []\n )\n }\n instance.emit('select-all', (selection.value || []).slice())\n }\n\n const updateAllSelected = () => {\n // When data is null, default values during destructuring are ignored\n if (data.value?.length === 0) {\n isAllSelected.value = false\n return\n }\n\n let rowIndex = 0\n let selectedCount = 0\n\n const checkSelectedStatus = (rows: T[]) => {\n for (const row of rows) {\n const isRowSelectable =\n selectable.value && selectable.value.call(null, row, rowIndex)\n\n if (!isSelected(row)) {\n if (!selectable.value || isRowSelectable) {\n return false\n }\n } else {\n selectedCount++\n }\n rowIndex++\n\n const children = getRowChildren(row)\n if (children.length && !checkSelectedStatus(children)) {\n return false\n }\n }\n return true\n }\n\n const isAllSelected_ = checkSelectedStatus(data.value || [])\n isAllSelected.value = selectedCount === 0 ? false : isAllSelected_\n }\n\n const getRowIndeterminate = (row: T) => {\n if (!rowKey.value) return false\n const id = getRowIdentity(row, rowKey.value)\n return !!selectionIndeterminate.value[id]\n }\n\n const getChildrenCount = (rowKey: string) => {\n if (!instance || !instance.store) return 0\n const { treeData } = instance.store.states\n let count = 0\n const children = treeData.value[rowKey]?.children\n if (children) {\n count += children.length\n children.forEach((childKey) => {\n count += getChildrenCount(childKey)\n })\n }\n return count\n }\n\n const updateFilters = (column: TableColumnCtx<T>, values: string[]) => {\n const filters_: Record<string, string[]> = {}\n ensureArray(column).forEach((col) => {\n filters.value[col.id] = values\n filters_[col.columnKey || col.id] = values\n })\n return filters_\n }\n\n const updateSort = (\n column: TableColumnCtx<T> | null,\n prop: string | null,\n order: TableSortOrder | null\n ) => {\n if (sortingColumn.value && sortingColumn.value !== column) {\n sortingColumn.value.order = null\n }\n sortingColumn.value = column\n sortProp.value = prop\n sortOrder.value = order\n }\n\n const execFilter = () => {\n let sourceData = unref(_data)\n Object.keys(filters.value).forEach((columnId) => {\n const values = filters.value[columnId]\n if (!values || values.length === 0) return\n const column = getColumnById(\n {\n columns: columns.value,\n },\n columnId\n )\n if (column && column.filterMethod) {\n sourceData = sourceData.filter((row) => {\n return values.some((value) =>\n column.filterMethod.call(null, value, row, column)\n )\n })\n }\n })\n filteredData.value = sourceData\n }\n\n const execSort = () => {\n data.value = sortData(filteredData.value ?? [], {\n sortingColumn: sortingColumn.value,\n sortProp: sortProp.value,\n sortOrder: sortOrder.value,\n })\n }\n\n // Filter and sort data based on filters and sort conditions\n const execQuery = (ignore: { filter: boolean } | undefined = undefined) => {\n if (!ignore?.filter) {\n execFilter()\n }\n execSort()\n }\n\n const clearFilter = (columnKeys?: string[] | string) => {\n const { tableHeaderRef } = instance.refs as TableRefs\n if (!tableHeaderRef) return\n const panels = Object.assign({}, tableHeaderRef.filterPanels)\n\n const keys = Object.keys(panels)\n if (!keys.length) return\n\n if (isString(columnKeys)) {\n columnKeys = [columnKeys]\n }\n\n if (isArray(columnKeys)) {\n const columns_ = columnKeys.map((key) =>\n getColumnByKey(\n {\n columns: columns.value,\n },\n key\n )\n )\n keys.forEach((key) => {\n const column = columns_.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n instance.store.commit('filterChange', {\n column: columns_,\n values: [],\n silent: true,\n multi: true,\n })\n } else {\n keys.forEach((key) => {\n const column = columns.value.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n\n filters.value = {}\n instance.store.commit('filterChange', {\n column: {},\n values: [],\n silent: true,\n })\n }\n }\n\n const clearSort = () => {\n if (!sortingColumn.value) return\n\n updateSort(null, null, null)\n instance.store.commit('changeSortCondition', {\n silent: true,\n })\n }\n const {\n setExpandRowKeys,\n toggleRowExpansion,\n updateExpandRows,\n states: expandStates,\n isRowExpanded,\n } = useExpand({\n data,\n rowKey,\n })\n const {\n updateTreeExpandKeys,\n toggleTreeExpansion,\n updateTreeData,\n updateKeyChildren,\n loadOrToggle,\n states: treeStates,\n } = useTree({\n data,\n rowKey,\n })\n const {\n updateCurrentRowData,\n updateCurrentRow,\n setCurrentRowKey,\n states: currentData,\n } = useCurrent({\n data,\n rowKey,\n })\n // Adapter layer, expand-row-keys is used in both Expand and TreeTable\n const setExpandRowKeysAdapter = (val: string[]) => {\n // Triggers extra computation, but kept for compatibility\n setExpandRowKeys(val)\n updateTreeExpandKeys(val)\n }\n\n // Used for both expand rows and TreeTable\n const toggleRowExpansionAdapter = (row: T, expanded?: boolean) => {\n const hasExpandColumn = columns.value.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n toggleRowExpansion(row, expanded)\n } else {\n toggleTreeExpansion(row, expanded)\n }\n }\n\n watch(\n () => treeStates.checkStrictly.value,\n (value) => {\n if (value) {\n selectionIndeterminate.value = {}\n halfSelection = []\n } else {\n // Internal sync when switching strict mode, avoid triggering selection-change\n updateSelectionByChildren({ emitChange: false })\n }\n updateAllSelected()\n }\n )\n\n watch(\n () => treeStates.lazyTreeNodeMap.value,\n () => {\n if (\n !treeStates.lazy.value ||\n treeStates.checkStrictly.value ||\n !rowKey.value\n )\n return\n const rowIndexMapVal = rowIndexMap.value\n const prevLen = selection.value.length\n\n for (const parentId of Object.keys(treeStates.lazyTreeNodeMap.value)) {\n if (!selectedMap.value?.[parentId]) continue\n cascadeToLazyChildren(\n selectedMap.value[parentId].row,\n true,\n rowIndexMapVal\n )\n }\n\n const cascadeChanged = selection.value.length !== prevLen\n updateSelectionByChildren({\n emitChange: !cascadeChanged,\n rowIndexMap: rowIndexMapVal,\n })\n updateAllSelected()\n if (cascadeChanged) {\n instance.emit('selection-change', [...selection.value])\n }\n }\n )\n\n return {\n assertRowKey,\n updateColumns,\n scheduleLayout,\n isSelected,\n clearSelection,\n cleanSelection,\n getSelectionRows,\n getHalfSelectionRows,\n toggleRowSelection,\n _toggleAllSelection,\n toggleAllSelection: null as (() => void) | null,\n updateAllSelected,\n updateSelectionByChildren,\n getRowIndeterminate,\n updateFilters,\n updateCurrentRow,\n updateSort,\n execFilter,\n execSort,\n execQuery,\n clearFilter,\n clearSort,\n toggleRowExpansion,\n setExpandRowKeysAdapter,\n setCurrentRowKey,\n toggleRowExpansionAdapter,\n isRowExpanded,\n updateExpandRows,\n updateCurrentRowData,\n loadOrToggle,\n updateTreeData,\n updateKeyChildren,\n states: {\n tableSize,\n rowKey,\n data,\n _data,\n isComplex,\n _columns,\n originColumns,\n columns,\n fixedColumns,\n rightFixedColumns,\n leafColumns,\n fixedLeafColumns,\n rightFixedLeafColumns,\n updateOrderFns,\n leafColumnsLength,\n fixedLeafColumnsLength,\n rightFixedLeafColumnsLength,\n isAllSelected,\n selection,\n selectionIndeterminate,\n reserveSelection,\n selectOnIndeterminate,\n selectable,\n rowExpandable,\n filters,\n filteredData,\n sortingColumn,\n sortProp,\n sortOrder,\n hoverRow,\n ...expandStates,\n ...treeStates,\n ...currentData,\n },\n }\n}\n\nexport default useWatcher\n"],"mappings":"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"}
@@ -355,15 +355,15 @@ declare const tableProps: {
355
355
  readonly validator: ((val: unknown) => boolean) | undefined;
356
356
  __epPropKey: true;
357
357
  };
358
- width: (NumberConstructor | StringConstructor)[];
358
+ width: (StringConstructor | NumberConstructor)[];
359
359
  /**
360
360
  * @description table's height. By default it has an `auto` height. If its value is a number, the height is measured in pixels; if its value is a string, the value will be assigned to element's style.height, the height is affected by external styles
361
361
  */
362
- height: (NumberConstructor | StringConstructor)[];
362
+ height: (StringConstructor | NumberConstructor)[];
363
363
  /**
364
364
  * @description table's max-height. The legal value is a number or the height in px
365
365
  */
366
- maxHeight: (NumberConstructor | StringConstructor)[];
366
+ maxHeight: (StringConstructor | NumberConstructor)[];
367
367
  /**
368
368
  * @description whether width of column automatically fits its container
369
369
  */
@@ -441,7 +441,7 @@ declare const tableProps: {
441
441
  /**
442
442
  * @description key of current row, a set only prop
443
443
  */
444
- currentRowKey: (NumberConstructor | StringConstructor)[];
444
+ currentRowKey: (StringConstructor | NumberConstructor)[];
445
445
  /**
446
446
  * @description displayed text when data is empty. You can customize this area with `#empty`
447
447
  */
@@ -545,7 +545,7 @@ declare const tableProps: {
545
545
  tooltipFormatter: PropType<TableProps<any>["tooltipFormatter"]>;
546
546
  appendFilterPanelTo: StringConstructor;
547
547
  scrollbarTabindex: {
548
- type: (NumberConstructor | StringConstructor)[];
548
+ type: (StringConstructor | NumberConstructor)[];
549
549
  default: undefined;
550
550
  };
551
551
  /**
@@ -34,7 +34,7 @@ declare function useStyle<T extends DefaultRow>(props: TableProps<T>, layout: Ta
34
34
  tableBodyStyles: import("vue").ComputedRef<{
35
35
  width: string;
36
36
  }>;
37
- tableLayout: import("vue").ComputedRef<"fixed" | "auto">;
37
+ tableLayout: import("vue").ComputedRef<"auto" | "fixed">;
38
38
  scrollbarViewStyle: {
39
39
  display: string;
40
40
  verticalAlign: string;
@@ -64,7 +64,6 @@ function useStyle(props, layout, store, table) {
64
64
  layout.updateColumnsWidth();
65
65
  if (typeof window === "undefined") return;
66
66
  requestAnimationFrame(syncPosition);
67
- store.onScroll();
68
67
  };
69
68
  onMounted(async () => {
70
69
  await nextTick();
@@ -87,9 +86,6 @@ function useStyle(props, layout, store, table) {
87
86
  });
88
87
  });
89
88
  table.$ready = true;
90
- setTimeout(() => {
91
- store.onScroll();
92
- });
93
89
  });
94
90
  const setScrollClassByEl = (el, className) => {
95
91
  if (!el) return;
@@ -1 +1 @@
1
- {"version":3,"file":"style-helper.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/table/style-helper.ts"],"sourcesContent":["import {\n computed,\n nextTick,\n onMounted,\n ref,\n unref,\n} from 'vue'\nimport { watch, watchEffect } from '../../../config-provider'\nimport { useEventListener, useResizeObserver } from '@vueuse/core'\nimport { useFormSize } from '@element-plus/components/form'\n\nimport type { DefaultRow, RenderExpanded, Table, TableProps } from './defaults'\nimport type { Store } from '../store'\nimport type TableLayout from '../table-layout'\nimport type { TableColumnCtx } from '../table-column/defaults'\n\nfunction useStyle<T extends DefaultRow>(\n props: TableProps<T>,\n layout: TableLayout<T>,\n store: Store<T>,\n table: Table<T>\n) {\n const isHidden = ref(false)\n const renderExpanded = ref<RenderExpanded<T> | null>(null)\n const resizeProxyVisible = ref(false)\n const setDragVisible = (visible: boolean) => {\n resizeProxyVisible.value = visible\n }\n const resizeState = ref<{\n width: null | number\n height: null | number\n headerHeight: null | number\n }>({\n width: null,\n height: null,\n headerHeight: null,\n })\n const isGroup = ref(false)\n const scrollbarViewStyle = {\n display: 'inline-block',\n verticalAlign: 'middle',\n }\n const tableWidth = ref()\n const tableScrollHeight = ref(0)\n const bodyScrollHeight = ref(0)\n const headerScrollHeight = ref(0)\n const footerScrollHeight = ref(0)\n const appendScrollHeight = ref(0)\n\n watch(\n () => props.height,\n (value) => {\n layout.setHeight(value ?? null)\n },\n { immediate: true }\n )\n watch(\n () => props.maxHeight,\n (value) => {\n layout.setMaxHeight(value ?? null)\n },\n { immediate: true }\n )\n watch(\n () => [props.currentRowKey, store.states.rowKey],\n ([currentRowKey, rowKey]) => {\n if (!unref(rowKey) || !unref(currentRowKey)) return\n store.setCurrentRowKey(`${currentRowKey}`)\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.data,\n (data) => {\n table.store.commit('setData', data)\n },\n {\n immediate: true,\n deep: true,\n }\n )\n watchEffect(() => {\n if (props.expandRowKeys) {\n store.setExpandRowKeysAdapter(props.expandRowKeys)\n }\n })\n\n const handleMouseLeave = () => {\n table.store.commit('setHoverRow', null)\n if (table.hoverState) table.hoverState = null\n }\n\n const handleHeaderFooterMousewheel = (_event: WheelEvent, data: any) => {\n const { pixelX, pixelY } = data\n if (Math.abs(pixelX) >= Math.abs(pixelY)) {\n table.refs.bodyWrapper.scrollLeft += data.pixelX / 5\n }\n }\n\n const shouldUpdateHeight = computed(() => {\n return (\n props.height ||\n props.maxHeight ||\n store.states.fixedColumns.value.length > 0 ||\n store.states.rightFixedColumns.value.length > 0\n )\n })\n\n const tableBodyStyles = computed(() => {\n return {\n width: layout.bodyWidth.value ? `${layout.bodyWidth.value}px` : '',\n }\n })\n\n const doLayout = () => {\n if (shouldUpdateHeight.value) {\n layout.updateElsHeight()\n }\n layout.updateColumnsWidth()\n\n // When the test case is running, the context environment simulated by jsdom may have been destroyed,\n // and window.requestAnimationFrame does not exist at this time.\n if (typeof window === 'undefined') return\n requestAnimationFrame(syncPosition)\n store.onScroll()\n }\n onMounted(async () => {\n await nextTick()\n store.updateColumns()\n bindEvents()\n requestAnimationFrame(doLayout)\n\n const el: HTMLElement = table.vnode.el as HTMLElement\n const tableHeader: HTMLElement = table.refs.headerWrapper\n if (props.flexible && el && el.parentElement) {\n // Automatic minimum size of flex-items\n // Ensure that the main axis does not follow the width of the items\n el.parentElement.style.minWidth = '0'\n }\n\n resizeState.value = {\n width: (tableWidth.value = el.offsetWidth),\n height: el.offsetHeight,\n headerHeight:\n props.showHeader && tableHeader ? tableHeader.offsetHeight : null,\n }\n\n // init filters\n store.states.columns.value.forEach((column: TableColumnCtx<T>) => {\n if (column.filteredValue && column.filteredValue.length) {\n table.store.commit('filterChange', {\n column,\n values: column.filteredValue,\n silent: true,\n })\n }\n })\n table.$ready = true\n setTimeout(() => {\n store.onScroll()\n })\n })\n const setScrollClassByEl = (el: HTMLElement, className: string) => {\n if (!el) return\n const classList = Array.from(el.classList).filter(\n (item) => !item.startsWith('is-scrolling-')\n )\n classList.push(layout.scrollX.value ? className : 'is-scrolling-none')\n el.className = classList.join(' ')\n }\n const setScrollClass = (className: string) => {\n const { tableWrapper } = table.refs\n setScrollClassByEl(tableWrapper, className)\n }\n const hasScrollClass = (className: string) => {\n const { tableWrapper } = table.refs\n return !!(tableWrapper && tableWrapper.classList.contains(className))\n }\n const syncPosition = function () {\n if (!table.refs.scrollBarRef) return\n if (!layout.scrollX.value) {\n const scrollingNoneClass = 'is-scrolling-none'\n if (!hasScrollClass(scrollingNoneClass)) {\n setScrollClass(scrollingNoneClass)\n }\n return\n }\n const scrollContainer = table.refs.scrollBarRef.wrapRef\n if (!scrollContainer) return\n const { scrollLeft, offsetWidth, scrollWidth } = scrollContainer\n const { headerWrapper, footerWrapper } = table.refs\n if (headerWrapper) headerWrapper.scrollLeft = scrollLeft\n if (footerWrapper) footerWrapper.scrollLeft = scrollLeft\n const maxScrollLeftPosition = scrollWidth - offsetWidth - 1\n if (scrollLeft >= maxScrollLeftPosition) {\n setScrollClass('is-scrolling-right')\n } else if (scrollLeft === 0) {\n setScrollClass('is-scrolling-left')\n } else {\n setScrollClass('is-scrolling-middle')\n }\n }\n\n const bindEvents = () => {\n if (!table.refs.scrollBarRef) return\n if (table.refs.scrollBarRef.wrapRef) {\n useEventListener(\n table.refs.scrollBarRef.wrapRef,\n 'scroll',\n syncPosition,\n {\n passive: true,\n }\n )\n }\n if (props.fit) {\n useResizeObserver(table.vnode.el as HTMLElement, resizeListener)\n } else {\n useEventListener(window, 'resize', resizeListener)\n }\n\n useResizeObserver(table.refs.tableInnerWrapper, () => {\n resizeListener()\n table.refs?.scrollBarRef?.update()\n })\n }\n const resizeListener = () => {\n const el = table.vnode.el\n if (!table.$ready || !el) return\n\n let shouldUpdateLayout = false\n const {\n width: oldWidth,\n height: oldHeight,\n headerHeight: oldHeaderHeight,\n } = resizeState.value\n\n const width = (tableWidth.value = el.offsetWidth)\n if (oldWidth !== width) {\n shouldUpdateLayout = true\n }\n\n const height = el.offsetHeight\n if ((props.height || shouldUpdateHeight.value) && oldHeight !== height) {\n shouldUpdateLayout = true\n }\n\n const tableHeader: HTMLElement =\n props.tableLayout === 'fixed'\n ? table.refs.headerWrapper\n : table.refs.tableHeaderRef?.$el\n if (props.showHeader && tableHeader?.offsetHeight !== oldHeaderHeight) {\n shouldUpdateLayout = true\n }\n\n tableScrollHeight.value = table.refs.tableWrapper?.scrollHeight || 0\n headerScrollHeight.value = tableHeader?.scrollHeight || 0\n footerScrollHeight.value = table.refs.footerWrapper?.offsetHeight || 0\n appendScrollHeight.value = table.refs.appendWrapper?.offsetHeight || 0\n bodyScrollHeight.value =\n tableScrollHeight.value -\n headerScrollHeight.value -\n footerScrollHeight.value -\n appendScrollHeight.value\n\n if (shouldUpdateLayout) {\n resizeState.value = {\n width,\n height,\n headerHeight: (props.showHeader && tableHeader?.offsetHeight) || 0,\n }\n doLayout()\n }\n }\n const tableSize = useFormSize()\n const bodyWidth = computed(() => {\n const { bodyWidth: bodyWidth_, scrollY, gutterWidth } = layout\n return bodyWidth_.value\n ? `${(bodyWidth_.value as number) - (scrollY.value ? gutterWidth : 0)}px`\n : ''\n })\n\n const tableLayout = computed(() => {\n if (props.maxHeight) return 'fixed'\n return props.tableLayout!\n })\n\n const emptyBlockStyle = computed(() => {\n if (props.data && props.data.length) return\n let height = '100%'\n if (props.height && bodyScrollHeight.value) {\n height = `${bodyScrollHeight.value}px`\n }\n const width = tableWidth.value\n return {\n width: width ? `${width}px` : '',\n height,\n }\n })\n\n const scrollbarStyle = computed(() => {\n if (props.height) {\n return {\n height: '100%',\n }\n }\n if (props.maxHeight) {\n if (!Number.isNaN(Number(props.maxHeight))) {\n return {\n maxHeight: `${\n +props.maxHeight -\n headerScrollHeight.value -\n footerScrollHeight.value\n }px`,\n }\n } else {\n return {\n maxHeight: `calc(${props.maxHeight} - ${\n headerScrollHeight.value + footerScrollHeight.value\n }px)`,\n }\n }\n }\n\n return {}\n })\n\n return {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n scrollbarStyle,\n }\n}\n\nexport default useStyle\n"],"mappings":"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"}
1
+ {"version":3,"file":"style-helper.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/table/style-helper.ts"],"sourcesContent":["import {\n computed,\n nextTick,\n onMounted,\n ref,\n unref,\n} from 'vue'\nimport { watch, watchEffect } from '../../../config-provider'\nimport { useEventListener, useResizeObserver } from '@vueuse/core'\nimport { useFormSize } from '@element-plus/components/form'\n\nimport type { DefaultRow, RenderExpanded, Table, TableProps } from './defaults'\nimport type { Store } from '../store'\nimport type TableLayout from '../table-layout'\nimport type { TableColumnCtx } from '../table-column/defaults'\n\nfunction useStyle<T extends DefaultRow>(\n props: TableProps<T>,\n layout: TableLayout<T>,\n store: Store<T>,\n table: Table<T>\n) {\n const isHidden = ref(false)\n const renderExpanded = ref<RenderExpanded<T> | null>(null)\n const resizeProxyVisible = ref(false)\n const setDragVisible = (visible: boolean) => {\n resizeProxyVisible.value = visible\n }\n const resizeState = ref<{\n width: null | number\n height: null | number\n headerHeight: null | number\n }>({\n width: null,\n height: null,\n headerHeight: null,\n })\n const isGroup = ref(false)\n const scrollbarViewStyle = {\n display: 'inline-block',\n verticalAlign: 'middle',\n }\n const tableWidth = ref()\n const tableScrollHeight = ref(0)\n const bodyScrollHeight = ref(0)\n const headerScrollHeight = ref(0)\n const footerScrollHeight = ref(0)\n const appendScrollHeight = ref(0)\n\n watch(\n () => props.height,\n (value) => {\n layout.setHeight(value ?? null)\n },\n { immediate: true }\n )\n watch(\n () => props.maxHeight,\n (value) => {\n layout.setMaxHeight(value ?? null)\n },\n { immediate: true }\n )\n watch(\n () => [props.currentRowKey, store.states.rowKey],\n ([currentRowKey, rowKey]) => {\n if (!unref(rowKey) || !unref(currentRowKey)) return\n store.setCurrentRowKey(`${currentRowKey}`)\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.data,\n (data) => {\n table.store.commit('setData', data)\n },\n {\n immediate: true,\n deep: true,\n }\n )\n watchEffect(() => {\n if (props.expandRowKeys) {\n store.setExpandRowKeysAdapter(props.expandRowKeys)\n }\n })\n\n const handleMouseLeave = () => {\n table.store.commit('setHoverRow', null)\n if (table.hoverState) table.hoverState = null\n }\n\n const handleHeaderFooterMousewheel = (_event: WheelEvent, data: any) => {\n const { pixelX, pixelY } = data\n if (Math.abs(pixelX) >= Math.abs(pixelY)) {\n table.refs.bodyWrapper.scrollLeft += data.pixelX / 5\n }\n }\n\n const shouldUpdateHeight = computed(() => {\n return (\n props.height ||\n props.maxHeight ||\n store.states.fixedColumns.value.length > 0 ||\n store.states.rightFixedColumns.value.length > 0\n )\n })\n\n const tableBodyStyles = computed(() => {\n return {\n width: layout.bodyWidth.value ? `${layout.bodyWidth.value}px` : '',\n }\n })\n\n const doLayout = () => {\n if (shouldUpdateHeight.value) {\n layout.updateElsHeight()\n }\n layout.updateColumnsWidth()\n\n // When the test case is running, the context environment simulated by jsdom may have been destroyed,\n // and window.requestAnimationFrame does not exist at this time.\n if (typeof window === 'undefined') return\n requestAnimationFrame(syncPosition)\n }\n onMounted(async () => {\n await nextTick()\n store.updateColumns()\n bindEvents()\n requestAnimationFrame(doLayout)\n\n const el: HTMLElement = table.vnode.el as HTMLElement\n const tableHeader: HTMLElement = table.refs.headerWrapper\n if (props.flexible && el && el.parentElement) {\n // Automatic minimum size of flex-items\n // Ensure that the main axis does not follow the width of the items\n el.parentElement.style.minWidth = '0'\n }\n\n resizeState.value = {\n width: (tableWidth.value = el.offsetWidth),\n height: el.offsetHeight,\n headerHeight:\n props.showHeader && tableHeader ? tableHeader.offsetHeight : null,\n }\n\n // init filters\n store.states.columns.value.forEach((column: TableColumnCtx<T>) => {\n if (column.filteredValue && column.filteredValue.length) {\n table.store.commit('filterChange', {\n column,\n values: column.filteredValue,\n silent: true,\n })\n }\n })\n table.$ready = true\n })\n const setScrollClassByEl = (el: HTMLElement, className: string) => {\n if (!el) return\n const classList = Array.from(el.classList).filter(\n (item) => !item.startsWith('is-scrolling-')\n )\n classList.push(layout.scrollX.value ? className : 'is-scrolling-none')\n el.className = classList.join(' ')\n }\n const setScrollClass = (className: string) => {\n const { tableWrapper } = table.refs\n setScrollClassByEl(tableWrapper, className)\n }\n const hasScrollClass = (className: string) => {\n const { tableWrapper } = table.refs\n return !!(tableWrapper && tableWrapper.classList.contains(className))\n }\n const syncPosition = function () {\n if (!table.refs.scrollBarRef) return\n if (!layout.scrollX.value) {\n const scrollingNoneClass = 'is-scrolling-none'\n if (!hasScrollClass(scrollingNoneClass)) {\n setScrollClass(scrollingNoneClass)\n }\n return\n }\n const scrollContainer = table.refs.scrollBarRef.wrapRef\n if (!scrollContainer) return\n const { scrollLeft, offsetWidth, scrollWidth } = scrollContainer\n const { headerWrapper, footerWrapper } = table.refs\n if (headerWrapper) headerWrapper.scrollLeft = scrollLeft\n if (footerWrapper) footerWrapper.scrollLeft = scrollLeft\n const maxScrollLeftPosition = scrollWidth - offsetWidth - 1\n if (scrollLeft >= maxScrollLeftPosition) {\n setScrollClass('is-scrolling-right')\n } else if (scrollLeft === 0) {\n setScrollClass('is-scrolling-left')\n } else {\n setScrollClass('is-scrolling-middle')\n }\n }\n\n const bindEvents = () => {\n if (!table.refs.scrollBarRef) return\n if (table.refs.scrollBarRef.wrapRef) {\n useEventListener(\n table.refs.scrollBarRef.wrapRef,\n 'scroll',\n syncPosition,\n {\n passive: true,\n }\n )\n }\n if (props.fit) {\n useResizeObserver(table.vnode.el as HTMLElement, resizeListener)\n } else {\n useEventListener(window, 'resize', resizeListener)\n }\n\n useResizeObserver(table.refs.tableInnerWrapper, () => {\n resizeListener()\n table.refs?.scrollBarRef?.update()\n })\n }\n const resizeListener = () => {\n const el = table.vnode.el\n if (!table.$ready || !el) return\n\n let shouldUpdateLayout = false\n const {\n width: oldWidth,\n height: oldHeight,\n headerHeight: oldHeaderHeight,\n } = resizeState.value\n\n const width = (tableWidth.value = el.offsetWidth)\n if (oldWidth !== width) {\n shouldUpdateLayout = true\n }\n\n const height = el.offsetHeight\n if ((props.height || shouldUpdateHeight.value) && oldHeight !== height) {\n shouldUpdateLayout = true\n }\n\n const tableHeader: HTMLElement =\n props.tableLayout === 'fixed'\n ? table.refs.headerWrapper\n : table.refs.tableHeaderRef?.$el\n if (props.showHeader && tableHeader?.offsetHeight !== oldHeaderHeight) {\n shouldUpdateLayout = true\n }\n\n tableScrollHeight.value = table.refs.tableWrapper?.scrollHeight || 0\n headerScrollHeight.value = tableHeader?.scrollHeight || 0\n footerScrollHeight.value = table.refs.footerWrapper?.offsetHeight || 0\n appendScrollHeight.value = table.refs.appendWrapper?.offsetHeight || 0\n bodyScrollHeight.value =\n tableScrollHeight.value -\n headerScrollHeight.value -\n footerScrollHeight.value -\n appendScrollHeight.value\n\n if (shouldUpdateLayout) {\n resizeState.value = {\n width,\n height,\n headerHeight: (props.showHeader && tableHeader?.offsetHeight) || 0,\n }\n doLayout()\n }\n }\n const tableSize = useFormSize()\n const bodyWidth = computed(() => {\n const { bodyWidth: bodyWidth_, scrollY, gutterWidth } = layout\n return bodyWidth_.value\n ? `${(bodyWidth_.value as number) - (scrollY.value ? gutterWidth : 0)}px`\n : ''\n })\n\n const tableLayout = computed(() => {\n if (props.maxHeight) return 'fixed'\n return props.tableLayout!\n })\n\n const emptyBlockStyle = computed(() => {\n if (props.data && props.data.length) return\n let height = '100%'\n if (props.height && bodyScrollHeight.value) {\n height = `${bodyScrollHeight.value}px`\n }\n const width = tableWidth.value\n return {\n width: width ? `${width}px` : '',\n height,\n }\n })\n\n const scrollbarStyle = computed(() => {\n if (props.height) {\n return {\n height: '100%',\n }\n }\n if (props.maxHeight) {\n if (!Number.isNaN(Number(props.maxHeight))) {\n return {\n maxHeight: `${\n +props.maxHeight -\n headerScrollHeight.value -\n footerScrollHeight.value\n }px`,\n }\n } else {\n return {\n maxHeight: `calc(${props.maxHeight} - ${\n headerScrollHeight.value + footerScrollHeight.value\n }px)`,\n }\n }\n }\n\n return {}\n })\n\n return {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n scrollbarStyle,\n }\n}\n\nexport default useStyle\n"],"mappings":"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"}
@@ -37,6 +37,5 @@ declare const defaultProps: {
37
37
  };
38
38
  highlight: BooleanConstructor;
39
39
  };
40
- declare const RenderLen = 20;
41
40
  //#endregion
42
- export { RenderLen, TableBodyProps, defaultProps as default };
41
+ export { TableBodyProps, defaultProps as default };
@@ -19,8 +19,7 @@ const defaultProps = {
19
19
  },
20
20
  highlight: Boolean
21
21
  };
22
- const RenderLen = 20;
23
22
  //#endregion
24
- export { RenderLen, defaultProps as default };
23
+ export { defaultProps as default };
25
24
 
26
25
  //# sourceMappingURL=defaults.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/table-body/defaults.ts"],"sourcesContent":["import type { PropType } from 'vue'\nimport type { Store } from '../store'\nimport type {\n ColumnCls,\n ColumnStyle,\n DefaultRow,\n Table,\n} from '../table/defaults'\nimport type { TableOverflowTooltipOptions } from '../util'\n\ninterface TableBodyProps<T extends DefaultRow> {\n store: Store<T>\n stripe?: boolean\n context: Table<T>\n rowClassName: ColumnCls<T>\n rowStyle: ColumnStyle<T>\n fixed: string\n highlight: boolean\n tooltipEffect?: string\n tooltipOptions?: TableOverflowTooltipOptions\n}\n\nconst defaultProps = {\n store: {\n required: true,\n type: Object as PropType<TableBodyProps<any>['store']>,\n },\n stripe: Boolean,\n tooltipEffect: String,\n tooltipOptions: {\n type: Object as PropType<TableBodyProps<any>['tooltipOptions']>,\n },\n context: {\n default: () => ({}),\n type: Object as PropType<TableBodyProps<any>['context']>,\n },\n rowClassName: [String, Function] as PropType<\n TableBodyProps<any>['rowClassName']\n >,\n rowStyle: [Object, Function] as PropType<TableBodyProps<any>['rowStyle']>,\n fixed: {\n type: String,\n default: '',\n },\n highlight: Boolean,\n}\nconst RenderLen = 20\n\nexport { TableBodyProps, RenderLen }\nexport default defaultProps\n"],"mappings":";AAsBA,MAAM,eAAe;CACnB,OAAO;EACL,UAAU;EACV,MAAM;CACR;CACA,QAAQ;CACR,eAAe;CACf,gBAAgB,EACd,MAAM,OACR;CACA,SAAS;EACP,gBAAgB,CAAC;EACjB,MAAM;CACR;CACA,cAAc,CAAC,QAAQ,QAAQ;CAG/B,UAAU,CAAC,QAAQ,QAAQ;CAC3B,OAAO;EACL,MAAM;EACN,SAAS;CACX;CACA,WAAW;AACb;AACA,MAAM,YAAY"}
1
+ {"version":3,"file":"defaults.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/table-body/defaults.ts"],"sourcesContent":["import type { PropType } from 'vue'\nimport type { Store } from '../store'\nimport type {\n ColumnCls,\n ColumnStyle,\n DefaultRow,\n Table,\n} from '../table/defaults'\nimport type { TableOverflowTooltipOptions } from '../util'\n\ninterface TableBodyProps<T extends DefaultRow> {\n store: Store<T>\n stripe?: boolean\n context: Table<T>\n rowClassName: ColumnCls<T>\n rowStyle: ColumnStyle<T>\n fixed: string\n highlight: boolean\n tooltipEffect?: string\n tooltipOptions?: TableOverflowTooltipOptions\n}\n\nconst defaultProps = {\n store: {\n required: true,\n type: Object as PropType<TableBodyProps<any>['store']>,\n },\n stripe: Boolean,\n tooltipEffect: String,\n tooltipOptions: {\n type: Object as PropType<TableBodyProps<any>['tooltipOptions']>,\n },\n context: {\n default: () => ({}),\n type: Object as PropType<TableBodyProps<any>['context']>,\n },\n rowClassName: [String, Function] as PropType<\n TableBodyProps<any>['rowClassName']\n >,\n rowStyle: [Object, Function] as PropType<TableBodyProps<any>['rowStyle']>,\n fixed: {\n type: String,\n default: '',\n },\n highlight: Boolean,\n}\n\nexport { TableBodyProps }\nexport default defaultProps\n"],"mappings":";AAsBA,MAAM,eAAe;CACnB,OAAO;EACL,UAAU;EACV,MAAM;CACR;CACA,QAAQ;CACR,eAAe;CACf,gBAAgB,EACd,MAAM,OACR;CACA,SAAS;EACP,gBAAgB,CAAC;EACjB,MAAM;CACR;CACA,cAAc,CAAC,QAAQ,QAAQ;CAG/B,UAAU,CAAC,QAAQ,QAAQ;CAC3B,OAAO;EACL,MAAM;EACN,SAAS;CACX;CACA,WAAW;AACb"}
@@ -5,9 +5,9 @@ import { useNamespace } from "../../../../hooks/use-namespace/index.mjs";
5
5
  import { watch as watch$1 } from "../../../config-provider/src/for-editor.mjs";
6
6
  import { TABLE_INJECTION_KEY } from "../tokens.mjs";
7
7
  import { removePopper } from "../util.mjs";
8
- import defaultProps from "./defaults.mjs";
9
8
  import useLayoutObserver from "../layout-observer.mjs";
10
9
  import useRender from "./render-helper.mjs";
10
+ import defaultProps from "./defaults.mjs";
11
11
  import { defineComponent, getCurrentInstance, h, inject, onUnmounted } from "vue";
12
12
  //#region ../../packages/components/table/src/table-body/index.ts
13
13
  var table_body_default = defineComponent({
@@ -34,18 +34,9 @@ function useRender(props) {
34
34
  if ($index === 0) displayIndex = -1;
35
35
  if (props.stripe && display) displayIndex++;
36
36
  rowClasses.push(...getRowClass(row, $index, displayIndex));
37
- const displayStyle = display ? null : { display: "none" };
38
- const startIndex = props.store.states.renderRange.value[0];
39
- const endIndex = props.store.states.renderRange.value[1];
40
- const rowHeight = props.store.states.renderRange.value[2];
41
- if (startIndex === -1 || endIndex === -1 || $index < startIndex || $index > endIndex) return h("tr", {
42
- style: [`display: ${display ? "block" : "none"}; min-height: ${rowHeight}px; opacity: 0`],
43
- "row-index": $index
44
- });
45
37
  return h("tr", {
46
- style: [displayStyle, getRowStyle(row, $index)],
38
+ style: [display ? null : { display: "none" }, getRowStyle(row, $index)],
47
39
  class: rowClasses,
48
- "row-index": $index,
49
40
  key: getKeyOfRow(row, $index),
50
41
  onDblclick: ($event) => handleDoubleClick($event, row),
51
42
  onClick: ($event) => handleClick($event, row),
@@ -88,7 +79,7 @@ function useRender(props) {
88
79
  colspan,
89
80
  onMouseenter: ($event) => handleCellMouseEnter($event, row, mergedTooltipOptions),
90
81
  onMouseleave: handleCellMouseLeave,
91
- widget: column.widget ? "table-column:default:" + column.widget.split(":")[1] : void 0
82
+ widget: column.widget ? `table-column:default:${column.widget.split(":")[1]}` : void 0
92
83
  }, { default: () => cellChildren(cellIndex, column, data) });
93
84
  }));
94
85
  };
@@ -1 +1 @@
1
- {"version":3,"file":"render-helper.mjs","names":["TdWrapper"],"sources":["../../../../../../../packages/components/table/src/table-body/render-helper.ts"],"sourcesContent":["import { computed, h, inject } from 'vue'\nimport { merge } from 'lodash-unified'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isBoolean, isPropAbsent } from '@element-plus/utils'\nimport { getRowIdentity } from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport useEvents from './events-helper'\nimport useStyles from './styles-helper'\nimport TdWrapper from './td-wrapper.vue'\n\nimport type { TableBodyProps } from './defaults'\nimport type {\n DefaultRow,\n RenderRowData,\n Table,\n TableColumnCtx,\n TableProps,\n TreeNode,\n} from '../table/defaults'\nimport type { TreeData } from '../store/tree'\nimport type { TableOverflowTooltipOptions } from '../util'\n\nfunction useRender<T extends DefaultRow>(props: Partial<TableBodyProps<T>>) {\n const parent = inject(TABLE_INJECTION_KEY) as Table<T>\n const ns = useNamespace('table')\n const {\n handleDoubleClick,\n handleClick,\n handleContextMenu,\n handleMouseEnter,\n handleMouseLeave,\n handleCellMouseEnter,\n handleCellMouseLeave,\n tooltipContent,\n tooltipTrigger,\n } = useEvents(props)\n const {\n getRowStyle,\n getRowClass,\n getCellStyle,\n getCellClass,\n getSpan,\n getColspanRealWidth,\n } = useStyles(props)\n\n let displayIndex = -1\n\n const firstDefaultColumnIndex = computed(() => {\n return props.store?.states.columns.value.findIndex(\n ({ type }) => type === 'default'\n )\n })\n const getKeyOfRow = (row: T, index: number) => {\n const rowKey = (parent?.props as Partial<TableProps<T>>)?.rowKey\n if (rowKey) {\n return getRowIdentity(row, rowKey)\n }\n return index\n }\n const rowRender = (\n row: T,\n $index: number,\n treeRowData?: TreeNode,\n expanded = false\n ) => {\n const { tooltipEffect, tooltipOptions, store } = props\n const { indent, columns } = store!.states\n const rowClasses: any[] = []\n let display = true\n if (treeRowData) {\n rowClasses.push(ns.em('row', `level-${treeRowData.level}`))\n display = !!treeRowData.display\n }\n if ($index === 0) {\n displayIndex = -1\n }\n if (props.stripe && display) {\n displayIndex++\n }\n rowClasses.push(...getRowClass(row, $index, displayIndex))\n const displayStyle = display ? null : { display: 'none' }\n const startIndex = props.store!.states.renderRange.value[0]\n const endIndex = props.store!.states.renderRange.value[1]\n const rowHeight = props.store!.states.renderRange.value[2]\n if (startIndex === -1 || endIndex === -1 || $index < startIndex || $index > endIndex) {\n return h(\n 'tr',\n {\n style: [`display: ${display ? 'block' : 'none'}; min-height: ${rowHeight}px; opacity: 0`],\n 'row-index': $index,\n }\n )\n }\n return h(\n 'tr',\n {\n style: [displayStyle, getRowStyle(row, $index)],\n class: rowClasses,\n 'row-index': $index,\n key: getKeyOfRow(row, $index),\n onDblclick: ($event: MouseEvent) => handleDoubleClick($event, row),\n onClick: ($event: PointerEvent) => handleClick($event, row),\n onContextmenu: ($event: PointerEvent) => handleContextMenu($event, row),\n onMouseenter: () => handleMouseEnter($index),\n onMouseleave: handleMouseLeave,\n },\n columns.value.map((column, cellIndex) => {\n const { rowspan, colspan } = getSpan(row, column, $index, cellIndex)\n if (!rowspan || !colspan) {\n return null\n }\n const columnData = Object.assign({}, column)\n columnData.realWidth = getColspanRealWidth(\n columns.value,\n colspan,\n cellIndex\n )\n const data: RenderRowData<T> = {\n store: store!,\n _self: props.context || parent!,\n column: columnData,\n row,\n $index,\n cellIndex,\n expanded,\n }\n if (cellIndex === firstDefaultColumnIndex.value && treeRowData) {\n data.treeNode = {\n indent: treeRowData.level && treeRowData.level * indent.value,\n level: treeRowData.level,\n }\n if (isBoolean(treeRowData.expanded)) {\n data.treeNode.expanded = treeRowData.expanded\n // 表明是懒加载\n if ('loading' in treeRowData) {\n data.treeNode.loading = treeRowData.loading\n }\n if ('noLazyChildren' in treeRowData) {\n data.treeNode.noLazyChildren = treeRowData.noLazyChildren\n }\n }\n }\n const baseKey = `${getKeyOfRow(row, $index)},${cellIndex}`\n const patchKey = columnData.columnKey || columnData.rawColumnKey || ''\n const mergedTooltipOptions =\n column.showOverflowTooltip &&\n merge(\n {\n effect: tooltipEffect,\n },\n tooltipOptions,\n column.showOverflowTooltip\n )\n return h(\n TdWrapper,\n {\n style: getCellStyle($index, cellIndex, row, column),\n class: getCellClass($index, cellIndex, row, column, colspan - 1),\n key: `${patchKey}${baseKey}`,\n rowspan,\n colspan,\n onMouseenter: ($event: MouseEvent) =>\n handleCellMouseEnter(\n $event,\n row,\n mergedTooltipOptions as TableOverflowTooltipOptions\n ),\n onMouseleave: handleCellMouseLeave,\n widget: column.widget ? 'table-column:default:' + column.widget.split(':')[1] : undefined,\n },\n {\n default: () => cellChildren(cellIndex, column, data),\n }\n )\n })\n )\n }\n const cellChildren = <T extends DefaultRow>(\n _cellIndex: number,\n column: TableColumnCtx<T>,\n data: RenderRowData<T>\n ) => {\n return column.renderCell(data)\n }\n\n const wrappedRowRender = (row: T, $index: number) => {\n const store = props.store!\n const { isRowExpanded, assertRowKey } = store\n const { treeData, lazyTreeNodeMap, childrenColumnName, rowKey } =\n store.states\n const columns = store.states.columns.value\n const hasExpandColumn = columns.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n const expanded = isRowExpanded(row)\n const tr = rowRender(row, $index, undefined, expanded)\n const renderExpanded = parent?.renderExpanded\n if (!renderExpanded) {\n console.error('[Element Error]renderExpanded is required.')\n return tr\n }\n\n // 在没设置时候避免 h 执行\n // 非保留模式且未展开时,直接返回\n // 使用二维数组包装,避免修改 $index\n const rows = [[tr]]\n\n // 仅在需要时创建展开行(保留模式或展开状态)\n if (parent.props.preserveExpandedContent || expanded) {\n rows[0].push(\n h(\n 'tr',\n {\n key: `expanded-row__${tr.key as string}`,\n style: { display: expanded ? '' : 'none' },\n },\n [\n h(\n 'td',\n {\n colspan: columns.length,\n class: `${ns.e('cell')} ${ns.e('expanded-cell')}`,\n },\n [renderExpanded({ row, $index, store, expanded })]\n ),\n ]\n )\n )\n }\n\n return rows\n } else if (Object.keys(treeData.value).length) {\n assertRowKey()\n // TreeTable 时,rowKey 必须由用户设定,不使用 getKeyOfRow 计算\n // 在调用 rowRender 函数时,仍然会计算 rowKey,不太好的操作\n const key = getRowIdentity(row, rowKey.value)\n let cur = treeData.value[key]\n let treeRowData: any = null\n if (cur) {\n treeRowData = {\n expanded: cur.expanded,\n level: cur.level,\n display: true,\n noLazyChildren: undefined as boolean | undefined,\n loading: undefined as boolean | undefined,\n }\n if (isBoolean(cur.lazy)) {\n if (treeRowData && isBoolean(cur.loaded) && cur.loaded) {\n treeRowData.noLazyChildren = !(cur.children && cur.children.length)\n }\n treeRowData.loading = cur.loading\n }\n }\n const tmp = [rowRender(row, $index, treeRowData ?? undefined)]\n // 渲染嵌套数据\n if (cur) {\n // currentRow 记录的是 index,所以还需主动增加 TreeTable 的 index\n let i = 0\n const traverse = (children: T[], parent: TreeData) => {\n if (!(children && children.length && parent)) return\n children.forEach((node) => {\n // 父节点的 display 状态影响子节点的显示状态\n const innerTreeRowData: Partial<Record<string, any>> = {\n display: parent.display && parent.expanded,\n level: parent.level! + 1,\n expanded: false,\n noLazyChildren: false,\n loading: false,\n }\n const childKey = getRowIdentity(node, rowKey.value)\n if (isPropAbsent(childKey)) {\n throw new Error('For nested data item, row-key is required.')\n }\n cur = { ...treeData.value[childKey] }\n // 对于当前节点,分成有无子节点两种情况。\n // 如果包含子节点的,设置 expanded 属性。\n // 对于它子节点的 display 属性由它本身的 expanded 与 display 共同决定。\n if (cur) {\n innerTreeRowData.expanded = cur.expanded\n // 懒加载的某些节点,level 未知\n cur.level = cur.level || innerTreeRowData.level\n cur.display = !!(cur.expanded && innerTreeRowData.display)\n if (isBoolean(cur.lazy)) {\n if (isBoolean(cur.loaded) && cur.loaded) {\n innerTreeRowData.noLazyChildren = !(\n cur.children && cur.children.length\n )\n }\n innerTreeRowData.loading = cur.loading\n }\n }\n i++\n tmp.push(rowRender(node, $index + i, innerTreeRowData))\n if (cur) {\n const nodes =\n lazyTreeNodeMap.value[childKey] ||\n node[childrenColumnName.value]\n traverse(nodes, cur)\n }\n })\n }\n // 对于 root 节点,display 一定为 true\n cur.display = true\n const nodes =\n lazyTreeNodeMap.value[key] || row[childrenColumnName.value]\n traverse(nodes, cur)\n }\n return tmp\n } else {\n return rowRender(row, $index, undefined)\n }\n }\n\n return {\n wrappedRowRender,\n tooltipContent,\n tooltipTrigger,\n }\n}\n\nexport default useRender\n"],"mappings":"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"}
1
+ {"version":3,"file":"render-helper.mjs","names":["TdWrapper"],"sources":["../../../../../../../packages/components/table/src/table-body/render-helper.ts"],"sourcesContent":["import { computed, h, inject } from 'vue'\nimport { merge } from 'lodash-unified'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isBoolean, isPropAbsent } from '@element-plus/utils'\nimport { getRowIdentity } from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport useEvents from './events-helper'\nimport useStyles from './styles-helper'\nimport TdWrapper from './td-wrapper.vue'\n\nimport type { TableBodyProps } from './defaults'\nimport type {\n DefaultRow,\n RenderRowData,\n Table,\n TableColumnCtx,\n TableProps,\n TreeNode,\n} from '../table/defaults'\nimport type { TreeData } from '../store/tree'\nimport type { TableOverflowTooltipOptions } from '../util'\n\nfunction useRender<T extends DefaultRow>(props: Partial<TableBodyProps<T>>) {\n const parent = inject(TABLE_INJECTION_KEY) as Table<T>\n const ns = useNamespace('table')\n const {\n handleDoubleClick,\n handleClick,\n handleContextMenu,\n handleMouseEnter,\n handleMouseLeave,\n handleCellMouseEnter,\n handleCellMouseLeave,\n tooltipContent,\n tooltipTrigger,\n } = useEvents(props)\n const {\n getRowStyle,\n getRowClass,\n getCellStyle,\n getCellClass,\n getSpan,\n getColspanRealWidth,\n } = useStyles(props)\n\n let displayIndex = -1\n\n const firstDefaultColumnIndex = computed(() => {\n return props.store?.states.columns.value.findIndex(\n ({ type }) => type === 'default'\n )\n })\n const getKeyOfRow = (row: T, index: number) => {\n const rowKey = (parent?.props as Partial<TableProps<T>>)?.rowKey\n if (rowKey) {\n return getRowIdentity(row, rowKey)\n }\n return index\n }\n const rowRender = (\n row: T,\n $index: number,\n treeRowData?: TreeNode,\n expanded = false\n ) => {\n const { tooltipEffect, tooltipOptions, store } = props\n const { indent, columns } = store!.states\n const rowClasses: any[] = []\n let display = true\n if (treeRowData) {\n rowClasses.push(ns.em('row', `level-${treeRowData.level}`))\n display = !!treeRowData.display\n }\n if ($index === 0) {\n displayIndex = -1\n }\n if (props.stripe && display) {\n displayIndex++\n }\n rowClasses.push(...getRowClass(row, $index, displayIndex))\n const displayStyle = display ? null : { display: 'none' }\n return h(\n 'tr',\n {\n style: [displayStyle, getRowStyle(row, $index)],\n class: rowClasses,\n key: getKeyOfRow(row, $index),\n onDblclick: ($event: MouseEvent) => handleDoubleClick($event, row),\n onClick: ($event: PointerEvent) => handleClick($event, row),\n onContextmenu: ($event: PointerEvent) => handleContextMenu($event, row),\n onMouseenter: () => handleMouseEnter($index),\n onMouseleave: handleMouseLeave,\n },\n columns.value.map((column, cellIndex) => {\n const { rowspan, colspan } = getSpan(row, column, $index, cellIndex)\n if (!rowspan || !colspan) {\n return null\n }\n const columnData = Object.assign({}, column)\n columnData.realWidth = getColspanRealWidth(\n columns.value,\n colspan,\n cellIndex\n )\n const data: RenderRowData<T> = {\n store: store!,\n _self: props.context || parent!,\n column: columnData,\n row,\n $index,\n cellIndex,\n expanded,\n }\n if (cellIndex === firstDefaultColumnIndex.value && treeRowData) {\n data.treeNode = {\n indent: treeRowData.level && treeRowData.level * indent.value,\n level: treeRowData.level,\n }\n if (isBoolean(treeRowData.expanded)) {\n data.treeNode.expanded = treeRowData.expanded\n // 表明是懒加载\n if ('loading' in treeRowData) {\n data.treeNode.loading = treeRowData.loading\n }\n if ('noLazyChildren' in treeRowData) {\n data.treeNode.noLazyChildren = treeRowData.noLazyChildren\n }\n }\n }\n const baseKey = `${getKeyOfRow(row, $index)},${cellIndex}`\n const patchKey = columnData.columnKey || columnData.rawColumnKey || ''\n const mergedTooltipOptions =\n column.showOverflowTooltip &&\n merge(\n {\n effect: tooltipEffect,\n },\n tooltipOptions,\n column.showOverflowTooltip\n )\n return h(\n TdWrapper,\n {\n style: getCellStyle($index, cellIndex, row, column),\n class: getCellClass($index, cellIndex, row, column, colspan - 1),\n key: `${patchKey}${baseKey}`,\n rowspan,\n colspan,\n onMouseenter: ($event: MouseEvent) =>\n handleCellMouseEnter(\n $event,\n row,\n mergedTooltipOptions as TableOverflowTooltipOptions\n ),\n onMouseleave: handleCellMouseLeave,\n widget: column.widget ? `table-column:default:${column.widget.split(':')[1]}` : undefined,\n },\n {\n default: () => cellChildren(cellIndex, column, data),\n }\n )\n })\n )\n }\n const cellChildren = <T extends DefaultRow>(\n _cellIndex: number,\n column: TableColumnCtx<T>,\n data: RenderRowData<T>\n ) => {\n return column.renderCell(data)\n }\n\n const wrappedRowRender = (row: T, $index: number) => {\n const store = props.store!\n const { isRowExpanded, assertRowKey } = store\n const { treeData, lazyTreeNodeMap, childrenColumnName, rowKey } =\n store.states\n const columns = store.states.columns.value\n const hasExpandColumn = columns.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n const expanded = isRowExpanded(row)\n const tr = rowRender(row, $index, undefined, expanded)\n const renderExpanded = parent?.renderExpanded\n if (!renderExpanded) {\n console.error('[Element Error]renderExpanded is required.')\n return tr\n }\n\n // 在没设置时候避免 h 执行\n // 非保留模式且未展开时,直接返回\n // 使用二维数组包装,避免修改 $index\n const rows = [[tr]]\n\n // 仅在需要时创建展开行(保留模式或展开状态)\n if (parent.props.preserveExpandedContent || expanded) {\n rows[0].push(\n h(\n 'tr',\n {\n key: `expanded-row__${tr.key as string}`,\n style: { display: expanded ? '' : 'none' },\n },\n [\n h(\n 'td',\n {\n colspan: columns.length,\n class: `${ns.e('cell')} ${ns.e('expanded-cell')}`,\n },\n [renderExpanded({ row, $index, store, expanded })]\n ),\n ]\n )\n )\n }\n\n return rows\n } else if (Object.keys(treeData.value).length) {\n assertRowKey()\n // TreeTable 时,rowKey 必须由用户设定,不使用 getKeyOfRow 计算\n // 在调用 rowRender 函数时,仍然会计算 rowKey,不太好的操作\n const key = getRowIdentity(row, rowKey.value)\n let cur = treeData.value[key]\n let treeRowData: any = null\n if (cur) {\n treeRowData = {\n expanded: cur.expanded,\n level: cur.level,\n display: true,\n noLazyChildren: undefined as boolean | undefined,\n loading: undefined as boolean | undefined,\n }\n if (isBoolean(cur.lazy)) {\n if (treeRowData && isBoolean(cur.loaded) && cur.loaded) {\n treeRowData.noLazyChildren = !(cur.children && cur.children.length)\n }\n treeRowData.loading = cur.loading\n }\n }\n const tmp = [rowRender(row, $index, treeRowData ?? undefined)]\n // 渲染嵌套数据\n if (cur) {\n // currentRow 记录的是 index,所以还需主动增加 TreeTable 的 index\n let i = 0\n const traverse = (children: T[], parent: TreeData) => {\n if (!(children && children.length && parent)) return\n children.forEach((node) => {\n // 父节点的 display 状态影响子节点的显示状态\n const innerTreeRowData: Partial<Record<string, any>> = {\n display: parent.display && parent.expanded,\n level: parent.level! + 1,\n expanded: false,\n noLazyChildren: false,\n loading: false,\n }\n const childKey = getRowIdentity(node, rowKey.value)\n if (isPropAbsent(childKey)) {\n throw new Error('For nested data item, row-key is required.')\n }\n cur = { ...treeData.value[childKey] }\n // 对于当前节点,分成有无子节点两种情况。\n // 如果包含子节点的,设置 expanded 属性。\n // 对于它子节点的 display 属性由它本身的 expanded 与 display 共同决定。\n if (cur) {\n innerTreeRowData.expanded = cur.expanded\n // 懒加载的某些节点,level 未知\n cur.level = cur.level || innerTreeRowData.level\n cur.display = !!(cur.expanded && innerTreeRowData.display)\n if (isBoolean(cur.lazy)) {\n if (isBoolean(cur.loaded) && cur.loaded) {\n innerTreeRowData.noLazyChildren = !(\n cur.children && cur.children.length\n )\n }\n innerTreeRowData.loading = cur.loading\n }\n }\n i++\n tmp.push(rowRender(node, $index + i, innerTreeRowData))\n if (cur) {\n const nodes =\n lazyTreeNodeMap.value[childKey] ||\n node[childrenColumnName.value]\n traverse(nodes, cur)\n }\n })\n }\n // 对于 root 节点,display 一定为 true\n cur.display = true\n const nodes =\n lazyTreeNodeMap.value[key] || row[childrenColumnName.value]\n traverse(nodes, cur)\n }\n return tmp\n } else {\n return rowRender(row, $index, undefined)\n }\n }\n\n return {\n wrappedRowRender,\n tooltipContent,\n tooltipTrigger,\n }\n}\n\nexport default useRender\n"],"mappings":"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"}