@file-viewer/core 2.2.3 → 2.2.5
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 +17 -0
- package/README.md +17 -0
- package/dist/browser/controller.js +2 -2
- package/dist/contracts/types.d.ts +59 -4
- package/dist/features/printMask.d.ts +3 -2
- package/dist/features/printMask.js +74 -12
- package/dist/features/printMaskDesigner.d.ts +2 -1
- package/dist/features/printMaskDesigner.js +186 -13
- package/dist/headless.d.ts +5 -3
- package/dist/headless.js +3 -2
- package/dist/i18n/messages.d.ts +4 -2
- package/dist/i18n/messages.ja.d.ts +7 -0
- package/dist/i18n/messages.ja.js +435 -0
- package/dist/i18n/messages.js +59 -17
- package/dist/index.d.ts +6 -4
- package/dist/index.js +4 -3
- package/dist/lifecycle/operations.d.ts +6 -4
- package/dist/lifecycle/operations.js +12 -5
- package/dist/output/export.js +2 -1
- package/dist/platform/assets.d.ts +8 -5
- package/dist/platform/assets.js +67 -13
- package/dist/renderers/image.js +48 -12
- package/dist/source/precheck.d.ts +36 -0
- package/dist/source/precheck.js +250 -0
- package/dist/viewer/createViewer.js +2 -1
- package/dist/viewer/operations.js +4 -3
- package/dist/viewer/state.js +19 -7
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { FileRenderContext, FileViewerRenderedInstance } from './contracts/types';
|
|
2
|
-
export { DEFAULT_FILE_VIEWER_ARCHIVE_WORKER_PATH, DEFAULT_FILE_VIEWER_ARCHIVE_WASM_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_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_WORKER_PATH, DEFAULT_FILE_VIEWER_DATA_SQL_WASM_URL, 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_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_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_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, resolveFileViewerAssetUrl, resolveFileViewerCadAssetUrls, resolveFileViewerDataSqlWasmUrl, resolveFileViewerDocxWorkerJsZipUrl, resolveFileViewerDocxWorkerUrl, resolveFileViewerDrawioViewerScriptUrl, resolveFileViewerModelAssetUrls, resolveFileViewerPdfAssetUrls, resolveFileViewerPresentationWorkerUrl, resolveFileViewerRendererAssets, resolveFileViewerRuntimeAssetBaseUrl, resolveFileViewerSpreadsheetWorkerUrl, resolveFileViewerTypstCompilerWasmUrl, resolveFileViewerTypstRendererWasmUrl, setDefaultFileViewerAssetBaseUrl, } from './assets';
|
|
2
|
+
export { DEFAULT_FILE_VIEWER_ARCHIVE_WORKER_PATH, DEFAULT_FILE_VIEWER_ARCHIVE_WASM_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_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_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, resolveFileViewerAssetUrl, resolveFileViewerCadAssetUrls, resolveFileViewerDataSqlWasmUrl, resolveFileViewerDocxWorkerJsZipUrl, resolveFileViewerDocxWorkerUrl, resolveFileViewerDrawioViewerScriptUrl, resolveFileViewerModelAssetUrls, resolveFileViewerPdfAssetUrls, resolveFileViewerPresentationWorkerUrl, resolveFileViewerRendererAssets, resolveFileViewerRuntimeAssetBaseUrl, resolveFileViewerSpreadsheetWorkerUrl, resolveFileViewerTypstCompilerWasmUrl, resolveFileViewerTypstRendererWasmUrl, setDefaultFileViewerAssetBaseUrl, } from './assets';
|
|
3
3
|
export { ARCHIVE_EXTENSIONS, DEFAULT_RENDERER_DEFINITIONS, DEFAULT_SUPPORTED_EXTENSIONS, IMAGE_EXTENSIONS, MODEL_EXTENSIONS, TEXT_EXTENSIONS, } from './registry/formats';
|
|
4
|
+
export { precheckFileViewerSource } from './source/precheck';
|
|
5
|
+
export type { FileViewerPrecheckOptions, FileViewerPrecheckReason, FileViewerPrecheckResult, FileViewerPrecheckStatus, } from './source/precheck';
|
|
4
6
|
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';
|
|
5
7
|
export { DEFAULT_FILE_VIEWER_SEARCH_ACTIVE_CLASS, DEFAULT_FILE_VIEWER_SEARCH_MATCH_CLASS, DEFAULT_FILE_VIEWER_SEARCH_MAX_MATCHES, applyFileViewerSearchState, cloneFileViewerSearchState, createFileViewerDomSearchController, createFileViewerDomSearchControllerActionHandlers, destroyFileViewerDomSearchController, observeFileViewerDomSearchController, runFileViewerDomSearchControllerAction, syncFileViewerDomSearchControllerState, } from './features/document/search';
|
|
6
8
|
export type { FileViewerDocumentAnchorsTarget, FileViewerDomSearchController, FileViewerDomSearchControllerActionHandlers, FileViewerDomSearchControllerStateTarget, MutableFileViewerSearchState, } from './features/document/search';
|
|
@@ -17,7 +19,7 @@ export { buildFileViewerRenderedHtmlDocument, buildExportHtmlDocument, collectDo
|
|
|
17
19
|
export { applyPrintPageSize, buildPrintPageStyle, formatCssPixels, getElementPrintPageSize, } from './output/printLayout';
|
|
18
20
|
export type { ApplyPrintPageSizeOptions, BuildPrintPageStyleOptions, PrintPageSize, } from './output/printLayout';
|
|
19
21
|
export { DEFAULT_FILE_VIEWER_DOWNLOAD_FILENAME, DEFAULT_FILE_VIEWER_EXPORT_FILENAME, DEFAULT_FILE_VIEWER_PREVIEW_TITLE, FILE_VIEWER_OPERATION_ACTION_ERROR_PREFIXES, createFileViewerOperationActionHandlers, createFileViewerOriginalSourceState, createFileViewerOriginalSourceStateFromNormalizedSource, createFileViewerPublicOperationActionHandlers, executeFileViewerDownloadOperation, executeFileViewerExportHtmlOperation, executeFileViewerPrintOperation, hasFileViewerOriginalSource, resolveFileViewerDisplayFilename, resolveFileViewerOperationActionErrorMessage, resolveFileViewerOperationFilename, resolveFileViewerOriginalFilename, } from './viewer/operations';
|
|
20
|
-
export { FILE_VIEWER_BUILTIN_MESSAGES, FILE_VIEWER_DEFAULT_LOCALE, FILE_VIEWER_FALLBACK_LOCALE, createFileViewerTranslator, formatFileViewerMessage, normalizeFileViewerLocale, resolveFileViewerLocale, translateFileViewerMessage, } from './i18n/messages';
|
|
22
|
+
export { FILE_VIEWER_BUILTIN_MESSAGES, FILE_VIEWER_DEFAULT_LOCALE, FILE_VIEWER_FALLBACK_LOCALE, FILE_VIEWER_SUPPORTED_LOCALES, createFileViewerTranslator, formatFileViewerMessage, normalizeFileViewerLocale, resolveFileViewerLocale, translateFileViewerMessage, } from './i18n/messages';
|
|
21
23
|
export type { FileViewerI18nInput, FileViewerResolvedLocale, ResolveFileViewerI18nInput, } from './i18n/messages';
|
|
22
24
|
export type { CreateFileViewerOperationActionHandlersInput, FileViewerOperationActionErrorFormatter, FileViewerFileOperationType, FileViewerOperationActionErrorContext, FileViewerOperationActionErrorPrefixes, FileViewerOperationActionHandlers, FileViewerPublicOperationActionHandlers, ResolveFileViewerOperationActionErrorMessageInput, } from './viewer/operations';
|
|
23
25
|
export { clearFileViewerAutoRendererPresets, collectFileViewerRendererPlugins, createRendererRegistry, findFileViewerAutoRendererPreset, getFileViewerAutoRendererPresetVersion, hasFileViewerRendererPresetName, installFileViewerRendererPlugins, listFileViewerAutoRendererPresetEntries, listFileViewerAutoRendererPresets, registerFileViewerAutoRendererPreset, resolveFileViewerRendererPresetInputs, unregisterFileViewerAutoRendererPreset, } from './registry/registry';
|
|
@@ -67,7 +69,7 @@ export { DEFAULT_FILE_VIEWER_STATE_THEME, DEFAULT_FILE_VIEWER_UNSUPPORTED_DESCRI
|
|
|
67
69
|
export type { FileViewerErrorMessageFormatter, FileViewerRendererInstallHint, } from './viewer/state';
|
|
68
70
|
export { buildFileViewerWatermarkBackgroundImage, buildFileViewerWatermarkInlineStyle, buildFileViewerWatermarkStyle, buildFileViewerWatermarkSvg, normalizeFileViewerWatermark, resolveFileViewerWatermarkPresentationState, } from './features/watermark';
|
|
69
71
|
export type { FileViewerWatermarkPresentationState, FileViewerWatermarkStyle, } from './features/watermark';
|
|
70
|
-
export { buildFileViewerPrintMaskOverlayHtml, applyFileViewerPagePrintMasksToHtml, normalizeFileViewerPrintMaskOptions, normalizeFileViewerPrintMaskRegion, FILE_VIEWER_PRINT_MASK_STYLE, } from './features/printMask';
|
|
72
|
+
export { buildFileViewerPrintMaskOverlayHtml, applyFileViewerPagePrintMasksToHtml, normalizeFileViewerPrintMaskOptions, normalizeFileViewerPrintMaskRegion, normalizeFileViewerPrintStamp, FILE_VIEWER_PRINT_MASK_STYLE, } from './features/printMask';
|
|
71
73
|
export { openFileViewerPrintMaskDesignerAsync, } from './features/printMaskLoader';
|
|
72
74
|
export type { FileViewerPrintMaskDesignerResult, OpenFileViewerPrintMaskDesignerOptions, } from './features/printMaskDesigner';
|
|
73
75
|
export { cancelFileViewerPreviewRequest, DEFAULT_FILE_VIEWER_STREAMING_PDF_FILENAME, DEFAULT_FILE_VIEWER_PREVIEW_LOAD_ERROR_LOGGER, DEFAULT_PDF_RANGE_CHUNK_SIZE, FILE_VIEWER_PREVIEW_LOAD_ERROR_PREFIXES, FILE_VIEWER_REMOTE_MISSING_DATA_ERROR_MESSAGE, applyFileViewerEmptyPreviewState, applyFileViewerPreviewFilenameState, applyFileViewerPreviewSourceUrlState, applyFileViewerReadPreviewState, applyFileViewerRenderReadinessState, applyFileViewerPreviewRequestResetState, commitFileViewerEmptyPreviewResetState, commitFileViewerLoadStartState, commitFileViewerPreviewRequestStartState, commitFileViewerRenderCompleteState, commitFileViewerRemoteDownloadState, createFileViewerEmptyPreviewState, createFileViewerLoadStartState, createFileViewerPreviewStateTarget, createFileViewerSourceLoadingActionHandlers, createFileViewerReadPreviewState, createFileViewerPreviewRequestResetState, createFileViewerRenderCompleteState, createFileViewerRequestController, createFileViewerRequestScope, createFileViewerStreamingPdfPlaceholderFile, finalizeFileViewerPreviewLoadState, hasFileViewerPreviewSource, isFileViewerAbortError, isSameOriginUrl, normalizeFileViewerSourceUrl, normalizePdfStreamingMode, resolveFileViewerFileRefSourcePlan, resolveFileViewerLoadStartMessage, resolveFileViewerMissingRemoteDataErrorMessage, resolveFileViewerPreviewLoadErrorMessage, resolveFileViewerPreviewRequestReason, resolveFileViewerRemoteSourcePlan, resolveFileViewerPageHref, reportFileViewerMissingRemoteData, reportFileViewerPreviewLoadError, runFileViewerLocalFilePreview, runFileViewerPreviewComponentUnmount, runFileViewerPreviewRequest, runFileViewerPreviewSourceChange, runFileViewerRemoteFilePreview, runFileViewerReadAndRenderFile, runFileViewerStreamingPdfPreview, shouldStreamPdfUrl, } from './source/loading';
|
|
@@ -88,4 +90,4 @@ export type { CreateFileViewerZoomControllerOptions, FileViewerZoomOperation, }
|
|
|
88
90
|
export type { CreateViewerOptions } from './viewer/createViewer';
|
|
89
91
|
export type { BuildExportHtmlDocumentOptions, BuildFileViewerRenderedHtmlDocumentOptions, } from './output/export';
|
|
90
92
|
export type { CreateFileViewerWorkerControllerOptions, FileViewerWorkerContext, FileViewerWorkerController, FileViewerWorkerErrorHook, FileViewerWorkerEventHandler, FileViewerWorkerFactory, FileViewerWorkerMessageHook, WorkerProvider, WorkerRef, } from './platform/worker';
|
|
91
|
-
export type { FileViewerAiOptions, FileViewerArchiveEntryActionContext, FileViewerArchiveEntryActionPolicy, FileViewerArchiveEntryActionsOptions, FileViewerArchivePasswordRequestContext, FileViewerArchivePasswordRequestReason, FileViewerArchiveOptions, FileViewerApplyViewStateOptions, FileViewerBeforeOperation, FileViewerCadDwfLineWeightMode, FileViewerCadOptions, FileViewerCadRenderer, FileViewerModelLinearUnit, FileViewerModelOptions, FileViewerComponentEmits, FileViewerComponentEventMap, FileViewerComponentProps, FileViewerDocumentAnchor, FileViewerDocumentChunk, FileViewerDownloadOptions, FileViewerDocxOptions, FileViewerDrawingOptions, FileViewerEvent, FileViewerEventHandler, FileViewerEventType, FileViewerExportHtmlOptions, FileViewerFileRef, FileViewerFitMode, FileViewerFitOptions, FileViewerFitRequest, FileViewerFitResize, FileViewerFitResult, FileViewerGeoBasemapOptions, FileViewerGeoBasemapPreset, FileViewerGeoOptions, FileRenderContext, FileRenderExportAdapter, FileRenderThumbnailAdapter, FileRenderExportMode, FileRenderExportOptions, FileRenderHandler, FileRenderHandlerComposite, FileViewerBuiltinRendererPreset, FileViewerInstance, FileViewerLoadOptions, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerI18nOptions, FileViewerLocale, FileViewerMessageKey, FileViewerMessageParams, FileViewerMessageResolver, FileViewerMessages, FileViewerNavigationState, FileViewerOperationAvailability, FileViewerOperationContext, FileViewerOperationType, FileViewerOptions, FileViewerPdfOptions, FileViewerPresentationOptions, FileViewerPrintOptions, 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, FileViewerZoomProvider, FileViewerZoomState, NormalizedFileViewerSource, RendererCapability, RendererDefinition, RendererPlugin, RendererLoadContext, RendererLoader, RendererRegistry, RendererSession, RenderSurface, ViewerCapabilityState, ViewerLifecycleContext, ViewerOperationContext, } from './contracts/types';
|
|
93
|
+
export type { FileViewerAiOptions, FileViewerArchiveEntryActionContext, FileViewerArchiveEntryActionPolicy, FileViewerArchiveEntryActionsOptions, FileViewerArchivePasswordRequestContext, FileViewerArchivePasswordRequestReason, FileViewerArchiveOptions, FileViewerApplyViewStateOptions, FileViewerBeforeOperation, FileViewerCadDwfLineWeightMode, FileViewerCadOptions, FileViewerCadRenderer, FileViewerModelLinearUnit, FileViewerModelOptions, FileViewerComponentEmits, FileViewerComponentEventMap, FileViewerComponentProps, FileViewerDocumentAnchor, FileViewerDocumentChunk, FileViewerDownloadOptions, FileViewerDocxOptions, FileViewerDrawingOptions, FileViewerEvent, FileViewerEventHandler, FileViewerEventType, FileViewerExportHtmlOptions, FileViewerFileRef, FileViewerFitMode, FileViewerFitOptions, FileViewerFitRequest, FileViewerFitResize, FileViewerFitResult, FileViewerGeoBasemapOptions, FileViewerGeoBasemapPreset, FileViewerGeoOptions, FileViewerTiandituMapStyle, FileRenderContext, FileRenderExportAdapter, FileRenderThumbnailAdapter, FileRenderExportMode, FileRenderExportOptions, FileRenderHandler, FileRenderHandlerComposite, FileViewerBuiltinRendererPreset, FileViewerInstance, FileViewerLoadOptions, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerI18nOptions, 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, FileViewerZoomProvider, FileViewerZoomState, NormalizedFileViewerSource, RendererCapability, RendererDefinition, RendererPlugin, RendererLoadContext, RendererLoader, RendererRegistry, RendererSession, RenderSurface, ViewerCapabilityState, ViewerLifecycleContext, ViewerOperationContext, } from './contracts/types';
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { DEFAULT_FILE_VIEWER_ARCHIVE_WORKER_PATH, DEFAULT_FILE_VIEWER_ARCHIVE_WASM_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_WASM_PATH, DEFAULT_FILE_VIEWER_CAD_WORKER_PATH, DEFAULT_FILE_VIEWER_DATA_SQL_WASM_URL, 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_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_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_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, resolveFileViewerAssetUrl, resolveFileViewerCadAssetUrls, resolveFileViewerDataSqlWasmUrl, resolveFileViewerDocxWorkerJsZipUrl, resolveFileViewerDocxWorkerUrl, resolveFileViewerDrawioViewerScriptUrl, resolveFileViewerModelAssetUrls, resolveFileViewerPdfAssetUrls, resolveFileViewerPresentationWorkerUrl, resolveFileViewerRendererAssets, resolveFileViewerRuntimeAssetBaseUrl, resolveFileViewerSpreadsheetWorkerUrl, resolveFileViewerTypstCompilerWasmUrl, resolveFileViewerTypstRendererWasmUrl, setDefaultFileViewerAssetBaseUrl, } from './assets.js';
|
|
1
|
+
export { DEFAULT_FILE_VIEWER_ARCHIVE_WORKER_PATH, DEFAULT_FILE_VIEWER_ARCHIVE_WASM_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_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_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, resolveFileViewerAssetUrl, resolveFileViewerCadAssetUrls, resolveFileViewerDataSqlWasmUrl, resolveFileViewerDocxWorkerJsZipUrl, resolveFileViewerDocxWorkerUrl, resolveFileViewerDrawioViewerScriptUrl, resolveFileViewerModelAssetUrls, resolveFileViewerPdfAssetUrls, resolveFileViewerPresentationWorkerUrl, resolveFileViewerRendererAssets, resolveFileViewerRuntimeAssetBaseUrl, resolveFileViewerSpreadsheetWorkerUrl, resolveFileViewerTypstCompilerWasmUrl, resolveFileViewerTypstRendererWasmUrl, setDefaultFileViewerAssetBaseUrl, } from './assets.js';
|
|
2
2
|
export { ARCHIVE_EXTENSIONS, DEFAULT_RENDERER_DEFINITIONS, DEFAULT_SUPPORTED_EXTENSIONS, IMAGE_EXTENSIONS, MODEL_EXTENSIONS, TEXT_EXTENSIONS, } from './registry/formats.js';
|
|
3
|
+
export { precheckFileViewerSource } from './source/precheck.js';
|
|
3
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';
|
|
4
5
|
export { DEFAULT_FILE_VIEWER_SEARCH_ACTIVE_CLASS, DEFAULT_FILE_VIEWER_SEARCH_MATCH_CLASS, DEFAULT_FILE_VIEWER_SEARCH_MAX_MATCHES, applyFileViewerSearchState, cloneFileViewerSearchState, createFileViewerDomSearchController, createFileViewerDomSearchControllerActionHandlers, destroyFileViewerDomSearchController, observeFileViewerDomSearchController, runFileViewerDomSearchControllerAction, syncFileViewerDomSearchControllerState, } from './features/document/search.js';
|
|
5
6
|
export { createFileViewerDocumentFeatureActions, createFileViewerDocumentFeatureControllerActionHandlers, createFileViewerDocumentChangeSnapshot, createFileViewerSearchChangeState, dispatchFileViewerLocationChange, dispatchFileViewerSearchChange, resolveFileViewerLocationChangeAnchor, } from './features/document/events.js';
|
|
@@ -10,7 +11,7 @@ export { DEFAULT_FILE_VIEWER_ANCHOR_EXCLUDE_SELECTOR, DEFAULT_FILE_VIEWER_ANCHOR
|
|
|
10
11
|
export { buildFileViewerRenderedHtmlDocument, buildExportHtmlDocument, collectDocumentStyles, prepareFileViewerRenderedContentForSnapshot, inlineFileViewerBlobUrlsInHtml, replaceFileViewerCanvasWithImages, resolveFileViewerPrintStyle, triggerFileViewerBlobDownload, triggerFileViewerUrlDownload, waitForFileViewerImages, waitForFileViewerNextPaint, waitForFileViewerPrintWindowReady, } from './output/export.js';
|
|
11
12
|
export { applyPrintPageSize, buildPrintPageStyle, formatCssPixels, getElementPrintPageSize, } from './output/printLayout.js';
|
|
12
13
|
export { DEFAULT_FILE_VIEWER_DOWNLOAD_FILENAME, DEFAULT_FILE_VIEWER_EXPORT_FILENAME, DEFAULT_FILE_VIEWER_PREVIEW_TITLE, FILE_VIEWER_OPERATION_ACTION_ERROR_PREFIXES, createFileViewerOperationActionHandlers, createFileViewerOriginalSourceState, createFileViewerOriginalSourceStateFromNormalizedSource, createFileViewerPublicOperationActionHandlers, executeFileViewerDownloadOperation, executeFileViewerExportHtmlOperation, executeFileViewerPrintOperation, hasFileViewerOriginalSource, resolveFileViewerDisplayFilename, resolveFileViewerOperationActionErrorMessage, resolveFileViewerOperationFilename, resolveFileViewerOriginalFilename, } from './viewer/operations.js';
|
|
13
|
-
export { FILE_VIEWER_BUILTIN_MESSAGES, FILE_VIEWER_DEFAULT_LOCALE, FILE_VIEWER_FALLBACK_LOCALE, createFileViewerTranslator, formatFileViewerMessage, normalizeFileViewerLocale, resolveFileViewerLocale, translateFileViewerMessage, } from './i18n/messages.js';
|
|
14
|
+
export { FILE_VIEWER_BUILTIN_MESSAGES, FILE_VIEWER_DEFAULT_LOCALE, FILE_VIEWER_FALLBACK_LOCALE, FILE_VIEWER_SUPPORTED_LOCALES, createFileViewerTranslator, formatFileViewerMessage, normalizeFileViewerLocale, resolveFileViewerLocale, translateFileViewerMessage, } from './i18n/messages.js';
|
|
14
15
|
export { clearFileViewerAutoRendererPresets, collectFileViewerRendererPlugins, createRendererRegistry, findFileViewerAutoRendererPreset, getFileViewerAutoRendererPresetVersion, hasFileViewerRendererPresetName, installFileViewerRendererPlugins, listFileViewerAutoRendererPresetEntries, listFileViewerAutoRendererPresets, registerFileViewerAutoRendererPreset, resolveFileViewerRendererPresetInputs, unregisterFileViewerAutoRendererPreset, } from './registry/registry.js';
|
|
15
16
|
export { CORE_LITE_RENDERER_IDS, coreBrowserRendererHandlers, coreLiteBrowserRendererHandlers, coreLiteRendererDefinitions, createFileViewerCoreRendererRegistry, fileViewerCoreRendererDispatcher, fileViewerCoreRendererRegistry, fileViewerCoreRendererRegistryBridge, missingFileViewerCoreRendererHandlers, } from './renderers/index.js';
|
|
16
17
|
export const renderFileViewerAudio = async (buffer, target, type) => {
|
|
@@ -173,7 +174,7 @@ export { appendFileViewerStyle, buildFileRenderContextFromLoadContext, applyFile
|
|
|
173
174
|
export { DEFAULT_FILE_VIEWER_SOURCE_FILENAME, decodeFilename, getExtension, normalizeFileExtension, normalizeFilename, resolveFileViewerSourceFilename, normalizeSource, readFileViewerBuffer, readFileViewerDataUrl, readFileViewerText, wrapFileViewerFileRef, } from './source/index.js';
|
|
174
175
|
export { DEFAULT_FILE_VIEWER_STATE_THEME, DEFAULT_FILE_VIEWER_UNSUPPORTED_DESCRIPTION, FILE_VIEWER_PREVIEW_MESSAGES, createFileViewerEmptyState, createFileViewerErrorState, createFileViewerPreviewLoadingState, createFileViewerReadyState, createFileViewerUnsupportedState, formatFileViewerErrorMessage, normalizeFileViewerErrorMessage, resolveFileViewerRendererInstallHint, } from './viewer/state.js';
|
|
175
176
|
export { buildFileViewerWatermarkBackgroundImage, buildFileViewerWatermarkInlineStyle, buildFileViewerWatermarkStyle, buildFileViewerWatermarkSvg, normalizeFileViewerWatermark, resolveFileViewerWatermarkPresentationState, } from './features/watermark.js';
|
|
176
|
-
export { buildFileViewerPrintMaskOverlayHtml, applyFileViewerPagePrintMasksToHtml, normalizeFileViewerPrintMaskOptions, normalizeFileViewerPrintMaskRegion, FILE_VIEWER_PRINT_MASK_STYLE, } from './features/printMask.js';
|
|
177
|
+
export { buildFileViewerPrintMaskOverlayHtml, applyFileViewerPagePrintMasksToHtml, normalizeFileViewerPrintMaskOptions, normalizeFileViewerPrintMaskRegion, normalizeFileViewerPrintStamp, FILE_VIEWER_PRINT_MASK_STYLE, } from './features/printMask.js';
|
|
177
178
|
export { openFileViewerPrintMaskDesignerAsync, } from './features/printMaskLoader.js';
|
|
178
179
|
export { cancelFileViewerPreviewRequest, DEFAULT_FILE_VIEWER_STREAMING_PDF_FILENAME, DEFAULT_FILE_VIEWER_PREVIEW_LOAD_ERROR_LOGGER, DEFAULT_PDF_RANGE_CHUNK_SIZE, FILE_VIEWER_PREVIEW_LOAD_ERROR_PREFIXES, FILE_VIEWER_REMOTE_MISSING_DATA_ERROR_MESSAGE, applyFileViewerEmptyPreviewState, applyFileViewerPreviewFilenameState, applyFileViewerPreviewSourceUrlState, applyFileViewerReadPreviewState, applyFileViewerRenderReadinessState, applyFileViewerPreviewRequestResetState, commitFileViewerEmptyPreviewResetState, commitFileViewerLoadStartState, commitFileViewerPreviewRequestStartState, commitFileViewerRenderCompleteState, commitFileViewerRemoteDownloadState, createFileViewerEmptyPreviewState, createFileViewerLoadStartState, createFileViewerPreviewStateTarget, createFileViewerSourceLoadingActionHandlers, createFileViewerReadPreviewState, createFileViewerPreviewRequestResetState, createFileViewerRenderCompleteState, createFileViewerRequestController, createFileViewerRequestScope, createFileViewerStreamingPdfPlaceholderFile, finalizeFileViewerPreviewLoadState, hasFileViewerPreviewSource, isFileViewerAbortError, isSameOriginUrl, normalizeFileViewerSourceUrl, normalizePdfStreamingMode, resolveFileViewerFileRefSourcePlan, resolveFileViewerLoadStartMessage, resolveFileViewerMissingRemoteDataErrorMessage, resolveFileViewerPreviewLoadErrorMessage, resolveFileViewerPreviewRequestReason, resolveFileViewerRemoteSourcePlan, resolveFileViewerPageHref, reportFileViewerMissingRemoteData, reportFileViewerPreviewLoadError, runFileViewerLocalFilePreview, runFileViewerPreviewComponentUnmount, runFileViewerPreviewRequest, runFileViewerPreviewSourceChange, runFileViewerRemoteFilePreview, runFileViewerReadAndRenderFile, runFileViewerStreamingPdfPreview, shouldStreamPdfUrl, } from './source/loading.js';
|
|
179
180
|
export { createViewer } from './viewer/createViewer.js';
|
|
@@ -76,7 +76,8 @@ export interface ResolveFileViewerOperationAvailabilityInput {
|
|
|
76
76
|
}
|
|
77
77
|
export interface ResolveFileViewerToolbarStateInput extends ResolveFileViewerOperationAvailabilityInput {
|
|
78
78
|
toolbar: FileViewerToolbarOptions;
|
|
79
|
-
options?: Pick<FileViewerOptions, 'toolbar'>;
|
|
79
|
+
options?: Pick<FileViewerOptions, 'toolbar' | 'search'>;
|
|
80
|
+
searchAvailable?: boolean;
|
|
80
81
|
loading?: boolean;
|
|
81
82
|
}
|
|
82
83
|
export interface FileViewerToolbarState {
|
|
@@ -196,6 +197,7 @@ export interface CreateFileViewerToolbarControllerActionHandlersInput {
|
|
|
196
197
|
getHasError?: () => boolean;
|
|
197
198
|
getLoading?: () => boolean;
|
|
198
199
|
getOptions?: () => FileViewerOptions | undefined;
|
|
200
|
+
getSearchAvailable?: () => boolean;
|
|
199
201
|
getSourceUrl?: () => string | null | undefined;
|
|
200
202
|
getToolbar: () => FileViewerToolbarOptions;
|
|
201
203
|
getRenderedReady: () => boolean;
|
|
@@ -274,11 +276,11 @@ export declare const createFileViewerPublicApi: ({ getOperationAvailability, ...
|
|
|
274
276
|
export declare const createFileViewerToolbarZoomSyncSnapshot: (state: FileViewerZoomState) => FileViewerToolbarZoomSyncSnapshot;
|
|
275
277
|
export declare const runFileViewerToolbarAvailabilitySync: ({ toolbarActions, availability, }: RunFileViewerToolbarAvailabilitySyncInput) => boolean;
|
|
276
278
|
export declare const runFileViewerToolbarZoomSync: ({ toolbarActions, state, }: RunFileViewerToolbarZoomSyncInput) => boolean;
|
|
277
|
-
export declare const createFileViewerToolbarControllerActionHandlers: ({ getAdapter, getBuffer, getExtension, getFile, getHasError, getLoading, getOptions, getSourceUrl, getToolbar, getRenderedReady, getZoomState, zoomSyncState, onOperationAvailabilityChange, onZoomChange, }: CreateFileViewerToolbarControllerActionHandlersInput) => FileViewerToolbarControllerActionHandlers;
|
|
279
|
+
export declare const createFileViewerToolbarControllerActionHandlers: ({ getAdapter, getBuffer, getExtension, getFile, getHasError, getLoading, getOptions, getSearchAvailable, getSourceUrl, getToolbar, getRenderedReady, getZoomState, zoomSyncState, onOperationAvailabilityChange, onZoomChange, }: CreateFileViewerToolbarControllerActionHandlersInput) => FileViewerToolbarControllerActionHandlers;
|
|
278
280
|
export declare const normalizeFileViewerToolbar: (options: Pick<FileViewerOptions, "toolbar"> | undefined) => FileViewerToolbarOptions;
|
|
279
281
|
export declare const resolveFileViewerOperationAvailability: ({ extension, hasOriginalSource, renderedReady, hasError, adapter, source, zoomState, }: ResolveFileViewerOperationAvailabilityInput) => FileViewerOperationAvailability;
|
|
280
282
|
export declare const cloneFileViewerOperationAvailability: (availability: FileViewerOperationAvailability) => FileViewerOperationAvailability;
|
|
281
|
-
export declare const resolveVisibleFileViewerToolbar: (toolbar: FileViewerToolbarOptions, availability: FileViewerOperationAvailability) => FileViewerToolbarOptions;
|
|
283
|
+
export declare const resolveVisibleFileViewerToolbar: (toolbar: FileViewerToolbarOptions, availability: FileViewerOperationAvailability, searchEnabled?: boolean) => FileViewerToolbarOptions;
|
|
282
284
|
export declare const hasVisibleFileViewerToolbarActions: (toolbar: FileViewerToolbarOptions) => boolean;
|
|
283
285
|
export declare const isFileViewerZoomButtonDisabled: ({ toolbarDisabled, availability, zoomState, action, }: {
|
|
284
286
|
toolbarDisabled?: boolean;
|
|
@@ -290,5 +292,5 @@ export declare const isFileViewerToolbarDisabled: ({ loading, hasError, }: {
|
|
|
290
292
|
loading?: boolean;
|
|
291
293
|
hasError?: boolean;
|
|
292
294
|
}) => boolean;
|
|
293
|
-
export declare const resolveFileViewerToolbarState: ({ toolbar, options, loading, ...availabilityInput }: ResolveFileViewerToolbarStateInput) => FileViewerToolbarState;
|
|
295
|
+
export declare const resolveFileViewerToolbarState: ({ toolbar, options, searchAvailable, loading, ...availabilityInput }: ResolveFileViewerToolbarStateInput) => FileViewerToolbarState;
|
|
294
296
|
export declare const resolveFileViewerToolbarPosition: (options: Pick<FileViewerOptions, "toolbar"> | undefined, extension: string) => FileViewerToolbarPosition;
|
|
@@ -450,7 +450,7 @@ export const runFileViewerToolbarAvailabilitySync = ({ toolbarActions, availabil
|
|
|
450
450
|
export const runFileViewerToolbarZoomSync = ({ toolbarActions, state, }) => {
|
|
451
451
|
return toolbarActions.notifyZoomChange(state);
|
|
452
452
|
};
|
|
453
|
-
export const createFileViewerToolbarControllerActionHandlers = ({ getAdapter = () => null, getBuffer = () => null, getExtension, getFile = () => null, getHasError = () => false, getLoading = () => false, getOptions, getSourceUrl = () => null, getToolbar, getRenderedReady, getZoomState, zoomSyncState, onOperationAvailabilityChange, onZoomChange, }) => {
|
|
453
|
+
export const createFileViewerToolbarControllerActionHandlers = ({ getAdapter = () => null, getBuffer = () => null, getExtension, getFile = () => null, getHasError = () => false, getLoading = () => false, getOptions, getSearchAvailable = () => true, getSourceUrl = () => null, getToolbar, getRenderedReady, getZoomState, zoomSyncState, onOperationAvailabilityChange, onZoomChange, }) => {
|
|
454
454
|
let currentToolbarState = null;
|
|
455
455
|
const resolveToolbarState = () => {
|
|
456
456
|
var _a, _b, _c, _d;
|
|
@@ -467,6 +467,7 @@ export const createFileViewerToolbarControllerActionHandlers = ({ getAdapter = (
|
|
|
467
467
|
zoomState: getZoomState(),
|
|
468
468
|
toolbar: getToolbar(),
|
|
469
469
|
options: getOptions === null || getOptions === void 0 ? void 0 : getOptions(),
|
|
470
|
+
searchAvailable: getSearchAvailable(),
|
|
470
471
|
loading: getLoading(),
|
|
471
472
|
});
|
|
472
473
|
return currentToolbarState;
|
|
@@ -557,17 +558,23 @@ export const cloneFileViewerOperationAvailability = (availability) => ({
|
|
|
557
558
|
zoomOut: availability.zoomOut,
|
|
558
559
|
zoomReset: availability.zoomReset,
|
|
559
560
|
});
|
|
560
|
-
export const resolveVisibleFileViewerToolbar = (toolbar, availability) => {
|
|
561
|
+
export const resolveVisibleFileViewerToolbar = (toolbar, availability, searchEnabled = true) => {
|
|
561
562
|
return {
|
|
562
563
|
download: toolbar.download && availability.download,
|
|
563
564
|
print: toolbar.print && availability.print,
|
|
564
565
|
exportHtml: toolbar.exportHtml && availability.exportHtml,
|
|
565
566
|
zoom: toolbar.zoom && availability.zoom,
|
|
567
|
+
search: toolbar.search !== false && searchEnabled,
|
|
566
568
|
theme: toolbar.theme !== false,
|
|
567
569
|
};
|
|
568
570
|
};
|
|
569
571
|
export const hasVisibleFileViewerToolbarActions = (toolbar) => {
|
|
570
|
-
return !!(toolbar.download ||
|
|
572
|
+
return !!(toolbar.download ||
|
|
573
|
+
toolbar.print ||
|
|
574
|
+
toolbar.exportHtml ||
|
|
575
|
+
toolbar.zoom ||
|
|
576
|
+
toolbar.search ||
|
|
577
|
+
toolbar.theme);
|
|
571
578
|
};
|
|
572
579
|
export const isFileViewerZoomButtonDisabled = ({ toolbarDisabled = false, availability, zoomState, action, }) => {
|
|
573
580
|
const operation = FILE_VIEWER_ZOOM_BUTTON_OPERATIONS[action];
|
|
@@ -581,9 +588,9 @@ export const isFileViewerZoomButtonDisabled = ({ toolbarDisabled = false, availa
|
|
|
581
588
|
export const isFileViewerToolbarDisabled = ({ loading = false, hasError = false, }) => {
|
|
582
589
|
return !!(loading || hasError);
|
|
583
590
|
};
|
|
584
|
-
export const resolveFileViewerToolbarState = ({ toolbar, options, loading = false, ...availabilityInput }) => {
|
|
591
|
+
export const resolveFileViewerToolbarState = ({ toolbar, options, searchAvailable = true, loading = false, ...availabilityInput }) => {
|
|
585
592
|
const operationAvailability = applyToolbarPermissionsToAvailability(resolveFileViewerOperationAvailability(availabilityInput), options === null || options === void 0 ? void 0 : options.toolbar);
|
|
586
|
-
const visibleToolbar = resolveVisibleFileViewerToolbar(toolbar, operationAvailability);
|
|
593
|
+
const visibleToolbar = resolveVisibleFileViewerToolbar(toolbar, operationAvailability, (options === null || options === void 0 ? void 0 : options.search) !== false && searchAvailable);
|
|
587
594
|
return {
|
|
588
595
|
operationAvailability,
|
|
589
596
|
visibleToolbar,
|
package/dist/output/export.js
CHANGED
|
@@ -289,7 +289,7 @@ export const collectDocumentStyles = () => {
|
|
|
289
289
|
.join('\n');
|
|
290
290
|
};
|
|
291
291
|
export const buildExportHtmlDocument = ({ contentHtml, includeDocumentStyles = true, printStyle = '', title, watermarkInlineStyle = '', mask = null, }) => {
|
|
292
|
-
var _a;
|
|
292
|
+
var _a, _b;
|
|
293
293
|
const watermark = watermarkInlineStyle
|
|
294
294
|
? `<div class="viewer-export-watermark" style="${watermarkInlineStyle}"></div>`
|
|
295
295
|
: '';
|
|
@@ -298,6 +298,7 @@ export const buildExportHtmlDocument = ({ contentHtml, includeDocumentStyles = t
|
|
|
298
298
|
? {
|
|
299
299
|
...normalizedMask,
|
|
300
300
|
regions: (_a = normalizedMask.regions) === null || _a === void 0 ? void 0 : _a.filter(region => region.pageIndex === undefined),
|
|
301
|
+
stamps: (_b = normalizedMask.stamps) === null || _b === void 0 ? void 0 : _b.filter(stamp => stamp.pageIndex === undefined),
|
|
301
302
|
}
|
|
302
303
|
: null;
|
|
303
304
|
const maskHtml = buildFileViewerPrintMaskOverlayHtml(globalMask);
|
|
@@ -3,8 +3,10 @@ export declare const DEFAULT_FILE_VIEWER_ARCHIVE_WORKER_PATH = "vendor/libarchiv
|
|
|
3
3
|
export declare const DEFAULT_FILE_VIEWER_ARCHIVE_WASM_PATH = "vendor/libarchive/libarchive.wasm";
|
|
4
4
|
export declare const DEFAULT_FILE_VIEWER_DOCX_WORKER_PATH = "vendor/docx/docx.worker.js";
|
|
5
5
|
export declare const DEFAULT_FILE_VIEWER_DOCX_WORKER_JSZIP_PATH = "vendor/docx/jszip.min.js";
|
|
6
|
+
export declare const DEFAULT_FILE_VIEWER_DOCX_RUNTIME_VERSION = "0.3.26";
|
|
6
7
|
export declare const DEFAULT_FILE_VIEWER_PRESENTATION_WORKER_PATH = "vendor/pptx/pptx.worker.js";
|
|
7
8
|
export declare const DEFAULT_FILE_VIEWER_PPT_RUNTIME_PATH = "vendor/ppt";
|
|
9
|
+
export declare const DEFAULT_FILE_VIEWER_PPT_RUNTIME_VERSION = "0.3.2";
|
|
8
10
|
export declare const DEFAULT_FILE_VIEWER_PPT_MODULE_PATH = "vendor/ppt/index.mjs";
|
|
9
11
|
export declare const DEFAULT_FILE_VIEWER_PPT_WORKER_PATH = "vendor/ppt/worker.mjs";
|
|
10
12
|
export declare const DEFAULT_FILE_VIEWER_PPT_FRAME_CACHE_PATH = "vendor/ppt/frame-cache.mjs";
|
|
@@ -18,11 +20,12 @@ export declare const DEFAULT_FILE_VIEWER_PDF_STANDARD_FONT_PATH = "vendor/pdf/st
|
|
|
18
20
|
export declare const DEFAULT_FILE_VIEWER_PDF_CJK_FONT_FALLBACK_PATH = "vendor/pdf/fonts/";
|
|
19
21
|
export declare const DEFAULT_FILE_VIEWER_DRAWIO_VIEWER_SCRIPT_PATH = "vendor/drawio/viewer-static.min.js";
|
|
20
22
|
export declare const DEFAULT_FILE_VIEWER_DRAWIO_ASSET_PATH = "vendor/drawio/";
|
|
21
|
-
export declare const
|
|
22
|
-
export declare const
|
|
23
|
-
export declare const
|
|
24
|
-
export declare const
|
|
25
|
-
export declare const
|
|
23
|
+
export declare const DEFAULT_FILE_VIEWER_CAD_RUNTIME_VERSION = "0.8.0";
|
|
24
|
+
export declare const DEFAULT_FILE_VIEWER_CAD_WASM_PATH = "wasm/cad/0.8.0/";
|
|
25
|
+
export declare const DEFAULT_FILE_VIEWER_CAD_WORKER_PATH = "wasm/cad/0.8.0/dwg-worker.js";
|
|
26
|
+
export declare const DEFAULT_FILE_VIEWER_CAD_DWF_WASM_PATH = "wasm/cad/0.8.0/dwfv-render.wasm";
|
|
27
|
+
export declare const DEFAULT_FILE_VIEWER_CAD_LIBREDWG_SCRIPT_PATH = "wasm/cad/0.8.0/libredwg-web.js";
|
|
28
|
+
export declare const DEFAULT_FILE_VIEWER_CAD_LIBREDWG_WASM_PATH = "wasm/cad/0.8.0/libredwg-web.wasm";
|
|
26
29
|
export declare const DEFAULT_FILE_VIEWER_TYPST_COMPILER_WASM_URL = "wasm/typst/typst_ts_web_compiler_bg.wasm";
|
|
27
30
|
export declare const DEFAULT_FILE_VIEWER_TYPST_RENDERER_WASM_URL = "wasm/typst/typst_ts_renderer_bg.wasm";
|
|
28
31
|
export declare const DEFAULT_FILE_VIEWER_TYPST_FONT_ASSETS_URL = "wasm/typst/fonts/";
|
package/dist/platform/assets.js
CHANGED
|
@@ -2,8 +2,10 @@ export const DEFAULT_FILE_VIEWER_ARCHIVE_WORKER_PATH = 'vendor/libarchive/worker
|
|
|
2
2
|
export const DEFAULT_FILE_VIEWER_ARCHIVE_WASM_PATH = 'vendor/libarchive/libarchive.wasm';
|
|
3
3
|
export const DEFAULT_FILE_VIEWER_DOCX_WORKER_PATH = 'vendor/docx/docx.worker.js';
|
|
4
4
|
export const DEFAULT_FILE_VIEWER_DOCX_WORKER_JSZIP_PATH = 'vendor/docx/jszip.min.js';
|
|
5
|
+
export const DEFAULT_FILE_VIEWER_DOCX_RUNTIME_VERSION = '0.3.26';
|
|
5
6
|
export const DEFAULT_FILE_VIEWER_PRESENTATION_WORKER_PATH = 'vendor/pptx/pptx.worker.js';
|
|
6
7
|
export const DEFAULT_FILE_VIEWER_PPT_RUNTIME_PATH = 'vendor/ppt';
|
|
8
|
+
export const DEFAULT_FILE_VIEWER_PPT_RUNTIME_VERSION = '0.3.2';
|
|
7
9
|
export const DEFAULT_FILE_VIEWER_PPT_MODULE_PATH = `${DEFAULT_FILE_VIEWER_PPT_RUNTIME_PATH}/index.mjs`;
|
|
8
10
|
export const DEFAULT_FILE_VIEWER_PPT_WORKER_PATH = `${DEFAULT_FILE_VIEWER_PPT_RUNTIME_PATH}/worker.mjs`;
|
|
9
11
|
export const DEFAULT_FILE_VIEWER_PPT_FRAME_CACHE_PATH = `${DEFAULT_FILE_VIEWER_PPT_RUNTIME_PATH}/frame-cache.mjs`;
|
|
@@ -17,11 +19,12 @@ export const DEFAULT_FILE_VIEWER_PDF_STANDARD_FONT_PATH = 'vendor/pdf/standard_f
|
|
|
17
19
|
export const DEFAULT_FILE_VIEWER_PDF_CJK_FONT_FALLBACK_PATH = 'vendor/pdf/fonts/';
|
|
18
20
|
export const DEFAULT_FILE_VIEWER_DRAWIO_VIEWER_SCRIPT_PATH = 'vendor/drawio/viewer-static.min.js';
|
|
19
21
|
export const DEFAULT_FILE_VIEWER_DRAWIO_ASSET_PATH = 'vendor/drawio/';
|
|
20
|
-
export const
|
|
21
|
-
export const
|
|
22
|
-
export const
|
|
23
|
-
export const
|
|
24
|
-
export const
|
|
22
|
+
export const DEFAULT_FILE_VIEWER_CAD_RUNTIME_VERSION = '0.8.0';
|
|
23
|
+
export const DEFAULT_FILE_VIEWER_CAD_WASM_PATH = `wasm/cad/${DEFAULT_FILE_VIEWER_CAD_RUNTIME_VERSION}/`;
|
|
24
|
+
export const DEFAULT_FILE_VIEWER_CAD_WORKER_PATH = `${DEFAULT_FILE_VIEWER_CAD_WASM_PATH}dwg-worker.js`;
|
|
25
|
+
export const DEFAULT_FILE_VIEWER_CAD_DWF_WASM_PATH = `${DEFAULT_FILE_VIEWER_CAD_WASM_PATH}dwfv-render.wasm`;
|
|
26
|
+
export const DEFAULT_FILE_VIEWER_CAD_LIBREDWG_SCRIPT_PATH = `${DEFAULT_FILE_VIEWER_CAD_WASM_PATH}libredwg-web.js`;
|
|
27
|
+
export const DEFAULT_FILE_VIEWER_CAD_LIBREDWG_WASM_PATH = `${DEFAULT_FILE_VIEWER_CAD_WASM_PATH}libredwg-web.wasm`;
|
|
25
28
|
export const DEFAULT_FILE_VIEWER_TYPST_COMPILER_WASM_URL = 'wasm/typst/typst_ts_web_compiler_bg.wasm';
|
|
26
29
|
export const DEFAULT_FILE_VIEWER_TYPST_RENDERER_WASM_URL = 'wasm/typst/typst_ts_renderer_bg.wasm';
|
|
27
30
|
export const DEFAULT_FILE_VIEWER_TYPST_FONT_ASSETS_URL = 'wasm/typst/fonts/';
|
|
@@ -402,6 +405,42 @@ export const DEFAULT_FILE_VIEWER_RENDERER_ASSET_MANIFESTS = [
|
|
|
402
405
|
defaultPath: DEFAULT_FILE_VIEWER_CAD_LIBREDWG_WASM_PATH,
|
|
403
406
|
description: 'LibreDWG WebAssembly runtime loaded by the CAD DWG worker for offline parsing.',
|
|
404
407
|
},
|
|
408
|
+
{
|
|
409
|
+
id: 'cad-legacy-dwg-worker',
|
|
410
|
+
rendererId: 'cad',
|
|
411
|
+
kind: 'worker',
|
|
412
|
+
target: 'public',
|
|
413
|
+
required: false,
|
|
414
|
+
defaultPath: 'wasm/cad/dwg-worker.js',
|
|
415
|
+
description: 'Unversioned compatibility alias for deployments that explicitly configured the former DWG worker path.',
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
id: 'cad-legacy-dwf-wasm',
|
|
419
|
+
rendererId: 'cad',
|
|
420
|
+
kind: 'wasm',
|
|
421
|
+
target: 'public',
|
|
422
|
+
required: false,
|
|
423
|
+
defaultPath: 'wasm/cad/dwfv-render.wasm',
|
|
424
|
+
description: 'Unversioned compatibility alias for deployments that explicitly configured the former DWF runtime path.',
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
id: 'cad-legacy-libredwg-script',
|
|
428
|
+
rendererId: 'cad',
|
|
429
|
+
kind: 'script',
|
|
430
|
+
target: 'public',
|
|
431
|
+
required: false,
|
|
432
|
+
defaultPath: 'wasm/cad/libredwg-web.js',
|
|
433
|
+
description: 'Unversioned compatibility alias for the former LibreDWG JavaScript runtime path.',
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
id: 'cad-legacy-libredwg-wasm',
|
|
437
|
+
rendererId: 'cad',
|
|
438
|
+
kind: 'wasm',
|
|
439
|
+
target: 'public',
|
|
440
|
+
required: false,
|
|
441
|
+
defaultPath: 'wasm/cad/libredwg-web.wasm',
|
|
442
|
+
description: 'Unversioned compatibility alias for the former LibreDWG WebAssembly runtime path.',
|
|
443
|
+
},
|
|
405
444
|
],
|
|
406
445
|
},
|
|
407
446
|
{
|
|
@@ -632,17 +671,22 @@ export const resolveFileViewerArchiveWasmUrl = (options, fallback = '', document
|
|
|
632
671
|
});
|
|
633
672
|
};
|
|
634
673
|
export const resolveFileViewerCadAssetUrls = (options, documentBaseUrl) => {
|
|
674
|
+
const workerUrl = resolveFileViewerAssetUrl(options === null || options === void 0 ? void 0 : options.workerUrl, DEFAULT_FILE_VIEWER_CAD_WORKER_PATH, { documentBaseUrl });
|
|
675
|
+
const dwfWasmUrl = resolveFileViewerAssetUrl(options === null || options === void 0 ? void 0 : options.dwfWasmUrl, DEFAULT_FILE_VIEWER_CAD_DWF_WASM_PATH, { documentBaseUrl });
|
|
676
|
+
const versionDefaultRuntimeAsset = (url, overridden) => {
|
|
677
|
+
if (overridden) {
|
|
678
|
+
return url;
|
|
679
|
+
}
|
|
680
|
+
const separator = url.includes('?') ? '&' : '?';
|
|
681
|
+
return `${url}${separator}file-viewer-cad=${encodeURIComponent(DEFAULT_FILE_VIEWER_CAD_RUNTIME_VERSION)}`;
|
|
682
|
+
};
|
|
635
683
|
return {
|
|
636
684
|
wasmPath: resolveFileViewerAssetUrl(options === null || options === void 0 ? void 0 : options.wasmPath, DEFAULT_FILE_VIEWER_CAD_WASM_PATH, {
|
|
637
685
|
documentBaseUrl,
|
|
638
686
|
trimTrailingSlash: true,
|
|
639
687
|
}),
|
|
640
|
-
workerUrl:
|
|
641
|
-
|
|
642
|
-
}),
|
|
643
|
-
dwfWasmUrl: resolveFileViewerAssetUrl(options === null || options === void 0 ? void 0 : options.dwfWasmUrl, DEFAULT_FILE_VIEWER_CAD_DWF_WASM_PATH, {
|
|
644
|
-
documentBaseUrl,
|
|
645
|
-
}),
|
|
688
|
+
workerUrl: versionDefaultRuntimeAsset(workerUrl, Boolean(options === null || options === void 0 ? void 0 : options.workerUrl)),
|
|
689
|
+
dwfWasmUrl: versionDefaultRuntimeAsset(dwfWasmUrl, Boolean(options === null || options === void 0 ? void 0 : options.dwfWasmUrl)),
|
|
646
690
|
};
|
|
647
691
|
};
|
|
648
692
|
export const resolveFileViewerPdfAssetUrls = (options, documentBaseUrl) => {
|
|
@@ -668,12 +712,22 @@ export const resolveFileViewerDrawioViewerScriptUrl = (options, documentBaseUrl)
|
|
|
668
712
|
return resolveFileViewerAssetUrl(options === null || options === void 0 ? void 0 : options.viewerScriptUrl, DEFAULT_FILE_VIEWER_DRAWIO_VIEWER_SCRIPT_PATH, { documentBaseUrl });
|
|
669
713
|
};
|
|
670
714
|
export const resolveFileViewerDocxWorkerUrl = (options, documentBaseUrl) => {
|
|
671
|
-
|
|
715
|
+
const resolved = resolveFileViewerAssetUrl(options === null || options === void 0 ? void 0 : options.workerUrl, DEFAULT_FILE_VIEWER_DOCX_WORKER_PATH, {
|
|
672
716
|
documentBaseUrl,
|
|
673
717
|
});
|
|
718
|
+
if (options === null || options === void 0 ? void 0 : options.workerUrl) {
|
|
719
|
+
return resolved;
|
|
720
|
+
}
|
|
721
|
+
const separator = resolved.includes('?') ? '&' : '?';
|
|
722
|
+
return `${resolved}${separator}file-viewer-docx=${encodeURIComponent(DEFAULT_FILE_VIEWER_DOCX_RUNTIME_VERSION)}`;
|
|
674
723
|
};
|
|
675
724
|
export const resolveFileViewerDocxWorkerJsZipUrl = (options, documentBaseUrl) => {
|
|
676
|
-
|
|
725
|
+
const resolved = resolveFileViewerAssetUrl(options === null || options === void 0 ? void 0 : options.workerJsZipUrl, DEFAULT_FILE_VIEWER_DOCX_WORKER_JSZIP_PATH, { documentBaseUrl });
|
|
726
|
+
if (options === null || options === void 0 ? void 0 : options.workerJsZipUrl) {
|
|
727
|
+
return resolved;
|
|
728
|
+
}
|
|
729
|
+
const separator = resolved.includes('?') ? '&' : '?';
|
|
730
|
+
return `${resolved}${separator}file-viewer-docx=${encodeURIComponent(DEFAULT_FILE_VIEWER_DOCX_RUNTIME_VERSION)}`;
|
|
677
731
|
};
|
|
678
732
|
export const resolveFileViewerSpreadsheetWorkerUrl = (options, documentBaseUrl) => {
|
|
679
733
|
return resolveFileViewerAssetUrl(options === null || options === void 0 ? void 0 : options.workerUrl, DEFAULT_FILE_VIEWER_SPREADSHEET_WORKER_PATH, {
|
package/dist/renderers/image.js
CHANGED
|
@@ -22,13 +22,18 @@ const imageStyle = `
|
|
|
22
22
|
.image-viewer{position:relative;width:100%;height:100%;overflow:auto;background:var(--file-viewer-render-surface-background,#eef1f4);box-sizing:border-box}
|
|
23
23
|
.image-stage{min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
|
|
24
24
|
.image-stage img{display:block;width:auto;max-width:none;margin:0 auto;border:0;box-shadow:0 18px 48px rgba(15,23,42,.16);background:#fff;cursor:zoom-in}
|
|
25
|
-
.image-
|
|
26
|
-
.image-lightbox
|
|
27
|
-
.image-lightbox
|
|
28
|
-
.image-lightbox
|
|
25
|
+
.image-stage img:focus-visible{outline:3px solid #2563eb;outline-offset:4px}
|
|
26
|
+
.image-lightbox{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:40px;background:rgba(15,23,42,.9);box-sizing:border-box;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s linear .18s}
|
|
27
|
+
.image-lightbox[data-open='true']{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
|
|
28
|
+
.image-lightbox img{display:block;max-width:100%;max-height:100%;object-fit:contain;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.4);cursor:default;transform:scale(.985);transition:transform .18s ease}
|
|
29
|
+
.image-lightbox[data-open='true'] img{transform:scale(1)}
|
|
30
|
+
.image-lightbox button{position:absolute;top:16px;right:16px;display:grid;width:40px;height:40px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(255,255,255,.96);color:#172033;font:400 27px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.24);transition:background-color .14s ease,transform .14s ease}
|
|
31
|
+
.image-lightbox button:hover{background:#fff;transform:scale(1.04)}
|
|
32
|
+
.image-lightbox button:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}
|
|
29
33
|
[data-viewer-theme='dark'] .image-viewer{background:var(--file-viewer-render-surface-background,#101820)}
|
|
30
34
|
@media (prefers-color-scheme:dark){[data-viewer-theme='system'] .image-viewer{background:var(--file-viewer-render-surface-background,#101820)}}
|
|
31
35
|
@media (max-width:767px){.image-stage{padding:12px}.image-lightbox{padding:16px}.image-lightbox button{top:12px;right:12px}}
|
|
36
|
+
@media (prefers-reduced-motion:reduce){.image-lightbox,.image-lightbox img,.image-lightbox button{transition:none}}
|
|
32
37
|
`;
|
|
33
38
|
const createStyle = (documentRef) => {
|
|
34
39
|
const style = documentRef.createElement('style');
|
|
@@ -68,35 +73,55 @@ const roundImageScale = (value) => {
|
|
|
68
73
|
const createLightbox = (documentRef, src, t) => {
|
|
69
74
|
const lightbox = documentRef.createElement('div');
|
|
70
75
|
lightbox.className = 'image-lightbox';
|
|
71
|
-
lightbox.
|
|
76
|
+
lightbox.dataset.open = 'false';
|
|
72
77
|
lightbox.setAttribute('role', 'dialog');
|
|
73
78
|
lightbox.setAttribute('aria-modal', 'true');
|
|
79
|
+
lightbox.setAttribute('aria-hidden', 'true');
|
|
74
80
|
const image = documentRef.createElement('img');
|
|
75
81
|
image.alt = t('image.lightbox.alt');
|
|
76
82
|
image.src = src;
|
|
77
83
|
const closeButton = documentRef.createElement('button');
|
|
78
84
|
closeButton.type = 'button';
|
|
79
85
|
closeButton.setAttribute('aria-label', t('image.lightbox.close'));
|
|
80
|
-
closeButton.textContent = '
|
|
86
|
+
closeButton.textContent = '×';
|
|
87
|
+
let previousFocus = null;
|
|
81
88
|
const close = () => {
|
|
82
|
-
lightbox.
|
|
89
|
+
if (lightbox.dataset.open !== 'true')
|
|
90
|
+
return;
|
|
91
|
+
lightbox.dataset.open = 'false';
|
|
92
|
+
lightbox.setAttribute('aria-hidden', 'true');
|
|
93
|
+
if (previousFocus === null || previousFocus === void 0 ? void 0 : previousFocus.isConnected) {
|
|
94
|
+
previousFocus.focus({ preventScroll: true });
|
|
95
|
+
}
|
|
96
|
+
previousFocus = null;
|
|
97
|
+
};
|
|
98
|
+
const onKeyDown = (event) => {
|
|
99
|
+
if (event.key === 'Escape' && lightbox.dataset.open === 'true') {
|
|
100
|
+
event.preventDefault();
|
|
101
|
+
close();
|
|
102
|
+
}
|
|
83
103
|
};
|
|
84
104
|
closeButton.addEventListener('click', close);
|
|
85
|
-
image.addEventListener('click', close);
|
|
86
105
|
lightbox.addEventListener('click', event => {
|
|
87
106
|
if (event.target === lightbox) {
|
|
88
107
|
close();
|
|
89
108
|
}
|
|
90
109
|
});
|
|
110
|
+
documentRef.addEventListener('keydown', onKeyDown);
|
|
91
111
|
lightbox.append(image, closeButton);
|
|
92
112
|
return {
|
|
93
113
|
element: lightbox,
|
|
94
|
-
open() {
|
|
95
|
-
|
|
114
|
+
open(invoker) {
|
|
115
|
+
previousFocus =
|
|
116
|
+
invoker ||
|
|
117
|
+
(documentRef.activeElement instanceof HTMLElement ? documentRef.activeElement : null);
|
|
118
|
+
lightbox.dataset.open = 'true';
|
|
119
|
+
lightbox.setAttribute('aria-hidden', 'false');
|
|
120
|
+
closeButton.focus({ preventScroll: true });
|
|
96
121
|
},
|
|
97
122
|
destroy() {
|
|
98
123
|
closeButton.removeEventListener('click', close);
|
|
99
|
-
|
|
124
|
+
documentRef.removeEventListener('keydown', onKeyDown);
|
|
100
125
|
lightbox.remove();
|
|
101
126
|
},
|
|
102
127
|
};
|
|
@@ -122,11 +147,21 @@ export default async function renderImage(buffer, target, type, context) {
|
|
|
122
147
|
const image = documentRef.createElement('img');
|
|
123
148
|
image.alt = t('image.alt');
|
|
124
149
|
image.src = src;
|
|
150
|
+
image.tabIndex = 0;
|
|
151
|
+
image.setAttribute('role', 'button');
|
|
152
|
+
image.setAttribute('aria-haspopup', 'dialog');
|
|
125
153
|
stage.append(image);
|
|
126
154
|
root.append(stage);
|
|
127
155
|
const lightbox = createLightbox(documentRef, src, t);
|
|
128
|
-
const openLightbox = () => lightbox.open();
|
|
156
|
+
const openLightbox = () => lightbox.open(image);
|
|
157
|
+
const openLightboxFromKeyboard = (event) => {
|
|
158
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
159
|
+
event.preventDefault();
|
|
160
|
+
lightbox.open(image);
|
|
161
|
+
}
|
|
162
|
+
};
|
|
129
163
|
image.addEventListener('click', openLightbox);
|
|
164
|
+
image.addEventListener('keydown', openLightboxFromKeyboard);
|
|
130
165
|
const getMinScale = () => Math.min(0.1, fitScale || 0.1);
|
|
131
166
|
const clampScale = (value) => {
|
|
132
167
|
const minScale = getMinScale();
|
|
@@ -250,6 +285,7 @@ export default async function renderImage(buffer, target, type, context) {
|
|
|
250
285
|
resizeObserver.disconnect();
|
|
251
286
|
image.removeEventListener('load', updateViewportSize);
|
|
252
287
|
image.removeEventListener('click', openLightbox);
|
|
288
|
+
image.removeEventListener('keydown', openLightboxFromKeyboard);
|
|
253
289
|
lightbox.destroy();
|
|
254
290
|
target.replaceChildren();
|
|
255
291
|
},
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { FileViewerFileRef, FileViewerSource } from '../contracts/types';
|
|
2
|
+
export type FileViewerPrecheckStatus = 'ready' | 'invalid' | 'unsupported';
|
|
3
|
+
export type FileViewerPrecheckReason = 'content-valid' | 'content-not-inspected' | 'content-inconclusive' | 'empty-structured-file' | 'signature-mismatch' | 'invalid-package' | 'missing-package-part' | 'unsupported-extension';
|
|
4
|
+
export interface FileViewerPrecheckOptions {
|
|
5
|
+
/** Filename used when a Blob or ArrayBuffer has no name. */
|
|
6
|
+
filename?: string;
|
|
7
|
+
/** Explicit extension, with or without a leading dot. */
|
|
8
|
+
type?: string;
|
|
9
|
+
/** Restricts the result to the renderers installed by the host application. */
|
|
10
|
+
supportedExtensions?: Iterable<string>;
|
|
11
|
+
/** Maximum ZIP central-directory bytes read from a Blob. Defaults to 8 MiB. */
|
|
12
|
+
maxPackageMetadataBytes?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface FileViewerPrecheckResult {
|
|
15
|
+
filename: string;
|
|
16
|
+
extension: string;
|
|
17
|
+
rendererId: string | null;
|
|
18
|
+
supported: boolean;
|
|
19
|
+
inspected: boolean;
|
|
20
|
+
/** `null` means the extension is supported but no structural validator exists. */
|
|
21
|
+
valid: boolean | null;
|
|
22
|
+
previewable: boolean;
|
|
23
|
+
status: FileViewerPrecheckStatus;
|
|
24
|
+
reason: FileViewerPrecheckReason;
|
|
25
|
+
missingParts: string[];
|
|
26
|
+
}
|
|
27
|
+
type FileViewerPrecheckInput = FileViewerSource | FileViewerFileRef;
|
|
28
|
+
/**
|
|
29
|
+
* Performs a cheap, renderer-free capability and structure check.
|
|
30
|
+
*
|
|
31
|
+
* This intentionally does not promise rendering fidelity. A `ready` result
|
|
32
|
+
* means the extension is available and any known container/signature checks
|
|
33
|
+
* passed; the real renderer remains the final authority for malformed content.
|
|
34
|
+
*/
|
|
35
|
+
export declare const precheckFileViewerSource: (input: FileViewerPrecheckInput, options?: FileViewerPrecheckOptions) => Promise<FileViewerPrecheckResult>;
|
|
36
|
+
export {};
|