@element-plus/nightly 0.0.20250115 → 0.0.20250117

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 (556) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +93 -62
  4. package/dist/index.full.min.js +12 -12
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +12 -12
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +93 -62
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lt.js +1 -1
  142. package/dist/locale/lt.min.js +1 -1
  143. package/dist/locale/lt.min.mjs +1 -1
  144. package/dist/locale/lt.mjs +1 -1
  145. package/dist/locale/lv.js +1 -1
  146. package/dist/locale/lv.min.js +1 -1
  147. package/dist/locale/lv.min.mjs +1 -1
  148. package/dist/locale/lv.mjs +1 -1
  149. package/dist/locale/mg.js +1 -1
  150. package/dist/locale/mg.min.js +1 -1
  151. package/dist/locale/mg.min.mjs +1 -1
  152. package/dist/locale/mg.mjs +1 -1
  153. package/dist/locale/mn.js +1 -1
  154. package/dist/locale/mn.min.js +1 -1
  155. package/dist/locale/mn.min.mjs +1 -1
  156. package/dist/locale/mn.mjs +1 -1
  157. package/dist/locale/ms.js +1 -1
  158. package/dist/locale/ms.min.js +1 -1
  159. package/dist/locale/ms.min.mjs +1 -1
  160. package/dist/locale/ms.mjs +1 -1
  161. package/dist/locale/my.js +1 -1
  162. package/dist/locale/my.min.js +1 -1
  163. package/dist/locale/my.min.mjs +1 -1
  164. package/dist/locale/my.mjs +1 -1
  165. package/dist/locale/nb-no.js +1 -1
  166. package/dist/locale/nb-no.min.js +1 -1
  167. package/dist/locale/nb-no.min.mjs +1 -1
  168. package/dist/locale/nb-no.mjs +1 -1
  169. package/dist/locale/nl.js +1 -1
  170. package/dist/locale/nl.min.js +1 -1
  171. package/dist/locale/nl.min.mjs +1 -1
  172. package/dist/locale/nl.mjs +1 -1
  173. package/dist/locale/no.js +1 -1
  174. package/dist/locale/no.min.js +1 -1
  175. package/dist/locale/no.min.mjs +1 -1
  176. package/dist/locale/no.mjs +1 -1
  177. package/dist/locale/pa.js +1 -1
  178. package/dist/locale/pa.min.js +1 -1
  179. package/dist/locale/pa.min.mjs +1 -1
  180. package/dist/locale/pa.mjs +1 -1
  181. package/dist/locale/pl.js +1 -1
  182. package/dist/locale/pl.min.js +1 -1
  183. package/dist/locale/pl.min.mjs +1 -1
  184. package/dist/locale/pl.mjs +1 -1
  185. package/dist/locale/pt-br.js +1 -1
  186. package/dist/locale/pt-br.min.js +1 -1
  187. package/dist/locale/pt-br.min.mjs +1 -1
  188. package/dist/locale/pt-br.mjs +1 -1
  189. package/dist/locale/pt.js +1 -1
  190. package/dist/locale/pt.min.js +1 -1
  191. package/dist/locale/pt.min.mjs +1 -1
  192. package/dist/locale/pt.mjs +1 -1
  193. package/dist/locale/ro.js +1 -1
  194. package/dist/locale/ro.min.js +1 -1
  195. package/dist/locale/ro.min.mjs +1 -1
  196. package/dist/locale/ro.mjs +1 -1
  197. package/dist/locale/ru.js +1 -1
  198. package/dist/locale/ru.min.js +1 -1
  199. package/dist/locale/ru.min.mjs +1 -1
  200. package/dist/locale/ru.mjs +1 -1
  201. package/dist/locale/sk.js +1 -1
  202. package/dist/locale/sk.min.js +1 -1
  203. package/dist/locale/sk.min.mjs +1 -1
  204. package/dist/locale/sk.mjs +1 -1
  205. package/dist/locale/sl.js +1 -1
  206. package/dist/locale/sl.min.js +1 -1
  207. package/dist/locale/sl.min.mjs +1 -1
  208. package/dist/locale/sl.mjs +1 -1
  209. package/dist/locale/sr.js +1 -1
  210. package/dist/locale/sr.min.js +1 -1
  211. package/dist/locale/sr.min.mjs +1 -1
  212. package/dist/locale/sr.mjs +1 -1
  213. package/dist/locale/sv.js +1 -1
  214. package/dist/locale/sv.min.js +1 -1
  215. package/dist/locale/sv.min.mjs +1 -1
  216. package/dist/locale/sv.mjs +1 -1
  217. package/dist/locale/sw.js +1 -1
  218. package/dist/locale/sw.min.js +1 -1
  219. package/dist/locale/sw.min.mjs +1 -1
  220. package/dist/locale/sw.mjs +1 -1
  221. package/dist/locale/ta.js +1 -1
  222. package/dist/locale/ta.min.js +1 -1
  223. package/dist/locale/ta.min.mjs +1 -1
  224. package/dist/locale/ta.mjs +1 -1
  225. package/dist/locale/te.js +191 -0
  226. package/dist/locale/te.min.js +2 -0
  227. package/dist/locale/te.min.js.map +1 -0
  228. package/dist/locale/te.min.mjs +2 -0
  229. package/dist/locale/te.min.mjs.map +1 -0
  230. package/dist/locale/te.mjs +183 -0
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/components/alert/index.mjs +2 -2
  276. package/es/components/alert/src/alert.mjs +36 -89
  277. package/es/components/alert/src/alert.mjs.map +1 -1
  278. package/es/components/alert/src/alert2.mjs +89 -36
  279. package/es/components/alert/src/alert2.mjs.map +1 -1
  280. package/es/components/backtop/index.mjs +2 -2
  281. package/es/components/backtop/src/backtop.mjs +21 -53
  282. package/es/components/backtop/src/backtop.mjs.map +1 -1
  283. package/es/components/backtop/src/backtop2.mjs +53 -21
  284. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  285. package/es/components/col/index.mjs +2 -2
  286. package/es/components/col/src/col.mjs +64 -43
  287. package/es/components/col/src/col.mjs.map +1 -1
  288. package/es/components/col/src/col2.mjs +43 -64
  289. package/es/components/col/src/col2.mjs.map +1 -1
  290. package/es/components/collapse/index.mjs +2 -2
  291. package/es/components/collapse/src/collapse-item.mjs +18 -90
  292. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  293. package/es/components/collapse/src/collapse-item2.mjs +90 -18
  294. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  295. package/es/components/countdown/index.mjs +2 -2
  296. package/es/components/countdown/src/countdown.mjs +79 -22
  297. package/es/components/countdown/src/countdown.mjs.map +1 -1
  298. package/es/components/countdown/src/countdown2.mjs +22 -79
  299. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  300. package/es/components/divider/index.mjs +2 -2
  301. package/es/components/divider/src/divider.mjs +16 -34
  302. package/es/components/divider/src/divider.mjs.map +1 -1
  303. package/es/components/divider/src/divider2.mjs +34 -16
  304. package/es/components/divider/src/divider2.mjs.map +1 -1
  305. package/es/components/form/index.mjs +4 -4
  306. package/es/components/form/src/form-item.mjs +319 -47
  307. package/es/components/form/src/form-item.mjs.map +1 -1
  308. package/es/components/form/src/form-item2.mjs +47 -319
  309. package/es/components/form/src/form-item2.mjs.map +1 -1
  310. package/es/components/form/src/form.mjs +53 -153
  311. package/es/components/form/src/form.mjs.map +1 -1
  312. package/es/components/form/src/form2.mjs +153 -53
  313. package/es/components/form/src/form2.mjs.map +1 -1
  314. package/es/components/image/src/image.d.ts +1 -0
  315. package/es/components/image/src/image.mjs +4 -0
  316. package/es/components/image/src/image.mjs.map +1 -1
  317. package/es/components/image/src/image.vue.d.ts +14 -0
  318. package/es/components/image/src/image2.mjs +9 -2
  319. package/es/components/image/src/image2.mjs.map +1 -1
  320. package/es/components/image-viewer/src/image-viewer.d.ts +1 -0
  321. package/es/components/image-viewer/src/image-viewer.mjs +4 -0
  322. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  323. package/es/components/image-viewer/src/image-viewer.vue.d.ts +19 -0
  324. package/es/components/image-viewer/src/image-viewer2.mjs +68 -54
  325. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  326. package/es/components/index.mjs +16 -16
  327. package/es/components/menu/index.mjs +2 -2
  328. package/es/components/menu/src/menu-item.mjs +96 -14
  329. package/es/components/menu/src/menu-item.mjs.map +1 -1
  330. package/es/components/menu/src/menu-item2.mjs +14 -96
  331. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  332. package/es/components/message/index.mjs +1 -1
  333. package/es/components/message/src/message.mjs +145 -91
  334. package/es/components/message/src/message.mjs.map +1 -1
  335. package/es/components/message/src/message2.mjs +91 -145
  336. package/es/components/message/src/message2.mjs.map +1 -1
  337. package/es/components/message/src/method.mjs +2 -2
  338. package/es/components/pagination/src/components/jumper.mjs +58 -7
  339. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  340. package/es/components/pagination/src/components/jumper2.mjs +7 -58
  341. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  342. package/es/components/pagination/src/components/prev.mjs +35 -17
  343. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  344. package/es/components/pagination/src/components/prev2.mjs +17 -35
  345. package/es/components/pagination/src/components/prev2.mjs.map +1 -1
  346. package/es/components/pagination/src/pagination.mjs +2 -2
  347. package/es/components/popover/index.mjs +2 -2
  348. package/es/components/popover/src/popover.mjs +64 -110
  349. package/es/components/popover/src/popover.mjs.map +1 -1
  350. package/es/components/popover/src/popover2.mjs +110 -64
  351. package/es/components/popover/src/popover2.mjs.map +1 -1
  352. package/es/components/scrollbar/index.mjs +2 -2
  353. package/es/components/scrollbar/src/scrollbar.mjs +55 -170
  354. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  355. package/es/components/scrollbar/src/scrollbar2.mjs +170 -55
  356. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  357. package/es/components/slider/index.mjs +2 -2
  358. package/es/components/slider/src/slider.mjs +238 -88
  359. package/es/components/slider/src/slider.mjs.map +1 -1
  360. package/es/components/slider/src/slider2.mjs +88 -238
  361. package/es/components/slider/src/slider2.mjs.map +1 -1
  362. package/es/components/steps/index.mjs +2 -2
  363. package/es/components/steps/src/steps.mjs +35 -38
  364. package/es/components/steps/src/steps.mjs.map +1 -1
  365. package/es/components/steps/src/steps2.mjs +38 -35
  366. package/es/components/steps/src/steps2.mjs.map +1 -1
  367. package/es/components/switch/index.mjs +2 -2
  368. package/es/components/switch/src/switch.mjs +228 -72
  369. package/es/components/switch/src/switch.mjs.map +1 -1
  370. package/es/components/switch/src/switch2.mjs +72 -228
  371. package/es/components/switch/src/switch2.mjs.map +1 -1
  372. package/es/components/table/src/table-footer/index.d.ts +2 -0
  373. package/es/components/table/src/table-footer/index.mjs +8 -2
  374. package/es/components/table/src/table-footer/index.mjs.map +1 -1
  375. package/es/components/teleport/index.mjs +2 -2
  376. package/es/components/teleport/src/teleport.mjs +8 -18
  377. package/es/components/teleport/src/teleport.mjs.map +1 -1
  378. package/es/components/teleport/src/teleport2.mjs +18 -8
  379. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  380. package/es/components/tooltip/index.mjs +2 -2
  381. package/es/components/tooltip/src/tooltip.mjs +30 -166
  382. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  383. package/es/components/tooltip/src/tooltip2.mjs +166 -30
  384. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  385. package/es/components/tooltip-v2/index.mjs +1 -1
  386. package/es/components/tooltip-v2/src/content2.mjs +1 -1
  387. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  388. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  389. package/es/components/tooltip-v2/src/trigger.mjs +12 -89
  390. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  391. package/es/components/tooltip-v2/src/trigger2.mjs +89 -12
  392. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  393. package/es/components/tour/src/mask.mjs +18 -75
  394. package/es/components/tour/src/mask.mjs.map +1 -1
  395. package/es/components/tour/src/mask2.mjs +75 -18
  396. package/es/components/tour/src/mask2.mjs.map +1 -1
  397. package/es/components/tour/src/tour2.mjs +1 -1
  398. package/es/components/tree/src/tree-node.mjs +3 -5
  399. package/es/components/tree/src/tree-node.mjs.map +1 -1
  400. package/es/components/tree/src/tree-node.vue.d.ts +2 -1
  401. package/es/components/visual-hidden/index.mjs +3 -3
  402. package/es/components/visual-hidden/src/visual-hidden.mjs +6 -35
  403. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  404. package/es/components/visual-hidden/src/visual-hidden2.mjs +35 -6
  405. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  406. package/es/index.mjs +16 -16
  407. package/es/locale/lang/te.d.ts +180 -0
  408. package/es/locale/lang/te.mjs +182 -0
  409. package/es/locale/lang/te.mjs.map +1 -0
  410. package/es/version.d.ts +1 -1
  411. package/es/version.mjs +1 -1
  412. package/es/version.mjs.map +1 -1
  413. package/lib/components/alert/index.js +2 -2
  414. package/lib/components/alert/src/alert.js +37 -88
  415. package/lib/components/alert/src/alert.js.map +1 -1
  416. package/lib/components/alert/src/alert2.js +88 -37
  417. package/lib/components/alert/src/alert2.js.map +1 -1
  418. package/lib/components/backtop/index.js +2 -2
  419. package/lib/components/backtop/src/backtop.js +22 -53
  420. package/lib/components/backtop/src/backtop.js.map +1 -1
  421. package/lib/components/backtop/src/backtop2.js +53 -22
  422. package/lib/components/backtop/src/backtop2.js.map +1 -1
  423. package/lib/components/col/index.js +2 -2
  424. package/lib/components/col/src/col.js +64 -43
  425. package/lib/components/col/src/col.js.map +1 -1
  426. package/lib/components/col/src/col2.js +43 -64
  427. package/lib/components/col/src/col2.js.map +1 -1
  428. package/lib/components/collapse/index.js +2 -2
  429. package/lib/components/collapse/src/collapse-item.js +18 -90
  430. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  431. package/lib/components/collapse/src/collapse-item2.js +90 -18
  432. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  433. package/lib/components/countdown/index.js +2 -2
  434. package/lib/components/countdown/src/countdown.js +79 -23
  435. package/lib/components/countdown/src/countdown.js.map +1 -1
  436. package/lib/components/countdown/src/countdown2.js +23 -79
  437. package/lib/components/countdown/src/countdown2.js.map +1 -1
  438. package/lib/components/divider/index.js +2 -2
  439. package/lib/components/divider/src/divider.js +16 -34
  440. package/lib/components/divider/src/divider.js.map +1 -1
  441. package/lib/components/divider/src/divider2.js +34 -16
  442. package/lib/components/divider/src/divider2.js.map +1 -1
  443. package/lib/components/form/index.js +4 -4
  444. package/lib/components/form/src/form-item.js +323 -48
  445. package/lib/components/form/src/form-item.js.map +1 -1
  446. package/lib/components/form/src/form-item2.js +48 -323
  447. package/lib/components/form/src/form-item2.js.map +1 -1
  448. package/lib/components/form/src/form.js +54 -152
  449. package/lib/components/form/src/form.js.map +1 -1
  450. package/lib/components/form/src/form2.js +152 -54
  451. package/lib/components/form/src/form2.js.map +1 -1
  452. package/lib/components/image/src/image.d.ts +1 -0
  453. package/lib/components/image/src/image.js +4 -0
  454. package/lib/components/image/src/image.js.map +1 -1
  455. package/lib/components/image/src/image.vue.d.ts +14 -0
  456. package/lib/components/image/src/image2.js +8 -1
  457. package/lib/components/image/src/image2.js.map +1 -1
  458. package/lib/components/image-viewer/src/image-viewer.d.ts +1 -0
  459. package/lib/components/image-viewer/src/image-viewer.js +4 -0
  460. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  461. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +19 -0
  462. package/lib/components/image-viewer/src/image-viewer2.js +67 -53
  463. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  464. package/lib/components/index.js +16 -16
  465. package/lib/components/menu/index.js +2 -2
  466. package/lib/components/menu/src/menu-item.js +96 -15
  467. package/lib/components/menu/src/menu-item.js.map +1 -1
  468. package/lib/components/menu/src/menu-item2.js +15 -96
  469. package/lib/components/menu/src/menu-item2.js.map +1 -1
  470. package/lib/components/message/index.js +1 -1
  471. package/lib/components/message/src/message.js +144 -93
  472. package/lib/components/message/src/message.js.map +1 -1
  473. package/lib/components/message/src/message2.js +93 -144
  474. package/lib/components/message/src/message2.js.map +1 -1
  475. package/lib/components/message/src/method.js +2 -2
  476. package/lib/components/pagination/src/components/jumper.js +58 -7
  477. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  478. package/lib/components/pagination/src/components/jumper2.js +7 -58
  479. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  480. package/lib/components/pagination/src/components/prev.js +35 -18
  481. package/lib/components/pagination/src/components/prev.js.map +1 -1
  482. package/lib/components/pagination/src/components/prev2.js +18 -35
  483. package/lib/components/pagination/src/components/prev2.js.map +1 -1
  484. package/lib/components/pagination/src/pagination.js +2 -2
  485. package/lib/components/popover/index.js +2 -2
  486. package/lib/components/popover/src/popover.js +65 -110
  487. package/lib/components/popover/src/popover.js.map +1 -1
  488. package/lib/components/popover/src/popover2.js +110 -65
  489. package/lib/components/popover/src/popover2.js.map +1 -1
  490. package/lib/components/scrollbar/index.js +2 -2
  491. package/lib/components/scrollbar/src/scrollbar.js +56 -170
  492. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  493. package/lib/components/scrollbar/src/scrollbar2.js +170 -56
  494. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  495. package/lib/components/slider/index.js +2 -2
  496. package/lib/components/slider/src/slider.js +238 -89
  497. package/lib/components/slider/src/slider.js.map +1 -1
  498. package/lib/components/slider/src/slider2.js +89 -238
  499. package/lib/components/slider/src/slider2.js.map +1 -1
  500. package/lib/components/steps/index.js +2 -2
  501. package/lib/components/steps/src/steps.js +36 -38
  502. package/lib/components/steps/src/steps.js.map +1 -1
  503. package/lib/components/steps/src/steps2.js +38 -36
  504. package/lib/components/steps/src/steps2.js.map +1 -1
  505. package/lib/components/switch/index.js +2 -2
  506. package/lib/components/switch/src/switch.js +227 -72
  507. package/lib/components/switch/src/switch.js.map +1 -1
  508. package/lib/components/switch/src/switch2.js +72 -227
  509. package/lib/components/switch/src/switch2.js.map +1 -1
  510. package/lib/components/table/src/table-footer/index.d.ts +2 -0
  511. package/lib/components/table/src/table-footer/index.js +7 -1
  512. package/lib/components/table/src/table-footer/index.js.map +1 -1
  513. package/lib/components/teleport/index.js +2 -2
  514. package/lib/components/teleport/src/teleport.js +8 -18
  515. package/lib/components/teleport/src/teleport.js.map +1 -1
  516. package/lib/components/teleport/src/teleport2.js +18 -8
  517. package/lib/components/teleport/src/teleport2.js.map +1 -1
  518. package/lib/components/tooltip/index.js +2 -2
  519. package/lib/components/tooltip/src/tooltip.js +34 -166
  520. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  521. package/lib/components/tooltip/src/tooltip2.js +166 -34
  522. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  523. package/lib/components/tooltip-v2/index.js +1 -1
  524. package/lib/components/tooltip-v2/src/content2.js +1 -1
  525. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  526. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  527. package/lib/components/tooltip-v2/src/trigger.js +12 -89
  528. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  529. package/lib/components/tooltip-v2/src/trigger2.js +89 -12
  530. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  531. package/lib/components/tour/src/mask.js +18 -75
  532. package/lib/components/tour/src/mask.js.map +1 -1
  533. package/lib/components/tour/src/mask2.js +75 -18
  534. package/lib/components/tour/src/mask2.js.map +1 -1
  535. package/lib/components/tour/src/tour2.js +1 -1
  536. package/lib/components/tree/src/tree-node.js +3 -5
  537. package/lib/components/tree/src/tree-node.js.map +1 -1
  538. package/lib/components/tree/src/tree-node.vue.d.ts +2 -1
  539. package/lib/components/visual-hidden/index.js +2 -2
  540. package/lib/components/visual-hidden/src/visual-hidden.js +6 -35
  541. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  542. package/lib/components/visual-hidden/src/visual-hidden2.js +35 -6
  543. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  544. package/lib/index.js +16 -16
  545. package/lib/locale/lang/te.d.ts +180 -0
  546. package/lib/locale/lang/te.js +186 -0
  547. package/lib/locale/lang/te.js.map +1 -0
  548. package/lib/version.d.ts +1 -1
  549. package/lib/version.js +1 -1
  550. package/lib/version.js.map +1 -1
  551. package/package.json +2 -2
  552. package/tags.json +1 -1
  553. package/theme-chalk/el-image-viewer.css +1 -1
  554. package/theme-chalk/index.css +1 -1
  555. package/theme-chalk/src/image-viewer.scss +14 -2
  556. package/web-types.json +1 -1
@@ -1,4 +1,4 @@
1
- import { defineComponent, markRaw, ref, effectScope, shallowRef, computed, watch, nextTick, onMounted, openBlock, createBlock, unref, withCtx, createVNode, Transition, createElementVNode, normalizeClass, normalizeStyle, withModifiers, createCommentVNode, createElementBlock, Fragment, resolveDynamicComponent, renderList, withDirectives, vShow, renderSlot } from 'vue';
1
+ import { defineComponent, markRaw, ref, effectScope, shallowRef, computed, watch, nextTick, onMounted, openBlock, createBlock, unref, withCtx, createVNode, Transition, createElementVNode, normalizeClass, normalizeStyle, withModifiers, createCommentVNode, createElementBlock, Fragment, renderSlot, createTextVNode, toDisplayString, resolveDynamicComponent, renderList, withDirectives, vShow } from 'vue';
2
2
  import { useEventListener } from '@vueuse/core';
3
3
  import { throttle } from 'lodash-unified';
4
4
  import ElFocusTrap from '../../focus-trap/src/focus-trap.mjs';
@@ -54,15 +54,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
54
54
  const { urlList } = props;
55
55
  return urlList.length <= 1;
56
56
  });
57
- const isFirst = computed(() => {
58
- return activeIndex.value === 0;
59
- });
60
- const isLast = computed(() => {
61
- return activeIndex.value === props.urlList.length - 1;
62
- });
63
- const currentImg = computed(() => {
64
- return props.urlList[activeIndex.value];
65
- });
57
+ const isFirst = computed(() => activeIndex.value === 0);
58
+ const isLast = computed(() => activeIndex.value === props.urlList.length - 1);
59
+ const currentImg = computed(() => props.urlList[activeIndex.value]);
66
60
  const arrowPrevKls = computed(() => [
67
61
  ns.e("btn"),
68
62
  ns.e("prev"),
@@ -91,6 +85,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
91
85
  }
92
86
  return style;
93
87
  });
88
+ const progress = computed(() => `${activeIndex.value + 1} / ${props.urlList.length}`);
94
89
  function hide() {
95
90
  unregisterEventListener();
96
91
  emit("close");
@@ -323,6 +318,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
323
318
  })
324
319
  ], 2)
325
320
  ], 64)) : createCommentVNode("v-if", true),
321
+ _ctx.showProgress ? (openBlock(), createElementBlock("div", {
322
+ key: 1,
323
+ class: normalizeClass([unref(ns).e("btn"), unref(ns).e("progress")])
324
+ }, [
325
+ renderSlot(_ctx.$slots, "progress", {
326
+ activeIndex: activeIndex.value,
327
+ total: _ctx.urlList.length
328
+ }, () => [
329
+ createTextVNode(toDisplayString(unref(progress)), 1)
330
+ ])
331
+ ], 2)) : createCommentVNode("v-if", true),
326
332
  createCommentVNode(" ACTIONS "),
327
333
  createElementVNode("div", {
328
334
  class: normalizeClass([unref(ns).e("btn"), unref(ns).e("actions")])
@@ -330,50 +336,58 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
330
336
  createElementVNode("div", {
331
337
  class: normalizeClass(unref(ns).e("actions__inner"))
332
338
  }, [
333
- createVNode(unref(ElIcon), {
334
- onClick: ($event) => handleActions("zoomOut")
335
- }, {
336
- default: withCtx(() => [
337
- createVNode(unref(ZoomOut))
338
- ]),
339
- _: 1
340
- }, 8, ["onClick"]),
341
- createVNode(unref(ElIcon), {
342
- onClick: ($event) => handleActions("zoomIn")
343
- }, {
344
- default: withCtx(() => [
345
- createVNode(unref(ZoomIn))
346
- ]),
347
- _: 1
348
- }, 8, ["onClick"]),
349
- createElementVNode("i", {
350
- class: normalizeClass(unref(ns).e("actions__divider"))
351
- }, null, 2),
352
- createVNode(unref(ElIcon), { onClick: toggleMode }, {
353
- default: withCtx(() => [
354
- (openBlock(), createBlock(resolveDynamicComponent(unref(mode).icon)))
355
- ]),
356
- _: 1
357
- }),
358
- createElementVNode("i", {
359
- class: normalizeClass(unref(ns).e("actions__divider"))
360
- }, null, 2),
361
- createVNode(unref(ElIcon), {
362
- onClick: ($event) => handleActions("anticlockwise")
363
- }, {
364
- default: withCtx(() => [
365
- createVNode(unref(RefreshLeft))
366
- ]),
367
- _: 1
368
- }, 8, ["onClick"]),
369
- createVNode(unref(ElIcon), {
370
- onClick: ($event) => handleActions("clockwise")
371
- }, {
372
- default: withCtx(() => [
373
- createVNode(unref(RefreshRight))
374
- ]),
375
- _: 1
376
- }, 8, ["onClick"])
339
+ renderSlot(_ctx.$slots, "toolbar", {
340
+ actions: handleActions,
341
+ prev,
342
+ next,
343
+ reset: toggleMode,
344
+ activeIndex: activeIndex.value
345
+ }, () => [
346
+ createVNode(unref(ElIcon), {
347
+ onClick: ($event) => handleActions("zoomOut")
348
+ }, {
349
+ default: withCtx(() => [
350
+ createVNode(unref(ZoomOut))
351
+ ]),
352
+ _: 1
353
+ }, 8, ["onClick"]),
354
+ createVNode(unref(ElIcon), {
355
+ onClick: ($event) => handleActions("zoomIn")
356
+ }, {
357
+ default: withCtx(() => [
358
+ createVNode(unref(ZoomIn))
359
+ ]),
360
+ _: 1
361
+ }, 8, ["onClick"]),
362
+ createElementVNode("i", {
363
+ class: normalizeClass(unref(ns).e("actions__divider"))
364
+ }, null, 2),
365
+ createVNode(unref(ElIcon), { onClick: toggleMode }, {
366
+ default: withCtx(() => [
367
+ (openBlock(), createBlock(resolveDynamicComponent(unref(mode).icon)))
368
+ ]),
369
+ _: 1
370
+ }),
371
+ createElementVNode("i", {
372
+ class: normalizeClass(unref(ns).e("actions__divider"))
373
+ }, null, 2),
374
+ createVNode(unref(ElIcon), {
375
+ onClick: ($event) => handleActions("anticlockwise")
376
+ }, {
377
+ default: withCtx(() => [
378
+ createVNode(unref(RefreshLeft))
379
+ ]),
380
+ _: 1
381
+ }, 8, ["onClick"]),
382
+ createVNode(unref(ElIcon), {
383
+ onClick: ($event) => handleActions("clockwise")
384
+ }, {
385
+ default: withCtx(() => [
386
+ createVNode(unref(RefreshRight))
387
+ ]),
388
+ _: 1
389
+ }, 8, ["onClick"])
390
+ ])
377
391
  ], 2)
378
392
  ], 2),
379
393
  createCommentVNode(" CANVAS "),
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer2.mjs","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <el-teleport to=\"body\" :disabled=\"!teleported\">\n <transition name=\"viewer-fade\" appear>\n <div\n ref=\"wrapper\"\n :tabindex=\"-1\"\n :class=\"ns.e('wrapper')\"\n :style=\"{ zIndex }\"\n >\n <el-focus-trap\n loop\n trapped\n :focus-trap-el=\"wrapper\"\n focus-start-el=\"container\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <div :class=\"ns.e('mask')\" @click.self=\"hideOnClickModal && hide()\" />\n\n <!-- CLOSE -->\n <span :class=\"[ns.e('btn'), ns.e('close')]\" @click=\"hide\">\n <el-icon>\n <Close />\n </el-icon>\n </span>\n\n <!-- ARROW -->\n <template v-if=\"!isSingle\">\n <span :class=\"arrowPrevKls\" @click=\"prev\">\n <el-icon>\n <ArrowLeft />\n </el-icon>\n </span>\n <span :class=\"arrowNextKls\" @click=\"next\">\n <el-icon>\n <ArrowRight />\n </el-icon>\n </span>\n </template>\n <!-- ACTIONS -->\n <div :class=\"[ns.e('btn'), ns.e('actions')]\">\n <div :class=\"ns.e('actions__inner')\">\n <el-icon @click=\"handleActions('zoomOut')\">\n <ZoomOut />\n </el-icon>\n <el-icon @click=\"handleActions('zoomIn')\">\n <ZoomIn />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"toggleMode\">\n <component :is=\"mode.icon\" />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"handleActions('anticlockwise')\">\n <RefreshLeft />\n </el-icon>\n <el-icon @click=\"handleActions('clockwise')\">\n <RefreshRight />\n </el-icon>\n </div>\n </div>\n <!-- CANVAS -->\n <div :class=\"ns.e('canvas')\">\n <img\n v-for=\"(url, i) in urlList\"\n v-show=\"i === activeIndex\"\n :ref=\"(el) => (imgRefs[i] = el as HTMLImageElement)\"\n :key=\"url\"\n :src=\"url\"\n :style=\"imgStyle\"\n :class=\"ns.e('img')\"\n :crossorigin=\"crossorigin\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n />\n </div>\n <slot />\n </el-focus-trap>\n </div>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n effectScope,\n markRaw,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { throttle } from 'lodash-unified'\nimport { useLocale, useNamespace, useZIndex } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { keysOf } from '@element-plus/utils'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElTeleport from '@element-plus/components/teleport'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n ArrowLeft,\n ArrowRight,\n Close,\n FullScreen,\n RefreshLeft,\n RefreshRight,\n ScaleToOriginal,\n ZoomIn,\n ZoomOut,\n} from '@element-plus/icons-vue'\nimport { imageViewerEmits, imageViewerProps } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\nimport type { ImageViewerAction, ImageViewerMode } from './image-viewer'\n\nconst modes: Record<'CONTAIN' | 'ORIGINAL', ImageViewerMode> = {\n CONTAIN: {\n name: 'contain',\n icon: markRaw(FullScreen),\n },\n ORIGINAL: {\n name: 'original',\n icon: markRaw(ScaleToOriginal),\n },\n}\n\ndefineOptions({\n name: 'ElImageViewer',\n})\n\nconst props = defineProps(imageViewerProps)\nconst emit = defineEmits(imageViewerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('image-viewer')\nconst { nextZIndex } = useZIndex()\nconst wrapper = ref<HTMLDivElement>()\nconst imgRefs = ref<HTMLImageElement[]>([])\n\nconst scopeEventListener = effectScope()\n\nconst loading = ref(true)\nconst activeIndex = ref(props.initialIndex)\nconst mode = shallowRef<ImageViewerMode>(modes.CONTAIN)\nconst transform = ref({\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n})\nconst zIndex = ref(props.zIndex ?? nextZIndex())\n\nconst isSingle = computed(() => {\n const { urlList } = props\n return urlList.length <= 1\n})\n\nconst isFirst = computed(() => {\n return activeIndex.value === 0\n})\n\nconst isLast = computed(() => {\n return activeIndex.value === props.urlList.length - 1\n})\n\nconst currentImg = computed(() => {\n return props.urlList[activeIndex.value]\n})\n\nconst arrowPrevKls = computed(() => [\n ns.e('btn'),\n ns.e('prev'),\n ns.is('disabled', !props.infinite && isFirst.value),\n])\n\nconst arrowNextKls = computed(() => [\n ns.e('btn'),\n ns.e('next'),\n ns.is('disabled', !props.infinite && isLast.value),\n])\n\nconst imgStyle = computed(() => {\n const { scale, deg, offsetX, offsetY, enableTransition } = transform.value\n let translateX = offsetX / scale\n let translateY = offsetY / scale\n\n const radian = (deg * Math.PI) / 180\n const cosRadian = Math.cos(radian)\n const sinRadian = Math.sin(radian)\n translateX = translateX * cosRadian + translateY * sinRadian\n translateY = translateY * cosRadian - (offsetX / scale) * sinRadian\n\n const style: CSSProperties = {\n transform: `scale(${scale}) rotate(${deg}deg) translate(${translateX}px, ${translateY}px)`,\n transition: enableTransition ? 'transform .3s' : '',\n }\n if (mode.value.name === modes.CONTAIN.name) {\n style.maxWidth = style.maxHeight = '100%'\n }\n return style\n})\n\nfunction hide() {\n unregisterEventListener()\n emit('close')\n}\n\nfunction registerEventListener() {\n const keydownHandler = throttle((e: KeyboardEvent) => {\n switch (e.code) {\n // ESC\n case EVENT_CODE.esc:\n props.closeOnPressEscape && hide()\n break\n // SPACE\n case EVENT_CODE.space:\n toggleMode()\n break\n // LEFT_ARROW\n case EVENT_CODE.left:\n prev()\n break\n // UP_ARROW\n case EVENT_CODE.up:\n handleActions('zoomIn')\n break\n // RIGHT_ARROW\n case EVENT_CODE.right:\n next()\n break\n // DOWN_ARROW\n case EVENT_CODE.down:\n handleActions('zoomOut')\n break\n }\n })\n const mousewheelHandler = throttle((e: WheelEvent) => {\n const delta = e.deltaY || e.deltaX\n handleActions(delta < 0 ? 'zoomIn' : 'zoomOut', {\n zoomRate: props.zoomRate,\n enableTransition: false,\n })\n })\n\n scopeEventListener.run(() => {\n useEventListener(document, 'keydown', keydownHandler)\n useEventListener(document, 'wheel', mousewheelHandler)\n })\n}\n\nfunction unregisterEventListener() {\n scopeEventListener.stop()\n}\n\nfunction handleImgLoad() {\n loading.value = false\n}\n\nfunction handleImgError(e: Event) {\n loading.value = false\n ;(e.target as HTMLImageElement).alt = t('el.image.error')\n}\n\nfunction handleMouseDown(e: MouseEvent) {\n if (loading.value || e.button !== 0 || !wrapper.value) return\n transform.value.enableTransition = false\n\n const { offsetX, offsetY } = transform.value\n const startX = e.pageX\n const startY = e.pageY\n\n const dragHandler = throttle((ev: MouseEvent) => {\n transform.value = {\n ...transform.value,\n offsetX: offsetX + ev.pageX - startX,\n offsetY: offsetY + ev.pageY - startY,\n }\n })\n const removeMousemove = useEventListener(document, 'mousemove', dragHandler)\n useEventListener(document, 'mouseup', () => {\n removeMousemove()\n })\n\n e.preventDefault()\n}\n\nfunction reset() {\n transform.value = {\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n}\n\nfunction toggleMode() {\n if (loading.value) return\n\n const modeNames = keysOf(modes)\n const modeValues = Object.values(modes)\n const currentMode = mode.value.name\n const index = modeValues.findIndex((i) => i.name === currentMode)\n const nextIndex = (index + 1) % modeNames.length\n mode.value = modes[modeNames[nextIndex]]\n reset()\n}\n\nfunction setActiveItem(index: number) {\n const len = props.urlList.length\n activeIndex.value = (index + len) % len\n}\n\nfunction prev() {\n if (isFirst.value && !props.infinite) return\n setActiveItem(activeIndex.value - 1)\n}\n\nfunction next() {\n if (isLast.value && !props.infinite) return\n setActiveItem(activeIndex.value + 1)\n}\n\nfunction handleActions(action: ImageViewerAction, options = {}) {\n if (loading.value) return\n const { minScale, maxScale } = props\n const { zoomRate, rotateDeg, enableTransition } = {\n zoomRate: props.zoomRate,\n rotateDeg: 90,\n enableTransition: true,\n ...options,\n }\n switch (action) {\n case 'zoomOut':\n if (transform.value.scale > minScale) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale / zoomRate).toFixed(3)\n )\n }\n break\n case 'zoomIn':\n if (transform.value.scale < maxScale) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale * zoomRate).toFixed(3)\n )\n }\n break\n case 'clockwise':\n transform.value.deg += rotateDeg\n emit('rotate', transform.value.deg)\n break\n case 'anticlockwise':\n transform.value.deg -= rotateDeg\n emit('rotate', transform.value.deg)\n break\n }\n transform.value.enableTransition = enableTransition\n}\n\nfunction onFocusoutPrevented(event: CustomEvent) {\n if (event.detail?.focusReason === 'pointer') {\n event.preventDefault()\n }\n}\n\nfunction onCloseRequested() {\n if (props.closeOnPressEscape) {\n hide()\n }\n}\n\nwatch(currentImg, () => {\n nextTick(() => {\n const $img = imgRefs.value[0]\n if (!$img?.complete) {\n loading.value = true\n }\n })\n})\n\nwatch(activeIndex, (val) => {\n reset()\n emit('switch', val)\n})\n\nonMounted(() => {\n registerEventListener()\n})\n\ndefineExpose({\n /**\n * @description manually switch image\n */\n setActiveItem,\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-viewer2.mjs","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <el-teleport to=\"body\" :disabled=\"!teleported\">\n <transition name=\"viewer-fade\" appear>\n <div\n ref=\"wrapper\"\n :tabindex=\"-1\"\n :class=\"ns.e('wrapper')\"\n :style=\"{ zIndex }\"\n >\n <el-focus-trap\n loop\n trapped\n :focus-trap-el=\"wrapper\"\n focus-start-el=\"container\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <div :class=\"ns.e('mask')\" @click.self=\"hideOnClickModal && hide()\" />\n\n <!-- CLOSE -->\n <span :class=\"[ns.e('btn'), ns.e('close')]\" @click=\"hide\">\n <el-icon>\n <Close />\n </el-icon>\n </span>\n\n <!-- ARROW -->\n <template v-if=\"!isSingle\">\n <span :class=\"arrowPrevKls\" @click=\"prev\">\n <el-icon>\n <ArrowLeft />\n </el-icon>\n </span>\n <span :class=\"arrowNextKls\" @click=\"next\">\n <el-icon>\n <ArrowRight />\n </el-icon>\n </span>\n </template>\n <div v-if=\"showProgress\" :class=\"[ns.e('btn'), ns.e('progress')]\">\n <slot\n name=\"progress\"\n :active-index=\"activeIndex\"\n :total=\"urlList.length\"\n >\n {{ progress }}\n </slot>\n </div>\n <!-- ACTIONS -->\n <div :class=\"[ns.e('btn'), ns.e('actions')]\">\n <div :class=\"ns.e('actions__inner')\">\n <slot\n name=\"toolbar\"\n :actions=\"handleActions\"\n :prev=\"prev\"\n :next=\"next\"\n :reset=\"toggleMode\"\n :active-index=\"activeIndex\"\n >\n <el-icon @click=\"handleActions('zoomOut')\">\n <ZoomOut />\n </el-icon>\n <el-icon @click=\"handleActions('zoomIn')\">\n <ZoomIn />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"toggleMode\">\n <component :is=\"mode.icon\" />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"handleActions('anticlockwise')\">\n <RefreshLeft />\n </el-icon>\n <el-icon @click=\"handleActions('clockwise')\">\n <RefreshRight />\n </el-icon>\n </slot>\n </div>\n </div>\n <!-- CANVAS -->\n <div :class=\"ns.e('canvas')\">\n <img\n v-for=\"(url, i) in urlList\"\n v-show=\"i === activeIndex\"\n :ref=\"(el) => (imgRefs[i] = el as HTMLImageElement)\"\n :key=\"url\"\n :src=\"url\"\n :style=\"imgStyle\"\n :class=\"ns.e('img')\"\n :crossorigin=\"crossorigin\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n />\n </div>\n <slot />\n </el-focus-trap>\n </div>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n effectScope,\n markRaw,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { throttle } from 'lodash-unified'\nimport { useLocale, useNamespace, useZIndex } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { keysOf } from '@element-plus/utils'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElTeleport from '@element-plus/components/teleport'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n ArrowLeft,\n ArrowRight,\n Close,\n FullScreen,\n RefreshLeft,\n RefreshRight,\n ScaleToOriginal,\n ZoomIn,\n ZoomOut,\n} from '@element-plus/icons-vue'\nimport { imageViewerEmits, imageViewerProps } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\nimport type { ImageViewerAction, ImageViewerMode } from './image-viewer'\n\nconst modes: Record<'CONTAIN' | 'ORIGINAL', ImageViewerMode> = {\n CONTAIN: {\n name: 'contain',\n icon: markRaw(FullScreen),\n },\n ORIGINAL: {\n name: 'original',\n icon: markRaw(ScaleToOriginal),\n },\n}\n\ndefineOptions({\n name: 'ElImageViewer',\n})\n\nconst props = defineProps(imageViewerProps)\nconst emit = defineEmits(imageViewerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('image-viewer')\nconst { nextZIndex } = useZIndex()\nconst wrapper = ref<HTMLDivElement>()\nconst imgRefs = ref<HTMLImageElement[]>([])\n\nconst scopeEventListener = effectScope()\n\nconst loading = ref(true)\nconst activeIndex = ref(props.initialIndex)\nconst mode = shallowRef<ImageViewerMode>(modes.CONTAIN)\nconst transform = ref({\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n})\nconst zIndex = ref(props.zIndex ?? nextZIndex())\n\nconst isSingle = computed(() => {\n const { urlList } = props\n return urlList.length <= 1\n})\n\nconst isFirst = computed(() => activeIndex.value === 0)\n\nconst isLast = computed(() => activeIndex.value === props.urlList.length - 1)\n\nconst currentImg = computed(() => props.urlList[activeIndex.value])\n\nconst arrowPrevKls = computed(() => [\n ns.e('btn'),\n ns.e('prev'),\n ns.is('disabled', !props.infinite && isFirst.value),\n])\n\nconst arrowNextKls = computed(() => [\n ns.e('btn'),\n ns.e('next'),\n ns.is('disabled', !props.infinite && isLast.value),\n])\n\nconst imgStyle = computed(() => {\n const { scale, deg, offsetX, offsetY, enableTransition } = transform.value\n let translateX = offsetX / scale\n let translateY = offsetY / scale\n\n const radian = (deg * Math.PI) / 180\n const cosRadian = Math.cos(radian)\n const sinRadian = Math.sin(radian)\n translateX = translateX * cosRadian + translateY * sinRadian\n translateY = translateY * cosRadian - (offsetX / scale) * sinRadian\n\n const style: CSSProperties = {\n transform: `scale(${scale}) rotate(${deg}deg) translate(${translateX}px, ${translateY}px)`,\n transition: enableTransition ? 'transform .3s' : '',\n }\n if (mode.value.name === modes.CONTAIN.name) {\n style.maxWidth = style.maxHeight = '100%'\n }\n return style\n})\n\nconst progress = computed(\n () => `${activeIndex.value + 1} / ${props.urlList.length}`\n)\n\nfunction hide() {\n unregisterEventListener()\n emit('close')\n}\n\nfunction registerEventListener() {\n const keydownHandler = throttle((e: KeyboardEvent) => {\n switch (e.code) {\n // ESC\n case EVENT_CODE.esc:\n props.closeOnPressEscape && hide()\n break\n // SPACE\n case EVENT_CODE.space:\n toggleMode()\n break\n // LEFT_ARROW\n case EVENT_CODE.left:\n prev()\n break\n // UP_ARROW\n case EVENT_CODE.up:\n handleActions('zoomIn')\n break\n // RIGHT_ARROW\n case EVENT_CODE.right:\n next()\n break\n // DOWN_ARROW\n case EVENT_CODE.down:\n handleActions('zoomOut')\n break\n }\n })\n const mousewheelHandler = throttle((e: WheelEvent) => {\n const delta = e.deltaY || e.deltaX\n handleActions(delta < 0 ? 'zoomIn' : 'zoomOut', {\n zoomRate: props.zoomRate,\n enableTransition: false,\n })\n })\n\n scopeEventListener.run(() => {\n useEventListener(document, 'keydown', keydownHandler)\n useEventListener(document, 'wheel', mousewheelHandler)\n })\n}\n\nfunction unregisterEventListener() {\n scopeEventListener.stop()\n}\n\nfunction handleImgLoad() {\n loading.value = false\n}\n\nfunction handleImgError(e: Event) {\n loading.value = false\n ;(e.target as HTMLImageElement).alt = t('el.image.error')\n}\n\nfunction handleMouseDown(e: MouseEvent) {\n if (loading.value || e.button !== 0 || !wrapper.value) return\n transform.value.enableTransition = false\n\n const { offsetX, offsetY } = transform.value\n const startX = e.pageX\n const startY = e.pageY\n\n const dragHandler = throttle((ev: MouseEvent) => {\n transform.value = {\n ...transform.value,\n offsetX: offsetX + ev.pageX - startX,\n offsetY: offsetY + ev.pageY - startY,\n }\n })\n const removeMousemove = useEventListener(document, 'mousemove', dragHandler)\n useEventListener(document, 'mouseup', () => {\n removeMousemove()\n })\n\n e.preventDefault()\n}\n\nfunction reset() {\n transform.value = {\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n}\n\nfunction toggleMode() {\n if (loading.value) return\n\n const modeNames = keysOf(modes)\n const modeValues = Object.values(modes)\n const currentMode = mode.value.name\n const index = modeValues.findIndex((i) => i.name === currentMode)\n const nextIndex = (index + 1) % modeNames.length\n mode.value = modes[modeNames[nextIndex]]\n reset()\n}\n\nfunction setActiveItem(index: number) {\n const len = props.urlList.length\n activeIndex.value = (index + len) % len\n}\n\nfunction prev() {\n if (isFirst.value && !props.infinite) return\n setActiveItem(activeIndex.value - 1)\n}\n\nfunction next() {\n if (isLast.value && !props.infinite) return\n setActiveItem(activeIndex.value + 1)\n}\n\nfunction handleActions(action: ImageViewerAction, options = {}) {\n if (loading.value) return\n const { minScale, maxScale } = props\n const { zoomRate, rotateDeg, enableTransition } = {\n zoomRate: props.zoomRate,\n rotateDeg: 90,\n enableTransition: true,\n ...options,\n }\n switch (action) {\n case 'zoomOut':\n if (transform.value.scale > minScale) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale / zoomRate).toFixed(3)\n )\n }\n break\n case 'zoomIn':\n if (transform.value.scale < maxScale) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale * zoomRate).toFixed(3)\n )\n }\n break\n case 'clockwise':\n transform.value.deg += rotateDeg\n emit('rotate', transform.value.deg)\n break\n case 'anticlockwise':\n transform.value.deg -= rotateDeg\n emit('rotate', transform.value.deg)\n break\n }\n transform.value.enableTransition = enableTransition\n}\n\nfunction onFocusoutPrevented(event: CustomEvent) {\n if (event.detail?.focusReason === 'pointer') {\n event.preventDefault()\n }\n}\n\nfunction onCloseRequested() {\n if (props.closeOnPressEscape) {\n hide()\n }\n}\n\nwatch(currentImg, () => {\n nextTick(() => {\n const $img = imgRefs.value[0]\n if (!$img?.complete) {\n loading.value = true\n }\n })\n})\n\nwatch(activeIndex, (val) => {\n reset()\n emit('switch', val)\n})\n\nonMounted(() => {\n registerEventListener()\n})\n\ndefineExpose({\n /**\n * @description manually switch image\n */\n setActiveItem,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref"],"mappings":"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"}
@@ -83,10 +83,10 @@ export { ElPopover, ElPopoverDirective } from './popover/index.mjs';
83
83
  export { default as FixedSizeGrid } from './virtual-list/src/components/fixed-size-grid.mjs';
84
84
  export { default as DynamicSizeGrid } from './virtual-list/src/components/dynamic-size-grid.mjs';
85
85
  export { affixEmits, affixProps } from './affix/src/affix.mjs';
86
- export { alertEffects, alertEmits, alertProps } from './alert/src/alert2.mjs';
86
+ export { alertEffects, alertEmits, alertProps } from './alert/src/alert.mjs';
87
87
  export { autocompleteEmits, autocompleteProps } from './autocomplete/src/autocomplete.mjs';
88
88
  export { avatarEmits, avatarProps } from './avatar/src/avatar.mjs';
89
- export { backtopEmits, backtopProps } from './backtop/src/backtop2.mjs';
89
+ export { backtopEmits, backtopProps } from './backtop/src/backtop.mjs';
90
90
  export { badgeProps } from './badge/src/badge.mjs';
91
91
  export { breadcrumbProps } from './breadcrumb/src/breadcrumb.mjs';
92
92
  export { breadcrumbItemProps } from './breadcrumb/src/breadcrumb-item.mjs';
@@ -105,16 +105,16 @@ export { checkTagEmits, checkTagProps } from './check-tag/src/check-tag.mjs';
105
105
  export { checkboxGroupEmits, checkboxGroupProps } from './checkbox/src/checkbox-group.mjs';
106
106
  export { checkboxEmits, checkboxProps } from './checkbox/src/checkbox.mjs';
107
107
  export { checkboxGroupContextKey } from './checkbox/src/constants.mjs';
108
- export { colProps } from './col/src/col.mjs';
108
+ export { colProps } from './col/src/col2.mjs';
109
109
  export { collapseEmits, collapseProps, emitChangeFn } from './collapse/src/collapse.mjs';
110
- export { collapseItemProps } from './collapse/src/collapse-item2.mjs';
110
+ export { collapseItemProps } from './collapse/src/collapse-item.mjs';
111
111
  export { collapseContextKey } from './collapse/src/constants.mjs';
112
112
  export { colorPickerContextKey, colorPickerEmits, colorPickerProps } from './color-picker/src/color-picker.mjs';
113
113
  export { messageConfig } from './config-provider/src/config-provider.mjs';
114
114
  export { configProviderProps } from './config-provider/src/config-provider-props.mjs';
115
115
  export { configProviderContextKey } from './config-provider/src/constants.mjs';
116
116
  export { provideGlobalConfig, useGlobalComponentSettings, useGlobalConfig } from './config-provider/src/hooks/use-global-config.mjs';
117
- export { countdownEmits, countdownProps } from './countdown/src/countdown.mjs';
117
+ export { countdownEmits, countdownProps } from './countdown/src/countdown2.mjs';
118
118
  export { ROOT_PICKER_INJECTION_KEY } from './date-picker/src/constants.mjs';
119
119
  export { datePickerProps } from './date-picker/src/props/date-picker.mjs';
120
120
  export { descriptionProps } from './descriptions/src/description.mjs';
@@ -122,13 +122,13 @@ export { descriptionItemProps } from './descriptions/src/description-item.mjs';
122
122
  export { useDialog } from './dialog/src/use-dialog.mjs';
123
123
  export { dialogEmits, dialogProps } from './dialog/src/dialog.mjs';
124
124
  export { dialogInjectionKey } from './dialog/src/constants.mjs';
125
- export { dividerProps } from './divider/src/divider2.mjs';
125
+ export { dividerProps } from './divider/src/divider.mjs';
126
126
  export { drawerEmits, drawerProps } from './drawer/src/drawer.mjs';
127
127
  export { DROPDOWN_COLLECTION_INJECTION_KEY, DROPDOWN_COLLECTION_ITEM_INJECTION_KEY, ElCollection, ElCollectionItem, FIRST_KEYS, FIRST_LAST_KEYS, LAST_KEYS, dropdownItemProps, dropdownMenuProps, dropdownProps } from './dropdown/src/dropdown.mjs';
128
128
  export { DROPDOWN_INJECTION_KEY } from './dropdown/src/tokens.mjs';
129
129
  export { emptyProps } from './empty/src/empty.mjs';
130
- export { formEmits, formMetaProps, formProps } from './form/src/form2.mjs';
131
- export { formItemProps, formItemValidateStates } from './form/src/form-item.mjs';
130
+ export { formEmits, formMetaProps, formProps } from './form/src/form.mjs';
131
+ export { formItemProps, formItemValidateStates } from './form/src/form-item2.mjs';
132
132
  export { formContextKey, formItemContextKey } from './form/src/constants.mjs';
133
133
  export { useDisabled, useFormDisabled, useFormSize, useSize } from './form/src/hooks/use-form-common-props.mjs';
134
134
  export { useFormItem, useFormItemInputId } from './form/src/hooks/use-form-item.mjs';
@@ -140,7 +140,7 @@ export { inputNumberEmits, inputNumberProps } from './input-number/src/input-num
140
140
  export { inputTagEmits, inputTagProps } from './input-tag/src/input-tag.mjs';
141
141
  export { linkEmits, linkProps } from './link/src/link.mjs';
142
142
  export { menuEmits, menuProps } from './menu/src/menu.mjs';
143
- export { menuItemEmits, menuItemProps } from './menu/src/menu-item.mjs';
143
+ export { menuItemEmits, menuItemProps } from './menu/src/menu-item2.mjs';
144
144
  export { menuItemGroupProps } from './menu/src/menu-item-group.mjs';
145
145
  export { subMenuProps } from './menu/src/sub-menu.mjs';
146
146
  export { overlayEmits, overlayProps } from './overlay/src/overlay.mjs';
@@ -166,22 +166,22 @@ export { IconComponentMap, IconMap, resultProps } from './result/src/result.mjs'
166
166
  export { RowAlign, RowJustify, rowProps } from './row/src/row.mjs';
167
167
  export { rowContextKey } from './row/src/constants.mjs';
168
168
  export { BAR_MAP, GAP, renderThumbStyle } from './scrollbar/src/util.mjs';
169
- export { scrollbarEmits, scrollbarProps } from './scrollbar/src/scrollbar2.mjs';
169
+ export { scrollbarEmits, scrollbarProps } from './scrollbar/src/scrollbar.mjs';
170
170
  export { thumbProps } from './scrollbar/src/thumb.mjs';
171
171
  export { scrollbarContextKey } from './scrollbar/src/constants.mjs';
172
172
  export { selectGroupKey, selectKey } from './select/src/token.mjs';
173
173
  export { selectV2InjectionKey } from './select-v2/src/token.mjs';
174
174
  export { skeletonProps } from './skeleton/src/skeleton.mjs';
175
175
  export { skeletonItemProps } from './skeleton/src/skeleton-item.mjs';
176
- export { sliderEmits, sliderProps } from './slider/src/slider.mjs';
176
+ export { sliderEmits, sliderProps } from './slider/src/slider2.mjs';
177
177
  export { sliderContextKey } from './slider/src/constants.mjs';
178
178
  export { spaceProps } from './space/src/space.mjs';
179
179
  export { spaceItemProps } from './space/src/item.mjs';
180
180
  export { useSpace } from './space/src/use-space.mjs';
181
181
  export { statisticProps } from './statistic/src/statistic.mjs';
182
182
  export { stepProps } from './steps/src/item.mjs';
183
- export { stepsEmits, stepsProps } from './steps/src/steps2.mjs';
184
- export { switchEmits, switchProps } from './switch/src/switch.mjs';
183
+ export { stepsEmits, stepsProps } from './steps/src/steps.mjs';
184
+ export { switchEmits, switchProps } from './switch/src/switch2.mjs';
185
185
  export { Alignment as TableV2Alignment, FixedDir as TableV2FixedDir, SortOrder as TableV2SortOrder } from './table-v2/src/constants.mjs';
186
186
  export { default as TableV2 } from './table-v2/src/table-v2.mjs';
187
187
  export { placeholderSign as TableV2Placeholder } from './table-v2/src/private.mjs';
@@ -202,7 +202,7 @@ export { default as CommonPicker } from './time-picker/src/common/picker.mjs';
202
202
  export { default as TimePickPanel } from './time-picker/src/time-picker-com/panel-time-pick.mjs';
203
203
  export { timeSelectProps } from './time-select/src/time-select.mjs';
204
204
  export { timelineItemProps } from './timeline/src/timeline-item.mjs';
205
- export { tooltipEmits, useTooltipModelToggle, useTooltipModelToggleEmits, useTooltipModelToggleProps, useTooltipProps } from './tooltip/src/tooltip2.mjs';
205
+ export { tooltipEmits, useTooltipModelToggle, useTooltipModelToggleEmits, useTooltipModelToggleProps, useTooltipProps } from './tooltip/src/tooltip.mjs';
206
206
  export { useTooltipTriggerProps } from './tooltip/src/trigger.mjs';
207
207
  export { useTooltipContentProps } from './tooltip/src/content.mjs';
208
208
  export { TOOLTIP_INJECTION_KEY } from './tooltip/src/constants.mjs';
@@ -224,7 +224,7 @@ export { segmentedEmits, segmentedProps } from './segmented/src/segmented.mjs';
224
224
  export { mentionEmits, mentionProps } from './mention/src/mention.mjs';
225
225
  export { vLoading as ElLoadingDirective, vLoading } from './loading/src/directive.mjs';
226
226
  export { Loading as ElLoadingService } from './loading/src/service.mjs';
227
- export { messageDefaults, messageEmits, messageProps, messageTypes } from './message/src/message.mjs';
227
+ export { messageDefaults, messageEmits, messageProps, messageTypes } from './message/src/message2.mjs';
228
228
  export { notificationEmits, notificationProps, notificationTypes } from './notification/src/notification.mjs';
229
- export { popoverEmits, popoverProps } from './popover/src/popover2.mjs';
229
+ export { popoverEmits, popoverProps } from './popover/src/popover.mjs';
230
230
  //# sourceMappingURL=index.mjs.map
@@ -1,10 +1,10 @@
1
1
  import Menu from './src/menu.mjs';
2
2
  export { menuEmits, menuProps } from './src/menu.mjs';
3
- import MenuItem from './src/menu-item2.mjs';
3
+ import MenuItem from './src/menu-item.mjs';
4
4
  import MenuItemGroup from './src/menu-item-group2.mjs';
5
5
  import SubMenu from './src/sub-menu.mjs';
6
6
  export { subMenuProps } from './src/sub-menu.mjs';
7
- export { menuItemEmits, menuItemProps } from './src/menu-item.mjs';
7
+ export { menuItemEmits, menuItemProps } from './src/menu-item2.mjs';
8
8
  export { menuItemGroupProps } from './src/menu-item-group.mjs';
9
9
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
10
10
 
@@ -1,19 +1,101 @@
1
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
2
- import { isString, isArray } from '@vue/shared';
1
+ import { defineComponent, getCurrentInstance, inject, toRef, computed, reactive, onMounted, onBeforeUnmount, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, withCtx, renderSlot, createElementVNode, Fragment } from 'vue';
2
+ import { ElTooltip } from '../../tooltip/index.mjs';
3
+ import useMenu from './use-menu.mjs';
4
+ import { menuItemProps, menuItemEmits } from './menu-item2.mjs';
5
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
7
+ import { throwError } from '../../../utils/error.mjs';
3
8
 
4
- const menuItemProps = buildProps({
5
- index: {
6
- type: definePropType([String, null]),
7
- default: null
9
+ const COMPONENT_NAME = "ElMenuItem";
10
+ const _sfc_main = defineComponent({
11
+ name: COMPONENT_NAME,
12
+ components: {
13
+ ElTooltip
8
14
  },
9
- route: {
10
- type: definePropType([String, Object])
11
- },
12
- disabled: Boolean
15
+ props: menuItemProps,
16
+ emits: menuItemEmits,
17
+ setup(props, { emit }) {
18
+ const instance = getCurrentInstance();
19
+ const rootMenu = inject("rootMenu");
20
+ const nsMenu = useNamespace("menu");
21
+ const nsMenuItem = useNamespace("menu-item");
22
+ if (!rootMenu)
23
+ throwError(COMPONENT_NAME, "can not inject root menu");
24
+ const { parentMenu, indexPath } = useMenu(instance, toRef(props, "index"));
25
+ const subMenu = inject(`subMenu:${parentMenu.value.uid}`);
26
+ if (!subMenu)
27
+ throwError(COMPONENT_NAME, "can not inject sub menu");
28
+ const active = computed(() => props.index === rootMenu.activeIndex);
29
+ const item = reactive({
30
+ index: props.index,
31
+ indexPath,
32
+ active
33
+ });
34
+ const handleClick = () => {
35
+ if (!props.disabled) {
36
+ rootMenu.handleMenuItemClick({
37
+ index: props.index,
38
+ indexPath: indexPath.value,
39
+ route: props.route
40
+ });
41
+ emit("click", item);
42
+ }
43
+ };
44
+ onMounted(() => {
45
+ subMenu.addSubMenu(item);
46
+ rootMenu.addMenuItem(item);
47
+ });
48
+ onBeforeUnmount(() => {
49
+ subMenu.removeSubMenu(item);
50
+ rootMenu.removeMenuItem(item);
51
+ });
52
+ return {
53
+ parentMenu,
54
+ rootMenu,
55
+ active,
56
+ nsMenu,
57
+ nsMenuItem,
58
+ handleClick
59
+ };
60
+ }
13
61
  });
14
- const menuItemEmits = {
15
- click: (item) => isString(item.index) && isArray(item.indexPath)
16
- };
62
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
63
+ const _component_el_tooltip = resolveComponent("el-tooltip");
64
+ return openBlock(), createElementBlock("li", {
65
+ class: normalizeClass([
66
+ _ctx.nsMenuItem.b(),
67
+ _ctx.nsMenuItem.is("active", _ctx.active),
68
+ _ctx.nsMenuItem.is("disabled", _ctx.disabled)
69
+ ]),
70
+ role: "menuitem",
71
+ tabindex: "-1",
72
+ onClick: _ctx.handleClick
73
+ }, [
74
+ _ctx.parentMenu.type.name === "ElMenu" && _ctx.rootMenu.props.collapse && _ctx.$slots.title ? (openBlock(), createBlock(_component_el_tooltip, {
75
+ key: 0,
76
+ effect: _ctx.rootMenu.props.popperEffect,
77
+ placement: "right",
78
+ "fallback-placements": ["left"],
79
+ persistent: ""
80
+ }, {
81
+ content: withCtx(() => [
82
+ renderSlot(_ctx.$slots, "title")
83
+ ]),
84
+ default: withCtx(() => [
85
+ createElementVNode("div", {
86
+ class: normalizeClass(_ctx.nsMenu.be("tooltip", "trigger"))
87
+ }, [
88
+ renderSlot(_ctx.$slots, "default")
89
+ ], 2)
90
+ ]),
91
+ _: 3
92
+ }, 8, ["effect"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
93
+ renderSlot(_ctx.$slots, "default"),
94
+ renderSlot(_ctx.$slots, "title")
95
+ ], 64))
96
+ ], 10, ["onClick"]);
97
+ }
98
+ var MenuItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "menu-item.vue"]]);
17
99
 
18
- export { menuItemEmits, menuItemProps };
100
+ export { MenuItem as default };
19
101
  //# sourceMappingURL=menu-item.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.mjs","sources":["../../../../../../packages/components/menu/src/menu-item.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isArray,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport type { MenuItemRegistered } from './types'\n\nexport const menuItemProps = buildProps({\n /**\n * @description unique identification\n */\n index: {\n type: definePropType<string | null>([String, null]),\n default: null,\n },\n /**\n * @description Vue Router object\n */\n route: {\n type: definePropType<RouteLocationRaw>([String, Object]),\n },\n /**\n * @description whether disabled\n */\n disabled: Boolean,\n} as const)\nexport type MenuItemProps = ExtractPropTypes<typeof menuItemProps>\n\nexport const menuItemEmits = {\n click: (item: MenuItemRegistered) =>\n isString(item.index) && isArray(item.indexPath),\n}\nexport type MenuItemEmits = typeof menuItemEmits\n"],"names":[],"mappings":";;;AAMY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,KAAK,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;AAClE;;;;"}
1
+ {"version":3,"file":"menu-item.mjs","sources":["../../../../../../packages/components/menu/src/menu-item.vue"],"sourcesContent":["<template>\n <li\n :class=\"[\n nsMenuItem.b(),\n nsMenuItem.is('active', active),\n nsMenuItem.is('disabled', disabled),\n ]\"\n role=\"menuitem\"\n tabindex=\"-1\"\n @click=\"handleClick\"\n >\n <el-tooltip\n v-if=\"\n parentMenu.type.name === 'ElMenu' &&\n rootMenu.props.collapse &&\n $slots.title\n \"\n :effect=\"rootMenu.props.popperEffect\"\n placement=\"right\"\n :fallback-placements=\"['left']\"\n persistent\n >\n <template #content>\n <slot name=\"title\" />\n </template>\n <div :class=\"nsMenu.be('tooltip', 'trigger')\">\n <slot />\n </div>\n </el-tooltip>\n <template v-else>\n <slot />\n <slot name=\"title\" />\n </template>\n </li>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n reactive,\n toRef,\n} from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport useMenu from './use-menu'\nimport { menuItemEmits, menuItemProps } from './menu-item'\n\nimport type { MenuItemRegistered, MenuProvider, SubMenuProvider } from './types'\n\nconst COMPONENT_NAME = 'ElMenuItem'\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip,\n },\n\n props: menuItemProps,\n emits: menuItemEmits,\n\n setup(props, { emit }) {\n const instance = getCurrentInstance()!\n const rootMenu = inject<MenuProvider>('rootMenu')\n const nsMenu = useNamespace('menu')\n const nsMenuItem = useNamespace('menu-item')\n if (!rootMenu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\n const { parentMenu, indexPath } = useMenu(instance, toRef(props, 'index'))\n\n const subMenu = inject<SubMenuProvider>(`subMenu:${parentMenu.value.uid}`)\n if (!subMenu) throwError(COMPONENT_NAME, 'can not inject sub menu')\n\n const active = computed(() => props.index === rootMenu.activeIndex)\n const item: MenuItemRegistered = reactive({\n index: props.index,\n indexPath,\n active,\n })\n\n const handleClick = () => {\n if (!props.disabled) {\n rootMenu.handleMenuItemClick({\n index: props.index,\n indexPath: indexPath.value,\n route: props.route,\n })\n emit('click', item)\n }\n }\n\n onMounted(() => {\n subMenu.addSubMenu(item)\n rootMenu.addMenuItem(item)\n })\n\n onBeforeUnmount(() => {\n subMenu.removeSubMenu(item)\n rootMenu.removeMenuItem(item)\n })\n\n return {\n parentMenu,\n rootMenu,\n active,\n nsMenu,\n nsMenuItem,\n handleClick,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_createElementBlock","_normalizeClass","_openBlock","_createBlock","_withCtx","_createElementVNode"],"mappings":"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"}