@docmentis/udoc-viewer 0.5.2 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/dist/package.json +0 -56
- package/dist/src/UDocClient.d.ts +0 -383
- package/dist/src/UDocClient.d.ts.map +0 -1
- package/dist/src/UDocClient.js +0 -428
- package/dist/src/UDocClient.js.map +0 -1
- package/dist/src/UDocViewer.d.ts +0 -271
- package/dist/src/UDocViewer.d.ts.map +0 -1
- package/dist/src/UDocViewer.js +0 -769
- package/dist/src/UDocViewer.js.map +0 -1
- package/dist/src/fonts.d.ts +0 -29
- package/dist/src/fonts.d.ts.map +0 -1
- package/dist/src/fonts.js +0 -30
- package/dist/src/fonts.js.map +0 -1
- package/dist/src/index.d.ts +0 -9
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -8
- package/dist/src/index.js.map +0 -1
- package/dist/src/performance/PerformanceCounter.d.ts +0 -132
- package/dist/src/performance/PerformanceCounter.d.ts.map +0 -1
- package/dist/src/performance/PerformanceCounter.js +0 -129
- package/dist/src/performance/PerformanceCounter.js.map +0 -1
- package/dist/src/performance/index.d.ts +0 -2
- package/dist/src/performance/index.d.ts.map +0 -1
- package/dist/src/performance/index.js +0 -2
- package/dist/src/performance/index.js.map +0 -1
- package/dist/src/ui/framework/component.d.ts +0 -68
- package/dist/src/ui/framework/component.d.ts.map +0 -1
- package/dist/src/ui/framework/component.js +0 -87
- package/dist/src/ui/framework/component.js.map +0 -1
- package/dist/src/ui/framework/dom.d.ts +0 -19
- package/dist/src/ui/framework/dom.d.ts.map +0 -1
- package/dist/src/ui/framework/dom.js +0 -29
- package/dist/src/ui/framework/dom.js.map +0 -1
- package/dist/src/ui/framework/events.d.ts +0 -18
- package/dist/src/ui/framework/events.d.ts.map +0 -1
- package/dist/src/ui/framework/events.js +0 -23
- package/dist/src/ui/framework/events.js.map +0 -1
- package/dist/src/ui/framework/index.d.ts +0 -15
- package/dist/src/ui/framework/index.d.ts.map +0 -1
- package/dist/src/ui/framework/index.js +0 -15
- package/dist/src/ui/framework/index.js.map +0 -1
- package/dist/src/ui/framework/selectors.d.ts +0 -51
- package/dist/src/ui/framework/selectors.d.ts.map +0 -1
- package/dist/src/ui/framework/selectors.js +0 -30
- package/dist/src/ui/framework/selectors.js.map +0 -1
- package/dist/src/ui/framework/store.d.ts +0 -37
- package/dist/src/ui/framework/store.d.ts.map +0 -1
- package/dist/src/ui/framework/store.js +0 -54
- package/dist/src/ui/framework/store.js.map +0 -1
- package/dist/src/ui/viewer/actions.d.ts +0 -131
- package/dist/src/ui/viewer/actions.d.ts.map +0 -1
- package/dist/src/ui/viewer/actions.js +0 -2
- package/dist/src/ui/viewer/actions.js.map +0 -1
- package/dist/src/ui/viewer/annotation/LinkRenderer.d.ts +0 -9
- package/dist/src/ui/viewer/annotation/LinkRenderer.d.ts.map +0 -1
- package/dist/src/ui/viewer/annotation/LinkRenderer.js +0 -17
- package/dist/src/ui/viewer/annotation/LinkRenderer.js.map +0 -1
- package/dist/src/ui/viewer/annotation/MarkupRenderer.d.ts +0 -21
- package/dist/src/ui/viewer/annotation/MarkupRenderer.d.ts.map +0 -1
- package/dist/src/ui/viewer/annotation/MarkupRenderer.js +0 -138
- package/dist/src/ui/viewer/annotation/MarkupRenderer.js.map +0 -1
- package/dist/src/ui/viewer/annotation/ShapeRenderer.d.ts +0 -33
- package/dist/src/ui/viewer/annotation/ShapeRenderer.d.ts.map +0 -1
- package/dist/src/ui/viewer/annotation/ShapeRenderer.js +0 -378
- package/dist/src/ui/viewer/annotation/ShapeRenderer.js.map +0 -1
- package/dist/src/ui/viewer/annotation/TextRenderer.d.ts +0 -23
- package/dist/src/ui/viewer/annotation/TextRenderer.d.ts.map +0 -1
- package/dist/src/ui/viewer/annotation/TextRenderer.js +0 -196
- package/dist/src/ui/viewer/annotation/TextRenderer.js.map +0 -1
- package/dist/src/ui/viewer/annotation/index.d.ts +0 -8
- package/dist/src/ui/viewer/annotation/index.d.ts.map +0 -1
- package/dist/src/ui/viewer/annotation/index.js +0 -8
- package/dist/src/ui/viewer/annotation/index.js.map +0 -1
- package/dist/src/ui/viewer/annotation/render.d.ts +0 -24
- package/dist/src/ui/viewer/annotation/render.d.ts.map +0 -1
- package/dist/src/ui/viewer/annotation/render.js +0 -184
- package/dist/src/ui/viewer/annotation/render.js.map +0 -1
- package/dist/src/ui/viewer/annotation/types.d.ts +0 -239
- package/dist/src/ui/viewer/annotation/types.d.ts.map +0 -1
- package/dist/src/ui/viewer/annotation/types.js +0 -7
- package/dist/src/ui/viewer/annotation/types.js.map +0 -1
- package/dist/src/ui/viewer/annotation/utils.d.ts +0 -37
- package/dist/src/ui/viewer/annotation/utils.d.ts.map +0 -1
- package/dist/src/ui/viewer/annotation/utils.js +0 -82
- package/dist/src/ui/viewer/annotation/utils.js.map +0 -1
- package/dist/src/ui/viewer/components/AnnotationPanel.d.ts +0 -19
- package/dist/src/ui/viewer/components/AnnotationPanel.d.ts.map +0 -1
- package/dist/src/ui/viewer/components/AnnotationPanel.js +0 -284
- package/dist/src/ui/viewer/components/AnnotationPanel.js.map +0 -1
- package/dist/src/ui/viewer/components/FloatingToolbar.d.ts +0 -9
- package/dist/src/ui/viewer/components/FloatingToolbar.d.ts.map +0 -1
- package/dist/src/ui/viewer/components/FloatingToolbar.js +0 -305
- package/dist/src/ui/viewer/components/FloatingToolbar.js.map +0 -1
- package/dist/src/ui/viewer/components/LeftPanel.d.ts +0 -10
- package/dist/src/ui/viewer/components/LeftPanel.d.ts.map +0 -1
- package/dist/src/ui/viewer/components/LeftPanel.js +0 -165
- package/dist/src/ui/viewer/components/LeftPanel.js.map +0 -1
- package/dist/src/ui/viewer/components/LoadingOverlay.d.ts +0 -12
- package/dist/src/ui/viewer/components/LoadingOverlay.d.ts.map +0 -1
- package/dist/src/ui/viewer/components/LoadingOverlay.js +0 -88
- package/dist/src/ui/viewer/components/LoadingOverlay.js.map +0 -1
- package/dist/src/ui/viewer/components/OutlinePanel.d.ts +0 -10
- package/dist/src/ui/viewer/components/OutlinePanel.d.ts.map +0 -1
- package/dist/src/ui/viewer/components/OutlinePanel.js +0 -169
- package/dist/src/ui/viewer/components/OutlinePanel.js.map +0 -1
- package/dist/src/ui/viewer/components/PasswordDialog.d.ts +0 -15
- package/dist/src/ui/viewer/components/PasswordDialog.d.ts.map +0 -1
- package/dist/src/ui/viewer/components/PasswordDialog.js +0 -143
- package/dist/src/ui/viewer/components/PasswordDialog.js.map +0 -1
- package/dist/src/ui/viewer/components/RightPanel.d.ts +0 -9
- package/dist/src/ui/viewer/components/RightPanel.d.ts.map +0 -1
- package/dist/src/ui/viewer/components/RightPanel.js +0 -102
- package/dist/src/ui/viewer/components/RightPanel.js.map +0 -1
- package/dist/src/ui/viewer/components/Spread.d.ts +0 -43
- package/dist/src/ui/viewer/components/Spread.d.ts.map +0 -1
- package/dist/src/ui/viewer/components/Spread.js +0 -345
- package/dist/src/ui/viewer/components/Spread.js.map +0 -1
- package/dist/src/ui/viewer/components/ThumbnailPanel.d.ts +0 -11
- package/dist/src/ui/viewer/components/ThumbnailPanel.d.ts.map +0 -1
- package/dist/src/ui/viewer/components/ThumbnailPanel.js +0 -240
- package/dist/src/ui/viewer/components/ThumbnailPanel.js.map +0 -1
- package/dist/src/ui/viewer/components/Toolbar.d.ts +0 -9
- package/dist/src/ui/viewer/components/Toolbar.d.ts.map +0 -1
- package/dist/src/ui/viewer/components/Toolbar.js +0 -93
- package/dist/src/ui/viewer/components/Toolbar.js.map +0 -1
- package/dist/src/ui/viewer/components/ViewModeMenu.d.ts +0 -9
- package/dist/src/ui/viewer/components/ViewModeMenu.d.ts.map +0 -1
- package/dist/src/ui/viewer/components/ViewModeMenu.js +0 -169
- package/dist/src/ui/viewer/components/ViewModeMenu.js.map +0 -1
- package/dist/src/ui/viewer/components/Viewport.d.ts +0 -10
- package/dist/src/ui/viewer/components/Viewport.d.ts.map +0 -1
- package/dist/src/ui/viewer/components/Viewport.js +0 -1076
- package/dist/src/ui/viewer/components/Viewport.js.map +0 -1
- package/dist/src/ui/viewer/effects.d.ts +0 -8
- package/dist/src/ui/viewer/effects.d.ts.map +0 -1
- package/dist/src/ui/viewer/effects.js +0 -207
- package/dist/src/ui/viewer/effects.js.map +0 -1
- package/dist/src/ui/viewer/icons.d.ts +0 -32
- package/dist/src/ui/viewer/icons.d.ts.map +0 -1
- package/dist/src/ui/viewer/icons.js +0 -44
- package/dist/src/ui/viewer/icons.js.map +0 -1
- package/dist/src/ui/viewer/index.d.ts +0 -6
- package/dist/src/ui/viewer/index.d.ts.map +0 -1
- package/dist/src/ui/viewer/index.js +0 -6
- package/dist/src/ui/viewer/index.js.map +0 -1
- package/dist/src/ui/viewer/layout/index.d.ts +0 -3
- package/dist/src/ui/viewer/layout/index.d.ts.map +0 -1
- package/dist/src/ui/viewer/layout/index.js +0 -3
- package/dist/src/ui/viewer/layout/index.js.map +0 -1
- package/dist/src/ui/viewer/layout/pixelAlign.d.ts +0 -7
- package/dist/src/ui/viewer/layout/pixelAlign.d.ts.map +0 -1
- package/dist/src/ui/viewer/layout/pixelAlign.js +0 -22
- package/dist/src/ui/viewer/layout/pixelAlign.js.map +0 -1
- package/dist/src/ui/viewer/layout/spreadLayout.d.ts +0 -93
- package/dist/src/ui/viewer/layout/spreadLayout.d.ts.map +0 -1
- package/dist/src/ui/viewer/layout/spreadLayout.js +0 -315
- package/dist/src/ui/viewer/layout/spreadLayout.js.map +0 -1
- package/dist/src/ui/viewer/navigation.d.ts +0 -80
- package/dist/src/ui/viewer/navigation.d.ts.map +0 -1
- package/dist/src/ui/viewer/navigation.js +0 -59
- package/dist/src/ui/viewer/navigation.js.map +0 -1
- package/dist/src/ui/viewer/reducer.d.ts +0 -4
- package/dist/src/ui/viewer/reducer.d.ts.map +0 -1
- package/dist/src/ui/viewer/reducer.js +0 -305
- package/dist/src/ui/viewer/reducer.js.map +0 -1
- package/dist/src/ui/viewer/shell.d.ts +0 -34
- package/dist/src/ui/viewer/shell.d.ts.map +0 -1
- package/dist/src/ui/viewer/shell.js +0 -93
- package/dist/src/ui/viewer/shell.js.map +0 -1
- package/dist/src/ui/viewer/state.d.ts +0 -89
- package/dist/src/ui/viewer/state.d.ts.map +0 -1
- package/dist/src/ui/viewer/state.js +0 -55
- package/dist/src/ui/viewer/state.js.map +0 -1
- package/dist/src/ui/viewer/styles-inline.d.ts +0 -2
- package/dist/src/ui/viewer/styles-inline.d.ts.map +0 -1
- package/dist/src/ui/viewer/styles-inline.js +0 -1584
- package/dist/src/ui/viewer/styles-inline.js.map +0 -1
- package/dist/src/ui/viewer/text/index.d.ts +0 -7
- package/dist/src/ui/viewer/text/index.d.ts.map +0 -1
- package/dist/src/ui/viewer/text/index.js +0 -3
- package/dist/src/ui/viewer/text/index.js.map +0 -1
- package/dist/src/ui/viewer/text/render.d.ts +0 -19
- package/dist/src/ui/viewer/text/render.d.ts.map +0 -1
- package/dist/src/ui/viewer/text/render.js +0 -228
- package/dist/src/ui/viewer/text/render.js.map +0 -1
- package/dist/src/ui/viewer/text/selection.d.ts +0 -12
- package/dist/src/ui/viewer/text/selection.d.ts.map +0 -1
- package/dist/src/ui/viewer/text/selection.js +0 -70
- package/dist/src/ui/viewer/text/selection.js.map +0 -1
- package/dist/src/ui/viewer/text/types.d.ts +0 -37
- package/dist/src/ui/viewer/text/types.d.ts.map +0 -1
- package/dist/src/ui/viewer/text/types.js +0 -7
- package/dist/src/ui/viewer/text/types.js.map +0 -1
- package/dist/src/wasm/LICENSE +0 -104
- package/dist/src/wasm/udoc.d.ts +0 -480
- package/dist/src/wasm/udoc.js +0 -1738
- package/dist/src/wasm/udoc_bg.wasm +0 -0
- package/dist/src/wasm/udoc_bg.wasm.d.ts +0 -45
- package/dist/src/worker/WorkerClient.d.ts +0 -335
- package/dist/src/worker/WorkerClient.d.ts.map +0 -1
- package/dist/src/worker/WorkerClient.js +0 -903
- package/dist/src/worker/WorkerClient.js.map +0 -1
- package/dist/src/worker/index.d.ts +0 -4
- package/dist/src/worker/index.d.ts.map +0 -1
- package/dist/src/worker/index.js +0 -2
- package/dist/src/worker/index.js.map +0 -1
- package/dist/src/worker/worker.d.ts +0 -437
- package/dist/src/worker/worker.d.ts.map +0 -1
- package/dist/src/worker/worker.js +0 -237
- package/dist/src/worker/worker.js.map +0 -1
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
import { destinationToNavigationTarget } from "./navigation";
|
|
2
|
-
export function reducer(state, action) {
|
|
3
|
-
switch (action.type) {
|
|
4
|
-
case "__INIT__":
|
|
5
|
-
return state;
|
|
6
|
-
// Document
|
|
7
|
-
case "SET_DOC": {
|
|
8
|
-
if (state.doc === action.doc)
|
|
9
|
-
return state;
|
|
10
|
-
return {
|
|
11
|
-
...state,
|
|
12
|
-
doc: action.doc,
|
|
13
|
-
page: 1,
|
|
14
|
-
pageCount: action.pageCount,
|
|
15
|
-
pageInfos: action.pageInfos
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
case "UPDATE_PAGE_SIZES": {
|
|
19
|
-
return { ...state, pageInfos: action.pageInfos };
|
|
20
|
-
}
|
|
21
|
-
case "CLEAR_DOC": {
|
|
22
|
-
if (!state.doc && state.pageCount === 0)
|
|
23
|
-
return state;
|
|
24
|
-
return {
|
|
25
|
-
...state,
|
|
26
|
-
doc: null,
|
|
27
|
-
page: 1,
|
|
28
|
-
pageCount: 0,
|
|
29
|
-
pageInfos: [],
|
|
30
|
-
needsPassword: false,
|
|
31
|
-
passwordError: null,
|
|
32
|
-
isAuthenticating: false,
|
|
33
|
-
outline: null,
|
|
34
|
-
outlineLoading: false,
|
|
35
|
-
pageAnnotations: new Map(),
|
|
36
|
-
annotationsLoading: new Set(),
|
|
37
|
-
pageText: new Map(),
|
|
38
|
-
textLoading: new Set()
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
case "SET_PAGE": {
|
|
42
|
-
const page = clamp(action.page, 1, Math.max(1, state.pageCount || 1));
|
|
43
|
-
if (state.page === page)
|
|
44
|
-
return state;
|
|
45
|
-
return { ...state, page };
|
|
46
|
-
}
|
|
47
|
-
// Password protection
|
|
48
|
-
case "SET_NEEDS_PASSWORD": {
|
|
49
|
-
if (state.needsPassword === action.needsPassword)
|
|
50
|
-
return state;
|
|
51
|
-
return { ...state, needsPassword: action.needsPassword, passwordError: null };
|
|
52
|
-
}
|
|
53
|
-
case "AUTHENTICATE_START": {
|
|
54
|
-
if (state.isAuthenticating)
|
|
55
|
-
return state;
|
|
56
|
-
return { ...state, isAuthenticating: true, passwordError: null };
|
|
57
|
-
}
|
|
58
|
-
case "AUTHENTICATE_SUCCESS": {
|
|
59
|
-
return { ...state, isAuthenticating: false, needsPassword: false, passwordError: null };
|
|
60
|
-
}
|
|
61
|
-
case "AUTHENTICATE_FAILURE": {
|
|
62
|
-
return { ...state, isAuthenticating: false, passwordError: action.error };
|
|
63
|
-
}
|
|
64
|
-
case "CLEAR_PASSWORD_ERROR": {
|
|
65
|
-
if (state.passwordError === null)
|
|
66
|
-
return state;
|
|
67
|
-
return { ...state, passwordError: null };
|
|
68
|
-
}
|
|
69
|
-
// Outline (on-demand loading)
|
|
70
|
-
case "LOAD_OUTLINE": {
|
|
71
|
-
if (state.outlineLoading)
|
|
72
|
-
return state;
|
|
73
|
-
return { ...state, outlineLoading: true };
|
|
74
|
-
}
|
|
75
|
-
case "SET_OUTLINE": {
|
|
76
|
-
return { ...state, outline: action.outline, outlineLoading: false };
|
|
77
|
-
}
|
|
78
|
-
// Annotations (on-demand loading per page)
|
|
79
|
-
case "LOAD_PAGE_ANNOTATIONS": {
|
|
80
|
-
if (state.annotationsLoading.has(action.pageIndex))
|
|
81
|
-
return state;
|
|
82
|
-
if (state.pageAnnotations.has(action.pageIndex))
|
|
83
|
-
return state;
|
|
84
|
-
const newLoading = new Set(state.annotationsLoading);
|
|
85
|
-
newLoading.add(action.pageIndex);
|
|
86
|
-
return { ...state, annotationsLoading: newLoading };
|
|
87
|
-
}
|
|
88
|
-
case "SET_PAGE_ANNOTATIONS": {
|
|
89
|
-
const newAnnotations = new Map(state.pageAnnotations);
|
|
90
|
-
newAnnotations.set(action.pageIndex, action.annotations);
|
|
91
|
-
const newLoading = new Set(state.annotationsLoading);
|
|
92
|
-
newLoading.delete(action.pageIndex);
|
|
93
|
-
return {
|
|
94
|
-
...state,
|
|
95
|
-
pageAnnotations: newAnnotations,
|
|
96
|
-
annotationsLoading: newLoading
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
case "CLEAR_ANNOTATIONS": {
|
|
100
|
-
if (state.pageAnnotations.size === 0 && state.annotationsLoading.size === 0)
|
|
101
|
-
return state;
|
|
102
|
-
return {
|
|
103
|
-
...state,
|
|
104
|
-
pageAnnotations: new Map(),
|
|
105
|
-
annotationsLoading: new Set()
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
// Text content (on-demand loading per page)
|
|
109
|
-
case "LOAD_PAGE_TEXT": {
|
|
110
|
-
if (state.textLoading.has(action.pageIndex))
|
|
111
|
-
return state;
|
|
112
|
-
if (state.pageText.has(action.pageIndex))
|
|
113
|
-
return state;
|
|
114
|
-
const newLoading = new Set(state.textLoading);
|
|
115
|
-
newLoading.add(action.pageIndex);
|
|
116
|
-
return { ...state, textLoading: newLoading };
|
|
117
|
-
}
|
|
118
|
-
case "SET_PAGE_TEXT": {
|
|
119
|
-
const newText = new Map(state.pageText);
|
|
120
|
-
newText.set(action.pageIndex, action.text);
|
|
121
|
-
const newLoading = new Set(state.textLoading);
|
|
122
|
-
newLoading.delete(action.pageIndex);
|
|
123
|
-
return {
|
|
124
|
-
...state,
|
|
125
|
-
pageText: newText,
|
|
126
|
-
textLoading: newLoading
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
case "CLEAR_TEXT": {
|
|
130
|
-
if (state.pageText.size === 0 && state.textLoading.size === 0)
|
|
131
|
-
return state;
|
|
132
|
-
return {
|
|
133
|
-
...state,
|
|
134
|
-
pageText: new Map(),
|
|
135
|
-
textLoading: new Set()
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
// Navigation
|
|
139
|
-
case "NAVIGATE_TO_PAGE": {
|
|
140
|
-
const page = clamp(action.page, 1, Math.max(1, state.pageCount || 1));
|
|
141
|
-
const target = { page };
|
|
142
|
-
if (state.navigationTarget?.page === page && !state.navigationTarget.scrollTo && !state.navigationTarget.zoom) {
|
|
143
|
-
return state;
|
|
144
|
-
}
|
|
145
|
-
return { ...state, navigationTarget: target };
|
|
146
|
-
}
|
|
147
|
-
case "NAVIGATE_TO_DESTINATION": {
|
|
148
|
-
const target = destinationToNavigationTarget(action.destination, state.pageCount);
|
|
149
|
-
return { ...state, navigationTarget: target };
|
|
150
|
-
}
|
|
151
|
-
case "CLEAR_NAVIGATION_TARGET": {
|
|
152
|
-
if (state.navigationTarget === null)
|
|
153
|
-
return state;
|
|
154
|
-
return { ...state, navigationTarget: null };
|
|
155
|
-
}
|
|
156
|
-
// View modes
|
|
157
|
-
case "SET_SCROLL_MODE": {
|
|
158
|
-
if (state.scrollMode === action.mode)
|
|
159
|
-
return state;
|
|
160
|
-
return { ...state, scrollMode: action.mode };
|
|
161
|
-
}
|
|
162
|
-
case "SET_LAYOUT_MODE": {
|
|
163
|
-
if (state.layoutMode === action.mode)
|
|
164
|
-
return state;
|
|
165
|
-
return { ...state, layoutMode: action.mode };
|
|
166
|
-
}
|
|
167
|
-
case "SET_ZOOM_MODE": {
|
|
168
|
-
if (state.zoomMode === action.mode)
|
|
169
|
-
return state;
|
|
170
|
-
return { ...state, zoomMode: action.mode };
|
|
171
|
-
}
|
|
172
|
-
case "SET_ZOOM": {
|
|
173
|
-
const steps = state.zoomSteps;
|
|
174
|
-
const zoom = clamp(action.zoom, steps[0], steps[steps.length - 1]);
|
|
175
|
-
if (state.zoom === zoom && state.zoomMode === "custom")
|
|
176
|
-
return state;
|
|
177
|
-
return { ...state, zoom, zoomMode: "custom" };
|
|
178
|
-
}
|
|
179
|
-
case "SET_EFFECTIVE_ZOOM": {
|
|
180
|
-
if (state.effectiveZoom === action.zoom)
|
|
181
|
-
return state;
|
|
182
|
-
return { ...state, effectiveZoom: action.zoom };
|
|
183
|
-
}
|
|
184
|
-
case "SET_ZOOM_STEPS": {
|
|
185
|
-
if (state.zoomSteps === action.steps)
|
|
186
|
-
return state;
|
|
187
|
-
return { ...state, zoomSteps: action.steps };
|
|
188
|
-
}
|
|
189
|
-
case "ZOOM_IN": {
|
|
190
|
-
const steps = state.zoomSteps;
|
|
191
|
-
const nextStep = steps.find(s => s > state.zoom) ?? steps[steps.length - 1];
|
|
192
|
-
if (state.zoom === nextStep)
|
|
193
|
-
return state;
|
|
194
|
-
return { ...state, zoom: nextStep, zoomMode: "custom" };
|
|
195
|
-
}
|
|
196
|
-
case "ZOOM_OUT": {
|
|
197
|
-
const steps = state.zoomSteps;
|
|
198
|
-
const prevStep = [...steps].reverse().find(s => s < state.zoom) ?? steps[0];
|
|
199
|
-
if (state.zoom === prevStep)
|
|
200
|
-
return state;
|
|
201
|
-
return { ...state, zoom: prevStep, zoomMode: "custom" };
|
|
202
|
-
}
|
|
203
|
-
case "SET_PAGE_ROTATION": {
|
|
204
|
-
if (state.pageRotation === action.rotation)
|
|
205
|
-
return state;
|
|
206
|
-
return { ...state, pageRotation: action.rotation };
|
|
207
|
-
}
|
|
208
|
-
case "SET_SPACING_MODE": {
|
|
209
|
-
if (state.spacingMode === action.mode)
|
|
210
|
-
return state;
|
|
211
|
-
// Apply spacing based on spacing mode
|
|
212
|
-
switch (action.mode) {
|
|
213
|
-
case "all":
|
|
214
|
-
return { ...state, spacingMode: action.mode, pageSpacing: 20, spreadSpacing: 20 };
|
|
215
|
-
case "none":
|
|
216
|
-
return { ...state, spacingMode: action.mode, pageSpacing: 0, spreadSpacing: 0 };
|
|
217
|
-
case "spread-only":
|
|
218
|
-
return { ...state, spacingMode: action.mode, pageSpacing: 0, spreadSpacing: 20 };
|
|
219
|
-
case "page-only":
|
|
220
|
-
return { ...state, spacingMode: action.mode, pageSpacing: 20, spreadSpacing: 0 };
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
// Spacing
|
|
224
|
-
case "SET_PAGE_SPACING": {
|
|
225
|
-
const spacing = Math.max(0, action.spacing);
|
|
226
|
-
if (state.pageSpacing === spacing)
|
|
227
|
-
return state;
|
|
228
|
-
return { ...state, pageSpacing: spacing };
|
|
229
|
-
}
|
|
230
|
-
case "SET_SPREAD_SPACING": {
|
|
231
|
-
const spacing = Math.max(0, action.spacing);
|
|
232
|
-
if (state.spreadSpacing === spacing)
|
|
233
|
-
return state;
|
|
234
|
-
return { ...state, spreadSpacing: spacing };
|
|
235
|
-
}
|
|
236
|
-
// UI
|
|
237
|
-
case "TOGGLE_PANEL": {
|
|
238
|
-
const newPanel = state.activePanel === action.panel ? null : action.panel;
|
|
239
|
-
if (state.activePanel === newPanel)
|
|
240
|
-
return state;
|
|
241
|
-
return { ...state, activePanel: newPanel };
|
|
242
|
-
}
|
|
243
|
-
case "CLOSE_PANEL": {
|
|
244
|
-
if (state.activePanel === null)
|
|
245
|
-
return state;
|
|
246
|
-
return { ...state, activePanel: null };
|
|
247
|
-
}
|
|
248
|
-
case "SET_LEFT_PANEL_WIDTH": {
|
|
249
|
-
if (state.leftPanelWidth === action.width)
|
|
250
|
-
return state;
|
|
251
|
-
return { ...state, leftPanelWidth: action.width };
|
|
252
|
-
}
|
|
253
|
-
case "SET_RIGHT_PANEL_WIDTH": {
|
|
254
|
-
if (state.rightPanelWidth === action.width)
|
|
255
|
-
return state;
|
|
256
|
-
return { ...state, rightPanelWidth: action.width };
|
|
257
|
-
}
|
|
258
|
-
// Annotation highlight
|
|
259
|
-
case "HIGHLIGHT_ANNOTATION": {
|
|
260
|
-
return {
|
|
261
|
-
...state,
|
|
262
|
-
highlightedAnnotation: {
|
|
263
|
-
pageIndex: action.pageIndex,
|
|
264
|
-
bounds: action.bounds
|
|
265
|
-
}
|
|
266
|
-
};
|
|
267
|
-
}
|
|
268
|
-
case "CLEAR_ANNOTATION_HIGHLIGHT": {
|
|
269
|
-
if (state.highlightedAnnotation === null)
|
|
270
|
-
return state;
|
|
271
|
-
return { ...state, highlightedAnnotation: null };
|
|
272
|
-
}
|
|
273
|
-
// Fullscreen
|
|
274
|
-
case "SET_FULLSCREEN": {
|
|
275
|
-
if (state.isFullscreen === action.isFullscreen)
|
|
276
|
-
return state;
|
|
277
|
-
return { ...state, isFullscreen: action.isFullscreen };
|
|
278
|
-
}
|
|
279
|
-
// Download progress
|
|
280
|
-
case "SET_DOWNLOAD_PROGRESS": {
|
|
281
|
-
return {
|
|
282
|
-
...state,
|
|
283
|
-
isDownloading: true,
|
|
284
|
-
downloadLoaded: action.loaded,
|
|
285
|
-
downloadTotal: action.total
|
|
286
|
-
};
|
|
287
|
-
}
|
|
288
|
-
case "CLEAR_DOWNLOAD_PROGRESS": {
|
|
289
|
-
if (!state.isDownloading)
|
|
290
|
-
return state;
|
|
291
|
-
return {
|
|
292
|
-
...state,
|
|
293
|
-
isDownloading: false,
|
|
294
|
-
downloadLoaded: 0,
|
|
295
|
-
downloadTotal: 0
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
default:
|
|
299
|
-
return state;
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
function clamp(value, min, max) {
|
|
303
|
-
return Math.min(max, Math.max(min, value));
|
|
304
|
-
}
|
|
305
|
-
//# sourceMappingURL=reducer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../../src/ui/viewer/reducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { Store } from "../framework/store";
|
|
2
|
-
import type { ViewerState, PageInfo } from "./state";
|
|
3
|
-
import type { Action } from "./actions";
|
|
4
|
-
import type { OutlineItem } from "./navigation";
|
|
5
|
-
import type { Annotation } from "./annotation";
|
|
6
|
-
import type { TextRun } from "./text";
|
|
7
|
-
import type { WorkerClient } from "../../worker/index.js";
|
|
8
|
-
export interface EngineAdapter {
|
|
9
|
-
getPageInfo(doc: {
|
|
10
|
-
id: string;
|
|
11
|
-
}, page: number): Promise<PageInfo>;
|
|
12
|
-
getOutline(doc: {
|
|
13
|
-
id: string;
|
|
14
|
-
}): Promise<OutlineItem[]>;
|
|
15
|
-
getPageAnnotations(doc: {
|
|
16
|
-
id: string;
|
|
17
|
-
}, pageIndex: number): Promise<Annotation[]>;
|
|
18
|
-
getPageText(doc: {
|
|
19
|
-
id: string;
|
|
20
|
-
}, pageIndex: number): Promise<TextRun[]>;
|
|
21
|
-
}
|
|
22
|
-
export interface ViewerShellCallbacks {
|
|
23
|
-
onPasswordSubmit?: (password: string) => void;
|
|
24
|
-
}
|
|
25
|
-
export interface ViewerShell {
|
|
26
|
-
store: Store<ViewerState, Action>;
|
|
27
|
-
dispatch: (action: Action) => void;
|
|
28
|
-
getState: () => ViewerState;
|
|
29
|
-
setCallbacks: (callbacks: ViewerShellCallbacks) => void;
|
|
30
|
-
destroy: () => void;
|
|
31
|
-
}
|
|
32
|
-
export type InitialStateOverrides = Partial<Omit<ViewerState, "doc" | "page" | "pageCount">>;
|
|
33
|
-
export declare function mountViewerShell(root: HTMLElement, engine: EngineAdapter, workerClient: WorkerClient, overrides?: InitialStateOverrides): ViewerShell;
|
|
34
|
-
//# sourceMappingURL=shell.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/shell.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAS1D,MAAM,WAAW,aAAa;IAC1B,WAAW,CAAC,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE,UAAU,CAAC,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,kBAAkB,CAAC,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAClF,WAAW,CAAC,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,oBAAoB;IACjC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,MAAM,WAAW,CAAC;IAC5B,YAAY,EAAE,CAAC,SAAS,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACxD,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;AAE7F,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,qBAAqB,GAClC,WAAW,CAwGb"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { createStore } from "../framework/store";
|
|
2
|
-
import { initialState } from "./state";
|
|
3
|
-
import { reducer } from "./reducer";
|
|
4
|
-
import { createEffects } from "./effects";
|
|
5
|
-
import { createToolbar } from "./components/Toolbar";
|
|
6
|
-
import { createLeftPanel } from "./components/LeftPanel";
|
|
7
|
-
import { createViewport } from "./components/Viewport";
|
|
8
|
-
import { createRightPanel } from "./components/RightPanel";
|
|
9
|
-
import { createPasswordDialog } from "./components/PasswordDialog";
|
|
10
|
-
import { createLoadingOverlay } from "./components/LoadingOverlay";
|
|
11
|
-
import { inlineStyles } from "./styles-inline.js";
|
|
12
|
-
export function mountViewerShell(root, engine, workerClient, overrides) {
|
|
13
|
-
const layout = document.createElement("div");
|
|
14
|
-
layout.className = "udoc-viewer-root";
|
|
15
|
-
// Inject styles into the viewer
|
|
16
|
-
const style = document.createElement("style");
|
|
17
|
-
style.textContent = inlineStyles;
|
|
18
|
-
layout.appendChild(style);
|
|
19
|
-
const toolbarSlot = document.createElement("div");
|
|
20
|
-
toolbarSlot.className = "udoc-slot udoc-toolbar-slot";
|
|
21
|
-
const bodySlot = document.createElement("div");
|
|
22
|
-
bodySlot.className = "udoc-slot udoc-body-slot";
|
|
23
|
-
const leftPanelSlot = document.createElement("div");
|
|
24
|
-
leftPanelSlot.className = "udoc-slot udoc-left-panel-slot";
|
|
25
|
-
const viewportSlot = document.createElement("div");
|
|
26
|
-
viewportSlot.className = "udoc-slot udoc-viewport-slot";
|
|
27
|
-
const rightPanelSlot = document.createElement("div");
|
|
28
|
-
rightPanelSlot.className = "udoc-slot udoc-right-panel-slot";
|
|
29
|
-
// Panel overlay for mobile (closes panels when tapping outside)
|
|
30
|
-
const panelOverlay = document.createElement("div");
|
|
31
|
-
panelOverlay.className = "udoc-panel-overlay";
|
|
32
|
-
bodySlot.append(leftPanelSlot, viewportSlot, rightPanelSlot, panelOverlay);
|
|
33
|
-
layout.append(toolbarSlot, bodySlot);
|
|
34
|
-
root.appendChild(layout);
|
|
35
|
-
const mergedInitialState = overrides
|
|
36
|
-
? { ...initialState, ...overrides }
|
|
37
|
-
: initialState;
|
|
38
|
-
const store = createStore(reducer, mergedInitialState, { batched: true });
|
|
39
|
-
const toolbar = createToolbar();
|
|
40
|
-
toolbar.mount(toolbarSlot, store);
|
|
41
|
-
const leftPanel = createLeftPanel();
|
|
42
|
-
leftPanel.mount(leftPanelSlot, store, workerClient);
|
|
43
|
-
const viewport = createViewport();
|
|
44
|
-
viewport.mount(viewportSlot, store, workerClient);
|
|
45
|
-
const rightPanel = createRightPanel();
|
|
46
|
-
rightPanel.mount(rightPanelSlot, store);
|
|
47
|
-
const effects = createEffects(store, engine);
|
|
48
|
-
// Callbacks that can be set after mounting
|
|
49
|
-
let callbacks = {};
|
|
50
|
-
// Loading overlay (mounted to viewport slot, shows during document download)
|
|
51
|
-
const loadingOverlay = createLoadingOverlay();
|
|
52
|
-
loadingOverlay.mount(viewportSlot, store);
|
|
53
|
-
// Password dialog (mounted to viewport slot so it covers only the viewer area)
|
|
54
|
-
const passwordDialog = createPasswordDialog();
|
|
55
|
-
passwordDialog.mount(viewportSlot, store, {
|
|
56
|
-
onSubmit: (password) => {
|
|
57
|
-
callbacks.onPasswordSubmit?.(password);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
// Handle panel overlay click to close panels (for mobile)
|
|
61
|
-
panelOverlay.addEventListener("click", () => {
|
|
62
|
-
store.dispatch({ type: "CLOSE_PANEL" });
|
|
63
|
-
});
|
|
64
|
-
// Subscribe to panel state to toggle udoc-panel-open class
|
|
65
|
-
const unsubPanelClass = store.subscribeRender((prev, next) => {
|
|
66
|
-
if ((prev.activePanel === null) !== (next.activePanel === null)) {
|
|
67
|
-
layout.classList.toggle("udoc-panel-open", next.activePanel !== null);
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
store.dispatch({ type: "__INIT__" });
|
|
71
|
-
function setCallbacks(newCallbacks) {
|
|
72
|
-
callbacks = { ...callbacks, ...newCallbacks };
|
|
73
|
-
}
|
|
74
|
-
function destroy() {
|
|
75
|
-
unsubPanelClass();
|
|
76
|
-
effects.destroy();
|
|
77
|
-
toolbar.destroy();
|
|
78
|
-
leftPanel.destroy();
|
|
79
|
-
viewport.destroy();
|
|
80
|
-
rightPanel.destroy();
|
|
81
|
-
loadingOverlay.destroy();
|
|
82
|
-
passwordDialog.destroy();
|
|
83
|
-
layout.remove();
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
store,
|
|
87
|
-
dispatch: store.dispatch,
|
|
88
|
-
getState: store.getState,
|
|
89
|
-
setCallbacks,
|
|
90
|
-
destroy
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=shell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../../src/ui/viewer/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOjD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAuBlD,MAAM,UAAU,gBAAgB,CAC5B,IAAiB,EACjB,MAAqB,EACrB,YAA0B,EAC1B,SAAiC;IAEjC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,kBAAkB,CAAC;IAEtC,gCAAgC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE1B,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAClD,WAAW,CAAC,SAAS,GAAG,6BAA6B,CAAC;IAEtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,0BAA0B,CAAC;IAEhD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpD,aAAa,CAAC,SAAS,GAAG,gCAAgC,CAAC;IAE3D,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,YAAY,CAAC,SAAS,GAAG,8BAA8B,CAAC;IAExD,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,cAAc,CAAC,SAAS,GAAG,iCAAiC,CAAC;IAE7D,gEAAgE;IAChE,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,YAAY,CAAC,SAAS,GAAG,oBAAoB,CAAC;IAE9C,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAC3E,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEzB,MAAM,kBAAkB,GAAgB,SAAS;QAC7C,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,SAAS,EAAE;QACnC,CAAC,CAAC,YAAY,CAAC;IAEnB,MAAM,KAAK,GAAG,WAAW,CAAsB,OAAO,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/F,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAEpD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE7C,2CAA2C;IAC3C,IAAI,SAAS,GAAyB,EAAE,CAAC;IAEzC,6EAA6E;IAC7E,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC;IAC9C,cAAc,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAE1C,+EAA+E;IAC/E,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC;IAC9C,cAAc,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE;QACtC,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE;YAC3B,SAAS,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;KACJ,CAAC,CAAC;IAEH,0DAA0D;IAC1D,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACxC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,2DAA2D;IAC3D,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACzD,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAErC,SAAS,YAAY,CAAC,YAAkC;QACpD,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,YAAY,EAAE,CAAC;IAClD,CAAC;IAED,SAAS,OAAO;QACZ,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,SAAS,CAAC,OAAO,EAAE,CAAC;QACpB,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,UAAU,CAAC,OAAO,EAAE,CAAC;QACrB,cAAc,CAAC,OAAO,EAAE,CAAC;QACzB,cAAc,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,OAAO;QACH,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY;QACZ,OAAO;KACV,CAAC;AACN,CAAC"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import type { OutlineItem, NavigationTarget } from "./navigation";
|
|
2
|
-
import type { Annotation } from "./annotation";
|
|
3
|
-
import type { TextRun } from "./text";
|
|
4
|
-
import type { PageInfo } from "../../worker/index.js";
|
|
5
|
-
export type LeftPanelTab = "thumbnail" | "outline" | "bookmarks" | "layers" | "attachments";
|
|
6
|
-
export type RightPanelTab = "search" | "comments";
|
|
7
|
-
export type PanelTab = LeftPanelTab | RightPanelTab;
|
|
8
|
-
export declare function isLeftPanelTab(tab: PanelTab): tab is LeftPanelTab;
|
|
9
|
-
export type ScrollMode = "spread" | "continuous";
|
|
10
|
-
export type LayoutMode = "single-page" | "double-page" | "double-page-odd-right" | "double-page-odd-left";
|
|
11
|
-
export type ZoomMode = "fit-spread-width" | "fit-spread-height" | "fit-spread" | "custom";
|
|
12
|
-
export type PageRotation = 0 | 90 | 180 | 270;
|
|
13
|
-
export type SpacingMode = "all" | "none" | "spread-only" | "page-only";
|
|
14
|
-
/** Default zoom steps for zoom in/out actions */
|
|
15
|
-
export declare const DEFAULT_ZOOM_STEPS: readonly [0.1, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 2, 3, 4, 5];
|
|
16
|
-
export type { PageInfo };
|
|
17
|
-
/** PDF points are defined at 72 DPI */
|
|
18
|
-
export declare const PDF_DPI = 72;
|
|
19
|
-
/** Default display DPI (CSS standard) */
|
|
20
|
-
export declare const DEFAULT_DPI = 96;
|
|
21
|
-
/** Scale factor to convert PDF points to pixels at 100% zoom */
|
|
22
|
-
export declare const POINTS_TO_PIXELS: number;
|
|
23
|
-
/** Calculate the scale factor for a given display DPI */
|
|
24
|
-
export declare function getPointsToPixels(dpi: number): number;
|
|
25
|
-
export interface ViewerState {
|
|
26
|
-
doc: {
|
|
27
|
-
id: string;
|
|
28
|
-
} | null;
|
|
29
|
-
page: number;
|
|
30
|
-
pageCount: number;
|
|
31
|
-
pageInfos: readonly PageInfo[];
|
|
32
|
-
/** Whether the document requires a password to open */
|
|
33
|
-
needsPassword: boolean;
|
|
34
|
-
/** Error message when password authentication fails */
|
|
35
|
-
passwordError: string | null;
|
|
36
|
-
/** Whether authentication is currently in progress */
|
|
37
|
-
isAuthenticating: boolean;
|
|
38
|
-
/** Document outline/bookmarks (null = not loaded yet) */
|
|
39
|
-
outline: OutlineItem[] | null;
|
|
40
|
-
/** Whether outline is currently being loaded */
|
|
41
|
-
outlineLoading: boolean;
|
|
42
|
-
/** Annotations by page index (0-based). Undefined = not loaded, [] = loaded but empty */
|
|
43
|
-
pageAnnotations: Map<number, Annotation[]>;
|
|
44
|
-
/** Set of page indices currently being loaded */
|
|
45
|
-
annotationsLoading: Set<number>;
|
|
46
|
-
/** Text runs by page index (0-based). Undefined = not loaded, [] = loaded but empty */
|
|
47
|
-
pageText: Map<number, TextRun[]>;
|
|
48
|
-
/** Set of page indices currently being loaded */
|
|
49
|
-
textLoading: Set<number>;
|
|
50
|
-
/** Target for navigation (null = no pending navigation) */
|
|
51
|
-
navigationTarget: NavigationTarget | null;
|
|
52
|
-
scrollMode: ScrollMode;
|
|
53
|
-
layoutMode: LayoutMode;
|
|
54
|
-
zoomMode: ZoomMode;
|
|
55
|
-
zoom: number;
|
|
56
|
-
/** Derived zoom for fit modes (null when not applicable). */
|
|
57
|
-
effectiveZoom: number | null;
|
|
58
|
-
zoomSteps: readonly number[];
|
|
59
|
-
pageRotation: PageRotation;
|
|
60
|
-
spacingMode: SpacingMode;
|
|
61
|
-
dpi: number;
|
|
62
|
-
pageSpacing: number;
|
|
63
|
-
spreadSpacing: number;
|
|
64
|
-
activePanel: PanelTab | null;
|
|
65
|
-
/** Left panel width in pixels (null = use CSS default) */
|
|
66
|
-
leftPanelWidth: number | null;
|
|
67
|
-
/** Right panel width in pixels (null = use CSS default) */
|
|
68
|
-
rightPanelWidth: number | null;
|
|
69
|
-
/** Currently highlighted annotation (null = none) */
|
|
70
|
-
highlightedAnnotation: {
|
|
71
|
-
pageIndex: number;
|
|
72
|
-
bounds: {
|
|
73
|
-
x: number;
|
|
74
|
-
y: number;
|
|
75
|
-
width: number;
|
|
76
|
-
height: number;
|
|
77
|
-
};
|
|
78
|
-
} | null;
|
|
79
|
-
/** Whether the viewer is in fullscreen mode */
|
|
80
|
-
isFullscreen: boolean;
|
|
81
|
-
/** Whether document is currently being downloaded */
|
|
82
|
-
isDownloading: boolean;
|
|
83
|
-
/** Download progress: loaded bytes */
|
|
84
|
-
downloadLoaded: number;
|
|
85
|
-
/** Download progress: total bytes (0 if unknown) */
|
|
86
|
-
downloadTotal: number;
|
|
87
|
-
}
|
|
88
|
-
export declare const initialState: ViewerState;
|
|
89
|
-
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
const LEFT_TABS = new Set(["thumbnail", "outline", "bookmarks", "layers", "attachments"]);
|
|
2
|
-
export function isLeftPanelTab(tab) {
|
|
3
|
-
return LEFT_TABS.has(tab);
|
|
4
|
-
}
|
|
5
|
-
/** Default zoom steps for zoom in/out actions */
|
|
6
|
-
export const DEFAULT_ZOOM_STEPS = [0.1, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 2, 3, 4, 5];
|
|
7
|
-
// -----------------------------------------------------------------------------
|
|
8
|
-
// DPI and scaling constants
|
|
9
|
-
// -----------------------------------------------------------------------------
|
|
10
|
-
/** PDF points are defined at 72 DPI */
|
|
11
|
-
export const PDF_DPI = 72;
|
|
12
|
-
/** Default display DPI (CSS standard) */
|
|
13
|
-
export const DEFAULT_DPI = 96;
|
|
14
|
-
/** Scale factor to convert PDF points to pixels at 100% zoom */
|
|
15
|
-
export const POINTS_TO_PIXELS = DEFAULT_DPI / PDF_DPI; // 1.333...
|
|
16
|
-
/** Calculate the scale factor for a given display DPI */
|
|
17
|
-
export function getPointsToPixels(dpi) {
|
|
18
|
-
return dpi / PDF_DPI;
|
|
19
|
-
}
|
|
20
|
-
export const initialState = {
|
|
21
|
-
doc: null,
|
|
22
|
-
page: 1,
|
|
23
|
-
pageCount: 0,
|
|
24
|
-
pageInfos: [],
|
|
25
|
-
needsPassword: false,
|
|
26
|
-
passwordError: null,
|
|
27
|
-
isAuthenticating: false,
|
|
28
|
-
outline: null,
|
|
29
|
-
outlineLoading: false,
|
|
30
|
-
pageAnnotations: new Map(),
|
|
31
|
-
annotationsLoading: new Set(),
|
|
32
|
-
pageText: new Map(),
|
|
33
|
-
textLoading: new Set(),
|
|
34
|
-
navigationTarget: null,
|
|
35
|
-
scrollMode: "continuous",
|
|
36
|
-
layoutMode: "single-page",
|
|
37
|
-
zoomMode: "fit-spread-width",
|
|
38
|
-
zoom: 1,
|
|
39
|
-
effectiveZoom: null,
|
|
40
|
-
zoomSteps: DEFAULT_ZOOM_STEPS,
|
|
41
|
-
pageRotation: 0,
|
|
42
|
-
spacingMode: "all",
|
|
43
|
-
dpi: DEFAULT_DPI,
|
|
44
|
-
pageSpacing: 20,
|
|
45
|
-
spreadSpacing: 20,
|
|
46
|
-
activePanel: null,
|
|
47
|
-
leftPanelWidth: null,
|
|
48
|
-
rightPanelWidth: null,
|
|
49
|
-
highlightedAnnotation: null,
|
|
50
|
-
isFullscreen: false,
|
|
51
|
-
isDownloading: false,
|
|
52
|
-
downloadLoaded: 0,
|
|
53
|
-
downloadTotal: 0,
|
|
54
|
-
};
|
|
55
|
-
//# sourceMappingURL=state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/ui/viewer/state.ts"],"names":[],"mappings":"AAaA,MAAM,SAAS,GAAkB,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AACzG,MAAM,UAAU,cAAc,CAAC,GAAa;IACxC,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAYD,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAU,CAAC;AAS5F,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF,uCAAuC;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC;AAE1B,yCAAyC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAE9B,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC,WAAW;AAElE,yDAAyD;AACzD,MAAM,UAAU,iBAAiB,CAAC,GAAW;IACzC,OAAO,GAAG,GAAG,OAAO,CAAC;AACzB,CAAC;AAwFD,MAAM,CAAC,MAAM,YAAY,GAAgB;IACrC,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,EAAE;IAEb,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,KAAK;IAEvB,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,KAAK;IAErB,eAAe,EAAE,IAAI,GAAG,EAAE;IAC1B,kBAAkB,EAAE,IAAI,GAAG,EAAE;IAE7B,QAAQ,EAAE,IAAI,GAAG,EAAE;IACnB,WAAW,EAAE,IAAI,GAAG,EAAE;IAEtB,gBAAgB,EAAE,IAAI;IAEtB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,kBAAkB;IAC5B,IAAI,EAAE,CAAC;IACP,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,kBAAkB;IAC7B,YAAY,EAAE,CAAC;IACf,WAAW,EAAE,KAAK;IAElB,GAAG,EAAE,WAAW;IAEhB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IAEjB,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IAErB,qBAAqB,EAAE,IAAI;IAE3B,YAAY,EAAE,KAAK;IAEnB,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;CACnB,CAAC"}
|