@element-plus/nightly 0.0.20240107 → 0.0.20240108

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 (419) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +16 -4
  4. package/dist/index.full.min.js +11 -11
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +12 -12
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +16 -4
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hr.js +1 -1
  94. package/dist/locale/hr.min.js +1 -1
  95. package/dist/locale/hr.min.mjs +1 -1
  96. package/dist/locale/hr.mjs +1 -1
  97. package/dist/locale/hu.js +1 -1
  98. package/dist/locale/hu.min.js +1 -1
  99. package/dist/locale/hu.min.mjs +1 -1
  100. package/dist/locale/hu.mjs +1 -1
  101. package/dist/locale/hy-am.js +1 -1
  102. package/dist/locale/hy-am.min.js +1 -1
  103. package/dist/locale/hy-am.min.mjs +1 -1
  104. package/dist/locale/hy-am.mjs +1 -1
  105. package/dist/locale/id.js +1 -1
  106. package/dist/locale/id.min.js +1 -1
  107. package/dist/locale/id.min.mjs +1 -1
  108. package/dist/locale/id.mjs +1 -1
  109. package/dist/locale/it.js +1 -1
  110. package/dist/locale/it.min.js +1 -1
  111. package/dist/locale/it.min.mjs +1 -1
  112. package/dist/locale/it.mjs +1 -1
  113. package/dist/locale/ja.js +1 -1
  114. package/dist/locale/ja.min.js +1 -1
  115. package/dist/locale/ja.min.mjs +1 -1
  116. package/dist/locale/ja.mjs +1 -1
  117. package/dist/locale/kk.js +1 -1
  118. package/dist/locale/kk.min.js +1 -1
  119. package/dist/locale/kk.min.mjs +1 -1
  120. package/dist/locale/kk.mjs +1 -1
  121. package/dist/locale/km.js +1 -1
  122. package/dist/locale/km.min.js +1 -1
  123. package/dist/locale/km.min.mjs +1 -1
  124. package/dist/locale/km.mjs +1 -1
  125. package/dist/locale/ko.js +1 -1
  126. package/dist/locale/ko.min.js +1 -1
  127. package/dist/locale/ko.min.mjs +1 -1
  128. package/dist/locale/ko.mjs +1 -1
  129. package/dist/locale/ku.js +1 -1
  130. package/dist/locale/ku.min.js +1 -1
  131. package/dist/locale/ku.min.mjs +1 -1
  132. package/dist/locale/ku.mjs +1 -1
  133. package/dist/locale/ky.js +1 -1
  134. package/dist/locale/ky.min.js +1 -1
  135. package/dist/locale/ky.min.mjs +1 -1
  136. package/dist/locale/ky.mjs +1 -1
  137. package/dist/locale/lt.js +1 -1
  138. package/dist/locale/lt.min.js +1 -1
  139. package/dist/locale/lt.min.mjs +1 -1
  140. package/dist/locale/lt.mjs +1 -1
  141. package/dist/locale/lv.js +1 -1
  142. package/dist/locale/lv.min.js +1 -1
  143. package/dist/locale/lv.min.mjs +1 -1
  144. package/dist/locale/lv.mjs +1 -1
  145. package/dist/locale/mg.js +1 -1
  146. package/dist/locale/mg.min.js +1 -1
  147. package/dist/locale/mg.min.mjs +1 -1
  148. package/dist/locale/mg.mjs +1 -1
  149. package/dist/locale/mn.js +1 -1
  150. package/dist/locale/mn.min.js +1 -1
  151. package/dist/locale/mn.min.mjs +1 -1
  152. package/dist/locale/mn.mjs +1 -1
  153. package/dist/locale/nb-no.js +1 -1
  154. package/dist/locale/nb-no.min.js +1 -1
  155. package/dist/locale/nb-no.min.mjs +1 -1
  156. package/dist/locale/nb-no.mjs +1 -1
  157. package/dist/locale/nl.js +1 -1
  158. package/dist/locale/nl.min.js +1 -1
  159. package/dist/locale/nl.min.mjs +1 -1
  160. package/dist/locale/nl.mjs +1 -1
  161. package/dist/locale/pa.js +1 -1
  162. package/dist/locale/pa.min.js +1 -1
  163. package/dist/locale/pa.min.mjs +1 -1
  164. package/dist/locale/pa.mjs +1 -1
  165. package/dist/locale/pl.js +1 -1
  166. package/dist/locale/pl.min.js +1 -1
  167. package/dist/locale/pl.min.mjs +1 -1
  168. package/dist/locale/pl.mjs +1 -1
  169. package/dist/locale/pt-br.js +1 -1
  170. package/dist/locale/pt-br.min.js +1 -1
  171. package/dist/locale/pt-br.min.mjs +1 -1
  172. package/dist/locale/pt-br.mjs +1 -1
  173. package/dist/locale/pt.js +1 -1
  174. package/dist/locale/pt.min.js +1 -1
  175. package/dist/locale/pt.min.mjs +1 -1
  176. package/dist/locale/pt.mjs +1 -1
  177. package/dist/locale/ro.js +1 -1
  178. package/dist/locale/ro.min.js +1 -1
  179. package/dist/locale/ro.min.mjs +1 -1
  180. package/dist/locale/ro.mjs +1 -1
  181. package/dist/locale/ru.js +1 -1
  182. package/dist/locale/ru.min.js +1 -1
  183. package/dist/locale/ru.min.mjs +1 -1
  184. package/dist/locale/ru.mjs +1 -1
  185. package/dist/locale/sk.js +1 -1
  186. package/dist/locale/sk.min.js +1 -1
  187. package/dist/locale/sk.min.mjs +1 -1
  188. package/dist/locale/sk.mjs +1 -1
  189. package/dist/locale/sl.js +1 -1
  190. package/dist/locale/sl.min.js +1 -1
  191. package/dist/locale/sl.min.mjs +1 -1
  192. package/dist/locale/sl.mjs +1 -1
  193. package/dist/locale/sr.js +1 -1
  194. package/dist/locale/sr.min.js +1 -1
  195. package/dist/locale/sr.min.mjs +1 -1
  196. package/dist/locale/sr.mjs +1 -1
  197. package/dist/locale/sv.js +1 -1
  198. package/dist/locale/sv.min.js +1 -1
  199. package/dist/locale/sv.min.mjs +1 -1
  200. package/dist/locale/sv.mjs +1 -1
  201. package/dist/locale/sw.js +1 -1
  202. package/dist/locale/sw.min.js +1 -1
  203. package/dist/locale/sw.min.mjs +1 -1
  204. package/dist/locale/sw.mjs +1 -1
  205. package/dist/locale/ta.js +1 -1
  206. package/dist/locale/ta.min.js +1 -1
  207. package/dist/locale/ta.min.mjs +1 -1
  208. package/dist/locale/ta.mjs +1 -1
  209. package/dist/locale/th.js +1 -1
  210. package/dist/locale/th.min.js +1 -1
  211. package/dist/locale/th.min.mjs +1 -1
  212. package/dist/locale/th.mjs +1 -1
  213. package/dist/locale/tk.js +1 -1
  214. package/dist/locale/tk.min.js +1 -1
  215. package/dist/locale/tk.min.mjs +1 -1
  216. package/dist/locale/tk.mjs +1 -1
  217. package/dist/locale/tr.js +1 -1
  218. package/dist/locale/tr.min.js +1 -1
  219. package/dist/locale/tr.min.mjs +1 -1
  220. package/dist/locale/tr.mjs +1 -1
  221. package/dist/locale/ug-cn.js +1 -1
  222. package/dist/locale/ug-cn.min.js +1 -1
  223. package/dist/locale/ug-cn.min.mjs +1 -1
  224. package/dist/locale/ug-cn.mjs +1 -1
  225. package/dist/locale/uk.js +1 -1
  226. package/dist/locale/uk.min.js +1 -1
  227. package/dist/locale/uk.min.mjs +1 -1
  228. package/dist/locale/uk.mjs +1 -1
  229. package/dist/locale/uz-uz.js +1 -1
  230. package/dist/locale/uz-uz.min.js +1 -1
  231. package/dist/locale/uz-uz.min.mjs +1 -1
  232. package/dist/locale/uz-uz.mjs +1 -1
  233. package/dist/locale/vi.js +1 -1
  234. package/dist/locale/vi.min.js +1 -1
  235. package/dist/locale/vi.min.mjs +1 -1
  236. package/dist/locale/vi.mjs +1 -1
  237. package/dist/locale/zh-cn.js +1 -1
  238. package/dist/locale/zh-cn.min.js +1 -1
  239. package/dist/locale/zh-cn.min.mjs +1 -1
  240. package/dist/locale/zh-cn.mjs +1 -1
  241. package/dist/locale/zh-tw.js +1 -1
  242. package/dist/locale/zh-tw.min.js +1 -1
  243. package/dist/locale/zh-tw.min.mjs +1 -1
  244. package/dist/locale/zh-tw.mjs +1 -1
  245. package/es/components/badge/index.mjs +2 -2
  246. package/es/components/badge/src/badge.mjs +55 -17
  247. package/es/components/badge/src/badge.mjs.map +1 -1
  248. package/es/components/badge/src/badge2.mjs +17 -55
  249. package/es/components/badge/src/badge2.mjs.map +1 -1
  250. package/es/components/cascader/index.mjs +2 -2
  251. package/es/components/cascader/src/cascader.mjs +65 -626
  252. package/es/components/cascader/src/cascader.mjs.map +1 -1
  253. package/es/components/cascader/src/cascader2.mjs +626 -65
  254. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  255. package/es/components/checkbox/index.d.ts +18 -18
  256. package/es/components/checkbox/src/checkbox-button.vue.d.ts +6 -6
  257. package/es/components/checkbox/src/checkbox.d.ts +2 -2
  258. package/es/components/checkbox/src/checkbox.vue.d.ts +6 -6
  259. package/es/components/collapse/index.mjs +4 -4
  260. package/es/components/collapse/src/collapse-item.mjs +14 -91
  261. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  262. package/es/components/collapse/src/collapse-item2.mjs +91 -14
  263. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  264. package/es/components/collapse/src/collapse.mjs +18 -28
  265. package/es/components/collapse/src/collapse.mjs.map +1 -1
  266. package/es/components/collapse/src/collapse2.mjs +28 -18
  267. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  268. package/es/components/dialog/index.d.ts +1 -1
  269. package/es/components/dialog/src/dialog-content.vue.d.ts +1 -1
  270. package/es/components/dialog/src/dialog.vue.d.ts +1 -1
  271. package/es/components/dropdown/index.d.ts +2 -2
  272. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +1 -1
  273. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  274. package/es/components/empty/index.mjs +2 -2
  275. package/es/components/empty/src/empty.mjs +55 -11
  276. package/es/components/empty/src/empty.mjs.map +1 -1
  277. package/es/components/empty/src/empty2.mjs +11 -55
  278. package/es/components/empty/src/empty2.mjs.map +1 -1
  279. package/es/components/image/index.d.ts +10 -0
  280. package/es/components/image/src/image.d.ts +1 -0
  281. package/es/components/image/src/image.mjs +4 -0
  282. package/es/components/image/src/image.mjs.map +1 -1
  283. package/es/components/image/src/image.vue.d.ts +10 -0
  284. package/es/components/image/src/image2.mjs +3 -1
  285. package/es/components/image/src/image2.mjs.map +1 -1
  286. package/es/components/image-viewer/index.d.ts +5 -0
  287. package/es/components/image-viewer/src/image-viewer.d.ts +1 -0
  288. package/es/components/image-viewer/src/image-viewer.mjs +4 -0
  289. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  290. package/es/components/image-viewer/src/image-viewer.vue.d.ts +5 -0
  291. package/es/components/image-viewer/src/image-viewer2.mjs +3 -1
  292. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  293. package/es/components/index.mjs +5 -5
  294. package/es/components/pagination/src/components/sizes.vue.d.ts +6 -6
  295. package/es/components/radio/index.d.ts +12 -12
  296. package/es/components/radio/src/radio-button.d.ts +1 -1
  297. package/es/components/radio/src/radio-button.vue.d.ts +4 -4
  298. package/es/components/radio/src/radio.d.ts +2 -2
  299. package/es/components/radio/src/radio.vue.d.ts +4 -4
  300. package/es/components/select/index.d.ts +6 -6
  301. package/es/components/select/src/option.vue.d.ts +2 -2
  302. package/es/components/select/src/select.vue.d.ts +2 -2
  303. package/es/components/time-picker/src/common/picker.vue.d.ts +1 -1
  304. package/es/components/time-select/index.d.ts +20 -20
  305. package/es/components/time-select/src/time-select.vue.d.ts +10 -10
  306. package/es/components/tooltip-v2/index.mjs +1 -1
  307. package/es/components/tooltip-v2/src/arrow.mjs +37 -22
  308. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  309. package/es/components/tooltip-v2/src/arrow2.mjs +22 -37
  310. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  311. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  312. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  313. package/es/components/tour/src/mask.mjs +78 -19
  314. package/es/components/tour/src/mask.mjs.map +1 -1
  315. package/es/components/tour/src/mask2.mjs +19 -78
  316. package/es/components/tour/src/mask2.mjs.map +1 -1
  317. package/es/components/tour/src/tour2.mjs +1 -1
  318. package/es/components/transfer/index.d.ts +60 -60
  319. package/es/components/transfer/src/transfer-panel.vue.d.ts +12 -12
  320. package/es/components/transfer/src/transfer.vue.d.ts +60 -60
  321. package/es/components/tree-select/src/tree-select-option.d.ts +8 -8
  322. package/es/components/tree-v2/index.d.ts +12 -12
  323. package/es/components/tree-v2/src/tree-node.vue.d.ts +12 -12
  324. package/es/components/tree-v2/src/tree.vue.d.ts +12 -12
  325. package/es/index.mjs +5 -5
  326. package/es/version.d.ts +1 -1
  327. package/es/version.mjs +1 -1
  328. package/es/version.mjs.map +1 -1
  329. package/global.d.ts +2 -0
  330. package/lib/components/badge/index.js +2 -2
  331. package/lib/components/badge/src/badge.js +55 -17
  332. package/lib/components/badge/src/badge.js.map +1 -1
  333. package/lib/components/badge/src/badge2.js +17 -55
  334. package/lib/components/badge/src/badge2.js.map +1 -1
  335. package/lib/components/cascader/index.js +2 -2
  336. package/lib/components/cascader/src/cascader.js +66 -626
  337. package/lib/components/cascader/src/cascader.js.map +1 -1
  338. package/lib/components/cascader/src/cascader2.js +626 -66
  339. package/lib/components/cascader/src/cascader2.js.map +1 -1
  340. package/lib/components/checkbox/index.d.ts +18 -18
  341. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +6 -6
  342. package/lib/components/checkbox/src/checkbox.d.ts +2 -2
  343. package/lib/components/checkbox/src/checkbox.vue.d.ts +6 -6
  344. package/lib/components/collapse/index.js +4 -4
  345. package/lib/components/collapse/src/collapse-item.js +14 -91
  346. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  347. package/lib/components/collapse/src/collapse-item2.js +91 -14
  348. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  349. package/lib/components/collapse/src/collapse.js +20 -28
  350. package/lib/components/collapse/src/collapse.js.map +1 -1
  351. package/lib/components/collapse/src/collapse2.js +28 -20
  352. package/lib/components/collapse/src/collapse2.js.map +1 -1
  353. package/lib/components/dialog/index.d.ts +1 -1
  354. package/lib/components/dialog/src/dialog-content.vue.d.ts +1 -1
  355. package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
  356. package/lib/components/dropdown/index.d.ts +2 -2
  357. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +1 -1
  358. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  359. package/lib/components/empty/index.js +2 -2
  360. package/lib/components/empty/src/empty.js +55 -11
  361. package/lib/components/empty/src/empty.js.map +1 -1
  362. package/lib/components/empty/src/empty2.js +11 -55
  363. package/lib/components/empty/src/empty2.js.map +1 -1
  364. package/lib/components/image/index.d.ts +10 -0
  365. package/lib/components/image/src/image.d.ts +1 -0
  366. package/lib/components/image/src/image.js +4 -0
  367. package/lib/components/image/src/image.js.map +1 -1
  368. package/lib/components/image/src/image.vue.d.ts +10 -0
  369. package/lib/components/image/src/image2.js +3 -1
  370. package/lib/components/image/src/image2.js.map +1 -1
  371. package/lib/components/image-viewer/index.d.ts +5 -0
  372. package/lib/components/image-viewer/src/image-viewer.d.ts +1 -0
  373. package/lib/components/image-viewer/src/image-viewer.js +4 -0
  374. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  375. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +5 -0
  376. package/lib/components/image-viewer/src/image-viewer2.js +3 -1
  377. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  378. package/lib/components/index.js +5 -5
  379. package/lib/components/pagination/src/components/sizes.vue.d.ts +6 -6
  380. package/lib/components/radio/index.d.ts +12 -12
  381. package/lib/components/radio/src/radio-button.d.ts +1 -1
  382. package/lib/components/radio/src/radio-button.vue.d.ts +4 -4
  383. package/lib/components/radio/src/radio.d.ts +2 -2
  384. package/lib/components/radio/src/radio.vue.d.ts +4 -4
  385. package/lib/components/select/index.d.ts +6 -6
  386. package/lib/components/select/src/option.vue.d.ts +2 -2
  387. package/lib/components/select/src/select.vue.d.ts +2 -2
  388. package/lib/components/time-picker/src/common/picker.vue.d.ts +1 -1
  389. package/lib/components/time-select/index.d.ts +20 -20
  390. package/lib/components/time-select/src/time-select.vue.d.ts +10 -10
  391. package/lib/components/tooltip-v2/index.js +1 -1
  392. package/lib/components/tooltip-v2/src/arrow.js +37 -23
  393. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  394. package/lib/components/tooltip-v2/src/arrow2.js +23 -37
  395. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  396. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  397. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  398. package/lib/components/tour/src/mask.js +78 -19
  399. package/lib/components/tour/src/mask.js.map +1 -1
  400. package/lib/components/tour/src/mask2.js +19 -78
  401. package/lib/components/tour/src/mask2.js.map +1 -1
  402. package/lib/components/tour/src/tour2.js +1 -1
  403. package/lib/components/transfer/index.d.ts +60 -60
  404. package/lib/components/transfer/src/transfer-panel.vue.d.ts +12 -12
  405. package/lib/components/transfer/src/transfer.vue.d.ts +60 -60
  406. package/lib/components/tree-select/src/tree-select-option.d.ts +8 -8
  407. package/lib/components/tree-v2/index.d.ts +12 -12
  408. package/lib/components/tree-v2/src/tree-node.vue.d.ts +12 -12
  409. package/lib/components/tree-v2/src/tree.vue.d.ts +12 -12
  410. package/lib/index.js +5 -5
  411. package/lib/version.d.ts +1 -1
  412. package/lib/version.js +1 -1
  413. package/lib/version.js.map +1 -1
  414. package/package.json +2 -2
  415. package/tags.json +1 -1
  416. package/theme-chalk/el-table.css +1 -1
  417. package/theme-chalk/index.css +1 -1
  418. package/theme-chalk/src/table.scss +5 -7
  419. package/web-types.json +1 -1
@@ -13,7 +13,7 @@ import { isElement } from '../../../utils/types.mjs';
13
13
  import { isString } from '@vue/shared';
14
14
  import { getScrollContainer } from '../../../utils/dom/scroll.mjs';
15
15
 
16
- const _hoisted_1 = ["src", "loading"];
16
+ const _hoisted_1 = ["src", "loading", "crossorigin"];
17
17
  const _hoisted_2 = { key: 0 };
18
18
  const __default__ = defineComponent({
19
19
  name: "ElImage",
@@ -31,6 +31,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
31
31
  const rawAttrs = useAttrs();
32
32
  const attrs = useAttrs$1();
33
33
  const imageSrc = ref();
34
+ const crossorigin = ref(props.crossorigin);
34
35
  const hasLoadError = ref(false);
35
36
  const isLoading = ref(true);
36
37
  const showViewer = ref(false);
@@ -182,6 +183,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
182
183
  loading: _ctx.loading,
183
184
  style: unref(imageStyle),
184
185
  class: unref(imageKls),
186
+ crossorigin: crossorigin.value,
185
187
  onClick: clickHandler,
186
188
  onLoad: handleLoad,
187
189
  onError: handleError
@@ -1 +1 @@
1
- {"version":3,"file":"image2.mjs","sources":["../../../../../../packages/components/image/src/image.vue"],"sourcesContent":["<template>\n <div ref=\"container\" :class=\"[ns.b(), $attrs.class]\" :style=\"containerStyle\">\n <slot v-if=\"hasLoadError\" name=\"error\">\n <div :class=\"ns.e('error')\">{{ t('el.image.error') }}</div>\n </slot>\n <template v-else>\n <img\n v-if=\"imageSrc !== undefined\"\n v-bind=\"attrs\"\n :src=\"imageSrc\"\n :loading=\"loading\"\n :style=\"imageStyle\"\n :class=\"imageKls\"\n @click=\"clickHandler\"\n @load=\"handleLoad\"\n @error=\"handleError\"\n />\n <div v-if=\"isLoading\" :class=\"ns.e('wrapper')\">\n <slot name=\"placeholder\">\n <div :class=\"ns.e('placeholder')\" />\n </slot>\n </div>\n </template>\n <template v-if=\"preview\">\n <image-viewer\n v-if=\"showViewer\"\n :z-index=\"zIndex\"\n :initial-index=\"imageIndex\"\n :infinite=\"infinite\"\n :zoom-rate=\"zoomRate\"\n :min-scale=\"minScale\"\n :max-scale=\"maxScale\"\n :url-list=\"previewSrcList\"\n :hide-on-click-modal=\"hideOnClickModal\"\n :teleported=\"previewTeleported\"\n :close-on-press-escape=\"closeOnPressEscape\"\n @close=\"closeViewer\"\n @switch=\"switchViewer\"\n >\n <div v-if=\"$slots.viewer\">\n <slot name=\"viewer\" />\n </div>\n </image-viewer>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n watch,\n} from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { useAttrs, useLocale, useNamespace } from '@element-plus/hooks'\nimport ImageViewer from '@element-plus/components/image-viewer'\nimport {\n getScrollContainer,\n isClient,\n isElement,\n isInContainer,\n isString,\n} from '@element-plus/utils'\nimport { imageEmits, imageProps } from './image'\n\nimport type { CSSProperties, StyleValue } from 'vue'\n\ndefineOptions({\n name: 'ElImage',\n inheritAttrs: false,\n})\n\nconst props = defineProps(imageProps)\nconst emit = defineEmits(imageEmits)\n\nlet prevOverflow = ''\n\nconst { t } = useLocale()\nconst ns = useNamespace('image')\nconst rawAttrs = useRawAttrs()\nconst attrs = useAttrs()\n\nconst imageSrc = ref<string | undefined>()\nconst hasLoadError = ref(false)\nconst isLoading = ref(true)\nconst showViewer = ref(false)\nconst container = ref<HTMLElement>()\nconst _scrollContainer = ref<HTMLElement | Window>()\n\nconst supportLoading = isClient && 'loading' in HTMLImageElement.prototype\nlet stopScrollListener: (() => void) | undefined\nlet stopWheelListener: (() => void) | undefined\n\nconst imageKls = computed(() => [\n ns.e('inner'),\n preview.value && ns.e('preview'),\n isLoading.value && ns.is('loading'),\n])\n\nconst containerStyle = computed(() => rawAttrs.style as StyleValue)\n\nconst imageStyle = computed<CSSProperties>(() => {\n const { fit } = props\n if (isClient && fit) {\n return { objectFit: fit }\n }\n return {}\n})\n\nconst preview = computed(() => {\n const { previewSrcList } = props\n return Array.isArray(previewSrcList) && previewSrcList.length > 0\n})\n\nconst imageIndex = computed(() => {\n const { previewSrcList, initialIndex } = props\n let previewIndex = initialIndex\n if (initialIndex > previewSrcList.length - 1) {\n previewIndex = 0\n }\n return previewIndex\n})\n\nconst isManual = computed(() => {\n if (props.loading === 'eager') return false\n return (!supportLoading && props.loading === 'lazy') || props.lazy\n})\n\nconst loadImage = () => {\n if (!isClient) return\n\n // reset status\n isLoading.value = true\n hasLoadError.value = false\n imageSrc.value = props.src\n}\n\nfunction handleLoad(event: Event) {\n isLoading.value = false\n hasLoadError.value = false\n emit('load', event)\n}\n\nfunction handleError(event: Event) {\n isLoading.value = false\n hasLoadError.value = true\n emit('error', event)\n}\n\nfunction handleLazyLoad() {\n if (isInContainer(container.value, _scrollContainer.value)) {\n loadImage()\n removeLazyLoadListener()\n }\n}\n\nconst lazyLoadHandler = useThrottleFn(handleLazyLoad, 200, true)\n\nasync function addLazyLoadListener() {\n if (!isClient) return\n\n await nextTick()\n\n const { scrollContainer } = props\n if (isElement(scrollContainer)) {\n _scrollContainer.value = scrollContainer\n } else if (isString(scrollContainer) && scrollContainer !== '') {\n _scrollContainer.value =\n document.querySelector<HTMLElement>(scrollContainer) ?? undefined\n } else if (container.value) {\n _scrollContainer.value = getScrollContainer(container.value)\n }\n\n if (_scrollContainer.value) {\n stopScrollListener = useEventListener(\n _scrollContainer,\n 'scroll',\n lazyLoadHandler\n )\n setTimeout(() => handleLazyLoad(), 100)\n }\n}\n\nfunction removeLazyLoadListener() {\n if (!isClient || !_scrollContainer.value || !lazyLoadHandler) return\n\n stopScrollListener?.()\n _scrollContainer.value = undefined\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\nfunction clickHandler() {\n // don't show viewer when preview is false\n if (!preview.value) return\n\n stopWheelListener = useEventListener('wheel', wheelHandler, {\n passive: false,\n })\n\n // prevent body scroll\n prevOverflow = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n showViewer.value = true\n emit('show')\n}\n\nfunction closeViewer() {\n stopWheelListener?.()\n document.body.style.overflow = prevOverflow\n showViewer.value = false\n emit('close')\n}\n\nfunction switchViewer(val: number) {\n emit('switch', val)\n}\n\nwatch(\n () => props.src,\n () => {\n if (isManual.value) {\n // reset status\n isLoading.value = true\n hasLoadError.value = false\n removeLazyLoadListener()\n addLazyLoadListener()\n } else {\n loadImage()\n }\n }\n)\n\nonMounted(() => {\n if (isManual.value) {\n addLazyLoadListener()\n } else {\n loadImage()\n }\n})\n</script>\n"],"names":["useRawAttrs","useAttrs"],"mappings":"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"}
1
+ {"version":3,"file":"image2.mjs","sources":["../../../../../../packages/components/image/src/image.vue"],"sourcesContent":["<template>\n <div ref=\"container\" :class=\"[ns.b(), $attrs.class]\" :style=\"containerStyle\">\n <slot v-if=\"hasLoadError\" name=\"error\">\n <div :class=\"ns.e('error')\">{{ t('el.image.error') }}</div>\n </slot>\n <template v-else>\n <img\n v-if=\"imageSrc !== undefined\"\n v-bind=\"attrs\"\n :src=\"imageSrc\"\n :loading=\"loading\"\n :style=\"imageStyle\"\n :class=\"imageKls\"\n :crossorigin=\"crossorigin\"\n @click=\"clickHandler\"\n @load=\"handleLoad\"\n @error=\"handleError\"\n />\n <div v-if=\"isLoading\" :class=\"ns.e('wrapper')\">\n <slot name=\"placeholder\">\n <div :class=\"ns.e('placeholder')\" />\n </slot>\n </div>\n </template>\n <template v-if=\"preview\">\n <image-viewer\n v-if=\"showViewer\"\n :z-index=\"zIndex\"\n :initial-index=\"imageIndex\"\n :infinite=\"infinite\"\n :zoom-rate=\"zoomRate\"\n :min-scale=\"minScale\"\n :max-scale=\"maxScale\"\n :url-list=\"previewSrcList\"\n :hide-on-click-modal=\"hideOnClickModal\"\n :teleported=\"previewTeleported\"\n :close-on-press-escape=\"closeOnPressEscape\"\n @close=\"closeViewer\"\n @switch=\"switchViewer\"\n >\n <div v-if=\"$slots.viewer\">\n <slot name=\"viewer\" />\n </div>\n </image-viewer>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n watch,\n} from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { useAttrs, useLocale, useNamespace } from '@element-plus/hooks'\nimport ImageViewer from '@element-plus/components/image-viewer'\nimport {\n getScrollContainer,\n isClient,\n isElement,\n isInContainer,\n isString,\n} from '@element-plus/utils'\nimport { imageEmits, imageProps } from './image'\n\nimport type { CSSProperties, StyleValue } from 'vue'\n\ndefineOptions({\n name: 'ElImage',\n inheritAttrs: false,\n})\n\nconst props = defineProps(imageProps)\nconst emit = defineEmits(imageEmits)\n\nlet prevOverflow = ''\n\nconst { t } = useLocale()\nconst ns = useNamespace('image')\nconst rawAttrs = useRawAttrs()\nconst attrs = useAttrs()\n\nconst imageSrc = ref<string | undefined>()\nconst crossorigin = ref<string>(props.crossorigin)\nconst hasLoadError = ref(false)\nconst isLoading = ref(true)\nconst showViewer = ref(false)\nconst container = ref<HTMLElement>()\nconst _scrollContainer = ref<HTMLElement | Window>()\n\nconst supportLoading = isClient && 'loading' in HTMLImageElement.prototype\nlet stopScrollListener: (() => void) | undefined\nlet stopWheelListener: (() => void) | undefined\n\nconst imageKls = computed(() => [\n ns.e('inner'),\n preview.value && ns.e('preview'),\n isLoading.value && ns.is('loading'),\n])\n\nconst containerStyle = computed(() => rawAttrs.style as StyleValue)\n\nconst imageStyle = computed<CSSProperties>(() => {\n const { fit } = props\n if (isClient && fit) {\n return { objectFit: fit }\n }\n return {}\n})\n\nconst preview = computed(() => {\n const { previewSrcList } = props\n return Array.isArray(previewSrcList) && previewSrcList.length > 0\n})\n\nconst imageIndex = computed(() => {\n const { previewSrcList, initialIndex } = props\n let previewIndex = initialIndex\n if (initialIndex > previewSrcList.length - 1) {\n previewIndex = 0\n }\n return previewIndex\n})\n\nconst isManual = computed(() => {\n if (props.loading === 'eager') return false\n return (!supportLoading && props.loading === 'lazy') || props.lazy\n})\n\nconst loadImage = () => {\n if (!isClient) return\n\n // reset status\n isLoading.value = true\n hasLoadError.value = false\n imageSrc.value = props.src\n}\n\nfunction handleLoad(event: Event) {\n isLoading.value = false\n hasLoadError.value = false\n emit('load', event)\n}\n\nfunction handleError(event: Event) {\n isLoading.value = false\n hasLoadError.value = true\n emit('error', event)\n}\n\nfunction handleLazyLoad() {\n if (isInContainer(container.value, _scrollContainer.value)) {\n loadImage()\n removeLazyLoadListener()\n }\n}\n\nconst lazyLoadHandler = useThrottleFn(handleLazyLoad, 200, true)\n\nasync function addLazyLoadListener() {\n if (!isClient) return\n\n await nextTick()\n\n const { scrollContainer } = props\n if (isElement(scrollContainer)) {\n _scrollContainer.value = scrollContainer\n } else if (isString(scrollContainer) && scrollContainer !== '') {\n _scrollContainer.value =\n document.querySelector<HTMLElement>(scrollContainer) ?? undefined\n } else if (container.value) {\n _scrollContainer.value = getScrollContainer(container.value)\n }\n\n if (_scrollContainer.value) {\n stopScrollListener = useEventListener(\n _scrollContainer,\n 'scroll',\n lazyLoadHandler\n )\n setTimeout(() => handleLazyLoad(), 100)\n }\n}\n\nfunction removeLazyLoadListener() {\n if (!isClient || !_scrollContainer.value || !lazyLoadHandler) return\n\n stopScrollListener?.()\n _scrollContainer.value = undefined\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\nfunction clickHandler() {\n // don't show viewer when preview is false\n if (!preview.value) return\n\n stopWheelListener = useEventListener('wheel', wheelHandler, {\n passive: false,\n })\n\n // prevent body scroll\n prevOverflow = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n showViewer.value = true\n emit('show')\n}\n\nfunction closeViewer() {\n stopWheelListener?.()\n document.body.style.overflow = prevOverflow\n showViewer.value = false\n emit('close')\n}\n\nfunction switchViewer(val: number) {\n emit('switch', val)\n}\n\nwatch(\n () => props.src,\n () => {\n if (isManual.value) {\n // reset status\n isLoading.value = true\n hasLoadError.value = false\n removeLazyLoadListener()\n addLazyLoadListener()\n } else {\n loadImage()\n }\n }\n)\n\nonMounted(() => {\n if (isManual.value) {\n addLazyLoadListener()\n } else {\n loadImage()\n }\n})\n</script>\n"],"names":["useRawAttrs","useAttrs"],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare const ElImageViewer: import("@element-plus/nightly/es/utils").SFC
14
14
  readonly zoomRate: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
15
15
  readonly minScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
16
16
  readonly maxScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
17
+ readonly crossorigin: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown, "anonymous", boolean>;
17
18
  }, {
18
19
  modes: Record<"CONTAIN" | "ORIGINAL", import("./src/image-viewer").ImageViewerMode>;
19
20
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
@@ -32,6 +33,7 @@ export declare const ElImageViewer: import("@element-plus/nightly/es/utils").SFC
32
33
  readonly zoomRate: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
33
34
  readonly minScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
34
35
  readonly maxScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
36
+ readonly crossorigin: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown, "anonymous", boolean>;
35
37
  }>> & {
36
38
  onClose?: (() => any) | undefined;
37
39
  onSwitch?: ((index: number) => any) | undefined;
@@ -62,6 +64,7 @@ export declare const ElImageViewer: import("@element-plus/nightly/es/utils").SFC
62
64
  imgRefs: import("vue").Ref<HTMLImageElement[]>;
63
65
  scopeEventListener: import("vue").EffectScope;
64
66
  loading: import("vue").Ref<boolean>;
67
+ crossorigin: import("vue").Ref<string>;
65
68
  activeIndex: import("vue").Ref<number>;
66
69
  mode: import("vue").ShallowRef<import("./src/image-viewer").ImageViewerMode>;
67
70
  transform: import("vue").Ref<{
@@ -181,6 +184,7 @@ export declare const ElImageViewer: import("@element-plus/nightly/es/utils").SFC
181
184
  readonly zoomRate: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
182
185
  readonly minScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
183
186
  readonly maxScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
187
+ readonly crossorigin: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown, "anonymous", boolean>;
184
188
  }>> & {
185
189
  onClose?: (() => any) | undefined;
186
190
  onSwitch?: ((index: number) => any) | undefined;
@@ -193,6 +197,7 @@ export declare const ElImageViewer: import("@element-plus/nightly/es/utils").SFC
193
197
  readonly zoomRate: number;
194
198
  readonly minScale: number;
195
199
  readonly maxScale: number;
200
+ readonly crossorigin: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown>;
196
201
  readonly hideOnClickModal: boolean;
197
202
  readonly urlList: string[];
198
203
  }>> & Record<string, any>;
@@ -17,6 +17,7 @@ export declare const imageViewerProps: {
17
17
  readonly zoomRate: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
18
18
  readonly minScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
19
19
  readonly maxScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
20
+ readonly crossorigin: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown, "anonymous", boolean>;
20
21
  };
21
22
  export declare type ImageViewerProps = ExtractPropTypes<typeof imageViewerProps>;
22
23
  export declare const imageViewerEmits: {
@@ -36,6 +36,10 @@ const imageViewerProps = buildProps({
36
36
  maxScale: {
37
37
  type: Number,
38
38
  default: 7
39
+ },
40
+ crossorigin: {
41
+ type: definePropType(String),
42
+ default: "anonymous"
39
43
  }
40
44
  });
41
45
  const imageViewerEmits = {
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer.mjs","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\n\nimport type { Component, ExtractPropTypes } from 'vue'\nimport type ImageViewer from './image-viewer.vue'\n\nexport type ImageViewerAction =\n | 'zoomIn'\n | 'zoomOut'\n | 'clockwise'\n | 'anticlockwise'\n\nexport const imageViewerProps = buildProps({\n /**\n * @description preview link list.\n */\n urlList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n /**\n * @description preview backdrop z-index.\n */\n zIndex: {\n type: Number,\n },\n /**\n * @description the initial preview image index, less than or equal to the length of `url-list`.\n */\n initialIndex: {\n type: Number,\n default: 0,\n },\n /**\n * @description whether preview is infinite.\n */\n infinite: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether user can emit close event when clicking backdrop.\n */\n hideOnClickModal: Boolean,\n /**\n * @description whether to append image itself to body. A nested parent element attribute transform should have this attribute set to `true`.\n */\n teleported: Boolean,\n /**\n * @description whether the image-viewer can be closed by pressing ESC.\n */\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n /**\n * @description the zoom rate of the image viewer zoom event.\n */\n zoomRate: {\n type: Number,\n default: 1.2,\n },\n /**\n * @description the min scale of the image viewer zoom event.\n */\n minScale: {\n type: Number,\n default: 0.2,\n },\n /**\n * @description the max scale of the image viewer zoom event.\n */\n maxScale: {\n type: Number,\n default: 7,\n },\n} as const)\nexport type ImageViewerProps = ExtractPropTypes<typeof imageViewerProps>\n\nexport const imageViewerEmits = {\n close: () => true,\n switch: (index: number) => isNumber(index),\n rotate: (deg: number) => isNumber(deg),\n}\nexport type ImageViewerEmits = typeof imageViewerEmits\n\nexport interface ImageViewerMode {\n name: string\n icon: Component\n}\n\nexport type ImageViewerInstance = InstanceType<typeof ImageViewer>\n"],"names":[],"mappings":";;;;;AAMY,MAAC,gBAAgB,GAAG,UAAU,CAAC;AAC3C,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,gBAAgB,EAAE,OAAO;AAC3B,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC,EAAE;AACS,MAAC,gBAAgB,GAAG;AAChC,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AACpC,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC;AAChC;;;;"}
1
+ {"version":3,"file":"image-viewer.mjs","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\n\nimport type { Component, ExtractPropTypes } from 'vue'\nimport type ImageViewer from './image-viewer.vue'\n\nexport type ImageViewerAction =\n | 'zoomIn'\n | 'zoomOut'\n | 'clockwise'\n | 'anticlockwise'\n\nexport const imageViewerProps = buildProps({\n /**\n * @description preview link list.\n */\n urlList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n /**\n * @description preview backdrop z-index.\n */\n zIndex: {\n type: Number,\n },\n /**\n * @description the initial preview image index, less than or equal to the length of `url-list`.\n */\n initialIndex: {\n type: Number,\n default: 0,\n },\n /**\n * @description whether preview is infinite.\n */\n infinite: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether user can emit close event when clicking backdrop.\n */\n hideOnClickModal: Boolean,\n /**\n * @description whether to append image itself to body. A nested parent element attribute transform should have this attribute set to `true`.\n */\n teleported: Boolean,\n /**\n * @description whether the image-viewer can be closed by pressing ESC.\n */\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n /**\n * @description the zoom rate of the image viewer zoom event.\n */\n zoomRate: {\n type: Number,\n default: 1.2,\n },\n /**\n * @description the min scale of the image viewer zoom event.\n */\n minScale: {\n type: Number,\n default: 0.2,\n },\n /**\n * @description the max scale of the image viewer zoom event.\n */\n maxScale: {\n type: Number,\n default: 7,\n },\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin: {\n type: definePropType<'anonymous' | 'use-credentials' | ''>(String),\n default: 'anonymous',\n },\n} as const)\nexport type ImageViewerProps = ExtractPropTypes<typeof imageViewerProps>\n\nexport const imageViewerEmits = {\n close: () => true,\n switch: (index: number) => isNumber(index),\n rotate: (deg: number) => isNumber(deg),\n}\nexport type ImageViewerEmits = typeof imageViewerEmits\n\nexport interface ImageViewerMode {\n name: string\n icon: Component\n}\n\nexport type ImageViewerInstance = InstanceType<typeof ImageViewer>\n"],"names":[],"mappings":";;;;;AAMY,MAAC,gBAAgB,GAAG,UAAU,CAAC;AAC3C,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,gBAAgB,EAAE,OAAO;AAC3B,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,WAAW;AACxB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,gBAAgB,GAAG;AAChC,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AACpC,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC;AAChC;;;;"}
@@ -16,6 +16,7 @@ declare const _default: import("vue").DefineComponent<{
16
16
  readonly zoomRate: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
17
17
  readonly minScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
18
18
  readonly maxScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
19
+ readonly crossorigin: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown, "anonymous", boolean>;
19
20
  }, {
20
21
  modes: Record<"CONTAIN" | "ORIGINAL", ImageViewerMode>;
21
22
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
@@ -34,6 +35,7 @@ declare const _default: import("vue").DefineComponent<{
34
35
  readonly zoomRate: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
35
36
  readonly minScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
36
37
  readonly maxScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
38
+ readonly crossorigin: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown, "anonymous", boolean>;
37
39
  }>> & {
38
40
  onClose?: (() => any) | undefined;
39
41
  onSwitch?: ((index: number) => any) | undefined;
@@ -64,6 +66,7 @@ declare const _default: import("vue").DefineComponent<{
64
66
  imgRefs: import("vue").Ref<HTMLImageElement[]>;
65
67
  scopeEventListener: import("vue").EffectScope;
66
68
  loading: import("vue").Ref<boolean>;
69
+ crossorigin: import("vue").Ref<string>;
67
70
  activeIndex: import("vue").Ref<number>;
68
71
  mode: import("vue").ShallowRef<ImageViewerMode>;
69
72
  transform: import("vue").Ref<{
@@ -183,6 +186,7 @@ declare const _default: import("vue").DefineComponent<{
183
186
  readonly zoomRate: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
184
187
  readonly minScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
185
188
  readonly maxScale: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
189
+ readonly crossorigin: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown, "anonymous", boolean>;
186
190
  }>> & {
187
191
  onClose?: (() => any) | undefined;
188
192
  onSwitch?: ((index: number) => any) | undefined;
@@ -195,6 +199,7 @@ declare const _default: import("vue").DefineComponent<{
195
199
  readonly zoomRate: number;
196
200
  readonly minScale: number;
197
201
  readonly maxScale: number;
202
+ readonly crossorigin: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown>;
198
203
  readonly hideOnClickModal: boolean;
199
204
  readonly urlList: string[];
200
205
  }>;
@@ -15,7 +15,7 @@ import { isNumber } from '../../../utils/types.mjs';
15
15
  import { EVENT_CODE } from '../../../constants/aria.mjs';
16
16
  import { keysOf } from '../../../utils/objects.mjs';
17
17
 
18
- const _hoisted_1 = ["src"];
18
+ const _hoisted_1 = ["src", "crossorigin"];
19
19
  const __default__ = defineComponent({
20
20
  name: "ElImageViewer"
21
21
  });
@@ -42,6 +42,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
42
  const imgRefs = ref([]);
43
43
  const scopeEventListener = effectScope();
44
44
  const loading = ref(true);
45
+ const crossorigin = ref(props.crossorigin);
45
46
  const activeIndex = ref(props.initialIndex);
46
47
  const mode = shallowRef(modes.CONTAIN);
47
48
  const transform = ref({
@@ -385,6 +386,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
385
386
  src: url,
386
387
  style: normalizeStyle(unref(imgStyle)),
387
388
  class: normalizeClass(unref(ns).e("img")),
389
+ crossorigin: crossorigin.value,
388
390
  onLoad: handleImgLoad,
389
391
  onError: handleImgError,
390
392
  onMousedown: handleMouseDown
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer2.mjs","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: computedZIndex }\"\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><Close /></el-icon>\n </span>\n\n <!-- ARROW -->\n <template v-if=\"!isSingle\">\n <span :class=\"arrowPrevKls\" @click=\"prev\">\n <el-icon><ArrowLeft /></el-icon>\n </span>\n <span :class=\"arrowNextKls\" @click=\"next\">\n <el-icon><ArrowRight /></el-icon>\n </span>\n </template>\n <!-- ACTIONS -->\n <div :class=\"[ns.e('btn'), ns.e('actions')]\">\n <div :class=\"ns.e('actions__inner')\">\n <el-icon @click=\"handleActions('zoomOut')\">\n <ZoomOut />\n </el-icon>\n <el-icon @click=\"handleActions('zoomIn')\">\n <ZoomIn />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"toggleMode\">\n <component :is=\"mode.icon\" />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"handleActions('anticlockwise')\">\n <RefreshLeft />\n </el-icon>\n <el-icon @click=\"handleActions('clockwise')\">\n <RefreshRight />\n </el-icon>\n </div>\n </div>\n <!-- CANVAS -->\n <div :class=\"ns.e('canvas')\">\n <img\n v-for=\"(url, i) in urlList\"\n v-show=\"i === activeIndex\"\n :ref=\"(el) => (imgRefs[i] = el as HTMLImageElement)\"\n :key=\"url\"\n :src=\"url\"\n :style=\"imgStyle\"\n :class=\"ns.e('img')\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n />\n </div>\n <slot />\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 { useEventListener } from '@vueuse/core'\nimport { throttle } from 'lodash-unified'\nimport { useLocale, useNamespace, useZIndex } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { isNumber, keysOf } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n ArrowLeft,\n ArrowRight,\n Close,\n FullScreen,\n RefreshLeft,\n RefreshRight,\n ScaleToOriginal,\n ZoomIn,\n ZoomOut,\n} from '@element-plus/icons-vue'\nimport { imageViewerEmits, imageViewerProps } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\nimport type { ImageViewerAction, ImageViewerMode } from './image-viewer'\n\nconst modes: Record<'CONTAIN' | 'ORIGINAL', ImageViewerMode> = {\n CONTAIN: {\n name: 'contain',\n icon: markRaw(FullScreen),\n },\n ORIGINAL: {\n name: 'original',\n icon: markRaw(ScaleToOriginal),\n },\n}\n\ndefineOptions({\n name: 'ElImageViewer',\n})\n\nconst props = defineProps(imageViewerProps)\nconst emit = defineEmits(imageViewerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('image-viewer')\nconst { nextZIndex } = useZIndex()\nconst wrapper = ref<HTMLDivElement>()\nconst imgRefs = ref<HTMLImageElement[]>([])\n\nconst scopeEventListener = effectScope()\n\nconst loading = ref(true)\nconst activeIndex = ref(props.initialIndex)\nconst mode = shallowRef<ImageViewerMode>(modes.CONTAIN)\nconst transform = ref({\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n})\n\nconst isSingle = computed(() => {\n const { urlList } = props\n return urlList.length <= 1\n})\n\nconst isFirst = computed(() => {\n return activeIndex.value === 0\n})\n\nconst isLast = computed(() => {\n return activeIndex.value === props.urlList.length - 1\n})\n\nconst currentImg = computed(() => {\n return props.urlList[activeIndex.value]\n})\n\nconst arrowPrevKls = computed(() => [\n ns.e('btn'),\n ns.e('prev'),\n ns.is('disabled', !props.infinite && isFirst.value),\n])\n\nconst arrowNextKls = computed(() => [\n ns.e('btn'),\n ns.e('next'),\n ns.is('disabled', !props.infinite && isLast.value),\n])\n\nconst imgStyle = computed(() => {\n const { scale, deg, offsetX, offsetY, enableTransition } = transform.value\n let translateX = offsetX / scale\n let translateY = offsetY / scale\n\n switch (deg % 360) {\n case 90:\n case -270:\n ;[translateX, translateY] = [translateY, -translateX]\n break\n case 180:\n case -180:\n ;[translateX, translateY] = [-translateX, -translateY]\n break\n case 270:\n case -90:\n ;[translateX, translateY] = [-translateY, translateX]\n break\n }\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 computedZIndex = computed(() => {\n return isNumber(props.zIndex) ? props.zIndex : nextZIndex()\n})\n\nfunction hide() {\n unregisterEventListener()\n emit('close')\n}\n\nfunction registerEventListener() {\n const keydownHandler = throttle((e: KeyboardEvent) => {\n switch (e.code) {\n // ESC\n case EVENT_CODE.esc:\n props.closeOnPressEscape && hide()\n break\n // SPACE\n case EVENT_CODE.space:\n toggleMode()\n break\n // LEFT_ARROW\n case EVENT_CODE.left:\n prev()\n break\n // UP_ARROW\n case EVENT_CODE.up:\n handleActions('zoomIn')\n break\n // RIGHT_ARROW\n case EVENT_CODE.right:\n next()\n break\n // DOWN_ARROW\n case EVENT_CODE.down:\n handleActions('zoomOut')\n break\n }\n })\n const mousewheelHandler = throttle((e: WheelEvent) => {\n const delta = e.deltaY || e.deltaX\n handleActions(delta < 0 ? 'zoomIn' : 'zoomOut', {\n zoomRate: props.zoomRate,\n enableTransition: false,\n })\n })\n\n scopeEventListener.run(() => {\n useEventListener(document, 'keydown', keydownHandler)\n useEventListener(document, 'wheel', mousewheelHandler)\n })\n}\n\nfunction unregisterEventListener() {\n scopeEventListener.stop()\n}\n\nfunction handleImgLoad() {\n loading.value = false\n}\n\nfunction handleImgError(e: Event) {\n loading.value = false\n ;(e.target as HTMLImageElement).alt = t('el.image.error')\n}\n\nfunction handleMouseDown(e: MouseEvent) {\n if (loading.value || e.button !== 0 || !wrapper.value) return\n transform.value.enableTransition = false\n\n const { offsetX, offsetY } = transform.value\n const startX = e.pageX\n const startY = e.pageY\n\n const dragHandler = throttle((ev: MouseEvent) => {\n transform.value = {\n ...transform.value,\n offsetX: offsetX + ev.pageX - startX,\n offsetY: offsetY + ev.pageY - startY,\n }\n })\n const removeMousemove = useEventListener(document, 'mousemove', dragHandler)\n useEventListener(document, 'mouseup', () => {\n removeMousemove()\n })\n\n e.preventDefault()\n}\n\nfunction reset() {\n transform.value = {\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n}\n\nfunction toggleMode() {\n if (loading.value) return\n\n const modeNames = keysOf(modes)\n const modeValues = Object.values(modes)\n const currentMode = mode.value.name\n const index = modeValues.findIndex((i) => i.name === currentMode)\n const nextIndex = (index + 1) % modeNames.length\n mode.value = modes[modeNames[nextIndex]]\n reset()\n}\n\nfunction setActiveItem(index: number) {\n const len = props.urlList.length\n activeIndex.value = (index + len) % len\n}\n\nfunction prev() {\n if (isFirst.value && !props.infinite) return\n setActiveItem(activeIndex.value - 1)\n}\n\nfunction next() {\n if (isLast.value && !props.infinite) return\n setActiveItem(activeIndex.value + 1)\n}\n\nfunction handleActions(action: ImageViewerAction, options = {}) {\n if (loading.value) return\n const { minScale, maxScale } = props\n const { zoomRate, rotateDeg, enableTransition } = {\n zoomRate: props.zoomRate,\n rotateDeg: 90,\n enableTransition: true,\n ...options,\n }\n switch (action) {\n case 'zoomOut':\n if (transform.value.scale > minScale) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale / zoomRate).toFixed(3)\n )\n }\n break\n case 'zoomIn':\n if (transform.value.scale < maxScale) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale * zoomRate).toFixed(3)\n )\n }\n break\n case 'clockwise':\n transform.value.deg += rotateDeg\n emit('rotate', transform.value.deg)\n break\n case 'anticlockwise':\n transform.value.deg -= rotateDeg\n emit('rotate', transform.value.deg)\n break\n }\n transform.value.enableTransition = enableTransition\n}\n\nwatch(currentImg, () => {\n nextTick(() => {\n const $img = imgRefs.value[0]\n if (!$img?.complete) {\n loading.value = true\n }\n })\n})\n\nwatch(activeIndex, (val) => {\n reset()\n emit('switch', val)\n})\n\nonMounted(() => {\n registerEventListener()\n // add tabindex then wrapper can be focusable via Javascript\n // focus wrapper so arrow key can't cause inner scroll behavior underneath\n wrapper.value?.focus?.()\n})\n\ndefineExpose({\n /**\n * @description manually switch image\n */\n setActiveItem,\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-viewer2.mjs","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <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: computedZIndex }\"\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><Close /></el-icon>\n </span>\n\n <!-- ARROW -->\n <template v-if=\"!isSingle\">\n <span :class=\"arrowPrevKls\" @click=\"prev\">\n <el-icon><ArrowLeft /></el-icon>\n </span>\n <span :class=\"arrowNextKls\" @click=\"next\">\n <el-icon><ArrowRight /></el-icon>\n </span>\n </template>\n <!-- ACTIONS -->\n <div :class=\"[ns.e('btn'), ns.e('actions')]\">\n <div :class=\"ns.e('actions__inner')\">\n <el-icon @click=\"handleActions('zoomOut')\">\n <ZoomOut />\n </el-icon>\n <el-icon @click=\"handleActions('zoomIn')\">\n <ZoomIn />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"toggleMode\">\n <component :is=\"mode.icon\" />\n </el-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <el-icon @click=\"handleActions('anticlockwise')\">\n <RefreshLeft />\n </el-icon>\n <el-icon @click=\"handleActions('clockwise')\">\n <RefreshRight />\n </el-icon>\n </div>\n </div>\n <!-- CANVAS -->\n <div :class=\"ns.e('canvas')\">\n <img\n v-for=\"(url, i) in urlList\"\n v-show=\"i === activeIndex\"\n :ref=\"(el) => (imgRefs[i] = el as HTMLImageElement)\"\n :key=\"url\"\n :src=\"url\"\n :style=\"imgStyle\"\n :class=\"ns.e('img')\"\n :crossorigin=\"crossorigin\"\n @load=\"handleImgLoad\"\n @error=\"handleImgError\"\n @mousedown=\"handleMouseDown\"\n />\n </div>\n <slot />\n </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 { useEventListener } from '@vueuse/core'\nimport { throttle } from 'lodash-unified'\nimport { useLocale, useNamespace, useZIndex } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { isNumber, keysOf } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n ArrowLeft,\n ArrowRight,\n Close,\n FullScreen,\n RefreshLeft,\n RefreshRight,\n ScaleToOriginal,\n ZoomIn,\n ZoomOut,\n} from '@element-plus/icons-vue'\nimport { imageViewerEmits, imageViewerProps } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\nimport type { ImageViewerAction, ImageViewerMode } from './image-viewer'\n\nconst modes: Record<'CONTAIN' | 'ORIGINAL', ImageViewerMode> = {\n CONTAIN: {\n name: 'contain',\n icon: markRaw(FullScreen),\n },\n ORIGINAL: {\n name: 'original',\n icon: markRaw(ScaleToOriginal),\n },\n}\n\ndefineOptions({\n name: 'ElImageViewer',\n})\n\nconst props = defineProps(imageViewerProps)\nconst emit = defineEmits(imageViewerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('image-viewer')\nconst { nextZIndex } = useZIndex()\nconst wrapper = ref<HTMLDivElement>()\nconst imgRefs = ref<HTMLImageElement[]>([])\n\nconst scopeEventListener = effectScope()\n\nconst loading = ref(true)\nconst crossorigin = ref<string>(props.crossorigin)\nconst activeIndex = ref(props.initialIndex)\nconst mode = shallowRef<ImageViewerMode>(modes.CONTAIN)\nconst transform = ref({\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n})\n\nconst isSingle = computed(() => {\n const { urlList } = props\n return urlList.length <= 1\n})\n\nconst isFirst = computed(() => {\n return activeIndex.value === 0\n})\n\nconst isLast = computed(() => {\n return activeIndex.value === props.urlList.length - 1\n})\n\nconst currentImg = computed(() => {\n return props.urlList[activeIndex.value]\n})\n\nconst arrowPrevKls = computed(() => [\n ns.e('btn'),\n ns.e('prev'),\n ns.is('disabled', !props.infinite && isFirst.value),\n])\n\nconst arrowNextKls = computed(() => [\n ns.e('btn'),\n ns.e('next'),\n ns.is('disabled', !props.infinite && isLast.value),\n])\n\nconst imgStyle = computed(() => {\n const { scale, deg, offsetX, offsetY, enableTransition } = transform.value\n let translateX = offsetX / scale\n let translateY = offsetY / scale\n\n switch (deg % 360) {\n case 90:\n case -270:\n ;[translateX, translateY] = [translateY, -translateX]\n break\n case 180:\n case -180:\n ;[translateX, translateY] = [-translateX, -translateY]\n break\n case 270:\n case -90:\n ;[translateX, translateY] = [-translateY, translateX]\n break\n }\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 computedZIndex = computed(() => {\n return isNumber(props.zIndex) ? props.zIndex : nextZIndex()\n})\n\nfunction hide() {\n unregisterEventListener()\n emit('close')\n}\n\nfunction registerEventListener() {\n const keydownHandler = throttle((e: KeyboardEvent) => {\n switch (e.code) {\n // ESC\n case EVENT_CODE.esc:\n props.closeOnPressEscape && hide()\n break\n // SPACE\n case EVENT_CODE.space:\n toggleMode()\n break\n // LEFT_ARROW\n case EVENT_CODE.left:\n prev()\n break\n // UP_ARROW\n case EVENT_CODE.up:\n handleActions('zoomIn')\n break\n // RIGHT_ARROW\n case EVENT_CODE.right:\n next()\n break\n // DOWN_ARROW\n case EVENT_CODE.down:\n handleActions('zoomOut')\n break\n }\n })\n const mousewheelHandler = throttle((e: WheelEvent) => {\n const delta = e.deltaY || e.deltaX\n handleActions(delta < 0 ? 'zoomIn' : 'zoomOut', {\n zoomRate: props.zoomRate,\n enableTransition: false,\n })\n })\n\n scopeEventListener.run(() => {\n useEventListener(document, 'keydown', keydownHandler)\n useEventListener(document, 'wheel', mousewheelHandler)\n })\n}\n\nfunction unregisterEventListener() {\n scopeEventListener.stop()\n}\n\nfunction handleImgLoad() {\n loading.value = false\n}\n\nfunction handleImgError(e: Event) {\n loading.value = false\n ;(e.target as HTMLImageElement).alt = t('el.image.error')\n}\n\nfunction handleMouseDown(e: MouseEvent) {\n if (loading.value || e.button !== 0 || !wrapper.value) return\n transform.value.enableTransition = false\n\n const { offsetX, offsetY } = transform.value\n const startX = e.pageX\n const startY = e.pageY\n\n const dragHandler = throttle((ev: MouseEvent) => {\n transform.value = {\n ...transform.value,\n offsetX: offsetX + ev.pageX - startX,\n offsetY: offsetY + ev.pageY - startY,\n }\n })\n const removeMousemove = useEventListener(document, 'mousemove', dragHandler)\n useEventListener(document, 'mouseup', () => {\n removeMousemove()\n })\n\n e.preventDefault()\n}\n\nfunction reset() {\n transform.value = {\n scale: 1,\n deg: 0,\n offsetX: 0,\n offsetY: 0,\n enableTransition: false,\n }\n}\n\nfunction toggleMode() {\n if (loading.value) return\n\n const modeNames = keysOf(modes)\n const modeValues = Object.values(modes)\n const currentMode = mode.value.name\n const index = modeValues.findIndex((i) => i.name === currentMode)\n const nextIndex = (index + 1) % modeNames.length\n mode.value = modes[modeNames[nextIndex]]\n reset()\n}\n\nfunction setActiveItem(index: number) {\n const len = props.urlList.length\n activeIndex.value = (index + len) % len\n}\n\nfunction prev() {\n if (isFirst.value && !props.infinite) return\n setActiveItem(activeIndex.value - 1)\n}\n\nfunction next() {\n if (isLast.value && !props.infinite) return\n setActiveItem(activeIndex.value + 1)\n}\n\nfunction handleActions(action: ImageViewerAction, options = {}) {\n if (loading.value) return\n const { minScale, maxScale } = props\n const { zoomRate, rotateDeg, enableTransition } = {\n zoomRate: props.zoomRate,\n rotateDeg: 90,\n enableTransition: true,\n ...options,\n }\n switch (action) {\n case 'zoomOut':\n if (transform.value.scale > minScale) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale / zoomRate).toFixed(3)\n )\n }\n break\n case 'zoomIn':\n if (transform.value.scale < maxScale) {\n transform.value.scale = Number.parseFloat(\n (transform.value.scale * zoomRate).toFixed(3)\n )\n }\n break\n case 'clockwise':\n transform.value.deg += rotateDeg\n emit('rotate', transform.value.deg)\n break\n case 'anticlockwise':\n transform.value.deg -= rotateDeg\n emit('rotate', transform.value.deg)\n break\n }\n transform.value.enableTransition = enableTransition\n}\n\nwatch(currentImg, () => {\n nextTick(() => {\n const $img = imgRefs.value[0]\n if (!$img?.complete) {\n loading.value = true\n }\n })\n})\n\nwatch(activeIndex, (val) => {\n reset()\n emit('switch', val)\n})\n\nonMounted(() => {\n registerEventListener()\n // add tabindex then wrapper can be focusable via Javascript\n // focus wrapper so arrow key can't cause inner scroll behavior underneath\n wrapper.value?.focus?.()\n})\n\ndefineExpose({\n /**\n * @description manually switch image\n */\n setActiveItem,\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -82,7 +82,7 @@ export { alertEffects, alertEmits, alertProps } from './alert/src/alert.mjs';
82
82
  export { autocompleteEmits, autocompleteProps } from './autocomplete/src/autocomplete.mjs';
83
83
  export { avatarEmits, avatarProps } from './avatar/src/avatar.mjs';
84
84
  export { backtopEmits, backtopProps } from './backtop/src/backtop.mjs';
85
- export { badgeProps } from './badge/src/badge.mjs';
85
+ export { badgeProps } from './badge/src/badge2.mjs';
86
86
  export { breadcrumbProps } from './breadcrumb/src/breadcrumb.mjs';
87
87
  export { breadcrumbItemProps } from './breadcrumb/src/breadcrumb-item.mjs';
88
88
  export { breadcrumbKey } from './breadcrumb/src/constants.mjs';
@@ -93,7 +93,7 @@ export { cardProps } from './card/src/card.mjs';
93
93
  export { carouselEmits, carouselProps } from './carousel/src/carousel.mjs';
94
94
  export { carouselItemProps } from './carousel/src/carousel-item.mjs';
95
95
  export { carouselContextKey } from './carousel/src/constants.mjs';
96
- export { cascaderEmits, cascaderProps } from './cascader/src/cascader2.mjs';
96
+ export { cascaderEmits, cascaderProps } from './cascader/src/cascader.mjs';
97
97
  export { CASCADER_PANEL_INJECTION_KEY } from './cascader-panel/src/types.mjs';
98
98
  export { CommonProps, DefaultProps, useCascaderConfig } from './cascader-panel/src/config.mjs';
99
99
  export { checkTagEmits, checkTagProps } from './check-tag/src/check-tag.mjs';
@@ -101,8 +101,8 @@ export { checkboxGroupEmits, checkboxGroupProps } from './checkbox/src/checkbox-
101
101
  export { checkboxEmits, checkboxProps } from './checkbox/src/checkbox.mjs';
102
102
  export { checkboxGroupContextKey } from './checkbox/src/constants.mjs';
103
103
  export { colProps } from './col/src/col.mjs';
104
- export { collapseEmits, collapseProps, emitChangeFn } from './collapse/src/collapse2.mjs';
105
- export { collapseItemProps } from './collapse/src/collapse-item2.mjs';
104
+ export { collapseEmits, collapseProps, emitChangeFn } from './collapse/src/collapse.mjs';
105
+ export { collapseItemProps } from './collapse/src/collapse-item.mjs';
106
106
  export { collapseContextKey } from './collapse/src/constants.mjs';
107
107
  export { colorPickerContextKey, colorPickerEmits, colorPickerProps } from './color-picker/src/color-picker.mjs';
108
108
  export { messageConfig } from './config-provider/src/config-provider.mjs';
@@ -120,7 +120,7 @@ export { dividerProps } from './divider/src/divider.mjs';
120
120
  export { drawerEmits, drawerProps } from './drawer/src/drawer.mjs';
121
121
  export { DROPDOWN_COLLECTION_INJECTION_KEY, DROPDOWN_COLLECTION_ITEM_INJECTION_KEY, ElCollection, ElCollectionItem, FIRST_KEYS, FIRST_LAST_KEYS, LAST_KEYS, dropdownItemProps, dropdownMenuProps, dropdownProps } from './dropdown/src/dropdown.mjs';
122
122
  export { DROPDOWN_INJECTION_KEY } from './dropdown/src/tokens.mjs';
123
- export { emptyProps } from './empty/src/empty.mjs';
123
+ export { emptyProps } from './empty/src/empty2.mjs';
124
124
  export { formEmits, formProps } from './form/src/form.mjs';
125
125
  export { formItemProps, formItemValidateStates } from './form/src/form-item.mjs';
126
126
  export { formContextKey, formItemContextKey } from './form/src/constants.mjs';
@@ -73,7 +73,7 @@ declare const _default: import("vue").DefineComponent<{
73
73
  ElOption: import("../../../../utils").SFCWithInstall<import("vue").DefineComponent<{
74
74
  value: {
75
75
  required: true;
76
- type: (ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor)[];
76
+ type: (BooleanConstructor | ObjectConstructor | NumberConstructor | StringConstructor)[];
77
77
  };
78
78
  label: (NumberConstructor | StringConstructor)[];
79
79
  created: BooleanConstructor;
@@ -120,7 +120,7 @@ declare const _default: import("vue").DefineComponent<{
120
120
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
121
121
  value: {
122
122
  required: true;
123
- type: (ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor)[];
123
+ type: (BooleanConstructor | ObjectConstructor | NumberConstructor | StringConstructor)[];
124
124
  };
125
125
  label: (NumberConstructor | StringConstructor)[];
126
126
  created: BooleanConstructor;
@@ -133,7 +133,7 @@ declare const _default: import("vue").DefineComponent<{
133
133
  name: StringConstructor;
134
134
  id: StringConstructor;
135
135
  modelValue: {
136
- type: (ArrayConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor)[];
136
+ type: (BooleanConstructor | ObjectConstructor | NumberConstructor | StringConstructor | ArrayConstructor)[];
137
137
  default: undefined;
138
138
  };
139
139
  autocomplete: {
@@ -12805,7 +12805,7 @@ declare const _default: import("vue").DefineComponent<{
12805
12805
  name: StringConstructor;
12806
12806
  id: StringConstructor;
12807
12807
  modelValue: {
12808
- type: (ArrayConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor)[];
12808
+ type: (BooleanConstructor | ObjectConstructor | NumberConstructor | StringConstructor | ArrayConstructor)[];
12809
12809
  default: undefined;
12810
12810
  };
12811
12811
  autocomplete: {
@@ -12946,7 +12946,7 @@ declare const _default: import("vue").DefineComponent<{
12946
12946
  Option: import("vue").DefineComponent<{
12947
12947
  value: {
12948
12948
  required: true;
12949
- type: (ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor)[];
12949
+ type: (BooleanConstructor | ObjectConstructor | NumberConstructor | StringConstructor)[];
12950
12950
  };
12951
12951
  label: (NumberConstructor | StringConstructor)[];
12952
12952
  created: BooleanConstructor;
@@ -12993,7 +12993,7 @@ declare const _default: import("vue").DefineComponent<{
12993
12993
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
12994
12994
  value: {
12995
12995
  required: true;
12996
- type: (ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor)[];
12996
+ type: (BooleanConstructor | ObjectConstructor | NumberConstructor | StringConstructor)[];
12997
12997
  };
12998
12998
  label: (NumberConstructor | StringConstructor)[];
12999
12999
  created: BooleanConstructor;
@@ -9,7 +9,7 @@ export declare const ElRadio: import("@element-plus/nightly/es/utils").SFCWithIn
9
9
  __epPropKey: true;
10
10
  };
11
11
  readonly disabled: BooleanConstructor;
12
- readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
12
+ readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
13
13
  }, {
14
14
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
15
15
  readonly modelValue: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown, "", boolean>;
@@ -22,7 +22,7 @@ export declare const ElRadio: import("@element-plus/nightly/es/utils").SFCWithIn
22
22
  __epPropKey: true;
23
23
  };
24
24
  readonly disabled: BooleanConstructor;
25
- readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
25
+ readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
26
26
  }>> & {
27
27
  onChange?: ((val: string | number | boolean) => any) | undefined;
28
28
  "onUpdate:modelValue"?: ((val: string | number | boolean) => any) | undefined;
@@ -67,13 +67,13 @@ export declare const ElRadio: import("@element-plus/nightly/es/utils").SFCWithIn
67
67
  __epPropKey: true;
68
68
  };
69
69
  readonly disabled: BooleanConstructor;
70
- readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
70
+ readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
71
71
  }>> & {
72
72
  onChange?: ((val: string | number | boolean) => any) | undefined;
73
73
  "onUpdate:modelValue"?: ((val: string | number | boolean) => any) | undefined;
74
74
  }, {
75
75
  readonly modelValue: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown>;
76
- readonly label: import("@element-plus/nightly/es/utils").EpPropMergeType<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown>;
76
+ readonly label: import("@element-plus/nightly/es/utils").EpPropMergeType<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>;
77
77
  readonly disabled: boolean;
78
78
  readonly name: string;
79
79
  readonly border: boolean;
@@ -87,7 +87,7 @@ export declare const ElRadio: import("@element-plus/nightly/es/utils").SFCWithIn
87
87
  __epPropKey: true;
88
88
  };
89
89
  readonly disabled: BooleanConstructor;
90
- readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
90
+ readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
91
91
  }, {
92
92
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
93
93
  readonly name: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
@@ -98,7 +98,7 @@ export declare const ElRadio: import("@element-plus/nightly/es/utils").SFCWithIn
98
98
  __epPropKey: true;
99
99
  };
100
100
  readonly disabled: BooleanConstructor;
101
- readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
101
+ readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
102
102
  }>> & {
103
103
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
104
104
  }>>;
@@ -136,9 +136,9 @@ export declare const ElRadio: import("@element-plus/nightly/es/utils").SFCWithIn
136
136
  __epPropKey: true;
137
137
  };
138
138
  readonly disabled: BooleanConstructor;
139
- readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
139
+ readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
140
140
  }>>, {
141
- readonly label: import("@element-plus/nightly/es/utils").EpPropMergeType<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown>;
141
+ readonly label: import("@element-plus/nightly/es/utils").EpPropMergeType<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>;
142
142
  readonly disabled: boolean;
143
143
  readonly name: string;
144
144
  }>;
@@ -337,7 +337,7 @@ export declare const ElRadioButton: import("@element-plus/nightly/es/utils").SFC
337
337
  __epPropKey: true;
338
338
  };
339
339
  readonly disabled: BooleanConstructor;
340
- readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
340
+ readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
341
341
  }, {
342
342
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
343
343
  readonly name: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
@@ -348,7 +348,7 @@ export declare const ElRadioButton: import("@element-plus/nightly/es/utils").SFC
348
348
  __epPropKey: true;
349
349
  };
350
350
  readonly disabled: BooleanConstructor;
351
- readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
351
+ readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
352
352
  }>> & {
353
353
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
354
354
  }>>;
@@ -386,9 +386,9 @@ export declare const ElRadioButton: import("@element-plus/nightly/es/utils").SFC
386
386
  __epPropKey: true;
387
387
  };
388
388
  readonly disabled: BooleanConstructor;
389
- readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
389
+ readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
390
390
  }>>, {
391
- readonly label: import("@element-plus/nightly/es/utils").EpPropMergeType<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown>;
391
+ readonly label: import("@element-plus/nightly/es/utils").EpPropMergeType<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>;
392
392
  readonly disabled: boolean;
393
393
  readonly name: string;
394
394
  }>>;
@@ -9,7 +9,7 @@ export declare const radioButtonProps: {
9
9
  __epPropKey: true;
10
10
  };
11
11
  readonly disabled: BooleanConstructor;
12
- readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
12
+ readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
13
13
  };
14
14
  export declare type RadioButtonProps = ExtractPropTypes<typeof radioButtonProps>;
15
15
  export declare type RadioButtonInstance = InstanceType<typeof RadioButton>;
@@ -8,7 +8,7 @@ declare const _default: import("vue").DefineComponent<{
8
8
  __epPropKey: true;
9
9
  };
10
10
  readonly disabled: BooleanConstructor;
11
- readonly label: import("../../../utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
11
+ readonly label: import("../../../utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
12
12
  }, {
13
13
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
14
14
  readonly name: import("../../../utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
@@ -19,7 +19,7 @@ declare const _default: import("vue").DefineComponent<{
19
19
  __epPropKey: true;
20
20
  };
21
21
  readonly disabled: BooleanConstructor;
22
- readonly label: import("../../../utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
22
+ readonly label: import("../../../utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
23
23
  }>> & {
24
24
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
25
25
  }>>;
@@ -57,9 +57,9 @@ declare const _default: import("vue").DefineComponent<{
57
57
  __epPropKey: true;
58
58
  };
59
59
  readonly disabled: BooleanConstructor;
60
- readonly label: import("../../../utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
60
+ readonly label: import("../../../utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
61
61
  }>>, {
62
- readonly label: import("../../../utils").EpPropMergeType<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown>;
62
+ readonly label: import("../../../utils").EpPropMergeType<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>;
63
63
  readonly disabled: boolean;
64
64
  readonly name: string;
65
65
  }>;
@@ -8,7 +8,7 @@ export declare const radioPropsBase: {
8
8
  __epPropKey: true;
9
9
  };
10
10
  disabled: BooleanConstructor;
11
- label: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
11
+ label: import("@element-plus/nightly/es/utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
12
12
  };
13
13
  export declare const radioProps: {
14
14
  readonly modelValue: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown, "", boolean>;
@@ -21,7 +21,7 @@ export declare const radioProps: {
21
21
  __epPropKey: true;
22
22
  };
23
23
  readonly disabled: BooleanConstructor;
24
- readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(NumberConstructor | BooleanConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
24
+ readonly label: import("@element-plus/nightly/es/utils").EpPropFinalized<(BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown, string, boolean>;
25
25
  };
26
26
  export declare const radioEmits: {
27
27
  "update:modelValue": (val: string | number | boolean) => boolean;