@element-plus/nightly 0.0.20251104 → 0.0.20251106

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 (555) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.full.js +26 -11
  3. package/dist/index.full.min.js +12 -12
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +9 -9
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +26 -11
  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/affix/index.mjs +2 -2
  277. package/es/components/affix/src/affix.mjs +24 -129
  278. package/es/components/affix/src/affix.mjs.map +1 -1
  279. package/es/components/affix/src/affix2.mjs +129 -24
  280. package/es/components/affix/src/affix2.mjs.map +1 -1
  281. package/es/components/alert/index.mjs +2 -2
  282. package/es/components/alert/src/alert.mjs +108 -41
  283. package/es/components/alert/src/alert.mjs.map +1 -1
  284. package/es/components/alert/src/alert2.mjs +41 -108
  285. package/es/components/alert/src/alert2.mjs.map +1 -1
  286. package/es/components/breadcrumb/index.mjs +2 -2
  287. package/es/components/breadcrumb/src/breadcrumb-item.mjs +56 -8
  288. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  289. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +8 -56
  290. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  291. package/es/components/calendar/index.mjs +2 -2
  292. package/es/components/calendar/src/calendar.mjs +134 -16
  293. package/es/components/calendar/src/calendar.mjs.map +1 -1
  294. package/es/components/calendar/src/calendar2.mjs +16 -134
  295. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  296. package/es/components/carousel/index.mjs +2 -2
  297. package/es/components/carousel/src/carousel.mjs +61 -212
  298. package/es/components/carousel/src/carousel.mjs.map +1 -1
  299. package/es/components/carousel/src/carousel2.mjs +212 -61
  300. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  301. package/es/components/checkbox/index.mjs +2 -2
  302. package/es/components/checkbox/src/checkbox-group.mjs +47 -92
  303. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  304. package/es/components/checkbox/src/checkbox-group2.mjs +92 -47
  305. package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
  306. package/es/components/color-picker/index.mjs +2 -2
  307. package/es/components/color-picker/src/color-picker.mjs +46 -347
  308. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  309. package/es/components/color-picker/src/color-picker2.mjs +347 -46
  310. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  311. package/es/components/descriptions/index.mjs +2 -2
  312. package/es/components/descriptions/src/description.mjs +127 -26
  313. package/es/components/descriptions/src/description.mjs.map +1 -1
  314. package/es/components/descriptions/src/description2.mjs +26 -127
  315. package/es/components/descriptions/src/description2.mjs.map +1 -1
  316. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  317. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  318. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  319. package/es/components/form/index.mjs +2 -2
  320. package/es/components/form/src/form-item.mjs +322 -47
  321. package/es/components/form/src/form-item.mjs.map +1 -1
  322. package/es/components/form/src/form-item2.mjs +47 -322
  323. package/es/components/form/src/form-item2.mjs.map +1 -1
  324. package/es/components/image-viewer/index.mjs +2 -2
  325. package/es/components/image-viewer/src/image-viewer.mjs +460 -51
  326. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  327. package/es/components/image-viewer/src/image-viewer2.mjs +51 -460
  328. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  329. package/es/components/index.mjs +20 -20
  330. package/es/components/link/index.mjs +2 -2
  331. package/es/components/link/src/link.mjs +71 -25
  332. package/es/components/link/src/link.mjs.map +1 -1
  333. package/es/components/link/src/link2.mjs +25 -71
  334. package/es/components/link/src/link2.mjs.map +1 -1
  335. package/es/components/mention/src/mention-dropdown.mjs +166 -15
  336. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  337. package/es/components/mention/src/mention-dropdown2.mjs +15 -166
  338. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  339. package/es/components/mention/src/mention2.mjs +1 -1
  340. package/es/components/menu/src/menu.mjs +1 -2
  341. package/es/components/menu/src/menu.mjs.map +1 -1
  342. package/es/components/pagination/src/components/jumper.mjs +7 -58
  343. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  344. package/es/components/pagination/src/components/jumper2.mjs +58 -7
  345. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  346. package/es/components/pagination/src/components/next.mjs +18 -35
  347. package/es/components/pagination/src/components/next.mjs.map +1 -1
  348. package/es/components/pagination/src/components/next2.mjs +35 -18
  349. package/es/components/pagination/src/components/next2.mjs.map +1 -1
  350. package/es/components/pagination/src/pagination.mjs +2 -2
  351. package/es/components/rate/index.mjs +2 -2
  352. package/es/components/rate/src/rate.mjs +83 -256
  353. package/es/components/rate/src/rate.mjs.map +1 -1
  354. package/es/components/rate/src/rate2.mjs +256 -83
  355. package/es/components/rate/src/rate2.mjs.map +1 -1
  356. package/es/components/result/index.mjs +2 -2
  357. package/es/components/result/src/result.mjs +62 -30
  358. package/es/components/result/src/result.mjs.map +1 -1
  359. package/es/components/result/src/result2.mjs +30 -62
  360. package/es/components/result/src/result2.mjs.map +1 -1
  361. package/es/components/roving-focus-group/index.mjs +3 -3
  362. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  363. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -27
  364. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  365. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -27
  366. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  367. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  368. package/es/components/row/index.mjs +2 -2
  369. package/es/components/row/src/row.mjs +28 -44
  370. package/es/components/row/src/row.mjs.map +1 -1
  371. package/es/components/row/src/row2.mjs +44 -28
  372. package/es/components/row/src/row2.mjs.map +1 -1
  373. package/es/components/select/src/useSelect.mjs +1 -1
  374. package/es/components/select/src/useSelect.mjs.map +1 -1
  375. package/es/components/splitter/index.mjs +2 -2
  376. package/es/components/splitter/src/splitter.mjs +100 -9
  377. package/es/components/splitter/src/splitter.mjs.map +1 -1
  378. package/es/components/splitter/src/splitter2.mjs +9 -100
  379. package/es/components/splitter/src/splitter2.mjs.map +1 -1
  380. package/es/components/tabs/index.mjs +2 -2
  381. package/es/components/tabs/src/tab-pane.mjs +16 -85
  382. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  383. package/es/components/tabs/src/tab-pane2.mjs +85 -16
  384. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  385. package/es/components/text/index.mjs +2 -2
  386. package/es/components/text/src/text.mjs +67 -21
  387. package/es/components/text/src/text.mjs.map +1 -1
  388. package/es/components/text/src/text2.mjs +21 -67
  389. package/es/components/text/src/text2.mjs.map +1 -1
  390. package/es/components/timeline/index.mjs +2 -2
  391. package/es/components/timeline/src/timeline-item.mjs +33 -72
  392. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  393. package/es/components/timeline/src/timeline-item2.mjs +72 -33
  394. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  395. package/es/components/tree-v2/src/composables/useCheck.mjs +14 -5
  396. package/es/components/tree-v2/src/composables/useCheck.mjs.map +1 -1
  397. package/es/components/tree-v2/src/types.d.ts +13 -0
  398. package/es/components/upload/index.mjs +1 -1
  399. package/es/components/upload/src/upload-content2.mjs +1 -1
  400. package/es/components/upload/src/upload-dragger.mjs +8 -61
  401. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  402. package/es/components/upload/src/upload-dragger2.mjs +61 -8
  403. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  404. package/es/components/watermark/index.mjs +2 -2
  405. package/es/components/watermark/src/useClips.mjs +8 -1
  406. package/es/components/watermark/src/useClips.mjs.map +1 -1
  407. package/es/components/watermark/src/watermark.mjs +226 -27
  408. package/es/components/watermark/src/watermark.mjs.map +1 -1
  409. package/es/components/watermark/src/watermark2.mjs +27 -226
  410. package/es/components/watermark/src/watermark2.mjs.map +1 -1
  411. package/es/index.mjs +20 -20
  412. package/es/version.d.ts +1 -1
  413. package/es/version.mjs +1 -1
  414. package/es/version.mjs.map +1 -1
  415. package/lib/components/affix/index.js +2 -2
  416. package/lib/components/affix/src/affix.js +25 -129
  417. package/lib/components/affix/src/affix.js.map +1 -1
  418. package/lib/components/affix/src/affix2.js +129 -25
  419. package/lib/components/affix/src/affix2.js.map +1 -1
  420. package/lib/components/alert/index.js +2 -2
  421. package/lib/components/alert/src/alert.js +107 -42
  422. package/lib/components/alert/src/alert.js.map +1 -1
  423. package/lib/components/alert/src/alert2.js +42 -107
  424. package/lib/components/alert/src/alert2.js.map +1 -1
  425. package/lib/components/breadcrumb/index.js +2 -2
  426. package/lib/components/breadcrumb/src/breadcrumb-item.js +56 -8
  427. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  428. package/lib/components/breadcrumb/src/breadcrumb-item2.js +8 -56
  429. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  430. package/lib/components/calendar/index.js +2 -2
  431. package/lib/components/calendar/src/calendar.js +134 -17
  432. package/lib/components/calendar/src/calendar.js.map +1 -1
  433. package/lib/components/calendar/src/calendar2.js +17 -134
  434. package/lib/components/calendar/src/calendar2.js.map +1 -1
  435. package/lib/components/carousel/index.js +2 -2
  436. package/lib/components/carousel/src/carousel.js +62 -212
  437. package/lib/components/carousel/src/carousel.js.map +1 -1
  438. package/lib/components/carousel/src/carousel2.js +212 -62
  439. package/lib/components/carousel/src/carousel2.js.map +1 -1
  440. package/lib/components/checkbox/index.js +2 -2
  441. package/lib/components/checkbox/src/checkbox-group.js +48 -91
  442. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  443. package/lib/components/checkbox/src/checkbox-group2.js +91 -48
  444. package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
  445. package/lib/components/color-picker/index.js +2 -2
  446. package/lib/components/color-picker/src/color-picker.js +46 -346
  447. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  448. package/lib/components/color-picker/src/color-picker2.js +346 -46
  449. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  450. package/lib/components/descriptions/index.js +2 -2
  451. package/lib/components/descriptions/src/description.js +127 -26
  452. package/lib/components/descriptions/src/description.js.map +1 -1
  453. package/lib/components/descriptions/src/description2.js +26 -127
  454. package/lib/components/descriptions/src/description2.js.map +1 -1
  455. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  456. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  457. package/lib/components/dropdown/src/dropdown2.js +1 -1
  458. package/lib/components/form/index.js +2 -2
  459. package/lib/components/form/src/form-item.js +326 -48
  460. package/lib/components/form/src/form-item.js.map +1 -1
  461. package/lib/components/form/src/form-item2.js +48 -326
  462. package/lib/components/form/src/form-item2.js.map +1 -1
  463. package/lib/components/image-viewer/index.js +2 -2
  464. package/lib/components/image-viewer/src/image-viewer.js +460 -52
  465. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  466. package/lib/components/image-viewer/src/image-viewer2.js +52 -460
  467. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  468. package/lib/components/index.js +20 -20
  469. package/lib/components/link/index.js +2 -2
  470. package/lib/components/link/src/link.js +71 -26
  471. package/lib/components/link/src/link.js.map +1 -1
  472. package/lib/components/link/src/link2.js +26 -71
  473. package/lib/components/link/src/link2.js.map +1 -1
  474. package/lib/components/mention/src/mention-dropdown.js +166 -16
  475. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  476. package/lib/components/mention/src/mention-dropdown2.js +16 -166
  477. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  478. package/lib/components/mention/src/mention2.js +1 -1
  479. package/lib/components/menu/src/menu.js +1 -2
  480. package/lib/components/menu/src/menu.js.map +1 -1
  481. package/lib/components/pagination/src/components/jumper.js +7 -58
  482. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  483. package/lib/components/pagination/src/components/jumper2.js +58 -7
  484. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  485. package/lib/components/pagination/src/components/next.js +18 -35
  486. package/lib/components/pagination/src/components/next.js.map +1 -1
  487. package/lib/components/pagination/src/components/next2.js +35 -18
  488. package/lib/components/pagination/src/components/next2.js.map +1 -1
  489. package/lib/components/pagination/src/pagination.js +2 -2
  490. package/lib/components/rate/index.js +2 -2
  491. package/lib/components/rate/src/rate.js +83 -255
  492. package/lib/components/rate/src/rate.js.map +1 -1
  493. package/lib/components/rate/src/rate2.js +255 -83
  494. package/lib/components/rate/src/rate2.js.map +1 -1
  495. package/lib/components/result/index.js +2 -2
  496. package/lib/components/result/src/result.js +62 -32
  497. package/lib/components/result/src/result.js.map +1 -1
  498. package/lib/components/result/src/result2.js +32 -62
  499. package/lib/components/result/src/result2.js.map +1 -1
  500. package/lib/components/roving-focus-group/index.js +2 -2
  501. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  502. package/lib/components/roving-focus-group/src/roving-focus-group.js +31 -27
  503. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  504. package/lib/components/roving-focus-group/src/roving-focus-group2.js +27 -31
  505. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  506. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  507. package/lib/components/row/index.js +2 -2
  508. package/lib/components/row/src/row.js +30 -44
  509. package/lib/components/row/src/row.js.map +1 -1
  510. package/lib/components/row/src/row2.js +44 -30
  511. package/lib/components/row/src/row2.js.map +1 -1
  512. package/lib/components/select/src/useSelect.js +1 -1
  513. package/lib/components/select/src/useSelect.js.map +1 -1
  514. package/lib/components/splitter/index.js +2 -2
  515. package/lib/components/splitter/src/splitter.js +100 -9
  516. package/lib/components/splitter/src/splitter.js.map +1 -1
  517. package/lib/components/splitter/src/splitter2.js +9 -100
  518. package/lib/components/splitter/src/splitter2.js.map +1 -1
  519. package/lib/components/tabs/index.js +2 -2
  520. package/lib/components/tabs/src/tab-pane.js +16 -85
  521. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  522. package/lib/components/tabs/src/tab-pane2.js +85 -16
  523. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  524. package/lib/components/text/index.js +2 -2
  525. package/lib/components/text/src/text.js +67 -21
  526. package/lib/components/text/src/text.js.map +1 -1
  527. package/lib/components/text/src/text2.js +21 -67
  528. package/lib/components/text/src/text2.js.map +1 -1
  529. package/lib/components/timeline/index.js +2 -2
  530. package/lib/components/timeline/src/timeline-item.js +33 -72
  531. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  532. package/lib/components/timeline/src/timeline-item2.js +72 -33
  533. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  534. package/lib/components/tree-v2/src/composables/useCheck.js +14 -5
  535. package/lib/components/tree-v2/src/composables/useCheck.js.map +1 -1
  536. package/lib/components/tree-v2/src/types.d.ts +13 -0
  537. package/lib/components/upload/index.js +1 -1
  538. package/lib/components/upload/src/upload-content2.js +1 -1
  539. package/lib/components/upload/src/upload-dragger.js +9 -61
  540. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  541. package/lib/components/upload/src/upload-dragger2.js +61 -9
  542. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  543. package/lib/components/watermark/index.js +2 -2
  544. package/lib/components/watermark/src/useClips.js +8 -1
  545. package/lib/components/watermark/src/useClips.js.map +1 -1
  546. package/lib/components/watermark/src/watermark.js +226 -27
  547. package/lib/components/watermark/src/watermark.js.map +1 -1
  548. package/lib/components/watermark/src/watermark2.js +27 -226
  549. package/lib/components/watermark/src/watermark2.js.map +1 -1
  550. package/lib/index.js +20 -20
  551. package/lib/version.d.ts +1 -1
  552. package/lib/version.js +1 -1
  553. package/lib/version.js.map +1 -1
  554. package/package.json +2 -2
  555. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"timeline-item.js","sources":["../../../../../../packages/components/timeline/src/timeline-item.vue"],"sourcesContent":["<template>\n <li :class=\"[ns.b(), { [ns.e('center')]: center }]\">\n <div :class=\"ns.e('tail')\" />\n <div\n v-if=\"!$slots.dot\"\n :class=\"defaultNodeKls\"\n :style=\"{\n backgroundColor: color,\n }\"\n >\n <el-icon v-if=\"icon\" :class=\"ns.e('icon')\">\n <component :is=\"icon\" />\n </el-icon>\n </div>\n <div v-if=\"$slots.dot\" :class=\"ns.e('dot')\">\n <slot name=\"dot\" />\n </div>\n\n <div :class=\"ns.e('wrapper')\">\n <div\n v-if=\"!hideTimestamp && placement === 'top'\"\n :class=\"[ns.e('timestamp'), ns.is('top')]\"\n >\n {{ timestamp }}\n </div>\n\n <div :class=\"ns.e('content')\">\n <slot />\n </div>\n\n <div\n v-if=\"!hideTimestamp && placement === 'bottom'\"\n :class=\"[ns.e('timestamp'), ns.is('bottom')]\"\n >\n {{ timestamp }}\n </div>\n </div>\n </li>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { timelineItemProps } from './timeline-item'\n\ndefineOptions({\n name: 'ElTimelineItem',\n})\n\nconst props = defineProps(timelineItemProps)\n\nconst ns = useNamespace('timeline-item')\nconst defaultNodeKls = computed(() => [\n ns.e('node'),\n ns.em('node', props.size || ''),\n ns.em('node', props.type || ''),\n ns.is('hollow', props.hollow),\n])\n</script>\n"],"names":["useNamespace","computed"],"mappings":";;;;;;;;;;uCA8Cc,CAAA;AAAA,EACZ,IAAM,EAAA,gBAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAIA,IAAM,MAAA,EAAA,GAAKA,mBAAa,eAAe,CAAA,CAAA;AACvC,IAAM,MAAA,cAAA,GAAiBC,aAAS,MAAM;AAAA,MACpC,EAAA,CAAG,EAAE,MAAM,CAAA;AAAA,MACX,EAAG,CAAA,EAAA,CAAG,MAAQ,EAAA,KAAA,CAAM,QAAQ,EAAE,CAAA;AAAA,MAC9B,EAAG,CAAA,EAAA,CAAG,MAAQ,EAAA,KAAA,CAAM,QAAQ,EAAE,CAAA;AAAA,MAC9B,EAAG,CAAA,EAAA,CAAG,QAAU,EAAA,KAAA,CAAM,MAAM,CAAA;AAAA,KAC7B,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"timeline-item.js","sources":["../../../../../../packages/components/timeline/src/timeline-item.ts"],"sourcesContent":["import { buildProps, iconPropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type TimelineItem from './timeline-item.vue'\n\nexport const timelineItemProps = buildProps({\n /**\n * @description timestamp content\n */\n timestamp: {\n type: String,\n default: '',\n },\n /**\n * @description whether to show timestamp\n */\n hideTimestamp: Boolean,\n /**\n * @description whether vertically centered\n */\n center: Boolean,\n /**\n * @description position of timestamp\n */\n placement: {\n type: String,\n values: ['top', 'bottom'],\n default: 'bottom',\n },\n /**\n * @description node type\n */\n type: {\n type: String,\n values: ['primary', 'success', 'warning', 'danger', 'info'],\n default: '',\n },\n /**\n * @description background color of node\n */\n color: {\n type: String,\n default: '',\n },\n /**\n * @description node size\n */\n size: {\n type: String,\n values: ['normal', 'large'],\n default: 'normal',\n },\n /**\n * @description icon component\n */\n icon: {\n type: iconPropType,\n },\n /**\n * @description icon is hollow\n */\n hollow: Boolean,\n} as const)\nexport type TimelineItemProps = ExtractPropTypes<typeof timelineItemProps>\nexport type TimelineItemPropsPublic = __ExtractPublicPropTypes<\n typeof timelineItemProps\n>\n\nexport type TimelineItemInstance = InstanceType<typeof TimelineItem> & unknown\n"],"names":["buildProps","iconPropType"],"mappings":";;;;;;;AACY,MAAC,iBAAiB,GAAGA,kBAAU,CAAC;AAC5C,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC7B,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;AAC/D,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC/B,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,iBAAY;AACtB,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,CAAC;;;;"}
@@ -2,40 +2,79 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
6
- var icon = require('../../../utils/vue/icon.js');
5
+ var vue = require('vue');
6
+ var index$1 = require('../../icon/index.js');
7
+ var timelineItem = require('./timeline-item.js');
8
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
9
+ var index = require('../../../hooks/use-namespace/index.js');
7
10
 
8
- const timelineItemProps = runtime.buildProps({
9
- timestamp: {
10
- type: String,
11
- default: ""
12
- },
13
- hideTimestamp: Boolean,
14
- center: Boolean,
15
- placement: {
16
- type: String,
17
- values: ["top", "bottom"],
18
- default: "bottom"
19
- },
20
- type: {
21
- type: String,
22
- values: ["primary", "success", "warning", "danger", "info"],
23
- default: ""
24
- },
25
- color: {
26
- type: String,
27
- default: ""
28
- },
29
- size: {
30
- type: String,
31
- values: ["normal", "large"],
32
- default: "normal"
33
- },
34
- icon: {
35
- type: icon.iconPropType
36
- },
37
- hollow: Boolean
11
+ const __default__ = vue.defineComponent({
12
+ name: "ElTimelineItem"
38
13
  });
14
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
15
+ ...__default__,
16
+ props: timelineItem.timelineItemProps,
17
+ setup(__props) {
18
+ const props = __props;
19
+ const ns = index.useNamespace("timeline-item");
20
+ const defaultNodeKls = vue.computed(() => [
21
+ ns.e("node"),
22
+ ns.em("node", props.size || ""),
23
+ ns.em("node", props.type || ""),
24
+ ns.is("hollow", props.hollow)
25
+ ]);
26
+ return (_ctx, _cache) => {
27
+ return vue.openBlock(), vue.createElementBlock("li", {
28
+ class: vue.normalizeClass([vue.unref(ns).b(), { [vue.unref(ns).e("center")]: _ctx.center }])
29
+ }, [
30
+ vue.createElementVNode("div", {
31
+ class: vue.normalizeClass(vue.unref(ns).e("tail"))
32
+ }, null, 2),
33
+ !_ctx.$slots.dot ? (vue.openBlock(), vue.createElementBlock("div", {
34
+ key: 0,
35
+ class: vue.normalizeClass(vue.unref(defaultNodeKls)),
36
+ style: vue.normalizeStyle({
37
+ backgroundColor: _ctx.color
38
+ })
39
+ }, [
40
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), {
41
+ key: 0,
42
+ class: vue.normalizeClass(vue.unref(ns).e("icon"))
43
+ }, {
44
+ default: vue.withCtx(() => [
45
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.icon)))
46
+ ]),
47
+ _: 1
48
+ }, 8, ["class"])) : vue.createCommentVNode("v-if", true)
49
+ ], 6)) : vue.createCommentVNode("v-if", true),
50
+ _ctx.$slots.dot ? (vue.openBlock(), vue.createElementBlock("div", {
51
+ key: 1,
52
+ class: vue.normalizeClass(vue.unref(ns).e("dot"))
53
+ }, [
54
+ vue.renderSlot(_ctx.$slots, "dot")
55
+ ], 2)) : vue.createCommentVNode("v-if", true),
56
+ vue.createElementVNode("div", {
57
+ class: vue.normalizeClass(vue.unref(ns).e("wrapper"))
58
+ }, [
59
+ !_ctx.hideTimestamp && _ctx.placement === "top" ? (vue.openBlock(), vue.createElementBlock("div", {
60
+ key: 0,
61
+ class: vue.normalizeClass([vue.unref(ns).e("timestamp"), vue.unref(ns).is("top")])
62
+ }, vue.toDisplayString(_ctx.timestamp), 3)) : vue.createCommentVNode("v-if", true),
63
+ vue.createElementVNode("div", {
64
+ class: vue.normalizeClass(vue.unref(ns).e("content"))
65
+ }, [
66
+ vue.renderSlot(_ctx.$slots, "default")
67
+ ], 2),
68
+ !_ctx.hideTimestamp && _ctx.placement === "bottom" ? (vue.openBlock(), vue.createElementBlock("div", {
69
+ key: 1,
70
+ class: vue.normalizeClass([vue.unref(ns).e("timestamp"), vue.unref(ns).is("bottom")])
71
+ }, vue.toDisplayString(_ctx.timestamp), 3)) : vue.createCommentVNode("v-if", true)
72
+ ], 2)
73
+ ], 2);
74
+ };
75
+ }
76
+ });
77
+ var TimelineItem = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "timeline-item.vue"]]);
39
78
 
40
- exports.timelineItemProps = timelineItemProps;
79
+ exports["default"] = TimelineItem;
41
80
  //# sourceMappingURL=timeline-item2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeline-item2.js","sources":["../../../../../../packages/components/timeline/src/timeline-item.ts"],"sourcesContent":["import { buildProps, iconPropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type TimelineItem from './timeline-item.vue'\n\nexport const timelineItemProps = buildProps({\n /**\n * @description timestamp content\n */\n timestamp: {\n type: String,\n default: '',\n },\n /**\n * @description whether to show timestamp\n */\n hideTimestamp: Boolean,\n /**\n * @description whether vertically centered\n */\n center: Boolean,\n /**\n * @description position of timestamp\n */\n placement: {\n type: String,\n values: ['top', 'bottom'],\n default: 'bottom',\n },\n /**\n * @description node type\n */\n type: {\n type: String,\n values: ['primary', 'success', 'warning', 'danger', 'info'],\n default: '',\n },\n /**\n * @description background color of node\n */\n color: {\n type: String,\n default: '',\n },\n /**\n * @description node size\n */\n size: {\n type: String,\n values: ['normal', 'large'],\n default: 'normal',\n },\n /**\n * @description icon component\n */\n icon: {\n type: iconPropType,\n },\n /**\n * @description icon is hollow\n */\n hollow: Boolean,\n} as const)\nexport type TimelineItemProps = ExtractPropTypes<typeof timelineItemProps>\nexport type TimelineItemPropsPublic = __ExtractPublicPropTypes<\n typeof timelineItemProps\n>\n\nexport type TimelineItemInstance = InstanceType<typeof TimelineItem> & unknown\n"],"names":["buildProps","iconPropType"],"mappings":";;;;;;;AACY,MAAC,iBAAiB,GAAGA,kBAAU,CAAC;AAC5C,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC7B,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;AAC/D,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC/B,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,iBAAY;AACtB,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,CAAC;;;;"}
1
+ {"version":3,"file":"timeline-item2.js","sources":["../../../../../../packages/components/timeline/src/timeline-item.vue"],"sourcesContent":["<template>\n <li :class=\"[ns.b(), { [ns.e('center')]: center }]\">\n <div :class=\"ns.e('tail')\" />\n <div\n v-if=\"!$slots.dot\"\n :class=\"defaultNodeKls\"\n :style=\"{\n backgroundColor: color,\n }\"\n >\n <el-icon v-if=\"icon\" :class=\"ns.e('icon')\">\n <component :is=\"icon\" />\n </el-icon>\n </div>\n <div v-if=\"$slots.dot\" :class=\"ns.e('dot')\">\n <slot name=\"dot\" />\n </div>\n\n <div :class=\"ns.e('wrapper')\">\n <div\n v-if=\"!hideTimestamp && placement === 'top'\"\n :class=\"[ns.e('timestamp'), ns.is('top')]\"\n >\n {{ timestamp }}\n </div>\n\n <div :class=\"ns.e('content')\">\n <slot />\n </div>\n\n <div\n v-if=\"!hideTimestamp && placement === 'bottom'\"\n :class=\"[ns.e('timestamp'), ns.is('bottom')]\"\n >\n {{ timestamp }}\n </div>\n </div>\n </li>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { timelineItemProps } from './timeline-item'\n\ndefineOptions({\n name: 'ElTimelineItem',\n})\n\nconst props = defineProps(timelineItemProps)\n\nconst ns = useNamespace('timeline-item')\nconst defaultNodeKls = computed(() => [\n ns.e('node'),\n ns.em('node', props.size || ''),\n ns.em('node', props.type || ''),\n ns.is('hollow', props.hollow),\n])\n</script>\n"],"names":["useNamespace","computed"],"mappings":";;;;;;;;;;uCA8Cc,CAAA;AAAA,EACZ,IAAM,EAAA,gBAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAIA,IAAM,MAAA,EAAA,GAAKA,mBAAa,eAAe,CAAA,CAAA;AACvC,IAAM,MAAA,cAAA,GAAiBC,aAAS,MAAM;AAAA,MACpC,EAAA,CAAG,EAAE,MAAM,CAAA;AAAA,MACX,EAAG,CAAA,EAAA,CAAG,MAAQ,EAAA,KAAA,CAAM,QAAQ,EAAE,CAAA;AAAA,MAC9B,EAAG,CAAA,EAAA,CAAG,MAAQ,EAAA,KAAA,CAAM,QAAQ,EAAE,CAAA;AAAA,MAC9B,EAAG,CAAA,EAAA,CAAG,QAAU,EAAA,KAAA,CAAM,MAAM,CAAA;AAAA,KAC7B,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,17 +23,21 @@ function useCheck(props, tree) {
23
23
  const { levelTreeNodeMap, maxLevel } = tree.value;
24
24
  const checkedKeySet = checkedKeys.value;
25
25
  const indeterminateKeySet = /* @__PURE__ */ new Set();
26
- for (let level = maxLevel - 1; level >= 1; --level) {
26
+ for (let level = maxLevel; level >= 1; --level) {
27
27
  const nodes = levelTreeNodeMap.get(level);
28
28
  if (!nodes)
29
29
  continue;
30
30
  nodes.forEach((node) => {
31
31
  const children = node.children;
32
+ let isEffectivelyChecked = !node.isLeaf || node.disabled || checkedKeySet.has(node.key);
32
33
  if (children) {
33
34
  let allChecked = true;
34
35
  let hasChecked = false;
35
36
  for (const childNode of children) {
36
37
  const key = childNode.key;
38
+ if (!childNode.isEffectivelyChecked) {
39
+ isEffectivelyChecked = false;
40
+ }
37
41
  if (checkedKeySet.has(key)) {
38
42
  hasChecked = true;
39
43
  } else if (indeterminateKeySet.has(key)) {
@@ -54,6 +58,7 @@ function useCheck(props, tree) {
54
58
  indeterminateKeySet.delete(node.key);
55
59
  }
56
60
  }
61
+ node.isEffectivelyChecked = isEffectivelyChecked;
57
62
  });
58
63
  }
59
64
  indeterminateKeys.value = indeterminateKeySet;
@@ -62,12 +67,16 @@ function useCheck(props, tree) {
62
67
  const isIndeterminate = (node) => indeterminateKeys.value.has(node.key);
63
68
  const toggleCheckbox = (node, isChecked2, nodeClick = true, immediateUpdate = true) => {
64
69
  const checkedKeySet = checkedKeys.value;
70
+ const children = node.children;
71
+ if (!props.checkStrictly && nodeClick && (children == null ? void 0 : children.length)) {
72
+ isChecked2 = children.some((node2) => !node2.isEffectivelyChecked);
73
+ }
65
74
  const toggle = (node2, checked) => {
66
75
  checkedKeySet[checked ? virtualTree.SetOperationEnum.ADD : virtualTree.SetOperationEnum.DELETE](node2.key);
67
- const children = node2.children;
68
- if (!props.checkStrictly && children) {
69
- children.forEach((childNode) => {
70
- if (!childNode.disabled) {
76
+ const children2 = node2.children;
77
+ if (!props.checkStrictly && children2) {
78
+ children2.forEach((childNode) => {
79
+ if (!childNode.disabled || childNode.children) {
71
80
  toggle(childNode, checked);
72
81
  }
73
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useCheck.js","sources":["../../../../../../../packages/components/tree-v2/src/composables/useCheck.ts"],"sourcesContent":["import { getCurrentInstance, nextTick, ref, watch } from 'vue'\nimport {\n NODE_CHECK,\n NODE_CHECK_CHANGE,\n SetOperationEnum,\n} from '../virtual-tree'\n\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\nimport type { Ref } from 'vue'\nimport type { Tree, TreeKey, TreeNode, TreeNodeData, TreeProps } from '../types'\n\nexport function useCheck(props: TreeProps, tree: Ref<Tree | undefined>) {\n const checkedKeys = ref<Set<TreeKey>>(new Set())\n const indeterminateKeys = ref<Set<TreeKey>>(new Set())\n const { emit } = getCurrentInstance()!\n\n watch(\n [() => tree.value, () => props.defaultCheckedKeys],\n () => {\n return nextTick(() => {\n _setCheckedKeys(props.defaultCheckedKeys)\n })\n },\n {\n immediate: true,\n }\n )\n\n const updateCheckedKeys = () => {\n if (!tree.value || !props.showCheckbox || props.checkStrictly) {\n return\n }\n const { levelTreeNodeMap, maxLevel } = tree.value\n const checkedKeySet = checkedKeys.value\n const indeterminateKeySet = new Set<TreeKey>()\n // It is easier to determine the indeterminate state by\n // traversing from bottom to top\n // leaf nodes not have indeterminate status and can be skipped\n for (let level = maxLevel - 1; level >= 1; --level) {\n const nodes = levelTreeNodeMap.get(level)\n if (!nodes) continue\n nodes.forEach((node) => {\n const children = node.children\n if (children) {\n // Whether all child nodes are selected\n let allChecked = true\n // Whether a child node is selected\n let hasChecked = false\n for (const childNode of children) {\n const key = childNode.key\n if (checkedKeySet.has(key)) {\n hasChecked = true\n } else if (indeterminateKeySet.has(key)) {\n allChecked = false\n hasChecked = true\n break\n } else {\n allChecked = false\n }\n }\n if (allChecked) {\n checkedKeySet.add(node.key)\n } else if (hasChecked) {\n indeterminateKeySet.add(node.key)\n checkedKeySet.delete(node.key)\n } else {\n checkedKeySet.delete(node.key)\n indeterminateKeySet.delete(node.key)\n }\n }\n })\n }\n indeterminateKeys.value = indeterminateKeySet\n }\n\n const isChecked = (node: TreeNode) => checkedKeys.value.has(node.key)\n\n const isIndeterminate = (node: TreeNode) =>\n indeterminateKeys.value.has(node.key)\n\n const toggleCheckbox = (\n node: TreeNode,\n isChecked: CheckboxValueType,\n nodeClick = true,\n immediateUpdate = true\n ) => {\n const checkedKeySet = checkedKeys.value\n const toggle = (node: TreeNode, checked: CheckboxValueType) => {\n checkedKeySet[checked ? SetOperationEnum.ADD : SetOperationEnum.DELETE](\n node.key\n )\n const children = node.children\n if (!props.checkStrictly && children) {\n children.forEach((childNode) => {\n if (!childNode.disabled) {\n toggle(childNode, checked)\n }\n })\n }\n }\n toggle(node, isChecked)\n if (immediateUpdate) {\n updateCheckedKeys()\n }\n if (nodeClick) {\n afterNodeCheck(node, isChecked)\n }\n }\n\n const afterNodeCheck = (node: TreeNode, checked: CheckboxValueType) => {\n const { checkedNodes, checkedKeys } = getChecked()\n const { halfCheckedNodes, halfCheckedKeys } = getHalfChecked()\n emit(NODE_CHECK, node.data, {\n checkedKeys,\n checkedNodes,\n halfCheckedKeys,\n halfCheckedNodes,\n })\n emit(NODE_CHECK_CHANGE, node.data, checked)\n }\n\n // expose\n function getCheckedKeys(leafOnly = false): TreeKey[] {\n return getChecked(leafOnly).checkedKeys\n }\n\n function getCheckedNodes(leafOnly = false): TreeNodeData[] {\n return getChecked(leafOnly).checkedNodes\n }\n\n function getHalfCheckedKeys(): TreeKey[] {\n return getHalfChecked().halfCheckedKeys\n }\n\n function getHalfCheckedNodes(): TreeNodeData[] {\n return getHalfChecked().halfCheckedNodes\n }\n\n function getChecked(leafOnly = false): {\n checkedKeys: TreeKey[]\n checkedNodes: TreeNodeData[]\n } {\n const checkedNodes: TreeNodeData[] = []\n const keys: TreeKey[] = []\n if (tree?.value && props.showCheckbox) {\n const { treeNodeMap } = tree.value\n checkedKeys.value.forEach((key) => {\n const node = treeNodeMap.get(key)\n if (node && (!leafOnly || (leafOnly && node.isLeaf))) {\n keys.push(key)\n checkedNodes.push(node.data)\n }\n })\n }\n return {\n checkedKeys: keys,\n checkedNodes,\n }\n }\n\n function getHalfChecked(): {\n halfCheckedKeys: TreeKey[]\n halfCheckedNodes: TreeNodeData[]\n } {\n const halfCheckedNodes: TreeNodeData[] = []\n const halfCheckedKeys: TreeKey[] = []\n if (tree?.value && props.showCheckbox) {\n const { treeNodeMap } = tree.value\n indeterminateKeys.value.forEach((key) => {\n const node = treeNodeMap.get(key)\n if (node) {\n halfCheckedKeys.push(key)\n halfCheckedNodes.push(node.data)\n }\n })\n }\n return {\n halfCheckedNodes,\n halfCheckedKeys,\n }\n }\n\n function setCheckedKeys(keys: TreeKey[]) {\n checkedKeys.value.clear()\n indeterminateKeys.value.clear()\n nextTick(() => {\n _setCheckedKeys(keys)\n })\n }\n\n function setChecked(key: TreeKey, isChecked: boolean) {\n if (tree?.value && props.showCheckbox) {\n const node = tree.value.treeNodeMap.get(key)\n if (node) {\n toggleCheckbox(node, isChecked, false)\n }\n }\n }\n\n function _setCheckedKeys(keys: TreeKey[]) {\n if (tree?.value) {\n const { treeNodeMap } = tree.value\n if (props.showCheckbox && treeNodeMap && keys?.length > 0) {\n for (const key of keys) {\n const node = treeNodeMap.get(key)\n if (node && !isChecked(node)) {\n toggleCheckbox(node, true, false, false)\n }\n }\n updateCheckedKeys()\n }\n }\n }\n\n return {\n updateCheckedKeys,\n toggleCheckbox,\n isChecked,\n isIndeterminate,\n // expose\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n }\n}\n"],"names":["ref","getCurrentInstance","watch","nextTick","SetOperationEnum","NODE_CHECK","NODE_CHECK_CHANGE"],"mappings":"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"}
1
+ {"version":3,"file":"useCheck.js","sources":["../../../../../../../packages/components/tree-v2/src/composables/useCheck.ts"],"sourcesContent":["import { getCurrentInstance, nextTick, ref, watch } from 'vue'\nimport {\n NODE_CHECK,\n NODE_CHECK_CHANGE,\n SetOperationEnum,\n} from '../virtual-tree'\n\nimport type { CheckboxValueType } from '@element-plus/components/checkbox'\nimport type { Ref } from 'vue'\nimport type { Tree, TreeKey, TreeNode, TreeNodeData, TreeProps } from '../types'\n\nexport function useCheck(props: TreeProps, tree: Ref<Tree | undefined>) {\n const checkedKeys = ref<Set<TreeKey>>(new Set())\n const indeterminateKeys = ref<Set<TreeKey>>(new Set())\n const { emit } = getCurrentInstance()!\n\n watch(\n [() => tree.value, () => props.defaultCheckedKeys],\n () => {\n return nextTick(() => {\n _setCheckedKeys(props.defaultCheckedKeys)\n })\n },\n {\n immediate: true,\n }\n )\n\n const updateCheckedKeys = () => {\n if (!tree.value || !props.showCheckbox || props.checkStrictly) {\n return\n }\n const { levelTreeNodeMap, maxLevel } = tree.value\n const checkedKeySet = checkedKeys.value\n const indeterminateKeySet = new Set<TreeKey>()\n // It is easier to determine the indeterminate state by\n // traversing from bottom to top\n // leaf nodes not have indeterminate status and can be skipped\n for (let level = maxLevel; level >= 1; --level) {\n const nodes = levelTreeNodeMap.get(level)\n if (!nodes) continue\n nodes.forEach((node) => {\n const children = node.children\n let isEffectivelyChecked =\n !node.isLeaf || node.disabled || checkedKeySet.has(node.key)\n if (children) {\n // Whether all child nodes are selected\n let allChecked = true\n // Whether a child node is selected\n let hasChecked = false\n for (const childNode of children) {\n const key = childNode.key\n if (!childNode.isEffectivelyChecked) {\n isEffectivelyChecked = false\n }\n if (checkedKeySet.has(key)) {\n hasChecked = true\n } else if (indeterminateKeySet.has(key)) {\n allChecked = false\n hasChecked = true\n break\n } else {\n allChecked = false\n }\n }\n if (allChecked) {\n checkedKeySet.add(node.key)\n } else if (hasChecked) {\n indeterminateKeySet.add(node.key)\n checkedKeySet.delete(node.key)\n } else {\n checkedKeySet.delete(node.key)\n indeterminateKeySet.delete(node.key)\n }\n }\n node.isEffectivelyChecked = isEffectivelyChecked\n })\n }\n indeterminateKeys.value = indeterminateKeySet\n }\n\n const isChecked = (node: TreeNode) => checkedKeys.value.has(node.key)\n\n const isIndeterminate = (node: TreeNode) =>\n indeterminateKeys.value.has(node.key)\n\n const toggleCheckbox = (\n node: TreeNode,\n isChecked: CheckboxValueType,\n nodeClick = true,\n immediateUpdate = true\n ) => {\n const checkedKeySet = checkedKeys.value\n const children = node.children\n if (!props.checkStrictly && nodeClick && children?.length) {\n isChecked = children.some((node) => !node.isEffectivelyChecked)\n }\n\n const toggle = (node: TreeNode, checked: CheckboxValueType) => {\n checkedKeySet[checked ? SetOperationEnum.ADD : SetOperationEnum.DELETE](\n node.key\n )\n const children = node.children\n if (!props.checkStrictly && children) {\n children.forEach((childNode) => {\n if (!childNode.disabled || childNode.children) {\n toggle(childNode, checked)\n }\n })\n }\n }\n toggle(node, isChecked)\n if (immediateUpdate) {\n updateCheckedKeys()\n }\n if (nodeClick) {\n afterNodeCheck(node, isChecked)\n }\n }\n\n const afterNodeCheck = (node: TreeNode, checked: CheckboxValueType) => {\n const { checkedNodes, checkedKeys } = getChecked()\n const { halfCheckedNodes, halfCheckedKeys } = getHalfChecked()\n emit(NODE_CHECK, node.data, {\n checkedKeys,\n checkedNodes,\n halfCheckedKeys,\n halfCheckedNodes,\n })\n emit(NODE_CHECK_CHANGE, node.data, checked)\n }\n\n // expose\n function getCheckedKeys(leafOnly = false): TreeKey[] {\n return getChecked(leafOnly).checkedKeys\n }\n\n function getCheckedNodes(leafOnly = false): TreeNodeData[] {\n return getChecked(leafOnly).checkedNodes\n }\n\n function getHalfCheckedKeys(): TreeKey[] {\n return getHalfChecked().halfCheckedKeys\n }\n\n function getHalfCheckedNodes(): TreeNodeData[] {\n return getHalfChecked().halfCheckedNodes\n }\n\n function getChecked(leafOnly = false): {\n checkedKeys: TreeKey[]\n checkedNodes: TreeNodeData[]\n } {\n const checkedNodes: TreeNodeData[] = []\n const keys: TreeKey[] = []\n if (tree?.value && props.showCheckbox) {\n const { treeNodeMap } = tree.value\n checkedKeys.value.forEach((key) => {\n const node = treeNodeMap.get(key)\n if (node && (!leafOnly || (leafOnly && node.isLeaf))) {\n keys.push(key)\n checkedNodes.push(node.data)\n }\n })\n }\n return {\n checkedKeys: keys,\n checkedNodes,\n }\n }\n\n function getHalfChecked(): {\n halfCheckedKeys: TreeKey[]\n halfCheckedNodes: TreeNodeData[]\n } {\n const halfCheckedNodes: TreeNodeData[] = []\n const halfCheckedKeys: TreeKey[] = []\n if (tree?.value && props.showCheckbox) {\n const { treeNodeMap } = tree.value\n indeterminateKeys.value.forEach((key) => {\n const node = treeNodeMap.get(key)\n if (node) {\n halfCheckedKeys.push(key)\n halfCheckedNodes.push(node.data)\n }\n })\n }\n return {\n halfCheckedNodes,\n halfCheckedKeys,\n }\n }\n\n function setCheckedKeys(keys: TreeKey[]) {\n checkedKeys.value.clear()\n indeterminateKeys.value.clear()\n nextTick(() => {\n _setCheckedKeys(keys)\n })\n }\n\n function setChecked(key: TreeKey, isChecked: boolean) {\n if (tree?.value && props.showCheckbox) {\n const node = tree.value.treeNodeMap.get(key)\n if (node) {\n toggleCheckbox(node, isChecked, false)\n }\n }\n }\n\n function _setCheckedKeys(keys: TreeKey[]) {\n if (tree?.value) {\n const { treeNodeMap } = tree.value\n if (props.showCheckbox && treeNodeMap && keys?.length > 0) {\n for (const key of keys) {\n const node = treeNodeMap.get(key)\n if (node && !isChecked(node)) {\n toggleCheckbox(node, true, false, false)\n }\n }\n updateCheckedKeys()\n }\n }\n }\n\n return {\n updateCheckedKeys,\n toggleCheckbox,\n isChecked,\n isIndeterminate,\n // expose\n getCheckedKeys,\n getCheckedNodes,\n getHalfCheckedKeys,\n getHalfCheckedNodes,\n setChecked,\n setCheckedKeys,\n }\n}\n"],"names":["ref","getCurrentInstance","watch","nextTick","SetOperationEnum","NODE_CHECK","NODE_CHECK_CHANGE"],"mappings":"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"}
@@ -24,6 +24,19 @@ export interface TreeNode {
24
24
  label?: string;
25
25
  isLeaf?: boolean;
26
26
  expanded?: boolean;
27
+ /**
28
+ * Determines whether the current tree node is effectively checked.
29
+ *
30
+ * Rules:
31
+ * 1. A disabled leaf node is always considered checked.
32
+ * 2. A non-disabled leaf node reflects its actual checked state.
33
+ * 3. A non-leaf node is considered checked only when:
34
+ * - All of its child nodes are effectively checked, and
35
+ * - Each child follows the same evaluation rules:
36
+ * - Disabled leaf nodes follow rule #1.
37
+ * - Non-leaf child nodes are recursively evaluated under this rule (#3).
38
+ */
39
+ isEffectivelyChecked?: boolean;
27
40
  }
28
41
  export interface TreeContext {
29
42
  ctx: Omit<SetupContext<typeof treeEmits>, 'expose' | 'attrs'>;
@@ -6,7 +6,7 @@ var upload$1 = require('./src/upload2.js');
6
6
  var upload = require('./src/upload.js');
7
7
  var uploadContent = require('./src/upload-content.js');
8
8
  var uploadList = require('./src/upload-list.js');
9
- var uploadDragger = require('./src/upload-dragger2.js');
9
+ var uploadDragger = require('./src/upload-dragger.js');
10
10
  var constants = require('./src/constants.js');
11
11
  var install = require('../../utils/vue/install.js');
12
12
 
@@ -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');
@@ -2,68 +2,16 @@
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 __default__ = vue.defineComponent({
15
- name: COMPONENT_NAME
8
+ const uploadDraggerProps = runtime.buildProps({
9
+ disabled: Boolean
16
10
  });
17
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
18
- ...__default__,
19
- props: uploadDragger.uploadDraggerProps,
20
- emits: uploadDragger.uploadDraggerEmits,
21
- setup(__props, { emit }) {
22
- const uploaderContext = vue.inject(constants.uploadContextKey);
23
- if (!uploaderContext) {
24
- error.throwError(COMPONENT_NAME, "usage: <el-upload><el-upload-dragger /></el-upload>");
25
- }
26
- const ns = index.useNamespace("upload");
27
- const dragover = vue.ref(false);
28
- const disabled = useFormCommonProps.useFormDisabled();
29
- const onDrop = (e) => {
30
- if (disabled.value)
31
- return;
32
- dragover.value = false;
33
- e.stopPropagation();
34
- const files = Array.from(e.dataTransfer.files);
35
- const items = e.dataTransfer.items || [];
36
- files.forEach((file, index) => {
37
- var _a;
38
- const item = items[index];
39
- const entry = (_a = item == null ? void 0 : item.webkitGetAsEntry) == null ? void 0 : _a.call(item);
40
- if (entry) {
41
- file.isDirectory = entry.isDirectory;
42
- }
43
- });
44
- emit("file", files);
45
- };
46
- const onDragover = () => {
47
- if (!disabled.value)
48
- dragover.value = true;
49
- };
50
- const onDragleave = (e) => {
51
- if (!e.currentTarget.contains(e.relatedTarget))
52
- dragover.value = false;
53
- };
54
- return (_ctx, _cache) => {
55
- return vue.openBlock(), vue.createElementBlock("div", {
56
- class: vue.normalizeClass([vue.unref(ns).b("dragger"), vue.unref(ns).is("dragover", dragover.value)]),
57
- onDrop: vue.withModifiers(onDrop, ["prevent"]),
58
- onDragover: vue.withModifiers(onDragover, ["prevent"]),
59
- onDragleave: vue.withModifiers(onDragleave, ["prevent"])
60
- }, [
61
- vue.renderSlot(_ctx.$slots, "default")
62
- ], 42, ["onDrop", "onDragover", "onDragleave"]);
63
- };
64
- }
65
- });
66
- var UploadDragger = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "upload-dragger.vue"]]);
11
+ const uploadDraggerEmits = {
12
+ file: (file) => shared.isArray(file)
13
+ };
67
14
 
68
- exports["default"] = UploadDragger;
15
+ exports.uploadDraggerEmits = uploadDraggerEmits;
16
+ exports.uploadDraggerProps = uploadDraggerProps;
69
17
  //# 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"],"mappings":";;;;;;;;;;;;;uCAuBc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;AAKA,IAAM,MAAA,eAAA,GAAkBA,WAAOC,0BAAgB,CAAA,CAAA;AAC/C,IAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,MAAAC,gBAAA,CAAA,cAAA,EAAA,qDAAA,CAAA,CAAA;AAAA,KACE;AAAA,IACA,MAAA,EAAA,GAAAC,kBAAA,CAAA,QAAA,CAAA,CAAA;AAAA,IACF,MAAA,QAAA,GAAAC,OAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IACF,MAAA,QAAA,GAAAC,kCAAA,EAAA,CAAA;AAEA,IAAM,MAAA;AACN,MAAM,IAAA,QAAA,CAAA;AACN,QAAA;AAEA,MAAM,QAAA,CAAA,KAAU,GAAiB,KAAA,CAAA;AAC/B,MAAA,CAAA,CAAA,eAAoB,EAAA,CAAA;AACpB,MAAA,MAAA,KAAiB,GAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AAEjB,MAAA,MAAkB,KAAA,GAAA,CAAA,CAAA,YAAA,CAAA,KAAA,IAAA,EAAA,CAAA;AAElB,MAAA,KAAA,CAAM,OAAQ,CAAA,CAAA,IAAA,EAAW,KAAA;AACzB,QAAA,IAAM,EAAQ,CAAA;AACd,QAAM,MAAA,IAAA,GAAS,KAAA,CAAM,KAAU,CAAA,CAAA;AAC7B,QAAM,MAAA,KAAA,SAAkB,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,gBAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACxB,QAAM,IAAA,KAAA,EAAA;AACN,UAAA,IAAW,CAAA,WAAA,GAAA,KAAA,CAAA,WAAA,CAAA;AACT,SAAA;AAAyB,OAC3B,CAAA,CAAA;AAAA,MACF,IAAC,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AACD,KAAA,CAAA;AAAkB,IACpB,MAAA,UAAA,GAAA,MAAA;AAEA,MAAA,IAAM,eAAmB;AACvB,QAAA,QAAK,CAAA,KAAgB,GAAA,IAAA,CAAA;AAAiB,KACxC,CAAA;AAEA,IAAM,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;;;;;;;;;;;;;;;;;"}
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: 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":";;;;;;;AACY,MAAC,kBAAkB,GAAGA,kBAAU,CAAC;AAC7C,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,kBAAkB,GAAG;AAClC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAKC,cAAO,CAAC,IAAI,CAAC;AAC/B;;;;;"}
@@ -2,16 +2,68 @@
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 constants = require('./constants.js');
8
+ var uploadDragger = require('./upload-dragger.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');
7
12
 
8
- const uploadDraggerProps = runtime.buildProps({
9
- disabled: Boolean
13
+ const COMPONENT_NAME = "ElUploadDrag";
14
+ const __default__ = vue.defineComponent({
15
+ name: COMPONENT_NAME
10
16
  });
11
- const uploadDraggerEmits = {
12
- file: (file) => shared.isArray(file)
13
- };
17
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
18
+ ...__default__,
19
+ props: uploadDragger.uploadDraggerProps,
20
+ emits: uploadDragger.uploadDraggerEmits,
21
+ setup(__props, { emit }) {
22
+ const uploaderContext = vue.inject(constants.uploadContextKey);
23
+ if (!uploaderContext) {
24
+ error.throwError(COMPONENT_NAME, "usage: <el-upload><el-upload-dragger /></el-upload>");
25
+ }
26
+ const ns = index.useNamespace("upload");
27
+ const dragover = vue.ref(false);
28
+ const disabled = useFormCommonProps.useFormDisabled();
29
+ const onDrop = (e) => {
30
+ if (disabled.value)
31
+ return;
32
+ dragover.value = false;
33
+ e.stopPropagation();
34
+ const files = Array.from(e.dataTransfer.files);
35
+ const items = e.dataTransfer.items || [];
36
+ files.forEach((file, index) => {
37
+ var _a;
38
+ const item = items[index];
39
+ const entry = (_a = item == null ? void 0 : item.webkitGetAsEntry) == null ? void 0 : _a.call(item);
40
+ if (entry) {
41
+ file.isDirectory = entry.isDirectory;
42
+ }
43
+ });
44
+ emit("file", files);
45
+ };
46
+ const onDragover = () => {
47
+ if (!disabled.value)
48
+ dragover.value = true;
49
+ };
50
+ const onDragleave = (e) => {
51
+ if (!e.currentTarget.contains(e.relatedTarget))
52
+ dragover.value = false;
53
+ };
54
+ return (_ctx, _cache) => {
55
+ return vue.openBlock(), vue.createElementBlock("div", {
56
+ class: vue.normalizeClass([vue.unref(ns).b("dragger"), vue.unref(ns).is("dragover", dragover.value)]),
57
+ onDrop: vue.withModifiers(onDrop, ["prevent"]),
58
+ onDragover: vue.withModifiers(onDragover, ["prevent"]),
59
+ onDragleave: vue.withModifiers(onDragleave, ["prevent"])
60
+ }, [
61
+ vue.renderSlot(_ctx.$slots, "default")
62
+ ], 42, ["onDrop", "onDragover", "onDragleave"]);
63
+ };
64
+ }
65
+ });
66
+ var UploadDragger = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "upload-dragger.vue"]]);
14
67
 
15
- exports.uploadDraggerEmits = uploadDraggerEmits;
16
- exports.uploadDraggerProps = uploadDraggerProps;
68
+ exports["default"] = UploadDragger;
17
69
  //# 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: 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":";;;;;;;AACY,MAAC,kBAAkB,GAAGA,kBAAU,CAAC;AAC7C,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,kBAAkB,GAAG;AAClC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAKC,cAAO,CAAC,IAAI,CAAC;AAC/B;;;;;"}
1
+ {"version":3,"file":"upload-dragger2.js","sources":["../../../../../../packages/components/upload/src/upload-dragger.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('dragger'), ns.is('dragover', dragover)]\"\n @drop.prevent=\"onDrop\"\n @dragover.prevent=\"onDragover\"\n @dragleave.prevent=\"onDragleave\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject, ref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { throwError } from '@element-plus/utils/error'\nimport { uploadContextKey } from './constants'\nimport { uploadDraggerEmits, uploadDraggerProps } from './upload-dragger'\n\nimport type { UploadRawFile } from './upload'\n\nconst COMPONENT_NAME = 'ElUploadDrag'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\ndefineProps(uploadDraggerProps)\nconst emit = defineEmits(uploadDraggerEmits)\n\nconst uploaderContext = inject(uploadContextKey)\nif (!uploaderContext) {\n throwError(\n COMPONENT_NAME,\n 'usage: <el-upload><el-upload-dragger /></el-upload>'\n )\n}\n\nconst ns = useNamespace('upload')\nconst dragover = ref(false)\nconst disabled = useFormDisabled()\n\nconst onDrop = (e: DragEvent) => {\n if (disabled.value) return\n dragover.value = false\n\n e.stopPropagation()\n\n const files = Array.from(e.dataTransfer!.files) as UploadRawFile[]\n const items = e.dataTransfer!.items || []\n files.forEach((file, index) => {\n const item = items[index]\n const entry = item?.webkitGetAsEntry?.()\n if (entry) {\n file.isDirectory = entry.isDirectory\n }\n })\n emit('file', files)\n}\n\nconst onDragover = () => {\n if (!disabled.value) dragover.value = true\n}\n\nconst onDragleave = (e: DragEvent) => {\n if (!(e.currentTarget as Element).contains(e.relatedTarget as Element))\n dragover.value = false\n}\n</script>\n"],"names":["inject","uploadContextKey","throwError","useNamespace","ref","useFormDisabled"],"mappings":";;;;;;;;;;;;;uCAuBc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;AAKA,IAAM,MAAA,eAAA,GAAkBA,WAAOC,0BAAgB,CAAA,CAAA;AAC/C,IAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,MAAAC,gBAAA,CAAA,cAAA,EAAA,qDAAA,CAAA,CAAA;AAAA,KACE;AAAA,IACA,MAAA,EAAA,GAAAC,kBAAA,CAAA,QAAA,CAAA,CAAA;AAAA,IACF,MAAA,QAAA,GAAAC,OAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IACF,MAAA,QAAA,GAAAC,kCAAA,EAAA,CAAA;AAEA,IAAM,MAAA;AACN,MAAM,IAAA,QAAA,CAAA;AACN,QAAA;AAEA,MAAM,QAAA,CAAA,KAAU,GAAiB,KAAA,CAAA;AAC/B,MAAA,CAAA,CAAA,eAAoB,EAAA,CAAA;AACpB,MAAA,MAAA,KAAiB,GAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AAEjB,MAAA,MAAkB,KAAA,GAAA,CAAA,CAAA,YAAA,CAAA,KAAA,IAAA,EAAA,CAAA;AAElB,MAAA,KAAA,CAAM,OAAQ,CAAA,CAAA,IAAA,EAAW,KAAA;AACzB,QAAA,IAAM,EAAQ,CAAA;AACd,QAAM,MAAA,IAAA,GAAS,KAAA,CAAM,KAAU,CAAA,CAAA;AAC7B,QAAM,MAAA,KAAA,SAAkB,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,gBAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACxB,QAAM,IAAA,KAAA,EAAA;AACN,UAAA,IAAW,CAAA,WAAA,GAAA,KAAA,CAAA,WAAA,CAAA;AACT,SAAA;AAAyB,OAC3B,CAAA,CAAA;AAAA,MACF,IAAC,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AACD,KAAA,CAAA;AAAkB,IACpB,MAAA,UAAA,GAAA,MAAA;AAEA,MAAA,IAAM,eAAmB;AACvB,QAAA,QAAK,CAAA,KAAgB,GAAA,IAAA,CAAA;AAAiB,KACxC,CAAA;AAEA,IAAM,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;;;;;;;;;;;;;;;;;"}
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var watermark$1 = require('./src/watermark2.js');
6
- var watermark = require('./src/watermark.js');
5
+ var watermark$1 = require('./src/watermark.js');
6
+ var watermark = require('./src/watermark2.js');
7
7
  var install = require('../../utils/vue/install.js');
8
8
 
9
9
  const ElWatermark = install.withInstall(watermark$1["default"]);
@@ -24,6 +24,7 @@ function prepareCanvas(width, height, ratio = 1) {
24
24
  function useClips() {
25
25
  function getClips(content, rotate, ratio, width, height, font, gapX, gapY, space) {
26
26
  const [ctx, canvas, contentWidth, contentHeight] = prepareCanvas(width, height, ratio);
27
+ let baselineOffset = 0;
27
28
  if (content instanceof HTMLImageElement) {
28
29
  ctx.drawImage(content, 0, 0, contentWidth, contentHeight);
29
30
  } else {
@@ -42,6 +43,12 @@ function useClips() {
42
43
  ctx.textAlign = textAlign;
43
44
  ctx.textBaseline = textBaseline;
44
45
  const contents = shared.isArray(content) ? content : [content];
46
+ if (contents[0]) {
47
+ const argumentMetrics = ctx.measureText(contents[0]);
48
+ ctx.textBaseline = "top";
49
+ const topMetrics = ctx.measureText(contents[0]);
50
+ baselineOffset = argumentMetrics.actualBoundingBoxAscent - topMetrics.actualBoundingBoxAscent;
51
+ }
45
52
  contents == null ? void 0 : contents.forEach((item, index) => {
46
53
  const [alignRatio, spaceRatio] = TEXT_ALIGN_RATIO_MAP[textAlign];
47
54
  ctx.fillText(item != null ? item : "", contentWidth * alignRatio + space * spaceRatio, index * (mergedFontSize + font.fontGap * ratio));
@@ -89,7 +96,7 @@ function useClips() {
89
96
  const filledHeight = cutHeight + realGapY;
90
97
  const [fCtx, fCanvas] = prepareCanvas(filledWidth, filledHeight);
91
98
  function drawImg(targetX = 0, targetY = 0) {
92
- fCtx.drawImage(rCanvas, cutLeft, cutTop, cutWidth, cutHeight, targetX, targetY, cutWidth, cutHeight);
99
+ fCtx.drawImage(rCanvas, cutLeft, cutTop, cutWidth, cutHeight, targetX, targetY + baselineOffset, cutWidth, cutHeight);
93
100
  }
94
101
  drawImg();
95
102
  drawImg(cutWidth + realGapX, -cutHeight / 2 - realGapY / 2);
@@ -1 +1 @@
1
- {"version":3,"file":"useClips.js","sources":["../../../../../../packages/components/watermark/src/useClips.ts"],"sourcesContent":["import { isArray } from '@element-plus/utils'\n\nimport type { WatermarkProps } from './watermark'\n\n// [alignRatio, spaceRatio]\nconst TEXT_ALIGN_RATIO_MAP = {\n left: [0, 0.5],\n start: [0, 0.5],\n center: [0.5, 0],\n right: [1, -0.5],\n end: [1, -0.5],\n} as const\n\nfunction prepareCanvas(\n width: number,\n height: number,\n ratio = 1\n): [\n ctx: CanvasRenderingContext2D,\n canvas: HTMLCanvasElement,\n realWidth: number,\n realHeight: number,\n] {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')!\n const realWidth = width * ratio\n const realHeight = height * ratio\n canvas.setAttribute('width', `${realWidth}px`)\n canvas.setAttribute('height', `${realHeight}px`)\n ctx.save()\n\n return [ctx, canvas, realWidth, realHeight]\n}\n\n/**\n * Get the clips of text content.\n * This is a lazy hook function since SSR no need this\n */\nexport default function useClips() {\n // Get single clips\n function getClips(\n content: NonNullable<WatermarkProps['content']> | HTMLImageElement,\n rotate: number,\n ratio: number,\n width: number,\n height: number,\n font: Required<NonNullable<WatermarkProps['font']>>,\n gapX: number,\n gapY: number,\n space: number\n ): [dataURL: string, finalWidth: number, finalHeight: number] {\n // ================= Text / Image =================\n const [ctx, canvas, contentWidth, contentHeight] = prepareCanvas(\n width,\n height,\n ratio\n )\n\n if (content instanceof HTMLImageElement) {\n // Image\n ctx.drawImage(content, 0, 0, contentWidth, contentHeight)\n } else {\n // Text\n const {\n color,\n fontSize,\n fontStyle,\n fontWeight,\n fontFamily,\n textAlign,\n textBaseline,\n } = font\n const mergedFontSize = Number(fontSize) * ratio\n\n ctx.font = `${fontStyle} normal ${fontWeight} ${mergedFontSize}px/${height}px ${fontFamily}`\n ctx.fillStyle = color\n ctx.textAlign = textAlign\n ctx.textBaseline = textBaseline\n const contents = isArray(content) ? content : [content]\n contents?.forEach((item, index) => {\n const [alignRatio, spaceRatio] = TEXT_ALIGN_RATIO_MAP[textAlign]\n ctx.fillText(\n item ?? '',\n contentWidth * alignRatio + space * spaceRatio,\n index * (mergedFontSize + font.fontGap * ratio)\n )\n })\n }\n\n // ==================== Rotate ====================\n const angle = (Math.PI / 180) * Number(rotate)\n const maxSize = Math.max(width, height)\n const [rCtx, rCanvas, realMaxSize] = prepareCanvas(maxSize, maxSize, ratio)\n\n // Copy from `ctx` and rotate\n rCtx.translate(realMaxSize / 2, realMaxSize / 2)\n rCtx.rotate(angle)\n if (contentWidth > 0 && contentHeight > 0) {\n rCtx.drawImage(canvas, -contentWidth / 2, -contentHeight / 2)\n }\n\n // Get boundary of rotated text\n function getRotatePos(x: number, y: number) {\n const targetX = x * Math.cos(angle) - y * Math.sin(angle)\n const targetY = x * Math.sin(angle) + y * Math.cos(angle)\n return [targetX, targetY]\n }\n\n let left = 0\n let right = 0\n let top = 0\n let bottom = 0\n\n const halfWidth = contentWidth / 2\n const halfHeight = contentHeight / 2\n const points = [\n [0 - halfWidth, 0 - halfHeight],\n [0 + halfWidth, 0 - halfHeight],\n [0 + halfWidth, 0 + halfHeight],\n [0 - halfWidth, 0 + halfHeight],\n ]\n points.forEach(([x, y]) => {\n const [targetX, targetY] = getRotatePos(x, y)\n left = Math.min(left, targetX)\n right = Math.max(right, targetX)\n top = Math.min(top, targetY)\n bottom = Math.max(bottom, targetY)\n })\n\n const cutLeft = left + realMaxSize / 2\n const cutTop = top + realMaxSize / 2\n const cutWidth = right - left\n const cutHeight = bottom - top\n\n // ================ Fill Alternate ================\n const realGapX = gapX * ratio\n const realGapY = gapY * ratio\n const filledWidth = (cutWidth + realGapX) * 2\n const filledHeight = cutHeight + realGapY\n\n const [fCtx, fCanvas] = prepareCanvas(filledWidth, filledHeight)\n\n function drawImg(targetX = 0, targetY = 0) {\n fCtx.drawImage(\n rCanvas,\n cutLeft,\n cutTop,\n cutWidth,\n cutHeight,\n targetX,\n targetY,\n cutWidth,\n cutHeight\n )\n }\n drawImg()\n drawImg(cutWidth + realGapX, -cutHeight / 2 - realGapY / 2)\n drawImg(cutWidth + realGapX, +cutHeight / 2 + realGapY / 2)\n\n return [fCanvas.toDataURL(), filledWidth / ratio, filledHeight / ratio]\n }\n\n return getClips\n}\n"],"names":["isArray"],"mappings":"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"}
1
+ {"version":3,"file":"useClips.js","sources":["../../../../../../packages/components/watermark/src/useClips.ts"],"sourcesContent":["import { isArray } from '@element-plus/utils'\n\nimport type { WatermarkProps } from './watermark'\n\n// [alignRatio, spaceRatio]\nconst TEXT_ALIGN_RATIO_MAP = {\n left: [0, 0.5],\n start: [0, 0.5],\n center: [0.5, 0],\n right: [1, -0.5],\n end: [1, -0.5],\n} as const\n\nfunction prepareCanvas(\n width: number,\n height: number,\n ratio = 1\n): [\n ctx: CanvasRenderingContext2D,\n canvas: HTMLCanvasElement,\n realWidth: number,\n realHeight: number,\n] {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')!\n const realWidth = width * ratio\n const realHeight = height * ratio\n canvas.setAttribute('width', `${realWidth}px`)\n canvas.setAttribute('height', `${realHeight}px`)\n ctx.save()\n\n return [ctx, canvas, realWidth, realHeight]\n}\n\n/**\n * Get the clips of text content.\n * This is a lazy hook function since SSR no need this\n */\nexport default function useClips() {\n // Get single clips\n function getClips(\n content: NonNullable<WatermarkProps['content']> | HTMLImageElement,\n rotate: number,\n ratio: number,\n width: number,\n height: number,\n font: Required<NonNullable<WatermarkProps['font']>>,\n gapX: number,\n gapY: number,\n space: number\n ): [dataURL: string, finalWidth: number, finalHeight: number] {\n // ================= Text / Image =================\n const [ctx, canvas, contentWidth, contentHeight] = prepareCanvas(\n width,\n height,\n ratio\n )\n let baselineOffset = 0\n if (content instanceof HTMLImageElement) {\n // Image\n ctx.drawImage(content, 0, 0, contentWidth, contentHeight)\n } else {\n // Text\n const {\n color,\n fontSize,\n fontStyle,\n fontWeight,\n fontFamily,\n textAlign,\n textBaseline,\n } = font\n const mergedFontSize = Number(fontSize) * ratio\n\n ctx.font = `${fontStyle} normal ${fontWeight} ${mergedFontSize}px/${height}px ${fontFamily}`\n ctx.fillStyle = color\n ctx.textAlign = textAlign\n ctx.textBaseline = textBaseline\n const contents = isArray(content) ? content : [content]\n if (contents[0]) {\n const argumentMetrics = ctx.measureText(contents[0])\n ctx.textBaseline = 'top'\n const topMetrics = ctx.measureText(contents[0])\n baselineOffset =\n argumentMetrics.actualBoundingBoxAscent -\n topMetrics.actualBoundingBoxAscent\n }\n contents?.forEach((item, index) => {\n const [alignRatio, spaceRatio] = TEXT_ALIGN_RATIO_MAP[textAlign]\n ctx.fillText(\n item ?? '',\n contentWidth * alignRatio + space * spaceRatio,\n index * (mergedFontSize + font.fontGap * ratio)\n )\n })\n }\n\n // ==================== Rotate ====================\n const angle = (Math.PI / 180) * Number(rotate)\n const maxSize = Math.max(width, height)\n const [rCtx, rCanvas, realMaxSize] = prepareCanvas(maxSize, maxSize, ratio)\n\n // Copy from `ctx` and rotate\n rCtx.translate(realMaxSize / 2, realMaxSize / 2)\n rCtx.rotate(angle)\n if (contentWidth > 0 && contentHeight > 0) {\n rCtx.drawImage(canvas, -contentWidth / 2, -contentHeight / 2)\n }\n\n // Get boundary of rotated text\n function getRotatePos(x: number, y: number) {\n const targetX = x * Math.cos(angle) - y * Math.sin(angle)\n const targetY = x * Math.sin(angle) + y * Math.cos(angle)\n return [targetX, targetY]\n }\n\n let left = 0\n let right = 0\n let top = 0\n let bottom = 0\n\n const halfWidth = contentWidth / 2\n const halfHeight = contentHeight / 2\n const points = [\n [0 - halfWidth, 0 - halfHeight],\n [0 + halfWidth, 0 - halfHeight],\n [0 + halfWidth, 0 + halfHeight],\n [0 - halfWidth, 0 + halfHeight],\n ]\n points.forEach(([x, y]) => {\n const [targetX, targetY] = getRotatePos(x, y)\n left = Math.min(left, targetX)\n right = Math.max(right, targetX)\n top = Math.min(top, targetY)\n bottom = Math.max(bottom, targetY)\n })\n\n const cutLeft = left + realMaxSize / 2\n const cutTop = top + realMaxSize / 2\n const cutWidth = right - left\n const cutHeight = bottom - top\n\n // ================ Fill Alternate ================\n const realGapX = gapX * ratio\n const realGapY = gapY * ratio\n const filledWidth = (cutWidth + realGapX) * 2\n const filledHeight = cutHeight + realGapY\n\n const [fCtx, fCanvas] = prepareCanvas(filledWidth, filledHeight)\n\n function drawImg(targetX = 0, targetY = 0) {\n fCtx.drawImage(\n rCanvas,\n cutLeft,\n cutTop,\n cutWidth,\n cutHeight,\n targetX,\n targetY + baselineOffset,\n cutWidth,\n cutHeight\n )\n }\n drawImg()\n drawImg(cutWidth + realGapX, -cutHeight / 2 - realGapY / 2)\n drawImg(cutWidth + realGapX, +cutHeight / 2 + realGapY / 2)\n\n return [fCanvas.toDataURL(), filledWidth / ratio, filledHeight / ratio]\n }\n\n return getClips\n}\n"],"names":["isArray"],"mappings":"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"}