@element-plus/nightly 0.0.20260108 → 0.0.20260110

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 (563) hide show
  1. package/README.md +0 -5
  2. package/dist/index.full.js +15 -5
  3. package/dist/index.full.min.js +5 -5
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +5 -5
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +15 -5
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/anchor/index.mjs +2 -2
  277. package/es/components/anchor/src/anchor.mjs +237 -39
  278. package/es/components/anchor/src/anchor.mjs.map +1 -1
  279. package/es/components/anchor/src/anchor2.mjs +39 -237
  280. package/es/components/anchor/src/anchor2.mjs.map +1 -1
  281. package/es/components/avatar/src/avatar2.mjs +1 -1
  282. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  283. package/es/components/backtop/index.mjs +2 -2
  284. package/es/components/backtop/src/backtop.mjs +61 -20
  285. package/es/components/backtop/src/backtop.mjs.map +1 -1
  286. package/es/components/backtop/src/backtop2.mjs +20 -61
  287. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  288. package/es/components/badge/index.mjs +2 -2
  289. package/es/components/badge/src/badge.mjs +31 -83
  290. package/es/components/badge/src/badge.mjs.map +1 -1
  291. package/es/components/badge/src/badge2.mjs +83 -31
  292. package/es/components/badge/src/badge2.mjs.map +1 -1
  293. package/es/components/button/index.mjs +2 -2
  294. package/es/components/button/src/button-group.mjs +1 -1
  295. package/es/components/button/src/button.mjs +98 -67
  296. package/es/components/button/src/button.mjs.map +1 -1
  297. package/es/components/button/src/button2.mjs +67 -98
  298. package/es/components/button/src/button2.mjs.map +1 -1
  299. package/es/components/calendar/src/calendar2.mjs +1 -1
  300. package/es/components/calendar/src/date-table.mjs +132 -31
  301. package/es/components/calendar/src/date-table.mjs.map +1 -1
  302. package/es/components/calendar/src/date-table2.mjs +31 -132
  303. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  304. package/es/components/calendar/src/use-date-table.mjs +1 -1
  305. package/es/components/card/index.mjs +2 -2
  306. package/es/components/card/src/card.mjs +22 -73
  307. package/es/components/card/src/card.mjs.map +1 -1
  308. package/es/components/card/src/card2.mjs +73 -22
  309. package/es/components/card/src/card2.mjs.map +1 -1
  310. package/es/components/checkbox/index.mjs +2 -2
  311. package/es/components/checkbox/src/checkbox-button.mjs +1 -1
  312. package/es/components/checkbox/src/checkbox-group2.mjs +1 -1
  313. package/es/components/checkbox/src/checkbox.mjs +134 -62
  314. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  315. package/es/components/checkbox/src/checkbox2.mjs +62 -134
  316. package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
  317. package/es/components/col/index.mjs +2 -2
  318. package/es/components/col/src/col.mjs +42 -65
  319. package/es/components/col/src/col.mjs.map +1 -1
  320. package/es/components/col/src/col2.mjs +65 -42
  321. package/es/components/col/src/col2.mjs.map +1 -1
  322. package/es/components/collapse/index.mjs +2 -2
  323. package/es/components/collapse/src/collapse-item.mjs +17 -118
  324. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  325. package/es/components/collapse/src/collapse-item2.mjs +118 -17
  326. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  327. package/es/components/descriptions/index.mjs +2 -2
  328. package/es/components/descriptions/src/description.mjs +169 -24
  329. package/es/components/descriptions/src/description.mjs.map +1 -1
  330. package/es/components/descriptions/src/description2.mjs +24 -169
  331. package/es/components/descriptions/src/description2.mjs.map +1 -1
  332. package/es/components/descriptions/src/descriptions-row.mjs +94 -6
  333. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  334. package/es/components/descriptions/src/descriptions-row2.mjs +6 -94
  335. package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
  336. package/es/components/drawer/index.mjs +2 -2
  337. package/es/components/drawer/src/drawer.mjs +225 -31
  338. package/es/components/drawer/src/drawer.mjs.map +1 -1
  339. package/es/components/drawer/src/drawer2.mjs +31 -225
  340. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  341. package/es/components/index.mjs +19 -19
  342. package/es/components/notification/index.mjs +1 -1
  343. package/es/components/notification/src/notification.mjs +174 -72
  344. package/es/components/notification/src/notification.mjs.map +1 -1
  345. package/es/components/notification/src/notification2.mjs +72 -174
  346. package/es/components/notification/src/notification2.mjs.map +1 -1
  347. package/es/components/notification/src/notify.mjs +2 -2
  348. package/es/components/page-header/index.mjs +2 -2
  349. package/es/components/page-header/src/page-header.mjs +149 -15
  350. package/es/components/page-header/src/page-header.mjs.map +1 -1
  351. package/es/components/page-header/src/page-header2.mjs +15 -149
  352. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  353. package/es/components/pagination/src/components/total.mjs +6 -27
  354. package/es/components/pagination/src/components/total.mjs.map +1 -1
  355. package/es/components/pagination/src/components/total2.mjs +27 -6
  356. package/es/components/pagination/src/components/total2.mjs.map +1 -1
  357. package/es/components/pagination/src/pagination.mjs +1 -1
  358. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  359. package/es/components/scrollbar/index.mjs +1 -1
  360. package/es/components/scrollbar/src/bar.mjs +69 -10
  361. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  362. package/es/components/scrollbar/src/bar2.mjs +10 -69
  363. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  364. package/es/components/scrollbar/src/scrollbar2.mjs +1 -1
  365. package/es/components/scrollbar/src/thumb.mjs +163 -11
  366. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  367. package/es/components/scrollbar/src/thumb2.mjs +11 -163
  368. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  369. package/es/components/select/src/useSelect.mjs +1 -0
  370. package/es/components/select/src/useSelect.mjs.map +1 -1
  371. package/es/components/select-v2/src/useSelect.mjs +1 -0
  372. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  373. package/es/components/splitter/index.mjs +2 -2
  374. package/es/components/splitter/src/splitter.mjs +114 -14
  375. package/es/components/splitter/src/splitter.mjs.map +1 -1
  376. package/es/components/splitter/src/splitter2.mjs +14 -114
  377. package/es/components/splitter/src/splitter2.mjs.map +1 -1
  378. package/es/components/steps/index.mjs +2 -2
  379. package/es/components/steps/src/steps.mjs +49 -34
  380. package/es/components/steps/src/steps.mjs.map +1 -1
  381. package/es/components/steps/src/steps2.mjs +34 -49
  382. package/es/components/steps/src/steps2.mjs.map +1 -1
  383. package/es/components/table-v2/src/table-grid.mjs +10 -2
  384. package/es/components/table-v2/src/table-grid.mjs.map +1 -1
  385. package/es/components/time-select/index.mjs +2 -2
  386. package/es/components/time-select/src/time-select.mjs +138 -66
  387. package/es/components/time-select/src/time-select.mjs.map +1 -1
  388. package/es/components/time-select/src/time-select2.mjs +66 -138
  389. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  390. package/es/components/tour/index.mjs +2 -2
  391. package/es/components/tour/src/step.mjs +255 -43
  392. package/es/components/tour/src/step.mjs.map +1 -1
  393. package/es/components/tour/src/step2.mjs +43 -255
  394. package/es/components/tour/src/step2.mjs.map +1 -1
  395. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  396. package/es/components/transfer/src/transfer-panel.mjs +173 -20
  397. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  398. package/es/components/transfer/src/transfer-panel2.mjs +20 -173
  399. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  400. package/es/components/transfer/src/transfer2.mjs +1 -1
  401. package/es/components/upload/index.mjs +1 -1
  402. package/es/components/upload/src/upload-list.mjs +27 -206
  403. package/es/components/upload/src/upload-list.mjs.map +1 -1
  404. package/es/components/upload/src/upload-list2.mjs +206 -27
  405. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  406. package/es/components/upload/src/upload.vue.d.ts +1 -1
  407. package/es/components/upload/src/upload2.mjs +1 -1
  408. package/es/components/upload/src/use-handlers.d.ts +1 -1
  409. package/es/components/upload/src/use-handlers.mjs.map +1 -1
  410. package/es/components/watermark/index.mjs +2 -2
  411. package/es/components/watermark/src/watermark.mjs +247 -26
  412. package/es/components/watermark/src/watermark.mjs.map +1 -1
  413. package/es/components/watermark/src/watermark2.mjs +26 -247
  414. package/es/components/watermark/src/watermark2.mjs.map +1 -1
  415. package/es/index.mjs +19 -19
  416. package/es/version.d.ts +1 -1
  417. package/es/version.mjs +1 -1
  418. package/es/version.mjs.map +1 -1
  419. package/lib/components/anchor/index.js +2 -2
  420. package/lib/components/anchor/src/anchor.js +236 -39
  421. package/lib/components/anchor/src/anchor.js.map +1 -1
  422. package/lib/components/anchor/src/anchor2.js +39 -236
  423. package/lib/components/anchor/src/anchor2.js.map +1 -1
  424. package/lib/components/avatar/src/avatar2.js +1 -1
  425. package/lib/components/avatar/src/avatar2.js.map +1 -1
  426. package/lib/components/backtop/index.js +2 -2
  427. package/lib/components/backtop/src/backtop.js +61 -21
  428. package/lib/components/backtop/src/backtop.js.map +1 -1
  429. package/lib/components/backtop/src/backtop2.js +21 -61
  430. package/lib/components/backtop/src/backtop2.js.map +1 -1
  431. package/lib/components/badge/index.js +2 -2
  432. package/lib/components/badge/src/badge.js +31 -83
  433. package/lib/components/badge/src/badge.js.map +1 -1
  434. package/lib/components/badge/src/badge2.js +83 -31
  435. package/lib/components/badge/src/badge2.js.map +1 -1
  436. package/lib/components/button/index.js +2 -2
  437. package/lib/components/button/src/button-group.js +1 -1
  438. package/lib/components/button/src/button.js +98 -70
  439. package/lib/components/button/src/button.js.map +1 -1
  440. package/lib/components/button/src/button2.js +70 -98
  441. package/lib/components/button/src/button2.js.map +1 -1
  442. package/lib/components/calendar/src/calendar2.js +1 -1
  443. package/lib/components/calendar/src/date-table.js +132 -35
  444. package/lib/components/calendar/src/date-table.js.map +1 -1
  445. package/lib/components/calendar/src/date-table2.js +35 -132
  446. package/lib/components/calendar/src/date-table2.js.map +1 -1
  447. package/lib/components/calendar/src/use-date-table.js +1 -1
  448. package/lib/components/card/index.js +2 -2
  449. package/lib/components/card/src/card.js +23 -73
  450. package/lib/components/card/src/card.js.map +1 -1
  451. package/lib/components/card/src/card2.js +73 -23
  452. package/lib/components/card/src/card2.js.map +1 -1
  453. package/lib/components/checkbox/index.js +2 -2
  454. package/lib/components/checkbox/src/checkbox-button.js +1 -1
  455. package/lib/components/checkbox/src/checkbox-group2.js +1 -1
  456. package/lib/components/checkbox/src/checkbox.js +134 -63
  457. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  458. package/lib/components/checkbox/src/checkbox2.js +63 -134
  459. package/lib/components/checkbox/src/checkbox2.js.map +1 -1
  460. package/lib/components/col/index.js +2 -2
  461. package/lib/components/col/src/col.js +42 -65
  462. package/lib/components/col/src/col.js.map +1 -1
  463. package/lib/components/col/src/col2.js +65 -42
  464. package/lib/components/col/src/col2.js.map +1 -1
  465. package/lib/components/collapse/index.js +2 -2
  466. package/lib/components/collapse/src/collapse-item.js +17 -118
  467. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  468. package/lib/components/collapse/src/collapse-item2.js +118 -17
  469. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  470. package/lib/components/descriptions/index.js +2 -2
  471. package/lib/components/descriptions/src/description.js +169 -24
  472. package/lib/components/descriptions/src/description.js.map +1 -1
  473. package/lib/components/descriptions/src/description2.js +24 -169
  474. package/lib/components/descriptions/src/description2.js.map +1 -1
  475. package/lib/components/descriptions/src/descriptions-row.js +94 -6
  476. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  477. package/lib/components/descriptions/src/descriptions-row2.js +6 -94
  478. package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
  479. package/lib/components/drawer/index.js +2 -2
  480. package/lib/components/drawer/src/drawer.js +225 -32
  481. package/lib/components/drawer/src/drawer.js.map +1 -1
  482. package/lib/components/drawer/src/drawer2.js +32 -225
  483. package/lib/components/drawer/src/drawer2.js.map +1 -1
  484. package/lib/components/index.js +19 -19
  485. package/lib/components/notification/index.js +1 -1
  486. package/lib/components/notification/src/notification.js +173 -73
  487. package/lib/components/notification/src/notification.js.map +1 -1
  488. package/lib/components/notification/src/notification2.js +73 -173
  489. package/lib/components/notification/src/notification2.js.map +1 -1
  490. package/lib/components/notification/src/notify.js +2 -2
  491. package/lib/components/page-header/index.js +2 -2
  492. package/lib/components/page-header/src/page-header.js +149 -16
  493. package/lib/components/page-header/src/page-header.js.map +1 -1
  494. package/lib/components/page-header/src/page-header2.js +16 -149
  495. package/lib/components/page-header/src/page-header2.js.map +1 -1
  496. package/lib/components/pagination/src/components/total.js +6 -27
  497. package/lib/components/pagination/src/components/total.js.map +1 -1
  498. package/lib/components/pagination/src/components/total2.js +27 -6
  499. package/lib/components/pagination/src/components/total2.js.map +1 -1
  500. package/lib/components/pagination/src/pagination.js +1 -1
  501. package/lib/components/popconfirm/src/popconfirm.js +1 -1
  502. package/lib/components/scrollbar/index.js +1 -1
  503. package/lib/components/scrollbar/src/bar.js +69 -10
  504. package/lib/components/scrollbar/src/bar.js.map +1 -1
  505. package/lib/components/scrollbar/src/bar2.js +10 -69
  506. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  507. package/lib/components/scrollbar/src/scrollbar2.js +1 -1
  508. package/lib/components/scrollbar/src/thumb.js +163 -11
  509. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  510. package/lib/components/scrollbar/src/thumb2.js +11 -163
  511. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  512. package/lib/components/select/src/useSelect.js +1 -0
  513. package/lib/components/select/src/useSelect.js.map +1 -1
  514. package/lib/components/select-v2/src/useSelect.js +1 -0
  515. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  516. package/lib/components/splitter/index.js +2 -2
  517. package/lib/components/splitter/src/splitter.js +114 -15
  518. package/lib/components/splitter/src/splitter.js.map +1 -1
  519. package/lib/components/splitter/src/splitter2.js +15 -114
  520. package/lib/components/splitter/src/splitter2.js.map +1 -1
  521. package/lib/components/steps/index.js +2 -2
  522. package/lib/components/steps/src/steps.js +49 -35
  523. package/lib/components/steps/src/steps.js.map +1 -1
  524. package/lib/components/steps/src/steps2.js +35 -49
  525. package/lib/components/steps/src/steps2.js.map +1 -1
  526. package/lib/components/table-v2/src/table-grid.js +10 -2
  527. package/lib/components/table-v2/src/table-grid.js.map +1 -1
  528. package/lib/components/time-select/index.js +2 -2
  529. package/lib/components/time-select/src/time-select.js +143 -66
  530. package/lib/components/time-select/src/time-select.js.map +1 -1
  531. package/lib/components/time-select/src/time-select2.js +66 -143
  532. package/lib/components/time-select/src/time-select2.js.map +1 -1
  533. package/lib/components/tour/index.js +2 -2
  534. package/lib/components/tour/src/step.js +254 -43
  535. package/lib/components/tour/src/step.js.map +1 -1
  536. package/lib/components/tour/src/step2.js +43 -254
  537. package/lib/components/tour/src/step2.js.map +1 -1
  538. package/lib/components/transfer/src/composables/use-check.js +1 -1
  539. package/lib/components/transfer/src/transfer-panel.js +173 -22
  540. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  541. package/lib/components/transfer/src/transfer-panel2.js +22 -173
  542. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  543. package/lib/components/transfer/src/transfer2.js +1 -1
  544. package/lib/components/upload/index.js +1 -1
  545. package/lib/components/upload/src/upload-list.js +28 -206
  546. package/lib/components/upload/src/upload-list.js.map +1 -1
  547. package/lib/components/upload/src/upload-list2.js +206 -28
  548. package/lib/components/upload/src/upload-list2.js.map +1 -1
  549. package/lib/components/upload/src/upload.vue.d.ts +1 -1
  550. package/lib/components/upload/src/upload2.js +1 -1
  551. package/lib/components/upload/src/use-handlers.d.ts +1 -1
  552. package/lib/components/upload/src/use-handlers.js.map +1 -1
  553. package/lib/components/watermark/index.js +2 -2
  554. package/lib/components/watermark/src/watermark.js +247 -26
  555. package/lib/components/watermark/src/watermark.js.map +1 -1
  556. package/lib/components/watermark/src/watermark2.js +26 -247
  557. package/lib/components/watermark/src/watermark2.js.map +1 -1
  558. package/lib/index.js +19 -19
  559. package/lib/version.d.ts +1 -1
  560. package/lib/version.js +1 -1
  561. package/lib/version.js.map +1 -1
  562. package/package.json +2 -2
  563. package/web-types.json +1 -1
@@ -1,33 +1,212 @@
1
- import { uploadListTypes } from './upload.mjs';
2
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
- import { mutable } from '../../../utils/typescript.mjs';
4
- import { NOOP } from '@vue/shared';
1
+ import { defineComponent, ref, computed, openBlock, createBlock, TransitionGroup, normalizeClass, unref, withCtx, createElementBlock, Fragment, renderList, withKeys, renderSlot, createCommentVNode, createElementVNode, withModifiers, createVNode, toDisplayString, normalizeStyle } from 'vue';
2
+ import { ElIcon } from '../../icon/index.mjs';
3
+ import { Document, CircleCheck, Check, Close, ZoomIn, Delete } from '@element-plus/icons-vue';
4
+ import { ElProgress } from '../../progress/index.mjs';
5
+ import { uploadListProps, uploadListEmits } from './upload-list.mjs';
6
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
7
+ import { useLocale } from '../../../hooks/use-locale/index.mjs';
8
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
+ import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
5
10
 
6
- const uploadListProps = buildProps({
7
- files: {
8
- type: definePropType(Array),
9
- default: () => mutable([])
11
+ const _hoisted_1 = ["tabindex", "aria-disabled", "onKeydown"];
12
+ const _hoisted_2 = ["src", "crossorigin"];
13
+ const _hoisted_3 = ["onClick"];
14
+ const _hoisted_4 = ["title"];
15
+ const _hoisted_5 = ["onClick"];
16
+ const _hoisted_6 = ["onClick"];
17
+ const _sfc_main = defineComponent({
18
+ ...{
19
+ name: "ElUploadList"
10
20
  },
11
- disabled: {
12
- type: Boolean,
13
- default: void 0
14
- },
15
- handlePreview: {
16
- type: definePropType(Function),
17
- default: NOOP
18
- },
19
- listType: {
20
- type: String,
21
- values: uploadListTypes,
22
- default: "text"
23
- },
24
- crossorigin: {
25
- type: definePropType(String)
21
+ __name: "upload-list",
22
+ props: uploadListProps,
23
+ emits: uploadListEmits,
24
+ setup(__props, { emit: __emit }) {
25
+ const props = __props;
26
+ const emit = __emit;
27
+ const { t } = useLocale();
28
+ const nsUpload = useNamespace("upload");
29
+ const nsIcon = useNamespace("icon");
30
+ const nsList = useNamespace("list");
31
+ const disabled = useFormDisabled();
32
+ const focusing = ref(false);
33
+ const containerKls = computed(() => [
34
+ nsUpload.b("list"),
35
+ nsUpload.bm("list", props.listType),
36
+ nsUpload.is("disabled", disabled.value)
37
+ ]);
38
+ const handleRemove = (file) => {
39
+ emit("remove", file);
40
+ };
41
+ return (_ctx, _cache) => {
42
+ return openBlock(), createBlock(TransitionGroup, {
43
+ tag: "ul",
44
+ class: normalizeClass(containerKls.value),
45
+ name: unref(nsList).b()
46
+ }, {
47
+ default: withCtx(() => [
48
+ (openBlock(true), createElementBlock(
49
+ Fragment,
50
+ null,
51
+ renderList(_ctx.files, (file, index) => {
52
+ return openBlock(), createElementBlock("li", {
53
+ key: file.uid || file.name,
54
+ class: normalizeClass([
55
+ unref(nsUpload).be("list", "item"),
56
+ unref(nsUpload).is(file.status),
57
+ { focusing: focusing.value }
58
+ ]),
59
+ tabindex: unref(disabled) ? void 0 : 0,
60
+ "aria-disabled": unref(disabled),
61
+ role: "button",
62
+ onKeydown: withKeys(($event) => !unref(disabled) && handleRemove(file), ["delete"]),
63
+ onFocus: _cache[0] || (_cache[0] = ($event) => focusing.value = true),
64
+ onBlur: _cache[1] || (_cache[1] = ($event) => focusing.value = false),
65
+ onClick: _cache[2] || (_cache[2] = ($event) => focusing.value = false)
66
+ }, [
67
+ renderSlot(_ctx.$slots, "default", {
68
+ file,
69
+ index
70
+ }, () => [
71
+ _ctx.listType === "picture" || file.status !== "uploading" && _ctx.listType === "picture-card" ? (openBlock(), createElementBlock("img", {
72
+ key: 0,
73
+ class: normalizeClass(unref(nsUpload).be("list", "item-thumbnail")),
74
+ src: file.url,
75
+ crossorigin: _ctx.crossorigin,
76
+ alt: ""
77
+ }, null, 10, _hoisted_2)) : createCommentVNode("v-if", true),
78
+ file.status === "uploading" || _ctx.listType !== "picture-card" ? (openBlock(), createElementBlock(
79
+ "div",
80
+ {
81
+ key: 1,
82
+ class: normalizeClass(unref(nsUpload).be("list", "item-info"))
83
+ },
84
+ [
85
+ createElementVNode("a", {
86
+ class: normalizeClass(unref(nsUpload).be("list", "item-name")),
87
+ onClick: withModifiers(($event) => _ctx.handlePreview(file), ["prevent"])
88
+ }, [
89
+ createVNode(unref(ElIcon), {
90
+ class: normalizeClass(unref(nsIcon).m("document"))
91
+ }, {
92
+ default: withCtx(() => [
93
+ createVNode(unref(Document))
94
+ ]),
95
+ _: 1
96
+ }, 8, ["class"]),
97
+ createElementVNode("span", {
98
+ class: normalizeClass(unref(nsUpload).be("list", "item-file-name")),
99
+ title: file.name
100
+ }, toDisplayString(file.name), 11, _hoisted_4)
101
+ ], 10, _hoisted_3),
102
+ file.status === "uploading" ? (openBlock(), createBlock(unref(ElProgress), {
103
+ key: 0,
104
+ type: _ctx.listType === "picture-card" ? "circle" : "line",
105
+ "stroke-width": _ctx.listType === "picture-card" ? 6 : 2,
106
+ percentage: Number(file.percentage),
107
+ style: normalizeStyle(_ctx.listType === "picture-card" ? "" : "margin-top: 0.5rem")
108
+ }, null, 8, ["type", "stroke-width", "percentage", "style"])) : createCommentVNode("v-if", true)
109
+ ],
110
+ 2
111
+ )) : createCommentVNode("v-if", true),
112
+ createElementVNode(
113
+ "label",
114
+ {
115
+ class: normalizeClass(unref(nsUpload).be("list", "item-status-label"))
116
+ },
117
+ [
118
+ _ctx.listType === "text" ? (openBlock(), createBlock(unref(ElIcon), {
119
+ key: 0,
120
+ class: normalizeClass([unref(nsIcon).m("upload-success"), unref(nsIcon).m("circle-check")])
121
+ }, {
122
+ default: withCtx(() => [
123
+ createVNode(unref(CircleCheck))
124
+ ]),
125
+ _: 1
126
+ }, 8, ["class"])) : ["picture-card", "picture"].includes(_ctx.listType) ? (openBlock(), createBlock(unref(ElIcon), {
127
+ key: 1,
128
+ class: normalizeClass([unref(nsIcon).m("upload-success"), unref(nsIcon).m("check")])
129
+ }, {
130
+ default: withCtx(() => [
131
+ createVNode(unref(Check))
132
+ ]),
133
+ _: 1
134
+ }, 8, ["class"])) : createCommentVNode("v-if", true)
135
+ ],
136
+ 2
137
+ ),
138
+ !unref(disabled) ? (openBlock(), createBlock(unref(ElIcon), {
139
+ key: 2,
140
+ class: normalizeClass(unref(nsIcon).m("close")),
141
+ onClick: ($event) => handleRemove(file)
142
+ }, {
143
+ default: withCtx(() => [
144
+ createVNode(unref(Close))
145
+ ]),
146
+ _: 1
147
+ }, 8, ["class", "onClick"])) : createCommentVNode("v-if", true),
148
+ createCommentVNode(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),
149
+ createCommentVNode(" This is a bug which needs to be fixed "),
150
+ createCommentVNode(" TODO: Fix the incorrect navigation interaction "),
151
+ !unref(disabled) ? (openBlock(), createElementBlock(
152
+ "i",
153
+ {
154
+ key: 3,
155
+ class: normalizeClass(unref(nsIcon).m("close-tip"))
156
+ },
157
+ toDisplayString(unref(t)("el.upload.deleteTip")),
158
+ 3
159
+ )) : createCommentVNode("v-if", true),
160
+ _ctx.listType === "picture-card" ? (openBlock(), createElementBlock(
161
+ "span",
162
+ {
163
+ key: 4,
164
+ class: normalizeClass(unref(nsUpload).be("list", "item-actions"))
165
+ },
166
+ [
167
+ createElementVNode("span", {
168
+ class: normalizeClass(unref(nsUpload).be("list", "item-preview")),
169
+ onClick: ($event) => _ctx.handlePreview(file)
170
+ }, [
171
+ createVNode(unref(ElIcon), {
172
+ class: normalizeClass(unref(nsIcon).m("zoom-in"))
173
+ }, {
174
+ default: withCtx(() => [
175
+ createVNode(unref(ZoomIn))
176
+ ]),
177
+ _: 1
178
+ }, 8, ["class"])
179
+ ], 10, _hoisted_5),
180
+ !unref(disabled) ? (openBlock(), createElementBlock("span", {
181
+ key: 0,
182
+ class: normalizeClass(unref(nsUpload).be("list", "item-delete")),
183
+ onClick: ($event) => handleRemove(file)
184
+ }, [
185
+ createVNode(unref(ElIcon), {
186
+ class: normalizeClass(unref(nsIcon).m("delete"))
187
+ }, {
188
+ default: withCtx(() => [
189
+ createVNode(unref(Delete))
190
+ ]),
191
+ _: 1
192
+ }, 8, ["class"])
193
+ ], 10, _hoisted_6)) : createCommentVNode("v-if", true)
194
+ ],
195
+ 2
196
+ )) : createCommentVNode("v-if", true)
197
+ ])
198
+ ], 42, _hoisted_1);
199
+ }),
200
+ 128
201
+ )),
202
+ renderSlot(_ctx.$slots, "append")
203
+ ]),
204
+ _: 3
205
+ }, 8, ["class", "name"]);
206
+ };
26
207
  }
27
208
  });
28
- const uploadListEmits = {
29
- remove: (file) => !!file
30
- };
209
+ var UploadList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-list.vue"]]);
31
210
 
32
- export { uploadListEmits, uploadListProps };
211
+ export { UploadList as default };
33
212
  //# sourceMappingURL=upload-list2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload-list2.mjs","sources":["../../../../../../packages/components/upload/src/upload-list.ts"],"sourcesContent":["import { NOOP, buildProps, definePropType, mutable } from '@element-plus/utils'\nimport { uploadListTypes } from './upload'\n\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\nimport type { UploadFile, UploadFiles, UploadHooks } from './upload'\nimport type UploadList from './upload-list.vue'\n\nexport const uploadListProps = buildProps({\n files: {\n type: definePropType<UploadFiles>(Array),\n default: () => mutable([]),\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n handlePreview: {\n type: definePropType<UploadHooks['onPreview']>(Function),\n default: NOOP,\n },\n listType: {\n type: String,\n values: uploadListTypes,\n default: 'text',\n },\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin: {\n type: definePropType<'anonymous' | 'use-credentials' | ''>(String),\n },\n} as const)\n\nexport type UploadListProps = ExtractPropTypes<typeof uploadListProps>\nexport type UploadListPropsPublic = ExtractPublicPropTypes<\n typeof uploadListProps\n>\nexport const uploadListEmits = {\n remove: (file: UploadFile) => !!file,\n}\nexport type UploadListEmits = typeof uploadListEmits\nexport type UploadListInstance = InstanceType<typeof UploadList> & unknown\n"],"names":[],"mappings":";;;;;AAOO,MAAM,kBAAkB,UAAW,CAAA;AAAA,EACxC,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA4B,KAAK,CAAA;AAAA,IACvC,OAAS,EAAA,MAAM,OAAQ,CAAA,EAAE,CAAA;AAAA,GAC3B;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAM,eAAyC,QAAQ,CAAA;AAAA,IACvD,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,eAAA;AAAA,IACR,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EAIA,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAAqD,MAAM,CAAA;AAAA,GACnE;AACF,CAAU,EAAA;AAMH,MAAM,eAAkB,GAAA;AAAA,EAC7B,MAAQ,EAAA,CAAC,IAAqB,KAAA,CAAC,CAAC,IAAA;AAClC;;;;"}
1
+ {"version":3,"file":"upload-list2.mjs","sources":["../../../../../../packages/components/upload/src/upload-list.vue"],"sourcesContent":["<template>\n <transition-group tag=\"ul\" :class=\"containerKls\" :name=\"nsList.b()\">\n <li\n v-for=\"(file, index) in files\"\n :key=\"file.uid || file.name\"\n :class=\"[\n nsUpload.be('list', 'item'),\n nsUpload.is(file.status),\n { focusing },\n ]\"\n :tabindex=\"disabled ? undefined : 0\"\n :aria-disabled=\"disabled\"\n role=\"button\"\n @keydown.delete=\"!disabled && handleRemove(file)\"\n @focus=\"focusing = true\"\n @blur=\"focusing = false\"\n @click=\"focusing = false\"\n >\n <slot :file=\"file\" :index=\"index\">\n <img\n v-if=\"\n listType === 'picture' ||\n (file.status !== 'uploading' && listType === 'picture-card')\n \"\n :class=\"nsUpload.be('list', 'item-thumbnail')\"\n :src=\"file.url\"\n :crossorigin=\"crossorigin\"\n alt=\"\"\n />\n <div\n v-if=\"file.status === 'uploading' || listType !== 'picture-card'\"\n :class=\"nsUpload.be('list', 'item-info')\"\n >\n <a\n :class=\"nsUpload.be('list', 'item-name')\"\n @click.prevent=\"handlePreview(file)\"\n >\n <el-icon :class=\"nsIcon.m('document')\">\n <Document />\n </el-icon>\n <span\n :class=\"nsUpload.be('list', 'item-file-name')\"\n :title=\"file.name\"\n >\n {{ file.name }}\n </span>\n </a>\n <el-progress\n v-if=\"file.status === 'uploading'\"\n :type=\"listType === 'picture-card' ? 'circle' : 'line'\"\n :stroke-width=\"listType === 'picture-card' ? 6 : 2\"\n :percentage=\"Number(file.percentage)\"\n :style=\"listType === 'picture-card' ? '' : 'margin-top: 0.5rem'\"\n />\n </div>\n\n <label :class=\"nsUpload.be('list', 'item-status-label')\">\n <el-icon\n v-if=\"listType === 'text'\"\n :class=\"[nsIcon.m('upload-success'), nsIcon.m('circle-check')]\"\n >\n <circle-check />\n </el-icon>\n <el-icon\n v-else-if=\"['picture-card', 'picture'].includes(listType)\"\n :class=\"[nsIcon.m('upload-success'), nsIcon.m('check')]\"\n >\n <Check />\n </el-icon>\n </label>\n <el-icon\n v-if=\"!disabled\"\n :class=\"nsIcon.m('close')\"\n @click=\"handleRemove(file)\"\n >\n <Close />\n </el-icon>\n <!-- Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn-->\n <!-- This is a bug which needs to be fixed -->\n <!-- TODO: Fix the incorrect navigation interaction -->\n <i v-if=\"!disabled\" :class=\"nsIcon.m('close-tip')\">{{\n t('el.upload.deleteTip')\n }}</i>\n <span\n v-if=\"listType === 'picture-card'\"\n :class=\"nsUpload.be('list', 'item-actions')\"\n >\n <span\n :class=\"nsUpload.be('list', 'item-preview')\"\n @click=\"handlePreview(file)\"\n >\n <el-icon :class=\"nsIcon.m('zoom-in')\"><zoom-in /></el-icon>\n </span>\n <span\n v-if=\"!disabled\"\n :class=\"nsUpload.be('list', 'item-delete')\"\n @click=\"handleRemove(file)\"\n >\n <el-icon :class=\"nsIcon.m('delete')\">\n <Delete />\n </el-icon>\n </span>\n </span>\n </slot>\n </li>\n <slot name=\"append\" />\n </transition-group>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Check,\n CircleCheck,\n Close,\n Delete,\n Document,\n ZoomIn,\n} from '@element-plus/icons-vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElProgress from '@element-plus/components/progress'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { uploadListEmits, uploadListProps } from './upload-list'\n\nimport type { UploadFile } from './upload'\n\ndefineOptions({\n name: 'ElUploadList',\n})\n\nconst props = defineProps(uploadListProps)\nconst emit = defineEmits(uploadListEmits)\n\nconst { t } = useLocale()\nconst nsUpload = useNamespace('upload')\nconst nsIcon = useNamespace('icon')\nconst nsList = useNamespace('list')\nconst disabled = useFormDisabled()\n\nconst focusing = ref(false)\n\nconst containerKls = computed(() => [\n nsUpload.b('list'),\n nsUpload.bm('list', props.listType),\n nsUpload.is('disabled', disabled.value),\n])\n\nconst handleRemove = (file: UploadFile) => {\n emit('remove', file)\n}\n</script>\n"],"names":["_createBlock","_TransitionGroup","_normalizeClass","_unref","_openBlock","_createElementBlock","_Fragment","files","_withKeys","_renderSlot","listType","crossorigin","_createCommentVNode","_createElementVNode","_withModifiers","handlePreview","_createVNode","_toDisplayString","_normalizeStyle"],"mappings":"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"}
@@ -139,7 +139,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
139
139
  readonly directory: BooleanConstructor;
140
140
  }, {
141
141
  /** @description cancel upload request */
142
- abort: (file: import("./upload").UploadFile) => void;
142
+ abort: (file?: import("./upload").UploadFile) => void;
143
143
  /** @description upload the file list manually */
144
144
  submit: () => void;
145
145
  /** @description clear the file list */
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, shallowRef, computed, onBeforeUnmount, provide, toRef, openBlock, createElementBlock, createBlock, unref, createSlots, withCtx, createVNode, mergeProps, renderSlot, createCommentVNode } from 'vue';
2
2
  import { uploadContextKey } from './constants.mjs';
3
- import UploadList from './upload-list.mjs';
3
+ import UploadList from './upload-list2.mjs';
4
4
  import UploadContent from './upload-content2.mjs';
5
5
  import { useHandlers } from './use-handlers.mjs';
6
6
  import { uploadProps } from './upload.mjs';
@@ -25,7 +25,7 @@ export declare const useHandlers: (props: UploadProps, uploadRef: ShallowRef<Upl
25
25
  text: () => Promise<string>;
26
26
  } | undefined;
27
27
  }[]>;
28
- abort: (file: UploadFile) => void;
28
+ abort: (file?: UploadFile) => void;
29
29
  clearFiles: (states?: UploadStatus[]) => void;
30
30
  handleError: (err: import("./ajax").UploadAjaxError, rawFile: UploadRawFile) => void;
31
31
  handleProgress: (evt: import("./upload").UploadProgressEvent, rawFile: UploadRawFile) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-handlers.mjs","sources":["../../../../../../packages/components/upload/src/use-handlers.ts"],"sourcesContent":["import { nextTick, watch } from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { useVModel } from '@vueuse/core'\nimport { debugWarn, throwError } from '@element-plus/utils'\nimport { genFileId } from './upload'\n\nimport type { ShallowRef } from 'vue'\nimport type {\n UploadContentInstance,\n UploadContentProps,\n} from './upload-content'\nimport type {\n UploadFile,\n UploadFiles,\n UploadProps,\n UploadRawFile,\n UploadStatus,\n} from './upload'\n\nconst SCOPE = 'ElUpload'\n\nconst revokeFileObjectURL = (file: UploadFile) => {\n if (file.url?.startsWith('blob:')) {\n URL.revokeObjectURL(file.url)\n }\n}\n\nexport const useHandlers = (\n props: UploadProps,\n uploadRef: ShallowRef<UploadContentInstance | undefined>\n) => {\n const uploadFiles = useVModel(\n props as Omit<UploadProps, 'fileList'> & { fileList: UploadFiles },\n 'fileList',\n undefined,\n { passive: true }\n )\n\n const getFile = (rawFile: UploadRawFile) =>\n uploadFiles.value.find((file) => file.uid === rawFile.uid)\n\n function abort(file: UploadFile) {\n uploadRef.value?.abort(file)\n }\n\n function clearFiles(\n /** @default ['ready', 'uploading', 'success', 'fail'] */\n states: UploadStatus[] = ['ready', 'uploading', 'success', 'fail']\n ) {\n uploadFiles.value = uploadFiles.value.filter(\n (row) => !states.includes(row.status)\n )\n }\n\n function removeFile(file: UploadFile) {\n uploadFiles.value = uploadFiles.value.filter(\n (uploadFile) => uploadFile.uid !== file.uid\n )\n }\n\n const emitChange = (file: UploadFile) => {\n nextTick(() => props.onChange(file, uploadFiles.value))\n }\n\n const handleError: UploadContentProps['onError'] = (err, rawFile) => {\n const file = getFile(rawFile)\n if (!file) return\n\n console.error(err)\n file.status = 'fail'\n removeFile(file)\n props.onError(err, file, uploadFiles.value)\n emitChange(file)\n }\n\n const handleProgress: UploadContentProps['onProgress'] = (evt, rawFile) => {\n const file = getFile(rawFile)\n if (!file) return\n\n props.onProgress(evt, file, uploadFiles.value)\n file.status = 'uploading'\n file.percentage = Math.round(evt.percent)\n }\n\n const handleSuccess: UploadContentProps['onSuccess'] = (\n response,\n rawFile\n ) => {\n const file = getFile(rawFile)\n if (!file) return\n\n file.status = 'success'\n file.response = response\n props.onSuccess(response, file, uploadFiles.value)\n emitChange(file)\n }\n\n const handleStart: UploadContentProps['onStart'] = (file) => {\n if (isNil(file.uid)) file.uid = genFileId()\n const uploadFile: UploadFile = {\n name: file.name,\n percentage: 0,\n status: 'ready',\n size: file.size,\n raw: file,\n uid: file.uid,\n }\n if (props.listType === 'picture-card' || props.listType === 'picture') {\n try {\n uploadFile.url = URL.createObjectURL(file)\n } catch (err: unknown) {\n debugWarn(SCOPE, (err as Error).message)\n props.onError(err as Error, uploadFile, uploadFiles.value)\n }\n }\n uploadFiles.value = [...uploadFiles.value, uploadFile]\n emitChange(uploadFile)\n }\n\n const handleRemove: UploadContentProps['onRemove'] = async (\n file\n ): Promise<void> => {\n const uploadFile = file instanceof File ? getFile(file) : file\n if (!uploadFile) throwError(SCOPE, 'file to be removed not found')\n\n const doRemove = (file: UploadFile) => {\n abort(file)\n removeFile(file)\n props.onRemove(file, uploadFiles.value)\n revokeFileObjectURL(file)\n }\n\n if (props.beforeRemove) {\n const before = await props.beforeRemove(uploadFile, uploadFiles.value)\n if (before !== false) doRemove(uploadFile)\n } else {\n doRemove(uploadFile)\n }\n }\n\n function submit() {\n uploadFiles.value\n .filter(({ status }) => status === 'ready')\n .forEach(({ raw }) => raw && uploadRef.value?.upload(raw))\n }\n\n watch(\n () => props.listType,\n (val) => {\n if (val !== 'picture-card' && val !== 'picture') {\n return\n }\n\n uploadFiles.value = uploadFiles.value.map((file) => {\n const { raw, url } = file\n if (!url && raw) {\n try {\n file.url = URL.createObjectURL(raw)\n } catch (err: unknown) {\n props.onError(err as Error, file, uploadFiles.value)\n }\n }\n return file\n })\n }\n )\n\n watch(\n uploadFiles,\n (files) => {\n for (const file of files) {\n file.uid ||= genFileId()\n file.status ||= 'success'\n }\n },\n { immediate: true, deep: true }\n )\n\n return {\n /** @description two-way binding ref from props `fileList` */\n uploadFiles,\n abort,\n clearFiles,\n handleError,\n handleProgress,\n handleStart,\n handleSuccess,\n handleRemove,\n submit,\n revokeFileObjectURL,\n }\n}\n"],"names":["file"],"mappings":"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"}
1
+ {"version":3,"file":"use-handlers.mjs","sources":["../../../../../../packages/components/upload/src/use-handlers.ts"],"sourcesContent":["import { nextTick, watch } from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { useVModel } from '@vueuse/core'\nimport { debugWarn, throwError } from '@element-plus/utils'\nimport { genFileId } from './upload'\n\nimport type { ShallowRef } from 'vue'\nimport type {\n UploadContentInstance,\n UploadContentProps,\n} from './upload-content'\nimport type {\n UploadFile,\n UploadFiles,\n UploadProps,\n UploadRawFile,\n UploadStatus,\n} from './upload'\n\nconst SCOPE = 'ElUpload'\n\nconst revokeFileObjectURL = (file: UploadFile) => {\n if (file.url?.startsWith('blob:')) {\n URL.revokeObjectURL(file.url)\n }\n}\n\nexport const useHandlers = (\n props: UploadProps,\n uploadRef: ShallowRef<UploadContentInstance | undefined>\n) => {\n const uploadFiles = useVModel(\n props as Omit<UploadProps, 'fileList'> & { fileList: UploadFiles },\n 'fileList',\n undefined,\n { passive: true }\n )\n\n const getFile = (rawFile: UploadRawFile) =>\n uploadFiles.value.find((file) => file.uid === rawFile.uid)\n\n function abort(file?: UploadFile) {\n uploadRef.value?.abort(file)\n }\n\n function clearFiles(\n /** @default ['ready', 'uploading', 'success', 'fail'] */\n states: UploadStatus[] = ['ready', 'uploading', 'success', 'fail']\n ) {\n uploadFiles.value = uploadFiles.value.filter(\n (row) => !states.includes(row.status)\n )\n }\n\n function removeFile(file: UploadFile) {\n uploadFiles.value = uploadFiles.value.filter(\n (uploadFile) => uploadFile.uid !== file.uid\n )\n }\n\n const emitChange = (file: UploadFile) => {\n nextTick(() => props.onChange(file, uploadFiles.value))\n }\n\n const handleError: UploadContentProps['onError'] = (err, rawFile) => {\n const file = getFile(rawFile)\n if (!file) return\n\n console.error(err)\n file.status = 'fail'\n removeFile(file)\n props.onError(err, file, uploadFiles.value)\n emitChange(file)\n }\n\n const handleProgress: UploadContentProps['onProgress'] = (evt, rawFile) => {\n const file = getFile(rawFile)\n if (!file) return\n\n props.onProgress(evt, file, uploadFiles.value)\n file.status = 'uploading'\n file.percentage = Math.round(evt.percent)\n }\n\n const handleSuccess: UploadContentProps['onSuccess'] = (\n response,\n rawFile\n ) => {\n const file = getFile(rawFile)\n if (!file) return\n\n file.status = 'success'\n file.response = response\n props.onSuccess(response, file, uploadFiles.value)\n emitChange(file)\n }\n\n const handleStart: UploadContentProps['onStart'] = (file) => {\n if (isNil(file.uid)) file.uid = genFileId()\n const uploadFile: UploadFile = {\n name: file.name,\n percentage: 0,\n status: 'ready',\n size: file.size,\n raw: file,\n uid: file.uid,\n }\n if (props.listType === 'picture-card' || props.listType === 'picture') {\n try {\n uploadFile.url = URL.createObjectURL(file)\n } catch (err: unknown) {\n debugWarn(SCOPE, (err as Error).message)\n props.onError(err as Error, uploadFile, uploadFiles.value)\n }\n }\n uploadFiles.value = [...uploadFiles.value, uploadFile]\n emitChange(uploadFile)\n }\n\n const handleRemove: UploadContentProps['onRemove'] = async (\n file\n ): Promise<void> => {\n const uploadFile = file instanceof File ? getFile(file) : file\n if (!uploadFile) throwError(SCOPE, 'file to be removed not found')\n\n const doRemove = (file: UploadFile) => {\n abort(file)\n removeFile(file)\n props.onRemove(file, uploadFiles.value)\n revokeFileObjectURL(file)\n }\n\n if (props.beforeRemove) {\n const before = await props.beforeRemove(uploadFile, uploadFiles.value)\n if (before !== false) doRemove(uploadFile)\n } else {\n doRemove(uploadFile)\n }\n }\n\n function submit() {\n uploadFiles.value\n .filter(({ status }) => status === 'ready')\n .forEach(({ raw }) => raw && uploadRef.value?.upload(raw))\n }\n\n watch(\n () => props.listType,\n (val) => {\n if (val !== 'picture-card' && val !== 'picture') {\n return\n }\n\n uploadFiles.value = uploadFiles.value.map((file) => {\n const { raw, url } = file\n if (!url && raw) {\n try {\n file.url = URL.createObjectURL(raw)\n } catch (err: unknown) {\n props.onError(err as Error, file, uploadFiles.value)\n }\n }\n return file\n })\n }\n )\n\n watch(\n uploadFiles,\n (files) => {\n for (const file of files) {\n file.uid ||= genFileId()\n file.status ||= 'success'\n }\n },\n { immediate: true, deep: true }\n )\n\n return {\n /** @description two-way binding ref from props `fileList` */\n uploadFiles,\n abort,\n clearFiles,\n handleError,\n handleProgress,\n handleStart,\n handleSuccess,\n handleRemove,\n submit,\n revokeFileObjectURL,\n }\n}\n"],"names":["file"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import Watermark from './src/watermark2.mjs';
2
- export { watermarkProps } from './src/watermark.mjs';
1
+ import Watermark from './src/watermark.mjs';
2
+ export { watermarkProps } from './src/watermark2.mjs';
3
3
  import { withInstall } from '../../utils/vue/install.mjs';
4
4
 
5
5
  const ElWatermark = withInstall(Watermark);
@@ -1,32 +1,253 @@
1
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
1
+ import { defineComponent, computed, shallowRef, ref, onMounted, watch, onBeforeUnmount, openBlock, createElementBlock, normalizeStyle, renderSlot } from 'vue';
2
+ import { useMutationObserver } from '@vueuse/core';
3
+ import { watermarkProps } from './watermark2.mjs';
4
+ import { reRendering, getStyleStr, getPixelRatio } from './utils.mjs';
5
+ import useClips from './useClips.mjs';
6
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
7
+ import { isArray } from '@vue/shared';
8
+ import { isUndefined } from '../../../utils/types.mjs';
2
9
 
3
- const watermarkProps = buildProps({
4
- zIndex: {
5
- type: Number,
6
- default: 9
10
+ const _sfc_main = defineComponent({
11
+ ...{
12
+ name: "ElWatermark"
7
13
  },
8
- rotate: {
9
- type: Number,
10
- default: -22
11
- },
12
- width: Number,
13
- height: Number,
14
- image: String,
15
- content: {
16
- type: definePropType([String, Array]),
17
- default: "Element Plus"
18
- },
19
- font: {
20
- type: definePropType(Object)
21
- },
22
- gap: {
23
- type: definePropType(Array),
24
- default: () => [100, 100]
25
- },
26
- offset: {
27
- type: definePropType(Array)
14
+ __name: "watermark",
15
+ props: watermarkProps,
16
+ setup(__props) {
17
+ const style = {
18
+ position: "relative"
19
+ };
20
+ const props = __props;
21
+ const fontGap = computed(() => {
22
+ var _a, _b;
23
+ return (_b = (_a = props.font) == null ? void 0 : _a.fontGap) != null ? _b : 3;
24
+ });
25
+ const color = computed(() => {
26
+ var _a, _b;
27
+ return (_b = (_a = props.font) == null ? void 0 : _a.color) != null ? _b : "rgba(0,0,0,.15)";
28
+ });
29
+ const fontSize = computed(() => {
30
+ var _a, _b;
31
+ return (_b = (_a = props.font) == null ? void 0 : _a.fontSize) != null ? _b : 16;
32
+ });
33
+ const fontWeight = computed(() => {
34
+ var _a, _b;
35
+ return (_b = (_a = props.font) == null ? void 0 : _a.fontWeight) != null ? _b : "normal";
36
+ });
37
+ const fontStyle = computed(() => {
38
+ var _a, _b;
39
+ return (_b = (_a = props.font) == null ? void 0 : _a.fontStyle) != null ? _b : "normal";
40
+ });
41
+ const fontFamily = computed(() => {
42
+ var _a, _b;
43
+ return (_b = (_a = props.font) == null ? void 0 : _a.fontFamily) != null ? _b : "sans-serif";
44
+ });
45
+ const textAlign = computed(() => {
46
+ var _a, _b;
47
+ return (_b = (_a = props.font) == null ? void 0 : _a.textAlign) != null ? _b : "center";
48
+ });
49
+ const textBaseline = computed(() => {
50
+ var _a, _b;
51
+ return (_b = (_a = props.font) == null ? void 0 : _a.textBaseline) != null ? _b : "hanging";
52
+ });
53
+ const gapX = computed(() => props.gap[0]);
54
+ const gapY = computed(() => props.gap[1]);
55
+ const gapXCenter = computed(() => gapX.value / 2);
56
+ const gapYCenter = computed(() => gapY.value / 2);
57
+ const offsetLeft = computed(() => {
58
+ var _a, _b;
59
+ return (_b = (_a = props.offset) == null ? void 0 : _a[0]) != null ? _b : gapXCenter.value;
60
+ });
61
+ const offsetTop = computed(() => {
62
+ var _a, _b;
63
+ return (_b = (_a = props.offset) == null ? void 0 : _a[1]) != null ? _b : gapYCenter.value;
64
+ });
65
+ const getMarkStyle = () => {
66
+ const markStyle = {
67
+ zIndex: props.zIndex,
68
+ position: "absolute",
69
+ left: 0,
70
+ top: 0,
71
+ width: "100%",
72
+ height: "100%",
73
+ pointerEvents: "none",
74
+ backgroundRepeat: "repeat"
75
+ };
76
+ let positionLeft = offsetLeft.value - gapXCenter.value;
77
+ let positionTop = offsetTop.value - gapYCenter.value;
78
+ if (positionLeft > 0) {
79
+ markStyle.left = `${positionLeft}px`;
80
+ markStyle.width = `calc(100% - ${positionLeft}px)`;
81
+ positionLeft = 0;
82
+ }
83
+ if (positionTop > 0) {
84
+ markStyle.top = `${positionTop}px`;
85
+ markStyle.height = `calc(100% - ${positionTop}px)`;
86
+ positionTop = 0;
87
+ }
88
+ markStyle.backgroundPosition = `${positionLeft}px ${positionTop}px`;
89
+ return markStyle;
90
+ };
91
+ const containerRef = shallowRef(null);
92
+ const watermarkRef = shallowRef();
93
+ const stopObservation = ref(false);
94
+ const destroyWatermark = () => {
95
+ if (watermarkRef.value) {
96
+ watermarkRef.value.remove();
97
+ watermarkRef.value = void 0;
98
+ }
99
+ };
100
+ const appendWatermark = (base64Url, markWidth) => {
101
+ var _a;
102
+ if (containerRef.value && watermarkRef.value) {
103
+ stopObservation.value = true;
104
+ watermarkRef.value.setAttribute(
105
+ "style",
106
+ getStyleStr({
107
+ ...getMarkStyle(),
108
+ backgroundImage: `url('${base64Url}')`,
109
+ backgroundSize: `${Math.floor(markWidth)}px`
110
+ })
111
+ );
112
+ (_a = containerRef.value) == null ? void 0 : _a.append(watermarkRef.value);
113
+ setTimeout(() => {
114
+ stopObservation.value = false;
115
+ });
116
+ }
117
+ };
118
+ const getMarkSize = (ctx) => {
119
+ let defaultWidth = 120;
120
+ let defaultHeight = 64;
121
+ let space = 0;
122
+ const { image, content, width, height, rotate } = props;
123
+ if (!image && ctx.measureText) {
124
+ ctx.font = `${Number(fontSize.value)}px ${fontFamily.value}`;
125
+ const contents = isArray(content) ? content : [content];
126
+ let maxWidth = 0;
127
+ let maxHeight = 0;
128
+ contents.forEach((item) => {
129
+ const {
130
+ width: width2,
131
+ fontBoundingBoxAscent,
132
+ fontBoundingBoxDescent,
133
+ actualBoundingBoxAscent,
134
+ actualBoundingBoxDescent
135
+ } = ctx.measureText(item);
136
+ const height2 = isUndefined(fontBoundingBoxAscent) ? actualBoundingBoxAscent + actualBoundingBoxDescent : fontBoundingBoxAscent + fontBoundingBoxDescent;
137
+ if (width2 > maxWidth)
138
+ maxWidth = Math.ceil(width2);
139
+ if (height2 > maxHeight)
140
+ maxHeight = Math.ceil(height2);
141
+ });
142
+ defaultWidth = maxWidth;
143
+ defaultHeight = maxHeight * contents.length + (contents.length - 1) * fontGap.value;
144
+ const angle = Math.PI / 180 * Number(rotate);
145
+ space = Math.ceil(Math.abs(Math.sin(angle) * defaultHeight) / 2);
146
+ defaultWidth += space;
147
+ }
148
+ return [width != null ? width : defaultWidth, height != null ? height : defaultHeight, space];
149
+ };
150
+ const getClips = useClips();
151
+ const renderWatermark = () => {
152
+ const canvas = document.createElement("canvas");
153
+ const ctx = canvas.getContext("2d");
154
+ const image = props.image;
155
+ const content = props.content;
156
+ const rotate = props.rotate;
157
+ if (ctx) {
158
+ if (!watermarkRef.value) {
159
+ watermarkRef.value = document.createElement("div");
160
+ }
161
+ const ratio = getPixelRatio();
162
+ const [markWidth, markHeight, space] = getMarkSize(ctx);
163
+ const drawCanvas = (drawContent) => {
164
+ const [textClips, clipWidth] = getClips(
165
+ drawContent || "",
166
+ rotate,
167
+ ratio,
168
+ markWidth,
169
+ markHeight,
170
+ {
171
+ color: color.value,
172
+ fontSize: fontSize.value,
173
+ fontStyle: fontStyle.value,
174
+ fontWeight: fontWeight.value,
175
+ fontFamily: fontFamily.value,
176
+ fontGap: fontGap.value,
177
+ textAlign: textAlign.value,
178
+ textBaseline: textBaseline.value
179
+ },
180
+ gapX.value,
181
+ gapY.value,
182
+ space
183
+ );
184
+ appendWatermark(textClips, clipWidth);
185
+ };
186
+ if (image) {
187
+ const img = new Image();
188
+ img.onload = () => {
189
+ drawCanvas(img);
190
+ };
191
+ img.onerror = () => {
192
+ drawCanvas(content);
193
+ };
194
+ img.crossOrigin = "anonymous";
195
+ img.referrerPolicy = "no-referrer";
196
+ img.src = image;
197
+ } else {
198
+ drawCanvas(content);
199
+ }
200
+ }
201
+ };
202
+ onMounted(() => {
203
+ renderWatermark();
204
+ });
205
+ watch(
206
+ () => props,
207
+ () => {
208
+ renderWatermark();
209
+ },
210
+ {
211
+ deep: true,
212
+ flush: "post"
213
+ }
214
+ );
215
+ onBeforeUnmount(() => {
216
+ destroyWatermark();
217
+ });
218
+ const onMutate = (mutations) => {
219
+ if (stopObservation.value) {
220
+ return;
221
+ }
222
+ mutations.forEach((mutation) => {
223
+ if (reRendering(mutation, watermarkRef.value)) {
224
+ destroyWatermark();
225
+ renderWatermark();
226
+ }
227
+ });
228
+ };
229
+ useMutationObserver(containerRef, onMutate, {
230
+ attributes: true,
231
+ subtree: true,
232
+ childList: true
233
+ });
234
+ return (_ctx, _cache) => {
235
+ return openBlock(), createElementBlock(
236
+ "div",
237
+ {
238
+ ref_key: "containerRef",
239
+ ref: containerRef,
240
+ style: normalizeStyle([style])
241
+ },
242
+ [
243
+ renderSlot(_ctx.$slots, "default")
244
+ ],
245
+ 4
246
+ );
247
+ };
28
248
  }
29
249
  });
250
+ var Watermark = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/watermark/src/watermark.vue"]]);
30
251
 
31
- export { watermarkProps };
252
+ export { Watermark as default };
32
253
  //# sourceMappingURL=watermark.mjs.map