@file-viewer/core 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.en.md +3 -3
  2. package/README.md +3 -3
  3. package/dist/assets.d.ts +2 -62
  4. package/dist/assets.js +5 -260
  5. package/dist/{options.d.ts → config/options.d.ts} +1 -1
  6. package/dist/{documentDom → features/document/dom}/anchors.d.ts +1 -1
  7. package/dist/{documentDom → features/document/dom}/providers.d.ts +1 -1
  8. package/dist/{documentEvents.d.ts → features/document/events.d.ts} +2 -2
  9. package/dist/{documentEvents.js → features/document/events.js} +3 -3
  10. package/dist/{document.d.ts → features/document/model.d.ts} +1 -1
  11. package/dist/{documentSearch.d.ts → features/document/search.d.ts} +1 -1
  12. package/dist/{documentSearch.js → features/document/search.js} +2 -2
  13. package/dist/{documentZoom.d.ts → features/document/zoom.d.ts} +1 -1
  14. package/dist/{documentZoom.js → features/document/zoom.js} +2 -2
  15. package/dist/{watermark.d.ts → features/watermark.d.ts} +1 -1
  16. package/dist/headless.d.ts +21 -21
  17. package/dist/headless.js +18 -13
  18. package/dist/index.d.ts +48 -48
  19. package/dist/index.js +23 -23
  20. package/dist/{lifecycleFacade.d.ts → lifecycle/facade.d.ts} +3 -3
  21. package/dist/{lifecycleFacade.js → lifecycle/facade.js} +1 -1
  22. package/dist/{operations.d.ts → lifecycle/operations.d.ts} +3 -3
  23. package/dist/{operations.js → lifecycle/operations.js} +8 -3
  24. package/dist/{export.d.ts → output/export.d.ts} +1 -1
  25. package/dist/platform/assets.d.ts +62 -0
  26. package/dist/platform/assets.js +260 -0
  27. package/dist/{presentation.d.ts → presentation/state.d.ts} +1 -1
  28. package/dist/{presentation.js → presentation/state.js} +3 -3
  29. package/dist/{capabilities.d.ts → registry/capabilities.d.ts} +1 -1
  30. package/dist/{capabilities.js → registry/capabilities.js} +1 -1
  31. package/dist/{registry.d.ts → registry/registry.d.ts} +1 -1
  32. package/dist/{registry.js → registry/registry.js} +1 -1
  33. package/dist/renderers/archive.d.ts +1 -1
  34. package/dist/renderers/archive.js +2 -2
  35. package/dist/renderers/archiveShared.js +1 -1
  36. package/dist/renderers/audio.d.ts +1 -1
  37. package/dist/renderers/cad.d.ts +1 -1
  38. package/dist/renderers/cad.js +3 -3
  39. package/dist/renderers/code.d.ts +1 -1
  40. package/dist/renderers/code.js +3 -3
  41. package/dist/renderers/data.d.ts +1 -1
  42. package/dist/renderers/data.js +1 -1
  43. package/dist/renderers/drawing.d.ts +1 -1
  44. package/dist/renderers/drawing.js +4 -4
  45. package/dist/renderers/eda.d.ts +1 -1
  46. package/dist/renderers/email.d.ts +1 -1
  47. package/dist/renderers/email.js +1 -1
  48. package/dist/renderers/epub.d.ts +1 -1
  49. package/dist/renderers/geo.d.ts +1 -1
  50. package/dist/renderers/geo.js +1 -1
  51. package/dist/renderers/image.d.ts +1 -1
  52. package/dist/renderers/image.js +2 -2
  53. package/dist/renderers/index.d.ts +1 -1
  54. package/dist/renderers/index.js +9 -4
  55. package/dist/renderers/markdown.d.ts +1 -1
  56. package/dist/renderers/markdown.js +3 -3
  57. package/dist/renderers/model.d.ts +1 -1
  58. package/dist/renderers/ofd.d.ts +1 -1
  59. package/dist/renderers/ofd.js +2 -2
  60. package/dist/renderers/openDocument.d.ts +1 -1
  61. package/dist/renderers/pdf.d.ts +1 -1
  62. package/dist/renderers/pdf.js +7 -5
  63. package/dist/renderers/pptx.d.ts +1 -1
  64. package/dist/renderers/pptx.js +19 -4
  65. package/dist/renderers/spreadsheet/worker/index.js +1 -1
  66. package/dist/renderers/spreadsheet.d.ts +1 -1
  67. package/dist/renderers/spreadsheet.js +4 -4
  68. package/dist/renderers/typst.d.ts +1 -1
  69. package/dist/renderers/typst.js +5 -5
  70. package/dist/renderers/umd.d.ts +1 -1
  71. package/dist/renderers/video.d.ts +1 -1
  72. package/dist/renderers/wordDoc.d.ts +1 -1
  73. package/dist/renderers/wordDoc.js +3 -3
  74. package/dist/renderers/wordDocx.d.ts +1 -1
  75. package/dist/renderers/wordDocx.js +4 -4
  76. package/dist/{rendererDispatcher.d.ts → rendering/dispatcher.d.ts} +1 -1
  77. package/dist/{rendererDispatcher.js → rendering/dispatcher.js} +3 -3
  78. package/dist/{rendererHandler.d.ts → rendering/handler.d.ts} +3 -3
  79. package/dist/{rendererHandler.js → rendering/handler.js} +11 -6
  80. package/dist/{source.d.ts → source/index.d.ts} +1 -1
  81. package/dist/{sourceLoading.d.ts → source/loading.d.ts} +3 -3
  82. package/dist/{sourceLoading.js → source/loading.js} +3 -3
  83. package/dist/{viewer.d.ts → viewer/createViewer.d.ts} +1 -1
  84. package/dist/{viewer.js → viewer/createViewer.js} +17 -11
  85. package/dist/{loading.d.ts → viewer/loading.d.ts} +1 -1
  86. package/dist/{viewerOperations.d.ts → viewer/operations.d.ts} +1 -1
  87. package/dist/{viewerOperations.js → viewer/operations.js} +2 -2
  88. package/dist/{state.d.ts → viewer/state.d.ts} +1 -1
  89. package/dist/{state.js → viewer/state.js} +1 -1
  90. package/package.json +3 -3
  91. package/dist/documentDom.d.ts +0 -5
  92. package/dist/documentDom.js +0 -3
  93. /package/dist/{options.js → config/options.js} +0 -0
  94. /package/dist/{types.d.ts → contracts/types.d.ts} +0 -0
  95. /package/dist/{types.js → contracts/types.js} +0 -0
  96. /package/dist/{documentDom → features/document/dom}/anchors.js +0 -0
  97. /package/dist/{documentDom → features/document/dom}/index.d.ts +0 -0
  98. /package/dist/{documentDom → features/document/dom}/index.js +0 -0
  99. /package/dist/{documentDom → features/document/dom}/providers.js +0 -0
  100. /package/dist/{documentDom → features/document/dom}/scroll.d.ts +0 -0
  101. /package/dist/{documentDom → features/document/dom}/scroll.js +0 -0
  102. /package/dist/{document.js → features/document/model.js} +0 -0
  103. /package/dist/{watermark.js → features/watermark.js} +0 -0
  104. /package/dist/{export.js → output/export.js} +0 -0
  105. /package/dist/{printLayout.d.ts → output/printLayout.d.ts} +0 -0
  106. /package/dist/{printLayout.js → output/printLayout.js} +0 -0
  107. /package/dist/{worker.d.ts → platform/worker.d.ts} +0 -0
  108. /package/dist/{worker.js → platform/worker.js} +0 -0
  109. /package/dist/{formats.d.ts → registry/formats.d.ts} +0 -0
  110. /package/dist/{formats.js → registry/formats.js} +0 -0
  111. /package/dist/{source.js → source/index.js} +0 -0
  112. /package/dist/{loading.js → viewer/loading.js} +0 -0
@@ -1,7 +1,7 @@
1
- import { resolveFileViewerSpreadsheetWorkerUrl } from '../assets.js';
2
- import { registerFileViewerZoomProvider, unregisterFileViewerZoomProvider, } from '../documentDom.js';
3
- import { createFileViewerZoomChangeEmitter as createZoomChangeEmitter } from '../documentZoom.js';
4
- import { createFileViewerWorkerController, } from '../worker.js';
1
+ import { resolveFileViewerSpreadsheetWorkerUrl } from '../platform/assets.js';
2
+ import { registerFileViewerZoomProvider, unregisterFileViewerZoomProvider, } from '../features/document/dom/index.js';
3
+ import { createFileViewerZoomChangeEmitter as createZoomChangeEmitter } from '../features/document/zoom.js';
4
+ import { createFileViewerWorkerController, } from '../platform/worker.js';
5
5
  import { buildRows, clampWindowStart, collectWindowStarts, createEmptyVirtualState, DEFAULT_SHEET_DEFAULTS, displayCellKey, getDataKey, markWindowState, ROW_STATE_FIELD, RowState, WINDOW_SIZE, } from './spreadsheet/state.js';
6
6
  import { buildColumns, createTableConfig, detectIndexOffset, getDisplayColumns, getRowHeight, HEADER_HEIGHT, INDEX_COLUMN_WIDTH, normalizeCellStyle, normalizeRowHeight, } from './spreadsheet/view.js';
7
7
  const spreadsheetStyle = `
@@ -1,4 +1,4 @@
1
- import type { FileRenderContext, FileViewerRenderedInstance } from '../types';
1
+ import type { FileRenderContext, FileViewerRenderedInstance } from '../contracts/types';
2
2
  declare global {
3
3
  interface Window {
4
4
  __FLYFISH_TYPST_COMPILER_WASM_URL__?: string;
@@ -1,9 +1,9 @@
1
1
  import { $typst } from '@myriaddreamin/typst.ts';
2
- import { resolveFileViewerTypstCompilerWasmUrl, resolveFileViewerTypstRendererWasmUrl, } from '../assets.js';
3
- import { registerFileViewerZoomProvider, unregisterFileViewerZoomProvider, } from '../documentDom.js';
4
- import { createFileViewerZoomChangeEmitter } from '../documentZoom.js';
5
- import { formatCssPixels } from '../printLayout.js';
6
- import { readFileViewerText } from '../source.js';
2
+ import { resolveFileViewerTypstCompilerWasmUrl, resolveFileViewerTypstRendererWasmUrl, } from '../platform/assets.js';
3
+ import { registerFileViewerZoomProvider, unregisterFileViewerZoomProvider, } from '../features/document/dom/index.js';
4
+ import { createFileViewerZoomChangeEmitter } from '../features/document/zoom.js';
5
+ import { formatCssPixels } from '../output/printLayout.js';
6
+ import { readFileViewerText } from '../source/index.js';
7
7
  const typstStyle = `
8
8
  .typst-viewer{min-height:100%;overflow:auto;background:#eef1f4;color:#172033}
9
9
  .typst-toolbar{position:sticky;top:0;z-index:2;display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid rgba(120,134,155,.18);background:rgba(248,250,252,.92);backdrop-filter:blur(16px)}
@@ -1,2 +1,2 @@
1
- import type { FileViewerRenderedInstance } from '../types';
1
+ import type { FileViewerRenderedInstance } from '../contracts/types';
2
2
  export default function renderUmd(buffer: ArrayBuffer, target: HTMLDivElement): Promise<FileViewerRenderedInstance>;
@@ -1,4 +1,4 @@
1
- import type { FileRenderContext, FileViewerRenderedInstance } from '../types';
1
+ import type { FileRenderContext, FileViewerRenderedInstance } from '../contracts/types';
2
2
  /**
3
3
  * Pure TypeScript video renderer.
4
4
  *
@@ -1,4 +1,4 @@
1
- import type { FileRenderContext, FileViewerRenderedInstance as AppWrapper } from '../types';
1
+ import type { FileRenderContext, FileViewerRenderedInstance as AppWrapper } from '../contracts/types';
2
2
  /**
3
3
  * 渲染 doc 文件
4
4
  */
@@ -1,7 +1,7 @@
1
1
  import { defaultMsDocCss, parseMsDocToHtml } from 'msdoc-viewer';
2
- import { applyPrintPageSize, buildPrintPageStyle, formatCssPixels } from '../printLayout.js';
3
- import { createFileViewerZoomChangeEmitter as createZoomChangeEmitter, } from '../documentZoom.js';
4
- import { registerFileViewerZoomProvider, unregisterFileViewerZoomProvider } from '../documentDom.js';
2
+ import { applyPrintPageSize, buildPrintPageStyle, formatCssPixels } from '../output/printLayout.js';
3
+ import { createFileViewerZoomChangeEmitter as createZoomChangeEmitter, } from '../features/document/zoom.js';
4
+ import { registerFileViewerZoomProvider, unregisterFileViewerZoomProvider } from '../features/document/dom/index.js';
5
5
  const PAGE_BREAK_MARKER = '<span class="msdoc-page-break"></span>';
6
6
  const EMPTY_PAGE_HTML = '<p class="msdoc-paragraph"><br></p>';
7
7
  const MSDOC_PAGE_SIZE = {
@@ -1,4 +1,4 @@
1
- import type { FileRenderContext, FileViewerRenderedInstance as AppWrapper } from '../types';
1
+ import type { FileRenderContext, FileViewerRenderedInstance as AppWrapper } from '../contracts/types';
2
2
  /**
3
3
  * 渲染docx文件
4
4
  */
@@ -1,7 +1,7 @@
1
- import { resolveFileViewerDocxWorkerUrl } from '../assets.js';
2
- import { applyPrintPageSize, buildPrintPageStyle, formatCssPixels, getElementPrintPageSize } from '../printLayout.js';
3
- import { createFileViewerZoomChangeEmitter as createZoomChangeEmitter, } from '../documentZoom.js';
4
- import { registerFileViewerZoomProvider, unregisterFileViewerZoomProvider } from '../documentDom.js';
1
+ import { resolveFileViewerDocxWorkerUrl } from '../platform/assets.js';
2
+ import { applyPrintPageSize, buildPrintPageStyle, formatCssPixels, getElementPrintPageSize } from '../output/printLayout.js';
3
+ import { createFileViewerZoomChangeEmitter as createZoomChangeEmitter, } from '../features/document/zoom.js';
4
+ import { registerFileViewerZoomProvider, unregisterFileViewerZoomProvider } from '../features/document/dom/index.js';
5
5
  const DOCX_DEFAULT_PAGE_SIZE = {
6
6
  width: 794,
7
7
  height: 1123
@@ -1,4 +1,4 @@
1
- import type { RendererRegistry } from './types';
1
+ import type { RendererRegistry } from '../contracts/types';
2
2
  export interface FileViewerRendererHandlerEntry<Handler> {
3
3
  rendererId: string;
4
4
  handler: Handler;
@@ -1,6 +1,6 @@
1
- import { DEFAULT_RENDERER_DEFINITIONS } from './formats.js';
2
- import { createRendererRegistry } from './registry.js';
3
- import { normalizeFileExtension } from './source.js';
1
+ import { DEFAULT_RENDERER_DEFINITIONS } from '../registry/formats.js';
2
+ import { createRendererRegistry } from '../registry/registry.js';
3
+ import { normalizeFileExtension } from '../source/index.js';
4
4
  export const createFileViewerRendererDispatcher = ({ registry = createRendererRegistry(DEFAULT_RENDERER_DEFINITIONS), handlers, fallbackHandler, fallbackKey = 'error', }) => {
5
5
  const handlersByRendererId = Array.from(handlers).reduce((result, entry) => {
6
6
  result.set(entry.rendererId, entry.handler);
@@ -1,6 +1,6 @@
1
- import type { FileViewerRendererDispatcher } from './rendererDispatcher';
2
- import { type FileViewerMutableAccessor, type MutableFileViewerRenderReadinessState } from './sourceLoading';
3
- import type { FileRenderExportAdapter, FileRenderContext, FileRenderHandler, FileViewerLifecycleContext, RendererDefinition, RendererLoadContext, RendererLoader, RendererRegistry, RendererSession } from './types';
1
+ import type { FileViewerRendererDispatcher } from './dispatcher';
2
+ import { type FileViewerMutableAccessor, type MutableFileViewerRenderReadinessState } from '../source/loading';
3
+ import type { FileRenderExportAdapter, FileRenderContext, FileRenderHandler, FileViewerLifecycleContext, RendererDefinition, RendererLoadContext, RendererLoader, RendererRegistry, RendererSession } from '../contracts/types';
4
4
  export declare const FILE_VIEWER_RENDER_SESSION_DISPOSE_ERROR_MESSAGE = "\u9884\u89C8\u5185\u5BB9\u5378\u8F7D\u5931\u8D25";
5
5
  export interface ResolveFileViewerRenderSessionDisposeErrorMessageInput {
6
6
  message?: string;
@@ -1,9 +1,14 @@
1
- import { DEFAULT_RENDERER_DEFINITIONS } from './formats.js';
2
- import { waitForFileViewerNextPaint } from './export.js';
3
- import { createFileViewerRendererDispatcher } from './rendererDispatcher.js';
4
- import { createRendererRegistry } from './registry.js';
5
- import { getExtension, normalizeFileExtension } from './source.js';
6
- import { applyFileViewerRenderReadinessState, } from './sourceLoading.js';
1
+ // Rendering orchestration layer.
2
+ //
3
+ // This module adapts registry entries into disposable renderer sessions. It is
4
+ // the only place that should bridge raw buffers, DOM targets, render contexts,
5
+ // export adapters, and readiness state.
6
+ import { DEFAULT_RENDERER_DEFINITIONS } from '../registry/formats.js';
7
+ import { waitForFileViewerNextPaint } from '../output/export.js';
8
+ import { createFileViewerRendererDispatcher } from './dispatcher.js';
9
+ import { createRendererRegistry } from '../registry/registry.js';
10
+ import { getExtension, normalizeFileExtension } from '../source/index.js';
11
+ import { applyFileViewerRenderReadinessState, } from '../source/loading.js';
7
12
  export const FILE_VIEWER_RENDER_SESSION_DISPOSE_ERROR_MESSAGE = '预览内容卸载失败';
8
13
  export const DEFAULT_FILE_VIEWER_RENDER_TARGET_CLASS = 'file-render';
9
14
  const isPromiseLike = (value) => {
@@ -1,4 +1,4 @@
1
- import type { FileViewerFileRef, FileViewerSource, NormalizedFileViewerSource } from './types';
1
+ import type { FileViewerFileRef, FileViewerSource, NormalizedFileViewerSource } from '../contracts/types';
2
2
  export type FileViewerReadResult = string | ArrayBuffer | undefined | null;
3
3
  export declare const DEFAULT_FILE_VIEWER_SOURCE_FILENAME = "preview.bin";
4
4
  export declare const normalizeFileExtension: (extension: string) => string;
@@ -1,6 +1,6 @@
1
- import type { FileViewerFileRef, FileViewerLifecycleContext, FileViewerPdfOptions } from './types';
2
- import { type FileViewerLifecycleStateController } from './operations';
3
- import { type FileViewerErrorMessageFormatter } from './state';
1
+ import type { FileViewerFileRef, FileViewerLifecycleContext, FileViewerPdfOptions } from '../contracts/types';
2
+ import { type FileViewerLifecycleStateController } from '../lifecycle/operations';
3
+ import { type FileViewerErrorMessageFormatter } from '../viewer/state';
4
4
  export declare const DEFAULT_PDF_RANGE_CHUNK_SIZE: number;
5
5
  export declare const DEFAULT_FILE_VIEWER_STREAMING_PDF_FILENAME = "preview.pdf";
6
6
  export declare const FILE_VIEWER_REMOTE_MISSING_DATA_ERROR_MESSAGE = "\u6587\u4EF6\u4E0B\u8F7D\u5931\u8D25";
@@ -1,6 +1,6 @@
1
- import { buildFileViewerLifecycleContext, } from './operations.js';
2
- import { FILE_VIEWER_PREVIEW_MESSAGES, } from './state.js';
3
- import { DEFAULT_FILE_VIEWER_SOURCE_FILENAME, getExtension, normalizeFilename, readFileViewerBuffer, resolveFileViewerSourceFilename, wrapFileViewerFileRef, } from './source.js';
1
+ import { buildFileViewerLifecycleContext, } from '../lifecycle/operations.js';
2
+ import { FILE_VIEWER_PREVIEW_MESSAGES, } from '../viewer/state.js';
3
+ import { DEFAULT_FILE_VIEWER_SOURCE_FILENAME, getExtension, normalizeFilename, readFileViewerBuffer, resolveFileViewerSourceFilename, wrapFileViewerFileRef, } from './index.js';
4
4
  export const DEFAULT_PDF_RANGE_CHUNK_SIZE = 64 * 1024;
5
5
  export const DEFAULT_FILE_VIEWER_STREAMING_PDF_FILENAME = 'preview.pdf';
6
6
  export const FILE_VIEWER_REMOTE_MISSING_DATA_ERROR_MESSAGE = '文件下载失败';
@@ -1,4 +1,4 @@
1
- import type { FileViewerEventHandler, FileViewerInstance, FileViewerOptions, RendererRegistry } from './types';
1
+ import type { FileViewerEventHandler, FileViewerInstance, FileViewerOptions, RendererRegistry } from '../contracts/types';
2
2
  export interface CreateViewerOptions {
3
3
  registry?: RendererRegistry;
4
4
  options?: FileViewerOptions;
@@ -1,14 +1,20 @@
1
- import { createEmptyFileViewerSearchState, } from './document.js';
2
- import { createFileViewerDocumentFeatureControllerActionHandlers, } from './documentEvents.js';
3
- import { createFileViewerZoomController } from './documentZoom.js';
4
- import { DEFAULT_FILE_VIEWER_DOWNLOAD_FILENAME, DEFAULT_FILE_VIEWER_EXPORT_FILENAME, DEFAULT_FILE_VIEWER_PREVIEW_TITLE, createFileViewerOriginalSourceStateFromNormalizedSource, executeFileViewerDownloadOperation, executeFileViewerExportHtmlOperation, executeFileViewerPrintOperation, resolveFileViewerDisplayFilename, resolveFileViewerOperationFilename, } from './viewerOperations.js';
5
- import { getRendererAvailability, createUnsupportedAvailability } from './capabilities.js';
6
- import { buildFileViewerLifecycleContextFromNormalizedSource, buildFileViewerOperationContext, runFileViewerBeforeOperation, runFileViewerLifecycleHook, } from './operations.js';
7
- import { createRendererRegistry } from './registry.js';
8
- import { applyFileViewerRenderSurfaceState, createFileViewerRenderSurfaceState, } from './rendererHandler.js';
9
- import { createFileViewerRequestScope } from './sourceLoading.js';
10
- import { normalizeSource } from './source.js';
11
- import { buildFileViewerWatermarkInlineStyle } from './watermark.js';
1
+ // Imperative viewer composition root.
2
+ //
3
+ // `createViewer` wires source normalization, lifecycle hooks, renderer
4
+ // sessions, document features, watermarking, and public operations into a
5
+ // framework-neutral controller. Framework packages should wrap this API instead
6
+ // of reimplementing the orchestration.
7
+ import { createEmptyFileViewerSearchState, } from '../features/document/model.js';
8
+ import { createFileViewerDocumentFeatureControllerActionHandlers, } from '../features/document/events.js';
9
+ import { createFileViewerZoomController } from '../features/document/zoom.js';
10
+ import { DEFAULT_FILE_VIEWER_DOWNLOAD_FILENAME, DEFAULT_FILE_VIEWER_EXPORT_FILENAME, DEFAULT_FILE_VIEWER_PREVIEW_TITLE, createFileViewerOriginalSourceStateFromNormalizedSource, executeFileViewerDownloadOperation, executeFileViewerExportHtmlOperation, executeFileViewerPrintOperation, resolveFileViewerDisplayFilename, resolveFileViewerOperationFilename, } from './operations.js';
11
+ import { getRendererAvailability, createUnsupportedAvailability } from '../registry/capabilities.js';
12
+ import { buildFileViewerLifecycleContextFromNormalizedSource, buildFileViewerOperationContext, runFileViewerBeforeOperation, runFileViewerLifecycleHook, } from '../lifecycle/operations.js';
13
+ import { createRendererRegistry } from '../registry/registry.js';
14
+ import { applyFileViewerRenderSurfaceState, createFileViewerRenderSurfaceState, } from '../rendering/handler.js';
15
+ import { createFileViewerRequestScope } from '../source/loading.js';
16
+ import { normalizeSource } from '../source/index.js';
17
+ import { buildFileViewerWatermarkInlineStyle } from '../features/watermark.js';
12
18
  const emitLifecycle = async (options, onEvent, phase, source, version, startedAt, reason) => {
13
19
  const now = Date.now();
14
20
  const context = buildFileViewerLifecycleContextFromNormalizedSource({
@@ -1,4 +1,4 @@
1
- import type { FileViewerStateTheme } from './types';
1
+ import type { FileViewerStateTheme } from '../contracts/types';
2
2
  export type FileViewerLoadingTheme = FileViewerStateTheme;
3
3
  export interface FileViewerLoadingState {
4
4
  loading: boolean;
@@ -1,5 +1,5 @@
1
1
  import type { FileViewerErrorMessageFormatter } from './state';
2
- import type { FileRenderExportAdapter, FileViewerDownloadOptions, FileViewerExportHtmlOptions, FileViewerOperationType, FileViewerPrintOptions, NormalizedFileViewerSource } from './types';
2
+ import type { FileRenderExportAdapter, FileViewerDownloadOptions, FileViewerExportHtmlOptions, FileViewerOperationType, FileViewerPrintOptions, NormalizedFileViewerSource } from '../contracts/types';
3
3
  export interface FileViewerOriginalSourceState {
4
4
  buffer?: ArrayBuffer | null;
5
5
  file?: File | Blob | null;
@@ -1,5 +1,5 @@
1
- import { buildFileViewerRenderedHtmlDocument, triggerFileViewerBlobDownload, triggerFileViewerUrlDownload, waitForFileViewerPrintWindowReady, } from './export.js';
2
- import { DEFAULT_FILE_VIEWER_SOURCE_FILENAME } from './source.js';
1
+ import { buildFileViewerRenderedHtmlDocument, triggerFileViewerBlobDownload, triggerFileViewerUrlDownload, waitForFileViewerPrintWindowReady, } from '../output/export.js';
2
+ import { DEFAULT_FILE_VIEWER_SOURCE_FILENAME } from '../source/index.js';
3
3
  export const DEFAULT_FILE_VIEWER_PREVIEW_TITLE = 'file-viewer-preview';
4
4
  export const DEFAULT_FILE_VIEWER_EXPORT_FILENAME = 'preview';
5
5
  export const DEFAULT_FILE_VIEWER_DOWNLOAD_FILENAME = DEFAULT_FILE_VIEWER_SOURCE_FILENAME;
@@ -1,4 +1,4 @@
1
- import type { FileViewerStateDescriptor, FileViewerStateTheme } from './types';
1
+ import type { FileViewerStateDescriptor, FileViewerStateTheme } from '../contracts/types';
2
2
  export type FileViewerErrorMessageFormatter = (prefix: string, error: unknown) => string;
3
3
  export declare const FILE_VIEWER_PREVIEW_MESSAGES: Readonly<{
4
4
  downloading: "正在下载文件资源...";
@@ -1,4 +1,4 @@
1
- import { normalizeFileExtension } from './source.js';
1
+ import { normalizeFileExtension } from '../source/index.js';
2
2
  export const FILE_VIEWER_PREVIEW_MESSAGES = Object.freeze({
3
3
  downloading: '正在下载文件资源...',
4
4
  streamingPdf: '正在建立 PDF 流式预览...',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@file-viewer/core",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Framework-neutral TypeScript core for Flyfish File Viewer",
@@ -23,7 +23,7 @@
23
23
  "url": "git+https://github.com/flyfish-dev/file-viewer-core.git",
24
24
  "directory": "packages/core"
25
25
  },
26
- "homepage": "https://doc.flyfish-viewer.app/",
26
+ "homepage": "https://doc.file-viewer.app/",
27
27
  "main": "./dist/index.js",
28
28
  "module": "./dist/index.js",
29
29
  "types": "./dist/index.d.ts",
@@ -58,7 +58,7 @@
58
58
  "LICENSE"
59
59
  ],
60
60
  "dependencies": {
61
- "@aiden0z/pptx-renderer": "^1.2.0",
61
+ "@file-viewer/pptx": "^2.0.3",
62
62
  "@flyfish-dev/cad-viewer": "^0.6.4",
63
63
  "@excalidraw/excalidraw": "^0.18.1",
64
64
  "@kenjiuno/msgreader": "^1.28.0",
@@ -1,5 +0,0 @@
1
- export { DEFAULT_FILE_VIEWER_ANCHOR_EXCLUDE_SELECTOR, DEFAULT_FILE_VIEWER_ANCHOR_SELECTOR, collectFileViewerDocumentAnchors, findFileViewerAnchorForElement, getCurrentFileViewerDocumentAnchor, scrollToFileViewerDocumentAnchor, } from './documentDom/anchors';
2
- export { findFileViewerSearchProvider, findFileViewerZoomProvider, registerFileViewerSearchProvider, registerFileViewerZoomProvider, unregisterFileViewerSearchProvider, unregisterFileViewerZoomProvider, } from './documentDom/providers';
3
- export type { FileViewerSearchProviderHost, FileViewerZoomProviderHost, } from './documentDom/providers';
4
- export { DEFAULT_FILE_VIEWER_SCROLL_CONTAINER_CANDIDATE_SELECTOR, DEFAULT_FILE_VIEWER_SCROLL_CONTAINER_SELECTOR, DEFAULT_FILE_VIEWER_SCROLLABLE_OVERFLOW_VALUES, getFileViewerScrollableRange, isFileViewerScrollableElement, resolveFileViewerScrollContainer, } from './documentDom/scroll';
5
- export type { ResolveFileViewerScrollContainerOptions, } from './documentDom/scroll';
@@ -1,3 +0,0 @@
1
- export { DEFAULT_FILE_VIEWER_ANCHOR_EXCLUDE_SELECTOR, DEFAULT_FILE_VIEWER_ANCHOR_SELECTOR, collectFileViewerDocumentAnchors, findFileViewerAnchorForElement, getCurrentFileViewerDocumentAnchor, scrollToFileViewerDocumentAnchor, } from './documentDom/anchors.js';
2
- export { findFileViewerSearchProvider, findFileViewerZoomProvider, registerFileViewerSearchProvider, registerFileViewerZoomProvider, unregisterFileViewerSearchProvider, unregisterFileViewerZoomProvider, } from './documentDom/providers.js';
3
- export { DEFAULT_FILE_VIEWER_SCROLL_CONTAINER_CANDIDATE_SELECTOR, DEFAULT_FILE_VIEWER_SCROLL_CONTAINER_SELECTOR, DEFAULT_FILE_VIEWER_SCROLLABLE_OVERFLOW_VALUES, getFileViewerScrollableRange, isFileViewerScrollableElement, resolveFileViewerScrollContainer, } from './documentDom/scroll.js';
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes