@docmentis/udoc-viewer 0.5.17 → 0.5.19

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 (125) hide show
  1. package/README.md +247 -128
  2. package/dist/package.json +5 -2
  3. package/dist/src/UDocClient.d.ts +69 -0
  4. package/dist/src/UDocClient.d.ts.map +1 -1
  5. package/dist/src/UDocClient.js +6 -7
  6. package/dist/src/UDocClient.js.map +1 -1
  7. package/dist/src/UDocViewer.d.ts +119 -1
  8. package/dist/src/UDocViewer.d.ts.map +1 -1
  9. package/dist/src/UDocViewer.js +328 -9
  10. package/dist/src/UDocViewer.js.map +1 -1
  11. package/dist/src/fonts.d.ts.map +1 -1
  12. package/dist/src/fonts.js.map +1 -1
  13. package/dist/src/index.d.ts +3 -2
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js.map +1 -1
  16. package/dist/src/meta-url.js.map +1 -1
  17. package/dist/src/performance/PerformanceCounter.d.ts.map +1 -1
  18. package/dist/src/performance/PerformanceCounter.js.map +1 -1
  19. package/dist/src/performance/index.d.ts.map +1 -1
  20. package/dist/src/performance/index.js.map +1 -1
  21. package/dist/src/ui/framework/component.d.ts.map +1 -1
  22. package/dist/src/ui/framework/component.js.map +1 -1
  23. package/dist/src/ui/framework/selectors.d.ts.map +1 -1
  24. package/dist/src/ui/framework/selectors.js +1 -3
  25. package/dist/src/ui/framework/selectors.js.map +1 -1
  26. package/dist/src/ui/framework/store.d.ts.map +1 -1
  27. package/dist/src/ui/framework/store.js.map +1 -1
  28. package/dist/src/ui/viewer/actions.d.ts +19 -0
  29. package/dist/src/ui/viewer/actions.d.ts.map +1 -1
  30. package/dist/src/ui/viewer/annotation/LinkRenderer.d.ts.map +1 -1
  31. package/dist/src/ui/viewer/annotation/LinkRenderer.js.map +1 -1
  32. package/dist/src/ui/viewer/annotation/MarkupRenderer.d.ts.map +1 -1
  33. package/dist/src/ui/viewer/annotation/MarkupRenderer.js +1 -3
  34. package/dist/src/ui/viewer/annotation/MarkupRenderer.js.map +1 -1
  35. package/dist/src/ui/viewer/annotation/ShapeRenderer.d.ts.map +1 -1
  36. package/dist/src/ui/viewer/annotation/ShapeRenderer.js +12 -18
  37. package/dist/src/ui/viewer/annotation/ShapeRenderer.js.map +1 -1
  38. package/dist/src/ui/viewer/annotation/TextRenderer.d.ts.map +1 -1
  39. package/dist/src/ui/viewer/annotation/TextRenderer.js +2 -2
  40. package/dist/src/ui/viewer/annotation/TextRenderer.js.map +1 -1
  41. package/dist/src/ui/viewer/annotation/index.d.ts +2 -2
  42. package/dist/src/ui/viewer/annotation/index.d.ts.map +1 -1
  43. package/dist/src/ui/viewer/annotation/index.js +1 -1
  44. package/dist/src/ui/viewer/annotation/index.js.map +1 -1
  45. package/dist/src/ui/viewer/annotation/render.d.ts.map +1 -1
  46. package/dist/src/ui/viewer/annotation/render.js.map +1 -1
  47. package/dist/src/ui/viewer/annotation/types.d.ts.map +1 -1
  48. package/dist/src/ui/viewer/annotation/utils.d.ts.map +1 -1
  49. package/dist/src/ui/viewer/annotation/utils.js +2 -2
  50. package/dist/src/ui/viewer/annotation/utils.js.map +1 -1
  51. package/dist/src/ui/viewer/components/AnnotationPanel.d.ts.map +1 -1
  52. package/dist/src/ui/viewer/components/AnnotationPanel.js +9 -13
  53. package/dist/src/ui/viewer/components/AnnotationPanel.js.map +1 -1
  54. package/dist/src/ui/viewer/components/FloatingToolbar.d.ts.map +1 -1
  55. package/dist/src/ui/viewer/components/FloatingToolbar.js +12 -10
  56. package/dist/src/ui/viewer/components/FloatingToolbar.js.map +1 -1
  57. package/dist/src/ui/viewer/components/LeftPanel.d.ts.map +1 -1
  58. package/dist/src/ui/viewer/components/LeftPanel.js +16 -3
  59. package/dist/src/ui/viewer/components/LeftPanel.js.map +1 -1
  60. package/dist/src/ui/viewer/components/OutlinePanel.d.ts.map +1 -1
  61. package/dist/src/ui/viewer/components/OutlinePanel.js +3 -3
  62. package/dist/src/ui/viewer/components/OutlinePanel.js.map +1 -1
  63. package/dist/src/ui/viewer/components/PasswordDialog.d.ts.map +1 -1
  64. package/dist/src/ui/viewer/components/PasswordDialog.js.map +1 -1
  65. package/dist/src/ui/viewer/components/RightPanel.d.ts.map +1 -1
  66. package/dist/src/ui/viewer/components/RightPanel.js +13 -3
  67. package/dist/src/ui/viewer/components/RightPanel.js.map +1 -1
  68. package/dist/src/ui/viewer/components/Spread.d.ts.map +1 -1
  69. package/dist/src/ui/viewer/components/Spread.js +10 -13
  70. package/dist/src/ui/viewer/components/Spread.js.map +1 -1
  71. package/dist/src/ui/viewer/components/ThumbnailPanel.d.ts.map +1 -1
  72. package/dist/src/ui/viewer/components/ThumbnailPanel.js +5 -5
  73. package/dist/src/ui/viewer/components/ThumbnailPanel.js.map +1 -1
  74. package/dist/src/ui/viewer/components/Toolbar.d.ts.map +1 -1
  75. package/dist/src/ui/viewer/components/Toolbar.js +320 -18
  76. package/dist/src/ui/viewer/components/Toolbar.js.map +1 -1
  77. package/dist/src/ui/viewer/components/ViewModeMenu.d.ts.map +1 -1
  78. package/dist/src/ui/viewer/components/ViewModeMenu.js +7 -7
  79. package/dist/src/ui/viewer/components/ViewModeMenu.js.map +1 -1
  80. package/dist/src/ui/viewer/components/Viewport.d.ts +1 -1
  81. package/dist/src/ui/viewer/components/Viewport.d.ts.map +1 -1
  82. package/dist/src/ui/viewer/components/Viewport.js +140 -130
  83. package/dist/src/ui/viewer/components/Viewport.js.map +1 -1
  84. package/dist/src/ui/viewer/effects.d.ts.map +1 -1
  85. package/dist/src/ui/viewer/effects.js +5 -8
  86. package/dist/src/ui/viewer/effects.js.map +1 -1
  87. package/dist/src/ui/viewer/layout/spreadLayout.d.ts.map +1 -1
  88. package/dist/src/ui/viewer/layout/spreadLayout.js +11 -13
  89. package/dist/src/ui/viewer/layout/spreadLayout.js.map +1 -1
  90. package/dist/src/ui/viewer/navigation.d.ts.map +1 -1
  91. package/dist/src/ui/viewer/navigation.js +1 -1
  92. package/dist/src/ui/viewer/navigation.js.map +1 -1
  93. package/dist/src/ui/viewer/reducer.d.ts.map +1 -1
  94. package/dist/src/ui/viewer/reducer.js +73 -13
  95. package/dist/src/ui/viewer/reducer.js.map +1 -1
  96. package/dist/src/ui/viewer/shell.d.ts +1 -1
  97. package/dist/src/ui/viewer/shell.d.ts.map +1 -1
  98. package/dist/src/ui/viewer/shell.js +13 -4
  99. package/dist/src/ui/viewer/shell.js.map +1 -1
  100. package/dist/src/ui/viewer/state.d.ts +12 -0
  101. package/dist/src/ui/viewer/state.d.ts.map +1 -1
  102. package/dist/src/ui/viewer/state.js +6 -0
  103. package/dist/src/ui/viewer/state.js.map +1 -1
  104. package/dist/src/ui/viewer/styles-inline.d.ts +1 -1
  105. package/dist/src/ui/viewer/styles-inline.d.ts.map +1 -1
  106. package/dist/src/ui/viewer/styles-inline.js +81 -1
  107. package/dist/src/ui/viewer/styles-inline.js.map +1 -1
  108. package/dist/src/ui/viewer/text/render.d.ts.map +1 -1
  109. package/dist/src/ui/viewer/text/render.js +1 -2
  110. package/dist/src/ui/viewer/text/render.js.map +1 -1
  111. package/dist/src/ui/viewer/text/selection.d.ts.map +1 -1
  112. package/dist/src/ui/viewer/text/selection.js +1 -2
  113. package/dist/src/ui/viewer/text/selection.js.map +1 -1
  114. package/dist/src/ui/viewer/text/types.d.ts.map +1 -1
  115. package/dist/src/wasm/udoc_bg.wasm +0 -0
  116. package/dist/src/worker/WorkerClient.d.ts +1 -1
  117. package/dist/src/worker/WorkerClient.d.ts.map +1 -1
  118. package/dist/src/worker/WorkerClient.js +19 -20
  119. package/dist/src/worker/WorkerClient.js.map +1 -1
  120. package/dist/src/worker/index.d.ts.map +1 -1
  121. package/dist/src/worker/worker-inline.js +1 -1
  122. package/dist/src/worker/worker.d.ts.map +1 -1
  123. package/dist/src/worker/worker.js +10 -2
  124. package/dist/src/worker/worker.js.map +1 -1
  125. package/package.json +57 -54
@@ -1,6 +1,6 @@
1
1
  import { subscribeSelector } from "../../framework/selectors";
2
2
  import { on } from "../../framework/events";
3
- import { ICON_VIEW_MODE, ICON_SCROLL_SPREAD, ICON_SCROLL_CONTINUOUS, ICON_LAYOUT_SINGLE, ICON_LAYOUT_DOUBLE, ICON_LAYOUT_DOUBLE_ODD_RIGHT, ICON_LAYOUT_DOUBLE_ODD_LEFT, ICON_ROTATE_0, ICON_ROTATE_90, ICON_ROTATE_180, ICON_ROTATE_270, ICON_SPACING_ALL, ICON_SPACING_NONE, ICON_SPACING_SPREAD, ICON_SPACING_PAGE } from "../icons";
3
+ import { ICON_VIEW_MODE, ICON_SCROLL_SPREAD, ICON_SCROLL_CONTINUOUS, ICON_LAYOUT_SINGLE, ICON_LAYOUT_DOUBLE, ICON_LAYOUT_DOUBLE_ODD_RIGHT, ICON_LAYOUT_DOUBLE_ODD_LEFT, ICON_ROTATE_0, ICON_ROTATE_90, ICON_ROTATE_180, ICON_ROTATE_270, ICON_SPACING_ALL, ICON_SPACING_NONE, ICON_SPACING_SPREAD, ICON_SPACING_PAGE, } from "../icons";
4
4
  function sliceEqual(a, b) {
5
5
  return (a.scrollMode === b.scrollMode &&
6
6
  a.layoutMode === b.layoutMode &&
@@ -9,25 +9,25 @@ function sliceEqual(a, b) {
9
9
  }
10
10
  const SCROLL_OPTIONS = [
11
11
  { value: "spread", icon: ICON_SCROLL_SPREAD, label: "Spread" },
12
- { value: "continuous", icon: ICON_SCROLL_CONTINUOUS, label: "Continuous" }
12
+ { value: "continuous", icon: ICON_SCROLL_CONTINUOUS, label: "Continuous" },
13
13
  ];
14
14
  const LAYOUT_OPTIONS = [
15
15
  { value: "single-page", icon: ICON_LAYOUT_SINGLE, label: "Single" },
16
16
  { value: "double-page", icon: ICON_LAYOUT_DOUBLE, label: "Double" },
17
17
  { value: "double-page-odd-right", icon: ICON_LAYOUT_DOUBLE_ODD_RIGHT, label: "Cover Right" },
18
- { value: "double-page-odd-left", icon: ICON_LAYOUT_DOUBLE_ODD_LEFT, label: "Cover Left" }
18
+ { value: "double-page-odd-left", icon: ICON_LAYOUT_DOUBLE_ODD_LEFT, label: "Cover Left" },
19
19
  ];
20
20
  const ROTATION_OPTIONS = [
21
21
  { value: 0, icon: ICON_ROTATE_0, label: "0°" },
22
22
  { value: 90, icon: ICON_ROTATE_90, label: "90°" },
23
23
  { value: 180, icon: ICON_ROTATE_180, label: "180°" },
24
- { value: 270, icon: ICON_ROTATE_270, label: "270°" }
24
+ { value: 270, icon: ICON_ROTATE_270, label: "270°" },
25
25
  ];
26
26
  const SPACING_OPTIONS = [
27
27
  { value: "all", icon: ICON_SPACING_ALL, label: "All" },
28
28
  { value: "none", icon: ICON_SPACING_NONE, label: "None" },
29
29
  { value: "spread-only", icon: ICON_SPACING_SPREAD, label: "Spread" },
30
- { value: "page-only", icon: ICON_SPACING_PAGE, label: "Page" }
30
+ { value: "page-only", icon: ICON_SPACING_PAGE, label: "Page" },
31
31
  ];
32
32
  export function createViewModeMenu() {
33
33
  const el = document.createElement("div");
@@ -152,7 +152,7 @@ export function createViewModeMenu() {
152
152
  applyState(selectSlice(store.getState()));
153
153
  // Subscribe to changes
154
154
  unsub = subscribeSelector(store, selectSlice, applyState, {
155
- equality: sliceEqual
155
+ equality: sliceEqual,
156
156
  });
157
157
  }
158
158
  function destroy() {
@@ -172,7 +172,7 @@ function selectSlice(state) {
172
172
  scrollMode: state.scrollMode,
173
173
  layoutMode: state.layoutMode,
174
174
  pageRotation: state.pageRotation,
175
- spacingMode: state.spacingMode
175
+ spacingMode: state.spacingMode,
176
176
  };
177
177
  }
178
178
  //# sourceMappingURL=ViewModeMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewModeMenu.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/ViewModeMenu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewModeMenu.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/ViewModeMenu.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { Store } from "../../framework/store";
2
2
  import { type ViewerState } from "../state";
3
3
  import type { Action } from "../actions";
4
4
  import type { WorkerClient } from "../../../worker/index.js";
5
- export declare function createViewport(): {
5
+ export declare function createViewport(showAttribution?: boolean): {
6
6
  el: HTMLDivElement;
7
7
  mount: (parent: HTMLElement, store: Store<ViewerState, Action>, wc: WorkerClient) => void;
8
8
  destroy: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/Viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAEH,KAAK,WAAW,EAOnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAwZ7D,wBAAgB,cAAc;;oBAoKH,WAAW,SAAS,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,YAAY,KAAG,IAAI;mBAguB1E,IAAI;EAsB3B"}
1
+ {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/Viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAEH,KAAK,WAAW,EAOnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA6Y7D,wBAAgB,cAAc,CAAC,eAAe,UAAO;;oBAyK1B,WAAW,SAAS,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,YAAY,KAAG,IAAI;mBA+sB1E,IAAI;EAsB3B"}
@@ -1,7 +1,7 @@
1
1
  import { subscribeSelector } from "../../framework/selectors";
2
- import { getPointsToPixels } from "../state";
2
+ import { getPointsToPixels, } from "../state";
3
3
  import { showAnnotationPopup, closeAnnotationPopup } from "../annotation";
4
- import { calculateSpreads, calculateSpreadLayouts, findSpreadForPage, findVisibleSpreadRange, getSpreadPrimaryPage, getSpreadDimensions } from "../layout/spreadLayout";
4
+ import { calculateSpreads, calculateSpreadLayouts, findSpreadForPage, findVisibleSpreadRange, getSpreadPrimaryPage, getSpreadDimensions, } from "../layout/spreadLayout";
5
5
  import { createSpread } from "./Spread";
6
6
  import { createFloatingToolbar } from "./FloatingToolbar";
7
7
  import { on } from "../../framework/events";
@@ -36,7 +36,7 @@ function readInsets(style) {
36
36
  top: parsePixel(style.paddingTop),
37
37
  right: parsePixel(style.paddingRight),
38
38
  bottom: parsePixel(style.paddingBottom),
39
- left: parsePixel(style.paddingLeft)
39
+ left: parsePixel(style.paddingLeft),
40
40
  };
41
41
  }
42
42
  function addInsets(a, b) {
@@ -44,7 +44,7 @@ function addInsets(a, b) {
44
44
  top: a.top + b.top,
45
45
  right: a.right + b.right,
46
46
  bottom: a.bottom + b.bottom,
47
- left: a.left + b.left
47
+ left: a.left + b.left,
48
48
  };
49
49
  }
50
50
  function readViewportMetrics(scrollArea, container) {
@@ -60,7 +60,7 @@ function readViewportMetrics(scrollArea, container) {
60
60
  height,
61
61
  innerWidth,
62
62
  innerHeight,
63
- padding
63
+ padding,
64
64
  };
65
65
  }
66
66
  function metricsEqual(a, b) {
@@ -217,7 +217,7 @@ function buildLayout(slice, metrics, scrollbarVisible) {
217
217
  layouts: layout.layouts,
218
218
  contentWidth: layout.contentWidth,
219
219
  contentHeight: layout.contentHeight,
220
- scale
220
+ scale,
221
221
  };
222
222
  }
223
223
  function computeViewportUpdate(prevSlice, nextSlice, prevMetrics, nextMetrics) {
@@ -251,10 +251,10 @@ function computeViewportUpdate(prevSlice, nextSlice, prevMetrics, nextMetrics) {
251
251
  layoutChanged,
252
252
  shouldClearSpreads,
253
253
  shouldRestorePosition,
254
- shouldScrollToPage
254
+ shouldScrollToPage,
255
255
  };
256
256
  }
257
- export function createViewport() {
257
+ export function createViewport(showAttribution = true) {
258
258
  const el = document.createElement("div");
259
259
  el.className = "udoc-viewport";
260
260
  const scrollArea = document.createElement("div");
@@ -263,118 +263,122 @@ export function createViewport() {
263
263
  const container = document.createElement("div");
264
264
  container.className = "udoc-viewport__container";
265
265
  scrollArea.appendChild(container);
266
- // Watermark with tamper protection - random class name on each instantiation
267
- const wmClass = "_" + Math.random().toString(36).slice(2, 10) + Math.random().toString(36).slice(2, 10);
268
- const wmHref = "https://docmentis.com";
269
- const wmText = "Powered by docMentis";
270
- const wmAttrs = { target: "_blank", rel: "noopener" };
271
- // Inject dynamic styles for the random class name
272
- const wmStyle = document.createElement("style");
273
- wmStyle.textContent = `
274
- .${wmClass} {
275
- position: absolute;
276
- right: 18px;
277
- bottom: 4px;
278
- padding: 2px 6px;
279
- font-size: 12px;
280
- font-weight: 500;
281
- color: rgba(0, 0, 0, 0.3);
282
- text-decoration: none;
283
- text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);
284
- z-index: 10;
285
- transition: color 0.15s ease;
286
- }
287
- .${wmClass}:hover {
288
- color: rgba(0, 0, 0, 0.6);
289
- }
290
- @media (max-width: 768px) {
291
- .${wmClass} {
292
- bottom: 48px;
293
- right: 10px;
294
- font-size: 11px;
266
+ // Attribution with tamper protection (skipped for licensed users)
267
+ let attrObserver = null;
268
+ let attrIntegrityCheck = null;
269
+ if (showAttribution) {
270
+ const attrClass = "_" + Math.random().toString(36).slice(2, 10) + Math.random().toString(36).slice(2, 10);
271
+ const attrHref = "https://docmentis.com";
272
+ const attrText = "Powered by docMentis";
273
+ const attrLinkAttrs = { target: "_blank", rel: "noopener" };
274
+ // Inject dynamic styles for the random class name
275
+ const attrStyle = document.createElement("style");
276
+ attrStyle.textContent = `
277
+ .${attrClass} {
278
+ position: absolute;
279
+ right: 18px;
280
+ bottom: 4px;
281
+ padding: 2px 6px;
282
+ font-size: 12px;
283
+ font-weight: 500;
284
+ color: rgba(0, 0, 0, 0.3);
285
+ text-decoration: none;
286
+ text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);
287
+ z-index: 10;
288
+ transition: color 0.15s ease;
295
289
  }
290
+ .${attrClass}:hover {
291
+ color: rgba(0, 0, 0, 0.6);
292
+ }
293
+ @media (max-width: 768px) {
294
+ .${attrClass} {
295
+ bottom: 48px;
296
+ right: 10px;
297
+ font-size: 11px;
298
+ }
299
+ }
300
+ `;
301
+ el.appendChild(attrStyle);
302
+ function createAttribution() {
303
+ const el2 = document.createElement("a");
304
+ el2.className = attrClass;
305
+ el2.href = attrHref;
306
+ el2.target = attrLinkAttrs.target;
307
+ el2.rel = attrLinkAttrs.rel;
308
+ el2.textContent = attrText;
309
+ return el2;
296
310
  }
297
- `;
298
- el.appendChild(wmStyle);
299
- function createWatermark() {
300
- const wm = document.createElement("a");
301
- wm.className = wmClass;
302
- wm.href = wmHref;
303
- wm.target = wmAttrs.target;
304
- wm.rel = wmAttrs.rel;
305
- wm.textContent = wmText;
306
- return wm;
307
- }
308
- let watermark = createWatermark();
309
- el.appendChild(watermark);
310
- // Protect watermark against removal and modification
311
- const wmObserver = new MutationObserver((mutations) => {
312
- let needsRestore = false;
313
- // Check if watermark was removed from DOM
314
- if (!el.contains(watermark)) {
315
- needsRestore = true;
316
- }
317
- // Check if style element was removed
318
- if (!el.contains(wmStyle)) {
319
- el.appendChild(wmStyle);
320
- }
321
- // Check for attribute tampering on the watermark itself
322
- for (const mutation of mutations) {
323
- if (mutation.target === watermark) {
324
- if (mutation.type === "attributes") {
325
- needsRestore = true;
311
+ let attribution = createAttribution();
312
+ el.appendChild(attribution);
313
+ // Protect attribution against removal and modification
314
+ attrObserver = new MutationObserver((mutations) => {
315
+ let needsRestore = false;
316
+ // Check if attribution was removed from DOM
317
+ if (!el.contains(attribution)) {
318
+ needsRestore = true;
319
+ }
320
+ // Check if style element was removed
321
+ if (!el.contains(attrStyle)) {
322
+ el.appendChild(attrStyle);
323
+ }
324
+ // Check for attribute tampering on the attribution itself
325
+ for (const mutation of mutations) {
326
+ if (mutation.target === attribution) {
327
+ if (mutation.type === "attributes") {
328
+ needsRestore = true;
329
+ }
330
+ else if (mutation.type === "characterData" || mutation.type === "childList") {
331
+ needsRestore = true;
332
+ }
326
333
  }
327
- else if (mutation.type === "characterData" || mutation.type === "childList") {
334
+ // Check if attribution's text content was changed
335
+ if (mutation.target.parentNode === attribution && mutation.type === "characterData") {
328
336
  needsRestore = true;
329
337
  }
330
338
  }
331
- // Check if watermark's text content was changed
332
- if (mutation.target.parentNode === watermark && mutation.type === "characterData") {
333
- needsRestore = true;
339
+ if (needsRestore) {
340
+ // Remove old attribution if still in DOM but corrupted
341
+ if (el.contains(attribution)) {
342
+ attribution.remove();
343
+ }
344
+ // Create fresh attribution
345
+ attribution = createAttribution();
346
+ el.appendChild(attribution);
334
347
  }
335
- }
336
- if (needsRestore) {
337
- // Remove old watermark if still in DOM but corrupted
338
- if (el.contains(watermark)) {
339
- watermark.remove();
348
+ });
349
+ // Observe the parent for child removal and the attribution for attribute/content changes
350
+ attrObserver.observe(el, { childList: true, subtree: false });
351
+ attrObserver.observe(attribution, {
352
+ attributes: true,
353
+ childList: true,
354
+ characterData: true,
355
+ subtree: true,
356
+ });
357
+ // Periodic integrity check (catches CSS-based hiding)
358
+ attrIntegrityCheck = setInterval(() => {
359
+ // Restore style element if removed
360
+ if (!el.contains(attrStyle)) {
361
+ el.appendChild(attrStyle);
340
362
  }
341
- // Create fresh watermark
342
- watermark = createWatermark();
343
- el.appendChild(watermark);
344
- }
345
- });
346
- // Observe the parent for child removal and the watermark for attribute/content changes
347
- wmObserver.observe(el, { childList: true, subtree: false });
348
- wmObserver.observe(watermark, {
349
- attributes: true,
350
- childList: true,
351
- characterData: true,
352
- subtree: true
353
- });
354
- // Periodic integrity check (catches CSS-based hiding)
355
- const wmIntegrityCheck = setInterval(() => {
356
- // Restore style element if removed
357
- if (!el.contains(wmStyle)) {
358
- el.appendChild(wmStyle);
359
- }
360
- // Restore watermark if removed
361
- if (!el.contains(watermark)) {
362
- watermark = createWatermark();
363
- el.appendChild(watermark);
364
- wmObserver.observe(watermark, {
365
- attributes: true,
366
- childList: true,
367
- characterData: true,
368
- subtree: true
369
- });
370
- }
371
- // Reset any inline style tampering
372
- watermark.style.cssText = "";
373
- watermark.removeAttribute("hidden");
374
- if (watermark.className !== wmClass) {
375
- watermark.className = wmClass;
376
- }
377
- }, 1000);
363
+ // Restore attribution if removed
364
+ if (!el.contains(attribution)) {
365
+ attribution = createAttribution();
366
+ el.appendChild(attribution);
367
+ attrObserver.observe(attribution, {
368
+ attributes: true,
369
+ childList: true,
370
+ characterData: true,
371
+ subtree: true,
372
+ });
373
+ }
374
+ // Reset any inline style tampering
375
+ attribution.style.cssText = "";
376
+ attribution.removeAttribute("hidden");
377
+ if (attribution.className !== attrClass) {
378
+ attribution.className = attrClass;
379
+ }
380
+ }, 1000);
381
+ }
378
382
  const floatingToolbar = createFloatingToolbar();
379
383
  let workerClient = null;
380
384
  let storeRef = null;
@@ -386,7 +390,7 @@ export function createViewport() {
386
390
  let lastSlice = null;
387
391
  let lastMetrics = null;
388
392
  let layoutState = null;
389
- let spreadComponents = new Map();
393
+ const spreadComponents = new Map();
390
394
  let layoutDirty = false;
391
395
  let lastVisibleRange = { start: 0, end: -1 };
392
396
  let containerSize = { width: 0, height: 0 };
@@ -412,7 +416,7 @@ export function createViewport() {
412
416
  currentSlice = slice;
413
417
  scheduleUpdate();
414
418
  }, {
415
- equality: viewportSliceEqual
419
+ equality: viewportSliceEqual,
416
420
  });
417
421
  unsubScroll = on(scrollArea, "scroll", () => {
418
422
  if (!currentSlice || !layoutState)
@@ -490,7 +494,10 @@ export function createViewport() {
490
494
  try {
491
495
  const action = JSON.parse(actionData);
492
496
  if (action.actionType === "goTo" && action.destination) {
493
- store.dispatch({ type: "NAVIGATE_TO_DESTINATION", destination: action.destination });
497
+ store.dispatch({
498
+ type: "NAVIGATE_TO_DESTINATION",
499
+ destination: action.destination,
500
+ });
494
501
  }
495
502
  else if (action.actionType === "uri" && action.uri) {
496
503
  window.open(action.uri, "_blank", "noopener");
@@ -519,7 +526,9 @@ export function createViewport() {
519
526
  if (wheelCooldown)
520
527
  return;
521
528
  wheelCooldown = true;
522
- setTimeout(() => { wheelCooldown = false; }, 150);
529
+ setTimeout(() => {
530
+ wheelCooldown = false;
531
+ }, 150);
523
532
  const currentSpreadIndex = findSpreadForPage(layoutState.spreads, currentSlice.page);
524
533
  if (e.deltaY > 0) {
525
534
  // Scroll down - next spread
@@ -652,7 +661,7 @@ export function createViewport() {
652
661
  updateViewportTopPosition(slice, layoutState);
653
662
  lastSlice = slice;
654
663
  }
655
- function updateOverflow(slice, metrics) {
664
+ function updateOverflow(_slice, _metrics) {
656
665
  const epsilon = 1;
657
666
  const scrollWidth = scrollArea.scrollWidth;
658
667
  const scrollHeight = scrollArea.scrollHeight;
@@ -660,7 +669,7 @@ export function createViewport() {
660
669
  const clientHeight = scrollArea.clientHeight;
661
670
  const scrollbar = getScrollbarSize();
662
671
  // Apply hysteresis to avoid scrollbar-induced resize loops near 1px thresholds.
663
- const assumeY = lastOverflowY ?? (scrollHeight - clientHeight > epsilon);
672
+ const assumeY = lastOverflowY ?? scrollHeight - clientHeight > epsilon;
664
673
  const availableWidth = clientWidth + (assumeY ? scrollbar.width : 0);
665
674
  const deltaX = scrollWidth - availableWidth;
666
675
  const needsX = resolveOverflowState(lastOverflowX, deltaX, epsilon);
@@ -715,7 +724,7 @@ export function createViewport() {
715
724
  function syncEffectiveZoom(slice, state) {
716
725
  if (!storeRef)
717
726
  return;
718
- const nextZoom = slice.zoomMode === "custom" ? null : state?.scale ?? null;
727
+ const nextZoom = slice.zoomMode === "custom" ? null : (state?.scale ?? null);
719
728
  const current = storeRef.getState().effectiveZoom;
720
729
  if (nextZoom === null) {
721
730
  if (current === null)
@@ -773,7 +782,7 @@ export function createViewport() {
773
782
  viewportTopPosition = {
774
783
  page: getSpreadPrimaryPage(spread),
775
784
  offset: offsetFromSpreadTop, // negative value
776
- inSpacing: true
785
+ inSpacing: true,
777
786
  };
778
787
  return;
779
788
  }
@@ -785,7 +794,7 @@ export function createViewport() {
785
794
  viewportTopPosition = {
786
795
  page: getSpreadPrimaryPage(spread),
787
796
  offset: offsetRatio,
788
- inSpacing: false
797
+ inSpacing: false,
789
798
  };
790
799
  return;
791
800
  }
@@ -820,14 +829,13 @@ export function createViewport() {
820
829
  return;
821
830
  const scrollTop = scrollArea.scrollTop;
822
831
  const visibleRange = findVisibleSpreadRange(state.layouts, scrollTop, metrics.innerHeight, RENDER_BUFFER);
823
- const rangeChanged = visibleRange.start !== lastVisibleRange.start ||
824
- visibleRange.end !== lastVisibleRange.end;
832
+ const rangeChanged = visibleRange.start !== lastVisibleRange.start || visibleRange.end !== lastVisibleRange.end;
825
833
  const layoutOptions = {
826
834
  pageInfos: slice.pageInfos,
827
835
  scale: state.scale,
828
836
  dpi: slice.dpi,
829
837
  rotation: slice.pageRotation,
830
- pageSpacing: slice.pageSpacing
838
+ pageSpacing: slice.pageSpacing,
831
839
  };
832
840
  if (layoutDirty || rangeChanged) {
833
841
  for (const [index, spread] of spreadComponents) {
@@ -839,7 +847,7 @@ export function createViewport() {
839
847
  const renderOptions = {
840
848
  docId: slice.docId,
841
849
  scale: state.scale,
842
- dpi: slice.dpi
850
+ dpi: slice.dpi,
843
851
  };
844
852
  for (let i = visibleRange.start; i <= visibleRange.end; i++) {
845
853
  const layout = state.layouts[i];
@@ -917,7 +925,7 @@ export function createViewport() {
917
925
  scale: state.scale,
918
926
  dpi: slice.dpi,
919
927
  rotation: slice.pageRotation,
920
- pageSpacing: slice.pageSpacing
928
+ pageSpacing: slice.pageSpacing,
921
929
  };
922
930
  spreadComp.updateLayout(layoutOptions);
923
931
  spreadComp.updateAnnotations(slice.pageAnnotations, layoutOptions, slice.highlightedAnnotation);
@@ -937,7 +945,7 @@ export function createViewport() {
937
945
  spreadComp.render(workerClient, {
938
946
  docId: slice.docId,
939
947
  scale: state.scale,
940
- dpi: slice.dpi
948
+ dpi: slice.dpi,
941
949
  });
942
950
  // Prerender adjacent pages for smooth page flipping
943
951
  const dpr = getDevicePixelRatio();
@@ -1070,8 +1078,10 @@ export function createViewport() {
1070
1078
  cancelAnimationFrame(scrollRaf);
1071
1079
  if (renderDebounceTimer)
1072
1080
  clearTimeout(renderDebounceTimer);
1073
- wmObserver.disconnect();
1074
- clearInterval(wmIntegrityCheck);
1081
+ if (attrObserver)
1082
+ attrObserver.disconnect();
1083
+ if (attrIntegrityCheck)
1084
+ clearInterval(attrIntegrityCheck);
1075
1085
  floatingToolbar.destroy();
1076
1086
  clearSpreads();
1077
1087
  workerClient = null;
@@ -1100,7 +1110,7 @@ function selectViewport(state) {
1100
1110
  spreadSpacing: state.spreadSpacing,
1101
1111
  pageAnnotations: state.pageAnnotations,
1102
1112
  highlightedAnnotation: state.highlightedAnnotation,
1103
- pageText: state.pageText
1113
+ pageText: state.pageText,
1104
1114
  };
1105
1115
  }
1106
1116
  //# sourceMappingURL=Viewport.js.map