@docmentis/udoc-viewer 0.6.21 → 0.6.23
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/dist/package.json +1 -1
- package/dist/src/UDocClient.d.ts +22 -0
- package/dist/src/UDocClient.d.ts.map +1 -1
- package/dist/src/UDocClient.js +25 -1
- package/dist/src/UDocClient.js.map +1 -1
- package/dist/src/UDocViewer.d.ts +4 -3
- package/dist/src/UDocViewer.d.ts.map +1 -1
- package/dist/src/UDocViewer.js +50 -3
- package/dist/src/UDocViewer.js.map +1 -1
- package/dist/src/ui/viewer/actions.d.ts +34 -3
- package/dist/src/ui/viewer/actions.d.ts.map +1 -1
- package/dist/src/ui/viewer/annotation/ShapeRenderer.d.ts.map +1 -1
- package/dist/src/ui/viewer/annotation/ShapeRenderer.js +23 -16
- package/dist/src/ui/viewer/annotation/ShapeRenderer.js.map +1 -1
- package/dist/src/ui/viewer/annotation/index.d.ts +1 -1
- package/dist/src/ui/viewer/annotation/index.d.ts.map +1 -1
- package/dist/src/ui/viewer/annotation/index.js +1 -1
- package/dist/src/ui/viewer/annotation/index.js.map +1 -1
- package/dist/src/ui/viewer/annotation/render.d.ts.map +1 -1
- package/dist/src/ui/viewer/annotation/render.js +11 -4
- package/dist/src/ui/viewer/annotation/render.js.map +1 -1
- package/dist/src/ui/viewer/annotation/types.d.ts +9 -1
- package/dist/src/ui/viewer/annotation/types.d.ts.map +1 -1
- package/dist/src/ui/viewer/annotation/utils.d.ts +10 -1
- package/dist/src/ui/viewer/annotation/utils.d.ts.map +1 -1
- package/dist/src/ui/viewer/annotation/utils.js +114 -0
- package/dist/src/ui/viewer/annotation/utils.js.map +1 -1
- package/dist/src/ui/viewer/components/ColorSelect.d.ts +26 -0
- package/dist/src/ui/viewer/components/ColorSelect.d.ts.map +1 -0
- package/dist/src/ui/viewer/components/ColorSelect.js +120 -0
- package/dist/src/ui/viewer/components/ColorSelect.js.map +1 -0
- package/dist/src/ui/viewer/components/FloatingToolbar.js +12 -12
- package/dist/src/ui/viewer/components/FloatingToolbar.js.map +1 -1
- package/dist/src/ui/viewer/components/NumberInput.d.ts +32 -0
- package/dist/src/ui/viewer/components/NumberInput.d.ts.map +1 -0
- package/dist/src/ui/viewer/components/NumberInput.js +101 -0
- package/dist/src/ui/viewer/components/NumberInput.js.map +1 -0
- package/dist/src/ui/viewer/components/Spread.d.ts +2 -2
- package/dist/src/ui/viewer/components/Spread.d.ts.map +1 -1
- package/dist/src/ui/viewer/components/Spread.js.map +1 -1
- package/dist/src/ui/viewer/components/SubToolbar.d.ts +10 -0
- package/dist/src/ui/viewer/components/SubToolbar.d.ts.map +1 -0
- package/dist/src/ui/viewer/components/SubToolbar.js +481 -0
- package/dist/src/ui/viewer/components/SubToolbar.js.map +1 -0
- package/dist/src/ui/viewer/components/Toolbar.d.ts.map +1 -1
- package/dist/src/ui/viewer/components/Toolbar.js +147 -4
- package/dist/src/ui/viewer/components/Toolbar.js.map +1 -1
- package/dist/src/ui/viewer/components/ViewModeMenu.js +3 -3
- package/dist/src/ui/viewer/components/ViewModeMenu.js.map +1 -1
- package/dist/src/ui/viewer/components/Viewport.d.ts.map +1 -1
- package/dist/src/ui/viewer/components/Viewport.js +40 -2
- package/dist/src/ui/viewer/components/Viewport.js.map +1 -1
- package/dist/src/ui/viewer/i18n/ar.d.ts.map +1 -1
- package/dist/src/ui/viewer/i18n/ar.js +40 -0
- package/dist/src/ui/viewer/i18n/ar.js.map +1 -1
- package/dist/src/ui/viewer/i18n/de.d.ts.map +1 -1
- package/dist/src/ui/viewer/i18n/de.js +40 -0
- package/dist/src/ui/viewer/i18n/de.js.map +1 -1
- package/dist/src/ui/viewer/i18n/en.d.ts.map +1 -1
- package/dist/src/ui/viewer/i18n/en.js +40 -0
- package/dist/src/ui/viewer/i18n/en.js.map +1 -1
- package/dist/src/ui/viewer/i18n/es.d.ts.map +1 -1
- package/dist/src/ui/viewer/i18n/es.js +40 -0
- package/dist/src/ui/viewer/i18n/es.js.map +1 -1
- package/dist/src/ui/viewer/i18n/fr.d.ts.map +1 -1
- package/dist/src/ui/viewer/i18n/fr.js +40 -0
- package/dist/src/ui/viewer/i18n/fr.js.map +1 -1
- package/dist/src/ui/viewer/i18n/ja.d.ts.map +1 -1
- package/dist/src/ui/viewer/i18n/ja.js +40 -0
- package/dist/src/ui/viewer/i18n/ja.js.map +1 -1
- package/dist/src/ui/viewer/i18n/ko.d.ts.map +1 -1
- package/dist/src/ui/viewer/i18n/ko.js +40 -0
- package/dist/src/ui/viewer/i18n/ko.js.map +1 -1
- package/dist/src/ui/viewer/i18n/pt-BR.d.ts.map +1 -1
- package/dist/src/ui/viewer/i18n/pt-BR.js +40 -0
- package/dist/src/ui/viewer/i18n/pt-BR.js.map +1 -1
- package/dist/src/ui/viewer/i18n/ru.d.ts.map +1 -1
- package/dist/src/ui/viewer/i18n/ru.js +40 -0
- package/dist/src/ui/viewer/i18n/ru.js.map +1 -1
- package/dist/src/ui/viewer/i18n/types.d.ts +35 -0
- package/dist/src/ui/viewer/i18n/types.d.ts.map +1 -1
- package/dist/src/ui/viewer/i18n/zh-CN.d.ts.map +1 -1
- package/dist/src/ui/viewer/i18n/zh-CN.js +40 -0
- package/dist/src/ui/viewer/i18n/zh-CN.js.map +1 -1
- package/dist/src/ui/viewer/i18n/zh-TW.d.ts.map +1 -1
- package/dist/src/ui/viewer/i18n/zh-TW.js +40 -0
- package/dist/src/ui/viewer/i18n/zh-TW.js.map +1 -1
- package/dist/src/ui/viewer/icons.d.ts +29 -0
- package/dist/src/ui/viewer/icons.d.ts.map +1 -1
- package/dist/src/ui/viewer/icons.js +42 -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 +109 -1
- package/dist/src/ui/viewer/reducer.js.map +1 -1
- package/dist/src/ui/viewer/search/search.d.ts +4 -4
- package/dist/src/ui/viewer/search/search.d.ts.map +1 -1
- package/dist/src/ui/viewer/search/search.js +1 -1
- package/dist/src/ui/viewer/search/search.js.map +1 -1
- package/dist/src/ui/viewer/shell.d.ts +2 -2
- package/dist/src/ui/viewer/shell.d.ts.map +1 -1
- package/dist/src/ui/viewer/shell.js +13 -2
- package/dist/src/ui/viewer/shell.js.map +1 -1
- package/dist/src/ui/viewer/state.d.ts +55 -2
- package/dist/src/ui/viewer/state.d.ts.map +1 -1
- package/dist/src/ui/viewer/state.js +30 -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 +875 -246
- package/dist/src/ui/viewer/styles-inline.js.map +1 -1
- package/dist/src/ui/viewer/text/render.d.ts +3 -3
- package/dist/src/ui/viewer/text/render.d.ts.map +1 -1
- package/dist/src/ui/viewer/text/render.js +2 -2
- package/dist/src/ui/viewer/text/render.js.map +1 -1
- package/dist/src/ui/viewer/tools/AnnotationDrawController.d.ts +21 -0
- package/dist/src/ui/viewer/tools/AnnotationDrawController.d.ts.map +1 -0
- package/dist/src/ui/viewer/tools/AnnotationDrawController.js +392 -0
- package/dist/src/ui/viewer/tools/AnnotationDrawController.js.map +1 -0
- package/dist/src/ui/viewer/tools/AnnotationSelectController.d.ts +22 -0
- package/dist/src/ui/viewer/tools/AnnotationSelectController.d.ts.map +1 -0
- package/dist/src/ui/viewer/tools/AnnotationSelectController.js +367 -0
- package/dist/src/ui/viewer/tools/AnnotationSelectController.js.map +1 -0
- package/dist/src/ui/viewer/tools/ViewToolController.d.ts +20 -0
- package/dist/src/ui/viewer/tools/ViewToolController.d.ts.map +1 -0
- package/dist/src/ui/viewer/tools/ViewToolController.js +194 -0
- package/dist/src/ui/viewer/tools/ViewToolController.js.map +1 -0
- package/dist/src/wasm/udoc.d.ts +399 -114
- package/dist/src/wasm/udoc.js +157 -81
- package/dist/src/wasm/udoc_bg.wasm +0 -0
- package/dist/src/wasm/udoc_bg.wasm.d.ts +8 -7
- package/dist/src/worker/WorkerClient.d.ts +17 -11
- package/dist/src/worker/WorkerClient.d.ts.map +1 -1
- package/dist/src/worker/WorkerClient.js +10 -2
- package/dist/src/worker/WorkerClient.js.map +1 -1
- package/dist/src/worker/index.d.ts +1 -1
- package/dist/src/worker/index.d.ts.map +1 -1
- package/dist/src/worker/worker-inline.js +1 -1
- package/dist/src/worker/worker.d.ts +26 -58
- package/dist/src/worker/worker.d.ts.map +1 -1
- package/dist/src/worker/worker.js +161 -80
- package/dist/src/worker/worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles-inline.js","sourceRoot":"","sources":["../../../../src/ui/viewer/styles-inline.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"styles-inline.js","sourceRoot":"","sources":["../../../../src/ui/viewer/styles-inline.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4tG3B,CAAC"}
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
* Decomposes transforms into final pixel coordinates, no CSS transforms.
|
|
11
11
|
* Same approach as the search highlight code.
|
|
12
12
|
*/
|
|
13
|
-
import type {
|
|
13
|
+
import type { LayoutPage } from "../../../worker/index.js";
|
|
14
14
|
/**
|
|
15
|
-
* Render a
|
|
15
|
+
* Render a LayoutPage to a text layer element.
|
|
16
16
|
*/
|
|
17
|
-
export declare function renderTextToLayer(layer: HTMLDivElement, layout:
|
|
17
|
+
export declare function renderTextToLayer(layer: HTMLDivElement, layout: LayoutPage | null | undefined, scale: number, _pageHeight: number): void;
|
|
18
18
|
//# sourceMappingURL=render.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/text/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EACR,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/text/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EACR,UAAU,EAYb,MAAM,0BAA0B,CAAC;AAsElC;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GACpB,IAAI,CAWN"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
function px(v) {
|
|
2
2
|
return `${v}px`;
|
|
3
3
|
}
|
|
4
|
-
/** Format a
|
|
4
|
+
/** Format a Transform as a CSS matrix() with translation scaled to pixels. */
|
|
5
5
|
function cssMatrix(t, scale) {
|
|
6
6
|
return `matrix(${t.scaleX},${t.skewY},${t.skewX},${t.scaleY},${t.translateX * scale},${t.translateY * scale})`;
|
|
7
7
|
}
|
|
@@ -57,7 +57,7 @@ function isFlat(layout) {
|
|
|
57
57
|
return false;
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
60
|
-
* Render a
|
|
60
|
+
* Render a LayoutPage to a text layer element.
|
|
61
61
|
*/
|
|
62
62
|
export function renderTextToLayer(layer, layout, scale, _pageHeight) {
|
|
63
63
|
if (!layout) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/text/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/text/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AnnotationDrawController — handles mouse/pointer drawing for annotation tools.
|
|
3
|
+
*
|
|
4
|
+
* Converts pointer events on page slots into annotation objects dispatched to the store.
|
|
5
|
+
* Supports: freehand (ink), line, arrow, rectangle, ellipse, polygon.
|
|
6
|
+
* Uses the same renderAnnotation() for both live preview and final result.
|
|
7
|
+
*/
|
|
8
|
+
import type { Store } from "../../framework/store";
|
|
9
|
+
import type { ViewerState } from "../state";
|
|
10
|
+
import type { Action } from "../actions";
|
|
11
|
+
export interface AnnotationDrawControllerOptions {
|
|
12
|
+
/** The scroll container that holds all spread/page elements */
|
|
13
|
+
scrollArea: HTMLElement;
|
|
14
|
+
/** The viewer root element (for cursor classes) */
|
|
15
|
+
viewerRoot: HTMLElement;
|
|
16
|
+
store: Store<ViewerState, Action>;
|
|
17
|
+
}
|
|
18
|
+
export declare function createAnnotationDrawController(options: AnnotationDrawControllerOptions): {
|
|
19
|
+
destroy: () => void;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=AnnotationDrawController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnnotationDrawController.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/tools/AnnotationDrawController.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAwB,MAAM,UAAU,CAAC;AAElE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAiBzC,MAAM,WAAW,+BAA+B;IAC5C,+DAA+D;IAC/D,UAAU,EAAE,WAAW,CAAC;IACxB,mDAAmD;IACnD,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;CACrC;AA0CD,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,+BAA+B;mBAiX/D,IAAI;EAM3B"}
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AnnotationDrawController — handles mouse/pointer drawing for annotation tools.
|
|
3
|
+
*
|
|
4
|
+
* Converts pointer events on page slots into annotation objects dispatched to the store.
|
|
5
|
+
* Supports: freehand (ink), line, arrow, rectangle, ellipse, polygon.
|
|
6
|
+
* Uses the same renderAnnotation() for both live preview and final result.
|
|
7
|
+
*/
|
|
8
|
+
import { getPointsToPixels, isToolSet, DEFAULT_TOOL_OPTIONS, ANNOTATION_FORMATS } from "../state";
|
|
9
|
+
import { renderAnnotation } from "../annotation/render";
|
|
10
|
+
// CSS class for crosshair cursor during annotation drawing
|
|
11
|
+
const DRAW_CURSOR_CLASS = "udoc-viewer--tool-draw";
|
|
12
|
+
/** Parse hex color (#rrggbb) to AnnotationColor (0-1 range). */
|
|
13
|
+
function parseHexColor(hex) {
|
|
14
|
+
const h = hex.replace("#", "");
|
|
15
|
+
return {
|
|
16
|
+
r: parseInt(h.substring(0, 2), 16) / 255,
|
|
17
|
+
g: parseInt(h.substring(2, 4), 16) / 255,
|
|
18
|
+
b: parseInt(h.substring(4, 6), 16) / 255,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/** Map ArrowHeadStyle to PDF LineEnding. */
|
|
22
|
+
function toLineEnding(style) {
|
|
23
|
+
switch (style) {
|
|
24
|
+
case "open":
|
|
25
|
+
return "OpenArrow";
|
|
26
|
+
case "closed":
|
|
27
|
+
return "ClosedArrow";
|
|
28
|
+
default:
|
|
29
|
+
return "None";
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** Compute bounding rect from a list of points. */
|
|
33
|
+
function boundingRect(points) {
|
|
34
|
+
let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
|
|
35
|
+
for (const p of points) {
|
|
36
|
+
if (p.x < minX)
|
|
37
|
+
minX = p.x;
|
|
38
|
+
if (p.y < minY)
|
|
39
|
+
minY = p.y;
|
|
40
|
+
if (p.x > maxX)
|
|
41
|
+
maxX = p.x;
|
|
42
|
+
if (p.y > maxY)
|
|
43
|
+
maxY = p.y;
|
|
44
|
+
}
|
|
45
|
+
return { x: minX, y: minY, width: maxX - minX, height: maxY - minY };
|
|
46
|
+
}
|
|
47
|
+
export function createAnnotationDrawController(options) {
|
|
48
|
+
const { scrollArea, viewerRoot, store } = options;
|
|
49
|
+
// Preview layer (a div placed over the page slot, rendered via renderAnnotation)
|
|
50
|
+
let previewLayer = null;
|
|
51
|
+
// Drawing state
|
|
52
|
+
let isDrawing = false;
|
|
53
|
+
let drawPageIndex = -1; // 0-based
|
|
54
|
+
let drawSlot = null; // The page slot container
|
|
55
|
+
let drawScale = 1; // pixels-per-point for converting back to PDF coords
|
|
56
|
+
let drawSubTool = null;
|
|
57
|
+
let drawOptions = { ...DEFAULT_TOOL_OPTIONS };
|
|
58
|
+
// Accumulated points (in PDF page coordinates)
|
|
59
|
+
let inkPoints = [];
|
|
60
|
+
// Start/end for geometry tools (in PDF coords)
|
|
61
|
+
let startPt = { x: 0, y: 0 };
|
|
62
|
+
let endPt = { x: 0, y: 0 };
|
|
63
|
+
// Committed vertices for polygon (click-to-add mode)
|
|
64
|
+
let polygonVertices = [];
|
|
65
|
+
/** Convert a client-space pointer event to PDF page coordinates. */
|
|
66
|
+
function clientToPageCoords(e) {
|
|
67
|
+
if (!drawSlot)
|
|
68
|
+
return null;
|
|
69
|
+
const rect = drawSlot.getBoundingClientRect();
|
|
70
|
+
const px = e.clientX - rect.left;
|
|
71
|
+
const py = e.clientY - rect.top;
|
|
72
|
+
return { x: px / drawScale, y: py / drawScale };
|
|
73
|
+
}
|
|
74
|
+
/** Map tool lineStyle to PDF borderStyle. */
|
|
75
|
+
function toBorderStyle(lineStyle) {
|
|
76
|
+
if (lineStyle === "dashed" || lineStyle === "dotted")
|
|
77
|
+
return "dashed";
|
|
78
|
+
return "solid";
|
|
79
|
+
}
|
|
80
|
+
/** Build an Annotation object from the current drawing state, or null if invalid. */
|
|
81
|
+
function buildCurrentAnnotation() {
|
|
82
|
+
const color = parseHexColor(drawOptions.strokeColor);
|
|
83
|
+
const opacity = drawOptions.opacity;
|
|
84
|
+
const borderWidth = drawOptions.strokeWidth;
|
|
85
|
+
const borderStyle = toBorderStyle(drawOptions.lineStyle);
|
|
86
|
+
if (drawSubTool === "freehand" && inkPoints.length >= 2) {
|
|
87
|
+
return {
|
|
88
|
+
type: "ink",
|
|
89
|
+
bounds: boundingRect(inkPoints),
|
|
90
|
+
inkList: [inkPoints],
|
|
91
|
+
color,
|
|
92
|
+
borderWidth,
|
|
93
|
+
borderStyle,
|
|
94
|
+
opacity,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
if ((drawSubTool === "line" || drawSubTool === "arrow") && (startPt.x !== endPt.x || startPt.y !== endPt.y)) {
|
|
98
|
+
return {
|
|
99
|
+
type: "line",
|
|
100
|
+
bounds: boundingRect([startPt, endPt]),
|
|
101
|
+
start: startPt,
|
|
102
|
+
end: endPt,
|
|
103
|
+
startEnding: drawSubTool === "arrow" ? toLineEnding(drawOptions.arrowHeadStart) : "None",
|
|
104
|
+
endEnding: drawSubTool === "arrow" ? toLineEnding(drawOptions.arrowHeadEnd) : "None",
|
|
105
|
+
color,
|
|
106
|
+
borderWidth,
|
|
107
|
+
borderStyle,
|
|
108
|
+
opacity,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
if (drawSubTool === "rectangle" && startPt.x !== endPt.x && startPt.y !== endPt.y) {
|
|
112
|
+
const x = Math.min(startPt.x, endPt.x);
|
|
113
|
+
const y = Math.min(startPt.y, endPt.y);
|
|
114
|
+
return {
|
|
115
|
+
type: "square",
|
|
116
|
+
bounds: { x, y, width: Math.abs(endPt.x - startPt.x), height: Math.abs(endPt.y - startPt.y) },
|
|
117
|
+
color,
|
|
118
|
+
interiorColor: drawOptions.fillColor ? parseHexColor(drawOptions.fillColor) : undefined,
|
|
119
|
+
borderWidth,
|
|
120
|
+
borderStyle,
|
|
121
|
+
opacity,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
if (drawSubTool === "ellipse" && startPt.x !== endPt.x && startPt.y !== endPt.y) {
|
|
125
|
+
const x = Math.min(startPt.x, endPt.x);
|
|
126
|
+
const y = Math.min(startPt.y, endPt.y);
|
|
127
|
+
return {
|
|
128
|
+
type: "circle",
|
|
129
|
+
bounds: { x, y, width: Math.abs(endPt.x - startPt.x), height: Math.abs(endPt.y - startPt.y) },
|
|
130
|
+
color,
|
|
131
|
+
interiorColor: drawOptions.fillColor ? parseHexColor(drawOptions.fillColor) : undefined,
|
|
132
|
+
borderWidth,
|
|
133
|
+
borderStyle,
|
|
134
|
+
opacity,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
if (drawSubTool === "polygon" || drawSubTool === "polyline") {
|
|
138
|
+
// During drawing: committed vertices + current cursor position
|
|
139
|
+
const verts = isDrawing ? [...polygonVertices, endPt] : polygonVertices;
|
|
140
|
+
if (verts.length >= 2) {
|
|
141
|
+
if (drawSubTool === "polygon") {
|
|
142
|
+
return {
|
|
143
|
+
type: "polygon",
|
|
144
|
+
bounds: boundingRect(verts),
|
|
145
|
+
vertices: verts,
|
|
146
|
+
color,
|
|
147
|
+
interiorColor: drawOptions.fillColor ? parseHexColor(drawOptions.fillColor) : undefined,
|
|
148
|
+
borderWidth,
|
|
149
|
+
borderStyle,
|
|
150
|
+
startEnding: "None",
|
|
151
|
+
endEnding: "None",
|
|
152
|
+
opacity,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
return {
|
|
157
|
+
type: "polyLine",
|
|
158
|
+
bounds: boundingRect(verts),
|
|
159
|
+
vertices: verts,
|
|
160
|
+
color,
|
|
161
|
+
borderWidth,
|
|
162
|
+
borderStyle,
|
|
163
|
+
startEnding: "None",
|
|
164
|
+
endEnding: "None",
|
|
165
|
+
opacity,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
/** Create the preview layer inside the page slot. */
|
|
173
|
+
function createPreviewLayer() {
|
|
174
|
+
if (!drawSlot)
|
|
175
|
+
return;
|
|
176
|
+
previewLayer = document.createElement("div");
|
|
177
|
+
previewLayer.style.position = "absolute";
|
|
178
|
+
previewLayer.style.inset = "0";
|
|
179
|
+
previewLayer.style.pointerEvents = "none";
|
|
180
|
+
previewLayer.style.zIndex = "10";
|
|
181
|
+
previewLayer.className = "udoc-annotation-draw-preview";
|
|
182
|
+
drawSlot.appendChild(previewLayer);
|
|
183
|
+
}
|
|
184
|
+
/** Update the live preview using the same renderer as final annotations. */
|
|
185
|
+
function updatePreview() {
|
|
186
|
+
if (!previewLayer)
|
|
187
|
+
return;
|
|
188
|
+
previewLayer.innerHTML = "";
|
|
189
|
+
const annotation = buildCurrentAnnotation();
|
|
190
|
+
if (annotation) {
|
|
191
|
+
renderAnnotation(previewLayer, annotation, drawScale);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/** Remove the preview layer. */
|
|
195
|
+
function removePreview() {
|
|
196
|
+
if (previewLayer) {
|
|
197
|
+
previewLayer.remove();
|
|
198
|
+
previewLayer = null;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
/** Finalize drawing and dispatch the annotation to the store. */
|
|
202
|
+
function finishDrawing() {
|
|
203
|
+
if (!isDrawing)
|
|
204
|
+
return;
|
|
205
|
+
// Polygon needs >= 3 vertices, polyline needs >= 2
|
|
206
|
+
const minVerts = drawSubTool === "polygon" ? 3 : 2;
|
|
207
|
+
if ((drawSubTool === "polygon" || drawSubTool === "polyline") && polygonVertices.length < minVerts) {
|
|
208
|
+
isDrawing = false;
|
|
209
|
+
removePreview();
|
|
210
|
+
polygonVertices = [];
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
isDrawing = false;
|
|
214
|
+
const annotation = buildCurrentAnnotation();
|
|
215
|
+
if (annotation && drawPageIndex >= 0) {
|
|
216
|
+
store.dispatch({ type: "ADD_ANNOTATION", pageIndex: drawPageIndex, annotation });
|
|
217
|
+
}
|
|
218
|
+
removePreview();
|
|
219
|
+
inkPoints = [];
|
|
220
|
+
polygonVertices = [];
|
|
221
|
+
}
|
|
222
|
+
// --- Shared setup for starting a draw on a page slot ---
|
|
223
|
+
function beginDrawOnSlot(e) {
|
|
224
|
+
const state = store.getState();
|
|
225
|
+
if (!isToolSet(state.activeTool))
|
|
226
|
+
return null;
|
|
227
|
+
if (!state.activeSubTool)
|
|
228
|
+
return null;
|
|
229
|
+
if (state.activeTool === "markup")
|
|
230
|
+
return null;
|
|
231
|
+
const tool = state.activeSubTool;
|
|
232
|
+
const target = e.target;
|
|
233
|
+
const slotEl = target.closest("[data-page]");
|
|
234
|
+
if (!slotEl)
|
|
235
|
+
return null;
|
|
236
|
+
const pageNum = parseInt(slotEl.dataset.page, 10);
|
|
237
|
+
if (isNaN(pageNum))
|
|
238
|
+
return null;
|
|
239
|
+
drawPageIndex = pageNum - 1;
|
|
240
|
+
drawSlot = slotEl;
|
|
241
|
+
drawSubTool = tool;
|
|
242
|
+
drawOptions = state.toolOptions[tool] ?? { ...DEFAULT_TOOL_OPTIONS };
|
|
243
|
+
const pointsToPixels = getPointsToPixels(state.dpi);
|
|
244
|
+
const zoom = state.effectiveZoom ?? state.zoom;
|
|
245
|
+
drawScale = pointsToPixels * zoom;
|
|
246
|
+
return clientToPageCoords(e);
|
|
247
|
+
}
|
|
248
|
+
// --- Pointer event handlers ---
|
|
249
|
+
function onPointerDown(e) {
|
|
250
|
+
if (e.button !== 0)
|
|
251
|
+
return;
|
|
252
|
+
// Polygon/polyline use click-to-add mode, handled separately
|
|
253
|
+
if (isDrawing && (drawSubTool === "polygon" || drawSubTool === "polyline"))
|
|
254
|
+
return;
|
|
255
|
+
const state = store.getState();
|
|
256
|
+
if (state.activeSubTool === "polygon" || state.activeSubTool === "polyline")
|
|
257
|
+
return;
|
|
258
|
+
const pt = beginDrawOnSlot(e);
|
|
259
|
+
if (!pt)
|
|
260
|
+
return;
|
|
261
|
+
isDrawing = true;
|
|
262
|
+
startPt = pt;
|
|
263
|
+
endPt = pt;
|
|
264
|
+
inkPoints = [pt];
|
|
265
|
+
createPreviewLayer();
|
|
266
|
+
scrollArea.setPointerCapture(e.pointerId);
|
|
267
|
+
e.preventDefault();
|
|
268
|
+
}
|
|
269
|
+
function onPointerMove(e) {
|
|
270
|
+
if (!isDrawing)
|
|
271
|
+
return;
|
|
272
|
+
const pt = clientToPageCoords(e);
|
|
273
|
+
if (!pt)
|
|
274
|
+
return;
|
|
275
|
+
endPt = pt;
|
|
276
|
+
if (drawSubTool === "freehand") {
|
|
277
|
+
inkPoints.push(pt);
|
|
278
|
+
}
|
|
279
|
+
updatePreview();
|
|
280
|
+
}
|
|
281
|
+
function onPointerUp(e) {
|
|
282
|
+
if (!isDrawing)
|
|
283
|
+
return;
|
|
284
|
+
if (drawSubTool === "polygon" || drawSubTool === "polyline")
|
|
285
|
+
return; // finishes on double-click
|
|
286
|
+
scrollArea.releasePointerCapture(e.pointerId);
|
|
287
|
+
finishDrawing();
|
|
288
|
+
}
|
|
289
|
+
function onPointerCancel(e) {
|
|
290
|
+
if (!isDrawing)
|
|
291
|
+
return;
|
|
292
|
+
scrollArea.releasePointerCapture(e.pointerId);
|
|
293
|
+
isDrawing = false;
|
|
294
|
+
removePreview();
|
|
295
|
+
inkPoints = [];
|
|
296
|
+
polygonVertices = [];
|
|
297
|
+
}
|
|
298
|
+
// --- Polygon click/double-click handlers ---
|
|
299
|
+
function onClick(e) {
|
|
300
|
+
if (e.button !== 0)
|
|
301
|
+
return;
|
|
302
|
+
const state = store.getState();
|
|
303
|
+
if (state.activeSubTool !== "polygon" && state.activeSubTool !== "polyline")
|
|
304
|
+
return;
|
|
305
|
+
if (!isDrawing) {
|
|
306
|
+
// First click — start polygon
|
|
307
|
+
const pt = beginDrawOnSlot(e);
|
|
308
|
+
if (!pt)
|
|
309
|
+
return;
|
|
310
|
+
isDrawing = true;
|
|
311
|
+
polygonVertices = [pt];
|
|
312
|
+
endPt = pt;
|
|
313
|
+
createPreviewLayer();
|
|
314
|
+
e.preventDefault();
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
// Subsequent click — add vertex
|
|
318
|
+
const pt = clientToPageCoords(e);
|
|
319
|
+
if (!pt)
|
|
320
|
+
return;
|
|
321
|
+
polygonVertices.push(pt);
|
|
322
|
+
endPt = pt;
|
|
323
|
+
updatePreview();
|
|
324
|
+
e.preventDefault();
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
function onDblClick(e) {
|
|
328
|
+
if (!isDrawing || (drawSubTool !== "polygon" && drawSubTool !== "polyline"))
|
|
329
|
+
return;
|
|
330
|
+
e.preventDefault();
|
|
331
|
+
finishDrawing();
|
|
332
|
+
}
|
|
333
|
+
// --- Cursor management ---
|
|
334
|
+
let active = false;
|
|
335
|
+
function activate() {
|
|
336
|
+
if (active)
|
|
337
|
+
return;
|
|
338
|
+
active = true;
|
|
339
|
+
viewerRoot.classList.add(DRAW_CURSOR_CLASS);
|
|
340
|
+
scrollArea.addEventListener("pointerdown", onPointerDown);
|
|
341
|
+
scrollArea.addEventListener("pointermove", onPointerMove);
|
|
342
|
+
scrollArea.addEventListener("pointerup", onPointerUp);
|
|
343
|
+
scrollArea.addEventListener("pointercancel", onPointerCancel);
|
|
344
|
+
scrollArea.addEventListener("click", onClick);
|
|
345
|
+
scrollArea.addEventListener("dblclick", onDblClick);
|
|
346
|
+
}
|
|
347
|
+
function deactivate() {
|
|
348
|
+
if (!active)
|
|
349
|
+
return;
|
|
350
|
+
active = false;
|
|
351
|
+
viewerRoot.classList.remove(DRAW_CURSOR_CLASS);
|
|
352
|
+
scrollArea.removeEventListener("pointerdown", onPointerDown);
|
|
353
|
+
scrollArea.removeEventListener("pointermove", onPointerMove);
|
|
354
|
+
scrollArea.removeEventListener("pointerup", onPointerUp);
|
|
355
|
+
scrollArea.removeEventListener("pointercancel", onPointerCancel);
|
|
356
|
+
scrollArea.removeEventListener("click", onClick);
|
|
357
|
+
scrollArea.removeEventListener("dblclick", onDblClick);
|
|
358
|
+
if (isDrawing) {
|
|
359
|
+
isDrawing = false;
|
|
360
|
+
removePreview();
|
|
361
|
+
inkPoints = [];
|
|
362
|
+
polygonVertices = [];
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
function canDraw(s) {
|
|
366
|
+
return (s.documentFormat !== null &&
|
|
367
|
+
ANNOTATION_FORMATS.has(s.documentFormat) &&
|
|
368
|
+
isToolSet(s.activeTool) &&
|
|
369
|
+
s.activeTool === "annotate" &&
|
|
370
|
+
s.activeSubTool !== null &&
|
|
371
|
+
s.activeSubTool !== "select");
|
|
372
|
+
}
|
|
373
|
+
// Subscribe to store for tool changes
|
|
374
|
+
const unsub = store.subscribeRender((_prev, next) => {
|
|
375
|
+
if (canDraw(next)) {
|
|
376
|
+
activate();
|
|
377
|
+
}
|
|
378
|
+
else {
|
|
379
|
+
deactivate();
|
|
380
|
+
}
|
|
381
|
+
});
|
|
382
|
+
// Check initial state
|
|
383
|
+
if (canDraw(store.getState())) {
|
|
384
|
+
activate();
|
|
385
|
+
}
|
|
386
|
+
function destroy() {
|
|
387
|
+
unsub();
|
|
388
|
+
deactivate();
|
|
389
|
+
}
|
|
390
|
+
return { destroy };
|
|
391
|
+
}
|
|
392
|
+
//# sourceMappingURL=AnnotationDrawController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnnotationDrawController.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/tools/AnnotationDrawController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AnnotationSelectController — handles annotation selection, move, resize, and deletion.
|
|
3
|
+
*
|
|
4
|
+
* When the "select" sub-tool is active (in either annotate or markup tool sets):
|
|
5
|
+
* - Clicking an annotation selects it, showing a bounding box with resize handles.
|
|
6
|
+
* - Dragging the bounding box moves the annotation.
|
|
7
|
+
* - Dragging a resize handle resizes the annotation.
|
|
8
|
+
* - Pressing Delete/Backspace removes the selected annotation.
|
|
9
|
+
* - Clicking empty space deselects.
|
|
10
|
+
*/
|
|
11
|
+
import type { Store } from "../../framework/store";
|
|
12
|
+
import type { ViewerState } from "../state";
|
|
13
|
+
import type { Action } from "../actions";
|
|
14
|
+
export interface AnnotationSelectControllerOptions {
|
|
15
|
+
scrollArea: HTMLElement;
|
|
16
|
+
viewerRoot: HTMLElement;
|
|
17
|
+
store: Store<ViewerState, Action>;
|
|
18
|
+
}
|
|
19
|
+
export declare function createAnnotationSelectController(options: AnnotationSelectControllerOptions): {
|
|
20
|
+
destroy: () => void;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=AnnotationSelectController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnnotationSelectController.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/tools/AnnotationSelectController.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIzC,MAAM,WAAW,iCAAiC;IAC9C,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;CACrC;AAuBD,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,iCAAiC;mBAgYnE,IAAI;EAM3B"}
|