{"version":3,"file":"index.vue2.mjs","sources":["../../../../../../packages/preview/supports/pic-preview/index.vue"],"sourcesContent":["<script lang='ts' setup>\nimport {ref, watch} from 'vue'\nimport type {PreviewProps} from '../../preview.interface'\nimport {getFileRenderByFile, getFileRenderByUrl} from '../../utils/utils'\n\nconst props = withDefaults(\n  defineProps<PreviewProps>(),\n  {\n    url: () => null,\n    file: () => null,\n  },\n)\nconst emit = defineEmits<{\n  rendered: []\n  error: [error: Error]\n}>()\n\nconst fileRender = ref(null)\nwatch(\n  () => props.file,\n  (file) => {\n    if (file) {\n      getFileRenderByFile(file).then((render) => {\n        fileRender.value = render\n      }).catch((e: Error) => {\n        emit('error', e)\n      })\n    }\n  },\n  {immediate: true},\n)\n\nwatch(\n  () => props.url,\n  (url) => {\n    if (url && !props.file) {\n      getFileRenderByUrl(url).then((render) => {\n        fileRender.value = render\n      }).catch((e: Error) => {\n        emit('error', e)\n      })\n    }\n  },\n  {immediate: true},\n)\n\nfunction onImageLoad(): void {\n  emit('rendered')\n}\n\nfunction onImageError(): void {\n  emit('error', new Error('Image load failed'))\n}\n</script>\n\n<template>\n  <div class=\"pic-preview\">\n    <img :src=\"fileRender\" alt=\"\" crossorigin=\"anonymous\" @load=\"onImageLoad\" @error=\"onImageError\">\n  </div>\n</template>\n\n<style scoped lang='scss'>\n.pic-preview {\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  img {\n    max-width: 100%;\n    max-height: 100%;\n    object-fit: contain;\n  }\n}\n</style>\n"],"names":["props","__props","emit","__emit","fileRender","ref","watch","file","getFileRenderByFile","render","url","getFileRenderByUrl","onImageLoad","onImageError","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode"],"mappings":";;;;;;;;;;;AAKA,UAAMA,IAAQC,GAORC,IAAOC,GAKPC,IAAaC,EAAI,IAAI;AAC3B,IAAAC;AAAA,MACE,MAAMN,EAAM;AAAA,MACZ,CAACO,MAAS;AACR,QAAIA,KACFC,EAAoBD,CAAI,EAAE,KAAK,CAACE,MAAW;AACzC,UAAAL,EAAW,QAAQK;AAAA,QACrB,CAAC,EAAE,MAAM,CAAC,MAAa;AACrB,UAAAP,EAAK,SAAS,CAAC;AAAA,QACjB,CAAC;AAAA,MAEL;AAAA,MACA,EAAC,WAAW,GAAA;AAAA,IAAI,GAGlBI;AAAA,MACE,MAAMN,EAAM;AAAA,MACZ,CAACU,MAAQ;AACP,QAAIA,KAAO,CAACV,EAAM,QAChBW,EAAmBD,CAAG,EAAE,KAAK,CAACD,MAAW;AACvC,UAAAL,EAAW,QAAQK;AAAA,QACrB,CAAC,EAAE,MAAM,CAAC,MAAa;AACrB,UAAAP,EAAK,SAAS,CAAC;AAAA,QACjB,CAAC;AAAA,MAEL;AAAA,MACA,EAAC,WAAW,GAAA;AAAA,IAAI;AAGlB,aAASU,IAAoB;AAC3B,MAAAV,EAAK,UAAU;AAAA,IACjB;AAEA,aAASW,IAAqB;AAC5B,MAAAX,EAAK,SAAS,IAAI,MAAM,mBAAmB,CAAC;AAAA,IAC9C;sBAIEY,EAAA,GAAAC,EAEM,OAFNC,GAEM;AAAA,MADJC,EAAgG,OAAA;AAAA,QAA1F,KAAKb,EAAA;AAAA,QAAY,KAAI;AAAA,QAAG,aAAY;AAAA,QAAa,QAAMQ;AAAA,QAAc,SAAOC;AAAA,MAAA;;;;"}