@element-plus/nightly 0.0.20251212 → 0.0.20251214

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 (546) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +91 -45
  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 +11 -11
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +91 -45
  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/anchor/index.mjs +1 -1
  277. package/es/components/anchor/src/anchor-link.mjs +81 -5
  278. package/es/components/anchor/src/anchor-link.mjs.map +1 -1
  279. package/es/components/anchor/src/anchor-link2.mjs +5 -81
  280. package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
  281. package/es/components/backtop/index.mjs +2 -2
  282. package/es/components/backtop/src/backtop.mjs +53 -21
  283. package/es/components/backtop/src/backtop.mjs.map +1 -1
  284. package/es/components/backtop/src/backtop2.mjs +21 -53
  285. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  286. package/es/components/cascader/src/cascader.mjs +1 -1
  287. package/es/components/col/index.mjs +2 -2
  288. package/es/components/col/src/col.mjs +64 -43
  289. package/es/components/col/src/col.mjs.map +1 -1
  290. package/es/components/col/src/col2.mjs +43 -64
  291. package/es/components/col/src/col2.mjs.map +1 -1
  292. package/es/components/collapse/index.mjs +2 -2
  293. package/es/components/collapse/src/collapse.mjs +23 -28
  294. package/es/components/collapse/src/collapse.mjs.map +1 -1
  295. package/es/components/collapse/src/collapse2.mjs +28 -23
  296. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  297. package/es/components/descriptions/src/description2.mjs +1 -1
  298. package/es/components/descriptions/src/descriptions-row.mjs +63 -6
  299. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  300. package/es/components/descriptions/src/descriptions-row2.mjs +6 -63
  301. package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
  302. package/es/components/image/index.mjs +2 -2
  303. package/es/components/image/src/image.mjs +234 -69
  304. package/es/components/image/src/image.mjs.map +1 -1
  305. package/es/components/image/src/image2.mjs +69 -234
  306. package/es/components/image/src/image2.mjs.map +1 -1
  307. package/es/components/index.mjs +19 -19
  308. package/es/components/input-tag/src/input-tag.mjs +1 -1
  309. package/es/components/menu/index.mjs +4 -4
  310. package/es/components/menu/src/menu-item-group.mjs +4 -33
  311. package/es/components/menu/src/menu-item-group.mjs.map +1 -1
  312. package/es/components/menu/src/menu-item-group2.mjs +33 -4
  313. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  314. package/es/components/menu/src/menu-item.mjs +103 -15
  315. package/es/components/menu/src/menu-item.mjs.map +1 -1
  316. package/es/components/menu/src/menu-item2.mjs +15 -103
  317. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  318. package/es/components/message/index.mjs +1 -1
  319. package/es/components/message/src/message.mjs +107 -168
  320. package/es/components/message/src/message.mjs.map +1 -1
  321. package/es/components/message/src/message2.mjs +168 -107
  322. package/es/components/message/src/message2.mjs.map +1 -1
  323. package/es/components/message/src/method.mjs +2 -2
  324. package/es/components/progress/index.mjs +2 -2
  325. package/es/components/progress/src/progress.mjs +53 -207
  326. package/es/components/progress/src/progress.mjs.map +1 -1
  327. package/es/components/progress/src/progress2.mjs +207 -53
  328. package/es/components/progress/src/progress2.mjs.map +1 -1
  329. package/es/components/result/index.mjs +2 -2
  330. package/es/components/result/src/result.mjs +30 -62
  331. package/es/components/result/src/result.mjs.map +1 -1
  332. package/es/components/result/src/result2.mjs +62 -30
  333. package/es/components/result/src/result2.mjs.map +1 -1
  334. package/es/components/scrollbar/index.mjs +3 -3
  335. package/es/components/scrollbar/src/bar2.mjs +1 -1
  336. package/es/components/scrollbar/src/scrollbar.mjs +57 -228
  337. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  338. package/es/components/scrollbar/src/scrollbar2.mjs +228 -57
  339. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  340. package/es/components/scrollbar/src/thumb.mjs +139 -11
  341. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  342. package/es/components/scrollbar/src/thumb2.mjs +11 -139
  343. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  344. package/es/components/segmented/index.mjs +2 -2
  345. package/es/components/segmented/src/segmented.mjs +171 -45
  346. package/es/components/segmented/src/segmented.mjs.map +1 -1
  347. package/es/components/segmented/src/segmented2.mjs +45 -171
  348. package/es/components/segmented/src/segmented2.mjs.map +1 -1
  349. package/es/components/select/src/select.mjs +2 -2
  350. package/es/components/select-v2/src/defaults.mjs +1 -1
  351. package/es/components/steps/index.mjs +4 -4
  352. package/es/components/steps/src/item.mjs +198 -19
  353. package/es/components/steps/src/item.mjs.map +1 -1
  354. package/es/components/steps/src/item2.mjs +19 -198
  355. package/es/components/steps/src/item2.mjs.map +1 -1
  356. package/es/components/steps/src/steps.mjs +41 -35
  357. package/es/components/steps/src/steps.mjs.map +1 -1
  358. package/es/components/steps/src/steps2.mjs +35 -41
  359. package/es/components/steps/src/steps2.mjs.map +1 -1
  360. package/es/components/switch/index.mjs +2 -2
  361. package/es/components/switch/src/switch.mjs +248 -75
  362. package/es/components/switch/src/switch.mjs.map +1 -1
  363. package/es/components/switch/src/switch.vue.d.ts +4 -0
  364. package/es/components/switch/src/switch2.mjs +75 -230
  365. package/es/components/switch/src/switch2.mjs.map +1 -1
  366. package/es/components/table/src/table-header/index.mjs +1 -0
  367. package/es/components/table/src/table-header/index.mjs.map +1 -1
  368. package/es/components/table-v2/src/components/expand-icon.d.ts +1 -0
  369. package/es/components/table-v2/src/components/expand-icon.mjs +9 -4
  370. package/es/components/table-v2/src/components/expand-icon.mjs.map +1 -1
  371. package/es/components/table-v2/src/components/sort-icon.d.ts +1 -0
  372. package/es/components/table-v2/src/components/sort-icon.mjs +6 -3
  373. package/es/components/table-v2/src/components/sort-icon.mjs.map +1 -1
  374. package/es/components/table-v2/src/renderers/cell.d.ts +2 -1
  375. package/es/components/table-v2/src/renderers/cell.mjs +2 -0
  376. package/es/components/table-v2/src/renderers/cell.mjs.map +1 -1
  377. package/es/components/table-v2/src/renderers/header-cell.d.ts +2 -1
  378. package/es/components/table-v2/src/renderers/header-cell.mjs +14 -2
  379. package/es/components/table-v2/src/renderers/header-cell.mjs.map +1 -1
  380. package/es/components/table-v2/src/table-v2.mjs +7 -1
  381. package/es/components/table-v2/src/table-v2.mjs.map +1 -1
  382. package/es/components/tabs/index.mjs +1 -1
  383. package/es/components/tabs/src/tab-bar.mjs +92 -11
  384. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  385. package/es/components/tabs/src/tab-bar2.mjs +11 -92
  386. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  387. package/es/components/tabs/src/tab-nav.mjs +1 -1
  388. package/es/components/tag/index.mjs +2 -2
  389. package/es/components/tag/src/tag.mjs +27 -109
  390. package/es/components/tag/src/tag.mjs.map +1 -1
  391. package/es/components/tag/src/tag2.mjs +109 -27
  392. package/es/components/tag/src/tag2.mjs.map +1 -1
  393. package/es/components/text/index.mjs +2 -2
  394. package/es/components/text/src/text.mjs +67 -21
  395. package/es/components/text/src/text.mjs.map +1 -1
  396. package/es/components/text/src/text2.mjs +21 -67
  397. package/es/components/text/src/text2.mjs.map +1 -1
  398. package/es/components/upload/index.mjs +1 -1
  399. package/es/components/upload/src/upload-content2.mjs +1 -1
  400. package/es/components/upload/src/upload-dragger.mjs +60 -10
  401. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  402. package/es/components/upload/src/upload-dragger2.mjs +10 -60
  403. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  404. package/es/index.mjs +19 -19
  405. package/es/version.d.ts +1 -1
  406. package/es/version.mjs +1 -1
  407. package/es/version.mjs.map +1 -1
  408. package/lib/components/anchor/index.js +1 -1
  409. package/lib/components/anchor/src/anchor-link.js +81 -5
  410. package/lib/components/anchor/src/anchor-link.js.map +1 -1
  411. package/lib/components/anchor/src/anchor-link2.js +5 -81
  412. package/lib/components/anchor/src/anchor-link2.js.map +1 -1
  413. package/lib/components/backtop/index.js +2 -2
  414. package/lib/components/backtop/src/backtop.js +53 -22
  415. package/lib/components/backtop/src/backtop.js.map +1 -1
  416. package/lib/components/backtop/src/backtop2.js +22 -53
  417. package/lib/components/backtop/src/backtop2.js.map +1 -1
  418. package/lib/components/cascader/src/cascader.js +1 -1
  419. package/lib/components/col/index.js +2 -2
  420. package/lib/components/col/src/col.js +64 -43
  421. package/lib/components/col/src/col.js.map +1 -1
  422. package/lib/components/col/src/col2.js +43 -64
  423. package/lib/components/col/src/col2.js.map +1 -1
  424. package/lib/components/collapse/index.js +2 -2
  425. package/lib/components/collapse/src/collapse.js +25 -28
  426. package/lib/components/collapse/src/collapse.js.map +1 -1
  427. package/lib/components/collapse/src/collapse2.js +28 -25
  428. package/lib/components/collapse/src/collapse2.js.map +1 -1
  429. package/lib/components/descriptions/src/description2.js +1 -1
  430. package/lib/components/descriptions/src/descriptions-row.js +63 -6
  431. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  432. package/lib/components/descriptions/src/descriptions-row2.js +6 -63
  433. package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
  434. package/lib/components/image/index.js +2 -2
  435. package/lib/components/image/src/image.js +233 -69
  436. package/lib/components/image/src/image.js.map +1 -1
  437. package/lib/components/image/src/image2.js +69 -233
  438. package/lib/components/image/src/image2.js.map +1 -1
  439. package/lib/components/index.js +19 -19
  440. package/lib/components/input-tag/src/input-tag.js +1 -1
  441. package/lib/components/menu/index.js +4 -4
  442. package/lib/components/menu/src/menu-item-group.js +4 -33
  443. package/lib/components/menu/src/menu-item-group.js.map +1 -1
  444. package/lib/components/menu/src/menu-item-group2.js +33 -4
  445. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  446. package/lib/components/menu/src/menu-item.js +103 -16
  447. package/lib/components/menu/src/menu-item.js.map +1 -1
  448. package/lib/components/menu/src/menu-item2.js +16 -103
  449. package/lib/components/menu/src/menu-item2.js.map +1 -1
  450. package/lib/components/message/index.js +1 -1
  451. package/lib/components/message/src/message.js +111 -167
  452. package/lib/components/message/src/message.js.map +1 -1
  453. package/lib/components/message/src/message2.js +167 -111
  454. package/lib/components/message/src/message2.js.map +1 -1
  455. package/lib/components/message/src/method.js +2 -2
  456. package/lib/components/progress/index.js +2 -2
  457. package/lib/components/progress/src/progress.js +53 -207
  458. package/lib/components/progress/src/progress.js.map +1 -1
  459. package/lib/components/progress/src/progress2.js +207 -53
  460. package/lib/components/progress/src/progress2.js.map +1 -1
  461. package/lib/components/result/index.js +2 -2
  462. package/lib/components/result/src/result.js +32 -62
  463. package/lib/components/result/src/result.js.map +1 -1
  464. package/lib/components/result/src/result2.js +62 -32
  465. package/lib/components/result/src/result2.js.map +1 -1
  466. package/lib/components/scrollbar/index.js +3 -3
  467. package/lib/components/scrollbar/src/bar2.js +1 -1
  468. package/lib/components/scrollbar/src/scrollbar.js +58 -228
  469. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  470. package/lib/components/scrollbar/src/scrollbar2.js +228 -58
  471. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  472. package/lib/components/scrollbar/src/thumb.js +139 -11
  473. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  474. package/lib/components/scrollbar/src/thumb2.js +11 -139
  475. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  476. package/lib/components/segmented/index.js +2 -2
  477. package/lib/components/segmented/src/segmented.js +171 -47
  478. package/lib/components/segmented/src/segmented.js.map +1 -1
  479. package/lib/components/segmented/src/segmented2.js +47 -171
  480. package/lib/components/segmented/src/segmented2.js.map +1 -1
  481. package/lib/components/select/src/select.js +2 -2
  482. package/lib/components/select-v2/src/defaults.js +1 -1
  483. package/lib/components/steps/index.js +4 -4
  484. package/lib/components/steps/src/item.js +198 -19
  485. package/lib/components/steps/src/item.js.map +1 -1
  486. package/lib/components/steps/src/item2.js +19 -198
  487. package/lib/components/steps/src/item2.js.map +1 -1
  488. package/lib/components/steps/src/steps.js +41 -36
  489. package/lib/components/steps/src/steps.js.map +1 -1
  490. package/lib/components/steps/src/steps2.js +36 -41
  491. package/lib/components/steps/src/steps2.js.map +1 -1
  492. package/lib/components/switch/index.js +2 -2
  493. package/lib/components/switch/src/switch.js +247 -75
  494. package/lib/components/switch/src/switch.js.map +1 -1
  495. package/lib/components/switch/src/switch.vue.d.ts +4 -0
  496. package/lib/components/switch/src/switch2.js +75 -229
  497. package/lib/components/switch/src/switch2.js.map +1 -1
  498. package/lib/components/table/src/table-header/index.js +1 -0
  499. package/lib/components/table/src/table-header/index.js.map +1 -1
  500. package/lib/components/table-v2/src/components/expand-icon.d.ts +1 -0
  501. package/lib/components/table-v2/src/components/expand-icon.js +9 -4
  502. package/lib/components/table-v2/src/components/expand-icon.js.map +1 -1
  503. package/lib/components/table-v2/src/components/sort-icon.d.ts +1 -0
  504. package/lib/components/table-v2/src/components/sort-icon.js +6 -3
  505. package/lib/components/table-v2/src/components/sort-icon.js.map +1 -1
  506. package/lib/components/table-v2/src/renderers/cell.d.ts +2 -1
  507. package/lib/components/table-v2/src/renderers/cell.js +2 -0
  508. package/lib/components/table-v2/src/renderers/cell.js.map +1 -1
  509. package/lib/components/table-v2/src/renderers/header-cell.d.ts +2 -1
  510. package/lib/components/table-v2/src/renderers/header-cell.js +14 -2
  511. package/lib/components/table-v2/src/renderers/header-cell.js.map +1 -1
  512. package/lib/components/table-v2/src/table-v2.js +7 -1
  513. package/lib/components/table-v2/src/table-v2.js.map +1 -1
  514. package/lib/components/tabs/index.js +1 -1
  515. package/lib/components/tabs/src/tab-bar.js +92 -11
  516. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  517. package/lib/components/tabs/src/tab-bar2.js +11 -92
  518. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  519. package/lib/components/tabs/src/tab-nav.js +1 -1
  520. package/lib/components/tag/index.js +2 -2
  521. package/lib/components/tag/src/tag.js +28 -109
  522. package/lib/components/tag/src/tag.js.map +1 -1
  523. package/lib/components/tag/src/tag2.js +109 -28
  524. package/lib/components/tag/src/tag2.js.map +1 -1
  525. package/lib/components/text/index.js +2 -2
  526. package/lib/components/text/src/text.js +67 -21
  527. package/lib/components/text/src/text.js.map +1 -1
  528. package/lib/components/text/src/text2.js +21 -67
  529. package/lib/components/text/src/text2.js.map +1 -1
  530. package/lib/components/upload/index.js +1 -1
  531. package/lib/components/upload/src/upload-content2.js +1 -1
  532. package/lib/components/upload/src/upload-dragger.js +60 -11
  533. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  534. package/lib/components/upload/src/upload-dragger2.js +11 -60
  535. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  536. package/lib/index.js +19 -19
  537. package/lib/version.d.ts +1 -1
  538. package/lib/version.js +1 -1
  539. package/lib/version.js.map +1 -1
  540. package/package.json +2 -2
  541. package/theme-chalk/el-switch.css +1 -1
  542. package/theme-chalk/el-table-v2.css +1 -1
  543. package/theme-chalk/index.css +1 -1
  544. package/theme-chalk/src/switch.scss +3 -2
  545. package/theme-chalk/src/table-v2.scss +3 -2
  546. package/web-types.json +1 -1
@@ -2,238 +2,84 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var index$1 = require('../../icon/index.js');
7
- var iconsVue = require('@element-plus/icons-vue');
8
- var _switch = require('./switch.js');
9
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
- var useFormItem = require('../../form/src/hooks/use-form-item.js');
11
- var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
12
- var index = require('../../../hooks/use-namespace/index.js');
13
- var style = require('../../../utils/dom/style.js');
5
+ var validator = require('../../../utils/vue/validator.js');
6
+ var runtime = require('../../../utils/vue/props/runtime.js');
7
+ var icon = require('../../../utils/vue/icon.js');
8
+ var index = require('../../../hooks/use-aria/index.js');
14
9
  var event = require('../../../constants/event.js');
15
- var error = require('../../../utils/error.js');
16
- var shared = require('@vue/shared');
17
10
  var types = require('../../../utils/types.js');
11
+ var shared = require('@vue/shared');
18
12
 
19
- const COMPONENT_NAME = "ElSwitch";
20
- const __default__ = vue.defineComponent({
21
- name: COMPONENT_NAME
22
- });
23
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
24
- ...__default__,
25
- props: _switch.switchProps,
26
- emits: _switch.switchEmits,
27
- setup(__props, { expose, emit }) {
28
- const props = __props;
29
- const { formItem } = useFormItem.useFormItem();
30
- const switchSize = useFormCommonProps.useFormSize();
31
- const ns = index.useNamespace("switch");
32
- const { inputId } = useFormItem.useFormItemInputId(props, {
33
- formItemContext: formItem
34
- });
35
- const switchDisabled = useFormCommonProps.useFormDisabled(vue.computed(() => {
36
- if (props.loading) {
37
- return true;
38
- }
39
- return void 0;
40
- }));
41
- const isControlled = vue.ref(props.modelValue !== false);
42
- const input = vue.shallowRef();
43
- const switchKls = vue.computed(() => [
44
- ns.b(),
45
- ns.m(switchSize.value),
46
- ns.is("disabled", switchDisabled.value),
47
- ns.is("checked", checked.value)
48
- ]);
49
- const labelLeftKls = vue.computed(() => [
50
- ns.e("label"),
51
- ns.em("label", "left"),
52
- ns.is("active", !checked.value)
53
- ]);
54
- const labelRightKls = vue.computed(() => [
55
- ns.e("label"),
56
- ns.em("label", "right"),
57
- ns.is("active", checked.value)
58
- ]);
59
- const coreStyle = vue.computed(() => ({
60
- width: style.addUnit(props.width)
61
- }));
62
- vue.watch(() => props.modelValue, () => {
63
- isControlled.value = true;
64
- });
65
- const actualValue = vue.computed(() => {
66
- return isControlled.value ? props.modelValue : false;
67
- });
68
- const checked = vue.computed(() => actualValue.value === props.activeValue);
69
- if (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {
70
- emit(event.UPDATE_MODEL_EVENT, props.inactiveValue);
71
- emit(event.CHANGE_EVENT, props.inactiveValue);
72
- emit(event.INPUT_EVENT, props.inactiveValue);
73
- }
74
- vue.watch(checked, (val) => {
75
- var _a;
76
- input.value.checked = val;
77
- if (props.validateEvent) {
78
- (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => error.debugWarn(err));
79
- }
80
- });
81
- const handleChange = () => {
82
- const val = checked.value ? props.inactiveValue : props.activeValue;
83
- emit(event.UPDATE_MODEL_EVENT, val);
84
- emit(event.CHANGE_EVENT, val);
85
- emit(event.INPUT_EVENT, val);
86
- vue.nextTick(() => {
87
- input.value.checked = checked.value;
88
- });
89
- };
90
- const switchValue = () => {
91
- if (switchDisabled.value)
92
- return;
93
- const { beforeChange } = props;
94
- if (!beforeChange) {
95
- handleChange();
96
- return;
97
- }
98
- const shouldChange = beforeChange();
99
- const isPromiseOrBool = [
100
- shared.isPromise(shouldChange),
101
- types.isBoolean(shouldChange)
102
- ].includes(true);
103
- if (!isPromiseOrBool) {
104
- error.throwError(COMPONENT_NAME, "beforeChange must return type `Promise<boolean>` or `boolean`");
105
- }
106
- if (shared.isPromise(shouldChange)) {
107
- shouldChange.then((result) => {
108
- if (result) {
109
- handleChange();
110
- }
111
- }).catch((e) => {
112
- error.debugWarn(COMPONENT_NAME, `some error occurred: ${e}`);
113
- });
114
- } else if (shouldChange) {
115
- handleChange();
116
- }
117
- };
118
- const focus = () => {
119
- var _a, _b;
120
- (_b = (_a = input.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
121
- };
122
- vue.onMounted(() => {
123
- input.value.checked = checked.value;
124
- });
125
- expose({
126
- focus,
127
- checked
128
- });
129
- return (_ctx, _cache) => {
130
- return vue.openBlock(), vue.createElementBlock("div", {
131
- class: vue.normalizeClass(vue.unref(switchKls)),
132
- onClick: vue.withModifiers(switchValue, ["prevent"])
133
- }, [
134
- vue.createElementVNode("input", {
135
- id: vue.unref(inputId),
136
- ref_key: "input",
137
- ref: input,
138
- class: vue.normalizeClass(vue.unref(ns).e("input")),
139
- type: "checkbox",
140
- role: "switch",
141
- "aria-checked": vue.unref(checked),
142
- "aria-disabled": vue.unref(switchDisabled),
143
- "aria-label": _ctx.ariaLabel,
144
- name: _ctx.name,
145
- "true-value": _ctx.activeValue,
146
- "false-value": _ctx.inactiveValue,
147
- disabled: vue.unref(switchDisabled),
148
- tabindex: _ctx.tabindex,
149
- onChange: handleChange,
150
- onKeydown: vue.withKeys(switchValue, ["enter"])
151
- }, null, 42, ["id", "aria-checked", "aria-disabled", "aria-label", "name", "true-value", "false-value", "disabled", "tabindex", "onKeydown"]),
152
- !_ctx.inlinePrompt && (_ctx.inactiveIcon || _ctx.inactiveText) ? (vue.openBlock(), vue.createElementBlock("span", {
153
- key: 0,
154
- class: vue.normalizeClass(vue.unref(labelLeftKls))
155
- }, [
156
- _ctx.inactiveIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), { key: 0 }, {
157
- default: vue.withCtx(() => [
158
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.inactiveIcon)))
159
- ]),
160
- _: 1
161
- })) : vue.createCommentVNode("v-if", true),
162
- !_ctx.inactiveIcon && _ctx.inactiveText ? (vue.openBlock(), vue.createElementBlock("span", {
163
- key: 1,
164
- "aria-hidden": vue.unref(checked)
165
- }, vue.toDisplayString(_ctx.inactiveText), 9, ["aria-hidden"])) : vue.createCommentVNode("v-if", true)
166
- ], 2)) : vue.createCommentVNode("v-if", true),
167
- vue.createElementVNode("span", {
168
- class: vue.normalizeClass(vue.unref(ns).e("core")),
169
- style: vue.normalizeStyle(vue.unref(coreStyle))
170
- }, [
171
- _ctx.inlinePrompt ? (vue.openBlock(), vue.createElementBlock("div", {
172
- key: 0,
173
- class: vue.normalizeClass(vue.unref(ns).e("inner"))
174
- }, [
175
- _ctx.activeIcon || _ctx.inactiveIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), {
176
- key: 0,
177
- class: vue.normalizeClass(vue.unref(ns).is("icon"))
178
- }, {
179
- default: vue.withCtx(() => [
180
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(checked) ? _ctx.activeIcon : _ctx.inactiveIcon)))
181
- ]),
182
- _: 1
183
- }, 8, ["class"])) : _ctx.activeText || _ctx.inactiveText ? (vue.openBlock(), vue.createElementBlock("span", {
184
- key: 1,
185
- class: vue.normalizeClass(vue.unref(ns).is("text")),
186
- "aria-hidden": !vue.unref(checked)
187
- }, vue.toDisplayString(vue.unref(checked) ? _ctx.activeText : _ctx.inactiveText), 11, ["aria-hidden"])) : vue.createCommentVNode("v-if", true)
188
- ], 2)) : vue.createCommentVNode("v-if", true),
189
- vue.createElementVNode("div", {
190
- class: vue.normalizeClass(vue.unref(ns).e("action"))
191
- }, [
192
- _ctx.loading ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), {
193
- key: 0,
194
- class: vue.normalizeClass(vue.unref(ns).is("loading"))
195
- }, {
196
- default: vue.withCtx(() => [
197
- vue.createVNode(vue.unref(iconsVue.Loading))
198
- ]),
199
- _: 1
200
- }, 8, ["class"])) : vue.unref(checked) ? vue.renderSlot(_ctx.$slots, "active-action", { key: 1 }, () => [
201
- _ctx.activeActionIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), { key: 0 }, {
202
- default: vue.withCtx(() => [
203
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.activeActionIcon)))
204
- ]),
205
- _: 1
206
- })) : vue.createCommentVNode("v-if", true)
207
- ]) : !vue.unref(checked) ? vue.renderSlot(_ctx.$slots, "inactive-action", { key: 2 }, () => [
208
- _ctx.inactiveActionIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), { key: 0 }, {
209
- default: vue.withCtx(() => [
210
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.inactiveActionIcon)))
211
- ]),
212
- _: 1
213
- })) : vue.createCommentVNode("v-if", true)
214
- ]) : vue.createCommentVNode("v-if", true)
215
- ], 2)
216
- ], 6),
217
- !_ctx.inlinePrompt && (_ctx.activeIcon || _ctx.activeText) ? (vue.openBlock(), vue.createElementBlock("span", {
218
- key: 1,
219
- class: vue.normalizeClass(vue.unref(labelRightKls))
220
- }, [
221
- _ctx.activeIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), { key: 0 }, {
222
- default: vue.withCtx(() => [
223
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.activeIcon)))
224
- ]),
225
- _: 1
226
- })) : vue.createCommentVNode("v-if", true),
227
- !_ctx.activeIcon && _ctx.activeText ? (vue.openBlock(), vue.createElementBlock("span", {
228
- key: 1,
229
- "aria-hidden": !vue.unref(checked)
230
- }, vue.toDisplayString(_ctx.activeText), 9, ["aria-hidden"])) : vue.createCommentVNode("v-if", true)
231
- ], 2)) : vue.createCommentVNode("v-if", true)
232
- ], 10, ["onClick"]);
233
- };
234
- }
13
+ const switchProps = runtime.buildProps({
14
+ modelValue: {
15
+ type: [Boolean, String, Number],
16
+ default: false
17
+ },
18
+ disabled: {
19
+ type: Boolean,
20
+ default: void 0
21
+ },
22
+ loading: Boolean,
23
+ size: {
24
+ type: String,
25
+ validator: validator.isValidComponentSize
26
+ },
27
+ width: {
28
+ type: [String, Number],
29
+ default: ""
30
+ },
31
+ inlinePrompt: Boolean,
32
+ inactiveActionIcon: {
33
+ type: icon.iconPropType
34
+ },
35
+ activeActionIcon: {
36
+ type: icon.iconPropType
37
+ },
38
+ activeIcon: {
39
+ type: icon.iconPropType
40
+ },
41
+ inactiveIcon: {
42
+ type: icon.iconPropType
43
+ },
44
+ activeText: {
45
+ type: String,
46
+ default: ""
47
+ },
48
+ inactiveText: {
49
+ type: String,
50
+ default: ""
51
+ },
52
+ activeValue: {
53
+ type: [Boolean, String, Number],
54
+ default: true
55
+ },
56
+ inactiveValue: {
57
+ type: [Boolean, String, Number],
58
+ default: false
59
+ },
60
+ name: {
61
+ type: String,
62
+ default: ""
63
+ },
64
+ validateEvent: {
65
+ type: Boolean,
66
+ default: true
67
+ },
68
+ beforeChange: {
69
+ type: runtime.definePropType(Function)
70
+ },
71
+ id: String,
72
+ tabindex: {
73
+ type: [String, Number]
74
+ },
75
+ ...index.useAriaProps(["ariaLabel"])
235
76
  });
236
- var Switch = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "switch.vue"]]);
77
+ const switchEmits = {
78
+ [event.UPDATE_MODEL_EVENT]: (val) => types.isBoolean(val) || shared.isString(val) || types.isNumber(val),
79
+ [event.CHANGE_EVENT]: (val) => types.isBoolean(val) || shared.isString(val) || types.isNumber(val),
80
+ [event.INPUT_EVENT]: (val) => types.isBoolean(val) || shared.isString(val) || types.isNumber(val)
81
+ };
237
82
 
238
- exports["default"] = Switch;
83
+ exports.switchEmits = switchEmits;
84
+ exports.switchProps = switchProps;
239
85
  //# sourceMappingURL=switch2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch2.js","sources":["../../../../../../packages/components/switch/src/switch.vue"],"sourcesContent":["<template>\n <div :class=\"switchKls\" @click.prevent=\"switchValue\">\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"ns.e('input')\"\n type=\"checkbox\"\n role=\"switch\"\n :aria-checked=\"checked\"\n :aria-disabled=\"switchDisabled\"\n :aria-label=\"ariaLabel\"\n :name=\"name\"\n :true-value=\"activeValue\"\n :false-value=\"inactiveValue\"\n :disabled=\"switchDisabled\"\n :tabindex=\"tabindex\"\n @change=\"handleChange\"\n @keydown.enter=\"switchValue\"\n />\n <span\n v-if=\"!inlinePrompt && (inactiveIcon || inactiveText)\"\n :class=\"labelLeftKls\"\n >\n <el-icon v-if=\"inactiveIcon\">\n <component :is=\"inactiveIcon\" />\n </el-icon>\n <span v-if=\"!inactiveIcon && inactiveText\" :aria-hidden=\"checked\">{{\n inactiveText\n }}</span>\n </span>\n <span :class=\"ns.e('core')\" :style=\"coreStyle\">\n <div v-if=\"inlinePrompt\" :class=\"ns.e('inner')\">\n <template v-if=\"activeIcon || inactiveIcon\">\n <el-icon :class=\"ns.is('icon')\">\n <component :is=\"checked ? activeIcon : inactiveIcon\" />\n </el-icon>\n </template>\n <template v-else-if=\"activeText || inactiveText\">\n <span :class=\"ns.is('text')\" :aria-hidden=\"!checked\">\n {{ checked ? activeText : inactiveText }}\n </span>\n </template>\n </div>\n <div :class=\"ns.e('action')\">\n <el-icon v-if=\"loading\" :class=\"ns.is('loading')\">\n <loading />\n </el-icon>\n <slot v-else-if=\"checked\" name=\"active-action\">\n <el-icon v-if=\"activeActionIcon\">\n <component :is=\"activeActionIcon\" />\n </el-icon>\n </slot>\n <slot v-else-if=\"!checked\" name=\"inactive-action\">\n <el-icon v-if=\"inactiveActionIcon\">\n <component :is=\"inactiveActionIcon\" />\n </el-icon>\n </slot>\n </div>\n </span>\n <span\n v-if=\"!inlinePrompt && (activeIcon || activeText)\"\n :class=\"labelRightKls\"\n >\n <el-icon v-if=\"activeIcon\">\n <component :is=\"activeIcon\" />\n </el-icon>\n <span v-if=\"!activeIcon && activeText\" :aria-hidden=\"!checked\">{{\n activeText\n }}</span>\n </span>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, shallowRef, watch } from 'vue'\nimport {\n addUnit,\n debugWarn,\n isBoolean,\n isPromise,\n throwError,\n} from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { Loading } from '@element-plus/icons-vue'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport { switchEmits, switchProps } from './switch'\n\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElSwitch'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(switchProps)\nconst emit = defineEmits(switchEmits)\n\nconst { formItem } = useFormItem()\nconst switchSize = useFormSize()\nconst ns = useNamespace('switch')\n\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst switchDisabled = useFormDisabled(\n computed(() => {\n if (props.loading) {\n return true\n }\n return undefined\n })\n)\nconst isControlled = ref(props.modelValue !== false)\nconst input = shallowRef<HTMLInputElement>()\n\nconst switchKls = computed(() => [\n ns.b(),\n ns.m(switchSize.value),\n ns.is('disabled', switchDisabled.value),\n ns.is('checked', checked.value),\n])\n\nconst labelLeftKls = computed(() => [\n ns.e('label'),\n ns.em('label', 'left'),\n ns.is('active', !checked.value),\n])\n\nconst labelRightKls = computed(() => [\n ns.e('label'),\n ns.em('label', 'right'),\n ns.is('active', checked.value),\n])\n\nconst coreStyle = computed<CSSProperties>(() => ({\n width: addUnit(props.width),\n}))\n\nwatch(\n () => props.modelValue,\n () => {\n isControlled.value = true\n }\n)\n\nconst actualValue = computed(() => {\n return isControlled.value ? props.modelValue : false\n})\n\nconst checked = computed(() => actualValue.value === props.activeValue)\n\nif (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {\n emit(UPDATE_MODEL_EVENT, props.inactiveValue)\n emit(CHANGE_EVENT, props.inactiveValue)\n emit(INPUT_EVENT, props.inactiveValue)\n}\n\nwatch(checked, (val) => {\n input.value!.checked = val\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n})\n\nconst handleChange = () => {\n const val = checked.value ? props.inactiveValue : props.activeValue\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n emit(INPUT_EVENT, val)\n nextTick(() => {\n input.value!.checked = checked.value\n })\n}\n\nconst switchValue = () => {\n if (switchDisabled.value) return\n\n const { beforeChange } = props\n if (!beforeChange) {\n handleChange()\n return\n }\n\n const shouldChange = beforeChange()\n\n const isPromiseOrBool = [\n isPromise(shouldChange),\n isBoolean(shouldChange),\n ].includes(true)\n if (!isPromiseOrBool) {\n throwError(\n COMPONENT_NAME,\n 'beforeChange must return type `Promise<boolean>` or `boolean`'\n )\n }\n\n if (isPromise(shouldChange)) {\n shouldChange\n .then((result) => {\n if (result) {\n handleChange()\n }\n })\n .catch((e) => {\n debugWarn(COMPONENT_NAME, `some error occurred: ${e}`)\n })\n } else if (shouldChange) {\n handleChange()\n }\n}\n\nconst focus = (): void => {\n input.value?.focus?.()\n}\n\nonMounted(() => {\n input.value!.checked = checked.value\n})\n\ndefineExpose({\n /**\n * @description manual focus to the switch component\n **/\n focus,\n /**\n * @description whether Switch is checked\n */\n checked,\n})\n</script>\n"],"names":["useFormItem","useFormSize","useNamespace","useFormItemInputId","useFormDisabled","computed","ref","shallowRef","addUnit","watch","UPDATE_MODEL_EVENT","CHANGE_EVENT","INPUT_EVENT","debugWarn","nextTick","isPromise","isBoolean","throwError","onMounted","_openBlock","_createElementBlock","_normalizeClass","_unref","_withModifiers","_createElementVNode"],"mappings":"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"}
1
+ {"version":3,"file":"switch2.js","sources":["../../../../../../packages/components/switch/src/switch.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isBoolean,\n isNumber,\n isString,\n isValidComponentSize,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useAriaProps } from '@element-plus/hooks'\n\nimport type { ComponentSize } from '@element-plus/constants'\nimport type Switch from './switch.vue'\nimport type { ExtractPropTypes, PropType, __ExtractPublicPropTypes } from 'vue'\n\nexport const switchProps = buildProps({\n /**\n * @description binding value, it should be equivalent to either `active-value` or `inactive-value`, by default it's `boolean` type\n */\n modelValue: {\n type: [Boolean, String, Number],\n default: false,\n },\n /**\n * @description whether Switch is disabled\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description whether Switch is in loading state\n */\n loading: Boolean,\n /**\n * @description size of Switch\n */\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n /**\n * @description width of Switch\n */\n width: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description whether icon or text is displayed inside dot, only the first character will be rendered for text\n */\n inlinePrompt: Boolean,\n /**\n * @description component of the icon displayed in action when in `off` state\n */\n inactiveActionIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed in action when in `on` state\n */\n activeActionIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed when in `on` state, overrides `active-text`\n */\n activeIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed when in `off` state, overrides `inactive-text`\n */\n inactiveIcon: {\n type: iconPropType,\n },\n /**\n * @description text displayed when in `on` state\n */\n activeText: {\n type: String,\n default: '',\n },\n /**\n * @description text displayed when in `off` state\n */\n inactiveText: {\n type: String,\n default: '',\n },\n /**\n * @description switch value when in `on` state\n */\n activeValue: {\n type: [Boolean, String, Number],\n default: true,\n },\n /**\n * @description switch value when in `off` state\n */\n inactiveValue: {\n type: [Boolean, String, Number],\n default: false,\n },\n /**\n * @description input name of Switch\n */\n name: {\n type: String,\n default: '',\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description before-change hook before the switch state changes. If `false` is returned or a `Promise` is returned and then is rejected, will stop switching\n */\n beforeChange: {\n type: definePropType<() => Promise<boolean> | boolean>(Function),\n },\n /**\n * @description id for input\n */\n id: String,\n /**\n * @description tabindex for input\n */\n tabindex: {\n type: [String, Number],\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type SwitchProps = ExtractPropTypes<typeof switchProps>\nexport type SwitchPropsPublic = __ExtractPublicPropTypes<typeof switchProps>\n\nexport const switchEmits = {\n [UPDATE_MODEL_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n [CHANGE_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n [INPUT_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n}\nexport type SwitchEmits = typeof switchEmits\n\nexport type SwitchInstance = InstanceType<typeof Switch> & unknown\n"],"names":["buildProps","isValidComponentSize","iconPropType","definePropType","useAriaProps","UPDATE_MODEL_EVENT","isBoolean","isString","isNumber","CHANGE_EVENT","INPUT_EVENT"],"mappings":";;;;;;;;;;;;AAeY,MAAC,WAAW,GAAGA,kBAAU,CAAC;AACtC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,SAAS,EAAEC,8BAAoB;AACnC,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAEC,iBAAY;AACtB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAEA,iBAAY;AACtB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAEA,iBAAY;AACtB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAEA,iBAAY;AACtB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAEC,sBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,EAAE,EAAE,MAAM;AACZ,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,GAAGC,kBAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,CAACC,wBAAkB,GAAG,CAAC,GAAG,KAAKC,eAAS,CAAC,GAAG,CAAC,IAAIC,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC;AACjF,EAAE,CAACC,kBAAY,GAAG,CAAC,GAAG,KAAKH,eAAS,CAAC,GAAG,CAAC,IAAIC,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC;AAC3E,EAAE,CAACE,iBAAW,GAAG,CAAC,GAAG,KAAKJ,eAAS,CAAC,GAAG,CAAC,IAAIC,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC;AAC1E;;;;;"}
@@ -173,6 +173,7 @@ var TableHeader = vue.defineComponent({
173
173
  key: `${column.id}-thead`,
174
174
  rowspan: column.rowSpan,
175
175
  scope: column.colSpan > 1 ? "colgroup" : "col",
176
+ ariaSort: column.sortable ? column.order : void 0,
176
177
  style: getHeaderCellStyle(rowIndex, cellIndex, subColumns, column),
177
178
  onClick: ($event) => {
178
179
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../packages/components/table/src/table-header/index.ts"],"sourcesContent":["import {\n defineComponent,\n getCurrentInstance,\n h,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useLocale } from '@element-plus/hooks/use-locale'\nimport FilterPanel from '../filter-panel.vue'\nimport useLayoutObserver from '../layout-observer'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport useEvent from './event-helper'\nimport useStyle from './style.helper'\nimport useUtils from './utils-helper'\n\nimport type TableLayout from '../table-layout'\nimport type { ComponentInternalInstance, PropType, Ref } from 'vue'\nimport type { DefaultRow, Sort } from '../table/defaults'\nimport type { Store } from '../store'\n\nexport interface TableHeader extends ComponentInternalInstance {\n state: {\n onColumnsChange: (layout: TableLayout<any>) => void\n onScrollableChange: (layout: TableLayout<any>) => void\n }\n filterPanels: Ref<DefaultRow>\n}\nexport interface TableHeaderProps<T extends DefaultRow> {\n fixed: string\n store: Store<T>\n border: boolean\n defaultSort: Sort\n allowDragLastColumn: boolean\n}\n\nexport default defineComponent({\n name: 'ElTableHeader',\n components: {\n ElCheckbox,\n },\n props: {\n fixed: {\n type: String,\n default: '',\n },\n store: {\n required: true,\n type: Object as PropType<TableHeaderProps<any>['store']>,\n },\n border: Boolean,\n defaultSort: {\n type: Object as PropType<TableHeaderProps<any>['defaultSort']>,\n default: () => {\n return {\n prop: '',\n order: '',\n }\n },\n },\n appendFilterPanelTo: {\n type: String,\n },\n allowDragLastColumn: {\n type: Boolean,\n },\n },\n setup(props, { emit }) {\n const instance = getCurrentInstance() as TableHeader\n const parent = inject(TABLE_INJECTION_KEY)\n const ns = useNamespace('table')\n const filterPanels = ref({})\n const { onColumnsChange, onScrollableChange } = useLayoutObserver(parent!)\n\n const isTableLayoutAuto = parent?.props.tableLayout === 'auto'\n const saveIndexSelection = reactive(new Map())\n const theadRef = ref()\n\n let delayId: ReturnType<typeof setTimeout> | undefined\n const updateFixedColumnStyle = () => {\n delayId = setTimeout(() => {\n if (saveIndexSelection.size > 0) {\n saveIndexSelection.forEach((column, key) => {\n const el = theadRef.value.querySelector(\n `.${key.replace(/\\s/g, '.')}`\n )\n if (el) {\n const width = el.getBoundingClientRect().width\n column.width = width || column.width\n }\n })\n saveIndexSelection.clear()\n }\n })\n }\n\n watch(saveIndexSelection, updateFixedColumnStyle)\n onBeforeUnmount(() => {\n if (delayId) {\n clearTimeout(delayId)\n delayId = undefined\n }\n })\n\n onMounted(async () => {\n // Need double await, because updateColumns is executed after nextTick for now\n await nextTick()\n await nextTick()\n const { prop, order } = props.defaultSort\n parent?.store.commit('sort', { prop, order, init: true })\n\n updateFixedColumnStyle()\n })\n\n const {\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleMouseOut,\n handleSortClick,\n handleFilterClick,\n } = useEvent(props as TableHeaderProps<any>, emit)\n const {\n getHeaderRowStyle,\n getHeaderRowClass,\n getHeaderCellStyle,\n getHeaderCellClass,\n } = useStyle(props as TableHeaderProps<any>)\n const { isGroup, toggleAllSelection, columnRows } = useUtils(\n props as TableHeaderProps<any>\n )\n\n const { t } = useLocale()\n\n instance.state = {\n onColumnsChange,\n onScrollableChange,\n }\n instance.filterPanels = filterPanels\n\n return {\n ns,\n t,\n filterPanels,\n onColumnsChange,\n onScrollableChange,\n columnRows,\n getHeaderRowClass,\n getHeaderRowStyle,\n getHeaderCellClass,\n getHeaderCellStyle,\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleMouseOut,\n handleSortClick,\n handleFilterClick,\n isGroup,\n toggleAllSelection,\n saveIndexSelection,\n isTableLayoutAuto,\n theadRef,\n updateFixedColumnStyle,\n }\n },\n render() {\n const {\n ns,\n t,\n isGroup,\n columnRows,\n getHeaderCellStyle,\n getHeaderCellClass,\n getHeaderRowClass,\n getHeaderRowStyle,\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleSortClick,\n handleMouseOut,\n store,\n $parent,\n saveIndexSelection,\n isTableLayoutAuto,\n } = this\n let rowSpan = 1\n return h(\n 'thead',\n {\n ref: 'theadRef',\n class: ns.is('group', isGroup),\n },\n columnRows.map((subColumns, rowIndex) =>\n h(\n 'tr',\n {\n class: getHeaderRowClass(rowIndex),\n key: rowIndex,\n style: getHeaderRowStyle(rowIndex),\n },\n subColumns.map((column, cellIndex) => {\n if (column.rowSpan > rowSpan) {\n rowSpan = column.rowSpan\n }\n const _class = getHeaderCellClass(\n rowIndex,\n cellIndex,\n subColumns,\n column\n )\n if (isTableLayoutAuto && column.fixed) {\n saveIndexSelection.set(_class, column)\n }\n return h(\n 'th',\n {\n class: _class,\n colspan: column.colSpan,\n key: `${column.id}-thead`,\n rowspan: column.rowSpan,\n scope: column.colSpan > 1 ? 'colgroup' : 'col',\n style: getHeaderCellStyle(\n rowIndex,\n cellIndex,\n subColumns,\n column\n ),\n onClick: ($event: Event) => {\n if (\n ($event.currentTarget as Element)?.classList.contains(\n 'noclick'\n )\n ) {\n return\n }\n handleHeaderClick($event, column)\n },\n onContextmenu: ($event: MouseEvent) =>\n handleHeaderContextMenu($event, column),\n onMousedown: ($event: MouseEvent) =>\n handleMouseDown($event, column),\n onMousemove: ($event: MouseEvent) =>\n handleMouseMove($event, column),\n onMouseout: handleMouseOut,\n },\n [\n h(\n 'div',\n {\n class: [\n 'cell',\n column.filteredValue && column.filteredValue.length > 0\n ? 'highlight'\n : '',\n ],\n },\n [\n column.renderHeader\n ? column.renderHeader({\n column,\n $index: cellIndex,\n store,\n _self: $parent,\n })\n : column.label,\n column.sortable &&\n h(\n 'button',\n {\n type: 'button',\n class: 'caret-wrapper',\n 'aria-label': t('el.table.sortLabel', {\n column: column.label || '',\n }),\n onClick: ($event: Event) =>\n handleSortClick($event, column),\n },\n [\n h('i', {\n onClick: ($event: Event) =>\n handleSortClick($event, column, 'ascending'),\n class: 'sort-caret ascending',\n }),\n h('i', {\n onClick: ($event: Event) =>\n handleSortClick($event, column, 'descending'),\n class: 'sort-caret descending',\n }),\n ]\n ),\n column.filterable &&\n h(\n FilterPanel as any,\n {\n store,\n placement: column.filterPlacement || 'bottom-start',\n appendTo: ($parent as any)?.appendFilterPanelTo,\n column,\n upDataColumn: (key: never, value: never) => {\n column[key] = value\n },\n },\n {\n 'filter-icon': () =>\n column.renderFilterIcon\n ? column.renderFilterIcon({\n filterOpened: column.filterOpened,\n })\n : null,\n }\n ),\n ]\n ),\n ]\n )\n })\n )\n )\n )\n },\n})\n"],"names":["defineComponent","ElCheckbox","getCurrentInstance","inject","TABLE_INJECTION_KEY","useNamespace","ref","useLayoutObserver","reactive","watch","onBeforeUnmount","onMounted","nextTick","useEvent","useStyle","useUtils","useLocale","h","FilterPanel"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../packages/components/table/src/table-header/index.ts"],"sourcesContent":["import {\n defineComponent,\n getCurrentInstance,\n h,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useLocale } from '@element-plus/hooks/use-locale'\nimport FilterPanel from '../filter-panel.vue'\nimport useLayoutObserver from '../layout-observer'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport useEvent from './event-helper'\nimport useStyle from './style.helper'\nimport useUtils from './utils-helper'\n\nimport type TableLayout from '../table-layout'\nimport type { ComponentInternalInstance, PropType, Ref } from 'vue'\nimport type { DefaultRow, Sort } from '../table/defaults'\nimport type { Store } from '../store'\n\nexport interface TableHeader extends ComponentInternalInstance {\n state: {\n onColumnsChange: (layout: TableLayout<any>) => void\n onScrollableChange: (layout: TableLayout<any>) => void\n }\n filterPanels: Ref<DefaultRow>\n}\nexport interface TableHeaderProps<T extends DefaultRow> {\n fixed: string\n store: Store<T>\n border: boolean\n defaultSort: Sort\n allowDragLastColumn: boolean\n}\n\nexport default defineComponent({\n name: 'ElTableHeader',\n components: {\n ElCheckbox,\n },\n props: {\n fixed: {\n type: String,\n default: '',\n },\n store: {\n required: true,\n type: Object as PropType<TableHeaderProps<any>['store']>,\n },\n border: Boolean,\n defaultSort: {\n type: Object as PropType<TableHeaderProps<any>['defaultSort']>,\n default: () => {\n return {\n prop: '',\n order: '',\n }\n },\n },\n appendFilterPanelTo: {\n type: String,\n },\n allowDragLastColumn: {\n type: Boolean,\n },\n },\n setup(props, { emit }) {\n const instance = getCurrentInstance() as TableHeader\n const parent = inject(TABLE_INJECTION_KEY)\n const ns = useNamespace('table')\n const filterPanels = ref({})\n const { onColumnsChange, onScrollableChange } = useLayoutObserver(parent!)\n\n const isTableLayoutAuto = parent?.props.tableLayout === 'auto'\n const saveIndexSelection = reactive(new Map())\n const theadRef = ref()\n\n let delayId: ReturnType<typeof setTimeout> | undefined\n const updateFixedColumnStyle = () => {\n delayId = setTimeout(() => {\n if (saveIndexSelection.size > 0) {\n saveIndexSelection.forEach((column, key) => {\n const el = theadRef.value.querySelector(\n `.${key.replace(/\\s/g, '.')}`\n )\n if (el) {\n const width = el.getBoundingClientRect().width\n column.width = width || column.width\n }\n })\n saveIndexSelection.clear()\n }\n })\n }\n\n watch(saveIndexSelection, updateFixedColumnStyle)\n onBeforeUnmount(() => {\n if (delayId) {\n clearTimeout(delayId)\n delayId = undefined\n }\n })\n\n onMounted(async () => {\n // Need double await, because updateColumns is executed after nextTick for now\n await nextTick()\n await nextTick()\n const { prop, order } = props.defaultSort\n parent?.store.commit('sort', { prop, order, init: true })\n\n updateFixedColumnStyle()\n })\n\n const {\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleMouseOut,\n handleSortClick,\n handleFilterClick,\n } = useEvent(props as TableHeaderProps<any>, emit)\n const {\n getHeaderRowStyle,\n getHeaderRowClass,\n getHeaderCellStyle,\n getHeaderCellClass,\n } = useStyle(props as TableHeaderProps<any>)\n const { isGroup, toggleAllSelection, columnRows } = useUtils(\n props as TableHeaderProps<any>\n )\n\n const { t } = useLocale()\n\n instance.state = {\n onColumnsChange,\n onScrollableChange,\n }\n instance.filterPanels = filterPanels\n\n return {\n ns,\n t,\n filterPanels,\n onColumnsChange,\n onScrollableChange,\n columnRows,\n getHeaderRowClass,\n getHeaderRowStyle,\n getHeaderCellClass,\n getHeaderCellStyle,\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleMouseOut,\n handleSortClick,\n handleFilterClick,\n isGroup,\n toggleAllSelection,\n saveIndexSelection,\n isTableLayoutAuto,\n theadRef,\n updateFixedColumnStyle,\n }\n },\n render() {\n const {\n ns,\n t,\n isGroup,\n columnRows,\n getHeaderCellStyle,\n getHeaderCellClass,\n getHeaderRowClass,\n getHeaderRowStyle,\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleSortClick,\n handleMouseOut,\n store,\n $parent,\n saveIndexSelection,\n isTableLayoutAuto,\n } = this\n let rowSpan = 1\n return h(\n 'thead',\n {\n ref: 'theadRef',\n class: ns.is('group', isGroup),\n },\n columnRows.map((subColumns, rowIndex) =>\n h(\n 'tr',\n {\n class: getHeaderRowClass(rowIndex),\n key: rowIndex,\n style: getHeaderRowStyle(rowIndex),\n },\n subColumns.map((column, cellIndex) => {\n if (column.rowSpan > rowSpan) {\n rowSpan = column.rowSpan\n }\n const _class = getHeaderCellClass(\n rowIndex,\n cellIndex,\n subColumns,\n column\n )\n if (isTableLayoutAuto && column.fixed) {\n saveIndexSelection.set(_class, column)\n }\n return h(\n 'th',\n {\n class: _class,\n colspan: column.colSpan,\n key: `${column.id}-thead`,\n rowspan: column.rowSpan,\n scope: column.colSpan > 1 ? 'colgroup' : 'col',\n ariaSort: column.sortable ? column.order : undefined,\n style: getHeaderCellStyle(\n rowIndex,\n cellIndex,\n subColumns,\n column\n ),\n onClick: ($event: Event) => {\n if (\n ($event.currentTarget as Element)?.classList.contains(\n 'noclick'\n )\n ) {\n return\n }\n handleHeaderClick($event, column)\n },\n onContextmenu: ($event: MouseEvent) =>\n handleHeaderContextMenu($event, column),\n onMousedown: ($event: MouseEvent) =>\n handleMouseDown($event, column),\n onMousemove: ($event: MouseEvent) =>\n handleMouseMove($event, column),\n onMouseout: handleMouseOut,\n },\n [\n h(\n 'div',\n {\n class: [\n 'cell',\n column.filteredValue && column.filteredValue.length > 0\n ? 'highlight'\n : '',\n ],\n },\n [\n column.renderHeader\n ? column.renderHeader({\n column,\n $index: cellIndex,\n store,\n _self: $parent,\n })\n : column.label,\n column.sortable &&\n h(\n 'button',\n {\n type: 'button',\n class: 'caret-wrapper',\n 'aria-label': t('el.table.sortLabel', {\n column: column.label || '',\n }),\n onClick: ($event: Event) =>\n handleSortClick($event, column),\n },\n [\n h('i', {\n onClick: ($event: Event) =>\n handleSortClick($event, column, 'ascending'),\n class: 'sort-caret ascending',\n }),\n h('i', {\n onClick: ($event: Event) =>\n handleSortClick($event, column, 'descending'),\n class: 'sort-caret descending',\n }),\n ]\n ),\n column.filterable &&\n h(\n FilterPanel as any,\n {\n store,\n placement: column.filterPlacement || 'bottom-start',\n appendTo: ($parent as any)?.appendFilterPanelTo,\n column,\n upDataColumn: (key: never, value: never) => {\n column[key] = value\n },\n },\n {\n 'filter-icon': () =>\n column.renderFilterIcon\n ? column.renderFilterIcon({\n filterOpened: column.filterOpened,\n })\n : null,\n }\n ),\n ]\n ),\n ]\n )\n })\n )\n )\n )\n },\n})\n"],"names":["defineComponent","ElCheckbox","getCurrentInstance","inject","TABLE_INJECTION_KEY","useNamespace","ref","useLayoutObserver","reactive","watch","onBeforeUnmount","onMounted","nextTick","useEvent","useStyle","useUtils","useLocale","h","FilterPanel"],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { TableV2RowCellRenderParam } from './row';
3
3
  declare const ExpandIcon: (props: TableV2RowCellRenderParam["expandIconProps"] & {
4
4
  class?: string | string[];
5
5
  style: StyleValue;
6
+ ariaLabel?: string;
6
7
  size: number;
7
8
  expanded: boolean;
8
9
  expandable: boolean;
@@ -12,18 +12,23 @@ const ExpandIcon = (props) => {
12
12
  expandable,
13
13
  onExpand,
14
14
  style,
15
- size
15
+ size,
16
+ ariaLabel
16
17
  } = props;
17
18
  const expandIconProps = {
18
19
  onClick: expandable ? () => onExpand(!expanded) : void 0,
20
+ ariaLabel,
21
+ ariaExpanded: expanded,
19
22
  class: props.class
20
23
  };
21
- return vue.createVNode(index.ElIcon, vue.mergeProps(expandIconProps, {
24
+ return vue.createVNode("button", vue.mergeProps(expandIconProps, {
25
+ "type": "button"
26
+ }), [vue.createVNode(index.ElIcon, {
22
27
  "size": size,
23
28
  "style": style
24
- }), {
29
+ }, {
25
30
  default: () => [vue.createVNode(iconsVue.ArrowRight, null, null)]
26
- });
31
+ })]);
27
32
  };
28
33
  var ExpandIcon$1 = ExpandIcon;
29
34
 
@@ -1 +1 @@
1
- {"version":3,"file":"expand-icon.js","sources":["../../../../../../../packages/components/table-v2/src/components/expand-icon.tsx"],"sourcesContent":["import ElIcon from '@element-plus/components/icon'\nimport { ArrowRight } from '@element-plus/icons-vue'\n\nimport type { StyleValue } from 'vue'\nimport type { TableV2RowCellRenderParam } from './row'\n\nconst ExpandIcon = (\n props: TableV2RowCellRenderParam['expandIconProps'] & {\n class?: string | string[]\n style: StyleValue\n size: number\n expanded: boolean\n expandable: boolean\n }\n) => {\n const { expanded, expandable, onExpand, style, size } = props\n\n const expandIconProps = {\n onClick: expandable ? () => onExpand(!expanded) : undefined,\n class: props.class,\n } as any\n\n return (\n <ElIcon {...expandIconProps} size={size} style={style}>\n <ArrowRight />\n </ElIcon>\n )\n}\n\nexport default ExpandIcon\n\nexport type ExpandIconInstance = ReturnType<typeof ExpandIcon>\n"],"names":["ExpandIcon","expanded","expandable","onExpand","style","size","onClick","class","_createVNode","ElIcon","_mergeProps","ArrowRight"],"mappings":";;;;;;;;;AAMA,EAAMA,MAAAA;IASE,QAAA;IAAEC,UAAF;IAAYC,QAAZ;IAAwBC,KAAxB;IAAkCC,IAAlC;AAAyCC,GAAAA,GAAAA,KAAAA,CAAAA;AAAzC,EAAA,MAAN,eAAA,GAAA;AAEA,IAAA,mBAAqB,GAAG,MAAA,QAAA,CAAA,CAAA,QAAA,CAAA,GAAA,KAAA,CAAA;IACtBC,KAAO,EAAA,KAAY,CAAA,KAAA;IACnBC;EAFsB,OAAxBC,eAAA,CAAAC,YAAA,EAAAC,cAAA,CAAA,eAAA,EAAA;AAKA,IAAA,MAAA,EAAA,IAAA;AAAA,IAAA,OAAA,EAAA,KAAA;IAAA,EACkDN;AADlD,IAAA,OAAA,EAAA,MAAA,CAAAI,eAAA,CAAAG,mBAAA,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAKD,mBArBD,UAAA;;;;"}
1
+ {"version":3,"file":"expand-icon.js","sources":["../../../../../../../packages/components/table-v2/src/components/expand-icon.tsx"],"sourcesContent":["import ElIcon from '@element-plus/components/icon'\nimport { ArrowRight } from '@element-plus/icons-vue'\n\nimport type { StyleValue } from 'vue'\nimport type { TableV2RowCellRenderParam } from './row'\n\nconst ExpandIcon = (\n props: TableV2RowCellRenderParam['expandIconProps'] & {\n class?: string | string[]\n style: StyleValue\n ariaLabel?: string\n size: number\n expanded: boolean\n expandable: boolean\n }\n) => {\n const { expanded, expandable, onExpand, style, size, ariaLabel } = props\n\n const expandIconProps = {\n onClick: expandable ? () => onExpand(!expanded) : undefined,\n ariaLabel,\n ariaExpanded: expanded,\n class: props.class,\n } as any\n\n return (\n <button {...expandIconProps} type=\"button\">\n <ElIcon size={size} style={style}>\n <ArrowRight />\n </ElIcon>\n </button>\n )\n}\n\nexport default ExpandIcon\n\nexport type ExpandIconInstance = ReturnType<typeof ExpandIcon>\n"],"names":["ExpandIcon","expanded","expandable","onExpand","style","size","ariaLabel","onClick","ariaExpanded","class","_createVNode","_mergeProps","ElIcon","ArrowRight"],"mappings":";;;;;;;;;AAMA,EAAMA,MAAAA;IAUE,QAAA;IAAEC,UAAF;IAAYC,QAAZ;IAAwBC,KAAxB;IAAkCC,IAAlC;IAAyCC,SAAzC;AAA+CC,GAAAA,GAAAA,KAAAA,CAAAA;AAA/C,EAAA,MAAN,eAAA,GAAA;AAEA,IAAA,mBAAqB,GAAG,MAAA,QAAA,CAAA,CAAA,QAAA,CAAA,GAAA,KAAA,CAAA;IACtBC,SAASL;IACTI,YAFsB,EAAA,QAAA;AAGtBE,IAAAA,KAAAA,EAAAA,KAAY,MAHU;IAItBC;EAJsB,OAAxBC,eAAA,CAAA,QAAA,EAAAC,cAAA,CAAA,eAAA,EAAA;AAOA,IAAA,MAAA,EAAA,QAAA;IAAA,EACoC,CAAAD,eAAA,CAAAE,YAAA,EAAA;AADpC,IAAA,MAAA,EAAA,IAAA;AAAA,IAAA,OAAA,EAAA,KAAA;KAE+BR;AAF/B,IAAA,OAAA,EAAA,MAAA,CAAAM,eAAA,CAAAG,mBAAA,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAOD,mBA1BD,UAAA;;;;"}
@@ -2,6 +2,7 @@ import { SortOrder } from '../constants';
2
2
  import type { FunctionalComponent } from 'vue';
3
3
  export type SortIconProps = {
4
4
  sortOrder: SortOrder;
5
+ ariaLabel?: string;
5
6
  class?: JSX.IntrinsicAttributes['class'];
6
7
  };
7
8
  declare const SortIcon: FunctionalComponent<SortIconProps>;
@@ -11,12 +11,15 @@ const SortIcon = (props) => {
11
11
  const {
12
12
  sortOrder
13
13
  } = props;
14
- return vue.createVNode(index.ElIcon, {
15
- "size": 14,
14
+ return vue.createVNode("button", {
15
+ "type": "button",
16
+ "aria-label": props.ariaLabel,
16
17
  "class": props.class
18
+ }, [vue.createVNode(index.ElIcon, {
19
+ "size": 14
17
20
  }, {
18
21
  default: () => [sortOrder === constants.SortOrder.ASC ? vue.createVNode(iconsVue.SortUp, null, null) : vue.createVNode(iconsVue.SortDown, null, null)]
19
- });
22
+ })]);
20
23
  };
21
24
  var SortIcon$1 = SortIcon;
22
25
 
@@ -1 +1 @@
1
- {"version":3,"file":"sort-icon.js","sources":["../../../../../../../packages/components/table-v2/src/components/sort-icon.tsx"],"sourcesContent":["import ElIcon from '@element-plus/components/icon'\nimport { SortDown, SortUp } from '@element-plus/icons-vue'\nimport { SortOrder } from '../constants'\n\nimport type { FunctionalComponent } from 'vue'\n\nexport type SortIconProps = {\n sortOrder: SortOrder\n class?: JSX.IntrinsicAttributes['class']\n}\n\nconst SortIcon: FunctionalComponent<SortIconProps> = (props) => {\n const { sortOrder } = props\n\n return (\n <ElIcon size={14} class={props.class}>\n {sortOrder === SortOrder.ASC ? <SortUp /> : <SortDown />}\n </ElIcon>\n )\n}\n\nexport default SortIcon\n"],"names":["SortIcon","sortOrder","_createVNode","ElIcon","SortOrder","SortUp","SortDown"],"mappings":";;;;;;;;;;AAWA,EAAMA,MAAAA;IACE,SAAA;AAAEC,GAAAA,GAAAA,KAAAA,CAAAA;AAAF,EAAA,OAANC,eAAA,CAAAC,YAAA,EAAA;AAEA,IAAA,MAAA,EAAA,EAAA;AAAA,IAAA,OAAA,EAAA,KAAA,CAAA,KAAA;AAAA,GAAA,EAAA;AAAA,IAAA,OAAA,EAAA,MAAA,CAAA,SAAA,KAAAC,mBAAA,CAAA,GAAA,GAAAF,eAAA,CAAAG,eAAA,EAAA,IAAA,EAAA,IAAA,CAAA,GAAAH,eAAA,CAAAI,iBAAA,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAKD,iBARD,QAAA;;;;"}
1
+ {"version":3,"file":"sort-icon.js","sources":["../../../../../../../packages/components/table-v2/src/components/sort-icon.tsx"],"sourcesContent":["import ElIcon from '@element-plus/components/icon'\nimport { SortDown, SortUp } from '@element-plus/icons-vue'\nimport { SortOrder } from '../constants'\n\nimport type { FunctionalComponent } from 'vue'\n\nexport type SortIconProps = {\n sortOrder: SortOrder\n ariaLabel?: string\n class?: JSX.IntrinsicAttributes['class']\n}\n\nconst SortIcon: FunctionalComponent<SortIconProps> = (props) => {\n const { sortOrder } = props\n\n return (\n <button type=\"button\" aria-label={props.ariaLabel} class={props.class}>\n <ElIcon size={14}>\n {sortOrder === SortOrder.ASC ? <SortUp /> : <SortDown />}\n </ElIcon>\n </button>\n )\n}\n\nexport default SortIcon\n"],"names":["SortIcon","sortOrder","_createVNode","props","ariaLabel","class","SortOrder","SortUp","SortDown"],"mappings":";;;;;;;;;;AAYA,EAAMA,MAAAA;IACE,SAAA;AAAEC,GAAAA,GAAAA,KAAAA,CAAAA;AAAF,EAAA,OAANC,eAAA,CAAA,QAAA,EAAA;AAEA,IAAA,MAAA,EAAA,QAAA;AAAA,IAAA,YAAA,EAAA,KAAA,CAAA,SAAA;IAAA,OACoCC,EAAAA,KAAAA,CAAAA,KAAMC;AAD1C,GAAA,EAAA,CAAAF,eACiE,CAACG,YAAAA,EAAAA;AADlE,IAAA,MAAA,EAAA,EAAA;KAEkB;AAFlB,IAAA,OAAA,EAAA,MAAA,CAAA,SAAA,KAAAC,mBAAA,CAAA,GAAA,GAAAJ,eAAA,CAAAK,eAAA,EAAA,IAAA,EAAA,IAAA,CAAA,GAAAL,eAAA,CAAAM,iBAAA,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAOD,iBAVD,QAAA;;;;"}
@@ -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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"}