@file-viewer/core 3.2.1 → 3.2.2

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/README.en.md CHANGED
@@ -1,7 +1,155 @@
1
1
  # @file-viewer/core
2
2
 
3
- Runtime package version 3.2.1.
3
+ <!-- FILE_VIEWER_PACKAGE_HEADER -->
4
+ <p>
5
+ <a href="https://www.npmjs.com/package/@file-viewer/core"><img src="https://img.shields.io/npm/v/@file-viewer%2Fcore?logo=npm" alt="npm version"></a>
6
+ <a href="https://www.npmjs.com/package/@file-viewer/core"><img src="https://img.shields.io/npm/dm/@file-viewer%2Fcore?logo=npm" alt="npm downloads"></a>
7
+ <a href="https://github.com/flyfish-dev/file-viewer/stargazers"><img src="https://img.shields.io/github/stars/flyfish-dev/file-viewer?style=flat&logo=github" alt="GitHub stars"></a>
8
+ <a href="https://github.com/flyfish-dev/file-viewer/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="License: Apache-2.0"></a>
9
+ </p>
4
10
 
5
- Usage and API documentation: https://doc.file-viewer.app/
11
+ <p>
12
+ <a href="https://github.com/flyfish-dev/file-viewer">GitHub</a> · <a href="https://doc.file-viewer.app/">Docs</a> · <a href="https://demo.file-viewer.app/">Live demo</a> · <a href="https://doc.file-viewer.app/guide/formats">Format matrix</a> · <a href="https://github.com/flyfish-dev/file-viewer/issues">Issues</a> · <a href="https://github.com/flyfish-dev/file-viewer/blob/main/packages/core/README.md">简体中文</a>
13
+ </p>
6
14
 
7
- The package's own license is Apache-2.0. Included third-party notices apply to their respective components.
15
+ <p>
16
+ <a href="https://demo.file-viewer.app/"><img src="https://raw.githubusercontent.com/flyfish-dev/file-viewer/main/docs/public/_media/file-viewer-demo-v3-en.webp" width="760" alt="File Viewer live demo: Word, Excel, PowerPoint, 3D model, CAD drawing and binary inspector"></a>
17
+ </p>
18
+
19
+ > ⭐ If File Viewer helps you, please [star the repo on GitHub](https://github.com/flyfish-dev/file-viewer).
20
+
21
+ Framework-neutral TypeScript foundation for Flyfish File Viewer.
22
+
23
+ This package is the migration base for the next architecture: one pure TypeScript core package with internal `headless`, `browser`, and `renderers` layers, plus multiple native standard component packages for Vue, React, pure JavaScript, jQuery, and Svelte. Core owns the shared format matrix, source detection, renderer protocol, capability calculation, lifecycle context, operation guards, operation/event/search/location/zoom/print/export contracts, heavy renderer asset manifests, option normalization, pure state models, and framework-neutral browser rendering engine.
24
+
25
+ Browser execution belongs inside core only when it remains framework-neutral TypeScript. DOM mounting, the standard browser shell and toolbar, `HTMLElement` traversal, search highlights, zoom provider discovery, print windows, download triggers, Canvas, Worker, and WASM renderers must not depend on Vue, React, Svelte, or any component package. Framework component packages keep their own component lifecycle, public type surface, compatibility defaults, and ecosystem interaction layer while depending on `@file-viewer/core` as the only shared base.
26
+
27
+ `@file-viewer/core` is the only shared foundation package. It owns the headless contracts plus browser/renderers layers for the direct `createViewer(container, options)` engine, renderer registry, DOM provider registry, print layout helpers, browser asset resolution, and framework-neutral DOM/Canvas/Worker/WASM rendering contracts. Core source is public; the private Gitea aggregate remains available for the complete workspace, unified release automation, sponsorship, and priority support.
28
+
29
+ Current framework-neutral browser renderers still inside core are limited to the low-cost image path. Spreadsheet rendering has moved to `@file-viewer/renderer-spreadsheet`; CAD rendering has moved to `@file-viewer/renderer-cad`; Typst rendering has moved to `@file-viewer/renderer-typst`; OFD rendering has moved to `@file-viewer/renderer-ofd`; PDF rendering has moved to `@file-viewer/renderer-pdf`; archive rendering has moved to `@file-viewer/renderer-archive`; email rendering has moved to `@file-viewer/renderer-email`; EPUB and UMD ebook rendering has moved to `@file-viewer/renderer-epub`; 3D model rendering has moved to `@file-viewer/renderer-3d`; Draw.io, Excalidraw, Mermaid, and PlantUML rendering has moved to `@file-viewer/renderer-drawing`; audio, video, HLS, and MIDI rendering has moved to `@file-viewer/renderer-media`; code, text, Markdown, patch, and git bundle rendering has moved to `@file-viewer/renderer-text`; Word DOCX/DOC/RTF/ODT rendering has moved to `@file-viewer/renderer-word`; PowerPoint rendering has moved to `@file-viewer/renderer-presentation`; XMind rendering has moved to `@file-viewer/renderer-mindmap`; geospatial rendering has moved to `@file-viewer/renderer-geo`; data asset rendering has moved to `@file-viewer/renderer-data`; EDA rendering and parsing has moved to `@file-viewer/renderer-eda`. Core-only installs now avoid direct OFD, PDF, Word, Spreadsheet, PPTX, CAD, Typst, XMind, Geo, media, 3D, drawing, archive, email, EPUB, UMD, data asset, EDA, `ofd-xml-parser`, `jszip`, `pdfjs-dist`, `styled-exceljs`, `e-virt-table`, `tinycolor2`, `@flyfish-dev/cad-viewer`, `@myriaddreamin/*`, `highlight.js`, `marked`, `diff2html`, `pako`, `mermaid`, `plantuml-encoder`, `@panzoom/panzoom`, `hls.js`, `@tonejs/midi`, `three`, `@excalidraw/excalidraw`, `roughjs`, `libarchive.js`, `postal-mime`, `@kenjiuno/msgreader`, `epubjs`, `ag-psd`, `sql.js`, `hyparquet`, `avsc`, and `cfb` engine dependencies.
30
+
31
+ ```bash
32
+ npm install @file-viewer/core
33
+ ```
34
+
35
+ ## Preflight Before Rendering
36
+
37
+ `precheckFileViewerSource()` does not create a viewer or load a heavy renderer. It checks whether the extension is available and validates known PDF, OpenXML / OpenDocument, legacy OLE Office, and RTF signatures or package parts. `valid: null` explicitly means capability-only detection, not a full parse; the real renderer remains the final authority for malformed content.
38
+
39
+ ```ts
40
+ import { precheckFileViewerSource } from '@file-viewer/core/headless'
41
+
42
+ const result = await precheckFileViewerSource(file, {
43
+ // Restrict this to the extensions actually installed by this product.
44
+ supportedExtensions: ['pdf', 'docx', 'xlsx', 'pptx']
45
+ })
46
+
47
+ if (!result.previewable) {
48
+ console.warn(result.reason, result.missingParts)
49
+ }
50
+ ```
51
+
52
+ ## Entry points
53
+
54
+ Use `@file-viewer/core/headless` when a component package, server-side helper, or build script only needs framework-neutral contracts: format support, source normalization, renderer capability metadata, lifecycle/operation context, option normalization, state helpers, and static asset resolution. This entry intentionally does not expose the DOM viewer engine or browser renderers.
55
+
56
+ ```ts
57
+ import {
58
+ DEFAULT_SUPPORTED_EXTENSIONS,
59
+ normalizeSource,
60
+ resolveFileViewerRendererAssets
61
+ } from '@file-viewer/core/headless'
62
+
63
+ const source = normalizeSource({ url: '/files/report.pdf' })
64
+ const pdfAssets = resolveFileViewerRendererAssets('pdf', {
65
+ baseUrl: '/file-viewer/'
66
+ })
67
+ ```
68
+
69
+ Use `@file-viewer/core/browser` when a native component package or pure browser integration needs the shared browser shell and toolbar, direct DOM engine, renderer registry, search/zoom providers, print/export adapters, and framework-neutral Canvas/Worker/WASM renderers.
70
+
71
+ ```ts
72
+ import {
73
+ createViewer,
74
+ coreBrowserRendererHandlers
75
+ } from '@file-viewer/core/browser'
76
+
77
+ const viewer = createViewer(document.querySelector('#viewer')!, {
78
+ options: {
79
+ toolbar: true,
80
+ styleIsolation: 'shadow'
81
+ }
82
+ })
83
+
84
+ await viewer.load({ url: '/files/report.pdf' })
85
+ ```
86
+
87
+ HTML document builders live in the opt-in export entry so ordinary previews do
88
+ not download the sanitizer. The viewer's `exportHtml()` and `print()` methods
89
+ load this entry only when invoked. For v3, migrate direct builder imports from
90
+ the package root to the explicit subpath:
91
+
92
+ ```ts
93
+ import {
94
+ buildExportHtmlDocument,
95
+ buildFileViewerRenderedHtmlDocument
96
+ } from '@file-viewer/core/export'
97
+ ```
98
+
99
+ The deprecated Vue 3 template re-exports are asynchronous in v3 to preserve
100
+ this lazy boundary, so legacy calls must use `await buildExportHtmlDocument(...)`
101
+ or `await collectDocumentStyles()`. Direct imports from the `export` subpath
102
+ keep their documented return types.
103
+
104
+ `options.styleIsolation` accepts `auto`, `shadow`, `scoped`, or `none`. Use `shadow` when a custom host or framework wrapper needs a ShadowRoot-backed render surface. Core passes the resolved `surface` to renderer `load(context)`, so custom renderers should inject styles into `context.surface.shadowRoot` or the renderer container instead of `document.head`, and should mount overlays inside the same isolated surface when possible.
105
+
106
+ The root `@file-viewer/core` entry remains the normal browser-compatible entry. New component packages should prefer the narrowest explicit entry point they need: `headless` for contracts and build-time helpers, `browser` for real browser preview, and `export` for sanitized standalone HTML documents.
107
+
108
+ ```ts
109
+ import {
110
+ listFileViewerRendererAssetManifests,
111
+ resolveFileViewerRendererAssets
112
+ } from '@file-viewer/core'
113
+
114
+ const manifests = listFileViewerRendererAssetManifests()
115
+ const archiveAssets = resolveFileViewerRendererAssets('archive', {
116
+ baseUrl: '/file-viewer/'
117
+ })
118
+ ```
119
+
120
+ For non-Vite hosts or custom static directories, configure one runtime asset
121
+ base before loading a file. Renderer-specific URLs still take priority. The
122
+ Vite plugin sets this automatically from `copyAssets.baseDir`.
123
+
124
+ ```ts
125
+ import { setDefaultFileViewerAssetBaseUrl } from '@file-viewer/core'
126
+
127
+ setDefaultFileViewerAssetBaseUrl('/tenant/static/file-viewer/')
128
+ ```
129
+
130
+ The manifest API lets wrappers and deployment scripts discover archive, DOCX, Spreadsheet, CAD, Typst, and data-asset worker/WASM resources from the same core contract instead of hard-coding per-framework paths. Spreadsheet assets remain part of the shared deployment contract for `@file-viewer/renderer-spreadsheet`; CAD assets remain part of the shared deployment contract for `@file-viewer/renderer-cad`; archive assets remain part of the shared deployment contract for `@file-viewer/renderer-archive`; DOCX assets remain part of the shared deployment contract for `@file-viewer/renderer-word`; SQLite WASM asset resolution remains in core so `@file-viewer/renderer-data` and deployment tools share one stable offline path.
131
+
132
+ Official documentation: https://doc.file-viewer.app/
133
+
134
+ Online demo: https://demo.file-viewer.app/
135
+
136
+ Public source repositories:
137
+
138
+ - GitHub: https://github.com/flyfish-dev/file-viewer-core
139
+ - Gitee: https://gitee.com/flyfish-dev/file-viewer-core
140
+
141
+ The GitHub/Gitee repositories are distributed public source packages. The private Gitea aggregate remains useful for the complete workspace, release automation, integration history, sponsorship, and priority support.
142
+
143
+ License: Apache-2.0. For second development or commercial use, keep clear Flyfish Viewer attribution and contribute shared compatibility improvements where possible.
144
+
145
+ ## Formats and related packages
146
+
147
+ File Viewer previews 275+ file extensions in the browser, covering Office, PDF/OFD, CAD, 3D, archives, email, images, media and code, without server-side conversion. See the [format matrix](https://doc.file-viewer.app/guide/formats) for the full list.
148
+
149
+ - Components: `@file-viewer/web`, `@file-viewer/vue3`, `@file-viewer/vue2.7`, `@file-viewer/vue2.6`, `@file-viewer/react`, `@file-viewer/react-legacy`, `@file-viewer/svelte`, `@file-viewer/jquery`, plus their `-full` packages
150
+ - Presets: `@file-viewer/preset-lite`, `@file-viewer/preset-office`, `@file-viewer/preset-engineering`, `@file-viewer/preset-all`
151
+ - Build: `@file-viewer/vite-plugin`, `file-viewer-copy-assets`
152
+
153
+ ## License
154
+
155
+ This package is Apache-2.0. See [LICENSE](https://github.com/flyfish-dev/file-viewer/blob/main/LICENSE).
package/README.md CHANGED
@@ -1,7 +1,160 @@
1
1
  # @file-viewer/core
2
2
 
3
- Runtime package version 3.2.1.
3
+ <!-- FILE_VIEWER_PACKAGE_HEADER -->
4
+ <p>
5
+ <a href="https://www.npmjs.com/package/@file-viewer/core"><img src="https://img.shields.io/npm/v/@file-viewer%2Fcore?logo=npm" alt="npm version"></a>
6
+ <a href="https://www.npmjs.com/package/@file-viewer/core"><img src="https://img.shields.io/npm/dm/@file-viewer%2Fcore?logo=npm" alt="npm downloads"></a>
7
+ <a href="https://github.com/flyfish-dev/file-viewer/stargazers"><img src="https://img.shields.io/github/stars/flyfish-dev/file-viewer?style=flat&logo=github" alt="GitHub stars"></a>
8
+ <a href="https://github.com/flyfish-dev/file-viewer/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="License: Apache-2.0"></a>
9
+ </p>
4
10
 
5
- Usage and API documentation: https://doc.file-viewer.app/
11
+ <p>
12
+ <a href="https://github.com/flyfish-dev/file-viewer">GitHub</a> · <a href="https://doc.file-viewer.app/zh/">文档</a> · <a href="https://demo.file-viewer.app/">在线 Demo</a> · <a href="https://doc.file-viewer.app/guide/formats">格式矩阵</a> · <a href="https://github.com/flyfish-dev/file-viewer/issues">问题反馈</a> · <a href="https://github.com/flyfish-dev/file-viewer/blob/main/packages/core/README.en.md">English</a>
13
+ </p>
6
14
 
7
- The package's own license is Apache-2.0. Included third-party notices apply to their respective components.
15
+ <p>
16
+ <a href="https://demo.file-viewer.app/"><img src="https://raw.githubusercontent.com/flyfish-dev/file-viewer/main/docs/public/_media/file-viewer-demo-v3-zh.webp" width="760" alt="File Viewer 在线演示:Word、Excel、PPT、3D 模型、CAD 图纸与二进制检查器"></a>
17
+ </p>
18
+
19
+ > ⭐ 如果 File Viewer 对你有帮助,欢迎到 [GitHub](https://github.com/flyfish-dev/file-viewer) 点个 Star。
20
+
21
+ Framework-neutral TypeScript foundation for Flyfish File Viewer.
22
+
23
+ This package is the migration base for the next architecture: one pure TypeScript core package with internal `headless`, `browser`, and `renderers` layers, plus multiple native standard component packages for Vue, React, pure JavaScript, jQuery and Svelte. Core owns the shared format matrix, source detection, renderer protocol, capability calculation, lifecycle context, operation/event/search/location/zoom/print/export contracts, heavy renderer asset manifests, option normalization, pure state models, and framework-neutral browser rendering engine.
24
+
25
+ Browser execution belongs inside core only when it remains framework-neutral TypeScript. DOM mounting, the standard browser shell and toolbar, `HTMLElement` traversal, search highlights, zoom provider discovery, print windows, download triggers, Canvas, Worker and WASM renderers must not depend on Vue, React, Svelte or any component package. Framework component packages keep their own component lifecycle, public type surface, compatibility defaults, and ecosystem interaction layer while depending on `@file-viewer/core` as the only shared base.
26
+
27
+ `@file-viewer/core` is the only shared foundation package. It owns the headless contracts plus browser/renderers layers for the direct `createViewer(container, options)` engine, renderer registry, DOM provider registry, print layout helpers, browser asset resolution, and framework-neutral DOM/Canvas/Worker/WASM rendering contracts. Core source is public; the private Gitea aggregate remains available for the complete workspace, unified release automation, sponsorship, and priority support.
28
+
29
+ Current framework-neutral browser renderers still inside core are limited to the low-cost image path. Spreadsheet rendering has moved to `@file-viewer/renderer-spreadsheet`; CAD rendering has moved to `@file-viewer/renderer-cad`; Typst rendering has moved to `@file-viewer/renderer-typst`; OFD rendering has moved to `@file-viewer/renderer-ofd`; PDF rendering has moved to `@file-viewer/renderer-pdf`; archive rendering has moved to `@file-viewer/renderer-archive`; email rendering has moved to `@file-viewer/renderer-email`; EPUB and UMD ebook rendering has moved to `@file-viewer/renderer-epub`; 3D model rendering has moved to `@file-viewer/renderer-3d`; Draw.io, Excalidraw, Mermaid, and PlantUML rendering has moved to `@file-viewer/renderer-drawing`; audio, video, HLS and MIDI rendering has moved to `@file-viewer/renderer-media`; code, text, Markdown, patch and git bundle rendering has moved to `@file-viewer/renderer-text`; Word DOCX/DOC/RTF/ODT rendering has moved to `@file-viewer/renderer-word`; PowerPoint rendering has moved to `@file-viewer/renderer-presentation`; XMind rendering has moved to `@file-viewer/renderer-mindmap`; geospatial rendering has moved to `@file-viewer/renderer-geo`; data asset rendering has moved to `@file-viewer/renderer-data`; EDA rendering and parsing has moved to `@file-viewer/renderer-eda`. Core-only installs now avoid direct OFD, PDF, Word, Spreadsheet, PPTX, CAD, Typst, XMind, Geo, media, 3D, drawing, archive, email, EPUB, UMD, data asset, EDA, `ofd-xml-parser`, `jszip`, `pdfjs-dist`, `styled-exceljs`, `e-virt-table`, `tinycolor2`, `@flyfish-dev/cad-viewer`, `@myriaddreamin/*`, `highlight.js`, `marked`, `diff2html`, `pako`, `mermaid`, `plantuml-encoder`, `@panzoom/panzoom`, `hls.js`, `@tonejs/midi`, `three`, `@excalidraw/excalidraw`, `roughjs`, `libarchive.js`, `postal-mime`, `@kenjiuno/msgreader`, `epubjs`, `ag-psd`, `sql.js`, `hyparquet`, `avsc` and `cfb` engine dependencies.
30
+
31
+ ```bash
32
+ npm install @file-viewer/core
33
+ ```
34
+
35
+ ## 渲染前预检
36
+
37
+ `precheckFileViewerSource()` 不会创建 viewer,也不会加载重型 renderer。它先检查当前扩展名是否在能力范围内,并对 PDF、OpenXML / OpenDocument、旧版 OLE Office、RTF 等格式执行签名或包结构检查。`valid: null` 明确表示该格式只有能力检查、没有做完整解析;真实 renderer 仍是畸形文件的最终判断者。
38
+
39
+ ```ts
40
+ import { precheckFileViewerSource } from '@file-viewer/core/headless'
41
+
42
+ const result = await precheckFileViewerSource(file, {
43
+ // 可传当前产品实际安装的扩展名列表,避免把未装 preset 的格式报成可预览
44
+ supportedExtensions: ['pdf', 'docx', 'xlsx', 'pptx']
45
+ })
46
+
47
+ if (!result.previewable) {
48
+ console.warn(result.reason, result.missingParts)
49
+ }
50
+ ```
51
+
52
+ ## Entry points
53
+
54
+ Use `@file-viewer/core/headless` when a component package, server-side helper or build script only needs framework-neutral contracts: format support, source normalization, renderer capability metadata, lifecycle/operation context, option normalization, state helpers and static asset resolution. This entry intentionally does not expose the DOM viewer engine or browser renderers.
55
+
56
+ ```ts
57
+ import {
58
+ DEFAULT_SUPPORTED_EXTENSIONS,
59
+ normalizeSource,
60
+ resolveFileViewerRendererAssets
61
+ } from '@file-viewer/core/headless'
62
+
63
+ const source = normalizeSource({ url: '/files/report.pdf' })
64
+ const pdfAssets = resolveFileViewerRendererAssets('pdf', {
65
+ baseUrl: '/file-viewer/'
66
+ })
67
+ ```
68
+
69
+ Use `@file-viewer/core/browser` when a native component package or a pure browser integration needs the shared browser shell and toolbar, direct DOM engine, renderer registry, search/zoom providers, print/export adapters and framework-neutral Canvas/Worker/WASM renderers.
70
+
71
+ ```ts
72
+ import {
73
+ createViewer,
74
+ coreBrowserRendererHandlers
75
+ } from '@file-viewer/core/browser'
76
+
77
+ const viewer = createViewer(document.querySelector('#viewer')!, {
78
+ options: {
79
+ toolbar: true,
80
+ styleIsolation: 'shadow'
81
+ }
82
+ })
83
+
84
+ await viewer.load({ url: '/files/report.pdf' })
85
+ ```
86
+
87
+ HTML document builders live in the opt-in export entry so ordinary previews do
88
+ not download the sanitizer. The viewer's `exportHtml()` and `print()` methods
89
+ load this entry only when invoked. For v3, migrate direct builder imports from
90
+ the package root to the explicit subpath:
91
+
92
+ ```ts
93
+ import {
94
+ buildExportHtmlDocument,
95
+ buildFileViewerRenderedHtmlDocument
96
+ } from '@file-viewer/core/export'
97
+ ```
98
+
99
+ Vue 3 模板中已弃用的兼容导出在 v3 中改为异步,以保持这条懒加载边界;
100
+ 旧调用需要使用 `await buildExportHtmlDocument(...)` 或
101
+ `await collectDocumentStyles()`。直接从 `export` 子路径导入时,返回类型仍
102
+ 按该子路径的 API 文档保持不变。
103
+
104
+ `options.styleIsolation` accepts `auto`, `shadow`, `scoped`, or `none`. Use `shadow` when a custom host or framework wrapper needs a ShadowRoot-backed render surface. Core passes the resolved `surface` to renderer `load(context)`, so custom renderers should inject styles into `context.surface.shadowRoot` or the renderer container instead of `document.head`, and should mount overlays inside the same isolated surface when possible.
105
+
106
+ The root `@file-viewer/core` entry remains the normal browser-compatible entry. New component packages should prefer the narrowest explicit entry point they need: `headless` for contracts and build-time helpers, `browser` for real browser preview, and `export` for sanitized standalone HTML documents.
107
+
108
+ ```ts
109
+ import {
110
+ listFileViewerRendererAssetManifests,
111
+ resolveFileViewerRendererAssets
112
+ } from '@file-viewer/core'
113
+
114
+ const manifests = listFileViewerRendererAssetManifests()
115
+ const cadAssets = resolveFileViewerRendererAssets('cad', {
116
+ baseUrl: '/file-viewer/',
117
+ options: {
118
+ cad: {
119
+ wasmPath: '/file-viewer/wasm/cad/'
120
+ }
121
+ }
122
+ })
123
+ ```
124
+
125
+ For non-Vite hosts or custom static directories, configure one runtime asset
126
+ base before loading a file. Renderer-specific URLs still take priority. The
127
+ Vite plugin sets this automatically from `copyAssets.baseDir`.
128
+
129
+ ```ts
130
+ import { setDefaultFileViewerAssetBaseUrl } from '@file-viewer/core'
131
+
132
+ setDefaultFileViewerAssetBaseUrl('/tenant/static/file-viewer/')
133
+ ```
134
+
135
+ The manifest API lets wrappers and deployment scripts discover archive, DOCX, Spreadsheet, CAD, Typst and data-asset worker/WASM resources from the same core contract instead of hard-coding per-framework paths. Spreadsheet assets remain part of the shared deployment contract for `@file-viewer/renderer-spreadsheet`; CAD assets remain part of the shared deployment contract for `@file-viewer/renderer-cad`; archive assets remain part of the shared deployment contract for `@file-viewer/renderer-archive`; DOCX assets remain part of the shared deployment contract for `@file-viewer/renderer-word`; SQLite WASM asset resolution remains in core so `@file-viewer/renderer-data` and deployment tools share one stable offline path.
136
+
137
+ Official documentation: https://doc.file-viewer.app/
138
+
139
+ Online demo: https://demo.file-viewer.app/
140
+
141
+ Public source repositories:
142
+
143
+ - GitHub: https://github.com/flyfish-dev/file-viewer-core
144
+ - Gitee: https://gitee.com/flyfish-dev/file-viewer-core
145
+
146
+ The GitHub/Gitee repositories are distributed public source packages. The private Gitea aggregate remains useful for the complete workspace, release automation, integration history, sponsorship, and priority support.
147
+
148
+ License: Apache-2.0. For second development or commercial use, keep clear Flyfish Viewer attribution and contribute shared compatibility improvements where possible.
149
+
150
+ ## 格式与相关包
151
+
152
+ File Viewer 在浏览器内预览 275+ 种扩展名,覆盖 Office、PDF/OFD、CAD、3D、压缩包、邮件、图片、音视频和代码,无需服务端转码;完整清单见 [格式矩阵](https://doc.file-viewer.app/guide/formats)。
153
+
154
+ - 组件:`@file-viewer/web`、`@file-viewer/vue3`、`@file-viewer/vue2.7`、`@file-viewer/vue2.6`、`@file-viewer/react`、`@file-viewer/react-legacy`、`@file-viewer/svelte`、`@file-viewer/jquery`,以及对应的 `-full` 包
155
+ - 能力组合:`@file-viewer/preset-lite`、`@file-viewer/preset-office`、`@file-viewer/preset-engineering`、`@file-viewer/preset-all`
156
+ - 构建:`@file-viewer/vite-plugin`、`file-viewer-copy-assets`
157
+
158
+ ## 许可证
159
+
160
+ 本包采用 Apache-2.0。详见 [LICENSE](https://github.com/flyfish-dev/file-viewer/blob/main/LICENSE)。
@@ -1,4 +1,4 @@
1
- import { appendFileViewerStyle, applyFileViewerZoomAvailability, createViewer, isFileViewerShadowRoot, normalizeFileViewerUiDensity, normalizeFileViewerTheme, normalizeFileViewerStyleIsolation, syncFileViewerRenderSurfaceBackground, } from "../index.js";
1
+ import { appendFileViewerStyle, cloneFileViewerViewState, applyFileViewerZoomAvailability, createViewer, isFileViewerShadowRoot, normalizeFileViewerUiDensity, normalizeFileViewerTheme, normalizeFileViewerStyleIsolation, syncFileViewerRenderSurfaceBackground, } from "../index.js";
2
2
  import { DEFAULT_FILE_VIEWER_SOURCE_FILENAME, createFileViewerTranslator, getExtension, normalizeFileViewerSourceUrl, hasVisibleFileViewerToolbarActions, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, normalizeFilename, readFileViewerBuffer, resolveFileViewerSourceFilename, resolveFileViewerColorScheme, resolveFileViewerToolbarOrder, resolveFileViewerToolbarPosition, resolveVisibleFileViewerToolbar, toggleFileViewerColorScheme, wrapFileViewerFileRef, } from "../index.js";
3
3
  const isBrowser = () => typeof window !== 'undefined' && typeof document !== 'undefined';
4
4
  const hasSource = (options = {}) => {
@@ -486,15 +486,7 @@ export const mountViewer = (container, initialOptions = {}, coreOptions = {}) =>
486
486
  : null,
487
487
  zoom: state.zoom ? { ...state.zoom } : null,
488
488
  location: state.location ? { ...state.location } : null,
489
- viewState: state.viewState
490
- ? {
491
- ...state.viewState,
492
- zoom: state.viewState.zoom ? { ...state.viewState.zoom } : undefined,
493
- scroll: state.viewState.scroll ? { ...state.viewState.scroll } : undefined,
494
- navigation: state.viewState.navigation ? { ...state.viewState.navigation } : undefined,
495
- extra: state.viewState.extra ? { ...state.viewState.extra } : undefined,
496
- }
497
- : null,
489
+ viewState: cloneFileViewerViewState(state.viewState),
498
490
  });
499
491
  const syncShellTheme = () => {
500
492
  var _a, _b, _c;
@@ -727,7 +727,20 @@ export interface FileViewerNavigationState {
727
727
  visible?: boolean;
728
728
  mode?: string;
729
729
  }
730
+ export interface FileViewerSpreadsheetRange {
731
+ sheetId: number;
732
+ startRow: number;
733
+ startCol: number;
734
+ endRow: number;
735
+ endCol: number;
736
+ }
737
+ export type FileViewerSpreadsheetNavigationStatus = 'idle' | 'pending' | 'applied' | 'rejected' | 'cancelled' | 'failed' | 'disposed';
730
738
  export interface FileViewerViewState {
739
+ spreadsheet?: {
740
+ sheetId?: number;
741
+ range?: FileViewerSpreadsheetRange;
742
+ status?: FileViewerSpreadsheetNavigationStatus;
743
+ };
731
744
  renderer?: string;
732
745
  page?: number;
733
746
  pageCount?: number;
@@ -6,6 +6,10 @@ export const cloneFileViewerViewState = (state) => {
6
6
  }
7
7
  return {
8
8
  ...state,
9
+ spreadsheet: state.spreadsheet ? {
10
+ ...state.spreadsheet,
11
+ range: state.spreadsheet.range ? { ...state.spreadsheet.range } : undefined,
12
+ } : undefined,
9
13
  zoom: state.zoom ? { ...state.zoom } : undefined,
10
14
  scroll: state.scroll ? { ...state.scroll } : undefined,
11
15
  navigation: state.navigation ? { ...state.navigation } : undefined,
@@ -253,6 +257,8 @@ export const createFileViewerViewStateController = ({ root, enabled, onChange, }
253
257
  let unsubscribe = null;
254
258
  let observer = null;
255
259
  let state = null;
260
+ let applySequence = 0;
261
+ let destroyed = false;
256
262
  const readProviderState = () => { var _a; return cloneFileViewerViewState(((_a = provider === null || provider === void 0 ? void 0 : provider.getState) === null || _a === void 0 ? void 0 : _a.call(provider)) || null); };
257
263
  const commitState = (nextState, change) => {
258
264
  state = cloneFileViewerViewState(nextState);
@@ -265,6 +271,7 @@ export const createFileViewerViewStateController = ({ root, enabled, onChange, }
265
271
  return cloneFileViewerViewState(state);
266
272
  };
267
273
  const clearProvider = () => {
274
+ applySequence += 1;
268
275
  unsubscribe === null || unsubscribe === void 0 ? void 0 : unsubscribe();
269
276
  unsubscribe = null;
270
277
  provider = null;
@@ -272,15 +279,18 @@ export const createFileViewerViewStateController = ({ root, enabled, onChange, }
272
279
  };
273
280
  const syncProvider = () => {
274
281
  var _a;
275
- if ((enabled === null || enabled === void 0 ? void 0 : enabled()) === false) {
282
+ if (destroyed || (enabled === null || enabled === void 0 ? void 0 : enabled()) === false) {
276
283
  clearProvider();
277
284
  return null;
278
285
  }
279
286
  const nextProvider = findFileViewerViewStateProvider(root());
280
287
  if (nextProvider !== provider) {
288
+ applySequence += 1;
281
289
  unsubscribe === null || unsubscribe === void 0 ? void 0 : unsubscribe();
282
290
  provider = nextProvider;
283
291
  unsubscribe = ((_a = nextProvider === null || nextProvider === void 0 ? void 0 : nextProvider.subscribe) === null || _a === void 0 ? void 0 : _a.call(nextProvider, change => {
292
+ if (destroyed || provider !== nextProvider)
293
+ return;
284
294
  commitState(change.state, change);
285
295
  })) || null;
286
296
  }
@@ -329,11 +339,19 @@ export const createFileViewerViewStateController = ({ root, enabled, onChange, }
329
339
  if (!(nextProvider === null || nextProvider === void 0 ? void 0 : nextProvider.applyState)) {
330
340
  return cloneFileViewerViewState(state);
331
341
  }
332
- const appliedState = await nextProvider.applyState(nextState, options);
342
+ const sequence = ++applySequence;
343
+ const appliedState = await nextProvider.applyState(cloneFileViewerViewState(nextState) || {}, options);
344
+ if (destroyed || nextProvider !== syncProvider()) {
345
+ return cloneFileViewerViewState(state);
346
+ }
347
+ if (sequence !== applySequence) {
348
+ return cloneFileViewerViewState(appliedState || nextProvider.getState());
349
+ }
333
350
  commitState(appliedState || nextProvider.getState());
334
351
  return cloneFileViewerViewState(state);
335
352
  },
336
353
  destroy() {
354
+ destroyed = true;
337
355
  disconnectObserver();
338
356
  clearProvider();
339
357
  },
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { FileRenderContext, FileViewerRenderedInstance } from "./contracts/types.js";
2
2
  export type { FileViewerXmlProfile, FileViewerXmlManifest, FileViewerXmlDiagnosticCode, FileViewerXmlDiagnostic, FileViewerXmlOptions, } from "./contracts/xml.js";
3
- export { DEFAULT_FILE_VIEWER_ARCHIVE_WORKER_PATH, DEFAULT_FILE_VIEWER_ARCHIVE_WASM_PATH, DEFAULT_FILE_VIEWER_CHM_WORKER_PATH, DEFAULT_FILE_VIEWER_CHM_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_MODULE_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_MODULE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_CAD_DWF_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_LIBREDWG_SCRIPT_PATH, DEFAULT_FILE_VIEWER_CAD_LIBREDWG_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_RUNTIME_VERSION, DEFAULT_FILE_VIEWER_CAD_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_WORKER_PATH, DEFAULT_FILE_VIEWER_DATA_SQL_WASM_URL, DEFAULT_FILE_VIEWER_ILLUSTRATOR_WORKER_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_LICENSE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_ZSTD_LICENSE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_ZSTD_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_DESIGN_WORKER_PATH, DEFAULT_FILE_VIEWER_DESIGN_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_DESIGN_CONTAINER_WORKER_PATH, DEFAULT_FILE_VIEWER_DESIGN_CONTAINER_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_ADOBE_RESOURCE_WORKER_PATH, DEFAULT_FILE_VIEWER_ADOBE_RESOURCE_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WORKER_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WASM_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_APACHE_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_APACHE_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CARLITO_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CARLITO_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_TINOS_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_TINOS_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_COUSINE_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_COUSINE_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_NOTO_SYMBOLS_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_NOTO_SYMBOLS_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_IDML_WORKER_PATH, DEFAULT_FILE_VIEWER_IDML_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_IDML_WASM_PATH, DEFAULT_FILE_VIEWER_IDML_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_IDML_LICENSE_PATH, DEFAULT_FILE_VIEWER_IDML_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_RUNTIME_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_RUNTIME_URL, DEFAULT_FILE_VIEWER_MODEL_IMPORT_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_IMPORT_LICENSE_URL, DEFAULT_FILE_VIEWER_MODEL_OCCT_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_OCCT_LICENSE_URL, DEFAULT_FILE_VIEWER_MODEL_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_WASM_URL, DEFAULT_FILE_VIEWER_MODEL_WORKER_URL, DEFAULT_FILE_VIEWER_DOCX_WORKER_JSZIP_PATH, DEFAULT_FILE_VIEWER_DOCX_WORKER_PATH, DEFAULT_FILE_VIEWER_DOCX_RUNTIME_VERSION, DEFAULT_FILE_VIEWER_PDF_CMAP_PATH, DEFAULT_FILE_VIEWER_PDF_STANDARD_FONT_PATH, DEFAULT_FILE_VIEWER_PDF_WASM_PATH, DEFAULT_FILE_VIEWER_PDF_WORKER_PATH, DEFAULT_FILE_VIEWER_PPT_FONT_PATH, DEFAULT_FILE_VIEWER_PPT_FRAME_CACHE_PATH, DEFAULT_FILE_VIEWER_PPT_MODULE_PATH, DEFAULT_FILE_VIEWER_PPT_RUNTIME_PATH, DEFAULT_FILE_VIEWER_PPT_RUNTIME_VERSION, DEFAULT_FILE_VIEWER_PPT_WASM_PATH, DEFAULT_FILE_VIEWER_PPT_WORKER_PATH, DEFAULT_FILE_VIEWER_PRESENTATION_WORKER_PATH, DEFAULT_FILE_VIEWER_RENDERER_ASSET_MANIFESTS, DEFAULT_FILE_VIEWER_SPREADSHEET_WORKER_PATH, DEFAULT_FILE_VIEWER_IWORK_WORKER_PATH, DEFAULT_FILE_VIEWER_IWORK_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_HANGUL_WORKER_PATH, DEFAULT_FILE_VIEWER_HANGUL_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WORKER_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WASM_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_MODULE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_MODULE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_TYPST_COMPILER_WASM_URL, DEFAULT_FILE_VIEWER_TYPST_RENDERER_WASM_URL, DEFAULT_FILE_VIEWER_TYPST_RENDERER_WASM_PACKAGE_PATH, getDefaultFileViewerAssetBaseUrl, getFileViewerRendererAssetManifest, listFileViewerRendererAssetManifests, normalizeFileViewerAssetBaseUrl, resetDefaultFileViewerAssetBaseUrl, resolveFileViewerArchiveWasmUrl, resolveFileViewerArchiveWorkerUrl, resolveFileViewerChmWorkerUrl, resolveFileViewerChmWasmModuleUrl, resolveFileViewerChmWasmUrl, resolveFileViewerAssetUrl, resolveFileViewerCadAssetUrls, resolveFileViewerDataSqlWasmUrl, resolveFileViewerIllustratorWorkerUrl, resolveFileViewerDesignWorkerUrl, resolveFileViewerDesignContainerWorkerUrl, resolveFileViewerAdobeResourceWorkerUrl, resolveFileViewerPostscriptWorkerUrl, resolveFileViewerPostscriptWasmUrl, resolveFileViewerIdmlWorkerUrl, resolveFileViewerIdmlWasmUrl, resolveFileViewerDocxWorkerJsZipUrl, resolveFileViewerDocxWorkerUrl, resolveFileViewerDrawioViewerScriptUrl, resolveFileViewerModelAssetUrls, resolveFileViewerPdfAssetUrls, resolveFileViewerPresentationWorkerUrl, resolveFileViewerRendererAssets, resolveFileViewerRuntimeAssetBaseUrl, resolveFileViewerSpreadsheetWorkerUrl, resolveFileViewerIworkWorkerUrl, resolveFileViewerHangulWorkerUrl, resolveFileViewerWordPerfectWorkerUrl, resolveFileViewerWordPerfectWasmUrl, resolveFileViewerTypstCompilerWasmUrl, resolveFileViewerTypstRendererWasmUrl, setDefaultFileViewerAssetBaseUrl, } from "./assets.js";
3
+ export { DEFAULT_FILE_VIEWER_ARCHIVE_WORKER_PATH, DEFAULT_FILE_VIEWER_ARCHIVE_WASM_PATH, DEFAULT_FILE_VIEWER_CHM_WORKER_PATH, DEFAULT_FILE_VIEWER_CHM_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_MODULE_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_MODULE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_CAD_DWF_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_LIBREDWG_SCRIPT_PATH, DEFAULT_FILE_VIEWER_CAD_LIBREDWG_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_RUNTIME_VERSION, DEFAULT_FILE_VIEWER_CAD_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_WORKER_PATH, DEFAULT_FILE_VIEWER_DATA_SQL_WASM_URL, DEFAULT_FILE_VIEWER_ILLUSTRATOR_WORKER_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_LICENSE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_ZSTD_LICENSE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_ZSTD_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_DESIGN_WORKER_PATH, DEFAULT_FILE_VIEWER_DESIGN_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_DESIGN_CONTAINER_WORKER_PATH, DEFAULT_FILE_VIEWER_DESIGN_CONTAINER_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_ADOBE_RESOURCE_WORKER_PATH, DEFAULT_FILE_VIEWER_ADOBE_RESOURCE_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WORKER_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WASM_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_APACHE_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_APACHE_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_URW_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_URW_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CMYK_NOTICE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CMYK_NOTICE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CC0_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CC0_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_NATIVE_NOTICES_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_NATIVE_NOTICES_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CARLITO_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CARLITO_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_TINOS_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_TINOS_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_COUSINE_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_COUSINE_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_NOTO_SYMBOLS_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_NOTO_SYMBOLS_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_IDML_WORKER_PATH, DEFAULT_FILE_VIEWER_IDML_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_IDML_WASM_PATH, DEFAULT_FILE_VIEWER_IDML_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_IDML_LICENSE_PATH, DEFAULT_FILE_VIEWER_IDML_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_RUNTIME_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_RUNTIME_URL, DEFAULT_FILE_VIEWER_MODEL_IMPORT_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_IMPORT_LICENSE_URL, DEFAULT_FILE_VIEWER_MODEL_OCCT_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_OCCT_LICENSE_URL, DEFAULT_FILE_VIEWER_MODEL_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_WASM_URL, DEFAULT_FILE_VIEWER_MODEL_WORKER_URL, DEFAULT_FILE_VIEWER_DOCX_WORKER_JSZIP_PATH, DEFAULT_FILE_VIEWER_DOCX_WORKER_PATH, DEFAULT_FILE_VIEWER_DOCX_RUNTIME_VERSION, DEFAULT_FILE_VIEWER_PDF_CMAP_PATH, DEFAULT_FILE_VIEWER_PDF_STANDARD_FONT_PATH, DEFAULT_FILE_VIEWER_PDF_WASM_PATH, DEFAULT_FILE_VIEWER_PDF_WORKER_PATH, DEFAULT_FILE_VIEWER_PPT_FONT_PATH, DEFAULT_FILE_VIEWER_PPT_FRAME_CACHE_PATH, DEFAULT_FILE_VIEWER_PPT_MODULE_PATH, DEFAULT_FILE_VIEWER_PPT_RUNTIME_PATH, DEFAULT_FILE_VIEWER_PPT_RUNTIME_VERSION, DEFAULT_FILE_VIEWER_PPT_WASM_PATH, DEFAULT_FILE_VIEWER_PPT_WORKER_PATH, DEFAULT_FILE_VIEWER_PRESENTATION_WORKER_PATH, DEFAULT_FILE_VIEWER_RENDERER_ASSET_MANIFESTS, DEFAULT_FILE_VIEWER_SPREADSHEET_WORKER_PATH, DEFAULT_FILE_VIEWER_IWORK_WORKER_PATH, DEFAULT_FILE_VIEWER_IWORK_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_HANGUL_WORKER_PATH, DEFAULT_FILE_VIEWER_HANGUL_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WORKER_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WASM_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_MODULE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_MODULE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_TYPST_COMPILER_WASM_URL, DEFAULT_FILE_VIEWER_TYPST_RENDERER_WASM_URL, DEFAULT_FILE_VIEWER_TYPST_RENDERER_WASM_PACKAGE_PATH, getDefaultFileViewerAssetBaseUrl, getFileViewerRendererAssetManifest, listFileViewerRendererAssetManifests, normalizeFileViewerAssetBaseUrl, resetDefaultFileViewerAssetBaseUrl, resolveFileViewerArchiveWasmUrl, resolveFileViewerArchiveWorkerUrl, resolveFileViewerChmWorkerUrl, resolveFileViewerChmWasmModuleUrl, resolveFileViewerChmWasmUrl, resolveFileViewerAssetUrl, resolveFileViewerCadAssetUrls, resolveFileViewerDataSqlWasmUrl, resolveFileViewerIllustratorWorkerUrl, resolveFileViewerDesignWorkerUrl, resolveFileViewerDesignContainerWorkerUrl, resolveFileViewerAdobeResourceWorkerUrl, resolveFileViewerPostscriptWorkerUrl, resolveFileViewerPostscriptWasmUrl, resolveFileViewerIdmlWorkerUrl, resolveFileViewerIdmlWasmUrl, resolveFileViewerDocxWorkerJsZipUrl, resolveFileViewerDocxWorkerUrl, resolveFileViewerDrawioViewerScriptUrl, resolveFileViewerModelAssetUrls, resolveFileViewerPdfAssetUrls, resolveFileViewerPresentationWorkerUrl, resolveFileViewerRendererAssets, resolveFileViewerRuntimeAssetBaseUrl, resolveFileViewerSpreadsheetWorkerUrl, resolveFileViewerIworkWorkerUrl, resolveFileViewerHangulWorkerUrl, resolveFileViewerWordPerfectWorkerUrl, resolveFileViewerWordPerfectWasmUrl, resolveFileViewerTypstCompilerWasmUrl, resolveFileViewerTypstRendererWasmUrl, setDefaultFileViewerAssetBaseUrl, } from "./assets.js";
4
4
  export { ARCHIVE_EXTENSIONS, DEFAULT_REGISTERED_EXTENSIONS, DEFAULT_RENDERER_DEFINITIONS, DEFAULT_STABLE_SUPPORTED_EXTENSIONS, DEFAULT_SUPPORTED_EXTENSIONS, IMAGE_EXTENSIONS, MODEL_EXTENSIONS, TEXT_EXTENSIONS, } from "./registry/formats.js";
5
5
  export { precheckFileViewerSource } from "./source/precheck.js";
6
6
  export type { FileViewerPrecheckOptions, FileViewerPrecheckReason, FileViewerPrecheckResult, FileViewerPrecheckStatus, } from "./source/precheck.js";
@@ -96,3 +96,4 @@ export type { BuildExportHtmlDocumentOptions, BuildFileViewerRenderedHtmlDocumen
96
96
  export type { CreateFileViewerWorkerControllerOptions, FileViewerWorkerContext, FileViewerWorkerController, FileViewerWorkerErrorHook, FileViewerWorkerEventHandler, FileViewerWorkerFactory, FileViewerWorkerMessageHook, WorkerProvider, WorkerRef, } from "./platform/worker.js";
97
97
  export type { FileViewerAiOptions, FileViewerArchiveEntryActionContext, FileViewerArchiveEntryActionPolicy, FileViewerArchiveEntryActionsOptions, FileViewerArchivePasswordRequestContext, FileViewerArchivePasswordRequestReason, FileViewerArchiveOptions, FileViewerBinaryInspectorOptions, FileViewerChmOptions, FileViewerApplyViewStateOptions, FileViewerBeforeOperation, FileViewerCadColorMode, FileViewerCadDwfLineWeightMode, FileViewerCadOptions, FileViewerCadRenderer, FileViewerModelLinearUnit, FileViewerModelOptions, FileViewerComponentEmits, FileViewerComponentEventMap, FileViewerComponentProps, FileViewerDocumentAnchor, FileViewerDocumentChunk, FileViewerDownloadOptions, FileViewerDocxOptions, FileViewerDrawingOptions, FileViewerEvent, FileViewerEventHandler, FileViewerEventType, FileViewerExportHtmlOptions, FileViewerFileRef, FileViewerFitMode, FileViewerFitOptions, FileViewerFitRequest, FileViewerFitResize, FileViewerFitResult, FileViewerFormatStatus, FileViewerFormatSupportLevel, FileViewerGeoBasemapOptions, FileViewerGeoBasemapPreset, FileViewerGeoOptions, FileViewerTiandituMapStyle, FileRenderContext, FileRenderExportAdapter, FileRenderThumbnailAdapter, FileRenderExportMode, FileRenderExportOptions, FileRenderHandler, FileRenderHandlerComposite, FileViewerBuiltinRendererPreset, FileViewerInstance, FileViewerLoadOptions, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerI18nOptions, FileViewerIworkEmbeddedPreviewMode, FileViewerIworkOptions, FileViewerHangulOptions, FileViewerDiagnostic, FileViewerDesignOptions, FileViewerLocale, FileViewerMessageKey, FileViewerMessageParams, FileViewerMessageResolver, FileViewerMessages, FileViewerNavigationState, FileViewerOperationAvailability, FileViewerOperationContext, FileViewerOperationType, FileViewerOptions, FileViewerPdfBoundingBox, FileViewerPdfBoundingBoxOrigin, FileViewerPdfBoundingBoxUnit, FileViewerPdfOptions, FileViewerPresentationOptions, FileViewerPrintOptions, FileViewerPrintMaskOptions, FileViewerPrintMaskRegion, FileViewerPrintStamp, FileViewerPublicApi, FileViewerRenderedInstance, FileViewerRendererMode, FileViewerRendererPluginAssetKind, FileViewerRendererPluginAssetManifest, FileViewerRendererPluginAssetEntry, FileViewerRenderStateKind, FileViewerRenderPurpose, FileViewerRendererCategory, FileViewerRendererHandlerRegistration, FileViewerRendererInstallContext, FileViewerRendererPlugin, FileViewerRendererPluginInput, FileViewerRendererPresetInput, FileViewerRendererPresetName, FileViewerRendererPreset, FileViewerSearchMatch, FileViewerSearchOptions, FileViewerSearchProvider, FileViewerSearchState, FileViewerSource, FileViewerSourceKind, FileViewerThumbnailCaptureOptions, FileViewerThumbnailFit, FileViewerThumbnailFormat, FileViewerSpreadsheetOptions, FileViewerStateDescriptor, FileViewerStateTheme, FileViewerStyleIsolation, FileViewerTextOptions, FileViewerResolvedThemeMode, FileViewerThemeMode, FileViewerToolbarActionMap, FileViewerToolbarItem, FileViewerToolbarOptions, FileViewerToolbarPosition, FileViewerResolvedToolbarItem, FileViewerUiDensity, FileViewerUiOptions, FileViewerTypstOptions, FileViewerViewScrollState, FileViewerViewState, FileViewerViewStateChange, FileViewerViewStateChangeAction, FileViewerViewStateChangeSource, FileViewerViewStateProvider, FileViewerWatermarkOptions, FileViewerWordPerfectOptions, FileViewerZoomProvider, FileViewerZoomState, NormalizedFileViewerSource, RendererCapability, RendererSourceTypeProbe, RendererSourceTypeProbeInput, RendererDefinition, RendererPlugin, RendererLoadContext, RendererLoader, RendererRegistry, RendererSession, RenderSurface, ViewerCapabilityState, ViewerLifecycleContext, ViewerOperationContext, } from "./contracts/types.js";
98
98
  export { resolveFileViewerCopiedAssetUrl } from "./platform/copiedAssets.js";
99
+ export type { FileViewerSpreadsheetRange, FileViewerSpreadsheetNavigationStatus } from "./contracts/types.js";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { DEFAULT_FILE_VIEWER_ARCHIVE_WORKER_PATH, DEFAULT_FILE_VIEWER_ARCHIVE_WASM_PATH, DEFAULT_FILE_VIEWER_CHM_WORKER_PATH, DEFAULT_FILE_VIEWER_CHM_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_MODULE_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_MODULE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_CAD_DWF_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_LIBREDWG_SCRIPT_PATH, DEFAULT_FILE_VIEWER_CAD_LIBREDWG_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_RUNTIME_VERSION, DEFAULT_FILE_VIEWER_CAD_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_WORKER_PATH, DEFAULT_FILE_VIEWER_DATA_SQL_WASM_URL, DEFAULT_FILE_VIEWER_ILLUSTRATOR_WORKER_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_LICENSE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_ZSTD_LICENSE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_ZSTD_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_DESIGN_WORKER_PATH, DEFAULT_FILE_VIEWER_DESIGN_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_DESIGN_CONTAINER_WORKER_PATH, DEFAULT_FILE_VIEWER_DESIGN_CONTAINER_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_ADOBE_RESOURCE_WORKER_PATH, DEFAULT_FILE_VIEWER_ADOBE_RESOURCE_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WORKER_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WASM_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_APACHE_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_APACHE_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CARLITO_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CARLITO_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_TINOS_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_TINOS_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_COUSINE_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_COUSINE_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_NOTO_SYMBOLS_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_NOTO_SYMBOLS_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_IDML_WORKER_PATH, DEFAULT_FILE_VIEWER_IDML_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_IDML_WASM_PATH, DEFAULT_FILE_VIEWER_IDML_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_IDML_LICENSE_PATH, DEFAULT_FILE_VIEWER_IDML_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_RUNTIME_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_RUNTIME_URL, DEFAULT_FILE_VIEWER_MODEL_IMPORT_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_IMPORT_LICENSE_URL, DEFAULT_FILE_VIEWER_MODEL_OCCT_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_OCCT_LICENSE_URL, DEFAULT_FILE_VIEWER_MODEL_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_WASM_URL, DEFAULT_FILE_VIEWER_MODEL_WORKER_URL, DEFAULT_FILE_VIEWER_DOCX_WORKER_JSZIP_PATH, DEFAULT_FILE_VIEWER_DOCX_WORKER_PATH, DEFAULT_FILE_VIEWER_DOCX_RUNTIME_VERSION, DEFAULT_FILE_VIEWER_PDF_CMAP_PATH, DEFAULT_FILE_VIEWER_PDF_STANDARD_FONT_PATH, DEFAULT_FILE_VIEWER_PDF_WASM_PATH, DEFAULT_FILE_VIEWER_PDF_WORKER_PATH, DEFAULT_FILE_VIEWER_PPT_FONT_PATH, DEFAULT_FILE_VIEWER_PPT_FRAME_CACHE_PATH, DEFAULT_FILE_VIEWER_PPT_MODULE_PATH, DEFAULT_FILE_VIEWER_PPT_RUNTIME_PATH, DEFAULT_FILE_VIEWER_PPT_RUNTIME_VERSION, DEFAULT_FILE_VIEWER_PPT_WASM_PATH, DEFAULT_FILE_VIEWER_PPT_WORKER_PATH, DEFAULT_FILE_VIEWER_PRESENTATION_WORKER_PATH, DEFAULT_FILE_VIEWER_RENDERER_ASSET_MANIFESTS, DEFAULT_FILE_VIEWER_SPREADSHEET_WORKER_PATH, DEFAULT_FILE_VIEWER_IWORK_WORKER_PATH, DEFAULT_FILE_VIEWER_IWORK_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_HANGUL_WORKER_PATH, DEFAULT_FILE_VIEWER_HANGUL_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WORKER_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WASM_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_MODULE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_MODULE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_TYPST_COMPILER_WASM_URL, DEFAULT_FILE_VIEWER_TYPST_RENDERER_WASM_URL, DEFAULT_FILE_VIEWER_TYPST_RENDERER_WASM_PACKAGE_PATH, getDefaultFileViewerAssetBaseUrl, getFileViewerRendererAssetManifest, listFileViewerRendererAssetManifests, normalizeFileViewerAssetBaseUrl, resetDefaultFileViewerAssetBaseUrl, resolveFileViewerArchiveWasmUrl, resolveFileViewerArchiveWorkerUrl, resolveFileViewerChmWorkerUrl, resolveFileViewerChmWasmModuleUrl, resolveFileViewerChmWasmUrl, resolveFileViewerAssetUrl, resolveFileViewerCadAssetUrls, resolveFileViewerDataSqlWasmUrl, resolveFileViewerIllustratorWorkerUrl, resolveFileViewerDesignWorkerUrl, resolveFileViewerDesignContainerWorkerUrl, resolveFileViewerAdobeResourceWorkerUrl, resolveFileViewerPostscriptWorkerUrl, resolveFileViewerPostscriptWasmUrl, resolveFileViewerIdmlWorkerUrl, resolveFileViewerIdmlWasmUrl, resolveFileViewerDocxWorkerJsZipUrl, resolveFileViewerDocxWorkerUrl, resolveFileViewerDrawioViewerScriptUrl, resolveFileViewerModelAssetUrls, resolveFileViewerPdfAssetUrls, resolveFileViewerPresentationWorkerUrl, resolveFileViewerRendererAssets, resolveFileViewerRuntimeAssetBaseUrl, resolveFileViewerSpreadsheetWorkerUrl, resolveFileViewerIworkWorkerUrl, resolveFileViewerHangulWorkerUrl, resolveFileViewerWordPerfectWorkerUrl, resolveFileViewerWordPerfectWasmUrl, resolveFileViewerTypstCompilerWasmUrl, resolveFileViewerTypstRendererWasmUrl, setDefaultFileViewerAssetBaseUrl, } from "./assets.js";
1
+ export { DEFAULT_FILE_VIEWER_ARCHIVE_WORKER_PATH, DEFAULT_FILE_VIEWER_ARCHIVE_WASM_PATH, DEFAULT_FILE_VIEWER_CHM_WORKER_PATH, DEFAULT_FILE_VIEWER_CHM_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_MODULE_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_MODULE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_PATH, DEFAULT_FILE_VIEWER_CHM_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_CAD_DWF_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_LIBREDWG_SCRIPT_PATH, DEFAULT_FILE_VIEWER_CAD_LIBREDWG_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_RUNTIME_VERSION, DEFAULT_FILE_VIEWER_CAD_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_WORKER_PATH, DEFAULT_FILE_VIEWER_DATA_SQL_WASM_URL, DEFAULT_FILE_VIEWER_ILLUSTRATOR_WORKER_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_LICENSE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_ZSTD_LICENSE_PATH, DEFAULT_FILE_VIEWER_ILLUSTRATOR_ZSTD_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_DESIGN_WORKER_PATH, DEFAULT_FILE_VIEWER_DESIGN_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_DESIGN_CONTAINER_WORKER_PATH, DEFAULT_FILE_VIEWER_DESIGN_CONTAINER_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_ADOBE_RESOURCE_WORKER_PATH, DEFAULT_FILE_VIEWER_ADOBE_RESOURCE_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WORKER_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WASM_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_APACHE_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_APACHE_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_URW_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_URW_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CMYK_NOTICE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CMYK_NOTICE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CC0_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CC0_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_NATIVE_NOTICES_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_NATIVE_NOTICES_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CARLITO_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_CARLITO_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_TINOS_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_TINOS_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_COUSINE_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_COUSINE_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_NOTO_SYMBOLS_LICENSE_PATH, DEFAULT_FILE_VIEWER_POSTSCRIPT_NOTO_SYMBOLS_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_IDML_WORKER_PATH, DEFAULT_FILE_VIEWER_IDML_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_IDML_WASM_PATH, DEFAULT_FILE_VIEWER_IDML_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_IDML_LICENSE_PATH, DEFAULT_FILE_VIEWER_IDML_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_RUNTIME_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_RUNTIME_URL, DEFAULT_FILE_VIEWER_MODEL_IMPORT_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_IMPORT_LICENSE_URL, DEFAULT_FILE_VIEWER_MODEL_OCCT_LICENSE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_OCCT_LICENSE_URL, DEFAULT_FILE_VIEWER_MODEL_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_MODEL_WASM_URL, DEFAULT_FILE_VIEWER_MODEL_WORKER_URL, DEFAULT_FILE_VIEWER_DOCX_WORKER_JSZIP_PATH, DEFAULT_FILE_VIEWER_DOCX_WORKER_PATH, DEFAULT_FILE_VIEWER_DOCX_RUNTIME_VERSION, DEFAULT_FILE_VIEWER_PDF_CMAP_PATH, DEFAULT_FILE_VIEWER_PDF_STANDARD_FONT_PATH, DEFAULT_FILE_VIEWER_PDF_WASM_PATH, DEFAULT_FILE_VIEWER_PDF_WORKER_PATH, DEFAULT_FILE_VIEWER_PPT_FONT_PATH, DEFAULT_FILE_VIEWER_PPT_FRAME_CACHE_PATH, DEFAULT_FILE_VIEWER_PPT_MODULE_PATH, DEFAULT_FILE_VIEWER_PPT_RUNTIME_PATH, DEFAULT_FILE_VIEWER_PPT_RUNTIME_VERSION, DEFAULT_FILE_VIEWER_PPT_WASM_PATH, DEFAULT_FILE_VIEWER_PPT_WORKER_PATH, DEFAULT_FILE_VIEWER_PRESENTATION_WORKER_PATH, DEFAULT_FILE_VIEWER_RENDERER_ASSET_MANIFESTS, DEFAULT_FILE_VIEWER_SPREADSHEET_WORKER_PATH, DEFAULT_FILE_VIEWER_IWORK_WORKER_PATH, DEFAULT_FILE_VIEWER_IWORK_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_HANGUL_WORKER_PATH, DEFAULT_FILE_VIEWER_HANGUL_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WORKER_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WORKER_PACKAGE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WASM_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_WASM_PACKAGE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_MODULE_PATH, DEFAULT_FILE_VIEWER_WORDPERFECT_MODULE_PACKAGE_PATH, DEFAULT_FILE_VIEWER_TYPST_COMPILER_WASM_URL, DEFAULT_FILE_VIEWER_TYPST_RENDERER_WASM_URL, DEFAULT_FILE_VIEWER_TYPST_RENDERER_WASM_PACKAGE_PATH, getDefaultFileViewerAssetBaseUrl, getFileViewerRendererAssetManifest, listFileViewerRendererAssetManifests, normalizeFileViewerAssetBaseUrl, resetDefaultFileViewerAssetBaseUrl, resolveFileViewerArchiveWasmUrl, resolveFileViewerArchiveWorkerUrl, resolveFileViewerChmWorkerUrl, resolveFileViewerChmWasmModuleUrl, resolveFileViewerChmWasmUrl, resolveFileViewerAssetUrl, resolveFileViewerCadAssetUrls, resolveFileViewerDataSqlWasmUrl, resolveFileViewerIllustratorWorkerUrl, resolveFileViewerDesignWorkerUrl, resolveFileViewerDesignContainerWorkerUrl, resolveFileViewerAdobeResourceWorkerUrl, resolveFileViewerPostscriptWorkerUrl, resolveFileViewerPostscriptWasmUrl, resolveFileViewerIdmlWorkerUrl, resolveFileViewerIdmlWasmUrl, resolveFileViewerDocxWorkerJsZipUrl, resolveFileViewerDocxWorkerUrl, resolveFileViewerDrawioViewerScriptUrl, resolveFileViewerModelAssetUrls, resolveFileViewerPdfAssetUrls, resolveFileViewerPresentationWorkerUrl, resolveFileViewerRendererAssets, resolveFileViewerRuntimeAssetBaseUrl, resolveFileViewerSpreadsheetWorkerUrl, resolveFileViewerIworkWorkerUrl, resolveFileViewerHangulWorkerUrl, resolveFileViewerWordPerfectWorkerUrl, resolveFileViewerWordPerfectWasmUrl, resolveFileViewerTypstCompilerWasmUrl, resolveFileViewerTypstRendererWasmUrl, setDefaultFileViewerAssetBaseUrl, } from "./assets.js";
2
2
  export { ARCHIVE_EXTENSIONS, DEFAULT_REGISTERED_EXTENSIONS, DEFAULT_RENDERER_DEFINITIONS, DEFAULT_STABLE_SUPPORTED_EXTENSIONS, DEFAULT_SUPPORTED_EXTENSIONS, IMAGE_EXTENSIONS, MODEL_EXTENSIONS, TEXT_EXTENSIONS, } from "./registry/formats.js";
3
3
  export { precheckFileViewerSource } from "./source/precheck.js";
4
4
  export { DEFAULT_FILE_VIEWER_TEXT_CHUNK_OVERLAP, DEFAULT_FILE_VIEWER_TEXT_CHUNK_SIZE, DEFAULT_FILE_VIEWER_ZOOM_SCALE, buildFileViewerDocumentTextChunks, createEmptyFileViewerSearchState, createFileViewerZoomState, normalizeFileViewerAiOptions, normalizeFileViewerSearchOptions, } from "./features/document/model.js";
@@ -9,7 +9,7 @@ export declare const DEFAULT_FILE_VIEWER_CHM_WASM_PATH = "vendor/chm/chm_wasm_bg
9
9
  export declare const DEFAULT_FILE_VIEWER_CHM_WASM_PACKAGE_PATH = "@file-viewer/renderer-chm/wasm/chm_wasm_bg.wasm";
10
10
  export declare const DEFAULT_FILE_VIEWER_DOCX_WORKER_PATH = "vendor/docx/docx.worker.js";
11
11
  export declare const DEFAULT_FILE_VIEWER_DOCX_WORKER_JSZIP_PATH = "vendor/docx/jszip.min.js";
12
- export declare const DEFAULT_FILE_VIEWER_DOCX_RUNTIME_VERSION = "0.3.35";
12
+ export declare const DEFAULT_FILE_VIEWER_DOCX_RUNTIME_VERSION = "0.3.36";
13
13
  export declare const DEFAULT_FILE_VIEWER_PRESENTATION_WORKER_PATH = "vendor/pptx/pptx.worker.js";
14
14
  export declare const DEFAULT_FILE_VIEWER_PPT_RUNTIME_PATH = "vendor/ppt";
15
15
  export declare const DEFAULT_FILE_VIEWER_PPT_RUNTIME_VERSION = "0.3.6";
@@ -72,6 +72,14 @@ export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_APACHE_LICENSE_PATH = "
72
72
  export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_APACHE_LICENSE_PACKAGE_PATH = "@file-viewer/renderer-design/licenses/Stet-Apache-2.0.txt";
73
73
  export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PATH = "vendor/design/LICENSE.stet-MIT.txt";
74
74
  export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PACKAGE_PATH = "@file-viewer/renderer-design/licenses/Stet-MIT.txt";
75
+ export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_URW_LICENSE_PATH = "vendor/design/LICENSE.Stet-URW-Fonts-OFL-1.1.txt";
76
+ export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_URW_LICENSE_PACKAGE_PATH = "@file-viewer/renderer-design/licenses/Stet-URW-Fonts-OFL-1.1.txt";
77
+ export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_CMYK_NOTICE_PATH = "vendor/design/LICENSE.Stet-CMYK-Profile.txt";
78
+ export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_CMYK_NOTICE_PACKAGE_PATH = "@file-viewer/renderer-design/licenses/Stet-CMYK-Profile.txt";
79
+ export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_CC0_LICENSE_PATH = "vendor/design/LICENSE.CC0-1.0.txt";
80
+ export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_CC0_LICENSE_PACKAGE_PATH = "@file-viewer/renderer-design/licenses/CC0-1.0.txt";
81
+ export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_NATIVE_NOTICES_PATH = "vendor/design/Stet_NATIVE_THIRD_PARTY_LICENSES.json";
82
+ export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_NATIVE_NOTICES_PACKAGE_PATH = "@file-viewer/renderer-design/licenses/Stet_NATIVE_THIRD_PARTY_LICENSES.json";
75
83
  export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_CARLITO_LICENSE_PATH = "vendor/design/LICENSE.Carlito-OFL-1.1.txt";
76
84
  export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_CARLITO_LICENSE_PACKAGE_PATH = "@file-viewer/renderer-design/licenses/Carlito-OFL-1.1.txt";
77
85
  export declare const DEFAULT_FILE_VIEWER_POSTSCRIPT_TINOS_LICENSE_PATH = "vendor/design/LICENSE.Tinos-OFL-1.1.txt";
@@ -8,7 +8,7 @@ export const DEFAULT_FILE_VIEWER_CHM_WASM_PATH = 'vendor/chm/chm_wasm_bg.wasm';
8
8
  export const DEFAULT_FILE_VIEWER_CHM_WASM_PACKAGE_PATH = '@file-viewer/renderer-chm/wasm/chm_wasm_bg.wasm';
9
9
  export const DEFAULT_FILE_VIEWER_DOCX_WORKER_PATH = 'vendor/docx/docx.worker.js';
10
10
  export const DEFAULT_FILE_VIEWER_DOCX_WORKER_JSZIP_PATH = 'vendor/docx/jszip.min.js';
11
- export const DEFAULT_FILE_VIEWER_DOCX_RUNTIME_VERSION = '0.3.35';
11
+ export const DEFAULT_FILE_VIEWER_DOCX_RUNTIME_VERSION = '0.3.36';
12
12
  export const DEFAULT_FILE_VIEWER_PRESENTATION_WORKER_PATH = 'vendor/pptx/pptx.worker.js';
13
13
  export const DEFAULT_FILE_VIEWER_PPT_RUNTIME_PATH = 'vendor/ppt';
14
14
  export const DEFAULT_FILE_VIEWER_PPT_RUNTIME_VERSION = '0.3.6';
@@ -71,6 +71,14 @@ export const DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_APACHE_LICENSE_PATH = 'vendor/d
71
71
  export const DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_APACHE_LICENSE_PACKAGE_PATH = '@file-viewer/renderer-design/licenses/Stet-Apache-2.0.txt';
72
72
  export const DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PATH = 'vendor/design/LICENSE.stet-MIT.txt';
73
73
  export const DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PACKAGE_PATH = '@file-viewer/renderer-design/licenses/Stet-MIT.txt';
74
+ export const DEFAULT_FILE_VIEWER_POSTSCRIPT_URW_LICENSE_PATH = 'vendor/design/LICENSE.Stet-URW-Fonts-OFL-1.1.txt';
75
+ export const DEFAULT_FILE_VIEWER_POSTSCRIPT_URW_LICENSE_PACKAGE_PATH = '@file-viewer/renderer-design/licenses/Stet-URW-Fonts-OFL-1.1.txt';
76
+ export const DEFAULT_FILE_VIEWER_POSTSCRIPT_CMYK_NOTICE_PATH = 'vendor/design/LICENSE.Stet-CMYK-Profile.txt';
77
+ export const DEFAULT_FILE_VIEWER_POSTSCRIPT_CMYK_NOTICE_PACKAGE_PATH = '@file-viewer/renderer-design/licenses/Stet-CMYK-Profile.txt';
78
+ export const DEFAULT_FILE_VIEWER_POSTSCRIPT_CC0_LICENSE_PATH = 'vendor/design/LICENSE.CC0-1.0.txt';
79
+ export const DEFAULT_FILE_VIEWER_POSTSCRIPT_CC0_LICENSE_PACKAGE_PATH = '@file-viewer/renderer-design/licenses/CC0-1.0.txt';
80
+ export const DEFAULT_FILE_VIEWER_POSTSCRIPT_NATIVE_NOTICES_PATH = 'vendor/design/Stet_NATIVE_THIRD_PARTY_LICENSES.json';
81
+ export const DEFAULT_FILE_VIEWER_POSTSCRIPT_NATIVE_NOTICES_PACKAGE_PATH = '@file-viewer/renderer-design/licenses/Stet_NATIVE_THIRD_PARTY_LICENSES.json';
74
82
  export const DEFAULT_FILE_VIEWER_POSTSCRIPT_CARLITO_LICENSE_PATH = 'vendor/design/LICENSE.Carlito-OFL-1.1.txt';
75
83
  export const DEFAULT_FILE_VIEWER_POSTSCRIPT_CARLITO_LICENSE_PACKAGE_PATH = '@file-viewer/renderer-design/licenses/Carlito-OFL-1.1.txt';
76
84
  export const DEFAULT_FILE_VIEWER_POSTSCRIPT_TINOS_LICENSE_PATH = 'vendor/design/LICENSE.Tinos-OFL-1.1.txt';
@@ -1151,7 +1159,7 @@ export const DEFAULT_FILE_VIEWER_RENDERER_ASSET_MANIFESTS = [
1151
1159
  defaultPath: DEFAULT_FILE_VIEWER_POSTSCRIPT_WASM_PATH,
1152
1160
  packagePath: DEFAULT_FILE_VIEWER_POSTSCRIPT_WASM_PACKAGE_PATH,
1153
1161
  optionPath: 'design.postscriptWasmUrl',
1154
- description: 'License-safe Stet WebAssembly interpreter with OFL substitutes and no bundled CMYK ICC profile.',
1162
+ description: 'Unpatched Stet WebAssembly interpreter with URW Base35 OFL fonts and the CC0 Compact ICC CMYK profile.',
1155
1163
  },
1156
1164
  {
1157
1165
  id: 'postscript-design-license-stet-apache',
@@ -1173,6 +1181,46 @@ export const DEFAULT_FILE_VIEWER_RENDERER_ASSET_MANIFESTS = [
1173
1181
  packagePath: DEFAULT_FILE_VIEWER_POSTSCRIPT_STET_MIT_LICENSE_PACKAGE_PATH,
1174
1182
  description: 'Stet MIT license text.',
1175
1183
  },
1184
+ {
1185
+ id: 'postscript-design-license-urw-ofl',
1186
+ rendererId: 'postscript-design',
1187
+ kind: 'license',
1188
+ target: 'public',
1189
+ required: true,
1190
+ defaultPath: DEFAULT_FILE_VIEWER_POSTSCRIPT_URW_LICENSE_PATH,
1191
+ packagePath: DEFAULT_FILE_VIEWER_POSTSCRIPT_URW_LICENSE_PACKAGE_PATH,
1192
+ description: 'URW Base35 font provenance, copyright notices and complete SIL OFL 1.1 text.',
1193
+ },
1194
+ {
1195
+ id: 'postscript-design-license-cmyk-provenance',
1196
+ rendererId: 'postscript-design',
1197
+ kind: 'license',
1198
+ target: 'public',
1199
+ required: true,
1200
+ defaultPath: DEFAULT_FILE_VIEWER_POSTSCRIPT_CMYK_NOTICE_PATH,
1201
+ packagePath: DEFAULT_FILE_VIEWER_POSTSCRIPT_CMYK_NOTICE_PACKAGE_PATH,
1202
+ description: 'Provenance of the CC0 Compact ICC CMYK profile embedded by Stet.',
1203
+ },
1204
+ {
1205
+ id: 'postscript-design-license-cc0',
1206
+ rendererId: 'postscript-design',
1207
+ kind: 'license',
1208
+ target: 'public',
1209
+ required: true,
1210
+ defaultPath: DEFAULT_FILE_VIEWER_POSTSCRIPT_CC0_LICENSE_PATH,
1211
+ packagePath: DEFAULT_FILE_VIEWER_POSTSCRIPT_CC0_LICENSE_PACKAGE_PATH,
1212
+ description: 'Complete CC0 1.0 legal text for the embedded CMYK profile.',
1213
+ },
1214
+ {
1215
+ id: 'postscript-design-license-native-dependencies',
1216
+ rendererId: 'postscript-design',
1217
+ kind: 'license',
1218
+ target: 'public',
1219
+ required: true,
1220
+ defaultPath: DEFAULT_FILE_VIEWER_POSTSCRIPT_NATIVE_NOTICES_PATH,
1221
+ packagePath: DEFAULT_FILE_VIEWER_POSTSCRIPT_NATIVE_NOTICES_PACKAGE_PATH,
1222
+ description: 'Exact locked Rust dependency legal materials and original standard-library grants, bound to the Stet WASM hash.',
1223
+ },
1176
1224
  {
1177
1225
  id: 'postscript-design-license-carlito-ofl',
1178
1226
  rendererId: 'postscript-design',
@@ -813,7 +813,7 @@ export declare const DEFAULT_RENDERER_DEFINITIONS: readonly [{
813
813
  readonly enhancesRendererId: "data-asset";
814
814
  readonly enhancesExtensions: readonly ["eps"];
815
815
  readonly containerVersions: readonly ["EPSF/DSC PostScript", "Adobe PostScript programs"];
816
- readonly knownLimits: readonly ["Stet WASM renders pages in a terminable Worker with latest-wins interactive requests and bounded source size, VM memory, page count, dimensions, pixels, DPI, total print working set, and retained canvas cache", "The distributed runtime excludes upstream URW Base35 and Ghostscript CMYK ICC assets; Carlito, Tinos, Cousine, and Noto Sans Symbols 2 OFL substitutes plus the PLRM DeviceCMYK formula fallback can differ in metrics and color from Adobe applications", "This experimental path is not claimed to implement every Adobe PostScript Level 3 operator, font technology, color-management workflow, or printer device"];
816
+ readonly knownLimits: readonly ["Stet WASM renders pages in a terminable Worker with latest-wins interactive requests and bounded source size, VM memory, page count, dimensions, pixels, DPI, total print working set, and retained canvas cache", "The unpatched Stet runtime embeds URW Base35 fonts under OFL-1.1 and the Compact ICC Profiles CGATS001Compat-v2-micro CMYK profile under CC0; document-specific fonts and print conditions can still differ from Adobe applications", "This experimental path is not claimed to implement every Adobe PostScript Level 3 operator, font technology, color-management workflow, or printer device"];
817
817
  readonly capabilities: {
818
818
  readonly download: true;
819
819
  readonly print: true;
@@ -1489,7 +1489,7 @@ export const DEFAULT_RENDERER_DEFINITIONS = [
1489
1489
  ],
1490
1490
  "knownLimits": [
1491
1491
  "Stet WASM renders pages in a terminable Worker with latest-wins interactive requests and bounded source size, VM memory, page count, dimensions, pixels, DPI, total print working set, and retained canvas cache",
1492
- "The distributed runtime excludes upstream URW Base35 and Ghostscript CMYK ICC assets; Carlito, Tinos, Cousine, and Noto Sans Symbols 2 OFL substitutes plus the PLRM DeviceCMYK formula fallback can differ in metrics and color from Adobe applications",
1492
+ "The unpatched Stet runtime embeds URW Base35 fonts under OFL-1.1 and the Compact ICC Profiles CGATS001Compat-v2-micro CMYK profile under CC0; document-specific fonts and print conditions can still differ from Adobe applications",
1493
1493
  "This experimental path is not claimed to implement every Adobe PostScript Level 3 operator, font technology, color-management workflow, or printer device"
1494
1494
  ],
1495
1495
  "capabilities": {
@@ -822,7 +822,7 @@ export declare const coreLiteRendererDefinitions: ({
822
822
  readonly enhancesRendererId: "data-asset";
823
823
  readonly enhancesExtensions: readonly ["eps"];
824
824
  readonly containerVersions: readonly ["EPSF/DSC PostScript", "Adobe PostScript programs"];
825
- readonly knownLimits: readonly ["Stet WASM renders pages in a terminable Worker with latest-wins interactive requests and bounded source size, VM memory, page count, dimensions, pixels, DPI, total print working set, and retained canvas cache", "The distributed runtime excludes upstream URW Base35 and Ghostscript CMYK ICC assets; Carlito, Tinos, Cousine, and Noto Sans Symbols 2 OFL substitutes plus the PLRM DeviceCMYK formula fallback can differ in metrics and color from Adobe applications", "This experimental path is not claimed to implement every Adobe PostScript Level 3 operator, font technology, color-management workflow, or printer device"];
825
+ readonly knownLimits: readonly ["Stet WASM renders pages in a terminable Worker with latest-wins interactive requests and bounded source size, VM memory, page count, dimensions, pixels, DPI, total print working set, and retained canvas cache", "The unpatched Stet runtime embeds URW Base35 fonts under OFL-1.1 and the Compact ICC Profiles CGATS001Compat-v2-micro CMYK profile under CC0; document-specific fonts and print conditions can still differ from Adobe applications", "This experimental path is not claimed to implement every Adobe PostScript Level 3 operator, font technology, color-management workflow, or printer device"];
826
826
  readonly capabilities: {
827
827
  readonly download: true;
828
828
  readonly print: true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@file-viewer/core",
3
- "version": "3.2.1",
3
+ "version": "3.2.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Framework-neutral modular TypeScript core for File Viewer renderer orchestration, lifecycle APIs, search, zoom, print, and export",