{"version":3,"file":"index.cjs","sources":["../../src/vue/hooks/use-loader.ts","../../src/vue/components/file-picker.vue","../../src/vue/index.ts"],"sourcesContent":["import { useCapability, usePlugin } from '@embedpdf/core/vue';\nimport { LoaderPlugin } from '@embedpdf/plugin-loader';\n\nexport const useLoaderPlugin = () => usePlugin<LoaderPlugin>(LoaderPlugin.id);\nexport const useLoaderCapability = () => useCapability<LoaderPlugin>(LoaderPlugin.id);\n","<script setup lang=\"ts\">\nimport { ref, onMounted, onUnmounted } from 'vue';\nimport { useLoaderCapability } from '../hooks';\n\nconst { provides: loaderProvides } = useLoaderCapability();\nconst inputRef = ref<HTMLInputElement | null>(null);\n\nlet unsubscribe: (() => void) | null = null;\n\nonMounted(() => {\n  const cap = loaderProvides.value;\n  if (!cap) return;\n\n  // Listen for \"open file\" requests\n  unsubscribe = cap.onOpenFileRequest((req) => {\n    if (req === 'open' && inputRef.value) {\n      inputRef.value.click();\n    }\n  });\n});\n\nonUnmounted(() => {\n  if (unsubscribe) {\n    unsubscribe();\n  }\n});\n\n// Handle actual file selection\nconst onChange = async (event: Event) => {\n  const target = event.target as HTMLInputElement;\n  const file = target.files?.[0];\n  const cap = loaderProvides.value;\n\n  if (file && cap) {\n    const arrayBuffer = await file.arrayBuffer();\n    await cap.loadDocument({\n      type: 'buffer',\n      pdfFile: {\n        id: Math.random().toString(36).substring(2, 15),\n        name: file.name,\n        content: arrayBuffer,\n      },\n    });\n  }\n};\n</script>\n\n<template>\n  <!-- Hidden file picker -->\n  <input\n    ref=\"inputRef\"\n    type=\"file\"\n    accept=\"application/pdf\"\n    style=\"display: none\"\n    @change=\"onChange\"\n  />\n</template>\n","import { createPluginPackage } from '@embedpdf/core';\nimport { LoaderPluginPackage as BaseLoaderPackage } from '@embedpdf/plugin-loader';\n\nimport { FilePicker } from './components';\n\nexport * from './hooks';\nexport * from './components';\nexport * from '@embedpdf/plugin-loader';\n\nexport const LoaderPluginPackage = createPluginPackage(BaseLoaderPackage)\n  .addUtility(FilePicker)\n  .build();\n"],"names":["useLoaderCapability","useCapability","LoaderPlugin","id","provides","loaderProvides","inputRef","ref","unsubscribe","onMounted","cap","value","onOpenFileRequest","req","click","onUnmounted","onChange","async","event","file","_a","target","files","arrayBuffer","loadDocument","type","pdfFile","Math","random","toString","substring","name","content","_createElementBlock","createElementBlock","accept","style","display","LoaderPluginPackage","createPluginPackage","BaseLoaderPackage","addUtility","FilePicker","build","usePlugin"],"mappings":"wMAIaA,EAAsB,IAAMC,gBAA4BC,EAAAA,aAAaC,uDCAlF,MAAQC,SAAUC,GAAmBL,IAC/BM,EAAWC,MAA6B,MAE9C,IAAIC,EAAmC,KAEvCC,EAAAA,WAAU,KACR,MAAMC,EAAML,EAAeM,MACtBD,IAGSF,EAAAE,EAAIE,mBAAmBC,IACvB,SAARA,GAAkBP,EAASK,OAC7BL,EAASK,MAAMG,OAAM,IAExB,IAGHC,EAAAA,aAAY,KACNP,GACUA,GAAA,IAKV,MAAAQ,EAAWC,MAAOC,UACtB,MACMC,EAAO,OAAAC,EADEF,EAAMG,OACDC,YAAQ,EAAAF,EAAA,GACtBV,EAAML,EAAeM,MAE3B,GAAIQ,GAAQT,EAAK,CACT,MAAAa,QAAoBJ,EAAKI,oBACzBb,EAAIc,aAAa,CACrBC,KAAM,SACNC,QAAS,CACPvB,GAAIwB,KAAKC,SAASC,SAAS,IAAIC,UAAU,EAAG,IAC5CC,KAAMZ,EAAKY,KACXC,QAAST,IAEZ,+BAOHU,EAAAC,mBAME,QAAA,SALI,WAAJ3B,IAAID,EACJmB,KAAK,OACLU,OAAO,kBACPC,MAAA,CAAqBC,QAAA,QACpBrB,0BC7CQsB,EAAsBC,EAAoBA,oBAAAC,EAAiBF,qBACrEG,WAAWC,GACXC,iHFR4B,IAAMC,YAAwB1C,EAAAA,aAAaC"}