element-plus 2.2.28 → 2.2.30

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 (576) hide show
  1. package/README.md +1 -1
  2. package/attributes.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +306 -237
  5. package/dist/index.full.min.js +14 -14
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +20 -20
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +307 -238
  10. package/dist/locale/af.js +1 -1
  11. package/dist/locale/af.min.js +1 -1
  12. package/dist/locale/af.min.mjs +1 -1
  13. package/dist/locale/af.mjs +1 -1
  14. package/dist/locale/ar.js +1 -1
  15. package/dist/locale/ar.min.js +1 -1
  16. package/dist/locale/ar.min.mjs +1 -1
  17. package/dist/locale/ar.mjs +1 -1
  18. package/dist/locale/az.js +1 -1
  19. package/dist/locale/az.min.js +1 -1
  20. package/dist/locale/az.min.mjs +1 -1
  21. package/dist/locale/az.mjs +1 -1
  22. package/dist/locale/bg.js +1 -1
  23. package/dist/locale/bg.min.js +1 -1
  24. package/dist/locale/bg.min.mjs +1 -1
  25. package/dist/locale/bg.mjs +1 -1
  26. package/dist/locale/bn.js +1 -1
  27. package/dist/locale/bn.min.js +1 -1
  28. package/dist/locale/bn.min.mjs +1 -1
  29. package/dist/locale/bn.mjs +1 -1
  30. package/dist/locale/ca.js +1 -1
  31. package/dist/locale/ca.min.js +1 -1
  32. package/dist/locale/ca.min.mjs +1 -1
  33. package/dist/locale/ca.mjs +1 -1
  34. package/dist/locale/ckb.js +1 -1
  35. package/dist/locale/ckb.min.js +1 -1
  36. package/dist/locale/ckb.min.mjs +1 -1
  37. package/dist/locale/ckb.mjs +1 -1
  38. package/dist/locale/cs.js +1 -1
  39. package/dist/locale/cs.min.js +1 -1
  40. package/dist/locale/cs.min.mjs +1 -1
  41. package/dist/locale/cs.mjs +1 -1
  42. package/dist/locale/da.js +1 -1
  43. package/dist/locale/da.min.js +1 -1
  44. package/dist/locale/da.min.mjs +1 -1
  45. package/dist/locale/da.mjs +1 -1
  46. package/dist/locale/de.js +1 -1
  47. package/dist/locale/de.min.js +1 -1
  48. package/dist/locale/de.min.mjs +1 -1
  49. package/dist/locale/de.mjs +1 -1
  50. package/dist/locale/el.js +1 -1
  51. package/dist/locale/el.min.js +1 -1
  52. package/dist/locale/el.min.mjs +1 -1
  53. package/dist/locale/el.mjs +1 -1
  54. package/dist/locale/en.js +1 -1
  55. package/dist/locale/en.min.js +1 -1
  56. package/dist/locale/en.min.mjs +1 -1
  57. package/dist/locale/en.mjs +1 -1
  58. package/dist/locale/eo.js +1 -1
  59. package/dist/locale/eo.min.js +1 -1
  60. package/dist/locale/eo.min.mjs +1 -1
  61. package/dist/locale/eo.mjs +1 -1
  62. package/dist/locale/es.js +1 -1
  63. package/dist/locale/es.min.js +1 -1
  64. package/dist/locale/es.min.mjs +1 -1
  65. package/dist/locale/es.mjs +1 -1
  66. package/dist/locale/et.js +1 -1
  67. package/dist/locale/et.min.js +1 -1
  68. package/dist/locale/et.min.mjs +1 -1
  69. package/dist/locale/et.mjs +1 -1
  70. package/dist/locale/eu.js +1 -1
  71. package/dist/locale/eu.min.js +1 -1
  72. package/dist/locale/eu.min.mjs +1 -1
  73. package/dist/locale/eu.mjs +1 -1
  74. package/dist/locale/fa.js +1 -1
  75. package/dist/locale/fa.min.js +1 -1
  76. package/dist/locale/fa.min.mjs +1 -1
  77. package/dist/locale/fa.mjs +1 -1
  78. package/dist/locale/fi.js +1 -1
  79. package/dist/locale/fi.min.js +1 -1
  80. package/dist/locale/fi.min.mjs +1 -1
  81. package/dist/locale/fi.mjs +1 -1
  82. package/dist/locale/fr.js +1 -1
  83. package/dist/locale/fr.min.js +1 -1
  84. package/dist/locale/fr.min.mjs +1 -1
  85. package/dist/locale/fr.mjs +1 -1
  86. package/dist/locale/he.js +1 -1
  87. package/dist/locale/he.min.js +1 -1
  88. package/dist/locale/he.min.mjs +1 -1
  89. package/dist/locale/he.mjs +1 -1
  90. package/dist/locale/hr.js +1 -1
  91. package/dist/locale/hr.min.js +1 -1
  92. package/dist/locale/hr.min.mjs +1 -1
  93. package/dist/locale/hr.mjs +1 -1
  94. package/dist/locale/hu.js +1 -1
  95. package/dist/locale/hu.min.js +1 -1
  96. package/dist/locale/hu.min.mjs +1 -1
  97. package/dist/locale/hu.mjs +1 -1
  98. package/dist/locale/hy-am.js +1 -1
  99. package/dist/locale/hy-am.min.js +1 -1
  100. package/dist/locale/hy-am.min.mjs +1 -1
  101. package/dist/locale/hy-am.mjs +1 -1
  102. package/dist/locale/id.js +1 -1
  103. package/dist/locale/id.min.js +1 -1
  104. package/dist/locale/id.min.mjs +1 -1
  105. package/dist/locale/id.mjs +1 -1
  106. package/dist/locale/it.js +1 -1
  107. package/dist/locale/it.min.js +1 -1
  108. package/dist/locale/it.min.mjs +1 -1
  109. package/dist/locale/it.mjs +1 -1
  110. package/dist/locale/ja.js +1 -1
  111. package/dist/locale/ja.min.js +1 -1
  112. package/dist/locale/ja.min.mjs +1 -1
  113. package/dist/locale/ja.mjs +1 -1
  114. package/dist/locale/kk.js +1 -1
  115. package/dist/locale/kk.min.js +1 -1
  116. package/dist/locale/kk.min.mjs +1 -1
  117. package/dist/locale/kk.mjs +1 -1
  118. package/dist/locale/km.js +1 -1
  119. package/dist/locale/km.min.js +1 -1
  120. package/dist/locale/km.min.mjs +1 -1
  121. package/dist/locale/km.mjs +1 -1
  122. package/dist/locale/ko.js +1 -1
  123. package/dist/locale/ko.min.js +1 -1
  124. package/dist/locale/ko.min.mjs +1 -1
  125. package/dist/locale/ko.mjs +1 -1
  126. package/dist/locale/ku.js +1 -1
  127. package/dist/locale/ku.min.js +1 -1
  128. package/dist/locale/ku.min.mjs +1 -1
  129. package/dist/locale/ku.mjs +1 -1
  130. package/dist/locale/ky.js +1 -1
  131. package/dist/locale/ky.min.js +1 -1
  132. package/dist/locale/ky.min.mjs +1 -1
  133. package/dist/locale/ky.mjs +1 -1
  134. package/dist/locale/lt.js +1 -1
  135. package/dist/locale/lt.min.js +1 -1
  136. package/dist/locale/lt.min.mjs +1 -1
  137. package/dist/locale/lt.mjs +1 -1
  138. package/dist/locale/lv.js +1 -1
  139. package/dist/locale/lv.min.js +1 -1
  140. package/dist/locale/lv.min.mjs +1 -1
  141. package/dist/locale/lv.mjs +1 -1
  142. package/dist/locale/mg.js +1 -1
  143. package/dist/locale/mg.min.js +1 -1
  144. package/dist/locale/mg.min.mjs +1 -1
  145. package/dist/locale/mg.mjs +1 -1
  146. package/dist/locale/mn.js +1 -1
  147. package/dist/locale/mn.min.js +1 -1
  148. package/dist/locale/mn.min.mjs +1 -1
  149. package/dist/locale/mn.mjs +1 -1
  150. package/dist/locale/nb-no.js +1 -1
  151. package/dist/locale/nb-no.min.js +1 -1
  152. package/dist/locale/nb-no.min.mjs +1 -1
  153. package/dist/locale/nb-no.mjs +1 -1
  154. package/dist/locale/nl.js +1 -1
  155. package/dist/locale/nl.min.js +1 -1
  156. package/dist/locale/nl.min.mjs +1 -1
  157. package/dist/locale/nl.mjs +1 -1
  158. package/dist/locale/pa.js +1 -1
  159. package/dist/locale/pa.min.js +1 -1
  160. package/dist/locale/pa.min.mjs +1 -1
  161. package/dist/locale/pa.mjs +1 -1
  162. package/dist/locale/pl.js +1 -1
  163. package/dist/locale/pl.min.js +1 -1
  164. package/dist/locale/pl.min.mjs +1 -1
  165. package/dist/locale/pl.mjs +1 -1
  166. package/dist/locale/pt-br.js +1 -1
  167. package/dist/locale/pt-br.min.js +1 -1
  168. package/dist/locale/pt-br.min.mjs +1 -1
  169. package/dist/locale/pt-br.mjs +1 -1
  170. package/dist/locale/pt.js +1 -1
  171. package/dist/locale/pt.min.js +1 -1
  172. package/dist/locale/pt.min.mjs +1 -1
  173. package/dist/locale/pt.mjs +1 -1
  174. package/dist/locale/ro.js +1 -1
  175. package/dist/locale/ro.min.js +1 -1
  176. package/dist/locale/ro.min.mjs +1 -1
  177. package/dist/locale/ro.mjs +1 -1
  178. package/dist/locale/ru.js +1 -1
  179. package/dist/locale/ru.min.js +1 -1
  180. package/dist/locale/ru.min.mjs +1 -1
  181. package/dist/locale/ru.mjs +1 -1
  182. package/dist/locale/sk.js +1 -1
  183. package/dist/locale/sk.min.js +1 -1
  184. package/dist/locale/sk.min.mjs +1 -1
  185. package/dist/locale/sk.mjs +1 -1
  186. package/dist/locale/sl.js +1 -1
  187. package/dist/locale/sl.min.js +1 -1
  188. package/dist/locale/sl.min.mjs +1 -1
  189. package/dist/locale/sl.mjs +1 -1
  190. package/dist/locale/sr.js +1 -1
  191. package/dist/locale/sr.min.js +1 -1
  192. package/dist/locale/sr.min.mjs +1 -1
  193. package/dist/locale/sr.mjs +1 -1
  194. package/dist/locale/sv.js +1 -1
  195. package/dist/locale/sv.min.js +1 -1
  196. package/dist/locale/sv.min.mjs +1 -1
  197. package/dist/locale/sv.mjs +1 -1
  198. package/dist/locale/ta.js +1 -1
  199. package/dist/locale/ta.min.js +1 -1
  200. package/dist/locale/ta.min.mjs +1 -1
  201. package/dist/locale/ta.mjs +1 -1
  202. package/dist/locale/th.js +13 -13
  203. package/dist/locale/th.min.js +1 -1
  204. package/dist/locale/th.min.js.map +1 -1
  205. package/dist/locale/th.min.mjs +1 -1
  206. package/dist/locale/th.min.mjs.map +1 -1
  207. package/dist/locale/th.mjs +13 -13
  208. package/dist/locale/tk.js +1 -1
  209. package/dist/locale/tk.min.js +1 -1
  210. package/dist/locale/tk.min.mjs +1 -1
  211. package/dist/locale/tk.mjs +1 -1
  212. package/dist/locale/tr.js +1 -1
  213. package/dist/locale/tr.min.js +1 -1
  214. package/dist/locale/tr.min.mjs +1 -1
  215. package/dist/locale/tr.mjs +1 -1
  216. package/dist/locale/ug-cn.js +1 -1
  217. package/dist/locale/ug-cn.min.js +1 -1
  218. package/dist/locale/ug-cn.min.mjs +1 -1
  219. package/dist/locale/ug-cn.mjs +1 -1
  220. package/dist/locale/uk.js +1 -1
  221. package/dist/locale/uk.min.js +1 -1
  222. package/dist/locale/uk.min.mjs +1 -1
  223. package/dist/locale/uk.mjs +1 -1
  224. package/dist/locale/uz-uz.js +1 -1
  225. package/dist/locale/uz-uz.min.js +1 -1
  226. package/dist/locale/uz-uz.min.mjs +1 -1
  227. package/dist/locale/uz-uz.mjs +1 -1
  228. package/dist/locale/vi.js +1 -1
  229. package/dist/locale/vi.min.js +1 -1
  230. package/dist/locale/vi.min.mjs +1 -1
  231. package/dist/locale/vi.mjs +1 -1
  232. package/dist/locale/zh-cn.js +1 -1
  233. package/dist/locale/zh-cn.min.js +1 -1
  234. package/dist/locale/zh-cn.min.mjs +1 -1
  235. package/dist/locale/zh-cn.mjs +1 -1
  236. package/dist/locale/zh-tw.js +1 -1
  237. package/dist/locale/zh-tw.min.js +1 -1
  238. package/dist/locale/zh-tw.min.mjs +1 -1
  239. package/dist/locale/zh-tw.mjs +1 -1
  240. package/es/components/autocomplete/index.d.ts +93 -120
  241. package/es/components/autocomplete/src/autocomplete.vue.d.ts +93 -120
  242. package/es/components/backtop/src/use-backtop.mjs +2 -20
  243. package/es/components/backtop/src/use-backtop.mjs.map +1 -1
  244. package/es/components/carousel/index.d.ts +1 -1
  245. package/es/components/carousel/src/carousel.vue.d.ts +1 -1
  246. package/es/components/cascader/index.d.ts +186 -240
  247. package/es/components/cascader/src/cascader.mjs +2 -2
  248. package/es/components/cascader/src/cascader.mjs.map +1 -1
  249. package/es/components/cascader/src/cascader.vue.d.ts +93 -120
  250. package/es/components/checkbox/index.d.ts +2 -2
  251. package/es/components/checkbox/src/checkbox-button.mjs +2 -2
  252. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  253. package/es/components/checkbox/src/checkbox-button.vue.d.ts +1 -1
  254. package/es/components/color-picker/index.d.ts +93 -120
  255. package/es/components/color-picker/src/color-picker.vue.d.ts +93 -120
  256. package/es/components/descriptions/src/token.mjs +1 -1
  257. package/es/components/descriptions/src/token.mjs.map +1 -1
  258. package/es/components/dialog/index.d.ts +2 -2
  259. package/es/components/dialog/src/dialog.vue.d.ts +2 -2
  260. package/es/components/dropdown/index.d.ts +62 -80
  261. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  262. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  263. package/es/components/dropdown/src/dropdown-item.mjs +9 -7
  264. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  265. package/es/components/dropdown/src/dropdown-menu.mjs +3 -3
  266. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  267. package/es/components/dropdown/src/dropdown.vue.d.ts +62 -80
  268. package/es/components/focus-trap/src/focus-trap.vue.d.ts +2 -2
  269. package/es/components/form/src/form-item2.mjs +2 -2
  270. package/es/components/form/src/form-item2.mjs.map +1 -1
  271. package/es/components/image/index.d.ts +0 -1
  272. package/es/components/image/src/image.vue.d.ts +0 -1
  273. package/es/components/image-viewer/index.d.ts +0 -1
  274. package/es/components/image-viewer/src/image-viewer.vue.d.ts +0 -1
  275. package/es/components/image-viewer/src/image-viewer2.mjs +6 -15
  276. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  277. package/es/components/infinite-scroll/src/index.mjs +5 -4
  278. package/es/components/infinite-scroll/src/index.mjs.map +1 -1
  279. package/es/components/input/src/input2.mjs +1 -1
  280. package/es/components/input/src/input2.mjs.map +1 -1
  281. package/es/components/message/src/instance.d.ts +1 -0
  282. package/es/components/message/src/instance.mjs +5 -1
  283. package/es/components/message/src/instance.mjs.map +1 -1
  284. package/es/components/message/src/message2.mjs +2 -2
  285. package/es/components/message/src/message2.mjs.map +1 -1
  286. package/es/components/pagination/src/components/sizes.vue.d.ts +62 -80
  287. package/es/components/popconfirm/index.d.ts +93 -120
  288. package/es/components/popconfirm/src/popconfirm.vue.d.ts +93 -120
  289. package/es/components/popover/index.d.ts +93 -120
  290. package/es/components/popover/src/popover.vue.d.ts +93 -120
  291. package/es/components/popper/src/arrow.vue.d.ts +1 -0
  292. package/es/components/popper/src/arrow2.mjs +4 -3
  293. package/es/components/popper/src/arrow2.mjs.map +1 -1
  294. package/es/components/popper/src/composables/index.d.ts +3 -0
  295. package/es/components/popper/src/composables/index.mjs +4 -0
  296. package/es/components/popper/src/composables/index.mjs.map +1 -0
  297. package/es/components/popper/src/composables/use-content-dom.d.ts +40 -0
  298. package/es/components/popper/src/composables/use-content-dom.mjs +45 -0
  299. package/es/components/popper/src/composables/use-content-dom.mjs.map +1 -0
  300. package/es/components/popper/src/composables/use-content.d.ts +77 -0
  301. package/es/components/popper/src/composables/use-content.mjs +69 -0
  302. package/es/components/popper/src/composables/use-content.mjs.map +1 -0
  303. package/es/components/popper/src/composables/use-focus-trap.d.ts +12 -0
  304. package/es/components/popper/src/composables/use-focus-trap.mjs +48 -0
  305. package/es/components/popper/src/composables/use-focus-trap.mjs.map +1 -0
  306. package/es/components/popper/src/content.vue.d.ts +30 -41
  307. package/es/components/popper/src/content2.mjs +52 -126
  308. package/es/components/popper/src/content2.mjs.map +1 -1
  309. package/es/components/popper/src/popper2.mjs +1 -1
  310. package/es/components/popper/src/popper2.mjs.map +1 -1
  311. package/es/components/popper/src/utils.d.ts +3 -7
  312. package/es/components/popper/src/utils.mjs +2 -12
  313. package/es/components/popper/src/utils.mjs.map +1 -1
  314. package/es/components/radio/src/radio-button.mjs.map +1 -1
  315. package/es/components/radio/src/radio-group.mjs.map +1 -1
  316. package/es/components/radio/src/radio.mjs.map +1 -1
  317. package/es/components/rate/index.d.ts +21 -77
  318. package/es/components/rate/src/rate.d.ts +6 -26
  319. package/es/components/rate/src/rate.mjs +7 -17
  320. package/es/components/rate/src/rate.mjs.map +1 -1
  321. package/es/components/rate/src/rate.vue.d.ts +21 -77
  322. package/es/components/rate/src/rate2.mjs +1 -1
  323. package/es/components/rate/src/rate2.mjs.map +1 -1
  324. package/es/components/select/index.d.ts +62 -80
  325. package/es/components/select/src/select.vue.d.ts +62 -80
  326. package/es/components/select/src/token.mjs +2 -2
  327. package/es/components/select/src/token.mjs.map +1 -1
  328. package/es/components/select/src/useSelect.d.ts +62 -80
  329. package/es/components/select/src/useSelect.mjs +2 -2
  330. package/es/components/select/src/useSelect.mjs.map +1 -1
  331. package/es/components/select-v2/index.d.ts +124 -160
  332. package/es/components/select-v2/src/select.vue.d.ts +62 -80
  333. package/es/components/select-v2/src/token.mjs +1 -1
  334. package/es/components/select-v2/src/token.mjs.map +1 -1
  335. package/es/components/select-v2/src/useSelect.d.ts +62 -80
  336. package/es/components/slider/index.d.ts +155 -200
  337. package/es/components/slider/src/button.vue.d.ts +31 -40
  338. package/es/components/slider/src/composables/use-slide.d.ts +124 -160
  339. package/es/components/slider/src/slider.vue.d.ts +155 -200
  340. package/es/components/table/index.d.ts +12 -2
  341. package/es/components/table/src/filter-panel.vue.d.ts +62 -80
  342. package/es/components/table/src/store/index.mjs +15 -2
  343. package/es/components/table/src/store/index.mjs.map +1 -1
  344. package/es/components/table/src/store/watcher.mjs +2 -0
  345. package/es/components/table/src/store/watcher.mjs.map +1 -1
  346. package/es/components/table/src/table/defaults.d.ts +8 -2
  347. package/es/components/table/src/table/defaults.mjs +4 -1
  348. package/es/components/table/src/table/defaults.mjs.map +1 -1
  349. package/es/components/table/src/table/key-render-helper.d.ts +2 -0
  350. package/es/components/table/src/table/key-render-helper.mjs +25 -0
  351. package/es/components/table/src/table/key-render-helper.mjs.map +1 -0
  352. package/es/components/table/src/table-column/index.mjs +4 -3
  353. package/es/components/table/src/table-column/index.mjs.map +1 -1
  354. package/es/components/table/src/table-column/render-helper.d.ts +1 -0
  355. package/es/components/table/src/table-column/render-helper.mjs +5 -1
  356. package/es/components/table/src/table-column/render-helper.mjs.map +1 -1
  357. package/es/components/table/src/table.mjs +2 -0
  358. package/es/components/table/src/table.mjs.map +1 -1
  359. package/es/components/table/src/table.vue.d.ts +12 -2
  360. package/es/components/tabs/src/tab-nav.mjs +3 -4
  361. package/es/components/tabs/src/tab-nav.mjs.map +1 -1
  362. package/es/components/time-picker/src/common/picker.vue.d.ts +93 -120
  363. package/es/components/time-select/index.d.ts +248 -320
  364. package/es/components/time-select/src/time-select.vue.d.ts +124 -160
  365. package/es/components/tooltip/index.d.ts +31 -40
  366. package/es/components/tooltip/src/content.vue.d.ts +30 -40
  367. package/es/components/tooltip/src/tooltip.vue.d.ts +31 -40
  368. package/es/components/tooltip-v2/index.d.ts +4 -4
  369. package/es/components/tooltip-v2/src/tooltip.vue.d.ts +4 -4
  370. package/es/components/transfer/index.d.ts +5 -5
  371. package/es/components/transfer/src/transfer-panel.vue.d.ts +1 -1
  372. package/es/components/transfer/src/transfer.vue.d.ts +5 -5
  373. package/es/components/tree/index.d.ts +10 -10
  374. package/es/components/tree/src/model/tree-store.d.ts +3 -3
  375. package/es/components/tree/src/model/tree-store.mjs.map +1 -1
  376. package/es/components/tree/src/tree.mjs.map +1 -1
  377. package/es/components/tree/src/tree.vue.d.ts +5 -5
  378. package/es/components/tree-select/src/tree.mjs +4 -0
  379. package/es/components/tree-select/src/tree.mjs.map +1 -1
  380. package/es/components/tree-v2/index.d.ts +1 -1
  381. package/es/components/tree-v2/src/tree-node.vue.d.ts +1 -1
  382. package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
  383. package/es/components/virtual-list/src/builders/build-grid.mjs +2 -2
  384. package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
  385. package/es/components/virtual-list/src/hooks/use-grid-wheel.mjs +3 -6
  386. package/es/components/virtual-list/src/hooks/use-grid-wheel.mjs.map +1 -1
  387. package/es/hooks/use-popper/index.d.ts +60 -2
  388. package/es/hooks/use-popper/index.mjs +2 -2
  389. package/es/hooks/use-popper/index.mjs.map +1 -1
  390. package/es/locale/lang/th.mjs +12 -12
  391. package/es/locale/lang/th.mjs.map +1 -1
  392. package/es/tokens/popper.d.ts +2 -1
  393. package/es/tokens/popper.mjs.map +1 -1
  394. package/es/utils/index.d.ts +0 -1
  395. package/es/utils/index.mjs +0 -1
  396. package/es/utils/index.mjs.map +1 -1
  397. package/es/version.d.ts +1 -1
  398. package/es/version.mjs +1 -1
  399. package/es/version.mjs.map +1 -1
  400. package/lib/components/autocomplete/index.d.ts +93 -120
  401. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +93 -120
  402. package/lib/components/backtop/src/use-backtop.js +2 -20
  403. package/lib/components/backtop/src/use-backtop.js.map +1 -1
  404. package/lib/components/carousel/index.d.ts +1 -1
  405. package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
  406. package/lib/components/cascader/index.d.ts +186 -240
  407. package/lib/components/cascader/src/cascader.js +2 -2
  408. package/lib/components/cascader/src/cascader.js.map +1 -1
  409. package/lib/components/cascader/src/cascader.vue.d.ts +93 -120
  410. package/lib/components/checkbox/index.d.ts +2 -2
  411. package/lib/components/checkbox/src/checkbox-button.js +2 -2
  412. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  413. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +1 -1
  414. package/lib/components/color-picker/index.d.ts +93 -120
  415. package/lib/components/color-picker/src/color-picker.vue.d.ts +93 -120
  416. package/lib/components/descriptions/src/token.js +1 -1
  417. package/lib/components/descriptions/src/token.js.map +1 -1
  418. package/lib/components/dialog/index.d.ts +2 -2
  419. package/lib/components/dialog/src/dialog.vue.d.ts +2 -2
  420. package/lib/components/dropdown/index.d.ts +62 -80
  421. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  422. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  423. package/lib/components/dropdown/src/dropdown-item.js +9 -7
  424. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  425. package/lib/components/dropdown/src/dropdown-menu.js +2 -2
  426. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  427. package/lib/components/dropdown/src/dropdown.vue.d.ts +62 -80
  428. package/lib/components/focus-trap/src/focus-trap.vue.d.ts +2 -2
  429. package/lib/components/form/src/form-item2.js +1 -1
  430. package/lib/components/form/src/form-item2.js.map +1 -1
  431. package/lib/components/image/index.d.ts +0 -1
  432. package/lib/components/image/src/image.vue.d.ts +0 -1
  433. package/lib/components/image-viewer/index.d.ts +0 -1
  434. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +0 -1
  435. package/lib/components/image-viewer/src/image-viewer2.js +6 -15
  436. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  437. package/lib/components/infinite-scroll/src/index.js +5 -4
  438. package/lib/components/infinite-scroll/src/index.js.map +1 -1
  439. package/lib/components/input/src/input2.js +1 -1
  440. package/lib/components/input/src/input2.js.map +1 -1
  441. package/lib/components/message/src/instance.d.ts +1 -0
  442. package/lib/components/message/src/instance.js +5 -0
  443. package/lib/components/message/src/instance.js.map +1 -1
  444. package/lib/components/message/src/message2.js +1 -1
  445. package/lib/components/message/src/message2.js.map +1 -1
  446. package/lib/components/pagination/src/components/sizes.vue.d.ts +62 -80
  447. package/lib/components/popconfirm/index.d.ts +93 -120
  448. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +93 -120
  449. package/lib/components/popover/index.d.ts +93 -120
  450. package/lib/components/popover/src/popover.vue.d.ts +93 -120
  451. package/lib/components/popper/src/arrow.vue.d.ts +1 -0
  452. package/lib/components/popper/src/arrow2.js +3 -2
  453. package/lib/components/popper/src/arrow2.js.map +1 -1
  454. package/lib/components/popper/src/composables/index.d.ts +3 -0
  455. package/lib/components/popper/src/composables/index.js +14 -0
  456. package/lib/components/popper/src/composables/index.js.map +1 -0
  457. package/lib/components/popper/src/composables/use-content-dom.d.ts +40 -0
  458. package/lib/components/popper/src/composables/use-content-dom.js +49 -0
  459. package/lib/components/popper/src/composables/use-content-dom.js.map +1 -0
  460. package/lib/components/popper/src/composables/use-content.d.ts +77 -0
  461. package/lib/components/popper/src/composables/use-content.js +73 -0
  462. package/lib/components/popper/src/composables/use-content.js.map +1 -0
  463. package/lib/components/popper/src/composables/use-focus-trap.d.ts +12 -0
  464. package/lib/components/popper/src/composables/use-focus-trap.js +52 -0
  465. package/lib/components/popper/src/composables/use-focus-trap.js.map +1 -0
  466. package/lib/components/popper/src/content.vue.d.ts +30 -41
  467. package/lib/components/popper/src/content2.js +51 -125
  468. package/lib/components/popper/src/content2.js.map +1 -1
  469. package/lib/components/popper/src/popper2.js +1 -1
  470. package/lib/components/popper/src/popper2.js.map +1 -1
  471. package/lib/components/popper/src/utils.d.ts +3 -7
  472. package/lib/components/popper/src/utils.js +2 -12
  473. package/lib/components/popper/src/utils.js.map +1 -1
  474. package/lib/components/radio/src/radio-button.js.map +1 -1
  475. package/lib/components/radio/src/radio-group.js.map +1 -1
  476. package/lib/components/radio/src/radio.js.map +1 -1
  477. package/lib/components/rate/index.d.ts +21 -77
  478. package/lib/components/rate/src/rate.d.ts +6 -26
  479. package/lib/components/rate/src/rate.js +7 -17
  480. package/lib/components/rate/src/rate.js.map +1 -1
  481. package/lib/components/rate/src/rate.vue.d.ts +21 -77
  482. package/lib/components/rate/src/rate2.js +1 -1
  483. package/lib/components/rate/src/rate2.js.map +1 -1
  484. package/lib/components/select/index.d.ts +62 -80
  485. package/lib/components/select/src/select.vue.d.ts +62 -80
  486. package/lib/components/select/src/token.js +2 -2
  487. package/lib/components/select/src/token.js.map +1 -1
  488. package/lib/components/select/src/useSelect.d.ts +62 -80
  489. package/lib/components/select/src/useSelect.js +2 -2
  490. package/lib/components/select/src/useSelect.js.map +1 -1
  491. package/lib/components/select-v2/index.d.ts +124 -160
  492. package/lib/components/select-v2/src/select.vue.d.ts +62 -80
  493. package/lib/components/select-v2/src/token.js +1 -1
  494. package/lib/components/select-v2/src/token.js.map +1 -1
  495. package/lib/components/select-v2/src/useSelect.d.ts +62 -80
  496. package/lib/components/slider/index.d.ts +155 -200
  497. package/lib/components/slider/src/button.vue.d.ts +31 -40
  498. package/lib/components/slider/src/composables/use-slide.d.ts +124 -160
  499. package/lib/components/slider/src/slider.vue.d.ts +155 -200
  500. package/lib/components/table/index.d.ts +12 -2
  501. package/lib/components/table/src/filter-panel.vue.d.ts +62 -80
  502. package/lib/components/table/src/store/index.js +15 -2
  503. package/lib/components/table/src/store/index.js.map +1 -1
  504. package/lib/components/table/src/store/watcher.js +2 -0
  505. package/lib/components/table/src/store/watcher.js.map +1 -1
  506. package/lib/components/table/src/table/defaults.d.ts +8 -2
  507. package/lib/components/table/src/table/defaults.js +4 -1
  508. package/lib/components/table/src/table/defaults.js.map +1 -1
  509. package/lib/components/table/src/table/key-render-helper.d.ts +2 -0
  510. package/lib/components/table/src/table/key-render-helper.js +29 -0
  511. package/lib/components/table/src/table/key-render-helper.js.map +1 -0
  512. package/lib/components/table/src/table-column/index.js +4 -3
  513. package/lib/components/table/src/table-column/index.js.map +1 -1
  514. package/lib/components/table/src/table-column/render-helper.d.ts +1 -0
  515. package/lib/components/table/src/table-column/render-helper.js +5 -1
  516. package/lib/components/table/src/table-column/render-helper.js.map +1 -1
  517. package/lib/components/table/src/table.js +2 -0
  518. package/lib/components/table/src/table.js.map +1 -1
  519. package/lib/components/table/src/table.vue.d.ts +12 -2
  520. package/lib/components/tabs/src/tab-nav.js +3 -4
  521. package/lib/components/tabs/src/tab-nav.js.map +1 -1
  522. package/lib/components/time-picker/src/common/picker.vue.d.ts +93 -120
  523. package/lib/components/time-select/index.d.ts +248 -320
  524. package/lib/components/time-select/src/time-select.vue.d.ts +124 -160
  525. package/lib/components/tooltip/index.d.ts +31 -40
  526. package/lib/components/tooltip/src/content.vue.d.ts +30 -40
  527. package/lib/components/tooltip/src/tooltip.vue.d.ts +31 -40
  528. package/lib/components/tooltip-v2/index.d.ts +4 -4
  529. package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +4 -4
  530. package/lib/components/transfer/index.d.ts +5 -5
  531. package/lib/components/transfer/src/transfer-panel.vue.d.ts +1 -1
  532. package/lib/components/transfer/src/transfer.vue.d.ts +5 -5
  533. package/lib/components/tree/index.d.ts +10 -10
  534. package/lib/components/tree/src/model/tree-store.d.ts +3 -3
  535. package/lib/components/tree/src/model/tree-store.js.map +1 -1
  536. package/lib/components/tree/src/tree.js.map +1 -1
  537. package/lib/components/tree/src/tree.vue.d.ts +5 -5
  538. package/lib/components/tree-select/src/tree.js +4 -0
  539. package/lib/components/tree-select/src/tree.js.map +1 -1
  540. package/lib/components/tree-v2/index.d.ts +1 -1
  541. package/lib/components/tree-v2/src/tree-node.vue.d.ts +1 -1
  542. package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
  543. package/lib/components/virtual-list/src/builders/build-grid.js +2 -2
  544. package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
  545. package/lib/components/virtual-list/src/hooks/use-grid-wheel.js +3 -6
  546. package/lib/components/virtual-list/src/hooks/use-grid-wheel.js.map +1 -1
  547. package/lib/hooks/use-popper/index.d.ts +60 -2
  548. package/lib/hooks/use-popper/index.js +2 -2
  549. package/lib/hooks/use-popper/index.js.map +1 -1
  550. package/lib/locale/lang/th.js +12 -12
  551. package/lib/locale/lang/th.js.map +1 -1
  552. package/lib/tokens/popper.d.ts +2 -1
  553. package/lib/tokens/popper.js.map +1 -1
  554. package/lib/utils/index.d.ts +0 -1
  555. package/lib/utils/index.js +0 -3
  556. package/lib/utils/index.js.map +1 -1
  557. package/lib/version.d.ts +1 -1
  558. package/lib/version.js +1 -1
  559. package/lib/version.js.map +1 -1
  560. package/package.json +2 -2
  561. package/tags.json +1 -1
  562. package/theme-chalk/el-badge.css +1 -1
  563. package/theme-chalk/el-dialog.css +1 -1
  564. package/theme-chalk/el-table.css +1 -1
  565. package/theme-chalk/index.css +1 -1
  566. package/theme-chalk/src/badge.scss +2 -0
  567. package/theme-chalk/src/dialog.scss +0 -2
  568. package/theme-chalk/src/menu.scss +4 -1
  569. package/theme-chalk/src/table.scss +1 -1
  570. package/web-types.json +1 -1
  571. package/es/utils/animation.d.ts +0 -2
  572. package/es/utils/animation.mjs +0 -7
  573. package/es/utils/animation.mjs.map +0 -1
  574. package/lib/utils/animation.d.ts +0 -2
  575. package/lib/utils/animation.js +0 -12
  576. package/lib/utils/animation.js.map +0 -1
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+
7
+ function useKeyRender(table) {
8
+ const observer = vue.ref();
9
+ const initWatchDom = () => {
10
+ const el = table.vnode.el;
11
+ const columnsWrapper = el.querySelector(".hidden-columns");
12
+ const config = { childList: true, subtree: true };
13
+ const updateOrderFns = table.store.states.updateOrderFns;
14
+ observer.value = new MutationObserver(() => {
15
+ updateOrderFns.forEach((fn) => fn());
16
+ });
17
+ observer.value.observe(columnsWrapper, config);
18
+ };
19
+ vue.onMounted(() => {
20
+ initWatchDom();
21
+ });
22
+ vue.onUnmounted(() => {
23
+ var _a;
24
+ (_a = observer.value) == null ? void 0 : _a.disconnect();
25
+ });
26
+ }
27
+
28
+ exports["default"] = useKeyRender;
29
+ //# sourceMappingURL=key-render-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-render-helper.js","sources":["../../../../../../../packages/components/table/src/table/key-render-helper.ts"],"sourcesContent":["import { onMounted, onUnmounted, ref } from 'vue'\nimport type { Table } from './defaults'\n\nexport default function useKeyRender(table: Table<[]>) {\n const observer = ref<MutationObserver>()\n\n const initWatchDom = () => {\n const el = table.vnode.el\n const columnsWrapper = (el as HTMLElement).querySelector('.hidden-columns')\n const config = { childList: true, subtree: true }\n const updateOrderFns = table.store.states.updateOrderFns\n observer.value = new MutationObserver(() => {\n updateOrderFns.forEach((fn: () => void) => fn())\n })\n\n observer.value.observe(columnsWrapper!, config)\n }\n\n onMounted(() => {\n // fix https://github.com/element-plus/element-plus/issues/8528\n initWatchDom()\n })\n\n onUnmounted(() => {\n observer.value?.disconnect()\n })\n}\n"],"names":["ref","onMounted","onUnmounted"],"mappings":";;;;;;AACe,SAAS,YAAY,CAAC,KAAK,EAAE;AAC5C,EAAE,MAAM,QAAQ,GAAGA,OAAG,EAAE,CAAC;AACzB,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AAC9B,IAAI,MAAM,cAAc,GAAG,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAC/D,IAAI,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACtD,IAAI,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;AAC7D,IAAI,QAAQ,CAAC,KAAK,GAAG,IAAI,gBAAgB,CAAC,MAAM;AAChD,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AAC3C,KAAK,CAAC,CAAC;AACP,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACnD,GAAG,CAAC;AACJ,EAAEC,aAAS,CAAC,MAAM;AAClB,IAAI,YAAY,EAAE,CAAC;AACnB,GAAG,CAAC,CAAC;AACL,EAAEC,eAAW,CAAC,MAAM;AACpB,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;AAC7D,GAAG,CAAC,CAAC;AACL;;;;"}
@@ -40,7 +40,8 @@ var ElTableColumn = vue.defineComponent({
40
40
  setColumnRenders,
41
41
  getPropsData,
42
42
  getColumnElIndex,
43
- realAlign
43
+ realAlign,
44
+ updateColumnOrder
44
45
  } = renderHelper["default"](props, slots, owner);
45
46
  const parent = columnOrTableParent.value;
46
47
  columnId.value = `${parent.tableId || parent.columnId}_column_${columnIdSeed++}`;
@@ -102,10 +103,10 @@ var ElTableColumn = vue.defineComponent({
102
103
  const getColumnIndex = () => getColumnElIndex(children || [], instance.vnode.el);
103
104
  columnConfig.value.getColumnIndex = getColumnIndex;
104
105
  const columnIndex = getColumnIndex();
105
- columnIndex > -1 && owner.value.store.commit("insertColumn", columnConfig.value, isSubColumn.value ? parent2.columnConfig.value : null);
106
+ columnIndex > -1 && owner.value.store.commit("insertColumn", columnConfig.value, isSubColumn.value ? parent2.columnConfig.value : null, updateColumnOrder);
106
107
  });
107
108
  vue.onBeforeUnmount(() => {
108
- owner.value.store.commit("removeColumn", columnConfig.value, isSubColumn.value ? parent.columnConfig.value : null);
109
+ owner.value.store.commit("removeColumn", columnConfig.value, isSubColumn.value ? parent.columnConfig.value : null, updateColumnOrder);
109
110
  });
110
111
  instance.columnId = columnId.value;
111
112
  instance.columnConfig = columnConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../packages/components/table/src/table-column/index.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n onBeforeMount,\n onBeforeUnmount,\n onMounted,\n ref,\n} from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { isString } from '@element-plus/utils'\nimport { cellStarts } from '../config'\nimport { compose, mergeOptions } from '../util'\nimport useWatcher from './watcher-helper'\nimport useRender from './render-helper'\nimport defaultProps from './defaults'\nimport type { TableColumn, TableColumnCtx } from './defaults'\n\nimport type { DefaultRow } from '../table/defaults'\n\nlet columnIdSeed = 1\n\nexport default defineComponent({\n name: 'ElTableColumn',\n components: {\n ElCheckbox,\n },\n props: defaultProps,\n setup(props, { slots }) {\n const instance = getCurrentInstance() as TableColumn<DefaultRow>\n const columnConfig = ref<Partial<TableColumnCtx<DefaultRow>>>({})\n const owner = computed(() => {\n let parent = instance.parent as any\n while (parent && !parent.tableId) {\n parent = parent.parent\n }\n return parent\n })\n\n const { registerNormalWatchers, registerComplexWatchers } = useWatcher(\n owner,\n props\n )\n const {\n columnId,\n isSubColumn,\n realHeaderAlign,\n columnOrTableParent,\n setColumnWidth,\n setColumnForcedProps,\n setColumnRenders,\n getPropsData,\n getColumnElIndex,\n realAlign,\n } = useRender(props as unknown as TableColumnCtx<unknown>, slots, owner)\n\n const parent = columnOrTableParent.value\n columnId.value = `${\n parent.tableId || parent.columnId\n }_column_${columnIdSeed++}`\n onBeforeMount(() => {\n isSubColumn.value = owner.value !== parent\n\n const type = props.type || 'default'\n const sortable = props.sortable === '' ? true : props.sortable\n const defaults = {\n ...cellStarts[type],\n id: columnId.value,\n type,\n property: props.prop || props.property,\n align: realAlign,\n headerAlign: realHeaderAlign,\n showOverflowTooltip: props.showOverflowTooltip,\n // filter 相关属性\n filterable: props.filters || props.filterMethod,\n filteredValue: [],\n filterPlacement: '',\n isColumnGroup: false,\n isSubColumn: false,\n filterOpened: false,\n // sort 相关属性\n sortable,\n // index 列\n index: props.index,\n // <el-table-column key=\"xxx\" />\n rawColumnKey: instance.vnode.key,\n }\n\n const basicProps = [\n 'columnKey',\n 'label',\n 'className',\n 'labelClassName',\n 'type',\n 'renderHeader',\n 'formatter',\n 'fixed',\n 'resizable',\n ]\n const sortProps = ['sortMethod', 'sortBy', 'sortOrders']\n const selectProps = ['selectable', 'reserveSelection']\n const filterProps = [\n 'filterMethod',\n 'filters',\n 'filterMultiple',\n 'filterOpened',\n 'filteredValue',\n 'filterPlacement',\n ]\n\n let column = getPropsData(basicProps, sortProps, selectProps, filterProps)\n\n column = mergeOptions(defaults, column)\n // 注意 compose 中函数执行的顺序是从右到左\n const chains = compose(\n setColumnRenders,\n setColumnWidth,\n setColumnForcedProps\n )\n column = chains(column)\n columnConfig.value = column\n\n // 注册 watcher\n registerNormalWatchers()\n registerComplexWatchers()\n })\n onMounted(() => {\n const parent = columnOrTableParent.value\n const children = isSubColumn.value\n ? parent.vnode.el.children\n : parent.refs.hiddenColumns?.children\n const getColumnIndex = () =>\n getColumnElIndex(children || [], instance.vnode.el)\n columnConfig.value.getColumnIndex = getColumnIndex\n const columnIndex = getColumnIndex()\n columnIndex > -1 &&\n owner.value.store.commit(\n 'insertColumn',\n columnConfig.value,\n isSubColumn.value ? parent.columnConfig.value : null\n )\n })\n onBeforeUnmount(() => {\n owner.value.store.commit(\n 'removeColumn',\n columnConfig.value,\n isSubColumn.value ? parent.columnConfig.value : null\n )\n })\n instance.columnId = columnId.value\n\n instance.columnConfig = columnConfig\n return\n },\n render() {\n try {\n const renderDefault = this.$slots.default?.({\n row: {},\n column: {},\n $index: -1,\n })\n const children = []\n if (Array.isArray(renderDefault)) {\n for (const childNode of renderDefault) {\n if (\n childNode.type?.name === 'ElTableColumn' ||\n childNode.shapeFlag & 2\n ) {\n children.push(childNode)\n } else if (\n childNode.type === Fragment &&\n Array.isArray(childNode.children)\n ) {\n childNode.children.forEach((vnode) => {\n // No rendering when vnode is dynamic slot or text\n if (vnode?.patchFlag !== 1024 && !isString(vnode?.children)) {\n children.push(vnode)\n }\n })\n }\n }\n }\n const vnode = h('div', children)\n return vnode\n } catch {\n return h('div', [])\n }\n },\n})\n"],"names":["defineComponent","ElCheckbox","defaultProps","getCurrentInstance","ref","computed","useWatcher","useRender","onBeforeMount","cellStarts","mergeOptions","compose","onMounted","onBeforeUnmount","Fragment","isString","h"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../packages/components/table/src/table-column/index.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n onBeforeMount,\n onBeforeUnmount,\n onMounted,\n ref,\n} from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { isString } from '@element-plus/utils'\nimport { cellStarts } from '../config'\nimport { compose, mergeOptions } from '../util'\nimport useWatcher from './watcher-helper'\nimport useRender from './render-helper'\nimport defaultProps from './defaults'\nimport type { TableColumn, TableColumnCtx } from './defaults'\n\nimport type { DefaultRow } from '../table/defaults'\n\nlet columnIdSeed = 1\n\nexport default defineComponent({\n name: 'ElTableColumn',\n components: {\n ElCheckbox,\n },\n props: defaultProps,\n setup(props, { slots }) {\n const instance = getCurrentInstance() as TableColumn<DefaultRow>\n const columnConfig = ref<Partial<TableColumnCtx<DefaultRow>>>({})\n const owner = computed(() => {\n let parent = instance.parent as any\n while (parent && !parent.tableId) {\n parent = parent.parent\n }\n return parent\n })\n\n const { registerNormalWatchers, registerComplexWatchers } = useWatcher(\n owner,\n props\n )\n const {\n columnId,\n isSubColumn,\n realHeaderAlign,\n columnOrTableParent,\n setColumnWidth,\n setColumnForcedProps,\n setColumnRenders,\n getPropsData,\n getColumnElIndex,\n realAlign,\n updateColumnOrder,\n } = useRender(props as unknown as TableColumnCtx<unknown>, slots, owner)\n\n const parent = columnOrTableParent.value\n columnId.value = `${\n parent.tableId || parent.columnId\n }_column_${columnIdSeed++}`\n onBeforeMount(() => {\n isSubColumn.value = owner.value !== parent\n\n const type = props.type || 'default'\n const sortable = props.sortable === '' ? true : props.sortable\n const defaults = {\n ...cellStarts[type],\n id: columnId.value,\n type,\n property: props.prop || props.property,\n align: realAlign,\n headerAlign: realHeaderAlign,\n showOverflowTooltip: props.showOverflowTooltip,\n // filter 相关属性\n filterable: props.filters || props.filterMethod,\n filteredValue: [],\n filterPlacement: '',\n isColumnGroup: false,\n isSubColumn: false,\n filterOpened: false,\n // sort 相关属性\n sortable,\n // index 列\n index: props.index,\n // <el-table-column key=\"xxx\" />\n rawColumnKey: instance.vnode.key,\n }\n\n const basicProps = [\n 'columnKey',\n 'label',\n 'className',\n 'labelClassName',\n 'type',\n 'renderHeader',\n 'formatter',\n 'fixed',\n 'resizable',\n ]\n const sortProps = ['sortMethod', 'sortBy', 'sortOrders']\n const selectProps = ['selectable', 'reserveSelection']\n const filterProps = [\n 'filterMethod',\n 'filters',\n 'filterMultiple',\n 'filterOpened',\n 'filteredValue',\n 'filterPlacement',\n ]\n\n let column = getPropsData(basicProps, sortProps, selectProps, filterProps)\n\n column = mergeOptions(defaults, column)\n // 注意 compose 中函数执行的顺序是从右到左\n const chains = compose(\n setColumnRenders,\n setColumnWidth,\n setColumnForcedProps\n )\n column = chains(column)\n columnConfig.value = column\n\n // 注册 watcher\n registerNormalWatchers()\n registerComplexWatchers()\n })\n onMounted(() => {\n const parent = columnOrTableParent.value\n const children = isSubColumn.value\n ? parent.vnode.el.children\n : parent.refs.hiddenColumns?.children\n const getColumnIndex = () =>\n getColumnElIndex(children || [], instance.vnode.el)\n columnConfig.value.getColumnIndex = getColumnIndex\n const columnIndex = getColumnIndex()\n columnIndex > -1 &&\n owner.value.store.commit(\n 'insertColumn',\n columnConfig.value,\n isSubColumn.value ? parent.columnConfig.value : null,\n updateColumnOrder\n )\n })\n onBeforeUnmount(() => {\n owner.value.store.commit(\n 'removeColumn',\n columnConfig.value,\n isSubColumn.value ? parent.columnConfig.value : null,\n updateColumnOrder\n )\n })\n instance.columnId = columnId.value\n\n instance.columnConfig = columnConfig\n return\n },\n render() {\n try {\n const renderDefault = this.$slots.default?.({\n row: {},\n column: {},\n $index: -1,\n })\n const children = []\n if (Array.isArray(renderDefault)) {\n for (const childNode of renderDefault) {\n if (\n childNode.type?.name === 'ElTableColumn' ||\n childNode.shapeFlag & 2\n ) {\n children.push(childNode)\n } else if (\n childNode.type === Fragment &&\n Array.isArray(childNode.children)\n ) {\n childNode.children.forEach((vnode) => {\n // No rendering when vnode is dynamic slot or text\n if (vnode?.patchFlag !== 1024 && !isString(vnode?.children)) {\n children.push(vnode)\n }\n })\n }\n }\n }\n const vnode = h('div', children)\n return vnode\n } catch {\n return h('div', [])\n }\n },\n})\n"],"names":["defineComponent","ElCheckbox","defaultProps","getCurrentInstance","ref","computed","useWatcher","useRender","onBeforeMount","cellStarts","mergeOptions","compose","onMounted","onBeforeUnmount","Fragment","isString","h"],"mappings":"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"}
@@ -11,5 +11,6 @@ declare function useRender<T>(props: TableColumnCtx<T>, slots: any, owner: Compu
11
11
  setColumnRenders: (column: TableColumnCtx<T>) => TableColumnCtx<T>;
12
12
  getPropsData: (...propsKey: unknown[]) => unknown;
13
13
  getColumnElIndex: (children: any, child: any) => number;
14
+ updateColumnOrder: () => void;
14
15
  };
15
16
  export default useRender;
@@ -145,6 +145,9 @@ function useRender(props, slots, owner) {
145
145
  const getColumnElIndex = (children, child) => {
146
146
  return Array.prototype.indexOf.call(children, child);
147
147
  };
148
+ const updateColumnOrder = () => {
149
+ owner.value.store.commit("updateColumnOrder", instance.columnConfig.value);
150
+ };
148
151
  return {
149
152
  columnId,
150
153
  realAlign,
@@ -155,7 +158,8 @@ function useRender(props, slots, owner) {
155
158
  setColumnForcedProps,
156
159
  setColumnRenders,
157
160
  getPropsData,
158
- getColumnElIndex
161
+ getColumnElIndex,
162
+ updateColumnOrder
159
163
  };
160
164
  }
161
165
 
@@ -1 +1 @@
1
- {"version":3,"file":"render-helper.js","sources":["../../../../../../../packages/components/table/src/table-column/render-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n Comment,\n computed,\n getCurrentInstance,\n h,\n ref,\n unref,\n watchEffect,\n} from 'vue'\nimport { debugWarn } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n cellForced,\n defaultRenderCell,\n getDefaultClassName,\n treeCellPrefix,\n} from '../config'\nimport { parseMinWidth, parseWidth } from '../util'\nimport type { ComputedRef } from 'vue'\nimport type { TableColumn, TableColumnCtx } from './defaults'\n\nfunction useRender<T>(\n props: TableColumnCtx<T>,\n slots,\n owner: ComputedRef<any>\n) {\n const instance = getCurrentInstance() as TableColumn<T>\n const columnId = ref('')\n const isSubColumn = ref(false)\n const realAlign = ref<string>()\n const realHeaderAlign = ref<string>()\n const ns = useNamespace('table')\n watchEffect(() => {\n realAlign.value = props.align ? `is-${props.align}` : null\n // nextline help render\n realAlign.value\n })\n watchEffect(() => {\n realHeaderAlign.value = props.headerAlign\n ? `is-${props.headerAlign}`\n : realAlign.value\n // nextline help render\n realHeaderAlign.value\n })\n const columnOrTableParent = computed(() => {\n let parent: any = instance.vnode.vParent || instance.parent\n while (parent && !parent.tableId && !parent.columnId) {\n parent = parent.vnode.vParent || parent.parent\n }\n return parent\n })\n const hasTreeColumn = computed<boolean>(() => {\n const { store } = instance.parent\n if (!store) return false\n const { treeData } = store.states\n const treeDataValue = treeData.value\n return treeDataValue && Object.keys(treeDataValue).length > 0\n })\n\n const realWidth = ref(parseWidth(props.width))\n const realMinWidth = ref(parseMinWidth(props.minWidth))\n const setColumnWidth = (column: TableColumnCtx<T>) => {\n if (realWidth.value) column.width = realWidth.value\n if (realMinWidth.value) {\n column.minWidth = realMinWidth.value\n }\n if (!realWidth.value && realMinWidth.value) {\n column.width = undefined\n }\n if (!column.minWidth) {\n column.minWidth = 80\n }\n column.realWidth = Number(\n column.width === undefined ? column.minWidth : column.width\n )\n return column\n }\n const setColumnForcedProps = (column: TableColumnCtx<T>) => {\n // 对于特定类型的 column,某些属性不允许设置\n const type = column.type\n const source = cellForced[type] || {}\n Object.keys(source).forEach((prop) => {\n const value = source[prop]\n if (prop !== 'className' && value !== undefined) {\n column[prop] = value\n }\n })\n const className = getDefaultClassName(type)\n if (className) {\n const forceClass = `${unref(ns.namespace)}-${className}`\n column.className = column.className\n ? `${column.className} ${forceClass}`\n : forceClass\n }\n return column\n }\n\n const checkSubColumn = (children: TableColumn<T> | TableColumn<T>[]) => {\n if (Array.isArray(children)) {\n children.forEach((child) => check(child))\n } else {\n check(children)\n }\n function check(item: TableColumn<T>) {\n if (item?.type?.name === 'ElTableColumn') {\n item.vParent = instance\n }\n }\n }\n const setColumnRenders = (column: TableColumnCtx<T>) => {\n // renderHeader 属性不推荐使用。\n if (props.renderHeader) {\n debugWarn(\n 'TableColumn',\n 'Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.'\n )\n } else if (column.type !== 'selection') {\n column.renderHeader = (scope) => {\n // help render\n instance.columnConfig.value['label']\n const renderHeader = slots.header\n return renderHeader ? renderHeader(scope) : column.label\n }\n }\n\n let originRenderCell = column.renderCell\n // TODO: 这里的实现调整\n if (column.type === 'expand') {\n // 对于展开行,renderCell 不允许配置的。在上一步中已经设置过,这里需要简单封装一下。\n column.renderCell = (data) =>\n h(\n 'div',\n {\n class: 'cell',\n },\n [originRenderCell(data)]\n )\n owner.value.renderExpanded = (data) => {\n return slots.default ? slots.default(data) : slots.default\n }\n } else {\n originRenderCell = originRenderCell || defaultRenderCell\n // 对 renderCell 进行包装\n column.renderCell = (data) => {\n let children = null\n if (slots.default) {\n const vnodes = slots.default(data)\n children = vnodes.some((v) => v.type !== Comment)\n ? vnodes\n : originRenderCell(data)\n } else {\n children = originRenderCell(data)\n }\n const shouldCreatePlaceholder =\n hasTreeColumn.value &&\n data.cellIndex === 0 &&\n data.column.type !== 'selection'\n const prefix = treeCellPrefix(data, shouldCreatePlaceholder)\n const props = {\n class: 'cell',\n style: {},\n }\n if (column.showOverflowTooltip) {\n props.class = `${props.class} ${unref(ns.namespace)}-tooltip`\n props.style = {\n width: `${\n (data.column.realWidth || Number(data.column.width)) - 1\n }px`,\n }\n }\n checkSubColumn(children)\n return h('div', props, [prefix, children])\n }\n }\n return column\n }\n const getPropsData = (...propsKey: unknown[]) => {\n return propsKey.reduce((prev, cur) => {\n if (Array.isArray(cur)) {\n cur.forEach((key) => {\n prev[key] = props[key]\n })\n }\n return prev\n }, {})\n }\n const getColumnElIndex = (children, child) => {\n return Array.prototype.indexOf.call(children, child)\n }\n\n return {\n columnId,\n realAlign,\n isSubColumn,\n realHeaderAlign,\n columnOrTableParent,\n setColumnWidth,\n setColumnForcedProps,\n setColumnRenders,\n getPropsData,\n getColumnElIndex,\n }\n}\n\nexport default useRender\n"],"names":["getCurrentInstance","ref","useNamespace","watchEffect","computed","parseWidth","parseMinWidth","cellForced","getDefaultClassName","unref","debugWarn","h","defaultRenderCell","Comment","treeCellPrefix"],"mappings":";;;;;;;;;;;;AAkBA,SAAS,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AACxC,EAAE,MAAM,QAAQ,GAAGA,sBAAkB,EAAE,CAAC;AACxC,EAAE,MAAM,QAAQ,GAAGC,OAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,EAAE,MAAM,WAAW,GAAGA,OAAG,CAAC,KAAK,CAAC,CAAC;AACjC,EAAE,MAAM,SAAS,GAAGA,OAAG,EAAE,CAAC;AAC1B,EAAE,MAAM,eAAe,GAAGA,OAAG,EAAE,CAAC;AAChC,EAAE,MAAM,EAAE,GAAGC,kBAAY,CAAC,OAAO,CAAC,CAAC;AACnC,EAAEC,eAAW,CAAC,MAAM;AACpB,IAAI,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;AAC/D,IAAI,SAAS,CAAC,KAAK,CAAC;AACpB,GAAG,CAAC,CAAC;AACL,EAAEA,eAAW,CAAC,MAAM;AACpB,IAAI,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;AAC5F,IAAI,eAAe,CAAC,KAAK,CAAC;AAC1B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,mBAAmB,GAAGC,YAAQ,CAAC,MAAM;AAC7C,IAAI,IAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC;AAC3D,IAAI,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC;AACrD,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAGA,YAAQ,CAAC,MAAM;AACvC,IAAI,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;AACtC,IAAI,IAAI,CAAC,KAAK;AACd,MAAM,OAAO,KAAK,CAAC;AACnB,IAAI,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;AACtC,IAAI,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;AACzC,IAAI,OAAO,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAClE,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,SAAS,GAAGH,OAAG,CAACI,eAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,EAAE,MAAM,YAAY,GAAGJ,OAAG,CAACK,kBAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,EAAE,MAAM,cAAc,GAAG,CAAC,MAAM,KAAK;AACrC,IAAI,IAAI,SAAS,CAAC,KAAK;AACvB,MAAM,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;AACrC,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE;AAC5B,MAAM,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;AAC3C,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,EAAE;AAChD,MAAM,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AAC5B,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC1B,MAAM,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;AAC3B,KAAK;AACL,IAAI,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACxF,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,oBAAoB,GAAG,CAAC,MAAM,KAAK;AAC3C,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAC7B,IAAI,MAAM,MAAM,GAAGC,iBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAC1C,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACjC,MAAM,IAAI,IAAI,KAAK,WAAW,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;AACpD,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC7B,OAAO;AACP,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,SAAS,GAAGC,0BAAmB,CAAC,IAAI,CAAC,CAAC;AAChD,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,MAAM,UAAU,GAAG,CAAC,EAAEC,SAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/D,MAAM,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC;AAC7F,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,CAAC,QAAQ,KAAK;AACvC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACjC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;AACtB,KAAK;AACL,IAAI,SAAS,KAAK,CAAC,IAAI,EAAE;AACzB,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,MAAM,eAAe,EAAE;AACrG,QAAQ,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;AAChC,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,MAAM,KAAK;AACvC,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE;AAC5B,MAAMC,eAAS,CAAC,aAAa,EAAE,gHAAgH,CAAC,CAAC;AACjJ,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AAC5C,MAAM,MAAM,CAAC,YAAY,GAAG,CAAC,KAAK,KAAK;AACvC,QAAQ,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7C,QAAQ,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;AAC1C,QAAQ,OAAO,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;AACjE,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC;AAC7C,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;AAClC,MAAM,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,KAAKC,KAAC,CAAC,KAAK,EAAE;AAC7C,QAAQ,KAAK,EAAE,MAAM;AACrB,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,IAAI,KAAK;AAC7C,QAAQ,OAAO,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AACnE,OAAO,CAAC;AACR,KAAK,MAAM;AACX,MAAM,gBAAgB,GAAG,gBAAgB,IAAIC,wBAAiB,CAAC;AAC/D,MAAM,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK;AACpC,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC;AAC5B,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE;AAC3B,UAAU,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7C,UAAU,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAKC,WAAO,CAAC,GAAG,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC9F,SAAS,MAAM;AACf,UAAU,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC5C,SAAS;AACT,QAAQ,MAAM,uBAAuB,GAAG,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;AACxH,QAAQ,MAAM,MAAM,GAAGC,qBAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;AACrE,QAAQ,MAAM,MAAM,GAAG;AACvB,UAAU,KAAK,EAAE,MAAM;AACvB,UAAU,KAAK,EAAE,EAAE;AACnB,SAAS,CAAC;AACV,QAAQ,IAAI,MAAM,CAAC,mBAAmB,EAAE;AACxC,UAAU,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAEL,SAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1E,UAAU,MAAM,CAAC,KAAK,GAAG;AACzB,YAAY,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAClF,WAAW,CAAC;AACZ,SAAS;AACT,QAAQ,cAAc,CAAC,QAAQ,CAAC,CAAC;AACjC,QAAQ,OAAOE,KAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACpD,OAAO,CAAC;AACR,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,CAAC,GAAG,QAAQ,KAAK;AACxC,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK;AAC1C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AAC9B,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC7B,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AACjC,SAAS,CAAC,CAAC;AACX,OAAO;AACP,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,KAAK,KAAK;AAChD,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,eAAe;AACnB,IAAI,mBAAmB;AACvB,IAAI,cAAc;AAClB,IAAI,oBAAoB;AACxB,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"render-helper.js","sources":["../../../../../../../packages/components/table/src/table-column/render-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n Comment,\n computed,\n getCurrentInstance,\n h,\n ref,\n unref,\n watchEffect,\n} from 'vue'\nimport { debugWarn } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n cellForced,\n defaultRenderCell,\n getDefaultClassName,\n treeCellPrefix,\n} from '../config'\nimport { parseMinWidth, parseWidth } from '../util'\nimport type { ComputedRef } from 'vue'\nimport type { TableColumn, TableColumnCtx } from './defaults'\n\nfunction useRender<T>(\n props: TableColumnCtx<T>,\n slots,\n owner: ComputedRef<any>\n) {\n const instance = getCurrentInstance() as TableColumn<T>\n const columnId = ref('')\n const isSubColumn = ref(false)\n const realAlign = ref<string>()\n const realHeaderAlign = ref<string>()\n const ns = useNamespace('table')\n watchEffect(() => {\n realAlign.value = props.align ? `is-${props.align}` : null\n // nextline help render\n realAlign.value\n })\n watchEffect(() => {\n realHeaderAlign.value = props.headerAlign\n ? `is-${props.headerAlign}`\n : realAlign.value\n // nextline help render\n realHeaderAlign.value\n })\n const columnOrTableParent = computed(() => {\n let parent: any = instance.vnode.vParent || instance.parent\n while (parent && !parent.tableId && !parent.columnId) {\n parent = parent.vnode.vParent || parent.parent\n }\n return parent\n })\n const hasTreeColumn = computed<boolean>(() => {\n const { store } = instance.parent\n if (!store) return false\n const { treeData } = store.states\n const treeDataValue = treeData.value\n return treeDataValue && Object.keys(treeDataValue).length > 0\n })\n\n const realWidth = ref(parseWidth(props.width))\n const realMinWidth = ref(parseMinWidth(props.minWidth))\n const setColumnWidth = (column: TableColumnCtx<T>) => {\n if (realWidth.value) column.width = realWidth.value\n if (realMinWidth.value) {\n column.minWidth = realMinWidth.value\n }\n if (!realWidth.value && realMinWidth.value) {\n column.width = undefined\n }\n if (!column.minWidth) {\n column.minWidth = 80\n }\n column.realWidth = Number(\n column.width === undefined ? column.minWidth : column.width\n )\n return column\n }\n const setColumnForcedProps = (column: TableColumnCtx<T>) => {\n // 对于特定类型的 column,某些属性不允许设置\n const type = column.type\n const source = cellForced[type] || {}\n Object.keys(source).forEach((prop) => {\n const value = source[prop]\n if (prop !== 'className' && value !== undefined) {\n column[prop] = value\n }\n })\n const className = getDefaultClassName(type)\n if (className) {\n const forceClass = `${unref(ns.namespace)}-${className}`\n column.className = column.className\n ? `${column.className} ${forceClass}`\n : forceClass\n }\n return column\n }\n\n const checkSubColumn = (children: TableColumn<T> | TableColumn<T>[]) => {\n if (Array.isArray(children)) {\n children.forEach((child) => check(child))\n } else {\n check(children)\n }\n function check(item: TableColumn<T>) {\n if (item?.type?.name === 'ElTableColumn') {\n item.vParent = instance\n }\n }\n }\n const setColumnRenders = (column: TableColumnCtx<T>) => {\n // renderHeader 属性不推荐使用。\n if (props.renderHeader) {\n debugWarn(\n 'TableColumn',\n 'Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.'\n )\n } else if (column.type !== 'selection') {\n column.renderHeader = (scope) => {\n // help render\n instance.columnConfig.value['label']\n const renderHeader = slots.header\n return renderHeader ? renderHeader(scope) : column.label\n }\n }\n\n let originRenderCell = column.renderCell\n // TODO: 这里的实现调整\n if (column.type === 'expand') {\n // 对于展开行,renderCell 不允许配置的。在上一步中已经设置过,这里需要简单封装一下。\n column.renderCell = (data) =>\n h(\n 'div',\n {\n class: 'cell',\n },\n [originRenderCell(data)]\n )\n owner.value.renderExpanded = (data) => {\n return slots.default ? slots.default(data) : slots.default\n }\n } else {\n originRenderCell = originRenderCell || defaultRenderCell\n // 对 renderCell 进行包装\n column.renderCell = (data) => {\n let children = null\n if (slots.default) {\n const vnodes = slots.default(data)\n children = vnodes.some((v) => v.type !== Comment)\n ? vnodes\n : originRenderCell(data)\n } else {\n children = originRenderCell(data)\n }\n const shouldCreatePlaceholder =\n hasTreeColumn.value &&\n data.cellIndex === 0 &&\n data.column.type !== 'selection'\n const prefix = treeCellPrefix(data, shouldCreatePlaceholder)\n const props = {\n class: 'cell',\n style: {},\n }\n if (column.showOverflowTooltip) {\n props.class = `${props.class} ${unref(ns.namespace)}-tooltip`\n props.style = {\n width: `${\n (data.column.realWidth || Number(data.column.width)) - 1\n }px`,\n }\n }\n checkSubColumn(children)\n return h('div', props, [prefix, children])\n }\n }\n return column\n }\n const getPropsData = (...propsKey: unknown[]) => {\n return propsKey.reduce((prev, cur) => {\n if (Array.isArray(cur)) {\n cur.forEach((key) => {\n prev[key] = props[key]\n })\n }\n return prev\n }, {})\n }\n const getColumnElIndex = (children, child) => {\n return Array.prototype.indexOf.call(children, child)\n }\n\n const updateColumnOrder = () => {\n owner.value.store.commit('updateColumnOrder', instance.columnConfig.value)\n }\n\n return {\n columnId,\n realAlign,\n isSubColumn,\n realHeaderAlign,\n columnOrTableParent,\n setColumnWidth,\n setColumnForcedProps,\n setColumnRenders,\n getPropsData,\n getColumnElIndex,\n updateColumnOrder,\n }\n}\n\nexport default useRender\n"],"names":["getCurrentInstance","ref","useNamespace","watchEffect","computed","parseWidth","parseMinWidth","cellForced","getDefaultClassName","unref","debugWarn","h","defaultRenderCell","Comment","treeCellPrefix"],"mappings":"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"}
@@ -14,6 +14,7 @@ var index$2 = require('./table-body/index.js');
14
14
  var index$3 = require('./table-footer/index.js');
15
15
  var utilsHelper = require('./table/utils-helper.js');
16
16
  var styleHelper = require('./table/style-helper.js');
17
+ var keyRenderHelper = require('./table/key-render-helper.js');
17
18
  var defaults = require('./table/defaults.js');
18
19
  var tokens = require('./tokens.js');
19
20
  var hHelper = require('./h-helper.js');
@@ -117,6 +118,7 @@ const _sfc_main = vue.defineComponent({
117
118
  const computedEmptyText = vue.computed(() => {
118
119
  return props.emptyText || t("el.table.emptyText");
119
120
  });
121
+ keyRenderHelper["default"](table);
120
122
  return {
121
123
  ns,
122
124
  layout,
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n ref=\"tableWrapper\"\n :class=\"[\n {\n [ns.m('fit')]: fit,\n [ns.m('striped')]: stripe,\n [ns.m('border')]: border || isGroup,\n [ns.m('hidden')]: isHidden,\n [ns.m('group')]: isGroup,\n [ns.m('fluid-height')]: maxHeight,\n [ns.m('scrollable-x')]: layout.scrollX.value,\n [ns.m('scrollable-y')]: layout.scrollY.value,\n [ns.m('enable-row-hover')]: !store.states.isComplex.value,\n [ns.m('enable-row-transition')]:\n (store.states.data.value || []).length !== 0 &&\n (store.states.data.value || []).length < 100,\n 'has-footer': showSummary,\n },\n ns.m(tableSize),\n className,\n ns.b(),\n ns.m(`layout-${tableLayout}`),\n ]\"\n :style=\"style\"\n :data-prefix=\"ns.namespace.value\"\n @mouseleave=\"handleMouseLeave()\"\n >\n <div :class=\"ns.e('inner-wrapper')\" :style=\"tableInnerStyle\">\n <div ref=\"hiddenColumns\" class=\"hidden-columns\">\n <slot />\n </div>\n <div\n v-if=\"showHeader && tableLayout === 'fixed'\"\n ref=\"headerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('header-wrapper')\"\n >\n <table\n ref=\"tableHeader\"\n :class=\"ns.e('header')\"\n :style=\"tableBodyStyles\"\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n ref=\"tableHeaderRef\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n @set-drag-visible=\"setDragVisible\"\n />\n </table>\n </div>\n <div ref=\"bodyWrapper\" :class=\"ns.e('body-wrapper')\">\n <el-scrollbar\n ref=\"scrollBarRef\"\n :view-style=\"scrollbarViewStyle\"\n :wrap-style=\"scrollbarStyle\"\n :always=\"scrollbarAlwaysOn\"\n >\n <table\n ref=\"tableBody\"\n :class=\"ns.e('body')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"{\n width: bodyWidth,\n tableLayout,\n }\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n v-if=\"showHeader && tableLayout === 'auto'\"\n ref=\"tableHeaderRef\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n @set-drag-visible=\"setDragVisible\"\n />\n <table-body\n :context=\"context\"\n :highlight=\"highlightCurrentRow\"\n :row-class-name=\"rowClassName\"\n :tooltip-effect=\"tooltipEffect\"\n :tooltip-options=\"tooltipOptions\"\n :row-style=\"rowStyle\"\n :store=\"store\"\n :stripe=\"stripe\"\n />\n </table>\n <div\n v-if=\"isEmpty\"\n ref=\"emptyBlock\"\n :style=\"emptyBlockStyle\"\n :class=\"ns.e('empty-block')\"\n >\n <span :class=\"ns.e('empty-text')\">\n <slot name=\"empty\">{{ computedEmptyText }}</slot>\n </span>\n </div>\n <div\n v-if=\"$slots.append\"\n ref=\"appendWrapper\"\n :class=\"ns.e('append-wrapper')\"\n >\n <slot name=\"append\" />\n </div>\n </el-scrollbar>\n </div>\n <div\n v-if=\"showSummary\"\n v-show=\"!isEmpty\"\n ref=\"footerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('footer-wrapper')\"\n >\n <table-footer\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :style=\"tableBodyStyles\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </div>\n <div v-if=\"border || isGroup\" :class=\"ns.e('border-left-patch')\" />\n </div>\n <div\n v-show=\"resizeProxyVisible\"\n ref=\"resizeProxy\"\n :class=\"ns.e('column-resize-proxy')\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport { computed, defineComponent, getCurrentInstance, provide } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { Mousewheel } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { createStore } from './store/helper'\nimport TableLayout from './table-layout'\nimport TableHeader from './table-header'\nimport TableBody from './table-body'\nimport TableFooter from './table-footer'\nimport useUtils from './table/utils-helper'\nimport useStyle from './table/style-helper'\nimport defaultProps from './table/defaults'\nimport { TABLE_INJECTION_KEY } from './tokens'\nimport { hColgroup } from './h-helper'\nimport { useScrollbar } from './composables/use-scrollbar'\n\nimport type { Table } from './table/defaults'\n\nlet tableIdSeed = 1\nexport default defineComponent({\n name: 'ElTable',\n directives: {\n Mousewheel,\n },\n components: {\n TableHeader,\n TableBody,\n TableFooter,\n ElScrollbar,\n hColgroup,\n },\n props: defaultProps,\n emits: [\n 'select',\n 'select-all',\n 'selection-change',\n 'cell-mouse-enter',\n 'cell-mouse-leave',\n 'cell-contextmenu',\n 'cell-click',\n 'cell-dblclick',\n 'row-click',\n 'row-contextmenu',\n 'row-dblclick',\n 'header-click',\n 'header-contextmenu',\n 'sort-change',\n 'filter-change',\n 'current-change',\n 'header-dragend',\n 'expand-change',\n ],\n setup(props) {\n type Row = typeof props.data[number]\n const { t } = useLocale()\n const ns = useNamespace('table')\n const table = getCurrentInstance() as Table<Row>\n provide(TABLE_INJECTION_KEY, table)\n const store = createStore<Row>(table, props)\n table.store = store\n const layout = new TableLayout<Row>({\n store: table.store,\n table,\n fit: props.fit,\n showHeader: props.showHeader,\n })\n table.layout = layout\n\n const isEmpty = computed(() => (store.states.data.value || []).length === 0)\n\n /**\n * open functions\n */\n const {\n setCurrentRow,\n getSelectionRows,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n sort,\n } = useUtils<Row>(store)\n const {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n handleFixedMousewheel,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n tableInnerStyle,\n scrollbarStyle,\n } = useStyle<Row>(props, layout, store, table)\n\n const { scrollBarRef, scrollTo, setScrollLeft, setScrollTop } =\n useScrollbar()\n\n const debouncedUpdateLayout = debounce(doLayout, 50)\n\n const tableId = `${ns.namespace.value}-table_${tableIdSeed++}`\n table.tableId = tableId\n table.state = {\n isGroup,\n resizeState,\n doLayout,\n debouncedUpdateLayout,\n }\n const computedSumText = computed(\n () => props.sumText || t('el.table.sumText')\n )\n\n const computedEmptyText = computed(() => {\n return props.emptyText || t('el.table.emptyText')\n })\n\n return {\n ns,\n layout,\n store,\n handleHeaderFooterMousewheel,\n handleMouseLeave,\n tableId,\n tableSize,\n isHidden,\n isEmpty,\n renderExpanded,\n resizeProxyVisible,\n resizeState,\n isGroup,\n bodyWidth,\n tableBodyStyles,\n emptyBlockStyle,\n debouncedUpdateLayout,\n handleFixedMousewheel,\n setCurrentRow,\n getSelectionRows,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n doLayout,\n sort,\n t,\n setDragVisible,\n context: table,\n computedSumText,\n computedEmptyText,\n tableLayout,\n scrollbarViewStyle,\n tableInnerStyle,\n scrollbarStyle,\n scrollBarRef,\n scrollTo,\n setScrollLeft,\n setScrollTop,\n }\n },\n})\n</script>\n"],"names":["defineComponent","Mousewheel","TableHeader","TableBody","TableFooter","ElScrollbar","hColgroup","defaultProps","useLocale","useNamespace","getCurrentInstance","provide","TABLE_INJECTION_KEY","createStore","TableLayout","computed","useUtils","tableLayout","useStyle","useScrollbar","debounce","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_renderSlot","_createVNode","_createCommentVNode","_createBlock","_openBlock","_createTextVNode","_toDisplayString","_withDirectives"],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n ref=\"tableWrapper\"\n :class=\"[\n {\n [ns.m('fit')]: fit,\n [ns.m('striped')]: stripe,\n [ns.m('border')]: border || isGroup,\n [ns.m('hidden')]: isHidden,\n [ns.m('group')]: isGroup,\n [ns.m('fluid-height')]: maxHeight,\n [ns.m('scrollable-x')]: layout.scrollX.value,\n [ns.m('scrollable-y')]: layout.scrollY.value,\n [ns.m('enable-row-hover')]: !store.states.isComplex.value,\n [ns.m('enable-row-transition')]:\n (store.states.data.value || []).length !== 0 &&\n (store.states.data.value || []).length < 100,\n 'has-footer': showSummary,\n },\n ns.m(tableSize),\n className,\n ns.b(),\n ns.m(`layout-${tableLayout}`),\n ]\"\n :style=\"style\"\n :data-prefix=\"ns.namespace.value\"\n @mouseleave=\"handleMouseLeave()\"\n >\n <div :class=\"ns.e('inner-wrapper')\" :style=\"tableInnerStyle\">\n <div ref=\"hiddenColumns\" class=\"hidden-columns\">\n <slot />\n </div>\n <div\n v-if=\"showHeader && tableLayout === 'fixed'\"\n ref=\"headerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('header-wrapper')\"\n >\n <table\n ref=\"tableHeader\"\n :class=\"ns.e('header')\"\n :style=\"tableBodyStyles\"\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n ref=\"tableHeaderRef\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n @set-drag-visible=\"setDragVisible\"\n />\n </table>\n </div>\n <div ref=\"bodyWrapper\" :class=\"ns.e('body-wrapper')\">\n <el-scrollbar\n ref=\"scrollBarRef\"\n :view-style=\"scrollbarViewStyle\"\n :wrap-style=\"scrollbarStyle\"\n :always=\"scrollbarAlwaysOn\"\n >\n <table\n ref=\"tableBody\"\n :class=\"ns.e('body')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"{\n width: bodyWidth,\n tableLayout,\n }\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n v-if=\"showHeader && tableLayout === 'auto'\"\n ref=\"tableHeaderRef\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n @set-drag-visible=\"setDragVisible\"\n />\n <table-body\n :context=\"context\"\n :highlight=\"highlightCurrentRow\"\n :row-class-name=\"rowClassName\"\n :tooltip-effect=\"tooltipEffect\"\n :tooltip-options=\"tooltipOptions\"\n :row-style=\"rowStyle\"\n :store=\"store\"\n :stripe=\"stripe\"\n />\n </table>\n <div\n v-if=\"isEmpty\"\n ref=\"emptyBlock\"\n :style=\"emptyBlockStyle\"\n :class=\"ns.e('empty-block')\"\n >\n <span :class=\"ns.e('empty-text')\">\n <slot name=\"empty\">{{ computedEmptyText }}</slot>\n </span>\n </div>\n <div\n v-if=\"$slots.append\"\n ref=\"appendWrapper\"\n :class=\"ns.e('append-wrapper')\"\n >\n <slot name=\"append\" />\n </div>\n </el-scrollbar>\n </div>\n <div\n v-if=\"showSummary\"\n v-show=\"!isEmpty\"\n ref=\"footerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('footer-wrapper')\"\n >\n <table-footer\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :style=\"tableBodyStyles\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </div>\n <div v-if=\"border || isGroup\" :class=\"ns.e('border-left-patch')\" />\n </div>\n <div\n v-show=\"resizeProxyVisible\"\n ref=\"resizeProxy\"\n :class=\"ns.e('column-resize-proxy')\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport { computed, defineComponent, getCurrentInstance, provide } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { Mousewheel } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { createStore } from './store/helper'\nimport TableLayout from './table-layout'\nimport TableHeader from './table-header'\nimport TableBody from './table-body'\nimport TableFooter from './table-footer'\nimport useUtils from './table/utils-helper'\nimport useStyle from './table/style-helper'\nimport useKeyRender from './table/key-render-helper'\nimport defaultProps from './table/defaults'\nimport { TABLE_INJECTION_KEY } from './tokens'\nimport { hColgroup } from './h-helper'\nimport { useScrollbar } from './composables/use-scrollbar'\n\nimport type { Table } from './table/defaults'\n\nlet tableIdSeed = 1\nexport default defineComponent({\n name: 'ElTable',\n directives: {\n Mousewheel,\n },\n components: {\n TableHeader,\n TableBody,\n TableFooter,\n ElScrollbar,\n hColgroup,\n },\n props: defaultProps,\n emits: [\n 'select',\n 'select-all',\n 'selection-change',\n 'cell-mouse-enter',\n 'cell-mouse-leave',\n 'cell-contextmenu',\n 'cell-click',\n 'cell-dblclick',\n 'row-click',\n 'row-contextmenu',\n 'row-dblclick',\n 'header-click',\n 'header-contextmenu',\n 'sort-change',\n 'filter-change',\n 'current-change',\n 'header-dragend',\n 'expand-change',\n ],\n setup(props) {\n type Row = typeof props.data[number]\n const { t } = useLocale()\n const ns = useNamespace('table')\n const table = getCurrentInstance() as Table<Row>\n provide(TABLE_INJECTION_KEY, table)\n const store = createStore<Row>(table, props)\n table.store = store\n const layout = new TableLayout<Row>({\n store: table.store,\n table,\n fit: props.fit,\n showHeader: props.showHeader,\n })\n table.layout = layout\n\n const isEmpty = computed(() => (store.states.data.value || []).length === 0)\n\n /**\n * open functions\n */\n const {\n setCurrentRow,\n getSelectionRows,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n sort,\n } = useUtils<Row>(store)\n const {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n handleFixedMousewheel,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n tableInnerStyle,\n scrollbarStyle,\n } = useStyle<Row>(props, layout, store, table)\n\n const { scrollBarRef, scrollTo, setScrollLeft, setScrollTop } =\n useScrollbar()\n\n const debouncedUpdateLayout = debounce(doLayout, 50)\n\n const tableId = `${ns.namespace.value}-table_${tableIdSeed++}`\n table.tableId = tableId\n table.state = {\n isGroup,\n resizeState,\n doLayout,\n debouncedUpdateLayout,\n }\n const computedSumText = computed(\n () => props.sumText || t('el.table.sumText')\n )\n\n const computedEmptyText = computed(() => {\n return props.emptyText || t('el.table.emptyText')\n })\n\n useKeyRender(table)\n\n return {\n ns,\n layout,\n store,\n handleHeaderFooterMousewheel,\n handleMouseLeave,\n tableId,\n tableSize,\n isHidden,\n isEmpty,\n renderExpanded,\n resizeProxyVisible,\n resizeState,\n isGroup,\n bodyWidth,\n tableBodyStyles,\n emptyBlockStyle,\n debouncedUpdateLayout,\n handleFixedMousewheel,\n setCurrentRow,\n getSelectionRows,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n doLayout,\n sort,\n t,\n setDragVisible,\n context: table,\n computedSumText,\n computedEmptyText,\n tableLayout,\n scrollbarViewStyle,\n tableInnerStyle,\n scrollbarStyle,\n scrollBarRef,\n scrollTo,\n setScrollLeft,\n setScrollTop,\n }\n },\n})\n</script>\n"],"names":["defineComponent","Mousewheel","TableHeader","TableBody","TableFooter","ElScrollbar","hColgroup","defaultProps","useLocale","useNamespace","getCurrentInstance","provide","TABLE_INJECTION_KEY","createStore","TableLayout","computed","useUtils","tableLayout","useStyle","useScrollbar","debounce","useKeyRender","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_renderSlot","_createVNode","_createCommentVNode","_createBlock","_openBlock","_createTextVNode","_toDisplayString","_withDirectives"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAuKA,IAAI,WAAc,GAAA,CAAA,CAAA;AAClB,MAAK,YAAaA,mBAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,SAAA;AAAA,EACN,UAAY,EAAA;AAAA,gBACVC,gBAAA;AAAA,GACF;AAAA,EACA,UAAY,EAAA;AAAA,iBACVC,kBAAA;AAAA,eACAC,kBAAA;AAAA,iBACAC,kBAAA;AAAA,iBACAC,mBAAA;AAAA,eACAC,iBAAA;AAAA,GACF;AAAA,EACA,KAAO,EAAAC,mBAAA;AAAA,EACP,KAAO,EAAA;AAAA,IACL,QAAA;AAAA,IACA,YAAA;AAAA,IACA,kBAAA;AAAA,IACA,kBAAA;AAAA,IACA,kBAAA;AAAA,IACA,kBAAA;AAAA,IACA,YAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAA;AAAA,IACA,iBAAA;AAAA,IACA,cAAA;AAAA,IACA,cAAA;AAAA,IACA,oBAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,gBAAA;AAAA,IACA,eAAA;AAAA,GACF;AAAA,EACA,MAAM,KAAO,EAAA;AAEX,IAAM,MAAA,EAAE,MAAMC,iBAAU,EAAA,CAAA;AACxB,IAAM,MAAA,EAAA,GAAKC,qBAAa,OAAO,CAAA,CAAA;AAC/B,IAAA,MAAM,QAAQC,sBAAmB,EAAA,CAAA;AACjC,IAAAC,WAAA,CAAQC,4BAAqB,KAAK,CAAA,CAAA;AAClC,IAAM,MAAA,KAAA,GAAQC,kBAAiB,CAAA,KAAA,EAAO,KAAK,CAAA,CAAA;AAC3C,IAAA,KAAA,CAAM,KAAQ,GAAA,KAAA,CAAA;AACd,IAAM,MAAA,MAAA,GAAS,IAAIC,sBAAiB,CAAA;AAAA,MAClC,OAAO,KAAM,CAAA,KAAA;AAAA,MACb,KAAA;AAAA,MACA,KAAK,KAAM,CAAA,GAAA;AAAA,MACX,YAAY,KAAM,CAAA,UAAA;AAAA,KACnB,CAAA,CAAA;AACD,IAAA,KAAA,CAAM,MAAS,GAAA,MAAA,CAAA;AAEf,IAAM,MAAA,OAAA,GAAUC,YAAS,CAAA,MAAO,CAAM,KAAA,CAAA,MAAA,CAAO,KAAK,KAAS,IAAA,EAAI,EAAA,MAAA,KAAW,CAAC,CAAA,CAAA;AAK3E,IAAM,MAAA;AAAA,MACJ,aAAA;AAAA,MACA,gBAAA;AAAA,MACA,kBAAA;AAAA,MACA,cAAA;AAAA,MACA,WAAA;AAAA,MACA,kBAAA;AAAA,MACA,kBAAA;AAAA,MACA,SAAA;AAAA,MACA,IAAA;AAAA,KAAA,GACEC,uBAAc,KAAK,CAAA,CAAA;AACvB,IAAM,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA;AAAA,MACA,gBAAA;AAAA,MACA,4BAAA;AAAA,MACA,SAAA;AAAA,MACA,eAAA;AAAA,MACA,qBAAA;AAAA,MACA,kBAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,eAAA;AAAA,mBACAC,aAAA;AAAA,MACA,kBAAA;AAAA,MACA,eAAA;AAAA,MACA,cAAA;AAAA,KAAA,GACEC,sBAAc,CAAA,KAAA,EAAO,MAAQ,EAAA,KAAA,EAAO,KAAK,CAAA,CAAA;AAE7C,IAAA,MAAM,EAAE,YAAA,EAAc,QAAU,EAAA,aAAA,EAAe,iBAC7CC,yBAAa,EAAA,CAAA;AAEf,IAAM,MAAA,qBAAA,GAAwBC,sBAAS,CAAA,QAAA,EAAU,EAAE,CAAA,CAAA;AAEnD,IAAA,MAAM,OAAU,GAAA,CAAA,EAAG,EAAG,CAAA,SAAA,CAAU,KAAe,CAAA,OAAA,EAAA,WAAA,EAAA,CAAA,CAAA,CAAA;AAC/C,IAAA,KAAA,CAAM,OAAU,GAAA,OAAA,CAAA;AAChB,IAAA,KAAA,CAAM,KAAQ,GAAA;AAAA,MACZ,OAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,qBAAA;AAAA,KACF,CAAA;AACA,IAAA,MAAM,kBAAkBL,YACtB,CAAA,MAAM,MAAM,OAAW,IAAA,CAAA,CAAE,kBAAkB,CAC7C,CAAA,CAAA;AAEA,IAAM,MAAA,iBAAA,GAAoBA,aAAS,MAAM;AACvC,MAAO,OAAA,KAAA,CAAM,SAAa,IAAA,CAAA,CAAE,oBAAoB,CAAA,CAAA;AAAA,KACjD,CAAA,CAAA;AAED,IAAAM,0BAAA,CAAa,KAAK,CAAA,CAAA;AAElB,IAAO,OAAA;AAAA,MACL,EAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,4BAAA;AAAA,MACA,gBAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,cAAA;AAAA,MACA,kBAAA;AAAA,MACA,WAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MACA,qBAAA;AAAA,MACA,qBAAA;AAAA,MACA,aAAA;AAAA,MACA,gBAAA;AAAA,MACA,kBAAA;AAAA,MACA,cAAA;AAAA,MACA,WAAA;AAAA,MACA,kBAAA;AAAA,MACA,kBAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,IAAA;AAAA,MACA,CAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAS,EAAA,KAAA;AAAA,MACT,eAAA;AAAA,MACA,iBAAA;AAAA,mBACAJ,aAAA;AAAA,MACA,kBAAA;AAAA,MACA,eAAA;AAAA,MACA,cAAA;AAAA,MACA,YAAA;AAAA,MACA,QAAA;AAAA,MACA,aAAA;AAAA,MACA,YAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;;EApSU,GAAI,EAAA,eAAA;AAAA,EAAgB,KAAM,EAAA,gBAAA;;;;;;;;;0BA5BnCK,sBA6IM,CAAA,KAAA,EAAA;AAAA,IA5IJ,GAAI,EAAA,cAAA;AAAA,IACH,KAAK,EAAAC,kBAAA,CAAA;AAAA,MAAA;AAAqB,QAAA,CAAA,IAAA,CAAA,EAAA,CAAG,EAAC,KAAU,CAAA,GAAA,IAAA,CAAA,GAAA;AAAA,QAAc,CAAA,IAAA,CAAA,EAAA,CAAG,EAAC,SAAc,CAAA,GAAA,IAAA,CAAA,MAAA;AAAA,QAAiB,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,QAAA,CAAA,GAAa,IAAU,CAAA,MAAA,IAAA,IAAA,CAAA,OAAA;AAAA,QAAkB,CAAA,IAAA,CAAA,EAAA,CAAG,EAAC,QAAa,CAAA,GAAA,IAAA,CAAA,QAAA;AAAA,QAAmB,CAAA,IAAA,CAAA,EAAA,CAAG,EAAC,OAAY,CAAA,GAAA,IAAA,CAAA,OAAA;AAAA,QAAkB,CAAA,IAAA,CAAA,EAAA,CAAG,EAAC,cAAmB,CAAA,GAAA,IAAA,CAAA,SAAA;AAAA,QAAA,CAAoB,IAAG,CAAA,EAAA,CAAA,CAAA,CAAC,cAAmB,CAAA,GAAA,IAAA,CAAA,MAAA,CAAO,OAAQ,CAAA,KAAA;AAAA,QAAA,CAAgB,IAAG,CAAA,EAAA,CAAA,CAAA,CAAC,cAAmB,CAAA,GAAA,IAAA,CAAA,MAAA,CAAO,OAAQ,CAAA,KAAA;AAAA,QAAA,CAAgB,IAAG,CAAA,EAAA,CAAA,CAAA,CAAC,kBAAwB,CAAA,GAAA,CAAA,IAAA,CAAA,KAAA,CAAM,OAAO,SAAU,CAAA,KAAA;AAAA,QAAA,CAAgB,IAAG,CAAA,EAAA,CAAA,CAAA,CAAC,uBAAuC,CAAA,GAAA,CAAA,IAAA,CAAA,KAAA,CAAM,OAAO,IAAK,CAAA,KAAA,IAAK,EAAQ,EAAA,MAAA,KAAM,KAAqB,CAAM,IAAA,CAAA,KAAA,CAAA,MAAA,CAAO,IAAK,CAAA,KAAA,IAAK,IAAQ,MAAM,GAAA,GAAA;AAAA,QAA8B,YAAA,EAAA,IAAA,CAAA,WAAA;AAAA,OAAA;AAA4B,MAAA,IAAA,CAAA,EAAA,CAAG,EAAE,IAAS,CAAA,SAAA,CAAA;AAAA,MAAS,IAAA,CAAA,SAAA;AAAA,MAAiB,QAAG,CAAC,EAAA;AAAA,MAAU,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,CAAA,OAAA,EAAW,IAAW,CAAA,WAAA,CAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAqB1rB,IAAA,KAAA,EAAKC,mBAAE,IAAK,CAAA,KAAA,CAAA;AAAA,IACZ,aAAA,EAAa,QAAG,SAAU,CAAA,KAAA;AAAA,IAC1B,YAAA,EAAU,sCAAE,IAAgB,CAAA,gBAAA,EAAA,CAAA;AAAA,GAAA,EAAA;IAE7BC,sBA4GM,CAAA,KAAA,EAAA;AAAA,MA5GA,KAAA,EAAKF,kBAAE,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,eAAA,CAAA,CAAA;AAAA,MAAoB,KAAA,EAAKC,mBAAE,IAAe,CAAA,eAAA,CAAA;AAAA,KAAA,EAAA;AACzD,MAAAC,sBAAA,CAEM,OAFN,UAEM,EAAA;AAAA,QADJC,cAAQ,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,OAAA,EAAA,GAAA,CAAA;MAGF,IAAc,CAAA,UAAA,IAAA,IAAA,CAAA,WAAA,KAAW,+CADjCJ,sBA0BM,CAAA,KAAA,EAAA;AAAA,QAAA,GAAA,EAAA,CAAA;QAxBJ,GAAI,EAAA,eAAA;AAAA,QAEH,KAAA,EAAKC,kBAAE,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,gBAAA,CAAA,CAAA;AAAA,OAAA,EAAA;QAEZE,sBAmBQ,CAAA,OAAA,EAAA;AAAA,UAlBN,GAAI,EAAA,aAAA;AAAA,UACH,KAAA,EAAKF,kBAAE,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,QAAA,CAAA,CAAA;AAAA,UACX,KAAA,EAAKC,mBAAE,IAAe,CAAA,eAAA,CAAA;AAAA,UACvB,MAAO,EAAA,GAAA;AAAA,UACP,WAAY,EAAA,GAAA;AAAA,UACZ,WAAY,EAAA,GAAA;AAAA,SAAA,EAAA;UAEZG,eAGE,CAAA,oBAAA,EAAA;AAAA,YAFC,OAAA,EAAS,IAAM,CAAA,KAAA,CAAA,MAAA,CAAO,OAAQ,CAAA,KAAA;AAAA,YAC9B,cAAc,EAAA,IAAA,CAAA,WAAA;AAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,cAAA,CAAA,CAAA;UAEjBA,eAME,CAAA,uBAAA,EAAA;AAAA,YALA,GAAI,EAAA,gBAAA;AAAA,YACH,MAAQ,EAAA,IAAA,CAAA,MAAA;AAAA,YACR,cAAc,EAAA,IAAA,CAAA,WAAA;AAAA,YACd,KAAO,EAAA,IAAA,CAAA,KAAA;AAAA,YACP,gBAAkB,EAAA,IAAA,CAAA,cAAA;AAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,kBAAA,CAAA,CAAA;;;gCApBT,IAA4B,CAAA,4BAAA,CAAA;AAAA,OAAA,CAAA,GAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;MAwB5CH,sBA2DM,CAAA,KAAA,EAAA;AAAA,QA3DD,GAAI,EAAA,aAAA;AAAA,QAAe,KAAA,EAAKF,kBAAE,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,cAAA,CAAA,CAAA;AAAA,OAAA,EAAA;QACjCI,eAyDe,CAAA,uBAAA,EAAA;AAAA,UAxDb,GAAI,EAAA,cAAA;AAAA,UACH,YAAY,EAAA,IAAA,CAAA,kBAAA;AAAA,UACZ,YAAY,EAAA,IAAA,CAAA,cAAA;AAAA,UACZ,MAAQ,EAAA,IAAA,CAAA,iBAAA;AAAA,SAAA,EAAA;+BAET,MAiCQ;AAAA,YAjCRF,sBAiCQ,CAAA,OAAA,EAAA;AAAA,cAhCN,GAAI,EAAA,WAAA;AAAA,cACH,KAAA,EAAKF,kBAAE,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,MAAA,CAAA,CAAA;AAAA,cACZ,WAAY,EAAA,GAAA;AAAA,cACZ,WAAY,EAAA,GAAA;AAAA,cACZ,MAAO,EAAA,GAAA;AAAA,cACN,KAAK,EAAAC,kBAAA,CAAA;AAAA,gBAAyB,KAAA,EAAA,IAAA,CAAA,SAAA;AAAA,gBAAyB,WAAA,EAAA,IAAA,CAAA,WAAA;AAAA,eAAA,CAAA;;cAKxDG,eAGE,CAAA,oBAAA,EAAA;AAAA,gBAFC,OAAA,EAAS,IAAM,CAAA,KAAA,CAAA,MAAA,CAAO,OAAQ,CAAA,KAAA;AAAA,gBAC9B,cAAc,EAAA,IAAA,CAAA,WAAA;AAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,cAAA,CAAA,CAAA;cAGT,IAAc,CAAA,UAAA,IAAA,IAAA,CAAA,WAAA,KAAW,2BADjCE,eAOE,CAAA,uBAAA,EAAA;AAAA,gBAAA,GAAA,EAAA,CAAA;gBALA,GAAI,EAAA,gBAAA;AAAA,gBACH,MAAQ,EAAA,IAAA,CAAA,MAAA;AAAA,gBACR,cAAc,EAAA,IAAA,CAAA,WAAA;AAAA,gBACd,KAAO,EAAA,IAAA,CAAA,KAAA;AAAA,gBACP,gBAAkB,EAAA,IAAA,CAAA,cAAA;AAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,kBAAA,CAAA,CAAA,IAAAD,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;cAErBD,eASE,CAAA,qBAAA,EAAA;AAAA,gBARC,OAAS,EAAA,IAAA,CAAA,OAAA;AAAA,gBACT,SAAW,EAAA,IAAA,CAAA,mBAAA;AAAA,gBACX,gBAAgB,EAAA,IAAA,CAAA,YAAA;AAAA,gBAChB,gBAAgB,EAAA,IAAA,CAAA,aAAA;AAAA,gBAChB,iBAAiB,EAAA,IAAA,CAAA,cAAA;AAAA,gBACjB,WAAW,EAAA,IAAA,CAAA,QAAA;AAAA,gBACX,KAAO,EAAA,IAAA,CAAA,KAAA;AAAA,gBACP,MAAQ,EAAA,IAAA,CAAA,MAAA;AAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,OAAA,EAAA,QAAA,CAAA,CAAA;;AAIL,YAAA,IAAA,CAAA,OAAA,IAAAG,aAAA,EAAA,EADRR,sBASM,CAAA,KAAA,EAAA;AAAA,cAAA,GAAA,EAAA,CAAA;cAPJ,GAAI,EAAA,YAAA;AAAA,cACH,KAAA,EAAKE,mBAAE,IAAe,CAAA,eAAA,CAAA;AAAA,cACtB,KAAA,EAAKD,kBAAE,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,aAAA,CAAA,CAAA;AAAA,aAAA,EAAA;cAEZE,sBAEO,CAAA,MAAA,EAAA;AAAA,gBAFA,KAAA,EAAKF,kBAAE,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,YAAA,CAAA,CAAA;AAAA,eAAA,EAAA;AAChB,gBAAAG,cAAA,CAAiD,0BAAjD,MAAiD;AAAA,kBAAAK,mBAAA,CAAAC,mBAAA,CAA3B,IAAiB,CAAA,iBAAA,CAAA,EAAA,CAAA,CAAA;AAAA,iBAAA,CAAA;;;AAInC,YAAA,IAAA,CAAA,MAAA,CAAO,2BADfV,sBAMM,CAAA,KAAA,EAAA;AAAA,cAAA,GAAA,EAAA,CAAA;cAJJ,GAAI,EAAA,eAAA;AAAA,cACH,KAAA,EAAKC,kBAAE,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,gBAAA,CAAA,CAAA;AAAA,aAAA,EAAA;cAEZG,cAAsB,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,aAAA,EAAA,CAAA,CAAA,IAAAE,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;;;;;AAKpB,MAAA,IAAA,CAAA,WAAA,GAAAK,kBAAA,EAAAH,aAAA,EAAA,EADRR,sBAeM,CAAA,KAAA,EAAA;AAAA,QAAA,GAAA,EAAA,CAAA;QAZJ,GAAI,EAAA,eAAA;AAAA,QAEH,KAAA,EAAKC,kBAAE,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,gBAAA,CAAA,CAAA;AAAA,OAAA,EAAA;QAEZI,eAOE,CAAA,uBAAA,EAAA;AAAA,UANC,MAAQ,EAAA,IAAA,CAAA,MAAA;AAAA,UACR,cAAc,EAAA,IAAA,CAAA,WAAA;AAAA,UACd,KAAO,EAAA,IAAA,CAAA,KAAA;AAAA,UACP,KAAA,EAAKH,mBAAE,IAAe,CAAA,eAAA,CAAA;AAAA,UACtB,UAAU,EAAA,IAAA,CAAA,eAAA;AAAA,UACV,gBAAgB,EAAA,IAAA,CAAA,aAAA;AAAA,SAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,gBAAA,CAAA,CAAA;;qBAXV,IAAO,CAAA,OAAA,CAAA;AAAA,QAAA,CAAA,qBAAA,EAEF,IAA4B,CAAA,4BAAA,CAAA;AAAA,OAAA,CAAA,GAAAI,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAYjC,MAAA,IAAA,CAAA,MAAA,IAAU,iCAArBN,sBAAmE,CAAA,KAAA,EAAA;AAAA,QAAA,GAAA,EAAA,CAAA;QAApC,KAAK,EAAAC,kBAAA,CAAE,QAAG,CAAC,CAAA,mBAAA,CAAA,CAAA;AAAA,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,IAAAK,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;;uBAE5CH,sBAIE,CAAA,KAAA,EAAA;AAAA,MAFA,GAAI,EAAA,aAAA;AAAA,MACH,KAAA,EAAKF,kBAAE,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,qBAAA,CAAA,CAAA;AAAA,KAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;kBAFJ,IAAkB,CAAA,kBAAA,CAAA;AAAA,KAAA,CAAA;;;;;;;"}
@@ -5,7 +5,12 @@ declare const _default: import("vue").DefineComponent<{
5
5
  type: import("vue").PropType<any[]>;
6
6
  default: () => never[];
7
7
  };
8
- size: StringConstructor;
8
+ size: {
9
+ readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
10
+ readonly required: false;
11
+ readonly validator: ((val: unknown) => boolean) | undefined;
12
+ __epPropKey: true;
13
+ };
9
14
  width: (StringConstructor | NumberConstructor)[];
10
15
  height: (StringConstructor | NumberConstructor)[];
11
16
  maxHeight: (StringConstructor | NumberConstructor)[];
@@ -179,7 +184,12 @@ declare const _default: import("vue").DefineComponent<{
179
184
  type: import("vue").PropType<any[]>;
180
185
  default: () => never[];
181
186
  };
182
- size: StringConstructor;
187
+ size: {
188
+ readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
189
+ readonly required: false;
190
+ readonly validator: ((val: unknown) => boolean) | undefined;
191
+ __epPropKey: true;
192
+ };
183
193
  width: (StringConstructor | NumberConstructor)[];
184
194
  height: (StringConstructor | NumberConstructor)[];
185
195
  maxHeight: (StringConstructor | NumberConstructor)[];
@@ -131,11 +131,10 @@ const TabNav = vue.defineComponent({
131
131
  const containerSize = navScroll$.value[`offset${strings.capitalize(sizeName.value)}`];
132
132
  const currentOffset = navOffset.value;
133
133
  if (containerSize < navSize) {
134
- const currentOffset2 = navOffset.value;
135
134
  scrollable.value = scrollable.value || {};
136
- scrollable.value.prev = currentOffset2;
137
- scrollable.value.next = currentOffset2 + containerSize < navSize;
138
- if (navSize - currentOffset2 < containerSize) {
135
+ scrollable.value.prev = currentOffset;
136
+ scrollable.value.next = currentOffset + containerSize < navSize;
137
+ if (navSize - currentOffset < containerSize) {
139
138
  navOffset.value = navSize - containerSize;
140
139
  }
141
140
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"tab-nav.js","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\n throwError,\n} from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-plus/tokens'\nimport type { TabPaneName } from './tabs'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport const tabNavEmits = {\n tabClick: (tab: TabsPaneContext, tabName: TabPaneName, ev: Event) =>\n ev instanceof Event,\n tabRemove: (tab: TabsPaneContext, ev: Event) => ev instanceof Event,\n}\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\nexport type TabNavEmits = typeof tabNavEmits\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n emits: tabNavEmits,\n setup(props, { expose, emit }) {\n const vm = getCurrentInstance()!\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n const currentOffset = navOffset.value\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]:not(.is-disabled)'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus({ preventScroll: true }) // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n watch(\n () => props.panes,\n () => vm.update(),\n { flush: 'post' }\n )\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const uid = pane.uid\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable = !disabled && (pane.isClosable || props.editable)\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex = !disabled && pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${uid}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n emit('tabClick', pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n emit('tabRemove', pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !props.type ? <TabBar tabs={[...props.panes]} /> : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav>\nexport default TabNav\n"],"names":["tabNavProps","buildProps","panes","type","definePropType","Array","default","mutable","currentName","String","Number","editable","Boolean","values","stretch","tabNavEmits","tabClick","tab","tabName","ev","Event","tabRemove","COMPONENT_NAME","TabNav","defineComponent","name","props","emits","expose","emit","getCurrentInstance","vm","throwError","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","rootTabs","tabPosition","navStyle","dir","value","transform","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","navScroll","navScrollBounding","maxOffset","isHorizontal","offsetWidth","activeTabBounding","right","top","bottom","max","update","navSize","next","changeTab","EVENT_CODE","down","currentTarget","currentIndex","nextIndex","tabList","preventScroll","click","setFocus","watch","_createVNode","ElIcon","useResizeObserver","ArrowLeft","setTimeout","onUpdated","removeFocus","flush","is","prev","pane","disabled","btnClose","active","uid","tabLabelContent","TabBar"],"mappings":"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"}
1
+ {"version":3,"file":"tab-nav.js","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\n throwError,\n} from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-plus/tokens'\nimport type { TabPaneName } from './tabs'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport const tabNavEmits = {\n tabClick: (tab: TabsPaneContext, tabName: TabPaneName, ev: Event) =>\n ev instanceof Event,\n tabRemove: (tab: TabsPaneContext, ev: Event) => ev instanceof Event,\n}\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\nexport type TabNavEmits = typeof tabNavEmits\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n emits: tabNavEmits,\n setup(props, { expose, emit }) {\n const vm = getCurrentInstance()!\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]:not(.is-disabled)'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus({ preventScroll: true }) // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n watch(\n () => props.panes,\n () => vm.update(),\n { flush: 'post' }\n )\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const uid = pane.uid\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable = !disabled && (pane.isClosable || props.editable)\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex = !disabled && pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${uid}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n emit('tabClick', pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n emit('tabRemove', pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n >\n {...[\n !props.type ? <TabBar tabs={[...props.panes]} /> : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav>\nexport default TabNav\n"],"names":["tabNavProps","buildProps","panes","type","definePropType","Array","default","mutable","currentName","String","Number","editable","Boolean","values","stretch","tabNavEmits","tabClick","tab","tabName","ev","Event","tabRemove","COMPONENT_NAME","TabNav","defineComponent","name","props","emits","expose","emit","getCurrentInstance","vm","throwError","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","rootTabs","tabPosition","navStyle","dir","value","transform","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","navScroll","navScrollBounding","maxOffset","isHorizontal","offsetWidth","activeTabBounding","right","top","bottom","max","update","navSize","next","changeTab","EVENT_CODE","down","currentTarget","currentIndex","nextIndex","tabList","preventScroll","click","setFocus","watch","_createVNode","ElIcon","useResizeObserver","ArrowLeft","setTimeout","onUpdated","removeFocus","flush","is","prev","pane","disabled","btnClose","active","uid","tabLabelContent","TabBar"],"mappings":"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"}