element-plus 2.2.25 → 2.2.27

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 (608) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +772 -463
  4. package/dist/index.full.min.js +17 -17
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +20 -20
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +767 -463
  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.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/az.js +1 -1
  18. package/dist/locale/az.min.js +1 -1
  19. package/dist/locale/az.min.mjs +1 -1
  20. package/dist/locale/az.mjs +1 -1
  21. package/dist/locale/bg.js +1 -1
  22. package/dist/locale/bg.min.js +1 -1
  23. package/dist/locale/bg.min.mjs +1 -1
  24. package/dist/locale/bg.mjs +1 -1
  25. package/dist/locale/bn.js +1 -1
  26. package/dist/locale/bn.min.js +1 -1
  27. package/dist/locale/bn.min.mjs +1 -1
  28. package/dist/locale/bn.mjs +1 -1
  29. package/dist/locale/ca.js +1 -1
  30. package/dist/locale/ca.min.js +1 -1
  31. package/dist/locale/ca.min.mjs +1 -1
  32. package/dist/locale/ca.mjs +1 -1
  33. package/dist/locale/ckb.js +168 -0
  34. package/dist/locale/ckb.min.js +2 -0
  35. package/dist/locale/ckb.min.js.map +1 -0
  36. package/dist/locale/ckb.min.mjs +2 -0
  37. package/dist/locale/ckb.min.mjs.map +1 -0
  38. package/dist/locale/ckb.mjs +160 -0
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hr.js +1 -1
  92. package/dist/locale/hr.min.js +1 -1
  93. package/dist/locale/hr.min.mjs +1 -1
  94. package/dist/locale/hr.mjs +1 -1
  95. package/dist/locale/hu.js +1 -1
  96. package/dist/locale/hu.min.js +1 -1
  97. package/dist/locale/hu.min.mjs +1 -1
  98. package/dist/locale/hu.mjs +1 -1
  99. package/dist/locale/hy-am.js +1 -1
  100. package/dist/locale/hy-am.min.js +1 -1
  101. package/dist/locale/hy-am.min.mjs +1 -1
  102. package/dist/locale/hy-am.mjs +1 -1
  103. package/dist/locale/id.js +1 -1
  104. package/dist/locale/id.min.js +1 -1
  105. package/dist/locale/id.min.mjs +1 -1
  106. package/dist/locale/id.mjs +1 -1
  107. package/dist/locale/it.js +1 -1
  108. package/dist/locale/it.min.js +1 -1
  109. package/dist/locale/it.min.mjs +1 -1
  110. package/dist/locale/it.mjs +1 -1
  111. package/dist/locale/ja.js +1 -1
  112. package/dist/locale/ja.min.js +1 -1
  113. package/dist/locale/ja.min.mjs +1 -1
  114. package/dist/locale/ja.mjs +1 -1
  115. package/dist/locale/kk.js +1 -1
  116. package/dist/locale/kk.min.js +1 -1
  117. package/dist/locale/kk.min.mjs +1 -1
  118. package/dist/locale/kk.mjs +1 -1
  119. package/dist/locale/km.js +1 -1
  120. package/dist/locale/km.min.js +1 -1
  121. package/dist/locale/km.min.mjs +1 -1
  122. package/dist/locale/km.mjs +1 -1
  123. package/dist/locale/ko.js +1 -1
  124. package/dist/locale/ko.min.js +1 -1
  125. package/dist/locale/ko.min.mjs +1 -1
  126. package/dist/locale/ko.mjs +1 -1
  127. package/dist/locale/ku.js +1 -1
  128. package/dist/locale/ku.min.js +1 -1
  129. package/dist/locale/ku.min.mjs +1 -1
  130. package/dist/locale/ku.mjs +1 -1
  131. package/dist/locale/ky.js +1 -1
  132. package/dist/locale/ky.min.js +1 -1
  133. package/dist/locale/ky.min.mjs +1 -1
  134. package/dist/locale/ky.mjs +1 -1
  135. package/dist/locale/lt.js +1 -1
  136. package/dist/locale/lt.min.js +1 -1
  137. package/dist/locale/lt.min.mjs +1 -1
  138. package/dist/locale/lt.mjs +1 -1
  139. package/dist/locale/lv.js +1 -1
  140. package/dist/locale/lv.min.js +1 -1
  141. package/dist/locale/lv.min.mjs +1 -1
  142. package/dist/locale/lv.mjs +1 -1
  143. package/dist/locale/mg.js +1 -1
  144. package/dist/locale/mg.min.js +1 -1
  145. package/dist/locale/mg.min.mjs +1 -1
  146. package/dist/locale/mg.mjs +1 -1
  147. package/dist/locale/mn.js +1 -1
  148. package/dist/locale/mn.min.js +1 -1
  149. package/dist/locale/mn.min.mjs +1 -1
  150. package/dist/locale/mn.mjs +1 -1
  151. package/dist/locale/nb-no.js +1 -1
  152. package/dist/locale/nb-no.min.js +1 -1
  153. package/dist/locale/nb-no.min.mjs +1 -1
  154. package/dist/locale/nb-no.mjs +1 -1
  155. package/dist/locale/nl.js +1 -1
  156. package/dist/locale/nl.min.js +1 -1
  157. package/dist/locale/nl.min.mjs +1 -1
  158. package/dist/locale/nl.mjs +1 -1
  159. package/dist/locale/pa.js +1 -1
  160. package/dist/locale/pa.min.js +1 -1
  161. package/dist/locale/pa.min.mjs +1 -1
  162. package/dist/locale/pa.mjs +1 -1
  163. package/dist/locale/pl.js +1 -1
  164. package/dist/locale/pl.min.js +1 -1
  165. package/dist/locale/pl.min.mjs +1 -1
  166. package/dist/locale/pl.mjs +1 -1
  167. package/dist/locale/pt-br.js +1 -1
  168. package/dist/locale/pt-br.min.js +1 -1
  169. package/dist/locale/pt-br.min.mjs +1 -1
  170. package/dist/locale/pt-br.mjs +1 -1
  171. package/dist/locale/pt.js +1 -1
  172. package/dist/locale/pt.min.js +1 -1
  173. package/dist/locale/pt.min.mjs +1 -1
  174. package/dist/locale/pt.mjs +1 -1
  175. package/dist/locale/ro.js +1 -1
  176. package/dist/locale/ro.min.js +1 -1
  177. package/dist/locale/ro.min.mjs +1 -1
  178. package/dist/locale/ro.mjs +1 -1
  179. package/dist/locale/ru.js +1 -1
  180. package/dist/locale/ru.min.js +1 -1
  181. package/dist/locale/ru.min.mjs +1 -1
  182. package/dist/locale/ru.mjs +1 -1
  183. package/dist/locale/sk.js +1 -1
  184. package/dist/locale/sk.min.js +1 -1
  185. package/dist/locale/sk.min.mjs +1 -1
  186. package/dist/locale/sk.mjs +1 -1
  187. package/dist/locale/sl.js +1 -1
  188. package/dist/locale/sl.min.js +1 -1
  189. package/dist/locale/sl.min.mjs +1 -1
  190. package/dist/locale/sl.mjs +1 -1
  191. package/dist/locale/sr.js +1 -1
  192. package/dist/locale/sr.min.js +1 -1
  193. package/dist/locale/sr.min.mjs +1 -1
  194. package/dist/locale/sr.mjs +1 -1
  195. package/dist/locale/sv.js +1 -1
  196. package/dist/locale/sv.min.js +1 -1
  197. package/dist/locale/sv.min.mjs +1 -1
  198. package/dist/locale/sv.mjs +1 -1
  199. package/dist/locale/ta.js +1 -1
  200. package/dist/locale/ta.min.js +1 -1
  201. package/dist/locale/ta.min.mjs +1 -1
  202. package/dist/locale/ta.mjs +1 -1
  203. package/dist/locale/th.js +1 -1
  204. package/dist/locale/th.min.js +1 -1
  205. package/dist/locale/th.min.mjs +1 -1
  206. package/dist/locale/th.mjs +1 -1
  207. package/dist/locale/tk.js +1 -1
  208. package/dist/locale/tk.min.js +1 -1
  209. package/dist/locale/tk.min.mjs +1 -1
  210. package/dist/locale/tk.mjs +1 -1
  211. package/dist/locale/tr.js +1 -1
  212. package/dist/locale/tr.min.js +1 -1
  213. package/dist/locale/tr.min.mjs +1 -1
  214. package/dist/locale/tr.mjs +1 -1
  215. package/dist/locale/ug-cn.js +1 -1
  216. package/dist/locale/ug-cn.min.js +1 -1
  217. package/dist/locale/ug-cn.min.mjs +1 -1
  218. package/dist/locale/ug-cn.mjs +1 -1
  219. package/dist/locale/uk.js +1 -1
  220. package/dist/locale/uk.min.js +1 -1
  221. package/dist/locale/uk.min.mjs +1 -1
  222. package/dist/locale/uk.mjs +1 -1
  223. package/dist/locale/uz-uz.js +1 -1
  224. package/dist/locale/uz-uz.min.js +1 -1
  225. package/dist/locale/uz-uz.min.mjs +1 -1
  226. package/dist/locale/uz-uz.mjs +1 -1
  227. package/dist/locale/vi.js +1 -1
  228. package/dist/locale/vi.min.js +1 -1
  229. package/dist/locale/vi.min.mjs +1 -1
  230. package/dist/locale/vi.mjs +1 -1
  231. package/dist/locale/zh-cn.js +1 -1
  232. package/dist/locale/zh-cn.min.js +1 -1
  233. package/dist/locale/zh-cn.min.mjs +1 -1
  234. package/dist/locale/zh-cn.mjs +1 -1
  235. package/dist/locale/zh-tw.js +1 -1
  236. package/dist/locale/zh-tw.min.js +1 -1
  237. package/dist/locale/zh-tw.min.mjs +1 -1
  238. package/dist/locale/zh-tw.mjs +1 -1
  239. package/es/component.mjs +4 -0
  240. package/es/component.mjs.map +1 -1
  241. package/es/components/backtop/src/backtop.d.ts +12 -0
  242. package/es/components/backtop/src/backtop.mjs.map +1 -1
  243. package/es/components/badge/index.d.ts +1 -0
  244. package/es/components/badge/index.mjs.map +1 -1
  245. package/es/components/badge/src/badge.d.ts +0 -2
  246. package/es/components/badge/src/badge.mjs.map +1 -1
  247. package/es/components/badge/src/instance.d.ts +2 -0
  248. package/es/components/badge/src/instance.mjs +2 -0
  249. package/es/components/badge/src/instance.mjs.map +1 -0
  250. package/es/components/breadcrumb/index.d.ts +1 -0
  251. package/es/components/breadcrumb/index.mjs.map +1 -1
  252. package/es/components/breadcrumb/src/breadcrumb-item.d.ts +0 -2
  253. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  254. package/es/components/breadcrumb/src/breadcrumb.d.ts +0 -2
  255. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  256. package/es/components/breadcrumb/src/instances.d.ts +4 -0
  257. package/es/components/breadcrumb/src/instances.mjs +2 -0
  258. package/es/components/breadcrumb/src/instances.mjs.map +1 -0
  259. package/es/components/card/index.d.ts +1 -0
  260. package/es/components/card/index.mjs.map +1 -1
  261. package/es/components/card/src/card.d.ts +0 -2
  262. package/es/components/card/src/card.mjs.map +1 -1
  263. package/es/components/card/src/instance.d.ts +2 -0
  264. package/es/components/card/src/instance.mjs +2 -0
  265. package/es/components/card/src/instance.mjs.map +1 -0
  266. package/es/components/checkbox/index.d.ts +24 -20
  267. package/es/components/checkbox/src/checkbox-button.mjs +10 -7
  268. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  269. package/es/components/checkbox/src/checkbox-button.vue.d.ts +1 -0
  270. package/es/components/checkbox/src/checkbox-group.d.ts +3 -2
  271. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  272. package/es/components/checkbox/src/checkbox-group.vue.d.ts +14 -14
  273. package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
  274. package/es/components/checkbox/src/checkbox.d.ts +42 -0
  275. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  276. package/es/components/checkbox/src/checkbox.vue.d.ts +2 -0
  277. package/es/components/checkbox/src/checkbox2.mjs +21 -15
  278. package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
  279. package/es/components/color-picker/index.d.ts +1 -0
  280. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  281. package/es/components/color-picker/src/color-picker.vue.d.ts +1 -0
  282. package/es/components/color-picker/src/color-picker2.mjs +8 -5
  283. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  284. package/es/components/config-provider/src/config-provider.mjs.map +1 -1
  285. package/es/components/countdown/index.d.ts +134 -0
  286. package/es/components/countdown/index.mjs +9 -0
  287. package/es/components/countdown/index.mjs.map +1 -0
  288. package/es/components/countdown/src/countdown.d.ts +23 -0
  289. package/es/components/countdown/src/countdown.mjs +29 -0
  290. package/es/components/countdown/src/countdown.mjs.map +1 -0
  291. package/es/components/countdown/src/countdown.vue.d.ts +133 -0
  292. package/es/components/countdown/src/countdown2.mjs +80 -0
  293. package/es/components/countdown/src/countdown2.mjs.map +1 -0
  294. package/es/components/countdown/src/utils.d.ts +3 -0
  295. package/es/components/countdown/src/utils.mjs +32 -0
  296. package/es/components/countdown/src/utils.mjs.map +1 -0
  297. package/es/components/countdown/style/css.d.ts +2 -0
  298. package/es/components/countdown/style/css.mjs +3 -0
  299. package/es/components/countdown/style/css.mjs.map +1 -0
  300. package/es/components/countdown/style/index.d.ts +2 -0
  301. package/es/components/countdown/style/index.mjs +3 -0
  302. package/es/components/countdown/style/index.mjs.map +1 -0
  303. package/es/components/date-picker/src/composables/use-range-picker.d.ts +1 -1
  304. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +3 -3
  305. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  306. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +4 -4
  307. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +4 -1
  308. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  309. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +8 -7
  310. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +9 -9
  311. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +3 -3
  312. package/es/components/date-picker/src/panel-utils.d.ts +20 -19
  313. package/es/components/focus-trap/src/focus-trap.mjs +1 -1
  314. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  315. package/es/components/focus-trap/src/utils.mjs +0 -4
  316. package/es/components/focus-trap/src/utils.mjs.map +1 -1
  317. package/es/components/image/index.d.ts +8 -0
  318. package/es/components/image/src/image.d.ts +1 -0
  319. package/es/components/image/src/image.mjs +4 -0
  320. package/es/components/image/src/image.mjs.map +1 -1
  321. package/es/components/image/src/image.vue.d.ts +8 -0
  322. package/es/components/image/src/image2.mjs +2 -1
  323. package/es/components/image/src/image2.mjs.map +1 -1
  324. package/es/components/image-viewer/index.d.ts +4 -0
  325. package/es/components/image-viewer/src/image-viewer.d.ts +1 -0
  326. package/es/components/image-viewer/src/image-viewer.mjs +4 -0
  327. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  328. package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -0
  329. package/es/components/image-viewer/src/image-viewer2.mjs +3 -3
  330. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  331. package/es/components/index.d.ts +2 -0
  332. package/es/components/index.mjs +4 -0
  333. package/es/components/index.mjs.map +1 -1
  334. package/es/components/input-number/src/input-number2.mjs +3 -3
  335. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  336. package/es/components/menu/index.d.ts +3 -8
  337. package/es/components/menu/src/menu-item.vue.d.ts +0 -4
  338. package/es/components/menu/src/menu-item2.mjs +1 -4
  339. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  340. package/es/components/menu/src/menu.d.ts +4 -0
  341. package/es/components/menu/src/menu.mjs +5 -0
  342. package/es/components/menu/src/menu.mjs.map +1 -1
  343. package/es/components/notification/src/notify.mjs +1 -1
  344. package/es/components/notification/src/notify.mjs.map +1 -1
  345. package/es/components/pagination/src/pagination.mjs +8 -7
  346. package/es/components/pagination/src/pagination.mjs.map +1 -1
  347. package/es/components/select-v2/index.d.ts +2 -0
  348. package/es/components/select-v2/src/select.mjs +21 -4
  349. package/es/components/select-v2/src/select.mjs.map +1 -1
  350. package/es/components/select-v2/src/select.vue.d.ts +499 -498
  351. package/es/components/statistic/index.d.ts +76 -0
  352. package/es/components/statistic/index.mjs +9 -0
  353. package/es/components/statistic/index.mjs.map +1 -0
  354. package/es/components/statistic/src/statistic.d.ts +21 -0
  355. package/es/components/statistic/src/statistic.mjs +31 -0
  356. package/es/components/statistic/src/statistic.mjs.map +1 -0
  357. package/es/components/statistic/src/statistic.vue.d.ts +75 -0
  358. package/es/components/statistic/src/statistic2.mjs +76 -0
  359. package/es/components/statistic/src/statistic2.mjs.map +1 -0
  360. package/es/components/statistic/style/css.d.ts +2 -0
  361. package/es/components/statistic/style/css.mjs +3 -0
  362. package/es/components/statistic/style/css.mjs.map +1 -0
  363. package/es/components/statistic/style/index.d.ts +2 -0
  364. package/es/components/statistic/style/index.mjs +3 -0
  365. package/es/components/statistic/style/index.mjs.map +1 -0
  366. package/es/components/steps/index.d.ts +16 -16
  367. package/es/components/steps/src/item.d.ts +1 -1
  368. package/es/components/steps/src/item.vue.d.ts +4 -4
  369. package/es/components/steps/src/steps.d.ts +2 -2
  370. package/es/components/steps/src/steps.vue.d.ts +8 -8
  371. package/es/components/table/src/store/index.mjs +6 -3
  372. package/es/components/table/src/store/index.mjs.map +1 -1
  373. package/es/components/table/src/table-body/events-helper.mjs +1 -1
  374. package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
  375. package/es/components/tabs/src/tab-bar2.mjs +3 -8
  376. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  377. package/es/components/time-picker/src/composables/use-time-picker.d.ts +2 -2
  378. package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
  379. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
  380. package/es/components/time-select/index.d.ts +2 -2
  381. package/es/components/time-select/src/time-select.vue.d.ts +1 -1
  382. package/es/components/transfer/index.d.ts +115 -110
  383. package/es/components/transfer/src/transfer-panel.d.ts +0 -1
  384. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  385. package/es/components/transfer/src/transfer-panel.vue.d.ts +23 -22
  386. package/es/components/transfer/src/transfer-panel2.mjs +3 -6
  387. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  388. package/es/components/transfer/src/transfer.vue.d.ts +115 -110
  389. package/es/components/tree/src/tree-node-content.mjs +1 -3
  390. package/es/components/tree/src/tree-node-content.mjs.map +1 -1
  391. package/es/components/tree-select/src/cache-options.d.ts +20 -0
  392. package/es/components/tree-select/src/cache-options.mjs +27 -0
  393. package/es/components/tree-select/src/cache-options.mjs.map +1 -0
  394. package/es/components/tree-select/src/tree-select.mjs +18 -6
  395. package/es/components/tree-select/src/tree-select.mjs.map +1 -1
  396. package/es/components/tree-select/src/tree.mjs +17 -2
  397. package/es/components/tree-select/src/tree.mjs.map +1 -1
  398. package/es/components/tree-select/src/utils.d.ts +1 -0
  399. package/es/components/tree-select/src/utils.mjs +11 -1
  400. package/es/components/tree-select/src/utils.mjs.map +1 -1
  401. package/es/components/tree-v2/index.d.ts +13 -10
  402. package/es/components/tree-v2/src/tree-node.vue.d.ts +13 -10
  403. package/es/components/tree-v2/src/tree.vue.d.ts +13 -10
  404. package/es/index.mjs +4 -0
  405. package/es/index.mjs.map +1 -1
  406. package/es/locale/lang/ckb.d.ts +157 -0
  407. package/es/locale/lang/ckb.mjs +159 -0
  408. package/es/locale/lang/ckb.mjs.map +1 -0
  409. package/es/version.d.ts +1 -1
  410. package/es/version.mjs +1 -1
  411. package/es/version.mjs.map +1 -1
  412. package/lib/component.js +38 -34
  413. package/lib/component.js.map +1 -1
  414. package/lib/components/backtop/src/backtop.d.ts +12 -0
  415. package/lib/components/backtop/src/backtop.js.map +1 -1
  416. package/lib/components/badge/index.d.ts +1 -0
  417. package/lib/components/badge/index.js.map +1 -1
  418. package/lib/components/badge/src/badge.d.ts +0 -2
  419. package/lib/components/badge/src/badge.js.map +1 -1
  420. package/lib/components/badge/src/instance.d.ts +2 -0
  421. package/lib/components/badge/src/instance.js +3 -0
  422. package/lib/components/badge/src/instance.js.map +1 -0
  423. package/lib/components/breadcrumb/index.d.ts +1 -0
  424. package/lib/components/breadcrumb/index.js.map +1 -1
  425. package/lib/components/breadcrumb/src/breadcrumb-item.d.ts +0 -2
  426. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  427. package/lib/components/breadcrumb/src/breadcrumb.d.ts +0 -2
  428. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  429. package/lib/components/breadcrumb/src/instances.d.ts +4 -0
  430. package/lib/components/breadcrumb/src/instances.js +3 -0
  431. package/lib/components/breadcrumb/src/instances.js.map +1 -0
  432. package/lib/components/card/index.d.ts +1 -0
  433. package/lib/components/card/index.js.map +1 -1
  434. package/lib/components/card/src/card.d.ts +0 -2
  435. package/lib/components/card/src/card.js.map +1 -1
  436. package/lib/components/card/src/instance.d.ts +2 -0
  437. package/lib/components/card/src/instance.js +3 -0
  438. package/lib/components/card/src/instance.js.map +1 -0
  439. package/lib/components/checkbox/index.d.ts +24 -20
  440. package/lib/components/checkbox/src/checkbox-button.js +10 -7
  441. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  442. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +1 -0
  443. package/lib/components/checkbox/src/checkbox-group.d.ts +3 -2
  444. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  445. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +14 -14
  446. package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
  447. package/lib/components/checkbox/src/checkbox.d.ts +42 -0
  448. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  449. package/lib/components/checkbox/src/checkbox.vue.d.ts +2 -0
  450. package/lib/components/checkbox/src/checkbox2.js +20 -14
  451. package/lib/components/checkbox/src/checkbox2.js.map +1 -1
  452. package/lib/components/color-picker/index.d.ts +1 -0
  453. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  454. package/lib/components/color-picker/src/color-picker.vue.d.ts +1 -0
  455. package/lib/components/color-picker/src/color-picker2.js +8 -5
  456. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  457. package/lib/components/config-provider/src/config-provider.js.map +1 -1
  458. package/lib/components/countdown/index.d.ts +134 -0
  459. package/lib/components/countdown/index.js +16 -0
  460. package/lib/components/countdown/index.js.map +1 -0
  461. package/lib/components/countdown/src/countdown.d.ts +23 -0
  462. package/lib/components/countdown/src/countdown.js +34 -0
  463. package/lib/components/countdown/src/countdown.js.map +1 -0
  464. package/lib/components/countdown/src/countdown.vue.d.ts +133 -0
  465. package/lib/components/countdown/src/countdown2.js +84 -0
  466. package/lib/components/countdown/src/countdown2.js.map +1 -0
  467. package/lib/components/countdown/src/utils.d.ts +3 -0
  468. package/lib/components/countdown/src/utils.js +37 -0
  469. package/lib/components/countdown/src/utils.js.map +1 -0
  470. package/lib/components/countdown/style/css.d.ts +2 -0
  471. package/lib/components/countdown/style/css.js +6 -0
  472. package/lib/components/countdown/style/css.js.map +1 -0
  473. package/lib/components/countdown/style/index.d.ts +2 -0
  474. package/lib/components/countdown/style/index.js +6 -0
  475. package/lib/components/countdown/style/index.js.map +1 -0
  476. package/lib/components/date-picker/src/composables/use-range-picker.d.ts +1 -1
  477. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +2 -2
  478. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  479. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +4 -4
  480. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +4 -1
  481. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  482. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +8 -7
  483. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +9 -9
  484. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +3 -3
  485. package/lib/components/date-picker/src/panel-utils.d.ts +20 -19
  486. package/lib/components/focus-trap/src/focus-trap.js +1 -1
  487. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  488. package/lib/components/focus-trap/src/utils.js +0 -4
  489. package/lib/components/focus-trap/src/utils.js.map +1 -1
  490. package/lib/components/image/index.d.ts +8 -0
  491. package/lib/components/image/src/image.d.ts +1 -0
  492. package/lib/components/image/src/image.js +4 -0
  493. package/lib/components/image/src/image.js.map +1 -1
  494. package/lib/components/image/src/image.vue.d.ts +8 -0
  495. package/lib/components/image/src/image2.js +2 -1
  496. package/lib/components/image/src/image2.js.map +1 -1
  497. package/lib/components/image-viewer/index.d.ts +4 -0
  498. package/lib/components/image-viewer/src/image-viewer.d.ts +1 -0
  499. package/lib/components/image-viewer/src/image-viewer.js +4 -0
  500. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  501. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -0
  502. package/lib/components/image-viewer/src/image-viewer2.js +3 -3
  503. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  504. package/lib/components/index.d.ts +2 -0
  505. package/lib/components/index.js +131 -122
  506. package/lib/components/index.js.map +1 -1
  507. package/lib/components/input-number/src/input-number2.js +3 -3
  508. package/lib/components/input-number/src/input-number2.js.map +1 -1
  509. package/lib/components/menu/index.d.ts +3 -8
  510. package/lib/components/menu/src/menu-item.vue.d.ts +0 -4
  511. package/lib/components/menu/src/menu-item2.js +1 -4
  512. package/lib/components/menu/src/menu-item2.js.map +1 -1
  513. package/lib/components/menu/src/menu.d.ts +4 -0
  514. package/lib/components/menu/src/menu.js +5 -0
  515. package/lib/components/menu/src/menu.js.map +1 -1
  516. package/lib/components/notification/src/notify.js +1 -1
  517. package/lib/components/notification/src/notify.js.map +1 -1
  518. package/lib/components/pagination/src/pagination.js +8 -7
  519. package/lib/components/pagination/src/pagination.js.map +1 -1
  520. package/lib/components/select-v2/index.d.ts +2 -0
  521. package/lib/components/select-v2/src/select.js +20 -3
  522. package/lib/components/select-v2/src/select.js.map +1 -1
  523. package/lib/components/select-v2/src/select.vue.d.ts +499 -498
  524. package/lib/components/statistic/index.d.ts +76 -0
  525. package/lib/components/statistic/index.js +15 -0
  526. package/lib/components/statistic/index.js.map +1 -0
  527. package/lib/components/statistic/src/statistic.d.ts +21 -0
  528. package/lib/components/statistic/src/statistic.js +35 -0
  529. package/lib/components/statistic/src/statistic.js.map +1 -0
  530. package/lib/components/statistic/src/statistic.vue.d.ts +75 -0
  531. package/lib/components/statistic/src/statistic2.js +80 -0
  532. package/lib/components/statistic/src/statistic2.js.map +1 -0
  533. package/lib/components/statistic/style/css.d.ts +2 -0
  534. package/lib/components/statistic/style/css.js +6 -0
  535. package/lib/components/statistic/style/css.js.map +1 -0
  536. package/lib/components/statistic/style/index.d.ts +2 -0
  537. package/lib/components/statistic/style/index.js +6 -0
  538. package/lib/components/statistic/style/index.js.map +1 -0
  539. package/lib/components/steps/index.d.ts +16 -16
  540. package/lib/components/steps/src/item.d.ts +1 -1
  541. package/lib/components/steps/src/item.vue.d.ts +4 -4
  542. package/lib/components/steps/src/steps.d.ts +2 -2
  543. package/lib/components/steps/src/steps.vue.d.ts +8 -8
  544. package/lib/components/table/src/store/index.js +6 -3
  545. package/lib/components/table/src/store/index.js.map +1 -1
  546. package/lib/components/table/src/table-body/events-helper.js +1 -1
  547. package/lib/components/table/src/table-body/events-helper.js.map +1 -1
  548. package/lib/components/tabs/src/tab-bar2.js +3 -8
  549. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  550. package/lib/components/time-picker/src/composables/use-time-picker.d.ts +2 -2
  551. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
  552. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
  553. package/lib/components/time-select/index.d.ts +2 -2
  554. package/lib/components/time-select/src/time-select.vue.d.ts +1 -1
  555. package/lib/components/transfer/index.d.ts +115 -110
  556. package/lib/components/transfer/src/transfer-panel.d.ts +0 -1
  557. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  558. package/lib/components/transfer/src/transfer-panel.vue.d.ts +23 -22
  559. package/lib/components/transfer/src/transfer-panel2.js +3 -6
  560. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  561. package/lib/components/transfer/src/transfer.vue.d.ts +115 -110
  562. package/lib/components/tree/src/tree-node-content.js +1 -3
  563. package/lib/components/tree/src/tree-node-content.js.map +1 -1
  564. package/lib/components/tree-select/src/cache-options.d.ts +20 -0
  565. package/lib/components/tree-select/src/cache-options.js +31 -0
  566. package/lib/components/tree-select/src/cache-options.js.map +1 -0
  567. package/lib/components/tree-select/src/tree-select.js +18 -6
  568. package/lib/components/tree-select/src/tree-select.js.map +1 -1
  569. package/lib/components/tree-select/src/tree.js +16 -1
  570. package/lib/components/tree-select/src/tree.js.map +1 -1
  571. package/lib/components/tree-select/src/utils.d.ts +1 -0
  572. package/lib/components/tree-select/src/utils.js +11 -0
  573. package/lib/components/tree-select/src/utils.js.map +1 -1
  574. package/lib/components/tree-v2/index.d.ts +13 -10
  575. package/lib/components/tree-v2/src/tree-node.vue.d.ts +13 -10
  576. package/lib/components/tree-v2/src/tree.vue.d.ts +13 -10
  577. package/lib/index.js +220 -211
  578. package/lib/index.js.map +1 -1
  579. package/lib/locale/lang/ckb.d.ts +157 -0
  580. package/lib/locale/lang/ckb.js +163 -0
  581. package/lib/locale/lang/ckb.js.map +1 -0
  582. package/lib/version.d.ts +1 -1
  583. package/lib/version.js +1 -1
  584. package/lib/version.js.map +1 -1
  585. package/package.json +4 -4
  586. package/tags.json +1 -1
  587. package/theme-chalk/el-carousel.css +1 -1
  588. package/theme-chalk/el-cascader.css +1 -1
  589. package/theme-chalk/el-color-picker.css +1 -1
  590. package/theme-chalk/el-date-picker.css +1 -1
  591. package/theme-chalk/el-menu.css +1 -1
  592. package/theme-chalk/el-select.css +1 -1
  593. package/theme-chalk/el-statistic.css +1 -0
  594. package/theme-chalk/el-time-picker.css +1 -1
  595. package/theme-chalk/el-time-select.css +1 -1
  596. package/theme-chalk/el-tree.css +1 -1
  597. package/theme-chalk/index.css +1 -1
  598. package/theme-chalk/src/carousel.scss +1 -0
  599. package/theme-chalk/src/cascader.scss +0 -4
  600. package/theme-chalk/src/color-picker.scss +16 -2
  601. package/theme-chalk/src/common/var.scss +14 -1
  602. package/theme-chalk/src/date-picker/picker.scss +0 -4
  603. package/theme-chalk/src/index.scss +1 -0
  604. package/theme-chalk/src/menu.scss +6 -29
  605. package/theme-chalk/src/select.scss +0 -4
  606. package/theme-chalk/src/statistic.scss +35 -0
  607. package/theme-chalk/src/tree.scss +1 -4
  608. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"image2.js","sources":["../../../../../../packages/components/image/src/image.vue"],"sourcesContent":["<template>\n <div ref=\"container\" :class=\"[ns.b(), $attrs.class]\" :style=\"containerStyle\">\n <img\n v-if=\"imageSrc !== undefined && !hasLoadError\"\n v-bind=\"attrs\"\n :src=\"imageSrc\"\n :loading=\"loading\"\n :style=\"imageStyle\"\n :class=\"[\n ns.e('inner'),\n preview && ns.e('preview'),\n isLoading && ns.is('loading'),\n ]\"\n @click=\"clickHandler\"\n @load=\"handleLoad\"\n @error=\"handleError\"\n />\n <div v-if=\"isLoading || hasLoadError\" :class=\"ns.e('wrapper')\">\n <slot v-if=\"isLoading\" name=\"placeholder\">\n <div :class=\"ns.e('placeholder')\" />\n </slot>\n <slot v-else-if=\"hasLoadError\" name=\"error\">\n <div :class=\"ns.e('error')\">{{ t('el.image.error') }}</div>\n </slot>\n </div>\n <template v-if=\"preview\">\n <image-viewer\n v-if=\"showViewer\"\n :z-index=\"zIndex\"\n :initial-index=\"imageIndex\"\n :infinite=\"infinite\"\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 { isClient, 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 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 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)\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":["useLocale","useNamespace","useRawAttrs","useAttrs","ref","isClient","computed","isInContainer","useThrottleFn","nextTick","isElement","isString","getScrollContainer","useEventListener","watch","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"image2.js","sources":["../../../../../../packages/components/image/src/image.vue"],"sourcesContent":["<template>\n <div ref=\"container\" :class=\"[ns.b(), $attrs.class]\" :style=\"containerStyle\">\n <img\n v-if=\"imageSrc !== undefined && !hasLoadError\"\n v-bind=\"attrs\"\n :src=\"imageSrc\"\n :loading=\"loading\"\n :style=\"imageStyle\"\n :class=\"[\n ns.e('inner'),\n preview && ns.e('preview'),\n isLoading && ns.is('loading'),\n ]\"\n @click=\"clickHandler\"\n @load=\"handleLoad\"\n @error=\"handleError\"\n />\n <div v-if=\"isLoading || hasLoadError\" :class=\"ns.e('wrapper')\">\n <slot v-if=\"isLoading\" name=\"placeholder\">\n <div :class=\"ns.e('placeholder')\" />\n </slot>\n <slot v-else-if=\"hasLoadError\" name=\"error\">\n <div :class=\"ns.e('error')\">{{ t('el.image.error') }}</div>\n </slot>\n </div>\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 :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 { isClient, 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 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 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)\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":["useLocale","useNamespace","useRawAttrs","useAttrs","ref","isClient","computed","isInContainer","useThrottleFn","nextTick","isElement","isString","getScrollContainer","useEventListener","watch","onMounted"],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare const ElImageViewer: import("element-plus/es/utils").SFCWithInsta
11
11
  readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
12
12
  readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
13
13
  readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
14
+ readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
14
15
  }, {
15
16
  modes: Record<"CONTAIN" | "ORIGINAL", import("./src/image-viewer").ImageViewerMode>;
16
17
  mousewheelEventName: string;
@@ -27,6 +28,7 @@ export declare const ElImageViewer: import("element-plus/es/utils").SFCWithInsta
27
28
  readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
28
29
  readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
29
30
  readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
31
+ readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
30
32
  }>> & {
31
33
  onClose?: (() => any) | undefined;
32
34
  onSwitch?: ((index: number) => any) | undefined;
@@ -169,6 +171,7 @@ export declare const ElImageViewer: import("element-plus/es/utils").SFCWithInsta
169
171
  readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
170
172
  readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
171
173
  readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
174
+ readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
172
175
  }>> & {
173
176
  onClose?: (() => any) | undefined;
174
177
  onSwitch?: ((index: number) => any) | undefined;
@@ -178,6 +181,7 @@ export declare const ElImageViewer: import("element-plus/es/utils").SFCWithInsta
178
181
  readonly initialIndex: number;
179
182
  readonly closeOnPressEscape: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
180
183
  readonly hideOnClickModal: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
184
+ readonly zoomRate: number;
181
185
  readonly urlList: string[];
182
186
  }>> & Record<string, any>;
183
187
  export default ElImageViewer;
@@ -14,6 +14,7 @@ export declare const imageViewerProps: {
14
14
  readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
15
15
  readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
16
16
  readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
17
+ readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
17
18
  };
18
19
  export declare type ImageViewerProps = ExtractPropTypes<typeof imageViewerProps>;
19
20
  export declare const imageViewerEmits: {
@@ -34,6 +34,10 @@ const imageViewerProps = runtime.buildProps({
34
34
  closeOnPressEscape: {
35
35
  type: Boolean,
36
36
  default: true
37
+ },
38
+ zoomRate: {
39
+ type: Number,
40
+ default: 1.2
37
41
  }
38
42
  });
39
43
  const imageViewerEmits = {
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer.js","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 urlList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n zIndex: {\n type: Number,\n },\n initialIndex: {\n type: Number,\n default: 0,\n },\n infinite: {\n type: Boolean,\n default: true,\n },\n hideOnClickModal: {\n type: Boolean,\n default: false,\n },\n teleported: {\n type: Boolean,\n default: false,\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n} as const)\nexport type ImageViewerProps = ExtractPropTypes<typeof imageViewerProps>\n\nexport const imageViewerEmits = {\n close: () => true,\n switch: (index: number) => isNumber(index),\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":["buildProps","definePropType","mutable","isNumber"],"mappings":";;;;;;;;;AAMY,MAAC,gBAAgB,GAAGA,kBAAU,CAAC;AAC3C,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAMC,kBAAO,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;AACpB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,gBAAgB,GAAG;AAChC,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,CAAC,KAAK,KAAKC,aAAQ,CAAC,KAAK,CAAC;AACpC;;;;;"}
1
+ {"version":3,"file":"image-viewer.js","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 urlList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n zIndex: {\n type: Number,\n },\n initialIndex: {\n type: Number,\n default: 0,\n },\n infinite: {\n type: Boolean,\n default: true,\n },\n hideOnClickModal: {\n type: Boolean,\n default: false,\n },\n teleported: {\n type: Boolean,\n default: false,\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n zoomRate: {\n type: Number,\n default: 1.2,\n },\n} as const)\nexport type ImageViewerProps = ExtractPropTypes<typeof imageViewerProps>\n\nexport const imageViewerEmits = {\n close: () => true,\n switch: (index: number) => isNumber(index),\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":["buildProps","definePropType","mutable","isNumber"],"mappings":";;;;;;;;;AAMY,MAAC,gBAAgB,GAAGA,kBAAU,CAAC;AAC3C,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAMC,kBAAO,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;AACpB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,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,CAAC,EAAE;AACS,MAAC,gBAAgB,GAAG;AAChC,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,CAAC,KAAK,KAAKC,aAAQ,CAAC,KAAK,CAAC;AACpC;;;;;"}
@@ -13,6 +13,7 @@ declare const _default: import("vue").DefineComponent<{
13
13
  readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
14
14
  readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
15
15
  readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
16
+ readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
16
17
  }, {
17
18
  modes: Record<"CONTAIN" | "ORIGINAL", ImageViewerMode>;
18
19
  mousewheelEventName: string;
@@ -29,6 +30,7 @@ declare const _default: import("vue").DefineComponent<{
29
30
  readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
30
31
  readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
31
32
  readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
33
+ readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
32
34
  }>> & {
33
35
  onClose?: (() => any) | undefined;
34
36
  onSwitch?: ((index: number) => any) | undefined;
@@ -171,6 +173,7 @@ declare const _default: import("vue").DefineComponent<{
171
173
  readonly hideOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
172
174
  readonly teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
173
175
  readonly closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
176
+ readonly zoomRate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
174
177
  }>> & {
175
178
  onClose?: (() => any) | undefined;
176
179
  onSwitch?: ((index: number) => any) | undefined;
@@ -180,6 +183,7 @@ declare const _default: import("vue").DefineComponent<{
180
183
  readonly initialIndex: number;
181
184
  readonly closeOnPressEscape: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
182
185
  readonly hideOnClickModal: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
186
+ readonly zoomRate: number;
183
187
  readonly urlList: string[];
184
188
  }>;
185
189
  export default _default;
@@ -133,12 +133,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
133
133
  const delta = e.wheelDelta ? e.wheelDelta : -e.detail;
134
134
  if (delta > 0) {
135
135
  handleActions("zoomIn", {
136
- zoomRate: 1.2,
136
+ zoomRate: props.zoomRate,
137
137
  enableTransition: false
138
138
  });
139
139
  } else {
140
140
  handleActions("zoomOut", {
141
- zoomRate: 1.2,
141
+ zoomRate: props.zoomRate,
142
142
  enableTransition: false
143
143
  });
144
144
  }
@@ -216,7 +216,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
216
216
  if (loading.value)
217
217
  return;
218
218
  const { zoomRate, rotateDeg, enableTransition } = {
219
- zoomRate: 1.4,
219
+ zoomRate: props.zoomRate,
220
220
  rotateDeg: 90,
221
221
  enableTransition: true,
222
222
  ...options
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer2.js","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\n :class=\"[\n ns.e('btn'),\n ns.e('prev'),\n ns.is('disabled', !infinite && isFirst),\n ]\"\n @click=\"prev\"\n >\n <el-icon><ArrowLeft /></el-icon>\n </span>\n <span\n :class=\"[\n ns.e('btn'),\n ns.e('next'),\n ns.is('disabled', !infinite && isLast),\n ]\"\n @click=\"next\"\n >\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 { isNumber, 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 { isFirefox, 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\nconst mousewheelEventName = isFirefox() ? 'DOMMouseScroll' : 'mousewheel'\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 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(\n (e: WheelEvent | any /* TODO: wheelDelta is deprecated */) => {\n const delta = e.wheelDelta ? e.wheelDelta : -e.detail\n if (delta > 0) {\n handleActions('zoomIn', {\n zoomRate: 1.2,\n enableTransition: false,\n })\n } else {\n handleActions('zoomOut', {\n zoomRate: 1.2,\n enableTransition: false,\n })\n }\n }\n )\n\n scopeEventListener.run(() => {\n useEventListener(document, 'keydown', keydownHandler)\n useEventListener(document, mousewheelEventName, 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 { zoomRate, rotateDeg, enableTransition } = {\n zoomRate: 1.4,\n rotateDeg: 90,\n enableTransition: true,\n ...options,\n }\n switch (action) {\n case 'zoomOut':\n if (transform.value.scale > 0.2) {\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 < 7) {\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 break\n case 'anticlockwise':\n transform.value.deg -= rotateDeg\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 /** @description manually switch image */\n setActiveItem,\n})\n</script>\n"],"names":["markRaw","FullScreen","ScaleToOriginal","isFirefox","useLocale","useNamespace","useZIndex","ref","effectScope","shallowRef","computed","isNumber","throttle","EVENT_CODE","useEventListener","keysOf","watch","nextTick","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"image-viewer2.js","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\n :class=\"[\n ns.e('btn'),\n ns.e('prev'),\n ns.is('disabled', !infinite && isFirst),\n ]\"\n @click=\"prev\"\n >\n <el-icon><ArrowLeft /></el-icon>\n </span>\n <span\n :class=\"[\n ns.e('btn'),\n ns.e('next'),\n ns.is('disabled', !infinite && isLast),\n ]\"\n @click=\"next\"\n >\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 { isNumber, 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 { isFirefox, 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\nconst mousewheelEventName = isFirefox() ? 'DOMMouseScroll' : 'mousewheel'\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 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(\n (e: WheelEvent | any /* TODO: wheelDelta is deprecated */) => {\n const delta = e.wheelDelta ? e.wheelDelta : -e.detail\n if (delta > 0) {\n handleActions('zoomIn', {\n zoomRate: props.zoomRate,\n enableTransition: false,\n })\n } else {\n handleActions('zoomOut', {\n zoomRate: props.zoomRate,\n enableTransition: false,\n })\n }\n }\n )\n\n scopeEventListener.run(() => {\n useEventListener(document, 'keydown', keydownHandler)\n useEventListener(document, mousewheelEventName, 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 { 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 > 0.2) {\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 < 7) {\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 break\n case 'anticlockwise':\n transform.value.deg -= rotateDeg\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 /** @description manually switch image */\n setActiveItem,\n})\n</script>\n"],"names":["markRaw","FullScreen","ScaleToOriginal","isFirefox","useLocale","useNamespace","useZIndex","ref","effectScope","shallowRef","computed","isNumber","throttle","EVENT_CODE","useEventListener","keysOf","watch","nextTick","onMounted"],"mappings":"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"}
@@ -19,6 +19,7 @@ export * from './collapse-transition';
19
19
  export * from './color-picker';
20
20
  export * from './config-provider';
21
21
  export * from './container';
22
+ export * from './countdown';
22
23
  export * from './date-picker';
23
24
  export * from './descriptions';
24
25
  export * from './dialog';
@@ -50,6 +51,7 @@ export * from './select-v2';
50
51
  export * from './skeleton';
51
52
  export * from './slider';
52
53
  export * from './space';
54
+ export * from './statistic';
53
55
  export * from './steps';
54
56
  export * from './switch';
55
57
  export * from './table';
@@ -23,59 +23,61 @@ var index$h = require('./collapse-transition/index.js');
23
23
  var index$i = require('./color-picker/index.js');
24
24
  var index$j = require('./config-provider/index.js');
25
25
  var index$k = require('./container/index.js');
26
- var index$l = require('./date-picker/index.js');
27
- var index$m = require('./descriptions/index.js');
28
- var index$n = require('./dialog/index.js');
29
- var index$o = require('./divider/index.js');
30
- var index$p = require('./drawer/index.js');
31
- var index$q = require('./dropdown/index.js');
32
- var index$r = require('./empty/index.js');
33
- var index$s = require('./form/index.js');
34
- var index$t = require('./icon/index.js');
35
- var index$u = require('./image/index.js');
36
- var index$v = require('./image-viewer/index.js');
37
- var index$w = require('./input/index.js');
38
- var index$x = require('./input-number/index.js');
39
- var index$y = require('./link/index.js');
40
- var index$z = require('./menu/index.js');
41
- var index$A = require('./overlay/index.js');
42
- var index$B = require('./page-header/index.js');
43
- var index$C = require('./pagination/index.js');
44
- var index$D = require('./popconfirm/index.js');
45
- var index$E = require('./popper/index.js');
46
- var index$F = require('./progress/index.js');
47
- var index$G = require('./radio/index.js');
48
- var index$H = require('./rate/index.js');
49
- var index$I = require('./result/index.js');
50
- var index$J = require('./row/index.js');
51
- var index$K = require('./scrollbar/index.js');
52
- var index$L = require('./select/index.js');
53
- var index$M = require('./select-v2/index.js');
54
- var index$N = require('./skeleton/index.js');
55
- var index$O = require('./slider/index.js');
56
- var index$P = require('./space/index.js');
57
- var index$Q = require('./steps/index.js');
58
- var index$R = require('./switch/index.js');
59
- var index$S = require('./table/index.js');
60
- var index$T = require('./table-v2/index.js');
61
- var index$U = require('./tabs/index.js');
62
- var index$V = require('./tag/index.js');
63
- var index$W = require('./time-picker/index.js');
64
- var index$X = require('./time-select/index.js');
65
- var index$Y = require('./timeline/index.js');
66
- var index$Z = require('./tooltip/index.js');
67
- var index$_ = require('./transfer/index.js');
68
- var index$$ = require('./tree/index.js');
69
- var index$10 = require('./tree-select/index.js');
70
- var index$11 = require('./tree-v2/index.js');
71
- var index$12 = require('./upload/index.js');
26
+ var index$l = require('./countdown/index.js');
27
+ var index$m = require('./date-picker/index.js');
28
+ var index$n = require('./descriptions/index.js');
29
+ var index$o = require('./dialog/index.js');
30
+ var index$p = require('./divider/index.js');
31
+ var index$q = require('./drawer/index.js');
32
+ var index$r = require('./dropdown/index.js');
33
+ var index$s = require('./empty/index.js');
34
+ var index$t = require('./form/index.js');
35
+ var index$u = require('./icon/index.js');
36
+ var index$v = require('./image/index.js');
37
+ var index$w = require('./image-viewer/index.js');
38
+ var index$x = require('./input/index.js');
39
+ var index$y = require('./input-number/index.js');
40
+ var index$z = require('./link/index.js');
41
+ var index$A = require('./menu/index.js');
42
+ var index$B = require('./overlay/index.js');
43
+ var index$C = require('./page-header/index.js');
44
+ var index$D = require('./pagination/index.js');
45
+ var index$E = require('./popconfirm/index.js');
46
+ var index$F = require('./popper/index.js');
47
+ var index$G = require('./progress/index.js');
48
+ var index$H = require('./radio/index.js');
49
+ var index$I = require('./rate/index.js');
50
+ var index$J = require('./result/index.js');
51
+ var index$K = require('./row/index.js');
52
+ var index$L = require('./scrollbar/index.js');
53
+ var index$M = require('./select/index.js');
54
+ var index$N = require('./select-v2/index.js');
55
+ var index$O = require('./skeleton/index.js');
56
+ var index$P = require('./slider/index.js');
57
+ var index$Q = require('./space/index.js');
58
+ var index$R = require('./statistic/index.js');
59
+ var index$S = require('./steps/index.js');
60
+ var index$T = require('./switch/index.js');
61
+ var index$U = require('./table/index.js');
62
+ var index$V = require('./table-v2/index.js');
63
+ var index$W = require('./tabs/index.js');
64
+ var index$X = require('./tag/index.js');
65
+ var index$Y = require('./time-picker/index.js');
66
+ var index$Z = require('./time-select/index.js');
67
+ var index$_ = require('./timeline/index.js');
68
+ var index$$ = require('./tooltip/index.js');
69
+ var index$10 = require('./transfer/index.js');
70
+ var index$11 = require('./tree/index.js');
71
+ var index$12 = require('./tree-select/index.js');
72
+ var index$13 = require('./tree-v2/index.js');
73
+ var index$14 = require('./upload/index.js');
72
74
  require('./virtual-list/index.js');
73
- var index$13 = require('./infinite-scroll/index.js');
74
- var index$14 = require('./loading/index.js');
75
- var index$15 = require('./message/index.js');
76
- var index$16 = require('./message-box/index.js');
77
- var index$17 = require('./notification/index.js');
78
- var index$18 = require('./popover/index.js');
75
+ var index$15 = require('./infinite-scroll/index.js');
76
+ var index$16 = require('./loading/index.js');
77
+ var index$17 = require('./message/index.js');
78
+ var index$18 = require('./message-box/index.js');
79
+ var index$19 = require('./notification/index.js');
80
+ var index$1a = require('./popover/index.js');
79
81
  var affix = require('./affix/src/affix.js');
80
82
  var alert = require('./alert/src/alert.js');
81
83
  var autocomplete = require('./autocomplete/src/autocomplete.js');
@@ -99,6 +101,7 @@ var collapse = require('./collapse/src/collapse.js');
99
101
  var collapseItem = require('./collapse/src/collapse-item.js');
100
102
  var colorPicker = require('./color-picker/src/color-picker.js');
101
103
  var configProvider = require('./config-provider/src/config-provider.js');
104
+ var countdown = require('./countdown/src/countdown.js');
102
105
  var description = require('./descriptions/src/description.js');
103
106
  var useDialog = require('./dialog/src/use-dialog.js');
104
107
  var dialog = require('./dialog/src/dialog.js');
@@ -147,6 +150,7 @@ var skeletonItem = require('./skeleton/src/skeleton-item.js');
147
150
  var slider = require('./slider/src/slider.js');
148
151
  var space = require('./space/src/space.js');
149
152
  var useSpace = require('./space/src/use-space.js');
153
+ var statistic = require('./statistic/src/statistic.js');
150
154
  var item = require('./steps/src/item.js');
151
155
  var steps = require('./steps/src/steps.js');
152
156
  var _switch = require('./switch/src/switch.js');
@@ -219,76 +223,78 @@ exports.ElContainer = index$k.ElContainer;
219
223
  exports.ElFooter = index$k.ElFooter;
220
224
  exports.ElHeader = index$k.ElHeader;
221
225
  exports.ElMain = index$k.ElMain;
222
- exports.ElDatePicker = index$l.ElDatePicker;
223
- exports.ElDescriptions = index$m.ElDescriptions;
224
- exports.ElDescriptionsItem = index$m.ElDescriptionsItem;
225
- exports.ElDialog = index$n.ElDialog;
226
- exports.ElDivider = index$o.ElDivider;
227
- exports.ElDrawer = index$p.ElDrawer;
228
- exports.ElDropdown = index$q.ElDropdown;
229
- exports.ElDropdownItem = index$q.ElDropdownItem;
230
- exports.ElDropdownMenu = index$q.ElDropdownMenu;
231
- exports.ElEmpty = index$r.ElEmpty;
232
- exports.ElForm = index$s.ElForm;
233
- exports.ElFormItem = index$s.ElFormItem;
234
- exports.ElIcon = index$t.ElIcon;
235
- exports.ElImage = index$u.ElImage;
236
- exports.ElImageViewer = index$v.ElImageViewer;
237
- exports.ElInput = index$w.ElInput;
238
- exports.ElInputNumber = index$x.ElInputNumber;
239
- exports.ElLink = index$y.ElLink;
240
- exports.ElMenu = index$z.ElMenu;
241
- exports.ElMenuItem = index$z.ElMenuItem;
242
- exports.ElMenuItemGroup = index$z.ElMenuItemGroup;
243
- exports.ElSubMenu = index$z.ElSubMenu;
244
- exports.ElOverlay = index$A.ElOverlay;
245
- exports.ElPageHeader = index$B.ElPageHeader;
246
- exports.ElPagination = index$C.ElPagination;
247
- exports.ElPopconfirm = index$D.ElPopconfirm;
248
- exports.ElPopper = index$E.ElPopper;
249
- exports.ElProgress = index$F.ElProgress;
250
- exports.ElRadio = index$G.ElRadio;
251
- exports.ElRadioButton = index$G.ElRadioButton;
252
- exports.ElRadioGroup = index$G.ElRadioGroup;
253
- exports.ElRate = index$H.ElRate;
254
- exports.ElResult = index$I.ElResult;
255
- exports.ElRow = index$J.ElRow;
256
- exports.ElScrollbar = index$K.ElScrollbar;
257
- exports.ElOption = index$L.ElOption;
258
- exports.ElOptionGroup = index$L.ElOptionGroup;
259
- exports.ElSelect = index$L.ElSelect;
260
- exports.ElSelectV2 = index$M.ElSelectV2;
261
- exports.ElSkeleton = index$N.ElSkeleton;
262
- exports.ElSkeletonItem = index$N.ElSkeletonItem;
263
- exports.ElSlider = index$O.ElSlider;
264
- exports.ElSpace = index$P.ElSpace;
265
- exports.ElStep = index$Q.ElStep;
266
- exports.ElSteps = index$Q.ElSteps;
267
- exports.ElSwitch = index$R.ElSwitch;
268
- exports.ElTable = index$S.ElTable;
269
- exports.ElTableColumn = index$S.ElTableColumn;
270
- exports.ElAutoResizer = index$T.ElAutoResizer;
271
- exports.ElTableV2 = index$T.ElTableV2;
272
- exports.ElTabPane = index$U.ElTabPane;
273
- exports.ElTabs = index$U.ElTabs;
274
- exports.ElTag = index$V.ElTag;
275
- exports.ElTimePicker = index$W.ElTimePicker;
276
- exports.ElTimeSelect = index$X.ElTimeSelect;
277
- exports.ElTimeline = index$Y.ElTimeline;
278
- exports.ElTimelineItem = index$Y.ElTimelineItem;
279
- exports.ElTooltip = index$Z.ElTooltip;
280
- exports.ElTransfer = index$_.ElTransfer;
281
- exports.ElTree = index$$.ElTree;
282
- exports.ElTreeSelect = index$10.ElTreeSelect;
283
- exports.ElTreeV2 = index$11.ElTreeV2;
284
- exports.ElUpload = index$12.ElUpload;
285
- exports.ElInfiniteScroll = index$13.ElInfiniteScroll;
286
- exports.ElLoading = index$14.ElLoading;
287
- exports.ElMessage = index$15.ElMessage;
288
- exports.ElMessageBox = index$16.ElMessageBox;
289
- exports.ElNotification = index$17.ElNotification;
290
- exports.ElPopover = index$18.ElPopover;
291
- exports.ElPopoverDirective = index$18.ElPopoverDirective;
226
+ exports.ElCountdown = index$l.ElCountdown;
227
+ exports.ElDatePicker = index$m.ElDatePicker;
228
+ exports.ElDescriptions = index$n.ElDescriptions;
229
+ exports.ElDescriptionsItem = index$n.ElDescriptionsItem;
230
+ exports.ElDialog = index$o.ElDialog;
231
+ exports.ElDivider = index$p.ElDivider;
232
+ exports.ElDrawer = index$q.ElDrawer;
233
+ exports.ElDropdown = index$r.ElDropdown;
234
+ exports.ElDropdownItem = index$r.ElDropdownItem;
235
+ exports.ElDropdownMenu = index$r.ElDropdownMenu;
236
+ exports.ElEmpty = index$s.ElEmpty;
237
+ exports.ElForm = index$t.ElForm;
238
+ exports.ElFormItem = index$t.ElFormItem;
239
+ exports.ElIcon = index$u.ElIcon;
240
+ exports.ElImage = index$v.ElImage;
241
+ exports.ElImageViewer = index$w.ElImageViewer;
242
+ exports.ElInput = index$x.ElInput;
243
+ exports.ElInputNumber = index$y.ElInputNumber;
244
+ exports.ElLink = index$z.ElLink;
245
+ exports.ElMenu = index$A.ElMenu;
246
+ exports.ElMenuItem = index$A.ElMenuItem;
247
+ exports.ElMenuItemGroup = index$A.ElMenuItemGroup;
248
+ exports.ElSubMenu = index$A.ElSubMenu;
249
+ exports.ElOverlay = index$B.ElOverlay;
250
+ exports.ElPageHeader = index$C.ElPageHeader;
251
+ exports.ElPagination = index$D.ElPagination;
252
+ exports.ElPopconfirm = index$E.ElPopconfirm;
253
+ exports.ElPopper = index$F.ElPopper;
254
+ exports.ElProgress = index$G.ElProgress;
255
+ exports.ElRadio = index$H.ElRadio;
256
+ exports.ElRadioButton = index$H.ElRadioButton;
257
+ exports.ElRadioGroup = index$H.ElRadioGroup;
258
+ exports.ElRate = index$I.ElRate;
259
+ exports.ElResult = index$J.ElResult;
260
+ exports.ElRow = index$K.ElRow;
261
+ exports.ElScrollbar = index$L.ElScrollbar;
262
+ exports.ElOption = index$M.ElOption;
263
+ exports.ElOptionGroup = index$M.ElOptionGroup;
264
+ exports.ElSelect = index$M.ElSelect;
265
+ exports.ElSelectV2 = index$N.ElSelectV2;
266
+ exports.ElSkeleton = index$O.ElSkeleton;
267
+ exports.ElSkeletonItem = index$O.ElSkeletonItem;
268
+ exports.ElSlider = index$P.ElSlider;
269
+ exports.ElSpace = index$Q.ElSpace;
270
+ exports.ElStatistic = index$R.ElStatistic;
271
+ exports.ElStep = index$S.ElStep;
272
+ exports.ElSteps = index$S.ElSteps;
273
+ exports.ElSwitch = index$T.ElSwitch;
274
+ exports.ElTable = index$U.ElTable;
275
+ exports.ElTableColumn = index$U.ElTableColumn;
276
+ exports.ElAutoResizer = index$V.ElAutoResizer;
277
+ exports.ElTableV2 = index$V.ElTableV2;
278
+ exports.ElTabPane = index$W.ElTabPane;
279
+ exports.ElTabs = index$W.ElTabs;
280
+ exports.ElTag = index$X.ElTag;
281
+ exports.ElTimePicker = index$Y.ElTimePicker;
282
+ exports.ElTimeSelect = index$Z.ElTimeSelect;
283
+ exports.ElTimeline = index$_.ElTimeline;
284
+ exports.ElTimelineItem = index$_.ElTimelineItem;
285
+ exports.ElTooltip = index$$.ElTooltip;
286
+ exports.ElTransfer = index$10.ElTransfer;
287
+ exports.ElTree = index$11.ElTree;
288
+ exports.ElTreeSelect = index$12.ElTreeSelect;
289
+ exports.ElTreeV2 = index$13.ElTreeV2;
290
+ exports.ElUpload = index$14.ElUpload;
291
+ exports.ElInfiniteScroll = index$15.ElInfiniteScroll;
292
+ exports.ElLoading = index$16.ElLoading;
293
+ exports.ElMessage = index$17.ElMessage;
294
+ exports.ElMessageBox = index$18.ElMessageBox;
295
+ exports.ElNotification = index$19.ElNotification;
296
+ exports.ElPopover = index$1a.ElPopover;
297
+ exports.ElPopoverDirective = index$1a.ElPopoverDirective;
292
298
  exports.affixEmits = affix.affixEmits;
293
299
  exports.affixProps = affix.affixProps;
294
300
  exports.alertEffects = alert.alertEffects;
@@ -333,6 +339,8 @@ exports.colorPickerEmits = colorPicker.colorPickerEmits;
333
339
  exports.colorPickerProps = colorPicker.colorPickerProps;
334
340
  exports.configProviderProps = configProvider.configProviderProps;
335
341
  exports.messageConfig = configProvider.messageConfig;
342
+ exports.countdownEmits = countdown.countdownEmits;
343
+ exports.countdownProps = countdown.countdownProps;
336
344
  exports.descriptionProps = description.descriptionProps;
337
345
  exports.useDialog = useDialog.useDialog;
338
346
  exports.dialogEmits = dialog.dialogEmits;
@@ -427,6 +435,7 @@ exports.sliderEmits = slider.sliderEmits;
427
435
  exports.sliderProps = slider.sliderProps;
428
436
  exports.spaceProps = space.spaceProps;
429
437
  exports.useSpace = useSpace.useSpace;
438
+ exports.statisticProps = statistic.statisticProps;
430
439
  exports.stepProps = item.stepProps;
431
440
  exports.stepsEmits = steps.stepsEmits;
432
441
  exports.stepsProps = steps.stepsProps;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}