svelte-pdf-view 0.1.2 → 0.1.3

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.
@@ -1,11 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { BROWSER } from 'esm-env';
3
3
  import { onDestroy, onMount } from 'svelte';
4
- import {
5
- getPdfViewerContext,
6
- getPdfWorkerContext,
7
- type PdfViewerActions
8
- } from './pdf-viewer/context.js';
4
+ import { getPdfViewerContext, type PdfViewerActions } from './pdf-viewer/context.js';
9
5
  import { rendererStyles } from './pdf-viewer/renderer-styles.js';
10
6
 
11
7
  /** PDF source - can be a URL string, ArrayBuffer, Uint8Array, or Blob */
@@ -45,9 +41,6 @@
45
41
  let scrollContainerEl: HTMLDivElement | null = null;
46
42
  let mounted = $state(false);
47
43
 
48
- // Get worker from context (if set via initPdfWorker)
49
- const workerContext = getPdfWorkerContext();
50
-
51
44
  // Core instances
52
45
  let viewer: import('./pdf-viewer/PDFViewerCore.js').PDFViewerCore | null = null;
53
46
  let findController: import('./pdf-viewer/FindController.js').FindController | null = null;
@@ -58,18 +51,13 @@
58
51
 
59
52
  pdfjsLib = await import('pdfjs-dist/legacy/build/pdf.mjs');
60
53
 
61
- // Use worker from context if available, otherwise create inline worker
62
- if (workerContext?.worker) {
63
- // Worker was set up via initPdfWorker()
64
- } else {
65
- // Fallback: create worker using import.meta.url
66
- const worker = new pdfjsLib.PDFWorker({
67
- port: new Worker(new URL('pdfjs-dist/legacy/build/pdf.worker.mjs', import.meta.url), {
68
- type: 'module'
69
- }) as unknown as null
70
- });
71
- pdfjsLib.GlobalWorkerOptions.workerPort = worker.port;
72
- }
54
+ // Create worker using import.meta.url for proper bundler resolution
55
+ const worker = new pdfjsLib.PDFWorker({
56
+ port: new Worker(new URL('pdfjs-dist/legacy/build/pdf.worker.mjs', import.meta.url), {
57
+ type: 'module'
58
+ }) as unknown as null
59
+ });
60
+ pdfjsLib.GlobalWorkerOptions.workerPort = worker.port;
73
61
 
74
62
  return pdfjsLib;
75
63
  }
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { default as PdfViewer, Toolbar as PdfToolbar, Renderer as PdfRenderer } from './PdfViewer.svelte';
2
2
  export type { PdfSource } from './PdfRenderer.svelte';
3
- export { getPdfViewerContext, initPdfWorker, type PdfViewerState, type PdfViewerActions, type PdfViewerContext } from './pdf-viewer/context.js';
3
+ export { getPdfViewerContext, type PdfViewerState, type PdfViewerActions, type PdfViewerContext } from './pdf-viewer/context.js';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // Reexport your entry components here
2
2
  export { default as PdfViewer, Toolbar as PdfToolbar, Renderer as PdfRenderer } from './PdfViewer.svelte';
3
3
  // Export context for custom toolbars
4
- export { getPdfViewerContext, initPdfWorker } from './pdf-viewer/context.js';
4
+ export { getPdfViewerContext } from './pdf-viewer/context.js';
@@ -29,21 +29,3 @@ export interface PdfViewerContext {
29
29
  }
30
30
  export declare function setPdfViewerContext(ctx: PdfViewerContext): void;
31
31
  export declare function getPdfViewerContext(): PdfViewerContext;
32
- export interface PdfWorkerContext {
33
- worker: import('pdfjs-dist/legacy/build/pdf.mjs').PDFWorker;
34
- }
35
- export declare function setPdfWorkerContext(worker: PdfWorkerContext['worker']): void;
36
- export declare function getPdfWorkerContext(): PdfWorkerContext | undefined;
37
- /**
38
- * Initialize PDF.js worker and set it in context.
39
- * Call this in your root layout or page component.
40
- *
41
- * @example
42
- * ```svelte
43
- * <script>
44
- * import { initPdfWorker } from 'svelte-pdf-view';
45
- * initPdfWorker();
46
- * </script>
47
- * ```
48
- */
49
- export declare function initPdfWorker(): void;
@@ -1,10 +1,8 @@
1
1
  /**
2
2
  * PDF Viewer Context - Shared state between toolbar and renderer
3
3
  */
4
- import { BROWSER } from 'esm-env';
5
- import { getContext, setContext, onDestroy } from 'svelte';
4
+ import { getContext, setContext } from 'svelte';
6
5
  const PDF_VIEWER_CONTEXT_KEY = Symbol('pdf-viewer');
7
- const PDF_WORKER_CONTEXT_KEY = Symbol('pdf-worker');
8
6
  export function setPdfViewerContext(ctx) {
9
7
  setContext(PDF_VIEWER_CONTEXT_KEY, ctx);
10
8
  }
@@ -15,34 +13,3 @@ export function getPdfViewerContext() {
15
13
  }
16
14
  return ctx;
17
15
  }
18
- export function setPdfWorkerContext(worker) {
19
- setContext(PDF_WORKER_CONTEXT_KEY, { worker });
20
- }
21
- export function getPdfWorkerContext() {
22
- return getContext(PDF_WORKER_CONTEXT_KEY);
23
- }
24
- /**
25
- * Initialize PDF.js worker and set it in context.
26
- * Call this in your root layout or page component.
27
- *
28
- * @example
29
- * ```svelte
30
- * <script>
31
- * import { initPdfWorker } from 'svelte-pdf-view';
32
- * initPdfWorker();
33
- * </script>
34
- * ```
35
- */
36
- export function initPdfWorker() {
37
- if (!BROWSER)
38
- return;
39
- import('pdfjs-dist/legacy/build/pdf.mjs').then((pdfjs) => {
40
- const worker = new pdfjs.PDFWorker({
41
- port: new Worker(new URL('pdfjs-dist/legacy/build/pdf.worker.mjs', import.meta.url), {
42
- type: 'module'
43
- })
44
- });
45
- setPdfWorkerContext(worker);
46
- onDestroy(() => worker.destroy());
47
- });
48
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svelte-pdf-view",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "A modern, modular PDF viewer component for Svelte 5. Built on PDF.js with TypeScript support",
5
5
  "author": "Louis Li",
6
6
  "license": "Apache-2.0",