element-ps 2.0.20 → 2.0.21

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 (340) hide show
  1. package/dist/index.full.js +2 -41
  2. package/dist/index.full.min.js +5 -5
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +5 -5
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +2 -41
  7. package/es/components/affix/index.mjs +2 -2
  8. package/es/components/affix/src/affix.mjs +19 -82
  9. package/es/components/affix/src/affix.mjs.map +1 -1
  10. package/es/components/affix/src/affix2.mjs +82 -19
  11. package/es/components/affix/src/affix2.mjs.map +1 -1
  12. package/es/components/alert/index.mjs +2 -2
  13. package/es/components/alert/src/alert.mjs +33 -83
  14. package/es/components/alert/src/alert.mjs.map +1 -1
  15. package/es/components/alert/src/alert2.mjs +83 -33
  16. package/es/components/alert/src/alert2.mjs.map +1 -1
  17. package/es/components/autocomplete/index.d.ts +5 -5
  18. package/es/components/autocomplete/index.mjs +2 -2
  19. package/es/components/autocomplete/src/autocomplete.mjs +94 -58
  20. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  21. package/es/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  22. package/es/components/autocomplete/src/autocomplete2.mjs +58 -94
  23. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  24. package/es/components/avatar/index.mjs +2 -2
  25. package/es/components/avatar/src/avatar.mjs +29 -61
  26. package/es/components/avatar/src/avatar.mjs.map +1 -1
  27. package/es/components/avatar/src/avatar2.mjs +61 -29
  28. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  29. package/es/components/calendar/index.mjs +2 -2
  30. package/es/components/calendar/src/calendar.mjs +9 -188
  31. package/es/components/calendar/src/calendar.mjs.map +1 -1
  32. package/es/components/calendar/src/calendar2.mjs +188 -9
  33. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  34. package/es/components/calendar/src/date-table.mjs +27 -146
  35. package/es/components/calendar/src/date-table.mjs.map +1 -1
  36. package/es/components/calendar/src/date-table2.mjs +146 -27
  37. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  38. package/es/components/carousel/index.mjs +4 -4
  39. package/es/components/carousel/src/carousel-item.mjs +7 -148
  40. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  41. package/es/components/carousel/src/carousel-item2.mjs +148 -7
  42. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  43. package/es/components/carousel/src/carousel.mjs +43 -201
  44. package/es/components/carousel/src/carousel.mjs.map +1 -1
  45. package/es/components/carousel/src/carousel2.mjs +201 -43
  46. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  47. package/es/components/cascader-panel/src/config.mjs +1 -1
  48. package/es/components/cascader-panel/src/index.mjs +1 -1
  49. package/es/components/cascader-panel/src/menu.mjs +1 -1
  50. package/es/components/cascader-panel/src/node.mjs +200 -120
  51. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  52. package/es/components/cascader-panel/src/node2.mjs +120 -200
  53. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  54. package/es/components/cascader-panel/src/store.mjs +1 -1
  55. package/es/components/collection/src/collection.mjs +1 -34
  56. package/es/components/collection/src/collection.mjs.map +1 -1
  57. package/es/components/divider/index.mjs +2 -2
  58. package/es/components/divider/src/divider.mjs +34 -17
  59. package/es/components/divider/src/divider.mjs.map +1 -1
  60. package/es/components/divider/src/divider2.mjs +17 -34
  61. package/es/components/divider/src/divider2.mjs.map +1 -1
  62. package/es/components/dropdown/index.d.ts +3 -3
  63. package/es/components/dropdown/src/dropdown-item-impl.mjs +3 -12
  64. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  65. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +0 -3
  66. package/es/components/dropdown/src/dropdown.d.ts +1 -1
  67. package/es/components/dropdown/src/dropdown.vue.d.ts +3 -3
  68. package/es/components/form/index.mjs +4 -4
  69. package/es/components/form/src/form-item.mjs +177 -46
  70. package/es/components/form/src/form-item.mjs.map +1 -1
  71. package/es/components/form/src/form-item2.mjs +46 -177
  72. package/es/components/form/src/form-item2.mjs.map +1 -1
  73. package/es/components/form/src/form.mjs +40 -45
  74. package/es/components/form/src/form.mjs.map +1 -1
  75. package/es/components/form/src/form2.mjs +45 -40
  76. package/es/components/form/src/form2.mjs.map +1 -1
  77. package/es/components/image/index.mjs +2 -2
  78. package/es/components/image/src/image.mjs +170 -46
  79. package/es/components/image/src/image.mjs.map +1 -1
  80. package/es/components/image/src/image2.mjs +46 -170
  81. package/es/components/image/src/image2.mjs.map +1 -1
  82. package/es/components/image-viewer/index.mjs +2 -2
  83. package/es/components/image-viewer/src/image-viewer.mjs +31 -210
  84. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  85. package/es/components/image-viewer/src/image-viewer2.mjs +210 -31
  86. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  87. package/es/components/index.mjs +23 -23
  88. package/es/components/input-number/index.mjs +2 -2
  89. package/es/components/input-number/src/input-number.mjs +46 -171
  90. package/es/components/input-number/src/input-number.mjs.map +1 -1
  91. package/es/components/input-number/src/input-number2.mjs +171 -46
  92. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  93. package/es/components/menu/index.d.ts +3 -3
  94. package/es/components/menu/src/menu.d.ts +4 -4
  95. package/es/components/popover/index.d.ts +6 -6
  96. package/es/components/popover/src/index.vue.d.ts +3 -3
  97. package/es/components/popover/src/popover.d.ts +1 -1
  98. package/es/components/popper/index.mjs +2 -2
  99. package/es/components/popper/src/arrow.mjs +7 -31
  100. package/es/components/popper/src/arrow.mjs.map +1 -1
  101. package/es/components/popper/src/arrow2.mjs +31 -7
  102. package/es/components/popper/src/arrow2.mjs.map +1 -1
  103. package/es/components/radio/index.mjs +2 -2
  104. package/es/components/radio/src/radio-button.mjs +1 -1
  105. package/es/components/radio/src/radio-button2.mjs +1 -1
  106. package/es/components/radio/src/radio.mjs +62 -74
  107. package/es/components/radio/src/radio.mjs.map +1 -1
  108. package/es/components/radio/src/radio2.mjs +74 -62
  109. package/es/components/radio/src/radio2.mjs.map +1 -1
  110. package/es/components/rate/index.mjs +2 -2
  111. package/es/components/rate/src/rate.mjs +84 -169
  112. package/es/components/rate/src/rate.mjs.map +1 -1
  113. package/es/components/rate/src/rate2.mjs +169 -84
  114. package/es/components/rate/src/rate2.mjs.map +1 -1
  115. package/es/components/result/index.mjs +2 -2
  116. package/es/components/result/src/result.mjs +28 -73
  117. package/es/components/result/src/result.mjs.map +1 -1
  118. package/es/components/result/src/result2.mjs +73 -28
  119. package/es/components/result/src/result2.mjs.map +1 -1
  120. package/es/components/select/index.d.ts +5 -5
  121. package/es/components/select/src/select.vue.d.ts +5 -5
  122. package/es/components/select/src/useSelect.d.ts +5 -5
  123. package/es/components/select-v2/index.d.ts +10 -10
  124. package/es/components/select-v2/src/option-item.vue.d.ts +1 -1
  125. package/es/components/select-v2/src/select.vue.d.ts +5 -5
  126. package/es/components/select-v2/src/useSelect.d.ts +5 -5
  127. package/es/components/skeleton/index.mjs +4 -4
  128. package/es/components/skeleton/src/skeleton-item.mjs +18 -23
  129. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  130. package/es/components/skeleton/src/skeleton-item2.mjs +23 -18
  131. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  132. package/es/components/skeleton/src/skeleton.mjs +22 -49
  133. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  134. package/es/components/skeleton/src/skeleton2.mjs +49 -22
  135. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  136. package/es/components/table/index.d.ts +1 -1
  137. package/es/components/table/src/filter-panel.vue.d.ts +5 -5
  138. package/es/components/table/src/table.vue.d.ts +1 -1
  139. package/es/components/tabs/index.mjs +3 -3
  140. package/es/components/tabs/src/tab-bar.mjs +76 -7
  141. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  142. package/es/components/tabs/src/tab-bar2.mjs +7 -76
  143. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  144. package/es/components/tabs/src/tab-nav.mjs +1 -1
  145. package/es/components/tabs/src/tab-pane.mjs +14 -60
  146. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  147. package/es/components/tabs/src/tab-pane2.mjs +60 -14
  148. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  149. package/es/components/time-picker/src/common/picker.vue.d.ts +5 -5
  150. package/es/components/tooltip/index.d.ts +3 -3
  151. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  152. package/es/components/tooltip/src/tooltip.mjs +1 -1
  153. package/es/components/tooltip/src/tooltip.vue.d.ts +3 -3
  154. package/es/components/tooltip/src/trigger.vue.d.ts +3 -3
  155. package/es/components/tooltip-v2/index.mjs +2 -2
  156. package/es/components/tooltip-v2/src/arrow.mjs +22 -38
  157. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  158. package/es/components/tooltip-v2/src/arrow2.mjs +38 -22
  159. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  160. package/es/components/tooltip-v2/src/tooltip.mjs +2 -2
  161. package/es/components/tooltip-v2/src/tooltip2.mjs +4 -4
  162. package/es/components/tooltip-v2/src/trigger.mjs +89 -11
  163. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  164. package/es/components/tooltip-v2/src/trigger2.mjs +11 -89
  165. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  166. package/es/components/upload/index.mjs +1 -1
  167. package/es/components/upload/src/upload-content.mjs +1 -1
  168. package/es/components/upload/src/upload-dragger.mjs +32 -11
  169. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  170. package/es/components/upload/src/upload-dragger2.mjs +11 -32
  171. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  172. package/es/index.mjs +23 -23
  173. package/lib/components/affix/index.js +2 -2
  174. package/lib/components/affix/src/affix.js +19 -82
  175. package/lib/components/affix/src/affix.js.map +1 -1
  176. package/lib/components/affix/src/affix2.js +82 -19
  177. package/lib/components/affix/src/affix2.js.map +1 -1
  178. package/lib/components/alert/index.js +2 -2
  179. package/lib/components/alert/src/alert.js +33 -82
  180. package/lib/components/alert/src/alert.js.map +1 -1
  181. package/lib/components/alert/src/alert2.js +82 -33
  182. package/lib/components/alert/src/alert2.js.map +1 -1
  183. package/lib/components/autocomplete/index.d.ts +5 -5
  184. package/lib/components/autocomplete/index.js +2 -2
  185. package/lib/components/autocomplete/src/autocomplete.js +94 -58
  186. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  187. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  188. package/lib/components/autocomplete/src/autocomplete2.js +58 -94
  189. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  190. package/lib/components/avatar/index.js +2 -2
  191. package/lib/components/avatar/src/avatar.js +29 -61
  192. package/lib/components/avatar/src/avatar.js.map +1 -1
  193. package/lib/components/avatar/src/avatar2.js +61 -29
  194. package/lib/components/avatar/src/avatar2.js.map +1 -1
  195. package/lib/components/calendar/index.js +2 -2
  196. package/lib/components/calendar/src/calendar.js +9 -192
  197. package/lib/components/calendar/src/calendar.js.map +1 -1
  198. package/lib/components/calendar/src/calendar2.js +192 -9
  199. package/lib/components/calendar/src/calendar2.js.map +1 -1
  200. package/lib/components/calendar/src/date-table.js +30 -151
  201. package/lib/components/calendar/src/date-table.js.map +1 -1
  202. package/lib/components/calendar/src/date-table2.js +151 -30
  203. package/lib/components/calendar/src/date-table2.js.map +1 -1
  204. package/lib/components/carousel/index.js +4 -4
  205. package/lib/components/carousel/src/carousel-item.js +7 -148
  206. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  207. package/lib/components/carousel/src/carousel-item2.js +148 -7
  208. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  209. package/lib/components/carousel/src/carousel.js +43 -201
  210. package/lib/components/carousel/src/carousel.js.map +1 -1
  211. package/lib/components/carousel/src/carousel2.js +201 -43
  212. package/lib/components/carousel/src/carousel2.js.map +1 -1
  213. package/lib/components/cascader-panel/src/config.js +1 -1
  214. package/lib/components/cascader-panel/src/index.js +1 -1
  215. package/lib/components/cascader-panel/src/menu.js +1 -1
  216. package/lib/components/cascader-panel/src/node.js +200 -121
  217. package/lib/components/cascader-panel/src/node.js.map +1 -1
  218. package/lib/components/cascader-panel/src/node2.js +121 -200
  219. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  220. package/lib/components/cascader-panel/src/store.js +1 -1
  221. package/lib/components/collection/src/collection.js +0 -33
  222. package/lib/components/collection/src/collection.js.map +1 -1
  223. package/lib/components/divider/index.js +2 -2
  224. package/lib/components/divider/src/divider.js +34 -17
  225. package/lib/components/divider/src/divider.js.map +1 -1
  226. package/lib/components/divider/src/divider2.js +17 -34
  227. package/lib/components/divider/src/divider2.js.map +1 -1
  228. package/lib/components/dropdown/index.d.ts +3 -3
  229. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -10
  230. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  231. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +0 -3
  232. package/lib/components/dropdown/src/dropdown.d.ts +1 -1
  233. package/lib/components/dropdown/src/dropdown.vue.d.ts +3 -3
  234. package/lib/components/form/index.js +4 -4
  235. package/lib/components/form/src/form-item.js +177 -47
  236. package/lib/components/form/src/form-item.js.map +1 -1
  237. package/lib/components/form/src/form-item2.js +47 -177
  238. package/lib/components/form/src/form-item2.js.map +1 -1
  239. package/lib/components/form/src/form.js +40 -45
  240. package/lib/components/form/src/form.js.map +1 -1
  241. package/lib/components/form/src/form2.js +45 -40
  242. package/lib/components/form/src/form2.js.map +1 -1
  243. package/lib/components/image/index.js +2 -2
  244. package/lib/components/image/src/image.js +170 -46
  245. package/lib/components/image/src/image.js.map +1 -1
  246. package/lib/components/image/src/image2.js +46 -170
  247. package/lib/components/image/src/image2.js.map +1 -1
  248. package/lib/components/image-viewer/index.js +2 -2
  249. package/lib/components/image-viewer/src/image-viewer.js +31 -210
  250. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  251. package/lib/components/image-viewer/src/image-viewer2.js +210 -31
  252. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  253. package/lib/components/index.js +23 -23
  254. package/lib/components/input-number/index.js +2 -2
  255. package/lib/components/input-number/src/input-number.js +46 -171
  256. package/lib/components/input-number/src/input-number.js.map +1 -1
  257. package/lib/components/input-number/src/input-number2.js +171 -46
  258. package/lib/components/input-number/src/input-number2.js.map +1 -1
  259. package/lib/components/menu/index.d.ts +3 -3
  260. package/lib/components/menu/src/menu.d.ts +4 -4
  261. package/lib/components/popover/index.d.ts +6 -6
  262. package/lib/components/popover/src/index.vue.d.ts +3 -3
  263. package/lib/components/popover/src/popover.d.ts +1 -1
  264. package/lib/components/popper/index.js +2 -2
  265. package/lib/components/popper/src/arrow.js +7 -31
  266. package/lib/components/popper/src/arrow.js.map +1 -1
  267. package/lib/components/popper/src/arrow2.js +31 -7
  268. package/lib/components/popper/src/arrow2.js.map +1 -1
  269. package/lib/components/radio/index.js +2 -2
  270. package/lib/components/radio/src/radio-button.js +1 -1
  271. package/lib/components/radio/src/radio-button2.js +1 -1
  272. package/lib/components/radio/src/radio.js +64 -73
  273. package/lib/components/radio/src/radio.js.map +1 -1
  274. package/lib/components/radio/src/radio2.js +73 -64
  275. package/lib/components/radio/src/radio2.js.map +1 -1
  276. package/lib/components/rate/index.js +2 -2
  277. package/lib/components/rate/src/rate.js +84 -169
  278. package/lib/components/rate/src/rate.js.map +1 -1
  279. package/lib/components/rate/src/rate2.js +169 -84
  280. package/lib/components/rate/src/rate2.js.map +1 -1
  281. package/lib/components/result/index.js +2 -2
  282. package/lib/components/result/src/result.js +30 -73
  283. package/lib/components/result/src/result.js.map +1 -1
  284. package/lib/components/result/src/result2.js +73 -30
  285. package/lib/components/result/src/result2.js.map +1 -1
  286. package/lib/components/select/index.d.ts +5 -5
  287. package/lib/components/select/src/select.vue.d.ts +5 -5
  288. package/lib/components/select/src/useSelect.d.ts +5 -5
  289. package/lib/components/select-v2/index.d.ts +10 -10
  290. package/lib/components/select-v2/src/option-item.vue.d.ts +1 -1
  291. package/lib/components/select-v2/src/select.vue.d.ts +5 -5
  292. package/lib/components/select-v2/src/useSelect.d.ts +5 -5
  293. package/lib/components/skeleton/index.js +4 -4
  294. package/lib/components/skeleton/src/skeleton-item.js +18 -23
  295. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  296. package/lib/components/skeleton/src/skeleton-item2.js +23 -18
  297. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  298. package/lib/components/skeleton/src/skeleton.js +22 -49
  299. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  300. package/lib/components/skeleton/src/skeleton2.js +49 -22
  301. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  302. package/lib/components/table/index.d.ts +1 -1
  303. package/lib/components/table/src/filter-panel.vue.d.ts +5 -5
  304. package/lib/components/table/src/table.vue.d.ts +1 -1
  305. package/lib/components/tabs/index.js +3 -3
  306. package/lib/components/tabs/src/tab-bar.js +76 -7
  307. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  308. package/lib/components/tabs/src/tab-bar2.js +7 -76
  309. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  310. package/lib/components/tabs/src/tab-nav.js +1 -1
  311. package/lib/components/tabs/src/tab-pane.js +14 -60
  312. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  313. package/lib/components/tabs/src/tab-pane2.js +60 -14
  314. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  315. package/lib/components/time-picker/src/common/picker.vue.d.ts +5 -5
  316. package/lib/components/tooltip/index.d.ts +3 -3
  317. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  318. package/lib/components/tooltip/src/tooltip.js +1 -1
  319. package/lib/components/tooltip/src/tooltip.vue.d.ts +3 -3
  320. package/lib/components/tooltip/src/trigger.vue.d.ts +3 -3
  321. package/lib/components/tooltip-v2/index.js +2 -2
  322. package/lib/components/tooltip-v2/src/arrow.js +23 -38
  323. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  324. package/lib/components/tooltip-v2/src/arrow2.js +38 -23
  325. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  326. package/lib/components/tooltip-v2/src/tooltip.js +2 -2
  327. package/lib/components/tooltip-v2/src/tooltip2.js +4 -4
  328. package/lib/components/tooltip-v2/src/trigger.js +89 -11
  329. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  330. package/lib/components/tooltip-v2/src/trigger2.js +11 -89
  331. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  332. package/lib/components/upload/index.js +1 -1
  333. package/lib/components/upload/src/upload-content.js +1 -1
  334. package/lib/components/upload/src/upload-dragger.js +32 -12
  335. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  336. package/lib/components/upload/src/upload-dragger2.js +12 -32
  337. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  338. package/lib/index.js +23 -23
  339. package/package.json +1 -1
  340. package/web-types.json +1 -1
@@ -2,218 +2,39 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var core = require('@vueuse/core');
7
- require('../../../hooks/index.js');
8
- var index$3 = require('../../icon/index.js');
9
- var iconsVue = require('@element-plus/icons-vue');
10
- var imageViewer = require('./image-viewer2.js');
11
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
12
- var index = require('../../../hooks/use-locale/index.js');
13
- var index$1 = require('../../../hooks/use-namespace/index.js');
14
- var index$2 = require('../../../hooks/use-z-index/index.js');
5
+ require('../../../utils/index.js');
6
+ var props = require('../../../utils/vue/props.js');
7
+ var typescript = require('../../../utils/typescript.js');
15
8
 
16
- const _hoisted_1 = ["src"];
17
- const __default__ = {
18
- name: "PsImageViewer"
19
- };
20
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
- ...__default__,
22
- props: imageViewer.imageViewerProps,
23
- setup(__props) {
24
- const props = __props;
25
- const Mode = {
26
- CONTAIN: {
27
- name: "contain",
28
- icon: vue.markRaw(iconsVue.FullScreen)
29
- },
30
- ORIGINAL: {
31
- name: "original",
32
- icon: vue.markRaw(iconsVue.ScaleToOriginal)
33
- }
34
- };
35
- const { t } = index.useLocale();
36
- const ns = index$1.useNamespace("image-viewer");
37
- const { nextZIndex } = index$2.useZIndex();
38
- const wrapper = vue.ref();
39
- const imgRefs = vue.ref([]);
40
- const index$4 = vue.ref(props.initialIndex);
41
- const mode = vue.ref(Mode.CONTAIN);
42
- const transform = vue.ref({
43
- scale: 1,
44
- deg: 0,
45
- offsetX: 0,
46
- offsetY: 0,
47
- enableTransition: false
48
- });
49
- const isSingle = vue.computed(() => {
50
- const { urlList } = props;
51
- return urlList.length <= 1;
52
- });
53
- const isFirst = vue.computed(() => {
54
- return index$4.value === 0;
55
- });
56
- const isLast = vue.computed(() => {
57
- return index$4.value === props.urlList.length - 1;
58
- });
59
- const imgStyle = vue.computed(() => {
60
- const { scale, deg, offsetX, offsetY, enableTransition } = transform.value;
61
- let translateX = offsetX / scale;
62
- let translateY = offsetY / scale;
63
- switch (deg % 360) {
64
- case 90:
65
- case -270:
66
- ;
67
- [translateX, translateY] = [translateY, -translateX];
68
- break;
69
- case 180:
70
- case -180:
71
- ;
72
- [translateX, translateY] = [-translateX, -translateY];
73
- break;
74
- case 270:
75
- case -90:
76
- ;
77
- [translateX, translateY] = [-translateY, translateX];
78
- break;
79
- }
80
- const style = {
81
- transform: `scale(${scale}) rotate(${deg}deg) translate(${translateX}px, ${translateY}px)`,
82
- transition: enableTransition ? "transform .3s" : ""
83
- };
84
- if (mode.value.name === Mode.CONTAIN.name) {
85
- style.maxWidth = style.maxHeight = "100%";
86
- }
87
- return style;
88
- });
89
- const computedZIndex = vue.computed(() => {
90
- return core.isNumber(props.zIndex) ? props.zIndex : nextZIndex();
91
- });
92
- vue.onMounted(() => {
93
- var _a, _b;
94
- (_b = (_a = wrapper.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
95
- });
96
- return (_ctx, _cache) => {
97
- return vue.openBlock(), vue.createElementBlock("div", {
98
- ref_key: "wrapper",
99
- ref: wrapper,
100
- tabindex: -1,
101
- class: vue.normalizeClass(vue.unref(ns).e("wrapper")),
102
- style: vue.normalizeStyle({ zIndex: vue.unref(computedZIndex) })
103
- }, [
104
- vue.createElementVNode("div", {
105
- class: vue.normalizeClass(vue.unref(ns).e("mask"))
106
- }, null, 2),
107
- vue.createCommentVNode(" CLOSE "),
108
- vue.createElementVNode("span", {
109
- class: vue.normalizeClass([vue.unref(ns).e("btn"), vue.unref(ns).e("close")])
110
- }, [
111
- vue.createVNode(vue.unref(index$3.PsIcon), null, {
112
- default: vue.withCtx(() => [
113
- vue.createVNode(vue.unref(iconsVue.Close))
114
- ]),
115
- _: 1
116
- })
117
- ], 2),
118
- vue.createCommentVNode(" ARROW "),
119
- !vue.unref(isSingle) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
120
- vue.createElementVNode("span", {
121
- class: vue.normalizeClass([
122
- vue.unref(ns).e("btn"),
123
- vue.unref(ns).e("prev"),
124
- vue.unref(ns).is("disabled", !_ctx.infinite && vue.unref(isFirst))
125
- ])
126
- }, [
127
- vue.createVNode(vue.unref(index$3.PsIcon), null, {
128
- default: vue.withCtx(() => [
129
- vue.createVNode(vue.unref(iconsVue.ArrowLeft))
130
- ]),
131
- _: 1
132
- })
133
- ], 2),
134
- vue.createElementVNode("span", {
135
- class: vue.normalizeClass([
136
- vue.unref(ns).e("btn"),
137
- vue.unref(ns).e("next"),
138
- vue.unref(ns).is("disabled", !_ctx.infinite && vue.unref(isLast))
139
- ])
140
- }, [
141
- vue.createVNode(vue.unref(index$3.PsIcon), null, {
142
- default: vue.withCtx(() => [
143
- vue.createVNode(vue.unref(iconsVue.ArrowRight))
144
- ]),
145
- _: 1
146
- })
147
- ], 2)
148
- ], 64)) : vue.createCommentVNode("v-if", true),
149
- vue.createCommentVNode(" ACTIONS "),
150
- vue.createElementVNode("div", {
151
- class: vue.normalizeClass([vue.unref(ns).e("btn"), vue.unref(ns).e("actions")])
152
- }, [
153
- vue.createElementVNode("div", {
154
- class: vue.normalizeClass(vue.unref(ns).e("actions__inner"))
155
- }, [
156
- vue.createVNode(vue.unref(index$3.PsIcon), null, {
157
- default: vue.withCtx(() => [
158
- vue.createVNode(vue.unref(iconsVue.ZoomOut))
159
- ]),
160
- _: 1
161
- }),
162
- vue.createVNode(vue.unref(index$3.PsIcon), null, {
163
- default: vue.withCtx(() => [
164
- vue.createVNode(vue.unref(iconsVue.ZoomIn))
165
- ]),
166
- _: 1
167
- }),
168
- vue.createElementVNode("i", {
169
- class: vue.normalizeClass(vue.unref(ns).e("actions__divider"))
170
- }, null, 2),
171
- vue.createVNode(vue.unref(index$3.PsIcon), null, {
172
- default: vue.withCtx(() => [
173
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(mode.value.icon)))
174
- ]),
175
- _: 1
176
- }),
177
- vue.createElementVNode("i", {
178
- class: vue.normalizeClass(vue.unref(ns).e("actions__divider"))
179
- }, null, 2),
180
- vue.createVNode(vue.unref(index$3.PsIcon), null, {
181
- default: vue.withCtx(() => [
182
- vue.createVNode(vue.unref(iconsVue.RefreshLeft))
183
- ]),
184
- _: 1
185
- }),
186
- vue.createVNode(vue.unref(index$3.PsIcon), null, {
187
- default: vue.withCtx(() => [
188
- vue.createVNode(vue.unref(iconsVue.RefreshRight))
189
- ]),
190
- _: 1
191
- })
192
- ], 2)
193
- ], 2),
194
- vue.createCommentVNode(" CANVAS "),
195
- vue.createElementVNode("div", {
196
- class: vue.normalizeClass(vue.unref(ns).e("canvas"))
197
- }, [
198
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.urlList, (url, i) => {
199
- return vue.withDirectives((vue.openBlock(), vue.createElementBlock("img", {
200
- ref_for: true,
201
- ref: (el) => imgRefs.value[i] = el,
202
- key: url,
203
- src: url,
204
- style: vue.normalizeStyle(vue.unref(imgStyle)),
205
- class: vue.normalizeClass(vue.unref(ns).e("img"))
206
- }, null, 14, _hoisted_1)), [
207
- [vue.vShow, i === index$4.value]
208
- ]);
209
- }), 128))
210
- ], 2),
211
- vue.renderSlot(_ctx.$slots, "default")
212
- ], 6);
213
- };
9
+ const imageViewerProps = props.buildProps({
10
+ urlList: {
11
+ type: props.definePropType(Array),
12
+ default: () => typescript.mutable([])
13
+ },
14
+ zIndex: {
15
+ type: Number
16
+ },
17
+ initialIndex: {
18
+ type: Number,
19
+ default: 0
20
+ },
21
+ infinite: {
22
+ type: Boolean,
23
+ default: true
24
+ },
25
+ hideOnClickModal: {
26
+ type: Boolean,
27
+ default: false
28
+ },
29
+ teleported: {
30
+ type: Boolean,
31
+ default: false
32
+ },
33
+ closeOnPressEscape: {
34
+ type: Boolean,
35
+ default: true
214
36
  }
215
37
  });
216
- var ImageViewer = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/image-viewer/src/image-viewer.vue"]]);
217
38
 
218
- exports["default"] = ImageViewer;
39
+ exports.imageViewerProps = imageViewerProps;
219
40
  //# sourceMappingURL=image-viewer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer.js","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <div\n ref=\"wrapper\"\n :tabindex=\"-1\"\n :class=\"ns.e('wrapper')\"\n :style=\"{ zIndex: computedZIndex }\"\n >\n <div :class=\"ns.e('mask')\" />\n\n <!-- CLOSE -->\n <span :class=\"[ns.e('btn'), ns.e('close')]\">\n <ps-icon><Close /></ps-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 >\n <ps-icon><ArrowLeft /></ps-icon>\n </span>\n <span\n :class=\"[\n ns.e('btn'),\n ns.e('next'),\n ns.is('disabled', !infinite && isLast),\n ]\"\n >\n <ps-icon><ArrowRight /></ps-icon>\n </span>\n </template>\n <!-- ACTIONS -->\n <div :class=\"[ns.e('btn'), ns.e('actions')]\">\n <div :class=\"ns.e('actions__inner')\">\n <ps-icon>\n <ZoomOut />\n </ps-icon>\n <ps-icon>\n <ZoomIn />\n </ps-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <ps-icon>\n <component :is=\"mode.icon\" />\n </ps-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <ps-icon>\n <RefreshLeft />\n </ps-icon>\n <ps-icon>\n <RefreshRight />\n </ps-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 === index\"\n :ref=\"(el) => (imgRefs[i] = el)\"\n :key=\"url\"\n :src=\"url\"\n :style=\"imgStyle\"\n :class=\"ns.e('img')\"\n />\n </div>\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n markRaw,\n onMounted,\n ref,\n} from 'vue'\nimport { isNumber } from '@vueuse/core'\nimport { useLocale, useNamespace, useZIndex } from '@element-ps/hooks'\nimport PsIcon from '@element-ps/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 { imageViewerProps } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\n\nconst Mode = {\n CONTAIN: {\n name: 'contain',\n icon: markRaw(FullScreen),\n },\n ORIGINAL: {\n name: 'original',\n icon: markRaw(ScaleToOriginal),\n },\n}\n\ndefineOptions({\n name: 'PsImageViewer',\n})\n\nconst props = defineProps(imageViewerProps)\n\nconst { t } = useLocale()\nconst ns = useNamespace('image-viewer')\nconst { nextZIndex } = useZIndex()\nconst wrapper = ref<HTMLDivElement>()\nconst imgRefs = ref<any[]>([])\n\nconst index = ref(props.initialIndex)\nconst mode = ref(Mode.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 index.value === 0\n})\n\nconst isLast = computed(() => {\n return index.value === props.urlList.length - 1\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 === Mode.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\nonMounted(() => {\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</script>\n"],"names":["markRaw","FullScreen","ScaleToOriginal","useLocale","useNamespace","useZIndex","ref","index","computed","isNumber","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"image-viewer.js","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-ps/utils'\nimport type { ExtractPropTypes } from '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"],"names":["buildProps","definePropType","mutable"],"mappings":";;;;;;;;AACY,MAAC,gBAAgB,GAAGA,gBAAU,CAAC;AAC3C,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAEC,oBAAc,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;;;;"}
@@ -2,39 +2,218 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../utils/index.js');
6
- var props = require('../../../utils/vue/props.js');
7
- var typescript = require('../../../utils/typescript.js');
5
+ var vue = require('vue');
6
+ var core = require('@vueuse/core');
7
+ require('../../../hooks/index.js');
8
+ var index$3 = require('../../icon/index.js');
9
+ var iconsVue = require('@element-plus/icons-vue');
10
+ var imageViewer = require('./image-viewer.js');
11
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
12
+ var index = require('../../../hooks/use-locale/index.js');
13
+ var index$1 = require('../../../hooks/use-namespace/index.js');
14
+ var index$2 = require('../../../hooks/use-z-index/index.js');
8
15
 
9
- const imageViewerProps = props.buildProps({
10
- urlList: {
11
- type: props.definePropType(Array),
12
- default: () => typescript.mutable([])
13
- },
14
- zIndex: {
15
- type: Number
16
- },
17
- initialIndex: {
18
- type: Number,
19
- default: 0
20
- },
21
- infinite: {
22
- type: Boolean,
23
- default: true
24
- },
25
- hideOnClickModal: {
26
- type: Boolean,
27
- default: false
28
- },
29
- teleported: {
30
- type: Boolean,
31
- default: false
32
- },
33
- closeOnPressEscape: {
34
- type: Boolean,
35
- default: true
16
+ const _hoisted_1 = ["src"];
17
+ const __default__ = {
18
+ name: "PsImageViewer"
19
+ };
20
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
+ ...__default__,
22
+ props: imageViewer.imageViewerProps,
23
+ setup(__props) {
24
+ const props = __props;
25
+ const Mode = {
26
+ CONTAIN: {
27
+ name: "contain",
28
+ icon: vue.markRaw(iconsVue.FullScreen)
29
+ },
30
+ ORIGINAL: {
31
+ name: "original",
32
+ icon: vue.markRaw(iconsVue.ScaleToOriginal)
33
+ }
34
+ };
35
+ const { t } = index.useLocale();
36
+ const ns = index$1.useNamespace("image-viewer");
37
+ const { nextZIndex } = index$2.useZIndex();
38
+ const wrapper = vue.ref();
39
+ const imgRefs = vue.ref([]);
40
+ const index$4 = vue.ref(props.initialIndex);
41
+ const mode = vue.ref(Mode.CONTAIN);
42
+ const transform = vue.ref({
43
+ scale: 1,
44
+ deg: 0,
45
+ offsetX: 0,
46
+ offsetY: 0,
47
+ enableTransition: false
48
+ });
49
+ const isSingle = vue.computed(() => {
50
+ const { urlList } = props;
51
+ return urlList.length <= 1;
52
+ });
53
+ const isFirst = vue.computed(() => {
54
+ return index$4.value === 0;
55
+ });
56
+ const isLast = vue.computed(() => {
57
+ return index$4.value === props.urlList.length - 1;
58
+ });
59
+ const imgStyle = vue.computed(() => {
60
+ const { scale, deg, offsetX, offsetY, enableTransition } = transform.value;
61
+ let translateX = offsetX / scale;
62
+ let translateY = offsetY / scale;
63
+ switch (deg % 360) {
64
+ case 90:
65
+ case -270:
66
+ ;
67
+ [translateX, translateY] = [translateY, -translateX];
68
+ break;
69
+ case 180:
70
+ case -180:
71
+ ;
72
+ [translateX, translateY] = [-translateX, -translateY];
73
+ break;
74
+ case 270:
75
+ case -90:
76
+ ;
77
+ [translateX, translateY] = [-translateY, translateX];
78
+ break;
79
+ }
80
+ const style = {
81
+ transform: `scale(${scale}) rotate(${deg}deg) translate(${translateX}px, ${translateY}px)`,
82
+ transition: enableTransition ? "transform .3s" : ""
83
+ };
84
+ if (mode.value.name === Mode.CONTAIN.name) {
85
+ style.maxWidth = style.maxHeight = "100%";
86
+ }
87
+ return style;
88
+ });
89
+ const computedZIndex = vue.computed(() => {
90
+ return core.isNumber(props.zIndex) ? props.zIndex : nextZIndex();
91
+ });
92
+ vue.onMounted(() => {
93
+ var _a, _b;
94
+ (_b = (_a = wrapper.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
95
+ });
96
+ return (_ctx, _cache) => {
97
+ return vue.openBlock(), vue.createElementBlock("div", {
98
+ ref_key: "wrapper",
99
+ ref: wrapper,
100
+ tabindex: -1,
101
+ class: vue.normalizeClass(vue.unref(ns).e("wrapper")),
102
+ style: vue.normalizeStyle({ zIndex: vue.unref(computedZIndex) })
103
+ }, [
104
+ vue.createElementVNode("div", {
105
+ class: vue.normalizeClass(vue.unref(ns).e("mask"))
106
+ }, null, 2),
107
+ vue.createCommentVNode(" CLOSE "),
108
+ vue.createElementVNode("span", {
109
+ class: vue.normalizeClass([vue.unref(ns).e("btn"), vue.unref(ns).e("close")])
110
+ }, [
111
+ vue.createVNode(vue.unref(index$3.PsIcon), null, {
112
+ default: vue.withCtx(() => [
113
+ vue.createVNode(vue.unref(iconsVue.Close))
114
+ ]),
115
+ _: 1
116
+ })
117
+ ], 2),
118
+ vue.createCommentVNode(" ARROW "),
119
+ !vue.unref(isSingle) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
120
+ vue.createElementVNode("span", {
121
+ class: vue.normalizeClass([
122
+ vue.unref(ns).e("btn"),
123
+ vue.unref(ns).e("prev"),
124
+ vue.unref(ns).is("disabled", !_ctx.infinite && vue.unref(isFirst))
125
+ ])
126
+ }, [
127
+ vue.createVNode(vue.unref(index$3.PsIcon), null, {
128
+ default: vue.withCtx(() => [
129
+ vue.createVNode(vue.unref(iconsVue.ArrowLeft))
130
+ ]),
131
+ _: 1
132
+ })
133
+ ], 2),
134
+ vue.createElementVNode("span", {
135
+ class: vue.normalizeClass([
136
+ vue.unref(ns).e("btn"),
137
+ vue.unref(ns).e("next"),
138
+ vue.unref(ns).is("disabled", !_ctx.infinite && vue.unref(isLast))
139
+ ])
140
+ }, [
141
+ vue.createVNode(vue.unref(index$3.PsIcon), null, {
142
+ default: vue.withCtx(() => [
143
+ vue.createVNode(vue.unref(iconsVue.ArrowRight))
144
+ ]),
145
+ _: 1
146
+ })
147
+ ], 2)
148
+ ], 64)) : vue.createCommentVNode("v-if", true),
149
+ vue.createCommentVNode(" ACTIONS "),
150
+ vue.createElementVNode("div", {
151
+ class: vue.normalizeClass([vue.unref(ns).e("btn"), vue.unref(ns).e("actions")])
152
+ }, [
153
+ vue.createElementVNode("div", {
154
+ class: vue.normalizeClass(vue.unref(ns).e("actions__inner"))
155
+ }, [
156
+ vue.createVNode(vue.unref(index$3.PsIcon), null, {
157
+ default: vue.withCtx(() => [
158
+ vue.createVNode(vue.unref(iconsVue.ZoomOut))
159
+ ]),
160
+ _: 1
161
+ }),
162
+ vue.createVNode(vue.unref(index$3.PsIcon), null, {
163
+ default: vue.withCtx(() => [
164
+ vue.createVNode(vue.unref(iconsVue.ZoomIn))
165
+ ]),
166
+ _: 1
167
+ }),
168
+ vue.createElementVNode("i", {
169
+ class: vue.normalizeClass(vue.unref(ns).e("actions__divider"))
170
+ }, null, 2),
171
+ vue.createVNode(vue.unref(index$3.PsIcon), null, {
172
+ default: vue.withCtx(() => [
173
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(mode.value.icon)))
174
+ ]),
175
+ _: 1
176
+ }),
177
+ vue.createElementVNode("i", {
178
+ class: vue.normalizeClass(vue.unref(ns).e("actions__divider"))
179
+ }, null, 2),
180
+ vue.createVNode(vue.unref(index$3.PsIcon), null, {
181
+ default: vue.withCtx(() => [
182
+ vue.createVNode(vue.unref(iconsVue.RefreshLeft))
183
+ ]),
184
+ _: 1
185
+ }),
186
+ vue.createVNode(vue.unref(index$3.PsIcon), null, {
187
+ default: vue.withCtx(() => [
188
+ vue.createVNode(vue.unref(iconsVue.RefreshRight))
189
+ ]),
190
+ _: 1
191
+ })
192
+ ], 2)
193
+ ], 2),
194
+ vue.createCommentVNode(" CANVAS "),
195
+ vue.createElementVNode("div", {
196
+ class: vue.normalizeClass(vue.unref(ns).e("canvas"))
197
+ }, [
198
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.urlList, (url, i) => {
199
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("img", {
200
+ ref_for: true,
201
+ ref: (el) => imgRefs.value[i] = el,
202
+ key: url,
203
+ src: url,
204
+ style: vue.normalizeStyle(vue.unref(imgStyle)),
205
+ class: vue.normalizeClass(vue.unref(ns).e("img"))
206
+ }, null, 14, _hoisted_1)), [
207
+ [vue.vShow, i === index$4.value]
208
+ ]);
209
+ }), 128))
210
+ ], 2),
211
+ vue.renderSlot(_ctx.$slots, "default")
212
+ ], 6);
213
+ };
36
214
  }
37
215
  });
216
+ var ImageViewer = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/image-viewer/src/image-viewer.vue"]]);
38
217
 
39
- exports.imageViewerProps = imageViewerProps;
218
+ exports["default"] = ImageViewer;
40
219
  //# sourceMappingURL=image-viewer2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer2.js","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-ps/utils'\nimport type { ExtractPropTypes } from '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"],"names":["buildProps","definePropType","mutable"],"mappings":";;;;;;;;AACY,MAAC,gBAAgB,GAAGA,gBAAU,CAAC;AAC3C,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAEC,oBAAc,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;;;;"}
1
+ {"version":3,"file":"image-viewer2.js","sources":["../../../../../../packages/components/image-viewer/src/image-viewer.vue"],"sourcesContent":["<template>\n <div\n ref=\"wrapper\"\n :tabindex=\"-1\"\n :class=\"ns.e('wrapper')\"\n :style=\"{ zIndex: computedZIndex }\"\n >\n <div :class=\"ns.e('mask')\" />\n\n <!-- CLOSE -->\n <span :class=\"[ns.e('btn'), ns.e('close')]\">\n <ps-icon><Close /></ps-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 >\n <ps-icon><ArrowLeft /></ps-icon>\n </span>\n <span\n :class=\"[\n ns.e('btn'),\n ns.e('next'),\n ns.is('disabled', !infinite && isLast),\n ]\"\n >\n <ps-icon><ArrowRight /></ps-icon>\n </span>\n </template>\n <!-- ACTIONS -->\n <div :class=\"[ns.e('btn'), ns.e('actions')]\">\n <div :class=\"ns.e('actions__inner')\">\n <ps-icon>\n <ZoomOut />\n </ps-icon>\n <ps-icon>\n <ZoomIn />\n </ps-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <ps-icon>\n <component :is=\"mode.icon\" />\n </ps-icon>\n <i :class=\"ns.e('actions__divider')\" />\n <ps-icon>\n <RefreshLeft />\n </ps-icon>\n <ps-icon>\n <RefreshRight />\n </ps-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 === index\"\n :ref=\"(el) => (imgRefs[i] = el)\"\n :key=\"url\"\n :src=\"url\"\n :style=\"imgStyle\"\n :class=\"ns.e('img')\"\n />\n </div>\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n markRaw,\n onMounted,\n ref,\n} from 'vue'\nimport { isNumber } from '@vueuse/core'\nimport { useLocale, useNamespace, useZIndex } from '@element-ps/hooks'\nimport PsIcon from '@element-ps/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 { imageViewerProps } from './image-viewer'\n\nimport type { CSSProperties } from 'vue'\n\nconst Mode = {\n CONTAIN: {\n name: 'contain',\n icon: markRaw(FullScreen),\n },\n ORIGINAL: {\n name: 'original',\n icon: markRaw(ScaleToOriginal),\n },\n}\n\ndefineOptions({\n name: 'PsImageViewer',\n})\n\nconst props = defineProps(imageViewerProps)\n\nconst { t } = useLocale()\nconst ns = useNamespace('image-viewer')\nconst { nextZIndex } = useZIndex()\nconst wrapper = ref<HTMLDivElement>()\nconst imgRefs = ref<any[]>([])\n\nconst index = ref(props.initialIndex)\nconst mode = ref(Mode.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 index.value === 0\n})\n\nconst isLast = computed(() => {\n return index.value === props.urlList.length - 1\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 === Mode.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\nonMounted(() => {\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</script>\n"],"names":["markRaw","FullScreen","ScaleToOriginal","useLocale","useNamespace","useZIndex","ref","index","computed","isNumber","onMounted"],"mappings":"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"}