@docmentis/udoc-viewer 0.5.24 → 0.6.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/README.md +161 -28
- package/dist/package.json +7 -5
- package/dist/src/UDocClient.d.ts +42 -12
- package/dist/src/UDocClient.d.ts.map +1 -1
- package/dist/src/UDocClient.js +7 -6
- package/dist/src/UDocClient.js.map +1 -1
- package/dist/src/UDocViewer.d.ts +48 -3
- package/dist/src/UDocViewer.d.ts.map +1 -1
- package/dist/src/UDocViewer.js +139 -15
- package/dist/src/UDocViewer.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/performance/PerformanceCounter.d.ts +1 -1
- package/dist/src/performance/PerformanceCounter.d.ts.map +1 -1
- package/dist/src/performance/PerformanceCounter.js.map +1 -1
- package/dist/src/telemetry.d.ts +3 -1
- package/dist/src/telemetry.d.ts.map +1 -1
- package/dist/src/telemetry.js +11 -1
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/ui/viewer/actions.d.ts +40 -1
- package/dist/src/ui/viewer/actions.d.ts.map +1 -1
- package/dist/src/ui/viewer/components/RightPanel.d.ts.map +1 -1
- package/dist/src/ui/viewer/components/RightPanel.js +5 -1
- package/dist/src/ui/viewer/components/RightPanel.js.map +1 -1
- package/dist/src/ui/viewer/components/SearchPanel.d.ts +20 -0
- package/dist/src/ui/viewer/components/SearchPanel.d.ts.map +1 -0
- package/dist/src/ui/viewer/components/SearchPanel.js +246 -0
- package/dist/src/ui/viewer/components/SearchPanel.js.map +1 -0
- package/dist/src/ui/viewer/components/Spread.d.ts +2 -0
- package/dist/src/ui/viewer/components/Spread.d.ts.map +1 -1
- package/dist/src/ui/viewer/components/Spread.js +64 -0
- package/dist/src/ui/viewer/components/Spread.js.map +1 -1
- package/dist/src/ui/viewer/components/Toolbar.d.ts.map +1 -1
- package/dist/src/ui/viewer/components/Toolbar.js +27 -2
- package/dist/src/ui/viewer/components/Toolbar.js.map +1 -1
- package/dist/src/ui/viewer/components/Viewport.d.ts.map +1 -1
- package/dist/src/ui/viewer/components/Viewport.js +15 -2
- package/dist/src/ui/viewer/components/Viewport.js.map +1 -1
- package/dist/src/ui/viewer/effects.d.ts.map +1 -1
- package/dist/src/ui/viewer/effects.js +106 -0
- package/dist/src/ui/viewer/effects.js.map +1 -1
- package/dist/src/ui/viewer/icons.d.ts +4 -0
- package/dist/src/ui/viewer/icons.d.ts.map +1 -1
- package/dist/src/ui/viewer/icons.js +5 -0
- package/dist/src/ui/viewer/icons.js.map +1 -1
- package/dist/src/ui/viewer/reducer.d.ts.map +1 -1
- package/dist/src/ui/viewer/reducer.js +100 -6
- package/dist/src/ui/viewer/reducer.js.map +1 -1
- package/dist/src/ui/viewer/search/index.d.ts +2 -0
- package/dist/src/ui/viewer/search/index.d.ts.map +1 -0
- package/dist/src/ui/viewer/search/index.js +2 -0
- package/dist/src/ui/viewer/search/index.js.map +1 -0
- package/dist/src/ui/viewer/search/search.d.ts +19 -0
- package/dist/src/ui/viewer/search/search.d.ts.map +1 -0
- package/dist/src/ui/viewer/search/search.js +120 -0
- package/dist/src/ui/viewer/search/search.js.map +1 -0
- package/dist/src/ui/viewer/shell.d.ts.map +1 -1
- package/dist/src/ui/viewer/shell.js +59 -2
- package/dist/src/ui/viewer/shell.js.map +1 -1
- package/dist/src/ui/viewer/state.d.ts +42 -1
- package/dist/src/ui/viewer/state.d.ts.map +1 -1
- package/dist/src/ui/viewer/state.js +12 -0
- package/dist/src/ui/viewer/state.js.map +1 -1
- package/dist/src/ui/viewer/styles-inline.d.ts +1 -1
- package/dist/src/ui/viewer/styles-inline.d.ts.map +1 -1
- package/dist/src/ui/viewer/styles-inline.js +556 -153
- package/dist/src/ui/viewer/styles-inline.js.map +1 -1
- package/dist/src/ui/viewer/text/render.d.ts +2 -0
- package/dist/src/ui/viewer/text/render.d.ts.map +1 -1
- package/dist/src/ui/viewer/text/render.js +41 -111
- package/dist/src/ui/viewer/text/render.js.map +1 -1
- package/dist/src/wasm/udoc.d.ts +14 -18
- package/dist/src/wasm/udoc.js +40 -18
- package/dist/src/wasm/udoc_bg.wasm +0 -0
- package/dist/src/wasm/udoc_bg.wasm.d.ts +1 -0
- package/dist/src/worker/WorkerClient.d.ts +5 -0
- package/dist/src/worker/WorkerClient.d.ts.map +1 -1
- package/dist/src/worker/WorkerClient.js +12 -0
- package/dist/src/worker/WorkerClient.js.map +1 -1
- package/dist/src/worker/worker-inline.js +1 -1
- package/dist/src/worker/worker.d.ts +12 -0
- package/dist/src/worker/worker.d.ts.map +1 -1
- package/dist/src/worker/worker.js +47 -18
- package/dist/src/worker/worker.js.map +1 -1
- package/package.json +7 -5
|
@@ -13,6 +13,7 @@ export const ICON_ATTACHMENT = `<svg viewBox="0 0 24 24" fill="currentColor"><pa
|
|
|
13
13
|
export const ICON_CHEVRON_LEFT = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/></svg>`;
|
|
14
14
|
export const ICON_CHEVRON_RIGHT = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>`;
|
|
15
15
|
export const ICON_CHEVRON_DOWN = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/></svg>`;
|
|
16
|
+
export const ICON_CHEVRON_UP = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6 1.41 1.41z"/></svg>`;
|
|
16
17
|
export const ICON_ZOOM_IN = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"/></svg>`;
|
|
17
18
|
export const ICON_ZOOM_OUT = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z"/></svg>`;
|
|
18
19
|
// View mode menu icon (sliders/adjustments)
|
|
@@ -41,4 +42,8 @@ export const ICON_SPACING_SPREAD = `<svg viewBox="0 0 24 24" fill="none" stroke=
|
|
|
41
42
|
export const ICON_SPACING_PAGE = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10 3v9H3M14 3v9h7M10 21v-9H3M14 21v-9h7"/></svg>`;
|
|
42
43
|
// Checkmark icon for selected items
|
|
43
44
|
export const ICON_CHECK = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg>`;
|
|
45
|
+
// Theme toggle icons
|
|
46
|
+
export const ICON_THEME_LIGHT = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58a.996.996 0 0 0-1.41 0 .996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37a.996.996 0 0 0-1.41 0 .996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0a.996.996 0 0 0 0-1.41l-1.06-1.06zm1.06-10.96a.996.996 0 0 0 0-1.41.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36a.996.996 0 0 0 0-1.41.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z"/></svg>`;
|
|
47
|
+
export const ICON_THEME_DARK = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M9.37 5.51A7.35 7.35 0 0 0 9.1 7.5c0 4.08 3.32 7.4 7.4 7.4.68 0 1.35-.09 1.99-.27A7.014 7.014 0 0 1 12 19c-3.86 0-7-3.14-7-7 0-2.93 1.81-5.45 4.37-6.49zM12 3a9 9 0 1 0 9 9c0-.46-.04-.92-.1-1.36a5.389 5.389 0 0 1-4.4 2.26 5.403 5.403 0 0 1-3.14-9.8c-.44-.06-.9-.1-1.36-.1z"/></svg>`;
|
|
48
|
+
export const ICON_THEME_SYSTEM = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M20 18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2H0v2h24v-2h-4zM4 6h16v10H4V6z"/></svg>`;
|
|
44
49
|
//# sourceMappingURL=icons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../src/ui/viewer/icons.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,8GAA8G,CAAC;AAExI,MAAM,CAAC,MAAM,WAAW,GAAG,2QAA2Q,CAAC;AAEvS,MAAM,CAAC,MAAM,aAAa,GAAG,2LAA2L,CAAC;AAEzN,MAAM,CAAC,MAAM,eAAe,GAAG,+IAA+I,CAAC;AAE/K,MAAM,CAAC,MAAM,oBAAoB,GAAG,8IAA8I,CAAC;AAEnL,uBAAuB;AACvB,MAAM,CAAC,MAAM,cAAc,GAAG,oMAAoM,CAAC;AAEnO,MAAM,CAAC,MAAM,YAAY,GAAG,uJAAuJ,CAAC;AAEpL,MAAM,CAAC,MAAM,aAAa,GAAG,qHAAqH,CAAC;AAEnJ,MAAM,CAAC,MAAM,WAAW,GAAG,4KAA4K,CAAC;AAExM,MAAM,CAAC,MAAM,eAAe,GAAG,6TAA6T,CAAC;AAE7V,mBAAmB;AACnB,MAAM,CAAC,MAAM,iBAAiB,GAAG,8GAA8G,CAAC;AAEhJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,+GAA+G,CAAC;AAElJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,wHAAwH,CAAC;AAE1J,MAAM,CAAC,MAAM,YAAY,GAAG,4SAA4S,CAAC;AAEzU,MAAM,CAAC,MAAM,aAAa,GAAG,sRAAsR,CAAC;AAEpT,4CAA4C;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,wLAAwL,CAAC;AAEvN,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,qIAAqI,CAAC;AAExK,MAAM,CAAC,MAAM,sBAAsB,GAAG,4JAA4J,CAAC;AAEnM,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,qIAAqI,CAAC;AAExK,MAAM,CAAC,MAAM,kBAAkB,GAAG,qLAAqL,CAAC;AAExN,MAAM,CAAC,MAAM,4BAA4B,GAAG,4MAA4M,CAAC;AAEzP,MAAM,CAAC,MAAM,2BAA2B,GAAG,4MAA4M,CAAC;AAExP,qEAAqE;AACrE,MAAM,CAAC,MAAM,aAAa,GAAG,4JAA4J,CAAC;AAE1L,MAAM,CAAC,MAAM,cAAc,GAAG,+JAA+J,CAAC;AAE9L,MAAM,CAAC,MAAM,eAAe,GAAG,+JAA+J,CAAC;AAE/L,MAAM,CAAC,MAAM,eAAe,GAAG,4JAA4J,CAAC;AAE5L,wDAAwD;AACxD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,wIAAwI,CAAC;AAEzK,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,gHAAgH,CAAC;AAElJ,8GAA8G;AAC9G,MAAM,CAAC,MAAM,mBAAmB,GAAG,wIAAwI,CAAC;AAE5K,0GAA0G;AAC1G,MAAM,CAAC,MAAM,iBAAiB,GAAG,wIAAwI,CAAC;AAE1K,oCAAoC;AACpC,MAAM,CAAC,MAAM,UAAU,GAAG,kHAAkH,CAAC"}
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../src/ui/viewer/icons.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,8GAA8G,CAAC;AAExI,MAAM,CAAC,MAAM,WAAW,GAAG,2QAA2Q,CAAC;AAEvS,MAAM,CAAC,MAAM,aAAa,GAAG,2LAA2L,CAAC;AAEzN,MAAM,CAAC,MAAM,eAAe,GAAG,+IAA+I,CAAC;AAE/K,MAAM,CAAC,MAAM,oBAAoB,GAAG,8IAA8I,CAAC;AAEnL,uBAAuB;AACvB,MAAM,CAAC,MAAM,cAAc,GAAG,oMAAoM,CAAC;AAEnO,MAAM,CAAC,MAAM,YAAY,GAAG,uJAAuJ,CAAC;AAEpL,MAAM,CAAC,MAAM,aAAa,GAAG,qHAAqH,CAAC;AAEnJ,MAAM,CAAC,MAAM,WAAW,GAAG,4KAA4K,CAAC;AAExM,MAAM,CAAC,MAAM,eAAe,GAAG,6TAA6T,CAAC;AAE7V,mBAAmB;AACnB,MAAM,CAAC,MAAM,iBAAiB,GAAG,8GAA8G,CAAC;AAEhJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,+GAA+G,CAAC;AAElJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,wHAAwH,CAAC;AAE1J,MAAM,CAAC,MAAM,eAAe,GAAG,yHAAyH,CAAC;AAEzJ,MAAM,CAAC,MAAM,YAAY,GAAG,4SAA4S,CAAC;AAEzU,MAAM,CAAC,MAAM,aAAa,GAAG,sRAAsR,CAAC;AAEpT,4CAA4C;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,wLAAwL,CAAC;AAEvN,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,qIAAqI,CAAC;AAExK,MAAM,CAAC,MAAM,sBAAsB,GAAG,4JAA4J,CAAC;AAEnM,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,qIAAqI,CAAC;AAExK,MAAM,CAAC,MAAM,kBAAkB,GAAG,qLAAqL,CAAC;AAExN,MAAM,CAAC,MAAM,4BAA4B,GAAG,4MAA4M,CAAC;AAEzP,MAAM,CAAC,MAAM,2BAA2B,GAAG,4MAA4M,CAAC;AAExP,qEAAqE;AACrE,MAAM,CAAC,MAAM,aAAa,GAAG,4JAA4J,CAAC;AAE1L,MAAM,CAAC,MAAM,cAAc,GAAG,+JAA+J,CAAC;AAE9L,MAAM,CAAC,MAAM,eAAe,GAAG,+JAA+J,CAAC;AAE/L,MAAM,CAAC,MAAM,eAAe,GAAG,4JAA4J,CAAC;AAE5L,wDAAwD;AACxD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,wIAAwI,CAAC;AAEzK,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,gHAAgH,CAAC;AAElJ,8GAA8G;AAC9G,MAAM,CAAC,MAAM,mBAAmB,GAAG,wIAAwI,CAAC;AAE5K,0GAA0G;AAC1G,MAAM,CAAC,MAAM,iBAAiB,GAAG,wIAAwI,CAAC;AAE1K,oCAAoC;AACpC,MAAM,CAAC,MAAM,UAAU,GAAG,kHAAkH,CAAC;AAE7I,qBAAqB;AACrB,MAAM,CAAC,MAAM,gBAAgB,GAAG,00BAA00B,CAAC;AAE32B,MAAM,CAAC,MAAM,eAAe,GAAG,gVAAgV,CAAC;AAEhX,MAAM,CAAC,MAAM,iBAAiB,GAAG,uKAAuK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CA6avE"}
|
|
@@ -48,6 +48,12 @@ export function reducer(state, action) {
|
|
|
48
48
|
annotationsLoading: new Set(),
|
|
49
49
|
pageText: new Map(),
|
|
50
50
|
textLoading: new Set(),
|
|
51
|
+
searchQuery: "",
|
|
52
|
+
searchCaseSensitive: false,
|
|
53
|
+
searchMatches: [],
|
|
54
|
+
searchActiveIndex: -1,
|
|
55
|
+
searchTextLoaded: false,
|
|
56
|
+
searchTextLoading: false,
|
|
51
57
|
};
|
|
52
58
|
}
|
|
53
59
|
case "SET_PAGE": {
|
|
@@ -184,8 +190,7 @@ export function reducer(state, action) {
|
|
|
184
190
|
return { ...state, zoomMode: action.mode };
|
|
185
191
|
}
|
|
186
192
|
case "SET_ZOOM": {
|
|
187
|
-
const
|
|
188
|
-
const zoom = clamp(action.zoom, steps[0], steps[steps.length - 1]);
|
|
193
|
+
const zoom = clamp(action.zoom, state.minZoom, state.maxZoom);
|
|
189
194
|
if (state.zoom === zoom && state.zoomMode === "custom")
|
|
190
195
|
return state;
|
|
191
196
|
return { ...state, zoom, zoomMode: "custom" };
|
|
@@ -204,17 +209,19 @@ export function reducer(state, action) {
|
|
|
204
209
|
const steps = state.zoomSteps;
|
|
205
210
|
const currentZoom = state.effectiveZoom ?? state.zoom;
|
|
206
211
|
const nextStep = steps.find((s) => s > currentZoom + 1e-9) ?? steps[steps.length - 1];
|
|
207
|
-
|
|
212
|
+
const clamped = Math.min(nextStep, state.maxZoom);
|
|
213
|
+
if (currentZoom >= clamped - 1e-9 && state.zoomMode === "custom")
|
|
208
214
|
return state;
|
|
209
|
-
return { ...state, zoom:
|
|
215
|
+
return { ...state, zoom: clamped, zoomMode: "custom" };
|
|
210
216
|
}
|
|
211
217
|
case "ZOOM_OUT": {
|
|
212
218
|
const steps = state.zoomSteps;
|
|
213
219
|
const currentZoom = state.effectiveZoom ?? state.zoom;
|
|
214
220
|
const prevStep = [...steps].reverse().find((s) => s < currentZoom - 1e-9) ?? steps[0];
|
|
215
|
-
|
|
221
|
+
const clamped = Math.max(prevStep, state.minZoom);
|
|
222
|
+
if (currentZoom <= clamped + 1e-9 && state.zoomMode === "custom")
|
|
216
223
|
return state;
|
|
217
|
-
return { ...state, zoom:
|
|
224
|
+
return { ...state, zoom: clamped, zoomMode: "custom" };
|
|
218
225
|
}
|
|
219
226
|
case "SET_PAGE_ROTATION": {
|
|
220
227
|
if (state.pageRotation === action.rotation)
|
|
@@ -263,11 +270,18 @@ export function reducer(state, action) {
|
|
|
263
270
|
const newPanel = state.activePanel === action.panel ? null : action.panel;
|
|
264
271
|
if (state.activePanel === newPanel)
|
|
265
272
|
return state;
|
|
273
|
+
// Clear search state when toggling away from search panel
|
|
274
|
+
if (state.activePanel === "search" && newPanel !== "search") {
|
|
275
|
+
return { ...state, activePanel: newPanel, searchQuery: "", searchMatches: [], searchActiveIndex: -1 };
|
|
276
|
+
}
|
|
266
277
|
return { ...state, activePanel: newPanel };
|
|
267
278
|
}
|
|
268
279
|
case "CLOSE_PANEL": {
|
|
269
280
|
if (state.activePanel === null)
|
|
270
281
|
return state;
|
|
282
|
+
if (state.activePanel === "search") {
|
|
283
|
+
return { ...state, activePanel: null, searchQuery: "", searchMatches: [], searchActiveIndex: -1 };
|
|
284
|
+
}
|
|
271
285
|
return { ...state, activePanel: null };
|
|
272
286
|
}
|
|
273
287
|
case "SET_LEFT_PANEL_WIDTH": {
|
|
@@ -314,6 +328,33 @@ export function reducer(state, action) {
|
|
|
314
328
|
return state;
|
|
315
329
|
return { ...state, fullscreenButtonVisible: action.visible };
|
|
316
330
|
}
|
|
331
|
+
case "SET_THEME": {
|
|
332
|
+
if (state.theme === action.theme)
|
|
333
|
+
return state;
|
|
334
|
+
return { ...state, theme: action.theme };
|
|
335
|
+
}
|
|
336
|
+
case "SET_THEME_SWITCHING_DISABLED": {
|
|
337
|
+
if (state.themeSwitchingDisabled === action.disabled)
|
|
338
|
+
return state;
|
|
339
|
+
return { ...state, themeSwitchingDisabled: action.disabled };
|
|
340
|
+
}
|
|
341
|
+
case "SET_TEXT_SELECTION_DISABLED": {
|
|
342
|
+
if (state.textSelectionDisabled === action.disabled)
|
|
343
|
+
return state;
|
|
344
|
+
return { ...state, textSelectionDisabled: action.disabled };
|
|
345
|
+
}
|
|
346
|
+
case "SET_MIN_ZOOM": {
|
|
347
|
+
if (state.minZoom === action.zoom)
|
|
348
|
+
return state;
|
|
349
|
+
const zoom = state.zoom < action.zoom ? action.zoom : state.zoom;
|
|
350
|
+
return { ...state, minZoom: action.zoom, zoom };
|
|
351
|
+
}
|
|
352
|
+
case "SET_MAX_ZOOM": {
|
|
353
|
+
if (state.maxZoom === action.zoom)
|
|
354
|
+
return state;
|
|
355
|
+
const zoom = state.zoom > action.zoom ? action.zoom : state.zoom;
|
|
356
|
+
return { ...state, maxZoom: action.zoom, zoom };
|
|
357
|
+
}
|
|
317
358
|
case "SET_PANEL_DISABLED": {
|
|
318
359
|
const alreadyDisabled = state.disabledPanels.has(action.panel);
|
|
319
360
|
if (alreadyDisabled === action.disabled)
|
|
@@ -350,6 +391,59 @@ export function reducer(state, action) {
|
|
|
350
391
|
return state;
|
|
351
392
|
return { ...state, isFullscreen: action.isFullscreen };
|
|
352
393
|
}
|
|
394
|
+
// Search
|
|
395
|
+
case "SET_SEARCH_QUERY": {
|
|
396
|
+
if (state.searchQuery === action.query)
|
|
397
|
+
return state;
|
|
398
|
+
return { ...state, searchQuery: action.query, searchMatches: [], searchActiveIndex: -1 };
|
|
399
|
+
}
|
|
400
|
+
case "SET_SEARCH_CASE_SENSITIVE": {
|
|
401
|
+
if (state.searchCaseSensitive === action.caseSensitive)
|
|
402
|
+
return state;
|
|
403
|
+
return { ...state, searchCaseSensitive: action.caseSensitive, searchMatches: [], searchActiveIndex: -1 };
|
|
404
|
+
}
|
|
405
|
+
case "SET_SEARCH_MATCHES": {
|
|
406
|
+
return {
|
|
407
|
+
...state,
|
|
408
|
+
searchMatches: action.matches,
|
|
409
|
+
searchActiveIndex: action.matches.length > 0 ? 0 : -1,
|
|
410
|
+
};
|
|
411
|
+
}
|
|
412
|
+
case "SET_SEARCH_ACTIVE_INDEX": {
|
|
413
|
+
const index = action.index;
|
|
414
|
+
if (index < 0 || index >= state.searchMatches.length)
|
|
415
|
+
return state;
|
|
416
|
+
if (state.searchActiveIndex === index)
|
|
417
|
+
return state;
|
|
418
|
+
return { ...state, searchActiveIndex: index };
|
|
419
|
+
}
|
|
420
|
+
case "SEARCH_NEXT": {
|
|
421
|
+
if (state.searchMatches.length === 0)
|
|
422
|
+
return state;
|
|
423
|
+
const next = (state.searchActiveIndex + 1) % state.searchMatches.length;
|
|
424
|
+
return { ...state, searchActiveIndex: next };
|
|
425
|
+
}
|
|
426
|
+
case "SEARCH_PREV": {
|
|
427
|
+
if (state.searchMatches.length === 0)
|
|
428
|
+
return state;
|
|
429
|
+
const prev = (state.searchActiveIndex - 1 + state.searchMatches.length) % state.searchMatches.length;
|
|
430
|
+
return { ...state, searchActiveIndex: prev };
|
|
431
|
+
}
|
|
432
|
+
case "CLEAR_SEARCH": {
|
|
433
|
+
if (state.searchQuery === "" && state.searchMatches.length === 0 && state.searchActiveIndex === -1)
|
|
434
|
+
return state;
|
|
435
|
+
return { ...state, searchQuery: "", searchMatches: [], searchActiveIndex: -1 };
|
|
436
|
+
}
|
|
437
|
+
case "SET_SEARCH_TEXT_LOADING": {
|
|
438
|
+
if (state.searchTextLoading === action.loading)
|
|
439
|
+
return state;
|
|
440
|
+
return { ...state, searchTextLoading: action.loading };
|
|
441
|
+
}
|
|
442
|
+
case "SET_SEARCH_TEXT_LOADED": {
|
|
443
|
+
if (state.searchTextLoaded === action.loaded)
|
|
444
|
+
return state;
|
|
445
|
+
return { ...state, searchTextLoaded: action.loaded };
|
|
446
|
+
}
|
|
353
447
|
// Download progress
|
|
354
448
|
case "SET_DOWNLOAD_PROGRESS": {
|
|
355
449
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../../src/ui/viewer/reducer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../../src/ui/viewer/reducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/search/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/search/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text search algorithm for document viewer.
|
|
3
|
+
*
|
|
4
|
+
* Searches across all loaded page text and returns matches with
|
|
5
|
+
* pre-computed bounding rectangles for highlight rendering.
|
|
6
|
+
*/
|
|
7
|
+
import type { TextRun } from "../text/types";
|
|
8
|
+
import type { SearchMatch } from "../state";
|
|
9
|
+
/**
|
|
10
|
+
* Execute text search across all loaded pages.
|
|
11
|
+
*
|
|
12
|
+
* @param query - Search string
|
|
13
|
+
* @param caseSensitive - Whether to match case
|
|
14
|
+
* @param pageText - Map of page index to text runs
|
|
15
|
+
* @param pageCount - Total number of pages
|
|
16
|
+
* @returns Array of search matches with pre-computed highlight rects
|
|
17
|
+
*/
|
|
18
|
+
export declare function executeSearch(query: string, caseSensitive: boolean, pageText: Map<number, TextRun[]>, pageCount: number): SearchMatch[];
|
|
19
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/search/search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAkG5C;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CACzB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,EACtB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAChC,SAAS,EAAE,MAAM,GAClB,WAAW,EAAE,CAkCf"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/** Trim text to at most the last n whitespace-separated words. */
|
|
2
|
+
function trimToLastNWords(text, n) {
|
|
3
|
+
const words = text.split(/\s+/).filter((w) => w.length > 0);
|
|
4
|
+
if (words.length <= n)
|
|
5
|
+
return text;
|
|
6
|
+
return words.slice(-n).join(" ");
|
|
7
|
+
}
|
|
8
|
+
/** Trim text to at most the first n whitespace-separated words. */
|
|
9
|
+
function trimToFirstNWords(text, n) {
|
|
10
|
+
const words = text.split(/\s+/).filter((w) => w.length > 0);
|
|
11
|
+
if (words.length <= n)
|
|
12
|
+
return text;
|
|
13
|
+
return words.slice(0, n).join(" ");
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Build a flat text string from text runs, with a mapping from each
|
|
17
|
+
* character position back to its source TextRun and glyph index.
|
|
18
|
+
*/
|
|
19
|
+
function buildPageTextMap(runs) {
|
|
20
|
+
let fullText = "";
|
|
21
|
+
const charMap = [];
|
|
22
|
+
for (const run of runs) {
|
|
23
|
+
const text = run.text ?? "";
|
|
24
|
+
if (!text || run.glyphs.length === 0)
|
|
25
|
+
continue;
|
|
26
|
+
for (let i = 0; i < text.length; i++) {
|
|
27
|
+
const glyphIndex = Math.min(i, run.glyphs.length - 1);
|
|
28
|
+
charMap.push({ run, glyphIndex });
|
|
29
|
+
}
|
|
30
|
+
fullText += text;
|
|
31
|
+
}
|
|
32
|
+
return { fullText, charMap };
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Convert character offset + length to bounding rectangles in PDF points.
|
|
36
|
+
* Groups adjacent glyphs on the same line into merged rects.
|
|
37
|
+
*/
|
|
38
|
+
function computeMatchRects(charMap, offset, length) {
|
|
39
|
+
const rects = [];
|
|
40
|
+
let currentRun = null;
|
|
41
|
+
let rectStartX = 0;
|
|
42
|
+
let rectEndX = 0;
|
|
43
|
+
let rectY = 0;
|
|
44
|
+
let rectHeight = 0;
|
|
45
|
+
for (let i = offset; i < offset + length && i < charMap.length; i++) {
|
|
46
|
+
const { run, glyphIndex } = charMap[i];
|
|
47
|
+
const glyph = run.glyphs[glyphIndex];
|
|
48
|
+
const transform = run.transform;
|
|
49
|
+
const effectiveScaleX = Math.sqrt(transform.scaleX ** 2 + transform.skewY ** 2);
|
|
50
|
+
const effectiveScaleY = Math.sqrt(transform.scaleY ** 2 + transform.skewX ** 2);
|
|
51
|
+
const fontSize = run.fontSize * effectiveScaleY;
|
|
52
|
+
// Glyph position in page space (PDF points)
|
|
53
|
+
const glyphX = transform.translateX + glyph.x * effectiveScaleX;
|
|
54
|
+
const glyphWidth = glyph.advance * effectiveScaleX;
|
|
55
|
+
const glyphY = transform.translateY - fontSize * 0.8; // ascent approximation
|
|
56
|
+
const glyphHeight = fontSize;
|
|
57
|
+
if (currentRun === run && Math.abs(glyphY - rectY) < fontSize * 0.3) {
|
|
58
|
+
// Same run and same line: extend current rect
|
|
59
|
+
rectEndX = glyphX + glyphWidth;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// New run or new line: flush previous rect and start new one
|
|
63
|
+
if (currentRun !== null) {
|
|
64
|
+
rects.push({ x: rectStartX, y: rectY, width: rectEndX - rectStartX, height: rectHeight });
|
|
65
|
+
}
|
|
66
|
+
currentRun = run;
|
|
67
|
+
rectStartX = glyphX;
|
|
68
|
+
rectEndX = glyphX + glyphWidth;
|
|
69
|
+
rectY = glyphY;
|
|
70
|
+
rectHeight = glyphHeight;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Flush last rect
|
|
74
|
+
if (currentRun !== null) {
|
|
75
|
+
rects.push({ x: rectStartX, y: rectY, width: rectEndX - rectStartX, height: rectHeight });
|
|
76
|
+
}
|
|
77
|
+
return rects;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Execute text search across all loaded pages.
|
|
81
|
+
*
|
|
82
|
+
* @param query - Search string
|
|
83
|
+
* @param caseSensitive - Whether to match case
|
|
84
|
+
* @param pageText - Map of page index to text runs
|
|
85
|
+
* @param pageCount - Total number of pages
|
|
86
|
+
* @returns Array of search matches with pre-computed highlight rects
|
|
87
|
+
*/
|
|
88
|
+
export function executeSearch(query, caseSensitive, pageText, pageCount) {
|
|
89
|
+
if (!query.trim())
|
|
90
|
+
return [];
|
|
91
|
+
const matches = [];
|
|
92
|
+
const searchQuery = caseSensitive ? query : query.toLowerCase();
|
|
93
|
+
for (let pageIndex = 0; pageIndex < pageCount; pageIndex++) {
|
|
94
|
+
const runs = pageText.get(pageIndex);
|
|
95
|
+
if (!runs || runs.length === 0)
|
|
96
|
+
continue;
|
|
97
|
+
const { fullText, charMap } = buildPageTextMap(runs);
|
|
98
|
+
const compareText = caseSensitive ? fullText : fullText.toLowerCase();
|
|
99
|
+
let searchStart = 0;
|
|
100
|
+
while (searchStart < compareText.length) {
|
|
101
|
+
const idx = compareText.indexOf(searchQuery, searchStart);
|
|
102
|
+
if (idx === -1)
|
|
103
|
+
break;
|
|
104
|
+
const rects = computeMatchRects(charMap, idx, searchQuery.length);
|
|
105
|
+
// Build context snippet: min(30 chars, 3 words) before and after
|
|
106
|
+
const rawBefore = fullText.substring(Math.max(0, idx - 30), idx);
|
|
107
|
+
const rawAfter = fullText.substring(idx + searchQuery.length, idx + searchQuery.length + 30);
|
|
108
|
+
const before = trimToLastNWords(rawBefore, 3);
|
|
109
|
+
const matched = fullText.substring(idx, idx + searchQuery.length);
|
|
110
|
+
const after = trimToFirstNWords(rawAfter, 3);
|
|
111
|
+
const beforePrefix = idx > before.length ? "\u2026" : "";
|
|
112
|
+
const afterSuffix = idx + searchQuery.length + after.length < fullText.length ? "\u2026" : "";
|
|
113
|
+
const context = [beforePrefix + before, matched, after + afterSuffix];
|
|
114
|
+
matches.push({ pageIndex, charOffset: idx, length: searchQuery.length, rects, context });
|
|
115
|
+
searchStart = idx + 1;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return matches;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/search/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,EAAa,MAAM,SAAS,CAAC;AAChE,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,EACjC,eAAe,UAAO,GACvB,WAAW,CAuLb"}
|
|
@@ -69,8 +69,49 @@ export function mountViewerShell(root, engine, workerClient, overrides, showAttr
|
|
|
69
69
|
store.dispatch({ type: "CLOSE_PANEL" });
|
|
70
70
|
};
|
|
71
71
|
panelOverlay.addEventListener("click", handleOverlayClick);
|
|
72
|
-
//
|
|
73
|
-
|
|
72
|
+
// Ctrl+F / Cmd+F to open search panel
|
|
73
|
+
const handleKeyDown = (e) => {
|
|
74
|
+
if ((e.ctrlKey || e.metaKey) && e.key === "f") {
|
|
75
|
+
e.preventDefault();
|
|
76
|
+
const state = store.getState();
|
|
77
|
+
if (state.activePanel !== "search") {
|
|
78
|
+
store.dispatch({ type: "TOGGLE_PANEL", panel: "search" });
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
layout.addEventListener("keydown", handleKeyDown);
|
|
83
|
+
// Theme management
|
|
84
|
+
function resolveIsDark(theme) {
|
|
85
|
+
if (theme === "dark")
|
|
86
|
+
return true;
|
|
87
|
+
if (theme === "light")
|
|
88
|
+
return false;
|
|
89
|
+
return window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
90
|
+
}
|
|
91
|
+
function applyThemeClass(isDark) {
|
|
92
|
+
layout.classList.toggle("udoc-viewer-dark", isDark);
|
|
93
|
+
}
|
|
94
|
+
let systemDarkQuery = null;
|
|
95
|
+
let systemDarkHandler = null;
|
|
96
|
+
function setupSystemListener() {
|
|
97
|
+
systemDarkQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
98
|
+
systemDarkHandler = (e) => applyThemeClass(e.matches);
|
|
99
|
+
systemDarkQuery.addEventListener("change", systemDarkHandler);
|
|
100
|
+
}
|
|
101
|
+
function cleanupSystemListener() {
|
|
102
|
+
if (systemDarkQuery && systemDarkHandler) {
|
|
103
|
+
systemDarkQuery.removeEventListener("change", systemDarkHandler);
|
|
104
|
+
systemDarkQuery = null;
|
|
105
|
+
systemDarkHandler = null;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// Apply initial theme
|
|
109
|
+
applyThemeClass(resolveIsDark(mergedInitialState.theme));
|
|
110
|
+
if (mergedInitialState.theme === "system") {
|
|
111
|
+
setupSystemListener();
|
|
112
|
+
}
|
|
113
|
+
// Subscribe to panel state to toggle udoc-panel-open class,
|
|
114
|
+
// toolbar slot visibility, and theme changes
|
|
74
115
|
const unsubPanelClass = store.subscribeRender((prev, next) => {
|
|
75
116
|
if ((prev.activePanel === null) !== (next.activePanel === null)) {
|
|
76
117
|
layout.classList.toggle("udoc-panel-open", next.activePanel !== null);
|
|
@@ -78,16 +119,32 @@ export function mountViewerShell(root, engine, workerClient, overrides, showAttr
|
|
|
78
119
|
if (prev.toolbarVisible !== next.toolbarVisible) {
|
|
79
120
|
toolbarSlot.style.display = next.toolbarVisible ? "" : "none";
|
|
80
121
|
}
|
|
122
|
+
if (prev.theme !== next.theme) {
|
|
123
|
+
if (prev.theme === "system")
|
|
124
|
+
cleanupSystemListener();
|
|
125
|
+
if (next.theme === "system")
|
|
126
|
+
setupSystemListener();
|
|
127
|
+
applyThemeClass(resolveIsDark(next.theme));
|
|
128
|
+
}
|
|
129
|
+
if (prev.textSelectionDisabled !== next.textSelectionDisabled) {
|
|
130
|
+
layout.classList.toggle("udoc-viewer--no-text-select", next.textSelectionDisabled);
|
|
131
|
+
}
|
|
81
132
|
});
|
|
82
133
|
// Apply initial toolbar visibility
|
|
83
134
|
if (!mergedInitialState.toolbarVisible) {
|
|
84
135
|
toolbarSlot.style.display = "none";
|
|
85
136
|
}
|
|
137
|
+
// Apply initial text selection state
|
|
138
|
+
if (mergedInitialState.textSelectionDisabled) {
|
|
139
|
+
layout.classList.add("udoc-viewer--no-text-select");
|
|
140
|
+
}
|
|
86
141
|
store.dispatch({ type: "__INIT__" });
|
|
87
142
|
function setCallbacks(newCallbacks) {
|
|
88
143
|
callbacks = { ...callbacks, ...newCallbacks };
|
|
89
144
|
}
|
|
90
145
|
function destroy() {
|
|
146
|
+
cleanupSystemListener();
|
|
147
|
+
layout.removeEventListener("keydown", handleKeyDown);
|
|
91
148
|
panelOverlay.removeEventListener("click", handleOverlayClick);
|
|
92
149
|
unsubPanelClass();
|
|
93
150
|
effects.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../../src/ui/viewer/shell.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../../src/ui/viewer/shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,24 @@ import type { OutlineItem, NavigationTarget } from "./navigation";
|
|
|
2
2
|
import type { Annotation } from "./annotation";
|
|
3
3
|
import type { TextRun } from "./text";
|
|
4
4
|
import type { PageInfo } from "../../worker/index.js";
|
|
5
|
+
/** A single search match with its location and geometry. */
|
|
6
|
+
export interface SearchMatch {
|
|
7
|
+
/** 0-based page index. */
|
|
8
|
+
pageIndex: number;
|
|
9
|
+
/** Character offset within the concatenated page text. */
|
|
10
|
+
charOffset: number;
|
|
11
|
+
/** Length of the matched text. */
|
|
12
|
+
length: number;
|
|
13
|
+
/** Bounding rectangles for this match (in PDF points, for highlight rendering). */
|
|
14
|
+
rects: Array<{
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
}>;
|
|
20
|
+
/** Context snippet: [before, match, after] text for display in result list. */
|
|
21
|
+
context: [string, string, string];
|
|
22
|
+
}
|
|
5
23
|
export type LeftPanelTab = "thumbnail" | "outline" | "bookmarks" | "layers" | "attachments";
|
|
6
24
|
export type RightPanelTab = "search" | "comments";
|
|
7
25
|
export type PanelTab = LeftPanelTab | RightPanelTab;
|
|
@@ -11,8 +29,9 @@ export type LayoutMode = "single-page" | "double-page" | "double-page-odd-right"
|
|
|
11
29
|
export type ZoomMode = "fit-spread-width" | "fit-spread-width-max" | "fit-spread-height" | "fit-spread" | "custom";
|
|
12
30
|
export type PageRotation = 0 | 90 | 180 | 270;
|
|
13
31
|
export type SpacingMode = "all" | "none" | "spread-only" | "page-only";
|
|
32
|
+
export type ThemeMode = "light" | "dark" | "system";
|
|
14
33
|
/** Document format as detected during loading */
|
|
15
|
-
export type DocumentFormat = "pdf" | "pptx" | "image";
|
|
34
|
+
export type DocumentFormat = "pdf" | "pptx" | "docx" | "image";
|
|
16
35
|
/** Subset of view mode state that can be overridden per format */
|
|
17
36
|
export interface ViewModeDefaults {
|
|
18
37
|
scrollMode?: ScrollMode;
|
|
@@ -96,6 +115,16 @@ export interface ViewerState {
|
|
|
96
115
|
disabledPanels: ReadonlySet<PanelTab>;
|
|
97
116
|
/** Whether the fullscreen button is visible in the toolbar */
|
|
98
117
|
fullscreenButtonVisible: boolean;
|
|
118
|
+
/** Current color theme mode */
|
|
119
|
+
theme: ThemeMode;
|
|
120
|
+
/** Whether the theme toggle button is hidden */
|
|
121
|
+
themeSwitchingDisabled: boolean;
|
|
122
|
+
/** Whether text selection is disabled */
|
|
123
|
+
textSelectionDisabled: boolean;
|
|
124
|
+
/** Minimum zoom level */
|
|
125
|
+
minZoom: number;
|
|
126
|
+
/** Maximum zoom level */
|
|
127
|
+
maxZoom: number;
|
|
99
128
|
/** Currently highlighted annotation (null = none) */
|
|
100
129
|
highlightedAnnotation: {
|
|
101
130
|
pageIndex: number;
|
|
@@ -108,6 +137,18 @@ export interface ViewerState {
|
|
|
108
137
|
} | null;
|
|
109
138
|
/** Whether the viewer is in fullscreen mode */
|
|
110
139
|
isFullscreen: boolean;
|
|
140
|
+
/** Current search query string */
|
|
141
|
+
searchQuery: string;
|
|
142
|
+
/** Whether search is case-sensitive */
|
|
143
|
+
searchCaseSensitive: boolean;
|
|
144
|
+
/** All search matches across all pages */
|
|
145
|
+
searchMatches: SearchMatch[];
|
|
146
|
+
/** Index of the currently active/focused match (-1 = none) */
|
|
147
|
+
searchActiveIndex: number;
|
|
148
|
+
/** Whether all page text has been loaded for search */
|
|
149
|
+
searchTextLoaded: boolean;
|
|
150
|
+
/** Whether search text is currently being loaded */
|
|
151
|
+
searchTextLoading: boolean;
|
|
111
152
|
/** Whether document is currently being downloaded */
|
|
112
153
|
isDownloading: boolean;
|
|
113
154
|
/** Download progress: loaded bytes */
|