@element-plus/nightly 0.0.20261001 → 0.0.20261003

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 (364) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +27 -13
  3. package/dist/index.full.min.js +3 -3
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +3 -3
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +27 -13
  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/autocomplete/src/autocomplete.d.ts +1 -1
  277. package/es/components/badge/src/badge.vue.d.ts +1 -1
  278. package/es/components/cascader/src/cascader.vue.d.ts +1 -1
  279. package/es/components/checkbox/src/checkbox-button.vue.d.ts +1 -1
  280. package/es/components/checkbox/src/checkbox.vue.d.ts +1 -1
  281. package/es/components/col/src/col.vue.d.ts +1 -1
  282. package/es/components/countdown/src/countdown.vue.d.ts +1 -1
  283. package/es/components/dialog/src/dialog.vue.d.ts +1 -1
  284. package/es/components/drawer/src/drawer.vue.d.ts +1 -1
  285. package/es/components/image/src/image.vue.d.ts +6 -1
  286. package/es/components/image/src/image.vue_vue_type_script_setup_true_lang.mjs +17 -9
  287. package/es/components/image/src/image.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  288. package/es/components/image/src/image2.mjs.map +1 -1
  289. package/es/components/image-viewer/src/image-viewer.vue.d.ts +7 -2
  290. package/es/components/image-viewer/src/image-viewer.vue_vue_type_script_setup_true_lang.mjs +8 -2
  291. package/es/components/image-viewer/src/image-viewer.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  292. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  293. package/es/components/input/src/input.d.ts +1 -1
  294. package/es/components/input-number/src/input-number.d.ts +1 -1
  295. package/es/components/input-number/src/input-number.vue.d.ts +1 -1
  296. package/es/components/mention/src/mention.d.ts +1 -1
  297. package/es/components/mention/src/mention.vue.d.ts +2 -2
  298. package/es/components/message/src/instance.d.ts +1 -1
  299. package/es/components/message/src/message.d.ts +1 -1
  300. package/es/components/notification/src/notification.d.ts +1 -1
  301. package/es/components/notification/src/notification.vue.d.ts +1 -1
  302. package/es/components/popover/src/popover.vue.d.ts +1 -1
  303. package/es/components/radio/src/radio-button.vue.d.ts +1 -1
  304. package/es/components/radio/src/radio-group.vue.d.ts +1 -1
  305. package/es/components/radio/src/radio.vue.d.ts +1 -1
  306. package/es/components/select/src/select.vue.d.ts +1 -1
  307. package/es/components/select-v2/src/select.vue.d.ts +1 -1
  308. package/es/components/statistic/src/statistic.vue.d.ts +2 -2
  309. package/es/components/table/src/filter-panel.vue.d.ts +3 -3
  310. package/es/components/table/src/table-header/index.d.ts +3 -3
  311. package/es/components/tour/src/mask.vue.d.ts +1 -1
  312. package/es/components/tree/src/tree-node.vue.d.ts +3 -3
  313. package/es/components/tree/src/tree.vue.d.ts +3 -3
  314. package/es/components/tree-select/src/tree-select.vue.d.ts +1 -1
  315. package/es/version.d.ts +1 -1
  316. package/es/version.mjs +1 -1
  317. package/es/version.mjs.map +1 -1
  318. package/lib/components/autocomplete/src/autocomplete.d.ts +1 -1
  319. package/lib/components/badge/src/badge.vue.d.ts +1 -1
  320. package/lib/components/cascader/src/cascader.vue.d.ts +1 -1
  321. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +1 -1
  322. package/lib/components/checkbox/src/checkbox.vue.d.ts +1 -1
  323. package/lib/components/col/src/col.vue.d.ts +1 -1
  324. package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
  325. package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
  326. package/lib/components/drawer/src/drawer.vue.d.ts +1 -1
  327. package/lib/components/image/src/image.vue.d.ts +6 -1
  328. package/lib/components/image/src/image.vue_vue_type_script_setup_true_lang.js +17 -9
  329. package/lib/components/image/src/image.vue_vue_type_script_setup_true_lang.js.map +1 -1
  330. package/lib/components/image/src/image2.js.map +1 -1
  331. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +7 -2
  332. package/lib/components/image-viewer/src/image-viewer.vue_vue_type_script_setup_true_lang.js +8 -2
  333. package/lib/components/image-viewer/src/image-viewer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  334. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  335. package/lib/components/input/src/input.d.ts +1 -1
  336. package/lib/components/input-number/src/input-number.d.ts +1 -1
  337. package/lib/components/input-number/src/input-number.vue.d.ts +1 -1
  338. package/lib/components/mention/src/mention.d.ts +1 -1
  339. package/lib/components/mention/src/mention.vue.d.ts +2 -2
  340. package/lib/components/message/src/instance.d.ts +1 -1
  341. package/lib/components/message/src/message.d.ts +1 -1
  342. package/lib/components/notification/src/notification.d.ts +1 -1
  343. package/lib/components/notification/src/notification.vue.d.ts +1 -1
  344. package/lib/components/popover/src/popover.vue.d.ts +1 -1
  345. package/lib/components/radio/src/radio-button.vue.d.ts +1 -1
  346. package/lib/components/radio/src/radio-group.vue.d.ts +1 -1
  347. package/lib/components/radio/src/radio.vue.d.ts +1 -1
  348. package/lib/components/select/src/select.vue.d.ts +1 -1
  349. package/lib/components/select-v2/src/select.vue.d.ts +1 -1
  350. package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
  351. package/lib/components/table/src/filter-panel.vue.d.ts +3 -3
  352. package/lib/components/table/src/table-header/index.d.ts +3 -3
  353. package/lib/components/tour/src/mask.vue.d.ts +1 -1
  354. package/lib/components/tree/src/tree-node.vue.d.ts +3 -3
  355. package/lib/components/tree/src/tree.vue.d.ts +3 -3
  356. package/lib/components/tree-select/src/tree-select.vue.d.ts +1 -1
  357. package/lib/version.d.ts +1 -1
  358. package/lib/version.js +1 -1
  359. package/lib/version.js.map +1 -1
  360. package/package.json +2 -2
  361. package/theme-chalk/el-image-viewer.css +1 -1
  362. package/theme-chalk/index.css +1 -1
  363. package/theme-chalk/src/image-viewer.scss +21 -0
  364. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <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\n v-if=\"$slots.progress || showProgress\"\n :class=\"[ns.e('btn'), ns.e('progress')]\"\n >\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 :set-active-item=\"setActiveItem\"\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 <slot\n v-if=\"loadError && $slots['viewer-error']\"\n name=\"viewer-error\"\n :active-index=\"activeIndex\"\n :src=\"currentImg\"\n />\n <img\n v-else\n ref=\"imgRef\"\n :key=\"currentImg\"\n :src=\"currentImg\"\n :style=\"imgStyle\"\n :class=\"ns.e('img')\"\n :crossorigin=\"crossorigin\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n @touchstart=\"handleTouchStart\"\n />\n </div>\n <slot />\n </el-focus-trap>\n </div>\n </transition>\n </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 { clamp, useEventListener } from '@vueuse/core'\nimport { throttle } from 'lodash-unified'\nimport {\n useLocale,\n useLockscreen,\n useNamespace,\n useZIndex,\n} from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { getEventCode, keysOf } from '@element-plus/utils'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\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 } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\nimport type {\n ImageViewerAction,\n ImageViewerMode,\n ImageViewerProps,\n} 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 = withDefaults(defineProps<ImageViewerProps>(), {\n urlList: () => [],\n initialIndex: 0,\n infinite: true,\n closeOnPressEscape: true,\n zoomRate: 1.2,\n scale: 1,\n minScale: 0.2,\n maxScale: 7,\n})\nconst emit = defineEmits(imageViewerEmits)\n\nlet stopWheelListener: (() => void) | undefined\n\nconst { t } = useLocale()\nconst ns = useNamespace('image-viewer')\nconst { nextZIndex } = useZIndex()\nconst wrapper = ref<HTMLDivElement>()\nconst imgRef = ref<HTMLImageElement>()\n\nconst scopeEventListener = effectScope()\n\nconst scaleClamped = computed(() => {\n const { scale, minScale, maxScale } = props\n return clamp(scale, minScale, maxScale)\n})\n\nconst loading = ref(true)\nconst loadError = ref(false)\nconst visible = ref(false)\nconst activeIndex = ref(props.initialIndex)\nconst mode = shallowRef<ImageViewerMode>(modes.CONTAIN)\nconst transform = ref({\n scale: scaleClamped.value,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n})\nconst zIndex = ref(props.zIndex ?? nextZIndex())\n\nuseLockscreen(visible, { ns })\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 stopWheelListener?.()\n visible.value = false\n emit('close')\n}\n\nfunction registerEventListener() {\n const keydownHandler = throttle((e: KeyboardEvent) => {\n const code = getEventCode(e)\n\n switch (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(wrapper, '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 loadError.value = true\n loading.value = false\n emit('error', e)\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 const removeMouseup = useEventListener(document, 'mouseup', () => {\n removeMousemove()\n removeMouseup()\n })\n\n e.preventDefault()\n}\n\nfunction handleTouchStart(e: TouchEvent) {\n if (loading.value || !wrapper.value || e.touches.length !== 1) return\n transform.value.enableTransition = false\n\n const { offsetX, offsetY } = transform.value\n const { pageX: startX, pageY: startY } = e.touches[0]\n\n const dragHandler = throttle((ev: TouchEvent) => {\n const targetTouch = ev.touches[0]\n transform.value = {\n ...transform.value,\n offsetX: offsetX + targetTouch.pageX - startX,\n offsetY: offsetY + targetTouch.pageY - startY,\n }\n })\n const removeTouchmove = useEventListener(document, 'touchmove', dragHandler)\n const removeTouchend = useEventListener(document, 'touchend', () => {\n removeTouchmove()\n removeTouchend()\n })\n\n e.preventDefault()\n}\n\nfunction reset() {\n transform.value = {\n scale: scaleClamped.value,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n}\n\nfunction toggleMode() {\n if (loading.value || loadError.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 loadError.value = false\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 || loadError.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\nfunction wheelHandler(e: WheelEvent) {\n if (!e.ctrlKey) return\n\n if (e.deltaY < 0) {\n e.preventDefault()\n return false\n } else if (e.deltaY > 0) {\n e.preventDefault()\n return false\n }\n}\n\nwatch(\n () => scaleClamped.value,\n (val) => {\n transform.value.scale = val\n }\n)\n\nwatch(currentImg, () => {\n nextTick(() => {\n const $img = imgRef.value\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 visible.value = true\n registerEventListener()\n\n stopWheelListener = useEventListener('wheel', wheelHandler, {\n passive: false,\n })\n})\n\ndefineExpose({\n /**\n * @description manually switch image\n */\n setActiveItem,\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"image-viewer.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <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\n v-if=\"$slots.progress || showProgress\"\n :class=\"[ns.e('btn'), ns.e('progress')]\"\n >\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 :set-active-item=\"setActiveItem\"\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 <slot\n v-if=\"loadError && $slots['viewer-error']\"\n name=\"viewer-error\"\n :active-index=\"activeIndex\"\n :src=\"currentImg\"\n />\n <img\n v-else\n ref=\"imgRef\"\n :key=\"currentImg\"\n :src=\"currentImg\"\n :style=\"imgStyle\"\n :class=\"[\n ns.e('img'),\n ns.is('loading', loading && !!$slots['viewer-placeholder']),\n ]\"\n :crossorigin=\"crossorigin\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n @touchstart=\"handleTouchStart\"\n />\n <div\n v-if=\"loading && $slots['viewer-placeholder']\"\n :class=\"ns.e('placeholder')\"\n >\n <slot\n name=\"viewer-placeholder\"\n :active-index=\"activeIndex\"\n :src=\"currentImg\"\n />\n </div>\n </div>\n <slot />\n </el-focus-trap>\n </div>\n </transition>\n </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 { clamp, useEventListener } from '@vueuse/core'\nimport { throttle } from 'lodash-unified'\nimport {\n useLocale,\n useLockscreen,\n useNamespace,\n useZIndex,\n} from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { getEventCode, keysOf } from '@element-plus/utils'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\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 } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\nimport type {\n ImageViewerAction,\n ImageViewerMode,\n ImageViewerProps,\n} 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 = withDefaults(defineProps<ImageViewerProps>(), {\n urlList: () => [],\n initialIndex: 0,\n infinite: true,\n closeOnPressEscape: true,\n zoomRate: 1.2,\n scale: 1,\n minScale: 0.2,\n maxScale: 7,\n})\nconst emit = defineEmits(imageViewerEmits)\n\nlet stopWheelListener: (() => void) | undefined\n\nconst { t } = useLocale()\nconst ns = useNamespace('image-viewer')\nconst { nextZIndex } = useZIndex()\nconst wrapper = ref<HTMLDivElement>()\nconst imgRef = ref<HTMLImageElement>()\n\nconst scopeEventListener = effectScope()\n\nconst scaleClamped = computed(() => {\n const { scale, minScale, maxScale } = props\n return clamp(scale, minScale, maxScale)\n})\n\nconst loading = ref(true)\nconst loadError = ref(false)\nconst visible = ref(false)\nconst activeIndex = ref(props.initialIndex)\nconst mode = shallowRef<ImageViewerMode>(modes.CONTAIN)\nconst transform = ref({\n scale: scaleClamped.value,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n})\nconst zIndex = ref(props.zIndex ?? nextZIndex())\n\nuseLockscreen(visible, { ns })\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 stopWheelListener?.()\n visible.value = false\n emit('close')\n}\n\nfunction registerEventListener() {\n const keydownHandler = throttle((e: KeyboardEvent) => {\n const code = getEventCode(e)\n\n switch (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(wrapper, '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 loadError.value = true\n loading.value = false\n emit('error', e)\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 const removeMouseup = useEventListener(document, 'mouseup', () => {\n removeMousemove()\n removeMouseup()\n })\n\n e.preventDefault()\n}\n\nfunction handleTouchStart(e: TouchEvent) {\n if (loading.value || !wrapper.value || e.touches.length !== 1) return\n transform.value.enableTransition = false\n\n const { offsetX, offsetY } = transform.value\n const { pageX: startX, pageY: startY } = e.touches[0]\n\n const dragHandler = throttle((ev: TouchEvent) => {\n const targetTouch = ev.touches[0]\n transform.value = {\n ...transform.value,\n offsetX: offsetX + targetTouch.pageX - startX,\n offsetY: offsetY + targetTouch.pageY - startY,\n }\n })\n const removeTouchmove = useEventListener(document, 'touchmove', dragHandler)\n const removeTouchend = useEventListener(document, 'touchend', () => {\n removeTouchmove()\n removeTouchend()\n })\n\n e.preventDefault()\n}\n\nfunction reset() {\n transform.value = {\n scale: scaleClamped.value,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n}\n\nfunction toggleMode() {\n if (loading.value || loadError.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 loadError.value = false\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 || loadError.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\nfunction wheelHandler(e: WheelEvent) {\n if (!e.ctrlKey) return\n\n if (e.deltaY < 0) {\n e.preventDefault()\n return false\n } else if (e.deltaY > 0) {\n e.preventDefault()\n return false\n }\n}\n\nwatch(\n () => scaleClamped.value,\n (val) => {\n transform.value.scale = val\n }\n)\n\nwatch(currentImg, () => {\n nextTick(() => {\n const $img = imgRef.value\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 visible.value = true\n registerEventListener()\n\n stopWheelListener = useEventListener('wheel', wheelHandler, {\n passive: false,\n })\n})\n\ndefineExpose({\n /**\n * @description manually switch image\n */\n setActiveItem,\n})\n</script>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer2.mjs","names":[],"sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <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\n v-if=\"$slots.progress || showProgress\"\n :class=\"[ns.e('btn'), ns.e('progress')]\"\n >\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 :set-active-item=\"setActiveItem\"\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 <slot\n v-if=\"loadError && $slots['viewer-error']\"\n name=\"viewer-error\"\n :active-index=\"activeIndex\"\n :src=\"currentImg\"\n />\n <img\n v-else\n ref=\"imgRef\"\n :key=\"currentImg\"\n :src=\"currentImg\"\n :style=\"imgStyle\"\n :class=\"ns.e('img')\"\n :crossorigin=\"crossorigin\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n @touchstart=\"handleTouchStart\"\n />\n </div>\n <slot />\n </el-focus-trap>\n </div>\n </transition>\n </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 { clamp, useEventListener } from '@vueuse/core'\nimport { throttle } from 'lodash-unified'\nimport {\n useLocale,\n useLockscreen,\n useNamespace,\n useZIndex,\n} from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { getEventCode, keysOf } from '@element-plus/utils'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\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 } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\nimport type {\n ImageViewerAction,\n ImageViewerMode,\n ImageViewerProps,\n} 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 = withDefaults(defineProps<ImageViewerProps>(), {\n urlList: () => [],\n initialIndex: 0,\n infinite: true,\n closeOnPressEscape: true,\n zoomRate: 1.2,\n scale: 1,\n minScale: 0.2,\n maxScale: 7,\n})\nconst emit = defineEmits(imageViewerEmits)\n\nlet stopWheelListener: (() => void) | undefined\n\nconst { t } = useLocale()\nconst ns = useNamespace('image-viewer')\nconst { nextZIndex } = useZIndex()\nconst wrapper = ref<HTMLDivElement>()\nconst imgRef = ref<HTMLImageElement>()\n\nconst scopeEventListener = effectScope()\n\nconst scaleClamped = computed(() => {\n const { scale, minScale, maxScale } = props\n return clamp(scale, minScale, maxScale)\n})\n\nconst loading = ref(true)\nconst loadError = ref(false)\nconst visible = ref(false)\nconst activeIndex = ref(props.initialIndex)\nconst mode = shallowRef<ImageViewerMode>(modes.CONTAIN)\nconst transform = ref({\n scale: scaleClamped.value,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n})\nconst zIndex = ref(props.zIndex ?? nextZIndex())\n\nuseLockscreen(visible, { ns })\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 stopWheelListener?.()\n visible.value = false\n emit('close')\n}\n\nfunction registerEventListener() {\n const keydownHandler = throttle((e: KeyboardEvent) => {\n const code = getEventCode(e)\n\n switch (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(wrapper, '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 loadError.value = true\n loading.value = false\n emit('error', e)\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 const removeMouseup = useEventListener(document, 'mouseup', () => {\n removeMousemove()\n removeMouseup()\n })\n\n e.preventDefault()\n}\n\nfunction handleTouchStart(e: TouchEvent) {\n if (loading.value || !wrapper.value || e.touches.length !== 1) return\n transform.value.enableTransition = false\n\n const { offsetX, offsetY } = transform.value\n const { pageX: startX, pageY: startY } = e.touches[0]\n\n const dragHandler = throttle((ev: TouchEvent) => {\n const targetTouch = ev.touches[0]\n transform.value = {\n ...transform.value,\n offsetX: offsetX + targetTouch.pageX - startX,\n offsetY: offsetY + targetTouch.pageY - startY,\n }\n })\n const removeTouchmove = useEventListener(document, 'touchmove', dragHandler)\n const removeTouchend = useEventListener(document, 'touchend', () => {\n removeTouchmove()\n removeTouchend()\n })\n\n e.preventDefault()\n}\n\nfunction reset() {\n transform.value = {\n scale: scaleClamped.value,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n}\n\nfunction toggleMode() {\n if (loading.value || loadError.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 loadError.value = false\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 || loadError.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\nfunction wheelHandler(e: WheelEvent) {\n if (!e.ctrlKey) return\n\n if (e.deltaY < 0) {\n e.preventDefault()\n return false\n } else if (e.deltaY > 0) {\n e.preventDefault()\n return false\n }\n}\n\nwatch(\n () => scaleClamped.value,\n (val) => {\n transform.value.scale = val\n }\n)\n\nwatch(currentImg, () => {\n nextTick(() => {\n const $img = imgRef.value\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 visible.value = true\n registerEventListener()\n\n stopWheelListener = useEventListener('wheel', wheelHandler, {\n passive: false,\n })\n})\n\ndefineExpose({\n /**\n * @description manually switch image\n */\n setActiveItem,\n})\n</script>\n"],"mappings":""}
1
+ {"version":3,"file":"image-viewer2.mjs","names":[],"sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <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\n v-if=\"$slots.progress || showProgress\"\n :class=\"[ns.e('btn'), ns.e('progress')]\"\n >\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 :set-active-item=\"setActiveItem\"\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 <slot\n v-if=\"loadError && $slots['viewer-error']\"\n name=\"viewer-error\"\n :active-index=\"activeIndex\"\n :src=\"currentImg\"\n />\n <img\n v-else\n ref=\"imgRef\"\n :key=\"currentImg\"\n :src=\"currentImg\"\n :style=\"imgStyle\"\n :class=\"[\n ns.e('img'),\n ns.is('loading', loading && !!$slots['viewer-placeholder']),\n ]\"\n :crossorigin=\"crossorigin\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n @touchstart=\"handleTouchStart\"\n />\n <div\n v-if=\"loading && $slots['viewer-placeholder']\"\n :class=\"ns.e('placeholder')\"\n >\n <slot\n name=\"viewer-placeholder\"\n :active-index=\"activeIndex\"\n :src=\"currentImg\"\n />\n </div>\n </div>\n <slot />\n </el-focus-trap>\n </div>\n </transition>\n </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 { clamp, useEventListener } from '@vueuse/core'\nimport { throttle } from 'lodash-unified'\nimport {\n useLocale,\n useLockscreen,\n useNamespace,\n useZIndex,\n} from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { getEventCode, keysOf } from '@element-plus/utils'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\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 } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\nimport type {\n ImageViewerAction,\n ImageViewerMode,\n ImageViewerProps,\n} 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 = withDefaults(defineProps<ImageViewerProps>(), {\n urlList: () => [],\n initialIndex: 0,\n infinite: true,\n closeOnPressEscape: true,\n zoomRate: 1.2,\n scale: 1,\n minScale: 0.2,\n maxScale: 7,\n})\nconst emit = defineEmits(imageViewerEmits)\n\nlet stopWheelListener: (() => void) | undefined\n\nconst { t } = useLocale()\nconst ns = useNamespace('image-viewer')\nconst { nextZIndex } = useZIndex()\nconst wrapper = ref<HTMLDivElement>()\nconst imgRef = ref<HTMLImageElement>()\n\nconst scopeEventListener = effectScope()\n\nconst scaleClamped = computed(() => {\n const { scale, minScale, maxScale } = props\n return clamp(scale, minScale, maxScale)\n})\n\nconst loading = ref(true)\nconst loadError = ref(false)\nconst visible = ref(false)\nconst activeIndex = ref(props.initialIndex)\nconst mode = shallowRef<ImageViewerMode>(modes.CONTAIN)\nconst transform = ref({\n scale: scaleClamped.value,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n})\nconst zIndex = ref(props.zIndex ?? nextZIndex())\n\nuseLockscreen(visible, { ns })\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 stopWheelListener?.()\n visible.value = false\n emit('close')\n}\n\nfunction registerEventListener() {\n const keydownHandler = throttle((e: KeyboardEvent) => {\n const code = getEventCode(e)\n\n switch (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(wrapper, '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 loadError.value = true\n loading.value = false\n emit('error', e)\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 const removeMouseup = useEventListener(document, 'mouseup', () => {\n removeMousemove()\n removeMouseup()\n })\n\n e.preventDefault()\n}\n\nfunction handleTouchStart(e: TouchEvent) {\n if (loading.value || !wrapper.value || e.touches.length !== 1) return\n transform.value.enableTransition = false\n\n const { offsetX, offsetY } = transform.value\n const { pageX: startX, pageY: startY } = e.touches[0]\n\n const dragHandler = throttle((ev: TouchEvent) => {\n const targetTouch = ev.touches[0]\n transform.value = {\n ...transform.value,\n offsetX: offsetX + targetTouch.pageX - startX,\n offsetY: offsetY + targetTouch.pageY - startY,\n }\n })\n const removeTouchmove = useEventListener(document, 'touchmove', dragHandler)\n const removeTouchend = useEventListener(document, 'touchend', () => {\n removeTouchmove()\n removeTouchend()\n })\n\n e.preventDefault()\n}\n\nfunction reset() {\n transform.value = {\n scale: scaleClamped.value,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n}\n\nfunction toggleMode() {\n if (loading.value || loadError.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 loadError.value = false\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 || loadError.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\nfunction wheelHandler(e: WheelEvent) {\n if (!e.ctrlKey) return\n\n if (e.deltaY < 0) {\n e.preventDefault()\n return false\n } else if (e.deltaY > 0) {\n e.preventDefault()\n return false\n }\n}\n\nwatch(\n () => scaleClamped.value,\n (val) => {\n transform.value.scale = val\n }\n)\n\nwatch(currentImg, () => {\n nextTick(() => {\n const $img = imgRef.value\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 visible.value = true\n registerEventListener()\n\n stopWheelListener = useEventListener('wheel', wheelHandler, {\n passive: false,\n })\n})\n\ndefineExpose({\n /**\n * @description manually switch image\n */\n setActiveItem,\n})\n</script>\n"],"mappings":""}
@@ -155,7 +155,7 @@ interface InputProps {
155
155
  * @deprecated Removed after 3.0.0, Use `InputProps` instead.
156
156
  */
157
157
  declare const inputProps: {
158
- readonly inputmode: EpPropFinalized<(new (...args: any[]) => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
158
+ readonly inputmode: EpPropFinalized<(new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
159
159
  readonly name: StringConstructor;
160
160
  readonly ariaLabel: StringConstructor;
161
161
  readonly id: EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
@@ -106,7 +106,7 @@ interface InputNumberProps {
106
106
  * @deprecated Removed after 3.0.0, Use `InputNumberProps` instead.
107
107
  */
108
108
  declare const inputNumberProps: {
109
- readonly inputmode: EpPropFinalized<(new (...args: any[]) => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
109
+ readonly inputmode: EpPropFinalized<(new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
110
110
  readonly align: EpPropFinalized<(new (...args: any[]) => "left" | "center" | "right") | (() => "left" | "center" | "right") | (((new (...args: any[]) => "left" | "center" | "right") | (() => "left" | "center" | "right")) | null)[], unknown, unknown, "center", boolean>;
111
111
  readonly disabledScientific: BooleanConstructor;
112
112
  readonly formatter: {
@@ -34,7 +34,7 @@ declare const __VLS_base: _$vue.DefineComponent<InputNumberProps, {
34
34
  readonly: boolean;
35
35
  tabindex: string | number;
36
36
  validateEvent: boolean;
37
- inputmode: "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal";
37
+ inputmode: "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal";
38
38
  max: number;
39
39
  min: number;
40
40
  align: "left" | "right" | "center";
@@ -97,7 +97,7 @@ declare const mentionProps: {
97
97
  popperStyle: EpPropFinalized<(new (...args: any[]) => string | false | _$vue.CSSProperties | _$vue.StyleValue[]) | (() => _$vue.StyleValue) | (((new (...args: any[]) => string | false | _$vue.CSSProperties | _$vue.StyleValue[]) | (() => _$vue.StyleValue)) | null)[], unknown, unknown, undefined, boolean>;
98
98
  popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => Partial<Options>, boolean>;
99
99
  props: EpPropFinalized<(new (...args: any[]) => MentionOptionProps) | (() => MentionOptionProps) | (((new (...args: any[]) => MentionOptionProps) | (() => MentionOptionProps)) | null)[], unknown, unknown, () => Required<MentionOptionProps>, boolean>;
100
- inputmode: EpPropFinalized<(new (...args: any[]) => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
100
+ inputmode: EpPropFinalized<(new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
101
101
  name: StringConstructor;
102
102
  ariaLabel: StringConstructor;
103
103
  id: EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
@@ -9,10 +9,10 @@ declare const __VLS_export: <T extends MentionOption = MentionOption>(__VLS_prop
9
9
  props: _$vue.PublicProps & __VLS_PrettifyLocal<MentionProps<T> & {
10
10
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
11
11
  onInput?: ((value: string) => any) | undefined;
12
- onSearch?: ((pattern: string, prefix: string) => any) | undefined;
13
12
  onFocus?: ((evt: FocusEvent) => any) | undefined;
14
13
  onBlur?: ((evt: FocusEvent) => any) | undefined;
15
14
  onSelect?: ((option: MentionOption, prefix: string) => any) | undefined;
15
+ onSearch?: ((pattern: string, prefix: string) => any) | undefined;
16
16
  "onWhole-remove"?: ((pattern: string, prefix: string) => any) | undefined;
17
17
  }> & (typeof globalThis extends {
18
18
  __VLS_PROPS_FALLBACK: infer P;
@@ -46,7 +46,7 @@ declare const __VLS_export: <T extends MentionOption = MentionOption>(__VLS_prop
46
46
  index: number;
47
47
  }) => any;
48
48
  };
49
- emit: ((event: "update:modelValue", value: string) => void) & ((event: "input", value: string) => void) & ((event: "search", pattern: string, prefix: string) => void) & ((event: "focus", evt: FocusEvent) => void) & ((event: "blur", evt: FocusEvent) => void) & ((event: "select", option: MentionOption, prefix: string) => void) & ((event: "whole-remove", pattern: string, prefix: string) => void);
49
+ emit: ((event: "update:modelValue", value: string) => void) & ((event: "input", value: string) => void) & ((event: "focus", evt: FocusEvent) => void) & ((event: "blur", evt: FocusEvent) => void) & ((event: "select", option: MentionOption, prefix: string) => void) & ((event: "search", pattern: string, prefix: string) => void) & ((event: "whole-remove", pattern: string, prefix: string) => void);
50
50
  }>) => _$vue.VNode & {
51
51
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
52
52
  };
@@ -11,7 +11,7 @@ type MessageContext = {
11
11
  vm: ComponentInternalInstance;
12
12
  props: Mutable<MessageProps>;
13
13
  };
14
- declare const placementInstances: _$vue.ShallowReactive<Record<"top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right", MessageContext[]>>;
14
+ declare const placementInstances: _$vue.ShallowReactive<Record<"top" | "bottom" | "top-right" | "top-left" | "bottom-right" | "bottom-left", MessageContext[]>>;
15
15
  declare const getOrCreatePlacementInstances: (placement: MessagePlacement) => MessageContext[];
16
16
  declare const getInstance: (id: string, placement: MessagePlacement) => {
17
17
  current: MessageContext;
@@ -133,7 +133,7 @@ declare const messageProps: {
133
133
  readonly type: EpPropFinalized<StringConstructor, "info" | "primary" | "success" | "warning" | "error", unknown, "info", boolean>;
134
134
  readonly plain: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
135
135
  readonly offset: EpPropFinalized<NumberConstructor, unknown, unknown, 16, boolean>;
136
- readonly placement: EpPropFinalized<StringConstructor, "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right", unknown, undefined, boolean>;
136
+ readonly placement: EpPropFinalized<StringConstructor, "top" | "bottom" | "top-right" | "top-left" | "bottom-right" | "bottom-left", unknown, undefined, boolean>;
137
137
  readonly zIndex: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
138
138
  readonly grouping: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
139
139
  readonly repeatNum: EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
@@ -124,7 +124,7 @@ declare const notificationProps: {
124
124
  readonly validator: ((val: unknown) => boolean) | undefined;
125
125
  __epPropKey: true;
126
126
  };
127
- readonly position: EpPropFinalized<StringConstructor, "top-left" | "top-right" | "bottom-left" | "bottom-right", unknown, "top-right", boolean>;
127
+ readonly position: EpPropFinalized<StringConstructor, "top-right" | "top-left" | "bottom-right" | "bottom-left", unknown, "top-right", boolean>;
128
128
  readonly showClose: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
129
129
  readonly title: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
130
130
  readonly type: EpPropFinalized<StringConstructor, "" | "info" | "primary" | "success" | "warning" | "error", unknown, "", boolean>;
@@ -18,10 +18,10 @@ declare const __VLS_base: _$vue.DefineComponent<NotificationProps, {
18
18
  onDestroy?: (() => any) | undefined;
19
19
  }>, {
20
20
  type: NotificationType;
21
- title: string;
22
21
  message: string | _$vue.VNode | (() => _$vue.VNode);
23
22
  offset: number;
24
23
  position: NotificationPosition;
24
+ title: string;
25
25
  id: string;
26
26
  onClick: () => void;
27
27
  progress: boolean | NotificationProgress;
@@ -33,9 +33,9 @@ declare const __VLS_base: _$vue.DefineComponent<PopoverProps, {
33
33
  showAfter: number;
34
34
  hideAfter: number;
35
35
  autoClose: number;
36
- title: string;
37
36
  offset: number;
38
37
  teleported: boolean;
38
+ title: string;
39
39
  effect: PopperEffect;
40
40
  tabindex: string | number;
41
41
  visible: boolean | null;
@@ -7,10 +7,10 @@ type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_1) => any;
8
8
  };
9
9
  declare const __VLS_base: _$vue.DefineComponent<RadioButtonProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<RadioButtonProps> & Readonly<{}>, {
10
- value: string | number | boolean;
11
10
  disabled: boolean;
12
11
  modelValue: string | number | boolean;
13
12
  name: string;
13
+ value: string | number | boolean;
14
14
  label: string | number | boolean;
15
15
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
16
16
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -14,8 +14,8 @@ declare const __VLS_base: _$vue.DefineComponent<RadioGroupProps, {}, {}, {}, {},
14
14
  onChange?: ((val: string | number | boolean | undefined) => any) | undefined;
15
15
  }>, {
16
16
  type: "radio" | "button";
17
- props: radioOptionProp;
18
17
  fill: string;
18
+ props: radioOptionProp;
19
19
  id: string;
20
20
  disabled: boolean;
21
21
  modelValue: string | number | boolean;
@@ -13,10 +13,10 @@ declare const __VLS_base: _$vue.DefineComponent<RadioProps, {}, {}, {}, {}, _$vu
13
13
  "onUpdate:modelValue"?: ((val: string | number | boolean | undefined) => any) | undefined;
14
14
  onChange?: ((val: string | number | boolean | undefined) => any) | undefined;
15
15
  }>, {
16
- value: string | number | boolean;
17
16
  disabled: boolean;
18
17
  modelValue: string | number | boolean;
19
18
  name: string;
19
+ value: string | number | boolean;
20
20
  border: boolean;
21
21
  label: string | number | boolean;
22
22
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
@@ -403,10 +403,10 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
403
403
  scrollLeft: number;
404
404
  }) => any) | undefined;
405
405
  }>, {
406
- props: Props;
407
406
  valueOnClear: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
408
407
  offset: number;
409
408
  teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
409
+ props: Props;
410
410
  effect: EpPropMergeType<(new (...args: any[]) => string) | (() => PopperEffect) | (((new (...args: any[]) => string) | (() => PopperEffect)) | null)[], unknown, unknown>;
411
411
  disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
412
412
  modelValue: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown>[]) | (() => EpPropMergeType<(StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown> | EpPropMergeType<(StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown>[] | null) | (((new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown>[]) | (() => EpPropMergeType<(StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown> | EpPropMergeType<(StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown>[] | null)) | null)[], unknown, unknown>;
@@ -377,10 +377,10 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
377
377
  "onVisible-change"?: ((visible: boolean) => any) | undefined;
378
378
  "onRemove-tag"?: ((val: unknown) => any) | undefined;
379
379
  }>, {
380
- readonly props: Props;
381
380
  readonly valueOnClear: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
382
381
  readonly offset: number;
383
382
  readonly teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
383
+ readonly props: Props;
384
384
  readonly effect: EpPropMergeType<(new (...args: any[]) => string) | (() => PopperEffect) | (((new (...args: any[]) => string) | (() => PopperEffect)) | null)[], unknown, unknown>;
385
385
  readonly disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
386
386
  readonly modelValue: any;
@@ -17,10 +17,10 @@ declare const __VLS_base: _$vue.DefineComponent<StatisticProps, {
17
17
  */
18
18
  displayValue: _$vue.ComputedRef<string | number | _$dayjs.Dayjs>;
19
19
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<StatisticProps> & Readonly<{}>, {
20
+ value: number | _$dayjs.Dayjs;
21
+ precision: number;
20
22
  decimalSeparator: string;
21
23
  groupSeparator: string;
22
- precision: number;
23
- value: number | _$dayjs.Dayjs;
24
24
  valueStyle: string | false | _$vue.CSSProperties | _$vue.StyleValue[] | null;
25
25
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
26
26
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -112,12 +112,12 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
112
112
  "update:modelValue": (val: CheckboxValueType) => void;
113
113
  change: (val: CheckboxValueType) => void;
114
114
  }, _$vue.PublicProps, {
115
- value: string | boolean | number | object;
116
115
  id: string;
117
116
  disabled: boolean;
118
117
  modelValue: number | string | boolean;
119
118
  validateEvent: boolean;
120
119
  name: string;
120
+ value: string | boolean | number | object;
121
121
  label: string | boolean | number | object;
122
122
  trueValue: string | number;
123
123
  falseValue: string | number;
@@ -134,12 +134,12 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
134
134
  "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
135
135
  onChange?: ((val: CheckboxValueType) => any) | undefined;
136
136
  }>, {}, {}, {}, {}, {
137
- value: string | boolean | number | object;
138
137
  id: string;
139
138
  disabled: boolean;
140
139
  modelValue: number | string | boolean;
141
140
  validateEvent: boolean;
142
141
  name: string;
142
+ value: string | boolean | number | object;
143
143
  label: string | boolean | number | object;
144
144
  trueValue: string | number;
145
145
  falseValue: string | number;
@@ -156,12 +156,12 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
156
156
  "update:modelValue": (val: CheckboxValueType) => void;
157
157
  change: (val: CheckboxValueType) => void;
158
158
  }, string, {
159
- value: string | boolean | number | object;
160
159
  id: string;
161
160
  disabled: boolean;
162
161
  modelValue: number | string | boolean;
163
162
  validateEvent: boolean;
164
163
  name: string;
164
+ value: string | boolean | number | object;
165
165
  label: string | boolean | number | object;
166
166
  trueValue: string | number;
167
167
  falseValue: string | number;
@@ -125,12 +125,12 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
125
125
  "update:modelValue": (val: CheckboxValueType) => void;
126
126
  change: (val: CheckboxValueType) => void;
127
127
  }, _$vue.PublicProps, {
128
- value: string | boolean | number | object;
129
128
  id: string;
130
129
  disabled: boolean;
131
130
  modelValue: number | string | boolean;
132
131
  validateEvent: boolean;
133
132
  name: string;
133
+ value: string | boolean | number | object;
134
134
  label: string | boolean | number | object;
135
135
  trueValue: string | number;
136
136
  falseValue: string | number;
@@ -147,12 +147,12 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
147
147
  "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
148
148
  onChange?: ((val: CheckboxValueType) => any) | undefined;
149
149
  }>, {}, {}, {}, {}, {
150
- value: string | boolean | number | object;
151
150
  id: string;
152
151
  disabled: boolean;
153
152
  modelValue: number | string | boolean;
154
153
  validateEvent: boolean;
155
154
  name: string;
155
+ value: string | boolean | number | object;
156
156
  label: string | boolean | number | object;
157
157
  trueValue: string | number;
158
158
  falseValue: string | number;
@@ -169,12 +169,12 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
169
169
  "update:modelValue": (val: CheckboxValueType) => void;
170
170
  change: (val: CheckboxValueType) => void;
171
171
  }, string, {
172
- value: string | boolean | number | object;
173
172
  id: string;
174
173
  disabled: boolean;
175
174
  modelValue: number | string | boolean;
176
175
  validateEvent: boolean;
177
176
  name: string;
177
+ value: string | boolean | number | object;
178
178
  label: string | boolean | number | object;
179
179
  trueValue: string | number;
180
180
  falseValue: string | number;
@@ -3,8 +3,8 @@ import * as _$vue from "vue";
3
3
 
4
4
  //#region ../../packages/components/tour/src/mask.vue.d.ts
5
5
  declare const __VLS_export: _$vue.DefineComponent<MaskProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<MaskProps> & Readonly<{}>, {
6
- fill: string;
7
6
  zIndex: number;
7
+ fill: string;
8
8
  targetAreaClickable: boolean;
9
9
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
10
10
  declare const _default: typeof __VLS_export;
@@ -110,12 +110,12 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
110
110
  "update:modelValue": (val: CheckboxValueType) => void;
111
111
  change: (val: CheckboxValueType) => void;
112
112
  }, _$vue.PublicProps, {
113
- value: string | boolean | number | object;
114
113
  id: string;
115
114
  disabled: boolean;
116
115
  modelValue: number | string | boolean;
117
116
  validateEvent: boolean;
118
117
  name: string;
118
+ value: string | boolean | number | object;
119
119
  label: string | boolean | number | object;
120
120
  trueValue: string | number;
121
121
  falseValue: string | number;
@@ -132,12 +132,12 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
132
132
  "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
133
133
  onChange?: ((val: CheckboxValueType) => any) | undefined;
134
134
  }>, {}, {}, {}, {}, {
135
- value: string | boolean | number | object;
136
135
  id: string;
137
136
  disabled: boolean;
138
137
  modelValue: number | string | boolean;
139
138
  validateEvent: boolean;
140
139
  name: string;
140
+ value: string | boolean | number | object;
141
141
  label: string | boolean | number | object;
142
142
  trueValue: string | number;
143
143
  falseValue: string | number;
@@ -154,12 +154,12 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
154
154
  "update:modelValue": (val: CheckboxValueType) => void;
155
155
  change: (val: CheckboxValueType) => void;
156
156
  }, string, {
157
- value: string | boolean | number | object;
158
157
  id: string;
159
158
  disabled: boolean;
160
159
  modelValue: number | string | boolean;
161
160
  validateEvent: boolean;
162
161
  name: string;
162
+ value: string | boolean | number | object;
163
163
  label: string | boolean | number | object;
164
164
  trueValue: string | number;
165
165
  falseValue: string | number;
@@ -1481,12 +1481,12 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
1481
1481
  "update:modelValue": (val: CheckboxValueType) => void;
1482
1482
  change: (val: CheckboxValueType) => void;
1483
1483
  }, _$vue.PublicProps, {
1484
- value: string | boolean | number | object;
1485
1484
  id: string;
1486
1485
  disabled: boolean;
1487
1486
  modelValue: number | string | boolean;
1488
1487
  validateEvent: boolean;
1489
1488
  name: string;
1489
+ value: string | boolean | number | object;
1490
1490
  label: string | boolean | number | object;
1491
1491
  trueValue: string | number;
1492
1492
  falseValue: string | number;
@@ -1503,12 +1503,12 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
1503
1503
  "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
1504
1504
  onChange?: ((val: CheckboxValueType) => any) | undefined;
1505
1505
  }>, {}, {}, {}, {}, {
1506
- value: string | boolean | number | object;
1507
1506
  id: string;
1508
1507
  disabled: boolean;
1509
1508
  modelValue: number | string | boolean;
1510
1509
  validateEvent: boolean;
1511
1510
  name: string;
1511
+ value: string | boolean | number | object;
1512
1512
  label: string | boolean | number | object;
1513
1513
  trueValue: string | number;
1514
1514
  falseValue: string | number;
@@ -1525,12 +1525,12 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
1525
1525
  "update:modelValue": (val: CheckboxValueType) => void;
1526
1526
  change: (val: CheckboxValueType) => void;
1527
1527
  }, string, {
1528
- value: string | boolean | number | object;
1529
1528
  id: string;
1530
1529
  disabled: boolean;
1531
1530
  modelValue: number | string | boolean;
1532
1531
  validateEvent: boolean;
1533
1532
  name: string;
1533
+ value: string | boolean | number | object;
1534
1534
  label: string | boolean | number | object;
1535
1535
  trueValue: string | number;
1536
1536
  falseValue: string | number;
@@ -375,10 +375,10 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
375
375
  __epPropKey: true;
376
376
  };
377
377
  }>> & Readonly<{}>, {
378
- props: TreeOptionProps;
379
378
  valueOnClear: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
380
379
  offset: number;
381
380
  teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
381
+ props: TreeOptionProps;
382
382
  effect: EpPropMergeType<(new (...args: any[]) => string) | (() => PopperEffect) | (((new (...args: any[]) => string) | (() => PopperEffect)) | null)[], unknown, unknown>;
383
383
  disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
384
384
  modelValue: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown>[]) | (() => EpPropMergeType<(StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown> | EpPropMergeType<(StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown>[] | null) | (((new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown>[]) | (() => EpPropMergeType<(StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown> | EpPropMergeType<(StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[], unknown, unknown>[] | null)) | null)[], unknown, unknown>;
package/es/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  //#region ../../packages/element-plus/version.d.ts
2
- declare const version = "0.0.20261001";
2
+ declare const version = "0.0.20261003";
3
3
  //#endregion
4
4
  export { version };
package/es/version.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region ../../packages/element-plus/version.ts
2
- const version = "0.0.20261001";
2
+ const version = "0.0.20261003";
3
3
  //#endregion
4
4
  export { version };
5
5