svelte-pdf-view 0.3.0 → 0.3.1

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.
@@ -69,6 +69,17 @@
69
69
  viewerState.loading = true;
70
70
  viewerState.error = null;
71
71
 
72
+ // Cleanup previous viewer
73
+ if (viewer) {
74
+ viewer.destroy();
75
+ viewer = null;
76
+ }
77
+
78
+ // Clear any orphaned elements in scroll container
79
+ scrollContainerEl.innerHTML = '';
80
+
81
+ let newViewer: import('./pdf-viewer/PDFViewerCore.js').PDFViewerCore | null = null;
82
+
72
83
  try {
73
84
  const pdfjs = await getPdfJs();
74
85
  if (!pdfjs) return;
@@ -77,13 +88,9 @@
77
88
  const { FindController } = await import('./pdf-viewer/FindController.js');
78
89
  const { EventBus } = await import('./pdf-viewer/EventBus.js');
79
90
 
80
- if (viewer) {
81
- viewer.destroy();
82
- }
83
-
84
91
  const eventBus = new EventBus();
85
92
 
86
- const newViewer = new PDFViewerCore({
93
+ newViewer = new PDFViewerCore({
87
94
  container: scrollContainerEl,
88
95
  eventBus,
89
96
  initialScale: viewerState.scale,
@@ -150,6 +157,13 @@
150
157
  viewer = newViewer;
151
158
  viewerState.loading = false;
152
159
  } catch (e) {
160
+ // Clean up the viewer that was created before the error
161
+ if (newViewer) {
162
+ newViewer.destroy();
163
+ newViewer = null;
164
+ }
165
+ findController = null;
166
+
153
167
  const errorMessage = e instanceof Error ? e.message : 'Failed to load PDF';
154
168
  viewerState.error = errorMessage;
155
169
  viewerState.loading = false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svelte-pdf-view",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
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",