@file-viewer/core 2.1.17 → 2.1.19
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 +4 -1
- package/README.md +4 -1
- package/dist/contracts/types.d.ts +68 -3
- package/dist/features/document/dom/providers.d.ts +5 -3
- package/dist/features/document/dom/providers.js +33 -8
- package/dist/features/document/fit.d.ts +46 -0
- package/dist/features/document/fit.js +348 -0
- package/dist/features/document/viewState.js +64 -4
- package/dist/headless.d.ts +2 -2
- package/dist/headless.js +1 -1
- package/dist/i18n/messages.js +53 -2
- package/dist/index.d.ts +6 -4
- package/dist/index.js +3 -2
- package/dist/lifecycle/operations.d.ts +4 -1
- package/dist/lifecycle/operations.js +39 -2
- package/dist/platform/assets.js +3 -3
- package/dist/renderers/image.d.ts +2 -2
- package/dist/renderers/image.js +67 -16
- package/dist/renderers/index.js +4 -4
- package/dist/rendering/handler.d.ts +33 -5
- package/dist/rendering/handler.js +127 -4
- package/dist/source/loading.d.ts +3 -1
- package/dist/source/loading.js +6 -2
- package/dist/viewer/createViewer.js +66 -11
- package/dist/viewer/operations.js +1 -1
- package/dist/viewer/state.d.ts +2 -2
- package/dist/viewer/state.js +39 -6
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export { createFileViewerDocumentFeatureActions, createFileViewerDocumentFeature
|
|
|
8
8
|
export type { CreateFileViewerDocumentChangeSnapshotInput, FileViewerDocumentFeatureActionOptions, DispatchFileViewerLocationChangeInput, DispatchFileViewerSearchChangeInput, FileViewerDocumentChangeSnapshot, FileViewerDocumentFeatureActions, FileViewerDocumentFeatureControllerActionHandlers, FileViewerDocumentFeatureSearchController, CreateFileViewerDocumentFeatureActionsInput, CreateFileViewerDocumentFeatureControllerActionHandlersInput, ResolveFileViewerLocationChangeAnchorInput, } from './features/document/events';
|
|
9
9
|
export { applyFileViewerZoomState, clearFileViewerZoomControllerProvider, createFileViewerZoomChangeEmitter, createFileViewerZoomChangeState, cloneFileViewerZoomState, createFileViewerZoomController, createFileViewerZoomControllerActionHandlers, destroyFileViewerZoomController, observeFileViewerZoomController, refreshFileViewerZoomControllerProvider, runFileViewerZoomControllerAction, syncFileViewerZoomControllerState, } from './features/document/zoom';
|
|
10
10
|
export type { FileViewerZoomController, FileViewerZoomControllerActionHandlers, MutableFileViewerZoomState, } from './features/document/zoom';
|
|
11
|
+
export { FILE_VIEWER_FIT_MODES, FILE_VIEWER_FIT_RESIZE_MODES, createFileViewerFitController, hasFileViewerExplicitInitialViewState, isFileViewerFitMode, isFileViewerFitResize, normalizeFileViewerFitOptions, resolveFileViewerFitScale, } from './features/document/fit';
|
|
12
|
+
export type { ApplyInitialFileViewerFitOptions, CreateFileViewerFitControllerOptions, FileViewerFitController, NormalizedFileViewerFitOptions, ResolveFileViewerFitScaleInput, RunFileViewerFitOptions, } from './features/document/fit';
|
|
11
13
|
export { cloneFileViewerViewState, createFileViewerViewStateChange, createFileViewerViewStateChangeEmitter, createFileViewerViewStateController, createFileViewerViewStateControllerActionHandlers, registerFileViewerGenericViewStateProvider, } from './features/document/viewState';
|
|
12
14
|
export type { CreateFileViewerViewStateControllerOptions, FileViewerGenericViewStateProviderRegistration, FileViewerViewStateController, FileViewerViewStateControllerActionHandlers, RegisterFileViewerGenericViewStateProviderOptions, } from './features/document/viewState';
|
|
13
15
|
export { DEFAULT_FILE_VIEWER_ANCHOR_EXCLUDE_SELECTOR, DEFAULT_FILE_VIEWER_ANCHOR_SELECTOR, DEFAULT_FILE_VIEWER_SCROLL_CONTAINER_CANDIDATE_SELECTOR, DEFAULT_FILE_VIEWER_SCROLL_CONTAINER_SELECTOR, DEFAULT_FILE_VIEWER_SCROLLABLE_OVERFLOW_VALUES, collectFileViewerDocumentAnchors, findFileViewerAnchorForElement, findFileViewerSearchProvider, findFileViewerViewStateProvider, findFileViewerZoomProvider, getCurrentFileViewerDocumentAnchor, getFileViewerScrollableRange, isFileViewerScrollableElement, registerFileViewerSearchProvider, registerFileViewerViewStateProvider, registerFileViewerZoomProvider, resolveFileViewerScrollContainer, scrollToFileViewerDocumentAnchor, unregisterFileViewerSearchProvider, unregisterFileViewerViewStateProvider, unregisterFileViewerZoomProvider, } from './features/document/dom';
|
|
@@ -47,7 +49,7 @@ export declare const renderFileViewerWordDocx: (buffer: ArrayBuffer, target: HTM
|
|
|
47
49
|
export declare const renderFileViewerSpreadsheet: (buffer: ArrayBuffer, target: HTMLDivElement, type?: string, context?: FileRenderContext) => Promise<FileViewerRenderedInstance>;
|
|
48
50
|
export declare const parseEdaFile: (buffer: ArrayBuffer, type?: string) => Promise<never>;
|
|
49
51
|
export { ADAPTER_PRINT_REQUIRED_EXTENSIONS, applyFileViewerZoomAvailability, createUnsupportedAvailability, DEFAULT_OPERATION_AVAILABILITY, DOM_PRINTABLE_EXTENSIONS, getRendererAvailability, isDomPrintableExtension, isKnownNonPrintableExtension, needsDedicatedPrintAdapter, NON_PRINTABLE_EXTENSIONS, resolvePrintAvailability, } from './registry/capabilities';
|
|
50
|
-
export { FILE_VIEWER_LIFECYCLE_HOOKS, FILE_VIEWER_BEFORE_OPERATION_ERROR_PREFIX, FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX, FILE_VIEWER_OPERATION_LABELS, buildFileViewerLifecycleContext, buildFileViewerLifecycleContextFromNormalizedSource, buildFileViewerOperationContext, buildFileViewerOperationContextFromLifecycleState, cloneFileViewerOperationAvailability, createFileViewerLifecycleActions, createFileViewerLifecycleStateController, createFileViewerPublicApi, createFileViewerToolbarActions, createFileViewerToolbarControllerActionHandlers, createFileViewerToolbarZoomSyncSnapshot, DEFAULT_FILE_VIEWER_LIFECYCLE_HOOK_ERROR_LOGGER, DEFAULT_FILE_VIEWER_OPERATION_ERROR_LOGGER, dispatchFileViewerLifecycleEvent, dispatchFileViewerOperationContextEvent, dispatchFileViewerOperationAvailabilityChange, dispatchFileViewerZoomChange, emitFileViewerComponentLifecycleEvent, getFileViewerBeforeOperationHooks, getFileViewerLifecycleHookName, hasVisibleFileViewerToolbarActions, isFileViewerToolbarOperationPermitted, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, reportFileViewerLifecycleHookError, reportFileViewerOperationError, resolveFileViewerLifecycleFallbackSource, resolveFileViewerLifecycleHookErrorMessage, resolveFileViewerBeforeOperationErrorMessage, resolveFileViewerOperationAvailability, resolveFileViewerToolbarState, resolveFileViewerToolbarPosition, resolveVisibleFileViewerToolbar, runFileViewerActiveUnloadComplete, runFileViewerActiveUnloadStart, runFileViewerBeforeOperation, runFileViewerLifecycleHook, runFileViewerToolbarAvailabilitySync, runFileViewerToolbarZoomSync, serializeFileViewerContext, } from './lifecycle/operations';
|
|
52
|
+
export { FILE_VIEWER_LIFECYCLE_HOOKS, FILE_VIEWER_BEFORE_OPERATION_ERROR_PREFIX, DEFAULT_FILE_VIEWER_TOOLBAR_ORDER, FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX, FILE_VIEWER_OPERATION_LABELS, buildFileViewerLifecycleContext, buildFileViewerLifecycleContextFromNormalizedSource, buildFileViewerOperationContext, buildFileViewerOperationContextFromLifecycleState, cloneFileViewerOperationAvailability, createFileViewerLifecycleActions, createFileViewerLifecycleStateController, createFileViewerPublicApi, createFileViewerToolbarActions, createFileViewerToolbarControllerActionHandlers, createFileViewerToolbarZoomSyncSnapshot, DEFAULT_FILE_VIEWER_LIFECYCLE_HOOK_ERROR_LOGGER, DEFAULT_FILE_VIEWER_OPERATION_ERROR_LOGGER, dispatchFileViewerLifecycleEvent, dispatchFileViewerOperationContextEvent, dispatchFileViewerOperationAvailabilityChange, dispatchFileViewerZoomChange, emitFileViewerComponentLifecycleEvent, getFileViewerBeforeOperationHooks, getFileViewerLifecycleHookName, hasVisibleFileViewerToolbarActions, isFileViewerToolbarOperationPermitted, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, reportFileViewerLifecycleHookError, reportFileViewerOperationError, resolveFileViewerLifecycleFallbackSource, resolveFileViewerLifecycleHookErrorMessage, resolveFileViewerBeforeOperationErrorMessage, resolveFileViewerOperationAvailability, resolveFileViewerToolbarOrder, resolveFileViewerToolbarState, resolveFileViewerToolbarPosition, resolveVisibleFileViewerToolbar, runFileViewerActiveUnloadComplete, runFileViewerActiveUnloadStart, runFileViewerBeforeOperation, runFileViewerLifecycleHook, runFileViewerToolbarAvailabilitySync, runFileViewerToolbarZoomSync, serializeFileViewerContext, } from './lifecycle/operations';
|
|
51
53
|
export type { BuildFileViewerOperationContextFromLifecycleStateInput, CreateFileViewerLifecycleActionsInput, DispatchFileViewerLifecycleEventInput, DispatchFileViewerOperationContextEventInput, DispatchFileViewerOperationAvailabilityChangeInput, DispatchFileViewerZoomChangeInput, FileViewerActiveUnloadState, FileViewerLifecycleActions, FileViewerLifecycleComponentEmit, FileViewerToolbarActions, FileViewerToolbarControllerActionHandlers, FileViewerToolbarZoomSyncSnapshot, FileViewerZoomButtonAction, FileViewerToolbarState, CreateFileViewerPublicApiInput, CreateFileViewerToolbarActionsInput, CreateFileViewerToolbarControllerActionHandlersInput, BuildFileViewerLifecycleContextFromNormalizedSourceInput, ResolveFileViewerBeforeOperationErrorMessageInput, ResolveFileViewerToolbarStateInput, RunFileViewerActiveUnloadCompleteInput, RunFileViewerActiveUnloadStartInput, RunFileViewerToolbarAvailabilitySyncInput, RunFileViewerToolbarZoomSyncInput, } from './lifecycle/operations';
|
|
52
54
|
export { FALLBACK_FILE_VIEWER_LOADING_THEME, FILE_VIEWER_LOADING_THEME_MAP, applyFileViewerLoadingState, cloneFileViewerLoadingState, createFileViewerLoadingController, createFileViewerLoadingControllerActionHandlers, createFileViewerLoadingState, createFileViewerLoadingStyleVars, runFileViewerLoadingControllerAction, runFileViewerLoadingExtensionSync, resolveFileViewerLoadingTheme, syncFileViewerLoadingControllerState, } from './viewer/loading';
|
|
53
55
|
export type { FileViewerLoadingController, FileViewerLoadingControllerActionHandlers, RunFileViewerLoadingExtensionSyncInput, } from './viewer/loading';
|
|
@@ -57,8 +59,8 @@ export { getFileViewerOptionsSearchParam, normalizeFileViewerTheme, parseFileVie
|
|
|
57
59
|
export { resolveFileViewerPresentationState, } from './presentation/state';
|
|
58
60
|
export type { FileViewerPresentationState, ResolveFileViewerPresentationStateInput, } from './presentation/state';
|
|
59
61
|
export { createFileViewerRendererDispatcher, } from './rendering/dispatcher';
|
|
60
|
-
export { buildFileRenderContextFromLoadContext, applyFileViewerRenderSurfaceState, clearFileViewerRenderSurface, createFileRenderHandlerRendererSession, createFileRenderHandlerRegistry, createFileRenderHandlerLoader, createFileViewerRenderSurfaceActionHandlers, createFileViewerRenderReadinessTarget, createFileViewerRenderSurfaceState, createFileViewerRenderSurfaceStateTarget, createFileViewerRenderTarget, DEFAULT_FILE_VIEWER_RENDER_TARGET_CLASS, DEFAULT_FILE_VIEWER_RENDER_SESSION_DISPOSE_ERROR_LOGGER, FILE_VIEWER_RENDER_SESSION_DISPOSE_ERROR_MESSAGE, disposeActiveFileViewerRendererSession, disposeFileViewerRendered, disposeFileViewerRendererSession, removeFileViewerRenderTarget, reportFileViewerRenderSessionDisposeError, resetFileViewerRenderSurface, resolveFileViewerRenderSessionDisposeErrorMessage, runFileViewerRenderSurfaceClear, runFileViewerRenderSurfaceMount, renderFileViewerHandler, } from './rendering/handler';
|
|
61
|
-
export type { CreateFileViewerRenderSurfaceActionHandlersInput, CreateFileViewerRenderReadinessTargetInput, CreateFileViewerRenderSurfaceStateTargetInput, FileViewerRenderSurfaceActionHandlers, FileViewerRenderSurfaceClearState, FileViewerRenderSurfaceState, FileViewerRenderSurfaceMountContext, FileViewerRenderSessionDisposeErrorLogger, MutableFileViewerRenderSurfaceState, ReportFileViewerRenderSessionDisposeErrorInput, ResetFileViewerRenderSurfaceInput, ResolveFileViewerRenderSessionDisposeErrorMessageInput, RunFileViewerRenderSurfaceClearInput, RunFileViewerRenderSurfaceMountInput, } from './rendering/handler';
|
|
62
|
+
export { appendFileViewerStyle, buildFileRenderContextFromLoadContext, applyFileViewerRenderSurfaceState, clearFileViewerRenderSurface, createFileRenderHandlerRendererSession, createFileRenderHandlerRegistry, createFileRenderHandlerLoader, createFileViewerRenderSurfaceActionHandlers, createFileViewerRenderReadinessTarget, createFileViewerRenderSurface, createFileViewerRenderSurfaceState, createFileViewerRenderSurfaceStateTarget, createFileViewerRenderTarget, DEFAULT_FILE_VIEWER_RENDER_TARGET_CLASS, DEFAULT_FILE_VIEWER_RENDER_SESSION_DISPOSE_ERROR_LOGGER, FILE_VIEWER_RENDER_SESSION_DISPOSE_ERROR_MESSAGE, disposeActiveFileViewerRendererSession, disposeFileViewerRendered, disposeFileViewerRendererSession, getFileViewerShadowRootForNode, isFileViewerShadowRoot, normalizeFileViewerStyleIsolation, removeFileViewerRenderTarget, reportFileViewerRenderSessionDisposeError, resetFileViewerRenderSurface, resolveFileViewerStyleIsolation, resolveFileViewerRenderSessionDisposeErrorMessage, runFileViewerRenderSurfaceClear, runFileViewerRenderSurfaceMount, renderFileViewerHandler, } from './rendering/handler';
|
|
63
|
+
export type { AppendFileViewerStyleOptions, CreateFileViewerRenderSurfaceOptions, CreateFileViewerRenderSurfaceActionHandlersInput, CreateFileViewerRenderReadinessTargetInput, CreateFileViewerRenderSurfaceStateTargetInput, FileViewerStyleHandle, FileViewerRenderSurfaceActionHandlers, FileViewerRenderSurfaceClearState, FileViewerRenderSurfaceState, FileViewerRenderSurfaceMountContext, FileViewerRenderSessionDisposeErrorLogger, MutableFileViewerRenderSurfaceState, ReportFileViewerRenderSessionDisposeErrorInput, ResolvedFileViewerStyleIsolation, ResetFileViewerRenderSurfaceInput, ResolveFileViewerRenderSessionDisposeErrorMessageInput, RunFileViewerRenderSurfaceClearInput, RunFileViewerRenderSurfaceMountInput, } from './rendering/handler';
|
|
62
64
|
export { DEFAULT_FILE_VIEWER_SOURCE_FILENAME, decodeFilename, getExtension, normalizeFileExtension, normalizeFilename, resolveFileViewerSourceFilename, normalizeSource, readFileViewerBuffer, readFileViewerDataUrl, readFileViewerText, wrapFileViewerFileRef, } from './source';
|
|
63
65
|
export type { FileViewerReadResult } from './source';
|
|
64
66
|
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';
|
|
@@ -83,4 +85,4 @@ export type { CreateFileViewerZoomControllerOptions, FileViewerZoomOperation, }
|
|
|
83
85
|
export type { CreateViewerOptions } from './viewer/createViewer';
|
|
84
86
|
export type { BuildExportHtmlDocumentOptions, BuildFileViewerRenderedHtmlDocumentOptions, } from './output/export';
|
|
85
87
|
export type { CreateFileViewerWorkerControllerOptions, FileViewerWorkerContext, FileViewerWorkerController, FileViewerWorkerErrorHook, FileViewerWorkerEventHandler, FileViewerWorkerFactory, FileViewerWorkerMessageHook, WorkerProvider, WorkerRef, } from './platform/worker';
|
|
86
|
-
export type { FileViewerAiOptions, FileViewerArchivePasswordRequestContext, FileViewerArchivePasswordRequestReason, FileViewerArchiveOptions, FileViewerApplyViewStateOptions, FileViewerBeforeOperation, FileViewerCadDwfLineWeightMode, FileViewerCadOptions, FileViewerCadRenderer, FileViewerComponentEmits, FileViewerComponentEventMap, FileViewerComponentProps, FileViewerDocumentAnchor, FileViewerDocumentChunk, FileViewerDownloadOptions, FileViewerDocxOptions, FileViewerDrawingOptions, FileViewerEvent, FileViewerEventHandler, FileViewerEventType, FileViewerExportHtmlOptions, FileViewerFileRef, FileViewerGeoBasemapOptions, FileViewerGeoBasemapPreset, FileViewerGeoOptions, FileRenderContext, FileRenderExportAdapter, FileRenderExportMode, FileRenderExportOptions, FileRenderHandler, FileRenderHandlerComposite, FileViewerBuiltinRendererPreset, FileViewerInstance, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerI18nOptions, FileViewerLocale, FileViewerMessageKey, FileViewerMessageParams, FileViewerMessageResolver, FileViewerMessages, FileViewerNavigationState, FileViewerOperationAvailability, FileViewerOperationContext, FileViewerOperationType, FileViewerOptions, FileViewerPdfOptions, FileViewerPresentationOptions, FileViewerPrintOptions, FileViewerPublicApi, FileViewerRenderedInstance, FileViewerRendererMode, FileViewerRendererPluginAssetKind, FileViewerRendererPluginAssetManifest, FileViewerRendererPluginAssetEntry, FileViewerRenderStateKind, FileViewerRendererCategory, FileViewerRendererHandlerRegistration, FileViewerRendererInstallContext, FileViewerRendererPlugin, FileViewerRendererPluginInput, FileViewerRendererPresetInput, FileViewerRendererPresetName, FileViewerRendererPreset, FileViewerSearchMatch, FileViewerSearchOptions, FileViewerSearchProvider, FileViewerSearchState, FileViewerSource, FileViewerSourceKind, FileViewerSpreadsheetOptions, FileViewerStateDescriptor, FileViewerStateTheme, FileViewerThemeMode, FileViewerToolbarActionMap, FileViewerToolbarOptions, FileViewerToolbarPosition, 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';
|
|
88
|
+
export type { FileViewerAiOptions, FileViewerArchivePasswordRequestContext, FileViewerArchivePasswordRequestReason, FileViewerArchiveOptions, FileViewerApplyViewStateOptions, FileViewerBeforeOperation, FileViewerCadDwfLineWeightMode, FileViewerCadOptions, FileViewerCadRenderer, FileViewerComponentEmits, FileViewerComponentEventMap, FileViewerComponentProps, FileViewerDocumentAnchor, FileViewerDocumentChunk, FileViewerDownloadOptions, FileViewerDocxOptions, FileViewerDrawingOptions, FileViewerEvent, FileViewerEventHandler, FileViewerEventType, FileViewerExportHtmlOptions, FileViewerFileRef, FileViewerFitMode, FileViewerFitOptions, FileViewerFitRequest, FileViewerFitResize, FileViewerFitResult, FileViewerGeoBasemapOptions, FileViewerGeoBasemapPreset, FileViewerGeoOptions, FileRenderContext, FileRenderExportAdapter, FileRenderExportMode, FileRenderExportOptions, FileRenderHandler, FileRenderHandlerComposite, FileViewerBuiltinRendererPreset, FileViewerInstance, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerI18nOptions, FileViewerLocale, FileViewerMessageKey, FileViewerMessageParams, FileViewerMessageResolver, FileViewerMessages, FileViewerNavigationState, FileViewerOperationAvailability, FileViewerOperationContext, FileViewerOperationType, FileViewerOptions, FileViewerPdfOptions, FileViewerPresentationOptions, FileViewerPrintOptions, FileViewerPublicApi, FileViewerRenderedInstance, FileViewerRendererMode, FileViewerRendererPluginAssetKind, FileViewerRendererPluginAssetManifest, FileViewerRendererPluginAssetEntry, FileViewerRenderStateKind, FileViewerRendererCategory, FileViewerRendererHandlerRegistration, FileViewerRendererInstallContext, FileViewerRendererPlugin, FileViewerRendererPluginInput, FileViewerRendererPresetInput, FileViewerRendererPresetName, FileViewerRendererPreset, FileViewerSearchMatch, FileViewerSearchOptions, FileViewerSearchProvider, FileViewerSearchState, FileViewerSource, FileViewerSourceKind, FileViewerSpreadsheetOptions, FileViewerStateDescriptor, FileViewerStateTheme, FileViewerStyleIsolation, FileViewerThemeMode, FileViewerToolbarActionMap, FileViewerToolbarItem, FileViewerToolbarOptions, FileViewerToolbarPosition, FileViewerResolvedToolbarItem, 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
|
@@ -4,6 +4,7 @@ export { DEFAULT_FILE_VIEWER_TEXT_CHUNK_OVERLAP, DEFAULT_FILE_VIEWER_TEXT_CHUNK_
|
|
|
4
4
|
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
5
|
export { createFileViewerDocumentFeatureActions, createFileViewerDocumentFeatureControllerActionHandlers, createFileViewerDocumentChangeSnapshot, createFileViewerSearchChangeState, dispatchFileViewerLocationChange, dispatchFileViewerSearchChange, resolveFileViewerLocationChangeAnchor, } from './features/document/events.js';
|
|
6
6
|
export { applyFileViewerZoomState, clearFileViewerZoomControllerProvider, createFileViewerZoomChangeEmitter, createFileViewerZoomChangeState, cloneFileViewerZoomState, createFileViewerZoomController, createFileViewerZoomControllerActionHandlers, destroyFileViewerZoomController, observeFileViewerZoomController, refreshFileViewerZoomControllerProvider, runFileViewerZoomControllerAction, syncFileViewerZoomControllerState, } from './features/document/zoom.js';
|
|
7
|
+
export { FILE_VIEWER_FIT_MODES, FILE_VIEWER_FIT_RESIZE_MODES, createFileViewerFitController, hasFileViewerExplicitInitialViewState, isFileViewerFitMode, isFileViewerFitResize, normalizeFileViewerFitOptions, resolveFileViewerFitScale, } from './features/document/fit.js';
|
|
7
8
|
export { cloneFileViewerViewState, createFileViewerViewStateChange, createFileViewerViewStateChangeEmitter, createFileViewerViewStateController, createFileViewerViewStateControllerActionHandlers, registerFileViewerGenericViewStateProvider, } from './features/document/viewState.js';
|
|
8
9
|
export { DEFAULT_FILE_VIEWER_ANCHOR_EXCLUDE_SELECTOR, DEFAULT_FILE_VIEWER_ANCHOR_SELECTOR, DEFAULT_FILE_VIEWER_SCROLL_CONTAINER_CANDIDATE_SELECTOR, DEFAULT_FILE_VIEWER_SCROLL_CONTAINER_SELECTOR, DEFAULT_FILE_VIEWER_SCROLLABLE_OVERFLOW_VALUES, collectFileViewerDocumentAnchors, findFileViewerAnchorForElement, findFileViewerSearchProvider, findFileViewerViewStateProvider, findFileViewerZoomProvider, getCurrentFileViewerDocumentAnchor, getFileViewerScrollableRange, isFileViewerScrollableElement, registerFileViewerSearchProvider, registerFileViewerViewStateProvider, registerFileViewerZoomProvider, resolveFileViewerScrollContainer, scrollToFileViewerDocumentAnchor, unregisterFileViewerSearchProvider, unregisterFileViewerViewStateProvider, unregisterFileViewerZoomProvider, } from './features/document/dom/index.js';
|
|
9
10
|
export { buildFileViewerRenderedHtmlDocument, buildExportHtmlDocument, collectDocumentStyles, prepareFileViewerRenderedContentForSnapshot, replaceFileViewerCanvasWithImages, resolveFileViewerPrintStyle, triggerFileViewerBlobDownload, triggerFileViewerUrlDownload, waitForFileViewerImages, waitForFileViewerNextPaint, waitForFileViewerPrintWindowReady, } from './output/export.js';
|
|
@@ -162,13 +163,13 @@ export const parseEdaFile = async (buffer, type) => {
|
|
|
162
163
|
throw new Error('EDA parsing has moved out of @file-viewer/core. Import parseEdaFile from @file-viewer/renderer-eda instead.');
|
|
163
164
|
};
|
|
164
165
|
export { ADAPTER_PRINT_REQUIRED_EXTENSIONS, applyFileViewerZoomAvailability, createUnsupportedAvailability, DEFAULT_OPERATION_AVAILABILITY, DOM_PRINTABLE_EXTENSIONS, getRendererAvailability, isDomPrintableExtension, isKnownNonPrintableExtension, needsDedicatedPrintAdapter, NON_PRINTABLE_EXTENSIONS, resolvePrintAvailability, } from './registry/capabilities.js';
|
|
165
|
-
export { FILE_VIEWER_LIFECYCLE_HOOKS, FILE_VIEWER_BEFORE_OPERATION_ERROR_PREFIX, FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX, FILE_VIEWER_OPERATION_LABELS, buildFileViewerLifecycleContext, buildFileViewerLifecycleContextFromNormalizedSource, buildFileViewerOperationContext, buildFileViewerOperationContextFromLifecycleState, cloneFileViewerOperationAvailability, createFileViewerLifecycleActions, createFileViewerLifecycleStateController, createFileViewerPublicApi, createFileViewerToolbarActions, createFileViewerToolbarControllerActionHandlers, createFileViewerToolbarZoomSyncSnapshot, DEFAULT_FILE_VIEWER_LIFECYCLE_HOOK_ERROR_LOGGER, DEFAULT_FILE_VIEWER_OPERATION_ERROR_LOGGER, dispatchFileViewerLifecycleEvent, dispatchFileViewerOperationContextEvent, dispatchFileViewerOperationAvailabilityChange, dispatchFileViewerZoomChange, emitFileViewerComponentLifecycleEvent, getFileViewerBeforeOperationHooks, getFileViewerLifecycleHookName, hasVisibleFileViewerToolbarActions, isFileViewerToolbarOperationPermitted, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, reportFileViewerLifecycleHookError, reportFileViewerOperationError, resolveFileViewerLifecycleFallbackSource, resolveFileViewerLifecycleHookErrorMessage, resolveFileViewerBeforeOperationErrorMessage, resolveFileViewerOperationAvailability, resolveFileViewerToolbarState, resolveFileViewerToolbarPosition, resolveVisibleFileViewerToolbar, runFileViewerActiveUnloadComplete, runFileViewerActiveUnloadStart, runFileViewerBeforeOperation, runFileViewerLifecycleHook, runFileViewerToolbarAvailabilitySync, runFileViewerToolbarZoomSync, serializeFileViewerContext, } from './lifecycle/operations.js';
|
|
166
|
+
export { FILE_VIEWER_LIFECYCLE_HOOKS, FILE_VIEWER_BEFORE_OPERATION_ERROR_PREFIX, DEFAULT_FILE_VIEWER_TOOLBAR_ORDER, FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX, FILE_VIEWER_OPERATION_LABELS, buildFileViewerLifecycleContext, buildFileViewerLifecycleContextFromNormalizedSource, buildFileViewerOperationContext, buildFileViewerOperationContextFromLifecycleState, cloneFileViewerOperationAvailability, createFileViewerLifecycleActions, createFileViewerLifecycleStateController, createFileViewerPublicApi, createFileViewerToolbarActions, createFileViewerToolbarControllerActionHandlers, createFileViewerToolbarZoomSyncSnapshot, DEFAULT_FILE_VIEWER_LIFECYCLE_HOOK_ERROR_LOGGER, DEFAULT_FILE_VIEWER_OPERATION_ERROR_LOGGER, dispatchFileViewerLifecycleEvent, dispatchFileViewerOperationContextEvent, dispatchFileViewerOperationAvailabilityChange, dispatchFileViewerZoomChange, emitFileViewerComponentLifecycleEvent, getFileViewerBeforeOperationHooks, getFileViewerLifecycleHookName, hasVisibleFileViewerToolbarActions, isFileViewerToolbarOperationPermitted, isFileViewerZoomButtonDisabled, normalizeFileViewerToolbar, reportFileViewerLifecycleHookError, reportFileViewerOperationError, resolveFileViewerLifecycleFallbackSource, resolveFileViewerLifecycleHookErrorMessage, resolveFileViewerBeforeOperationErrorMessage, resolveFileViewerOperationAvailability, resolveFileViewerToolbarOrder, resolveFileViewerToolbarState, resolveFileViewerToolbarPosition, resolveVisibleFileViewerToolbar, runFileViewerActiveUnloadComplete, runFileViewerActiveUnloadStart, runFileViewerBeforeOperation, runFileViewerLifecycleHook, runFileViewerToolbarAvailabilitySync, runFileViewerToolbarZoomSync, serializeFileViewerContext, } from './lifecycle/operations.js';
|
|
166
167
|
export { FALLBACK_FILE_VIEWER_LOADING_THEME, FILE_VIEWER_LOADING_THEME_MAP, applyFileViewerLoadingState, cloneFileViewerLoadingState, createFileViewerLoadingController, createFileViewerLoadingControllerActionHandlers, createFileViewerLoadingState, createFileViewerLoadingStyleVars, runFileViewerLoadingControllerAction, runFileViewerLoadingExtensionSync, resolveFileViewerLoadingTheme, syncFileViewerLoadingControllerState, } from './viewer/loading.js';
|
|
167
168
|
export { createFileViewerLifecycleFacade, } from './lifecycle/facade.js';
|
|
168
169
|
export { getFileViewerOptionsSearchParam, normalizeFileViewerTheme, parseFileViewerOptions, sanitizeFileViewerOptions, serializeFileViewerOptions, setFileViewerOptionsSearchParam, } from './config/options.js';
|
|
169
170
|
export { resolveFileViewerPresentationState, } from './presentation/state.js';
|
|
170
171
|
export { createFileViewerRendererDispatcher, } from './rendering/dispatcher.js';
|
|
171
|
-
export { buildFileRenderContextFromLoadContext, applyFileViewerRenderSurfaceState, clearFileViewerRenderSurface, createFileRenderHandlerRendererSession, createFileRenderHandlerRegistry, createFileRenderHandlerLoader, createFileViewerRenderSurfaceActionHandlers, createFileViewerRenderReadinessTarget, createFileViewerRenderSurfaceState, createFileViewerRenderSurfaceStateTarget, createFileViewerRenderTarget, DEFAULT_FILE_VIEWER_RENDER_TARGET_CLASS, DEFAULT_FILE_VIEWER_RENDER_SESSION_DISPOSE_ERROR_LOGGER, FILE_VIEWER_RENDER_SESSION_DISPOSE_ERROR_MESSAGE, disposeActiveFileViewerRendererSession, disposeFileViewerRendered, disposeFileViewerRendererSession, removeFileViewerRenderTarget, reportFileViewerRenderSessionDisposeError, resetFileViewerRenderSurface, resolveFileViewerRenderSessionDisposeErrorMessage, runFileViewerRenderSurfaceClear, runFileViewerRenderSurfaceMount, renderFileViewerHandler, } from './rendering/handler.js';
|
|
172
|
+
export { appendFileViewerStyle, buildFileRenderContextFromLoadContext, applyFileViewerRenderSurfaceState, clearFileViewerRenderSurface, createFileRenderHandlerRendererSession, createFileRenderHandlerRegistry, createFileRenderHandlerLoader, createFileViewerRenderSurfaceActionHandlers, createFileViewerRenderReadinessTarget, createFileViewerRenderSurface, createFileViewerRenderSurfaceState, createFileViewerRenderSurfaceStateTarget, createFileViewerRenderTarget, DEFAULT_FILE_VIEWER_RENDER_TARGET_CLASS, DEFAULT_FILE_VIEWER_RENDER_SESSION_DISPOSE_ERROR_LOGGER, FILE_VIEWER_RENDER_SESSION_DISPOSE_ERROR_MESSAGE, disposeActiveFileViewerRendererSession, disposeFileViewerRendered, disposeFileViewerRendererSession, getFileViewerShadowRootForNode, isFileViewerShadowRoot, normalizeFileViewerStyleIsolation, removeFileViewerRenderTarget, reportFileViewerRenderSessionDisposeError, resetFileViewerRenderSurface, resolveFileViewerStyleIsolation, resolveFileViewerRenderSessionDisposeErrorMessage, runFileViewerRenderSurfaceClear, runFileViewerRenderSurfaceMount, renderFileViewerHandler, } from './rendering/handler.js';
|
|
172
173
|
export { DEFAULT_FILE_VIEWER_SOURCE_FILENAME, decodeFilename, getExtension, normalizeFileExtension, normalizeFilename, resolveFileViewerSourceFilename, normalizeSource, readFileViewerBuffer, readFileViewerDataUrl, readFileViewerText, wrapFileViewerFileRef, } from './source/index.js';
|
|
173
174
|
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';
|
|
174
175
|
export { buildFileViewerWatermarkBackgroundImage, buildFileViewerWatermarkInlineStyle, buildFileViewerWatermarkStyle, buildFileViewerWatermarkSvg, normalizeFileViewerWatermark, resolveFileViewerWatermarkPresentationState, } from './features/watermark.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type FileViewerI18nInput } from '../i18n/messages';
|
|
2
2
|
import type { FileViewerErrorMessageFormatter } from '../viewer/state';
|
|
3
3
|
import { type FileViewerOriginalSourceState } from '../viewer/operations';
|
|
4
|
-
import type { FileRenderExportAdapter, FileViewerBeforeOperation, FileViewerFileRef, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerOperationAvailability, FileViewerOperationContext, FileViewerOperationType, FileViewerOptions, FileViewerSourceKind, FileViewerToolbarOptions, FileViewerToolbarPosition, FileViewerPublicApi, FileViewerZoomState, NormalizedFileViewerSource } from '../contracts/types';
|
|
4
|
+
import type { FileRenderExportAdapter, FileViewerBeforeOperation, FileViewerFileRef, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerOperationAvailability, FileViewerOperationContext, FileViewerOperationType, FileViewerOptions, FileViewerResolvedToolbarItem, FileViewerSourceKind, FileViewerToolbarOptions, FileViewerToolbarPosition, FileViewerPublicApi, FileViewerZoomState, NormalizedFileViewerSource } from '../contracts/types';
|
|
5
5
|
export declare const FILE_VIEWER_LIFECYCLE_HOOKS: {
|
|
6
6
|
readonly 'load-start': "onLoadStart";
|
|
7
7
|
readonly 'load-complete': "onLoadComplete";
|
|
@@ -18,6 +18,7 @@ export declare const FILE_VIEWER_OPERATION_LABELS: {
|
|
|
18
18
|
};
|
|
19
19
|
export declare const FILE_VIEWER_BEFORE_OPERATION_ERROR_PREFIX = "\u64CD\u4F5C\u524D\u7F6E\u6821\u9A8C\u5931\u8D25";
|
|
20
20
|
export declare const FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX = "FileViewer";
|
|
21
|
+
export declare const DEFAULT_FILE_VIEWER_TOOLBAR_ORDER: readonly ["search", "zoom", "download", "print", "exportHtml"];
|
|
21
22
|
export interface FileViewerLifecycleComponentEmit {
|
|
22
23
|
(event: 'load-start', context: FileViewerLifecycleContext): void;
|
|
23
24
|
(event: 'load-complete', context: FileViewerLifecycleContext): void;
|
|
@@ -81,6 +82,7 @@ export interface ResolveFileViewerToolbarStateInput extends ResolveFileViewerOpe
|
|
|
81
82
|
export interface FileViewerToolbarState {
|
|
82
83
|
operationAvailability: FileViewerOperationAvailability;
|
|
83
84
|
visibleToolbar: FileViewerToolbarOptions;
|
|
85
|
+
toolbarOrder: FileViewerResolvedToolbarItem[];
|
|
84
86
|
showToolbar: boolean;
|
|
85
87
|
toolbarPosition: FileViewerToolbarPosition;
|
|
86
88
|
toolbarDisabled: boolean;
|
|
@@ -259,6 +261,7 @@ export declare const getFileViewerLifecycleHookName: (phase: FileViewerLifecycle
|
|
|
259
261
|
export declare const runFileViewerLifecycleHook: <Context extends FileViewerLifecycleContext>(context: Context, hooks?: FileViewerLifecycleHooks, onError?: (error: unknown, context: Context) => void) => Promise<void>;
|
|
260
262
|
export declare const getFileViewerBeforeOperationHooks: (options: FileViewerOptions | undefined, operation: FileViewerOperationType) => Array<FileViewerBeforeOperation | undefined>;
|
|
261
263
|
export declare const isFileViewerToolbarOperationPermitted: (toolbar: FileViewerOptions["toolbar"] | undefined, operation: FileViewerOperationType) => boolean;
|
|
264
|
+
export declare const resolveFileViewerToolbarOrder: (toolbar: Pick<FileViewerToolbarOptions, "order"> | undefined) => FileViewerResolvedToolbarItem[];
|
|
262
265
|
export declare const runFileViewerBeforeOperation: <Context extends FileViewerOperationContext>({ context, options, onBefore, onCancel, onError, }: RunFileViewerBeforeOperationInput<Context>) => Promise<boolean>;
|
|
263
266
|
export declare const serializeFileViewerContext: <Context extends FileViewerLifecycleContext | FileViewerOperationContext>(context: Context) => SerializedFileViewerContext<Context>;
|
|
264
267
|
export declare const dispatchFileViewerLifecycleEvent: <Context extends FileViewerLifecycleContext>({ context, hooks, onChange, onError, }: DispatchFileViewerLifecycleEventInput<Context>) => boolean;
|
|
@@ -29,6 +29,13 @@ const FILE_VIEWER_ZOOM_BUTTON_OPERATIONS = {
|
|
|
29
29
|
canZoomOut: 'zoom-out',
|
|
30
30
|
canReset: 'zoom-reset',
|
|
31
31
|
};
|
|
32
|
+
export const DEFAULT_FILE_VIEWER_TOOLBAR_ORDER = [
|
|
33
|
+
'search',
|
|
34
|
+
'zoom',
|
|
35
|
+
'download',
|
|
36
|
+
'print',
|
|
37
|
+
'exportHtml',
|
|
38
|
+
];
|
|
32
39
|
export const buildFileViewerLifecycleContext = ({ phase, version, source, filename, file, url, size, bufferSize, startedAt, duration, timestamp, reason, }) => {
|
|
33
40
|
var _a;
|
|
34
41
|
const resolvedFilename = normalizeFilename((file === null || file === void 0 ? void 0 : file.name) || filename || url || '');
|
|
@@ -158,7 +165,7 @@ export const emitFileViewerComponentLifecycleEvent = (emit, context) => {
|
|
|
158
165
|
emit('unload-complete', context);
|
|
159
166
|
};
|
|
160
167
|
export const resolveFileViewerBeforeOperationErrorMessage = ({ error, formatErrorMessage, prefix, i18n, }) => {
|
|
161
|
-
return formatErrorMessage(prefix || translateFileViewerMessage(i18n, 'error.beforeOperation'), error);
|
|
168
|
+
return formatErrorMessage(prefix || translateFileViewerMessage(i18n, 'error.beforeOperation'), error, i18n);
|
|
162
169
|
};
|
|
163
170
|
export const resolveFileViewerLifecycleHookErrorMessage = ({ context, prefix = FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX, }) => {
|
|
164
171
|
return `${prefix} ${context.phase} hook failed`;
|
|
@@ -243,6 +250,32 @@ export const isFileViewerToolbarOperationPermitted = (toolbar, operation) => {
|
|
|
243
250
|
};
|
|
244
251
|
const isFileViewerToolbarOperationVisible = (toolbar, operation) => isToolbarActionMapAllowed(toolbar.items, operation) &&
|
|
245
252
|
isToolbarActionMapAllowed(toolbar.permissions, operation);
|
|
253
|
+
const normalizeFileViewerToolbarItem = (item) => {
|
|
254
|
+
if (item === 'search' || item === 'zoom' || item === 'download' || item === 'print') {
|
|
255
|
+
return item;
|
|
256
|
+
}
|
|
257
|
+
if (item === 'exportHtml' || item === 'export-html') {
|
|
258
|
+
return 'exportHtml';
|
|
259
|
+
}
|
|
260
|
+
return undefined;
|
|
261
|
+
};
|
|
262
|
+
export const resolveFileViewerToolbarOrder = (toolbar) => {
|
|
263
|
+
const order = [];
|
|
264
|
+
const seen = new Set();
|
|
265
|
+
const addItem = (item) => {
|
|
266
|
+
const normalized = normalizeFileViewerToolbarItem(item);
|
|
267
|
+
if (!normalized || seen.has(normalized)) {
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
seen.add(normalized);
|
|
271
|
+
order.push(normalized);
|
|
272
|
+
};
|
|
273
|
+
if (Array.isArray(toolbar === null || toolbar === void 0 ? void 0 : toolbar.order)) {
|
|
274
|
+
toolbar.order.forEach(addItem);
|
|
275
|
+
}
|
|
276
|
+
DEFAULT_FILE_VIEWER_TOOLBAR_ORDER.forEach(addItem);
|
|
277
|
+
return order;
|
|
278
|
+
};
|
|
246
279
|
const hasAnyToolbarZoomOperation = (toolbar) => FILE_VIEWER_ZOOM_OPERATIONS.some(operation => isFileViewerToolbarOperationVisible(toolbar, operation));
|
|
247
280
|
const applyToolbarPermissionsToAvailability = (availability, toolbar) => {
|
|
248
281
|
if (!toolbar || typeof toolbar !== 'object' || !toolbar.permissions) {
|
|
@@ -465,6 +498,7 @@ export const normalizeFileViewerToolbar = (options) => {
|
|
|
465
498
|
exportHtml: false,
|
|
466
499
|
zoom: false,
|
|
467
500
|
search: false,
|
|
501
|
+
order: resolveFileViewerToolbarOrder(undefined),
|
|
468
502
|
};
|
|
469
503
|
}
|
|
470
504
|
if (toolbar && typeof toolbar === 'object') {
|
|
@@ -474,6 +508,7 @@ export const normalizeFileViewerToolbar = (options) => {
|
|
|
474
508
|
exportHtml: toolbar.exportHtml !== false && isFileViewerToolbarOperationVisible(toolbar, 'export-html'),
|
|
475
509
|
zoom: toolbar.zoom !== false && hasAnyToolbarZoomOperation(toolbar),
|
|
476
510
|
search: toolbar.search !== false,
|
|
511
|
+
order: resolveFileViewerToolbarOrder(toolbar),
|
|
477
512
|
items: toolbar.items,
|
|
478
513
|
permissions: toolbar.permissions,
|
|
479
514
|
position: toolbar.position,
|
|
@@ -489,6 +524,7 @@ export const normalizeFileViewerToolbar = (options) => {
|
|
|
489
524
|
exportHtml: true,
|
|
490
525
|
zoom: true,
|
|
491
526
|
search: true,
|
|
527
|
+
order: resolveFileViewerToolbarOrder(undefined),
|
|
492
528
|
};
|
|
493
529
|
};
|
|
494
530
|
export const resolveFileViewerOperationAvailability = ({ extension, hasOriginalSource, renderedReady, hasError = false, adapter, source, zoomState, }) => {
|
|
@@ -543,6 +579,7 @@ export const resolveFileViewerToolbarState = ({ toolbar, options, loading = fals
|
|
|
543
579
|
return {
|
|
544
580
|
operationAvailability,
|
|
545
581
|
visibleToolbar,
|
|
582
|
+
toolbarOrder: resolveFileViewerToolbarOrder(toolbar),
|
|
546
583
|
showToolbar: hasVisibleFileViewerToolbarActions(visibleToolbar),
|
|
547
584
|
toolbarPosition: resolveFileViewerToolbarPosition(options, availabilityInput.extension),
|
|
548
585
|
toolbarDisabled: isFileViewerToolbarDisabled({
|
|
@@ -554,7 +591,7 @@ export const resolveFileViewerToolbarState = ({ toolbar, options, loading = fals
|
|
|
554
591
|
export const resolveFileViewerToolbarPosition = (options, extension) => {
|
|
555
592
|
const toolbar = options === null || options === void 0 ? void 0 : options.toolbar;
|
|
556
593
|
const position = toolbar && typeof toolbar === 'object' ? toolbar.position : 'auto';
|
|
557
|
-
if (position === 'top' || position === 'bottom-right') {
|
|
594
|
+
if (position === 'top' || position === 'top-center' || position === 'bottom-right') {
|
|
558
595
|
return position;
|
|
559
596
|
}
|
|
560
597
|
return extension === 'pdf' ? 'bottom-right' : 'top';
|
package/dist/platform/assets.js
CHANGED
|
@@ -102,7 +102,7 @@ export const DEFAULT_FILE_VIEWER_RENDERER_ASSET_MANIFESTS = [
|
|
|
102
102
|
rendererId: 'archive',
|
|
103
103
|
kind: 'worker',
|
|
104
104
|
target: 'public',
|
|
105
|
-
required:
|
|
105
|
+
required: true,
|
|
106
106
|
defaultPath: DEFAULT_FILE_VIEWER_ARCHIVE_WORKER_PATH,
|
|
107
107
|
optionPath: 'archive.workerUrl',
|
|
108
108
|
description: 'libarchive.js module worker used for broad archive format parsing.',
|
|
@@ -112,7 +112,7 @@ export const DEFAULT_FILE_VIEWER_RENDERER_ASSET_MANIFESTS = [
|
|
|
112
112
|
rendererId: 'archive',
|
|
113
113
|
kind: 'wasm',
|
|
114
114
|
target: 'public',
|
|
115
|
-
required:
|
|
115
|
+
required: true,
|
|
116
116
|
defaultPath: DEFAULT_FILE_VIEWER_ARCHIVE_WASM_PATH,
|
|
117
117
|
optionPath: 'archive.wasmUrl',
|
|
118
118
|
description: 'libarchive.js WebAssembly module expected next to the public worker.',
|
|
@@ -263,7 +263,7 @@ export const DEFAULT_FILE_VIEWER_RENDERER_ASSET_MANIFESTS = [
|
|
|
263
263
|
],
|
|
264
264
|
},
|
|
265
265
|
];
|
|
266
|
-
const DEFAULT_FILE_VIEWER_DOCUMENT_BASE_URL = '
|
|
266
|
+
const DEFAULT_FILE_VIEWER_DOCUMENT_BASE_URL = 'file:///';
|
|
267
267
|
export const resolveFileViewerAssetUrl = (value, fallback, options = {}) => {
|
|
268
268
|
const raw = value ? String(value) : fallback;
|
|
269
269
|
const documentBaseUrl = options.documentBaseUrl || DEFAULT_FILE_VIEWER_DOCUMENT_BASE_URL;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { FileViewerRenderedInstance } from '../contracts/types';
|
|
2
|
-
export default function renderImage(buffer: ArrayBuffer, target: HTMLDivElement, type?: string): Promise<FileViewerRenderedInstance>;
|
|
1
|
+
import type { FileRenderContext, FileViewerRenderedInstance } from '../contracts/types';
|
|
2
|
+
export default function renderImage(buffer: ArrayBuffer, target: HTMLDivElement, type?: string, context?: FileRenderContext): Promise<FileViewerRenderedInstance>;
|
package/dist/renderers/image.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { registerFileViewerZoomProvider, unregisterFileViewerZoomProvider, } from '../features/document/dom/index.js';
|
|
2
|
+
import { resolveFileViewerFitScale, } from '../features/document/fit.js';
|
|
3
|
+
import { createFileViewerTranslator } from '../i18n/messages.js';
|
|
2
4
|
import { createFileViewerZoomChangeEmitter as createZoomChangeEmitter } from '../features/document/zoom.js';
|
|
3
5
|
const imageMimeMap = {
|
|
4
6
|
avif: 'image/avif',
|
|
@@ -28,8 +30,8 @@ const imageStyle = `
|
|
|
28
30
|
@media (prefers-color-scheme:dark){.file-viewer[data-viewer-theme='system'] .image-viewer{background:#101820}}
|
|
29
31
|
@media (max-width:767px){.image-stage{padding:12px}.image-lightbox{padding:16px}.image-lightbox button{top:12px;right:12px}}
|
|
30
32
|
`;
|
|
31
|
-
const createStyle = () => {
|
|
32
|
-
const style =
|
|
33
|
+
const createStyle = (documentRef) => {
|
|
34
|
+
const style = documentRef.createElement('style');
|
|
33
35
|
style.textContent = imageStyle;
|
|
34
36
|
return style;
|
|
35
37
|
};
|
|
@@ -63,18 +65,18 @@ const resolveImageUrl = async (buffer, type) => {
|
|
|
63
65
|
const roundImageScale = (value) => {
|
|
64
66
|
return Number(value.toFixed(3));
|
|
65
67
|
};
|
|
66
|
-
const createLightbox = (src) => {
|
|
67
|
-
const lightbox =
|
|
68
|
+
const createLightbox = (documentRef, src, t) => {
|
|
69
|
+
const lightbox = documentRef.createElement('div');
|
|
68
70
|
lightbox.className = 'image-lightbox';
|
|
69
71
|
lightbox.hidden = true;
|
|
70
72
|
lightbox.setAttribute('role', 'dialog');
|
|
71
73
|
lightbox.setAttribute('aria-modal', 'true');
|
|
72
|
-
const image =
|
|
73
|
-
image.alt = '
|
|
74
|
+
const image = documentRef.createElement('img');
|
|
75
|
+
image.alt = t('image.lightbox.alt');
|
|
74
76
|
image.src = src;
|
|
75
|
-
const closeButton =
|
|
77
|
+
const closeButton = documentRef.createElement('button');
|
|
76
78
|
closeButton.type = 'button';
|
|
77
|
-
closeButton.setAttribute('aria-label', '
|
|
79
|
+
closeButton.setAttribute('aria-label', t('image.lightbox.close'));
|
|
78
80
|
closeButton.textContent = 'x';
|
|
79
81
|
const close = () => {
|
|
80
82
|
lightbox.hidden = true;
|
|
@@ -99,27 +101,29 @@ const createLightbox = (src) => {
|
|
|
99
101
|
},
|
|
100
102
|
};
|
|
101
103
|
};
|
|
102
|
-
export default async function renderImage(buffer, target, type) {
|
|
104
|
+
export default async function renderImage(buffer, target, type, context) {
|
|
105
|
+
var _a;
|
|
106
|
+
const t = createFileViewerTranslator(context === null || context === void 0 ? void 0 : context.options);
|
|
107
|
+
const documentRef = target.ownerDocument || document;
|
|
103
108
|
const src = await resolveImageUrl(buffer, type);
|
|
104
109
|
let userZoom = 1;
|
|
105
110
|
let fitScale = 1;
|
|
106
111
|
let currentScale = 1;
|
|
107
112
|
let viewportHeight = 0;
|
|
108
113
|
const zoomEmitter = createZoomChangeEmitter();
|
|
109
|
-
const root =
|
|
114
|
+
const root = documentRef.createElement('div');
|
|
110
115
|
root.className = 'image-viewer';
|
|
111
116
|
root.dataset.viewerZoomProvider = 'image';
|
|
112
|
-
const stage =
|
|
117
|
+
const stage = documentRef.createElement('div');
|
|
113
118
|
stage.className = 'image-stage';
|
|
114
|
-
const image =
|
|
115
|
-
image.alt = '
|
|
119
|
+
const image = documentRef.createElement('img');
|
|
120
|
+
image.alt = t('image.alt');
|
|
116
121
|
image.src = src;
|
|
117
122
|
stage.append(image);
|
|
118
123
|
root.append(stage);
|
|
119
|
-
const lightbox = createLightbox(src);
|
|
124
|
+
const lightbox = createLightbox(documentRef, src, t);
|
|
120
125
|
const openLightbox = () => lightbox.open();
|
|
121
126
|
image.addEventListener('click', openLightbox);
|
|
122
|
-
document.body.append(lightbox.element);
|
|
123
127
|
const getMinScale = () => Math.min(0.1, fitScale || 0.1);
|
|
124
128
|
const clampScale = (value) => {
|
|
125
129
|
const minScale = getMinScale();
|
|
@@ -172,6 +176,51 @@ export default async function renderImage(buffer, target, type) {
|
|
|
172
176
|
zoomEmitter.emit();
|
|
173
177
|
return getZoomState();
|
|
174
178
|
};
|
|
179
|
+
const fitImage = (request) => {
|
|
180
|
+
var _a, _b;
|
|
181
|
+
const naturalWidth = image.naturalWidth || 0;
|
|
182
|
+
const naturalHeight = image.naturalHeight || 0;
|
|
183
|
+
if (!naturalWidth || !naturalHeight) {
|
|
184
|
+
return {
|
|
185
|
+
applied: false,
|
|
186
|
+
mode: request.mode,
|
|
187
|
+
resize: request.resize,
|
|
188
|
+
source: request.source,
|
|
189
|
+
reason: 'image-not-ready',
|
|
190
|
+
provider: 'zoom',
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
const mode = request.mode === 'auto' ? 'scale-down' : request.mode;
|
|
194
|
+
const scale = resolveFileViewerFitScale({
|
|
195
|
+
mode,
|
|
196
|
+
viewportWidth: Math.max(1, request.viewportWidth || root.clientWidth || 0),
|
|
197
|
+
viewportHeight: Math.max(1, request.viewportHeight || root.clientHeight || viewportHeight || 0),
|
|
198
|
+
contentWidth: naturalWidth,
|
|
199
|
+
contentHeight: naturalHeight,
|
|
200
|
+
currentScale,
|
|
201
|
+
minScale: (_a = request.minScale) !== null && _a !== void 0 ? _a : getMinScale(),
|
|
202
|
+
maxScale: (_b = request.maxScale) !== null && _b !== void 0 ? _b : 5,
|
|
203
|
+
});
|
|
204
|
+
if (!scale) {
|
|
205
|
+
return {
|
|
206
|
+
applied: false,
|
|
207
|
+
mode: request.mode,
|
|
208
|
+
resize: request.resize,
|
|
209
|
+
source: request.source,
|
|
210
|
+
reason: 'unmeasurable',
|
|
211
|
+
provider: 'zoom',
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
const state = setZoom(scale);
|
|
215
|
+
return {
|
|
216
|
+
applied: true,
|
|
217
|
+
mode: request.mode,
|
|
218
|
+
resize: request.resize,
|
|
219
|
+
scale: state.scale,
|
|
220
|
+
source: request.source,
|
|
221
|
+
provider: 'zoom',
|
|
222
|
+
};
|
|
223
|
+
};
|
|
175
224
|
registerFileViewerZoomProvider(root, {
|
|
176
225
|
zoomIn: () => setZoom(currentScale + 0.15),
|
|
177
226
|
zoomOut: () => setZoom(currentScale - 0.15),
|
|
@@ -182,10 +231,12 @@ export default async function renderImage(buffer, target, type) {
|
|
|
182
231
|
return getZoomState();
|
|
183
232
|
},
|
|
184
233
|
setZoom,
|
|
234
|
+
fit: fitImage,
|
|
185
235
|
getState: getZoomState,
|
|
186
236
|
subscribe: zoomEmitter.subscribe,
|
|
187
237
|
});
|
|
188
|
-
target.replaceChildren(createStyle(), root);
|
|
238
|
+
target.replaceChildren(createStyle(documentRef), root);
|
|
239
|
+
(((_a = context === null || context === void 0 ? void 0 : context.surface) === null || _a === void 0 ? void 0 : _a.shadowRoot) || target).append(lightbox.element);
|
|
189
240
|
updateViewportSize();
|
|
190
241
|
return {
|
|
191
242
|
$el: target,
|
package/dist/renderers/index.js
CHANGED
|
@@ -16,9 +16,9 @@ const createWrapper = (el) => ({
|
|
|
16
16
|
export const coreBrowserRendererHandlers = [
|
|
17
17
|
{
|
|
18
18
|
rendererId: 'image',
|
|
19
|
-
handler: async (buffer, target, type) => {
|
|
19
|
+
handler: async (buffer, target, type, context) => {
|
|
20
20
|
const { default: renderImage } = await import('./image.js');
|
|
21
|
-
return renderImage(buffer, target, type);
|
|
21
|
+
return renderImage(buffer, target, type, context);
|
|
22
22
|
},
|
|
23
23
|
},
|
|
24
24
|
];
|
|
@@ -45,8 +45,8 @@ const resolveCoreRendererHandlers = (preset) => {
|
|
|
45
45
|
}
|
|
46
46
|
return coreBrowserRendererHandlers;
|
|
47
47
|
};
|
|
48
|
-
const renderUnsupported = async (_buffer, target, type) => {
|
|
49
|
-
const state = createFileViewerUnsupportedState(type);
|
|
48
|
+
const renderUnsupported = async (_buffer, target, type, context) => {
|
|
49
|
+
const state = createFileViewerUnsupportedState(type, undefined, context === null || context === void 0 ? void 0 : context.options);
|
|
50
50
|
const wrapper = document.createElement('div');
|
|
51
51
|
wrapper.style.textAlign = 'center';
|
|
52
52
|
wrapper.style.marginTop = '80px';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { FileViewerRendererDispatcher } from './dispatcher';
|
|
2
2
|
import { type FileViewerMutableAccessor, type MutableFileViewerRenderReadinessState } from '../source/loading';
|
|
3
|
-
import type { FileRenderExportAdapter, FileRenderContext, FileRenderHandler, FileViewerLifecycleContext, RendererDefinition, RendererLoadContext, RendererLoader, RendererRegistry, RendererSession } from '../contracts/types';
|
|
3
|
+
import type { FileRenderExportAdapter, FileRenderContext, FileRenderHandler, FileViewerLifecycleContext, FileViewerOptions, FileViewerStyleIsolation, RenderSurface, 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;
|
|
@@ -47,6 +47,22 @@ export interface CreateFileViewerRenderSurfaceStateTargetInput<Session extends R
|
|
|
47
47
|
export interface CreateFileViewerRenderTargetOptions {
|
|
48
48
|
className?: string;
|
|
49
49
|
}
|
|
50
|
+
export type ResolvedFileViewerStyleIsolation = Exclude<FileViewerStyleIsolation, 'auto'>;
|
|
51
|
+
export interface CreateFileViewerRenderSurfaceOptions extends CreateFileViewerRenderTargetOptions {
|
|
52
|
+
styleIsolation?: FileViewerStyleIsolation;
|
|
53
|
+
}
|
|
54
|
+
export interface FileViewerStyleHandle {
|
|
55
|
+
node?: HTMLStyleElement;
|
|
56
|
+
sheet?: CSSStyleSheet;
|
|
57
|
+
remove(): void;
|
|
58
|
+
}
|
|
59
|
+
export interface AppendFileViewerStyleOptions {
|
|
60
|
+
/**
|
|
61
|
+
* Constructable stylesheets are useful for long-lived ShadowRoots. Keep this
|
|
62
|
+
* opt-in so renderer styles still clean up naturally with their target node.
|
|
63
|
+
*/
|
|
64
|
+
adoptedStyleSheet?: boolean;
|
|
65
|
+
}
|
|
50
66
|
export interface ResetFileViewerRenderSurfaceInput<Session extends RendererSession = RendererSession> {
|
|
51
67
|
surfaceState: MutableFileViewerRenderSurfaceState<Session>;
|
|
52
68
|
readinessState: MutableFileViewerRenderReadinessState;
|
|
@@ -83,7 +99,9 @@ export interface RunFileViewerRenderSurfaceMountInput<Session extends RendererSe
|
|
|
83
99
|
waitForPaint?: () => Promise<unknown> | unknown;
|
|
84
100
|
disposeSession?: (session?: Session | null) => void;
|
|
85
101
|
onStartZoomObserver?: () => void;
|
|
102
|
+
onStartFitObserver?: () => void;
|
|
86
103
|
onStartViewStateObserver?: () => void;
|
|
104
|
+
onApplyInitialFit?: () => Promise<unknown> | unknown;
|
|
87
105
|
onRefreshDocumentIndex?: () => Promise<unknown> | unknown;
|
|
88
106
|
onRefreshZoomProvider?: () => void;
|
|
89
107
|
onRefreshViewStateProvider?: () => void;
|
|
@@ -100,6 +118,7 @@ export interface RunFileViewerRenderSurfaceClearInput<Session extends RendererSe
|
|
|
100
118
|
onClearDocumentState?: () => void;
|
|
101
119
|
onStopZoomObserver?: () => void;
|
|
102
120
|
onClearZoomProvider?: () => void;
|
|
121
|
+
onStopFitObserver?: () => void;
|
|
103
122
|
onStopViewStateObserver?: () => void;
|
|
104
123
|
onClearViewStateProvider?: () => void;
|
|
105
124
|
}
|
|
@@ -130,16 +149,25 @@ export interface CreateFileViewerRenderSurfaceActionHandlersInput<Session extend
|
|
|
130
149
|
onStartZoomObserver?: () => void;
|
|
131
150
|
onStopZoomObserver?: () => void;
|
|
132
151
|
onClearZoomProvider?: () => void;
|
|
152
|
+
onStartFitObserver?: () => void;
|
|
153
|
+
onStopFitObserver?: () => void;
|
|
133
154
|
onStartViewStateObserver?: () => void;
|
|
134
155
|
onStopViewStateObserver?: () => void;
|
|
135
156
|
onClearViewStateProvider?: () => void;
|
|
157
|
+
onApplyInitialFit?: () => Promise<unknown> | unknown;
|
|
136
158
|
onRefreshDocumentIndex?: () => Promise<unknown> | unknown;
|
|
137
159
|
onRefreshZoomProvider?: () => void;
|
|
138
160
|
onRefreshViewStateProvider?: () => void;
|
|
139
161
|
}
|
|
140
162
|
export declare const DEFAULT_FILE_VIEWER_RENDER_TARGET_CLASS = "file-render";
|
|
163
|
+
export declare const isFileViewerShadowRoot: (value: unknown) => value is ShadowRoot;
|
|
164
|
+
export declare const getFileViewerShadowRootForNode: (node: Node | null | undefined) => ShadowRoot | null;
|
|
165
|
+
export declare const normalizeFileViewerStyleIsolation: (isolation?: FileViewerStyleIsolation) => FileViewerStyleIsolation;
|
|
166
|
+
export declare const resolveFileViewerStyleIsolation: (options: Pick<FileViewerOptions, "styleIsolation"> | undefined, container?: HTMLElement | null) => ResolvedFileViewerStyleIsolation;
|
|
141
167
|
export declare const clearFileViewerRenderSurface: (container?: HTMLElement | null) => void;
|
|
142
168
|
export declare const createFileViewerRenderTarget: (container: HTMLElement, options?: CreateFileViewerRenderTargetOptions) => HTMLDivElement;
|
|
169
|
+
export declare const createFileViewerRenderSurface: (container: HTMLElement, options?: CreateFileViewerRenderSurfaceOptions) => RenderSurface;
|
|
170
|
+
export declare const appendFileViewerStyle: (target: HTMLElement | ShadowRoot, css: string, options?: AppendFileViewerStyleOptions) => FileViewerStyleHandle;
|
|
143
171
|
export declare const removeFileViewerRenderTarget: (container: HTMLElement, target: HTMLElement) => boolean;
|
|
144
172
|
export declare const createFileViewerRenderSurfaceState: <Session extends RendererSession = RendererSession>() => FileViewerRenderSurfaceState<Session>;
|
|
145
173
|
export declare const createFileViewerRenderReadinessTarget: ({ renderedReady, progressiveReady, }: CreateFileViewerRenderReadinessTargetInput) => MutableFileViewerRenderReadinessState;
|
|
@@ -165,10 +193,10 @@ export declare const reportFileViewerRenderSessionDisposeError: ({ error, onLogE
|
|
|
165
193
|
export declare const disposeFileViewerRendererSession: (session?: RendererSession | null, options?: DisposeFileViewerRendererSessionOptions) => void;
|
|
166
194
|
export declare const disposeActiveFileViewerRendererSession: <Session extends RendererSession, Target extends MutableFileViewerRenderSurfaceState<Session>>(target: Target, options?: DisposeFileViewerRendererSessionOptions) => Session | null;
|
|
167
195
|
export declare const resetFileViewerRenderSurface: <Session extends RendererSession>({ surfaceState, readinessState, container, disposeOptions, }: ResetFileViewerRenderSurfaceInput<Session>) => Session | null;
|
|
168
|
-
export declare const runFileViewerRenderSurfaceClear: <Session extends RendererSession, UnloadContext = FileViewerLifecycleContext | null>({ reason, surfaceState, readinessState, container, disposeOptions, onUnloadStart, onUnloadComplete, onClearActiveDocumentContext, onClearDocumentState, onStopZoomObserver, onClearZoomProvider, onStopViewStateObserver, onClearViewStateProvider, }: RunFileViewerRenderSurfaceClearInput<Session, UnloadContext>) => FileViewerRenderSurfaceClearState<Session, UnloadContext>;
|
|
169
|
-
export declare const runFileViewerRenderSurfaceMount: <Session extends RendererSession>({ buffer, file, version, sourceUrl, streamUrl, getContainer, surfaceState, readinessState, isCurrent, clearRenderedContent, render, waitForContainer, waitForPaint, disposeSession, onStartZoomObserver, onStartViewStateObserver, onRefreshDocumentIndex, onRefreshZoomProvider, onRefreshViewStateProvider, }: RunFileViewerRenderSurfaceMountInput<Session>) => Promise<Session | undefined>;
|
|
170
|
-
export declare const createFileViewerRenderSurfaceActionHandlers: <Session extends RendererSession, UnloadContext = FileViewerLifecycleContext | null>({ getContainer, surfaceState, readinessState, isCurrent, render, waitForContainer, waitForPaint, disposeOptions, onUnloadStart, onUnloadComplete, onClearActiveDocumentContext, onClearDocumentState, onStartZoomObserver, onStopZoomObserver, onClearZoomProvider, onStartViewStateObserver, onStopViewStateObserver, onClearViewStateProvider, onRefreshDocumentIndex, onRefreshZoomProvider, onRefreshViewStateProvider, }: CreateFileViewerRenderSurfaceActionHandlersInput<Session, UnloadContext>) => FileViewerRenderSurfaceActionHandlers<Session, UnloadContext>;
|
|
171
|
-
export declare const buildFileRenderContextFromLoadContext: ({ source, options, registerExportAdapter, renderContext, }: RendererLoadContext) => FileRenderContext;
|
|
196
|
+
export declare const runFileViewerRenderSurfaceClear: <Session extends RendererSession, UnloadContext = FileViewerLifecycleContext | null>({ reason, surfaceState, readinessState, container, disposeOptions, onUnloadStart, onUnloadComplete, onClearActiveDocumentContext, onClearDocumentState, onStopZoomObserver, onClearZoomProvider, onStopFitObserver, onStopViewStateObserver, onClearViewStateProvider, }: RunFileViewerRenderSurfaceClearInput<Session, UnloadContext>) => FileViewerRenderSurfaceClearState<Session, UnloadContext>;
|
|
197
|
+
export declare const runFileViewerRenderSurfaceMount: <Session extends RendererSession>({ buffer, file, version, sourceUrl, streamUrl, getContainer, surfaceState, readinessState, isCurrent, clearRenderedContent, render, waitForContainer, waitForPaint, disposeSession, onStartZoomObserver, onStartFitObserver, onStartViewStateObserver, onApplyInitialFit, onRefreshDocumentIndex, onRefreshZoomProvider, onRefreshViewStateProvider, }: RunFileViewerRenderSurfaceMountInput<Session>) => Promise<Session | undefined>;
|
|
198
|
+
export declare const createFileViewerRenderSurfaceActionHandlers: <Session extends RendererSession, UnloadContext = FileViewerLifecycleContext | null>({ getContainer, surfaceState, readinessState, isCurrent, render, waitForContainer, waitForPaint, disposeOptions, onUnloadStart, onUnloadComplete, onClearActiveDocumentContext, onClearDocumentState, onStartZoomObserver, onStopZoomObserver, onClearZoomProvider, onStartFitObserver, onStopFitObserver, onStartViewStateObserver, onStopViewStateObserver, onClearViewStateProvider, onApplyInitialFit, onRefreshDocumentIndex, onRefreshZoomProvider, onRefreshViewStateProvider, }: CreateFileViewerRenderSurfaceActionHandlersInput<Session, UnloadContext>) => FileViewerRenderSurfaceActionHandlers<Session, UnloadContext>;
|
|
199
|
+
export declare const buildFileRenderContextFromLoadContext: ({ source, surface, options, registerExportAdapter, renderContext, }: RendererLoadContext) => FileRenderContext;
|
|
172
200
|
export declare const renderFileViewerHandler: <Rendered = unknown, Target extends HTMLElement = HTMLElement>({ dispatcher, buffer, target, type, context, throwOnMissingHandler, }: RenderFileViewerHandlerInput<Rendered, Target>) => Promise<Rendered | undefined>;
|
|
173
201
|
export declare const createFileRenderHandlerLoader: <Rendered = unknown, Target extends HTMLElement = HTMLElement>({ handler, rendererId, getTarget, createContext, destroy, }: CreateFileRenderHandlerLoaderOptions<Rendered, Target>) => RendererLoader;
|
|
174
202
|
export declare const createFileRenderHandlerRegistry: <Rendered = unknown, Target extends HTMLElement = HTMLElement>({ definitions, handlers, getTarget, createContext, destroy, }: CreateFileRenderHandlerRegistryOptions<Rendered, Target>) => FileRenderHandlerRegistryResult<Rendered, Target>;
|