@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.
Files changed (211) hide show
  1. package/package.json +1 -1
  2. package/dist/package.json +0 -56
  3. package/dist/src/UDocClient.d.ts +0 -383
  4. package/dist/src/UDocClient.d.ts.map +0 -1
  5. package/dist/src/UDocClient.js +0 -428
  6. package/dist/src/UDocClient.js.map +0 -1
  7. package/dist/src/UDocViewer.d.ts +0 -271
  8. package/dist/src/UDocViewer.d.ts.map +0 -1
  9. package/dist/src/UDocViewer.js +0 -769
  10. package/dist/src/UDocViewer.js.map +0 -1
  11. package/dist/src/fonts.d.ts +0 -29
  12. package/dist/src/fonts.d.ts.map +0 -1
  13. package/dist/src/fonts.js +0 -30
  14. package/dist/src/fonts.js.map +0 -1
  15. package/dist/src/index.d.ts +0 -9
  16. package/dist/src/index.d.ts.map +0 -1
  17. package/dist/src/index.js +0 -8
  18. package/dist/src/index.js.map +0 -1
  19. package/dist/src/performance/PerformanceCounter.d.ts +0 -132
  20. package/dist/src/performance/PerformanceCounter.d.ts.map +0 -1
  21. package/dist/src/performance/PerformanceCounter.js +0 -129
  22. package/dist/src/performance/PerformanceCounter.js.map +0 -1
  23. package/dist/src/performance/index.d.ts +0 -2
  24. package/dist/src/performance/index.d.ts.map +0 -1
  25. package/dist/src/performance/index.js +0 -2
  26. package/dist/src/performance/index.js.map +0 -1
  27. package/dist/src/ui/framework/component.d.ts +0 -68
  28. package/dist/src/ui/framework/component.d.ts.map +0 -1
  29. package/dist/src/ui/framework/component.js +0 -87
  30. package/dist/src/ui/framework/component.js.map +0 -1
  31. package/dist/src/ui/framework/dom.d.ts +0 -19
  32. package/dist/src/ui/framework/dom.d.ts.map +0 -1
  33. package/dist/src/ui/framework/dom.js +0 -29
  34. package/dist/src/ui/framework/dom.js.map +0 -1
  35. package/dist/src/ui/framework/events.d.ts +0 -18
  36. package/dist/src/ui/framework/events.d.ts.map +0 -1
  37. package/dist/src/ui/framework/events.js +0 -23
  38. package/dist/src/ui/framework/events.js.map +0 -1
  39. package/dist/src/ui/framework/index.d.ts +0 -15
  40. package/dist/src/ui/framework/index.d.ts.map +0 -1
  41. package/dist/src/ui/framework/index.js +0 -15
  42. package/dist/src/ui/framework/index.js.map +0 -1
  43. package/dist/src/ui/framework/selectors.d.ts +0 -51
  44. package/dist/src/ui/framework/selectors.d.ts.map +0 -1
  45. package/dist/src/ui/framework/selectors.js +0 -30
  46. package/dist/src/ui/framework/selectors.js.map +0 -1
  47. package/dist/src/ui/framework/store.d.ts +0 -37
  48. package/dist/src/ui/framework/store.d.ts.map +0 -1
  49. package/dist/src/ui/framework/store.js +0 -54
  50. package/dist/src/ui/framework/store.js.map +0 -1
  51. package/dist/src/ui/viewer/actions.d.ts +0 -131
  52. package/dist/src/ui/viewer/actions.d.ts.map +0 -1
  53. package/dist/src/ui/viewer/actions.js +0 -2
  54. package/dist/src/ui/viewer/actions.js.map +0 -1
  55. package/dist/src/ui/viewer/annotation/LinkRenderer.d.ts +0 -9
  56. package/dist/src/ui/viewer/annotation/LinkRenderer.d.ts.map +0 -1
  57. package/dist/src/ui/viewer/annotation/LinkRenderer.js +0 -17
  58. package/dist/src/ui/viewer/annotation/LinkRenderer.js.map +0 -1
  59. package/dist/src/ui/viewer/annotation/MarkupRenderer.d.ts +0 -21
  60. package/dist/src/ui/viewer/annotation/MarkupRenderer.d.ts.map +0 -1
  61. package/dist/src/ui/viewer/annotation/MarkupRenderer.js +0 -138
  62. package/dist/src/ui/viewer/annotation/MarkupRenderer.js.map +0 -1
  63. package/dist/src/ui/viewer/annotation/ShapeRenderer.d.ts +0 -33
  64. package/dist/src/ui/viewer/annotation/ShapeRenderer.d.ts.map +0 -1
  65. package/dist/src/ui/viewer/annotation/ShapeRenderer.js +0 -378
  66. package/dist/src/ui/viewer/annotation/ShapeRenderer.js.map +0 -1
  67. package/dist/src/ui/viewer/annotation/TextRenderer.d.ts +0 -23
  68. package/dist/src/ui/viewer/annotation/TextRenderer.d.ts.map +0 -1
  69. package/dist/src/ui/viewer/annotation/TextRenderer.js +0 -196
  70. package/dist/src/ui/viewer/annotation/TextRenderer.js.map +0 -1
  71. package/dist/src/ui/viewer/annotation/index.d.ts +0 -8
  72. package/dist/src/ui/viewer/annotation/index.d.ts.map +0 -1
  73. package/dist/src/ui/viewer/annotation/index.js +0 -8
  74. package/dist/src/ui/viewer/annotation/index.js.map +0 -1
  75. package/dist/src/ui/viewer/annotation/render.d.ts +0 -24
  76. package/dist/src/ui/viewer/annotation/render.d.ts.map +0 -1
  77. package/dist/src/ui/viewer/annotation/render.js +0 -184
  78. package/dist/src/ui/viewer/annotation/render.js.map +0 -1
  79. package/dist/src/ui/viewer/annotation/types.d.ts +0 -239
  80. package/dist/src/ui/viewer/annotation/types.d.ts.map +0 -1
  81. package/dist/src/ui/viewer/annotation/types.js +0 -7
  82. package/dist/src/ui/viewer/annotation/types.js.map +0 -1
  83. package/dist/src/ui/viewer/annotation/utils.d.ts +0 -37
  84. package/dist/src/ui/viewer/annotation/utils.d.ts.map +0 -1
  85. package/dist/src/ui/viewer/annotation/utils.js +0 -82
  86. package/dist/src/ui/viewer/annotation/utils.js.map +0 -1
  87. package/dist/src/ui/viewer/components/AnnotationPanel.d.ts +0 -19
  88. package/dist/src/ui/viewer/components/AnnotationPanel.d.ts.map +0 -1
  89. package/dist/src/ui/viewer/components/AnnotationPanel.js +0 -284
  90. package/dist/src/ui/viewer/components/AnnotationPanel.js.map +0 -1
  91. package/dist/src/ui/viewer/components/FloatingToolbar.d.ts +0 -9
  92. package/dist/src/ui/viewer/components/FloatingToolbar.d.ts.map +0 -1
  93. package/dist/src/ui/viewer/components/FloatingToolbar.js +0 -305
  94. package/dist/src/ui/viewer/components/FloatingToolbar.js.map +0 -1
  95. package/dist/src/ui/viewer/components/LeftPanel.d.ts +0 -10
  96. package/dist/src/ui/viewer/components/LeftPanel.d.ts.map +0 -1
  97. package/dist/src/ui/viewer/components/LeftPanel.js +0 -165
  98. package/dist/src/ui/viewer/components/LeftPanel.js.map +0 -1
  99. package/dist/src/ui/viewer/components/LoadingOverlay.d.ts +0 -12
  100. package/dist/src/ui/viewer/components/LoadingOverlay.d.ts.map +0 -1
  101. package/dist/src/ui/viewer/components/LoadingOverlay.js +0 -88
  102. package/dist/src/ui/viewer/components/LoadingOverlay.js.map +0 -1
  103. package/dist/src/ui/viewer/components/OutlinePanel.d.ts +0 -10
  104. package/dist/src/ui/viewer/components/OutlinePanel.d.ts.map +0 -1
  105. package/dist/src/ui/viewer/components/OutlinePanel.js +0 -169
  106. package/dist/src/ui/viewer/components/OutlinePanel.js.map +0 -1
  107. package/dist/src/ui/viewer/components/PasswordDialog.d.ts +0 -15
  108. package/dist/src/ui/viewer/components/PasswordDialog.d.ts.map +0 -1
  109. package/dist/src/ui/viewer/components/PasswordDialog.js +0 -143
  110. package/dist/src/ui/viewer/components/PasswordDialog.js.map +0 -1
  111. package/dist/src/ui/viewer/components/RightPanel.d.ts +0 -9
  112. package/dist/src/ui/viewer/components/RightPanel.d.ts.map +0 -1
  113. package/dist/src/ui/viewer/components/RightPanel.js +0 -102
  114. package/dist/src/ui/viewer/components/RightPanel.js.map +0 -1
  115. package/dist/src/ui/viewer/components/Spread.d.ts +0 -43
  116. package/dist/src/ui/viewer/components/Spread.d.ts.map +0 -1
  117. package/dist/src/ui/viewer/components/Spread.js +0 -345
  118. package/dist/src/ui/viewer/components/Spread.js.map +0 -1
  119. package/dist/src/ui/viewer/components/ThumbnailPanel.d.ts +0 -11
  120. package/dist/src/ui/viewer/components/ThumbnailPanel.d.ts.map +0 -1
  121. package/dist/src/ui/viewer/components/ThumbnailPanel.js +0 -240
  122. package/dist/src/ui/viewer/components/ThumbnailPanel.js.map +0 -1
  123. package/dist/src/ui/viewer/components/Toolbar.d.ts +0 -9
  124. package/dist/src/ui/viewer/components/Toolbar.d.ts.map +0 -1
  125. package/dist/src/ui/viewer/components/Toolbar.js +0 -93
  126. package/dist/src/ui/viewer/components/Toolbar.js.map +0 -1
  127. package/dist/src/ui/viewer/components/ViewModeMenu.d.ts +0 -9
  128. package/dist/src/ui/viewer/components/ViewModeMenu.d.ts.map +0 -1
  129. package/dist/src/ui/viewer/components/ViewModeMenu.js +0 -169
  130. package/dist/src/ui/viewer/components/ViewModeMenu.js.map +0 -1
  131. package/dist/src/ui/viewer/components/Viewport.d.ts +0 -10
  132. package/dist/src/ui/viewer/components/Viewport.d.ts.map +0 -1
  133. package/dist/src/ui/viewer/components/Viewport.js +0 -1076
  134. package/dist/src/ui/viewer/components/Viewport.js.map +0 -1
  135. package/dist/src/ui/viewer/effects.d.ts +0 -8
  136. package/dist/src/ui/viewer/effects.d.ts.map +0 -1
  137. package/dist/src/ui/viewer/effects.js +0 -207
  138. package/dist/src/ui/viewer/effects.js.map +0 -1
  139. package/dist/src/ui/viewer/icons.d.ts +0 -32
  140. package/dist/src/ui/viewer/icons.d.ts.map +0 -1
  141. package/dist/src/ui/viewer/icons.js +0 -44
  142. package/dist/src/ui/viewer/icons.js.map +0 -1
  143. package/dist/src/ui/viewer/index.d.ts +0 -6
  144. package/dist/src/ui/viewer/index.d.ts.map +0 -1
  145. package/dist/src/ui/viewer/index.js +0 -6
  146. package/dist/src/ui/viewer/index.js.map +0 -1
  147. package/dist/src/ui/viewer/layout/index.d.ts +0 -3
  148. package/dist/src/ui/viewer/layout/index.d.ts.map +0 -1
  149. package/dist/src/ui/viewer/layout/index.js +0 -3
  150. package/dist/src/ui/viewer/layout/index.js.map +0 -1
  151. package/dist/src/ui/viewer/layout/pixelAlign.d.ts +0 -7
  152. package/dist/src/ui/viewer/layout/pixelAlign.d.ts.map +0 -1
  153. package/dist/src/ui/viewer/layout/pixelAlign.js +0 -22
  154. package/dist/src/ui/viewer/layout/pixelAlign.js.map +0 -1
  155. package/dist/src/ui/viewer/layout/spreadLayout.d.ts +0 -93
  156. package/dist/src/ui/viewer/layout/spreadLayout.d.ts.map +0 -1
  157. package/dist/src/ui/viewer/layout/spreadLayout.js +0 -315
  158. package/dist/src/ui/viewer/layout/spreadLayout.js.map +0 -1
  159. package/dist/src/ui/viewer/navigation.d.ts +0 -80
  160. package/dist/src/ui/viewer/navigation.d.ts.map +0 -1
  161. package/dist/src/ui/viewer/navigation.js +0 -59
  162. package/dist/src/ui/viewer/navigation.js.map +0 -1
  163. package/dist/src/ui/viewer/reducer.d.ts +0 -4
  164. package/dist/src/ui/viewer/reducer.d.ts.map +0 -1
  165. package/dist/src/ui/viewer/reducer.js +0 -305
  166. package/dist/src/ui/viewer/reducer.js.map +0 -1
  167. package/dist/src/ui/viewer/shell.d.ts +0 -34
  168. package/dist/src/ui/viewer/shell.d.ts.map +0 -1
  169. package/dist/src/ui/viewer/shell.js +0 -93
  170. package/dist/src/ui/viewer/shell.js.map +0 -1
  171. package/dist/src/ui/viewer/state.d.ts +0 -89
  172. package/dist/src/ui/viewer/state.d.ts.map +0 -1
  173. package/dist/src/ui/viewer/state.js +0 -55
  174. package/dist/src/ui/viewer/state.js.map +0 -1
  175. package/dist/src/ui/viewer/styles-inline.d.ts +0 -2
  176. package/dist/src/ui/viewer/styles-inline.d.ts.map +0 -1
  177. package/dist/src/ui/viewer/styles-inline.js +0 -1584
  178. package/dist/src/ui/viewer/styles-inline.js.map +0 -1
  179. package/dist/src/ui/viewer/text/index.d.ts +0 -7
  180. package/dist/src/ui/viewer/text/index.d.ts.map +0 -1
  181. package/dist/src/ui/viewer/text/index.js +0 -3
  182. package/dist/src/ui/viewer/text/index.js.map +0 -1
  183. package/dist/src/ui/viewer/text/render.d.ts +0 -19
  184. package/dist/src/ui/viewer/text/render.d.ts.map +0 -1
  185. package/dist/src/ui/viewer/text/render.js +0 -228
  186. package/dist/src/ui/viewer/text/render.js.map +0 -1
  187. package/dist/src/ui/viewer/text/selection.d.ts +0 -12
  188. package/dist/src/ui/viewer/text/selection.d.ts.map +0 -1
  189. package/dist/src/ui/viewer/text/selection.js +0 -70
  190. package/dist/src/ui/viewer/text/selection.js.map +0 -1
  191. package/dist/src/ui/viewer/text/types.d.ts +0 -37
  192. package/dist/src/ui/viewer/text/types.d.ts.map +0 -1
  193. package/dist/src/ui/viewer/text/types.js +0 -7
  194. package/dist/src/ui/viewer/text/types.js.map +0 -1
  195. package/dist/src/wasm/LICENSE +0 -104
  196. package/dist/src/wasm/udoc.d.ts +0 -480
  197. package/dist/src/wasm/udoc.js +0 -1738
  198. package/dist/src/wasm/udoc_bg.wasm +0 -0
  199. package/dist/src/wasm/udoc_bg.wasm.d.ts +0 -45
  200. package/dist/src/worker/WorkerClient.d.ts +0 -335
  201. package/dist/src/worker/WorkerClient.d.ts.map +0 -1
  202. package/dist/src/worker/WorkerClient.js +0 -903
  203. package/dist/src/worker/WorkerClient.js.map +0 -1
  204. package/dist/src/worker/index.d.ts +0 -4
  205. package/dist/src/worker/index.d.ts.map +0 -1
  206. package/dist/src/worker/index.js +0 -2
  207. package/dist/src/worker/index.js.map +0 -1
  208. package/dist/src/worker/worker.d.ts +0 -437
  209. package/dist/src/worker/worker.d.ts.map +0 -1
  210. package/dist/src/worker/worker.js +0 -237
  211. 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":"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"}
@@ -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":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMtD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;AAC5F,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AAClD,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC;AAGpD,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,IAAI,YAAY,CAEjE;AAMD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAC;AACjD,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,aAAa,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AAC1G,MAAM,MAAM,QAAQ,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAC1F,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;AAC9C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,CAAC;AAEvE,iDAAiD;AACjD,eAAO,MAAM,kBAAkB,2DAA4D,CAAC;AAO5F,YAAY,EAAE,QAAQ,EAAE,CAAC;AAMzB,uCAAuC;AACvC,eAAO,MAAM,OAAO,KAAK,CAAC;AAE1B,yCAAyC;AACzC,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,QAAwB,CAAC;AAEtD,yDAAyD;AACzD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErD;AAMD,MAAM,WAAW,WAAW;IAExB,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAG/B,uDAAuD;IACvD,aAAa,EAAE,OAAO,CAAC;IACvB,uDAAuD;IACvD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,sDAAsD;IACtD,gBAAgB,EAAE,OAAO,CAAC;IAG1B,yDAAyD;IACzD,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC9B,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;IAGxB,yFAAyF;IACzF,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3C,iDAAiD;IACjD,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAGhC,uFAAuF;IACvF,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,iDAAiD;IACjD,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAGzB,2DAA2D;IAC3D,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAG1C,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC;IAGzB,GAAG,EAAE,MAAM,CAAC;IAGZ,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IAGtB,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC7B,0DAA0D;IAC1D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,2DAA2D;IAC3D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAG/B,qDAAqD;IACrD,qBAAqB,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KACnE,GAAG,IAAI,CAAC;IAGT,+CAA+C;IAC/C,YAAY,EAAE,OAAO,CAAC;IAGtB,qDAAqD;IACrD,aAAa,EAAE,OAAO,CAAC;IACvB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,YAAY,EAAE,WA8C1B,CAAC"}
@@ -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"}