@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
@@ -6,7 +6,7 @@ var vue = require('vue');
6
6
  var lodashUnified = require('lodash-unified');
7
7
  var uploadDragger = require('./upload-dragger2.js');
8
8
  var uploadContent = require('./upload-content.js');
9
- var upload = require('./upload2.js');
9
+ var upload = require('./upload.js');
10
10
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
11
11
  var objects = require('../../../utils/objects.js');
12
12
  var index = require('../../../hooks/use-namespace/index.js');
@@ -14,7 +14,7 @@ var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js'
14
14
  var shared = require('@vue/shared');
15
15
 
16
16
  const _hoisted_1 = ["tabindex", "aria-disabled", "onKeydown"];
17
- const _hoisted_2 = ["name", "disabled", "multiple", "accept"];
17
+ const _hoisted_2 = ["name", "disabled", "multiple", "accept", "webkitdirectory"];
18
18
  const _sfc_main = vue.defineComponent({
19
19
  ...{
20
20
  name: "ElUploadContent",
@@ -186,13 +186,14 @@ const _sfc_main = vue.defineComponent({
186
186
  _ctx.drag ? (vue.openBlock(), vue.createBlock(uploadDragger["default"], {
187
187
  key: 0,
188
188
  disabled: vue.unref(disabled),
189
+ directory: _ctx.directory,
189
190
  onFile: uploadFiles
190
191
  }, {
191
192
  default: vue.withCtx(() => [
192
193
  vue.renderSlot(_ctx.$slots, "default")
193
194
  ]),
194
195
  _: 3
195
- }, 8, ["disabled"])) : vue.renderSlot(_ctx.$slots, "default", { key: 1 }),
196
+ }, 8, ["disabled", "directory"])) : vue.renderSlot(_ctx.$slots, "default", { key: 1 }),
196
197
  vue.createElementVNode("input", {
197
198
  ref_key: "inputRef",
198
199
  ref: inputRef,
@@ -201,6 +202,7 @@ const _sfc_main = vue.defineComponent({
201
202
  disabled: vue.unref(disabled),
202
203
  multiple: _ctx.multiple,
203
204
  accept: _ctx.accept,
205
+ webkitdirectory: _ctx.directory,
204
206
  type: "file",
205
207
  onChange: handleChange,
206
208
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"upload-content2.js","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":["useNamespace","useFormDisabled","shallowRef","genFileId","upload","isPlainObject","cloneDeep","isEqual","isFunction","entriesOf","_createElementBlock","_normalizeClass","_unref","listType","drag","_withKeys","_createBlock","UploadDragger","_renderSlot","_createElementVNode","name","multiple","accept","_withModifiers"],"mappings":"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"}
1
+ {"version":3,"file":"upload-content2.js","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":["useNamespace","useFormDisabled","shallowRef","genFileId","upload","isPlainObject","cloneDeep","isEqual","isFunction","entriesOf","_createElementBlock","_normalizeClass","_unref","listType","drag","_withKeys","_createBlock","UploadDragger","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>;
@@ -9,7 +9,8 @@ const uploadDraggerProps = runtime.buildProps({
9
9
  disabled: {
10
10
  type: Boolean,
11
11
  default: void 0
12
- }
12
+ },
13
+ directory: Boolean
13
14
  });
14
15
  const uploadDraggerEmits = {
15
16
  file: (file) => shared.isArray(file)
@@ -1 +1 @@
1
- {"version":3,"file":"upload-dragger.js","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":["buildProps","isArray"],"mappings":";;;;;;;AAKO,MAAM,qBAAqBA,kBAAW,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,KAAAC,cAAA,CAAQ,IAAI,CAAA;AACtC;;;;;"}
1
+ {"version":3,"file":"upload-dragger.js","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":["buildProps","isArray"],"mappings":";;;;;;;AAKO,MAAM,qBAAqBA,kBAAW,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,KAAAC,cAAA,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;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var error = require('../../../utils/error.js');
7
+ var lodashUnified = require('lodash-unified');
7
8
  var constants = require('./constants.js');
8
9
  var uploadDragger = require('./upload-dragger.js');
9
10
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
@@ -19,6 +20,7 @@ const _sfc_main = vue.defineComponent({
19
20
  props: uploadDragger.uploadDraggerProps,
20
21
  emits: uploadDragger.uploadDraggerEmits,
21
22
  setup(__props, { emit: __emit }) {
23
+ const props = __props;
22
24
  const emit = __emit;
23
25
  const uploaderContext = vue.inject(constants.uploadContextKey);
24
26
  if (!uploaderContext) {
@@ -30,13 +32,58 @@ const _sfc_main = vue.defineComponent({
30
32
  const ns = index.useNamespace("upload");
31
33
  const dragover = vue.ref(false);
32
34
  const disabled = useFormCommonProps.useFormDisabled();
33
- const onDrop = (e) => {
35
+ const getFile = (entry) => {
36
+ return new Promise((resolve, reject) => entry.file(resolve, reject));
37
+ };
38
+ const getAllFiles = async (entry) => {
39
+ try {
40
+ if (entry.isFile) {
41
+ const file = await getFile(
42
+ entry
43
+ );
44
+ file.isDirectory = false;
45
+ return [file];
46
+ }
47
+ if (entry.isDirectory) {
48
+ const dirReader = entry.createReader();
49
+ const getEntries = () => {
50
+ return new Promise(
51
+ (resolve, reject) => dirReader.readEntries(resolve, reject)
52
+ );
53
+ };
54
+ const entries = [];
55
+ let readEntries = await getEntries();
56
+ while (readEntries.length > 0) {
57
+ entries.push(...readEntries);
58
+ readEntries = await getEntries();
59
+ }
60
+ const filePromises = entries.map(
61
+ (entry2) => getAllFiles(entry2).catch(() => [])
62
+ );
63
+ const files = await Promise.all(filePromises);
64
+ return lodashUnified.flatten(files);
65
+ }
66
+ } catch (e) {
67
+ return [];
68
+ }
69
+ return [];
70
+ };
71
+ const onDrop = async (e) => {
34
72
  if (disabled.value)
35
73
  return;
36
74
  dragover.value = false;
37
75
  e.stopPropagation();
38
76
  const files = Array.from(e.dataTransfer.files);
39
77
  const items = e.dataTransfer.items || [];
78
+ if (props.directory) {
79
+ const entries = Array.from(items).map((item) => {
80
+ var _a;
81
+ return (_a = item == null ? void 0 : item.webkitGetAsEntry) == null ? void 0 : _a.call(item);
82
+ }).filter((entry) => entry);
83
+ const allFiles = await Promise.all(entries.map(getAllFiles));
84
+ emit("file", lodashUnified.flatten(allFiles));
85
+ return;
86
+ }
40
87
  files.forEach((file, index) => {
41
88
  var _a;
42
89
  const item = items[index];
@@ -1 +1 @@
1
- {"version":3,"file":"upload-dragger2.js","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":["inject","uploadContextKey","throwError","useNamespace","ref","useFormDisabled","_openBlock","_createElementBlock","_normalizeClass","_unref","_withModifiers","_renderSlot"],"mappings":";;;;;;;;;;;;AAqBA,MAAM,cAAiB,GAAA,cAAA,CAAA;;;;;;;;;AAOvB,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEP,IAAA,MAAA,eAAA,GAAkBA,WAAOC,0BAAgB,CAAA,CAAA;AAC/C,IAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,MAAAC,gBAAA;AAAA,QACE,cAAA;AAAA,QACA,qDAAA;AAAA,OACF,CAAA;AAAA,KACF;AAEM,IAAA,MAAA,EAAA,GAAKC,mBAAa,QAAQ,CAAA,CAAA;AAC1B,IAAA,MAAA,QAAA,GAAWC,QAAI,KAAK,CAAA,CAAA;AAC1B,IAAA,MAAM,WAAWC,kCAAgB,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,OAAAC,eAAA,EAAAC,sBAAA;AAAA,QAOM,KAAA;AAAA,QAAA;AAAA,UANH,OAAKC,oBAAGC,SAAG,CAAA,EAAA,EAAA,CAAC,CAAA,UAAa,EAAAA,SAAA,CAAG,EAAA,CAAA,CAAA,EAAA,CAAE,YAAa,QAAQ,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,UACnD,MAAI,EAAAC,iBAAA,CAAU,MAAM,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,UACpB,UAAQ,EAAAA,iBAAA,CAAU,UAAU,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,UAC5B,WAAS,EAAAA,iBAAA,CAAU,WAAW,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA;UAE/BC,cAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,SAAA;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"upload-dragger2.js","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":["inject","uploadContextKey","throwError","useNamespace","ref","useFormDisabled","entry","flatten","_openBlock","_createElementBlock","_normalizeClass","_unref","_withModifiers","_renderSlot"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var upload = require('./upload2.js');
5
+ var upload = require('./upload.js');
6
6
  var runtime = require('../../../utils/vue/props/runtime.js');
7
7
  var typescript = require('../../../utils/typescript.js');
8
8
  var shared = require('@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>;
@@ -2,146 +2,113 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var constants = require('./constants.js');
7
- var uploadList = require('./upload-list2.js');
8
- var uploadContent = require('./upload-content2.js');
9
- var useHandlers = require('./use-handlers.js');
10
- var upload = require('./upload2.js');
11
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
12
- var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
5
+ var ajax = require('./ajax.js');
6
+ var runtime = require('../../../utils/vue/props/runtime.js');
7
+ var shared = require('@vue/shared');
8
+ var typescript = require('../../../utils/typescript.js');
13
9
 
14
- const _sfc_main = vue.defineComponent({
15
- ...{
16
- name: "ElUpload"
17
- },
18
- __name: "upload",
19
- props: upload.uploadProps,
20
- setup(__props, { expose: __expose }) {
21
- const props = __props;
22
- const disabled = useFormCommonProps.useFormDisabled();
23
- const uploadRef = vue.shallowRef();
24
- const {
25
- abort,
26
- submit,
27
- clearFiles,
28
- uploadFiles,
29
- handleStart,
30
- handleError,
31
- handleRemove,
32
- handleSuccess,
33
- handleProgress,
34
- revokeFileObjectURL
35
- } = useHandlers.useHandlers(props, uploadRef);
36
- const isPictureCard = vue.computed(() => props.listType === "picture-card");
37
- const uploadContentProps = vue.computed(() => ({
38
- ...props,
39
- fileList: uploadFiles.value,
40
- onStart: handleStart,
41
- onProgress: handleProgress,
42
- onSuccess: handleSuccess,
43
- onError: handleError,
44
- onRemove: handleRemove
45
- }));
46
- vue.onBeforeUnmount(() => {
47
- uploadFiles.value.forEach(revokeFileObjectURL);
48
- });
49
- vue.provide(constants.uploadContextKey, {
50
- accept: vue.toRef(props, "accept")
51
- });
52
- __expose({
53
- abort,
54
- submit,
55
- clearFiles,
56
- handleStart,
57
- handleRemove
58
- });
59
- return (_ctx, _cache) => {
60
- return vue.openBlock(), vue.createElementBlock("div", null, [
61
- isPictureCard.value && _ctx.showFileList ? (vue.openBlock(), vue.createBlock(uploadList["default"], {
62
- key: 0,
63
- disabled: vue.unref(disabled),
64
- "list-type": _ctx.listType,
65
- files: vue.unref(uploadFiles),
66
- crossorigin: _ctx.crossorigin,
67
- "handle-preview": _ctx.onPreview,
68
- onRemove: vue.unref(handleRemove)
69
- }, vue.createSlots({
70
- append: vue.withCtx(() => [
71
- vue.createVNode(
72
- uploadContent["default"],
73
- vue.mergeProps({
74
- ref_key: "uploadRef",
75
- ref: uploadRef
76
- }, uploadContentProps.value),
77
- {
78
- default: vue.withCtx(() => [
79
- _ctx.$slots.trigger ? vue.renderSlot(_ctx.$slots, "trigger", { key: 0 }) : vue.createCommentVNode("v-if", true),
80
- !_ctx.$slots.trigger && _ctx.$slots.default ? vue.renderSlot(_ctx.$slots, "default", { key: 1 }) : vue.createCommentVNode("v-if", true)
81
- ]),
82
- _: 3
83
- },
84
- 16
85
- )
86
- ]),
87
- _: 2
88
- }, [
89
- _ctx.$slots.file ? {
90
- name: "default",
91
- fn: vue.withCtx(({ file, index }) => [
92
- vue.renderSlot(_ctx.$slots, "file", {
93
- file,
94
- index
95
- })
96
- ]),
97
- key: "0"
98
- } : void 0
99
- ]), 1032, ["disabled", "list-type", "files", "crossorigin", "handle-preview", "onRemove"])) : vue.createCommentVNode("v-if", true),
100
- !isPictureCard.value || isPictureCard.value && !_ctx.showFileList ? (vue.openBlock(), vue.createBlock(
101
- uploadContent["default"],
102
- vue.mergeProps({
103
- key: 1,
104
- ref_key: "uploadRef",
105
- ref: uploadRef
106
- }, uploadContentProps.value),
107
- {
108
- default: vue.withCtx(() => [
109
- _ctx.$slots.trigger ? vue.renderSlot(_ctx.$slots, "trigger", { key: 0 }) : vue.createCommentVNode("v-if", true),
110
- !_ctx.$slots.trigger && _ctx.$slots.default ? vue.renderSlot(_ctx.$slots, "default", { key: 1 }) : vue.createCommentVNode("v-if", true)
111
- ]),
112
- _: 3
113
- },
114
- 16
115
- )) : vue.createCommentVNode("v-if", true),
116
- _ctx.$slots.trigger ? vue.renderSlot(_ctx.$slots, "default", { key: 2 }) : vue.createCommentVNode("v-if", true),
117
- vue.renderSlot(_ctx.$slots, "tip"),
118
- !isPictureCard.value && _ctx.showFileList ? (vue.openBlock(), vue.createBlock(uploadList["default"], {
119
- key: 3,
120
- disabled: vue.unref(disabled),
121
- "list-type": _ctx.listType,
122
- files: vue.unref(uploadFiles),
123
- crossorigin: _ctx.crossorigin,
124
- "handle-preview": _ctx.onPreview,
125
- onRemove: vue.unref(handleRemove)
126
- }, vue.createSlots({
127
- _: 2
128
- }, [
129
- _ctx.$slots.file ? {
130
- name: "default",
131
- fn: vue.withCtx(({ file, index }) => [
132
- vue.renderSlot(_ctx.$slots, "file", {
133
- file,
134
- index
135
- })
136
- ]),
137
- key: "0"
138
- } : void 0
139
- ]), 1032, ["disabled", "list-type", "files", "crossorigin", "handle-preview", "onRemove"])) : vue.createCommentVNode("v-if", true)
140
- ]);
141
- };
10
+ const uploadListTypes = ["text", "picture", "picture-card"];
11
+ let fileId = 1;
12
+ const genFileId = () => Date.now() + fileId++;
13
+ const uploadBaseProps = runtime.buildProps({
14
+ action: {
15
+ type: String,
16
+ default: "#"
17
+ },
18
+ headers: {
19
+ type: runtime.definePropType(Object)
20
+ },
21
+ method: {
22
+ type: String,
23
+ default: "post"
24
+ },
25
+ data: {
26
+ type: runtime.definePropType([Object, Function, Promise]),
27
+ default: () => typescript.mutable({})
28
+ },
29
+ multiple: Boolean,
30
+ name: {
31
+ type: String,
32
+ default: "file"
33
+ },
34
+ drag: Boolean,
35
+ withCredentials: Boolean,
36
+ showFileList: {
37
+ type: Boolean,
38
+ default: true
39
+ },
40
+ accept: {
41
+ type: String,
42
+ default: ""
43
+ },
44
+ fileList: {
45
+ type: runtime.definePropType(Array),
46
+ default: () => typescript.mutable([])
47
+ },
48
+ autoUpload: {
49
+ type: Boolean,
50
+ default: true
51
+ },
52
+ listType: {
53
+ type: String,
54
+ values: uploadListTypes,
55
+ default: "text"
56
+ },
57
+ httpRequest: {
58
+ type: runtime.definePropType(Function),
59
+ default: ajax.ajaxUpload
60
+ },
61
+ disabled: {
62
+ type: Boolean,
63
+ default: void 0
64
+ },
65
+ limit: Number,
66
+ directory: Boolean
67
+ });
68
+ const uploadProps = runtime.buildProps({
69
+ ...uploadBaseProps,
70
+ beforeUpload: {
71
+ type: runtime.definePropType(Function),
72
+ default: shared.NOOP
73
+ },
74
+ beforeRemove: {
75
+ type: runtime.definePropType(Function)
76
+ },
77
+ onRemove: {
78
+ type: runtime.definePropType(Function),
79
+ default: shared.NOOP
80
+ },
81
+ onChange: {
82
+ type: runtime.definePropType(Function),
83
+ default: shared.NOOP
84
+ },
85
+ onPreview: {
86
+ type: runtime.definePropType(Function),
87
+ default: shared.NOOP
88
+ },
89
+ onSuccess: {
90
+ type: runtime.definePropType(Function),
91
+ default: shared.NOOP
92
+ },
93
+ onProgress: {
94
+ type: runtime.definePropType(Function),
95
+ default: shared.NOOP
96
+ },
97
+ onError: {
98
+ type: runtime.definePropType(Function),
99
+ default: shared.NOOP
100
+ },
101
+ onExceed: {
102
+ type: runtime.definePropType(Function),
103
+ default: shared.NOOP
104
+ },
105
+ crossorigin: {
106
+ type: runtime.definePropType(String)
142
107
  }
143
108
  });
144
- var Upload = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload.vue"]]);
145
109
 
146
- exports["default"] = Upload;
110
+ exports.genFileId = genFileId;
111
+ exports.uploadBaseProps = uploadBaseProps;
112
+ exports.uploadListTypes = uploadListTypes;
113
+ exports.uploadProps = uploadProps;
147
114
  //# sourceMappingURL=upload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload.js","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":["useFormDisabled","shallowRef","useHandlers","computed","onBeforeUnmount","provide","uploadContextKey","toRef","_createElementBlock","showFileList","_createBlock","UploadList","_unref","listType","crossorigin","onPreview","_createSlots","_withCtx","_createVNode","UploadContent","_mergeProps","$slots","_renderSlot","_createCommentVNode","_openBlock"],"mappings":"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"}
1
+ {"version":3,"file":"upload.js","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":["buildProps","definePropType","mutable","ajaxUpload","NOOP"],"mappings":"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"}