@file-viewer/core 2.1.21 → 2.1.22
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/dist/config/options.js +1 -1
- package/dist/contracts/types.d.ts +0 -34
- package/dist/headless.d.ts +1 -3
- package/dist/headless.js +0 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.js +0 -1
- package/dist/viewer/createViewer.js +0 -40
- package/package.json +1 -1
- package/dist/features/branding.d.ts +0 -17
- package/dist/features/branding.js +0 -128
package/dist/config/options.js
CHANGED
|
@@ -41,7 +41,7 @@ const sanitizeJsonValue = (value) => {
|
|
|
41
41
|
return Object.keys(output).length ? output : undefined;
|
|
42
42
|
};
|
|
43
43
|
const stripExecutionOnlyOptions = (value) => {
|
|
44
|
-
const { beforeOperation: _beforeOperation, hooks: _hooks, preset: _preset, presets: _presets, renderers: _renderers, rendererMode: _rendererMode, ...rest } = value;
|
|
44
|
+
const { beforeOperation: _beforeOperation, hooks: _hooks, preset: _preset, presets: _presets, renderers: _renderers, rendererMode: _rendererMode, branding: _branding, ...rest } = value;
|
|
45
45
|
if (isRecord(rest.toolbar)) {
|
|
46
46
|
const { beforeOperation: _toolbarBeforeOperation, beforeDownload: _beforeDownload, beforePrint: _beforePrint, beforeExportHtml: _beforeExportHtml, ...toolbar } = rest.toolbar;
|
|
47
47
|
rest.toolbar = toolbar;
|
|
@@ -42,35 +42,6 @@ export interface FileViewerWatermarkOptions {
|
|
|
42
42
|
color?: string;
|
|
43
43
|
fontFamily?: string;
|
|
44
44
|
}
|
|
45
|
-
export type FileViewerBrandingPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
|
|
46
|
-
export interface FileViewerBrandLicenseCertificate {
|
|
47
|
-
format?: string;
|
|
48
|
-
product?: string;
|
|
49
|
-
project?: string;
|
|
50
|
-
licenseKind?: string;
|
|
51
|
-
permissions?: string[];
|
|
52
|
-
expiresAt?: string | null;
|
|
53
|
-
[key: string]: unknown;
|
|
54
|
-
}
|
|
55
|
-
export interface FileViewerBrandLicenseBundle {
|
|
56
|
-
format?: string;
|
|
57
|
-
licenseNo?: string;
|
|
58
|
-
algorithm?: string;
|
|
59
|
-
publicKey?: string;
|
|
60
|
-
privateKey?: string;
|
|
61
|
-
certificate?: FileViewerBrandLicenseCertificate | string;
|
|
62
|
-
signature?: string;
|
|
63
|
-
[key: string]: unknown;
|
|
64
|
-
}
|
|
65
|
-
export type FileViewerBrandLicenseInput = string | FileViewerBrandLicenseCertificate | FileViewerBrandLicenseBundle;
|
|
66
|
-
export interface FileViewerBrandingOptions {
|
|
67
|
-
enabled?: boolean;
|
|
68
|
-
text?: string;
|
|
69
|
-
href?: string;
|
|
70
|
-
title?: string;
|
|
71
|
-
position?: FileViewerBrandingPosition;
|
|
72
|
-
license?: FileViewerBrandLicenseInput;
|
|
73
|
-
}
|
|
74
45
|
export interface FileViewerToolbarOptions {
|
|
75
46
|
download?: boolean;
|
|
76
47
|
print?: boolean;
|
|
@@ -482,11 +453,6 @@ export interface FileViewerOptions {
|
|
|
482
453
|
*/
|
|
483
454
|
presets?: FileViewerRendererPresetInput;
|
|
484
455
|
renderers?: FileViewerRendererPluginInput;
|
|
485
|
-
/**
|
|
486
|
-
* Built-in attribution badge. Pass `{ enabled:false, license }` with a
|
|
487
|
-
* Flyfish Viewer brand-removal authorization package to hide it legitimately.
|
|
488
|
-
*/
|
|
489
|
-
branding?: boolean | FileViewerBrandingOptions;
|
|
490
456
|
watermark?: boolean | FileViewerWatermarkOptions;
|
|
491
457
|
ui?: FileViewerUiOptions;
|
|
492
458
|
toolbar?: boolean | FileViewerToolbarOptions;
|
package/dist/headless.d.ts
CHANGED
|
@@ -22,8 +22,6 @@ export { cancelFileViewerPreviewRequest, DEFAULT_FILE_VIEWER_PREVIEW_LOAD_ERROR_
|
|
|
22
22
|
export type { CancelFileViewerPreviewRequestInput, CommitFileViewerEmptyPreviewResetStateInput, CommitFileViewerLoadStartStateInput, CommitFileViewerPreviewRequestStartStateInput, CommitFileViewerRenderCompleteStateInput, CommitFileViewerRemoteDownloadStateInput, CreateFileViewerLoadStartStateInput, CreateFileViewerPreviewStateTargetInput, CreateFileViewerReadPreviewStateInput, CreateFileViewerRenderCompleteStateInput, CreateFileViewerSourceLoadingActionHandlersInput, FileViewerEmptyPreviewState, FileViewerFileRefSourcePlan, FileViewerLocalFilePreviewState, FileViewerLoadStartState, FileViewerLocationLike, FileViewerMutableAccessor, FileViewerPreviewComponentUnmountState, FileViewerPreviewLoadErrorKind, FileViewerPreviewLoadErrorLogger, FileViewerPreviewLoadErrorPrefixes, FileViewerPreviewRequestResetState, FileViewerPreviewRequestRunState, FileViewerReadAndRenderFileState, FileViewerReadPreviewState, FileViewerRemoteDownloadState, FileViewerRemoteFileDownloadInput, FileViewerRemoteFilePreviewErrorKind, FileViewerRemoteFilePreviewState, FileViewerRemoteSourcePlan, FileViewerRenderCompleteState, FileViewerRenderReadinessState, FileViewerRequestController, FileViewerRequestScope, FileViewerSourceLoadingActionHandlers, FileViewerStreamingPdfPreviewState, FinalizeFileViewerPreviewLoadStateInput, MutableFileViewerPreviewFilenameState, MutableFileViewerPreviewRequestState, MutableFileViewerPreviewSourceUrlState, MutableFileViewerPreviewState, MutableFileViewerReadPreviewState, MutableFileViewerRenderReadinessState, ReportFileViewerMissingRemoteDataInput, ReportFileViewerPreviewLoadErrorInput, ResolveFileViewerFileRefSourcePlanInput, ResolveFileViewerMissingRemoteDataErrorMessageInput, ResolveFileViewerPreviewLoadErrorMessageInput, ResolveFileViewerPreviewRequestReasonInput, RunFileViewerLocalFilePreviewInput, RunFileViewerPreviewComponentUnmountInput, RunFileViewerPreviewRequestInput, RunFileViewerPreviewSourceChangeInput, RunFileViewerReadAndRenderFileInput, RunFileViewerRemoteFilePreviewInput, RunFileViewerStreamingPdfPreviewInput, } from './source/loading';
|
|
23
23
|
export { DEFAULT_FILE_VIEWER_STATE_THEME, DEFAULT_FILE_VIEWER_UNSUPPORTED_DESCRIPTION, FILE_VIEWER_PREVIEW_MESSAGES, createFileViewerEmptyState, createFileViewerErrorState, createFileViewerPreviewLoadingState, createFileViewerReadyState, createFileViewerUnsupportedState, formatFileViewerErrorMessage, normalizeFileViewerErrorMessage, } from './viewer/state';
|
|
24
24
|
export type { FileViewerErrorMessageFormatter, } from './viewer/state';
|
|
25
|
-
export { FILE_VIEWER_BRAND_LICENSE_FORMAT, FILE_VIEWER_BRAND_LICENSE_KIND, FILE_VIEWER_BRAND_LICENSE_PERMISSION, FILE_VIEWER_BRAND_LICENSE_PRODUCT, FILE_VIEWER_BRAND_LICENSE_PROJECT, buildFileViewerBrandingInlineStyle, isFileViewerBrandRemovalLicense, resolveFileViewerBrandingPresentationState, } from './features/branding';
|
|
26
|
-
export type { FileViewerBrandingPresentationState, } from './features/branding';
|
|
27
25
|
export { buildFileViewerWatermarkBackgroundImage, buildFileViewerWatermarkInlineStyle, buildFileViewerWatermarkStyle, buildFileViewerWatermarkSvg, normalizeFileViewerWatermark, resolveFileViewerWatermarkPresentationState, } from './features/watermark';
|
|
28
26
|
export type { FileViewerWatermarkPresentationState, FileViewerWatermarkStyle, } from './features/watermark';
|
|
29
|
-
export type { FileRenderContext, FileRenderExportAdapter, FileRenderExportMode, FileRenderExportOptions, FileRenderHandler, FileRenderHandlerComposite, FileViewerBuiltinRendererPreset, FileViewerAiOptions, FileViewerArchiveEntryActionContext, FileViewerArchiveEntryActionPolicy, FileViewerArchiveEntryActionsOptions, FileViewerArchiveOptions, FileViewerApplyViewStateOptions, FileViewerBeforeOperation,
|
|
27
|
+
export type { FileRenderContext, FileRenderExportAdapter, FileRenderExportMode, FileRenderExportOptions, FileRenderHandler, FileRenderHandlerComposite, FileViewerBuiltinRendererPreset, FileViewerAiOptions, FileViewerArchiveEntryActionContext, FileViewerArchiveEntryActionPolicy, FileViewerArchiveEntryActionsOptions, FileViewerArchiveOptions, FileViewerApplyViewStateOptions, FileViewerBeforeOperation, FileViewerCadDwfLineWeightMode, FileViewerCadOptions, FileViewerCadRenderer, FileViewerComponentEmits, FileViewerComponentEventMap, FileViewerComponentProps, FileViewerDocumentAnchor, FileViewerDocumentChunk, FileViewerDocxOptions, FileViewerDrawingOptions, FileViewerDownloadOptions, FileViewerEvent, FileViewerEventHandler, FileViewerEventType, FileViewerExportHtmlOptions, FileViewerFileRef, FileViewerFitMode, FileViewerFitOptions, FileViewerFitRequest, FileViewerFitResize, FileViewerFitResult, FileViewerGeoOptions, FileViewerInstance, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerI18nOptions, FileViewerLocale, FileViewerMessageKey, FileViewerMessageParams, FileViewerMessageResolver, FileViewerMessages, FileViewerNavigationState, FileViewerOperationAvailability, FileViewerOperationContext, FileViewerOperationType, FileViewerOptions, FileViewerPdfOptions, FileViewerPresentationOptions, FileViewerPrintOptions, FileViewerPublicApi, FileViewerRenderStateKind, FileViewerRenderedInstance, FileViewerRendererCategory, FileViewerSearchMatch, FileViewerSearchOptions, FileViewerSearchProvider, FileViewerSearchState, FileViewerSource, FileViewerSourceKind, FileViewerSpreadsheetOptions, FileViewerStateDescriptor, FileViewerStateTheme, FileViewerThemeMode, FileViewerToolbarActionMap, FileViewerToolbarItem, FileViewerToolbarOptions, FileViewerToolbarPosition, FileViewerResolvedToolbarItem, FileViewerUiDensity, FileViewerUiOptions, FileViewerTypstOptions, FileViewerViewScrollState, FileViewerViewState, FileViewerViewStateChange, FileViewerViewStateChangeAction, FileViewerViewStateChangeSource, FileViewerViewStateProvider, FileViewerWatermarkOptions, FileViewerZoomProvider, FileViewerZoomState, NormalizedFileViewerSource, RenderSurface, RendererCapability, RendererDefinition, RendererLoadContext, RendererLoader, RendererPlugin, RendererRegistry, RendererSession, ViewerCapabilityState, ViewerLifecycleContext, ViewerOperationContext, } from './contracts/types';
|
package/dist/headless.js
CHANGED
|
@@ -17,5 +17,4 @@ export { buildFileRenderContextFromLoadContext, createFileRenderHandlerRegistry,
|
|
|
17
17
|
export { DEFAULT_FILE_VIEWER_SOURCE_FILENAME, decodeFilename, getExtension, normalizeFileExtension, normalizeFilename, normalizeSource, readFileViewerBuffer, readFileViewerDataUrl, readFileViewerText, resolveFileViewerSourceFilename, wrapFileViewerFileRef, } from './source/index.js';
|
|
18
18
|
export { cancelFileViewerPreviewRequest, DEFAULT_FILE_VIEWER_PREVIEW_LOAD_ERROR_LOGGER, DEFAULT_FILE_VIEWER_STREAMING_PDF_FILENAME, DEFAULT_PDF_RANGE_CHUNK_SIZE, FILE_VIEWER_PREVIEW_LOAD_ERROR_PREFIXES, FILE_VIEWER_REMOTE_MISSING_DATA_ERROR_MESSAGE, applyFileViewerEmptyPreviewState, applyFileViewerPreviewFilenameState, applyFileViewerPreviewRequestResetState, applyFileViewerPreviewSourceUrlState, applyFileViewerReadPreviewState, applyFileViewerRenderReadinessState, commitFileViewerEmptyPreviewResetState, commitFileViewerLoadStartState, commitFileViewerPreviewRequestStartState, commitFileViewerRemoteDownloadState, createFileViewerEmptyPreviewState, createFileViewerLoadStartState, createFileViewerPreviewRequestResetState, createFileViewerPreviewStateTarget, createFileViewerReadPreviewState, createFileViewerRenderCompleteState, createFileViewerRequestController, createFileViewerRequestScope, createFileViewerSourceLoadingActionHandlers, createFileViewerStreamingPdfPlaceholderFile, finalizeFileViewerPreviewLoadState, hasFileViewerPreviewSource, isFileViewerAbortError, isSameOriginUrl, normalizeFileViewerSourceUrl, normalizePdfStreamingMode, reportFileViewerMissingRemoteData, reportFileViewerPreviewLoadError, resolveFileViewerFileRefSourcePlan, resolveFileViewerLoadStartMessage, resolveFileViewerMissingRemoteDataErrorMessage, resolveFileViewerPageHref, resolveFileViewerPreviewLoadErrorMessage, resolveFileViewerPreviewRequestReason, resolveFileViewerRemoteSourcePlan, runFileViewerLocalFilePreview, runFileViewerPreviewComponentUnmount, runFileViewerPreviewRequest, runFileViewerPreviewSourceChange, runFileViewerRemoteFilePreview, runFileViewerReadAndRenderFile, runFileViewerStreamingPdfPreview, shouldStreamPdfUrl, } from './source/loading.js';
|
|
19
19
|
export { DEFAULT_FILE_VIEWER_STATE_THEME, DEFAULT_FILE_VIEWER_UNSUPPORTED_DESCRIPTION, FILE_VIEWER_PREVIEW_MESSAGES, createFileViewerEmptyState, createFileViewerErrorState, createFileViewerPreviewLoadingState, createFileViewerReadyState, createFileViewerUnsupportedState, formatFileViewerErrorMessage, normalizeFileViewerErrorMessage, } from './viewer/state.js';
|
|
20
|
-
export { FILE_VIEWER_BRAND_LICENSE_FORMAT, FILE_VIEWER_BRAND_LICENSE_KIND, FILE_VIEWER_BRAND_LICENSE_PERMISSION, FILE_VIEWER_BRAND_LICENSE_PRODUCT, FILE_VIEWER_BRAND_LICENSE_PROJECT, buildFileViewerBrandingInlineStyle, isFileViewerBrandRemovalLicense, resolveFileViewerBrandingPresentationState, } from './features/branding.js';
|
|
21
20
|
export { buildFileViewerWatermarkBackgroundImage, buildFileViewerWatermarkInlineStyle, buildFileViewerWatermarkStyle, buildFileViewerWatermarkSvg, normalizeFileViewerWatermark, resolveFileViewerWatermarkPresentationState, } from './features/watermark.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -65,8 +65,6 @@ export { DEFAULT_FILE_VIEWER_SOURCE_FILENAME, decodeFilename, getExtension, norm
|
|
|
65
65
|
export type { FileViewerReadResult } from './source';
|
|
66
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';
|
|
67
67
|
export type { FileViewerErrorMessageFormatter, FileViewerRendererInstallHint, } from './viewer/state';
|
|
68
|
-
export { FILE_VIEWER_BRAND_LICENSE_FORMAT, FILE_VIEWER_BRAND_LICENSE_KIND, FILE_VIEWER_BRAND_LICENSE_PERMISSION, FILE_VIEWER_BRAND_LICENSE_PRODUCT, FILE_VIEWER_BRAND_LICENSE_PROJECT, buildFileViewerBrandingInlineStyle, isFileViewerBrandRemovalLicense, resolveFileViewerBrandingPresentationState, } from './features/branding';
|
|
69
|
-
export type { FileViewerBrandingPresentationState, } from './features/branding';
|
|
70
68
|
export { buildFileViewerWatermarkBackgroundImage, buildFileViewerWatermarkInlineStyle, buildFileViewerWatermarkStyle, buildFileViewerWatermarkSvg, normalizeFileViewerWatermark, resolveFileViewerWatermarkPresentationState, } from './features/watermark';
|
|
71
69
|
export type { FileViewerWatermarkPresentationState, FileViewerWatermarkStyle, } from './features/watermark';
|
|
72
70
|
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';
|
|
@@ -87,4 +85,4 @@ export type { CreateFileViewerZoomControllerOptions, FileViewerZoomOperation, }
|
|
|
87
85
|
export type { CreateViewerOptions } from './viewer/createViewer';
|
|
88
86
|
export type { BuildExportHtmlDocumentOptions, BuildFileViewerRenderedHtmlDocumentOptions, } from './output/export';
|
|
89
87
|
export type { CreateFileViewerWorkerControllerOptions, FileViewerWorkerContext, FileViewerWorkerController, FileViewerWorkerErrorHook, FileViewerWorkerEventHandler, FileViewerWorkerFactory, FileViewerWorkerMessageHook, WorkerProvider, WorkerRef, } from './platform/worker';
|
|
90
|
-
export type { FileViewerAiOptions, FileViewerArchiveEntryActionContext, FileViewerArchiveEntryActionPolicy, FileViewerArchiveEntryActionsOptions, FileViewerArchivePasswordRequestContext, FileViewerArchivePasswordRequestReason, FileViewerArchiveOptions, FileViewerApplyViewStateOptions, FileViewerBeforeOperation,
|
|
88
|
+
export type { FileViewerAiOptions, FileViewerArchiveEntryActionContext, FileViewerArchiveEntryActionPolicy, FileViewerArchiveEntryActionsOptions, 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, 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
|
@@ -172,7 +172,6 @@ export { createFileViewerRendererDispatcher, } from './rendering/dispatcher.js';
|
|
|
172
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';
|
|
173
173
|
export { DEFAULT_FILE_VIEWER_SOURCE_FILENAME, decodeFilename, getExtension, normalizeFileExtension, normalizeFilename, resolveFileViewerSourceFilename, normalizeSource, readFileViewerBuffer, readFileViewerDataUrl, readFileViewerText, wrapFileViewerFileRef, } from './source/index.js';
|
|
174
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';
|
|
175
|
-
export { FILE_VIEWER_BRAND_LICENSE_FORMAT, FILE_VIEWER_BRAND_LICENSE_KIND, FILE_VIEWER_BRAND_LICENSE_PERMISSION, FILE_VIEWER_BRAND_LICENSE_PRODUCT, FILE_VIEWER_BRAND_LICENSE_PROJECT, buildFileViewerBrandingInlineStyle, isFileViewerBrandRemovalLicense, resolveFileViewerBrandingPresentationState, } from './features/branding.js';
|
|
176
175
|
export { buildFileViewerWatermarkBackgroundImage, buildFileViewerWatermarkInlineStyle, buildFileViewerWatermarkStyle, buildFileViewerWatermarkSvg, normalizeFileViewerWatermark, resolveFileViewerWatermarkPresentationState, } from './features/watermark.js';
|
|
177
176
|
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';
|
|
178
177
|
export { createViewer } from './viewer/createViewer.js';
|
|
@@ -17,7 +17,6 @@ import { createFileRenderHandlerLoader, applyFileViewerRenderSurfaceState, creat
|
|
|
17
17
|
import { createFileViewerCoreRendererRegistry } from '../renderers/index.js';
|
|
18
18
|
import { createFileViewerRequestScope } from '../source/loading.js';
|
|
19
19
|
import { normalizeSource } from '../source/index.js';
|
|
20
|
-
import { resolveFileViewerBrandingPresentationState } from '../features/branding.js';
|
|
21
20
|
import { buildFileViewerWatermarkInlineStyle } from '../features/watermark.js';
|
|
22
21
|
import { createFileViewerUnsupportedState } from './state.js';
|
|
23
22
|
const emitLifecycle = async (options, onEvent, phase, source, version, startedAt, reason) => {
|
|
@@ -108,7 +107,6 @@ export const createViewer = (container, createOptions = {}) => {
|
|
|
108
107
|
let watermarkResizeObserver = null;
|
|
109
108
|
let watermarkMutationObserver = null;
|
|
110
109
|
let watermarkFrame = null;
|
|
111
|
-
let brandingEl = null;
|
|
112
110
|
const getContainerWindow = () => container.ownerDocument.defaultView || (typeof window !== 'undefined' ? window : undefined);
|
|
113
111
|
const cancelWatermarkFrame = () => {
|
|
114
112
|
if (watermarkFrame === null) {
|
|
@@ -236,40 +234,6 @@ export const createViewer = (container, createOptions = {}) => {
|
|
|
236
234
|
}
|
|
237
235
|
startWatermarkObservers();
|
|
238
236
|
};
|
|
239
|
-
const removeBrandingBadge = () => {
|
|
240
|
-
brandingEl === null || brandingEl === void 0 ? void 0 : brandingEl.remove();
|
|
241
|
-
brandingEl = null;
|
|
242
|
-
};
|
|
243
|
-
const syncBrandingBadge = () => {
|
|
244
|
-
const state = resolveFileViewerBrandingPresentationState(options.branding);
|
|
245
|
-
if (!state.visible) {
|
|
246
|
-
removeBrandingBadge();
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
if (!brandingEl || brandingEl.ownerDocument !== container.ownerDocument) {
|
|
250
|
-
brandingEl = container.ownerDocument.createElement('a');
|
|
251
|
-
brandingEl.className = 'viewer-branding';
|
|
252
|
-
brandingEl.target = '_blank';
|
|
253
|
-
brandingEl.rel = 'noreferrer noopener';
|
|
254
|
-
}
|
|
255
|
-
if (state.href) {
|
|
256
|
-
brandingEl.href = state.href;
|
|
257
|
-
}
|
|
258
|
-
else {
|
|
259
|
-
brandingEl.removeAttribute('href');
|
|
260
|
-
}
|
|
261
|
-
brandingEl.textContent = state.text;
|
|
262
|
-
brandingEl.title = state.title;
|
|
263
|
-
brandingEl.setAttribute('aria-label', state.title);
|
|
264
|
-
brandingEl.style.cssText = state.inlineStyle;
|
|
265
|
-
const view = getContainerWindow();
|
|
266
|
-
if ((view === null || view === void 0 ? void 0 : view.getComputedStyle) && view.getComputedStyle(container).position === 'static' && !container.style.position) {
|
|
267
|
-
container.style.position = 'relative';
|
|
268
|
-
}
|
|
269
|
-
if (brandingEl.parentElement !== container) {
|
|
270
|
-
container.appendChild(brandingEl);
|
|
271
|
-
}
|
|
272
|
-
};
|
|
273
237
|
const ensureRendererPluginsInstalled = async () => {
|
|
274
238
|
const nextMode = options.rendererMode || 'extend';
|
|
275
239
|
const nextRendererInput = options.renderers;
|
|
@@ -495,7 +459,6 @@ export const createViewer = (container, createOptions = {}) => {
|
|
|
495
459
|
renderMissingRendererState(target, normalized.extension, options);
|
|
496
460
|
applyFileViewerRenderSurfaceState(renderSurfaceState, { session: null });
|
|
497
461
|
syncWatermarkOverlay();
|
|
498
|
-
syncBrandingBadge();
|
|
499
462
|
emitZoomAndOperationAvailabilityChange();
|
|
500
463
|
await emitLifecycle(options, createOptions.onEvent, 'load-complete', normalized, version, startedAt);
|
|
501
464
|
return null;
|
|
@@ -528,7 +491,6 @@ export const createViewer = (container, createOptions = {}) => {
|
|
|
528
491
|
}
|
|
529
492
|
applyFileViewerRenderSurfaceState(renderSurfaceState, { session });
|
|
530
493
|
syncWatermarkOverlay();
|
|
531
|
-
syncBrandingBadge();
|
|
532
494
|
zoomController.refreshProvider();
|
|
533
495
|
viewStateController.refreshProvider();
|
|
534
496
|
await documentActions.refreshDocumentIndex({ notify: false });
|
|
@@ -549,7 +511,6 @@ export const createViewer = (container, createOptions = {}) => {
|
|
|
549
511
|
viewStateController.destroy();
|
|
550
512
|
fitController.destroy();
|
|
551
513
|
removeWatermarkOverlay();
|
|
552
|
-
removeBrandingBadge();
|
|
553
514
|
},
|
|
554
515
|
updateOptions(nextOptions) {
|
|
555
516
|
const previousFit = options.fit;
|
|
@@ -558,7 +519,6 @@ export const createViewer = (container, createOptions = {}) => {
|
|
|
558
519
|
...nextOptions,
|
|
559
520
|
};
|
|
560
521
|
syncWatermarkOverlay();
|
|
561
|
-
syncBrandingBadge();
|
|
562
522
|
if ('fit' in nextOptions && nextOptions.fit !== previousFit) {
|
|
563
523
|
fitController.resetAutoFit();
|
|
564
524
|
fitController.scheduleFit('resize');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@file-viewer/core",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.22",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Framework-neutral modular TypeScript core for Flyfish File Viewer renderer orchestration, lifecycle APIs, search, zoom, print, and export",
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { FileViewerBrandLicenseInput, FileViewerBrandingOptions } from '../contracts/types';
|
|
2
|
-
export declare const FILE_VIEWER_BRAND_LICENSE_FORMAT = "flyfish-viewer-brand-license-v1";
|
|
3
|
-
export declare const FILE_VIEWER_BRAND_LICENSE_PRODUCT = "flyfish-viewer";
|
|
4
|
-
export declare const FILE_VIEWER_BRAND_LICENSE_PROJECT = "file-viewer";
|
|
5
|
-
export declare const FILE_VIEWER_BRAND_LICENSE_KIND = "brand-removal";
|
|
6
|
-
export declare const FILE_VIEWER_BRAND_LICENSE_PERMISSION = "remove-branding";
|
|
7
|
-
export interface FileViewerBrandingPresentationState {
|
|
8
|
-
visible: boolean;
|
|
9
|
-
licenseValid: boolean;
|
|
10
|
-
text: string;
|
|
11
|
-
href: string;
|
|
12
|
-
title: string;
|
|
13
|
-
inlineStyle: string;
|
|
14
|
-
}
|
|
15
|
-
export declare const isFileViewerBrandRemovalLicense: (input: FileViewerBrandLicenseInput | undefined, now?: number) => boolean;
|
|
16
|
-
export declare const buildFileViewerBrandingInlineStyle: (branding?: boolean | FileViewerBrandingOptions) => string;
|
|
17
|
-
export declare const resolveFileViewerBrandingPresentationState: (branding?: boolean | FileViewerBrandingOptions, now?: number) => FileViewerBrandingPresentationState;
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
export const FILE_VIEWER_BRAND_LICENSE_FORMAT = 'flyfish-viewer-brand-license-v1';
|
|
2
|
-
export const FILE_VIEWER_BRAND_LICENSE_PRODUCT = 'flyfish-viewer';
|
|
3
|
-
export const FILE_VIEWER_BRAND_LICENSE_PROJECT = 'file-viewer';
|
|
4
|
-
export const FILE_VIEWER_BRAND_LICENSE_KIND = 'brand-removal';
|
|
5
|
-
export const FILE_VIEWER_BRAND_LICENSE_PERMISSION = 'remove-branding';
|
|
6
|
-
const DEFAULT_BRANDING_TEXT = 'Powered by Flyfish Viewer';
|
|
7
|
-
const DEFAULT_BRANDING_HREF = '';
|
|
8
|
-
const DEFAULT_BRANDING_TITLE = 'Flyfish Viewer';
|
|
9
|
-
const isRecord = (value) => {
|
|
10
|
-
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
11
|
-
};
|
|
12
|
-
const readJson = (value) => {
|
|
13
|
-
try {
|
|
14
|
-
return JSON.parse(value);
|
|
15
|
-
}
|
|
16
|
-
catch {
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
const normalizeLicenseInput = (input) => {
|
|
21
|
-
const value = typeof input === 'string' ? readJson(input) : input;
|
|
22
|
-
if (!isRecord(value)) {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
const certificateValue = 'certificate' in value ? value.certificate : value;
|
|
26
|
-
const certificate = typeof certificateValue === 'string'
|
|
27
|
-
? readJson(certificateValue)
|
|
28
|
-
: certificateValue;
|
|
29
|
-
if (!isRecord(certificate)) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
return {
|
|
33
|
-
certificate,
|
|
34
|
-
signature: typeof value.signature === 'string' ? value.signature.trim() : '',
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
const getString = (record, key) => {
|
|
38
|
-
const value = record[key];
|
|
39
|
-
return typeof value === 'string' ? value.trim() : '';
|
|
40
|
-
};
|
|
41
|
-
const hasPermission = (record, permission) => {
|
|
42
|
-
const permissions = record.permissions;
|
|
43
|
-
return Array.isArray(permissions) && permissions.some(item => item === permission);
|
|
44
|
-
};
|
|
45
|
-
const isWithinValidTime = (record, now) => {
|
|
46
|
-
const expiresAt = getString(record, 'expiresAt');
|
|
47
|
-
if (!expiresAt) {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
const timestamp = Date.parse(expiresAt);
|
|
51
|
-
return Number.isFinite(timestamp) && timestamp >= now;
|
|
52
|
-
};
|
|
53
|
-
export const isFileViewerBrandRemovalLicense = (input, now = Date.now()) => {
|
|
54
|
-
const normalized = normalizeLicenseInput(input);
|
|
55
|
-
if (!normalized || !normalized.signature) {
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
const certificate = normalized.certificate;
|
|
59
|
-
return getString(certificate, 'format') === FILE_VIEWER_BRAND_LICENSE_FORMAT
|
|
60
|
-
&& getString(certificate, 'product') === FILE_VIEWER_BRAND_LICENSE_PRODUCT
|
|
61
|
-
&& getString(certificate, 'project') === FILE_VIEWER_BRAND_LICENSE_PROJECT
|
|
62
|
-
&& getString(certificate, 'licenseKind') === FILE_VIEWER_BRAND_LICENSE_KIND
|
|
63
|
-
&& hasPermission(certificate, FILE_VIEWER_BRAND_LICENSE_PERMISSION)
|
|
64
|
-
&& isWithinValidTime(certificate, now);
|
|
65
|
-
};
|
|
66
|
-
const normalizeBrandingOptions = (branding) => {
|
|
67
|
-
if (branding === undefined || branding === false) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
if (branding === true) {
|
|
71
|
-
return { enabled: true };
|
|
72
|
-
}
|
|
73
|
-
return branding;
|
|
74
|
-
};
|
|
75
|
-
const resolvePositionStyle = (position) => {
|
|
76
|
-
switch (position) {
|
|
77
|
-
case 'bottom-left':
|
|
78
|
-
return 'left:10px;bottom:10px;';
|
|
79
|
-
case 'top-left':
|
|
80
|
-
return 'left:10px;top:10px;';
|
|
81
|
-
case 'top-right':
|
|
82
|
-
return 'right:10px;top:10px;';
|
|
83
|
-
case 'bottom-right':
|
|
84
|
-
default:
|
|
85
|
-
return 'right:10px;bottom:10px;';
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
export const buildFileViewerBrandingInlineStyle = (branding) => {
|
|
89
|
-
const normalized = normalizeBrandingOptions(branding);
|
|
90
|
-
if (!normalized) {
|
|
91
|
-
return '';
|
|
92
|
-
}
|
|
93
|
-
return [
|
|
94
|
-
'position:absolute',
|
|
95
|
-
resolvePositionStyle(normalized.position),
|
|
96
|
-
'z-index:30',
|
|
97
|
-
'display:inline-flex',
|
|
98
|
-
'align-items:center',
|
|
99
|
-
'max-width:calc(100% - 20px)',
|
|
100
|
-
'height:24px',
|
|
101
|
-
'padding:0 9px',
|
|
102
|
-
'border-radius:999px',
|
|
103
|
-
'box-sizing:border-box',
|
|
104
|
-
'background:rgba(15,23,42,0.68)',
|
|
105
|
-
'color:#fff',
|
|
106
|
-
'font:500 11px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif',
|
|
107
|
-
'text-decoration:none',
|
|
108
|
-
'white-space:nowrap',
|
|
109
|
-
'overflow:hidden',
|
|
110
|
-
'text-overflow:ellipsis',
|
|
111
|
-
'backdrop-filter:blur(8px)',
|
|
112
|
-
'box-shadow:0 6px 18px rgba(15,23,42,0.18)',
|
|
113
|
-
].join(';');
|
|
114
|
-
};
|
|
115
|
-
export const resolveFileViewerBrandingPresentationState = (branding, now = Date.now()) => {
|
|
116
|
-
var _a, _b, _c;
|
|
117
|
-
const normalized = normalizeBrandingOptions(branding);
|
|
118
|
-
const licenseValid = !!normalized && isFileViewerBrandRemovalLicense(normalized.license, now);
|
|
119
|
-
const visible = !!normalized && (normalized.enabled !== false || !licenseValid);
|
|
120
|
-
return {
|
|
121
|
-
visible,
|
|
122
|
-
licenseValid,
|
|
123
|
-
text: ((_a = normalized === null || normalized === void 0 ? void 0 : normalized.text) === null || _a === void 0 ? void 0 : _a.trim()) || DEFAULT_BRANDING_TEXT,
|
|
124
|
-
href: ((_b = normalized === null || normalized === void 0 ? void 0 : normalized.href) === null || _b === void 0 ? void 0 : _b.trim()) || DEFAULT_BRANDING_HREF,
|
|
125
|
-
title: ((_c = normalized === null || normalized === void 0 ? void 0 : normalized.title) === null || _c === void 0 ? void 0 : _c.trim()) || DEFAULT_BRANDING_TITLE,
|
|
126
|
-
inlineStyle: visible ? buildFileViewerBrandingInlineStyle(normalized || undefined) : '',
|
|
127
|
-
};
|
|
128
|
-
};
|