@element-plus/nightly 0.0.20260103 → 0.0.20260105

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 (611) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +170 -24
  4. package/dist/index.full.min.js +14 -14
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +14 -14
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +168 -25
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lo.js +1 -1
  142. package/dist/locale/lo.min.js +1 -1
  143. package/dist/locale/lo.min.mjs +1 -1
  144. package/dist/locale/lo.mjs +1 -1
  145. package/dist/locale/lt.js +1 -1
  146. package/dist/locale/lt.min.js +1 -1
  147. package/dist/locale/lt.min.mjs +1 -1
  148. package/dist/locale/lt.mjs +1 -1
  149. package/dist/locale/lv.js +1 -1
  150. package/dist/locale/lv.min.js +1 -1
  151. package/dist/locale/lv.min.mjs +1 -1
  152. package/dist/locale/lv.mjs +1 -1
  153. package/dist/locale/mg.js +1 -1
  154. package/dist/locale/mg.min.js +1 -1
  155. package/dist/locale/mg.min.mjs +1 -1
  156. package/dist/locale/mg.mjs +1 -1
  157. package/dist/locale/mn.js +1 -1
  158. package/dist/locale/mn.min.js +1 -1
  159. package/dist/locale/mn.min.mjs +1 -1
  160. package/dist/locale/mn.mjs +1 -1
  161. package/dist/locale/ms.js +1 -1
  162. package/dist/locale/ms.min.js +1 -1
  163. package/dist/locale/ms.min.mjs +1 -1
  164. package/dist/locale/ms.mjs +1 -1
  165. package/dist/locale/my.js +1 -1
  166. package/dist/locale/my.min.js +1 -1
  167. package/dist/locale/my.min.mjs +1 -1
  168. package/dist/locale/my.mjs +1 -1
  169. package/dist/locale/nb-no.js +1 -1
  170. package/dist/locale/nb-no.min.js +1 -1
  171. package/dist/locale/nb-no.min.mjs +1 -1
  172. package/dist/locale/nb-no.mjs +1 -1
  173. package/dist/locale/nl.js +1 -1
  174. package/dist/locale/nl.min.js +1 -1
  175. package/dist/locale/nl.min.mjs +1 -1
  176. package/dist/locale/nl.mjs +1 -1
  177. package/dist/locale/no.js +1 -1
  178. package/dist/locale/no.min.js +1 -1
  179. package/dist/locale/no.min.mjs +1 -1
  180. package/dist/locale/no.mjs +1 -1
  181. package/dist/locale/pa.js +1 -1
  182. package/dist/locale/pa.min.js +1 -1
  183. package/dist/locale/pa.min.mjs +1 -1
  184. package/dist/locale/pa.mjs +1 -1
  185. package/dist/locale/pl.js +1 -1
  186. package/dist/locale/pl.min.js +1 -1
  187. package/dist/locale/pl.min.mjs +1 -1
  188. package/dist/locale/pl.mjs +1 -1
  189. package/dist/locale/pt-br.js +1 -1
  190. package/dist/locale/pt-br.min.js +1 -1
  191. package/dist/locale/pt-br.min.mjs +1 -1
  192. package/dist/locale/pt-br.mjs +1 -1
  193. package/dist/locale/pt.js +1 -1
  194. package/dist/locale/pt.min.js +1 -1
  195. package/dist/locale/pt.min.mjs +1 -1
  196. package/dist/locale/pt.mjs +1 -1
  197. package/dist/locale/ro.js +1 -1
  198. package/dist/locale/ro.min.js +1 -1
  199. package/dist/locale/ro.min.mjs +1 -1
  200. package/dist/locale/ro.mjs +1 -1
  201. package/dist/locale/ru.js +1 -1
  202. package/dist/locale/ru.min.js +1 -1
  203. package/dist/locale/ru.min.mjs +1 -1
  204. package/dist/locale/ru.mjs +1 -1
  205. package/dist/locale/sk.js +1 -1
  206. package/dist/locale/sk.min.js +1 -1
  207. package/dist/locale/sk.min.mjs +1 -1
  208. package/dist/locale/sk.mjs +1 -1
  209. package/dist/locale/sl.js +1 -1
  210. package/dist/locale/sl.min.js +1 -1
  211. package/dist/locale/sl.min.mjs +1 -1
  212. package/dist/locale/sl.mjs +1 -1
  213. package/dist/locale/sr.js +1 -1
  214. package/dist/locale/sr.min.js +1 -1
  215. package/dist/locale/sr.min.mjs +1 -1
  216. package/dist/locale/sr.mjs +1 -1
  217. package/dist/locale/sv.js +1 -1
  218. package/dist/locale/sv.min.js +1 -1
  219. package/dist/locale/sv.min.mjs +1 -1
  220. package/dist/locale/sv.mjs +1 -1
  221. package/dist/locale/sw.js +1 -1
  222. package/dist/locale/sw.min.js +1 -1
  223. package/dist/locale/sw.min.mjs +1 -1
  224. package/dist/locale/sw.mjs +1 -1
  225. package/dist/locale/ta.js +1 -1
  226. package/dist/locale/ta.min.js +1 -1
  227. package/dist/locale/ta.min.mjs +1 -1
  228. package/dist/locale/ta.mjs +1 -1
  229. package/dist/locale/te.js +1 -1
  230. package/dist/locale/te.min.js +1 -1
  231. package/dist/locale/te.min.mjs +1 -1
  232. package/dist/locale/te.mjs +1 -1
  233. package/dist/locale/th.js +1 -1
  234. package/dist/locale/th.min.js +1 -1
  235. package/dist/locale/th.min.mjs +1 -1
  236. package/dist/locale/th.mjs +1 -1
  237. package/dist/locale/tk.js +1 -1
  238. package/dist/locale/tk.min.js +1 -1
  239. package/dist/locale/tk.min.mjs +1 -1
  240. package/dist/locale/tk.mjs +1 -1
  241. package/dist/locale/tr.js +1 -1
  242. package/dist/locale/tr.min.js +1 -1
  243. package/dist/locale/tr.min.mjs +1 -1
  244. package/dist/locale/tr.mjs +1 -1
  245. package/dist/locale/ug-cn.js +1 -1
  246. package/dist/locale/ug-cn.min.js +1 -1
  247. package/dist/locale/ug-cn.min.mjs +1 -1
  248. package/dist/locale/ug-cn.mjs +1 -1
  249. package/dist/locale/uk.js +1 -1
  250. package/dist/locale/uk.min.js +1 -1
  251. package/dist/locale/uk.min.mjs +1 -1
  252. package/dist/locale/uk.mjs +1 -1
  253. package/dist/locale/uz-uz.js +1 -1
  254. package/dist/locale/uz-uz.min.js +1 -1
  255. package/dist/locale/uz-uz.min.mjs +1 -1
  256. package/dist/locale/uz-uz.mjs +1 -1
  257. package/dist/locale/vi.js +1 -1
  258. package/dist/locale/vi.min.js +1 -1
  259. package/dist/locale/vi.min.mjs +1 -1
  260. package/dist/locale/vi.mjs +1 -1
  261. package/dist/locale/zh-cn.js +1 -1
  262. package/dist/locale/zh-cn.min.js +1 -1
  263. package/dist/locale/zh-cn.min.mjs +1 -1
  264. package/dist/locale/zh-cn.mjs +1 -1
  265. package/dist/locale/zh-hk.js +1 -1
  266. package/dist/locale/zh-hk.min.js +1 -1
  267. package/dist/locale/zh-hk.min.mjs +1 -1
  268. package/dist/locale/zh-hk.mjs +1 -1
  269. package/dist/locale/zh-mo.js +1 -1
  270. package/dist/locale/zh-mo.min.js +1 -1
  271. package/dist/locale/zh-mo.min.mjs +1 -1
  272. package/dist/locale/zh-mo.mjs +1 -1
  273. package/dist/locale/zh-tw.js +1 -1
  274. package/dist/locale/zh-tw.min.js +1 -1
  275. package/dist/locale/zh-tw.min.mjs +1 -1
  276. package/dist/locale/zh-tw.mjs +1 -1
  277. package/es/component.mjs +2 -1
  278. package/es/component.mjs.map +1 -1
  279. package/es/components/alert/index.mjs +2 -2
  280. package/es/components/alert/src/alert.mjs +135 -39
  281. package/es/components/alert/src/alert.mjs.map +1 -1
  282. package/es/components/alert/src/alert2.mjs +39 -135
  283. package/es/components/alert/src/alert2.mjs.map +1 -1
  284. package/es/components/autocomplete/index.mjs +2 -2
  285. package/es/components/autocomplete/src/autocomplete.mjs +485 -59
  286. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  287. package/es/components/autocomplete/src/autocomplete2.mjs +59 -485
  288. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  289. package/es/components/avatar/index.d.ts +8 -2
  290. package/es/components/avatar/index.mjs +11 -5
  291. package/es/components/avatar/index.mjs.map +1 -1
  292. package/es/components/avatar/src/avatar-group-props.d.ts +138 -0
  293. package/es/components/avatar/src/avatar-group-props.mjs +33 -0
  294. package/es/components/avatar/src/avatar-group-props.mjs.map +1 -0
  295. package/es/components/avatar/src/avatar-group.d.ts +274 -0
  296. package/es/components/avatar/src/avatar-group.mjs +61 -0
  297. package/es/components/avatar/src/avatar-group.mjs.map +1 -0
  298. package/es/components/avatar/src/avatar.d.ts +12 -2
  299. package/es/components/avatar/src/avatar.mjs +28 -74
  300. package/es/components/avatar/src/avatar.mjs.map +1 -1
  301. package/es/components/avatar/src/avatar.vue.d.ts +24 -6
  302. package/es/components/avatar/src/avatar2.mjs +85 -30
  303. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  304. package/es/components/avatar/src/constants.d.ts +7 -0
  305. package/es/components/avatar/src/constants.mjs +6 -0
  306. package/es/components/avatar/src/constants.mjs.map +1 -0
  307. package/es/components/avatar/src/instance.d.ts +2 -0
  308. package/es/components/avatar-group/style/css.d.ts +3 -0
  309. package/es/components/avatar-group/style/css.mjs +4 -0
  310. package/es/components/avatar-group/style/css.mjs.map +1 -0
  311. package/es/components/avatar-group/style/index.d.ts +3 -0
  312. package/es/components/avatar-group/style/index.mjs +4 -0
  313. package/es/components/avatar-group/style/index.mjs.map +1 -0
  314. package/es/components/cascader-panel/src/index.mjs +1 -1
  315. package/es/components/cascader-panel/src/menu.mjs +1 -1
  316. package/es/components/cascader-panel/src/node.mjs +116 -192
  317. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  318. package/es/components/cascader-panel/src/node2.mjs +192 -116
  319. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  320. package/es/components/cascader-panel/src/store.mjs +1 -1
  321. package/es/components/checkbox/index.mjs +2 -2
  322. package/es/components/checkbox/src/checkbox-button.mjs +1 -1
  323. package/es/components/checkbox/src/checkbox-group2.mjs +1 -1
  324. package/es/components/checkbox/src/checkbox.mjs +62 -134
  325. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  326. package/es/components/checkbox/src/checkbox2.mjs +134 -62
  327. package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
  328. package/es/components/collection/index.mjs +1 -1
  329. package/es/components/collection/src/collection.mjs +64 -10
  330. package/es/components/collection/src/collection.mjs.map +1 -1
  331. package/es/components/collection/src/collection2.mjs +10 -64
  332. package/es/components/collection/src/collection2.mjs.map +1 -1
  333. package/es/components/descriptions/src/description2.mjs +1 -1
  334. package/es/components/descriptions/src/descriptions-row.mjs +6 -94
  335. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  336. package/es/components/descriptions/src/descriptions-row2.mjs +94 -6
  337. package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
  338. package/es/components/dialog/src/dialog-content.mjs +112 -38
  339. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  340. package/es/components/dialog/src/dialog-content2.mjs +38 -112
  341. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  342. package/es/components/dialog/src/dialog.mjs +1 -1
  343. package/es/components/dialog/src/dialog2.mjs +1 -1
  344. package/es/components/divider/index.mjs +2 -2
  345. package/es/components/divider/src/divider.mjs +15 -43
  346. package/es/components/divider/src/divider.mjs.map +1 -1
  347. package/es/components/divider/src/divider2.mjs +43 -15
  348. package/es/components/divider/src/divider2.mjs.map +1 -1
  349. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  350. package/es/components/empty/index.mjs +2 -2
  351. package/es/components/empty/src/empty.mjs +10 -80
  352. package/es/components/empty/src/empty.mjs.map +1 -1
  353. package/es/components/empty/src/empty2.mjs +80 -10
  354. package/es/components/empty/src/empty2.mjs.map +1 -1
  355. package/es/components/form/index.mjs +2 -2
  356. package/es/components/form/src/form.mjs +54 -174
  357. package/es/components/form/src/form.mjs.map +1 -1
  358. package/es/components/form/src/form2.mjs +174 -54
  359. package/es/components/form/src/form2.mjs.map +1 -1
  360. package/es/components/image/index.mjs +2 -2
  361. package/es/components/image/src/image.mjs +68 -279
  362. package/es/components/image/src/image.mjs.map +1 -1
  363. package/es/components/image/src/image2.mjs +279 -68
  364. package/es/components/image/src/image2.mjs.map +1 -1
  365. package/es/components/index.mjs +18 -16
  366. package/es/components/index.mjs.map +1 -1
  367. package/es/components/input-tag/index.mjs +2 -2
  368. package/es/components/input-tag/src/input-tag.mjs +82 -344
  369. package/es/components/input-tag/src/input-tag.mjs.map +1 -1
  370. package/es/components/input-tag/src/input-tag2.mjs +344 -82
  371. package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
  372. package/es/components/mention/index.mjs +2 -2
  373. package/es/components/mention/src/mention.mjs +74 -326
  374. package/es/components/mention/src/mention.mjs.map +1 -1
  375. package/es/components/mention/src/mention2.mjs +326 -74
  376. package/es/components/mention/src/mention2.mjs.map +1 -1
  377. package/es/components/message/index.mjs +1 -1
  378. package/es/components/message/src/message.mjs +107 -190
  379. package/es/components/message/src/message.mjs.map +1 -1
  380. package/es/components/message/src/message2.mjs +190 -107
  381. package/es/components/message/src/message2.mjs.map +1 -1
  382. package/es/components/message/src/method.mjs +2 -2
  383. package/es/components/pagination/src/components/jumper.mjs +7 -69
  384. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  385. package/es/components/pagination/src/components/jumper2.mjs +69 -7
  386. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  387. package/es/components/pagination/src/components/next.mjs +17 -43
  388. package/es/components/pagination/src/components/next.mjs.map +1 -1
  389. package/es/components/pagination/src/components/next2.mjs +43 -17
  390. package/es/components/pagination/src/components/next2.mjs.map +1 -1
  391. package/es/components/pagination/src/pagination.mjs +2 -2
  392. package/es/components/progress/index.mjs +2 -2
  393. package/es/components/progress/src/progress.mjs +52 -256
  394. package/es/components/progress/src/progress.mjs.map +1 -1
  395. package/es/components/progress/src/progress2.mjs +256 -52
  396. package/es/components/progress/src/progress2.mjs.map +1 -1
  397. package/es/components/roving-focus-group/src/roving-focus-group.mjs +1 -1
  398. package/es/components/splitter/index.mjs +2 -2
  399. package/es/components/splitter/src/splitter.mjs +114 -14
  400. package/es/components/splitter/src/splitter.mjs.map +1 -1
  401. package/es/components/splitter/src/splitter2.mjs +14 -114
  402. package/es/components/splitter/src/splitter2.mjs.map +1 -1
  403. package/es/components/tour/index.mjs +1 -1
  404. package/es/components/tour/src/content.mjs +42 -85
  405. package/es/components/tour/src/content.mjs.map +1 -1
  406. package/es/components/tour/src/content2.mjs +85 -42
  407. package/es/components/tour/src/content2.mjs.map +1 -1
  408. package/es/components/tour/src/step.mjs +1 -1
  409. package/es/components/tour/src/tour.mjs +1 -1
  410. package/es/components/tour/src/tour2.mjs +1 -1
  411. package/es/components/upload/index.mjs +2 -2
  412. package/es/components/upload/src/upload-content.d.ts +1 -0
  413. package/es/components/upload/src/upload-content.mjs +1 -1
  414. package/es/components/upload/src/upload-content.vue.d.ts +3 -0
  415. package/es/components/upload/src/upload-content2.mjs +5 -3
  416. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  417. package/es/components/upload/src/upload-dragger.d.ts +1 -0
  418. package/es/components/upload/src/upload-dragger.mjs +2 -1
  419. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  420. package/es/components/upload/src/upload-dragger.vue.d.ts +3 -0
  421. package/es/components/upload/src/upload-dragger2.mjs +48 -1
  422. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  423. package/es/components/upload/src/upload-list.mjs +1 -1
  424. package/es/components/upload/src/upload.d.ts +2 -0
  425. package/es/components/upload/src/upload.mjs +102 -138
  426. package/es/components/upload/src/upload.mjs.map +1 -1
  427. package/es/components/upload/src/upload.vue.d.ts +3 -0
  428. package/es/components/upload/src/upload2.mjs +138 -101
  429. package/es/components/upload/src/upload2.mjs.map +1 -1
  430. package/es/components/upload/src/use-handlers.mjs +1 -1
  431. package/es/components/virtual-list/src/hooks/use-grid-wheel.mjs +4 -4
  432. package/es/components/virtual-list/src/hooks/use-grid-wheel.mjs.map +1 -1
  433. package/es/components/virtual-list/src/hooks/use-wheel.mjs +1 -1
  434. package/es/components/virtual-list/src/hooks/use-wheel.mjs.map +1 -1
  435. package/es/index.mjs +18 -16
  436. package/es/index.mjs.map +1 -1
  437. package/es/version.d.ts +1 -1
  438. package/es/version.mjs +1 -1
  439. package/es/version.mjs.map +1 -1
  440. package/global.d.ts +1 -0
  441. package/lib/component.js +1 -0
  442. package/lib/component.js.map +1 -1
  443. package/lib/components/alert/index.js +2 -2
  444. package/lib/components/alert/src/alert.js +134 -40
  445. package/lib/components/alert/src/alert.js.map +1 -1
  446. package/lib/components/alert/src/alert2.js +40 -134
  447. package/lib/components/alert/src/alert2.js.map +1 -1
  448. package/lib/components/autocomplete/index.js +2 -2
  449. package/lib/components/autocomplete/src/autocomplete.js +483 -58
  450. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  451. package/lib/components/autocomplete/src/autocomplete2.js +58 -483
  452. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  453. package/lib/components/avatar/index.d.ts +8 -2
  454. package/lib/components/avatar/index.js +12 -3
  455. package/lib/components/avatar/index.js.map +1 -1
  456. package/lib/components/avatar/src/avatar-group-props.d.ts +138 -0
  457. package/lib/components/avatar/src/avatar-group-props.js +37 -0
  458. package/lib/components/avatar/src/avatar-group-props.js.map +1 -0
  459. package/lib/components/avatar/src/avatar-group.d.ts +274 -0
  460. package/lib/components/avatar/src/avatar-group.js +65 -0
  461. package/lib/components/avatar/src/avatar-group.js.map +1 -0
  462. package/lib/components/avatar/src/avatar.d.ts +12 -2
  463. package/lib/components/avatar/src/avatar.js +29 -74
  464. package/lib/components/avatar/src/avatar.js.map +1 -1
  465. package/lib/components/avatar/src/avatar.vue.d.ts +24 -6
  466. package/lib/components/avatar/src/avatar2.js +85 -31
  467. package/lib/components/avatar/src/avatar2.js.map +1 -1
  468. package/lib/components/avatar/src/constants.d.ts +7 -0
  469. package/lib/components/avatar/src/constants.js +10 -0
  470. package/lib/components/avatar/src/constants.js.map +1 -0
  471. package/lib/components/avatar/src/instance.d.ts +2 -0
  472. package/lib/components/avatar-group/style/css.d.ts +3 -0
  473. package/lib/components/avatar-group/style/css.js +7 -0
  474. package/lib/components/avatar-group/style/css.js.map +1 -0
  475. package/lib/components/avatar-group/style/index.d.ts +3 -0
  476. package/lib/components/avatar-group/style/index.js +7 -0
  477. package/lib/components/avatar-group/style/index.js.map +1 -0
  478. package/lib/components/cascader-panel/src/index.js +1 -1
  479. package/lib/components/cascader-panel/src/menu.js +1 -1
  480. package/lib/components/cascader-panel/src/node.js +116 -192
  481. package/lib/components/cascader-panel/src/node.js.map +1 -1
  482. package/lib/components/cascader-panel/src/node2.js +192 -116
  483. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  484. package/lib/components/cascader-panel/src/store.js +1 -1
  485. package/lib/components/checkbox/index.js +2 -2
  486. package/lib/components/checkbox/src/checkbox-button.js +1 -1
  487. package/lib/components/checkbox/src/checkbox-group2.js +1 -1
  488. package/lib/components/checkbox/src/checkbox.js +63 -134
  489. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  490. package/lib/components/checkbox/src/checkbox2.js +134 -63
  491. package/lib/components/checkbox/src/checkbox2.js.map +1 -1
  492. package/lib/components/collection/index.js +1 -1
  493. package/lib/components/collection/src/collection.js +64 -9
  494. package/lib/components/collection/src/collection.js.map +1 -1
  495. package/lib/components/collection/src/collection2.js +9 -64
  496. package/lib/components/collection/src/collection2.js.map +1 -1
  497. package/lib/components/descriptions/src/description2.js +1 -1
  498. package/lib/components/descriptions/src/descriptions-row.js +6 -94
  499. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  500. package/lib/components/descriptions/src/descriptions-row2.js +94 -6
  501. package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
  502. package/lib/components/dialog/src/dialog-content.js +111 -38
  503. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  504. package/lib/components/dialog/src/dialog-content2.js +38 -111
  505. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  506. package/lib/components/dialog/src/dialog.js +1 -1
  507. package/lib/components/dialog/src/dialog2.js +1 -1
  508. package/lib/components/divider/index.js +2 -2
  509. package/lib/components/divider/src/divider.js +15 -43
  510. package/lib/components/divider/src/divider.js.map +1 -1
  511. package/lib/components/divider/src/divider2.js +43 -15
  512. package/lib/components/divider/src/divider2.js.map +1 -1
  513. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  514. package/lib/components/empty/index.js +2 -2
  515. package/lib/components/empty/src/empty.js +10 -80
  516. package/lib/components/empty/src/empty.js.map +1 -1
  517. package/lib/components/empty/src/empty2.js +80 -10
  518. package/lib/components/empty/src/empty2.js.map +1 -1
  519. package/lib/components/form/index.js +2 -2
  520. package/lib/components/form/src/form.js +55 -173
  521. package/lib/components/form/src/form.js.map +1 -1
  522. package/lib/components/form/src/form2.js +173 -55
  523. package/lib/components/form/src/form2.js.map +1 -1
  524. package/lib/components/image/index.js +2 -2
  525. package/lib/components/image/src/image.js +68 -278
  526. package/lib/components/image/src/image.js.map +1 -1
  527. package/lib/components/image/src/image2.js +278 -68
  528. package/lib/components/image/src/image2.js.map +1 -1
  529. package/lib/components/index.js +73 -68
  530. package/lib/components/index.js.map +1 -1
  531. package/lib/components/input-tag/index.js +2 -2
  532. package/lib/components/input-tag/src/input-tag.js +81 -342
  533. package/lib/components/input-tag/src/input-tag.js.map +1 -1
  534. package/lib/components/input-tag/src/input-tag2.js +342 -81
  535. package/lib/components/input-tag/src/input-tag2.js.map +1 -1
  536. package/lib/components/mention/index.js +2 -2
  537. package/lib/components/mention/src/mention.js +74 -324
  538. package/lib/components/mention/src/mention.js.map +1 -1
  539. package/lib/components/mention/src/mention2.js +324 -74
  540. package/lib/components/mention/src/mention2.js.map +1 -1
  541. package/lib/components/message/index.js +1 -1
  542. package/lib/components/message/src/message.js +111 -189
  543. package/lib/components/message/src/message.js.map +1 -1
  544. package/lib/components/message/src/message2.js +189 -111
  545. package/lib/components/message/src/message2.js.map +1 -1
  546. package/lib/components/message/src/method.js +2 -2
  547. package/lib/components/pagination/src/components/jumper.js +7 -69
  548. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  549. package/lib/components/pagination/src/components/jumper2.js +69 -7
  550. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  551. package/lib/components/pagination/src/components/next.js +17 -43
  552. package/lib/components/pagination/src/components/next.js.map +1 -1
  553. package/lib/components/pagination/src/components/next2.js +43 -17
  554. package/lib/components/pagination/src/components/next2.js.map +1 -1
  555. package/lib/components/pagination/src/pagination.js +2 -2
  556. package/lib/components/progress/index.js +2 -2
  557. package/lib/components/progress/src/progress.js +52 -256
  558. package/lib/components/progress/src/progress.js.map +1 -1
  559. package/lib/components/progress/src/progress2.js +256 -52
  560. package/lib/components/progress/src/progress2.js.map +1 -1
  561. package/lib/components/roving-focus-group/src/roving-focus-group.js +1 -1
  562. package/lib/components/splitter/index.js +2 -2
  563. package/lib/components/splitter/src/splitter.js +114 -15
  564. package/lib/components/splitter/src/splitter.js.map +1 -1
  565. package/lib/components/splitter/src/splitter2.js +15 -114
  566. package/lib/components/splitter/src/splitter2.js.map +1 -1
  567. package/lib/components/tour/index.js +1 -1
  568. package/lib/components/tour/src/content.js +45 -85
  569. package/lib/components/tour/src/content.js.map +1 -1
  570. package/lib/components/tour/src/content2.js +85 -45
  571. package/lib/components/tour/src/content2.js.map +1 -1
  572. package/lib/components/tour/src/step.js +1 -1
  573. package/lib/components/tour/src/tour.js +1 -1
  574. package/lib/components/tour/src/tour2.js +1 -1
  575. package/lib/components/upload/index.js +2 -2
  576. package/lib/components/upload/src/upload-content.d.ts +1 -0
  577. package/lib/components/upload/src/upload-content.js +1 -1
  578. package/lib/components/upload/src/upload-content.vue.d.ts +3 -0
  579. package/lib/components/upload/src/upload-content2.js +5 -3
  580. package/lib/components/upload/src/upload-content2.js.map +1 -1
  581. package/lib/components/upload/src/upload-dragger.d.ts +1 -0
  582. package/lib/components/upload/src/upload-dragger.js +2 -1
  583. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  584. package/lib/components/upload/src/upload-dragger.vue.d.ts +3 -0
  585. package/lib/components/upload/src/upload-dragger2.js +48 -1
  586. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  587. package/lib/components/upload/src/upload-list.js +1 -1
  588. package/lib/components/upload/src/upload.d.ts +2 -0
  589. package/lib/components/upload/src/upload.js +105 -138
  590. package/lib/components/upload/src/upload.js.map +1 -1
  591. package/lib/components/upload/src/upload.vue.d.ts +3 -0
  592. package/lib/components/upload/src/upload2.js +138 -104
  593. package/lib/components/upload/src/upload2.js.map +1 -1
  594. package/lib/components/upload/src/use-handlers.js +1 -1
  595. package/lib/components/virtual-list/src/hooks/use-grid-wheel.js +4 -4
  596. package/lib/components/virtual-list/src/hooks/use-grid-wheel.js.map +1 -1
  597. package/lib/components/virtual-list/src/hooks/use-wheel.js +1 -1
  598. package/lib/components/virtual-list/src/hooks/use-wheel.js.map +1 -1
  599. package/lib/index.js +73 -68
  600. package/lib/index.js.map +1 -1
  601. package/lib/version.d.ts +1 -1
  602. package/lib/version.js +1 -1
  603. package/lib/version.js.map +1 -1
  604. package/package.json +2 -2
  605. package/tags.json +1 -1
  606. package/theme-chalk/el-avatar-group.css +1 -0
  607. package/theme-chalk/index.css +1 -1
  608. package/theme-chalk/src/avatar-group.scss +25 -0
  609. package/theme-chalk/src/common/var.scss +9 -0
  610. package/theme-chalk/src/index.scss +1 -0
  611. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"upload-content2.mjs","sources":["../../../../../../packages/components/upload/src/upload-content.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(listType),\n ns.is('drag', drag),\n ns.is('disabled', disabled),\n ]\"\n :tabindex=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\n role=\"button\"\n @click=\"handleClick\"\n @keydown.self.enter.space=\"handleKeydown\"\n >\n <template v-if=\"drag\">\n <upload-dragger :disabled=\"disabled\" @file=\"uploadFiles\">\n <slot />\n </upload-dragger>\n </template>\n <template v-else>\n <slot />\n </template>\n <input\n ref=\"inputRef\"\n :class=\"ns.e('input')\"\n :name=\"name\"\n :disabled=\"disabled\"\n :multiple=\"multiple\"\n :accept=\"accept\"\n type=\"file\"\n @change=\"handleChange\"\n @click.stop\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { shallowRef } from 'vue'\nimport { cloneDeep, isEqual } from 'lodash-unified'\nimport { entriesOf, isFunction, isPlainObject } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport UploadDragger from './upload-dragger.vue'\nimport { uploadContentProps } from './upload-content'\nimport { genFileId } from './upload'\n\nimport type { UploadContentProps } from './upload-content'\nimport type {\n UploadFile,\n UploadHooks,\n UploadRawFile,\n UploadRequestOptions,\n} from './upload'\n\ndefineOptions({\n name: 'ElUploadContent',\n inheritAttrs: false,\n})\n\nconst props = defineProps(uploadContentProps)\nconst ns = useNamespace('upload')\nconst disabled = useFormDisabled()\n\nconst requests = shallowRef<Record<string, XMLHttpRequest | Promise<unknown>>>(\n {}\n)\nconst inputRef = shallowRef<HTMLInputElement>()\n\nconst uploadFiles = (files: File[]) => {\n if (files.length === 0) return\n\n const { autoUpload, limit, fileList, multiple, onStart, onExceed } = props\n\n if (limit && fileList.length + files.length > limit) {\n onExceed(files, fileList)\n return\n }\n\n if (!multiple) {\n files = files.slice(0, 1)\n }\n\n for (const file of files) {\n const rawFile = file as UploadRawFile\n rawFile.uid = genFileId()\n onStart(rawFile)\n if (autoUpload) upload(rawFile)\n }\n}\n\nconst upload = async (rawFile: UploadRawFile): Promise<void> => {\n inputRef.value!.value = ''\n\n if (!props.beforeUpload) {\n return doUpload(rawFile)\n }\n\n let hookResult: Exclude<ReturnType<UploadHooks['beforeUpload']>, Promise<any>>\n let beforeData: UploadContentProps['data'] = {}\n\n try {\n // origin data: Handle data changes after synchronization tasks are executed\n const originData = props.data\n const beforeUploadPromise = props.beforeUpload(rawFile)\n beforeData = isPlainObject(props.data) ? cloneDeep(props.data) : props.data\n hookResult = await beforeUploadPromise\n if (isPlainObject(props.data) && isEqual(originData, beforeData)) {\n beforeData = cloneDeep(props.data)\n }\n } catch {\n hookResult = false\n }\n\n if (hookResult === false) {\n props.onRemove(rawFile)\n return\n }\n\n let file: File = rawFile\n if (hookResult instanceof Blob) {\n if (hookResult instanceof File) {\n file = hookResult\n } else {\n file = new File([hookResult], rawFile.name, {\n type: rawFile.type,\n })\n }\n }\n\n doUpload(\n Object.assign(file, {\n uid: rawFile.uid,\n }),\n beforeData\n )\n}\n\nconst resolveData = async (\n data: UploadContentProps['data'],\n rawFile: UploadRawFile\n): Promise<Record<string, any>> => {\n if (isFunction(data)) {\n return data(rawFile)\n }\n\n return data\n}\n\nconst doUpload = async (\n rawFile: UploadRawFile,\n beforeData?: UploadContentProps['data']\n) => {\n const {\n headers,\n data,\n method,\n withCredentials,\n name: filename,\n action,\n onProgress,\n onSuccess,\n onError,\n httpRequest,\n } = props\n\n try {\n beforeData = await resolveData(beforeData ?? data, rawFile)\n } catch {\n props.onRemove(rawFile)\n return\n }\n\n const { uid } = rawFile\n const options: UploadRequestOptions = {\n headers: headers || {},\n withCredentials,\n file: rawFile,\n data: beforeData,\n method,\n filename,\n action,\n onProgress: (evt) => {\n onProgress(evt, rawFile)\n },\n onSuccess: (res) => {\n onSuccess(res, rawFile)\n delete requests.value[uid]\n },\n onError: (err) => {\n onError(err, rawFile)\n delete requests.value[uid]\n },\n }\n const request = httpRequest(options)\n requests.value[uid] = request\n if (request instanceof Promise) {\n request.then(options.onSuccess, options.onError)\n }\n}\n\nconst handleChange = (e: Event) => {\n const files = (e.target as HTMLInputElement).files\n if (!files) return\n uploadFiles(Array.from(files))\n}\n\nconst handleClick = () => {\n if (!disabled.value) {\n inputRef.value!.value = ''\n inputRef.value!.click()\n }\n}\n\nconst handleKeydown = () => {\n handleClick()\n}\n\nconst abort = (file?: UploadFile) => {\n const _reqs = entriesOf(requests.value).filter(\n file ? ([uid]) => String(file.uid) === uid : () => true\n )\n _reqs.forEach(([uid, req]) => {\n if (req instanceof XMLHttpRequest) req.abort()\n delete requests.value[uid]\n })\n}\n\ndefineExpose({\n abort,\n upload,\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","listType","drag","_withKeys","_createBlock","_renderSlot","_createElementVNode","name","multiple","accept","_withModifiers"],"mappings":"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"}
1
+ {"version":3,"file":"upload-content2.mjs","sources":["../../../../../../packages/components/upload/src/upload-content.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(listType),\n ns.is('drag', drag),\n ns.is('disabled', disabled),\n ]\"\n :tabindex=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\n role=\"button\"\n @click=\"handleClick\"\n @keydown.self.enter.space=\"handleKeydown\"\n >\n <template v-if=\"drag\">\n <upload-dragger\n :disabled=\"disabled\"\n :directory=\"directory\"\n @file=\"uploadFiles\"\n >\n <slot />\n </upload-dragger>\n </template>\n <template v-else>\n <slot />\n </template>\n <input\n ref=\"inputRef\"\n :class=\"ns.e('input')\"\n :name=\"name\"\n :disabled=\"disabled\"\n :multiple=\"multiple\"\n :accept=\"accept\"\n :webkitdirectory=\"directory\"\n type=\"file\"\n @change=\"handleChange\"\n @click.stop\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { shallowRef } from 'vue'\nimport { cloneDeep, isEqual } from 'lodash-unified'\nimport { entriesOf, isFunction, isPlainObject } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport UploadDragger from './upload-dragger.vue'\nimport { uploadContentProps } from './upload-content'\nimport { genFileId } from './upload'\n\nimport type { UploadContentProps } from './upload-content'\nimport type {\n UploadFile,\n UploadHooks,\n UploadRawFile,\n UploadRequestOptions,\n} from './upload'\n\ndefineOptions({\n name: 'ElUploadContent',\n inheritAttrs: false,\n})\n\nconst props = defineProps(uploadContentProps)\nconst ns = useNamespace('upload')\nconst disabled = useFormDisabled()\n\nconst requests = shallowRef<Record<string, XMLHttpRequest | Promise<unknown>>>(\n {}\n)\nconst inputRef = shallowRef<HTMLInputElement>()\n\nconst uploadFiles = (files: File[]) => {\n if (files.length === 0) return\n\n const { autoUpload, limit, fileList, multiple, onStart, onExceed } = props\n\n if (limit && fileList.length + files.length > limit) {\n onExceed(files, fileList)\n return\n }\n\n if (!multiple) {\n files = files.slice(0, 1)\n }\n\n for (const file of files) {\n const rawFile = file as UploadRawFile\n rawFile.uid = genFileId()\n onStart(rawFile)\n if (autoUpload) upload(rawFile)\n }\n}\n\nconst upload = async (rawFile: UploadRawFile): Promise<void> => {\n inputRef.value!.value = ''\n\n if (!props.beforeUpload) {\n return doUpload(rawFile)\n }\n\n let hookResult: Exclude<ReturnType<UploadHooks['beforeUpload']>, Promise<any>>\n let beforeData: UploadContentProps['data'] = {}\n\n try {\n // origin data: Handle data changes after synchronization tasks are executed\n const originData = props.data\n const beforeUploadPromise = props.beforeUpload(rawFile)\n beforeData = isPlainObject(props.data) ? cloneDeep(props.data) : props.data\n hookResult = await beforeUploadPromise\n if (isPlainObject(props.data) && isEqual(originData, beforeData)) {\n beforeData = cloneDeep(props.data)\n }\n } catch {\n hookResult = false\n }\n\n if (hookResult === false) {\n props.onRemove(rawFile)\n return\n }\n\n let file: File = rawFile\n if (hookResult instanceof Blob) {\n if (hookResult instanceof File) {\n file = hookResult\n } else {\n file = new File([hookResult], rawFile.name, {\n type: rawFile.type,\n })\n }\n }\n\n doUpload(\n Object.assign(file, {\n uid: rawFile.uid,\n }),\n beforeData\n )\n}\n\nconst resolveData = async (\n data: UploadContentProps['data'],\n rawFile: UploadRawFile\n): Promise<Record<string, any>> => {\n if (isFunction(data)) {\n return data(rawFile)\n }\n\n return data\n}\n\nconst doUpload = async (\n rawFile: UploadRawFile,\n beforeData?: UploadContentProps['data']\n) => {\n const {\n headers,\n data,\n method,\n withCredentials,\n name: filename,\n action,\n onProgress,\n onSuccess,\n onError,\n httpRequest,\n } = props\n\n try {\n beforeData = await resolveData(beforeData ?? data, rawFile)\n } catch {\n props.onRemove(rawFile)\n return\n }\n\n const { uid } = rawFile\n const options: UploadRequestOptions = {\n headers: headers || {},\n withCredentials,\n file: rawFile,\n data: beforeData,\n method,\n filename,\n action,\n onProgress: (evt) => {\n onProgress(evt, rawFile)\n },\n onSuccess: (res) => {\n onSuccess(res, rawFile)\n delete requests.value[uid]\n },\n onError: (err) => {\n onError(err, rawFile)\n delete requests.value[uid]\n },\n }\n const request = httpRequest(options)\n requests.value[uid] = request\n if (request instanceof Promise) {\n request.then(options.onSuccess, options.onError)\n }\n}\n\nconst handleChange = (e: Event) => {\n const files = (e.target as HTMLInputElement).files\n if (!files) return\n uploadFiles(Array.from(files))\n}\n\nconst handleClick = () => {\n if (!disabled.value) {\n inputRef.value!.value = ''\n inputRef.value!.click()\n }\n}\n\nconst handleKeydown = () => {\n handleClick()\n}\n\nconst abort = (file?: UploadFile) => {\n const _reqs = entriesOf(requests.value).filter(\n file ? ([uid]) => String(file.uid) === uid : () => true\n )\n _reqs.forEach(([uid, req]) => {\n if (req instanceof XMLHttpRequest) req.abort()\n delete requests.value[uid]\n })\n}\n\ndefineExpose({\n abort,\n upload,\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","listType","drag","_withKeys","_createBlock","directory","_renderSlot","_createElementVNode","name","multiple","accept","_withModifiers"],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue';
2
2
  import type UploadDragger from './upload-dragger.vue';
3
3
  export declare const uploadDraggerProps: {
4
4
  readonly disabled: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
5
+ readonly directory: BooleanConstructor;
5
6
  };
6
7
  export type UploadDraggerProps = ExtractPropTypes<typeof uploadDraggerProps>;
7
8
  export type UploadDraggerPropsPublic = ExtractPublicPropTypes<typeof uploadDraggerProps>;
@@ -5,7 +5,8 @@ const uploadDraggerProps = buildProps({
5
5
  disabled: {
6
6
  type: Boolean,
7
7
  default: void 0
8
- }
8
+ },
9
+ directory: Boolean
9
10
  });
10
11
  const uploadDraggerEmits = {
11
12
  file: (file) => isArray(file)
@@ -1 +1 @@
1
- {"version":3,"file":"upload-dragger.mjs","sources":["../../../../../../packages/components/upload/src/upload-dragger.ts"],"sourcesContent":["import { buildProps, isArray } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\nimport type UploadDragger from './upload-dragger.vue'\n\nexport const uploadDraggerProps = buildProps({\n disabled: {\n type: Boolean,\n default: undefined,\n },\n} as const)\nexport type UploadDraggerProps = ExtractPropTypes<typeof uploadDraggerProps>\nexport type UploadDraggerPropsPublic = ExtractPublicPropTypes<\n typeof uploadDraggerProps\n>\n\nexport const uploadDraggerEmits = {\n file: (file: File[]) => isArray(file),\n}\nexport type UploadDraggerEmits = typeof uploadDraggerEmits\n\nexport type UploadDraggerInstance = InstanceType<typeof UploadDragger> & unknown\n"],"names":[],"mappings":";;;AAKO,MAAM,qBAAqB,UAAW,CAAA;AAAA,EAC3C,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AACF,CAAU,EAAA;AAMH,MAAM,kBAAqB,GAAA;AAAA,EAChC,IAAM,EAAA,CAAC,IAAiB,KAAA,OAAA,CAAQ,IAAI,CAAA;AACtC;;;;"}
1
+ {"version":3,"file":"upload-dragger.mjs","sources":["../../../../../../packages/components/upload/src/upload-dragger.ts"],"sourcesContent":["import { buildProps, isArray } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\nimport type UploadDragger from './upload-dragger.vue'\n\nexport const uploadDraggerProps = buildProps({\n disabled: {\n type: Boolean,\n default: undefined,\n },\n directory: Boolean,\n} as const)\nexport type UploadDraggerProps = ExtractPropTypes<typeof uploadDraggerProps>\nexport type UploadDraggerPropsPublic = ExtractPublicPropTypes<\n typeof uploadDraggerProps\n>\n\nexport const uploadDraggerEmits = {\n file: (file: File[]) => isArray(file),\n}\nexport type UploadDraggerEmits = typeof uploadDraggerEmits\n\nexport type UploadDraggerInstance = InstanceType<typeof UploadDragger> & unknown\n"],"names":[],"mappings":";;;AAKO,MAAM,qBAAqB,UAAW,CAAA;AAAA,EAC3C,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA,OAAA;AACb,CAAU,EAAA;AAMH,MAAM,kBAAqB,GAAA;AAAA,EAChC,IAAM,EAAA,CAAC,IAAiB,KAAA,OAAA,CAAQ,IAAI,CAAA;AACtC;;;;"}
@@ -4,14 +4,17 @@ type __VLS_Slots = {} & {
4
4
  };
5
5
  declare const __VLS_base: import("vue").DefineComponent<{
6
6
  readonly disabled: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
7
+ readonly directory: BooleanConstructor;
7
8
  }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
9
  file: (file: File[]) => void;
9
10
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
11
  readonly disabled: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
12
+ readonly directory: BooleanConstructor;
11
13
  }>> & {
12
14
  onFile?: ((file: File[]) => any) | undefined;
13
15
  }, {
14
16
  readonly disabled: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
17
+ readonly directory: boolean;
15
18
  }, {}>;
16
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
20
  declare const _default: typeof __VLS_export;
@@ -1,5 +1,6 @@
1
1
  import { defineComponent, inject, ref, openBlock, createElementBlock, normalizeClass, unref, withModifiers, renderSlot } from 'vue';
2
2
  import { throwError } from '../../../utils/error.mjs';
3
+ import { flatten } from 'lodash-unified';
3
4
  import { uploadContextKey } from './constants.mjs';
4
5
  import { uploadDraggerProps, uploadDraggerEmits } from './upload-dragger.mjs';
5
6
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
@@ -15,6 +16,7 @@ const _sfc_main = defineComponent({
15
16
  props: uploadDraggerProps,
16
17
  emits: uploadDraggerEmits,
17
18
  setup(__props, { emit: __emit }) {
19
+ const props = __props;
18
20
  const emit = __emit;
19
21
  const uploaderContext = inject(uploadContextKey);
20
22
  if (!uploaderContext) {
@@ -26,13 +28,58 @@ const _sfc_main = defineComponent({
26
28
  const ns = useNamespace("upload");
27
29
  const dragover = ref(false);
28
30
  const disabled = useFormDisabled();
29
- const onDrop = (e) => {
31
+ const getFile = (entry) => {
32
+ return new Promise((resolve, reject) => entry.file(resolve, reject));
33
+ };
34
+ const getAllFiles = async (entry) => {
35
+ try {
36
+ if (entry.isFile) {
37
+ const file = await getFile(
38
+ entry
39
+ );
40
+ file.isDirectory = false;
41
+ return [file];
42
+ }
43
+ if (entry.isDirectory) {
44
+ const dirReader = entry.createReader();
45
+ const getEntries = () => {
46
+ return new Promise(
47
+ (resolve, reject) => dirReader.readEntries(resolve, reject)
48
+ );
49
+ };
50
+ const entries = [];
51
+ let readEntries = await getEntries();
52
+ while (readEntries.length > 0) {
53
+ entries.push(...readEntries);
54
+ readEntries = await getEntries();
55
+ }
56
+ const filePromises = entries.map(
57
+ (entry2) => getAllFiles(entry2).catch(() => [])
58
+ );
59
+ const files = await Promise.all(filePromises);
60
+ return flatten(files);
61
+ }
62
+ } catch (e) {
63
+ return [];
64
+ }
65
+ return [];
66
+ };
67
+ const onDrop = async (e) => {
30
68
  if (disabled.value)
31
69
  return;
32
70
  dragover.value = false;
33
71
  e.stopPropagation();
34
72
  const files = Array.from(e.dataTransfer.files);
35
73
  const items = e.dataTransfer.items || [];
74
+ if (props.directory) {
75
+ const entries = Array.from(items).map((item) => {
76
+ var _a;
77
+ return (_a = item == null ? void 0 : item.webkitGetAsEntry) == null ? void 0 : _a.call(item);
78
+ }).filter((entry) => entry);
79
+ const allFiles = await Promise.all(entries.map(getAllFiles));
80
+ emit("file", flatten(allFiles));
81
+ return;
82
+ }
36
83
  files.forEach((file, index) => {
37
84
  var _a;
38
85
  const item = items[index];
@@ -1 +1 @@
1
- {"version":3,"file":"upload-dragger2.mjs","sources":["../../../../../../packages/components/upload/src/upload-dragger.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('dragger'), ns.is('dragover', dragover)]\"\n @drop.prevent=\"onDrop\"\n @dragover.prevent=\"onDragover\"\n @dragleave.prevent=\"onDragleave\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject, ref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { throwError } from '@element-plus/utils/error'\nimport { uploadContextKey } from './constants'\nimport { uploadDraggerEmits, uploadDraggerProps } from './upload-dragger'\n\nimport type { UploadRawFile } from './upload'\n\nconst COMPONENT_NAME = 'ElUploadDrag'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\ndefineProps(uploadDraggerProps)\nconst emit = defineEmits(uploadDraggerEmits)\n\nconst uploaderContext = inject(uploadContextKey)\nif (!uploaderContext) {\n throwError(\n COMPONENT_NAME,\n 'usage: <el-upload><el-upload-dragger /></el-upload>'\n )\n}\n\nconst ns = useNamespace('upload')\nconst dragover = ref(false)\nconst disabled = useFormDisabled()\n\nconst onDrop = (e: DragEvent) => {\n if (disabled.value) return\n dragover.value = false\n\n e.stopPropagation()\n\n const files = Array.from(e.dataTransfer!.files) as UploadRawFile[]\n const items = e.dataTransfer!.items || []\n files.forEach((file, index) => {\n const item = items[index]\n const entry = item?.webkitGetAsEntry?.()\n if (entry) {\n file.isDirectory = entry.isDirectory\n }\n })\n emit('file', files)\n}\n\nconst onDragover = () => {\n if (!disabled.value) dragover.value = true\n}\n\nconst onDragleave = (e: DragEvent) => {\n if (!(e.currentTarget as Element).contains(e.relatedTarget as Element))\n dragover.value = false\n}\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_withModifiers","_renderSlot"],"mappings":";;;;;;;;AAqBA,MAAM,cAAiB,GAAA,cAAA,CAAA;;;;;;;;;AAOvB,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEP,IAAA,MAAA,eAAA,GAAkB,OAAO,gBAAgB,CAAA,CAAA;AAC/C,IAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,MAAA,UAAA;AAAA,QACE,cAAA;AAAA,QACA,qDAAA;AAAA,OACF,CAAA;AAAA,KACF;AAEM,IAAA,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAC1B,IAAA,MAAA,QAAA,GAAW,IAAI,KAAK,CAAA,CAAA;AAC1B,IAAA,MAAM,WAAW,eAAgB,EAAA,CAAA;AAE3B,IAAA,MAAA,MAAA,GAAS,CAAC,CAAiB,KAAA;AAC/B,MAAA,IAAI,QAAS,CAAA,KAAA;AAAO,QAAA,OAAA;AACpB,MAAA,QAAA,CAAS,KAAQ,GAAA,KAAA,CAAA;AAEjB,MAAA,CAAA,CAAE,eAAgB,EAAA,CAAA;AAElB,MAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,IAAK,CAAA,CAAA,CAAE,aAAc,KAAK,CAAA,CAAA;AAC9C,MAAA,MAAM,KAAQ,GAAA,CAAA,CAAE,YAAc,CAAA,KAAA,IAAS,EAAC,CAAA;AAClC,MAAA,KAAA,CAAA,OAAA,CAAQ,CAAC,IAAA,EAAM,KAAU,KAAA;;AACvB,QAAA,MAAA,OAAO,KAAM,CAAA,KAAA,CAAA,CAAA;AACb,QAAA,MAAA,KAAA,GAAA,CAAQ,kCAAM,gBAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACd,QAAA,IAAI,KAAO,EAAA;AACT,UAAA,IAAA,CAAK,cAAc,KAAM,CAAA,WAAA,CAAA;AAAA,SAC3B;AAAA,OACD,CAAA,CAAA;AACD,MAAA,IAAA,CAAK,QAAQ,KAAK,CAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,IAAI,CAAC,QAAS,CAAA,KAAA;AAAO,QAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAA;AAAA,KACxC,CAAA;AAEM,IAAA,MAAA,WAAA,GAAc,CAAC,CAAiB,KAAA;AACpC,MAAA,IAAI,CAAE,CAAA,CAAE,aAA0B,CAAA,QAAA,CAAS,EAAE,aAAwB,CAAA;AACnE,QAAA,QAAA,CAAS,KAAQ,GAAA,KAAA,CAAA;AAAA,KACrB,CAAA;;AAlEE,MAAA,OAAAA,WAAA,EAAAC,kBAAA;AAAA,QAOM,KAAA;AAAA,QAAA;AAAA,UANH,OAAKC,gBAAGC,KAAG,CAAA,EAAA,EAAA,CAAC,CAAA,UAAa,EAAAA,KAAA,CAAG,EAAA,CAAA,CAAA,EAAA,CAAE,YAAa,QAAQ,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,UACnD,MAAI,EAAAC,aAAA,CAAU,MAAM,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,UACpB,UAAQ,EAAAA,aAAA,CAAU,UAAU,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,UAC5B,WAAS,EAAAA,aAAA,CAAU,WAAW,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA;UAE/BC,UAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,SAAA;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"upload-dragger2.mjs","sources":["../../../../../../packages/components/upload/src/upload-dragger.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('dragger'), ns.is('dragover', dragover)]\"\n @drop.prevent=\"onDrop\"\n @dragover.prevent=\"onDragover\"\n @dragleave.prevent=\"onDragleave\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject, ref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { throwError } from '@element-plus/utils/error'\nimport { flatten } from 'lodash-unified'\nimport { uploadContextKey } from './constants'\nimport { uploadDraggerEmits, uploadDraggerProps } from './upload-dragger'\n\nimport type { UploadRawFile } from './upload'\n\nconst COMPONENT_NAME = 'ElUploadDrag'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(uploadDraggerProps)\nconst emit = defineEmits(uploadDraggerEmits)\n\nconst uploaderContext = inject(uploadContextKey)\nif (!uploaderContext) {\n throwError(\n COMPONENT_NAME,\n 'usage: <el-upload><el-upload-dragger /></el-upload>'\n )\n}\n\nconst ns = useNamespace('upload')\nconst dragover = ref(false)\nconst disabled = useFormDisabled()\n\nconst getFile = (entry: FileSystemFileEntry): Promise<File> => {\n return new Promise((resolve, reject) => entry.file(resolve, reject))\n}\n\nconst getAllFiles = async (\n entry: FileSystemEntry\n): Promise<UploadRawFile[]> => {\n try {\n if (entry.isFile) {\n const file = (await getFile(\n entry as FileSystemFileEntry\n )) as UploadRawFile\n file.isDirectory = false\n return [file]\n }\n if (entry.isDirectory) {\n const dirReader = (entry as FileSystemDirectoryEntry).createReader()\n const getEntries = (): Promise<FileSystemEntry[]> => {\n return new Promise((resolve, reject) =>\n dirReader.readEntries(resolve, reject)\n )\n }\n\n const entries: FileSystemEntry[] = []\n let readEntries = await getEntries()\n while (readEntries.length > 0) {\n entries.push(...readEntries)\n readEntries = await getEntries()\n }\n\n const filePromises = entries.map((entry) =>\n getAllFiles(entry).catch(() => [])\n )\n\n const files = await Promise.all(filePromises)\n return flatten(files)\n }\n } catch {\n return []\n }\n return []\n}\n\nconst onDrop = async (e: DragEvent) => {\n if (disabled.value) return\n dragover.value = false\n\n e.stopPropagation()\n\n const files = Array.from(e.dataTransfer!.files) as UploadRawFile[]\n const items = e.dataTransfer!.items || []\n\n if (props.directory) {\n const entries = Array.from(items)\n .map((item) => item?.webkitGetAsEntry?.())\n .filter((entry) => entry) as FileSystemEntry[]\n\n const allFiles = await Promise.all(entries.map(getAllFiles))\n emit('file', flatten(allFiles))\n return\n }\n\n files.forEach((file, index) => {\n const item = items[index]\n const entry = item?.webkitGetAsEntry?.()\n if (entry) {\n file.isDirectory = entry.isDirectory\n }\n })\n emit('file', files)\n}\n\nconst onDragover = () => {\n if (!disabled.value) dragover.value = true\n}\n\nconst onDragleave = (e: DragEvent) => {\n if (!(e.currentTarget as Element).contains(e.relatedTarget as Element))\n dragover.value = false\n}\n</script>\n"],"names":["entry","_openBlock","_createElementBlock","_normalizeClass","_unref","_withModifiers","_renderSlot"],"mappings":";;;;;;;;;AAsBA,MAAM,cAAiB,GAAA,cAAA,CAAA;;;;;;;;;AAMvB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEP,IAAA,MAAA,eAAA,GAAkB,OAAO,gBAAgB,CAAA,CAAA;AAC/C,IAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,MAAA,UAAA;AAAA,QACE,cAAA;AAAA,QACA,qDAAA;AAAA,OACF,CAAA;AAAA,KACF;AAEM,IAAA,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAC1B,IAAA,MAAA,QAAA,GAAW,IAAI,KAAK,CAAA,CAAA;AAC1B,IAAA,MAAM,WAAW,eAAgB,EAAA,CAAA;AAE3B,IAAA,MAAA,OAAA,GAAU,CAAC,KAA8C,KAAA;AACtD,MAAA,OAAA,IAAI,QAAQ,CAAC,OAAA,EAAS,WAAW,KAAM,CAAA,IAAA,CAAK,OAAS,EAAA,MAAM,CAAC,CAAA,CAAA;AAAA,KACrE,CAAA;AAEM,IAAA,MAAA,WAAA,GAAc,OAClB,KAC6B,KAAA;AACzB,MAAA,IAAA;AACF,QAAA,IAAI,MAAM,MAAQ,EAAA;AAChB,UAAA,MAAM,OAAQ,MAAM,OAAA;AAAA,YAClB,KAAA;AAAA,WACF,CAAA;AACA,UAAA,IAAA,CAAK,WAAc,GAAA,KAAA,CAAA;AACnB,UAAA,OAAO,CAAC,IAAI,CAAA,CAAA;AAAA,SACd;AACA,QAAA,IAAI,MAAM,WAAa,EAAA;AACf,UAAA,MAAA,SAAA,GAAa,MAAmC,YAAa,EAAA,CAAA;AACnE,UAAA,MAAM,aAAa,MAAkC;AACnD,YAAA,OAAO,IAAI,OAAA;AAAA,cAAQ,CAAC,OAAS,EAAA,MAAA,KAC3B,SAAU,CAAA,WAAA,CAAY,SAAS,MAAM,CAAA;AAAA,aACvC,CAAA;AAAA,WACF,CAAA;AAEA,UAAA,MAAM,UAA6B,EAAC,CAAA;AAChC,UAAA,IAAA,WAAA,GAAc,MAAM,UAAW,EAAA,CAAA;AAC5B,UAAA,OAAA,WAAA,CAAY,SAAS,CAAG,EAAA;AACrB,YAAA,OAAA,CAAA,IAAA,CAAK,GAAG,WAAW,CAAA,CAAA;AAC3B,YAAA,WAAA,GAAc,MAAM,UAAW,EAAA,CAAA;AAAA,WACjC;AAEA,UAAA,MAAM,eAAe,OAAQ,CAAA,GAAA;AAAA,YAAI,CAACA,WAChC,WAAYA,CAAAA,MAAK,EAAE,KAAM,CAAA,MAAM,EAAE,CAAA;AAAA,WACnC,CAAA;AAEA,UAAA,MAAM,KAAQ,GAAA,MAAM,OAAQ,CAAA,GAAA,CAAI,YAAY,CAAA,CAAA;AAC5C,UAAA,OAAO,QAAQ,KAAK,CAAA,CAAA;AAAA,SACtB;AAAA,eACM,CAAA,EAAA;AACN,QAAA,OAAO,EAAC,CAAA;AAAA,OACV;AACA,MAAA,OAAO,EAAC,CAAA;AAAA,KACV,CAAA;AAEM,IAAA,MAAA,MAAA,GAAS,OAAO,CAAiB,KAAA;AACrC,MAAA,IAAI,QAAS,CAAA,KAAA;AAAO,QAAA,OAAA;AACpB,MAAA,QAAA,CAAS,KAAQ,GAAA,KAAA,CAAA;AAEjB,MAAA,CAAA,CAAE,eAAgB,EAAA,CAAA;AAElB,MAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,IAAK,CAAA,CAAA,CAAE,aAAc,KAAK,CAAA,CAAA;AAC9C,MAAA,MAAM,KAAQ,GAAA,CAAA,CAAE,YAAc,CAAA,KAAA,IAAS,EAAC,CAAA;AAExC,MAAA,IAAI,MAAM,SAAW,EAAA;AACnB,QAAA,MAAM,UAAU,KAAM,CAAA,IAAA,CAAK,KAAK,CAC7B,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA;;AAAA,UAAA,OAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,gBAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AAAA,SAA0B,CACxC,CAAA,MAAA,CAAO,CAAC,KAAA,KAAU,KAAK,CAAA,CAAA;AAE1B,QAAA,MAAM,WAAW,MAAM,OAAA,CAAQ,IAAI,OAAQ,CAAA,GAAA,CAAI,WAAW,CAAC,CAAA,CAAA;AACtD,QAAA,IAAA,CAAA,MAAA,EAAQ,OAAQ,CAAA,QAAQ,CAAC,CAAA,CAAA;AAC9B,QAAA,OAAA;AAAA,OACF;AAEM,MAAA,KAAA,CAAA,OAAA,CAAQ,CAAC,IAAA,EAAM,KAAU,KAAA;;AACvB,QAAA,MAAA,OAAO,KAAM,CAAA,KAAA,CAAA,CAAA;AACb,QAAA,MAAA,KAAA,GAAA,CAAQ,kCAAM,gBAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACd,QAAA,IAAI,KAAO,EAAA;AACT,UAAA,IAAA,CAAK,cAAc,KAAM,CAAA,WAAA,CAAA;AAAA,SAC3B;AAAA,OACD,CAAA,CAAA;AACD,MAAA,IAAA,CAAK,QAAQ,KAAK,CAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,IAAI,CAAC,QAAS,CAAA,KAAA;AAAO,QAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAA;AAAA,KACxC,CAAA;AAEM,IAAA,MAAA,WAAA,GAAc,CAAC,CAAiB,KAAA;AACpC,MAAA,IAAI,CAAE,CAAA,CAAE,aAA0B,CAAA,QAAA,CAAS,EAAE,aAAwB,CAAA;AACnE,QAAA,QAAA,CAAS,KAAQ,GAAA,KAAA,CAAA;AAAA,KACrB,CAAA;;AAzHE,MAAA,OAAAC,WAAA,EAAAC,kBAAA;AAAA,QAOM,KAAA;AAAA,QAAA;AAAA,UANH,OAAKC,gBAAGC,KAAG,CAAA,EAAA,EAAA,CAAC,CAAA,UAAa,EAAAA,KAAA,CAAG,EAAA,CAAA,CAAA,EAAA,CAAE,YAAa,QAAQ,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,UACnD,MAAI,EAAAC,aAAA,CAAU,MAAM,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,UACpB,UAAQ,EAAAA,aAAA,CAAU,UAAU,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,UAC5B,WAAS,EAAAA,aAAA,CAAU,WAAW,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA;UAE/BC,UAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,SAAA;AAAA;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { uploadListTypes } from './upload2.mjs';
1
+ import { uploadListTypes } from './upload.mjs';
2
2
  import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
3
  import { mutable } from '../../../utils/typescript.mjs';
4
4
  import { NOOP } from '@vue/shared';
@@ -79,6 +79,7 @@ export declare const uploadBaseProps: {
79
79
  })[], unknown, unknown, UploadRequestHandler, boolean>;
80
80
  readonly disabled: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
81
81
  readonly limit: NumberConstructor;
82
+ readonly directory: BooleanConstructor;
82
83
  };
83
84
  export declare const uploadProps: {
84
85
  readonly beforeUpload: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => (rawFile: UploadRawFile) => Awaitable<void | undefined | null | boolean | File | Blob>) | (() => (rawFile: UploadRawFile) => Awaitable<void | undefined | null | boolean | File | Blob>) | {
@@ -194,6 +195,7 @@ export declare const uploadProps: {
194
195
  })[], unknown, unknown, UploadRequestHandler, boolean>;
195
196
  readonly disabled: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
196
197
  readonly limit: NumberConstructor;
198
+ readonly directory: BooleanConstructor;
197
199
  };
198
200
  export type UploadProps = ExtractPropTypes<typeof uploadProps>;
199
201
  export type UploadPropsPublic = ExtractPublicPropTypes<typeof uploadProps>;
@@ -1,143 +1,107 @@
1
- import { defineComponent, shallowRef, computed, onBeforeUnmount, provide, toRef, openBlock, createElementBlock, createBlock, unref, createSlots, withCtx, createVNode, mergeProps, renderSlot, createCommentVNode } from 'vue';
2
- import { uploadContextKey } from './constants.mjs';
3
- import UploadList from './upload-list2.mjs';
4
- import UploadContent from './upload-content2.mjs';
5
- import { useHandlers } from './use-handlers.mjs';
6
- import { uploadProps } from './upload2.mjs';
7
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
- import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
1
+ import { ajaxUpload } from './ajax.mjs';
2
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
+ import { NOOP } from '@vue/shared';
4
+ import { mutable } from '../../../utils/typescript.mjs';
9
5
 
10
- const _sfc_main = defineComponent({
11
- ...{
12
- name: "ElUpload"
13
- },
14
- __name: "upload",
15
- props: uploadProps,
16
- setup(__props, { expose: __expose }) {
17
- const props = __props;
18
- const disabled = useFormDisabled();
19
- const uploadRef = shallowRef();
20
- const {
21
- abort,
22
- submit,
23
- clearFiles,
24
- uploadFiles,
25
- handleStart,
26
- handleError,
27
- handleRemove,
28
- handleSuccess,
29
- handleProgress,
30
- revokeFileObjectURL
31
- } = useHandlers(props, uploadRef);
32
- const isPictureCard = computed(() => props.listType === "picture-card");
33
- const uploadContentProps = computed(() => ({
34
- ...props,
35
- fileList: uploadFiles.value,
36
- onStart: handleStart,
37
- onProgress: handleProgress,
38
- onSuccess: handleSuccess,
39
- onError: handleError,
40
- onRemove: handleRemove
41
- }));
42
- onBeforeUnmount(() => {
43
- uploadFiles.value.forEach(revokeFileObjectURL);
44
- });
45
- provide(uploadContextKey, {
46
- accept: toRef(props, "accept")
47
- });
48
- __expose({
49
- abort,
50
- submit,
51
- clearFiles,
52
- handleStart,
53
- handleRemove
54
- });
55
- return (_ctx, _cache) => {
56
- return openBlock(), createElementBlock("div", null, [
57
- isPictureCard.value && _ctx.showFileList ? (openBlock(), createBlock(UploadList, {
58
- key: 0,
59
- disabled: unref(disabled),
60
- "list-type": _ctx.listType,
61
- files: unref(uploadFiles),
62
- crossorigin: _ctx.crossorigin,
63
- "handle-preview": _ctx.onPreview,
64
- onRemove: unref(handleRemove)
65
- }, createSlots({
66
- append: withCtx(() => [
67
- createVNode(
68
- UploadContent,
69
- mergeProps({
70
- ref_key: "uploadRef",
71
- ref: uploadRef
72
- }, uploadContentProps.value),
73
- {
74
- default: withCtx(() => [
75
- _ctx.$slots.trigger ? renderSlot(_ctx.$slots, "trigger", { key: 0 }) : createCommentVNode("v-if", true),
76
- !_ctx.$slots.trigger && _ctx.$slots.default ? renderSlot(_ctx.$slots, "default", { key: 1 }) : createCommentVNode("v-if", true)
77
- ]),
78
- _: 3
79
- },
80
- 16
81
- )
82
- ]),
83
- _: 2
84
- }, [
85
- _ctx.$slots.file ? {
86
- name: "default",
87
- fn: withCtx(({ file, index }) => [
88
- renderSlot(_ctx.$slots, "file", {
89
- file,
90
- index
91
- })
92
- ]),
93
- key: "0"
94
- } : void 0
95
- ]), 1032, ["disabled", "list-type", "files", "crossorigin", "handle-preview", "onRemove"])) : createCommentVNode("v-if", true),
96
- !isPictureCard.value || isPictureCard.value && !_ctx.showFileList ? (openBlock(), createBlock(
97
- UploadContent,
98
- mergeProps({
99
- key: 1,
100
- ref_key: "uploadRef",
101
- ref: uploadRef
102
- }, uploadContentProps.value),
103
- {
104
- default: withCtx(() => [
105
- _ctx.$slots.trigger ? renderSlot(_ctx.$slots, "trigger", { key: 0 }) : createCommentVNode("v-if", true),
106
- !_ctx.$slots.trigger && _ctx.$slots.default ? renderSlot(_ctx.$slots, "default", { key: 1 }) : createCommentVNode("v-if", true)
107
- ]),
108
- _: 3
109
- },
110
- 16
111
- )) : createCommentVNode("v-if", true),
112
- _ctx.$slots.trigger ? renderSlot(_ctx.$slots, "default", { key: 2 }) : createCommentVNode("v-if", true),
113
- renderSlot(_ctx.$slots, "tip"),
114
- !isPictureCard.value && _ctx.showFileList ? (openBlock(), createBlock(UploadList, {
115
- key: 3,
116
- disabled: unref(disabled),
117
- "list-type": _ctx.listType,
118
- files: unref(uploadFiles),
119
- crossorigin: _ctx.crossorigin,
120
- "handle-preview": _ctx.onPreview,
121
- onRemove: unref(handleRemove)
122
- }, createSlots({
123
- _: 2
124
- }, [
125
- _ctx.$slots.file ? {
126
- name: "default",
127
- fn: withCtx(({ file, index }) => [
128
- renderSlot(_ctx.$slots, "file", {
129
- file,
130
- index
131
- })
132
- ]),
133
- key: "0"
134
- } : void 0
135
- ]), 1032, ["disabled", "list-type", "files", "crossorigin", "handle-preview", "onRemove"])) : createCommentVNode("v-if", true)
136
- ]);
137
- };
6
+ const uploadListTypes = ["text", "picture", "picture-card"];
7
+ let fileId = 1;
8
+ const genFileId = () => Date.now() + fileId++;
9
+ const uploadBaseProps = buildProps({
10
+ action: {
11
+ type: String,
12
+ default: "#"
13
+ },
14
+ headers: {
15
+ type: definePropType(Object)
16
+ },
17
+ method: {
18
+ type: String,
19
+ default: "post"
20
+ },
21
+ data: {
22
+ type: definePropType([Object, Function, Promise]),
23
+ default: () => mutable({})
24
+ },
25
+ multiple: Boolean,
26
+ name: {
27
+ type: String,
28
+ default: "file"
29
+ },
30
+ drag: Boolean,
31
+ withCredentials: Boolean,
32
+ showFileList: {
33
+ type: Boolean,
34
+ default: true
35
+ },
36
+ accept: {
37
+ type: String,
38
+ default: ""
39
+ },
40
+ fileList: {
41
+ type: definePropType(Array),
42
+ default: () => mutable([])
43
+ },
44
+ autoUpload: {
45
+ type: Boolean,
46
+ default: true
47
+ },
48
+ listType: {
49
+ type: String,
50
+ values: uploadListTypes,
51
+ default: "text"
52
+ },
53
+ httpRequest: {
54
+ type: definePropType(Function),
55
+ default: ajaxUpload
56
+ },
57
+ disabled: {
58
+ type: Boolean,
59
+ default: void 0
60
+ },
61
+ limit: Number,
62
+ directory: Boolean
63
+ });
64
+ const uploadProps = buildProps({
65
+ ...uploadBaseProps,
66
+ beforeUpload: {
67
+ type: definePropType(Function),
68
+ default: NOOP
69
+ },
70
+ beforeRemove: {
71
+ type: definePropType(Function)
72
+ },
73
+ onRemove: {
74
+ type: definePropType(Function),
75
+ default: NOOP
76
+ },
77
+ onChange: {
78
+ type: definePropType(Function),
79
+ default: NOOP
80
+ },
81
+ onPreview: {
82
+ type: definePropType(Function),
83
+ default: NOOP
84
+ },
85
+ onSuccess: {
86
+ type: definePropType(Function),
87
+ default: NOOP
88
+ },
89
+ onProgress: {
90
+ type: definePropType(Function),
91
+ default: NOOP
92
+ },
93
+ onError: {
94
+ type: definePropType(Function),
95
+ default: NOOP
96
+ },
97
+ onExceed: {
98
+ type: definePropType(Function),
99
+ default: NOOP
100
+ },
101
+ crossorigin: {
102
+ type: definePropType(String)
138
103
  }
139
104
  });
140
- var Upload = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload.vue"]]);
141
105
 
142
- export { Upload as default };
106
+ export { genFileId, uploadBaseProps, uploadListTypes, uploadProps };
143
107
  //# sourceMappingURL=upload.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload.mjs","sources":["../../../../../../packages/components/upload/src/upload.vue"],"sourcesContent":["<template>\n <div>\n <upload-list\n v-if=\"isPictureCard && showFileList\"\n :disabled=\"disabled\"\n :list-type=\"listType\"\n :files=\"uploadFiles\"\n :crossorigin=\"crossorigin\"\n :handle-preview=\"onPreview\"\n @remove=\"handleRemove\"\n >\n <template v-if=\"$slots.file\" #default=\"{ file, index }\">\n <slot name=\"file\" :file=\"file\" :index=\"index\" />\n </template>\n <template #append>\n <upload-content ref=\"uploadRef\" v-bind=\"uploadContentProps\">\n <slot v-if=\"$slots.trigger\" name=\"trigger\" />\n <slot v-if=\"!$slots.trigger && $slots.default\" />\n </upload-content>\n </template>\n </upload-list>\n\n <upload-content\n v-if=\"!isPictureCard || (isPictureCard && !showFileList)\"\n ref=\"uploadRef\"\n v-bind=\"uploadContentProps\"\n >\n <slot v-if=\"$slots.trigger\" name=\"trigger\" />\n <slot v-if=\"!$slots.trigger && $slots.default\" />\n </upload-content>\n\n <slot v-if=\"$slots.trigger\" />\n <slot name=\"tip\" />\n <upload-list\n v-if=\"!isPictureCard && showFileList\"\n :disabled=\"disabled\"\n :list-type=\"listType\"\n :files=\"uploadFiles\"\n :crossorigin=\"crossorigin\"\n :handle-preview=\"onPreview\"\n @remove=\"handleRemove\"\n >\n <template v-if=\"$slots.file\" #default=\"{ file, index }\">\n <slot name=\"file\" :file=\"file\" :index=\"index\" />\n </template>\n </upload-list>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, provide, shallowRef, toRef } from 'vue'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { uploadContextKey } from './constants'\nimport UploadList from './upload-list.vue'\nimport UploadContent from './upload-content.vue'\nimport { useHandlers } from './use-handlers'\nimport { uploadProps } from './upload'\n\nimport type {\n UploadContentInstance,\n UploadContentProps,\n} from './upload-content'\n\ndefineOptions({\n name: 'ElUpload',\n})\n\nconst props = defineProps(uploadProps)\n\nconst disabled = useFormDisabled()\n\nconst uploadRef = shallowRef<UploadContentInstance>()\nconst {\n abort,\n submit,\n clearFiles,\n uploadFiles,\n handleStart,\n handleError,\n handleRemove,\n handleSuccess,\n handleProgress,\n revokeFileObjectURL,\n} = useHandlers(props, uploadRef)\n\nconst isPictureCard = computed(() => props.listType === 'picture-card')\n\nconst uploadContentProps = computed<UploadContentProps>(() => ({\n ...props,\n fileList: uploadFiles.value,\n onStart: handleStart,\n onProgress: handleProgress,\n onSuccess: handleSuccess,\n onError: handleError,\n onRemove: handleRemove,\n}))\n\nonBeforeUnmount(() => {\n uploadFiles.value.forEach(revokeFileObjectURL)\n})\n\nprovide(uploadContextKey, {\n accept: toRef(props, 'accept'),\n})\n\ndefineExpose({\n /** @description cancel upload request */\n abort,\n /** @description upload the file list manually */\n submit,\n /** @description clear the file list */\n clearFiles,\n /** @description select the file manually */\n handleStart,\n /** @description remove the file manually */\n handleRemove,\n})\n</script>\n"],"names":["_createElementBlock","showFileList","_createBlock","_unref","listType","crossorigin","onPreview","_createSlots","_withCtx","_createVNode","_mergeProps","$slots","_renderSlot","_createCommentVNode","_openBlock"],"mappings":"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"}
1
+ {"version":3,"file":"upload.mjs","sources":["../../../../../../packages/components/upload/src/upload.ts"],"sourcesContent":["import { NOOP, buildProps, definePropType, mutable } from '@element-plus/utils'\nimport { ajaxUpload } from './ajax'\n\nimport type { Awaitable, Mutable } from '@element-plus/utils'\nimport type { UploadAjaxError } from './ajax'\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\nimport type Upload from './upload.vue'\n\nexport const uploadListTypes = ['text', 'picture', 'picture-card'] as const\n\nlet fileId = 1\nexport const genFileId = () => Date.now() + fileId++\n\nexport type UploadStatus = 'ready' | 'uploading' | 'success' | 'fail'\nexport interface UploadProgressEvent extends ProgressEvent {\n percent: number\n}\n\nexport interface UploadRequestOptions {\n action: string\n method: string\n data: Record<string, string | Blob | [Blob, string]>\n filename: string\n file: UploadRawFile\n headers: Headers | Record<string, string | number | null | undefined>\n onError: (evt: UploadAjaxError) => void\n onProgress: (evt: UploadProgressEvent) => void\n onSuccess: (response: any) => void\n withCredentials: boolean\n}\nexport interface UploadFile {\n name: string\n percentage?: number\n status: UploadStatus\n size?: number\n response?: unknown\n uid: number\n url?: string\n raw?: UploadRawFile\n}\nexport type UploadUserFile = Omit<UploadFile, 'status' | 'uid'> &\n Partial<Pick<UploadFile, 'status' | 'uid'>>\n\nexport type UploadFiles = UploadFile[]\nexport interface UploadRawFile extends File {\n uid: number\n isDirectory?: boolean\n}\nexport type UploadRequestHandler = (\n options: UploadRequestOptions\n) => XMLHttpRequest | Promise<unknown>\nexport interface UploadHooks {\n beforeUpload: (\n rawFile: UploadRawFile\n ) => Awaitable<void | undefined | null | boolean | File | Blob>\n beforeRemove: (\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => Awaitable<boolean>\n onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void\n onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void\n onPreview: (uploadFile: UploadFile) => void\n onSuccess: (\n response: any,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onProgress: (\n evt: UploadProgressEvent,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onError: (\n error: Error,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onExceed: (files: File[], uploadFiles: UploadUserFile[]) => void\n}\n\nexport type UploadData = Mutable<Record<string, any>>\n\nexport const uploadBaseProps = buildProps({\n /**\n * @description request URL\n */\n action: {\n type: String,\n default: '#',\n },\n /**\n * @description request headers\n */\n headers: {\n type: definePropType<Headers | Record<string, any>>(Object),\n },\n /**\n * @description set upload request method\n */\n method: {\n type: String,\n default: 'post',\n },\n /**\n * @description additions options of request\n */\n data: {\n type: definePropType<\n | Awaitable<UploadData>\n | ((rawFile: UploadRawFile) => Awaitable<UploadData>)\n >([Object, Function, Promise]),\n default: () => mutable({} as const),\n },\n /**\n * @description whether uploading multiple files is permitted\n */\n multiple: Boolean,\n /**\n * @description key name for uploaded file\n */\n name: {\n type: String,\n default: 'file',\n },\n /**\n * @description whether to activate drag and drop mode\n */\n drag: Boolean,\n /**\n * @description whether cookies are sent\n */\n withCredentials: Boolean,\n /**\n * @description whether to show the uploaded file list\n */\n showFileList: {\n type: Boolean,\n default: true,\n },\n /**\n * @description accepted [file types](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept), will not work when `thumbnail-mode === true`\n */\n accept: {\n type: String,\n default: '',\n },\n /**\n * @description default uploaded files\n */\n fileList: {\n type: definePropType<UploadUserFile[]>(Array),\n default: () => mutable([] as const),\n },\n /**\n * @description whether to auto upload file\n */\n autoUpload: {\n type: Boolean,\n default: true,\n },\n /**\n * @description type of file list\n */\n listType: {\n type: String,\n values: uploadListTypes,\n default: 'text',\n },\n /**\n * @description override default xhr behavior, allowing you to implement your own upload-file's request\n */\n httpRequest: {\n type: definePropType<UploadRequestHandler>(Function),\n default: ajaxUpload,\n },\n /**\n * @description whether to disable upload\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description maximum number of uploads allowed\n */\n limit: Number,\n /**\n * @description whether to support uploading directory\n */\n directory: Boolean,\n} as const)\n\nexport const uploadProps = buildProps({\n ...uploadBaseProps,\n /**\n * @description hook function before uploading with the file to be uploaded as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, uploading will be aborted\n */\n beforeUpload: {\n type: definePropType<UploadHooks['beforeUpload']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function before removing a file with the file and file list as its parameters. If `false` is returned or a `Promise` is returned and then is rejected, removing will be aborted\n */\n beforeRemove: {\n type: definePropType<UploadHooks['beforeRemove']>(Function),\n },\n /**\n * @description hook function when files are removed\n */\n onRemove: {\n type: definePropType<UploadHooks['onRemove']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when select file or upload file success or upload file fail\n */\n onChange: {\n type: definePropType<UploadHooks['onChange']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when clicking the uploaded files\n */\n onPreview: {\n type: definePropType<UploadHooks['onPreview']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when uploaded successfully\n */\n onSuccess: {\n type: definePropType<UploadHooks['onSuccess']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when some progress occurs\n */\n onProgress: {\n type: definePropType<UploadHooks['onProgress']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when some errors occurs\n */\n onError: {\n type: definePropType<UploadHooks['onError']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when limit is exceeded\n */\n onExceed: {\n type: definePropType<UploadHooks['onExceed']>(Function),\n default: NOOP,\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 UploadProps = ExtractPropTypes<typeof uploadProps>\nexport type UploadPropsPublic = ExtractPublicPropTypes<typeof uploadProps>\n\nexport type UploadInstance = InstanceType<typeof Upload> & unknown\n"],"names":[],"mappings":"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"}
@@ -136,6 +136,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
136
136
  })[], unknown, unknown, import("./upload").UploadRequestHandler, boolean>;
137
137
  readonly disabled: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
138
138
  readonly limit: NumberConstructor;
139
+ readonly directory: BooleanConstructor;
139
140
  }, {
140
141
  /** @description cancel upload request */
141
142
  abort: (file: import("./upload").UploadFile) => void;
@@ -261,6 +262,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
261
262
  })[], unknown, unknown, import("./upload").UploadRequestHandler, boolean>;
262
263
  readonly disabled: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
263
264
  readonly limit: NumberConstructor;
265
+ readonly directory: BooleanConstructor;
264
266
  }>>, {
265
267
  readonly data: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => import("@element-plus/nightly/es/utils").Mutable<Record<string, any>> | Promise<import("@element-plus/nightly/es/utils").Mutable<Record<string, any>>> | ((rawFile: import("./upload").UploadRawFile) => import("@element-plus/nightly/es/utils").Awaitable<import("./upload").UploadData>)) | (() => import("@element-plus/nightly/es/utils").Awaitable<import("@element-plus/nightly/es/utils").Mutable<Record<string, any>>> | ((rawFile: import("./upload").UploadRawFile) => import("@element-plus/nightly/es/utils").Awaitable<import("./upload").UploadData>)) | ((new (...args: any[]) => import("@element-plus/nightly/es/utils").Mutable<Record<string, any>> | Promise<import("@element-plus/nightly/es/utils").Mutable<Record<string, any>>> | ((rawFile: import("./upload").UploadRawFile) => import("@element-plus/nightly/es/utils").Awaitable<import("./upload").UploadData>)) | (() => import("@element-plus/nightly/es/utils").Awaitable<import("@element-plus/nightly/es/utils").Mutable<Record<string, any>>> | ((rawFile: import("./upload").UploadRawFile) => import("@element-plus/nightly/es/utils").Awaitable<import("./upload").UploadData>)))[], unknown, unknown>;
266
268
  readonly disabled: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -279,6 +281,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
279
281
  readonly autoUpload: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
280
282
  readonly listType: import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "picture" | "text" | "picture-card", unknown>;
281
283
  readonly httpRequest: import("./upload").UploadRequestHandler;
284
+ readonly directory: boolean;
282
285
  readonly beforeUpload: (rawFile: import("./upload").UploadRawFile) => import("@element-plus/nightly/es/utils").Awaitable<void | undefined | null | boolean | File | Blob>;
283
286
  readonly onRemove: (uploadFile: import("./upload").UploadFile, uploadFiles: import("./upload").UploadFiles) => void;
284
287
  readonly onPreview: (uploadFile: import("./upload").UploadFile) => void;