vue-devui 1.0.0-alpha.6 → 1.0.0-beta.12

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 (344) hide show
  1. package/README.md +32 -35
  2. package/accordion/index.d.ts +7 -0
  3. package/accordion/index.es.js +508 -1
  4. package/accordion/index.umd.js +1 -1
  5. package/accordion/style.css +1 -1
  6. package/alert/index.d.ts +7 -0
  7. package/alert/index.es.js +178 -1
  8. package/alert/index.umd.js +1 -1
  9. package/alert/style.css +1 -1
  10. package/anchor/index.d.ts +7 -0
  11. package/anchor/index.es.js +263 -1
  12. package/anchor/index.umd.js +1 -1
  13. package/avatar/index.d.ts +7 -0
  14. package/avatar/index.es.js +301 -1
  15. package/avatar/index.umd.js +1 -1
  16. package/back-top/index.d.ts +7 -0
  17. package/back-top/index.es.js +128 -0
  18. package/back-top/index.umd.js +1 -0
  19. package/back-top/package.json +7 -0
  20. package/back-top/style.css +1 -0
  21. package/badge/index.d.ts +7 -0
  22. package/badge/index.es.js +95 -1
  23. package/badge/index.umd.js +1 -1
  24. package/breadcrumb/index.d.ts +7 -0
  25. package/breadcrumb/index.es.js +127 -1
  26. package/breadcrumb/index.umd.js +1 -1
  27. package/button/index.d.ts +7 -0
  28. package/button/index.es.js +392 -1
  29. package/button/index.umd.js +1 -1
  30. package/button/style.css +1 -1
  31. package/card/index.d.ts +7 -0
  32. package/card/index.es.js +61 -1
  33. package/card/index.umd.js +1 -1
  34. package/carousel/index.d.ts +7 -0
  35. package/carousel/index.es.js +329 -1
  36. package/carousel/index.umd.js +1 -1
  37. package/cascader/index.d.ts +7 -0
  38. package/cascader/index.es.js +1343 -1
  39. package/cascader/index.umd.js +1 -1
  40. package/cascader/style.css +1 -1
  41. package/checkbox/index.d.ts +7 -0
  42. package/checkbox/index.es.js +377 -1
  43. package/checkbox/index.umd.js +1 -1
  44. package/comment/index.d.ts +7 -0
  45. package/comment/index.es.js +85 -0
  46. package/comment/index.umd.js +1 -0
  47. package/comment/package.json +7 -0
  48. package/comment/style.css +1 -0
  49. package/countdown/index.d.ts +7 -0
  50. package/countdown/index.es.js +176 -0
  51. package/countdown/index.umd.js +1 -0
  52. package/countdown/package.json +7 -0
  53. package/countdown/style.css +1 -0
  54. package/date-picker/index.d.ts +7 -0
  55. package/date-picker/index.es.js +1172 -1
  56. package/date-picker/index.umd.js +1 -1
  57. package/date-picker/style.css +1 -1
  58. package/dragdrop/index.d.ts +7 -0
  59. package/dragdrop/index.es.js +32 -0
  60. package/dragdrop/index.umd.js +1 -0
  61. package/dragdrop/package.json +7 -0
  62. package/drawer/index.d.ts +7 -0
  63. package/drawer/index.es.js +287 -0
  64. package/drawer/index.umd.js +1 -0
  65. package/drawer/package.json +7 -0
  66. package/drawer/style.css +1 -0
  67. package/dropdown/index.d.ts +7 -0
  68. package/dropdown/index.es.js +535 -0
  69. package/dropdown/index.umd.js +1 -0
  70. package/dropdown/package.json +7 -0
  71. package/dropdown/style.css +1 -0
  72. package/editable-select/index.d.ts +7 -0
  73. package/editable-select/index.es.js +5857 -1
  74. package/editable-select/index.umd.js +27 -1
  75. package/editable-select/style.css +1 -1
  76. package/form/index.d.ts +7 -0
  77. package/form/index.es.js +2244 -0
  78. package/form/index.umd.js +1 -0
  79. package/form/package.json +7 -0
  80. package/form/style.css +1 -0
  81. package/fullscreen/index.d.ts +7 -0
  82. package/fullscreen/index.es.js +163 -1
  83. package/fullscreen/index.umd.js +1 -1
  84. package/gantt/index.d.ts +7 -0
  85. package/gantt/index.es.js +535 -0
  86. package/gantt/index.umd.js +1 -0
  87. package/gantt/package.json +7 -0
  88. package/gantt/style.css +1 -0
  89. package/grid/index.d.ts +7 -0
  90. package/grid/index.es.js +269 -0
  91. package/grid/index.umd.js +1 -0
  92. package/grid/package.json +7 -0
  93. package/grid/style.css +1 -0
  94. package/icon/index.d.ts +7 -0
  95. package/icon/index.es.js +75 -1
  96. package/icon/index.umd.js +1 -1
  97. package/image-preview/index.d.ts +7 -0
  98. package/image-preview/index.es.js +498 -1
  99. package/image-preview/index.umd.js +1 -1
  100. package/image-preview/style.css +1 -1
  101. package/index.d.ts +7 -0
  102. package/input/index.d.ts +7 -0
  103. package/input/index.es.js +190 -1
  104. package/input/index.umd.js +1 -1
  105. package/input-icon/index.d.ts +7 -0
  106. package/input-icon/index.es.js +332 -0
  107. package/input-icon/index.umd.js +1 -0
  108. package/input-icon/package.json +7 -0
  109. package/input-icon/style.css +1 -0
  110. package/input-number/index.d.ts +7 -0
  111. package/input-number/index.es.js +240 -1
  112. package/input-number/index.umd.js +1 -1
  113. package/layout/index.d.ts +7 -0
  114. package/layout/index.es.js +100 -0
  115. package/layout/index.umd.js +1 -0
  116. package/layout/package.json +7 -0
  117. package/layout/style.css +1 -0
  118. package/loading/index.d.ts +7 -0
  119. package/loading/index.es.js +256 -1
  120. package/loading/index.umd.js +1 -1
  121. package/modal/index.d.ts +7 -0
  122. package/modal/index.es.js +1225 -1
  123. package/modal/index.umd.js +1 -1
  124. package/modal/style.css +1 -1
  125. package/nav-sprite/index.d.ts +7 -0
  126. package/nav-sprite/index.es.js +742 -0
  127. package/nav-sprite/index.umd.js +1 -0
  128. package/nav-sprite/package.json +7 -0
  129. package/nuxt/components/Accordion.js +3 -0
  130. package/nuxt/components/Alert.js +3 -0
  131. package/nuxt/components/Anchor.js +3 -0
  132. package/nuxt/components/Aside.js +3 -0
  133. package/nuxt/components/Avatar.js +3 -0
  134. package/nuxt/components/BackTop.js +3 -0
  135. package/nuxt/components/Badge.js +3 -0
  136. package/nuxt/components/Breadcrumb.js +3 -0
  137. package/nuxt/components/Button.js +3 -0
  138. package/nuxt/components/Card.js +3 -0
  139. package/nuxt/components/Carousel.js +3 -0
  140. package/nuxt/components/Cascader.js +3 -0
  141. package/nuxt/components/Checkbox.js +3 -0
  142. package/nuxt/components/Col.js +3 -0
  143. package/nuxt/components/Column.js +3 -0
  144. package/nuxt/components/Comment.js +3 -0
  145. package/nuxt/components/Content.js +3 -0
  146. package/nuxt/components/Countdown.js +3 -0
  147. package/nuxt/components/DatePicker.js +3 -0
  148. package/nuxt/components/Drawer.js +3 -0
  149. package/nuxt/components/Dropdown.js +3 -0
  150. package/nuxt/components/EditableSelect.js +3 -0
  151. package/nuxt/components/FixedOverlay.js +3 -0
  152. package/nuxt/components/FlexibleOverlay.js +3 -0
  153. package/nuxt/components/Footer.js +3 -0
  154. package/nuxt/components/Form.js +3 -0
  155. package/nuxt/components/FormControl.js +3 -0
  156. package/nuxt/components/FormItem.js +3 -0
  157. package/nuxt/components/FormLabel.js +3 -0
  158. package/nuxt/components/FormOperation.js +3 -0
  159. package/nuxt/components/Fullscreen.js +3 -0
  160. package/nuxt/components/Gantt.js +3 -0
  161. package/nuxt/components/Header.js +3 -0
  162. package/nuxt/components/Icon.js +2 -0
  163. package/nuxt/components/ImagePreviewService.js +3 -0
  164. package/nuxt/components/Input.js +3 -0
  165. package/nuxt/components/InputIcon.js +3 -0
  166. package/nuxt/components/InputNumber.js +3 -0
  167. package/nuxt/components/Layout.js +3 -0
  168. package/nuxt/components/Loading.js +3 -0
  169. package/nuxt/components/LoadingService.js +3 -0
  170. package/nuxt/components/Modal.js +3 -0
  171. package/nuxt/components/NavSprite.js +2 -0
  172. package/nuxt/components/Pagination.js +3 -0
  173. package/nuxt/components/Panel.js +3 -0
  174. package/nuxt/components/Popover.js +3 -0
  175. package/nuxt/components/Progress.js +3 -0
  176. package/nuxt/components/QuadrantDiagram.js +3 -0
  177. package/nuxt/components/Radio.js +3 -0
  178. package/nuxt/components/RadioGroup.js +3 -0
  179. package/nuxt/components/Rate.js +3 -0
  180. package/nuxt/components/ReadTip.js +3 -0
  181. package/nuxt/components/Result.js +3 -0
  182. package/nuxt/components/Row.js +3 -0
  183. package/nuxt/components/Search.js +3 -0
  184. package/nuxt/components/Select.js +3 -0
  185. package/nuxt/components/Skeleton.js +3 -0
  186. package/nuxt/components/SkeletonItem.js +3 -0
  187. package/nuxt/components/Slider.js +3 -0
  188. package/nuxt/components/Splitter.js +3 -0
  189. package/nuxt/components/Statistic.js +3 -0
  190. package/nuxt/components/Status.js +3 -0
  191. package/nuxt/components/StepsGuide.js +3 -0
  192. package/nuxt/components/StickSlider.js +3 -0
  193. package/nuxt/components/Sticky.js +2 -0
  194. package/nuxt/components/Switch.js +3 -0
  195. package/nuxt/components/Table.js +3 -0
  196. package/nuxt/components/Tabs.js +3 -0
  197. package/nuxt/components/Tag.js +3 -0
  198. package/nuxt/components/TagInput.js +3 -0
  199. package/nuxt/components/Textarea.js +3 -0
  200. package/nuxt/components/TimeAxis.js +3 -0
  201. package/nuxt/components/TimeAxisItem.js +3 -0
  202. package/nuxt/components/TimePicker.js +3 -0
  203. package/nuxt/components/Toast.js +3 -0
  204. package/nuxt/components/ToastService.js +3 -0
  205. package/nuxt/components/Tooltip.js +3 -0
  206. package/nuxt/components/Transfer.js +3 -0
  207. package/nuxt/components/Tree.js +3 -0
  208. package/nuxt/components/TreeSelect.js +3 -0
  209. package/nuxt/components/Upload.js +3 -0
  210. package/nuxt/components/buttonProps.js +3 -0
  211. package/nuxt/index.js +13 -0
  212. package/overlay/index.d.ts +7 -0
  213. package/overlay/index.es.js +368 -1
  214. package/overlay/index.umd.js +1 -1
  215. package/overlay/style.css +1 -1
  216. package/package.json +6 -47
  217. package/pagination/index.d.ts +7 -0
  218. package/pagination/index.es.js +642 -1
  219. package/pagination/index.umd.js +1 -1
  220. package/panel/index.d.ts +7 -0
  221. package/panel/index.es.js +205 -1
  222. package/panel/index.umd.js +1 -1
  223. package/panel/style.css +1 -1
  224. package/popover/index.d.ts +7 -0
  225. package/popover/index.es.js +236 -1
  226. package/popover/index.umd.js +1 -1
  227. package/progress/index.d.ts +7 -0
  228. package/progress/index.es.js +153 -1
  229. package/progress/index.umd.js +3 -1
  230. package/quadrant-diagram/index.d.ts +7 -0
  231. package/quadrant-diagram/index.es.js +489 -1
  232. package/quadrant-diagram/index.umd.js +1 -1
  233. package/radio/index.d.ts +7 -0
  234. package/radio/index.es.js +225 -1
  235. package/radio/index.umd.js +1 -1
  236. package/rate/index.d.ts +7 -0
  237. package/rate/index.es.js +220 -1
  238. package/rate/index.umd.js +1 -1
  239. package/read-tip/index.d.ts +7 -0
  240. package/read-tip/index.es.js +258 -0
  241. package/read-tip/index.umd.js +1 -0
  242. package/read-tip/package.json +7 -0
  243. package/read-tip/style.css +1 -0
  244. package/result/index.d.ts +7 -0
  245. package/result/index.es.js +119 -0
  246. package/result/index.umd.js +1 -0
  247. package/result/package.json +7 -0
  248. package/result/style.css +1 -0
  249. package/ripple/index.d.ts +7 -0
  250. package/ripple/index.es.js +181 -1
  251. package/ripple/index.umd.js +1 -1
  252. package/search/index.d.ts +7 -0
  253. package/search/index.es.js +543 -1
  254. package/search/index.umd.js +1 -1
  255. package/select/index.d.ts +7 -0
  256. package/select/index.es.js +706 -1
  257. package/select/index.umd.js +1 -1
  258. package/skeleton/index.d.ts +7 -0
  259. package/skeleton/index.es.js +297 -1
  260. package/skeleton/index.umd.js +1 -1
  261. package/skeleton/style.css +1 -1
  262. package/slider/index.d.ts +7 -0
  263. package/slider/index.es.js +199 -1
  264. package/slider/index.umd.js +1 -1
  265. package/slider/style.css +1 -1
  266. package/splitter/index.d.ts +7 -0
  267. package/splitter/index.es.js +636 -1
  268. package/splitter/index.umd.js +1 -1
  269. package/statistic/index.d.ts +7 -0
  270. package/statistic/index.es.js +280 -0
  271. package/statistic/index.umd.js +1 -0
  272. package/statistic/package.json +7 -0
  273. package/statistic/style.css +1 -0
  274. package/status/index.d.ts +7 -0
  275. package/status/index.es.js +42 -1
  276. package/status/index.umd.js +1 -1
  277. package/steps-guide/index.d.ts +7 -0
  278. package/steps-guide/index.es.js +239 -1
  279. package/steps-guide/index.umd.js +1 -1
  280. package/steps-guide/style.css +1 -1
  281. package/sticky/index.d.ts +7 -0
  282. package/sticky/index.es.js +197 -1
  283. package/sticky/index.umd.js +1 -1
  284. package/style.css +1 -1
  285. package/switch/index.d.ts +7 -0
  286. package/switch/index.es.js +100 -1
  287. package/switch/index.umd.js +1 -1
  288. package/switch/style.css +1 -1
  289. package/table/index.d.ts +7 -0
  290. package/table/index.es.js +1836 -1
  291. package/table/index.umd.js +1 -1
  292. package/table/style.css +1 -1
  293. package/tabs/index.d.ts +7 -0
  294. package/tabs/index.es.js +195 -1
  295. package/tabs/index.umd.js +1 -1
  296. package/tabs/style.css +1 -1
  297. package/tag/index.d.ts +7 -0
  298. package/tag/index.es.js +131 -0
  299. package/tag/index.umd.js +1 -0
  300. package/tag/package.json +7 -0
  301. package/tag/style.css +1 -0
  302. package/tag-input/index.d.ts +7 -0
  303. package/tag-input/index.es.js +329 -1
  304. package/tag-input/index.umd.js +1 -1
  305. package/textarea/index.d.ts +7 -0
  306. package/textarea/index.es.js +132 -0
  307. package/textarea/index.umd.js +1 -0
  308. package/textarea/package.json +7 -0
  309. package/textarea/style.css +1 -0
  310. package/time-axis/index.d.ts +7 -0
  311. package/time-axis/index.es.js +299 -0
  312. package/time-axis/index.umd.js +1 -0
  313. package/time-axis/package.json +7 -0
  314. package/time-axis/style.css +1 -0
  315. package/time-picker/index.d.ts +7 -0
  316. package/time-picker/index.es.js +1260 -1
  317. package/time-picker/index.umd.js +1 -1
  318. package/time-picker/style.css +1 -1
  319. package/toast/index.d.ts +7 -0
  320. package/toast/index.es.js +2060 -1
  321. package/toast/index.umd.js +1 -1
  322. package/toast/style.css +1 -1
  323. package/tooltip/index.d.ts +7 -0
  324. package/tooltip/index.es.js +171 -1
  325. package/tooltip/index.umd.js +1 -1
  326. package/transfer/index.d.ts +7 -0
  327. package/transfer/index.es.js +1725 -1
  328. package/transfer/index.umd.js +1 -1
  329. package/transfer/style.css +1 -1
  330. package/tree/index.d.ts +7 -0
  331. package/tree/index.es.js +907 -1
  332. package/tree/index.umd.js +1 -1
  333. package/tree/style.css +1 -1
  334. package/tree-select/index.d.ts +7 -0
  335. package/tree-select/index.es.js +528 -0
  336. package/tree-select/index.umd.js +1 -0
  337. package/tree-select/package.json +7 -0
  338. package/tree-select/style.css +1 -0
  339. package/upload/index.d.ts +7 -0
  340. package/upload/index.es.js +2834 -1
  341. package/upload/index.umd.js +1 -1
  342. package/upload/style.css +1 -1
  343. package/vue-devui.es.js +27777 -1
  344. package/vue-devui.umd.js +29 -1
@@ -1 +1,498 @@
1
- var t=Object.defineProperty,e=("undefined"!=typeof require&&require,(e,o,i)=>(((e,o,i)=>{o in e?t(e,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[o]=i})(e,"symbol"!=typeof o?o+"":o,i),i));import{defineComponent as o,ref as i,computed as s,onMounted as l,createVNode as n,createTextVNode as r,createApp as h}from"vue";const a={url:{type:String,default:""},previewUrlList:{type:Array,default:()=>[]}};class u{constructor(t,o={}){e(this,"el"),e(this,"oTransformX",0),e(this,"oTransformY",0),e(this,"transformX"),e(this,"transformY"),e(this,"zoom"),e(this,"rotate"),e(this,"STEP",.25),e(this,"MIN_SCALE",.2),e(this,"MAX_SCALE",2.5),e(this,"TRANSFORMX",0),e(this,"TRANSFORMY",0),e(this,"ZOOM",1),e(this,"ROTATE",0),this.el=t,this.transformX=o.transformX||this.TRANSFORMX,this.transformY=o.transformY||this.TRANSFORMY,this.zoom=o.zoom||this.ZOOM,this.rotate=o.rotate||this.ROTATE,this.handleDefaultDraggable(),this.onDraggable(),this.onMouseWheel()}handleDefaultDraggable(){document.body.ondragstart=()=>(window.event.returnValue=!1,!1)}onDraggable(){this.el.onmousedown=t=>{const e=t.clientX,o=t.clientY;document.onmousemove=t=>{const i=t.clientX-e,s=t.clientY-o;this.transformX=this.oTransformX+i,this.transformY=this.oTransformY+s,this.el.style.cursor="grabbing",this.setPosition()}},document.onmouseup=()=>{document.onmousemove=null,this.oTransformX=this.transformX,this.oTransformY=this.transformY,this.el.style.cursor="grab"}}onMouseWheel(){const t=this.throttle(this.setMouseWheel,100);this.el.onmousewheel=e=>{const o=-e.wheelDelta||e.deltaY||e.detail;t(o)}}throttle(t,e){let o=null;return(...i)=>{o||setTimeout((()=>{o=null,t.apply(this,i)}),e)}}setMouseWheel(t){if(t<0){if(this.zoom>=this.MAX_SCALE)return void(this.el.style.cursor="not-allowed");this.el.style.cursor="zoom-in",this.setZoomIn(this.STEP)}else{if(this.zoom<=this.MIN_SCALE)return void(this.el.style.cursor="not-allowed");this.el.style.cursor="zoom-out",this.setZoomOut(this.STEP)}this.setPosition()}setZoomIn(t=this.STEP){this.zoom=Math.min(this.MAX_SCALE,this.zoom+t),this.setPosition()}setZoomOut(t=this.STEP){this.zoom=Math.max(this.MIN_SCALE,this.zoom-t),this.setPosition()}setZoomBest(){this.reset(),this.setPosition()}setZoomOriginal(){this.reset(),this.setPosition()}setRotate(){this.rotate+=.25,this.setPosition()}reset(){this.transformX=this.TRANSFORMX,this.transformY=this.TRANSFORMY,this.zoom=this.ZOOM}setPosition(){this.el.style.transform=`translate(${this.transformX}px, ${this.transformY}px) scale(${this.zoom}) rotate(${this.rotate}turn)`}}var d=o({name:"DImagePreview",props:a,emits:[],setup(t){let e=null;const o=i(0),h=s((()=>t.previewUrlList[o.value]));function a(){o.value=o.value<=0?t.previewUrlList.length-1:o.value-1}function d(){o.value=o.value>=t.previewUrlList.length-1?0:o.value+1}function f(){v.close()}function m(){e.setZoomIn()}function c(){e.setZoomOut()}function L(){e.setRotate()}function g(){e.setZoomBest()}function p(){e.setZoomOriginal()}return l((()=>{o.value=t.previewUrlList.findIndex((e=>e===t.url)),function(){const t=document.querySelector(".devui-image-preview-main-image");e=new u(t)}()})),()=>n("div",{class:"devui-image-preview"},[n("img",{class:"devui-image-preview-main-image",src:h.value},null),n("button",{class:"devui-image-preview-close-btn",onClick:f},[n("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1"},[n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[n("polygon",{fill:"#293040","fill-rule":"nonzero",points:"8 6.58578644 12.2426407 2.34314575 13.6568542 3.75735931 9.41421356 8 13.6568542 12.2426407 12.2426407 13.6568542 8 9.41421356 3.75735931 13.6568542 2.34314575 12.2426407 6.58578644 8 2.34314575 3.75735931 3.75735931 2.34314575"},null)])])]),n("button",{class:"devui-image-preview-arrow-left",onClick:a},[n("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16",version:"1.1"},[n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[n("polygon",{fill:"#293040","fill-rule":"nonzero",points:"10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8"},null)])])]),n("button",{class:"devui-image-preview-arrow-right",onClick:d},[n("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16",version:"1.1"},[n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[n("polygon",{fill:"#293040","fill-rule":"nonzero",transform:"translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) ",points:"11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8"},null)])])]),n("div",{class:"devui-image-preview-toolbar"},[n("button",{onClick:m},[n("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16"},[n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[n("g",{fill:"#293040","fill-rule":"nonzero"},[n("path",{d:"M6,6 L6,4 L8,4 L8,6 L10,6 L10,8 L8,8 L8,10 L6,10 L6,8 L4,8 L4,6 L6,6 Z M12.6063847,11.1921711 L15.6568542,14.2426407 L14.2426407,15.6568542 L11.1921711,12.6063847 C10.0235906,13.4815965 8.5723351,14 7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,8.5723351 13.4815965,10.0235906 12.6063847,11.1921711 L12.6063847,11.1921711 Z M7,12 C9.76142375,12 12,9.76142375 12,7 C12,4.23857625 9.76142375,2 7,2 C4.23857625,2 2,4.23857625 2,7 C2,9.76142375 4.23857625,12 7,12 Z"},null)])])])]),n("button",{onClick:c},[n("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16"},[n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[n("g",{fill:"#293040","fill-rule":"nonzero"},[n("path",{d:"M12.6063847,11.1921711 L15.6568542,14.2426407 L14.2426407,15.6568542 L11.1921711,12.6063847 C10.0235906,13.4815965 8.5723351,14 7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,8.5723351 13.4815965,10.0235906 12.6063847,11.1921711 L12.6063847,11.1921711 Z M7,12 C9.76142375,12 12,9.76142375 12,7 C12,4.23857625 9.76142375,2 7,2 C4.23857625,2 2,4.23857625 2,7 C2,9.76142375 4.23857625,12 7,12 Z M4,6 L10,6 L10,8 L4,8 L4,6 Z"},null)])])])]),n("button",{onClick:L},[n("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16",version:"1.1"},[n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[n("path",{d:"M7.5,3.02242151 L7.5,4 L4.5,2 L7.5,0 L7.5,1.01640228 C7.66526181,1.00552468 7.83198572,1 8,1 C12.1421356,1 15.5,4.35786438 15.5,8.5 C15.5,12.6421356 12.1421356,16 8,16 C3.85786438,16 0.5,12.6421356 0.5,8.5 C0.5,6.9828355 0.950484514,5.5708873 1.72499011,4.39061882 L3.42173231,5.4510827 C2.83944149,6.32371289 2.5,7.37221604 2.5,8.5 C2.5,11.5375661 4.96243388,14 8,14 C11.0375661,14 13.5,11.5375661 13.5,8.5 C13.5,5.46243388 11.0375661,3 8,3 C7.83145515,3 7.66468102,3.00758131 7.5,3.02242151 Z M8,11 C6.61928813,11 5.5,9.88071187 5.5,8.5 C5.5,7.11928813 6.61928813,6 8,6 C9.38071187,6 10.5,7.11928813 10.5,8.5 C10.5,9.88071187 9.38071187,11 8,11 Z M8,10 C8.82842712,10 9.5,9.32842712 9.5,8.5 C9.5,7.67157288 8.82842712,7 8,7 C7.17157288,7 6.5,7.67157288 6.5,8.5 C6.5,9.32842712 7.17157288,10 8,10 Z",fill:"#293040"},null)])])]),n("button",{onClick:a},[n("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1"},[n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[n("polygon",{fill:"#293040","fill-rule":"nonzero",points:"10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8"},null)])])]),n("span",{class:"devui-image-preview-index"},[o.value+1,r(":"),t.previewUrlList.length]),n("button",{class:"devui-next",onClick:d},[n("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1"},[n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[n("polygon",{fill:"#293040","fill-rule":"nonzero",transform:"translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) ",points:"11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8"},null)])])]),n("button",{onClick:g},[n("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16"},[n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[n("path",{d:"M16,16 L11.429,16 L11.429,15 L14.456,15 L11.006,11.226 L11.652,10.519 L15.086,14.275 L15.086,11 L16,11 L16,16 Z M15.164,1.544 L12.009,4.994 L11.418,4.348 L14.558,0.914 L11.82,0.914 L11.82,0 L16,0 L16,4.571 L15.164,4.571 L15.164,1.544 Z M5,15 L5,16 L0,16 L0,11 L1,11 L1,14.275 L4.756,10.519 L5.463,11.226 L1.689,15 L5,15 Z M4.365,4.994 L0.914,1.544 L0.914,4.571 L3.41060513e-13,4.571 L3.41060513e-13,0 L4.571,0 L4.571,0.914 L1.578,0.914 L5.011,4.348 L4.365,4.994 Z",fill:"#293040","fill-rule":"nonzero"},null)])])]),n("button",{onClick:p},[n("span",null,[r("1:1")])])])])}});class v{static open(t){this.$body=document.body,this.$div=document.createElement("div"),this.$overflow=this.$body.style.overflow,this.$body.appendChild(this.$div),function(t){return h(d,t)}(t).mount(this.$div),this.$body.style.setProperty("overflow","hidden","important")}static close(){var t;null==(t=this.$body)||t.style.setProperty("overflow",this.$overflow),this.$overflow=null,this.$div&&this.$body.removeChild(this.$div),this.$body=null,this.$div=null}}function f(t,e){v.open({url:t,previewUrlList:e})}function m(){v.close()}function c(t){return[...t.querySelectorAll("img")].map((t=>t.getAttribute("src")))}function L(t){t.addEventListener("click",(e=>{var o;e.stopPropagation();const i=e.target;if("img"===(null==(o=null==i?void 0:i.nodeName)?void 0:o.toLowerCase())){const e=c(t);f(i.getAttribute("src"),e)}}))}e(v,"$body",null),e(v,"$div",null),e(v,"$overflow","");var g={mounted(t,e){if(!e.value)return L(t);const{custom:o,disableDefault:i}=e.value;o instanceof Object&&(o.open=()=>{const e=c(t);f(null==e?void 0:e[0],e)},o.close=()=>m()),i||L(t)},unmounted(){m()}},p={title:"ImagePreview 图片预览",category:"数据展示",status:"已完成",install(t){t.directive("d-image-preview",g),t.config.globalProperties.$imagePreviewService=v}};export{g as ImagePreviewDirective,v as ImagePreviewService,p as default};
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ import { defineComponent, ref, computed, onMounted, onUnmounted, createVNode, Fragment, createTextVNode, createApp } from "vue";
8
+ var imagePreview$1 = "";
9
+ const imagePreviewProps = {
10
+ url: {
11
+ type: String,
12
+ default: "",
13
+ required: true
14
+ },
15
+ previewUrlList: {
16
+ type: Array,
17
+ default: () => [],
18
+ required: true
19
+ },
20
+ zIndex: {
21
+ type: Number,
22
+ required: false
23
+ },
24
+ backDropZIndex: {
25
+ type: Number,
26
+ required: false
27
+ }
28
+ };
29
+ class Transform {
30
+ constructor(el, options = {}) {
31
+ __publicField(this, "el");
32
+ __publicField(this, "oTransformX", 0);
33
+ __publicField(this, "oTransformY", 0);
34
+ __publicField(this, "transformX");
35
+ __publicField(this, "transformY");
36
+ __publicField(this, "zoom");
37
+ __publicField(this, "rotate");
38
+ __publicField(this, "STEP", 0.25);
39
+ __publicField(this, "MIN_SCALE", 0.2);
40
+ __publicField(this, "MAX_SCALE", 2.5);
41
+ __publicField(this, "TRANSFORMX", 0);
42
+ __publicField(this, "TRANSFORMY", 0);
43
+ __publicField(this, "ZOOM", 1);
44
+ __publicField(this, "ROTATE", 0);
45
+ this.el = el;
46
+ this.transformX = options.transformX || this.TRANSFORMX;
47
+ this.transformY = options.transformY || this.TRANSFORMY;
48
+ this.zoom = options.zoom || this.ZOOM;
49
+ this.rotate = options.rotate || this.ROTATE;
50
+ this.handleDefaultDraggable();
51
+ this.onDraggable();
52
+ this.onMouseWheel();
53
+ }
54
+ handleDefaultDraggable() {
55
+ document.body.ondragstart = () => {
56
+ window.event.returnValue = false;
57
+ return false;
58
+ };
59
+ }
60
+ onDraggable() {
61
+ this.el.onmousedown = (e) => {
62
+ const ox = e.clientX;
63
+ const oy = e.clientY;
64
+ document.onmousemove = (e1) => {
65
+ const disX = e1.clientX - ox;
66
+ const disY = e1.clientY - oy;
67
+ this.transformX = this.oTransformX + disX;
68
+ this.transformY = this.oTransformY + disY;
69
+ this.el.style.cursor = "grabbing";
70
+ this.setPosition();
71
+ };
72
+ };
73
+ document.onmouseup = () => {
74
+ document.onmousemove = null;
75
+ this.oTransformX = this.transformX;
76
+ this.oTransformY = this.transformY;
77
+ this.el.style.cursor = "grab";
78
+ };
79
+ }
80
+ onMouseWheel() {
81
+ const handleWheel = this.throttle(this.setMouseWheel, 100);
82
+ this.el.onmousewheel = (e) => {
83
+ const value = -e.wheelDelta || e.deltaY || e.detail;
84
+ handleWheel(value);
85
+ };
86
+ }
87
+ throttle(fn, t) {
88
+ let timer = null;
89
+ return (...args) => {
90
+ if (!timer) {
91
+ setTimeout(() => {
92
+ timer = null;
93
+ fn.apply(this, args);
94
+ }, t);
95
+ }
96
+ };
97
+ }
98
+ setMouseWheel(value) {
99
+ if (value < 0) {
100
+ if (this.zoom >= this.MAX_SCALE) {
101
+ this.el.style.cursor = "not-allowed";
102
+ return;
103
+ }
104
+ this.el.style.cursor = "zoom-in";
105
+ this.setZoomIn(this.STEP);
106
+ } else {
107
+ if (this.zoom <= this.MIN_SCALE) {
108
+ this.el.style.cursor = "not-allowed";
109
+ return;
110
+ }
111
+ this.el.style.cursor = "zoom-out";
112
+ this.setZoomOut(this.STEP);
113
+ }
114
+ this.setPosition();
115
+ }
116
+ setZoomIn(step = this.STEP) {
117
+ this.zoom = Math.min(this.MAX_SCALE, this.zoom + step);
118
+ this.setPosition();
119
+ }
120
+ setZoomOut(step = this.STEP) {
121
+ this.zoom = Math.max(this.MIN_SCALE, this.zoom - step);
122
+ this.setPosition();
123
+ }
124
+ setZoomBest() {
125
+ this.reset();
126
+ this.setPosition();
127
+ }
128
+ setZoomOriginal() {
129
+ this.reset();
130
+ this.setPosition();
131
+ }
132
+ setRotate() {
133
+ this.rotate += 0.25;
134
+ this.setPosition();
135
+ }
136
+ reset() {
137
+ this.transformX = this.TRANSFORMX;
138
+ this.transformY = this.TRANSFORMY;
139
+ this.zoom = this.ZOOM;
140
+ }
141
+ setPosition() {
142
+ this.el.style.transform = `translate(${this.transformX}px, ${this.transformY}px) scale(${this.zoom}) rotate(${this.rotate}turn)`;
143
+ }
144
+ }
145
+ var imagePreview = defineComponent({
146
+ name: "DImagePreview",
147
+ props: imagePreviewProps,
148
+ emits: [],
149
+ setup(props) {
150
+ let transform = null;
151
+ const index2 = ref(0);
152
+ const url = computed(() => props.previewUrlList[index2.value]);
153
+ const imageStyle = props.zIndex ? {
154
+ zIndex: props.zIndex
155
+ } : {};
156
+ const bgStyle = props.backDropZIndex ? {
157
+ zIndex: props.backDropZIndex
158
+ } : {};
159
+ function initTransform() {
160
+ const imageElement = document.querySelector(".devui-image-preview-main-image");
161
+ transform = new Transform(imageElement);
162
+ }
163
+ function initIndex() {
164
+ index2.value = props.previewUrlList.findIndex((curUrl) => curUrl === props.url);
165
+ }
166
+ function onPrev() {
167
+ index2.value = index2.value <= 0 ? props.previewUrlList.length - 1 : index2.value - 1;
168
+ }
169
+ function onNext() {
170
+ index2.value = index2.value >= props.previewUrlList.length - 1 ? 0 : index2.value + 1;
171
+ }
172
+ function onClose() {
173
+ ImagePreviewService.close();
174
+ }
175
+ function onZoomIn() {
176
+ transform.setZoomIn();
177
+ }
178
+ function onZoomOut() {
179
+ transform.setZoomOut();
180
+ }
181
+ function onRotate() {
182
+ transform.setRotate();
183
+ }
184
+ function onZoomBest() {
185
+ transform.setZoomBest();
186
+ }
187
+ function onZoomOriginal() {
188
+ transform.setZoomOriginal();
189
+ }
190
+ function onKeyDown(event) {
191
+ if (event.defaultPrevented)
192
+ return;
193
+ if (event.code == "Escape") {
194
+ onClose();
195
+ } else if (event.code == "ArrowLeft") {
196
+ onPrev();
197
+ } else if (event.code == "ArrowRight") {
198
+ onNext();
199
+ }
200
+ }
201
+ function initKeyboard() {
202
+ document.addEventListener("keydown", onKeyDown, false);
203
+ }
204
+ function unKeyBoard() {
205
+ document.removeEventListener("keydown", onKeyDown, false);
206
+ }
207
+ onMounted(() => {
208
+ initIndex();
209
+ initTransform();
210
+ initKeyboard();
211
+ });
212
+ onUnmounted(() => {
213
+ unKeyBoard();
214
+ });
215
+ return () => {
216
+ return createVNode(Fragment, null, [createVNode("div", {
217
+ "class": "devui-image-preview",
218
+ "style": imageStyle
219
+ }, [createVNode("img", {
220
+ "class": "devui-image-preview-main-image",
221
+ "src": url.value
222
+ }, null), createVNode("button", {
223
+ "class": "devui-image-preview-close-btn",
224
+ "onClick": onClose
225
+ }, [createVNode("svg", {
226
+ "width": "16px",
227
+ "height": "16px",
228
+ "viewBox": "0 0 16 16",
229
+ "version": "1.1"
230
+ }, [createVNode("g", {
231
+ "stroke": "none",
232
+ "stroke-width": "1",
233
+ "fill": "none",
234
+ "fill-rule": "evenodd"
235
+ }, [createVNode("polygon", {
236
+ "fill": "#293040",
237
+ "fill-rule": "nonzero",
238
+ "points": "8 6.58578644 12.2426407 2.34314575 13.6568542 3.75735931 9.41421356 8 13.6568542 12.2426407 12.2426407 13.6568542 8 9.41421356 3.75735931 13.6568542 2.34314575 12.2426407 6.58578644 8 2.34314575 3.75735931 3.75735931 2.34314575"
239
+ }, null)])])]), createVNode("button", {
240
+ "class": "devui-image-preview-arrow-left",
241
+ "onClick": onPrev
242
+ }, [createVNode("svg", {
243
+ "width": "18px",
244
+ "height": "18px",
245
+ "viewBox": "0 0 16 16",
246
+ "version": "1.1"
247
+ }, [createVNode("g", {
248
+ "stroke": "none",
249
+ "stroke-width": "1",
250
+ "fill": "none",
251
+ "fill-rule": "evenodd"
252
+ }, [createVNode("polygon", {
253
+ "fill": "#293040",
254
+ "fill-rule": "nonzero",
255
+ "points": "10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8"
256
+ }, null)])])]), createVNode("button", {
257
+ "class": "devui-image-preview-arrow-right",
258
+ "onClick": onNext
259
+ }, [createVNode("svg", {
260
+ "width": "18px",
261
+ "height": "18px",
262
+ "viewBox": "0 0 16 16",
263
+ "version": "1.1"
264
+ }, [createVNode("g", {
265
+ "stroke": "none",
266
+ "stroke-width": "1",
267
+ "fill": "none",
268
+ "fill-rule": "evenodd"
269
+ }, [createVNode("polygon", {
270
+ "fill": "#293040",
271
+ "fill-rule": "nonzero",
272
+ "transform": "translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) ",
273
+ "points": "11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8"
274
+ }, null)])])]), createVNode("div", {
275
+ "class": "devui-image-preview-toolbar"
276
+ }, [createVNode("button", {
277
+ "onClick": onZoomIn
278
+ }, [createVNode("svg", {
279
+ "width": "18px",
280
+ "height": "18px",
281
+ "viewBox": "0 0 16 16"
282
+ }, [createVNode("g", {
283
+ "stroke": "none",
284
+ "stroke-width": "1",
285
+ "fill": "none",
286
+ "fill-rule": "evenodd"
287
+ }, [createVNode("g", {
288
+ "fill": "#293040",
289
+ "fill-rule": "nonzero"
290
+ }, [createVNode("path", {
291
+ "d": "M6,6 L6,4 L8,4 L8,6 L10,6 L10,8 L8,8 L8,10 L6,10 L6,8 L4,8 L4,6 L6,6 Z M12.6063847,11.1921711 L15.6568542,14.2426407 L14.2426407,15.6568542 L11.1921711,12.6063847 C10.0235906,13.4815965 8.5723351,14 7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,8.5723351 13.4815965,10.0235906 12.6063847,11.1921711 L12.6063847,11.1921711 Z M7,12 C9.76142375,12 12,9.76142375 12,7 C12,4.23857625 9.76142375,2 7,2 C4.23857625,2 2,4.23857625 2,7 C2,9.76142375 4.23857625,12 7,12 Z"
292
+ }, null)])])])]), createVNode("button", {
293
+ "onClick": onZoomOut
294
+ }, [createVNode("svg", {
295
+ "width": "18px",
296
+ "height": "18px",
297
+ "viewBox": "0 0 16 16"
298
+ }, [createVNode("g", {
299
+ "stroke": "none",
300
+ "stroke-width": "1",
301
+ "fill": "none",
302
+ "fill-rule": "evenodd"
303
+ }, [createVNode("g", {
304
+ "fill": "#293040",
305
+ "fill-rule": "nonzero"
306
+ }, [createVNode("path", {
307
+ "d": "M12.6063847,11.1921711 L15.6568542,14.2426407 L14.2426407,15.6568542 L11.1921711,12.6063847 C10.0235906,13.4815965 8.5723351,14 7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,8.5723351 13.4815965,10.0235906 12.6063847,11.1921711 L12.6063847,11.1921711 Z M7,12 C9.76142375,12 12,9.76142375 12,7 C12,4.23857625 9.76142375,2 7,2 C4.23857625,2 2,4.23857625 2,7 C2,9.76142375 4.23857625,12 7,12 Z M4,6 L10,6 L10,8 L4,8 L4,6 Z"
308
+ }, null)])])])]), createVNode("button", {
309
+ "onClick": onRotate
310
+ }, [createVNode("svg", {
311
+ "width": "18px",
312
+ "height": "18px",
313
+ "viewBox": "0 0 16 16",
314
+ "version": "1.1"
315
+ }, [createVNode("g", {
316
+ "stroke": "none",
317
+ "stroke-width": "1",
318
+ "fill": "none",
319
+ "fill-rule": "evenodd"
320
+ }, [createVNode("path", {
321
+ "d": "M7.5,3.02242151 L7.5,4 L4.5,2 L7.5,0 L7.5,1.01640228 C7.66526181,1.00552468 7.83198572,1 8,1 C12.1421356,1 15.5,4.35786438 15.5,8.5 C15.5,12.6421356 12.1421356,16 8,16 C3.85786438,16 0.5,12.6421356 0.5,8.5 C0.5,6.9828355 0.950484514,5.5708873 1.72499011,4.39061882 L3.42173231,5.4510827 C2.83944149,6.32371289 2.5,7.37221604 2.5,8.5 C2.5,11.5375661 4.96243388,14 8,14 C11.0375661,14 13.5,11.5375661 13.5,8.5 C13.5,5.46243388 11.0375661,3 8,3 C7.83145515,3 7.66468102,3.00758131 7.5,3.02242151 Z M8,11 C6.61928813,11 5.5,9.88071187 5.5,8.5 C5.5,7.11928813 6.61928813,6 8,6 C9.38071187,6 10.5,7.11928813 10.5,8.5 C10.5,9.88071187 9.38071187,11 8,11 Z M8,10 C8.82842712,10 9.5,9.32842712 9.5,8.5 C9.5,7.67157288 8.82842712,7 8,7 C7.17157288,7 6.5,7.67157288 6.5,8.5 C6.5,9.32842712 7.17157288,10 8,10 Z",
322
+ "fill": "#293040"
323
+ }, null)])])]), createVNode("button", {
324
+ "onClick": onPrev
325
+ }, [createVNode("svg", {
326
+ "width": "16px",
327
+ "height": "16px",
328
+ "viewBox": "0 0 16 16",
329
+ "version": "1.1"
330
+ }, [createVNode("g", {
331
+ "stroke": "none",
332
+ "stroke-width": "1",
333
+ "fill": "none",
334
+ "fill-rule": "evenodd"
335
+ }, [createVNode("polygon", {
336
+ "fill": "#293040",
337
+ "fill-rule": "nonzero",
338
+ "points": "10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8"
339
+ }, null)])])]), createVNode("span", {
340
+ "class": "devui-image-preview-index"
341
+ }, [index2.value + 1, createTextVNode(":"), props.previewUrlList.length]), createVNode("button", {
342
+ "class": "devui-next",
343
+ "onClick": onNext
344
+ }, [createVNode("svg", {
345
+ "width": "16px",
346
+ "height": "16px",
347
+ "viewBox": "0 0 16 16",
348
+ "version": "1.1"
349
+ }, [createVNode("g", {
350
+ "stroke": "none",
351
+ "stroke-width": "1",
352
+ "fill": "none",
353
+ "fill-rule": "evenodd"
354
+ }, [createVNode("polygon", {
355
+ "fill": "#293040",
356
+ "fill-rule": "nonzero",
357
+ "transform": "translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) ",
358
+ "points": "11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8"
359
+ }, null)])])]), createVNode("button", {
360
+ "onClick": onZoomBest
361
+ }, [createVNode("svg", {
362
+ "width": "18px",
363
+ "height": "18px",
364
+ "viewBox": "0 0 16 16"
365
+ }, [createVNode("g", {
366
+ "stroke": "none",
367
+ "stroke-width": "1",
368
+ "fill": "none",
369
+ "fill-rule": "evenodd"
370
+ }, [createVNode("path", {
371
+ "d": "M16,16 L11.429,16 L11.429,15 L14.456,15 L11.006,11.226 L11.652,10.519 L15.086,14.275 L15.086,11 L16,11 L16,16 Z M15.164,1.544 L12.009,4.994 L11.418,4.348 L14.558,0.914 L11.82,0.914 L11.82,0 L16,0 L16,4.571 L15.164,4.571 L15.164,1.544 Z M5,15 L5,16 L0,16 L0,11 L1,11 L1,14.275 L4.756,10.519 L5.463,11.226 L1.689,15 L5,15 Z M4.365,4.994 L0.914,1.544 L0.914,4.571 L3.41060513e-13,4.571 L3.41060513e-13,0 L4.571,0 L4.571,0.914 L1.578,0.914 L5.011,4.348 L4.365,4.994 Z",
372
+ "fill": "#293040",
373
+ "fill-rule": "nonzero"
374
+ }, null)])])]), createVNode("button", {
375
+ "onClick": onZoomOriginal
376
+ }, [createVNode("span", null, [createTextVNode("1:1")])])])]), createVNode("div", {
377
+ "class": "devui-image-preview-bg",
378
+ "style": bgStyle
379
+ }, null)]);
380
+ };
381
+ }
382
+ });
383
+ function createComponent(props) {
384
+ return createApp(imagePreview, props);
385
+ }
386
+ class ImagePreviewService {
387
+ static open(props) {
388
+ this.$body = document.body;
389
+ this.$div = document.createElement("div");
390
+ this.$overflow = this.$body.style.overflow;
391
+ this.$body.appendChild(this.$div);
392
+ createComponent(props).mount(this.$div);
393
+ this.$body.style.setProperty("overflow", "hidden", "important");
394
+ }
395
+ static close() {
396
+ var _a;
397
+ (_a = this.$body) == null ? void 0 : _a.style.setProperty("overflow", this.$overflow);
398
+ this.$overflow = null;
399
+ this.$div && this.$body.removeChild(this.$div);
400
+ this.$body = null;
401
+ this.$div = null;
402
+ }
403
+ }
404
+ __publicField(ImagePreviewService, "$body", null);
405
+ __publicField(ImagePreviewService, "$div", null);
406
+ __publicField(ImagePreviewService, "$overflow", "");
407
+ function mountedPreviewImages(props) {
408
+ ImagePreviewService.open({
409
+ url: props.url,
410
+ previewUrlList: props.previewUrlList,
411
+ zIndex: props.zIndex,
412
+ backDropZIndex: props.backDropZIndex
413
+ });
414
+ }
415
+ function unmountedPreviewImages() {
416
+ ImagePreviewService.close();
417
+ }
418
+ function getImgByEl(el) {
419
+ const urlList = [...el.querySelectorAll("img")].map((item) => item.getAttribute("src"));
420
+ return urlList;
421
+ }
422
+ function handleImgByEl(el) {
423
+ el.addEventListener("click", handleImg);
424
+ }
425
+ function removeHandle(el) {
426
+ el.removeEventListener("click", handleImg);
427
+ }
428
+ function handleImg(e) {
429
+ var _a;
430
+ e.stopPropagation();
431
+ const el = e.currentTarget;
432
+ const target = e.target;
433
+ if (((_a = target == null ? void 0 : target.nodeName) == null ? void 0 : _a.toLowerCase()) === "img") {
434
+ const urlList = getImgByEl(el);
435
+ const url = target.getAttribute("src");
436
+ mountedPreviewImages({
437
+ url,
438
+ previewUrlList: urlList,
439
+ zIndex: el == null ? void 0 : el.zIndex,
440
+ backDropZIndex: el == null ? void 0 : el.backDropZIndex
441
+ });
442
+ }
443
+ }
444
+ var ImagePreviewDirective = {
445
+ mounted(el, binding) {
446
+ if (!binding.value) {
447
+ return handleImgByEl(el);
448
+ }
449
+ const { custom, disableDefault } = binding.value;
450
+ if (custom instanceof Object) {
451
+ custom.open = () => {
452
+ const urlList = getImgByEl(el);
453
+ mountedPreviewImages({
454
+ url: urlList == null ? void 0 : urlList[0],
455
+ previewUrlList: urlList,
456
+ zIndex: el == null ? void 0 : el.zIndex,
457
+ backDropZIndex: el == null ? void 0 : el.backDropZIndex
458
+ });
459
+ };
460
+ custom.close = () => unmountedPreviewImages();
461
+ }
462
+ if (disableDefault) {
463
+ return;
464
+ }
465
+ handleImgByEl(el);
466
+ },
467
+ unmounted() {
468
+ unmountedPreviewImages();
469
+ },
470
+ updated(el, binding) {
471
+ var _a, _b;
472
+ el.zIndex = (_a = binding.value) == null ? void 0 : _a.zIndex;
473
+ el.backDropZIndex = (_b = binding.value) == null ? void 0 : _b.backDropZIndex;
474
+ if (binding.value) {
475
+ const {
476
+ value: { disableDefault },
477
+ oldValue: { disableDefault: oldDisableDefault }
478
+ } = binding;
479
+ if (disableDefault !== oldDisableDefault) {
480
+ if (disableDefault) {
481
+ removeHandle(el);
482
+ } else {
483
+ handleImgByEl(el);
484
+ }
485
+ }
486
+ }
487
+ }
488
+ };
489
+ var index = {
490
+ title: "ImagePreview \u56FE\u7247\u9884\u89C8",
491
+ category: "\u6570\u636E\u5C55\u793A",
492
+ status: "100%",
493
+ install(app) {
494
+ app.directive("d-image-preview", ImagePreviewDirective);
495
+ app.config.globalProperties.$imagePreviewService = ImagePreviewService;
496
+ }
497
+ };
498
+ export { ImagePreviewDirective, ImagePreviewService, index as default };
@@ -1 +1 @@
1
- var __defProp=Object.defineProperty,__defNormalProp=(e,t,o)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,__require="undefined"!=typeof require?require:e=>{throw new Error('Dynamic require of "'+e+'" is not supported')},__publicField=(e,t,o)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,o),o);!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).index={},e.Vue)}(this,(function(e,t){"use strict";const o={url:{type:String,default:""},previewUrlList:{type:Array,default:()=>[]}};class i{constructor(e,t={}){__publicField(this,"el"),__publicField(this,"oTransformX",0),__publicField(this,"oTransformY",0),__publicField(this,"transformX"),__publicField(this,"transformY"),__publicField(this,"zoom"),__publicField(this,"rotate"),__publicField(this,"STEP",.25),__publicField(this,"MIN_SCALE",.2),__publicField(this,"MAX_SCALE",2.5),__publicField(this,"TRANSFORMX",0),__publicField(this,"TRANSFORMY",0),__publicField(this,"ZOOM",1),__publicField(this,"ROTATE",0),this.el=e,this.transformX=t.transformX||this.TRANSFORMX,this.transformY=t.transformY||this.TRANSFORMY,this.zoom=t.zoom||this.ZOOM,this.rotate=t.rotate||this.ROTATE,this.handleDefaultDraggable(),this.onDraggable(),this.onMouseWheel()}handleDefaultDraggable(){document.body.ondragstart=()=>(window.event.returnValue=!1,!1)}onDraggable(){this.el.onmousedown=e=>{const t=e.clientX,o=e.clientY;document.onmousemove=e=>{const i=e.clientX-t,l=e.clientY-o;this.transformX=this.oTransformX+i,this.transformY=this.oTransformY+l,this.el.style.cursor="grabbing",this.setPosition()}},document.onmouseup=()=>{document.onmousemove=null,this.oTransformX=this.transformX,this.oTransformY=this.transformY,this.el.style.cursor="grab"}}onMouseWheel(){const e=this.throttle(this.setMouseWheel,100);this.el.onmousewheel=t=>{const o=-t.wheelDelta||t.deltaY||t.detail;e(o)}}throttle(e,t){let o=null;return(...i)=>{o||setTimeout((()=>{o=null,e.apply(this,i)}),t)}}setMouseWheel(e){if(e<0){if(this.zoom>=this.MAX_SCALE)return void(this.el.style.cursor="not-allowed");this.el.style.cursor="zoom-in",this.setZoomIn(this.STEP)}else{if(this.zoom<=this.MIN_SCALE)return void(this.el.style.cursor="not-allowed");this.el.style.cursor="zoom-out",this.setZoomOut(this.STEP)}this.setPosition()}setZoomIn(e=this.STEP){this.zoom=Math.min(this.MAX_SCALE,this.zoom+e),this.setPosition()}setZoomOut(e=this.STEP){this.zoom=Math.max(this.MIN_SCALE,this.zoom-e),this.setPosition()}setZoomBest(){this.reset(),this.setPosition()}setZoomOriginal(){this.reset(),this.setPosition()}setRotate(){this.rotate+=.25,this.setPosition()}reset(){this.transformX=this.TRANSFORMX,this.transformY=this.TRANSFORMY,this.zoom=this.ZOOM}setPosition(){this.el.style.transform=`translate(${this.transformX}px, ${this.transformY}px) scale(${this.zoom}) rotate(${this.rotate}turn)`}}var l=t.defineComponent({name:"DImagePreview",props:o,emits:[],setup(e){let o=null;const l=t.ref(0),s=t.computed((()=>e.previewUrlList[l.value]));function n(){l.value=l.value<=0?e.previewUrlList.length-1:l.value-1}function a(){l.value=l.value>=e.previewUrlList.length-1?0:l.value+1}function d(){r.close()}function u(){o.setZoomIn()}function c(){o.setZoomOut()}function h(){o.setRotate()}function f(){o.setZoomBest()}function v(){o.setZoomOriginal()}return t.onMounted((()=>{l.value=e.previewUrlList.findIndex((t=>t===e.url)),function(){const e=document.querySelector(".devui-image-preview-main-image");o=new i(e)}()})),()=>t.createVNode("div",{class:"devui-image-preview"},[t.createVNode("img",{class:"devui-image-preview-main-image",src:s.value},null),t.createVNode("button",{class:"devui-image-preview-close-btn",onClick:d},[t.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("polygon",{fill:"#293040","fill-rule":"nonzero",points:"8 6.58578644 12.2426407 2.34314575 13.6568542 3.75735931 9.41421356 8 13.6568542 12.2426407 12.2426407 13.6568542 8 9.41421356 3.75735931 13.6568542 2.34314575 12.2426407 6.58578644 8 2.34314575 3.75735931 3.75735931 2.34314575"},null)])])]),t.createVNode("button",{class:"devui-image-preview-arrow-left",onClick:n},[t.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16",version:"1.1"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("polygon",{fill:"#293040","fill-rule":"nonzero",points:"10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8"},null)])])]),t.createVNode("button",{class:"devui-image-preview-arrow-right",onClick:a},[t.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16",version:"1.1"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("polygon",{fill:"#293040","fill-rule":"nonzero",transform:"translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) ",points:"11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8"},null)])])]),t.createVNode("div",{class:"devui-image-preview-toolbar"},[t.createVNode("button",{onClick:u},[t.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("g",{fill:"#293040","fill-rule":"nonzero"},[t.createVNode("path",{d:"M6,6 L6,4 L8,4 L8,6 L10,6 L10,8 L8,8 L8,10 L6,10 L6,8 L4,8 L4,6 L6,6 Z M12.6063847,11.1921711 L15.6568542,14.2426407 L14.2426407,15.6568542 L11.1921711,12.6063847 C10.0235906,13.4815965 8.5723351,14 7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,8.5723351 13.4815965,10.0235906 12.6063847,11.1921711 L12.6063847,11.1921711 Z M7,12 C9.76142375,12 12,9.76142375 12,7 C12,4.23857625 9.76142375,2 7,2 C4.23857625,2 2,4.23857625 2,7 C2,9.76142375 4.23857625,12 7,12 Z"},null)])])])]),t.createVNode("button",{onClick:c},[t.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("g",{fill:"#293040","fill-rule":"nonzero"},[t.createVNode("path",{d:"M12.6063847,11.1921711 L15.6568542,14.2426407 L14.2426407,15.6568542 L11.1921711,12.6063847 C10.0235906,13.4815965 8.5723351,14 7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,8.5723351 13.4815965,10.0235906 12.6063847,11.1921711 L12.6063847,11.1921711 Z M7,12 C9.76142375,12 12,9.76142375 12,7 C12,4.23857625 9.76142375,2 7,2 C4.23857625,2 2,4.23857625 2,7 C2,9.76142375 4.23857625,12 7,12 Z M4,6 L10,6 L10,8 L4,8 L4,6 Z"},null)])])])]),t.createVNode("button",{onClick:h},[t.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16",version:"1.1"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("path",{d:"M7.5,3.02242151 L7.5,4 L4.5,2 L7.5,0 L7.5,1.01640228 C7.66526181,1.00552468 7.83198572,1 8,1 C12.1421356,1 15.5,4.35786438 15.5,8.5 C15.5,12.6421356 12.1421356,16 8,16 C3.85786438,16 0.5,12.6421356 0.5,8.5 C0.5,6.9828355 0.950484514,5.5708873 1.72499011,4.39061882 L3.42173231,5.4510827 C2.83944149,6.32371289 2.5,7.37221604 2.5,8.5 C2.5,11.5375661 4.96243388,14 8,14 C11.0375661,14 13.5,11.5375661 13.5,8.5 C13.5,5.46243388 11.0375661,3 8,3 C7.83145515,3 7.66468102,3.00758131 7.5,3.02242151 Z M8,11 C6.61928813,11 5.5,9.88071187 5.5,8.5 C5.5,7.11928813 6.61928813,6 8,6 C9.38071187,6 10.5,7.11928813 10.5,8.5 C10.5,9.88071187 9.38071187,11 8,11 Z M8,10 C8.82842712,10 9.5,9.32842712 9.5,8.5 C9.5,7.67157288 8.82842712,7 8,7 C7.17157288,7 6.5,7.67157288 6.5,8.5 C6.5,9.32842712 7.17157288,10 8,10 Z",fill:"#293040"},null)])])]),t.createVNode("button",{onClick:n},[t.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("polygon",{fill:"#293040","fill-rule":"nonzero",points:"10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8"},null)])])]),t.createVNode("span",{class:"devui-image-preview-index"},[l.value+1,t.createTextVNode(":"),e.previewUrlList.length]),t.createVNode("button",{class:"devui-next",onClick:a},[t.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("polygon",{fill:"#293040","fill-rule":"nonzero",transform:"translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) ",points:"11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8"},null)])])]),t.createVNode("button",{onClick:f},[t.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16"},[t.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[t.createVNode("path",{d:"M16,16 L11.429,16 L11.429,15 L14.456,15 L11.006,11.226 L11.652,10.519 L15.086,14.275 L15.086,11 L16,11 L16,16 Z M15.164,1.544 L12.009,4.994 L11.418,4.348 L14.558,0.914 L11.82,0.914 L11.82,0 L16,0 L16,4.571 L15.164,4.571 L15.164,1.544 Z M5,15 L5,16 L0,16 L0,11 L1,11 L1,14.275 L4.756,10.519 L5.463,11.226 L1.689,15 L5,15 Z M4.365,4.994 L0.914,1.544 L0.914,4.571 L3.41060513e-13,4.571 L3.41060513e-13,0 L4.571,0 L4.571,0.914 L1.578,0.914 L5.011,4.348 L4.365,4.994 Z",fill:"#293040","fill-rule":"nonzero"},null)])])]),t.createVNode("button",{onClick:v},[t.createVNode("span",null,[t.createTextVNode("1:1")])])])])}});class r{static open(e){this.$body=document.body,this.$div=document.createElement("div"),this.$overflow=this.$body.style.overflow,this.$body.appendChild(this.$div),function(e){return t.createApp(l,e)}(e).mount(this.$div),this.$body.style.setProperty("overflow","hidden","important")}static close(){var e;null==(e=this.$body)||e.style.setProperty("overflow",this.$overflow),this.$overflow=null,this.$div&&this.$body.removeChild(this.$div),this.$body=null,this.$div=null}}function s(e,t){r.open({url:e,previewUrlList:t})}function n(){r.close()}function a(e){return[...e.querySelectorAll("img")].map((e=>e.getAttribute("src")))}function d(e){e.addEventListener("click",(t=>{var o;t.stopPropagation();const i=t.target;if("img"===(null==(o=null==i?void 0:i.nodeName)?void 0:o.toLowerCase())){const t=a(e);s(i.getAttribute("src"),t)}}))}__publicField(r,"$body",null),__publicField(r,"$div",null),__publicField(r,"$overflow","");var u={mounted(e,t){if(!t.value)return d(e);const{custom:o,disableDefault:i}=t.value;o instanceof Object&&(o.open=()=>{const t=a(e);s(null==t?void 0:t[0],t)},o.close=()=>n()),i||d(e)},unmounted(){n()}},c={title:"ImagePreview 图片预览",category:"数据展示",status:"已完成",install(e){e.directive("d-image-preview",u),e.config.globalProperties.$imagePreviewService=r}};e.ImagePreviewDirective=u,e.ImagePreviewService=r,e.default=c,Object.defineProperty(e,"__esModule",{value:!0}),e[Symbol.toStringTag]="Module"}));
1
+ var S=Object.defineProperty;var O=(r,e,u)=>e in r?S(r,e,{enumerable:!0,configurable:!0,writable:!0,value:u}):r[e]=u;var n=(r,e,u)=>(O(r,typeof e!="symbol"?e+"":e,u),u);(function(r,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(r=typeof globalThis!="undefined"?globalThis:r||self,e(r.index={},r.Vue))})(this,function(r,e){"use strict";var u="";const y={url:{type:String,default:"",required:!0},previewUrlList:{type:Array,default:()=>[],required:!0},zIndex:{type:Number,required:!1},backDropZIndex:{type:Number,required:!1}};class b{constructor(o,i={}){n(this,"el");n(this,"oTransformX",0);n(this,"oTransformY",0);n(this,"transformX");n(this,"transformY");n(this,"zoom");n(this,"rotate");n(this,"STEP",.25);n(this,"MIN_SCALE",.2);n(this,"MAX_SCALE",2.5);n(this,"TRANSFORMX",0);n(this,"TRANSFORMY",0);n(this,"ZOOM",1);n(this,"ROTATE",0);this.el=o,this.transformX=i.transformX||this.TRANSFORMX,this.transformY=i.transformY||this.TRANSFORMY,this.zoom=i.zoom||this.ZOOM,this.rotate=i.rotate||this.ROTATE,this.handleDefaultDraggable(),this.onDraggable(),this.onMouseWheel()}handleDefaultDraggable(){document.body.ondragstart=()=>(window.event.returnValue=!1,!1)}onDraggable(){this.el.onmousedown=o=>{const i=o.clientX,s=o.clientY;document.onmousemove=l=>{const c=l.clientX-i,f=l.clientY-s;this.transformX=this.oTransformX+c,this.transformY=this.oTransformY+f,this.el.style.cursor="grabbing",this.setPosition()}},document.onmouseup=()=>{document.onmousemove=null,this.oTransformX=this.transformX,this.oTransformY=this.transformY,this.el.style.cursor="grab"}}onMouseWheel(){const o=this.throttle(this.setMouseWheel,100);this.el.onmousewheel=i=>{const s=-i.wheelDelta||i.deltaY||i.detail;o(s)}}throttle(o,i){let s=null;return(...l)=>{s||setTimeout(()=>{s=null,o.apply(this,l)},i)}}setMouseWheel(o){if(o<0){if(this.zoom>=this.MAX_SCALE){this.el.style.cursor="not-allowed";return}this.el.style.cursor="zoom-in",this.setZoomIn(this.STEP)}else{if(this.zoom<=this.MIN_SCALE){this.el.style.cursor="not-allowed";return}this.el.style.cursor="zoom-out",this.setZoomOut(this.STEP)}this.setPosition()}setZoomIn(o=this.STEP){this.zoom=Math.min(this.MAX_SCALE,this.zoom+o),this.setPosition()}setZoomOut(o=this.STEP){this.zoom=Math.max(this.MIN_SCALE,this.zoom-o),this.setPosition()}setZoomBest(){this.reset(),this.setPosition()}setZoomOriginal(){this.reset(),this.setPosition()}setRotate(){this.rotate+=.25,this.setPosition()}reset(){this.transformX=this.TRANSFORMX,this.transformY=this.TRANSFORMY,this.zoom=this.ZOOM}setPosition(){this.el.style.transform=`translate(${this.transformX}px, ${this.transformY}px) scale(${this.zoom}) rotate(${this.rotate}turn)`}}var V=e.defineComponent({name:"DImagePreview",props:y,emits:[],setup(t){let o=null;const i=e.ref(0),s=e.computed(()=>t.previewUrlList[i.value]),l=t.zIndex?{zIndex:t.zIndex}:{},c=t.backDropZIndex?{zIndex:t.backDropZIndex}:{};function f(){const d=document.querySelector(".devui-image-preview-main-image");o=new b(d)}function M(){i.value=t.previewUrlList.findIndex(d=>d===t.url)}function m(){i.value=i.value<=0?t.previewUrlList.length-1:i.value-1}function g(){i.value=i.value>=t.previewUrlList.length-1?0:i.value+1}function N(){a.close()}function z(){o.setZoomIn()}function P(){o.setZoomOut()}function T(){o.setRotate()}function D(){o.setZoomBest()}function A(){o.setZoomOriginal()}function C(d){d.defaultPrevented||(d.code=="Escape"?N():d.code=="ArrowLeft"?m():d.code=="ArrowRight"&&g())}function $(){document.addEventListener("keydown",C,!1)}function E(){document.removeEventListener("keydown",C,!1)}return e.onMounted(()=>{M(),f(),$()}),e.onUnmounted(()=>{E()}),()=>e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"devui-image-preview",style:l},[e.createVNode("img",{class:"devui-image-preview-main-image",src:s.value},null),e.createVNode("button",{class:"devui-image-preview-close-btn",onClick:N},[e.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("polygon",{fill:"#293040","fill-rule":"nonzero",points:"8 6.58578644 12.2426407 2.34314575 13.6568542 3.75735931 9.41421356 8 13.6568542 12.2426407 12.2426407 13.6568542 8 9.41421356 3.75735931 13.6568542 2.34314575 12.2426407 6.58578644 8 2.34314575 3.75735931 3.75735931 2.34314575"},null)])])]),e.createVNode("button",{class:"devui-image-preview-arrow-left",onClick:m},[e.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16",version:"1.1"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("polygon",{fill:"#293040","fill-rule":"nonzero",points:"10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8"},null)])])]),e.createVNode("button",{class:"devui-image-preview-arrow-right",onClick:g},[e.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16",version:"1.1"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("polygon",{fill:"#293040","fill-rule":"nonzero",transform:"translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) ",points:"11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8"},null)])])]),e.createVNode("div",{class:"devui-image-preview-toolbar"},[e.createVNode("button",{onClick:z},[e.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("g",{fill:"#293040","fill-rule":"nonzero"},[e.createVNode("path",{d:"M6,6 L6,4 L8,4 L8,6 L10,6 L10,8 L8,8 L8,10 L6,10 L6,8 L4,8 L4,6 L6,6 Z M12.6063847,11.1921711 L15.6568542,14.2426407 L14.2426407,15.6568542 L11.1921711,12.6063847 C10.0235906,13.4815965 8.5723351,14 7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,8.5723351 13.4815965,10.0235906 12.6063847,11.1921711 L12.6063847,11.1921711 Z M7,12 C9.76142375,12 12,9.76142375 12,7 C12,4.23857625 9.76142375,2 7,2 C4.23857625,2 2,4.23857625 2,7 C2,9.76142375 4.23857625,12 7,12 Z"},null)])])])]),e.createVNode("button",{onClick:P},[e.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("g",{fill:"#293040","fill-rule":"nonzero"},[e.createVNode("path",{d:"M12.6063847,11.1921711 L15.6568542,14.2426407 L14.2426407,15.6568542 L11.1921711,12.6063847 C10.0235906,13.4815965 8.5723351,14 7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,8.5723351 13.4815965,10.0235906 12.6063847,11.1921711 L12.6063847,11.1921711 Z M7,12 C9.76142375,12 12,9.76142375 12,7 C12,4.23857625 9.76142375,2 7,2 C4.23857625,2 2,4.23857625 2,7 C2,9.76142375 4.23857625,12 7,12 Z M4,6 L10,6 L10,8 L4,8 L4,6 Z"},null)])])])]),e.createVNode("button",{onClick:T},[e.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16",version:"1.1"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("path",{d:"M7.5,3.02242151 L7.5,4 L4.5,2 L7.5,0 L7.5,1.01640228 C7.66526181,1.00552468 7.83198572,1 8,1 C12.1421356,1 15.5,4.35786438 15.5,8.5 C15.5,12.6421356 12.1421356,16 8,16 C3.85786438,16 0.5,12.6421356 0.5,8.5 C0.5,6.9828355 0.950484514,5.5708873 1.72499011,4.39061882 L3.42173231,5.4510827 C2.83944149,6.32371289 2.5,7.37221604 2.5,8.5 C2.5,11.5375661 4.96243388,14 8,14 C11.0375661,14 13.5,11.5375661 13.5,8.5 C13.5,5.46243388 11.0375661,3 8,3 C7.83145515,3 7.66468102,3.00758131 7.5,3.02242151 Z M8,11 C6.61928813,11 5.5,9.88071187 5.5,8.5 C5.5,7.11928813 6.61928813,6 8,6 C9.38071187,6 10.5,7.11928813 10.5,8.5 C10.5,9.88071187 9.38071187,11 8,11 Z M8,10 C8.82842712,10 9.5,9.32842712 9.5,8.5 C9.5,7.67157288 8.82842712,7 8,7 C7.17157288,7 6.5,7.67157288 6.5,8.5 C6.5,9.32842712 7.17157288,10 8,10 Z",fill:"#293040"},null)])])]),e.createVNode("button",{onClick:m},[e.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("polygon",{fill:"#293040","fill-rule":"nonzero",points:"10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8"},null)])])]),e.createVNode("span",{class:"devui-image-preview-index"},[i.value+1,e.createTextVNode(":"),t.previewUrlList.length]),e.createVNode("button",{class:"devui-next",onClick:g},[e.createVNode("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",version:"1.1"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("polygon",{fill:"#293040","fill-rule":"nonzero",transform:"translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) ",points:"11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8"},null)])])]),e.createVNode("button",{onClick:D},[e.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16"},[e.createVNode("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("path",{d:"M16,16 L11.429,16 L11.429,15 L14.456,15 L11.006,11.226 L11.652,10.519 L15.086,14.275 L15.086,11 L16,11 L16,16 Z M15.164,1.544 L12.009,4.994 L11.418,4.348 L14.558,0.914 L11.82,0.914 L11.82,0 L16,0 L16,4.571 L15.164,4.571 L15.164,1.544 Z M5,15 L5,16 L0,16 L0,11 L1,11 L1,14.275 L4.756,10.519 L5.463,11.226 L1.689,15 L5,15 Z M4.365,4.994 L0.914,1.544 L0.914,4.571 L3.41060513e-13,4.571 L3.41060513e-13,0 L4.571,0 L4.571,0.914 L1.578,0.914 L5.011,4.348 L4.365,4.994 Z",fill:"#293040","fill-rule":"nonzero"},null)])])]),e.createVNode("button",{onClick:A},[e.createVNode("span",null,[e.createTextVNode("1:1")])])])]),e.createVNode("div",{class:"devui-image-preview-bg",style:c},null)])}});function k(t){return e.createApp(V,t)}class a{static open(o){this.$body=document.body,this.$div=document.createElement("div"),this.$overflow=this.$body.style.overflow,this.$body.appendChild(this.$div),k(o).mount(this.$div),this.$body.style.setProperty("overflow","hidden","important")}static close(){var o;(o=this.$body)==null||o.style.setProperty("overflow",this.$overflow),this.$overflow=null,this.$div&&this.$body.removeChild(this.$div),this.$body=null,this.$div=null}}n(a,"$body",null),n(a,"$div",null),n(a,"$overflow","");function L(t){a.open({url:t.url,previewUrlList:t.previewUrlList,zIndex:t.zIndex,backDropZIndex:t.backDropZIndex})}function w(){a.close()}function v(t){return[...t.querySelectorAll("img")].map(i=>i.getAttribute("src"))}function h(t){t.addEventListener("click",p)}function I(t){t.removeEventListener("click",p)}function p(t){var s;t.stopPropagation();const o=t.currentTarget,i=t.target;if(((s=i==null?void 0:i.nodeName)==null?void 0:s.toLowerCase())==="img"){const l=v(o),c=i.getAttribute("src");L({url:c,previewUrlList:l,zIndex:o==null?void 0:o.zIndex,backDropZIndex:o==null?void 0:o.backDropZIndex})}}var x={mounted(t,o){if(!o.value)return h(t);const{custom:i,disableDefault:s}=o.value;i instanceof Object&&(i.open=()=>{const l=v(t);L({url:l==null?void 0:l[0],previewUrlList:l,zIndex:t==null?void 0:t.zIndex,backDropZIndex:t==null?void 0:t.backDropZIndex})},i.close=()=>w()),!s&&h(t)},unmounted(){w()},updated(t,o){var i,s;if(t.zIndex=(i=o.value)==null?void 0:i.zIndex,t.backDropZIndex=(s=o.value)==null?void 0:s.backDropZIndex,o.value){const{value:{disableDefault:l},oldValue:{disableDefault:c}}=o;l!==c&&(l?I(t):h(t))}}},Z={title:"ImagePreview \u56FE\u7247\u9884\u89C8",category:"\u6570\u636E\u5C55\u793A",status:"100%",install(t){t.directive("d-image-preview",x),t.config.globalProperties.$imagePreviewService=a}};r.ImagePreviewDirective=x,r.ImagePreviewService=a,r.default=Z,Object.defineProperty(r,"__esModule",{value:!0}),r[Symbol.toStringTag]="Module"});
@@ -1 +1 @@
1
- .devui-image-preview{position:fixed;left:0;top:0;right:0;bottom:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1);background:var(--devui-shadow, rgba(0, 0, 0, .2));border-radius:var(--devui-border-radius, 2px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(0, 0, 0, .2));display:flex;align-items:center;justify-content:center;overflow:hidden}.devui-image-preview svg,.devui-image-preview polygon,.devui-image-preview g,.devui-image-preview path{fill:var(--devui-icon-text, #252b3a)}.devui-image-preview-main-image{width:auto;height:auto;max-width:90%;max-height:90%;margin-top:-20px;cursor:grab}.devui-image-preview-close-btn{position:fixed;z-index:var(--devui-z-index-modal, 1050);cursor:pointer;width:36px;height:36px;border-radius:50%;background:var(--devui-highlight-overlay, rgba(255, 255, 255, .8));box-shadow:var(--devui-shadow-length-base, 0 1px 4px 0) var(--devui-light-shadow, rgba(0, 0, 0, .1));display:inline-flex;align-items:center;justify-content:center;top:15px;right:20px}.devui-image-preview-close-btn:hover{background:var(--devui-area, #f8f8f8)}.devui-image-preview-close-btn svg{width:38px;height:18px}.devui-image-preview-arrow-left{position:fixed;z-index:var(--devui-z-index-modal, 1050);cursor:pointer;width:36px;height:36px;border-radius:50%;background:var(--devui-highlight-overlay, rgba(255, 255, 255, .8));box-shadow:var(--devui-shadow-length-base, 0 1px 4px 0) var(--devui-light-shadow, rgba(0, 0, 0, .1));display:inline-flex;align-items:center;justify-content:center;top:50%;left:20px;transform:translateY(-50%)}.devui-image-preview-arrow-left:hover{background:var(--devui-area, #f8f8f8)}.devui-image-preview-arrow-left svg{width:38px;height:18px}.devui-image-preview-arrow-right{position:fixed;z-index:var(--devui-z-index-modal, 1050);cursor:pointer;width:36px;height:36px;border-radius:50%;background:var(--devui-highlight-overlay, rgba(255, 255, 255, .8));box-shadow:var(--devui-shadow-length-base, 0 1px 4px 0) var(--devui-light-shadow, rgba(0, 0, 0, .1));display:inline-flex;align-items:center;justify-content:center;top:50%;right:20px;transform:translateY(-50%)}.devui-image-preview-arrow-right:hover{background:var(--devui-area, #f8f8f8)}.devui-image-preview-arrow-right svg{width:38px;height:18px}.devui-image-preview-toolbar{position:fixed;bottom:0;left:0;width:100%;height:50px;display:flex;align-items:center;justify-content:center;background:var(--devui-highlight-overlay, rgba(255, 255, 255, .8));box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-light-shadow, rgba(0, 0, 0, .1))}.devui-image-preview-toolbar button{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;color:var(--devui-text, #252b3a)}.devui-image-preview-toolbar .devui-image-preview-index{display:inline-flex;width:100px;justify-content:center;align-items:center;cursor:pointer}.devui-image-preview-toolbar>:not(:first-child){margin-left:20px}
1
+ .devui-image-preview{position:fixed;left:0;top:0;right:0;bottom:0;z-index:calc(var(--devui-z-index-modal, 1050));display:flex;align-items:center;justify-content:center;overflow:hidden}.devui-image-preview svg,.devui-image-preview polygon,.devui-image-preview g,.devui-image-preview path{fill:var(--devui-icon-text, #252b3a)}.devui-image-preview-main-image{width:auto;height:auto;max-width:90%;max-height:90%;margin-top:-20px;cursor:grab}.devui-image-preview-close-btn{position:fixed;z-index:var(--devui-z-index-modal, 1050);cursor:pointer;width:36px;height:36px;border-radius:50%;background:var(--devui-highlight-overlay, rgba(255, 255, 255, .8));box-shadow:var(--devui-shadow-length-base, 0 1px 4px 0) var(--devui-light-shadow, rgba(0, 0, 0, .1));display:inline-flex;align-items:center;justify-content:center;top:15px;right:20px}.devui-image-preview-close-btn:hover{background:var(--devui-area, #f8f8f8)}.devui-image-preview-close-btn svg{width:38px;height:18px}.devui-image-preview-arrow-left{position:fixed;z-index:var(--devui-z-index-modal, 1050);cursor:pointer;width:36px;height:36px;border-radius:50%;background:var(--devui-highlight-overlay, rgba(255, 255, 255, .8));box-shadow:var(--devui-shadow-length-base, 0 1px 4px 0) var(--devui-light-shadow, rgba(0, 0, 0, .1));display:inline-flex;align-items:center;justify-content:center;top:50%;left:20px;transform:translateY(-50%)}.devui-image-preview-arrow-left:hover{background:var(--devui-area, #f8f8f8)}.devui-image-preview-arrow-left svg{width:38px;height:18px}.devui-image-preview-arrow-right{position:fixed;z-index:var(--devui-z-index-modal, 1050);cursor:pointer;width:36px;height:36px;border-radius:50%;background:var(--devui-highlight-overlay, rgba(255, 255, 255, .8));box-shadow:var(--devui-shadow-length-base, 0 1px 4px 0) var(--devui-light-shadow, rgba(0, 0, 0, .1));display:inline-flex;align-items:center;justify-content:center;top:50%;right:20px;transform:translateY(-50%)}.devui-image-preview-arrow-right:hover{background:var(--devui-area, #f8f8f8)}.devui-image-preview-arrow-right svg{width:38px;height:18px}.devui-image-preview-toolbar{position:fixed;bottom:0;left:0;width:100%;height:50px;display:flex;align-items:center;justify-content:center;background:var(--devui-highlight-overlay, rgba(255, 255, 255, .8));box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-light-shadow, rgba(0, 0, 0, .1))}.devui-image-preview-toolbar button{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;color:var(--devui-text, #252b3a)}.devui-image-preview-toolbar .devui-image-preview-index{display:inline-flex;width:100px;justify-content:center;align-items:center;cursor:pointer}.devui-image-preview-toolbar>:not(:first-child){margin-left:20px}.devui-image-preview-bg{position:fixed;left:0;top:0;right:0;bottom:0;z-index:calc(var(--devui-z-index-modal, 1050) - 1);background:var(--devui-shadow, rgba(0, 0, 0, .2));border-radius:var(--devui-border-radius, 2px);box-shadow:var(--devui-shadow-fullscreen-overlay, 0 8px 40px 0) var(--devui-shadow, rgba(0, 0, 0, .2))}
package/index.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import { App } from 'vue';
2
+ declare function install(app: App): void
3
+ declare const _default: {
4
+ install: typeof install;
5
+ version: string;
6
+ };
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { App } from 'vue';
2
+ declare function install(app: App): void
3
+ declare const _default: {
4
+ install: typeof install;
5
+ version: string;
6
+ };
7
+ export default _default;