element-plus 2.3.3 → 2.3.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 (672) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +214 -189
  4. package/dist/index.full.min.js +16 -16
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +16 -16
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +214 -190
  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/ckb.js +1 -1
  34. package/dist/locale/ckb.min.js +1 -1
  35. package/dist/locale/ckb.min.mjs +1 -1
  36. package/dist/locale/ckb.mjs +1 -1
  37. package/dist/locale/cs.js +1 -1
  38. package/dist/locale/cs.min.js +1 -1
  39. package/dist/locale/cs.min.mjs +1 -1
  40. package/dist/locale/cs.mjs +1 -1
  41. package/dist/locale/da.js +1 -1
  42. package/dist/locale/da.min.js +1 -1
  43. package/dist/locale/da.min.mjs +1 -1
  44. package/dist/locale/da.mjs +1 -1
  45. package/dist/locale/de.js +1 -1
  46. package/dist/locale/de.min.js +1 -1
  47. package/dist/locale/de.min.mjs +1 -1
  48. package/dist/locale/de.mjs +1 -1
  49. package/dist/locale/el.js +1 -1
  50. package/dist/locale/el.min.js +1 -1
  51. package/dist/locale/el.min.mjs +1 -1
  52. package/dist/locale/el.mjs +1 -1
  53. package/dist/locale/en.js +1 -1
  54. package/dist/locale/en.min.js +1 -1
  55. package/dist/locale/en.min.mjs +1 -1
  56. package/dist/locale/en.mjs +1 -1
  57. package/dist/locale/eo.js +1 -1
  58. package/dist/locale/eo.min.js +1 -1
  59. package/dist/locale/eo.min.mjs +1 -1
  60. package/dist/locale/eo.mjs +1 -1
  61. package/dist/locale/es.js +1 -1
  62. package/dist/locale/es.min.js +1 -1
  63. package/dist/locale/es.min.mjs +1 -1
  64. package/dist/locale/es.mjs +1 -1
  65. package/dist/locale/et.js +1 -1
  66. package/dist/locale/et.min.js +1 -1
  67. package/dist/locale/et.min.mjs +1 -1
  68. package/dist/locale/et.mjs +1 -1
  69. package/dist/locale/eu.js +1 -1
  70. package/dist/locale/eu.min.js +1 -1
  71. package/dist/locale/eu.min.mjs +1 -1
  72. package/dist/locale/eu.mjs +1 -1
  73. package/dist/locale/fa.js +1 -1
  74. package/dist/locale/fa.min.js +1 -1
  75. package/dist/locale/fa.min.mjs +1 -1
  76. package/dist/locale/fa.mjs +1 -1
  77. package/dist/locale/fi.js +1 -1
  78. package/dist/locale/fi.min.js +1 -1
  79. package/dist/locale/fi.min.mjs +1 -1
  80. package/dist/locale/fi.mjs +1 -1
  81. package/dist/locale/fr.js +1 -1
  82. package/dist/locale/fr.min.js +1 -1
  83. package/dist/locale/fr.min.mjs +1 -1
  84. package/dist/locale/fr.mjs +1 -1
  85. package/dist/locale/he.js +1 -1
  86. package/dist/locale/he.min.js +1 -1
  87. package/dist/locale/he.min.mjs +1 -1
  88. package/dist/locale/he.mjs +1 -1
  89. package/dist/locale/hr.js +1 -1
  90. package/dist/locale/hr.min.js +1 -1
  91. package/dist/locale/hr.min.mjs +1 -1
  92. package/dist/locale/hr.mjs +1 -1
  93. package/dist/locale/hu.js +1 -1
  94. package/dist/locale/hu.min.js +1 -1
  95. package/dist/locale/hu.min.mjs +1 -1
  96. package/dist/locale/hu.mjs +1 -1
  97. package/dist/locale/hy-am.js +1 -1
  98. package/dist/locale/hy-am.min.js +1 -1
  99. package/dist/locale/hy-am.min.mjs +1 -1
  100. package/dist/locale/hy-am.mjs +1 -1
  101. package/dist/locale/id.js +1 -1
  102. package/dist/locale/id.min.js +1 -1
  103. package/dist/locale/id.min.mjs +1 -1
  104. package/dist/locale/id.mjs +1 -1
  105. package/dist/locale/it.js +1 -1
  106. package/dist/locale/it.min.js +1 -1
  107. package/dist/locale/it.min.mjs +1 -1
  108. package/dist/locale/it.mjs +1 -1
  109. package/dist/locale/ja.js +1 -1
  110. package/dist/locale/ja.min.js +1 -1
  111. package/dist/locale/ja.min.mjs +1 -1
  112. package/dist/locale/ja.mjs +1 -1
  113. package/dist/locale/kk.js +1 -1
  114. package/dist/locale/kk.min.js +1 -1
  115. package/dist/locale/kk.min.mjs +1 -1
  116. package/dist/locale/kk.mjs +1 -1
  117. package/dist/locale/km.js +1 -1
  118. package/dist/locale/km.min.js +1 -1
  119. package/dist/locale/km.min.mjs +1 -1
  120. package/dist/locale/km.mjs +1 -1
  121. package/dist/locale/ko.js +1 -1
  122. package/dist/locale/ko.min.js +1 -1
  123. package/dist/locale/ko.min.mjs +1 -1
  124. package/dist/locale/ko.mjs +1 -1
  125. package/dist/locale/ku.js +1 -1
  126. package/dist/locale/ku.min.js +1 -1
  127. package/dist/locale/ku.min.mjs +1 -1
  128. package/dist/locale/ku.mjs +1 -1
  129. package/dist/locale/ky.js +1 -1
  130. package/dist/locale/ky.min.js +1 -1
  131. package/dist/locale/ky.min.mjs +1 -1
  132. package/dist/locale/ky.mjs +1 -1
  133. package/dist/locale/lt.js +1 -1
  134. package/dist/locale/lt.min.js +1 -1
  135. package/dist/locale/lt.min.mjs +1 -1
  136. package/dist/locale/lt.mjs +1 -1
  137. package/dist/locale/lv.js +1 -1
  138. package/dist/locale/lv.min.js +1 -1
  139. package/dist/locale/lv.min.mjs +1 -1
  140. package/dist/locale/lv.mjs +1 -1
  141. package/dist/locale/mg.js +1 -1
  142. package/dist/locale/mg.min.js +1 -1
  143. package/dist/locale/mg.min.mjs +1 -1
  144. package/dist/locale/mg.mjs +1 -1
  145. package/dist/locale/mn.js +1 -1
  146. package/dist/locale/mn.min.js +1 -1
  147. package/dist/locale/mn.min.mjs +1 -1
  148. package/dist/locale/mn.mjs +1 -1
  149. package/dist/locale/nb-no.js +1 -1
  150. package/dist/locale/nb-no.min.js +1 -1
  151. package/dist/locale/nb-no.min.mjs +1 -1
  152. package/dist/locale/nb-no.mjs +1 -1
  153. package/dist/locale/nl.js +1 -1
  154. package/dist/locale/nl.min.js +1 -1
  155. package/dist/locale/nl.min.mjs +1 -1
  156. package/dist/locale/nl.mjs +1 -1
  157. package/dist/locale/pa.js +1 -1
  158. package/dist/locale/pa.min.js +1 -1
  159. package/dist/locale/pa.min.mjs +1 -1
  160. package/dist/locale/pa.mjs +1 -1
  161. package/dist/locale/pl.js +1 -1
  162. package/dist/locale/pl.min.js +1 -1
  163. package/dist/locale/pl.min.mjs +1 -1
  164. package/dist/locale/pl.mjs +1 -1
  165. package/dist/locale/pt-br.js +1 -1
  166. package/dist/locale/pt-br.min.js +1 -1
  167. package/dist/locale/pt-br.min.mjs +1 -1
  168. package/dist/locale/pt-br.mjs +1 -1
  169. package/dist/locale/pt.js +1 -1
  170. package/dist/locale/pt.min.js +1 -1
  171. package/dist/locale/pt.min.mjs +1 -1
  172. package/dist/locale/pt.mjs +1 -1
  173. package/dist/locale/ro.js +1 -1
  174. package/dist/locale/ro.min.js +1 -1
  175. package/dist/locale/ro.min.mjs +1 -1
  176. package/dist/locale/ro.mjs +1 -1
  177. package/dist/locale/ru.js +1 -1
  178. package/dist/locale/ru.min.js +1 -1
  179. package/dist/locale/ru.min.mjs +1 -1
  180. package/dist/locale/ru.mjs +1 -1
  181. package/dist/locale/sk.js +1 -1
  182. package/dist/locale/sk.min.js +1 -1
  183. package/dist/locale/sk.min.mjs +1 -1
  184. package/dist/locale/sk.mjs +1 -1
  185. package/dist/locale/sl.js +1 -1
  186. package/dist/locale/sl.min.js +1 -1
  187. package/dist/locale/sl.min.mjs +1 -1
  188. package/dist/locale/sl.mjs +1 -1
  189. package/dist/locale/sr.js +1 -1
  190. package/dist/locale/sr.min.js +1 -1
  191. package/dist/locale/sr.min.mjs +1 -1
  192. package/dist/locale/sr.mjs +1 -1
  193. package/dist/locale/sv.js +1 -1
  194. package/dist/locale/sv.min.js +1 -1
  195. package/dist/locale/sv.min.mjs +1 -1
  196. package/dist/locale/sv.mjs +1 -1
  197. package/dist/locale/ta.js +1 -1
  198. package/dist/locale/ta.min.js +1 -1
  199. package/dist/locale/ta.min.mjs +1 -1
  200. package/dist/locale/ta.mjs +1 -1
  201. package/dist/locale/th.js +1 -1
  202. package/dist/locale/th.min.js +1 -1
  203. package/dist/locale/th.min.mjs +1 -1
  204. package/dist/locale/th.mjs +1 -1
  205. package/dist/locale/tk.js +1 -1
  206. package/dist/locale/tk.min.js +1 -1
  207. package/dist/locale/tk.min.mjs +1 -1
  208. package/dist/locale/tk.mjs +1 -1
  209. package/dist/locale/tr.js +1 -1
  210. package/dist/locale/tr.min.js +1 -1
  211. package/dist/locale/tr.min.mjs +1 -1
  212. package/dist/locale/tr.mjs +1 -1
  213. package/dist/locale/ug-cn.js +1 -1
  214. package/dist/locale/ug-cn.min.js +1 -1
  215. package/dist/locale/ug-cn.min.mjs +1 -1
  216. package/dist/locale/ug-cn.mjs +1 -1
  217. package/dist/locale/uk.js +1 -1
  218. package/dist/locale/uk.min.js +1 -1
  219. package/dist/locale/uk.min.mjs +1 -1
  220. package/dist/locale/uk.mjs +1 -1
  221. package/dist/locale/uz-uz.js +1 -1
  222. package/dist/locale/uz-uz.min.js +1 -1
  223. package/dist/locale/uz-uz.min.mjs +1 -1
  224. package/dist/locale/uz-uz.mjs +1 -1
  225. package/dist/locale/vi.js +1 -1
  226. package/dist/locale/vi.min.js +1 -1
  227. package/dist/locale/vi.min.mjs +1 -1
  228. package/dist/locale/vi.mjs +1 -1
  229. package/dist/locale/zh-cn.js +1 -1
  230. package/dist/locale/zh-cn.min.js +1 -1
  231. package/dist/locale/zh-cn.min.mjs +1 -1
  232. package/dist/locale/zh-cn.mjs +1 -1
  233. package/dist/locale/zh-tw.js +1 -1
  234. package/dist/locale/zh-tw.min.js +1 -1
  235. package/dist/locale/zh-tw.min.mjs +1 -1
  236. package/dist/locale/zh-tw.mjs +1 -1
  237. package/es/components/affix/src/affix.mjs +1 -1
  238. package/es/components/avatar/src/avatar.mjs +1 -1
  239. package/es/components/avatar/src/avatar2.mjs +1 -1
  240. package/es/components/badge/src/badge2.mjs +1 -1
  241. package/es/components/button/index.d.ts +15 -0
  242. package/es/components/button/src/button.d.ts +4 -3
  243. package/es/components/button/src/button.mjs +5 -1
  244. package/es/components/button/src/button.mjs.map +1 -1
  245. package/es/components/button/src/button.vue.d.ts +15 -0
  246. package/es/components/button/src/button2.mjs +34 -35
  247. package/es/components/button/src/button2.mjs.map +1 -1
  248. package/es/components/button/src/use-button.d.ts +11 -0
  249. package/es/components/button/src/use-button.mjs +12 -0
  250. package/es/components/button/src/use-button.mjs.map +1 -1
  251. package/es/components/calendar/index.d.ts +15 -0
  252. package/es/components/calendar/src/calendar.vue.d.ts +17 -2
  253. package/es/components/carousel/src/carousel.mjs +1 -1
  254. package/es/components/cascader/src/cascader.mjs +1 -1
  255. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  256. package/es/components/cascader-panel/src/index.mjs +1 -1
  257. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  258. package/es/components/check-tag/src/check-tag.mjs +1 -1
  259. package/es/components/checkbox/src/checkbox.mjs +1 -1
  260. package/es/components/checkbox/src/composables/use-checkbox-status.mjs +1 -1
  261. package/es/components/col/src/col2.mjs +1 -1
  262. package/es/components/collapse/src/collapse.mjs +1 -1
  263. package/es/components/color-picker/index.d.ts +15 -0
  264. package/es/components/color-picker/src/color-picker.vue.d.ts +15 -0
  265. package/es/components/color-picker/src/utils/draggable.mjs +1 -0
  266. package/es/components/color-picker/src/utils/draggable.mjs.map +1 -1
  267. package/es/components/countdown/src/countdown.mjs +1 -1
  268. package/es/components/countdown/src/utils.mjs +1 -1
  269. package/es/components/date-picker/index.d.ts +173 -172
  270. package/es/components/date-picker/index.mjs +1 -0
  271. package/es/components/date-picker/index.mjs.map +1 -1
  272. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +15 -0
  273. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +15 -0
  274. package/es/components/date-picker/src/date-picker.d.ts +86 -86
  275. package/es/components/date-picker/src/date-picker.mjs +1 -5
  276. package/es/components/date-picker/src/date-picker.mjs.map +1 -1
  277. package/es/components/date-picker/src/panel-utils.d.ts +30 -0
  278. package/es/components/date-picker/src/props/date-picker.d.ts +77 -0
  279. package/es/components/date-picker/src/props/date-picker.mjs +3 -0
  280. package/es/components/date-picker/src/props/date-picker.mjs.map +1 -1
  281. package/es/components/dialog/src/dialog.mjs +1 -1
  282. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  283. package/es/components/dropdown/index.d.ts +1 -0
  284. package/es/components/dropdown/index.mjs +1 -0
  285. package/es/components/dropdown/index.mjs.map +1 -1
  286. package/es/components/dropdown/src/instance.d.ts +2 -0
  287. package/es/components/dropdown/src/instance.mjs +2 -0
  288. package/es/components/dropdown/src/instance.mjs.map +1 -0
  289. package/es/components/form/src/form-item2.mjs +2 -1
  290. package/es/components/form/src/form-item2.mjs.map +1 -1
  291. package/es/components/form/src/form.mjs +1 -1
  292. package/es/components/image/src/image.mjs +1 -1
  293. package/es/components/image/src/image2.mjs +30 -28
  294. package/es/components/image/src/image2.mjs.map +1 -1
  295. package/es/components/image-viewer/src/image-viewer.mjs +1 -1
  296. package/es/components/image-viewer/src/image-viewer2.mjs +2 -1
  297. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  298. package/es/components/index.mjs +1 -0
  299. package/es/components/index.mjs.map +1 -1
  300. package/es/components/input/src/input2.mjs.map +1 -1
  301. package/es/components/input/src/utils.mjs +1 -1
  302. package/es/components/input-number/src/input-number.mjs +1 -1
  303. package/es/components/input-number/src/input-number2.mjs +1 -2
  304. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  305. package/es/components/loading/src/loading.mjs +1 -4
  306. package/es/components/loading/src/loading.mjs.map +1 -1
  307. package/es/components/loading/src/service.mjs +2 -2
  308. package/es/components/loading/src/service.mjs.map +1 -1
  309. package/es/components/menu/src/sub-menu.mjs +1 -1
  310. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  311. package/es/components/message/src/message.mjs +1 -1
  312. package/es/components/message/src/message.mjs.map +1 -1
  313. package/es/components/message/src/method.mjs +2 -2
  314. package/es/components/message/src/method.mjs.map +1 -1
  315. package/es/components/message-box/src/messageBox.mjs +1 -1
  316. package/es/components/message-box/src/messageBox.mjs.map +1 -1
  317. package/es/components/notification/src/notify.mjs +1 -1
  318. package/es/components/notification/src/notify.mjs.map +1 -1
  319. package/es/components/pagination/src/pagination.mjs +1 -1
  320. package/es/components/popconfirm/index.d.ts +15 -0
  321. package/es/components/popconfirm/src/popconfirm.vue.d.ts +15 -0
  322. package/es/components/popover/src/popover.mjs +1 -1
  323. package/es/components/popper/src/utils.d.ts +1 -1
  324. package/es/components/popper/src/utils.mjs +1 -0
  325. package/es/components/popper/src/utils.mjs.map +1 -1
  326. package/es/components/progress/index.d.ts +8 -0
  327. package/es/components/progress/src/progress.d.ts +2 -0
  328. package/es/components/progress/src/progress.mjs +2 -0
  329. package/es/components/progress/src/progress.mjs.map +1 -1
  330. package/es/components/progress/src/progress.vue.d.ts +8 -0
  331. package/es/components/progress/src/progress2.mjs +3 -1
  332. package/es/components/progress/src/progress2.mjs.map +1 -1
  333. package/es/components/radio/src/radio.mjs +1 -1
  334. package/es/components/rate/src/rate.mjs +1 -1
  335. package/es/components/scrollbar/src/scrollbar.mjs +1 -1
  336. package/es/components/scrollbar/src/scrollbar2.mjs +2 -1
  337. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  338. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  339. package/es/components/select/src/select.mjs.map +1 -1
  340. package/es/components/select/src/useSelect.mjs +6 -3
  341. package/es/components/select/src/useSelect.mjs.map +1 -1
  342. package/es/components/slider/src/button.mjs +1 -1
  343. package/es/components/slider/src/slider.mjs +1 -1
  344. package/es/components/space/src/space.mjs +1 -1
  345. package/es/components/space/src/use-space.mjs +1 -1
  346. package/es/components/statistic/src/statistic2.mjs +1 -1
  347. package/es/components/steps/src/item2.mjs +1 -1
  348. package/es/components/steps/src/steps.mjs +1 -1
  349. package/es/components/switch/src/switch.mjs +1 -1
  350. package/es/components/switch/src/switch2.mjs +1 -1
  351. package/es/components/table/src/composables/use-scrollbar.mjs +1 -1
  352. package/es/components/table/src/table-body/index.mjs +1 -1
  353. package/es/components/table/src/table-body/index.mjs.map +1 -1
  354. package/es/components/table/src/table-header/event-helper.mjs +1 -1
  355. package/es/components/table/src/table-header/event-helper.mjs.map +1 -1
  356. package/es/components/table/src/table-layout.mjs +1 -1
  357. package/es/components/table/src/table-layout.mjs.map +1 -1
  358. package/es/components/table/src/util.mjs +1 -1
  359. package/es/components/table-v2/src/components/row.mjs +1 -1
  360. package/es/components/table-v2/src/composables/use-row.mjs +1 -1
  361. package/es/components/table-v2/src/composables/use-styles.mjs +1 -1
  362. package/es/components/table-v2/src/table-grid.mjs +1 -1
  363. package/es/components/tabs/src/tabs.mjs +1 -2
  364. package/es/components/tabs/src/tabs.mjs.map +1 -1
  365. package/es/components/time-picker/src/common/props.d.ts +27 -9
  366. package/es/components/time-picker/src/common/props.mjs.map +1 -1
  367. package/es/components/time-picker/src/props/shared.mjs.map +1 -1
  368. package/es/components/time-picker/src/time-picker.d.ts +6 -0
  369. package/es/components/time-picker/src/time-picker.mjs.map +1 -1
  370. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  371. package/es/components/tooltip-v2/src/root2.mjs +2 -2
  372. package/es/components/transfer/index.d.ts +15 -0
  373. package/es/components/transfer/src/transfer.vue.d.ts +15 -0
  374. package/es/components/tree/src/tree.mjs +9 -5
  375. package/es/components/tree/src/tree.mjs.map +1 -1
  376. package/es/components/upload/index.d.ts +8 -0
  377. package/es/components/upload/src/upload-list.vue.d.ts +8 -0
  378. package/es/components/upload/src/upload.vue.d.ts +8 -0
  379. package/es/components/virtual-list/src/builders/build-grid.mjs +2 -1
  380. package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
  381. package/es/components/virtual-list/src/builders/build-list.mjs +2 -1
  382. package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
  383. package/es/components/virtual-list/src/components/dynamic-size-grid.mjs +1 -2
  384. package/es/components/virtual-list/src/components/dynamic-size-grid.mjs.map +1 -1
  385. package/es/components/virtual-list/src/components/fixed-size-grid.mjs +1 -1
  386. package/es/directives/click-outside/index.mjs +1 -1
  387. package/es/directives/click-outside/index.mjs.map +1 -1
  388. package/es/hooks/use-delayed-toggle/index.mjs +1 -1
  389. package/es/hooks/use-escape-keydown/index.mjs +2 -1
  390. package/es/hooks/use-escape-keydown/index.mjs.map +1 -1
  391. package/es/hooks/use-floating/index.mjs.map +1 -1
  392. package/es/hooks/use-id/index.mjs +1 -1
  393. package/es/hooks/use-id/index.mjs.map +1 -1
  394. package/es/hooks/use-lockscreen/index.mjs +1 -1
  395. package/es/hooks/use-lockscreen/index.mjs.map +1 -1
  396. package/es/hooks/use-model-toggle/index.mjs +2 -1
  397. package/es/hooks/use-model-toggle/index.mjs.map +1 -1
  398. package/es/hooks/use-popper-container/index.mjs +2 -1
  399. package/es/hooks/use-popper-container/index.mjs.map +1 -1
  400. package/es/hooks/use-teleport/index.mjs +1 -1
  401. package/es/hooks/use-teleport/index.mjs.map +1 -1
  402. package/es/hooks/use-z-index/index.mjs +1 -1
  403. package/es/index.mjs +1 -0
  404. package/es/index.mjs.map +1 -1
  405. package/es/utils/browser.d.ts +2 -0
  406. package/es/utils/browser.mjs +1 -0
  407. package/es/utils/browser.mjs.map +1 -1
  408. package/es/utils/dom/position.mjs +1 -0
  409. package/es/utils/dom/position.mjs.map +1 -1
  410. package/es/utils/dom/scroll.mjs +2 -1
  411. package/es/utils/dom/scroll.mjs.map +1 -1
  412. package/es/utils/dom/style.mjs +3 -2
  413. package/es/utils/dom/style.mjs.map +1 -1
  414. package/es/utils/i18n.mjs +1 -1
  415. package/es/utils/i18n.mjs.map +1 -1
  416. package/es/utils/index.mjs +2 -2
  417. package/es/utils/raf.mjs +1 -0
  418. package/es/utils/raf.mjs.map +1 -1
  419. package/es/utils/types.d.ts +2 -1
  420. package/es/utils/types.mjs +3 -2
  421. package/es/utils/types.mjs.map +1 -1
  422. package/es/utils/vue/global-node.mjs +1 -0
  423. package/es/utils/vue/global-node.mjs.map +1 -1
  424. package/es/version.d.ts +1 -1
  425. package/es/version.mjs +1 -1
  426. package/es/version.mjs.map +1 -1
  427. package/lib/components/affix/src/affix.js +3 -3
  428. package/lib/components/affix/src/affix.js.map +1 -1
  429. package/lib/components/avatar/src/avatar.js +2 -2
  430. package/lib/components/avatar/src/avatar.js.map +1 -1
  431. package/lib/components/avatar/src/avatar2.js +2 -2
  432. package/lib/components/avatar/src/avatar2.js.map +1 -1
  433. package/lib/components/badge/src/badge2.js +2 -2
  434. package/lib/components/badge/src/badge2.js.map +1 -1
  435. package/lib/components/button/index.d.ts +15 -0
  436. package/lib/components/button/src/button.d.ts +4 -3
  437. package/lib/components/button/src/button.js +4 -0
  438. package/lib/components/button/src/button.js.map +1 -1
  439. package/lib/components/button/src/button.vue.d.ts +15 -0
  440. package/lib/components/button/src/button2.js +33 -34
  441. package/lib/components/button/src/button2.js.map +1 -1
  442. package/lib/components/button/src/use-button.d.ts +11 -0
  443. package/lib/components/button/src/use-button.js +12 -0
  444. package/lib/components/button/src/use-button.js.map +1 -1
  445. package/lib/components/calendar/index.d.ts +15 -0
  446. package/lib/components/calendar/src/calendar.vue.d.ts +17 -2
  447. package/lib/components/carousel/src/carousel.js +2 -2
  448. package/lib/components/carousel/src/carousel.js.map +1 -1
  449. package/lib/components/cascader/src/cascader.js +2 -2
  450. package/lib/components/cascader/src/cascader.js.map +1 -1
  451. package/lib/components/cascader/src/cascader2.js.map +1 -1
  452. package/lib/components/cascader-panel/src/index.js +1 -1
  453. package/lib/components/cascader-panel/src/index.js.map +1 -1
  454. package/lib/components/check-tag/src/check-tag.js +3 -3
  455. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  456. package/lib/components/checkbox/src/checkbox.js +3 -3
  457. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  458. package/lib/components/checkbox/src/composables/use-checkbox-status.js +2 -2
  459. package/lib/components/checkbox/src/composables/use-checkbox-status.js.map +1 -1
  460. package/lib/components/col/src/col2.js +3 -3
  461. package/lib/components/col/src/col2.js.map +1 -1
  462. package/lib/components/collapse/src/collapse.js +2 -2
  463. package/lib/components/collapse/src/collapse.js.map +1 -1
  464. package/lib/components/color-picker/index.d.ts +15 -0
  465. package/lib/components/color-picker/src/color-picker.vue.d.ts +15 -0
  466. package/lib/components/color-picker/src/utils/draggable.js +1 -0
  467. package/lib/components/color-picker/src/utils/draggable.js.map +1 -1
  468. package/lib/components/countdown/src/countdown.js +2 -2
  469. package/lib/components/countdown/src/countdown.js.map +1 -1
  470. package/lib/components/countdown/src/utils.js +2 -2
  471. package/lib/components/countdown/src/utils.js.map +1 -1
  472. package/lib/components/date-picker/index.d.ts +173 -172
  473. package/lib/components/date-picker/index.js +4 -2
  474. package/lib/components/date-picker/index.js.map +1 -1
  475. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +15 -0
  476. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +15 -0
  477. package/lib/components/date-picker/src/date-picker.d.ts +86 -86
  478. package/lib/components/date-picker/src/date-picker.js +1 -5
  479. package/lib/components/date-picker/src/date-picker.js.map +1 -1
  480. package/lib/components/date-picker/src/panel-utils.d.ts +30 -0
  481. package/lib/components/date-picker/src/props/date-picker.d.ts +77 -0
  482. package/lib/components/date-picker/src/props/date-picker.js +3 -0
  483. package/lib/components/date-picker/src/props/date-picker.js.map +1 -1
  484. package/lib/components/dialog/src/dialog.js +2 -2
  485. package/lib/components/dialog/src/dialog.js.map +1 -1
  486. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  487. package/lib/components/dropdown/index.d.ts +1 -0
  488. package/lib/components/dropdown/index.js +1 -0
  489. package/lib/components/dropdown/index.js.map +1 -1
  490. package/lib/components/dropdown/src/instance.d.ts +2 -0
  491. package/lib/components/dropdown/src/instance.js +3 -0
  492. package/lib/components/dropdown/src/instance.js.map +1 -0
  493. package/lib/components/form/src/form-item2.js +2 -1
  494. package/lib/components/form/src/form-item2.js.map +1 -1
  495. package/lib/components/form/src/form.js +2 -2
  496. package/lib/components/form/src/form.js.map +1 -1
  497. package/lib/components/image/src/image.js +2 -2
  498. package/lib/components/image/src/image.js.map +1 -1
  499. package/lib/components/image/src/image2.js +29 -27
  500. package/lib/components/image/src/image2.js.map +1 -1
  501. package/lib/components/image-viewer/src/image-viewer.js +2 -2
  502. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  503. package/lib/components/image-viewer/src/image-viewer2.js +2 -1
  504. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  505. package/lib/components/index.js +2 -0
  506. package/lib/components/index.js.map +1 -1
  507. package/lib/components/input/src/input2.js.map +1 -1
  508. package/lib/components/input/src/utils.js +3 -3
  509. package/lib/components/input/src/utils.js.map +1 -1
  510. package/lib/components/input-number/src/input-number.js +4 -4
  511. package/lib/components/input-number/src/input-number.js.map +1 -1
  512. package/lib/components/input-number/src/input-number2.js +7 -8
  513. package/lib/components/input-number/src/input-number2.js.map +1 -1
  514. package/lib/components/loading/src/loading.js +1 -4
  515. package/lib/components/loading/src/loading.js.map +1 -1
  516. package/lib/components/loading/src/service.js +2 -2
  517. package/lib/components/loading/src/service.js.map +1 -1
  518. package/lib/components/menu/src/sub-menu.js +1 -1
  519. package/lib/components/menu/src/sub-menu.js.map +1 -1
  520. package/lib/components/message/src/message.js +1 -1
  521. package/lib/components/message/src/message.js.map +1 -1
  522. package/lib/components/message/src/method.js +2 -2
  523. package/lib/components/message/src/method.js.map +1 -1
  524. package/lib/components/message-box/src/messageBox.js +1 -1
  525. package/lib/components/message-box/src/messageBox.js.map +1 -1
  526. package/lib/components/notification/src/notify.js +1 -1
  527. package/lib/components/notification/src/notify.js.map +1 -1
  528. package/lib/components/pagination/src/pagination.js +8 -8
  529. package/lib/components/pagination/src/pagination.js.map +1 -1
  530. package/lib/components/popconfirm/index.d.ts +15 -0
  531. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +15 -0
  532. package/lib/components/popover/src/popover.js +2 -2
  533. package/lib/components/popover/src/popover.js.map +1 -1
  534. package/lib/components/popper/src/utils.d.ts +1 -1
  535. package/lib/components/popper/src/utils.js +1 -0
  536. package/lib/components/popper/src/utils.js.map +1 -1
  537. package/lib/components/progress/index.d.ts +8 -0
  538. package/lib/components/progress/src/progress.d.ts +2 -0
  539. package/lib/components/progress/src/progress.js +2 -0
  540. package/lib/components/progress/src/progress.js.map +1 -1
  541. package/lib/components/progress/src/progress.vue.d.ts +8 -0
  542. package/lib/components/progress/src/progress2.js +3 -1
  543. package/lib/components/progress/src/progress2.js.map +1 -1
  544. package/lib/components/radio/src/radio.js +3 -3
  545. package/lib/components/radio/src/radio.js.map +1 -1
  546. package/lib/components/rate/src/rate.js +3 -3
  547. package/lib/components/rate/src/rate.js.map +1 -1
  548. package/lib/components/scrollbar/src/scrollbar.js +2 -2
  549. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  550. package/lib/components/scrollbar/src/scrollbar2.js +4 -3
  551. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  552. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  553. package/lib/components/select/src/select.js.map +1 -1
  554. package/lib/components/select/src/useSelect.js +7 -4
  555. package/lib/components/select/src/useSelect.js.map +1 -1
  556. package/lib/components/slider/src/button.js +2 -2
  557. package/lib/components/slider/src/button.js.map +1 -1
  558. package/lib/components/slider/src/slider.js +2 -2
  559. package/lib/components/slider/src/slider.js.map +1 -1
  560. package/lib/components/space/src/space.js +3 -3
  561. package/lib/components/space/src/space.js.map +1 -1
  562. package/lib/components/space/src/use-space.js +2 -2
  563. package/lib/components/space/src/use-space.js.map +1 -1
  564. package/lib/components/statistic/src/statistic2.js +2 -2
  565. package/lib/components/statistic/src/statistic2.js.map +1 -1
  566. package/lib/components/steps/src/item2.js +2 -2
  567. package/lib/components/steps/src/item2.js.map +1 -1
  568. package/lib/components/steps/src/steps.js +2 -2
  569. package/lib/components/steps/src/steps.js.map +1 -1
  570. package/lib/components/switch/src/switch.js +4 -4
  571. package/lib/components/switch/src/switch.js.map +1 -1
  572. package/lib/components/switch/src/switch2.js +4 -4
  573. package/lib/components/switch/src/switch2.js.map +1 -1
  574. package/lib/components/table/src/composables/use-scrollbar.js +2 -2
  575. package/lib/components/table/src/composables/use-scrollbar.js.map +1 -1
  576. package/lib/components/table/src/table-body/index.js +1 -1
  577. package/lib/components/table/src/table-body/index.js.map +1 -1
  578. package/lib/components/table/src/table-header/event-helper.js +1 -1
  579. package/lib/components/table/src/table-header/event-helper.js.map +1 -1
  580. package/lib/components/table/src/table-layout.js +1 -1
  581. package/lib/components/table/src/table-layout.js.map +1 -1
  582. package/lib/components/table/src/util.js +4 -4
  583. package/lib/components/table/src/util.js.map +1 -1
  584. package/lib/components/table-v2/src/components/row.js +2 -2
  585. package/lib/components/table-v2/src/components/row.js.map +1 -1
  586. package/lib/components/table-v2/src/composables/use-row.js +2 -2
  587. package/lib/components/table-v2/src/composables/use-row.js.map +1 -1
  588. package/lib/components/table-v2/src/composables/use-styles.js +3 -3
  589. package/lib/components/table-v2/src/composables/use-styles.js.map +1 -1
  590. package/lib/components/table-v2/src/table-grid.js +2 -2
  591. package/lib/components/table-v2/src/table-grid.js.map +1 -1
  592. package/lib/components/tabs/src/tabs.js +2 -3
  593. package/lib/components/tabs/src/tabs.js.map +1 -1
  594. package/lib/components/time-picker/src/common/props.d.ts +27 -9
  595. package/lib/components/time-picker/src/common/props.js.map +1 -1
  596. package/lib/components/time-picker/src/props/shared.js.map +1 -1
  597. package/lib/components/time-picker/src/time-picker.d.ts +6 -0
  598. package/lib/components/time-picker/src/time-picker.js.map +1 -1
  599. package/lib/components/tooltip/src/tooltip2.js +2 -2
  600. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  601. package/lib/components/tooltip-v2/src/root2.js +1 -1
  602. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  603. package/lib/components/transfer/index.d.ts +15 -0
  604. package/lib/components/transfer/src/transfer.vue.d.ts +15 -0
  605. package/lib/components/tree/src/tree.js +8 -4
  606. package/lib/components/tree/src/tree.js.map +1 -1
  607. package/lib/components/upload/index.d.ts +8 -0
  608. package/lib/components/upload/src/upload-list.vue.d.ts +8 -0
  609. package/lib/components/upload/src/upload.vue.d.ts +8 -0
  610. package/lib/components/virtual-list/src/builders/build-grid.js +8 -7
  611. package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
  612. package/lib/components/virtual-list/src/builders/build-list.js +6 -5
  613. package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
  614. package/lib/components/virtual-list/src/components/dynamic-size-grid.js +2 -3
  615. package/lib/components/virtual-list/src/components/dynamic-size-grid.js.map +1 -1
  616. package/lib/components/virtual-list/src/components/fixed-size-grid.js +3 -3
  617. package/lib/components/virtual-list/src/components/fixed-size-grid.js.map +1 -1
  618. package/lib/directives/click-outside/index.js +1 -1
  619. package/lib/directives/click-outside/index.js.map +1 -1
  620. package/lib/hooks/use-delayed-toggle/index.js +2 -2
  621. package/lib/hooks/use-delayed-toggle/index.js.map +1 -1
  622. package/lib/hooks/use-escape-keydown/index.js +2 -1
  623. package/lib/hooks/use-escape-keydown/index.js.map +1 -1
  624. package/lib/hooks/use-floating/index.js.map +1 -1
  625. package/lib/hooks/use-id/index.js +1 -1
  626. package/lib/hooks/use-id/index.js.map +1 -1
  627. package/lib/hooks/use-lockscreen/index.js +1 -1
  628. package/lib/hooks/use-lockscreen/index.js.map +1 -1
  629. package/lib/hooks/use-model-toggle/index.js +3 -2
  630. package/lib/hooks/use-model-toggle/index.js.map +1 -1
  631. package/lib/hooks/use-popper-container/index.js +2 -1
  632. package/lib/hooks/use-popper-container/index.js.map +1 -1
  633. package/lib/hooks/use-teleport/index.js +1 -1
  634. package/lib/hooks/use-teleport/index.js.map +1 -1
  635. package/lib/hooks/use-z-index/index.js +2 -2
  636. package/lib/hooks/use-z-index/index.js.map +1 -1
  637. package/lib/index.js +2 -0
  638. package/lib/index.js.map +1 -1
  639. package/lib/utils/browser.d.ts +2 -0
  640. package/lib/utils/browser.js +8 -0
  641. package/lib/utils/browser.js.map +1 -1
  642. package/lib/utils/dom/position.js +1 -0
  643. package/lib/utils/dom/position.js.map +1 -1
  644. package/lib/utils/dom/scroll.js +2 -1
  645. package/lib/utils/dom/scroll.js.map +1 -1
  646. package/lib/utils/dom/style.js +3 -2
  647. package/lib/utils/dom/style.js.map +1 -1
  648. package/lib/utils/i18n.js +1 -1
  649. package/lib/utils/i18n.js.map +1 -1
  650. package/lib/utils/index.js +11 -9
  651. package/lib/utils/index.js.map +1 -1
  652. package/lib/utils/raf.js +1 -0
  653. package/lib/utils/raf.js.map +1 -1
  654. package/lib/utils/types.d.ts +2 -1
  655. package/lib/utils/types.js +4 -9
  656. package/lib/utils/types.js.map +1 -1
  657. package/lib/utils/vue/global-node.js +1 -0
  658. package/lib/utils/vue/global-node.js.map +1 -1
  659. package/lib/version.d.ts +1 -1
  660. package/lib/version.js +1 -1
  661. package/lib/version.js.map +1 -1
  662. package/package.json +2 -2
  663. package/tags.json +1 -1
  664. package/theme-chalk/el-menu.css +1 -1
  665. package/theme-chalk/el-progress.css +1 -1
  666. package/theme-chalk/el-transfer.css +1 -1
  667. package/theme-chalk/index.css +1 -1
  668. package/theme-chalk/src/image.scss +6 -6
  669. package/theme-chalk/src/menu.scss +1 -0
  670. package/theme-chalk/src/progress.scss +18 -0
  671. package/theme-chalk/src/transfer.scss +1 -2
  672. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../../../../../../packages/components/table/src/util.ts"],"sourcesContent":["// @ts-nocheck\nimport { createPopper } from '@popperjs/core'\nimport { flatMap, get, merge } from 'lodash-unified'\nimport escapeHtml from 'escape-html'\nimport {\n hasOwn,\n isArray,\n isBoolean,\n isObject,\n throwError,\n} from '@element-plus/utils'\nimport { useDelayedToggle } from '@element-plus/hooks'\nimport type { PopperInstance } from '@element-plus/components/popper'\nimport type { Nullable } from '@element-plus/utils'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { ElTooltipProps } from '@element-plus/components/tooltip'\n\nexport type TableOverflowTooltipOptions = Partial<\n Pick<\n ElTooltipProps,\n | 'effect'\n | 'enterable'\n | 'hideAfter'\n | 'offset'\n | 'placement'\n | 'popperClass'\n | 'popperOptions'\n | 'showAfter'\n | 'showArrow'\n // | 'transition'\n >\n>\n\nexport const getCell = function (event: Event) {\n return (event.target as HTMLElement)?.closest('td')\n}\n\nexport const orderBy = function <T>(\n array: T[],\n sortKey: string,\n reverse: string | number,\n sortMethod,\n sortBy: string | (string | ((a: T, b: T, array?: T[]) => number))[]\n) {\n if (\n !sortKey &&\n !sortMethod &&\n (!sortBy || (Array.isArray(sortBy) && !sortBy.length))\n ) {\n return array\n }\n if (typeof reverse === 'string') {\n reverse = reverse === 'descending' ? -1 : 1\n } else {\n reverse = reverse && reverse < 0 ? -1 : 1\n }\n const getKey = sortMethod\n ? null\n : function (value, index) {\n if (sortBy) {\n if (!Array.isArray(sortBy)) {\n sortBy = [sortBy]\n }\n return sortBy.map((by) => {\n if (typeof by === 'string') {\n return get(value, by)\n } else {\n return by(value, index, array)\n }\n })\n }\n if (sortKey !== '$key') {\n if (isObject(value) && '$value' in value) value = value.$value\n }\n return [isObject(value) ? get(value, sortKey) : value]\n }\n const compare = function (a, b) {\n if (sortMethod) {\n return sortMethod(a.value, b.value)\n }\n for (let i = 0, len = a.key.length; i < len; i++) {\n if (a.key[i] < b.key[i]) {\n return -1\n }\n if (a.key[i] > b.key[i]) {\n return 1\n }\n }\n return 0\n }\n return array\n .map((value, index) => {\n return {\n value,\n index,\n key: getKey ? getKey(value, index) : null,\n }\n })\n .sort((a, b) => {\n let order = compare(a, b)\n if (!order) {\n // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\n order = a.index - b.index\n }\n return order * +reverse\n })\n .map((item) => item.value)\n}\n\nexport const getColumnById = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnId: string\n): null | TableColumnCtx<T> {\n let column = null\n table.columns.forEach((item) => {\n if (item.id === columnId) {\n column = item\n }\n })\n return column\n}\n\nexport const getColumnByKey = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnKey: string\n): TableColumnCtx<T> {\n let column = null\n for (let i = 0; i < table.columns.length; i++) {\n const item = table.columns[i]\n if (item.columnKey === columnKey) {\n column = item\n break\n }\n }\n if (!column)\n throwError('ElTable', `No column matching with column-key: ${columnKey}`)\n return column\n}\n\nexport const getColumnByCell = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n cell: HTMLElement,\n namespace: string\n): null | TableColumnCtx<T> {\n const matches = (cell.className || '').match(\n new RegExp(`${namespace}-table_[^\\\\s]+`, 'gm')\n )\n if (matches) {\n return getColumnById(table, matches[0])\n }\n return null\n}\n\nexport const getRowIdentity = <T>(\n row: T,\n rowKey: string | ((row: T) => any)\n): string => {\n if (!row) throw new Error('Row is required when get row identity')\n if (typeof rowKey === 'string') {\n if (!rowKey.includes('.')) {\n return `${row[rowKey]}`\n }\n const key = rowKey.split('.')\n let current = row\n for (const element of key) {\n current = current[element]\n }\n return `${current}`\n } else if (typeof rowKey === 'function') {\n return rowKey.call(null, row)\n }\n}\n\nexport const getKeysMap = function <T>(\n array: T[],\n rowKey: string\n): Record<string, { row: T; index: number }> {\n const arrayMap = {}\n ;(array || []).forEach((row, index) => {\n arrayMap[getRowIdentity(row, rowKey)] = { row, index }\n })\n return arrayMap\n}\n\nexport function mergeOptions<T, K>(defaults: T, config: K): T & K {\n const options = {} as T & K\n let key\n for (key in defaults) {\n options[key] = defaults[key]\n }\n for (key in config) {\n if (hasOwn(config as unknown as Record<string, any>, key)) {\n const value = config[key]\n if (typeof value !== 'undefined') {\n options[key] = value\n }\n }\n }\n return options\n}\n\nexport function parseWidth(width: number | string): number | string {\n if (width === '') return width\n if (width !== undefined) {\n width = Number.parseInt(width as string, 10)\n if (Number.isNaN(width)) {\n width = ''\n }\n }\n return width\n}\n\nexport function parseMinWidth(minWidth: number | string): number | string {\n if (minWidth === '') return minWidth\n if (minWidth !== undefined) {\n minWidth = parseWidth(minWidth)\n if (Number.isNaN(minWidth)) {\n minWidth = 80\n }\n }\n return minWidth\n}\n\nexport function parseHeight(height: number | string) {\n if (typeof height === 'number') {\n return height\n }\n if (typeof height === 'string') {\n if (/^\\d+(?:px)?$/.test(height)) {\n return Number.parseInt(height, 10)\n } else {\n return height\n }\n }\n return null\n}\n\n// https://github.com/reduxjs/redux/blob/master/src/compose.js\nexport function compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg\n }\n if (funcs.length === 1) {\n return funcs[0]\n }\n return funcs.reduce(\n (a, b) =>\n (...args) =>\n a(b(...args))\n )\n}\n\nexport function toggleRowStatus<T>(\n statusArr: T[],\n row: T,\n newVal: boolean\n): boolean {\n let changed = false\n const index = statusArr.indexOf(row)\n const included = index !== -1\n\n const toggleStatus = (type: 'add' | 'remove') => {\n if (type === 'add') {\n statusArr.push(row)\n } else {\n statusArr.splice(index, 1)\n }\n changed = true\n if (isArray(row.children)) {\n row.children.forEach((item) => {\n toggleRowStatus(statusArr, item, newVal ?? !included)\n })\n }\n }\n\n if (isBoolean(newVal)) {\n if (newVal && !included) {\n toggleStatus('add')\n } else if (!newVal && included) {\n toggleStatus('remove')\n }\n } else {\n included ? toggleStatus('remove') : toggleStatus('add')\n }\n return changed\n}\n\nexport function walkTreeNode(\n root,\n cb,\n childrenKey = 'children',\n lazyKey = 'hasChildren'\n) {\n const isNil = (array) => !(Array.isArray(array) && array.length)\n\n function _walker(parent, children, level) {\n cb(parent, children, level)\n children.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, level + 1)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, level + 1)\n }\n })\n }\n\n root.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, 0)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, 0)\n }\n })\n}\n\nexport let removePopper\n\nexport function createTablePopper(\n parentNode: HTMLElement | undefined,\n trigger: HTMLElement,\n popperContent: string,\n nextZIndex: () => number,\n tooltipOptions?: TableOverflowTooltipOptions\n) {\n // TODO transition\n tooltipOptions = merge(\n {\n enterable: true,\n showArrow: true,\n } as TableOverflowTooltipOptions,\n tooltipOptions\n )\n const ns = parentNode?.dataset.prefix\n const scrollContainer = parentNode?.querySelector(`.${ns}-scrollbar__wrap`)\n function renderContent(): HTMLDivElement {\n const isLight = tooltipOptions.effect === 'light'\n const content = document.createElement('div')\n content.className = [\n `${ns}-popper`,\n isLight ? 'is-light' : 'is-dark',\n tooltipOptions.popperClass || '',\n ].join(' ')\n popperContent = escapeHtml(popperContent)\n content.innerHTML = popperContent\n content.style.zIndex = String(nextZIndex())\n // Avoid side effects caused by append to body\n parentNode?.appendChild(content)\n return content\n }\n function renderArrow(): HTMLDivElement {\n const arrow = document.createElement('div')\n arrow.className = `${ns}-popper__arrow`\n return arrow\n }\n function showPopper() {\n popperInstance && popperInstance.update()\n }\n removePopper?.()\n removePopper = () => {\n try {\n popperInstance && popperInstance.destroy()\n content && parentNode?.removeChild(content)\n trigger.removeEventListener('mouseenter', onOpen)\n trigger.removeEventListener('mouseleave', onClose)\n scrollContainer?.removeEventListener('scroll', removePopper)\n removePopper = undefined\n } catch {}\n }\n let popperInstance: Nullable<PopperInstance> = null\n let onOpen = showPopper\n let onClose = removePopper\n if (tooltipOptions.enterable) {\n ;({ onOpen, onClose } = useDelayedToggle({\n showAfter: tooltipOptions.showAfter,\n hideAfter: tooltipOptions.hideAfter,\n open: showPopper,\n close: removePopper,\n }))\n }\n const content = renderContent()\n content.onmouseenter = onOpen\n content.onmouseleave = onClose\n const modifiers = []\n if (tooltipOptions.offset) {\n modifiers.push({\n name: 'offset',\n options: {\n offset: [0, tooltipOptions.offset],\n },\n })\n }\n if (tooltipOptions.showArrow) {\n const arrow = content.appendChild(renderArrow())\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrow,\n padding: 10,\n },\n })\n }\n const popperOptions = tooltipOptions.popperOptions || {}\n popperInstance = createPopper(trigger, content, {\n placement: tooltipOptions.placement || 'top',\n strategy: 'fixed',\n ...popperOptions,\n modifiers: popperOptions.modifiers\n ? modifiers.concat(popperOptions.modifiers)\n : modifiers,\n })\n trigger.addEventListener('mouseenter', onOpen)\n trigger.addEventListener('mouseleave', onClose)\n scrollContainer?.addEventListener('scroll', removePopper)\n return popperInstance\n}\n\nfunction getCurrentColumns<T>(column: TableColumnCtx<T>): TableColumnCtx<T>[] {\n if (column.children) {\n return flatMap(column.children, getCurrentColumns)\n } else {\n return [column]\n }\n}\n\nfunction getColSpan<T>(colSpan: number, column: TableColumnCtx<T>) {\n return colSpan + column.colSpan\n}\n\nexport const isFixedColumn = <T>(\n index: number,\n fixed: string | boolean,\n store: any,\n realColumns?: TableColumnCtx<T>[]\n) => {\n let start = 0\n let after = index\n const columns = store.states.columns.value\n if (realColumns) {\n // fixed column supported in grouped header\n const curColumns = getCurrentColumns(realColumns[index])\n const preColumns = columns.slice(0, columns.indexOf(curColumns[0]))\n\n start = preColumns.reduce(getColSpan, 0)\n after = start + curColumns.reduce(getColSpan, 0) - 1\n } else {\n start = index\n }\n let fixedLayout\n switch (fixed) {\n case 'left':\n if (after < store.states.fixedLeafColumnsLength.value) {\n fixedLayout = 'left'\n }\n break\n case 'right':\n if (\n start >=\n columns.length - store.states.rightFixedLeafColumnsLength.value\n ) {\n fixedLayout = 'right'\n }\n break\n default:\n if (after < store.states.fixedLeafColumnsLength.value) {\n fixedLayout = 'left'\n } else if (\n start >=\n columns.length - store.states.rightFixedLeafColumnsLength.value\n ) {\n fixedLayout = 'right'\n }\n }\n return fixedLayout\n ? {\n direction: fixedLayout,\n start,\n after,\n }\n : {}\n}\n\nexport const getFixedColumnsClass = <T>(\n namespace: string,\n index: number,\n fixed: string | boolean,\n store: any,\n realColumns?: TableColumnCtx<T>[],\n offset = 0\n) => {\n const classes: string[] = []\n const { direction, start, after } = isFixedColumn(\n index,\n fixed,\n store,\n realColumns\n )\n if (direction) {\n const isLeft = direction === 'left'\n classes.push(`${namespace}-fixed-column--${direction}`)\n if (\n isLeft &&\n after + offset === store.states.fixedLeafColumnsLength.value - 1\n ) {\n classes.push('is-last-column')\n } else if (\n !isLeft &&\n start - offset ===\n store.states.columns.value.length -\n store.states.rightFixedLeafColumnsLength.value\n ) {\n classes.push('is-first-column')\n }\n }\n return classes\n}\n\nfunction getOffset<T>(offset: number, column: TableColumnCtx<T>) {\n return (\n offset +\n (column.realWidth === null || Number.isNaN(column.realWidth)\n ? Number(column.width)\n : column.realWidth)\n )\n}\n\nexport const getFixedColumnOffset = <T>(\n index: number,\n fixed: string | boolean,\n store: any,\n realColumns?: TableColumnCtx<T>[]\n) => {\n const {\n direction,\n start = 0,\n after = 0,\n } = isFixedColumn(index, fixed, store, realColumns)\n if (!direction) {\n return\n }\n const styles: any = {}\n const isLeft = direction === 'left'\n const columns = store.states.columns.value\n if (isLeft) {\n styles.left = columns.slice(0, start).reduce(getOffset, 0)\n } else {\n styles.right = columns\n .slice(after + 1)\n .reverse()\n .reduce(getOffset, 0)\n }\n return styles\n}\n\nexport const ensurePosition = (style, key: string) => {\n if (!style) return\n if (!Number.isNaN(style[key])) {\n style[key] = `${style[key]}px`\n }\n}\n"],"names":["get","isObject","throwError","hasOwn","isArray","isBoolean","removePopper","merge","escapeHtml","useDelayedToggle","createPopper","flatMap"],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sources":["../../../../../../packages/components/table/src/util.ts"],"sourcesContent":["// @ts-nocheck\nimport { createPopper } from '@popperjs/core'\nimport { flatMap, get, merge } from 'lodash-unified'\nimport escapeHtml from 'escape-html'\nimport {\n hasOwn,\n isArray,\n isBoolean,\n isObject,\n throwError,\n} from '@element-plus/utils'\nimport { useDelayedToggle } from '@element-plus/hooks'\nimport type { PopperInstance } from '@element-plus/components/popper'\nimport type { Nullable } from '@element-plus/utils'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { ElTooltipProps } from '@element-plus/components/tooltip'\n\nexport type TableOverflowTooltipOptions = Partial<\n Pick<\n ElTooltipProps,\n | 'effect'\n | 'enterable'\n | 'hideAfter'\n | 'offset'\n | 'placement'\n | 'popperClass'\n | 'popperOptions'\n | 'showAfter'\n | 'showArrow'\n // | 'transition'\n >\n>\n\nexport const getCell = function (event: Event) {\n return (event.target as HTMLElement)?.closest('td')\n}\n\nexport const orderBy = function <T>(\n array: T[],\n sortKey: string,\n reverse: string | number,\n sortMethod,\n sortBy: string | (string | ((a: T, b: T, array?: T[]) => number))[]\n) {\n if (\n !sortKey &&\n !sortMethod &&\n (!sortBy || (Array.isArray(sortBy) && !sortBy.length))\n ) {\n return array\n }\n if (typeof reverse === 'string') {\n reverse = reverse === 'descending' ? -1 : 1\n } else {\n reverse = reverse && reverse < 0 ? -1 : 1\n }\n const getKey = sortMethod\n ? null\n : function (value, index) {\n if (sortBy) {\n if (!Array.isArray(sortBy)) {\n sortBy = [sortBy]\n }\n return sortBy.map((by) => {\n if (typeof by === 'string') {\n return get(value, by)\n } else {\n return by(value, index, array)\n }\n })\n }\n if (sortKey !== '$key') {\n if (isObject(value) && '$value' in value) value = value.$value\n }\n return [isObject(value) ? get(value, sortKey) : value]\n }\n const compare = function (a, b) {\n if (sortMethod) {\n return sortMethod(a.value, b.value)\n }\n for (let i = 0, len = a.key.length; i < len; i++) {\n if (a.key[i] < b.key[i]) {\n return -1\n }\n if (a.key[i] > b.key[i]) {\n return 1\n }\n }\n return 0\n }\n return array\n .map((value, index) => {\n return {\n value,\n index,\n key: getKey ? getKey(value, index) : null,\n }\n })\n .sort((a, b) => {\n let order = compare(a, b)\n if (!order) {\n // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\n order = a.index - b.index\n }\n return order * +reverse\n })\n .map((item) => item.value)\n}\n\nexport const getColumnById = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnId: string\n): null | TableColumnCtx<T> {\n let column = null\n table.columns.forEach((item) => {\n if (item.id === columnId) {\n column = item\n }\n })\n return column\n}\n\nexport const getColumnByKey = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnKey: string\n): TableColumnCtx<T> {\n let column = null\n for (let i = 0; i < table.columns.length; i++) {\n const item = table.columns[i]\n if (item.columnKey === columnKey) {\n column = item\n break\n }\n }\n if (!column)\n throwError('ElTable', `No column matching with column-key: ${columnKey}`)\n return column\n}\n\nexport const getColumnByCell = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n cell: HTMLElement,\n namespace: string\n): null | TableColumnCtx<T> {\n const matches = (cell.className || '').match(\n new RegExp(`${namespace}-table_[^\\\\s]+`, 'gm')\n )\n if (matches) {\n return getColumnById(table, matches[0])\n }\n return null\n}\n\nexport const getRowIdentity = <T>(\n row: T,\n rowKey: string | ((row: T) => any)\n): string => {\n if (!row) throw new Error('Row is required when get row identity')\n if (typeof rowKey === 'string') {\n if (!rowKey.includes('.')) {\n return `${row[rowKey]}`\n }\n const key = rowKey.split('.')\n let current = row\n for (const element of key) {\n current = current[element]\n }\n return `${current}`\n } else if (typeof rowKey === 'function') {\n return rowKey.call(null, row)\n }\n}\n\nexport const getKeysMap = function <T>(\n array: T[],\n rowKey: string\n): Record<string, { row: T; index: number }> {\n const arrayMap = {}\n ;(array || []).forEach((row, index) => {\n arrayMap[getRowIdentity(row, rowKey)] = { row, index }\n })\n return arrayMap\n}\n\nexport function mergeOptions<T, K>(defaults: T, config: K): T & K {\n const options = {} as T & K\n let key\n for (key in defaults) {\n options[key] = defaults[key]\n }\n for (key in config) {\n if (hasOwn(config as unknown as Record<string, any>, key)) {\n const value = config[key]\n if (typeof value !== 'undefined') {\n options[key] = value\n }\n }\n }\n return options\n}\n\nexport function parseWidth(width: number | string): number | string {\n if (width === '') return width\n if (width !== undefined) {\n width = Number.parseInt(width as string, 10)\n if (Number.isNaN(width)) {\n width = ''\n }\n }\n return width\n}\n\nexport function parseMinWidth(minWidth: number | string): number | string {\n if (minWidth === '') return minWidth\n if (minWidth !== undefined) {\n minWidth = parseWidth(minWidth)\n if (Number.isNaN(minWidth)) {\n minWidth = 80\n }\n }\n return minWidth\n}\n\nexport function parseHeight(height: number | string) {\n if (typeof height === 'number') {\n return height\n }\n if (typeof height === 'string') {\n if (/^\\d+(?:px)?$/.test(height)) {\n return Number.parseInt(height, 10)\n } else {\n return height\n }\n }\n return null\n}\n\n// https://github.com/reduxjs/redux/blob/master/src/compose.js\nexport function compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg\n }\n if (funcs.length === 1) {\n return funcs[0]\n }\n return funcs.reduce(\n (a, b) =>\n (...args) =>\n a(b(...args))\n )\n}\n\nexport function toggleRowStatus<T>(\n statusArr: T[],\n row: T,\n newVal: boolean\n): boolean {\n let changed = false\n const index = statusArr.indexOf(row)\n const included = index !== -1\n\n const toggleStatus = (type: 'add' | 'remove') => {\n if (type === 'add') {\n statusArr.push(row)\n } else {\n statusArr.splice(index, 1)\n }\n changed = true\n if (isArray(row.children)) {\n row.children.forEach((item) => {\n toggleRowStatus(statusArr, item, newVal ?? !included)\n })\n }\n }\n\n if (isBoolean(newVal)) {\n if (newVal && !included) {\n toggleStatus('add')\n } else if (!newVal && included) {\n toggleStatus('remove')\n }\n } else {\n included ? toggleStatus('remove') : toggleStatus('add')\n }\n return changed\n}\n\nexport function walkTreeNode(\n root,\n cb,\n childrenKey = 'children',\n lazyKey = 'hasChildren'\n) {\n const isNil = (array) => !(Array.isArray(array) && array.length)\n\n function _walker(parent, children, level) {\n cb(parent, children, level)\n children.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, level + 1)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, level + 1)\n }\n })\n }\n\n root.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, 0)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, 0)\n }\n })\n}\n\nexport let removePopper\n\nexport function createTablePopper(\n parentNode: HTMLElement | undefined,\n trigger: HTMLElement,\n popperContent: string,\n nextZIndex: () => number,\n tooltipOptions?: TableOverflowTooltipOptions\n) {\n // TODO transition\n tooltipOptions = merge(\n {\n enterable: true,\n showArrow: true,\n } as TableOverflowTooltipOptions,\n tooltipOptions\n )\n const ns = parentNode?.dataset.prefix\n const scrollContainer = parentNode?.querySelector(`.${ns}-scrollbar__wrap`)\n function renderContent(): HTMLDivElement {\n const isLight = tooltipOptions.effect === 'light'\n const content = document.createElement('div')\n content.className = [\n `${ns}-popper`,\n isLight ? 'is-light' : 'is-dark',\n tooltipOptions.popperClass || '',\n ].join(' ')\n popperContent = escapeHtml(popperContent)\n content.innerHTML = popperContent\n content.style.zIndex = String(nextZIndex())\n // Avoid side effects caused by append to body\n parentNode?.appendChild(content)\n return content\n }\n function renderArrow(): HTMLDivElement {\n const arrow = document.createElement('div')\n arrow.className = `${ns}-popper__arrow`\n return arrow\n }\n function showPopper() {\n popperInstance && popperInstance.update()\n }\n removePopper?.()\n removePopper = () => {\n try {\n popperInstance && popperInstance.destroy()\n content && parentNode?.removeChild(content)\n trigger.removeEventListener('mouseenter', onOpen)\n trigger.removeEventListener('mouseleave', onClose)\n scrollContainer?.removeEventListener('scroll', removePopper)\n removePopper = undefined\n } catch {}\n }\n let popperInstance: Nullable<PopperInstance> = null\n let onOpen = showPopper\n let onClose = removePopper\n if (tooltipOptions.enterable) {\n ;({ onOpen, onClose } = useDelayedToggle({\n showAfter: tooltipOptions.showAfter,\n hideAfter: tooltipOptions.hideAfter,\n open: showPopper,\n close: removePopper,\n }))\n }\n const content = renderContent()\n content.onmouseenter = onOpen\n content.onmouseleave = onClose\n const modifiers = []\n if (tooltipOptions.offset) {\n modifiers.push({\n name: 'offset',\n options: {\n offset: [0, tooltipOptions.offset],\n },\n })\n }\n if (tooltipOptions.showArrow) {\n const arrow = content.appendChild(renderArrow())\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrow,\n padding: 10,\n },\n })\n }\n const popperOptions = tooltipOptions.popperOptions || {}\n popperInstance = createPopper(trigger, content, {\n placement: tooltipOptions.placement || 'top',\n strategy: 'fixed',\n ...popperOptions,\n modifiers: popperOptions.modifiers\n ? modifiers.concat(popperOptions.modifiers)\n : modifiers,\n })\n trigger.addEventListener('mouseenter', onOpen)\n trigger.addEventListener('mouseleave', onClose)\n scrollContainer?.addEventListener('scroll', removePopper)\n return popperInstance\n}\n\nfunction getCurrentColumns<T>(column: TableColumnCtx<T>): TableColumnCtx<T>[] {\n if (column.children) {\n return flatMap(column.children, getCurrentColumns)\n } else {\n return [column]\n }\n}\n\nfunction getColSpan<T>(colSpan: number, column: TableColumnCtx<T>) {\n return colSpan + column.colSpan\n}\n\nexport const isFixedColumn = <T>(\n index: number,\n fixed: string | boolean,\n store: any,\n realColumns?: TableColumnCtx<T>[]\n) => {\n let start = 0\n let after = index\n const columns = store.states.columns.value\n if (realColumns) {\n // fixed column supported in grouped header\n const curColumns = getCurrentColumns(realColumns[index])\n const preColumns = columns.slice(0, columns.indexOf(curColumns[0]))\n\n start = preColumns.reduce(getColSpan, 0)\n after = start + curColumns.reduce(getColSpan, 0) - 1\n } else {\n start = index\n }\n let fixedLayout\n switch (fixed) {\n case 'left':\n if (after < store.states.fixedLeafColumnsLength.value) {\n fixedLayout = 'left'\n }\n break\n case 'right':\n if (\n start >=\n columns.length - store.states.rightFixedLeafColumnsLength.value\n ) {\n fixedLayout = 'right'\n }\n break\n default:\n if (after < store.states.fixedLeafColumnsLength.value) {\n fixedLayout = 'left'\n } else if (\n start >=\n columns.length - store.states.rightFixedLeafColumnsLength.value\n ) {\n fixedLayout = 'right'\n }\n }\n return fixedLayout\n ? {\n direction: fixedLayout,\n start,\n after,\n }\n : {}\n}\n\nexport const getFixedColumnsClass = <T>(\n namespace: string,\n index: number,\n fixed: string | boolean,\n store: any,\n realColumns?: TableColumnCtx<T>[],\n offset = 0\n) => {\n const classes: string[] = []\n const { direction, start, after } = isFixedColumn(\n index,\n fixed,\n store,\n realColumns\n )\n if (direction) {\n const isLeft = direction === 'left'\n classes.push(`${namespace}-fixed-column--${direction}`)\n if (\n isLeft &&\n after + offset === store.states.fixedLeafColumnsLength.value - 1\n ) {\n classes.push('is-last-column')\n } else if (\n !isLeft &&\n start - offset ===\n store.states.columns.value.length -\n store.states.rightFixedLeafColumnsLength.value\n ) {\n classes.push('is-first-column')\n }\n }\n return classes\n}\n\nfunction getOffset<T>(offset: number, column: TableColumnCtx<T>) {\n return (\n offset +\n (column.realWidth === null || Number.isNaN(column.realWidth)\n ? Number(column.width)\n : column.realWidth)\n )\n}\n\nexport const getFixedColumnOffset = <T>(\n index: number,\n fixed: string | boolean,\n store: any,\n realColumns?: TableColumnCtx<T>[]\n) => {\n const {\n direction,\n start = 0,\n after = 0,\n } = isFixedColumn(index, fixed, store, realColumns)\n if (!direction) {\n return\n }\n const styles: any = {}\n const isLeft = direction === 'left'\n const columns = store.states.columns.value\n if (isLeft) {\n styles.left = columns.slice(0, start).reduce(getOffset, 0)\n } else {\n styles.right = columns\n .slice(after + 1)\n .reverse()\n .reduce(getOffset, 0)\n }\n return styles\n}\n\nexport const ensurePosition = (style, key: string) => {\n if (!style) return\n if (!Number.isNaN(style[key])) {\n style[key] = `${style[key]}px`\n }\n}\n"],"names":["get","isObject","throwError","hasOwn","isArray","isBoolean","removePopper","merge","escapeHtml","useDelayedToggle","createPopper","flatMap"],"mappings":"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"}
@@ -7,7 +7,7 @@ require('../../../../utils/index.js');
7
7
  var row = require('../row.js');
8
8
  var tokens = require('../tokens.js');
9
9
  var _private = require('../private.js');
10
- var core = require('@vueuse/core');
10
+ var types = require('../../../../utils/types.js');
11
11
  var shared = require('@vue/shared');
12
12
 
13
13
  const useTableRow = (props) => {
@@ -17,7 +17,7 @@ const useTableRow = (props) => {
17
17
  const measured = vue.ref(false);
18
18
  const rowRef = vue.ref();
19
19
  const measurable = vue.computed(() => {
20
- return core.isNumber(props.estimatedRowHeight) && props.rowIndex >= 0;
20
+ return types.isNumber(props.estimatedRowHeight) && props.rowIndex >= 0;
21
21
  });
22
22
  const doMeasure = (isInit = false) => {
23
23
  const $rowRef = vue.unref(rowRef);
@@ -1 +1 @@
1
- {"version":3,"file":"row.js","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 { CSSProperties, 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)\n const eventHandlers = {} as {\n [key in keyof RowEventHandlers]: (e: Event) => void\n }\n\n Object.entries(handlers).forEach(([eventName, handler]) => {\n if (isFunction(handler)) {\n eventHandlers[eventName as keyof RowEventHandlers] = (event: Event) => {\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 {\n columns,\n columnsStyles,\n expandColumnKey,\n depth,\n rowData,\n rowIndex,\n 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 style: columnsStyles[column.key],\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 style,\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 role=\"row\"\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 role=\"row\"\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 style: CSSProperties\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","ref","rowRef","computed","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","onExpand","onRowExpand","unref","onMounted","defineComponent","tableV2RowProps","COMPONENT_NAME","TableV2Row","attrs","measurable","expose","isArray","ColumnCells","expandable","slots","depth","column","undefined","cells","node","_createVNode","_mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"row.js","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 { CSSProperties, 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)\n const eventHandlers = {} as {\n [key in keyof RowEventHandlers]: (e: Event) => void\n }\n\n Object.entries(handlers).forEach(([eventName, handler]) => {\n if (isFunction(handler)) {\n eventHandlers[eventName as keyof RowEventHandlers] = (event: Event) => {\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 {\n columns,\n columnsStyles,\n expandColumnKey,\n depth,\n rowData,\n rowIndex,\n 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 style: columnsStyles[column.key],\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 style,\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 role=\"row\"\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 role=\"row\"\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 style: CSSProperties\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","ref","rowRef","computed","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","onExpand","onRowExpand","unref","onMounted","defineComponent","tableV2RowProps","COMPONENT_NAME","TableV2Row","attrs","measurable","expose","isArray","ColumnCells","expandable","slots","depth","column","undefined","cells","node","_createVNode","_mergeProps"],"mappings":"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"}
@@ -6,7 +6,7 @@ var vue = require('vue');
6
6
  var lodashUnified = require('lodash-unified');
7
7
  require('../../../../utils/index.js');
8
8
  var constants = require('../constants.js');
9
- var core = require('@vueuse/core');
9
+ var types = require('../../../../utils/types.js');
10
10
 
11
11
  const useRow = (props, { mainTableRef, leftTableRef, rightTableRef }) => {
12
12
  const vm = vue.getCurrentInstance();
@@ -21,7 +21,7 @@ const useRow = (props, { mainTableRef, leftTableRef, rightTableRef }) => {
21
21
  const leftTableHeights = vue.shallowRef({});
22
22
  const mainTableHeights = vue.shallowRef({});
23
23
  const rightTableHeights = vue.shallowRef({});
24
- const isDynamic = vue.computed(() => core.isNumber(props.estimatedRowHeight));
24
+ const isDynamic = vue.computed(() => types.isNumber(props.estimatedRowHeight));
25
25
  function onRowsRendered(params) {
26
26
  var _a;
27
27
  (_a = props.onRowsRendered) == null ? void 0 : _a.call(props, params);
@@ -1 +1 @@
1
- {"version":3,"file":"use-row.js","sources":["../../../../../../../packages/components/table-v2/src/composables/use-row.ts"],"sourcesContent":["import { computed, getCurrentInstance, ref, shallowRef, unref } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { isNumber } from '@element-plus/utils'\nimport { FixedDir } from '../constants'\n\nimport type { Ref } from 'vue'\nimport type { TableV2Props } from '../table'\nimport type {\n RowExpandParams,\n RowHeightChangedParams,\n RowHoverParams,\n} from '../row'\nimport type { FixedDirection, KeyType } from '../types'\nimport type { onRowRenderedParams } from '../grid'\nimport type { TableGridInstance } from '../table-grid'\n\ntype Heights = Record<KeyType, number>\ntype GridInstanceRef = Ref<TableGridInstance | undefined>\n\ntype UseRowProps = {\n mainTableRef: GridInstanceRef\n leftTableRef: GridInstanceRef\n rightTableRef: GridInstanceRef\n}\n\nexport const useRow = (\n props: TableV2Props,\n { mainTableRef, leftTableRef, rightTableRef }: UseRowProps\n) => {\n const vm = getCurrentInstance()!\n const { emit } = vm\n const isResetting = shallowRef(false)\n const hoveringRowKey = shallowRef<KeyType | null>(null)\n const expandedRowKeys = ref<KeyType[]>(props.defaultExpandedRowKeys || [])\n const lastRenderedRowIndex = ref(-1)\n const resetIndex = shallowRef<number | null>(null)\n const rowHeights = ref<Heights>({})\n const pendingRowHeights = ref<Heights>({})\n const leftTableHeights = shallowRef<Heights>({})\n const mainTableHeights = shallowRef<Heights>({})\n const rightTableHeights = shallowRef<Heights>({})\n const isDynamic = computed(() => isNumber(props.estimatedRowHeight))\n\n function onRowsRendered(params: onRowRenderedParams) {\n props.onRowsRendered?.(params)\n\n if (params.rowCacheEnd > unref(lastRenderedRowIndex)) {\n lastRenderedRowIndex.value = params.rowCacheEnd\n }\n }\n\n function onRowHovered({ hovered, rowKey }: RowHoverParams) {\n hoveringRowKey.value = hovered ? rowKey : null\n }\n\n function onRowExpanded({\n expanded,\n rowData,\n rowIndex,\n rowKey,\n }: RowExpandParams) {\n const _expandedRowKeys = [...unref(expandedRowKeys)]\n const currentKeyIndex = _expandedRowKeys.indexOf(rowKey)\n if (expanded) {\n if (currentKeyIndex === -1) _expandedRowKeys.push(rowKey)\n } else {\n if (currentKeyIndex > -1) _expandedRowKeys.splice(currentKeyIndex, 1)\n }\n expandedRowKeys.value = _expandedRowKeys\n\n emit('update:expandedRowKeys', _expandedRowKeys)\n props.onRowExpand?.({\n expanded,\n rowData,\n rowIndex,\n rowKey,\n })\n // If this is not controlled, then use this to notify changes\n props.onExpandedRowsChange?.(_expandedRowKeys)\n }\n\n const flushingRowHeights = debounce(() => {\n isResetting.value = true\n rowHeights.value = { ...unref(rowHeights), ...unref(pendingRowHeights) }\n resetAfterIndex(unref(resetIndex)!, false)\n pendingRowHeights.value = {}\n // force update\n resetIndex.value = null\n mainTableRef.value?.forceUpdate()\n leftTableRef.value?.forceUpdate()\n rightTableRef.value?.forceUpdate()\n vm.proxy?.$forceUpdate()\n isResetting.value = false\n }, 0)\n\n function resetAfterIndex(index: number, forceUpdate = false) {\n if (!unref(isDynamic)) return\n ;[mainTableRef, leftTableRef, rightTableRef].forEach((tableRef) => {\n const table = unref(tableRef)\n if (table) table.resetAfterRowIndex(index, forceUpdate)\n })\n }\n\n function resetHeights(rowKey: KeyType, height: number, rowIdx: number) {\n const resetIdx = unref(resetIndex)\n if (resetIdx === null) {\n resetIndex.value = rowIdx\n } else {\n if (resetIdx > rowIdx) {\n resetIndex.value = rowIdx\n }\n }\n\n pendingRowHeights.value[rowKey] = height\n }\n\n function onRowHeightChange(\n { rowKey, height, rowIndex }: RowHeightChangedParams,\n fixedDir: FixedDirection\n ) {\n if (!fixedDir) {\n mainTableHeights.value[rowKey] = height\n } else {\n if (fixedDir === FixedDir.RIGHT) {\n rightTableHeights.value[rowKey] = height\n } else {\n leftTableHeights.value[rowKey] = height\n }\n }\n\n const maximumHeight = Math.max(\n ...[leftTableHeights, rightTableHeights, mainTableHeights].map(\n (records) => records.value[rowKey] || 0\n )\n )\n\n if (unref(rowHeights)[rowKey] !== maximumHeight) {\n resetHeights(rowKey, maximumHeight, rowIndex)\n flushingRowHeights()\n }\n }\n\n return {\n hoveringRowKey,\n expandedRowKeys,\n lastRenderedRowIndex,\n isDynamic,\n isResetting,\n rowHeights,\n\n resetAfterIndex,\n onRowExpanded,\n onRowHovered,\n onRowsRendered,\n onRowHeightChange,\n }\n}\n\nexport type UseRowReturn = ReturnType<typeof useRow>\n"],"names":["getCurrentInstance","shallowRef","ref","computed","isNumber","unref","debounce","FixedDir"],"mappings":"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"}
1
+ {"version":3,"file":"use-row.js","sources":["../../../../../../../packages/components/table-v2/src/composables/use-row.ts"],"sourcesContent":["import { computed, getCurrentInstance, ref, shallowRef, unref } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { isNumber } from '@element-plus/utils'\nimport { FixedDir } from '../constants'\n\nimport type { Ref } from 'vue'\nimport type { TableV2Props } from '../table'\nimport type {\n RowExpandParams,\n RowHeightChangedParams,\n RowHoverParams,\n} from '../row'\nimport type { FixedDirection, KeyType } from '../types'\nimport type { onRowRenderedParams } from '../grid'\nimport type { TableGridInstance } from '../table-grid'\n\ntype Heights = Record<KeyType, number>\ntype GridInstanceRef = Ref<TableGridInstance | undefined>\n\ntype UseRowProps = {\n mainTableRef: GridInstanceRef\n leftTableRef: GridInstanceRef\n rightTableRef: GridInstanceRef\n}\n\nexport const useRow = (\n props: TableV2Props,\n { mainTableRef, leftTableRef, rightTableRef }: UseRowProps\n) => {\n const vm = getCurrentInstance()!\n const { emit } = vm\n const isResetting = shallowRef(false)\n const hoveringRowKey = shallowRef<KeyType | null>(null)\n const expandedRowKeys = ref<KeyType[]>(props.defaultExpandedRowKeys || [])\n const lastRenderedRowIndex = ref(-1)\n const resetIndex = shallowRef<number | null>(null)\n const rowHeights = ref<Heights>({})\n const pendingRowHeights = ref<Heights>({})\n const leftTableHeights = shallowRef<Heights>({})\n const mainTableHeights = shallowRef<Heights>({})\n const rightTableHeights = shallowRef<Heights>({})\n const isDynamic = computed(() => isNumber(props.estimatedRowHeight))\n\n function onRowsRendered(params: onRowRenderedParams) {\n props.onRowsRendered?.(params)\n\n if (params.rowCacheEnd > unref(lastRenderedRowIndex)) {\n lastRenderedRowIndex.value = params.rowCacheEnd\n }\n }\n\n function onRowHovered({ hovered, rowKey }: RowHoverParams) {\n hoveringRowKey.value = hovered ? rowKey : null\n }\n\n function onRowExpanded({\n expanded,\n rowData,\n rowIndex,\n rowKey,\n }: RowExpandParams) {\n const _expandedRowKeys = [...unref(expandedRowKeys)]\n const currentKeyIndex = _expandedRowKeys.indexOf(rowKey)\n if (expanded) {\n if (currentKeyIndex === -1) _expandedRowKeys.push(rowKey)\n } else {\n if (currentKeyIndex > -1) _expandedRowKeys.splice(currentKeyIndex, 1)\n }\n expandedRowKeys.value = _expandedRowKeys\n\n emit('update:expandedRowKeys', _expandedRowKeys)\n props.onRowExpand?.({\n expanded,\n rowData,\n rowIndex,\n rowKey,\n })\n // If this is not controlled, then use this to notify changes\n props.onExpandedRowsChange?.(_expandedRowKeys)\n }\n\n const flushingRowHeights = debounce(() => {\n isResetting.value = true\n rowHeights.value = { ...unref(rowHeights), ...unref(pendingRowHeights) }\n resetAfterIndex(unref(resetIndex)!, false)\n pendingRowHeights.value = {}\n // force update\n resetIndex.value = null\n mainTableRef.value?.forceUpdate()\n leftTableRef.value?.forceUpdate()\n rightTableRef.value?.forceUpdate()\n vm.proxy?.$forceUpdate()\n isResetting.value = false\n }, 0)\n\n function resetAfterIndex(index: number, forceUpdate = false) {\n if (!unref(isDynamic)) return\n ;[mainTableRef, leftTableRef, rightTableRef].forEach((tableRef) => {\n const table = unref(tableRef)\n if (table) table.resetAfterRowIndex(index, forceUpdate)\n })\n }\n\n function resetHeights(rowKey: KeyType, height: number, rowIdx: number) {\n const resetIdx = unref(resetIndex)\n if (resetIdx === null) {\n resetIndex.value = rowIdx\n } else {\n if (resetIdx > rowIdx) {\n resetIndex.value = rowIdx\n }\n }\n\n pendingRowHeights.value[rowKey] = height\n }\n\n function onRowHeightChange(\n { rowKey, height, rowIndex }: RowHeightChangedParams,\n fixedDir: FixedDirection\n ) {\n if (!fixedDir) {\n mainTableHeights.value[rowKey] = height\n } else {\n if (fixedDir === FixedDir.RIGHT) {\n rightTableHeights.value[rowKey] = height\n } else {\n leftTableHeights.value[rowKey] = height\n }\n }\n\n const maximumHeight = Math.max(\n ...[leftTableHeights, rightTableHeights, mainTableHeights].map(\n (records) => records.value[rowKey] || 0\n )\n )\n\n if (unref(rowHeights)[rowKey] !== maximumHeight) {\n resetHeights(rowKey, maximumHeight, rowIndex)\n flushingRowHeights()\n }\n }\n\n return {\n hoveringRowKey,\n expandedRowKeys,\n lastRenderedRowIndex,\n isDynamic,\n isResetting,\n rowHeights,\n\n resetAfterIndex,\n onRowExpanded,\n onRowHovered,\n onRowsRendered,\n onRowHeightChange,\n }\n}\n\nexport type UseRowReturn = ReturnType<typeof useRow>\n"],"names":["getCurrentInstance","shallowRef","ref","computed","isNumber","unref","debounce","FixedDir"],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var vue = require('vue');
6
6
  require('../../../../utils/index.js');
7
7
  var utils = require('../utils.js');
8
- var core = require('@vueuse/core');
8
+ var types = require('../../../../utils/types.js');
9
9
  var style = require('../../../../utils/dom/style.js');
10
10
 
11
11
  const useStyles = (props, {
@@ -34,7 +34,7 @@ const useStyles = (props, {
34
34
  const rowsHeight = vue.computed(() => {
35
35
  const { rowHeight, estimatedRowHeight } = props;
36
36
  const _data = vue.unref(data);
37
- if (core.isNumber(estimatedRowHeight)) {
37
+ if (types.isNumber(estimatedRowHeight)) {
38
38
  return _data.length * estimatedRowHeight;
39
39
  }
40
40
  return _data.length * rowHeight;
@@ -42,7 +42,7 @@ const useStyles = (props, {
42
42
  const fixedTableHeight = vue.computed(() => {
43
43
  const { maxHeight } = props;
44
44
  const tableHeight = vue.unref(mainTableHeight);
45
- if (core.isNumber(maxHeight) && maxHeight > 0)
45
+ if (types.isNumber(maxHeight) && maxHeight > 0)
46
46
  return tableHeight;
47
47
  const totalHeight = vue.unref(rowsHeight) + vue.unref(headerHeight) + vue.unref(fixedRowsHeight);
48
48
  return Math.min(tableHeight, totalHeight);
@@ -1 +1 @@
1
- {"version":3,"file":"use-styles.js","sources":["../../../../../../../packages/components/table-v2/src/composables/use-styles.ts"],"sourcesContent":["import { computed, unref } from 'vue'\nimport { addUnit, isNumber } from '@element-plus/utils'\nimport { enforceUnit, sum } from '../utils'\n\nimport type { CSSProperties } from 'vue'\nimport type { TableV2Props } from '../table'\nimport type { UseColumnsReturn } from './use-columns'\nimport type { UseDataReturn } from './use-data'\n\ntype UseStyleProps = {\n columnsTotalWidth: UseColumnsReturn['columnsTotalWidth']\n data: UseDataReturn['data']\n fixedColumnsOnLeft: UseColumnsReturn['fixedColumnsOnLeft']\n fixedColumnsOnRight: UseColumnsReturn['fixedColumnsOnRight']\n}\n\nexport const useStyles = (\n props: TableV2Props,\n {\n columnsTotalWidth,\n data,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n }: UseStyleProps\n) => {\n const bodyWidth = computed(() => {\n const { fixed, width, vScrollbarSize } = props\n const ret = width - vScrollbarSize\n return fixed ? Math.max(Math.round(unref(columnsTotalWidth)), ret) : ret\n })\n\n const headerWidth = computed(\n () => unref(bodyWidth) + (props.fixed ? props.vScrollbarSize : 0)\n )\n\n const mainTableHeight = computed(() => {\n const { height = 0, maxHeight = 0, footerHeight, hScrollbarSize } = props\n\n if (maxHeight > 0) {\n const _fixedRowsHeight = unref(fixedRowsHeight)\n const _rowsHeight = unref(rowsHeight)\n const _headerHeight = unref(headerHeight)\n const total =\n _headerHeight + _fixedRowsHeight + _rowsHeight + hScrollbarSize\n\n return Math.min(total, maxHeight - footerHeight)\n }\n\n return height - footerHeight\n })\n\n const rowsHeight = computed(() => {\n const { rowHeight, estimatedRowHeight } = props\n const _data = unref(data)\n if (isNumber(estimatedRowHeight)) {\n return _data.length * estimatedRowHeight\n }\n\n return _data.length * rowHeight\n })\n\n const fixedTableHeight = computed(() => {\n const { maxHeight } = props\n const tableHeight = unref(mainTableHeight)\n if (isNumber(maxHeight) && maxHeight > 0) return tableHeight\n\n const totalHeight =\n unref(rowsHeight) + unref(headerHeight) + unref(fixedRowsHeight)\n\n return Math.min(tableHeight, totalHeight)\n })\n\n const mapColumn = (column: TableV2Props['columns'][number]) => column.width\n\n const leftTableWidth = computed(() =>\n sum(unref(fixedColumnsOnLeft).map(mapColumn))\n )\n\n const rightTableWidth = computed(() =>\n sum(unref(fixedColumnsOnRight).map(mapColumn))\n )\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const fixedRowsHeight = computed(() => {\n return (props.fixedData?.length || 0) * props.rowHeight\n })\n\n const windowHeight = computed(() => {\n return unref(mainTableHeight) - unref(headerHeight) - unref(fixedRowsHeight)\n })\n\n const rootStyle = computed<CSSProperties>(() => {\n const { style = {}, height, width } = props\n return enforceUnit({\n ...style,\n height,\n width,\n })\n })\n\n const footerHeight = computed(() =>\n enforceUnit({ height: props.footerHeight })\n )\n\n const emptyStyle = computed<CSSProperties>(() => ({\n top: addUnit(unref(headerHeight)),\n bottom: addUnit(props.footerHeight),\n width: addUnit(props.width),\n }))\n\n return {\n bodyWidth,\n fixedTableHeight,\n mainTableHeight,\n leftTableWidth,\n rightTableWidth,\n headerWidth,\n rowsHeight,\n windowHeight,\n footerHeight,\n emptyStyle,\n rootStyle,\n headerHeight,\n }\n}\n\nexport type UseStyleReturn = ReturnType<typeof useStyles>\n"],"names":["computed","unref","isNumber","sum","enforceUnit","addUnit"],"mappings":"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"}
1
+ {"version":3,"file":"use-styles.js","sources":["../../../../../../../packages/components/table-v2/src/composables/use-styles.ts"],"sourcesContent":["import { computed, unref } from 'vue'\nimport { addUnit, isNumber } from '@element-plus/utils'\nimport { enforceUnit, sum } from '../utils'\n\nimport type { CSSProperties } from 'vue'\nimport type { TableV2Props } from '../table'\nimport type { UseColumnsReturn } from './use-columns'\nimport type { UseDataReturn } from './use-data'\n\ntype UseStyleProps = {\n columnsTotalWidth: UseColumnsReturn['columnsTotalWidth']\n data: UseDataReturn['data']\n fixedColumnsOnLeft: UseColumnsReturn['fixedColumnsOnLeft']\n fixedColumnsOnRight: UseColumnsReturn['fixedColumnsOnRight']\n}\n\nexport const useStyles = (\n props: TableV2Props,\n {\n columnsTotalWidth,\n data,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n }: UseStyleProps\n) => {\n const bodyWidth = computed(() => {\n const { fixed, width, vScrollbarSize } = props\n const ret = width - vScrollbarSize\n return fixed ? Math.max(Math.round(unref(columnsTotalWidth)), ret) : ret\n })\n\n const headerWidth = computed(\n () => unref(bodyWidth) + (props.fixed ? props.vScrollbarSize : 0)\n )\n\n const mainTableHeight = computed(() => {\n const { height = 0, maxHeight = 0, footerHeight, hScrollbarSize } = props\n\n if (maxHeight > 0) {\n const _fixedRowsHeight = unref(fixedRowsHeight)\n const _rowsHeight = unref(rowsHeight)\n const _headerHeight = unref(headerHeight)\n const total =\n _headerHeight + _fixedRowsHeight + _rowsHeight + hScrollbarSize\n\n return Math.min(total, maxHeight - footerHeight)\n }\n\n return height - footerHeight\n })\n\n const rowsHeight = computed(() => {\n const { rowHeight, estimatedRowHeight } = props\n const _data = unref(data)\n if (isNumber(estimatedRowHeight)) {\n return _data.length * estimatedRowHeight\n }\n\n return _data.length * rowHeight\n })\n\n const fixedTableHeight = computed(() => {\n const { maxHeight } = props\n const tableHeight = unref(mainTableHeight)\n if (isNumber(maxHeight) && maxHeight > 0) return tableHeight\n\n const totalHeight =\n unref(rowsHeight) + unref(headerHeight) + unref(fixedRowsHeight)\n\n return Math.min(tableHeight, totalHeight)\n })\n\n const mapColumn = (column: TableV2Props['columns'][number]) => column.width\n\n const leftTableWidth = computed(() =>\n sum(unref(fixedColumnsOnLeft).map(mapColumn))\n )\n\n const rightTableWidth = computed(() =>\n sum(unref(fixedColumnsOnRight).map(mapColumn))\n )\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const fixedRowsHeight = computed(() => {\n return (props.fixedData?.length || 0) * props.rowHeight\n })\n\n const windowHeight = computed(() => {\n return unref(mainTableHeight) - unref(headerHeight) - unref(fixedRowsHeight)\n })\n\n const rootStyle = computed<CSSProperties>(() => {\n const { style = {}, height, width } = props\n return enforceUnit({\n ...style,\n height,\n width,\n })\n })\n\n const footerHeight = computed(() =>\n enforceUnit({ height: props.footerHeight })\n )\n\n const emptyStyle = computed<CSSProperties>(() => ({\n top: addUnit(unref(headerHeight)),\n bottom: addUnit(props.footerHeight),\n width: addUnit(props.width),\n }))\n\n return {\n bodyWidth,\n fixedTableHeight,\n mainTableHeight,\n leftTableWidth,\n rightTableWidth,\n headerWidth,\n rowsHeight,\n windowHeight,\n footerHeight,\n emptyStyle,\n rootStyle,\n headerHeight,\n }\n}\n\nexport type UseStyleReturn = ReturnType<typeof useStyles>\n"],"names":["computed","unref","isNumber","sum","enforceUnit","addUnit"],"mappings":"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"}
@@ -10,7 +10,7 @@ var tokens = require('./tokens.js');
10
10
  var grid = require('./grid.js');
11
11
  var utils = require('./utils.js');
12
12
  var shared = require('@vue/shared');
13
- var core = require('@vueuse/core');
13
+ var types = require('../../../utils/types.js');
14
14
  var dynamicSizeGrid = require('../../virtual-list/src/components/dynamic-size-grid.js');
15
15
  var fixedSizeGrid = require('../../virtual-list/src/components/fixed-size-grid.js');
16
16
  var header = require('./components/header.js');
@@ -172,7 +172,7 @@ const TableGrid = vue.defineComponent({
172
172
  getRowHeight,
173
173
  onScroll
174
174
  } = props;
175
- const isDynamicRowEnabled = core.isNumber(estimatedRowHeight);
175
+ const isDynamicRowEnabled = types.isNumber(estimatedRowHeight);
176
176
  const Grid = isDynamicRowEnabled ? dynamicSizeGrid["default"] : fixedSizeGrid["default"];
177
177
  const _headerHeight = vue.unref(headerHeight);
178
178
  return vue.createVNode("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"table-grid.js","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import { computed, defineComponent, inject, ref, unref } from 'vue'\nimport {\n DynamicSizeGrid,\n FixedSizeGrid,\n} from '@element-plus/components/virtual-list'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { Header } from './components'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2GridProps } from './grid'\nimport { sum } from './utils'\n\nimport type { UnwrapRef } from 'vue'\nimport type {\n DynamicSizeGridInstance,\n GridDefaultSlotParams,\n GridItemKeyGetter,\n GridItemRenderedEvtParams,\n GridScrollOptions,\n ResetAfterIndex,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { TableV2HeaderInstance } from './components'\nimport type { TableV2GridProps } from './grid'\n\nconst COMPONENT_NAME = 'ElTableV2Grid'\n\nconst useTableGrid = (props: TableV2GridProps) => {\n const headerRef = ref<TableV2HeaderInstance>()\n const bodyRef = ref<DynamicSizeGridInstance>()\n\n const totalHeight = computed(() => {\n const { data, rowHeight, estimatedRowHeight } = props\n\n if (estimatedRowHeight) {\n return\n }\n\n return data.length * (rowHeight as number)\n })\n\n const fixedRowHeight = computed(() => {\n const { fixedData, rowHeight } = props\n\n return (fixedData?.length || 0) * (rowHeight as number)\n })\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const gridHeight = computed(() => {\n const { height } = props\n return Math.max(0, height - unref(headerHeight) - unref(fixedRowHeight))\n })\n\n const hasHeader = computed(() => {\n return unref(headerHeight) + unref(fixedRowHeight) > 0\n })\n\n const itemKey: GridItemKeyGetter = ({ data, rowIndex }) =>\n data[rowIndex][props.rowKey]\n\n function onItemRendered({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n }: GridItemRenderedEvtParams) {\n props.onRowsRendered?.({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n function resetAfterRowIndex(index: number, forceUpdate: boolean) {\n bodyRef.value?.resetAfterRowIndex(index, forceUpdate)\n }\n\n function scrollTo(x: number, y: number): void\n function scrollTo(options: GridScrollOptions): void\n function scrollTo(leftOrOptions: number | GridScrollOptions, top?: number) {\n const header$ = unref(headerRef)\n const body$ = unref(bodyRef)\n\n if (!header$ || !body$) return\n\n if (isObject(leftOrOptions)) {\n header$.scrollToLeft(leftOrOptions.scrollLeft)\n body$.scrollTo(leftOrOptions)\n } else {\n header$.scrollToLeft(leftOrOptions)\n body$.scrollTo({\n scrollLeft: leftOrOptions,\n scrollTop: top,\n })\n }\n }\n\n function scrollToTop(scrollTop: number) {\n unref(bodyRef)?.scrollTo({\n scrollTop,\n })\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy) {\n unref(bodyRef)?.scrollToItem(row, 1, strategy)\n }\n\n function forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\n }\n\n return {\n bodyRef,\n forceUpdate,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerHeight,\n headerRef,\n totalHeight,\n\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n }\n}\n\nconst TableGrid = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2GridProps,\n setup(props, { slots, expose }) {\n const { ns } = inject(TableV2InjectionKey)!\n\n const {\n bodyRef,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerRef,\n headerHeight,\n totalHeight,\n\n forceUpdate,\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n } = useTableGrid(props)\n\n expose({\n forceUpdate,\n /**\n * @description fetch total height\n */\n totalHeight,\n /**\n * @description scroll to a position\n */\n scrollTo,\n /**\n * @description scroll vertically to position y\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n /**\n * @description reset rendered state after row index\n */\n resetAfterRowIndex,\n })\n\n const getColumnWidth = () => props.bodyWidth\n\n return () => {\n const {\n cache,\n columns,\n data,\n fixedData,\n useIsScrolling,\n scrollbarAlwaysOn,\n scrollbarEndGap,\n scrollbarStartGap,\n style,\n rowHeight,\n bodyWidth,\n estimatedRowHeight,\n headerWidth,\n height,\n width,\n\n getRowHeight,\n onScroll,\n } = props\n\n const isDynamicRowEnabled = isNumber(estimatedRowHeight)\n const Grid = isDynamicRowEnabled ? DynamicSizeGrid : FixedSizeGrid\n const _headerHeight = unref(headerHeight)\n\n return (\n <div role=\"table\" class={[ns.e('table'), props.class]} style={style}>\n <Grid\n ref={bodyRef}\n // special attrs\n data={data}\n useIsScrolling={useIsScrolling}\n itemKey={itemKey}\n // column attrs\n columnCache={0}\n columnWidth={isDynamicRowEnabled ? getColumnWidth : bodyWidth}\n totalColumn={1}\n // row attrs\n totalRow={data.length}\n rowCache={cache}\n rowHeight={isDynamicRowEnabled ? getRowHeight : rowHeight}\n // DOM attrs\n width={width}\n height={unref(gridHeight)}\n class={ns.e('body')}\n role=\"rowgroup\"\n scrollbarStartGap={scrollbarStartGap}\n scrollbarEndGap={scrollbarEndGap}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n // handlers\n onScroll={onScroll}\n onItemRendered={onItemRendered}\n perfMode={false}\n >\n {{\n default: (params: GridDefaultSlotParams) => {\n const rowData = data[params.rowIndex]\n return slots.row?.({\n ...params,\n columns,\n rowData,\n })\n },\n }}\n </Grid>\n {unref(hasHeader) && (\n <Header\n ref={headerRef}\n class={ns.e('header-wrapper')}\n columns={columns}\n headerData={data}\n headerHeight={props.headerHeight}\n fixedHeaderData={fixedData}\n rowWidth={headerWidth}\n rowHeight={rowHeight}\n width={width}\n height={Math.min(_headerHeight + unref(fixedRowHeight), height)}\n >\n {{\n dynamic: slots.header,\n fixed: slots.row,\n }}\n </Header>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableGrid\n\nexport type TableGridRowSlotParams = {\n columns: TableV2GridProps['columns']\n rowData: any\n} & GridDefaultSlotParams\n\nexport type TableGridInstance = InstanceType<typeof TableGrid> &\n UnwrapRef<{\n forceUpdate: () => void\n /**\n * @description fetch total height\n */\n totalHeight: number\n\n /**\n * @description scrollTo a position\n * @param { number | ScrollToOptions } arg1\n * @param { number } arg2\n */\n scrollTo(leftOrOptions: number | GridScrollOptions, top?: number): void\n\n /**\n * @description scroll vertically to position y\n */\n scrollToTop(scrollTop: number): void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy: ScrollStrategy): void\n /**\n * @description reset rendered state after row index\n * @param { number } rowIndex\n * @param { boolean } forceUpdate\n */\n resetAfterRowIndex: ResetAfterIndex\n }>\n"],"names":["COMPONENT_NAME","useTableGrid","props","headerRef","ref","bodyRef","computed","data","rowHeight","estimatedRowHeight","sum","headerHeight","gridHeight","unref","height","Math","max","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","isObject","header$","scrollToLeft","leftOrOptions","scrollLeft","scrollTop","scrollToTop","row","scrollToItem","fixedRowHeight","totalHeight","defineComponent","tableV2GridProps","scrollToRow","TableGrid","name","TableV2InjectionKey","expose","ns","inject","onItemRendered","resetAfterRowIndex","scrollTo","isNumber","DynamicSizeGrid","FixedSizeGrid","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","getRowHeight","onScroll","Grid","isDynamicRowEnabled","_headerHeight","_createVNode","Header"],"mappings":"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"}
1
+ {"version":3,"file":"table-grid.js","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import { computed, defineComponent, inject, ref, unref } from 'vue'\nimport {\n DynamicSizeGrid,\n FixedSizeGrid,\n} from '@element-plus/components/virtual-list'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { Header } from './components'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2GridProps } from './grid'\nimport { sum } from './utils'\n\nimport type { UnwrapRef } from 'vue'\nimport type {\n DynamicSizeGridInstance,\n GridDefaultSlotParams,\n GridItemKeyGetter,\n GridItemRenderedEvtParams,\n GridScrollOptions,\n ResetAfterIndex,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { TableV2HeaderInstance } from './components'\nimport type { TableV2GridProps } from './grid'\n\nconst COMPONENT_NAME = 'ElTableV2Grid'\n\nconst useTableGrid = (props: TableV2GridProps) => {\n const headerRef = ref<TableV2HeaderInstance>()\n const bodyRef = ref<DynamicSizeGridInstance>()\n\n const totalHeight = computed(() => {\n const { data, rowHeight, estimatedRowHeight } = props\n\n if (estimatedRowHeight) {\n return\n }\n\n return data.length * (rowHeight as number)\n })\n\n const fixedRowHeight = computed(() => {\n const { fixedData, rowHeight } = props\n\n return (fixedData?.length || 0) * (rowHeight as number)\n })\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const gridHeight = computed(() => {\n const { height } = props\n return Math.max(0, height - unref(headerHeight) - unref(fixedRowHeight))\n })\n\n const hasHeader = computed(() => {\n return unref(headerHeight) + unref(fixedRowHeight) > 0\n })\n\n const itemKey: GridItemKeyGetter = ({ data, rowIndex }) =>\n data[rowIndex][props.rowKey]\n\n function onItemRendered({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n }: GridItemRenderedEvtParams) {\n props.onRowsRendered?.({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n function resetAfterRowIndex(index: number, forceUpdate: boolean) {\n bodyRef.value?.resetAfterRowIndex(index, forceUpdate)\n }\n\n function scrollTo(x: number, y: number): void\n function scrollTo(options: GridScrollOptions): void\n function scrollTo(leftOrOptions: number | GridScrollOptions, top?: number) {\n const header$ = unref(headerRef)\n const body$ = unref(bodyRef)\n\n if (!header$ || !body$) return\n\n if (isObject(leftOrOptions)) {\n header$.scrollToLeft(leftOrOptions.scrollLeft)\n body$.scrollTo(leftOrOptions)\n } else {\n header$.scrollToLeft(leftOrOptions)\n body$.scrollTo({\n scrollLeft: leftOrOptions,\n scrollTop: top,\n })\n }\n }\n\n function scrollToTop(scrollTop: number) {\n unref(bodyRef)?.scrollTo({\n scrollTop,\n })\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy) {\n unref(bodyRef)?.scrollToItem(row, 1, strategy)\n }\n\n function forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\n }\n\n return {\n bodyRef,\n forceUpdate,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerHeight,\n headerRef,\n totalHeight,\n\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n }\n}\n\nconst TableGrid = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2GridProps,\n setup(props, { slots, expose }) {\n const { ns } = inject(TableV2InjectionKey)!\n\n const {\n bodyRef,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerRef,\n headerHeight,\n totalHeight,\n\n forceUpdate,\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n } = useTableGrid(props)\n\n expose({\n forceUpdate,\n /**\n * @description fetch total height\n */\n totalHeight,\n /**\n * @description scroll to a position\n */\n scrollTo,\n /**\n * @description scroll vertically to position y\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n /**\n * @description reset rendered state after row index\n */\n resetAfterRowIndex,\n })\n\n const getColumnWidth = () => props.bodyWidth\n\n return () => {\n const {\n cache,\n columns,\n data,\n fixedData,\n useIsScrolling,\n scrollbarAlwaysOn,\n scrollbarEndGap,\n scrollbarStartGap,\n style,\n rowHeight,\n bodyWidth,\n estimatedRowHeight,\n headerWidth,\n height,\n width,\n\n getRowHeight,\n onScroll,\n } = props\n\n const isDynamicRowEnabled = isNumber(estimatedRowHeight)\n const Grid = isDynamicRowEnabled ? DynamicSizeGrid : FixedSizeGrid\n const _headerHeight = unref(headerHeight)\n\n return (\n <div role=\"table\" class={[ns.e('table'), props.class]} style={style}>\n <Grid\n ref={bodyRef}\n // special attrs\n data={data}\n useIsScrolling={useIsScrolling}\n itemKey={itemKey}\n // column attrs\n columnCache={0}\n columnWidth={isDynamicRowEnabled ? getColumnWidth : bodyWidth}\n totalColumn={1}\n // row attrs\n totalRow={data.length}\n rowCache={cache}\n rowHeight={isDynamicRowEnabled ? getRowHeight : rowHeight}\n // DOM attrs\n width={width}\n height={unref(gridHeight)}\n class={ns.e('body')}\n role=\"rowgroup\"\n scrollbarStartGap={scrollbarStartGap}\n scrollbarEndGap={scrollbarEndGap}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n // handlers\n onScroll={onScroll}\n onItemRendered={onItemRendered}\n perfMode={false}\n >\n {{\n default: (params: GridDefaultSlotParams) => {\n const rowData = data[params.rowIndex]\n return slots.row?.({\n ...params,\n columns,\n rowData,\n })\n },\n }}\n </Grid>\n {unref(hasHeader) && (\n <Header\n ref={headerRef}\n class={ns.e('header-wrapper')}\n columns={columns}\n headerData={data}\n headerHeight={props.headerHeight}\n fixedHeaderData={fixedData}\n rowWidth={headerWidth}\n rowHeight={rowHeight}\n width={width}\n height={Math.min(_headerHeight + unref(fixedRowHeight), height)}\n >\n {{\n dynamic: slots.header,\n fixed: slots.row,\n }}\n </Header>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableGrid\n\nexport type TableGridRowSlotParams = {\n columns: TableV2GridProps['columns']\n rowData: any\n} & GridDefaultSlotParams\n\nexport type TableGridInstance = InstanceType<typeof TableGrid> &\n UnwrapRef<{\n forceUpdate: () => void\n /**\n * @description fetch total height\n */\n totalHeight: number\n\n /**\n * @description scrollTo a position\n * @param { number | ScrollToOptions } arg1\n * @param { number } arg2\n */\n scrollTo(leftOrOptions: number | GridScrollOptions, top?: number): void\n\n /**\n * @description scroll vertically to position y\n */\n scrollToTop(scrollTop: number): void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy: ScrollStrategy): void\n /**\n * @description reset rendered state after row index\n * @param { number } rowIndex\n * @param { boolean } forceUpdate\n */\n resetAfterRowIndex: ResetAfterIndex\n }>\n"],"names":["COMPONENT_NAME","useTableGrid","props","headerRef","ref","bodyRef","computed","data","rowHeight","estimatedRowHeight","sum","headerHeight","gridHeight","unref","height","Math","max","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","isObject","header$","scrollToLeft","leftOrOptions","scrollLeft","scrollTop","scrollToTop","row","scrollToItem","fixedRowHeight","totalHeight","defineComponent","tableV2GridProps","scrollToRow","TableGrid","name","TableV2InjectionKey","expose","ns","inject","onItemRendered","resetAfterRowIndex","scrollTo","isNumber","DynamicSizeGrid","FixedSizeGrid","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","getRowHeight","onScroll","Grid","isDynamicRowEnabled","_headerHeight","_createVNode","Header"],"mappings":"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"}
@@ -12,11 +12,10 @@ var constants = require('./constants.js');
12
12
  var tabNav = require('./tab-nav.js');
13
13
  var runtime = require('../../../utils/vue/props/runtime.js');
14
14
  var shared = require('@vue/shared');
15
- var core = require('@vueuse/core');
15
+ var types = require('../../../utils/types.js');
16
16
  var event = require('../../../constants/event.js');
17
17
  var index = require('../../../hooks/use-namespace/index.js');
18
18
  var index$1 = require('../../../hooks/use-ordered-children/index.js');
19
- var types = require('../../../utils/types.js');
20
19
  var index$2 = require('../../../hooks/use-deprecated/index.js');
21
20
  var aria = require('../../../constants/aria.js');
22
21
 
@@ -46,7 +45,7 @@ const tabsProps = runtime.buildProps({
46
45
  },
47
46
  stretch: Boolean
48
47
  });
49
- const isPaneName = (value) => shared.isString(value) || core.isNumber(value);
48
+ const isPaneName = (value) => shared.isString(value) || types.isNumber(value);
50
49
  const tabsEmits = {
51
50
  [event.UPDATE_MODEL_EVENT]: (name) => isPaneName(name),
52
51
  tabClick: (pane, ev) => ev instanceof Event,
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sources":["../../../../../../packages/components/tabs/src/tabs.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n nextTick,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport {\n buildProps,\n definePropType,\n isNumber,\n isString,\n isUndefined,\n} from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport {\n useDeprecated,\n useNamespace,\n useOrderedChildren,\n} from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport TabNav from './tab-nav'\n\nimport type { TabNavInstance } from './tab-nav'\nimport type { TabsPaneContext } from './constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type TabPaneName = string | number\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: [String, Number],\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: [String, Number],\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nconst isPaneName = (value: unknown): value is string | number =>\n isString(value) || isNumber(value)\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (name: TabPaneName) => isPaneName(name),\n tabClick: (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n tabChange: (name: TabPaneName) => isPaneName(name),\n edit: (paneName: TabPaneName | undefined, action: 'remove' | 'add') =>\n ['remove', 'add'].includes(action),\n tabRemove: (name: TabPaneName) => isPaneName(name),\n tabAdd: () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nexport type TabsPanes = Record<number, TabsPaneContext>\n\nexport default defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const ns = useNamespace('tabs')\n\n const {\n children: panes,\n addChild: registerPane,\n removeChild: unregisterPane,\n } = useOrderedChildren<TabsPaneContext>(getCurrentInstance()!, 'ElTabPane')\n\n const nav$ = ref<TabNavInstance>()\n const currentName = ref<TabPaneName>(\n props.modelValue ?? props.activeName ?? '0'\n )\n\n const changeCurrentName = (value: TabPaneName) => {\n currentName.value = value\n emit(UPDATE_MODEL_EVENT, value)\n emit('tabChange', value)\n }\n\n const setCurrentName = async (value?: TabPaneName) => {\n // should do nothing.\n if (currentName.value === value || isUndefined(value)) return\n\n try {\n const canLeave = await props.beforeLeave?.(value, currentName.value)\n if (canLeave !== false) {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n }\n } catch {}\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: TabPaneName,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tabClick', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled || isUndefined(pane.props.name)) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tabRemove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', undefined, 'add')\n emit('tabAdd')\n }\n\n useDeprecated(\n {\n from: '\"activeName\"',\n replacement: '\"model-value\" or \"v-model\"',\n scope: 'ElTabs',\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/tabs.html#attributes',\n type: 'Attribute',\n },\n computed(() => !!props.activeName)\n )\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n await nextTick()\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n registerPane,\n unregisterPane,\n })\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n onClick={handleTabAdd}\n onKeydown={(ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) handleTabAdd()\n }}\n >\n <ElIcon class={ns.is('icon-plus')}>\n <Plus />\n </ElIcon>\n </span>\n ) : null\n\n const header = (\n <div class={[ns.e('header'), ns.is(props.tabPosition)]}>\n {newButton}\n <TabNav\n ref={nav$}\n currentName={currentName.value}\n editable={props.editable}\n type={props.type}\n panes={panes.value}\n stretch={props.stretch}\n onTabClick={handleTabClick}\n onTabRemove={handleTabRemove}\n />\n </div>\n )\n\n const panels = (\n <div class={ns.e('content')}>{renderSlot(slots, 'default')}</div>\n )\n\n return (\n <div\n class={[\n ns.b(),\n ns.m(props.tabPosition),\n {\n [ns.m('card')]: props.type === 'card',\n [ns.m('border-card')]: props.type === 'border-card',\n },\n ]}\n >\n {...props.tabPosition !== 'bottom'\n ? [header, panels]\n : [panels, header]}\n </div>\n )\n }\n },\n})\n"],"names":["tabsProps","buildProps","type","String","values","default","activeName","Number","closable","Boolean","addable","modelValue","editable","tabPosition","beforeLeave","definePropType","Function","stretch","tabsEmits","name","tabClick","ev","tabChange","edit","tabRemove","tabAdd","defineComponent","props","emits","slots","expose","children","addChild","getCurrentInstance","removeChild","ref","unregisterPane","nav$","changeCurrentName","value","currentName","emit","UPDATE_MODEL_EVENT","isUndefined","setCurrentName","handleTabClick","event","handleTabRemove","pane","disabled","handleTabAdd","computed","useDeprecated","from","replacement","scope","version","tabsRootContextKey","watch","nextTick","_createVNode","newButton","ns","TabNav","e","renderSlot","panes"],"mappings":"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"}
1
+ {"version":3,"file":"tabs.js","sources":["../../../../../../packages/components/tabs/src/tabs.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n nextTick,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport {\n buildProps,\n definePropType,\n isNumber,\n isString,\n isUndefined,\n} from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport {\n useDeprecated,\n useNamespace,\n useOrderedChildren,\n} from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport TabNav from './tab-nav'\n\nimport type { TabNavInstance } from './tab-nav'\nimport type { TabsPaneContext } from './constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type TabPaneName = string | number\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: [String, Number],\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: [String, Number],\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nconst isPaneName = (value: unknown): value is string | number =>\n isString(value) || isNumber(value)\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (name: TabPaneName) => isPaneName(name),\n tabClick: (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n tabChange: (name: TabPaneName) => isPaneName(name),\n edit: (paneName: TabPaneName | undefined, action: 'remove' | 'add') =>\n ['remove', 'add'].includes(action),\n tabRemove: (name: TabPaneName) => isPaneName(name),\n tabAdd: () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nexport type TabsPanes = Record<number, TabsPaneContext>\n\nexport default defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const ns = useNamespace('tabs')\n\n const {\n children: panes,\n addChild: registerPane,\n removeChild: unregisterPane,\n } = useOrderedChildren<TabsPaneContext>(getCurrentInstance()!, 'ElTabPane')\n\n const nav$ = ref<TabNavInstance>()\n const currentName = ref<TabPaneName>(\n props.modelValue ?? props.activeName ?? '0'\n )\n\n const changeCurrentName = (value: TabPaneName) => {\n currentName.value = value\n emit(UPDATE_MODEL_EVENT, value)\n emit('tabChange', value)\n }\n\n const setCurrentName = async (value?: TabPaneName) => {\n // should do nothing.\n if (currentName.value === value || isUndefined(value)) return\n\n try {\n const canLeave = await props.beforeLeave?.(value, currentName.value)\n if (canLeave !== false) {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n }\n } catch {}\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: TabPaneName,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tabClick', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled || isUndefined(pane.props.name)) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tabRemove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', undefined, 'add')\n emit('tabAdd')\n }\n\n useDeprecated(\n {\n from: '\"activeName\"',\n replacement: '\"model-value\" or \"v-model\"',\n scope: 'ElTabs',\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/tabs.html#attributes',\n type: 'Attribute',\n },\n computed(() => !!props.activeName)\n )\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n await nextTick()\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n registerPane,\n unregisterPane,\n })\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n onClick={handleTabAdd}\n onKeydown={(ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) handleTabAdd()\n }}\n >\n <ElIcon class={ns.is('icon-plus')}>\n <Plus />\n </ElIcon>\n </span>\n ) : null\n\n const header = (\n <div class={[ns.e('header'), ns.is(props.tabPosition)]}>\n {newButton}\n <TabNav\n ref={nav$}\n currentName={currentName.value}\n editable={props.editable}\n type={props.type}\n panes={panes.value}\n stretch={props.stretch}\n onTabClick={handleTabClick}\n onTabRemove={handleTabRemove}\n />\n </div>\n )\n\n const panels = (\n <div class={ns.e('content')}>{renderSlot(slots, 'default')}</div>\n )\n\n return (\n <div\n class={[\n ns.b(),\n ns.m(props.tabPosition),\n {\n [ns.m('card')]: props.type === 'card',\n [ns.m('border-card')]: props.type === 'border-card',\n },\n ]}\n >\n {...props.tabPosition !== 'bottom'\n ? [header, panels]\n : [panels, header]}\n </div>\n )\n }\n },\n})\n"],"names":["tabsProps","buildProps","type","String","values","default","activeName","Number","closable","Boolean","addable","modelValue","editable","tabPosition","beforeLeave","definePropType","Function","stretch","tabsEmits","name","tabClick","ev","tabChange","edit","tabRemove","tabAdd","defineComponent","props","emits","slots","expose","children","addChild","getCurrentInstance","removeChild","ref","unregisterPane","nav$","changeCurrentName","value","currentName","emit","UPDATE_MODEL_EVENT","isUndefined","setCurrentName","handleTabClick","event","handleTabRemove","pane","disabled","handleTabAdd","computed","useDeprecated","from","replacement","scope","version","tabsRootContextKey","watch","nextTick","_createVNode","newButton","ns","TabNav","e","renderSlot","panes"],"mappings":"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"}