@element-plus/nightly 0.0.20251211 → 0.0.20251213

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 (582) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +42 -14
  3. package/dist/index.full.min.js +10 -10
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +10 -10
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +42 -14
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/affix/index.mjs +2 -2
  277. package/es/components/affix/src/affix.mjs +129 -24
  278. package/es/components/affix/src/affix.mjs.map +1 -1
  279. package/es/components/affix/src/affix2.mjs +24 -129
  280. package/es/components/affix/src/affix2.mjs.map +1 -1
  281. package/es/components/calendar/src/calendar2.mjs +1 -1
  282. package/es/components/calendar/src/date-table.mjs +89 -31
  283. package/es/components/calendar/src/date-table.mjs.map +1 -1
  284. package/es/components/calendar/src/date-table2.mjs +31 -89
  285. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  286. package/es/components/calendar/src/use-date-table.mjs +1 -1
  287. package/es/components/card/index.mjs +2 -2
  288. package/es/components/card/src/card.mjs +23 -48
  289. package/es/components/card/src/card.mjs.map +1 -1
  290. package/es/components/card/src/card2.mjs +48 -23
  291. package/es/components/card/src/card2.mjs.map +1 -1
  292. package/es/components/cascader/index.mjs +2 -2
  293. package/es/components/cascader/src/cascader.mjs +717 -102
  294. package/es/components/cascader/src/cascader.mjs.map +1 -1
  295. package/es/components/cascader/src/cascader2.mjs +102 -717
  296. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  297. package/es/components/color-picker/index.mjs +2 -2
  298. package/es/components/color-picker/src/color-picker.mjs +49 -347
  299. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  300. package/es/components/color-picker/src/color-picker2.mjs +347 -49
  301. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  302. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.mjs +2 -2
  303. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.mjs.map +1 -1
  304. package/es/components/dropdown/index.mjs +2 -2
  305. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  306. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  307. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  308. package/es/components/dropdown/src/dropdown.mjs +258 -112
  309. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  310. package/es/components/dropdown/src/dropdown2.mjs +112 -258
  311. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  312. package/es/components/index.mjs +15 -15
  313. package/es/components/input-tag/index.mjs +2 -2
  314. package/es/components/input-tag/src/input-tag.mjs +283 -83
  315. package/es/components/input-tag/src/input-tag.mjs.map +1 -1
  316. package/es/components/input-tag/src/input-tag2.mjs +83 -283
  317. package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
  318. package/es/components/menu/index.mjs +2 -2
  319. package/es/components/menu/src/menu-item.mjs +15 -103
  320. package/es/components/menu/src/menu-item.mjs.map +1 -1
  321. package/es/components/menu/src/menu-item2.mjs +103 -15
  322. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  323. package/es/components/notification/index.mjs +1 -1
  324. package/es/components/notification/src/notification.mjs +147 -73
  325. package/es/components/notification/src/notification.mjs.map +1 -1
  326. package/es/components/notification/src/notification2.mjs +73 -147
  327. package/es/components/notification/src/notification2.mjs.map +1 -1
  328. package/es/components/notification/src/notify.mjs +2 -2
  329. package/es/components/pagination/src/components/jumper.mjs +58 -7
  330. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  331. package/es/components/pagination/src/components/jumper2.mjs +7 -58
  332. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  333. package/es/components/pagination/src/components/next.mjs +18 -35
  334. package/es/components/pagination/src/components/next.mjs.map +1 -1
  335. package/es/components/pagination/src/components/next2.mjs +35 -18
  336. package/es/components/pagination/src/components/next2.mjs.map +1 -1
  337. package/es/components/pagination/src/components/pager.mjs +210 -16
  338. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  339. package/es/components/pagination/src/components/pager2.mjs +16 -210
  340. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  341. package/es/components/pagination/src/components/prev.mjs +17 -35
  342. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  343. package/es/components/pagination/src/components/prev2.mjs +35 -17
  344. package/es/components/pagination/src/components/prev2.mjs.map +1 -1
  345. package/es/components/pagination/src/components/sizes.mjs +26 -72
  346. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  347. package/es/components/pagination/src/components/sizes2.mjs +72 -26
  348. package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
  349. package/es/components/pagination/src/components/total.mjs +26 -6
  350. package/es/components/pagination/src/components/total.mjs.map +1 -1
  351. package/es/components/pagination/src/components/total2.mjs +6 -26
  352. package/es/components/pagination/src/components/total2.mjs.map +1 -1
  353. package/es/components/pagination/src/pagination.mjs +6 -6
  354. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  355. package/es/components/popover/src/popover.mjs +2 -2
  356. package/es/components/popper/index.mjs +2 -2
  357. package/es/components/popper/src/popper.mjs +22 -32
  358. package/es/components/popper/src/popper.mjs.map +1 -1
  359. package/es/components/popper/src/popper2.mjs +32 -22
  360. package/es/components/popper/src/popper2.mjs.map +1 -1
  361. package/es/components/segmented/index.mjs +2 -2
  362. package/es/components/segmented/src/segmented.mjs +45 -171
  363. package/es/components/segmented/src/segmented.mjs.map +1 -1
  364. package/es/components/segmented/src/segmented2.mjs +171 -45
  365. package/es/components/segmented/src/segmented2.mjs.map +1 -1
  366. package/es/components/skeleton/index.mjs +2 -2
  367. package/es/components/skeleton/src/skeleton-item.mjs +17 -22
  368. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  369. package/es/components/skeleton/src/skeleton-item2.mjs +22 -17
  370. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  371. package/es/components/skeleton/src/skeleton2.mjs +1 -1
  372. package/es/components/slider/src/button.mjs +91 -19
  373. package/es/components/slider/src/button.mjs.map +1 -1
  374. package/es/components/slider/src/button2.mjs +19 -91
  375. package/es/components/slider/src/button2.mjs.map +1 -1
  376. package/es/components/slider/src/slider2.mjs +1 -1
  377. package/es/components/table/src/table-header/index.mjs +1 -0
  378. package/es/components/table/src/table-header/index.mjs.map +1 -1
  379. package/es/components/table-v2/src/components/expand-icon.d.ts +1 -0
  380. package/es/components/table-v2/src/components/expand-icon.mjs +9 -4
  381. package/es/components/table-v2/src/components/expand-icon.mjs.map +1 -1
  382. package/es/components/table-v2/src/components/sort-icon.d.ts +1 -0
  383. package/es/components/table-v2/src/components/sort-icon.mjs +6 -3
  384. package/es/components/table-v2/src/components/sort-icon.mjs.map +1 -1
  385. package/es/components/table-v2/src/renderers/cell.d.ts +2 -1
  386. package/es/components/table-v2/src/renderers/cell.mjs +2 -0
  387. package/es/components/table-v2/src/renderers/cell.mjs.map +1 -1
  388. package/es/components/table-v2/src/renderers/header-cell.d.ts +2 -1
  389. package/es/components/table-v2/src/renderers/header-cell.mjs +14 -2
  390. package/es/components/table-v2/src/renderers/header-cell.mjs.map +1 -1
  391. package/es/components/table-v2/src/table-v2.mjs +7 -1
  392. package/es/components/table-v2/src/table-v2.mjs.map +1 -1
  393. package/es/components/tabs/index.mjs +1 -1
  394. package/es/components/tabs/src/tab-bar.mjs +92 -11
  395. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  396. package/es/components/tabs/src/tab-bar2.mjs +11 -92
  397. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  398. package/es/components/tabs/src/tab-nav.mjs +1 -1
  399. package/es/components/tooltip/index.mjs +1 -1
  400. package/es/components/tooltip/src/tooltip.mjs +2 -2
  401. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  402. package/es/components/tooltip/src/trigger.mjs +81 -16
  403. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  404. package/es/components/tooltip/src/trigger2.mjs +16 -81
  405. package/es/components/tooltip/src/trigger2.mjs.map +1 -1
  406. package/es/components/tour/index.mjs +4 -4
  407. package/es/components/tour/src/step.mjs +44 -192
  408. package/es/components/tour/src/step.mjs.map +1 -1
  409. package/es/components/tour/src/step2.mjs +192 -44
  410. package/es/components/tour/src/step2.mjs.map +1 -1
  411. package/es/components/tour/src/tour.mjs +69 -154
  412. package/es/components/tour/src/tour.mjs.map +1 -1
  413. package/es/components/tour/src/tour2.mjs +154 -69
  414. package/es/components/tour/src/tour2.mjs.map +1 -1
  415. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  416. package/es/components/transfer/src/transfer-panel.mjs +130 -19
  417. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  418. package/es/components/transfer/src/transfer-panel2.mjs +19 -130
  419. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  420. package/es/components/transfer/src/transfer2.mjs +1 -1
  421. package/es/index.mjs +15 -15
  422. package/es/version.d.ts +1 -1
  423. package/es/version.mjs +1 -1
  424. package/es/version.mjs.map +1 -1
  425. package/lib/components/affix/index.js +2 -2
  426. package/lib/components/affix/src/affix.js +129 -25
  427. package/lib/components/affix/src/affix.js.map +1 -1
  428. package/lib/components/affix/src/affix2.js +25 -129
  429. package/lib/components/affix/src/affix2.js.map +1 -1
  430. package/lib/components/calendar/src/calendar2.js +1 -1
  431. package/lib/components/calendar/src/date-table.js +89 -35
  432. package/lib/components/calendar/src/date-table.js.map +1 -1
  433. package/lib/components/calendar/src/date-table2.js +35 -89
  434. package/lib/components/calendar/src/date-table2.js.map +1 -1
  435. package/lib/components/calendar/src/use-date-table.js +1 -1
  436. package/lib/components/card/index.js +2 -2
  437. package/lib/components/card/src/card.js +24 -48
  438. package/lib/components/card/src/card.js.map +1 -1
  439. package/lib/components/card/src/card2.js +48 -24
  440. package/lib/components/card/src/card2.js.map +1 -1
  441. package/lib/components/cascader/index.js +2 -2
  442. package/lib/components/cascader/src/cascader.js +716 -102
  443. package/lib/components/cascader/src/cascader.js.map +1 -1
  444. package/lib/components/cascader/src/cascader2.js +102 -716
  445. package/lib/components/cascader/src/cascader2.js.map +1 -1
  446. package/lib/components/color-picker/index.js +2 -2
  447. package/lib/components/color-picker/src/color-picker.js +49 -346
  448. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  449. package/lib/components/color-picker/src/color-picker2.js +346 -49
  450. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  451. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.js +2 -2
  452. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.js.map +1 -1
  453. package/lib/components/dropdown/index.js +2 -2
  454. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  455. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  456. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  457. package/lib/components/dropdown/src/dropdown.js +258 -117
  458. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  459. package/lib/components/dropdown/src/dropdown2.js +117 -258
  460. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  461. package/lib/components/index.js +15 -15
  462. package/lib/components/input-tag/index.js +2 -2
  463. package/lib/components/input-tag/src/input-tag.js +281 -82
  464. package/lib/components/input-tag/src/input-tag.js.map +1 -1
  465. package/lib/components/input-tag/src/input-tag2.js +82 -281
  466. package/lib/components/input-tag/src/input-tag2.js.map +1 -1
  467. package/lib/components/menu/index.js +2 -2
  468. package/lib/components/menu/src/menu-item.js +16 -103
  469. package/lib/components/menu/src/menu-item.js.map +1 -1
  470. package/lib/components/menu/src/menu-item2.js +103 -16
  471. package/lib/components/menu/src/menu-item2.js.map +1 -1
  472. package/lib/components/notification/index.js +1 -1
  473. package/lib/components/notification/src/notification.js +146 -74
  474. package/lib/components/notification/src/notification.js.map +1 -1
  475. package/lib/components/notification/src/notification2.js +74 -146
  476. package/lib/components/notification/src/notification2.js.map +1 -1
  477. package/lib/components/notification/src/notify.js +2 -2
  478. package/lib/components/pagination/src/components/jumper.js +58 -7
  479. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  480. package/lib/components/pagination/src/components/jumper2.js +7 -58
  481. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  482. package/lib/components/pagination/src/components/next.js +18 -35
  483. package/lib/components/pagination/src/components/next.js.map +1 -1
  484. package/lib/components/pagination/src/components/next2.js +35 -18
  485. package/lib/components/pagination/src/components/next2.js.map +1 -1
  486. package/lib/components/pagination/src/components/pager.js +210 -16
  487. package/lib/components/pagination/src/components/pager.js.map +1 -1
  488. package/lib/components/pagination/src/components/pager2.js +16 -210
  489. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  490. package/lib/components/pagination/src/components/prev.js +18 -35
  491. package/lib/components/pagination/src/components/prev.js.map +1 -1
  492. package/lib/components/pagination/src/components/prev2.js +35 -18
  493. package/lib/components/pagination/src/components/prev2.js.map +1 -1
  494. package/lib/components/pagination/src/components/sizes.js +26 -72
  495. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  496. package/lib/components/pagination/src/components/sizes2.js +72 -26
  497. package/lib/components/pagination/src/components/sizes2.js.map +1 -1
  498. package/lib/components/pagination/src/components/total.js +26 -6
  499. package/lib/components/pagination/src/components/total.js.map +1 -1
  500. package/lib/components/pagination/src/components/total2.js +6 -26
  501. package/lib/components/pagination/src/components/total2.js.map +1 -1
  502. package/lib/components/pagination/src/pagination.js +6 -6
  503. package/lib/components/popconfirm/src/popconfirm.js +1 -1
  504. package/lib/components/popover/src/popover.js +2 -2
  505. package/lib/components/popper/index.js +2 -2
  506. package/lib/components/popper/src/popper.js +25 -32
  507. package/lib/components/popper/src/popper.js.map +1 -1
  508. package/lib/components/popper/src/popper2.js +32 -25
  509. package/lib/components/popper/src/popper2.js.map +1 -1
  510. package/lib/components/segmented/index.js +2 -2
  511. package/lib/components/segmented/src/segmented.js +47 -171
  512. package/lib/components/segmented/src/segmented.js.map +1 -1
  513. package/lib/components/segmented/src/segmented2.js +171 -47
  514. package/lib/components/segmented/src/segmented2.js.map +1 -1
  515. package/lib/components/skeleton/index.js +2 -2
  516. package/lib/components/skeleton/src/skeleton-item.js +17 -22
  517. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  518. package/lib/components/skeleton/src/skeleton-item2.js +22 -17
  519. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  520. package/lib/components/skeleton/src/skeleton2.js +1 -1
  521. package/lib/components/slider/src/button.js +91 -20
  522. package/lib/components/slider/src/button.js.map +1 -1
  523. package/lib/components/slider/src/button2.js +20 -91
  524. package/lib/components/slider/src/button2.js.map +1 -1
  525. package/lib/components/slider/src/slider2.js +1 -1
  526. package/lib/components/table/src/table-header/index.js +1 -0
  527. package/lib/components/table/src/table-header/index.js.map +1 -1
  528. package/lib/components/table-v2/src/components/expand-icon.d.ts +1 -0
  529. package/lib/components/table-v2/src/components/expand-icon.js +9 -4
  530. package/lib/components/table-v2/src/components/expand-icon.js.map +1 -1
  531. package/lib/components/table-v2/src/components/sort-icon.d.ts +1 -0
  532. package/lib/components/table-v2/src/components/sort-icon.js +6 -3
  533. package/lib/components/table-v2/src/components/sort-icon.js.map +1 -1
  534. package/lib/components/table-v2/src/renderers/cell.d.ts +2 -1
  535. package/lib/components/table-v2/src/renderers/cell.js +2 -0
  536. package/lib/components/table-v2/src/renderers/cell.js.map +1 -1
  537. package/lib/components/table-v2/src/renderers/header-cell.d.ts +2 -1
  538. package/lib/components/table-v2/src/renderers/header-cell.js +14 -2
  539. package/lib/components/table-v2/src/renderers/header-cell.js.map +1 -1
  540. package/lib/components/table-v2/src/table-v2.js +7 -1
  541. package/lib/components/table-v2/src/table-v2.js.map +1 -1
  542. package/lib/components/tabs/index.js +1 -1
  543. package/lib/components/tabs/src/tab-bar.js +92 -11
  544. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  545. package/lib/components/tabs/src/tab-bar2.js +11 -92
  546. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  547. package/lib/components/tabs/src/tab-nav.js +1 -1
  548. package/lib/components/tooltip/index.js +1 -1
  549. package/lib/components/tooltip/src/tooltip.js +2 -2
  550. package/lib/components/tooltip/src/tooltip2.js +1 -1
  551. package/lib/components/tooltip/src/trigger.js +81 -16
  552. package/lib/components/tooltip/src/trigger.js.map +1 -1
  553. package/lib/components/tooltip/src/trigger2.js +16 -81
  554. package/lib/components/tooltip/src/trigger2.js.map +1 -1
  555. package/lib/components/tour/index.js +4 -4
  556. package/lib/components/tour/src/step.js +44 -191
  557. package/lib/components/tour/src/step.js.map +1 -1
  558. package/lib/components/tour/src/step2.js +191 -44
  559. package/lib/components/tour/src/step2.js.map +1 -1
  560. package/lib/components/tour/src/tour.js +69 -153
  561. package/lib/components/tour/src/tour.js.map +1 -1
  562. package/lib/components/tour/src/tour2.js +153 -69
  563. package/lib/components/tour/src/tour2.js.map +1 -1
  564. package/lib/components/transfer/src/composables/use-check.js +1 -1
  565. package/lib/components/transfer/src/transfer-panel.js +130 -21
  566. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  567. package/lib/components/transfer/src/transfer-panel2.js +21 -130
  568. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  569. package/lib/components/transfer/src/transfer2.js +1 -1
  570. package/lib/index.js +15 -15
  571. package/lib/version.d.ts +1 -1
  572. package/lib/version.js +1 -1
  573. package/lib/version.js.map +1 -1
  574. package/package.json +2 -2
  575. package/theme-chalk/el-radio.css +1 -1
  576. package/theme-chalk/el-table-v2.css +1 -1
  577. package/theme-chalk/index.css +1 -1
  578. package/theme-chalk/src/col.scss +10 -2
  579. package/theme-chalk/src/mixins/_col.scss +10 -2
  580. package/theme-chalk/src/radio.scss +5 -0
  581. package/theme-chalk/src/table-v2.scss +3 -2
  582. package/web-types.json +1 -1
@@ -1,10 +1,11 @@
1
1
  import type { FunctionalComponent, UnwrapNestedRefs } from 'vue';
2
2
  import type { TableV2RowCellRenderParam } from '../components';
3
- import type { UseNamespaceReturn } from '@element-plus/nightly/es/hooks';
3
+ import type { Translator, UseNamespaceReturn } from '@element-plus/nightly/es/hooks';
4
4
  import type { UseTableReturn } from '../use-table';
5
5
  import type { TableV2Props } from '../table';
6
6
  type CellRendererProps = TableV2RowCellRenderParam & Pick<TableV2Props, 'cellProps' | 'expandColumnKey' | 'indentSize' | 'iconSize' | 'rowKey'> & UnwrapNestedRefs<Pick<UseTableReturn, 'expandedRowKeys'>> & {
7
7
  ns: UseNamespaceReturn;
8
+ t: Translator;
8
9
  };
9
10
  declare const CellRenderer: FunctionalComponent<CellRendererProps>;
10
11
  export default CellRenderer;
@@ -23,6 +23,7 @@ const CellRenderer = ({
23
23
  style,
24
24
  expandedRowKeys,
25
25
  ns,
26
+ t,
26
27
  cellProps: _cellProps,
27
28
  expandColumnKey,
28
29
  indentSize,
@@ -81,6 +82,7 @@ const CellRenderer = ({
81
82
  "class": [ns.e("expand-icon"), ns.is("expanded", expanded)],
82
83
  "size": iconSize,
83
84
  "expanded": expanded,
85
+ "ariaLabel": t(expanded ? "el.table.collapseRowLabel" : "el.table.expandRowLabel"),
84
86
  "style": iconStyle,
85
87
  "expandable": true
86
88
  }), null);
@@ -1 +1 @@
1
- {"version":3,"file":"cell.js","sources":["../../../../../../../packages/components/table-v2/src/renderers/cell.tsx"],"sourcesContent":["import { renderSlot } from 'vue'\nimport { get } from 'lodash-unified'\nimport { isFunction, isObject } from '@element-plus/utils'\nimport { ExpandIcon, TableCell } from '../components'\nimport { Alignment } from '../constants'\nimport { placeholderSign } from '../private'\nimport { componentToSlot, enforceUnit, tryCall } from '../utils'\n\nimport type { FunctionalComponent, UnwrapNestedRefs, VNode } from 'vue'\nimport type { TableV2RowCellRenderParam } from '../components'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\nimport type { UseTableReturn } from '../use-table'\nimport type { TableV2Props } from '../table'\n\ntype CellRendererProps = TableV2RowCellRenderParam &\n Pick<\n TableV2Props,\n 'cellProps' | 'expandColumnKey' | 'indentSize' | 'iconSize' | 'rowKey'\n > &\n UnwrapNestedRefs<Pick<UseTableReturn, 'expandedRowKeys'>> & {\n ns: UseNamespaceReturn\n }\n\nconst CellRenderer: FunctionalComponent<CellRendererProps> = (\n {\n // renderer props\n columns,\n column,\n columnIndex,\n depth,\n expandIconProps,\n isScrolling,\n rowData,\n rowIndex,\n // from use-table\n style,\n expandedRowKeys,\n ns,\n // derived props\n cellProps: _cellProps,\n expandColumnKey,\n indentSize,\n iconSize,\n rowKey,\n },\n { slots }\n) => {\n const cellStyle = enforceUnit(style)\n\n if (column.placeholderSign === placeholderSign) {\n return <div class={ns.em('row-cell', 'placeholder')} style={cellStyle} />\n }\n const { cellRenderer, dataKey, dataGetter } = column\n\n const cellData = isFunction(dataGetter)\n ? dataGetter({ columns, column, columnIndex, rowData, rowIndex })\n : get(rowData, dataKey ?? '')\n\n const extraCellProps = tryCall(_cellProps, {\n cellData,\n columns,\n column,\n columnIndex,\n rowIndex,\n rowData,\n })\n\n const cellProps = {\n class: ns.e('cell-text'),\n columns,\n column,\n columnIndex,\n cellData,\n isScrolling,\n rowData,\n rowIndex,\n }\n const columnCellRenderer = componentToSlot<typeof cellProps>(cellRenderer)\n const Cell = columnCellRenderer\n ? columnCellRenderer(cellProps)\n : renderSlot(slots, 'default', cellProps, () => [\n <TableCell {...cellProps}></TableCell>,\n ])\n\n const kls = [\n ns.e('row-cell'),\n column.class,\n column.align === Alignment.CENTER && ns.is('align-center'),\n column.align === Alignment.RIGHT && ns.is('align-right'),\n ]\n\n const expandable =\n rowIndex >= 0 && expandColumnKey && column.key === expandColumnKey\n const expanded = rowIndex >= 0 && expandedRowKeys.includes(rowData[rowKey])\n\n let IconOrPlaceholder: VNode | undefined\n const iconStyle = `margin-inline-start: ${depth * indentSize}px;`\n if (expandable) {\n if (isObject(expandIconProps)) {\n IconOrPlaceholder = (\n <ExpandIcon\n {...expandIconProps}\n class={[ns.e('expand-icon'), ns.is('expanded', expanded)]}\n size={iconSize}\n expanded={expanded}\n style={iconStyle}\n expandable\n />\n )\n } else {\n IconOrPlaceholder = (\n <div\n style={[\n iconStyle,\n `width: ${iconSize}px; height: ${iconSize}px;`,\n ].join(' ')}\n />\n )\n }\n }\n\n return (\n <div class={kls} style={cellStyle} {...extraCellProps} role=\"cell\">\n {IconOrPlaceholder}\n {Cell}\n </div>\n )\n}\n\nCellRenderer.inheritAttrs = false\n\nexport default CellRenderer\n"],"names":["CellRenderer","columns","column","columnIndex","depth","expandIconProps","isScrolling","rowData","rowIndex","style","expandedRowKeys","ns","cellProps","indentSize","rowKey","placeholderSign","slots","cellStyle","cellRenderer","dataKey","dataGetter","cellData","tryCall","class","componentToSlot","renderSlot","_createVNode","TableCell","Alignment","columnCellRenderer","Cell","kls","expandColumnKey","ExpandIcon","_mergeProps","expanded","includes","iconStyle","isObject","IconOrPlaceholder"],"mappings":"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"}
1
+ {"version":3,"file":"cell.js","sources":["../../../../../../../packages/components/table-v2/src/renderers/cell.tsx"],"sourcesContent":["import { renderSlot } from 'vue'\nimport { get } from 'lodash-unified'\nimport { isFunction, isObject } from '@element-plus/utils'\nimport { ExpandIcon, TableCell } from '../components'\nimport { Alignment } from '../constants'\nimport { placeholderSign } from '../private'\nimport { componentToSlot, enforceUnit, tryCall } from '../utils'\n\nimport type { FunctionalComponent, UnwrapNestedRefs, VNode } from 'vue'\nimport type { TableV2RowCellRenderParam } from '../components'\nimport type { Translator, UseNamespaceReturn } from '@element-plus/hooks'\nimport type { UseTableReturn } from '../use-table'\nimport type { TableV2Props } from '../table'\n\ntype CellRendererProps = TableV2RowCellRenderParam &\n Pick<\n TableV2Props,\n 'cellProps' | 'expandColumnKey' | 'indentSize' | 'iconSize' | 'rowKey'\n > &\n UnwrapNestedRefs<Pick<UseTableReturn, 'expandedRowKeys'>> & {\n ns: UseNamespaceReturn\n t: Translator\n }\n\nconst CellRenderer: FunctionalComponent<CellRendererProps> = (\n {\n // renderer props\n columns,\n column,\n columnIndex,\n depth,\n expandIconProps,\n isScrolling,\n rowData,\n rowIndex,\n // from use-table\n style,\n expandedRowKeys,\n ns,\n t,\n // derived props\n cellProps: _cellProps,\n expandColumnKey,\n indentSize,\n iconSize,\n rowKey,\n },\n { slots }\n) => {\n const cellStyle = enforceUnit(style)\n\n if (column.placeholderSign === placeholderSign) {\n return <div class={ns.em('row-cell', 'placeholder')} style={cellStyle} />\n }\n const { cellRenderer, dataKey, dataGetter } = column\n\n const cellData = isFunction(dataGetter)\n ? dataGetter({ columns, column, columnIndex, rowData, rowIndex })\n : get(rowData, dataKey ?? '')\n\n const extraCellProps = tryCall(_cellProps, {\n cellData,\n columns,\n column,\n columnIndex,\n rowIndex,\n rowData,\n })\n\n const cellProps = {\n class: ns.e('cell-text'),\n columns,\n column,\n columnIndex,\n cellData,\n isScrolling,\n rowData,\n rowIndex,\n }\n const columnCellRenderer = componentToSlot<typeof cellProps>(cellRenderer)\n const Cell = columnCellRenderer\n ? columnCellRenderer(cellProps)\n : renderSlot(slots, 'default', cellProps, () => [\n <TableCell {...cellProps}></TableCell>,\n ])\n\n const kls = [\n ns.e('row-cell'),\n column.class,\n column.align === Alignment.CENTER && ns.is('align-center'),\n column.align === Alignment.RIGHT && ns.is('align-right'),\n ]\n\n const expandable =\n rowIndex >= 0 && expandColumnKey && column.key === expandColumnKey\n const expanded = rowIndex >= 0 && expandedRowKeys.includes(rowData[rowKey])\n\n let IconOrPlaceholder: VNode | undefined\n const iconStyle = `margin-inline-start: ${depth * indentSize}px;`\n if (expandable) {\n if (isObject(expandIconProps)) {\n IconOrPlaceholder = (\n <ExpandIcon\n {...expandIconProps}\n class={[ns.e('expand-icon'), ns.is('expanded', expanded)]}\n size={iconSize}\n expanded={expanded}\n ariaLabel={t(\n expanded ? 'el.table.collapseRowLabel' : 'el.table.expandRowLabel'\n )}\n style={iconStyle}\n expandable\n />\n )\n } else {\n IconOrPlaceholder = (\n <div\n style={[\n iconStyle,\n `width: ${iconSize}px; height: ${iconSize}px;`,\n ].join(' ')}\n />\n )\n }\n }\n\n return (\n <div class={kls} style={cellStyle} {...extraCellProps} role=\"cell\">\n {IconOrPlaceholder}\n {Cell}\n </div>\n )\n}\n\nCellRenderer.inheritAttrs = false\n\nexport default CellRenderer\n"],"names":["CellRenderer","columns","column","columnIndex","depth","expandIconProps","isScrolling","rowData","rowIndex","style","expandedRowKeys","ns","t","cellProps","indentSize","rowKey","placeholderSign","slots","cellStyle","cellRenderer","dataKey","dataGetter","cellData","tryCall","class","componentToSlot","renderSlot","_createVNode","TableCell","Alignment","columnCellRenderer","Cell","kls","expandColumnKey","ExpandIcon","_mergeProps","expanded","includes","iconStyle","isObject","IconOrPlaceholder"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import type { FunctionalComponent, UnwrapNestedRefs } from 'vue';
2
- import type { UseNamespaceReturn } from '@element-plus/nightly/es/hooks';
2
+ import type { Translator, UseNamespaceReturn } from '@element-plus/nightly/es/hooks';
3
3
  import type { TableV2HeaderRowCellRendererParams } from '../components';
4
4
  import type { UseTableReturn } from '../use-table';
5
5
  import type { TableV2Props } from '../table';
6
6
  export type HeaderCellRendererProps = TableV2HeaderRowCellRendererParams & UnwrapNestedRefs<Pick<UseTableReturn, 'onColumnSorted'>> & Pick<TableV2Props, 'sortBy' | 'sortState' | 'headerCellProps'> & {
7
7
  ns: UseNamespaceReturn;
8
+ t: Translator;
8
9
  };
9
10
  declare const HeaderCellRenderer: FunctionalComponent<HeaderCellRendererProps>;
10
11
  export default HeaderCellRenderer;
@@ -15,6 +15,7 @@ const HeaderCellRenderer = (props, {
15
15
  const {
16
16
  column,
17
17
  ns,
18
+ t,
18
19
  style,
19
20
  onColumnSorted
20
21
  } = props;
@@ -41,7 +42,7 @@ const HeaderCellRenderer = (props, {
41
42
  sortState,
42
43
  headerCellProps
43
44
  } = props;
44
- let sorting, sortOrder;
45
+ let sorting, sortOrder, ariaSort;
45
46
  if (sortState) {
46
47
  const order = sortState[column.key];
47
48
  sorting = Boolean(constants.oppositeOrderMap[order]);
@@ -50,10 +51,18 @@ const HeaderCellRenderer = (props, {
50
51
  sorting = column.key === sortBy.key;
51
52
  sortOrder = sorting ? sortBy.order : constants.SortOrder.ASC;
52
53
  }
54
+ if (sortOrder === constants.SortOrder.ASC) {
55
+ ariaSort = "ascending";
56
+ } else if (sortOrder === constants.SortOrder.DESC) {
57
+ ariaSort = "descending";
58
+ } else {
59
+ ariaSort = void 0;
60
+ }
53
61
  const cellKls = [ns.e("header-cell"), utils.tryCall(headerClass, props, ""), column.align === constants.Alignment.CENTER && ns.is("align-center"), column.align === constants.Alignment.RIGHT && ns.is("align-right"), sortable && ns.is("sortable")];
54
62
  const cellWrapperProps = {
55
63
  ...utils.tryCall(headerCellProps, props),
56
64
  onClick: column.sortable ? onColumnSorted : void 0,
65
+ ariaSort: sortable ? ariaSort : void 0,
57
66
  class: cellKls,
58
67
  style: cellStyle,
59
68
  ["data-key"]: column.key
@@ -62,7 +71,10 @@ const HeaderCellRenderer = (props, {
62
71
  "role": "columnheader"
63
72
  }), [Cell, sortable && vue.createVNode(sortIcon["default"], {
64
73
  "class": [ns.e("sort-icon"), sorting && ns.is("sorting")],
65
- "sortOrder": sortOrder
74
+ "sortOrder": sortOrder,
75
+ "ariaLabel": t("el.table.sortLabel", {
76
+ column: column.title || ""
77
+ })
66
78
  }, null)]);
67
79
  };
68
80
  var HeaderCell = HeaderCellRenderer;
@@ -1 +1 @@
1
- {"version":3,"file":"header-cell.js","sources":["../../../../../../../packages/components/table-v2/src/renderers/header-cell.tsx"],"sourcesContent":["import { renderSlot } from 'vue'\nimport { HeaderCell, SortIcon } from '../components'\n// import ColumnResizer from '../table-column-resizer'\nimport { Alignment, SortOrder, oppositeOrderMap } from '../constants'\nimport { placeholderSign } from '../private'\nimport { componentToSlot, enforceUnit, tryCall } from '../utils'\n\nimport type { FunctionalComponent, UnwrapNestedRefs } from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\nimport type { TableV2HeaderRowCellRendererParams } from '../components'\nimport type { UseTableReturn } from '../use-table'\nimport type { TableV2Props } from '../table'\n\nexport type HeaderCellRendererProps = TableV2HeaderRowCellRendererParams &\n UnwrapNestedRefs<Pick<UseTableReturn, 'onColumnSorted'>> &\n Pick<TableV2Props, 'sortBy' | 'sortState' | 'headerCellProps'> & {\n ns: UseNamespaceReturn\n }\n\nconst HeaderCellRenderer: FunctionalComponent<HeaderCellRendererProps> = (\n props,\n { slots }\n) => {\n const { column, ns, style, onColumnSorted } = props\n\n const cellStyle = enforceUnit(style)\n\n if (column.placeholderSign === placeholderSign) {\n return (\n <div class={ns.em('header-row-cell', 'placeholder')} style={cellStyle} />\n )\n }\n\n const { headerCellRenderer, headerClass, sortable } = column\n\n /**\n * render Cell children\n */\n\n const cellProps = {\n ...props,\n class: ns.e('header-cell-text'),\n }\n\n const columnCellRenderer =\n componentToSlot<typeof cellProps>(headerCellRenderer)\n\n const Cell = columnCellRenderer\n ? columnCellRenderer(cellProps)\n : renderSlot(slots, 'default', cellProps, () => [\n <HeaderCell {...cellProps} />,\n ])\n\n /**\n * Render cell container and sort indicator\n */\n const { sortBy, sortState, headerCellProps } = props\n\n let sorting: boolean, sortOrder: SortOrder\n if (sortState) {\n const order = sortState[column.key!]\n sorting = Boolean(oppositeOrderMap[order])\n sortOrder = sorting ? order : SortOrder.ASC\n } else {\n sorting = column.key === sortBy.key\n sortOrder = sorting ? sortBy.order : SortOrder.ASC\n }\n\n const cellKls = [\n ns.e('header-cell'),\n tryCall(headerClass, props, ''),\n column.align === Alignment.CENTER && ns.is('align-center'),\n column.align === Alignment.RIGHT && ns.is('align-right'),\n sortable && ns.is('sortable'),\n ]\n\n const cellWrapperProps = {\n ...tryCall(headerCellProps, props),\n onClick: column.sortable ? onColumnSorted : undefined,\n class: cellKls,\n style: cellStyle,\n ['data-key']: column.key,\n }\n\n // For now we don't deliver resizable column feature since it has some UX issue.\n return (\n <div {...cellWrapperProps} role=\"columnheader\">\n {Cell}\n\n {sortable && (\n <SortIcon\n class={[ns.e('sort-icon'), sorting && ns.is('sorting')]}\n sortOrder={sortOrder}\n />\n )}\n </div>\n )\n}\n\nexport default HeaderCellRenderer\nexport type HeaderCellSlotProps = HeaderCellRendererProps & { class: string }\n"],"names":["enforceUnit","HeaderCellRenderer","slots","column","ns","onColumnSorted","props","placeholderSign","_createVNode","cellStyle","headerClass","sortable","componentToSlot","renderSlot","HeaderCell","class","Cell","columnCellRenderer","oppositeOrderMap","SortOrder","sortBy","headerCellProps","sorting","sortOrder","sortState","_mergeProps","SortIcon","cellKls","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"header-cell.js","sources":["../../../../../../../packages/components/table-v2/src/renderers/header-cell.tsx"],"sourcesContent":["import { renderSlot } from 'vue'\nimport { HeaderCell, SortIcon } from '../components'\n// import ColumnResizer from '../table-column-resizer'\nimport { Alignment, SortOrder, oppositeOrderMap } from '../constants'\nimport { placeholderSign } from '../private'\nimport { componentToSlot, enforceUnit, tryCall } from '../utils'\n\nimport type { FunctionalComponent, UnwrapNestedRefs } from 'vue'\nimport type { Translator, UseNamespaceReturn } from '@element-plus/hooks'\nimport type { TableV2HeaderRowCellRendererParams } from '../components'\nimport type { UseTableReturn } from '../use-table'\nimport type { TableV2Props } from '../table'\n\nexport type HeaderCellRendererProps = TableV2HeaderRowCellRendererParams &\n UnwrapNestedRefs<Pick<UseTableReturn, 'onColumnSorted'>> &\n Pick<TableV2Props, 'sortBy' | 'sortState' | 'headerCellProps'> & {\n ns: UseNamespaceReturn\n t: Translator\n }\n\nconst HeaderCellRenderer: FunctionalComponent<HeaderCellRendererProps> = (\n props,\n { slots }\n) => {\n const { column, ns, t, style, onColumnSorted } = props\n\n const cellStyle = enforceUnit(style)\n\n if (column.placeholderSign === placeholderSign) {\n return (\n <div class={ns.em('header-row-cell', 'placeholder')} style={cellStyle} />\n )\n }\n\n const { headerCellRenderer, headerClass, sortable } = column\n\n /**\n * render Cell children\n */\n\n const cellProps = {\n ...props,\n class: ns.e('header-cell-text'),\n }\n\n const columnCellRenderer =\n componentToSlot<typeof cellProps>(headerCellRenderer)\n\n const Cell = columnCellRenderer\n ? columnCellRenderer(cellProps)\n : renderSlot(slots, 'default', cellProps, () => [\n <HeaderCell {...cellProps} />,\n ])\n\n /**\n * Render cell container and sort indicator\n */\n const { sortBy, sortState, headerCellProps } = props\n\n let sorting: boolean, sortOrder: SortOrder, ariaSort: string | undefined\n if (sortState) {\n const order = sortState[column.key!]\n sorting = Boolean(oppositeOrderMap[order])\n sortOrder = sorting ? order : SortOrder.ASC\n } else {\n sorting = column.key === sortBy.key\n sortOrder = sorting ? sortBy.order : SortOrder.ASC\n }\n if (sortOrder === SortOrder.ASC) {\n ariaSort = 'ascending'\n } else if (sortOrder === SortOrder.DESC) {\n ariaSort = 'descending'\n } else {\n ariaSort = undefined\n }\n\n const cellKls = [\n ns.e('header-cell'),\n tryCall(headerClass, props, ''),\n column.align === Alignment.CENTER && ns.is('align-center'),\n column.align === Alignment.RIGHT && ns.is('align-right'),\n sortable && ns.is('sortable'),\n ]\n\n const cellWrapperProps = {\n ...tryCall(headerCellProps, props),\n onClick: column.sortable ? onColumnSorted : undefined,\n ariaSort: sortable ? ariaSort : undefined,\n class: cellKls,\n style: cellStyle,\n ['data-key']: column.key,\n }\n\n // For now we don't deliver resizable column feature since it has some UX issue.\n return (\n <div {...cellWrapperProps} role=\"columnheader\">\n {Cell}\n\n {sortable && (\n <SortIcon\n class={[ns.e('sort-icon'), sorting && ns.is('sorting')]}\n sortOrder={sortOrder}\n ariaLabel={t('el.table.sortLabel', { column: column.title || '' })}\n />\n )}\n </div>\n )\n}\n\nexport default HeaderCellRenderer\nexport type HeaderCellSlotProps = HeaderCellRendererProps & { class: string }\n"],"names":["enforceUnit","HeaderCellRenderer","slots","column","ns","t","onColumnSorted","props","placeholderSign","_createVNode","cellStyle","headerClass","sortable","componentToSlot","renderSlot","HeaderCell","class","Cell","columnCellRenderer","oppositeOrderMap","SortOrder","sortBy","headerCellProps","sortState","sorting","sortOrder","Alignment","ariaSort","_mergeProps","SortIcon","cellKls","tryCall","cellWrapperProps","onClick","style"],"mappings":"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"}
@@ -17,6 +17,7 @@ var footer = require('./renderers/footer.js');
17
17
  var empty = require('./renderers/empty.js');
18
18
  var overlay = require('./renderers/overlay.js');
19
19
  var index = require('../../../hooks/use-namespace/index.js');
20
+ var index$1 = require('../../../hooks/use-locale/index.js');
20
21
 
21
22
  function _isSlot(s) {
22
23
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
@@ -30,6 +31,9 @@ const TableV2 = vue.defineComponent({
30
31
  expose
31
32
  }) {
32
33
  const ns = index.useNamespace("table-v2");
34
+ const {
35
+ t
36
+ } = index$1.useLocale();
33
37
  const {
34
38
  columnsStyles,
35
39
  fixedColumnsOnLeft,
@@ -199,7 +203,8 @@ const TableV2 = vue.defineComponent({
199
203
  iconSize,
200
204
  rowKey,
201
205
  expandedRowKeys: vue.unref(expandedRowKeys),
202
- ns
206
+ ns,
207
+ t
203
208
  };
204
209
  const tableHeaderProps = {
205
210
  ns,
@@ -209,6 +214,7 @@ const TableV2 = vue.defineComponent({
209
214
  };
210
215
  const tableHeaderCellProps = {
211
216
  ns,
217
+ t,
212
218
  sortBy,
213
219
  sortState,
214
220
  headerCellProps,
@@ -1 +1 @@
1
- {"version":3,"file":"table-v2.js","sources":["../../../../../../packages/components/table-v2/src/table-v2.tsx"],"sourcesContent":["import { defineComponent, provide, unref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useTable } from './use-table'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2Props } from './table'\n// renderers\nimport MainTable from './renderers/main-table'\nimport LeftTable from './renderers/left-table'\nimport RightTable from './renderers/right-table'\nimport Row from './renderers/row'\nimport Cell from './renderers/cell'\nimport Header from './renderers/header'\nimport HeaderCell from './renderers/header-cell'\nimport Footer from './renderers/footer'\nimport Empty from './renderers/empty'\nimport Overlay from './renderers/overlay'\n\nimport type { CSSProperties } from 'vue'\nimport type { TableGridRowSlotParams } from './table-grid'\nimport type { ScrollStrategy } from './composables/use-scrollbar'\nimport type {\n TableV2HeaderRendererParams,\n TableV2HeaderRowCellRendererParams,\n TableV2RowCellRenderParam,\n} from './components'\nimport type { KeyType } from './types'\n\nconst COMPONENT_NAME = 'ElTableV2'\n\nconst TableV2 = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2Props,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n\n const {\n columnsStyles,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n mainColumns,\n mainTableHeight,\n fixedTableHeight,\n leftTableWidth,\n rightTableWidth,\n data,\n depthMap,\n expandedRowKeys,\n hasFixedColumns,\n mainTableRef,\n leftTableRef,\n rightTableRef,\n isDynamic,\n isResetting,\n isScrolling,\n\n bodyWidth,\n emptyStyle,\n rootStyle,\n footerHeight,\n\n showEmpty,\n\n // exposes\n scrollTo,\n scrollToLeft,\n scrollToTop,\n scrollToRow,\n\n getRowHeight,\n onColumnSorted,\n onRowHeightChange,\n onRowHovered,\n onRowExpanded,\n onRowsRendered,\n onScroll,\n onVerticalScroll,\n } = useTable(props)\n\n expose({\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo,\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft,\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n })\n\n provide(TableV2InjectionKey, {\n ns,\n isResetting,\n isScrolling,\n })\n\n return () => {\n const {\n cache,\n cellProps,\n estimatedRowHeight,\n expandColumnKey,\n fixedData,\n headerHeight,\n headerClass,\n headerProps,\n headerCellProps,\n sortBy,\n sortState,\n rowHeight,\n rowClass,\n rowEventHandlers,\n rowKey,\n rowProps,\n scrollbarAlwaysOn,\n indentSize,\n iconSize,\n useIsScrolling,\n vScrollbarSize,\n width,\n } = props\n\n const _data = unref(data)\n\n const mainTableProps = {\n cache,\n class: ns.e('main'),\n columns: unref(mainColumns),\n data: _data,\n fixedData,\n estimatedRowHeight,\n bodyWidth: unref(bodyWidth),\n headerHeight,\n headerWidth: unref(bodyWidth),\n height: unref(mainTableHeight),\n mainTableRef,\n rowKey,\n rowHeight,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width,\n getRowHeight,\n onRowsRendered,\n onScroll,\n }\n\n const leftColumnsWidth = unref(leftTableWidth)\n const _fixedTableHeight = unref(fixedTableHeight)\n\n const leftTableProps = {\n cache,\n class: ns.e('left'),\n columns: unref(fixedColumnsOnLeft),\n data: _data,\n fixedData,\n estimatedRowHeight,\n leftTableRef,\n rowHeight,\n bodyWidth: leftColumnsWidth,\n headerWidth: leftColumnsWidth,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width: leftColumnsWidth,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n\n const rightColumnsWidth = unref(rightTableWidth)\n\n const rightTableProps = {\n cache,\n class: ns.e('right'),\n columns: unref(fixedColumnsOnRight),\n data: _data,\n fixedData,\n estimatedRowHeight,\n rightTableRef,\n rowHeight,\n bodyWidth: rightColumnsWidth,\n headerWidth: rightColumnsWidth,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n width: rightColumnsWidth,\n style: `${ns.cssVarName(\n 'table-scrollbar-size'\n )}: ${vScrollbarSize}px` as unknown as CSSProperties,\n useIsScrolling,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n const _columnsStyles = unref(columnsStyles)\n\n const tableRowProps = {\n ns,\n depthMap: unref(depthMap),\n columnsStyles: _columnsStyles,\n expandColumnKey,\n expandedRowKeys: unref(expandedRowKeys),\n estimatedRowHeight,\n hasFixedColumns: unref(hasFixedColumns),\n rowProps,\n rowClass,\n rowKey,\n rowEventHandlers,\n onRowHovered,\n onRowExpanded,\n onRowHeightChange,\n }\n\n const tableCellProps = {\n cellProps,\n expandColumnKey,\n indentSize,\n iconSize,\n rowKey,\n expandedRowKeys: unref(expandedRowKeys),\n ns,\n }\n\n const tableHeaderProps = {\n ns,\n headerClass,\n headerProps,\n columnsStyles: _columnsStyles,\n }\n\n const tableHeaderCellProps = {\n ns,\n\n sortBy,\n sortState,\n headerCellProps,\n onColumnSorted,\n }\n\n const tableSlots = {\n row: (props: TableGridRowSlotParams) => (\n <Row {...props} {...tableRowProps}>\n {{\n row: slots.row,\n cell: (props: TableV2RowCellRenderParam) =>\n slots.cell ? (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key as KeyType]}\n >\n {slots.cell(props)}\n </Cell>\n ) : (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key as KeyType]}\n />\n ),\n }}\n </Row>\n ),\n header: (props: TableV2HeaderRendererParams) => (\n <Header {...props} {...tableHeaderProps}>\n {{\n header: slots.header,\n cell: (props: TableV2HeaderRowCellRendererParams) =>\n slots['header-cell'] ? (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key as KeyType]}\n >\n {slots['header-cell'](props)}\n </HeaderCell>\n ) : (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key as KeyType]}\n />\n ),\n }}\n </Header>\n ),\n }\n\n const rootKls = [\n props.class,\n ns.b(),\n ns.e('root'),\n ns.is('dynamic', unref(isDynamic)),\n ]\n\n const footerProps = {\n class: ns.e('footer'),\n style: unref(footerHeight),\n }\n\n return (\n <div class={rootKls} style={unref(rootStyle)}>\n <MainTable {...mainTableProps}>{tableSlots}</MainTable>\n <LeftTable {...leftTableProps}>{tableSlots}</LeftTable>\n <RightTable {...rightTableProps}>{tableSlots}</RightTable>\n {slots.footer && (\n <Footer {...footerProps}>{{ default: slots.footer }}</Footer>\n )}\n {unref(showEmpty) && (\n <Empty class={ns.e('empty')} style={unref(emptyStyle)}>\n {{ default: slots.empty }}\n </Empty>\n )}\n {slots.overlay && (\n <Overlay class={ns.e('overlay')}>\n {{ default: slots.overlay }}\n </Overlay>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableV2\n\nexport type TableV2Instance = InstanceType<typeof TableV2> & {\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo: (param: { scrollLeft?: number; scrollTop?: number }) => void\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft: (scrollLeft: number) => void\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop: (scrollTop: number) => void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy?: ScrollStrategy): void\n}\n"],"names":["Overlay","COMPONENT_NAME","TableV2","defineComponent","name","props","useNamespace","slots","expose","columnsStyles","fixedColumnsOnLeft","fixedColumnsOnRight","mainColumns","mainTableHeight","fixedTableHeight","leftTableWidth","rightTableWidth","data","depthMap","expandedRowKeys","hasFixedColumns","mainTableRef","leftTableRef","rightTableRef","isDynamic","isResetting","isScrolling","bodyWidth","emptyStyle","rootStyle","footerHeight","showEmpty","scrollTo","scrollToLeft","scrollToTop","scrollToRow","getRowHeight","onColumnSorted","onRowHeightChange","useTable","onRowsRendered","onScroll","onVerticalScroll","provide","TableV2InjectionKey","unref","cache","cellProps","estimatedRowHeight","expandColumnKey","fixedData","headerHeight","headerClass","headerProps","headerCellProps","sortBy","sortState","rowHeight","rowClass","rowEventHandlers","rowKey","rowProps","scrollbarAlwaysOn","indentSize","iconSize","useIsScrolling","vScrollbarSize","width","_data","class","columns","headerWidth","height","scrollbarStartGap","scrollbarEndGap","_fixedTableHeight","style","tableRowProps","ns","_createVNode","Row","_mergeProps","Cell","Header","tableHeaderProps","HeaderCell","_columnsStyles","row","cell","column","RightTable","Empty","header"],"mappings":"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"}
1
+ {"version":3,"file":"table-v2.js","sources":["../../../../../../packages/components/table-v2/src/table-v2.tsx"],"sourcesContent":["import { defineComponent, provide, unref } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { useTable } from './use-table'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2Props } from './table'\n// renderers\nimport MainTable from './renderers/main-table'\nimport LeftTable from './renderers/left-table'\nimport RightTable from './renderers/right-table'\nimport Row from './renderers/row'\nimport Cell from './renderers/cell'\nimport Header from './renderers/header'\nimport HeaderCell from './renderers/header-cell'\nimport Footer from './renderers/footer'\nimport Empty from './renderers/empty'\nimport Overlay from './renderers/overlay'\n\nimport type { CSSProperties } from 'vue'\nimport type { TableGridRowSlotParams } from './table-grid'\nimport type { ScrollStrategy } from './composables/use-scrollbar'\nimport type {\n TableV2HeaderRendererParams,\n TableV2HeaderRowCellRendererParams,\n TableV2RowCellRenderParam,\n} from './components'\nimport type { KeyType } from './types'\n\nconst COMPONENT_NAME = 'ElTableV2'\n\nconst TableV2 = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2Props,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n const { t } = useLocale()\n\n const {\n columnsStyles,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n mainColumns,\n mainTableHeight,\n fixedTableHeight,\n leftTableWidth,\n rightTableWidth,\n data,\n depthMap,\n expandedRowKeys,\n hasFixedColumns,\n mainTableRef,\n leftTableRef,\n rightTableRef,\n isDynamic,\n isResetting,\n isScrolling,\n\n bodyWidth,\n emptyStyle,\n rootStyle,\n footerHeight,\n\n showEmpty,\n\n // exposes\n scrollTo,\n scrollToLeft,\n scrollToTop,\n scrollToRow,\n\n getRowHeight,\n onColumnSorted,\n onRowHeightChange,\n onRowHovered,\n onRowExpanded,\n onRowsRendered,\n onScroll,\n onVerticalScroll,\n } = useTable(props)\n\n expose({\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo,\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft,\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n })\n\n provide(TableV2InjectionKey, {\n ns,\n isResetting,\n isScrolling,\n })\n\n return () => {\n const {\n cache,\n cellProps,\n estimatedRowHeight,\n expandColumnKey,\n fixedData,\n headerHeight,\n headerClass,\n headerProps,\n headerCellProps,\n sortBy,\n sortState,\n rowHeight,\n rowClass,\n rowEventHandlers,\n rowKey,\n rowProps,\n scrollbarAlwaysOn,\n indentSize,\n iconSize,\n useIsScrolling,\n vScrollbarSize,\n width,\n } = props\n\n const _data = unref(data)\n\n const mainTableProps = {\n cache,\n class: ns.e('main'),\n columns: unref(mainColumns),\n data: _data,\n fixedData,\n estimatedRowHeight,\n bodyWidth: unref(bodyWidth),\n headerHeight,\n headerWidth: unref(bodyWidth),\n height: unref(mainTableHeight),\n mainTableRef,\n rowKey,\n rowHeight,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width,\n getRowHeight,\n onRowsRendered,\n onScroll,\n }\n\n const leftColumnsWidth = unref(leftTableWidth)\n const _fixedTableHeight = unref(fixedTableHeight)\n\n const leftTableProps = {\n cache,\n class: ns.e('left'),\n columns: unref(fixedColumnsOnLeft),\n data: _data,\n fixedData,\n estimatedRowHeight,\n leftTableRef,\n rowHeight,\n bodyWidth: leftColumnsWidth,\n headerWidth: leftColumnsWidth,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width: leftColumnsWidth,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n\n const rightColumnsWidth = unref(rightTableWidth)\n\n const rightTableProps = {\n cache,\n class: ns.e('right'),\n columns: unref(fixedColumnsOnRight),\n data: _data,\n fixedData,\n estimatedRowHeight,\n rightTableRef,\n rowHeight,\n bodyWidth: rightColumnsWidth,\n headerWidth: rightColumnsWidth,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n width: rightColumnsWidth,\n style: `${ns.cssVarName(\n 'table-scrollbar-size'\n )}: ${vScrollbarSize}px` as unknown as CSSProperties,\n useIsScrolling,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n const _columnsStyles = unref(columnsStyles)\n\n const tableRowProps = {\n ns,\n depthMap: unref(depthMap),\n columnsStyles: _columnsStyles,\n expandColumnKey,\n expandedRowKeys: unref(expandedRowKeys),\n estimatedRowHeight,\n hasFixedColumns: unref(hasFixedColumns),\n rowProps,\n rowClass,\n rowKey,\n rowEventHandlers,\n onRowHovered,\n onRowExpanded,\n onRowHeightChange,\n }\n\n const tableCellProps = {\n cellProps,\n expandColumnKey,\n indentSize,\n iconSize,\n rowKey,\n expandedRowKeys: unref(expandedRowKeys),\n ns,\n t,\n }\n\n const tableHeaderProps = {\n ns,\n headerClass,\n headerProps,\n columnsStyles: _columnsStyles,\n }\n\n const tableHeaderCellProps = {\n ns,\n t,\n\n sortBy,\n sortState,\n headerCellProps,\n onColumnSorted,\n }\n\n const tableSlots = {\n row: (props: TableGridRowSlotParams) => (\n <Row {...props} {...tableRowProps}>\n {{\n row: slots.row,\n cell: (props: TableV2RowCellRenderParam) =>\n slots.cell ? (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key as KeyType]}\n >\n {slots.cell(props)}\n </Cell>\n ) : (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key as KeyType]}\n />\n ),\n }}\n </Row>\n ),\n header: (props: TableV2HeaderRendererParams) => (\n <Header {...props} {...tableHeaderProps}>\n {{\n header: slots.header,\n cell: (props: TableV2HeaderRowCellRendererParams) =>\n slots['header-cell'] ? (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key as KeyType]}\n >\n {slots['header-cell'](props)}\n </HeaderCell>\n ) : (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key as KeyType]}\n />\n ),\n }}\n </Header>\n ),\n }\n\n const rootKls = [\n props.class,\n ns.b(),\n ns.e('root'),\n ns.is('dynamic', unref(isDynamic)),\n ]\n\n const footerProps = {\n class: ns.e('footer'),\n style: unref(footerHeight),\n }\n\n return (\n <div class={rootKls} style={unref(rootStyle)}>\n <MainTable {...mainTableProps}>{tableSlots}</MainTable>\n <LeftTable {...leftTableProps}>{tableSlots}</LeftTable>\n <RightTable {...rightTableProps}>{tableSlots}</RightTable>\n {slots.footer && (\n <Footer {...footerProps}>{{ default: slots.footer }}</Footer>\n )}\n {unref(showEmpty) && (\n <Empty class={ns.e('empty')} style={unref(emptyStyle)}>\n {{ default: slots.empty }}\n </Empty>\n )}\n {slots.overlay && (\n <Overlay class={ns.e('overlay')}>\n {{ default: slots.overlay }}\n </Overlay>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableV2\n\nexport type TableV2Instance = InstanceType<typeof TableV2> & {\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo: (param: { scrollLeft?: number; scrollTop?: number }) => void\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft: (scrollLeft: number) => void\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop: (scrollTop: number) => void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy?: ScrollStrategy): void\n}\n"],"names":["Overlay","COMPONENT_NAME","TableV2","defineComponent","name","props","useNamespace","slots","expose","useLocale","ns","t","columnsStyles","fixedColumnsOnLeft","fixedColumnsOnRight","mainColumns","mainTableHeight","fixedTableHeight","leftTableWidth","rightTableWidth","data","depthMap","expandedRowKeys","hasFixedColumns","mainTableRef","leftTableRef","rightTableRef","isDynamic","isResetting","isScrolling","bodyWidth","emptyStyle","rootStyle","footerHeight","showEmpty","scrollTo","scrollToLeft","scrollToTop","scrollToRow","getRowHeight","onColumnSorted","onRowHeightChange","useTable","onRowsRendered","onScroll","onVerticalScroll","provide","TableV2InjectionKey","unref","cache","cellProps","estimatedRowHeight","expandColumnKey","fixedData","headerHeight","headerClass","headerProps","headerCellProps","sortBy","sortState","rowHeight","rowClass","rowEventHandlers","rowKey","rowProps","scrollbarAlwaysOn","indentSize","iconSize","useIsScrolling","vScrollbarSize","width","_data","class","columns","headerWidth","height","scrollbarStartGap","scrollbarEndGap","_fixedTableHeight","style","_createVNode","Row","_mergeProps","Cell","Header","tableHeaderProps","HeaderCell","_columnsStyles","row","cell","column","RightTable","Empty","header"],"mappings":"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"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tabs = require('./src/tabs.js');
6
6
  var tabPane$1 = require('./src/tab-pane2.js');
7
- var tabBar = require('./src/tab-bar.js');
7
+ var tabBar = require('./src/tab-bar2.js');
8
8
  var tabNav = require('./src/tab-nav.js');
9
9
  var tabPane = require('./src/tab-pane.js');
10
10
  var constants = require('./src/constants.js');
@@ -2,19 +2,100 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
6
- var typescript = require('../../../utils/typescript.js');
5
+ var vue = require('vue');
6
+ var core = require('@vueuse/core');
7
+ var constants = require('./constants.js');
8
+ var tabBar = require('./tab-bar2.js');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var strings = require('../../../utils/strings.js');
11
+ var error = require('../../../utils/error.js');
12
+ var index = require('../../../hooks/use-namespace/index.js');
13
+ var types = require('../../../utils/types.js');
7
14
 
8
- const tabBarProps = runtime.buildProps({
9
- tabs: {
10
- type: runtime.definePropType(Array),
11
- default: () => typescript.mutable([])
12
- },
13
- tabRefs: {
14
- type: runtime.definePropType(Object),
15
- default: () => typescript.mutable({})
15
+ const COMPONENT_NAME = "ElTabBar";
16
+ const __default__ = vue.defineComponent({
17
+ name: COMPONENT_NAME
18
+ });
19
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
+ ...__default__,
21
+ props: tabBar.tabBarProps,
22
+ setup(__props, { expose }) {
23
+ const props = __props;
24
+ const rootTabs = vue.inject(constants.tabsRootContextKey);
25
+ if (!rootTabs)
26
+ error.throwError(COMPONENT_NAME, "<el-tabs><el-tab-bar /></el-tabs>");
27
+ const ns = index.useNamespace("tabs");
28
+ const barRef = vue.ref();
29
+ const barStyle = vue.ref();
30
+ const renderActiveBar = vue.computed(() => {
31
+ var _a;
32
+ return types.isUndefined(rootTabs.props.defaultValue) || Boolean((_a = barStyle.value) == null ? void 0 : _a.transform);
33
+ });
34
+ const getBarStyle = () => {
35
+ let offset = 0;
36
+ let tabSize = 0;
37
+ const sizeName = ["top", "bottom"].includes(rootTabs.props.tabPosition) ? "width" : "height";
38
+ const sizeDir = sizeName === "width" ? "x" : "y";
39
+ const position = sizeDir === "x" ? "left" : "top";
40
+ props.tabs.every((tab) => {
41
+ if (types.isUndefined(tab.paneName))
42
+ return false;
43
+ const $el = props.tabRefs[tab.paneName];
44
+ if (!$el)
45
+ return false;
46
+ if (!tab.active) {
47
+ return true;
48
+ }
49
+ offset = $el[`offset${strings.capitalize(position)}`];
50
+ tabSize = $el[`client${strings.capitalize(sizeName)}`];
51
+ const tabStyles = window.getComputedStyle($el);
52
+ if (sizeName === "width") {
53
+ tabSize -= Number.parseFloat(tabStyles.paddingLeft) + Number.parseFloat(tabStyles.paddingRight);
54
+ offset += Number.parseFloat(tabStyles.paddingLeft);
55
+ }
56
+ return false;
57
+ });
58
+ return {
59
+ [sizeName]: `${tabSize}px`,
60
+ transform: `translate${strings.capitalize(sizeDir)}(${offset}px)`
61
+ };
62
+ };
63
+ const update = () => barStyle.value = getBarStyle();
64
+ const tabObservers = [];
65
+ const observerTabs = () => {
66
+ tabObservers.forEach((observer) => observer.stop());
67
+ tabObservers.length = 0;
68
+ Object.values(props.tabRefs).forEach((tab) => {
69
+ tabObservers.push(core.useResizeObserver(tab, update));
70
+ });
71
+ };
72
+ vue.watch(() => props.tabs, async () => {
73
+ await vue.nextTick();
74
+ update();
75
+ observerTabs();
76
+ }, { immediate: true });
77
+ const barObserver = core.useResizeObserver(barRef, () => update());
78
+ vue.onBeforeUnmount(() => {
79
+ tabObservers.forEach((observer) => observer.stop());
80
+ tabObservers.length = 0;
81
+ barObserver.stop();
82
+ });
83
+ expose({
84
+ ref: barRef,
85
+ update
86
+ });
87
+ return (_ctx, _cache) => {
88
+ return vue.unref(renderActiveBar) ? (vue.openBlock(), vue.createElementBlock("div", {
89
+ key: 0,
90
+ ref_key: "barRef",
91
+ ref: barRef,
92
+ class: vue.normalizeClass([vue.unref(ns).e("active-bar"), vue.unref(ns).is(vue.unref(rootTabs).props.tabPosition)]),
93
+ style: vue.normalizeStyle(barStyle.value)
94
+ }, null, 6)) : vue.createCommentVNode("v-if", true);
95
+ };
16
96
  }
17
97
  });
98
+ var TabBar = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "tab-bar.vue"]]);
18
99
 
19
- exports.tabBarProps = tabBarProps;
100
+ exports["default"] = TabBar;
20
101
  //# sourceMappingURL=tab-bar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar.js","sources":["../../../../../../packages/components/tabs/src/tab-bar.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { TabPaneName, TabsPaneContext } from './constants'\nimport type TabBar from './tab-bar.vue'\n\nexport const tabBarProps = buildProps({\n tabs: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n tabRefs: {\n type: definePropType<{ [key: TabPaneName]: HTMLDivElement }>(Object),\n default: () => mutable({} as const),\n },\n} as const)\n\nexport type TabBarProps = ExtractPropTypes<typeof tabBarProps>\nexport type TabBarPropsPublic = __ExtractPublicPropTypes<typeof tabBarProps>\nexport type TabBarInstance = InstanceType<typeof TabBar> & unknown\n"],"names":["buildProps","definePropType","mutable"],"mappings":";;;;;;;AACY,MAAC,WAAW,GAAGA,kBAAU,CAAC;AACtC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAED,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"tab-bar.js","sources":["../../../../../../packages/components/tabs/src/tab-bar.vue"],"sourcesContent":["<template>\n <div\n v-if=\"renderActiveBar\"\n ref=\"barRef\"\n :class=\"[ns.e('active-bar'), ns.is(rootTabs!.props.tabPosition)]\"\n :style=\"barStyle\"\n />\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, nextTick, onBeforeUnmount, ref, watch } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { capitalize, isUndefined, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport { tabBarProps } from './tab-bar'\n\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElTabBar'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(tabBarProps)\n\nconst rootTabs = inject(tabsRootContextKey)\nif (!rootTabs) throwError(COMPONENT_NAME, '<el-tabs><el-tab-bar /></el-tabs>')\n\nconst ns = useNamespace('tabs')\n\nconst barRef = ref<HTMLDivElement>()\nconst barStyle = ref<CSSProperties>()\n/**\n * when defaultValue is not set, the bar is always shown.\n *\n * when defaultValue is set, the bar will be hidden until style is calculated\n * to avoid the bar showing in the wrong position on initial render.\n */\nconst renderActiveBar = computed(\n () =>\n isUndefined(rootTabs.props.defaultValue) ||\n Boolean(barStyle.value?.transform)\n)\n\nconst getBarStyle = (): CSSProperties => {\n let offset = 0\n let tabSize = 0\n\n const sizeName = ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n const sizeDir = sizeName === 'width' ? 'x' : 'y'\n const position = sizeDir === 'x' ? 'left' : 'top'\n\n props.tabs.every((tab) => {\n if (isUndefined(tab.paneName)) return false\n const $el = props.tabRefs[tab.paneName]\n if (!$el) return false\n\n if (!tab.active) {\n return true\n }\n\n offset = $el[`offset${capitalize(position)}`]\n tabSize = $el[`client${capitalize(sizeName)}`]\n\n const tabStyles = window.getComputedStyle($el)\n\n if (sizeName === 'width') {\n tabSize -=\n Number.parseFloat(tabStyles.paddingLeft) +\n Number.parseFloat(tabStyles.paddingRight)\n offset += Number.parseFloat(tabStyles.paddingLeft)\n }\n return false\n })\n\n return {\n [sizeName]: `${tabSize}px`,\n transform: `translate${capitalize(sizeDir)}(${offset}px)`,\n }\n}\n\nconst update = () => (barStyle.value = getBarStyle())\n\nconst tabObservers = [] as ReturnType<typeof useResizeObserver>[]\nconst observerTabs = () => {\n tabObservers.forEach((observer) => observer.stop())\n tabObservers.length = 0\n\n Object.values(props.tabRefs).forEach((tab) => {\n tabObservers.push(useResizeObserver(tab, update))\n })\n}\n\nwatch(\n () => props.tabs,\n async () => {\n await nextTick()\n update()\n\n observerTabs()\n },\n { immediate: true }\n)\nconst barObserver = useResizeObserver(barRef, () => update())\n\nonBeforeUnmount(() => {\n tabObservers.forEach((observer) => observer.stop())\n tabObservers.length = 0\n barObserver.stop()\n})\n\ndefineExpose({\n /** @description tab root html element */\n ref: barRef,\n /** @description method to manually update tab bar style */\n update,\n})\n</script>\n"],"names":["inject","tabsRootContextKey","throwError","ref","computed","isUndefined","capitalize","useResizeObserver","watch","nextTick","onBeforeUnmount","_unref","_openBlock","_createElementBlock"],"mappings":"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"}
@@ -2,100 +2,19 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var core = require('@vueuse/core');
7
- var constants = require('./constants.js');
8
- var tabBar = require('./tab-bar.js');
9
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
- var strings = require('../../../utils/strings.js');
11
- var error = require('../../../utils/error.js');
12
- var index = require('../../../hooks/use-namespace/index.js');
13
- var types = require('../../../utils/types.js');
5
+ var runtime = require('../../../utils/vue/props/runtime.js');
6
+ var typescript = require('../../../utils/typescript.js');
14
7
 
15
- const COMPONENT_NAME = "ElTabBar";
16
- const __default__ = vue.defineComponent({
17
- name: COMPONENT_NAME
18
- });
19
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
- ...__default__,
21
- props: tabBar.tabBarProps,
22
- setup(__props, { expose }) {
23
- const props = __props;
24
- const rootTabs = vue.inject(constants.tabsRootContextKey);
25
- if (!rootTabs)
26
- error.throwError(COMPONENT_NAME, "<el-tabs><el-tab-bar /></el-tabs>");
27
- const ns = index.useNamespace("tabs");
28
- const barRef = vue.ref();
29
- const barStyle = vue.ref();
30
- const renderActiveBar = vue.computed(() => {
31
- var _a;
32
- return types.isUndefined(rootTabs.props.defaultValue) || Boolean((_a = barStyle.value) == null ? void 0 : _a.transform);
33
- });
34
- const getBarStyle = () => {
35
- let offset = 0;
36
- let tabSize = 0;
37
- const sizeName = ["top", "bottom"].includes(rootTabs.props.tabPosition) ? "width" : "height";
38
- const sizeDir = sizeName === "width" ? "x" : "y";
39
- const position = sizeDir === "x" ? "left" : "top";
40
- props.tabs.every((tab) => {
41
- if (types.isUndefined(tab.paneName))
42
- return false;
43
- const $el = props.tabRefs[tab.paneName];
44
- if (!$el)
45
- return false;
46
- if (!tab.active) {
47
- return true;
48
- }
49
- offset = $el[`offset${strings.capitalize(position)}`];
50
- tabSize = $el[`client${strings.capitalize(sizeName)}`];
51
- const tabStyles = window.getComputedStyle($el);
52
- if (sizeName === "width") {
53
- tabSize -= Number.parseFloat(tabStyles.paddingLeft) + Number.parseFloat(tabStyles.paddingRight);
54
- offset += Number.parseFloat(tabStyles.paddingLeft);
55
- }
56
- return false;
57
- });
58
- return {
59
- [sizeName]: `${tabSize}px`,
60
- transform: `translate${strings.capitalize(sizeDir)}(${offset}px)`
61
- };
62
- };
63
- const update = () => barStyle.value = getBarStyle();
64
- const tabObservers = [];
65
- const observerTabs = () => {
66
- tabObservers.forEach((observer) => observer.stop());
67
- tabObservers.length = 0;
68
- Object.values(props.tabRefs).forEach((tab) => {
69
- tabObservers.push(core.useResizeObserver(tab, update));
70
- });
71
- };
72
- vue.watch(() => props.tabs, async () => {
73
- await vue.nextTick();
74
- update();
75
- observerTabs();
76
- }, { immediate: true });
77
- const barObserver = core.useResizeObserver(barRef, () => update());
78
- vue.onBeforeUnmount(() => {
79
- tabObservers.forEach((observer) => observer.stop());
80
- tabObservers.length = 0;
81
- barObserver.stop();
82
- });
83
- expose({
84
- ref: barRef,
85
- update
86
- });
87
- return (_ctx, _cache) => {
88
- return vue.unref(renderActiveBar) ? (vue.openBlock(), vue.createElementBlock("div", {
89
- key: 0,
90
- ref_key: "barRef",
91
- ref: barRef,
92
- class: vue.normalizeClass([vue.unref(ns).e("active-bar"), vue.unref(ns).is(vue.unref(rootTabs).props.tabPosition)]),
93
- style: vue.normalizeStyle(barStyle.value)
94
- }, null, 6)) : vue.createCommentVNode("v-if", true);
95
- };
8
+ const tabBarProps = runtime.buildProps({
9
+ tabs: {
10
+ type: runtime.definePropType(Array),
11
+ default: () => typescript.mutable([])
12
+ },
13
+ tabRefs: {
14
+ type: runtime.definePropType(Object),
15
+ default: () => typescript.mutable({})
96
16
  }
97
17
  });
98
- var TabBar = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "tab-bar.vue"]]);
99
18
 
100
- exports["default"] = TabBar;
19
+ exports.tabBarProps = tabBarProps;
101
20
  //# sourceMappingURL=tab-bar2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar2.js","sources":["../../../../../../packages/components/tabs/src/tab-bar.vue"],"sourcesContent":["<template>\n <div\n v-if=\"renderActiveBar\"\n ref=\"barRef\"\n :class=\"[ns.e('active-bar'), ns.is(rootTabs!.props.tabPosition)]\"\n :style=\"barStyle\"\n />\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, nextTick, onBeforeUnmount, ref, watch } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { capitalize, isUndefined, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport { tabBarProps } from './tab-bar'\n\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElTabBar'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(tabBarProps)\n\nconst rootTabs = inject(tabsRootContextKey)\nif (!rootTabs) throwError(COMPONENT_NAME, '<el-tabs><el-tab-bar /></el-tabs>')\n\nconst ns = useNamespace('tabs')\n\nconst barRef = ref<HTMLDivElement>()\nconst barStyle = ref<CSSProperties>()\n/**\n * when defaultValue is not set, the bar is always shown.\n *\n * when defaultValue is set, the bar will be hidden until style is calculated\n * to avoid the bar showing in the wrong position on initial render.\n */\nconst renderActiveBar = computed(\n () =>\n isUndefined(rootTabs.props.defaultValue) ||\n Boolean(barStyle.value?.transform)\n)\n\nconst getBarStyle = (): CSSProperties => {\n let offset = 0\n let tabSize = 0\n\n const sizeName = ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n const sizeDir = sizeName === 'width' ? 'x' : 'y'\n const position = sizeDir === 'x' ? 'left' : 'top'\n\n props.tabs.every((tab) => {\n if (isUndefined(tab.paneName)) return false\n const $el = props.tabRefs[tab.paneName]\n if (!$el) return false\n\n if (!tab.active) {\n return true\n }\n\n offset = $el[`offset${capitalize(position)}`]\n tabSize = $el[`client${capitalize(sizeName)}`]\n\n const tabStyles = window.getComputedStyle($el)\n\n if (sizeName === 'width') {\n tabSize -=\n Number.parseFloat(tabStyles.paddingLeft) +\n Number.parseFloat(tabStyles.paddingRight)\n offset += Number.parseFloat(tabStyles.paddingLeft)\n }\n return false\n })\n\n return {\n [sizeName]: `${tabSize}px`,\n transform: `translate${capitalize(sizeDir)}(${offset}px)`,\n }\n}\n\nconst update = () => (barStyle.value = getBarStyle())\n\nconst tabObservers = [] as ReturnType<typeof useResizeObserver>[]\nconst observerTabs = () => {\n tabObservers.forEach((observer) => observer.stop())\n tabObservers.length = 0\n\n Object.values(props.tabRefs).forEach((tab) => {\n tabObservers.push(useResizeObserver(tab, update))\n })\n}\n\nwatch(\n () => props.tabs,\n async () => {\n await nextTick()\n update()\n\n observerTabs()\n },\n { immediate: true }\n)\nconst barObserver = useResizeObserver(barRef, () => update())\n\nonBeforeUnmount(() => {\n tabObservers.forEach((observer) => observer.stop())\n tabObservers.length = 0\n barObserver.stop()\n})\n\ndefineExpose({\n /** @description tab root html element */\n ref: barRef,\n /** @description method to manually update tab bar style */\n update,\n})\n</script>\n"],"names":["inject","tabsRootContextKey","throwError","ref","computed","isUndefined","capitalize","useResizeObserver","watch","nextTick","onBeforeUnmount","_unref","_openBlock","_createElementBlock"],"mappings":"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"}
1
+ {"version":3,"file":"tab-bar2.js","sources":["../../../../../../packages/components/tabs/src/tab-bar.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { TabPaneName, TabsPaneContext } from './constants'\nimport type TabBar from './tab-bar.vue'\n\nexport const tabBarProps = buildProps({\n tabs: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n tabRefs: {\n type: definePropType<{ [key: TabPaneName]: HTMLDivElement }>(Object),\n default: () => mutable({} as const),\n },\n} as const)\n\nexport type TabBarProps = ExtractPropTypes<typeof tabBarProps>\nexport type TabBarPropsPublic = __ExtractPublicPropTypes<typeof tabBarProps>\nexport type TabBarInstance = InstanceType<typeof TabBar> & unknown\n"],"names":["buildProps","definePropType","mutable"],"mappings":";;;;;;;AACY,MAAC,WAAW,GAAGA,kBAAU,CAAC;AACtC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAED,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,CAAC;;;;"}
@@ -8,7 +8,7 @@ var index$1 = require('../../icon/index.js');
8
8
  var iconsVue = require('@element-plus/icons-vue');
9
9
  var useWheel = require('../../virtual-list/src/hooks/use-wheel.js');
10
10
  var lodashUnified = require('lodash-unified');
11
- var tabBar = require('./tab-bar2.js');
11
+ var tabBar = require('./tab-bar.js');
12
12
  var constants = require('./constants.js');
13
13
  var runtime = require('../../../utils/vue/props/runtime.js');
14
14
  var typescript = require('../../../utils/typescript.js');
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tooltip$1 = require('./src/tooltip2.js');
6
6
  var tooltip = require('./src/tooltip.js');
7
- var trigger = require('./src/trigger.js');
7
+ var trigger = require('./src/trigger2.js');
8
8
  var content = require('./src/content.js');
9
9
  var constants = require('./src/constants.js');
10
10
  var install = require('../../utils/vue/install.js');
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var content = require('./content.js');
6
- var trigger = require('./trigger.js');
7
- var popper = require('../../popper/src/popper2.js');
6
+ var trigger = require('./trigger2.js');
7
+ var popper = require('../../popper/src/popper.js');
8
8
  var arrow = require('../../popper/src/arrow.js');
9
9
  var index = require('../../../hooks/use-model-toggle/index.js');
10
10
  var runtime = require('../../../utils/vue/props/runtime.js');