flipbookengine 0.2.4 → 0.4.0
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.
- package/CHANGELOG.md +10 -0
- package/README.md +272 -187
- package/THIRD-PARTY-NOTICES.md +56 -0
- package/dist/adapters/PageFlipAdapter.d.ts +5 -1
- package/dist/components/App.d.ts +3 -0
- package/dist/components/NavigationArrows.d.ts +9 -0
- package/dist/components/Thumbnails.d.ts +3 -0
- package/dist/components/Toolbar.d.ts +3 -0
- package/dist/components/Viewer.d.ts +3 -0
- package/dist/core/InteractionManager.d.ts +4 -1
- package/dist/core/LayoutManager.d.ts +19 -1
- package/dist/core/PdfRenderer.d.ts +33 -0
- package/dist/engine-G9HiVpA-.js +3253 -0
- package/dist/engine-G9HiVpA-.js.map +1 -0
- package/dist/engine.d.ts +37 -3
- package/dist/flipbook-engine.css +1 -1
- package/dist/flipbook-engine.iife.js +94 -48
- package/dist/flipbook-engine.iife.js.map +1 -1
- package/dist/flipbook-engine.js +4 -20635
- package/dist/flipbook-engine.js.map +1 -1
- package/dist/flipbook-engine.react.js +44 -29
- package/dist/flipbook-engine.react.js.map +1 -1
- package/dist/flipbook-engine.vue.js +25 -22
- package/dist/flipbook-engine.vue.js.map +1 -1
- package/dist/react/index.d.ts +4 -1
- package/dist/state/store.d.ts +41 -21
- package/dist/theme/theme.d.ts +0 -1
- package/dist/vue/index.d.ts +5 -2
- package/package.json +113 -105
|
@@ -1,15 +1,33 @@
|
|
|
1
|
+
import { FlipbookStore } from '../state/store';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @license FlipbookEngine v0.2.4
|
|
5
|
+
* Copyright (c) 2026 Murat Dogan
|
|
6
|
+
*
|
|
7
|
+
* This source code is dual-licensed under the AGPLv3 and a Commercial License.
|
|
8
|
+
*
|
|
9
|
+
* 1. Open Source (AGPLv3): You may use, modify, and distribute this software
|
|
10
|
+
* under the terms of the GNU Affero General Public License v3.0.
|
|
11
|
+
*
|
|
12
|
+
* 2. Commercial License: If you wish to use this software in commercial,
|
|
13
|
+
* closed-source, or SaaS products without the AGPLv3 obligations,
|
|
14
|
+
* you must purchase a Commercial License from:
|
|
15
|
+
* https://flipbookengine.com/pricing
|
|
16
|
+
*/
|
|
1
17
|
export declare class LayoutManager {
|
|
2
18
|
private wrapperElement;
|
|
3
19
|
private sizerElement;
|
|
4
20
|
private pageViewport;
|
|
21
|
+
private store;
|
|
5
22
|
private resizeObserver;
|
|
6
23
|
private orientationMediaQuery;
|
|
24
|
+
private orientationChangeHandler;
|
|
7
25
|
private unsubs;
|
|
8
26
|
onResizeCallback?: () => void;
|
|
9
27
|
constructor(pageViewport: {
|
|
10
28
|
width: number;
|
|
11
29
|
height: number;
|
|
12
|
-
});
|
|
30
|
+
}, store: FlipbookStore);
|
|
13
31
|
init(wrapperElement: HTMLElement, sizerElement: HTMLElement): void;
|
|
14
32
|
private setupStateSync;
|
|
15
33
|
private setupResizeObserver;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { NormalizedFlipbookPage } from '../model/pages';
|
|
2
|
+
|
|
3
|
+
export interface PdfRenderProgress {
|
|
4
|
+
completed: number;
|
|
5
|
+
total: number;
|
|
6
|
+
}
|
|
7
|
+
export interface PdfRenderOptions {
|
|
8
|
+
scale?: number;
|
|
9
|
+
quality?: number;
|
|
10
|
+
format?: string;
|
|
11
|
+
workerSrc?: string;
|
|
12
|
+
concurrency?: number;
|
|
13
|
+
}
|
|
14
|
+
export declare class PdfRenderer {
|
|
15
|
+
private pdfDoc;
|
|
16
|
+
private loadingTask;
|
|
17
|
+
private options;
|
|
18
|
+
constructor(options?: PdfRenderOptions);
|
|
19
|
+
/** Loads a PDF document and cancels PDF.js loading when the signal aborts. */
|
|
20
|
+
loadDocument(pdfUrl: string, signal?: AbortSignal): Promise<number>;
|
|
21
|
+
/** Renders a specific page to a Data URL. The page index is 1-based. */
|
|
22
|
+
renderPageToDataUrl(pageIndex: number, signal?: AbortSignal): Promise<string>;
|
|
23
|
+
/** Calculates the best viewport dimensions based on the first page. */
|
|
24
|
+
calculateViewportDimensions(baseShortSide?: number): Promise<{
|
|
25
|
+
width: number;
|
|
26
|
+
height: number;
|
|
27
|
+
}>;
|
|
28
|
+
/** Renders pages concurrently with a bounded worker pool and preserves page order. */
|
|
29
|
+
renderAllPages(signal?: AbortSignal, onProgress?: (progress: PdfRenderProgress) => void): Promise<NormalizedFlipbookPage[]>;
|
|
30
|
+
private throwIfAborted;
|
|
31
|
+
private createAbortError;
|
|
32
|
+
destroy(): void;
|
|
33
|
+
}
|