element-plus 2.1.10 → 2.1.11

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 (709) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +404 -1684
  4. package/dist/index.full.min.js +6 -6
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +10 -10
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +404 -1684
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/az.js +1 -1
  18. package/dist/locale/az.min.js +1 -1
  19. package/dist/locale/az.min.mjs +1 -1
  20. package/dist/locale/az.mjs +1 -1
  21. package/dist/locale/bg.js +1 -1
  22. package/dist/locale/bg.min.js +1 -1
  23. package/dist/locale/bg.min.mjs +1 -1
  24. package/dist/locale/bg.mjs +1 -1
  25. package/dist/locale/bn.js +1 -1
  26. package/dist/locale/bn.min.js +1 -1
  27. package/dist/locale/bn.min.mjs +1 -1
  28. package/dist/locale/bn.mjs +1 -1
  29. package/dist/locale/ca.js +1 -1
  30. package/dist/locale/ca.min.js +1 -1
  31. package/dist/locale/ca.min.mjs +1 -1
  32. package/dist/locale/ca.mjs +1 -1
  33. package/dist/locale/cs.js +1 -1
  34. package/dist/locale/cs.min.js +1 -1
  35. package/dist/locale/cs.min.mjs +1 -1
  36. package/dist/locale/cs.mjs +1 -1
  37. package/dist/locale/da.js +1 -1
  38. package/dist/locale/da.min.js +1 -1
  39. package/dist/locale/da.min.mjs +1 -1
  40. package/dist/locale/da.mjs +1 -1
  41. package/dist/locale/de.js +1 -1
  42. package/dist/locale/de.min.js +1 -1
  43. package/dist/locale/de.min.mjs +1 -1
  44. package/dist/locale/de.mjs +1 -1
  45. package/dist/locale/el.js +1 -1
  46. package/dist/locale/el.min.js +1 -1
  47. package/dist/locale/el.min.mjs +1 -1
  48. package/dist/locale/el.mjs +1 -1
  49. package/dist/locale/en.js +1 -1
  50. package/dist/locale/en.min.js +1 -1
  51. package/dist/locale/en.min.mjs +1 -1
  52. package/dist/locale/en.mjs +1 -1
  53. package/dist/locale/eo.js +1 -1
  54. package/dist/locale/eo.min.js +1 -1
  55. package/dist/locale/eo.min.mjs +1 -1
  56. package/dist/locale/eo.mjs +1 -1
  57. package/dist/locale/es.js +1 -1
  58. package/dist/locale/es.min.js +1 -1
  59. package/dist/locale/es.min.mjs +1 -1
  60. package/dist/locale/es.mjs +1 -1
  61. package/dist/locale/et.js +1 -1
  62. package/dist/locale/et.min.js +1 -1
  63. package/dist/locale/et.min.mjs +1 -1
  64. package/dist/locale/et.mjs +1 -1
  65. package/dist/locale/eu.js +1 -1
  66. package/dist/locale/eu.min.js +1 -1
  67. package/dist/locale/eu.min.mjs +1 -1
  68. package/dist/locale/eu.mjs +1 -1
  69. package/dist/locale/fa.js +1 -1
  70. package/dist/locale/fa.min.js +1 -1
  71. package/dist/locale/fa.min.mjs +1 -1
  72. package/dist/locale/fa.mjs +1 -1
  73. package/dist/locale/fi.js +1 -1
  74. package/dist/locale/fi.min.js +1 -1
  75. package/dist/locale/fi.min.mjs +1 -1
  76. package/dist/locale/fi.mjs +1 -1
  77. package/dist/locale/fr.js +1 -1
  78. package/dist/locale/fr.min.js +1 -1
  79. package/dist/locale/fr.min.mjs +1 -1
  80. package/dist/locale/fr.mjs +1 -1
  81. package/dist/locale/he.js +1 -1
  82. package/dist/locale/he.min.js +1 -1
  83. package/dist/locale/he.min.mjs +1 -1
  84. package/dist/locale/he.mjs +1 -1
  85. package/dist/locale/hr.js +1 -1
  86. package/dist/locale/hr.min.js +1 -1
  87. package/dist/locale/hr.min.mjs +1 -1
  88. package/dist/locale/hr.mjs +1 -1
  89. package/dist/locale/hu.js +1 -1
  90. package/dist/locale/hu.min.js +1 -1
  91. package/dist/locale/hu.min.mjs +1 -1
  92. package/dist/locale/hu.mjs +1 -1
  93. package/dist/locale/hy-am.js +1 -1
  94. package/dist/locale/hy-am.min.js +1 -1
  95. package/dist/locale/hy-am.min.mjs +1 -1
  96. package/dist/locale/hy-am.mjs +1 -1
  97. package/dist/locale/id.js +1 -1
  98. package/dist/locale/id.min.js +1 -1
  99. package/dist/locale/id.min.mjs +1 -1
  100. package/dist/locale/id.mjs +1 -1
  101. package/dist/locale/it.js +1 -1
  102. package/dist/locale/it.min.js +1 -1
  103. package/dist/locale/it.min.mjs +1 -1
  104. package/dist/locale/it.mjs +1 -1
  105. package/dist/locale/ja.js +1 -1
  106. package/dist/locale/ja.min.js +1 -1
  107. package/dist/locale/ja.min.mjs +1 -1
  108. package/dist/locale/ja.mjs +1 -1
  109. package/dist/locale/kk.js +1 -1
  110. package/dist/locale/kk.min.js +1 -1
  111. package/dist/locale/kk.min.mjs +1 -1
  112. package/dist/locale/kk.mjs +1 -1
  113. package/dist/locale/km.js +1 -1
  114. package/dist/locale/km.min.js +1 -1
  115. package/dist/locale/km.min.mjs +1 -1
  116. package/dist/locale/km.mjs +1 -1
  117. package/dist/locale/ko.js +1 -1
  118. package/dist/locale/ko.min.js +1 -1
  119. package/dist/locale/ko.min.mjs +1 -1
  120. package/dist/locale/ko.mjs +1 -1
  121. package/dist/locale/ku.js +1 -1
  122. package/dist/locale/ku.min.js +1 -1
  123. package/dist/locale/ku.min.mjs +1 -1
  124. package/dist/locale/ku.mjs +1 -1
  125. package/dist/locale/ky.js +1 -1
  126. package/dist/locale/ky.min.js +1 -1
  127. package/dist/locale/ky.min.mjs +1 -1
  128. package/dist/locale/ky.mjs +1 -1
  129. package/dist/locale/lt.js +1 -1
  130. package/dist/locale/lt.min.js +1 -1
  131. package/dist/locale/lt.min.mjs +1 -1
  132. package/dist/locale/lt.mjs +1 -1
  133. package/dist/locale/lv.js +1 -1
  134. package/dist/locale/lv.min.js +1 -1
  135. package/dist/locale/lv.min.mjs +1 -1
  136. package/dist/locale/lv.mjs +1 -1
  137. package/dist/locale/mg.js +1 -1
  138. package/dist/locale/mg.min.js +1 -1
  139. package/dist/locale/mg.min.mjs +1 -1
  140. package/dist/locale/mg.mjs +1 -1
  141. package/dist/locale/mn.js +1 -1
  142. package/dist/locale/mn.min.js +1 -1
  143. package/dist/locale/mn.min.mjs +1 -1
  144. package/dist/locale/mn.mjs +1 -1
  145. package/dist/locale/nb-no.js +1 -1
  146. package/dist/locale/nb-no.min.js +1 -1
  147. package/dist/locale/nb-no.min.mjs +1 -1
  148. package/dist/locale/nb-no.mjs +1 -1
  149. package/dist/locale/nl.js +1 -1
  150. package/dist/locale/nl.min.js +1 -1
  151. package/dist/locale/nl.min.mjs +1 -1
  152. package/dist/locale/nl.mjs +1 -1
  153. package/dist/locale/pa.js +1 -1
  154. package/dist/locale/pa.min.js +1 -1
  155. package/dist/locale/pa.min.mjs +1 -1
  156. package/dist/locale/pa.mjs +1 -1
  157. package/dist/locale/pl.js +1 -1
  158. package/dist/locale/pl.min.js +1 -1
  159. package/dist/locale/pl.min.mjs +1 -1
  160. package/dist/locale/pl.mjs +1 -1
  161. package/dist/locale/pt-br.js +1 -1
  162. package/dist/locale/pt-br.min.js +1 -1
  163. package/dist/locale/pt-br.min.mjs +1 -1
  164. package/dist/locale/pt-br.mjs +1 -1
  165. package/dist/locale/pt.js +1 -1
  166. package/dist/locale/pt.min.js +1 -1
  167. package/dist/locale/pt.min.mjs +1 -1
  168. package/dist/locale/pt.mjs +1 -1
  169. package/dist/locale/ro.js +1 -1
  170. package/dist/locale/ro.min.js +1 -1
  171. package/dist/locale/ro.min.mjs +1 -1
  172. package/dist/locale/ro.mjs +1 -1
  173. package/dist/locale/ru.js +1 -1
  174. package/dist/locale/ru.min.js +1 -1
  175. package/dist/locale/ru.min.mjs +1 -1
  176. package/dist/locale/ru.mjs +1 -1
  177. package/dist/locale/sk.js +1 -1
  178. package/dist/locale/sk.min.js +1 -1
  179. package/dist/locale/sk.min.mjs +1 -1
  180. package/dist/locale/sk.mjs +1 -1
  181. package/dist/locale/sl.js +1 -1
  182. package/dist/locale/sl.min.js +1 -1
  183. package/dist/locale/sl.min.mjs +1 -1
  184. package/dist/locale/sl.mjs +1 -1
  185. package/dist/locale/sr.js +1 -1
  186. package/dist/locale/sr.min.js +1 -1
  187. package/dist/locale/sr.min.mjs +1 -1
  188. package/dist/locale/sr.mjs +1 -1
  189. package/dist/locale/sv.js +1 -1
  190. package/dist/locale/sv.min.js +1 -1
  191. package/dist/locale/sv.min.mjs +1 -1
  192. package/dist/locale/sv.mjs +1 -1
  193. package/dist/locale/ta.js +1 -1
  194. package/dist/locale/ta.min.js +1 -1
  195. package/dist/locale/ta.min.mjs +1 -1
  196. package/dist/locale/ta.mjs +1 -1
  197. package/dist/locale/th.js +1 -1
  198. package/dist/locale/th.min.js +1 -1
  199. package/dist/locale/th.min.mjs +1 -1
  200. package/dist/locale/th.mjs +1 -1
  201. package/dist/locale/tk.js +1 -1
  202. package/dist/locale/tk.min.js +1 -1
  203. package/dist/locale/tk.min.mjs +1 -1
  204. package/dist/locale/tk.mjs +1 -1
  205. package/dist/locale/tr.js +1 -1
  206. package/dist/locale/tr.min.js +1 -1
  207. package/dist/locale/tr.min.mjs +1 -1
  208. package/dist/locale/tr.mjs +1 -1
  209. package/dist/locale/ug-cn.js +1 -1
  210. package/dist/locale/ug-cn.min.js +1 -1
  211. package/dist/locale/ug-cn.min.mjs +1 -1
  212. package/dist/locale/ug-cn.mjs +1 -1
  213. package/dist/locale/uk.js +1 -1
  214. package/dist/locale/uk.min.js +1 -1
  215. package/dist/locale/uk.min.mjs +1 -1
  216. package/dist/locale/uk.mjs +1 -1
  217. package/dist/locale/uz-uz.js +1 -1
  218. package/dist/locale/uz-uz.min.js +1 -1
  219. package/dist/locale/uz-uz.min.mjs +1 -1
  220. package/dist/locale/uz-uz.mjs +1 -1
  221. package/dist/locale/vi.js +1 -1
  222. package/dist/locale/vi.min.js +1 -1
  223. package/dist/locale/vi.min.mjs +1 -1
  224. package/dist/locale/vi.mjs +1 -1
  225. package/dist/locale/zh-cn.js +1 -1
  226. package/dist/locale/zh-cn.min.js +1 -1
  227. package/dist/locale/zh-cn.min.mjs +1 -1
  228. package/dist/locale/zh-cn.mjs +1 -1
  229. package/dist/locale/zh-tw.js +1 -1
  230. package/dist/locale/zh-tw.min.js +1 -1
  231. package/dist/locale/zh-tw.min.mjs +1 -1
  232. package/dist/locale/zh-tw.mjs +1 -1
  233. package/es/components/autocomplete/index.d.ts +29 -1
  234. package/es/components/autocomplete/src/autocomplete.mjs +1 -1
  235. package/es/components/autocomplete/src/autocomplete.vue.d.ts +29 -1
  236. package/es/components/avatar/src/avatar2.mjs +1 -1
  237. package/es/components/calendar/src/calendar2.mjs +1 -1
  238. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  239. package/es/components/calendar/src/date-table2.mjs +3 -2
  240. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  241. package/es/components/cascader/index.d.ts +38 -2
  242. package/es/components/cascader/src/index.mjs +1 -1
  243. package/es/components/cascader/src/index.vue.d.ts +19 -1
  244. package/es/components/col/src/col.d.ts +2 -0
  245. package/es/components/col/src/col.mjs.map +1 -1
  246. package/es/components/color-picker/src/index.mjs +4 -1
  247. package/es/components/color-picker/src/index.mjs.map +1 -1
  248. package/es/components/descriptions/src/descriptions-cell.mjs +1 -1
  249. package/es/components/dropdown/src/dropdown.mjs +1 -1
  250. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  251. package/es/components/form/src/form-item2.mjs +1 -1
  252. package/es/components/icon/src/icon2.mjs +1 -1
  253. package/es/components/image/index.d.ts +8 -0
  254. package/es/components/image/src/image.d.ts +1 -0
  255. package/es/components/image/src/image.mjs +4 -0
  256. package/es/components/image/src/image.mjs.map +1 -1
  257. package/es/components/image/src/image.vue.d.ts +8 -0
  258. package/es/components/image/src/image2.mjs +2 -1
  259. package/es/components/image/src/image2.mjs.map +1 -1
  260. package/es/components/image-viewer/index.d.ts +4 -0
  261. package/es/components/image-viewer/src/image-viewer.d.ts +1 -0
  262. package/es/components/image-viewer/src/image-viewer.mjs +4 -0
  263. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  264. package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -0
  265. package/es/components/image-viewer/src/image-viewer2.mjs +1 -1
  266. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  267. package/es/components/index.mjs +1 -1
  268. package/es/components/input/index.d.ts +10 -0
  269. package/es/components/input/src/input.d.ts +2 -0
  270. package/es/components/input/src/input.mjs +6 -0
  271. package/es/components/input/src/input.mjs.map +1 -1
  272. package/es/components/input/src/input.vue.d.ts +10 -0
  273. package/es/components/input/src/input2.mjs +30 -17
  274. package/es/components/input/src/input2.mjs.map +1 -1
  275. package/es/components/input-number/index.d.ts +20 -0
  276. package/es/components/input-number/src/input-number.vue.d.ts +20 -0
  277. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  278. package/es/components/popover/src/popover.mjs +1 -1
  279. package/es/components/scrollbar/src/scrollbar2.mjs +1 -1
  280. package/es/components/scrollbar/src/thumb.vue.d.ts +16 -16
  281. package/es/components/scrollbar/src/util.d.ts +18 -18
  282. package/es/components/scrollbar/src/util.mjs.map +1 -1
  283. package/es/components/select/src/select.mjs +6 -12
  284. package/es/components/select/src/select.mjs.map +1 -1
  285. package/es/components/select/src/useSelect.mjs +1 -1
  286. package/es/components/select/src/useSelect.mjs.map +1 -1
  287. package/es/components/select-v2/src/defaults.mjs +1 -1
  288. package/es/components/table/src/table/style-helper.mjs +1 -4
  289. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  290. package/es/components/table-v2/index.d.ts +4 -1
  291. package/es/components/table-v2/index.mjs +3 -1
  292. package/es/components/table-v2/index.mjs.map +1 -1
  293. package/es/components/table-v2/src/column.d.ts +2 -2
  294. package/es/components/table-v2/src/components/cell.d.ts +4 -0
  295. package/es/components/table-v2/src/components/cell.mjs +22 -0
  296. package/es/components/table-v2/src/components/cell.mjs.map +1 -0
  297. package/{lib/components/table-v2/src → es/components/table-v2/src/components}/expand-icon.d.ts +1 -1
  298. package/es/components/table-v2/src/components/expand-icon.mjs +26 -0
  299. package/es/components/table-v2/src/components/expand-icon.mjs.map +1 -0
  300. package/es/components/table-v2/src/components/header-cell.d.ts +4 -0
  301. package/es/components/table-v2/src/components/header-cell.mjs +15 -0
  302. package/es/components/table-v2/src/components/header-cell.mjs.map +1 -0
  303. package/es/components/table-v2/src/{table-header-row.d.ts → components/header-row.d.ts} +6 -6
  304. package/es/components/table-v2/src/components/header-row.mjs +40 -0
  305. package/es/components/table-v2/src/components/header-row.mjs.map +1 -0
  306. package/{lib/components/table-v2/src/table-header.d.ts → es/components/table-v2/src/components/header.d.ts} +3 -3
  307. package/es/components/table-v2/src/components/header.mjs +96 -0
  308. package/es/components/table-v2/src/components/header.mjs.map +1 -0
  309. package/es/components/table-v2/src/components/index.d.ts +10 -0
  310. package/es/components/table-v2/src/components/index.mjs +8 -0
  311. package/es/components/table-v2/src/components/index.mjs.map +1 -0
  312. package/es/components/table-v2/src/{table-row.d.ts → components/row.d.ts} +18 -19
  313. package/es/components/table-v2/src/components/row.mjs +204 -0
  314. package/es/components/table-v2/src/components/row.mjs.map +1 -0
  315. package/es/components/table-v2/src/{sort-icon.d.ts → components/sort-icon.d.ts} +1 -1
  316. package/es/components/table-v2/src/components/sort-icon.mjs +19 -0
  317. package/es/components/table-v2/src/components/sort-icon.mjs.map +1 -0
  318. package/es/components/table-v2/src/composables/index.d.ts +5 -0
  319. package/es/components/table-v2/src/composables/index.mjs +6 -0
  320. package/es/components/table-v2/src/composables/index.mjs.map +1 -0
  321. package/{lib/components/table-v2/src → es/components/table-v2/src/composables}/use-columns.d.ts +8 -6
  322. package/es/components/table-v2/src/{use-columns.mjs → composables/use-columns.mjs} +26 -30
  323. package/es/components/table-v2/src/composables/use-columns.mjs.map +1 -0
  324. package/es/components/table-v2/src/composables/use-data.d.ts +17 -0
  325. package/es/components/table-v2/src/composables/use-data.mjs +44 -0
  326. package/es/components/table-v2/src/composables/use-data.mjs.map +1 -0
  327. package/es/components/table-v2/src/composables/use-row.d.ts +32 -0
  328. package/es/components/table-v2/src/composables/use-row.mjs +123 -0
  329. package/es/components/table-v2/src/composables/use-row.mjs.map +1 -0
  330. package/es/components/table-v2/src/composables/use-scrollbar.d.ts +26 -0
  331. package/es/components/table-v2/src/composables/use-scrollbar.mjs +55 -0
  332. package/es/components/table-v2/src/composables/use-scrollbar.mjs.map +1 -0
  333. package/es/components/table-v2/src/composables/use-styles.d.ts +25 -0
  334. package/es/components/table-v2/src/composables/use-styles.mjs +87 -0
  335. package/es/components/table-v2/src/composables/use-styles.mjs.map +1 -0
  336. package/es/components/table-v2/src/composables/utils.d.ts +3 -0
  337. package/es/components/table-v2/src/composables/utils.mjs +26 -0
  338. package/es/components/table-v2/src/composables/utils.mjs.map +1 -0
  339. package/es/components/table-v2/src/constants.d.ts +4 -0
  340. package/es/components/table-v2/src/constants.mjs +6 -1
  341. package/es/components/table-v2/src/constants.mjs.map +1 -1
  342. package/es/components/table-v2/src/grid.d.ts +4 -1
  343. package/es/components/table-v2/src/grid.mjs +5 -0
  344. package/es/components/table-v2/src/grid.mjs.map +1 -1
  345. package/es/components/table-v2/src/renderers/cell.d.ts +1 -1
  346. package/es/components/table-v2/src/renderers/cell.mjs +91 -0
  347. package/es/components/table-v2/src/renderers/cell.mjs.map +1 -0
  348. package/es/components/table-v2/src/renderers/empty.d.ts +7 -0
  349. package/es/components/table-v2/src/renderers/empty.mjs +15 -0
  350. package/es/components/table-v2/src/renderers/empty.mjs.map +1 -0
  351. package/es/components/table-v2/src/renderers/footer.d.ts +7 -0
  352. package/es/components/table-v2/src/renderers/footer.mjs +15 -0
  353. package/es/components/table-v2/src/renderers/footer.mjs.map +1 -0
  354. package/es/components/table-v2/src/renderers/header-cell.d.ts +1 -1
  355. package/es/components/table-v2/src/renderers/header-cell.mjs +65 -0
  356. package/es/components/table-v2/src/renderers/header-cell.mjs.map +1 -0
  357. package/es/components/table-v2/src/renderers/header.d.ts +1 -1
  358. package/es/components/table-v2/src/renderers/header.mjs +39 -0
  359. package/es/components/table-v2/src/renderers/header.mjs.map +1 -0
  360. package/es/components/table-v2/src/renderers/left-table.mjs +24 -0
  361. package/es/components/table-v2/src/renderers/left-table.mjs.map +1 -0
  362. package/es/components/table-v2/src/renderers/main-table.mjs +22 -0
  363. package/es/components/table-v2/src/renderers/main-table.mjs.map +1 -0
  364. package/es/components/table-v2/src/renderers/overlay.d.ts +3 -0
  365. package/es/components/table-v2/src/renderers/overlay.mjs +15 -0
  366. package/es/components/table-v2/src/renderers/overlay.mjs.map +1 -0
  367. package/es/components/table-v2/src/renderers/right-table.mjs +24 -0
  368. package/es/components/table-v2/src/renderers/right-table.mjs.map +1 -0
  369. package/es/components/table-v2/src/renderers/row.mjs +77 -0
  370. package/es/components/table-v2/src/renderers/row.mjs.map +1 -0
  371. package/es/components/table-v2/src/row.d.ts +6 -1
  372. package/es/components/table-v2/src/row.mjs.map +1 -1
  373. package/es/components/table-v2/src/table-grid.d.ts +8 -2
  374. package/es/components/table-v2/src/table-grid.mjs +221 -0
  375. package/es/components/table-v2/src/table-grid.mjs.map +1 -0
  376. package/es/components/table-v2/src/table-v2.d.ts +3 -12
  377. package/es/components/table-v2/src/table-v2.mjs +250 -0
  378. package/es/components/table-v2/src/table-v2.mjs.map +1 -0
  379. package/es/components/table-v2/src/table.d.ts +2 -5
  380. package/es/components/table-v2/src/table.mjs.map +1 -1
  381. package/es/components/table-v2/src/types.d.ts +15 -2
  382. package/es/components/table-v2/src/use-table.d.ts +20 -29
  383. package/es/components/table-v2/src/use-table.mjs +84 -238
  384. package/es/components/table-v2/src/use-table.mjs.map +1 -1
  385. package/es/components/table-v2/src/utils.mjs +1 -1
  386. package/es/components/table-v2/src/utils.mjs.map +1 -1
  387. package/es/components/tooltip/index.mjs +2 -2
  388. package/es/components/tooltip/src/content.mjs +1 -1
  389. package/es/components/tooltip/src/tooltip.mjs +62 -174
  390. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  391. package/es/components/tooltip/src/tooltip2.mjs +174 -62
  392. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  393. package/es/components/tooltip/src/trigger.mjs +1 -1
  394. package/es/components/upload/index.d.ts +16 -12
  395. package/es/components/upload/src/upload-content.d.ts +1 -1
  396. package/es/components/upload/src/upload-content.vue.d.ts +4 -3
  397. package/es/components/upload/src/upload-content2.mjs +3 -1
  398. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  399. package/es/components/upload/src/upload-list2.mjs +5 -3
  400. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  401. package/es/components/upload/src/upload.d.ts +2 -2
  402. package/es/components/upload/src/upload.mjs +1 -1
  403. package/es/components/upload/src/upload.mjs.map +1 -1
  404. package/es/components/upload/src/upload.vue.d.ts +16 -12
  405. package/es/components/virtual-list/src/builders/build-grid.d.ts +11 -2
  406. package/es/components/virtual-list/src/builders/build-grid.mjs +7 -3
  407. package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
  408. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +11 -2
  409. package/es/components/virtual-list/src/components/dynamic-size-grid.mjs +4 -2
  410. package/es/components/virtual-list/src/components/dynamic-size-grid.mjs.map +1 -1
  411. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +11 -2
  412. package/es/components/virtual-list/src/components/scrollbar.d.ts +2 -2
  413. package/es/components/virtual-list/src/props.d.ts +7 -3
  414. package/es/components/virtual-list/src/props.mjs +5 -1
  415. package/es/components/virtual-list/src/props.mjs.map +1 -1
  416. package/es/components/virtual-list/src/types.d.ts +7 -0
  417. package/es/components/virtual-list/src/utils.d.ts +10 -5
  418. package/es/components/virtual-list/src/utils.mjs.map +1 -1
  419. package/es/constants/index.mjs +1 -1
  420. package/es/constants/size.d.ts +0 -1
  421. package/es/constants/size.mjs +1 -4
  422. package/es/constants/size.mjs.map +1 -1
  423. package/es/directives/mousewheel/index.mjs +1 -7
  424. package/es/directives/mousewheel/index.mjs.map +1 -1
  425. package/es/hooks/index.d.ts +1 -0
  426. package/es/hooks/index.mjs +1 -0
  427. package/es/hooks/index.mjs.map +1 -1
  428. package/es/hooks/use-cursor/index.d.ts +2 -0
  429. package/es/hooks/use-cursor/index.mjs +46 -0
  430. package/es/hooks/use-cursor/index.mjs.map +1 -0
  431. package/es/hooks/use-draggable/index.mjs +1 -1
  432. package/es/index.mjs +3 -2
  433. package/es/index.mjs.map +1 -1
  434. package/es/utils/dom/index.mjs +1 -1
  435. package/es/utils/dom/style.d.ts +1 -0
  436. package/es/utils/dom/style.mjs +15 -3
  437. package/es/utils/dom/style.mjs.map +1 -1
  438. package/es/utils/index.mjs +2 -2
  439. package/es/utils/vue/index.d.ts +1 -1
  440. package/es/utils/vue/index.mjs +1 -1
  441. package/es/utils/vue/size.d.ts +1 -0
  442. package/es/utils/vue/size.mjs +9 -0
  443. package/es/utils/vue/size.mjs.map +1 -0
  444. package/es/version.d.ts +1 -1
  445. package/es/version.mjs +1 -1
  446. package/es/version.mjs.map +1 -1
  447. package/lib/components/autocomplete/index.d.ts +29 -1
  448. package/lib/components/autocomplete/src/autocomplete.js +1 -1
  449. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +29 -1
  450. package/lib/components/avatar/src/avatar2.js +1 -1
  451. package/lib/components/calendar/src/calendar2.js +1 -1
  452. package/lib/components/calendar/src/calendar2.js.map +1 -1
  453. package/lib/components/calendar/src/date-table2.js +3 -2
  454. package/lib/components/calendar/src/date-table2.js.map +1 -1
  455. package/lib/components/cascader/index.d.ts +38 -2
  456. package/lib/components/cascader/src/index.js +1 -1
  457. package/lib/components/cascader/src/index.vue.d.ts +19 -1
  458. package/lib/components/col/src/col.d.ts +2 -0
  459. package/lib/components/col/src/col.js.map +1 -1
  460. package/lib/components/color-picker/src/index.js +4 -1
  461. package/lib/components/color-picker/src/index.js.map +1 -1
  462. package/lib/components/descriptions/src/descriptions-cell.js +1 -1
  463. package/lib/components/dropdown/src/dropdown.js +1 -1
  464. package/lib/components/dropdown/src/dropdown2.js +1 -1
  465. package/lib/components/form/src/form-item2.js +1 -1
  466. package/lib/components/icon/src/icon2.js +1 -1
  467. package/lib/components/image/index.d.ts +8 -0
  468. package/lib/components/image/src/image.d.ts +1 -0
  469. package/lib/components/image/src/image.js +4 -0
  470. package/lib/components/image/src/image.js.map +1 -1
  471. package/lib/components/image/src/image.vue.d.ts +8 -0
  472. package/lib/components/image/src/image2.js +2 -1
  473. package/lib/components/image/src/image2.js.map +1 -1
  474. package/lib/components/image-viewer/index.d.ts +4 -0
  475. package/lib/components/image-viewer/src/image-viewer.d.ts +1 -0
  476. package/lib/components/image-viewer/src/image-viewer.js +4 -0
  477. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  478. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -0
  479. package/lib/components/image-viewer/src/image-viewer2.js +1 -1
  480. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  481. package/lib/components/index.js +1 -1
  482. package/lib/components/input/index.d.ts +10 -0
  483. package/lib/components/input/src/input.d.ts +2 -0
  484. package/lib/components/input/src/input.js +6 -0
  485. package/lib/components/input/src/input.js.map +1 -1
  486. package/lib/components/input/src/input.vue.d.ts +10 -0
  487. package/lib/components/input/src/input2.js +35 -22
  488. package/lib/components/input/src/input2.js.map +1 -1
  489. package/lib/components/input-number/index.d.ts +20 -0
  490. package/lib/components/input-number/src/input-number.vue.d.ts +20 -0
  491. package/lib/components/popconfirm/src/popconfirm.js +1 -1
  492. package/lib/components/popover/src/popover.js +1 -1
  493. package/lib/components/scrollbar/src/scrollbar2.js +1 -1
  494. package/lib/components/scrollbar/src/thumb.vue.d.ts +16 -16
  495. package/lib/components/scrollbar/src/util.d.ts +18 -18
  496. package/lib/components/scrollbar/src/util.js.map +1 -1
  497. package/lib/components/select/src/select.js +6 -12
  498. package/lib/components/select/src/select.js.map +1 -1
  499. package/lib/components/select/src/useSelect.js +1 -1
  500. package/lib/components/select/src/useSelect.js.map +1 -1
  501. package/lib/components/select-v2/src/defaults.js +1 -1
  502. package/lib/components/table/src/table/style-helper.js +1 -4
  503. package/lib/components/table/src/table/style-helper.js.map +1 -1
  504. package/lib/components/table-v2/index.d.ts +4 -1
  505. package/lib/components/table-v2/index.js +13 -0
  506. package/lib/components/table-v2/index.js.map +1 -1
  507. package/lib/components/table-v2/src/column.d.ts +2 -2
  508. package/lib/components/table-v2/src/components/cell.d.ts +4 -0
  509. package/lib/components/table-v2/src/components/cell.js +26 -0
  510. package/lib/components/table-v2/src/components/cell.js.map +1 -0
  511. package/{es/components/table-v2/src → lib/components/table-v2/src/components}/expand-icon.d.ts +1 -1
  512. package/lib/components/table-v2/src/components/expand-icon.js +30 -0
  513. package/lib/components/table-v2/src/components/expand-icon.js.map +1 -0
  514. package/lib/components/table-v2/src/components/header-cell.d.ts +4 -0
  515. package/lib/components/table-v2/src/components/header-cell.js +19 -0
  516. package/lib/components/table-v2/src/components/header-cell.js.map +1 -0
  517. package/lib/components/table-v2/src/{table-header-row.d.ts → components/header-row.d.ts} +6 -6
  518. package/lib/components/table-v2/src/components/header-row.js +44 -0
  519. package/lib/components/table-v2/src/components/header-row.js.map +1 -0
  520. package/{es/components/table-v2/src/table-header.d.ts → lib/components/table-v2/src/components/header.d.ts} +3 -3
  521. package/lib/components/table-v2/src/components/header.js +100 -0
  522. package/lib/components/table-v2/src/components/header.js.map +1 -0
  523. package/lib/components/table-v2/src/components/index.d.ts +10 -0
  524. package/lib/components/table-v2/src/components/index.js +22 -0
  525. package/lib/components/table-v2/src/components/index.js.map +1 -0
  526. package/lib/components/table-v2/src/{table-row.d.ts → components/row.d.ts} +18 -19
  527. package/lib/components/table-v2/src/components/row.js +208 -0
  528. package/lib/components/table-v2/src/components/row.js.map +1 -0
  529. package/lib/components/table-v2/src/{sort-icon.d.ts → components/sort-icon.d.ts} +1 -1
  530. package/lib/components/table-v2/src/components/sort-icon.js +23 -0
  531. package/lib/components/table-v2/src/components/sort-icon.js.map +1 -0
  532. package/lib/components/table-v2/src/composables/index.d.ts +5 -0
  533. package/lib/components/table-v2/src/composables/index.js +18 -0
  534. package/lib/components/table-v2/src/composables/index.js.map +1 -0
  535. package/{es/components/table-v2/src → lib/components/table-v2/src/composables}/use-columns.d.ts +8 -6
  536. package/lib/components/table-v2/src/{use-columns.js → composables/use-columns.js} +27 -31
  537. package/lib/components/table-v2/src/composables/use-columns.js.map +1 -0
  538. package/lib/components/table-v2/src/composables/use-data.d.ts +17 -0
  539. package/lib/components/table-v2/src/composables/use-data.js +48 -0
  540. package/lib/components/table-v2/src/composables/use-data.js.map +1 -0
  541. package/lib/components/table-v2/src/composables/use-row.d.ts +32 -0
  542. package/lib/components/table-v2/src/composables/use-row.js +127 -0
  543. package/lib/components/table-v2/src/composables/use-row.js.map +1 -0
  544. package/lib/components/table-v2/src/composables/use-scrollbar.d.ts +26 -0
  545. package/lib/components/table-v2/src/composables/use-scrollbar.js +59 -0
  546. package/lib/components/table-v2/src/composables/use-scrollbar.js.map +1 -0
  547. package/lib/components/table-v2/src/composables/use-styles.d.ts +25 -0
  548. package/lib/components/table-v2/src/composables/use-styles.js +91 -0
  549. package/lib/components/table-v2/src/composables/use-styles.js.map +1 -0
  550. package/lib/components/table-v2/src/composables/utils.d.ts +3 -0
  551. package/lib/components/table-v2/src/composables/utils.js +30 -0
  552. package/lib/components/table-v2/src/composables/utils.js.map +1 -0
  553. package/lib/components/table-v2/src/constants.d.ts +4 -0
  554. package/lib/components/table-v2/src/constants.js +6 -0
  555. package/lib/components/table-v2/src/constants.js.map +1 -1
  556. package/lib/components/table-v2/src/grid.d.ts +4 -1
  557. package/lib/components/table-v2/src/grid.js +5 -0
  558. package/lib/components/table-v2/src/grid.js.map +1 -1
  559. package/lib/components/table-v2/src/renderers/cell.d.ts +1 -1
  560. package/lib/components/table-v2/src/renderers/cell.js +95 -0
  561. package/lib/components/table-v2/src/renderers/cell.js.map +1 -0
  562. package/lib/components/table-v2/src/renderers/empty.d.ts +7 -0
  563. package/lib/components/table-v2/src/renderers/empty.js +19 -0
  564. package/lib/components/table-v2/src/renderers/empty.js.map +1 -0
  565. package/lib/components/table-v2/src/renderers/footer.d.ts +7 -0
  566. package/lib/components/table-v2/src/renderers/footer.js +19 -0
  567. package/lib/components/table-v2/src/renderers/footer.js.map +1 -0
  568. package/lib/components/table-v2/src/renderers/header-cell.d.ts +1 -1
  569. package/lib/components/table-v2/src/renderers/header-cell.js +69 -0
  570. package/lib/components/table-v2/src/renderers/header-cell.js.map +1 -0
  571. package/lib/components/table-v2/src/renderers/header.d.ts +1 -1
  572. package/lib/components/table-v2/src/renderers/header.js +43 -0
  573. package/lib/components/table-v2/src/renderers/header.js.map +1 -0
  574. package/lib/components/table-v2/src/renderers/left-table.js +28 -0
  575. package/lib/components/table-v2/src/renderers/left-table.js.map +1 -0
  576. package/lib/components/table-v2/src/renderers/main-table.js +26 -0
  577. package/lib/components/table-v2/src/renderers/main-table.js.map +1 -0
  578. package/lib/components/table-v2/src/renderers/overlay.d.ts +3 -0
  579. package/lib/components/table-v2/src/renderers/overlay.js +19 -0
  580. package/lib/components/table-v2/src/renderers/overlay.js.map +1 -0
  581. package/lib/components/table-v2/src/renderers/right-table.js +28 -0
  582. package/lib/components/table-v2/src/renderers/right-table.js.map +1 -0
  583. package/lib/components/table-v2/src/renderers/row.js +81 -0
  584. package/lib/components/table-v2/src/renderers/row.js.map +1 -0
  585. package/lib/components/table-v2/src/row.d.ts +6 -1
  586. package/lib/components/table-v2/src/row.js.map +1 -1
  587. package/lib/components/table-v2/src/table-grid.d.ts +8 -2
  588. package/lib/components/table-v2/src/table-grid.js +225 -0
  589. package/lib/components/table-v2/src/table-grid.js.map +1 -0
  590. package/lib/components/table-v2/src/table-v2.d.ts +3 -12
  591. package/lib/components/table-v2/src/table-v2.js +254 -0
  592. package/lib/components/table-v2/src/table-v2.js.map +1 -0
  593. package/lib/components/table-v2/src/table.d.ts +2 -5
  594. package/lib/components/table-v2/src/table.js.map +1 -1
  595. package/lib/components/table-v2/src/types.d.ts +15 -2
  596. package/lib/components/table-v2/src/use-table.d.ts +20 -29
  597. package/lib/components/table-v2/src/use-table.js +82 -236
  598. package/lib/components/table-v2/src/use-table.js.map +1 -1
  599. package/lib/components/table-v2/src/utils.js +1 -1
  600. package/lib/components/table-v2/src/utils.js.map +1 -1
  601. package/lib/components/tooltip/index.js +2 -2
  602. package/lib/components/tooltip/src/content.js +1 -1
  603. package/lib/components/tooltip/src/tooltip.js +64 -174
  604. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  605. package/lib/components/tooltip/src/tooltip2.js +174 -64
  606. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  607. package/lib/components/tooltip/src/trigger.js +1 -1
  608. package/lib/components/upload/index.d.ts +16 -12
  609. package/lib/components/upload/src/upload-content.d.ts +1 -1
  610. package/lib/components/upload/src/upload-content.vue.d.ts +4 -3
  611. package/lib/components/upload/src/upload-content2.js +3 -1
  612. package/lib/components/upload/src/upload-content2.js.map +1 -1
  613. package/lib/components/upload/src/upload-list2.js +4 -2
  614. package/lib/components/upload/src/upload-list2.js.map +1 -1
  615. package/lib/components/upload/src/upload.d.ts +2 -2
  616. package/lib/components/upload/src/upload.js +1 -1
  617. package/lib/components/upload/src/upload.js.map +1 -1
  618. package/lib/components/upload/src/upload.vue.d.ts +16 -12
  619. package/lib/components/virtual-list/src/builders/build-grid.d.ts +11 -2
  620. package/lib/components/virtual-list/src/builders/build-grid.js +7 -3
  621. package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
  622. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +11 -2
  623. package/lib/components/virtual-list/src/components/dynamic-size-grid.js +4 -2
  624. package/lib/components/virtual-list/src/components/dynamic-size-grid.js.map +1 -1
  625. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +11 -2
  626. package/lib/components/virtual-list/src/components/scrollbar.d.ts +2 -2
  627. package/lib/components/virtual-list/src/props.d.ts +7 -3
  628. package/lib/components/virtual-list/src/props.js +5 -1
  629. package/lib/components/virtual-list/src/props.js.map +1 -1
  630. package/lib/components/virtual-list/src/types.d.ts +7 -0
  631. package/lib/components/virtual-list/src/utils.d.ts +10 -5
  632. package/lib/components/virtual-list/src/utils.js.map +1 -1
  633. package/lib/constants/index.js +0 -1
  634. package/lib/constants/index.js.map +1 -1
  635. package/lib/constants/size.d.ts +0 -1
  636. package/lib/constants/size.js +0 -4
  637. package/lib/constants/size.js.map +1 -1
  638. package/lib/directives/mousewheel/index.js +1 -7
  639. package/lib/directives/mousewheel/index.js.map +1 -1
  640. package/lib/hooks/index.d.ts +1 -0
  641. package/lib/hooks/index.js +2 -0
  642. package/lib/hooks/index.js.map +1 -1
  643. package/lib/hooks/use-cursor/index.d.ts +2 -0
  644. package/lib/hooks/use-cursor/index.js +50 -0
  645. package/lib/hooks/use-cursor/index.js.map +1 -0
  646. package/lib/hooks/use-draggable/index.js +1 -1
  647. package/lib/index.js +3 -2
  648. package/lib/index.js.map +1 -1
  649. package/lib/utils/dom/index.js +1 -0
  650. package/lib/utils/dom/index.js.map +1 -1
  651. package/lib/utils/dom/style.d.ts +1 -0
  652. package/lib/utils/dom/style.js +13 -0
  653. package/lib/utils/dom/style.js.map +1 -1
  654. package/lib/utils/index.js +3 -2
  655. package/lib/utils/index.js.map +1 -1
  656. package/lib/utils/vue/index.d.ts +1 -1
  657. package/lib/utils/vue/index.js +2 -2
  658. package/lib/utils/vue/size.d.ts +1 -0
  659. package/lib/utils/vue/size.js +13 -0
  660. package/lib/utils/vue/size.js.map +1 -0
  661. package/lib/version.d.ts +1 -1
  662. package/lib/version.js +1 -1
  663. package/lib/version.js.map +1 -1
  664. package/package.json +7 -7
  665. package/tags.json +1 -1
  666. package/theme-chalk/el-autocomplete.css +1 -1
  667. package/theme-chalk/el-date-picker.css +1 -1
  668. package/theme-chalk/el-input-number.css +1 -1
  669. package/theme-chalk/el-input.css +1 -1
  670. package/theme-chalk/el-pagination.css +1 -1
  671. package/theme-chalk/el-step.css +1 -1
  672. package/theme-chalk/el-table-v2.css +1 -1
  673. package/theme-chalk/el-tabs.css +1 -1
  674. package/theme-chalk/el-time-picker.css +1 -1
  675. package/theme-chalk/el-upload.css +1 -1
  676. package/theme-chalk/index.css +1 -1
  677. package/theme-chalk/src/autocomplete.scss +9 -9
  678. package/theme-chalk/src/check-tag.scss +5 -5
  679. package/theme-chalk/src/dark/var.scss +7 -7
  680. package/theme-chalk/src/date-picker/time-picker.scss +2 -2
  681. package/theme-chalk/src/date-picker/year-table.scss +2 -2
  682. package/theme-chalk/src/input-number.scss +0 -1
  683. package/theme-chalk/src/input.scss +12 -5
  684. package/theme-chalk/src/pagination.scss +6 -0
  685. package/theme-chalk/src/step.scss +1 -1
  686. package/theme-chalk/src/table-v2.scss +30 -6
  687. package/theme-chalk/src/tabs.scss +1 -1
  688. package/theme-chalk/src/upload.scss +7 -4
  689. package/web-types.json +1 -1
  690. package/es/components/table-v2/src/column-resizer.d.ts +0 -14
  691. package/es/components/table-v2/src/column-resizer.mjs +0 -24
  692. package/es/components/table-v2/src/column-resizer.mjs.map +0 -1
  693. package/es/components/table-v2/src/table-cell.d.ts +0 -9
  694. package/es/components/table-v2/src/table-column-resizer.d.ts +0 -31
  695. package/es/components/table-v2/src/table-header-cell.d.ts +0 -8
  696. package/es/components/table-v2/src/use-columns.mjs.map +0 -1
  697. package/es/utils/vue/style.d.ts +0 -1
  698. package/es/utils/vue/style.mjs +0 -19
  699. package/es/utils/vue/style.mjs.map +0 -1
  700. package/lib/components/table-v2/src/column-resizer.d.ts +0 -14
  701. package/lib/components/table-v2/src/column-resizer.js +0 -28
  702. package/lib/components/table-v2/src/column-resizer.js.map +0 -1
  703. package/lib/components/table-v2/src/table-cell.d.ts +0 -9
  704. package/lib/components/table-v2/src/table-column-resizer.d.ts +0 -31
  705. package/lib/components/table-v2/src/table-header-cell.d.ts +0 -8
  706. package/lib/components/table-v2/src/use-columns.js.map +0 -1
  707. package/lib/utils/vue/style.d.ts +0 -1
  708. package/lib/utils/vue/style.js +0 -23
  709. package/lib/utils/vue/style.js.map +0 -1
@@ -0,0 +1,204 @@
1
+ import { inject, ref, computed, unref, nextTick, onMounted, defineComponent, createVNode, mergeProps } from 'vue';
2
+ import '../../../../utils/index.mjs';
3
+ import { tableV2RowProps } from '../row.mjs';
4
+ import { TableV2InjectionKey } from '../tokens.mjs';
5
+ import { placeholderSign } from '../private.mjs';
6
+ import { isNumber } from '@vueuse/core';
7
+ import { isFunction, isArray } from '@vue/shared';
8
+
9
+ const useTableRow = (props) => {
10
+ const {
11
+ isScrolling
12
+ } = inject(TableV2InjectionKey);
13
+ const measured = ref(false);
14
+ const rowRef = ref();
15
+ const measurable = computed(() => {
16
+ return isNumber(props.estimatedRowHeight) && props.rowIndex >= 0;
17
+ });
18
+ const doMeasure = (isInit = false) => {
19
+ const $rowRef = unref(rowRef);
20
+ if (!$rowRef)
21
+ return;
22
+ const {
23
+ columns,
24
+ onRowHeightChange,
25
+ rowKey,
26
+ rowIndex,
27
+ style
28
+ } = props;
29
+ const {
30
+ height
31
+ } = $rowRef.getBoundingClientRect();
32
+ measured.value = true;
33
+ nextTick(() => {
34
+ if (isInit || height !== Number.parseInt(style.height)) {
35
+ const firstColumn = columns[0];
36
+ const isPlaceholder = (firstColumn == null ? void 0 : firstColumn.placeholderSign) === placeholderSign;
37
+ onRowHeightChange == null ? void 0 : onRowHeightChange({
38
+ rowKey,
39
+ height,
40
+ rowIndex
41
+ }, firstColumn && !isPlaceholder && firstColumn.fixed);
42
+ }
43
+ });
44
+ };
45
+ const eventHandlers = computed(() => {
46
+ const {
47
+ rowData,
48
+ rowIndex,
49
+ rowKey,
50
+ onRowHover
51
+ } = props;
52
+ const handlers = props.rowEventHandlers || {};
53
+ const eventHandlers2 = {};
54
+ Object.entries(handlers).forEach(([eventName, handler]) => {
55
+ if (isFunction(handler)) {
56
+ eventHandlers2[eventName] = (event) => {
57
+ handler({
58
+ event,
59
+ rowData,
60
+ rowIndex,
61
+ rowKey
62
+ });
63
+ };
64
+ }
65
+ });
66
+ if (onRowHover) {
67
+ ;
68
+ [{
69
+ name: "onMouseleave",
70
+ hovered: false
71
+ }, {
72
+ name: "onMouseenter",
73
+ hovered: true
74
+ }].forEach(({
75
+ name,
76
+ hovered
77
+ }) => {
78
+ const existedHandler = eventHandlers2[name];
79
+ eventHandlers2[name] = (event) => {
80
+ onRowHover({
81
+ event,
82
+ hovered,
83
+ rowData,
84
+ rowIndex,
85
+ rowKey
86
+ });
87
+ existedHandler == null ? void 0 : existedHandler(event);
88
+ };
89
+ });
90
+ }
91
+ return eventHandlers2;
92
+ });
93
+ const onExpand = (expanded) => {
94
+ const {
95
+ onRowExpand,
96
+ rowData,
97
+ rowIndex,
98
+ rowKey
99
+ } = props;
100
+ onRowExpand == null ? void 0 : onRowExpand({
101
+ expanded,
102
+ rowData,
103
+ rowIndex,
104
+ rowKey
105
+ });
106
+ };
107
+ onMounted(() => {
108
+ if (unref(measurable)) {
109
+ doMeasure(true);
110
+ }
111
+ });
112
+ return {
113
+ isScrolling,
114
+ measurable,
115
+ measured,
116
+ rowRef,
117
+ eventHandlers,
118
+ onExpand
119
+ };
120
+ };
121
+ const COMPONENT_NAME = "ElTableV2TableRow";
122
+ const TableV2Row = defineComponent({
123
+ name: COMPONENT_NAME,
124
+ props: tableV2RowProps,
125
+ setup(props, {
126
+ expose,
127
+ slots,
128
+ attrs
129
+ }) {
130
+ const {
131
+ eventHandlers,
132
+ isScrolling,
133
+ measurable,
134
+ measured,
135
+ rowRef,
136
+ onExpand
137
+ } = useTableRow(props);
138
+ expose({
139
+ onExpand
140
+ });
141
+ return () => {
142
+ const {
143
+ columns,
144
+ expandColumnKey,
145
+ depth,
146
+ rowData,
147
+ rowIndex,
148
+ style
149
+ } = props;
150
+ let ColumnCells = columns.map((column, columnIndex) => {
151
+ const expandable = isArray(rowData.children) && rowData.children.length > 0 && column.key === expandColumnKey;
152
+ return slots.cell({
153
+ column,
154
+ columns,
155
+ columnIndex,
156
+ depth,
157
+ rowData,
158
+ rowIndex,
159
+ isScrolling: unref(isScrolling),
160
+ expandIconProps: expandable ? {
161
+ rowData,
162
+ rowIndex,
163
+ onExpand
164
+ } : void 0
165
+ });
166
+ });
167
+ if (slots.row) {
168
+ ColumnCells = slots.row({
169
+ cells: ColumnCells.map((node) => {
170
+ if (isArray(node) && node.length === 1) {
171
+ return node[0];
172
+ }
173
+ return node;
174
+ }),
175
+ columns,
176
+ depth,
177
+ rowData,
178
+ rowIndex,
179
+ isScrolling: unref(isScrolling)
180
+ });
181
+ }
182
+ if (unref(measurable)) {
183
+ const {
184
+ height,
185
+ ...exceptHeightStyle
186
+ } = style || {};
187
+ const _measured = unref(measured);
188
+ return createVNode("div", mergeProps({
189
+ "ref": rowRef,
190
+ "class": props.class,
191
+ "style": _measured ? style : exceptHeightStyle
192
+ }, attrs, unref(eventHandlers)), [ColumnCells]);
193
+ }
194
+ return createVNode("div", mergeProps(attrs, {
195
+ "ref": rowRef,
196
+ "class": props.class,
197
+ "style": style
198
+ }, unref(eventHandlers)), [ColumnCells]);
199
+ };
200
+ }
201
+ });
202
+
203
+ export { TableV2Row as default };
204
+ //# sourceMappingURL=row.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row.mjs","sources":["../../../../../../../packages/components/table-v2/src/components/row.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n ref,\n unref,\n} from 'vue'\nimport { isArray, isFunction, isNumber } from '@element-plus/utils'\nimport { tableV2RowProps } from '../row'\nimport { TableV2InjectionKey } from '../tokens'\nimport { placeholderSign } from '../private'\n\nimport type { RendererElement, RendererNode, VNode } from 'vue'\nimport type { RowEventHandlers, TableV2RowProps } from '../row'\n\ntype CustomizedCellsType = VNode<\n RendererNode,\n RendererElement,\n {\n [key: string]: any\n }\n>[]\n\ntype DefaultCellsType = VNode<\n RendererNode,\n RendererElement,\n {\n [key: string]: any\n }\n>[][]\n\ntype ColumnCellsType = DefaultCellsType | CustomizedCellsType\n\nconst useTableRow = (props: TableV2RowProps) => {\n const { isScrolling } = inject(TableV2InjectionKey)!\n\n const measured = ref(false)\n const rowRef = ref<HTMLElement>()\n const measurable = computed(() => {\n return isNumber(props.estimatedRowHeight) && props.rowIndex >= 0\n })\n\n const doMeasure = (isInit = false) => {\n const $rowRef = unref(rowRef)\n if (!$rowRef) return\n const { columns, onRowHeightChange, rowKey, rowIndex, style } = props\n const { height } = $rowRef.getBoundingClientRect()\n measured.value = true\n\n nextTick(() => {\n if (isInit || height !== Number.parseInt(style!.height as string)) {\n const firstColumn = columns[0]\n const isPlaceholder = firstColumn?.placeholderSign === placeholderSign\n onRowHeightChange?.(\n { rowKey, height, rowIndex },\n firstColumn && !isPlaceholder && firstColumn.fixed\n )\n }\n })\n }\n\n const eventHandlers = computed(() => {\n const { rowData, rowIndex, rowKey, onRowHover } = props\n const handlers = props.rowEventHandlers || ({} as RowEventHandlers<any>)\n const eventHandlers = {} as {\n [key in keyof RowEventHandlers<any>]: (e: Event) => void\n }\n\n Object.entries(handlers).forEach(([eventName, handler]) => {\n if (isFunction(handler)) {\n eventHandlers[eventName as keyof RowEventHandlers<any>] = (\n event: Event\n ) => {\n handler({\n event,\n rowData,\n rowIndex,\n rowKey,\n })\n }\n }\n })\n\n if (onRowHover) {\n ;(\n [\n { name: 'onMouseleave', hovered: false },\n { name: 'onMouseenter', hovered: true },\n ] as const\n ).forEach(({ name, hovered }) => {\n const existedHandler = eventHandlers[name]\n eventHandlers[name] = ((event: MouseEvent) => {\n onRowHover({\n event,\n hovered,\n rowData,\n rowIndex,\n rowKey,\n })\n\n existedHandler?.(event)\n }) as any\n })\n }\n return eventHandlers\n })\n\n const onExpand = (expanded: boolean) => {\n const { onRowExpand, rowData, rowIndex, rowKey } = props\n\n onRowExpand?.({\n expanded,\n rowData,\n rowIndex,\n rowKey,\n })\n }\n\n onMounted(() => {\n if (unref(measurable)) {\n doMeasure(true)\n }\n })\n\n return { isScrolling, measurable, measured, rowRef, eventHandlers, onExpand }\n}\n\nconst COMPONENT_NAME = 'ElTableV2TableRow'\n\nconst TableV2Row = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2RowProps,\n setup(props, { expose, slots, attrs }) {\n const {\n eventHandlers,\n isScrolling,\n measurable,\n measured,\n rowRef,\n\n onExpand,\n } = useTableRow(props)\n\n expose({\n /**\n * @description manually dispatching expand action on row.\n */\n onExpand,\n })\n\n return () => {\n const { columns, expandColumnKey, depth, rowData, rowIndex, style } =\n props\n\n let ColumnCells: ColumnCellsType = columns.map((column, columnIndex) => {\n const expandable =\n isArray(rowData.children) &&\n rowData.children.length > 0 &&\n column.key === expandColumnKey\n\n return slots.cell!({\n column,\n columns,\n columnIndex,\n depth,\n rowData,\n rowIndex,\n isScrolling: unref(isScrolling),\n expandIconProps: expandable\n ? {\n rowData,\n rowIndex,\n onExpand,\n }\n : undefined,\n })\n })\n\n if (slots.row) {\n ColumnCells = slots.row({\n cells: ColumnCells.map((node) => {\n if (isArray(node) && node.length === 1) {\n return node[0]\n }\n return node\n }),\n columns,\n depth,\n rowData,\n rowIndex,\n isScrolling: unref(isScrolling),\n })\n }\n\n if (unref(measurable)) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { height, ...exceptHeightStyle } = style || {}\n const _measured = unref(measured)\n return (\n <div\n ref={rowRef}\n class={props.class}\n style={_measured ? style : exceptHeightStyle}\n {...attrs}\n {...unref(eventHandlers)}\n >\n {ColumnCells}\n </div>\n )\n }\n\n return (\n <div\n {...attrs}\n ref={rowRef}\n class={props.class}\n style={style}\n {...unref(eventHandlers)}\n >\n {ColumnCells}\n </div>\n )\n }\n },\n})\n\nexport default TableV2Row\n\nexport type TableV2RowCellRenderParam = {\n column: TableV2RowProps['columns'][number]\n columns: TableV2RowProps['columns']\n columnIndex: number\n depth: number\n rowData: any\n rowIndex: number\n isScrolling: boolean\n expandIconProps?: {\n rowData: any\n rowIndex: number\n onExpand: (expand: boolean) => void\n }\n}\n"],"names":["useTableRow","isScrolling","inject","TableV2InjectionKey","measured","rowRef","ref","isNumber","doMeasure","columns","onRowHeightChange","rowKey","rowIndex","style","height","$rowRef","getBoundingClientRect","value","nextTick","parseInt","firstColumn","placeholderSign","rowData","onRowHover","handlers","props","rowEventHandlers","eventHandlers","Object","forEach","eventName","isFunction","handler","event","name","hovered","existedHandler","onExpand","onRowExpand","expanded","onMounted","measurable","COMPONENT_NAME","TableV2Row","setup","expose","slots","attrs","expandColumnKey","depth","ColumnCells","expandable","column","columnIndex","expandIconProps","undefined","cells","map","isArray","node","_createVNode","_mergeProps","exceptHeightStyle"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SortOrder } from './constants';
1
+ import { SortOrder } from '../constants';
2
2
  import type { FunctionalComponent } from 'vue';
3
3
  export declare type SortIconProps = {
4
4
  sortOrder: SortOrder;
@@ -0,0 +1,19 @@
1
+ import { createVNode } from 'vue';
2
+ import { ElIcon } from '../../../icon/index.mjs';
3
+ import { SortUp, SortDown } from '@element-plus/icons-vue';
4
+ import { SortOrder } from '../constants.mjs';
5
+
6
+ const SortIcon = (props) => {
7
+ const {
8
+ sortOrder
9
+ } = props;
10
+ return createVNode(ElIcon, {
11
+ "size": 14,
12
+ "class": props.class
13
+ }, {
14
+ default: () => [sortOrder === SortOrder.ASC ? createVNode(SortUp, null, null) : createVNode(SortDown, null, null)]
15
+ });
16
+ };
17
+
18
+ export { SortIcon as default };
19
+ //# sourceMappingURL=sort-icon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-icon.mjs","sources":["../../../../../../../packages/components/table-v2/src/components/sort-icon.tsx"],"sourcesContent":["import ElIcon from '@element-plus/components/icon'\nimport { SortDown, SortUp } from '@element-plus/icons-vue'\nimport { SortOrder } from '../constants'\n\nimport type { FunctionalComponent } from 'vue'\n\nexport type SortIconProps = {\n sortOrder: SortOrder\n class?: JSX.IntrinsicAttributes['class']\n}\n\nconst SortIcon: FunctionalComponent<SortIconProps> = (props) => {\n const { sortOrder } = props\n\n return (\n <ElIcon size={14} class={props.class}>\n {sortOrder === SortOrder.ASC ? <SortUp /> : <SortDown />}\n </ElIcon>\n )\n}\n\nexport default SortIcon\n"],"names":["SortIcon","sortOrder","_createVNode"],"mappings":";;;;;;AAWA,EAAMA,MAAAA;AACJ,IAAM,SAAA;AAAEC,GAAAA,GAAAA,KAAAA,CAAAA;AAAF,EAAA,OAANC,WAAA,CAAA,MAAA,EAAA;AAEA,IAAA,MAAA,EAAA,EAAA;AAAA,IAAA,OAAA,EAAA,KAAA,CAAA,KAAA;AAAA,GAAA,EAAA;AAAA,IAAA,OAAA,EAAA,MAAA,CAAA,SAAA,KAAA,SAAA,CAAA,GAAA,GAAAA,WAAA,CAAA,MAAA,EAAA,IAAA,EAAA,IAAA,CAAA,GAAAA,WAAA,CAAA,QAAA,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAAA;;;;"}
@@ -0,0 +1,5 @@
1
+ export * from './use-columns';
2
+ export * from './use-scrollbar';
3
+ export * from './use-row';
4
+ export * from './use-data';
5
+ export * from './use-styles';
@@ -0,0 +1,6 @@
1
+ export { useColumns } from './use-columns.mjs';
2
+ export { useScrollbar } from './use-scrollbar.mjs';
3
+ export { useRow } from './use-row.mjs';
4
+ export { useData } from './use-data.mjs';
5
+ export { useStyles } from './use-styles.mjs';
6
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,18 +1,20 @@
1
1
  import type { CSSProperties, Ref } from 'vue';
2
- import type { Column, Columns, KeyType } from './types';
3
- declare type AnyColumn = Columns<any>;
4
- declare function useColumns(columns: Ref<AnyColumn>, fixed: Ref<boolean>): {
5
- columns: Ref<AnyColumn>;
2
+ import type { TableV2Props } from '../table';
3
+ import type { AnyColumns, Column, KeyType } from '../types';
4
+ declare function useColumns(props: TableV2Props, columns: Ref<AnyColumns>, fixed: Ref<boolean>): {
5
+ columns: Ref<AnyColumns>;
6
6
  columnsStyles: import("vue").ComputedRef<Record<KeyType, CSSProperties>>;
7
7
  columnsTotalWidth: import("vue").ComputedRef<number>;
8
8
  fixedColumnsOnLeft: import("vue").ComputedRef<Column<any>[]>;
9
- fixedColumnOnRight: import("vue").ComputedRef<Column<any>[]>;
9
+ fixedColumnsOnRight: import("vue").ComputedRef<Column<any>[]>;
10
10
  hasFixedColumns: import("vue").ComputedRef<number>;
11
- mainColumns: import("vue").ComputedRef<AnyColumn>;
11
+ mainColumns: import("vue").ComputedRef<AnyColumns>;
12
12
  normalColumns: import("vue").ComputedRef<Column<any>[]>;
13
13
  visibleColumns: import("vue").ComputedRef<Column<any>[]>;
14
14
  getColumn: (key: KeyType) => Column<any> | undefined;
15
15
  getColumnStyle: (key: KeyType) => CSSProperties;
16
16
  updateColumnWidth: (column: Column<any>, width: number) => void;
17
+ onColumnSorted: (e: MouseEvent) => void;
17
18
  };
18
19
  export { useColumns };
20
+ export declare type UseColumnsReturn = ReturnType<typeof useColumns>;
@@ -1,35 +1,16 @@
1
1
  import { computed, unref } from 'vue';
2
- import { placeholderSign } from './private.mjs';
2
+ import '../../../../utils/index.mjs';
3
+ import { SortOrder, oppositeOrderMap } from '../constants.mjs';
4
+ import { placeholderSign } from '../private.mjs';
5
+ import { calcColumnStyle } from './utils.mjs';
6
+ import { isObject } from '@vue/shared';
3
7
 
4
- const calcColumnStyle = (column, fixedColumn) => {
5
- var _a;
6
- const flex = {
7
- flexGrow: 0,
8
- flexShrink: 0
9
- };
10
- if (column.fixed) {
11
- flex.flexShrink = 1;
12
- }
13
- const style = {
14
- ...(_a = column.style) != null ? _a : {},
15
- ...flex,
16
- flexBasis: "auto",
17
- width: column.width
18
- };
19
- if (!fixedColumn) {
20
- if (column.maxWidth)
21
- style.maxWidth = column.maxWidth;
22
- if (column.minWidth)
23
- style.maxWidth = column.minWidth;
24
- }
25
- return style;
26
- };
27
- function useColumns(columns, fixed) {
8
+ function useColumns(props, columns, fixed) {
28
9
  const visibleColumns = computed(() => {
29
10
  return unref(columns).filter((column) => !column.hidden);
30
11
  });
31
12
  const fixedColumnsOnLeft = computed(() => unref(visibleColumns).filter((column) => column.fixed === "left" || column.fixed === true));
32
- const fixedColumnOnRight = computed(() => unref(visibleColumns).filter((column) => column.fixed === "right"));
13
+ const fixedColumnsOnRight = computed(() => unref(visibleColumns).filter((column) => column.fixed === "right"));
33
14
  const normalColumns = computed(() => unref(visibleColumns).filter((column) => !column.fixed));
34
15
  const mainColumns = computed(() => {
35
16
  const ret = [];
@@ -42,7 +23,7 @@ function useColumns(columns, fixed) {
42
23
  unref(normalColumns).forEach((column) => {
43
24
  ret.push(column);
44
25
  });
45
- unref(fixedColumnOnRight).forEach((column) => {
26
+ unref(fixedColumnsOnRight).forEach((column) => {
46
27
  ret.push({
47
28
  ...column,
48
29
  placeholderSign
@@ -51,7 +32,7 @@ function useColumns(columns, fixed) {
51
32
  return ret;
52
33
  });
53
34
  const hasFixedColumns = computed(() => {
54
- return unref(fixedColumnsOnLeft).length || unref(fixedColumnOnRight).length;
35
+ return unref(fixedColumnsOnLeft).length || unref(fixedColumnsOnRight).length;
55
36
  });
56
37
  const columnsStyles = computed(() => {
57
38
  const _columns = unref(columns);
@@ -72,19 +53,34 @@ function useColumns(columns, fixed) {
72
53
  const updateColumnWidth = (column, width) => {
73
54
  column.width = width;
74
55
  };
56
+ function onColumnSorted(e) {
57
+ var _a;
58
+ const { key } = e.currentTarget.dataset;
59
+ if (!key)
60
+ return;
61
+ const { sortState, sortBy } = props;
62
+ let order = SortOrder.ASC;
63
+ if (isObject(sortState)) {
64
+ order = oppositeOrderMap[sortState[key]];
65
+ } else {
66
+ order = oppositeOrderMap[sortBy.order];
67
+ }
68
+ (_a = props.onColumnSort) == null ? void 0 : _a.call(props, { column: getColumn(key), key, order });
69
+ }
75
70
  return {
76
71
  columns,
77
72
  columnsStyles,
78
73
  columnsTotalWidth,
79
74
  fixedColumnsOnLeft,
80
- fixedColumnOnRight,
75
+ fixedColumnsOnRight,
81
76
  hasFixedColumns,
82
77
  mainColumns,
83
78
  normalColumns,
84
79
  visibleColumns,
85
80
  getColumn,
86
81
  getColumnStyle,
87
- updateColumnWidth
82
+ updateColumnWidth,
83
+ onColumnSorted
88
84
  };
89
85
  }
90
86
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-columns.mjs","sources":["../../../../../../../packages/components/table-v2/src/composables/use-columns.ts"],"sourcesContent":["import { computed, unref } from 'vue'\nimport { isObject } from '@element-plus/utils'\nimport { SortOrder, oppositeOrderMap } from '../constants'\nimport { placeholderSign } from '../private'\nimport { calcColumnStyle } from './utils'\n\nimport type { CSSProperties, Ref } from 'vue'\nimport type { TableV2Props } from '../table'\nimport type { AnyColumns, Column, KeyType } from '../types'\n\nfunction useColumns(\n props: TableV2Props,\n columns: Ref<AnyColumns>,\n fixed: Ref<boolean>\n) {\n const visibleColumns = computed(() => {\n return unref(columns).filter((column) => !column.hidden)\n })\n\n const fixedColumnsOnLeft = computed(() =>\n unref(visibleColumns).filter(\n (column) => column.fixed === 'left' || column.fixed === true\n )\n )\n\n const fixedColumnsOnRight = computed(() =>\n unref(visibleColumns).filter((column) => column.fixed === 'right')\n )\n\n const normalColumns = computed(() =>\n unref(visibleColumns).filter((column) => !column.fixed)\n )\n\n const mainColumns = computed(() => {\n const ret: AnyColumns = []\n\n unref(fixedColumnsOnLeft).forEach((column) => {\n ret.push({\n ...column,\n placeholderSign,\n })\n })\n\n unref(normalColumns).forEach((column) => {\n ret.push(column)\n })\n\n unref(fixedColumnsOnRight).forEach((column) => {\n ret.push({\n ...column,\n placeholderSign,\n })\n })\n\n return ret\n })\n\n const hasFixedColumns = computed(() => {\n return unref(fixedColumnsOnLeft).length || unref(fixedColumnsOnRight).length\n })\n\n const columnsStyles = computed(() => {\n const _columns = unref(columns)\n\n return _columns.reduce<Record<Column<any>['key'], CSSProperties>>(\n (style, column) => {\n style[column.key] = calcColumnStyle(column, unref(fixed))\n return style\n },\n {}\n )\n })\n\n const columnsTotalWidth = computed(() => {\n return unref(visibleColumns).reduce(\n (width, column) => width + column.width,\n 0\n )\n })\n\n const getColumn = (key: KeyType) => {\n return unref(columns).find((column) => column.key === key)\n }\n\n const getColumnStyle = (key: KeyType) => {\n return unref(columnsStyles)[key]\n }\n\n const updateColumnWidth = (column: Column<any>, width: number) => {\n column.width = width\n }\n\n function onColumnSorted(e: MouseEvent) {\n const { key } = (e.currentTarget as HTMLElement).dataset\n if (!key) return\n const { sortState, sortBy } = props\n\n let order = SortOrder.ASC\n\n if (isObject(sortState)) {\n order = oppositeOrderMap[sortState[key]]\n } else {\n order = oppositeOrderMap[sortBy.order]\n }\n\n props.onColumnSort?.({ column: getColumn(key)!, key, order })\n }\n\n return {\n columns,\n columnsStyles,\n columnsTotalWidth,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n hasFixedColumns,\n mainColumns,\n normalColumns,\n visibleColumns,\n\n getColumn,\n getColumnStyle,\n updateColumnWidth,\n onColumnSorted,\n }\n}\n\nexport { useColumns }\nexport type UseColumnsReturn = ReturnType<typeof useColumns>\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { TableV2Props } from '../table';
2
+ import type { UseRowReturn } from './use-row';
3
+ declare type UseDataProps = {
4
+ expandedRowKeys: UseRowReturn['expandedRowKeys'];
5
+ lastRenderedRowIndex: UseRowReturn['lastRenderedRowIndex'];
6
+ resetAfterIndex: UseRowReturn['resetAfterIndex'];
7
+ };
8
+ export declare const useData: (props: TableV2Props, { expandedRowKeys, lastRenderedRowIndex, resetAfterIndex }: UseDataProps) => {
9
+ data: import("vue").ComputedRef<any[]>;
10
+ depthMap: import("vue").Ref<{
11
+ [x: string]: number;
12
+ [x: number]: number;
13
+ [x: symbol]: number;
14
+ }>;
15
+ };
16
+ export declare type UseDataReturn = ReturnType<typeof useData>;
17
+ export {};
@@ -0,0 +1,44 @@
1
+ import { ref, computed, unref, watch } from 'vue';
2
+
3
+ const useData = (props, { expandedRowKeys, lastRenderedRowIndex, resetAfterIndex }) => {
4
+ const depthMap = ref({});
5
+ const flattenedData = computed(() => {
6
+ const depths = {};
7
+ const { data: data2, rowKey } = props;
8
+ const _expandedRowKeys = unref(expandedRowKeys);
9
+ if (!_expandedRowKeys || !_expandedRowKeys.length)
10
+ return data2;
11
+ const array = [];
12
+ const keysSet = /* @__PURE__ */ new Set();
13
+ _expandedRowKeys.forEach((x) => keysSet.add(x));
14
+ let copy = data2.slice();
15
+ copy.forEach((x) => depths[x[rowKey]] = 0);
16
+ while (copy.length > 0) {
17
+ const item = copy.shift();
18
+ array.push(item);
19
+ if (keysSet.has(item[rowKey]) && Array.isArray(item.children) && item.children.length > 0) {
20
+ copy = [...item.children, ...copy];
21
+ item.children.forEach((child) => depths[child[rowKey]] = depths[item[rowKey]] + 1);
22
+ }
23
+ }
24
+ depthMap.value = depths;
25
+ return array;
26
+ });
27
+ const data = computed(() => {
28
+ const { data: data2, expandColumnKey } = props;
29
+ return expandColumnKey ? unref(flattenedData) : data2;
30
+ });
31
+ watch(data, (val, prev) => {
32
+ if (val !== prev) {
33
+ lastRenderedRowIndex.value = -1;
34
+ resetAfterIndex(0, true);
35
+ }
36
+ });
37
+ return {
38
+ data,
39
+ depthMap
40
+ };
41
+ };
42
+
43
+ export { useData };
44
+ //# sourceMappingURL=use-data.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-data.mjs","sources":["../../../../../../../packages/components/table-v2/src/composables/use-data.ts"],"sourcesContent":["import { computed, ref, unref, watch } from 'vue'\n\nimport type { TableV2Props } from '../table'\nimport type { KeyType } from '../types'\nimport type { UseRowReturn } from './use-row'\n\ntype UseDataProps = {\n expandedRowKeys: UseRowReturn['expandedRowKeys']\n lastRenderedRowIndex: UseRowReturn['lastRenderedRowIndex']\n resetAfterIndex: UseRowReturn['resetAfterIndex']\n}\n\nexport const useData = (\n props: TableV2Props,\n { expandedRowKeys, lastRenderedRowIndex, resetAfterIndex }: UseDataProps\n) => {\n const depthMap = ref<Record<KeyType, number>>({})\n\n const flattenedData = computed(() => {\n const depths: Record<KeyType, number> = {}\n const { data, rowKey } = props\n\n const _expandedRowKeys = unref(expandedRowKeys)\n\n if (!_expandedRowKeys || !_expandedRowKeys.length) return data\n\n const array: any[] = []\n const keysSet = new Set()\n _expandedRowKeys.forEach((x) => keysSet.add(x))\n\n let copy: any[] = data.slice()\n copy.forEach((x) => (depths[x[rowKey]] = 0))\n while (copy.length > 0) {\n const item = copy.shift()!\n\n array.push(item)\n if (\n keysSet.has(item[rowKey]) &&\n Array.isArray(item.children) &&\n item.children.length > 0\n ) {\n copy = [...item.children, ...copy]\n item.children.forEach(\n (child: any) => (depths[child[rowKey]] = depths[item[rowKey]] + 1)\n )\n }\n }\n\n depthMap.value = depths\n return array\n })\n\n const data = computed(() => {\n const { data, expandColumnKey } = props\n return expandColumnKey ? unref(flattenedData) : data\n })\n\n watch(data, (val, prev) => {\n if (val !== prev) {\n lastRenderedRowIndex.value = -1\n resetAfterIndex(0, true)\n }\n })\n\n return {\n data,\n depthMap,\n }\n}\n\nexport type UseDataReturn = ReturnType<typeof useData>\n"],"names":[],"mappings":";;AACY,MAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK;AAC9F,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,EAAE,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;AACvC,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;AAC1C,IAAI,MAAM,gBAAgB,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;AACpD,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,MAAM;AACrD,MAAM,OAAO,KAAK,CAAC;AACnB,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;AACrB,IAAI,MAAM,OAAO,mBAAmB,IAAI,GAAG,EAAE,CAAC;AAC9C,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,IAAI,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5B,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AAChC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACjG,QAAQ,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3C,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3F,OAAO;AACP,KAAK;AACL,IAAI,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC;AAC5B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM;AAC9B,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;AACnD,IAAI,OAAO,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;AAC1D,GAAG,CAAC,CAAC;AACL,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK;AAC7B,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE;AACtB,MAAM,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACtC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/B,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,IAAI;AACR,IAAI,QAAQ;AACZ,GAAG,CAAC;AACJ;;;;"}
@@ -0,0 +1,32 @@
1
+ import type { Ref } from 'vue';
2
+ import type { TableV2Props } from '../table';
3
+ import type { RowExpandParams, RowHeightChangedParams, RowHoverParams } from '../row';
4
+ import type { FixedDirection, KeyType } from '../types';
5
+ import type { onRowRenderedParams } from '../grid';
6
+ import type { TableGridInstance } from '../table-grid';
7
+ declare type GridInstanceRef = Ref<TableGridInstance | undefined>;
8
+ declare type UseRowProps = {
9
+ mainTableRef: GridInstanceRef;
10
+ leftTableRef: GridInstanceRef;
11
+ rightTableRef: GridInstanceRef;
12
+ onMaybeEndReached: () => void;
13
+ };
14
+ export declare const useRow: (props: TableV2Props, { mainTableRef, leftTableRef, rightTableRef, onMaybeEndReached }: UseRowProps) => {
15
+ hoveringRowKey: import("vue").ShallowRef<KeyType | null>;
16
+ expandedRowKeys: Ref<KeyType[]>;
17
+ lastRenderedRowIndex: Ref<number>;
18
+ isDynamic: import("vue").ComputedRef<boolean>;
19
+ isResetting: import("vue").ShallowRef<boolean>;
20
+ rowHeights: Ref<{
21
+ [x: string]: number;
22
+ [x: number]: number;
23
+ [x: symbol]: number;
24
+ }>;
25
+ resetAfterIndex: (index: number, forceUpdate?: boolean) => void;
26
+ onRowExpanded: ({ expanded, rowData, rowIndex, rowKey, }: RowExpandParams<any>) => void;
27
+ onRowHovered: ({ hovered, rowKey }: RowHoverParams<any>) => void;
28
+ onRowsRendered: (params: onRowRenderedParams) => void;
29
+ onRowHeightChange: ({ rowKey, height, rowIndex }: RowHeightChangedParams, fixedDir: FixedDirection) => void;
30
+ };
31
+ export declare type UseRowReturn = ReturnType<typeof useRow>;
32
+ export {};
@@ -0,0 +1,123 @@
1
+ import { getCurrentInstance, shallowRef, ref, computed, unref, watch } from 'vue';
2
+ import { debounce } from 'lodash-unified';
3
+ import '../../../../utils/index.mjs';
4
+ import { FixedDir } from '../constants.mjs';
5
+ import { isNumber } from '@vueuse/core';
6
+
7
+ const useRow = (props, { mainTableRef, leftTableRef, rightTableRef, onMaybeEndReached }) => {
8
+ const vm = getCurrentInstance();
9
+ const { emit } = vm;
10
+ const isResetting = shallowRef(false);
11
+ const hoveringRowKey = shallowRef(null);
12
+ const expandedRowKeys = ref(props.defaultExpandedRowKeys || []);
13
+ const lastRenderedRowIndex = ref(-1);
14
+ const resetIndex = shallowRef(null);
15
+ const rowHeights = ref({});
16
+ const pendingRowHeights = ref({});
17
+ const leftTableHeights = shallowRef({});
18
+ const mainTableHeights = shallowRef({});
19
+ const rightTableHeights = shallowRef({});
20
+ const isDynamic = computed(() => isNumber(props.estimatedRowHeight));
21
+ function onRowsRendered(params) {
22
+ var _a;
23
+ (_a = props.onRowRendered) == null ? void 0 : _a.call(props, params);
24
+ if (params.rowCacheEnd > unref(lastRenderedRowIndex)) {
25
+ lastRenderedRowIndex.value = params.rowCacheEnd;
26
+ }
27
+ }
28
+ function onRowHovered({ hovered, rowKey }) {
29
+ hoveringRowKey.value = hovered ? rowKey : null;
30
+ }
31
+ function onRowExpanded({
32
+ expanded,
33
+ rowData,
34
+ rowIndex,
35
+ rowKey
36
+ }) {
37
+ var _a, _b;
38
+ const _expandedRowKeys = [...unref(expandedRowKeys)];
39
+ const currentKeyIndex = _expandedRowKeys.indexOf(rowKey);
40
+ if (expanded) {
41
+ if (currentKeyIndex === -1)
42
+ _expandedRowKeys.push(rowKey);
43
+ } else {
44
+ if (currentKeyIndex > -1)
45
+ _expandedRowKeys.splice(currentKeyIndex, 1);
46
+ }
47
+ expandedRowKeys.value = _expandedRowKeys;
48
+ emit("update:expandedRowKeys", _expandedRowKeys);
49
+ (_a = props.onRowExpand) == null ? void 0 : _a.call(props, {
50
+ expanded,
51
+ rowData,
52
+ rowIndex,
53
+ rowKey
54
+ });
55
+ (_b = props.onExpandedRowsChange) == null ? void 0 : _b.call(props, _expandedRowKeys);
56
+ }
57
+ const flushingRowHeights = debounce(() => {
58
+ var _a, _b, _c, _d;
59
+ isResetting.value = true;
60
+ rowHeights.value = { ...unref(rowHeights), ...unref(pendingRowHeights) };
61
+ resetAfterIndex(unref(resetIndex), false);
62
+ pendingRowHeights.value = {};
63
+ resetIndex.value = null;
64
+ (_a = mainTableRef.value) == null ? void 0 : _a.forceUpdate();
65
+ (_b = leftTableRef.value) == null ? void 0 : _b.forceUpdate();
66
+ (_c = rightTableRef.value) == null ? void 0 : _c.forceUpdate();
67
+ (_d = vm.proxy) == null ? void 0 : _d.$forceUpdate();
68
+ isResetting.value = false;
69
+ }, 0);
70
+ function resetAfterIndex(index, forceUpdate = false) {
71
+ if (!unref(isDynamic))
72
+ return;
73
+ [mainTableRef, leftTableRef, rightTableRef].forEach((tableRef) => {
74
+ const table = unref(tableRef);
75
+ if (table)
76
+ table.resetAfterRowIndex(index, forceUpdate);
77
+ });
78
+ }
79
+ function resetHeights(rowKey, height, rowIdx) {
80
+ const resetIdx = unref(resetIndex);
81
+ if (resetIdx === null) {
82
+ resetIndex.value = rowIdx;
83
+ } else {
84
+ if (resetIdx > rowIdx) {
85
+ resetIndex.value = rowIdx;
86
+ }
87
+ }
88
+ pendingRowHeights.value[rowKey] = height;
89
+ }
90
+ function onRowHeightChange({ rowKey, height, rowIndex }, fixedDir) {
91
+ if (!fixedDir) {
92
+ mainTableHeights.value[rowKey] = height;
93
+ } else {
94
+ if (fixedDir === FixedDir.RIGHT) {
95
+ rightTableHeights.value[rowKey] = height;
96
+ } else {
97
+ leftTableHeights.value[rowKey] = height;
98
+ }
99
+ }
100
+ const maximumHeight = Math.max(...[leftTableHeights, rightTableHeights, mainTableHeights].map((records) => records.value[rowKey] || 0));
101
+ if (unref(rowHeights)[rowKey] !== maximumHeight) {
102
+ resetHeights(rowKey, maximumHeight, rowIndex);
103
+ flushingRowHeights();
104
+ }
105
+ }
106
+ watch(lastRenderedRowIndex, () => onMaybeEndReached());
107
+ return {
108
+ hoveringRowKey,
109
+ expandedRowKeys,
110
+ lastRenderedRowIndex,
111
+ isDynamic,
112
+ isResetting,
113
+ rowHeights,
114
+ resetAfterIndex,
115
+ onRowExpanded,
116
+ onRowHovered,
117
+ onRowsRendered,
118
+ onRowHeightChange
119
+ };
120
+ };
121
+
122
+ export { useRow };
123
+ //# sourceMappingURL=use-row.mjs.map