@file-viewer/core 2.0.0
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/LICENSE +160 -0
- package/README.en.md +78 -0
- package/README.md +83 -0
- package/dist/assets.d.ts +62 -0
- package/dist/assets.js +260 -0
- package/dist/browser.d.ts +1 -0
- package/dist/browser.js +1 -0
- package/dist/capabilities.d.ts +24 -0
- package/dist/capabilities.js +95 -0
- package/dist/document.d.ts +9 -0
- package/dist/document.js +86 -0
- package/dist/documentDom/anchors.d.ts +7 -0
- package/dist/documentDom/anchors.js +196 -0
- package/dist/documentDom/index.d.ts +5 -0
- package/dist/documentDom/index.js +3 -0
- package/dist/documentDom/providers.d.ts +13 -0
- package/dist/documentDom/providers.js +52 -0
- package/dist/documentDom/scroll.d.ts +12 -0
- package/dist/documentDom/scroll.js +42 -0
- package/dist/documentDom.d.ts +5 -0
- package/dist/documentDom.js +3 -0
- package/dist/documentEvents.d.ts +73 -0
- package/dist/documentEvents.js +150 -0
- package/dist/documentSearch.d.ts +50 -0
- package/dist/documentSearch.js +459 -0
- package/dist/documentZoom.d.ts +47 -0
- package/dist/documentZoom.js +184 -0
- package/dist/export.d.ts +26 -0
- package/dist/export.js +466 -0
- package/dist/formats.d.ts +305 -0
- package/dist/formats.js +207 -0
- package/dist/headless.d.ts +25 -0
- package/dist/headless.js +14 -0
- package/dist/index.d.ts +78 -0
- package/dist/index.js +118 -0
- package/dist/lifecycleFacade.d.ts +46 -0
- package/dist/lifecycleFacade.js +68 -0
- package/dist/loading.d.ts +59 -0
- package/dist/loading.js +489 -0
- package/dist/operations.d.ts +287 -0
- package/dist/operations.js +485 -0
- package/dist/options.d.ts +16 -0
- package/dist/options.js +92 -0
- package/dist/presentation.d.ts +14 -0
- package/dist/presentation.js +16 -0
- package/dist/printLayout.d.ts +19 -0
- package/dist/printLayout.js +83 -0
- package/dist/registry.d.ts +2 -0
- package/dist/registry.js +63 -0
- package/dist/rendererDispatcher.d.ts +21 -0
- package/dist/rendererDispatcher.js +42 -0
- package/dist/rendererHandler.d.ts +165 -0
- package/dist/rendererHandler.js +354 -0
- package/dist/renderers/archive.d.ts +2 -0
- package/dist/renderers/archive.js +547 -0
- package/dist/renderers/archiveCache.d.ts +10 -0
- package/dist/renderers/archiveCache.js +96 -0
- package/dist/renderers/archiveFallback.d.ts +7 -0
- package/dist/renderers/archiveFallback.js +166 -0
- package/dist/renderers/archiveShared.d.ts +23 -0
- package/dist/renderers/archiveShared.js +71 -0
- package/dist/renderers/audio.d.ts +8 -0
- package/dist/renderers/audio.js +219 -0
- package/dist/renderers/cad.d.ts +2 -0
- package/dist/renderers/cad.js +445 -0
- package/dist/renderers/code.d.ts +11 -0
- package/dist/renderers/code.js +233 -0
- package/dist/renderers/data.d.ts +7 -0
- package/dist/renderers/data.js +370 -0
- package/dist/renderers/drawing.d.ts +10 -0
- package/dist/renderers/drawing.js +537 -0
- package/dist/renderers/eda.d.ts +2 -0
- package/dist/renderers/eda.js +434 -0
- package/dist/renderers/edaParser.d.ts +77 -0
- package/dist/renderers/edaParser.js +569 -0
- package/dist/renderers/email.d.ts +2 -0
- package/dist/renderers/email.js +463 -0
- package/dist/renderers/epub.d.ts +2 -0
- package/dist/renderers/epub.js +330 -0
- package/dist/renderers/geo.d.ts +2 -0
- package/dist/renderers/geo.js +284 -0
- package/dist/renderers/image.d.ts +2 -0
- package/dist/renderers/image.js +179 -0
- package/dist/renderers/index.d.ts +21 -0
- package/dist/renderers/index.js +207 -0
- package/dist/renderers/markdown.d.ts +2 -0
- package/dist/renderers/markdown.js +83 -0
- package/dist/renderers/model.d.ts +2 -0
- package/dist/renderers/model.js +566 -0
- package/dist/renderers/ofd.d.ts +2 -0
- package/dist/renderers/ofd.js +255 -0
- package/dist/renderers/openDocument.d.ts +2 -0
- package/dist/renderers/openDocument.js +122 -0
- package/dist/renderers/pdf.d.ts +3 -0
- package/dist/renderers/pdf.js +846 -0
- package/dist/renderers/pdfStyles.d.ts +1 -0
- package/dist/renderers/pdfStyles.js +1 -0
- package/dist/renderers/pptx.d.ts +2 -0
- package/dist/renderers/pptx.js +202 -0
- package/dist/renderers/spreadsheet/state.d.ts +80 -0
- package/dist/renderers/spreadsheet/state.js +96 -0
- package/dist/renderers/spreadsheet/view.d.ts +25 -0
- package/dist/renderers/spreadsheet/view.js +833 -0
- package/dist/renderers/spreadsheet/worker/index.d.ts +2 -0
- package/dist/renderers/spreadsheet/worker/index.js +1 -0
- package/dist/renderers/spreadsheet/worker/sheetjs/SheetJsModel.d.ts +73 -0
- package/dist/renderers/spreadsheet/worker/sheetjs/SheetJsModel.js +623 -0
- package/dist/renderers/spreadsheet/worker/sheetjs/color.d.ts +2 -0
- package/dist/renderers/spreadsheet/worker/sheetjs/color.js +73 -0
- package/dist/renderers/spreadsheet/worker/sheetjs/index.d.ts +1 -0
- package/dist/renderers/spreadsheet/worker/sheetjs/index.js +1 -0
- package/dist/renderers/spreadsheet/worker/sheetjs/parser.d.ts +18 -0
- package/dist/renderers/spreadsheet/worker/sheetjs/parser.js +106 -0
- package/dist/renderers/spreadsheet/worker/sheetjs/sheet.worker.d.ts +1 -0
- package/dist/renderers/spreadsheet/worker/sheetjs/sheet.worker.js +11 -0
- package/dist/renderers/spreadsheet/worker/type.d.ts +57 -0
- package/dist/renderers/spreadsheet/worker/type.js +1 -0
- package/dist/renderers/spreadsheet.d.ts +3 -0
- package/dist/renderers/spreadsheet.js +929 -0
- package/dist/renderers/typst.d.ts +8 -0
- package/dist/renderers/typst.js +415 -0
- package/dist/renderers/umd/parser.d.ts +30 -0
- package/dist/renderers/umd/parser.js +408 -0
- package/dist/renderers/umd.d.ts +2 -0
- package/dist/renderers/umd.js +297 -0
- package/dist/renderers/video.d.ts +8 -0
- package/dist/renderers/video.js +108 -0
- package/dist/renderers/wordDoc.d.ts +5 -0
- package/dist/renderers/wordDoc.js +284 -0
- package/dist/renderers/wordDocx.d.ts +5 -0
- package/dist/renderers/wordDocx.js +501 -0
- package/dist/renderers/wordDocx.worker.d.ts +1 -0
- package/dist/renderers/wordDocx.worker.js +96 -0
- package/dist/source.d.ts +18 -0
- package/dist/source.js +152 -0
- package/dist/sourceLoading.d.ts +566 -0
- package/dist/sourceLoading.js +918 -0
- package/dist/state.d.ts +16 -0
- package/dist/state.js +81 -0
- package/dist/types.d.ts +446 -0
- package/dist/types.js +1 -0
- package/dist/viewer.d.ts +8 -0
- package/dist/viewer.js +285 -0
- package/dist/viewerOperations.d.ts +88 -0
- package/dist/viewerOperations.js +242 -0
- package/dist/watermark.d.ts +15 -0
- package/dist/watermark.js +81 -0
- package/dist/worker.d.ts +34 -0
- package/dist/worker.js +101 -0
- package/package.json +109 -0
- package/vendor/ofd/dltech/jbig2/arithmetic_decoder.js +183 -0
- package/vendor/ofd/dltech/jbig2/ccitt.js +1070 -0
- package/vendor/ofd/dltech/jbig2/compatibility.js +12 -0
- package/vendor/ofd/dltech/jbig2/core_utils.js +180 -0
- package/vendor/ofd/dltech/jbig2/is_node.js +27 -0
- package/vendor/ofd/dltech/jbig2/jbig2.js +2589 -0
- package/vendor/ofd/dltech/jbig2/jbig2_stream.js +81 -0
- package/vendor/ofd/dltech/jbig2/primitives.js +387 -0
- package/vendor/ofd/dltech/jbig2/stream.js +1348 -0
- package/vendor/ofd/dltech/jbig2/util.js +972 -0
- package/vendor/ofd/dltech/ofd/ofd.d.ts +11 -0
- package/vendor/ofd/dltech/ofd/ofd.js +100 -0
- package/vendor/ofd/dltech/ofd/ofd_parser.js +395 -0
- package/vendor/ofd/dltech/ofd/ofd_render.js +473 -0
- package/vendor/ofd/dltech/ofd/ofd_util.js +350 -0
- package/vendor/ofd/dltech/ofd/pipeline.js +26 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import type { FileViewerErrorMessageFormatter } from './state';
|
|
2
|
+
import { type FileViewerOriginalSourceState } from './viewerOperations';
|
|
3
|
+
import type { FileRenderExportAdapter, FileViewerBeforeOperation, FileViewerFileRef, FileViewerLifecycleContext, FileViewerLifecycleHooks, FileViewerLifecyclePhase, FileViewerOperationAvailability, FileViewerOperationContext, FileViewerOperationType, FileViewerOptions, FileViewerSourceKind, FileViewerToolbarOptions, FileViewerToolbarPosition, FileViewerPublicApi, FileViewerZoomState, NormalizedFileViewerSource } from './types';
|
|
4
|
+
export declare const FILE_VIEWER_LIFECYCLE_HOOKS: {
|
|
5
|
+
readonly 'load-start': "onLoadStart";
|
|
6
|
+
readonly 'load-complete': "onLoadComplete";
|
|
7
|
+
readonly 'unload-start': "onUnloadStart";
|
|
8
|
+
readonly 'unload-complete': "onUnloadComplete";
|
|
9
|
+
};
|
|
10
|
+
export declare const FILE_VIEWER_OPERATION_LABELS: {
|
|
11
|
+
readonly download: "下载原始文件";
|
|
12
|
+
readonly print: "打印完整渲染内容";
|
|
13
|
+
readonly 'export-html': "导出渲染 HTML";
|
|
14
|
+
readonly 'zoom-in': "放大预览";
|
|
15
|
+
readonly 'zoom-out': "缩小预览";
|
|
16
|
+
readonly 'zoom-reset': "还原预览比例";
|
|
17
|
+
};
|
|
18
|
+
export declare const FILE_VIEWER_BEFORE_OPERATION_ERROR_PREFIX = "\u64CD\u4F5C\u524D\u7F6E\u6821\u9A8C\u5931\u8D25";
|
|
19
|
+
export declare const FILE_VIEWER_LIFECYCLE_HOOK_ERROR_MESSAGE_PREFIX = "FileViewer";
|
|
20
|
+
export interface FileViewerLifecycleComponentEmit {
|
|
21
|
+
(event: 'load-start', context: FileViewerLifecycleContext): void;
|
|
22
|
+
(event: 'load-complete', context: FileViewerLifecycleContext): void;
|
|
23
|
+
(event: 'unload-start', context: FileViewerLifecycleContext): void;
|
|
24
|
+
(event: 'unload-complete', context: FileViewerLifecycleContext): void;
|
|
25
|
+
}
|
|
26
|
+
export interface BuildFileViewerLifecycleContextInput<Source extends string = FileViewerSourceKind> {
|
|
27
|
+
phase: FileViewerLifecyclePhase;
|
|
28
|
+
version: number;
|
|
29
|
+
source: Source;
|
|
30
|
+
filename?: string;
|
|
31
|
+
file?: File | null;
|
|
32
|
+
url?: string;
|
|
33
|
+
size?: number;
|
|
34
|
+
bufferSize?: number;
|
|
35
|
+
startedAt?: number;
|
|
36
|
+
duration?: number;
|
|
37
|
+
timestamp?: number;
|
|
38
|
+
reason?: FileViewerLifecycleContext['reason'];
|
|
39
|
+
}
|
|
40
|
+
export interface BuildFileViewerLifecycleContextFromNormalizedSourceInput {
|
|
41
|
+
phase: FileViewerLifecyclePhase;
|
|
42
|
+
source: NormalizedFileViewerSource;
|
|
43
|
+
version: number;
|
|
44
|
+
startedAt?: number;
|
|
45
|
+
timestamp?: number;
|
|
46
|
+
reason?: FileViewerLifecycleContext['reason'];
|
|
47
|
+
}
|
|
48
|
+
export interface ResolveFileViewerLifecycleFallbackSourceInput {
|
|
49
|
+
file?: FileViewerFileRef | null;
|
|
50
|
+
url?: string | null;
|
|
51
|
+
}
|
|
52
|
+
export interface ResolvedFileViewerLifecycleFallbackSource {
|
|
53
|
+
source: FileViewerLifecycleContext['source'];
|
|
54
|
+
sourceUrl?: string;
|
|
55
|
+
}
|
|
56
|
+
export type BuiltFileViewerLifecycleContext<Source extends string = FileViewerSourceKind> = Omit<FileViewerLifecycleContext, 'source'> & {
|
|
57
|
+
source: Source;
|
|
58
|
+
};
|
|
59
|
+
export type BuiltFileViewerOperationContext<Source extends string = FileViewerSourceKind> = Omit<BuiltFileViewerLifecycleContext<Source>, 'phase'> & {
|
|
60
|
+
operation: FileViewerOperationType;
|
|
61
|
+
label: string;
|
|
62
|
+
};
|
|
63
|
+
export type SerializedFileViewerContext<Context extends FileViewerLifecycleContext | FileViewerOperationContext> = Omit<Context, 'file'> & {
|
|
64
|
+
hasFile: boolean;
|
|
65
|
+
};
|
|
66
|
+
export interface ResolveFileViewerOperationAvailabilityInput {
|
|
67
|
+
extension: string;
|
|
68
|
+
hasOriginalSource?: boolean;
|
|
69
|
+
source?: FileViewerOriginalSourceState | null;
|
|
70
|
+
renderedReady: boolean;
|
|
71
|
+
hasError?: boolean;
|
|
72
|
+
adapter?: FileRenderExportAdapter | null;
|
|
73
|
+
zoomState: FileViewerZoomState;
|
|
74
|
+
}
|
|
75
|
+
export interface ResolveFileViewerToolbarStateInput extends ResolveFileViewerOperationAvailabilityInput {
|
|
76
|
+
toolbar: FileViewerToolbarOptions;
|
|
77
|
+
options?: Pick<FileViewerOptions, 'toolbar'>;
|
|
78
|
+
loading?: boolean;
|
|
79
|
+
}
|
|
80
|
+
export interface FileViewerToolbarState {
|
|
81
|
+
operationAvailability: FileViewerOperationAvailability;
|
|
82
|
+
visibleToolbar: FileViewerToolbarOptions;
|
|
83
|
+
showToolbar: boolean;
|
|
84
|
+
toolbarPosition: FileViewerToolbarPosition;
|
|
85
|
+
toolbarDisabled: boolean;
|
|
86
|
+
}
|
|
87
|
+
export interface RunFileViewerBeforeOperationInput<Context extends FileViewerOperationContext = FileViewerOperationContext> {
|
|
88
|
+
context: Context;
|
|
89
|
+
options?: FileViewerOptions;
|
|
90
|
+
onBefore?: (context: Context) => void;
|
|
91
|
+
onCancel?: (context: Context) => void;
|
|
92
|
+
onError?: (error: unknown, context: Context) => void;
|
|
93
|
+
}
|
|
94
|
+
export interface ResolveFileViewerBeforeOperationErrorMessageInput {
|
|
95
|
+
error: unknown;
|
|
96
|
+
formatErrorMessage: FileViewerErrorMessageFormatter;
|
|
97
|
+
prefix?: string;
|
|
98
|
+
}
|
|
99
|
+
export interface ResolveFileViewerLifecycleHookErrorMessageInput {
|
|
100
|
+
context: Pick<FileViewerLifecycleContext, 'phase'>;
|
|
101
|
+
prefix?: string;
|
|
102
|
+
}
|
|
103
|
+
export type FileViewerLifecycleHookErrorLogger = (message: string, error: unknown, context: FileViewerLifecycleContext) => void;
|
|
104
|
+
export interface ReportFileViewerLifecycleHookErrorInput extends ResolveFileViewerLifecycleHookErrorMessageInput {
|
|
105
|
+
error: unknown;
|
|
106
|
+
context: FileViewerLifecycleContext;
|
|
107
|
+
onLogError?: FileViewerLifecycleHookErrorLogger | null;
|
|
108
|
+
}
|
|
109
|
+
export type FileViewerOperationErrorLogger = (error: unknown, context: FileViewerOperationContext) => void;
|
|
110
|
+
export interface ReportFileViewerOperationErrorInput {
|
|
111
|
+
error: unknown;
|
|
112
|
+
context: FileViewerOperationContext;
|
|
113
|
+
onLogError?: FileViewerOperationErrorLogger | null;
|
|
114
|
+
}
|
|
115
|
+
export interface CreateFileViewerLifecycleActionsInput<OperationContext extends FileViewerOperationContext = FileViewerOperationContext> {
|
|
116
|
+
lifecycleState: FileViewerLifecycleStateController;
|
|
117
|
+
getOptions?: () => FileViewerOptions | undefined;
|
|
118
|
+
onLifecycleChange?: (event: FileViewerLifecyclePhase, context: FileViewerLifecycleContext) => void;
|
|
119
|
+
onLifecycleError?: (error: unknown, context: FileViewerLifecycleContext) => void;
|
|
120
|
+
onOperationBefore?: (context: OperationContext) => void;
|
|
121
|
+
onOperationCancel?: (context: OperationContext) => void;
|
|
122
|
+
onOperationError?: (error: unknown, context: OperationContext) => void;
|
|
123
|
+
}
|
|
124
|
+
export interface FileViewerLifecycleActions<OperationContext extends FileViewerOperationContext = FileViewerOperationContext> {
|
|
125
|
+
notifyLifecycle(context: FileViewerLifecycleContext): boolean;
|
|
126
|
+
notifyActiveUnloadStart(reason?: FileViewerLifecycleContext['reason']): FileViewerLifecycleContext | null;
|
|
127
|
+
notifyActiveUnloadComplete(context: FileViewerLifecycleContext | null, reason?: FileViewerLifecycleContext['reason']): FileViewerActiveUnloadState;
|
|
128
|
+
runBeforeOperation(context: OperationContext): Promise<boolean>;
|
|
129
|
+
}
|
|
130
|
+
export interface DispatchFileViewerLifecycleEventInput<Context extends FileViewerLifecycleContext = FileViewerLifecycleContext> {
|
|
131
|
+
context: Context;
|
|
132
|
+
hooks?: FileViewerLifecycleHooks;
|
|
133
|
+
onChange?: (event: FileViewerLifecyclePhase, context: Context) => void;
|
|
134
|
+
onError?: (error: unknown, context: Context) => void;
|
|
135
|
+
}
|
|
136
|
+
export interface DispatchFileViewerOperationContextEventInput<Context extends FileViewerOperationContext = FileViewerOperationContext> {
|
|
137
|
+
event: 'operation-before' | 'operation-cancel';
|
|
138
|
+
context: Context;
|
|
139
|
+
onChange?: (context: Context) => void;
|
|
140
|
+
}
|
|
141
|
+
export interface DispatchFileViewerOperationAvailabilityChangeInput {
|
|
142
|
+
availability: FileViewerOperationAvailability;
|
|
143
|
+
onChange?: (availability: FileViewerOperationAvailability) => void;
|
|
144
|
+
}
|
|
145
|
+
export interface DispatchFileViewerZoomChangeInput {
|
|
146
|
+
state: FileViewerZoomState;
|
|
147
|
+
onChange?: (state: FileViewerZoomState) => void;
|
|
148
|
+
}
|
|
149
|
+
export type FileViewerZoomButtonAction = keyof Pick<FileViewerZoomState, 'canZoomIn' | 'canZoomOut' | 'canReset'>;
|
|
150
|
+
export interface CreateFileViewerToolbarActionsInput {
|
|
151
|
+
getOperationAvailability: () => FileViewerOperationAvailability;
|
|
152
|
+
getToolbarDisabled?: () => boolean;
|
|
153
|
+
getZoomState: () => FileViewerZoomState;
|
|
154
|
+
onOperationAvailabilityChange?: (availability: FileViewerOperationAvailability) => void;
|
|
155
|
+
onZoomChange?: (state: FileViewerZoomState) => void;
|
|
156
|
+
}
|
|
157
|
+
export interface FileViewerToolbarActions {
|
|
158
|
+
notifyOperationAvailabilityChange(availability?: FileViewerOperationAvailability): boolean;
|
|
159
|
+
notifyZoomChange(state?: FileViewerZoomState): boolean;
|
|
160
|
+
isZoomButtonDisabled(action: FileViewerZoomButtonAction): boolean;
|
|
161
|
+
}
|
|
162
|
+
export interface CreateFileViewerPublicApiInput extends Omit<FileViewerPublicApi, 'getOperationAvailability'> {
|
|
163
|
+
getOperationAvailability: () => FileViewerOperationAvailability;
|
|
164
|
+
}
|
|
165
|
+
export type FileViewerToolbarZoomSyncSnapshot = readonly [
|
|
166
|
+
scale: FileViewerZoomState['scale'],
|
|
167
|
+
label: FileViewerZoomState['label'],
|
|
168
|
+
canZoomIn: FileViewerZoomState['canZoomIn'],
|
|
169
|
+
canZoomOut: FileViewerZoomState['canZoomOut'],
|
|
170
|
+
canReset: FileViewerZoomState['canReset']
|
|
171
|
+
];
|
|
172
|
+
export interface RunFileViewerToolbarAvailabilitySyncInput {
|
|
173
|
+
toolbarActions: Pick<FileViewerToolbarActions, 'notifyOperationAvailabilityChange'>;
|
|
174
|
+
availability?: FileViewerOperationAvailability;
|
|
175
|
+
}
|
|
176
|
+
export interface RunFileViewerToolbarZoomSyncInput {
|
|
177
|
+
toolbarActions: Pick<FileViewerToolbarActions, 'notifyZoomChange'>;
|
|
178
|
+
state?: FileViewerZoomState;
|
|
179
|
+
}
|
|
180
|
+
export interface FileViewerToolbarControllerActionHandlers {
|
|
181
|
+
resolveToolbarState(): FileViewerToolbarState;
|
|
182
|
+
createZoomSyncSnapshot(): FileViewerToolbarZoomSyncSnapshot;
|
|
183
|
+
syncOperationAvailability(availability?: FileViewerOperationAvailability): boolean;
|
|
184
|
+
syncZoomChange(state?: FileViewerZoomState): boolean;
|
|
185
|
+
isZoomButtonDisabled(action: FileViewerZoomButtonAction): boolean;
|
|
186
|
+
}
|
|
187
|
+
export interface CreateFileViewerToolbarControllerActionHandlersInput {
|
|
188
|
+
getAdapter?: () => FileRenderExportAdapter | null | undefined;
|
|
189
|
+
getBuffer?: () => ArrayBuffer | null | undefined;
|
|
190
|
+
getExtension: () => string;
|
|
191
|
+
getFile?: () => File | null | undefined;
|
|
192
|
+
getHasError?: () => boolean;
|
|
193
|
+
getLoading?: () => boolean;
|
|
194
|
+
getOptions?: () => FileViewerOptions | undefined;
|
|
195
|
+
getSourceUrl?: () => string | null | undefined;
|
|
196
|
+
getToolbar: () => FileViewerToolbarOptions;
|
|
197
|
+
getRenderedReady: () => boolean;
|
|
198
|
+
getZoomState: () => FileViewerZoomState;
|
|
199
|
+
zoomSyncState?: FileViewerZoomState;
|
|
200
|
+
onOperationAvailabilityChange?: (availability: FileViewerOperationAvailability) => void;
|
|
201
|
+
onZoomChange?: (state: FileViewerZoomState) => void;
|
|
202
|
+
}
|
|
203
|
+
export interface FileViewerLifecycleStateController {
|
|
204
|
+
markLoadStarted(version: number, timestamp?: number): void;
|
|
205
|
+
clearLoadStarted(version: number): void;
|
|
206
|
+
getLoadStartedAt(version: number): number | undefined;
|
|
207
|
+
getActiveDocumentContext(): FileViewerLifecycleContext | null;
|
|
208
|
+
setActiveDocumentContext(context: FileViewerLifecycleContext): void;
|
|
209
|
+
clearActiveDocumentContext(): void;
|
|
210
|
+
buildActiveUnloadContext(phase: Extract<FileViewerLifecyclePhase, 'unload-start' | 'unload-complete'>, context: FileViewerLifecycleContext | null, reason?: FileViewerLifecycleContext['reason'], timestamp?: number): FileViewerLifecycleContext | null;
|
|
211
|
+
}
|
|
212
|
+
export interface BuildFileViewerOperationContextFromLifecycleStateInput {
|
|
213
|
+
operation: FileViewerOperationType;
|
|
214
|
+
lifecycleState: Pick<FileViewerLifecycleStateController, 'getActiveDocumentContext' | 'getLoadStartedAt'>;
|
|
215
|
+
version: number;
|
|
216
|
+
filename?: string;
|
|
217
|
+
bufferSize?: number;
|
|
218
|
+
currentFile?: File | null;
|
|
219
|
+
fallbackFile?: FileViewerFileRef | null;
|
|
220
|
+
fallbackUrl?: string | null;
|
|
221
|
+
timestamp?: number;
|
|
222
|
+
lifecycleTimestamp?: number;
|
|
223
|
+
}
|
|
224
|
+
export interface RunFileViewerActiveUnloadStartInput {
|
|
225
|
+
lifecycleState: Pick<FileViewerLifecycleStateController, 'getActiveDocumentContext' | 'buildActiveUnloadContext'>;
|
|
226
|
+
reason?: FileViewerLifecycleContext['reason'];
|
|
227
|
+
onLifecycle?: (context: FileViewerLifecycleContext) => void;
|
|
228
|
+
}
|
|
229
|
+
export interface RunFileViewerActiveUnloadCompleteInput {
|
|
230
|
+
lifecycleState: Pick<FileViewerLifecycleStateController, 'buildActiveUnloadContext'>;
|
|
231
|
+
context?: FileViewerLifecycleContext | null;
|
|
232
|
+
reason?: FileViewerLifecycleContext['reason'];
|
|
233
|
+
onLifecycle?: (context: FileViewerLifecycleContext) => void;
|
|
234
|
+
}
|
|
235
|
+
export interface FileViewerActiveUnloadState {
|
|
236
|
+
reason: FileViewerLifecycleContext['reason'];
|
|
237
|
+
context: FileViewerLifecycleContext | null;
|
|
238
|
+
unloadContext: FileViewerLifecycleContext | null;
|
|
239
|
+
}
|
|
240
|
+
export declare const buildFileViewerLifecycleContext: <Source extends string = FileViewerSourceKind>({ phase, version, source, filename, file, url, size, bufferSize, startedAt, duration, timestamp, reason, }: BuildFileViewerLifecycleContextInput<Source>) => BuiltFileViewerLifecycleContext<Source>;
|
|
241
|
+
export declare const buildFileViewerLifecycleContextFromNormalizedSource: ({ phase, source, version, startedAt, timestamp, reason, }: BuildFileViewerLifecycleContextFromNormalizedSourceInput) => FileViewerLifecycleContext;
|
|
242
|
+
export declare const resolveFileViewerLifecycleFallbackSource: ({ file, url, }?: ResolveFileViewerLifecycleFallbackSourceInput) => ResolvedFileViewerLifecycleFallbackSource;
|
|
243
|
+
export declare const createFileViewerLifecycleStateController: () => FileViewerLifecycleStateController;
|
|
244
|
+
export declare const buildFileViewerOperationContext: <Source extends string = FileViewerSourceKind>(operation: FileViewerOperationType, lifecycleContext: BuiltFileViewerLifecycleContext<Source>, timestamp?: number) => BuiltFileViewerOperationContext<Source>;
|
|
245
|
+
export declare const buildFileViewerOperationContextFromLifecycleState: ({ operation, lifecycleState, version, filename, bufferSize, currentFile, fallbackFile, fallbackUrl, timestamp, lifecycleTimestamp, }: BuildFileViewerOperationContextFromLifecycleStateInput) => FileViewerOperationContext;
|
|
246
|
+
export declare const emitFileViewerComponentLifecycleEvent: (emit: FileViewerLifecycleComponentEmit, context: FileViewerLifecycleContext) => void;
|
|
247
|
+
export declare const resolveFileViewerBeforeOperationErrorMessage: ({ error, formatErrorMessage, prefix, }: ResolveFileViewerBeforeOperationErrorMessageInput) => string;
|
|
248
|
+
export declare const resolveFileViewerLifecycleHookErrorMessage: ({ context, prefix, }: ResolveFileViewerLifecycleHookErrorMessageInput) => string;
|
|
249
|
+
export declare const DEFAULT_FILE_VIEWER_LIFECYCLE_HOOK_ERROR_LOGGER: FileViewerLifecycleHookErrorLogger;
|
|
250
|
+
export declare const reportFileViewerLifecycleHookError: ({ error, context, onLogError, prefix, }: ReportFileViewerLifecycleHookErrorInput) => string;
|
|
251
|
+
export declare const DEFAULT_FILE_VIEWER_OPERATION_ERROR_LOGGER: FileViewerOperationErrorLogger;
|
|
252
|
+
export declare const reportFileViewerOperationError: ({ error, context, onLogError, }: ReportFileViewerOperationErrorInput) => unknown;
|
|
253
|
+
export declare const runFileViewerActiveUnloadStart: ({ lifecycleState, reason, onLifecycle, }: RunFileViewerActiveUnloadStartInput) => FileViewerActiveUnloadState;
|
|
254
|
+
export declare const runFileViewerActiveUnloadComplete: ({ lifecycleState, context, reason, onLifecycle, }: RunFileViewerActiveUnloadCompleteInput) => FileViewerActiveUnloadState;
|
|
255
|
+
export declare const getFileViewerLifecycleHookName: (phase: FileViewerLifecyclePhase) => "onLoadStart" | "onLoadComplete" | "onUnloadStart" | "onUnloadComplete";
|
|
256
|
+
export declare const runFileViewerLifecycleHook: <Context extends FileViewerLifecycleContext>(context: Context, hooks?: FileViewerLifecycleHooks, onError?: (error: unknown, context: Context) => void) => Promise<void>;
|
|
257
|
+
export declare const getFileViewerBeforeOperationHooks: (options: FileViewerOptions | undefined, operation: FileViewerOperationType) => Array<FileViewerBeforeOperation | undefined>;
|
|
258
|
+
export declare const runFileViewerBeforeOperation: <Context extends FileViewerOperationContext>({ context, options, onBefore, onCancel, onError, }: RunFileViewerBeforeOperationInput<Context>) => Promise<boolean>;
|
|
259
|
+
export declare const serializeFileViewerContext: <Context extends FileViewerLifecycleContext | FileViewerOperationContext>(context: Context) => SerializedFileViewerContext<Context>;
|
|
260
|
+
export declare const dispatchFileViewerLifecycleEvent: <Context extends FileViewerLifecycleContext>({ context, hooks, onChange, onError, }: DispatchFileViewerLifecycleEventInput<Context>) => boolean;
|
|
261
|
+
export declare const dispatchFileViewerOperationContextEvent: <Context extends FileViewerOperationContext>({ event, context, onChange, }: DispatchFileViewerOperationContextEventInput<Context>) => boolean;
|
|
262
|
+
export declare const createFileViewerLifecycleActions: <OperationContext extends FileViewerOperationContext = FileViewerOperationContext>({ lifecycleState, getOptions, onLifecycleChange, onLifecycleError, onOperationBefore, onOperationCancel, onOperationError, }: CreateFileViewerLifecycleActionsInput<OperationContext>) => FileViewerLifecycleActions<OperationContext>;
|
|
263
|
+
export declare const dispatchFileViewerOperationAvailabilityChange: ({ availability, onChange, }: DispatchFileViewerOperationAvailabilityChangeInput) => boolean;
|
|
264
|
+
export declare const dispatchFileViewerZoomChange: ({ state, onChange, }: DispatchFileViewerZoomChangeInput) => boolean;
|
|
265
|
+
export declare const createFileViewerToolbarActions: ({ getOperationAvailability, getToolbarDisabled, getZoomState, onOperationAvailabilityChange, onZoomChange, }: CreateFileViewerToolbarActionsInput) => FileViewerToolbarActions;
|
|
266
|
+
export declare const createFileViewerPublicApi: ({ getOperationAvailability, ...api }: CreateFileViewerPublicApiInput) => FileViewerPublicApi;
|
|
267
|
+
export declare const createFileViewerToolbarZoomSyncSnapshot: (state: FileViewerZoomState) => FileViewerToolbarZoomSyncSnapshot;
|
|
268
|
+
export declare const runFileViewerToolbarAvailabilitySync: ({ toolbarActions, availability, }: RunFileViewerToolbarAvailabilitySyncInput) => boolean;
|
|
269
|
+
export declare const runFileViewerToolbarZoomSync: ({ toolbarActions, state, }: RunFileViewerToolbarZoomSyncInput) => boolean;
|
|
270
|
+
export declare const createFileViewerToolbarControllerActionHandlers: ({ getAdapter, getBuffer, getExtension, getFile, getHasError, getLoading, getOptions, getSourceUrl, getToolbar, getRenderedReady, getZoomState, zoomSyncState, onOperationAvailabilityChange, onZoomChange, }: CreateFileViewerToolbarControllerActionHandlersInput) => FileViewerToolbarControllerActionHandlers;
|
|
271
|
+
export declare const normalizeFileViewerToolbar: (options: Pick<FileViewerOptions, "toolbar"> | undefined) => FileViewerToolbarOptions;
|
|
272
|
+
export declare const resolveFileViewerOperationAvailability: ({ extension, hasOriginalSource, renderedReady, hasError, adapter, source, zoomState, }: ResolveFileViewerOperationAvailabilityInput) => FileViewerOperationAvailability;
|
|
273
|
+
export declare const cloneFileViewerOperationAvailability: (availability: FileViewerOperationAvailability) => FileViewerOperationAvailability;
|
|
274
|
+
export declare const resolveVisibleFileViewerToolbar: (toolbar: FileViewerToolbarOptions, availability: FileViewerOperationAvailability) => FileViewerToolbarOptions;
|
|
275
|
+
export declare const hasVisibleFileViewerToolbarActions: (toolbar: FileViewerToolbarOptions) => boolean;
|
|
276
|
+
export declare const isFileViewerZoomButtonDisabled: ({ toolbarDisabled, availability, zoomState, action, }: {
|
|
277
|
+
toolbarDisabled?: boolean;
|
|
278
|
+
availability: FileViewerOperationAvailability;
|
|
279
|
+
zoomState: FileViewerZoomState;
|
|
280
|
+
action: keyof Pick<FileViewerZoomState, "canZoomIn" | "canZoomOut" | "canReset">;
|
|
281
|
+
}) => boolean;
|
|
282
|
+
export declare const isFileViewerToolbarDisabled: ({ loading, hasError, }: {
|
|
283
|
+
loading?: boolean;
|
|
284
|
+
hasError?: boolean;
|
|
285
|
+
}) => boolean;
|
|
286
|
+
export declare const resolveFileViewerToolbarState: ({ toolbar, options, loading, ...availabilityInput }: ResolveFileViewerToolbarStateInput) => FileViewerToolbarState;
|
|
287
|
+
export declare const resolveFileViewerToolbarPosition: (options: Pick<FileViewerOptions, "toolbar"> | undefined, extension: string) => FileViewerToolbarPosition;
|