@element-plus/nightly 0.0.20260108 → 0.0.20260109

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 (483) hide show
  1. package/README.md +0 -5
  2. package/dist/index.full.js +12 -4
  3. package/dist/index.full.min.js +3 -3
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +3 -3
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +12 -4
  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/badge/index.mjs +2 -2
  277. package/es/components/badge/src/badge.mjs +31 -83
  278. package/es/components/badge/src/badge.mjs.map +1 -1
  279. package/es/components/badge/src/badge2.mjs +83 -31
  280. package/es/components/badge/src/badge2.mjs.map +1 -1
  281. package/es/components/card/index.mjs +2 -2
  282. package/es/components/card/src/card.mjs +22 -73
  283. package/es/components/card/src/card.mjs.map +1 -1
  284. package/es/components/card/src/card2.mjs +73 -22
  285. package/es/components/card/src/card2.mjs.map +1 -1
  286. package/es/components/carousel/index.mjs +2 -2
  287. package/es/components/carousel/src/carousel.mjs +254 -60
  288. package/es/components/carousel/src/carousel.mjs.map +1 -1
  289. package/es/components/carousel/src/carousel2.mjs +60 -254
  290. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  291. package/es/components/cascader/index.mjs +2 -2
  292. package/es/components/cascader/src/cascader.mjs +843 -103
  293. package/es/components/cascader/src/cascader.mjs.map +1 -1
  294. package/es/components/cascader/src/cascader2.mjs +103 -843
  295. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  296. package/es/components/col/index.mjs +2 -2
  297. package/es/components/col/src/col.mjs +42 -65
  298. package/es/components/col/src/col.mjs.map +1 -1
  299. package/es/components/col/src/col2.mjs +65 -42
  300. package/es/components/col/src/col2.mjs.map +1 -1
  301. package/es/components/collapse/index.mjs +2 -2
  302. package/es/components/collapse/src/collapse-item.mjs +17 -118
  303. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  304. package/es/components/collapse/src/collapse-item2.mjs +118 -17
  305. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  306. package/es/components/dropdown/index.mjs +2 -2
  307. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  308. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  309. package/es/components/dropdown/src/dropdown-menu.mjs +2 -2
  310. package/es/components/dropdown/src/dropdown.mjs +264 -112
  311. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  312. package/es/components/dropdown/src/dropdown2.mjs +112 -264
  313. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  314. package/es/components/form/index.mjs +2 -2
  315. package/es/components/form/src/form-item.mjs +360 -45
  316. package/es/components/form/src/form-item.mjs.map +1 -1
  317. package/es/components/form/src/form-item2.mjs +45 -360
  318. package/es/components/form/src/form-item2.mjs.map +1 -1
  319. package/es/components/index.mjs +13 -13
  320. package/es/components/input-tag/index.mjs +2 -2
  321. package/es/components/input-tag/src/input-tag.mjs +344 -82
  322. package/es/components/input-tag/src/input-tag.mjs.map +1 -1
  323. package/es/components/input-tag/src/input-tag2.mjs +82 -344
  324. package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
  325. package/es/components/mention/src/mention-dropdown.mjs +205 -14
  326. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  327. package/es/components/mention/src/mention-dropdown2.mjs +14 -205
  328. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  329. package/es/components/mention/src/mention2.mjs +1 -1
  330. package/es/components/pagination/src/components/total.mjs +6 -27
  331. package/es/components/pagination/src/components/total.mjs.map +1 -1
  332. package/es/components/pagination/src/components/total2.mjs +27 -6
  333. package/es/components/pagination/src/components/total2.mjs.map +1 -1
  334. package/es/components/pagination/src/pagination.mjs +1 -1
  335. package/es/components/popover/src/popover.mjs +1 -1
  336. package/es/components/radio/index.mjs +2 -2
  337. package/es/components/radio/src/radio-group.mjs +105 -53
  338. package/es/components/radio/src/radio-group.mjs.map +1 -1
  339. package/es/components/radio/src/radio-group2.mjs +53 -105
  340. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  341. package/es/components/roving-focus-group/index.mjs +3 -3
  342. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  343. package/es/components/roving-focus-group/src/roving-focus-group.mjs +32 -27
  344. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  345. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -32
  346. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  347. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  348. package/es/components/skeleton/index.mjs +2 -2
  349. package/es/components/skeleton/src/skeleton-item.mjs +27 -17
  350. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  351. package/es/components/skeleton/src/skeleton-item2.mjs +17 -27
  352. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  353. package/es/components/skeleton/src/skeleton2.mjs +1 -1
  354. package/es/components/slider/src/button.mjs +104 -18
  355. package/es/components/slider/src/button.mjs.map +1 -1
  356. package/es/components/slider/src/button2.mjs +18 -104
  357. package/es/components/slider/src/button2.mjs.map +1 -1
  358. package/es/components/slider/src/slider2.mjs +1 -1
  359. package/es/components/steps/index.mjs +2 -2
  360. package/es/components/steps/src/item.mjs +257 -18
  361. package/es/components/steps/src/item.mjs.map +1 -1
  362. package/es/components/steps/src/item2.mjs +18 -257
  363. package/es/components/steps/src/item2.mjs.map +1 -1
  364. package/es/components/table-v2/src/table-grid.mjs +10 -2
  365. package/es/components/table-v2/src/table-grid.mjs.map +1 -1
  366. package/es/components/upload/index.mjs +1 -1
  367. package/es/components/upload/src/upload-list.mjs +27 -206
  368. package/es/components/upload/src/upload-list.mjs.map +1 -1
  369. package/es/components/upload/src/upload-list2.mjs +206 -27
  370. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  371. package/es/components/upload/src/upload.vue.d.ts +1 -1
  372. package/es/components/upload/src/upload2.mjs +1 -1
  373. package/es/components/upload/src/use-handlers.d.ts +1 -1
  374. package/es/components/upload/src/use-handlers.mjs.map +1 -1
  375. package/es/index.mjs +13 -13
  376. package/es/version.d.ts +1 -1
  377. package/es/version.mjs +1 -1
  378. package/es/version.mjs.map +1 -1
  379. package/lib/components/badge/index.js +2 -2
  380. package/lib/components/badge/src/badge.js +31 -83
  381. package/lib/components/badge/src/badge.js.map +1 -1
  382. package/lib/components/badge/src/badge2.js +83 -31
  383. package/lib/components/badge/src/badge2.js.map +1 -1
  384. package/lib/components/card/index.js +2 -2
  385. package/lib/components/card/src/card.js +23 -73
  386. package/lib/components/card/src/card.js.map +1 -1
  387. package/lib/components/card/src/card2.js +73 -23
  388. package/lib/components/card/src/card2.js.map +1 -1
  389. package/lib/components/carousel/index.js +2 -2
  390. package/lib/components/carousel/src/carousel.js +254 -61
  391. package/lib/components/carousel/src/carousel.js.map +1 -1
  392. package/lib/components/carousel/src/carousel2.js +61 -254
  393. package/lib/components/carousel/src/carousel2.js.map +1 -1
  394. package/lib/components/cascader/index.js +2 -2
  395. package/lib/components/cascader/src/cascader.js +842 -103
  396. package/lib/components/cascader/src/cascader.js.map +1 -1
  397. package/lib/components/cascader/src/cascader2.js +103 -842
  398. package/lib/components/cascader/src/cascader2.js.map +1 -1
  399. package/lib/components/col/index.js +2 -2
  400. package/lib/components/col/src/col.js +42 -65
  401. package/lib/components/col/src/col.js.map +1 -1
  402. package/lib/components/col/src/col2.js +65 -42
  403. package/lib/components/col/src/col2.js.map +1 -1
  404. package/lib/components/collapse/index.js +2 -2
  405. package/lib/components/collapse/src/collapse-item.js +17 -118
  406. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  407. package/lib/components/collapse/src/collapse-item2.js +118 -17
  408. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  409. package/lib/components/dropdown/index.js +2 -2
  410. package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
  411. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  412. package/lib/components/dropdown/src/dropdown-menu.js +2 -2
  413. package/lib/components/dropdown/src/dropdown.js +264 -117
  414. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  415. package/lib/components/dropdown/src/dropdown2.js +117 -264
  416. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  417. package/lib/components/form/index.js +2 -2
  418. package/lib/components/form/src/form-item.js +364 -46
  419. package/lib/components/form/src/form-item.js.map +1 -1
  420. package/lib/components/form/src/form-item2.js +46 -364
  421. package/lib/components/form/src/form-item2.js.map +1 -1
  422. package/lib/components/index.js +13 -13
  423. package/lib/components/input-tag/index.js +2 -2
  424. package/lib/components/input-tag/src/input-tag.js +342 -81
  425. package/lib/components/input-tag/src/input-tag.js.map +1 -1
  426. package/lib/components/input-tag/src/input-tag2.js +81 -342
  427. package/lib/components/input-tag/src/input-tag2.js.map +1 -1
  428. package/lib/components/mention/src/mention-dropdown.js +205 -15
  429. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  430. package/lib/components/mention/src/mention-dropdown2.js +15 -205
  431. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  432. package/lib/components/mention/src/mention2.js +1 -1
  433. package/lib/components/pagination/src/components/total.js +6 -27
  434. package/lib/components/pagination/src/components/total.js.map +1 -1
  435. package/lib/components/pagination/src/components/total2.js +27 -6
  436. package/lib/components/pagination/src/components/total2.js.map +1 -1
  437. package/lib/components/pagination/src/pagination.js +1 -1
  438. package/lib/components/popover/src/popover.js +1 -1
  439. package/lib/components/radio/index.js +2 -2
  440. package/lib/components/radio/src/radio-group.js +105 -55
  441. package/lib/components/radio/src/radio-group.js.map +1 -1
  442. package/lib/components/radio/src/radio-group2.js +55 -105
  443. package/lib/components/radio/src/radio-group2.js.map +1 -1
  444. package/lib/components/roving-focus-group/index.js +2 -2
  445. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  446. package/lib/components/roving-focus-group/src/roving-focus-group.js +32 -31
  447. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  448. package/lib/components/roving-focus-group/src/roving-focus-group2.js +31 -32
  449. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  450. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  451. package/lib/components/skeleton/index.js +2 -2
  452. package/lib/components/skeleton/src/skeleton-item.js +27 -17
  453. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  454. package/lib/components/skeleton/src/skeleton-item2.js +17 -27
  455. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  456. package/lib/components/skeleton/src/skeleton2.js +1 -1
  457. package/lib/components/slider/src/button.js +104 -19
  458. package/lib/components/slider/src/button.js.map +1 -1
  459. package/lib/components/slider/src/button2.js +19 -104
  460. package/lib/components/slider/src/button2.js.map +1 -1
  461. package/lib/components/slider/src/slider2.js +1 -1
  462. package/lib/components/steps/index.js +2 -2
  463. package/lib/components/steps/src/item.js +257 -18
  464. package/lib/components/steps/src/item.js.map +1 -1
  465. package/lib/components/steps/src/item2.js +18 -257
  466. package/lib/components/steps/src/item2.js.map +1 -1
  467. package/lib/components/table-v2/src/table-grid.js +10 -2
  468. package/lib/components/table-v2/src/table-grid.js.map +1 -1
  469. package/lib/components/upload/index.js +1 -1
  470. package/lib/components/upload/src/upload-list.js +28 -206
  471. package/lib/components/upload/src/upload-list.js.map +1 -1
  472. package/lib/components/upload/src/upload-list2.js +206 -28
  473. package/lib/components/upload/src/upload-list2.js.map +1 -1
  474. package/lib/components/upload/src/upload.vue.d.ts +1 -1
  475. package/lib/components/upload/src/upload2.js +1 -1
  476. package/lib/components/upload/src/use-handlers.d.ts +1 -1
  477. package/lib/components/upload/src/use-handlers.js.map +1 -1
  478. package/lib/index.js +13 -13
  479. package/lib/version.d.ts +1 -1
  480. package/lib/version.js +1 -1
  481. package/lib/version.js.map +1 -1
  482. package/package.json +2 -2
  483. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"table-grid.mjs","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onActivated,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport {\n DynamicSizeGrid,\n FixedSizeGrid,\n} from '@element-plus/components/virtual-list'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { Header } from './components'\nimport { TABLE_V2_GRID_INJECTION_KEY, TableV2InjectionKey } from './tokens'\nimport { tableV2GridProps } from './grid'\nimport { sum } from './utils'\n\nimport type { UnwrapRef } from 'vue'\nimport type {\n DynamicSizeGridInstance,\n GridDefaultSlotParams,\n GridItemKeyGetter,\n GridItemRenderedEvtParams,\n GridScrollOptions,\n ResetAfterIndex,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { TableV2HeaderInstance } from './components'\nimport type { TableV2GridProps } from './grid'\n\nconst COMPONENT_NAME = 'ElTableV2Grid'\n\nconst useTableGrid = (props: TableV2GridProps) => {\n const headerRef = ref<TableV2HeaderInstance>()\n const bodyRef = ref<DynamicSizeGridInstance>()\n const scrollLeft = ref(0)\n\n const totalHeight = computed(() => {\n const { data, rowHeight, estimatedRowHeight } = props\n\n if (estimatedRowHeight) {\n return\n }\n\n return data.length * (rowHeight as number)\n })\n\n const fixedRowHeight = computed(() => {\n const { fixedData, rowHeight } = props\n\n return (fixedData?.length || 0) * (rowHeight as number)\n })\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const gridHeight = computed(() => {\n const { height } = props\n return Math.max(0, height - unref(headerHeight) - unref(fixedRowHeight))\n })\n\n const hasHeader = computed(() => {\n return unref(headerHeight) + unref(fixedRowHeight) > 0\n })\n\n const itemKey: GridItemKeyGetter = ({ data, rowIndex }) =>\n data[rowIndex][props.rowKey]\n\n function onItemRendered({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n }: GridItemRenderedEvtParams) {\n props.onRowsRendered?.({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n function resetAfterRowIndex(index: number, forceUpdate: boolean) {\n bodyRef.value?.resetAfterRowIndex(index, forceUpdate)\n }\n\n function scrollTo(x: number, y: number): void\n function scrollTo(options: GridScrollOptions): void\n function scrollTo(leftOrOptions: number | GridScrollOptions, top?: number) {\n const header$ = unref(headerRef)\n const body$ = unref(bodyRef)\n\n if (isObject(leftOrOptions)) {\n header$?.scrollToLeft(leftOrOptions.scrollLeft)\n scrollLeft.value = leftOrOptions.scrollLeft!\n body$?.scrollTo(leftOrOptions)\n } else {\n header$?.scrollToLeft(leftOrOptions)\n scrollLeft.value = leftOrOptions\n body$?.scrollTo({\n scrollLeft: leftOrOptions,\n scrollTop: top,\n })\n }\n }\n\n function scrollToTop(scrollTop: number) {\n unref(bodyRef)?.scrollTo({\n scrollTop,\n })\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy) {\n unref(bodyRef)?.scrollToItem(row, 1, strategy)\n }\n\n function forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\n }\n\n watch(\n () => props.bodyWidth,\n () => {\n if (isNumber(props.estimatedRowHeight))\n bodyRef.value?.resetAfter({ columnIndex: 0 }, false)\n }\n )\n\n return {\n bodyRef,\n forceUpdate,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerHeight,\n headerRef,\n totalHeight,\n\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n }\n}\n\nconst TableGrid = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2GridProps,\n setup(props, { slots, expose }) {\n const { ns } = inject(TableV2InjectionKey)!\n\n const {\n bodyRef,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerRef,\n headerHeight,\n totalHeight,\n\n forceUpdate,\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n } = useTableGrid(props)\n\n provide(TABLE_V2_GRID_INJECTION_KEY, scrollLeft)\n\n onActivated(async () => {\n await nextTick()\n const scrollTop = bodyRef.value?.states.scrollTop\n scrollTop && scrollToTop(Math.round(scrollTop) + 1)\n })\n\n expose({\n forceUpdate,\n /**\n * @description fetch total height\n */\n totalHeight,\n /**\n * @description scroll to a position\n */\n scrollTo,\n /**\n * @description scroll vertically to position y\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n /**\n * @description reset rendered state after row index\n */\n resetAfterRowIndex,\n })\n\n const getColumnWidth = () => props.bodyWidth\n\n return () => {\n const {\n cache,\n columns,\n data,\n fixedData,\n useIsScrolling,\n scrollbarAlwaysOn,\n scrollbarEndGap,\n scrollbarStartGap,\n style,\n rowHeight,\n bodyWidth,\n estimatedRowHeight,\n headerWidth,\n height,\n width,\n\n getRowHeight,\n onScroll,\n } = props\n\n const isDynamicRowEnabled = isNumber(estimatedRowHeight)\n const Grid = isDynamicRowEnabled ? DynamicSizeGrid : FixedSizeGrid\n const _headerHeight = unref(headerHeight)\n\n return (\n <div role=\"table\" class={[ns.e('table'), props.class]} style={style}>\n <Grid\n ref={bodyRef}\n // special attrs\n data={data}\n useIsScrolling={useIsScrolling}\n itemKey={itemKey}\n // column attrs\n columnCache={0}\n columnWidth={isDynamicRowEnabled ? getColumnWidth : bodyWidth}\n totalColumn={1}\n // row attrs\n totalRow={data.length}\n rowCache={cache}\n rowHeight={isDynamicRowEnabled ? getRowHeight : rowHeight}\n // DOM attrs\n width={width}\n height={unref(gridHeight)}\n class={ns.e('body')}\n role=\"rowgroup\"\n scrollbarStartGap={scrollbarStartGap}\n scrollbarEndGap={scrollbarEndGap}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n // handlers\n onScroll={onScroll}\n onItemRendered={onItemRendered}\n perfMode={false}\n >\n {{\n default: (params: GridDefaultSlotParams) => {\n const rowData = data[params.rowIndex]\n return slots.row?.({\n ...params,\n columns,\n rowData,\n })\n },\n }}\n </Grid>\n {unref(hasHeader) && (\n <Header\n ref={headerRef}\n class={ns.e('header-wrapper')}\n columns={columns}\n headerData={data}\n headerHeight={props.headerHeight}\n fixedHeaderData={fixedData}\n rowWidth={headerWidth}\n rowHeight={rowHeight}\n width={width}\n height={Math.min(_headerHeight + unref(fixedRowHeight), height)}\n >\n {{\n dynamic: slots.header,\n fixed: slots.row,\n }}\n </Header>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableGrid\n\nexport type TableGridRowSlotParams = {\n columns: TableV2GridProps['columns']\n rowData: any\n} & GridDefaultSlotParams\n\nexport type TableGridInstance = InstanceType<typeof TableGrid> &\n UnwrapRef<{\n forceUpdate: () => void\n /**\n * @description fetch total height\n */\n totalHeight: number\n\n /**\n * @description scrollTo a position\n * @param { number | ScrollToOptions } arg1\n * @param { number } arg2\n */\n scrollTo(leftOrOptions: number | GridScrollOptions, top?: number): void\n\n /**\n * @description scroll vertically to position y\n */\n scrollToTop(scrollTop: number): void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy: ScrollStrategy): void\n /**\n * @description reset rendered state after row index\n * @param { number } rowIndex\n * @param { boolean } forceUpdate\n */\n resetAfterRowIndex: ResetAfterIndex\n }>\n"],"names":["COMPONENT_NAME","useTableGrid","props","headerRef","ref","bodyRef","scrollLeft","totalHeight","computed","data","rowHeight","estimatedRowHeight","length","fixedRowHeight","fixedData","headerHeight","sum","gridHeight","height","Math","max","unref","hasHeader","itemKey","rowIndex","rowKey","onItemRendered","rowCacheStart","rowCacheEnd","rowVisibleStart","rowVisibleEnd","onRowsRendered","resetAfterRowIndex","index","forceUpdate","value","scrollTo","leftOrOptions","top","header$","body$","isObject","scrollToLeft","scrollTop","scrollToTop","scrollToRow","row","strategy","scrollToItem","$forceUpdate","watch","bodyWidth","isNumber","resetAfter","columnIndex","TableGrid","defineComponent","name","tableV2GridProps","setup","slots","expose","ns","inject","TableV2InjectionKey","provide","TABLE_V2_GRID_INJECTION_KEY","onActivated","nextTick","states","round","getColumnWidth","cache","columns","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","headerWidth","width","getRowHeight","onScroll","isDynamicRowEnabled","Grid","DynamicSizeGrid","FixedSizeGrid","_headerHeight","_createVNode","e","class","default","params","rowData","Header","min","dynamic","header","fixed"],"mappings":"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"}
1
+ {"version":3,"file":"table-grid.mjs","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onActivated,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport {\n DynamicSizeGrid,\n FixedSizeGrid,\n} from '@element-plus/components/virtual-list'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { Header } from './components'\nimport { TABLE_V2_GRID_INJECTION_KEY, TableV2InjectionKey } from './tokens'\nimport { tableV2GridProps } from './grid'\nimport { sum } from './utils'\n\nimport type { UnwrapRef } from 'vue'\nimport type {\n DynamicSizeGridInstance,\n GridDefaultSlotParams,\n GridItemKeyGetter,\n GridItemRenderedEvtParams,\n GridScrollOptions,\n ResetAfterIndex,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { TableV2HeaderInstance } from './components'\nimport type { TableV2GridProps } from './grid'\n\nconst COMPONENT_NAME = 'ElTableV2Grid'\n\nconst useTableGrid = (props: TableV2GridProps) => {\n const headerRef = ref<TableV2HeaderInstance>()\n const bodyRef = ref<DynamicSizeGridInstance>()\n const scrollLeft = ref(0)\n\n const totalHeight = computed(() => {\n const { data, rowHeight, estimatedRowHeight } = props\n\n if (estimatedRowHeight) {\n return\n }\n\n return data.length * (rowHeight as number)\n })\n\n const fixedRowHeight = computed(() => {\n const { fixedData, rowHeight } = props\n\n return (fixedData?.length || 0) * (rowHeight as number)\n })\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const gridHeight = computed(() => {\n const { height } = props\n return Math.max(0, height - unref(headerHeight) - unref(fixedRowHeight))\n })\n\n const hasHeader = computed(() => {\n return unref(headerHeight) + unref(fixedRowHeight) > 0\n })\n\n const itemKey: GridItemKeyGetter = ({ data, rowIndex }) =>\n data[rowIndex][props.rowKey]\n\n function onItemRendered({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n }: GridItemRenderedEvtParams) {\n props.onRowsRendered?.({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n function resetAfterRowIndex(index: number, forceUpdate: boolean) {\n bodyRef.value?.resetAfterRowIndex(index, forceUpdate)\n }\n\n function scrollTo(x: number, y: number): void\n function scrollTo(options: GridScrollOptions): void\n function scrollTo(leftOrOptions: number | GridScrollOptions, top?: number) {\n const header$ = unref(headerRef)\n const body$ = unref(bodyRef)\n\n if (isObject(leftOrOptions)) {\n header$?.scrollToLeft(leftOrOptions.scrollLeft)\n scrollLeft.value = leftOrOptions.scrollLeft!\n body$?.scrollTo(leftOrOptions)\n } else {\n header$?.scrollToLeft(leftOrOptions)\n scrollLeft.value = leftOrOptions\n body$?.scrollTo({\n scrollLeft: leftOrOptions,\n scrollTop: top,\n })\n }\n }\n\n function scrollToTop(scrollTop: number) {\n unref(bodyRef)?.scrollTo({\n scrollTop,\n })\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy) {\n const body = unref(bodyRef)\n if (!body) return\n\n const prevScrollLeft = scrollLeft.value\n\n body.scrollToItem(row, 0, strategy)\n\n if (prevScrollLeft) {\n scrollTo({\n scrollLeft: prevScrollLeft,\n })\n }\n }\n\n function forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\n }\n\n watch(\n () => props.bodyWidth,\n () => {\n if (isNumber(props.estimatedRowHeight))\n bodyRef.value?.resetAfter({ columnIndex: 0 }, false)\n }\n )\n\n return {\n bodyRef,\n forceUpdate,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerHeight,\n headerRef,\n totalHeight,\n\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n }\n}\n\nconst TableGrid = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2GridProps,\n setup(props, { slots, expose }) {\n const { ns } = inject(TableV2InjectionKey)!\n\n const {\n bodyRef,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerRef,\n headerHeight,\n totalHeight,\n\n forceUpdate,\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n } = useTableGrid(props)\n\n provide(TABLE_V2_GRID_INJECTION_KEY, scrollLeft)\n\n onActivated(async () => {\n await nextTick()\n const scrollTop = bodyRef.value?.states.scrollTop\n scrollTop && scrollToTop(Math.round(scrollTop) + 1)\n })\n\n expose({\n forceUpdate,\n /**\n * @description fetch total height\n */\n totalHeight,\n /**\n * @description scroll to a position\n */\n scrollTo,\n /**\n * @description scroll vertically to position y\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n /**\n * @description reset rendered state after row index\n */\n resetAfterRowIndex,\n })\n\n const getColumnWidth = () => props.bodyWidth\n\n return () => {\n const {\n cache,\n columns,\n data,\n fixedData,\n useIsScrolling,\n scrollbarAlwaysOn,\n scrollbarEndGap,\n scrollbarStartGap,\n style,\n rowHeight,\n bodyWidth,\n estimatedRowHeight,\n headerWidth,\n height,\n width,\n\n getRowHeight,\n onScroll,\n } = props\n\n const isDynamicRowEnabled = isNumber(estimatedRowHeight)\n const Grid = isDynamicRowEnabled ? DynamicSizeGrid : FixedSizeGrid\n const _headerHeight = unref(headerHeight)\n\n return (\n <div role=\"table\" class={[ns.e('table'), props.class]} style={style}>\n <Grid\n ref={bodyRef}\n // special attrs\n data={data}\n useIsScrolling={useIsScrolling}\n itemKey={itemKey}\n // column attrs\n columnCache={0}\n columnWidth={isDynamicRowEnabled ? getColumnWidth : bodyWidth}\n totalColumn={1}\n // row attrs\n totalRow={data.length}\n rowCache={cache}\n rowHeight={isDynamicRowEnabled ? getRowHeight : rowHeight}\n // DOM attrs\n width={width}\n height={unref(gridHeight)}\n class={ns.e('body')}\n role=\"rowgroup\"\n scrollbarStartGap={scrollbarStartGap}\n scrollbarEndGap={scrollbarEndGap}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n // handlers\n onScroll={onScroll}\n onItemRendered={onItemRendered}\n perfMode={false}\n >\n {{\n default: (params: GridDefaultSlotParams) => {\n const rowData = data[params.rowIndex]\n return slots.row?.({\n ...params,\n columns,\n rowData,\n })\n },\n }}\n </Grid>\n {unref(hasHeader) && (\n <Header\n ref={headerRef}\n class={ns.e('header-wrapper')}\n columns={columns}\n headerData={data}\n headerHeight={props.headerHeight}\n fixedHeaderData={fixedData}\n rowWidth={headerWidth}\n rowHeight={rowHeight}\n width={width}\n height={Math.min(_headerHeight + unref(fixedRowHeight), height)}\n >\n {{\n dynamic: slots.header,\n fixed: slots.row,\n }}\n </Header>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableGrid\n\nexport type TableGridRowSlotParams = {\n columns: TableV2GridProps['columns']\n rowData: any\n} & GridDefaultSlotParams\n\nexport type TableGridInstance = InstanceType<typeof TableGrid> &\n UnwrapRef<{\n forceUpdate: () => void\n /**\n * @description fetch total height\n */\n totalHeight: number\n\n /**\n * @description scrollTo a position\n * @param { number | ScrollToOptions } arg1\n * @param { number } arg2\n */\n scrollTo(leftOrOptions: number | GridScrollOptions, top?: number): void\n\n /**\n * @description scroll vertically to position y\n */\n scrollToTop(scrollTop: number): void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy: ScrollStrategy): void\n /**\n * @description reset rendered state after row index\n * @param { number } rowIndex\n * @param { boolean } forceUpdate\n */\n resetAfterRowIndex: ResetAfterIndex\n }>\n"],"names":["COMPONENT_NAME","useTableGrid","props","headerRef","ref","bodyRef","scrollLeft","totalHeight","computed","data","rowHeight","estimatedRowHeight","length","fixedRowHeight","fixedData","headerHeight","sum","gridHeight","height","Math","max","unref","hasHeader","itemKey","rowIndex","rowKey","onItemRendered","rowCacheStart","rowCacheEnd","rowVisibleStart","rowVisibleEnd","onRowsRendered","resetAfterRowIndex","index","forceUpdate","value","scrollTo","leftOrOptions","top","header$","body$","isObject","scrollToLeft","scrollTop","scrollToTop","scrollToRow","row","strategy","body","prevScrollLeft","scrollToItem","$forceUpdate","watch","bodyWidth","isNumber","resetAfter","columnIndex","TableGrid","defineComponent","name","tableV2GridProps","setup","slots","expose","ns","inject","TableV2InjectionKey","provide","TABLE_V2_GRID_INJECTION_KEY","onActivated","nextTick","states","round","getColumnWidth","cache","columns","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","headerWidth","width","getRowHeight","onScroll","isDynamicRowEnabled","Grid","DynamicSizeGrid","FixedSizeGrid","_headerHeight","_createVNode","e","class","default","params","rowData","Header","min","dynamic","header","fixed"],"mappings":";;;;;;;;;;AAkCA,MAAMA,cAAiB,GAAA,eAAA,CAAA;AAEvB,MAAMC,eAAgBC,CAA4B,KAAA,KAAA;AAChD,EAAA,MAAMC,YAAYC,GAA2B,EAAA,CAAA;AAC7C,EAAA,MAAMC,UAAUD,GAA6B,EAAA,CAAA;AAC7C,EAAME,MAAAA,UAAAA,GAAaF,IAAI,CAAC,CAAA,CAAA;AAExB,EAAMG,MAAAA,WAAAA,GAAcC,SAAS,MAAM;AACjC,IAAM,MAAA;AAAA,MAAEC,IAAAA;AAAAA,MAAMC,SAAAA;AAAAA,MAAWC,kBAAAA;AAAAA,KAAuBT,GAAAA,KAAAA,CAAAA;AAEhD,IAAA,IAAIS,kBAAoB,EAAA;AACtB,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,OAAOF,KAAKG,MAAUF,GAAAA,SAAAA,CAAAA;AAAAA,GACvB,CAAA,CAAA;AAED,EAAMG,MAAAA,cAAAA,GAAiBL,SAAS,MAAM;AACpC,IAAM,MAAA;AAAA,MAAEM,SAAAA;AAAAA,MAAWJ,SAAAA;AAAAA,KAAcR,GAAAA,KAAAA,CAAAA;AAEjC,IAAQY,OAAAA,CAAAA,CAAAA,SAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAAA,CAAWF,WAAU,CAAMF,IAAAA,SAAAA,CAAAA;AAAAA,GACpC,CAAA,CAAA;AAED,EAAA,MAAMK,eAAeP,QAAS,CAAA,MAAMQ,GAAId,CAAAA,KAAAA,CAAMa,YAAY,CAAC,CAAA,CAAA;AAE3D,EAAME,MAAAA,UAAAA,GAAaT,SAAS,MAAM;AAChC,IAAM,MAAA;AAAA,MAAEU,MAAAA;AAAAA,KAAWhB,GAAAA,KAAAA,CAAAA;AACnB,IAAOiB,OAAAA,IAAAA,CAAKC,IAAI,CAAGF,EAAAA,MAAAA,GAASG,MAAMN,YAAY,CAAA,GAAIM,KAAMR,CAAAA,cAAc,CAAC,CAAA,CAAA;AAAA,GACxE,CAAA,CAAA;AAED,EAAMS,MAAAA,SAAAA,GAAYd,SAAS,MAAM;AAC/B,IAAA,OAAOa,KAAMN,CAAAA,YAAY,CAAIM,GAAAA,KAAAA,CAAMR,cAAc,CAAI,GAAA,CAAA,CAAA;AAAA,GACtD,CAAA,CAAA;AAED,EAAA,MAAMU,UAA6BA,CAAC;AAAA,IAAEd,IAAAA;AAAAA,IAAMe,QAAAA;AAAAA,GAAS,KACnDf,IAAKe,CAAAA,QAAAA,CAAAA,CAAUtB,KAAMuB,CAAAA,MAAAA,CAAAA,CAAAA;AAEvB,EAAA,SAASC,cAAe,CAAA;AAAA,IACtBC,aAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAC,eAAAA;AAAAA,IACAC,aAAAA;AAAAA,GAC4B,EAAA;AA5EhC,IAAA,IAAA,EAAA,CAAA;AA6EI5B,IAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAM6B,mBAAN7B,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAA;AAAA,MACrByB,aAAAA;AAAAA,MACAC,WAAAA;AAAAA,MACAC,eAAAA;AAAAA,MACAC,aAAAA;AAAAA,KACF,CAAA,CAAA;AAAA,GACF;AAEA,EAASE,SAAAA,kBAAAA,CAAmBC,OAAeC,YAAsB,EAAA;AArFnE,IAAA,IAAA,EAAA,CAAA;AAsFI7B,IAAQ8B,CAAAA,EAAAA,GAAAA,OAAAA,CAAAA,KAAAA,KAAR9B,IAAe2B,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,kBAAAA,CAAmBC,KAAOC,EAAAA,YAAAA,CAAAA,CAAAA;AAAAA,GAC3C;AAIA,EAASE,SAAAA,QAAAA,CAASC,eAA2CC,GAAc,EAAA;AACzE,IAAMC,MAAAA,OAAAA,GAAUlB,MAAMlB,SAAS,CAAA,CAAA;AAC/B,IAAMqC,MAAAA,KAAAA,GAAQnB,MAAMhB,OAAO,CAAA,CAAA;AAE3B,IAAIoC,IAAAA,QAAAA,CAASJ,aAAa,CAAG,EAAA;AAC3BE,MAAAA,OAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAAA,CAASG,aAAaL,aAAc/B,CAAAA,UAAAA,CAAAA,CAAAA;AACpCA,MAAAA,UAAAA,CAAW6B,QAAQE,aAAc/B,CAAAA,UAAAA,CAAAA;AACjCkC,MAAAA,KAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAOJ,QAASC,CAAAA,aAAAA,CAAAA,CAAAA;AAAAA,KACX,MAAA;AACLE,MAAAA,OAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAAA,CAASG,YAAaL,CAAAA,aAAAA,CAAAA,CAAAA;AACtB/B,MAAAA,UAAAA,CAAW6B,KAAQE,GAAAA,aAAAA,CAAAA;AACnBG,MAAAA,KAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAOJ,QAAS,CAAA;AAAA,QACd9B,UAAY+B,EAAAA,aAAAA;AAAAA,QACZM,SAAWL,EAAAA,GAAAA;AAAAA,OACb,CAAA,CAAA;AAAA,KACF;AAAA,GACF;AAEA,EAAA,SAASM,YAAYD,SAAmB,EAAA;AA7G1C,IAAA,IAAA,EAAA,CAAA;AA8GItB,IAAMhB,CAAAA,EAAAA,GAAAA,KAAAA,CAAAA,OAAO,CAAbgB,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAgBe,QAAS,CAAA;AAAA,MACvBO,SAAAA;AAAAA,KACF,CAAA,CAAA;AAAA,GACF;AAEA,EAASE,SAAAA,WAAAA,CAAYC,KAAaC,QAA0B,EAAA;AAC1D,IAAMC,MAAAA,IAAAA,GAAO3B,MAAMhB,OAAO,CAAA,CAAA;AAC1B,IAAA,IAAI,CAAC2C,IAAAA;AAAM,MAAA,OAAA;AAEX,IAAA,MAAMC,iBAAiB3C,UAAW6B,CAAAA,KAAAA,CAAAA;AAElCa,IAAKE,IAAAA,CAAAA,YAAAA,CAAaJ,GAAK,EAAA,CAAA,EAAGC,QAAQ,CAAA,CAAA;AAElC,IAAA,IAAIE,cAAgB,EAAA;AAClBb,MAAS,QAAA,CAAA;AAAA,QACP9B,UAAY2C,EAAAA,cAAAA;AAAAA,OACb,CAAA,CAAA;AAAA,KACH;AAAA,GACF;AAEA,EAAA,SAASf,WAAc,GAAA;AAlIzB,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAmIIb,IAAMhB,CAAAA,EAAAA,GAAAA,KAAAA,CAAAA,OAAO,MAAbgB,IAAgB8B,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,YAAAA,EAAAA,CAAAA;AAChB9B,IAAMlB,CAAAA,EAAAA,GAAAA,KAAAA,CAAAA,SAAS,MAAfkB,IAAkB8B,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,YAAAA,EAAAA,CAAAA;AAAAA,GACpB;AAEAC,EACE,KAAA,CAAA,MAAMlD,KAAMmD,CAAAA,SAAAA,EACZ,MAAM;AAzIV,IAAA,IAAA,EAAA,CAAA;AA0IM,IAAIC,IAAAA,QAAAA,CAASpD,MAAMS,kBAAkB,CAAA;AACnCN,MAAQ8B,CAAAA,EAAAA,GAAAA,OAAAA,CAAAA,KAAAA,KAAR9B,mBAAekD,UAAW,CAAA;AAAA,QAAEC,WAAa,EAAA,CAAA;AAAA,OAAK,EAAA,KAAA,CAAA,CAAA;AAAA,GAEpD,CAAA,CAAA;AAEA,EAAO,OAAA;AAAA,IACLnD,OAAAA;AAAAA,IACA6B,WAAAA;AAAAA,IACArB,cAAAA;AAAAA,IACAI,UAAAA;AAAAA,IACAK,SAAAA;AAAAA,IACAP,YAAAA;AAAAA,IACAZ,SAAAA;AAAAA,IACAI,WAAAA;AAAAA,IAEAgB,OAAAA;AAAAA,IACAG,cAAAA;AAAAA,IACAM,kBAAAA;AAAAA,IACAI,QAAAA;AAAAA,IACAQ,WAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAvC,UAAAA;AAAAA,GACF,CAAA;AACF,CAAA,CAAA;AAEA,MAAMmD,YAAYC,eAAgB,CAAA;AAAA,EAChCC,IAAM3D,EAAAA,cAAAA;AAAAA,EACNE,KAAO0D,EAAAA,gBAAAA;AAAAA,EACPC,MAAM3D,KAAO,EAAA;AAAA,IAAE4D,KAAAA;AAAAA,IAAOC,MAAAA;AAAAA,GAAU,EAAA;AAC9B,IAAM,MAAA;AAAA,MAAEC,EAAAA;AAAAA,KAAG,GAAIC,OAAOC,mBAAmB,CAAA,CAAA;AAEzC,IAAM,MAAA;AAAA,MACJ7D,OAAAA;AAAAA,MACAQ,cAAAA;AAAAA,MACAI,UAAAA;AAAAA,MACAK,SAAAA;AAAAA,MACAnB,SAAAA;AAAAA,MACAY,YAAAA;AAAAA,MACAR,WAAAA;AAAAA,MAEA2B,WAAAA;AAAAA,MACAX,OAAAA;AAAAA,MACAG,cAAAA;AAAAA,MACAM,kBAAAA;AAAAA,MACAI,QAAAA;AAAAA,MACAQ,WAAAA;AAAAA,MACAC,WAAAA;AAAAA,MACAvC,UAAAA;AAAAA,KACF,GAAIL,aAAaC,KAAK,CAAA,CAAA;AAEtBiE,IAAAA,OAAAA,CAAQC,6BAA6B9D,UAAU,CAAA,CAAA;AAE/C+D,IAAAA,WAAAA,CAAY,YAAY;AA9L5B,MAAA,IAAA,EAAA,CAAA;AA+LM,MAAA,MAAMC,QAAS,EAAA,CAAA;AACf,MAAA,MAAM3B,SAAYtC,GAAAA,CAAAA,EAAAA,GAAAA,OAAAA,CAAQ8B,KAAR9B,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAekE,MAAO5B,CAAAA,SAAAA,CAAAA;AACxCA,MAAAA,SAAAA,IAAaC,WAAYzB,CAAAA,IAAAA,CAAKqD,KAAM7B,CAAAA,SAAS,IAAI,CAAC,CAAA,CAAA;AAAA,KACnD,CAAA,CAAA;AAEDoB,IAAO,MAAA,CAAA;AAAA,MACL7B,WAAAA;AAAAA,MAIA3B,WAAAA;AAAAA,MAIA6B,QAAAA;AAAAA,MAIAQ,WAAAA;AAAAA,MAMAC,WAAAA;AAAAA,MAIAb,kBAAAA;AAAAA,KACD,CAAA,CAAA;AAED,IAAMyC,MAAAA,cAAAA,GAAiBA,MAAMvE,KAAMmD,CAAAA,SAAAA,CAAAA;AAEnC,IAAA,OAAO,MAAM;AACX,MAAM,MAAA;AAAA,QACJqB,KAAAA;AAAAA,QACAC,OAAAA;AAAAA,QACAlE,IAAAA;AAAAA,QACAK,SAAAA;AAAAA,QACA8D,cAAAA;AAAAA,QACAC,iBAAAA;AAAAA,QACAC,eAAAA;AAAAA,QACAC,iBAAAA;AAAAA,QACAC,KAAAA;AAAAA,QACAtE,SAAAA;AAAAA,QACA2C,SAAAA;AAAAA,QACA1C,kBAAAA;AAAAA,QACAsE,WAAAA;AAAAA,QACA/D,MAAAA;AAAAA,QACAgE,KAAAA;AAAAA,QAEAC,YAAAA;AAAAA,QACAC,QAAAA;AAAAA,OACElF,GAAAA,KAAAA,CAAAA;AAEJ,MAAMmF,MAAAA,mBAAAA,GAAsB/B,SAAS3C,kBAAkB,CAAA,CAAA;AACvD,MAAM2E,MAAAA,IAAAA,GAAOD,sBAAsBE,eAAkBC,GAAAA,aAAAA,CAAAA;AACrD,MAAMC,MAAAA,aAAAA,GAAgBpE,MAAMN,YAAY,CAAA,CAAA;AAExC,MAAA,OAAA2E,YAAA,KAAA,EAAA;AAAA,QAAA,MAAA,EAAA,OAAA;AAAA,QAAA,SAC2B,CAAC1B,EAAAA,CAAG2B,EAAE,OAAO,CAAA,EAAGzF,MAAM0F,KAAK,CAAA;AAAA,QAAC,OAASZ,EAAAA,KAAAA;AAAAA,OAAK,EAAAU,CAAAA,WAAAA,CAAAJ,IAAA,EAAA;AAAA,QAAA,KAE1DjF,EAAAA,OAAAA;AAAAA,QAAO,MAENI,EAAAA,IAAAA;AAAAA,QAAI,gBACMmE,EAAAA,cAAAA;AAAAA,QAAc,SACrBrD,EAAAA,OAAAA;AAAAA,QAAO,aAEH,EAAA,CAAA;AAAA,QAAC,aAAA,EACD8D,sBAAsBZ,cAAiBpB,GAAAA,SAAAA;AAAAA,QAAS,aAChD,EAAA,CAAA;AAAA,QAAC,YAEJ5C,IAAKG,CAAAA,MAAAA;AAAAA,QAAM,UACX8D,EAAAA,KAAAA;AAAAA,QAAK,WAAA,EACJW,sBAAsBF,YAAezE,GAAAA,SAAAA;AAAAA,QAAS,OAElDwE,EAAAA,KAAAA;AAAAA,QAAK,QAAA,EACJ7D,MAAMJ,UAAU,CAAA;AAAA,QAAC,OAAA,EAClB+C,EAAG2B,CAAAA,CAAAA,CAAE,MAAM,CAAA;AAAA,QAAC,MAAA,EAAA,UAAA;AAAA,QAAA,mBAEAZ,EAAAA,iBAAAA;AAAAA,QAAiB,iBACnBD,EAAAA,eAAAA;AAAAA,QAAe,mBACbD,EAAAA,iBAAAA;AAAAA,QAAiB,UAE1BO,EAAAA,QAAAA;AAAAA,QAAQ,gBACF1D,EAAAA,cAAAA;AAAAA,QAAc,UACpB,EAAA,KAAA;AAAA,OAAK,EAAA;AAAA,QAGbmE,SAAUC,CAAkC,MAAA,KAAA;AAxR1D,UAAA,IAAA,EAAA,CAAA;AAyRgB,UAAMC,MAAAA,OAAAA,GAAUtF,KAAKqF,MAAOtE,CAAAA,QAAAA,CAAAA,CAAAA;AAC5B,UAAOsC,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMhB,QAANgB,IAAY,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAA;AAAA,YACjB,GAAGgC,MAAAA;AAAAA,YACHnB,OAAAA;AAAAA,YACAoB,OAAAA;AAAAA,WACF,CAAA,CAAA;AAAA,SACF;AAAA,OAAC,CAGJ1E,EAAAA,KAAAA,CAAMC,SAAS,CAAA,IAACoE,YAAAM,MAAA,EAAA;AAAA,QAAA,KAER7F,EAAAA,SAAAA;AAAAA,QAAS,OAAA,EACP6D,EAAG2B,CAAAA,CAAAA,CAAE,gBAAgB,CAAA;AAAA,QAAC,SACpBhB,EAAAA,OAAAA;AAAAA,QAAO,YACJlE,EAAAA,IAAAA;AAAAA,QAAI,gBACFP,KAAMa,CAAAA,YAAAA;AAAAA,QAAY,iBACfD,EAAAA,SAAAA;AAAAA,QAAS,UAChBmE,EAAAA,WAAAA;AAAAA,QAAW,WACVvE,EAAAA,SAAAA;AAAAA,QAAS,OACbwE,EAAAA,KAAAA;AAAAA,QAAK,UACJ/D,IAAK8E,CAAAA,GAAAA,CAAIR,gBAAgBpE,KAAMR,CAAAA,cAAc,GAAGK,MAAM,CAAA;AAAA,OAAC,EAAA;AAAA,QAG7DgF,SAASpC,KAAMqC,CAAAA,MAAAA;AAAAA,QACfC,OAAOtC,KAAMhB,CAAAA,GAAAA;AAAAA,OAGlB,CAAA,CAAA,CAAA,CAAA;AAAA,KAGP,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAED,YAAeW,SAAAA;;;;"}
@@ -1,7 +1,7 @@
1
1
  import Upload from './src/upload2.mjs';
2
2
  export { genFileId, uploadBaseProps, uploadListTypes, uploadProps } from './src/upload.mjs';
3
3
  export { uploadContentProps } from './src/upload-content.mjs';
4
- export { uploadListEmits, uploadListProps } from './src/upload-list2.mjs';
4
+ export { uploadListEmits, uploadListProps } from './src/upload-list.mjs';
5
5
  export { uploadDraggerEmits, uploadDraggerProps } from './src/upload-dragger.mjs';
6
6
  export { uploadContextKey } from './src/constants.mjs';
7
7
  import { withInstall } from '../../utils/vue/install.mjs';
@@ -1,212 +1,33 @@
1
- import { defineComponent, ref, computed, openBlock, createBlock, TransitionGroup, normalizeClass, unref, withCtx, createElementBlock, Fragment, renderList, withKeys, renderSlot, createCommentVNode, createElementVNode, withModifiers, createVNode, toDisplayString, normalizeStyle } from 'vue';
2
- import { ElIcon } from '../../icon/index.mjs';
3
- import { Document, CircleCheck, Check, Close, ZoomIn, Delete } from '@element-plus/icons-vue';
4
- import { ElProgress } from '../../progress/index.mjs';
5
- import { uploadListProps, uploadListEmits } from './upload-list2.mjs';
6
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
7
- import { useLocale } from '../../../hooks/use-locale/index.mjs';
8
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
- import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
1
+ import { uploadListTypes } from './upload.mjs';
2
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
+ import { mutable } from '../../../utils/typescript.mjs';
4
+ import { NOOP } from '@vue/shared';
10
5
 
11
- const _hoisted_1 = ["tabindex", "aria-disabled", "onKeydown"];
12
- const _hoisted_2 = ["src", "crossorigin"];
13
- const _hoisted_3 = ["onClick"];
14
- const _hoisted_4 = ["title"];
15
- const _hoisted_5 = ["onClick"];
16
- const _hoisted_6 = ["onClick"];
17
- const _sfc_main = defineComponent({
18
- ...{
19
- name: "ElUploadList"
6
+ const uploadListProps = buildProps({
7
+ files: {
8
+ type: definePropType(Array),
9
+ default: () => mutable([])
20
10
  },
21
- __name: "upload-list",
22
- props: uploadListProps,
23
- emits: uploadListEmits,
24
- setup(__props, { emit: __emit }) {
25
- const props = __props;
26
- const emit = __emit;
27
- const { t } = useLocale();
28
- const nsUpload = useNamespace("upload");
29
- const nsIcon = useNamespace("icon");
30
- const nsList = useNamespace("list");
31
- const disabled = useFormDisabled();
32
- const focusing = ref(false);
33
- const containerKls = computed(() => [
34
- nsUpload.b("list"),
35
- nsUpload.bm("list", props.listType),
36
- nsUpload.is("disabled", disabled.value)
37
- ]);
38
- const handleRemove = (file) => {
39
- emit("remove", file);
40
- };
41
- return (_ctx, _cache) => {
42
- return openBlock(), createBlock(TransitionGroup, {
43
- tag: "ul",
44
- class: normalizeClass(containerKls.value),
45
- name: unref(nsList).b()
46
- }, {
47
- default: withCtx(() => [
48
- (openBlock(true), createElementBlock(
49
- Fragment,
50
- null,
51
- renderList(_ctx.files, (file, index) => {
52
- return openBlock(), createElementBlock("li", {
53
- key: file.uid || file.name,
54
- class: normalizeClass([
55
- unref(nsUpload).be("list", "item"),
56
- unref(nsUpload).is(file.status),
57
- { focusing: focusing.value }
58
- ]),
59
- tabindex: unref(disabled) ? void 0 : 0,
60
- "aria-disabled": unref(disabled),
61
- role: "button",
62
- onKeydown: withKeys(($event) => !unref(disabled) && handleRemove(file), ["delete"]),
63
- onFocus: _cache[0] || (_cache[0] = ($event) => focusing.value = true),
64
- onBlur: _cache[1] || (_cache[1] = ($event) => focusing.value = false),
65
- onClick: _cache[2] || (_cache[2] = ($event) => focusing.value = false)
66
- }, [
67
- renderSlot(_ctx.$slots, "default", {
68
- file,
69
- index
70
- }, () => [
71
- _ctx.listType === "picture" || file.status !== "uploading" && _ctx.listType === "picture-card" ? (openBlock(), createElementBlock("img", {
72
- key: 0,
73
- class: normalizeClass(unref(nsUpload).be("list", "item-thumbnail")),
74
- src: file.url,
75
- crossorigin: _ctx.crossorigin,
76
- alt: ""
77
- }, null, 10, _hoisted_2)) : createCommentVNode("v-if", true),
78
- file.status === "uploading" || _ctx.listType !== "picture-card" ? (openBlock(), createElementBlock(
79
- "div",
80
- {
81
- key: 1,
82
- class: normalizeClass(unref(nsUpload).be("list", "item-info"))
83
- },
84
- [
85
- createElementVNode("a", {
86
- class: normalizeClass(unref(nsUpload).be("list", "item-name")),
87
- onClick: withModifiers(($event) => _ctx.handlePreview(file), ["prevent"])
88
- }, [
89
- createVNode(unref(ElIcon), {
90
- class: normalizeClass(unref(nsIcon).m("document"))
91
- }, {
92
- default: withCtx(() => [
93
- createVNode(unref(Document))
94
- ]),
95
- _: 1
96
- }, 8, ["class"]),
97
- createElementVNode("span", {
98
- class: normalizeClass(unref(nsUpload).be("list", "item-file-name")),
99
- title: file.name
100
- }, toDisplayString(file.name), 11, _hoisted_4)
101
- ], 10, _hoisted_3),
102
- file.status === "uploading" ? (openBlock(), createBlock(unref(ElProgress), {
103
- key: 0,
104
- type: _ctx.listType === "picture-card" ? "circle" : "line",
105
- "stroke-width": _ctx.listType === "picture-card" ? 6 : 2,
106
- percentage: Number(file.percentage),
107
- style: normalizeStyle(_ctx.listType === "picture-card" ? "" : "margin-top: 0.5rem")
108
- }, null, 8, ["type", "stroke-width", "percentage", "style"])) : createCommentVNode("v-if", true)
109
- ],
110
- 2
111
- )) : createCommentVNode("v-if", true),
112
- createElementVNode(
113
- "label",
114
- {
115
- class: normalizeClass(unref(nsUpload).be("list", "item-status-label"))
116
- },
117
- [
118
- _ctx.listType === "text" ? (openBlock(), createBlock(unref(ElIcon), {
119
- key: 0,
120
- class: normalizeClass([unref(nsIcon).m("upload-success"), unref(nsIcon).m("circle-check")])
121
- }, {
122
- default: withCtx(() => [
123
- createVNode(unref(CircleCheck))
124
- ]),
125
- _: 1
126
- }, 8, ["class"])) : ["picture-card", "picture"].includes(_ctx.listType) ? (openBlock(), createBlock(unref(ElIcon), {
127
- key: 1,
128
- class: normalizeClass([unref(nsIcon).m("upload-success"), unref(nsIcon).m("check")])
129
- }, {
130
- default: withCtx(() => [
131
- createVNode(unref(Check))
132
- ]),
133
- _: 1
134
- }, 8, ["class"])) : createCommentVNode("v-if", true)
135
- ],
136
- 2
137
- ),
138
- !unref(disabled) ? (openBlock(), createBlock(unref(ElIcon), {
139
- key: 2,
140
- class: normalizeClass(unref(nsIcon).m("close")),
141
- onClick: ($event) => handleRemove(file)
142
- }, {
143
- default: withCtx(() => [
144
- createVNode(unref(Close))
145
- ]),
146
- _: 1
147
- }, 8, ["class", "onClick"])) : createCommentVNode("v-if", true),
148
- createCommentVNode(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),
149
- createCommentVNode(" This is a bug which needs to be fixed "),
150
- createCommentVNode(" TODO: Fix the incorrect navigation interaction "),
151
- !unref(disabled) ? (openBlock(), createElementBlock(
152
- "i",
153
- {
154
- key: 3,
155
- class: normalizeClass(unref(nsIcon).m("close-tip"))
156
- },
157
- toDisplayString(unref(t)("el.upload.deleteTip")),
158
- 3
159
- )) : createCommentVNode("v-if", true),
160
- _ctx.listType === "picture-card" ? (openBlock(), createElementBlock(
161
- "span",
162
- {
163
- key: 4,
164
- class: normalizeClass(unref(nsUpload).be("list", "item-actions"))
165
- },
166
- [
167
- createElementVNode("span", {
168
- class: normalizeClass(unref(nsUpload).be("list", "item-preview")),
169
- onClick: ($event) => _ctx.handlePreview(file)
170
- }, [
171
- createVNode(unref(ElIcon), {
172
- class: normalizeClass(unref(nsIcon).m("zoom-in"))
173
- }, {
174
- default: withCtx(() => [
175
- createVNode(unref(ZoomIn))
176
- ]),
177
- _: 1
178
- }, 8, ["class"])
179
- ], 10, _hoisted_5),
180
- !unref(disabled) ? (openBlock(), createElementBlock("span", {
181
- key: 0,
182
- class: normalizeClass(unref(nsUpload).be("list", "item-delete")),
183
- onClick: ($event) => handleRemove(file)
184
- }, [
185
- createVNode(unref(ElIcon), {
186
- class: normalizeClass(unref(nsIcon).m("delete"))
187
- }, {
188
- default: withCtx(() => [
189
- createVNode(unref(Delete))
190
- ]),
191
- _: 1
192
- }, 8, ["class"])
193
- ], 10, _hoisted_6)) : createCommentVNode("v-if", true)
194
- ],
195
- 2
196
- )) : createCommentVNode("v-if", true)
197
- ])
198
- ], 42, _hoisted_1);
199
- }),
200
- 128
201
- )),
202
- renderSlot(_ctx.$slots, "append")
203
- ]),
204
- _: 3
205
- }, 8, ["class", "name"]);
206
- };
11
+ disabled: {
12
+ type: Boolean,
13
+ default: void 0
14
+ },
15
+ handlePreview: {
16
+ type: definePropType(Function),
17
+ default: NOOP
18
+ },
19
+ listType: {
20
+ type: String,
21
+ values: uploadListTypes,
22
+ default: "text"
23
+ },
24
+ crossorigin: {
25
+ type: definePropType(String)
207
26
  }
208
27
  });
209
- var UploadList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-list.vue"]]);
28
+ const uploadListEmits = {
29
+ remove: (file) => !!file
30
+ };
210
31
 
211
- export { UploadList as default };
32
+ export { uploadListEmits, uploadListProps };
212
33
  //# sourceMappingURL=upload-list.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload-list.mjs","sources":["../../../../../../packages/components/upload/src/upload-list.vue"],"sourcesContent":["<template>\n <transition-group tag=\"ul\" :class=\"containerKls\" :name=\"nsList.b()\">\n <li\n v-for=\"(file, index) in files\"\n :key=\"file.uid || file.name\"\n :class=\"[\n nsUpload.be('list', 'item'),\n nsUpload.is(file.status),\n { focusing },\n ]\"\n :tabindex=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\n role=\"button\"\n @keydown.delete=\"!disabled && handleRemove(file)\"\n @focus=\"focusing = true\"\n @blur=\"focusing = false\"\n @click=\"focusing = false\"\n >\n <slot :file=\"file\" :index=\"index\">\n <img\n v-if=\"\n listType === 'picture' ||\n (file.status !== 'uploading' && listType === 'picture-card')\n \"\n :class=\"nsUpload.be('list', 'item-thumbnail')\"\n :src=\"file.url\"\n :crossorigin=\"crossorigin\"\n alt=\"\"\n />\n <div\n v-if=\"file.status === 'uploading' || listType !== 'picture-card'\"\n :class=\"nsUpload.be('list', 'item-info')\"\n >\n <a\n :class=\"nsUpload.be('list', 'item-name')\"\n @click.prevent=\"handlePreview(file)\"\n >\n <el-icon :class=\"nsIcon.m('document')\">\n <Document />\n </el-icon>\n <span\n :class=\"nsUpload.be('list', 'item-file-name')\"\n :title=\"file.name\"\n >\n {{ file.name }}\n </span>\n </a>\n <el-progress\n v-if=\"file.status === 'uploading'\"\n :type=\"listType === 'picture-card' ? 'circle' : 'line'\"\n :stroke-width=\"listType === 'picture-card' ? 6 : 2\"\n :percentage=\"Number(file.percentage)\"\n :style=\"listType === 'picture-card' ? '' : 'margin-top: 0.5rem'\"\n />\n </div>\n\n <label :class=\"nsUpload.be('list', 'item-status-label')\">\n <el-icon\n v-if=\"listType === 'text'\"\n :class=\"[nsIcon.m('upload-success'), nsIcon.m('circle-check')]\"\n >\n <circle-check />\n </el-icon>\n <el-icon\n v-else-if=\"['picture-card', 'picture'].includes(listType)\"\n :class=\"[nsIcon.m('upload-success'), nsIcon.m('check')]\"\n >\n <Check />\n </el-icon>\n </label>\n <el-icon\n v-if=\"!disabled\"\n :class=\"nsIcon.m('close')\"\n @click=\"handleRemove(file)\"\n >\n <Close />\n </el-icon>\n <!-- Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn-->\n <!-- This is a bug which needs to be fixed -->\n <!-- TODO: Fix the incorrect navigation interaction -->\n <i v-if=\"!disabled\" :class=\"nsIcon.m('close-tip')\">{{\n t('el.upload.deleteTip')\n }}</i>\n <span\n v-if=\"listType === 'picture-card'\"\n :class=\"nsUpload.be('list', 'item-actions')\"\n >\n <span\n :class=\"nsUpload.be('list', 'item-preview')\"\n @click=\"handlePreview(file)\"\n >\n <el-icon :class=\"nsIcon.m('zoom-in')\"><zoom-in /></el-icon>\n </span>\n <span\n v-if=\"!disabled\"\n :class=\"nsUpload.be('list', 'item-delete')\"\n @click=\"handleRemove(file)\"\n >\n <el-icon :class=\"nsIcon.m('delete')\">\n <Delete />\n </el-icon>\n </span>\n </span>\n </slot>\n </li>\n <slot name=\"append\" />\n </transition-group>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Check,\n CircleCheck,\n Close,\n Delete,\n Document,\n ZoomIn,\n} from '@element-plus/icons-vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElProgress from '@element-plus/components/progress'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { uploadListEmits, uploadListProps } from './upload-list'\n\nimport type { UploadFile } from './upload'\n\ndefineOptions({\n name: 'ElUploadList',\n})\n\nconst props = defineProps(uploadListProps)\nconst emit = defineEmits(uploadListEmits)\n\nconst { t } = useLocale()\nconst nsUpload = useNamespace('upload')\nconst nsIcon = useNamespace('icon')\nconst nsList = useNamespace('list')\nconst disabled = useFormDisabled()\n\nconst focusing = ref(false)\n\nconst containerKls = computed(() => [\n nsUpload.b('list'),\n nsUpload.bm('list', props.listType),\n nsUpload.is('disabled', disabled.value),\n])\n\nconst handleRemove = (file: UploadFile) => {\n emit('remove', file)\n}\n</script>\n"],"names":["_createBlock","_TransitionGroup","_normalizeClass","_unref","_openBlock","_createElementBlock","_Fragment","files","_withKeys","_renderSlot","listType","crossorigin","_createCommentVNode","_createElementVNode","_withModifiers","handlePreview","_createVNode","_toDisplayString","_normalizeStyle"],"mappings":"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"}
1
+ {"version":3,"file":"upload-list.mjs","sources":["../../../../../../packages/components/upload/src/upload-list.ts"],"sourcesContent":["import { NOOP, buildProps, definePropType, mutable } from '@element-plus/utils'\nimport { uploadListTypes } from './upload'\n\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\nimport type { UploadFile, UploadFiles, UploadHooks } from './upload'\nimport type UploadList from './upload-list.vue'\n\nexport const uploadListProps = buildProps({\n files: {\n type: definePropType<UploadFiles>(Array),\n default: () => mutable([]),\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n handlePreview: {\n type: definePropType<UploadHooks['onPreview']>(Function),\n default: NOOP,\n },\n listType: {\n type: String,\n values: uploadListTypes,\n default: 'text',\n },\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin: {\n type: definePropType<'anonymous' | 'use-credentials' | ''>(String),\n },\n} as const)\n\nexport type UploadListProps = ExtractPropTypes<typeof uploadListProps>\nexport type UploadListPropsPublic = ExtractPublicPropTypes<\n typeof uploadListProps\n>\nexport const uploadListEmits = {\n remove: (file: UploadFile) => !!file,\n}\nexport type UploadListEmits = typeof uploadListEmits\nexport type UploadListInstance = InstanceType<typeof UploadList> & unknown\n"],"names":[],"mappings":";;;;;AAOO,MAAM,kBAAkB,UAAW,CAAA;AAAA,EACxC,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA4B,KAAK,CAAA;AAAA,IACvC,OAAS,EAAA,MAAM,OAAQ,CAAA,EAAE,CAAA;AAAA,GAC3B;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAM,eAAyC,QAAQ,CAAA;AAAA,IACvD,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,eAAA;AAAA,IACR,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EAIA,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAAqD,MAAM,CAAA;AAAA,GACnE;AACF,CAAU,EAAA;AAMH,MAAM,eAAkB,GAAA;AAAA,EAC7B,MAAQ,EAAA,CAAC,IAAqB,KAAA,CAAC,CAAC,IAAA;AAClC;;;;"}
@@ -1,33 +1,212 @@
1
- import { uploadListTypes } from './upload.mjs';
2
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
- import { mutable } from '../../../utils/typescript.mjs';
4
- import { NOOP } from '@vue/shared';
1
+ import { defineComponent, ref, computed, openBlock, createBlock, TransitionGroup, normalizeClass, unref, withCtx, createElementBlock, Fragment, renderList, withKeys, renderSlot, createCommentVNode, createElementVNode, withModifiers, createVNode, toDisplayString, normalizeStyle } from 'vue';
2
+ import { ElIcon } from '../../icon/index.mjs';
3
+ import { Document, CircleCheck, Check, Close, ZoomIn, Delete } from '@element-plus/icons-vue';
4
+ import { ElProgress } from '../../progress/index.mjs';
5
+ import { uploadListProps, uploadListEmits } from './upload-list.mjs';
6
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
7
+ import { useLocale } from '../../../hooks/use-locale/index.mjs';
8
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
+ import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
5
10
 
6
- const uploadListProps = buildProps({
7
- files: {
8
- type: definePropType(Array),
9
- default: () => mutable([])
11
+ const _hoisted_1 = ["tabindex", "aria-disabled", "onKeydown"];
12
+ const _hoisted_2 = ["src", "crossorigin"];
13
+ const _hoisted_3 = ["onClick"];
14
+ const _hoisted_4 = ["title"];
15
+ const _hoisted_5 = ["onClick"];
16
+ const _hoisted_6 = ["onClick"];
17
+ const _sfc_main = defineComponent({
18
+ ...{
19
+ name: "ElUploadList"
10
20
  },
11
- disabled: {
12
- type: Boolean,
13
- default: void 0
14
- },
15
- handlePreview: {
16
- type: definePropType(Function),
17
- default: NOOP
18
- },
19
- listType: {
20
- type: String,
21
- values: uploadListTypes,
22
- default: "text"
23
- },
24
- crossorigin: {
25
- type: definePropType(String)
21
+ __name: "upload-list",
22
+ props: uploadListProps,
23
+ emits: uploadListEmits,
24
+ setup(__props, { emit: __emit }) {
25
+ const props = __props;
26
+ const emit = __emit;
27
+ const { t } = useLocale();
28
+ const nsUpload = useNamespace("upload");
29
+ const nsIcon = useNamespace("icon");
30
+ const nsList = useNamespace("list");
31
+ const disabled = useFormDisabled();
32
+ const focusing = ref(false);
33
+ const containerKls = computed(() => [
34
+ nsUpload.b("list"),
35
+ nsUpload.bm("list", props.listType),
36
+ nsUpload.is("disabled", disabled.value)
37
+ ]);
38
+ const handleRemove = (file) => {
39
+ emit("remove", file);
40
+ };
41
+ return (_ctx, _cache) => {
42
+ return openBlock(), createBlock(TransitionGroup, {
43
+ tag: "ul",
44
+ class: normalizeClass(containerKls.value),
45
+ name: unref(nsList).b()
46
+ }, {
47
+ default: withCtx(() => [
48
+ (openBlock(true), createElementBlock(
49
+ Fragment,
50
+ null,
51
+ renderList(_ctx.files, (file, index) => {
52
+ return openBlock(), createElementBlock("li", {
53
+ key: file.uid || file.name,
54
+ class: normalizeClass([
55
+ unref(nsUpload).be("list", "item"),
56
+ unref(nsUpload).is(file.status),
57
+ { focusing: focusing.value }
58
+ ]),
59
+ tabindex: unref(disabled) ? void 0 : 0,
60
+ "aria-disabled": unref(disabled),
61
+ role: "button",
62
+ onKeydown: withKeys(($event) => !unref(disabled) && handleRemove(file), ["delete"]),
63
+ onFocus: _cache[0] || (_cache[0] = ($event) => focusing.value = true),
64
+ onBlur: _cache[1] || (_cache[1] = ($event) => focusing.value = false),
65
+ onClick: _cache[2] || (_cache[2] = ($event) => focusing.value = false)
66
+ }, [
67
+ renderSlot(_ctx.$slots, "default", {
68
+ file,
69
+ index
70
+ }, () => [
71
+ _ctx.listType === "picture" || file.status !== "uploading" && _ctx.listType === "picture-card" ? (openBlock(), createElementBlock("img", {
72
+ key: 0,
73
+ class: normalizeClass(unref(nsUpload).be("list", "item-thumbnail")),
74
+ src: file.url,
75
+ crossorigin: _ctx.crossorigin,
76
+ alt: ""
77
+ }, null, 10, _hoisted_2)) : createCommentVNode("v-if", true),
78
+ file.status === "uploading" || _ctx.listType !== "picture-card" ? (openBlock(), createElementBlock(
79
+ "div",
80
+ {
81
+ key: 1,
82
+ class: normalizeClass(unref(nsUpload).be("list", "item-info"))
83
+ },
84
+ [
85
+ createElementVNode("a", {
86
+ class: normalizeClass(unref(nsUpload).be("list", "item-name")),
87
+ onClick: withModifiers(($event) => _ctx.handlePreview(file), ["prevent"])
88
+ }, [
89
+ createVNode(unref(ElIcon), {
90
+ class: normalizeClass(unref(nsIcon).m("document"))
91
+ }, {
92
+ default: withCtx(() => [
93
+ createVNode(unref(Document))
94
+ ]),
95
+ _: 1
96
+ }, 8, ["class"]),
97
+ createElementVNode("span", {
98
+ class: normalizeClass(unref(nsUpload).be("list", "item-file-name")),
99
+ title: file.name
100
+ }, toDisplayString(file.name), 11, _hoisted_4)
101
+ ], 10, _hoisted_3),
102
+ file.status === "uploading" ? (openBlock(), createBlock(unref(ElProgress), {
103
+ key: 0,
104
+ type: _ctx.listType === "picture-card" ? "circle" : "line",
105
+ "stroke-width": _ctx.listType === "picture-card" ? 6 : 2,
106
+ percentage: Number(file.percentage),
107
+ style: normalizeStyle(_ctx.listType === "picture-card" ? "" : "margin-top: 0.5rem")
108
+ }, null, 8, ["type", "stroke-width", "percentage", "style"])) : createCommentVNode("v-if", true)
109
+ ],
110
+ 2
111
+ )) : createCommentVNode("v-if", true),
112
+ createElementVNode(
113
+ "label",
114
+ {
115
+ class: normalizeClass(unref(nsUpload).be("list", "item-status-label"))
116
+ },
117
+ [
118
+ _ctx.listType === "text" ? (openBlock(), createBlock(unref(ElIcon), {
119
+ key: 0,
120
+ class: normalizeClass([unref(nsIcon).m("upload-success"), unref(nsIcon).m("circle-check")])
121
+ }, {
122
+ default: withCtx(() => [
123
+ createVNode(unref(CircleCheck))
124
+ ]),
125
+ _: 1
126
+ }, 8, ["class"])) : ["picture-card", "picture"].includes(_ctx.listType) ? (openBlock(), createBlock(unref(ElIcon), {
127
+ key: 1,
128
+ class: normalizeClass([unref(nsIcon).m("upload-success"), unref(nsIcon).m("check")])
129
+ }, {
130
+ default: withCtx(() => [
131
+ createVNode(unref(Check))
132
+ ]),
133
+ _: 1
134
+ }, 8, ["class"])) : createCommentVNode("v-if", true)
135
+ ],
136
+ 2
137
+ ),
138
+ !unref(disabled) ? (openBlock(), createBlock(unref(ElIcon), {
139
+ key: 2,
140
+ class: normalizeClass(unref(nsIcon).m("close")),
141
+ onClick: ($event) => handleRemove(file)
142
+ }, {
143
+ default: withCtx(() => [
144
+ createVNode(unref(Close))
145
+ ]),
146
+ _: 1
147
+ }, 8, ["class", "onClick"])) : createCommentVNode("v-if", true),
148
+ createCommentVNode(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),
149
+ createCommentVNode(" This is a bug which needs to be fixed "),
150
+ createCommentVNode(" TODO: Fix the incorrect navigation interaction "),
151
+ !unref(disabled) ? (openBlock(), createElementBlock(
152
+ "i",
153
+ {
154
+ key: 3,
155
+ class: normalizeClass(unref(nsIcon).m("close-tip"))
156
+ },
157
+ toDisplayString(unref(t)("el.upload.deleteTip")),
158
+ 3
159
+ )) : createCommentVNode("v-if", true),
160
+ _ctx.listType === "picture-card" ? (openBlock(), createElementBlock(
161
+ "span",
162
+ {
163
+ key: 4,
164
+ class: normalizeClass(unref(nsUpload).be("list", "item-actions"))
165
+ },
166
+ [
167
+ createElementVNode("span", {
168
+ class: normalizeClass(unref(nsUpload).be("list", "item-preview")),
169
+ onClick: ($event) => _ctx.handlePreview(file)
170
+ }, [
171
+ createVNode(unref(ElIcon), {
172
+ class: normalizeClass(unref(nsIcon).m("zoom-in"))
173
+ }, {
174
+ default: withCtx(() => [
175
+ createVNode(unref(ZoomIn))
176
+ ]),
177
+ _: 1
178
+ }, 8, ["class"])
179
+ ], 10, _hoisted_5),
180
+ !unref(disabled) ? (openBlock(), createElementBlock("span", {
181
+ key: 0,
182
+ class: normalizeClass(unref(nsUpload).be("list", "item-delete")),
183
+ onClick: ($event) => handleRemove(file)
184
+ }, [
185
+ createVNode(unref(ElIcon), {
186
+ class: normalizeClass(unref(nsIcon).m("delete"))
187
+ }, {
188
+ default: withCtx(() => [
189
+ createVNode(unref(Delete))
190
+ ]),
191
+ _: 1
192
+ }, 8, ["class"])
193
+ ], 10, _hoisted_6)) : createCommentVNode("v-if", true)
194
+ ],
195
+ 2
196
+ )) : createCommentVNode("v-if", true)
197
+ ])
198
+ ], 42, _hoisted_1);
199
+ }),
200
+ 128
201
+ )),
202
+ renderSlot(_ctx.$slots, "append")
203
+ ]),
204
+ _: 3
205
+ }, 8, ["class", "name"]);
206
+ };
26
207
  }
27
208
  });
28
- const uploadListEmits = {
29
- remove: (file) => !!file
30
- };
209
+ var UploadList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-list.vue"]]);
31
210
 
32
- export { uploadListEmits, uploadListProps };
211
+ export { UploadList as default };
33
212
  //# sourceMappingURL=upload-list2.mjs.map