{"version":3,"file":"index.vue2.mjs","sources":["../../../../../../packages/preview/supports/pdf-preview/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { watch } from 'vue'\nimport type { PreviewProps } from '../../preview.interface'\nimport { getFileRenderByFile } from '../../utils/utils'\n\nconst props = withDefaults(defineProps<PreviewProps>(), {\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        emit('rendered')\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) {\n      fileRender.value = url\n      emit('rendered')\n    }\n  },\n  { immediate: true },\n)\n</script>\n\n<template>\n  <div class=\"pdf-preview\">\n    <iframe class=\"pdf-iframe\" :src=\"fileRender\" frameborder=\"0\" />\n  </div>\n</template>\n\n<style scoped lang=\"scss\">\n.pdf-iframe {\n  width: 100%;\n  height: 100vh;\n}\n</style>\n"],"names":["props","__props","emit","__emit","fileRender","ref","watch","file","getFileRenderByFile","render","e","url","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_unref"],"mappings":";;;;;;;;;;;AAKA,UAAMA,IAAQC,GAKRC,IAAOC,GAKPC,IAAaC,EAAI,IAAI;AAC3B,WAAAC;AAAA,MACE,MAAMN,EAAM;AAAA,MACZ,CAACO,MAAS;AACR,QAAIA,KACFC,EAAoBD,CAAI,EAAE,KAAK,CAACE,MAAW;AACzC,UAAAL,EAAW,QAAQK,GACnBP,EAAK,UAAU;AAAA,QACjB,CAAC,EAAE,MAAM,CAACQ,MAAa;AACrB,UAAAR,EAAK,SAASQ,CAAC;AAAA,QACjB,CAAC;AAAA,MAEL;AAAA,MACA,EAAE,WAAW,GAAA;AAAA,IAAK,GAGpBJ;AAAA,MACE,MAAMN,EAAM;AAAA,MACZ,CAACW,MAAQ;AACP,QAAIA,MACFP,EAAW,QAAQO,GACnBT,EAAK,UAAU;AAAA,MAEnB;AAAA,MACA,EAAE,WAAW,GAAA;AAAA,IAAK,cAKlBU,EAAA,GAAAC,EAEM,OAFNC,GAEM;AAAA,MADJC,EAA+D,UAAA;AAAA,QAAvD,OAAM;AAAA,QAAc,KAAKC,EAAAZ,CAAA;AAAA,QAAY,aAAY;AAAA,MAAA;;;;"}