flipbookengine 0.6.5 → 1.0.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.
Files changed (89) hide show
  1. package/CHANGELOG.md +24 -3
  2. package/README.md +136 -8
  3. package/dist/components/App.d.ts +19 -0
  4. package/dist/components/HotspotLayer.d.ts +14 -0
  5. package/dist/components/NotesPanel.d.ts +14 -0
  6. package/dist/components/PluginPanels.d.ts +5 -0
  7. package/dist/components/SearchPanel.d.ts +11 -0
  8. package/dist/components/Toolbar.d.ts +6 -0
  9. package/dist/components/Viewer.d.ts +6 -0
  10. package/dist/core/LayoutManager.d.ts +1 -1
  11. package/dist/core/PdfRenderer.d.ts +11 -0
  12. package/dist/core-entry.d.ts +13 -0
  13. package/dist/core.d.ts +1 -0
  14. package/dist/embed.d.ts +80 -0
  15. package/dist/engine-Dt2Fn6O-.js +4060 -0
  16. package/dist/engine-Dt2Fn6O-.js.map +1 -0
  17. package/dist/engine.d.ts +101 -0
  18. package/dist/feature-Cicli9ie.js +17 -0
  19. package/dist/feature-Cicli9ie.js.map +1 -0
  20. package/dist/flipbook-engine.core.js +8 -0
  21. package/dist/flipbook-engine.core.js.map +1 -0
  22. package/dist/flipbook-engine.css +1 -1
  23. package/dist/flipbook-engine.iife.js +56 -47
  24. package/dist/flipbook-engine.iife.js.map +1 -1
  25. package/dist/flipbook-engine.js +10 -6
  26. package/dist/flipbook-engine.js.map +1 -1
  27. package/dist/flipbook-engine.plugins-annotations.js +14 -0
  28. package/dist/flipbook-engine.plugins-annotations.js.map +1 -0
  29. package/dist/flipbook-engine.plugins-bookmarks.js +16 -0
  30. package/dist/flipbook-engine.plugins-bookmarks.js.map +1 -0
  31. package/dist/flipbook-engine.plugins-deep-link.js +14 -0
  32. package/dist/flipbook-engine.plugins-deep-link.js.map +1 -0
  33. package/dist/flipbook-engine.plugins-hotspots.js +15 -0
  34. package/dist/flipbook-engine.plugins-hotspots.js.map +1 -0
  35. package/dist/flipbook-engine.plugins-notes.js +16 -0
  36. package/dist/flipbook-engine.plugins-notes.js.map +1 -0
  37. package/dist/flipbook-engine.plugins-search.js +15 -0
  38. package/dist/flipbook-engine.plugins-search.js.map +1 -0
  39. package/dist/flipbook-engine.plugins-share.js +13 -0
  40. package/dist/flipbook-engine.plugins-share.js.map +1 -0
  41. package/dist/flipbook-engine.plugins-toc.js +14 -0
  42. package/dist/flipbook-engine.plugins-toc.js.map +1 -0
  43. package/dist/flipbook-engine.plugins.js +5 -0
  44. package/dist/flipbook-engine.plugins.js.map +1 -0
  45. package/dist/flipbook-engine.react.js +1 -1
  46. package/dist/flipbook-engine.vue.js +1 -1
  47. package/dist/i18n/locales/en.d.ts +17 -0
  48. package/dist/i18n/locales/tr.d.ts +17 -0
  49. package/dist/i18n/service.d.ts +51 -0
  50. package/dist/index-BhTR2SK6.js +366 -0
  51. package/dist/index-BhTR2SK6.js.map +1 -0
  52. package/dist/index.d.ts +7 -0
  53. package/dist/model/annotations.d.ts +14 -0
  54. package/dist/model/hotspots.d.ts +40 -0
  55. package/dist/model/search.d.ts +25 -0
  56. package/dist/plugins/annotations.d.ts +4 -0
  57. package/dist/plugins/bookmarks.d.ts +4 -0
  58. package/dist/plugins/deep-link.d.ts +4 -0
  59. package/dist/plugins/feature.d.ts +5 -0
  60. package/dist/plugins/hotspots.d.ts +4 -0
  61. package/dist/plugins/index.d.ts +65 -0
  62. package/dist/plugins/notes.d.ts +4 -0
  63. package/dist/plugins/search.d.ts +4 -0
  64. package/dist/plugins/share.d.ts +4 -0
  65. package/dist/plugins/toc.d.ts +4 -0
  66. package/dist/plugins-annotations.d.ts +1 -0
  67. package/dist/plugins-bookmarks.d.ts +1 -0
  68. package/dist/plugins-deep-link.d.ts +1 -0
  69. package/dist/plugins-hotspots.d.ts +1 -0
  70. package/dist/plugins-notes.d.ts +1 -0
  71. package/dist/plugins-search.d.ts +1 -0
  72. package/dist/plugins-share.d.ts +1 -0
  73. package/dist/plugins-toc.d.ts +1 -0
  74. package/dist/plugins.d.ts +1 -0
  75. package/dist/state/store.d.ts +19 -5
  76. package/dist/vue/index.d.ts +1 -1
  77. package/docs/api-reference.md +206 -0
  78. package/docs/frameworks.md +73 -0
  79. package/docs/getting-started.md +128 -0
  80. package/docs/i18n.md +47 -0
  81. package/docs/migration-0.4.0.md +24 -0
  82. package/docs/migration-0.5.0.md +25 -0
  83. package/docs/migration-1.0.0.md +59 -0
  84. package/docs/plugin-architecture.md +103 -0
  85. package/docs/release-checklist.md +37 -0
  86. package/docs/theming.md +61 -0
  87. package/package.json +165 -114
  88. package/dist/engine-DhQ2zxpm.js +0 -3535
  89. package/dist/engine-DhQ2zxpm.js.map +0 -1
@@ -0,0 +1,103 @@
1
+ # Plugin architecture
2
+
3
+ FlipbookEngine v1 exposes a small plugin contract so optional reader features can
4
+ be distributed independently from the rendering core. Plugins are installed
5
+ before the first render through `plugins` or `engine.installPlugin(plugin)`.
6
+
7
+ ```ts
8
+ import { FlipbookEngine } from 'flipbookengine/core';
9
+ import type { FlipbookPlugin } from 'flipbookengine/plugins';
10
+
11
+ const tocPlugin: FlipbookPlugin = {
12
+ name: 'toc',
13
+ install(engine, context) {
14
+ context.registerToolbarButton({
15
+ id: 'toc',
16
+ label: 'Contents',
17
+ icon: '☰',
18
+ onClick: () => context.openPanel('contents')
19
+ });
20
+
21
+ context.registerPanel({
22
+ id: 'contents',
23
+ title: 'Table of contents',
24
+ render: (container) => {
25
+ container.textContent = `Page ${engine.getCurrentPage() + 1}`;
26
+ }
27
+ });
28
+
29
+ context.registerApi('getCurrentSection', () => engine.getCurrentPage());
30
+ return () => context.closePanel('contents');
31
+ }
32
+ };
33
+
34
+ const engine = new FlipbookEngine('#viewer', { plugins: [tocPlugin] });
35
+ ```
36
+
37
+ The context provides:
38
+
39
+ - `registerToolbarButton()` for a framework-agnostic toolbar action.
40
+ - `registerPanel()` for a panel mounted inside the viewer shell.
41
+ - `registerApi()` and `engine.callPluginApi()` for namespaced plugin methods.
42
+ - `on()` for typed engine event subscriptions with automatic cleanup.
43
+ - `openPanel()` / `closePanel()` for panel state.
44
+
45
+ Plugin names and contribution identifiers must be unique within an engine.
46
+ Calling `engine.destroy()` removes all plugin registrations and runs cleanup
47
+ callbacks. A plugin installed after initialization is available on the next
48
+ viewer render; install initial plugins in the constructor options when their UI
49
+ must be present on the first render.
50
+
51
+ For example, a host that only needs note persistence can load the notes adapter
52
+ without importing the other feature adapters:
53
+
54
+ ```ts
55
+ import { FlipbookEngine } from 'flipbookengine/core';
56
+ import { notesPlugin } from 'flipbookengine/plugins/notes';
57
+
58
+ const engine = new FlipbookEngine('#viewer', { plugins: [notesPlugin] });
59
+ await engine.callPluginApi('notes', 'set', 0, 'Review this page');
60
+ ```
61
+
62
+ Official lightweight adapters are available as independent entry points:
63
+
64
+ - `flipbookengine/plugins/notes`
65
+ - `flipbookengine/plugins/bookmarks`
66
+ - `flipbookengine/plugins/toc`
67
+ - `flipbookengine/plugins/search`
68
+ - `flipbookengine/plugins/annotations`
69
+ - `flipbookengine/plugins/hotspots`
70
+ - `flipbookengine/plugins/share`
71
+ - `flipbookengine/plugins/deep-link`
72
+
73
+ Each adapter registers namespaced APIs over the existing host-managed engine
74
+ methods. The all-in-one entry remains unchanged, so applications can migrate
75
+ incrementally without loading an adapter they do not use.
76
+
77
+ The public `flipbookengine` entry remains the all-in-one build. `flipbookengine/core`
78
+ contains the core engine exports, `flipbookengine/plugins` contains the plugin
79
+ contract, and the feature subpaths above contain the optional adapters. Analytics is intentionally not an official
80
+ open-source plugin; applications may consume events directly or use a private
81
+ commercial adapter.
82
+
83
+
84
+ ## Activating and deactivating plugins
85
+
86
+ Pass adapters in the constructor to activate them before the first render:
87
+
88
+ ```ts
89
+ import { FlipbookEngine } from 'flipbookengine/core';
90
+ import { hotspotsPlugin } from 'flipbookengine/plugins/hotspots';
91
+
92
+ const engine = new FlipbookEngine('#viewer', { plugins: [hotspotsPlugin] });
93
+ ```
94
+
95
+ A plugin can also be enabled or disabled after initialization. installPlugin returns the engine instance; uninstallPlugin returns true when a plugin was removed and clears all registered contributions.
96
+
97
+ ```ts
98
+ engine.uninstallPlugin('hotspots');
99
+ engine.installPlugin(hotspotsPlugin);
100
+ await engine.callPluginApi('hotspots', 'activate', 'product-42');
101
+ ```
102
+
103
+ Feature adapters are API-only contributions. The built-in all-in-one viewer continues to render its existing toolbar and panels from the corresponding options; custom plugins can add their own UI contributions with registerToolbarButton and registerPanel.
@@ -0,0 +1,37 @@
1
+ # Release Checklist
2
+
3
+ Use this checklist for every phase commit and every published release.
4
+
5
+ ## Before committing a phase
6
+
7
+ - [ ] Confirm the change scope and choose the correct SemVer impact (patch, minor, or major).
8
+ - [ ] Keep each coherent phase in a separate commit with an action-oriented message.
9
+ - [ ] Add or update tests for every new feature, API, bug fix, and changed behavior.
10
+ - [ ] Run the relevant focused tests and record results in the local `development-notes/` report.
11
+ - [ ] Confirm no local audit reports, build output, credentials, or environment files are staged.
12
+ - [ ] Review `git diff --check` and the staged diff.
13
+
14
+ ## Before a release
15
+
16
+ - [ ] Update the version in `package.json` and `package-lock.json`.
17
+ - [ ] Update every published version reference in README files, CHANGELOG, API documentation, migration guides, examples, and license/source headers.
18
+ - [ ] Add a CHANGELOG entry describing features, fixes, API changes, and test coverage.
19
+ - [ ] Document every new or changed API in the API reference and README examples.
20
+ - [ ] Mark all breaking changes explicitly, explain the impact, and provide migration guidance.
21
+ - [ ] Verify wrapper exports, generated declarations, package entry points, and framework integrations.
22
+ - [ ] Run `npm run typecheck`, `npm test`, `npm run build`, and `npm run pack:check`.
23
+ - [ ] Confirm `npm pkg get version` matches the intended release.
24
+ - [ ] Inspect the `npm pack --dry-run` file list and package size.
25
+ - [ ] Confirm both local repositories have clean working trees and the intended commits are on the correct branches.
26
+ - [ ] Create and push the matching Git tag (for example, `v1.0.0`).
27
+ - [ ] Create or update the GitHub Release from that tag and verify the Latest designation.
28
+ - [ ] Push commits and tags before handing off the manual npm publish step.
29
+ - [ ] Publish to npm manually with maintainer credentials; verify the registry version afterward.
30
+ - [ ] Record all commands, results, release URLs, and follow-up items in local `development-notes/`.
31
+
32
+ ## After publishing
33
+
34
+ - [ ] Verify the npm package page, tarball version, README, and package contents.
35
+ - [ ] Verify GitHub tag/release and the default branch point to the same release commit.
36
+ - [ ] Check that no deprecated or unreleased version is shown as Latest.
37
+ - [ ] Note any known warnings (for example, network/DNS or jsdom media warnings) separately from failures.
@@ -0,0 +1,61 @@
1
+ # Theming & Customization
2
+
3
+ FlipbookEngine provides deep customization support through compiled CSS custom properties (variables) and dark-mode compatibility.
4
+
5
+ ## CSS Custom Properties
6
+
7
+ The styling system is driven by standard CSS variables. You can override these variables globally in your stylesheet or per-instance:
8
+
9
+ ```css
10
+ :root {
11
+ --mainbgcolor: #f3f6fb; /* Main canvas background */
12
+ --surfacebgcolor: #ffffff; /* Overlay elements background */
13
+ --panelbgcolor: #172033; /* Settings panel background */
14
+ --flipbook-accent: #7367f0; /* Buttons and accent color */
15
+ --thumbrailbgcolor: #0f172a; /* Thumbnails container background */
16
+ --bordercolor: #e2e8f0; /* Border and separations color */
17
+ --textcolor: #1e293b; /* General text color */
18
+ }
19
+ ```
20
+
21
+ ## Dark Mode
22
+
23
+ FlipbookEngine is compatible with Bootstrap 5 setups and automatically responds to light/dark themes in the hosting environment.
24
+
25
+ - It queries `data-bs-theme="dark"` on the body/parent element to toggle styling.
26
+ - You can force dark theme on initialization:
27
+ ```javascript
28
+ const engine = new FlipbookEngine('#viewer', {
29
+ theme: 'dark'
30
+ });
31
+ ```
32
+
33
+ ## Instance Overrides
34
+
35
+ To style a single instance differently from the rest of your app, pass the `cssVariables` object to options:
36
+
37
+ ```javascript
38
+ const engine = new FlipbookEngine('#viewer', {
39
+ cssVariables: {
40
+ mainbgcolor: '#0f172a',
41
+ flipbook-accent: '#10b981'
42
+ }
43
+ });
44
+ ```
45
+
46
+
47
+ ## Optional Light/Dark Viewer Backgrounds
48
+
49
+ A host can provide separate, optional backgrounds for the viewer surface. The default is null, so the built-in theme surfaces remain unchanged. Backgrounds are applied outside the PDF pages and automatically follow the selected light, dark, or auto theme.
50
+
51
+ ```ts
52
+ const engine = new FlipbookEngine('#viewer', {
53
+ theme: 'auto',
54
+ background: {
55
+ light: { color: '#f8fafc', image: '/branding/catalog-light.webp', size: 'cover', position: 'center', repeat: 'no-repeat' },
56
+ dark: { color: '#0f172a', image: '/branding/catalog-dark.webp', size: 'cover' }
57
+ }
58
+ });
59
+ ```
60
+
61
+ The viewer reserves a bottom attribution area and uses equal responsive page gutters so the watermark does not overlap PDF content. Thumbnail rail scrolling is horizontal-only; thumbnail dimensions are reduced responsively to avoid vertical overflow.
package/package.json CHANGED
@@ -1,114 +1,165 @@
1
- {
2
- "name": "flipbookengine",
3
- "version": "0.6.5",
4
- "description": "A modern, embeddable HTML flipbook engine for PDF-backed catalogs and digital publications.",
5
- "private": false,
6
- "scripts": {
7
- "dev": "vite",
8
- "build": "vite build && vite build --config vite.config.iife.js",
9
- "test": "tsx --loader ./tests/css-loader.js --test tests/*.test.ts",
10
- "test:e2e": "playwright test",
11
- "typecheck": "tsc --noEmit",
12
- "clean": "rimraf dist",
13
- "pack:check": "npm pack --dry-run",
14
- "audit:deps": "npm audit --omit=dev --audit-level=high",
15
- "release:verify": "npm run typecheck && npm test && npm run build && npm run audit:deps && npm run pack:check"
16
- },
17
- "keywords": [
18
- "flipbook",
19
- "catalog",
20
- "pdf",
21
- "viewer",
22
- "publication",
23
- "pageflip",
24
- "digital-catalog",
25
- "page-flip",
26
- "typescript"
27
- ],
28
- "author": "Murat Dogan",
29
- "license": "AGPL-3.0-or-later",
30
- "homepage": "https://flipbookengine.com",
31
- "repository": {
32
- "type": "git",
33
- "url": "git+https://github.com/Bizeka/flipbook-engine.git"
34
- },
35
- "bugs": {
36
- "url": "https://github.com/Bizeka/flipbook-engine/issues"
37
- },
38
- "engines": {
39
- "node": ">=18"
40
- },
41
- "sideEffects": [
42
- "**/*.css"
43
- ],
44
- "files": [
45
- "dist",
46
- "react",
47
- "vue",
48
- "README.md",
49
- "LICENSE",
50
- "CHANGELOG.md",
51
- "COMMERCIAL_LICENSE.md",
52
- "TRADEMARK_POLICY.md",
53
- "THIRD-PARTY-NOTICES.md"
54
- ],
55
- "main": "./dist/flipbook-engine.js",
56
- "module": "./dist/flipbook-engine.js",
57
- "types": "./dist/index.d.ts",
58
- "exports": {
59
- ".": {
60
- "types": "./dist/index.d.ts",
61
- "import": "./dist/flipbook-engine.js",
62
- "default": "./dist/flipbook-engine.js"
63
- },
64
- "./styles.css": {
65
- "default": "./dist/flipbook-engine.css"
66
- },
67
- "./react": {
68
- "types": "./dist/react/index.d.ts",
69
- "import": "./dist/flipbook-engine.react.js",
70
- "default": "./dist/flipbook-engine.react.js"
71
- },
72
- "./vue": {
73
- "types": "./dist/vue/index.d.ts",
74
- "import": "./dist/flipbook-engine.vue.js",
75
- "default": "./dist/flipbook-engine.vue.js"
76
- }
77
- },
78
- "peerDependencies": {
79
- "react": ">=16.8.0",
80
- "vue": ">=3.0.0"
81
- },
82
- "peerDependenciesMeta": {
83
- "react": {
84
- "optional": true
85
- },
86
- "vue": {
87
- "optional": true
88
- }
89
- },
90
- "devDependencies": {
91
- "@playwright/test": "^1.63.0",
92
- "@types/jsdom": "^28.0.3",
93
- "@types/node": "^25.0.10",
94
- "@types/page-flip": "^2.0.4",
95
- "@types/react": "^19.2.14",
96
- "@types/react-dom": "^19.2.3",
97
- "jsdom": "^26.1.0",
98
- "react": "^19.2.6",
99
- "react-dom": "^19.2.6",
100
- "rimraf": "^6.0.0",
101
- "tsx": "^4.22.4",
102
- "typescript": "^5.0.0",
103
- "vite": "^5.0.0",
104
- "vite-plugin-dts": "^3.0.0",
105
- "vue": "^3.5.34"
106
- },
107
- "type": "module",
108
- "dependencies": {
109
- "@preact/signals-core": "^1.14.3",
110
- "@serenity-is/domwise": "^10.2.3",
111
- "page-flip": "^2.0.7",
112
- "pdfjs-dist": "^5.4.530"
113
- }
114
- }
1
+ {
2
+ "name": "flipbookengine",
3
+ "version": "1.0.0",
4
+ "description": "A modern, embeddable HTML flipbook engine for PDF-backed catalogs and digital publications.",
5
+ "private": false,
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "vite build && vite build --config vite.config.iife.js",
9
+ "test": "tsx --loader ./tests/css-loader.js --test tests/*.test.ts",
10
+ "test:e2e": "playwright test",
11
+ "typecheck": "tsc --noEmit",
12
+ "clean": "rimraf dist",
13
+ "pack:check": "npm pack --dry-run",
14
+ "audit:deps": "npm audit --omit=dev --audit-level=high",
15
+ "release:verify": "npm run typecheck && npm test && npm run build && npm run audit:deps && npm run pack:check"
16
+ },
17
+ "keywords": [
18
+ "flipbook",
19
+ "catalog",
20
+ "pdf",
21
+ "viewer",
22
+ "publication",
23
+ "pageflip",
24
+ "digital-catalog",
25
+ "page-flip",
26
+ "typescript"
27
+ ],
28
+ "author": "Murat Dogan",
29
+ "license": "AGPL-3.0-or-later",
30
+ "homepage": "https://flipbookengine.com",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "git+https://github.com/Bizeka/flipbook-engine.git"
34
+ },
35
+ "bugs": {
36
+ "url": "https://github.com/Bizeka/flipbook-engine/issues"
37
+ },
38
+ "engines": {
39
+ "node": ">=18"
40
+ },
41
+ "sideEffects": [
42
+ "**/*.css"
43
+ ],
44
+ "files": [
45
+ "dist",
46
+ "docs",
47
+ "react",
48
+ "vue",
49
+ "README.md",
50
+ "LICENSE",
51
+ "CHANGELOG.md",
52
+ "COMMERCIAL_LICENSE.md",
53
+ "TRADEMARK_POLICY.md",
54
+ "THIRD-PARTY-NOTICES.md"
55
+ ],
56
+ "main": "./dist/flipbook-engine.js",
57
+ "module": "./dist/flipbook-engine.js",
58
+ "types": "./dist/index.d.ts",
59
+ "exports": {
60
+ ".": {
61
+ "types": "./dist/index.d.ts",
62
+ "import": "./dist/flipbook-engine.js",
63
+ "default": "./dist/flipbook-engine.js"
64
+ },
65
+ "./styles.css": {
66
+ "default": "./dist/flipbook-engine.css"
67
+ },
68
+ "./react": {
69
+ "types": "./dist/react/index.d.ts",
70
+ "import": "./dist/flipbook-engine.react.js",
71
+ "default": "./dist/flipbook-engine.react.js"
72
+ },
73
+ "./vue": {
74
+ "types": "./dist/vue/index.d.ts",
75
+ "import": "./dist/flipbook-engine.vue.js",
76
+ "default": "./dist/flipbook-engine.vue.js"
77
+ },
78
+ "./core": {
79
+ "types": "./dist/core-entry.d.ts",
80
+ "import": "./dist/flipbook-engine.core.js",
81
+ "default": "./dist/flipbook-engine.core.js"
82
+ },
83
+ "./plugins": {
84
+ "types": "./dist/plugins/index.d.ts",
85
+ "import": "./dist/flipbook-engine.plugins.js",
86
+ "default": "./dist/flipbook-engine.plugins.js"
87
+ },
88
+ "./plugins/notes": {
89
+ "types": "./dist/plugins-notes.d.ts",
90
+ "import": "./dist/flipbook-engine.plugins-notes.js",
91
+ "default": "./dist/flipbook-engine.plugins-notes.js"
92
+ },
93
+ "./plugins/bookmarks": {
94
+ "types": "./dist/plugins-bookmarks.d.ts",
95
+ "import": "./dist/flipbook-engine.plugins-bookmarks.js",
96
+ "default": "./dist/flipbook-engine.plugins-bookmarks.js"
97
+ },
98
+ "./plugins/toc": {
99
+ "types": "./dist/plugins-toc.d.ts",
100
+ "import": "./dist/flipbook-engine.plugins-toc.js",
101
+ "default": "./dist/flipbook-engine.plugins-toc.js"
102
+ },
103
+ "./plugins/search": {
104
+ "types": "./dist/plugins-search.d.ts",
105
+ "import": "./dist/flipbook-engine.plugins-search.js",
106
+ "default": "./dist/flipbook-engine.plugins-search.js"
107
+ },
108
+ "./plugins/annotations": {
109
+ "types": "./dist/plugins-annotations.d.ts",
110
+ "import": "./dist/flipbook-engine.plugins-annotations.js",
111
+ "default": "./dist/flipbook-engine.plugins-annotations.js"
112
+ },
113
+ "./plugins/hotspots": {
114
+ "types": "./dist/plugins-hotspots.d.ts",
115
+ "import": "./dist/flipbook-engine.plugins-hotspots.js",
116
+ "default": "./dist/flipbook-engine.plugins-hotspots.js"
117
+ },
118
+ "./plugins/share": {
119
+ "types": "./dist/plugins-share.d.ts",
120
+ "import": "./dist/flipbook-engine.plugins-share.js",
121
+ "default": "./dist/flipbook-engine.plugins-share.js"
122
+ },
123
+ "./plugins/deep-link": {
124
+ "types": "./dist/plugins-deep-link.d.ts",
125
+ "import": "./dist/flipbook-engine.plugins-deep-link.js",
126
+ "default": "./dist/flipbook-engine.plugins-deep-link.js"
127
+ }
128
+ },
129
+ "peerDependencies": {
130
+ "react": ">=16.8.0",
131
+ "vue": ">=3.0.0"
132
+ },
133
+ "peerDependenciesMeta": {
134
+ "react": {
135
+ "optional": true
136
+ },
137
+ "vue": {
138
+ "optional": true
139
+ }
140
+ },
141
+ "devDependencies": {
142
+ "@playwright/test": "^1.63.0",
143
+ "@types/jsdom": "^28.0.3",
144
+ "@types/node": "^25.0.10",
145
+ "@types/page-flip": "^2.0.4",
146
+ "@types/react": "^19.2.14",
147
+ "@types/react-dom": "^19.2.3",
148
+ "jsdom": "^26.1.0",
149
+ "react": "^19.2.6",
150
+ "react-dom": "^19.2.6",
151
+ "rimraf": "^6.0.0",
152
+ "tsx": "^4.22.4",
153
+ "typescript": "^5.0.0",
154
+ "vite": "^5.0.0",
155
+ "vite-plugin-dts": "^3.0.0",
156
+ "vue": "^3.5.34"
157
+ },
158
+ "type": "module",
159
+ "dependencies": {
160
+ "@preact/signals-core": "^1.14.3",
161
+ "@serenity-is/domwise": "^10.2.3",
162
+ "page-flip": "^2.0.7",
163
+ "pdfjs-dist": "^5.4.530"
164
+ }
165
+ }