@element-plus/nightly 0.0.20260104 → 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 (525) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +169 -23
  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 +167 -24
  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/avatar/index.d.ts +8 -2
  285. package/es/components/avatar/index.mjs +9 -3
  286. package/es/components/avatar/index.mjs.map +1 -1
  287. package/es/components/avatar/src/avatar-group-props.d.ts +138 -0
  288. package/es/components/avatar/src/avatar-group-props.mjs +33 -0
  289. package/es/components/avatar/src/avatar-group-props.mjs.map +1 -0
  290. package/es/components/avatar/src/avatar-group.d.ts +274 -0
  291. package/es/components/avatar/src/avatar-group.mjs +61 -0
  292. package/es/components/avatar/src/avatar-group.mjs.map +1 -0
  293. package/es/components/avatar/src/avatar.d.ts +12 -2
  294. package/es/components/avatar/src/avatar.mjs +1 -3
  295. package/es/components/avatar/src/avatar.mjs.map +1 -1
  296. package/es/components/avatar/src/avatar.vue.d.ts +24 -6
  297. package/es/components/avatar/src/avatar2.mjs +20 -9
  298. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  299. package/es/components/avatar/src/constants.d.ts +7 -0
  300. package/es/components/avatar/src/constants.mjs +6 -0
  301. package/es/components/avatar/src/constants.mjs.map +1 -0
  302. package/es/components/avatar/src/instance.d.ts +2 -0
  303. package/es/components/avatar-group/style/css.d.ts +3 -0
  304. package/es/components/avatar-group/style/css.mjs +4 -0
  305. package/es/components/avatar-group/style/css.mjs.map +1 -0
  306. package/es/components/avatar-group/style/index.d.ts +3 -0
  307. package/es/components/avatar-group/style/index.mjs +4 -0
  308. package/es/components/avatar-group/style/index.mjs.map +1 -0
  309. package/es/components/breadcrumb/index.mjs +2 -2
  310. package/es/components/breadcrumb/src/breadcrumb.mjs +9 -37
  311. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  312. package/es/components/breadcrumb/src/breadcrumb2.mjs +37 -9
  313. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  314. package/es/components/calendar/index.mjs +2 -2
  315. package/es/components/calendar/src/calendar.mjs +23 -196
  316. package/es/components/calendar/src/calendar.mjs.map +1 -1
  317. package/es/components/calendar/src/calendar2.mjs +196 -23
  318. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  319. package/es/components/carousel/index.mjs +2 -2
  320. package/es/components/carousel/src/carousel-item.mjs +7 -79
  321. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  322. package/es/components/carousel/src/carousel-item2.mjs +79 -7
  323. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  324. package/es/components/cascader/index.mjs +2 -2
  325. package/es/components/cascader/src/cascader.mjs +103 -843
  326. package/es/components/cascader/src/cascader.mjs.map +1 -1
  327. package/es/components/cascader/src/cascader2.mjs +843 -103
  328. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  329. package/es/components/collapse/index.mjs +4 -4
  330. package/es/components/collapse/src/collapse-item.mjs +17 -118
  331. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  332. package/es/components/collapse/src/collapse-item2.mjs +118 -17
  333. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  334. package/es/components/collapse/src/collapse.mjs +24 -33
  335. package/es/components/collapse/src/collapse.mjs.map +1 -1
  336. package/es/components/collapse/src/collapse2.mjs +33 -24
  337. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  338. package/es/components/drawer/index.mjs +2 -2
  339. package/es/components/drawer/src/drawer.mjs +225 -31
  340. package/es/components/drawer/src/drawer.mjs.map +1 -1
  341. package/es/components/drawer/src/drawer2.mjs +31 -225
  342. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  343. package/es/components/image-viewer/index.mjs +2 -2
  344. package/es/components/image-viewer/src/image-viewer.mjs +50 -557
  345. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  346. package/es/components/image-viewer/src/image-viewer2.mjs +557 -50
  347. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  348. package/es/components/index.mjs +18 -16
  349. package/es/components/index.mjs.map +1 -1
  350. package/es/components/mention/index.mjs +2 -2
  351. package/es/components/mention/src/mention.mjs +74 -326
  352. package/es/components/mention/src/mention.mjs.map +1 -1
  353. package/es/components/mention/src/mention2.mjs +326 -74
  354. package/es/components/mention/src/mention2.mjs.map +1 -1
  355. package/es/components/menu/index.mjs +2 -2
  356. package/es/components/menu/src/menu-item-group.mjs +4 -51
  357. package/es/components/menu/src/menu-item-group.mjs.map +1 -1
  358. package/es/components/menu/src/menu-item-group2.mjs +51 -4
  359. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  360. package/es/components/segmented/index.mjs +2 -2
  361. package/es/components/segmented/src/segmented.mjs +44 -209
  362. package/es/components/segmented/src/segmented.mjs.map +1 -1
  363. package/es/components/segmented/src/segmented2.mjs +209 -44
  364. package/es/components/segmented/src/segmented2.mjs.map +1 -1
  365. package/es/components/splitter/index.mjs +2 -2
  366. package/es/components/splitter/src/splitter.mjs +114 -14
  367. package/es/components/splitter/src/splitter.mjs.map +1 -1
  368. package/es/components/splitter/src/splitter2.mjs +14 -114
  369. package/es/components/splitter/src/splitter2.mjs.map +1 -1
  370. package/es/components/text/index.mjs +2 -2
  371. package/es/components/text/src/text.mjs +20 -66
  372. package/es/components/text/src/text.mjs.map +1 -1
  373. package/es/components/text/src/text2.mjs +66 -20
  374. package/es/components/text/src/text2.mjs.map +1 -1
  375. package/es/components/upload/index.mjs +1 -1
  376. package/es/components/upload/src/upload-content.d.ts +1 -0
  377. package/es/components/upload/src/upload-content.vue.d.ts +3 -0
  378. package/es/components/upload/src/upload-content2.mjs +5 -3
  379. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  380. package/es/components/upload/src/upload-dragger.d.ts +1 -0
  381. package/es/components/upload/src/upload-dragger.mjs +11 -69
  382. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  383. package/es/components/upload/src/upload-dragger.vue.d.ts +3 -0
  384. package/es/components/upload/src/upload-dragger2.mjs +116 -10
  385. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  386. package/es/components/upload/src/upload.d.ts +2 -0
  387. package/es/components/upload/src/upload.mjs +2 -1
  388. package/es/components/upload/src/upload.mjs.map +1 -1
  389. package/es/components/upload/src/upload.vue.d.ts +3 -0
  390. package/es/components/virtual-list/src/hooks/use-grid-wheel.mjs +4 -4
  391. package/es/components/virtual-list/src/hooks/use-grid-wheel.mjs.map +1 -1
  392. package/es/index.mjs +18 -16
  393. package/es/index.mjs.map +1 -1
  394. package/es/version.d.ts +1 -1
  395. package/es/version.mjs +1 -1
  396. package/es/version.mjs.map +1 -1
  397. package/global.d.ts +1 -0
  398. package/lib/component.js +1 -0
  399. package/lib/component.js.map +1 -1
  400. package/lib/components/alert/index.js +2 -2
  401. package/lib/components/alert/src/alert.js +134 -40
  402. package/lib/components/alert/src/alert.js.map +1 -1
  403. package/lib/components/alert/src/alert2.js +40 -134
  404. package/lib/components/alert/src/alert2.js.map +1 -1
  405. package/lib/components/avatar/index.d.ts +8 -2
  406. package/lib/components/avatar/index.js +10 -1
  407. package/lib/components/avatar/index.js.map +1 -1
  408. package/lib/components/avatar/src/avatar-group-props.d.ts +138 -0
  409. package/lib/components/avatar/src/avatar-group-props.js +37 -0
  410. package/lib/components/avatar/src/avatar-group-props.js.map +1 -0
  411. package/lib/components/avatar/src/avatar-group.d.ts +274 -0
  412. package/lib/components/avatar/src/avatar-group.js +65 -0
  413. package/lib/components/avatar/src/avatar-group.js.map +1 -0
  414. package/lib/components/avatar/src/avatar.d.ts +12 -2
  415. package/lib/components/avatar/src/avatar.js +1 -3
  416. package/lib/components/avatar/src/avatar.js.map +1 -1
  417. package/lib/components/avatar/src/avatar.vue.d.ts +24 -6
  418. package/lib/components/avatar/src/avatar2.js +19 -8
  419. package/lib/components/avatar/src/avatar2.js.map +1 -1
  420. package/lib/components/avatar/src/constants.d.ts +7 -0
  421. package/lib/components/avatar/src/constants.js +10 -0
  422. package/lib/components/avatar/src/constants.js.map +1 -0
  423. package/lib/components/avatar/src/instance.d.ts +2 -0
  424. package/lib/components/avatar-group/style/css.d.ts +3 -0
  425. package/lib/components/avatar-group/style/css.js +7 -0
  426. package/lib/components/avatar-group/style/css.js.map +1 -0
  427. package/lib/components/avatar-group/style/index.d.ts +3 -0
  428. package/lib/components/avatar-group/style/index.js +7 -0
  429. package/lib/components/avatar-group/style/index.js.map +1 -0
  430. package/lib/components/breadcrumb/index.js +2 -2
  431. package/lib/components/breadcrumb/src/breadcrumb.js +9 -37
  432. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  433. package/lib/components/breadcrumb/src/breadcrumb2.js +37 -9
  434. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  435. package/lib/components/calendar/index.js +2 -2
  436. package/lib/components/calendar/src/calendar.js +24 -196
  437. package/lib/components/calendar/src/calendar.js.map +1 -1
  438. package/lib/components/calendar/src/calendar2.js +196 -24
  439. package/lib/components/calendar/src/calendar2.js.map +1 -1
  440. package/lib/components/carousel/index.js +2 -2
  441. package/lib/components/carousel/src/carousel-item.js +7 -79
  442. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  443. package/lib/components/carousel/src/carousel-item2.js +79 -7
  444. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  445. package/lib/components/cascader/index.js +2 -2
  446. package/lib/components/cascader/src/cascader.js +103 -842
  447. package/lib/components/cascader/src/cascader.js.map +1 -1
  448. package/lib/components/cascader/src/cascader2.js +842 -103
  449. package/lib/components/cascader/src/cascader2.js.map +1 -1
  450. package/lib/components/collapse/index.js +4 -4
  451. package/lib/components/collapse/src/collapse-item.js +17 -118
  452. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  453. package/lib/components/collapse/src/collapse-item2.js +118 -17
  454. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  455. package/lib/components/collapse/src/collapse.js +26 -33
  456. package/lib/components/collapse/src/collapse.js.map +1 -1
  457. package/lib/components/collapse/src/collapse2.js +33 -26
  458. package/lib/components/collapse/src/collapse2.js.map +1 -1
  459. package/lib/components/drawer/index.js +2 -2
  460. package/lib/components/drawer/src/drawer.js +225 -32
  461. package/lib/components/drawer/src/drawer.js.map +1 -1
  462. package/lib/components/drawer/src/drawer2.js +32 -225
  463. package/lib/components/drawer/src/drawer2.js.map +1 -1
  464. package/lib/components/image-viewer/index.js +2 -2
  465. package/lib/components/image-viewer/src/image-viewer.js +51 -557
  466. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  467. package/lib/components/image-viewer/src/image-viewer2.js +557 -51
  468. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  469. package/lib/components/index.js +73 -68
  470. package/lib/components/index.js.map +1 -1
  471. package/lib/components/mention/index.js +2 -2
  472. package/lib/components/mention/src/mention.js +74 -324
  473. package/lib/components/mention/src/mention.js.map +1 -1
  474. package/lib/components/mention/src/mention2.js +324 -74
  475. package/lib/components/mention/src/mention2.js.map +1 -1
  476. package/lib/components/menu/index.js +2 -2
  477. package/lib/components/menu/src/menu-item-group.js +4 -51
  478. package/lib/components/menu/src/menu-item-group.js.map +1 -1
  479. package/lib/components/menu/src/menu-item-group2.js +51 -4
  480. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  481. package/lib/components/segmented/index.js +2 -2
  482. package/lib/components/segmented/src/segmented.js +45 -208
  483. package/lib/components/segmented/src/segmented.js.map +1 -1
  484. package/lib/components/segmented/src/segmented2.js +208 -45
  485. package/lib/components/segmented/src/segmented2.js.map +1 -1
  486. package/lib/components/splitter/index.js +2 -2
  487. package/lib/components/splitter/src/splitter.js +114 -15
  488. package/lib/components/splitter/src/splitter.js.map +1 -1
  489. package/lib/components/splitter/src/splitter2.js +15 -114
  490. package/lib/components/splitter/src/splitter2.js.map +1 -1
  491. package/lib/components/text/index.js +2 -2
  492. package/lib/components/text/src/text.js +20 -66
  493. package/lib/components/text/src/text.js.map +1 -1
  494. package/lib/components/text/src/text2.js +66 -20
  495. package/lib/components/text/src/text2.js.map +1 -1
  496. package/lib/components/upload/index.js +1 -1
  497. package/lib/components/upload/src/upload-content.d.ts +1 -0
  498. package/lib/components/upload/src/upload-content.vue.d.ts +3 -0
  499. package/lib/components/upload/src/upload-content2.js +5 -3
  500. package/lib/components/upload/src/upload-content2.js.map +1 -1
  501. package/lib/components/upload/src/upload-dragger.d.ts +1 -0
  502. package/lib/components/upload/src/upload-dragger.js +12 -69
  503. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  504. package/lib/components/upload/src/upload-dragger.vue.d.ts +3 -0
  505. package/lib/components/upload/src/upload-dragger2.js +116 -11
  506. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  507. package/lib/components/upload/src/upload.d.ts +2 -0
  508. package/lib/components/upload/src/upload.js +2 -1
  509. package/lib/components/upload/src/upload.js.map +1 -1
  510. package/lib/components/upload/src/upload.vue.d.ts +3 -0
  511. package/lib/components/virtual-list/src/hooks/use-grid-wheel.js +4 -4
  512. package/lib/components/virtual-list/src/hooks/use-grid-wheel.js.map +1 -1
  513. package/lib/index.js +73 -68
  514. package/lib/index.js.map +1 -1
  515. package/lib/version.d.ts +1 -1
  516. package/lib/version.js +1 -1
  517. package/lib/version.js.map +1 -1
  518. package/package.json +2 -2
  519. package/tags.json +1 -1
  520. package/theme-chalk/el-avatar-group.css +1 -0
  521. package/theme-chalk/index.css +1 -1
  522. package/theme-chalk/src/avatar-group.scss +25 -0
  523. package/theme-chalk/src/common/var.scss +9 -0
  524. package/theme-chalk/src/index.scss +1 -0
  525. package/web-types.json +1 -1
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var lodashUnified = require('lodash-unified');
7
- var uploadDragger = require('./upload-dragger.js');
7
+ var uploadDragger = require('./upload-dragger2.js');
8
8
  var uploadContent = require('./upload-content.js');
9
9
  var upload = require('./upload.js');
10
10
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.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>;
@@ -2,77 +2,20 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var error = require('../../../utils/error.js');
7
- var constants = require('./constants.js');
8
- var uploadDragger = require('./upload-dragger2.js');
9
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
- var index = require('../../../hooks/use-namespace/index.js');
11
- var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
5
+ var runtime = require('../../../utils/vue/props/runtime.js');
6
+ var shared = require('@vue/shared');
12
7
 
13
- const COMPONENT_NAME = "ElUploadDrag";
14
- const _sfc_main = vue.defineComponent({
15
- ...{
16
- name: COMPONENT_NAME
8
+ const uploadDraggerProps = runtime.buildProps({
9
+ disabled: {
10
+ type: Boolean,
11
+ default: void 0
17
12
  },
18
- __name: "upload-dragger",
19
- props: uploadDragger.uploadDraggerProps,
20
- emits: uploadDragger.uploadDraggerEmits,
21
- setup(__props, { emit: __emit }) {
22
- const emit = __emit;
23
- const uploaderContext = vue.inject(constants.uploadContextKey);
24
- if (!uploaderContext) {
25
- error.throwError(
26
- COMPONENT_NAME,
27
- "usage: <el-upload><el-upload-dragger /></el-upload>"
28
- );
29
- }
30
- const ns = index.useNamespace("upload");
31
- const dragover = vue.ref(false);
32
- const disabled = useFormCommonProps.useFormDisabled();
33
- const onDrop = (e) => {
34
- if (disabled.value)
35
- return;
36
- dragover.value = false;
37
- e.stopPropagation();
38
- const files = Array.from(e.dataTransfer.files);
39
- const items = e.dataTransfer.items || [];
40
- files.forEach((file, index) => {
41
- var _a;
42
- const item = items[index];
43
- const entry = (_a = item == null ? void 0 : item.webkitGetAsEntry) == null ? void 0 : _a.call(item);
44
- if (entry) {
45
- file.isDirectory = entry.isDirectory;
46
- }
47
- });
48
- emit("file", files);
49
- };
50
- const onDragover = () => {
51
- if (!disabled.value)
52
- dragover.value = true;
53
- };
54
- const onDragleave = (e) => {
55
- if (!e.currentTarget.contains(e.relatedTarget))
56
- dragover.value = false;
57
- };
58
- return (_ctx, _cache) => {
59
- return vue.openBlock(), vue.createElementBlock(
60
- "div",
61
- {
62
- class: vue.normalizeClass([vue.unref(ns).b("dragger"), vue.unref(ns).is("dragover", dragover.value)]),
63
- onDrop: vue.withModifiers(onDrop, ["prevent"]),
64
- onDragover: vue.withModifiers(onDragover, ["prevent"]),
65
- onDragleave: vue.withModifiers(onDragleave, ["prevent"])
66
- },
67
- [
68
- vue.renderSlot(_ctx.$slots, "default")
69
- ],
70
- 34
71
- );
72
- };
73
- }
13
+ directory: Boolean
74
14
  });
75
- var UploadDragger = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-dragger.vue"]]);
15
+ const uploadDraggerEmits = {
16
+ file: (file) => shared.isArray(file)
17
+ };
76
18
 
77
- exports["default"] = UploadDragger;
19
+ exports.uploadDraggerEmits = uploadDraggerEmits;
20
+ exports.uploadDraggerProps = uploadDraggerProps;
78
21
  //# sourceMappingURL=upload-dragger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload-dragger.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-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;
@@ -2,19 +2,124 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
6
- var shared = require('@vue/shared');
5
+ var vue = require('vue');
6
+ var error = require('../../../utils/error.js');
7
+ var lodashUnified = require('lodash-unified');
8
+ var constants = require('./constants.js');
9
+ var uploadDragger = require('./upload-dragger.js');
10
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
11
+ var index = require('../../../hooks/use-namespace/index.js');
12
+ var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
7
13
 
8
- const uploadDraggerProps = runtime.buildProps({
9
- disabled: {
10
- type: Boolean,
11
- default: void 0
14
+ const COMPONENT_NAME = "ElUploadDrag";
15
+ const _sfc_main = vue.defineComponent({
16
+ ...{
17
+ name: COMPONENT_NAME
18
+ },
19
+ __name: "upload-dragger",
20
+ props: uploadDragger.uploadDraggerProps,
21
+ emits: uploadDragger.uploadDraggerEmits,
22
+ setup(__props, { emit: __emit }) {
23
+ const props = __props;
24
+ const emit = __emit;
25
+ const uploaderContext = vue.inject(constants.uploadContextKey);
26
+ if (!uploaderContext) {
27
+ error.throwError(
28
+ COMPONENT_NAME,
29
+ "usage: <el-upload><el-upload-dragger /></el-upload>"
30
+ );
31
+ }
32
+ const ns = index.useNamespace("upload");
33
+ const dragover = vue.ref(false);
34
+ const disabled = useFormCommonProps.useFormDisabled();
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) => {
72
+ if (disabled.value)
73
+ return;
74
+ dragover.value = false;
75
+ e.stopPropagation();
76
+ const files = Array.from(e.dataTransfer.files);
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
+ }
87
+ files.forEach((file, index) => {
88
+ var _a;
89
+ const item = items[index];
90
+ const entry = (_a = item == null ? void 0 : item.webkitGetAsEntry) == null ? void 0 : _a.call(item);
91
+ if (entry) {
92
+ file.isDirectory = entry.isDirectory;
93
+ }
94
+ });
95
+ emit("file", files);
96
+ };
97
+ const onDragover = () => {
98
+ if (!disabled.value)
99
+ dragover.value = true;
100
+ };
101
+ const onDragleave = (e) => {
102
+ if (!e.currentTarget.contains(e.relatedTarget))
103
+ dragover.value = false;
104
+ };
105
+ return (_ctx, _cache) => {
106
+ return vue.openBlock(), vue.createElementBlock(
107
+ "div",
108
+ {
109
+ class: vue.normalizeClass([vue.unref(ns).b("dragger"), vue.unref(ns).is("dragover", dragover.value)]),
110
+ onDrop: vue.withModifiers(onDrop, ["prevent"]),
111
+ onDragover: vue.withModifiers(onDragover, ["prevent"]),
112
+ onDragleave: vue.withModifiers(onDragleave, ["prevent"])
113
+ },
114
+ [
115
+ vue.renderSlot(_ctx.$slots, "default")
116
+ ],
117
+ 34
118
+ );
119
+ };
12
120
  }
13
121
  });
14
- const uploadDraggerEmits = {
15
- file: (file) => shared.isArray(file)
16
- };
122
+ var UploadDragger = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-dragger.vue"]]);
17
123
 
18
- exports.uploadDraggerEmits = uploadDraggerEmits;
19
- exports.uploadDraggerProps = uploadDraggerProps;
124
+ exports["default"] = UploadDragger;
20
125
  //# sourceMappingURL=upload-dragger2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload-dragger2.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-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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"}
@@ -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>;
@@ -62,7 +62,8 @@ const uploadBaseProps = runtime.buildProps({
62
62
  type: Boolean,
63
63
  default: void 0
64
64
  },
65
- limit: Number
65
+ limit: Number,
66
+ directory: Boolean
66
67
  });
67
68
  const uploadProps = runtime.buildProps({
68
69
  ...uploadBaseProps,
@@ -1 +1 @@
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} 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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"}
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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"}
@@ -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;
@@ -9,9 +9,9 @@ const useGridWheel = ({ atXEndEdge, atXStartEdge, atYEndEdge, atYStartEdge }, on
9
9
  let xOffset = 0;
10
10
  let yOffset = 0;
11
11
  const hasReachedEdge = (x, y) => {
12
- const xEdgeReached = x <= 0 && atXStartEdge.value || x >= 0 && atXEndEdge.value;
13
- const yEdgeReached = y <= 0 && atYStartEdge.value || y >= 0 && atYEndEdge.value;
14
- return xEdgeReached && yEdgeReached;
12
+ const xEdgeReached = x < 0 && atXStartEdge.value || x > 0 && atXEndEdge.value;
13
+ const yEdgeReached = y < 0 && atYStartEdge.value || y > 0 && atYEndEdge.value;
14
+ return xEdgeReached || yEdgeReached;
15
15
  };
16
16
  const onWheel = (e) => {
17
17
  raf.cAF(frameHandle);
@@ -26,7 +26,7 @@ const useGridWheel = ({ atXEndEdge, atXStartEdge, atYEndEdge, atYStartEdge }, on
26
26
  x = y;
27
27
  y = 0;
28
28
  }
29
- if (hasReachedEdge(xOffset, yOffset) && hasReachedEdge(xOffset + x, yOffset + y))
29
+ if (hasReachedEdge(x, y))
30
30
  return;
31
31
  xOffset += x;
32
32
  yOffset += y;
@@ -1 +1 @@
1
- {"version":3,"file":"use-grid-wheel.js","sources":["../../../../../../../packages/components/virtual-list/src/hooks/use-grid-wheel.ts"],"sourcesContent":["import { cAF, rAF } from '@element-plus/utils'\n\nimport type { ComputedRef } from 'vue'\n\ninterface GridWheelState {\n atXStartEdge: ComputedRef<boolean>\n atXEndEdge: ComputedRef<boolean>\n atYStartEdge: ComputedRef<boolean>\n atYEndEdge: ComputedRef<boolean>\n}\n\ntype GridWheelHandler = (x: number, y: number) => void\n\nexport const useGridWheel = (\n { atXEndEdge, atXStartEdge, atYEndEdge, atYStartEdge }: GridWheelState,\n onWheelDelta: GridWheelHandler\n) => {\n let frameHandle: number | null = null\n let xOffset = 0\n let yOffset = 0\n\n const hasReachedEdge = (x: number, y: number) => {\n const xEdgeReached =\n (x <= 0 && atXStartEdge.value) || (x >= 0 && atXEndEdge.value)\n const yEdgeReached =\n (y <= 0 && atYStartEdge.value) || (y >= 0 && atYEndEdge.value)\n return xEdgeReached && yEdgeReached\n }\n\n const onWheel = (e: WheelEvent) => {\n cAF(frameHandle!)\n\n let x = e.deltaX\n let y = e.deltaY\n // Simulate native behavior when using touch pad/track pad for wheeling.\n if (Math.abs(x) > Math.abs(y)) {\n y = 0\n } else {\n x = 0\n }\n\n // Special case for windows machine with shift key + wheel scrolling\n if (e.shiftKey && y !== 0) {\n x = y\n y = 0\n }\n\n if (\n hasReachedEdge(xOffset, yOffset) &&\n hasReachedEdge(xOffset + x, yOffset + y)\n )\n return\n\n xOffset += x\n yOffset += y\n\n e.preventDefault()\n\n frameHandle = rAF(() => {\n onWheelDelta(xOffset, yOffset)\n xOffset = 0\n yOffset = 0\n })\n }\n\n return {\n hasReachedEdge,\n onWheel,\n }\n}\n"],"names":["cAF","rAF"],"mappings":";;;;;;AAaa,MAAA,YAAA,GAAe,CAC1B,EAAE,UAAA,EAAY,cAAc,UAAY,EAAA,YAAA,IACxC,YACG,KAAA;AACH,EAAA,IAAI,WAA6B,GAAA,IAAA,CAAA;AACjC,EAAA,IAAI,OAAU,GAAA,CAAA,CAAA;AACd,EAAA,IAAI,OAAU,GAAA,CAAA,CAAA;AAEd,EAAM,MAAA,cAAA,GAAiB,CAAC,CAAA,EAAW,CAAc,KAAA;AAC/C,IAAA,MAAM,eACH,CAAK,IAAA,CAAA,IAAK,aAAa,KAAW,IAAA,CAAA,IAAK,KAAK,UAAW,CAAA,KAAA,CAAA;AAC1D,IAAA,MAAM,eACH,CAAK,IAAA,CAAA,IAAK,aAAa,KAAW,IAAA,CAAA,IAAK,KAAK,UAAW,CAAA,KAAA,CAAA;AAC1D,IAAA,OAAO,YAAgB,IAAA,YAAA,CAAA;AAAA,GACzB,CAAA;AAEA,EAAM,MAAA,OAAA,GAAU,CAAC,CAAkB,KAAA;AACjC,IAAAA,OAAA,CAAI,WAAY,CAAA,CAAA;AAEhB,IAAA,IAAI,IAAI,CAAE,CAAA,MAAA,CAAA;AACV,IAAA,IAAI,IAAI,CAAE,CAAA,MAAA,CAAA;AAEV,IAAA,IAAI,KAAK,GAAI,CAAA,CAAC,IAAI,IAAK,CAAA,GAAA,CAAI,CAAC,CAAG,EAAA;AAC7B,MAAI,CAAA,GAAA,CAAA,CAAA;AAAA,KACC,MAAA;AACL,MAAI,CAAA,GAAA,CAAA,CAAA;AAAA,KACN;AAGA,IAAI,IAAA,CAAA,CAAE,QAAY,IAAA,CAAA,KAAM,CAAG,EAAA;AACzB,MAAI,CAAA,GAAA,CAAA,CAAA;AACJ,MAAI,CAAA,GAAA,CAAA,CAAA;AAAA,KACN;AAEA,IACE,IAAA,cAAA,CAAe,SAAS,OAAO,CAAA,IAC/B,eAAe,OAAU,GAAA,CAAA,EAAG,UAAU,CAAC,CAAA;AAEvC,MAAA,OAAA;AAEF,IAAW,OAAA,IAAA,CAAA,CAAA;AACX,IAAW,OAAA,IAAA,CAAA,CAAA;AAEX,IAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AAEjB,IAAA,WAAA,GAAcC,QAAI,MAAM;AACtB,MAAA,YAAA,CAAa,SAAS,OAAO,CAAA,CAAA;AAC7B,MAAU,OAAA,GAAA,CAAA,CAAA;AACV,MAAU,OAAA,GAAA,CAAA,CAAA;AAAA,KACX,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,cAAA;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"use-grid-wheel.js","sources":["../../../../../../../packages/components/virtual-list/src/hooks/use-grid-wheel.ts"],"sourcesContent":["import { cAF, rAF } from '@element-plus/utils'\n\nimport type { ComputedRef } from 'vue'\n\ninterface GridWheelState {\n atXStartEdge: ComputedRef<boolean>\n atXEndEdge: ComputedRef<boolean>\n atYStartEdge: ComputedRef<boolean>\n atYEndEdge: ComputedRef<boolean>\n}\n\ntype GridWheelHandler = (x: number, y: number) => void\n\nexport const useGridWheel = (\n { atXEndEdge, atXStartEdge, atYEndEdge, atYStartEdge }: GridWheelState,\n onWheelDelta: GridWheelHandler\n) => {\n let frameHandle: number | null = null\n let xOffset = 0\n let yOffset = 0\n\n const hasReachedEdge = (x: number, y: number) => {\n const xEdgeReached =\n (x < 0 && atXStartEdge.value) || (x > 0 && atXEndEdge.value)\n const yEdgeReached =\n (y < 0 && atYStartEdge.value) || (y > 0 && atYEndEdge.value)\n return xEdgeReached || yEdgeReached\n }\n\n const onWheel = (e: WheelEvent) => {\n cAF(frameHandle!)\n\n let x = e.deltaX\n let y = e.deltaY\n // Simulate native behavior when using touch pad/track pad for wheeling.\n if (Math.abs(x) > Math.abs(y)) {\n y = 0\n } else {\n x = 0\n }\n\n // Special case for windows machine with shift key + wheel scrolling\n if (e.shiftKey && y !== 0) {\n x = y\n y = 0\n }\n\n if (hasReachedEdge(x, y)) return\n\n xOffset += x\n yOffset += y\n\n e.preventDefault()\n\n frameHandle = rAF(() => {\n onWheelDelta(xOffset, yOffset)\n xOffset = 0\n yOffset = 0\n })\n }\n\n return {\n hasReachedEdge,\n onWheel,\n }\n}\n"],"names":["cAF","rAF"],"mappings":";;;;;;AAaa,MAAA,YAAA,GAAe,CAC1B,EAAE,UAAA,EAAY,cAAc,UAAY,EAAA,YAAA,IACxC,YACG,KAAA;AACH,EAAA,IAAI,WAA6B,GAAA,IAAA,CAAA;AACjC,EAAA,IAAI,OAAU,GAAA,CAAA,CAAA;AACd,EAAA,IAAI,OAAU,GAAA,CAAA,CAAA;AAEd,EAAM,MAAA,cAAA,GAAiB,CAAC,CAAA,EAAW,CAAc,KAAA;AAC/C,IAAA,MAAM,eACH,CAAI,GAAA,CAAA,IAAK,aAAa,KAAW,IAAA,CAAA,GAAI,KAAK,UAAW,CAAA,KAAA,CAAA;AACxD,IAAA,MAAM,eACH,CAAI,GAAA,CAAA,IAAK,aAAa,KAAW,IAAA,CAAA,GAAI,KAAK,UAAW,CAAA,KAAA,CAAA;AACxD,IAAA,OAAO,YAAgB,IAAA,YAAA,CAAA;AAAA,GACzB,CAAA;AAEA,EAAM,MAAA,OAAA,GAAU,CAAC,CAAkB,KAAA;AACjC,IAAAA,OAAA,CAAI,WAAY,CAAA,CAAA;AAEhB,IAAA,IAAI,IAAI,CAAE,CAAA,MAAA,CAAA;AACV,IAAA,IAAI,IAAI,CAAE,CAAA,MAAA,CAAA;AAEV,IAAA,IAAI,KAAK,GAAI,CAAA,CAAC,IAAI,IAAK,CAAA,GAAA,CAAI,CAAC,CAAG,EAAA;AAC7B,MAAI,CAAA,GAAA,CAAA,CAAA;AAAA,KACC,MAAA;AACL,MAAI,CAAA,GAAA,CAAA,CAAA;AAAA,KACN;AAGA,IAAI,IAAA,CAAA,CAAE,QAAY,IAAA,CAAA,KAAM,CAAG,EAAA;AACzB,MAAI,CAAA,GAAA,CAAA,CAAA;AACJ,MAAI,CAAA,GAAA,CAAA,CAAA;AAAA,KACN;AAEA,IAAI,IAAA,cAAA,CAAe,GAAG,CAAC,CAAA;AAAG,MAAA,OAAA;AAE1B,IAAW,OAAA,IAAA,CAAA,CAAA;AACX,IAAW,OAAA,IAAA,CAAA,CAAA;AAEX,IAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AAEjB,IAAA,WAAA,GAAcC,QAAI,MAAM;AACtB,MAAA,YAAA,CAAa,SAAS,OAAO,CAAA,CAAA;AAC7B,MAAU,OAAA,GAAA,CAAA,CAAA;AACV,MAAU,OAAA,GAAA,CAAA,CAAA;AAAA,KACX,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,cAAA;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF;;;;"}