@betteroffice/docx 0.0.1
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/LICENSE +201 -0
- package/README.md +41 -0
- package/dist/Subscribable-DOz6Ohoo.d.mts +33 -0
- package/dist/agent/index.d.mts +531 -0
- package/dist/agent/index.mjs +1 -0
- package/dist/chunk-34K66SY4.mjs +1 -0
- package/dist/chunk-3UBMCDME.mjs +1 -0
- package/dist/chunk-4RCISPPE.mjs +1 -0
- package/dist/chunk-4UD54UM5.mjs +1 -0
- package/dist/chunk-52GB3Y42.mjs +1 -0
- package/dist/chunk-6NEKRDXF.mjs +1 -0
- package/dist/chunk-6PW4CWUG.mjs +1 -0
- package/dist/chunk-7DEIW7FL.mjs +1 -0
- package/dist/chunk-7PCO5I2O.mjs +1 -0
- package/dist/chunk-BI3B33LI.mjs +1 -0
- package/dist/chunk-BIQWVK5P.mjs +2 -0
- package/dist/chunk-CIRN3LZA.mjs +1 -0
- package/dist/chunk-DXKG3HQ5.mjs +16 -0
- package/dist/chunk-EUUIJVM6.mjs +0 -0
- package/dist/chunk-FPZBTOD6.mjs +1 -0
- package/dist/chunk-FZIA7OFY.mjs +1 -0
- package/dist/chunk-GWKJ2Y4Y.mjs +1 -0
- package/dist/chunk-H3JCIGWK.mjs +1 -0
- package/dist/chunk-HJGAQIU7.mjs +2 -0
- package/dist/chunk-I6KKMUUC.mjs +1 -0
- package/dist/chunk-IL5JZJT7.mjs +1 -0
- package/dist/chunk-JY6ILTNS.mjs +1 -0
- package/dist/chunk-KEE52TT5.mjs +1 -0
- package/dist/chunk-KVKLLTDP.mjs +58 -0
- package/dist/chunk-KXNZFTTK.mjs +1 -0
- package/dist/chunk-L5ISVQ3W.mjs +1 -0
- package/dist/chunk-LDUWIM7M.mjs +1 -0
- package/dist/chunk-N5Q3YN64.mjs +1 -0
- package/dist/chunk-NEWOMDTX.mjs +1 -0
- package/dist/chunk-O2QSE2I7.mjs +1 -0
- package/dist/chunk-OBQGPMPQ.mjs +1 -0
- package/dist/chunk-OJOHXQNQ.mjs +1 -0
- package/dist/chunk-OMR3TWCD.mjs +2 -0
- package/dist/chunk-P3KDV4M2.mjs +1 -0
- package/dist/chunk-Q7PO7V73.mjs +1 -0
- package/dist/chunk-QOUFE3VX.mjs +1 -0
- package/dist/chunk-SINEY6ZF.mjs +1 -0
- package/dist/chunk-T4EZMUXM.mjs +1 -0
- package/dist/chunk-TTRUPDAB.mjs +1 -0
- package/dist/chunk-TYHI7RAD.mjs +1 -0
- package/dist/chunk-UIEJWORW.mjs +1 -0
- package/dist/chunk-VAOUFAUH.mjs +1 -0
- package/dist/chunk-VBOTMRXV.mjs +1 -0
- package/dist/chunk-VCER63GQ.mjs +1 -0
- package/dist/chunk-WAUF2UC7.mjs +2 -0
- package/dist/chunk-WRWRCBLK.mjs +1 -0
- package/dist/chunk-X4XDO3LZ.mjs +1 -0
- package/dist/chunk-XQBCCJBO.mjs +9 -0
- package/dist/chunk-XWUOLYRQ.mjs +2 -0
- package/dist/chunk-XYH6XWP3.mjs +10 -0
- package/dist/chunk-YBIM6UJV.mjs +8 -0
- package/dist/chunk-YCIH2Q3E.mjs +1 -0
- package/dist/chunk-YUOKI2HB.mjs +1 -0
- package/dist/chunk-ZOV5KL7C.mjs +1 -0
- package/dist/colorResolver-n0o7H7ep.d.mts +290 -0
- package/dist/content-sSHuWw49.d.mts +2202 -0
- package/dist/core-plugins.d.mts +37 -0
- package/dist/core-plugins.mjs +1 -0
- package/dist/core.d.mts +451 -0
- package/dist/core.mjs +1 -0
- package/dist/displayListQueries-p-ijSzdh.d.mts +222 -0
- package/dist/docx/index.d.mts +618 -0
- package/dist/docx/index.mjs +2 -0
- package/dist/docx/parser.d.mts +41 -0
- package/dist/docx/parser.mjs +1 -0
- package/dist/docx/rezip.d.mts +148 -0
- package/dist/docx/rezip.mjs +1 -0
- package/dist/docx/serializer/index.d.mts +42 -0
- package/dist/docx/serializer/index.mjs +1 -0
- package/dist/docx/wrapTypes.d.mts +19 -0
- package/dist/docx/wrapTypes.mjs +1 -0
- package/dist/docxInput-DTbCa48g.d.mts +21 -0
- package/dist/editor/index.d.mts +170 -0
- package/dist/editor/index.mjs +1 -0
- package/dist/editorTree-DO5PyDK8.d.mts +37 -0
- package/dist/executor-7O2RBJ2B.mjs +1 -0
- package/dist/fontLoader-Bx6DK6-2.d.mts +327 -0
- package/dist/formatting-DoL7KBSL.d.mts +823 -0
- package/dist/generated/edit/docx_edit_bg.wasm +0 -0
- package/dist/generated/layout/docx_layout_bg.wasm +0 -0
- package/dist/generated/opc/ooxml_opc_bg.wasm +0 -0
- package/dist/generated/parse/docx_parse_bg.wasm +0 -0
- package/dist/headerFooterLayout-0zPT64Qc.d.mts +316 -0
- package/dist/headless.d.mts +69 -0
- package/dist/headless.mjs +1 -0
- package/dist/layout/flow/index.d.mts +149 -0
- package/dist/layout/flow/index.mjs +1 -0
- package/dist/layout/index.d.mts +307 -0
- package/dist/layout/index.mjs +1 -0
- package/dist/layout/measure/index.d.mts +324 -0
- package/dist/layout/measure/index.mjs +1 -0
- package/dist/layout/pagination/index.d.mts +60 -0
- package/dist/layout/pagination/index.mjs +1 -0
- package/dist/layout/pagination/types.d.mts +4 -0
- package/dist/layout/pagination/types.mjs +1 -0
- package/dist/layout/render/index.d.mts +733 -0
- package/dist/layout/render/index.mjs +1 -0
- package/dist/loadWasmAsset-CMvnVkfA.d.mts +3 -0
- package/dist/managers/AutoSaveManager.d.mts +81 -0
- package/dist/managers/AutoSaveManager.mjs +1 -0
- package/dist/managers/TableSelectionManager.d.mts +74 -0
- package/dist/managers/TableSelectionManager.mjs +1 -0
- package/dist/managers/types.d.mts +113 -0
- package/dist/managers/types.mjs +0 -0
- package/dist/mcp-cli.mjs +142 -0
- package/dist/mcp.d.mts +162 -0
- package/dist/mcp.mjs +16 -0
- package/dist/measureBlocksPipeline-Df0Bbrwy.d.mts +109 -0
- package/dist/measuredBlock-DZwz8zhD.d.mts +26 -0
- package/dist/plugin-api/RenderedDomContext.d.mts +114 -0
- package/dist/plugin-api/RenderedDomContext.mjs +1 -0
- package/dist/plugin-api/index.d.mts +7 -0
- package/dist/plugin-api/index.mjs +0 -0
- package/dist/plugin-api/resolveItemPositions.d.mts +39 -0
- package/dist/plugin-api/resolveItemPositions.mjs +1 -0
- package/dist/plugin-api/types.d.mts +193 -0
- package/dist/plugin-api/types.mjs +0 -0
- package/dist/processTemplate-HDUIZFJ5.mjs +1 -0
- package/dist/registry-DMM5VTdT.d.mts +165 -0
- package/dist/rustDisplayList-dqunvwxH.d.mts +1036 -0
- package/dist/rustPagination-Bj2hq013.d.mts +106 -0
- package/dist/sectionConfigs-DW3J8q0X.d.mts +55 -0
- package/dist/selectionContext-Buc9BCU1.d.mts +570 -0
- package/dist/selectiveSave-oFBJ1n71.d.mts +16 -0
- package/dist/selectiveXmlPatch-ypkxlTD_.d.mts +23 -0
- package/dist/settingsParser-CcGvtmCK.d.mts +33 -0
- package/dist/styles/index.d.mts +162 -0
- package/dist/styles/index.mjs +1 -0
- package/dist/styles-VxNcXLdi.d.mts +189 -0
- package/dist/types/agentApi.d.mts +456 -0
- package/dist/types/agentApi.mjs +1 -0
- package/dist/types/content.d.mts +3 -0
- package/dist/types/content.mjs +1 -0
- package/dist/types/document.d.mts +117 -0
- package/dist/types/document.mjs +1 -0
- package/dist/types-DNrYr6yQ.d.mts +1754 -0
- package/dist/types-dYdjUZMo.d.mts +311 -0
- package/dist/units-O5Y02RKQ.d.mts +34 -0
- package/dist/utils/autoScroll.d.mts +24 -0
- package/dist/utils/autoScroll.mjs +1 -0
- package/dist/utils/cardStyles.d.mts +22 -0
- package/dist/utils/cardStyles.mjs +1 -0
- package/dist/utils/comments.d.mts +120 -0
- package/dist/utils/comments.mjs +4 -0
- package/dist/utils/findReplace.d.mts +114 -0
- package/dist/utils/findReplace.mjs +2 -0
- package/dist/utils/findVerticalScrollParent.d.mts +25 -0
- package/dist/utils/findVerticalScrollParent.mjs +1 -0
- package/dist/utils/fontOptions.d.mts +21 -0
- package/dist/utils/fontOptions.mjs +1 -0
- package/dist/utils/headingCollector.d.mts +28 -0
- package/dist/utils/headingCollector.mjs +1 -0
- package/dist/utils/highlightColors.d.mts +14 -0
- package/dist/utils/highlightColors.mjs +1 -0
- package/dist/utils/index.d.mts +956 -0
- package/dist/utils/index.mjs +84 -0
- package/dist/utils/listState.d.mts +27 -0
- package/dist/utils/listState.mjs +1 -0
- package/dist/utils/reportIssue.d.mts +23 -0
- package/dist/utils/reportIssue.mjs +2 -0
- package/dist/utils/sidebarConstants.d.mts +10 -0
- package/dist/utils/sidebarConstants.mjs +1 -0
- package/dist/utils/stylePreview.d.mts +70 -0
- package/dist/utils/stylePreview.mjs +1 -0
- package/dist/utils/textSelection.d.mts +92 -0
- package/dist/utils/textSelection.mjs +1 -0
- package/dist/utils/units.d.mts +78 -0
- package/dist/utils/units.mjs +1 -0
- package/dist/variableDetector-Borj29SF.d.mts +115 -0
- package/dist/wasm-FZQ5XB2Y.mjs +1 -0
- package/dist/wasm-SA237OSP.mjs +1 -0
- package/dist/wasm-edit.d.mts +473 -0
- package/dist/wasm-edit.mjs +1 -0
- package/dist/wasm-layout.d.mts +112 -0
- package/dist/wasm-layout.mjs +1 -0
- package/dist/wasm-opc.d.mts +16 -0
- package/dist/wasm-opc.mjs +1 -0
- package/dist/wasm-parse.d.mts +18 -0
- package/dist/wasm-parse.mjs +1 -0
- package/dist/watermarkApi-DCxjutkg.d.mts +38 -0
- package/dist/yrs/index.d.mts +882 -0
- package/dist/yrs/index.mjs +1 -0
- package/dist/yrs/residentEngineWorker.d.mts +2 -0
- package/dist/yrs/residentEngineWorker.mjs +1 -0
- package/package.json +365 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { I as ImagePrimitive, D as DisplayList, R as RustDisplayListQueryEngine } from './rustDisplayList-dqunvwxH.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Locate an image primitive in a built DisplayList by its document position.
|
|
5
|
+
*
|
|
6
|
+
* The canvas image-selection overlay needs the selected image's page-local
|
|
7
|
+
* rect to place its resize handles, and on the canvas path the painted DOM
|
|
8
|
+
* image (`.layout-run-image`) is parked/hidden — its rect is unusable. The
|
|
9
|
+
* display list carries every inline image as an `ImagePrimitive` stamped with
|
|
10
|
+
* `docStart` (= the image atom's PM position, the same value the DOM path reads
|
|
11
|
+
* from `data-doc-start`), so the primitive found here is the geometry source
|
|
12
|
+
* that replaces `imageInfo.element.getBoundingClientRect()`.
|
|
13
|
+
*
|
|
14
|
+
* Body primitives only: header/footer image primitives carry doc positions in a
|
|
15
|
+
* different PM doc (the HF editor), so a body image pmPos must never match one.
|
|
16
|
+
*
|
|
17
|
+
* @experimental part of the rust-canvas-engine change; shape may evolve.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
type DisplayListImageRegion = 'body' | 'header' | 'footer';
|
|
21
|
+
interface LocatedImagePrimitive {
|
|
22
|
+
primitive: ImagePrimitive;
|
|
23
|
+
/** page the primitive paints on (page-local px are relative to this page) */
|
|
24
|
+
pageIndex: number;
|
|
25
|
+
/** PM-document region containing the image. Undefined reads as body. */
|
|
26
|
+
region?: DisplayListImageRegion;
|
|
27
|
+
/** Header/footer relationship id when `region` is not body. */
|
|
28
|
+
rId?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* First body image primitive whose `docStart` equals `pos`, or null. `pos` is
|
|
32
|
+
* the image node's PM position (a NodeSelection's `from`, or the left edge of a
|
|
33
|
+
* one-atom TextSelection).
|
|
34
|
+
*/
|
|
35
|
+
declare function findImagePrimitiveByDocPos(list: DisplayList, pos: number, region?: DisplayListImageRegion, rId?: string): LocatedImagePrimitive | null;
|
|
36
|
+
/** Topmost positioned image under a page-local point, or null. */
|
|
37
|
+
declare function findImagePrimitiveAtPoint(list: DisplayList, pageIndex: number, x: number, y: number, region?: DisplayListImageRegion, rId?: string): LocatedImagePrimitive | null;
|
|
38
|
+
/**
|
|
39
|
+
* Capture an inline body's authored anchor offsets from display-list geometry.
|
|
40
|
+
* Horizontal position is relative to the page content/column box; vertical
|
|
41
|
+
* position is relative to the containing paragraph fragment. Header/footer
|
|
42
|
+
* images deliberately return undefined until their paragraph/content-origin
|
|
43
|
+
* metadata is part of the display-list contract.
|
|
44
|
+
*/
|
|
45
|
+
declare function captureInlinePositionEmuFromDisplayList(queries: DisplayListQueries, pos: number): {
|
|
46
|
+
horizontalEmu: number;
|
|
47
|
+
verticalEmu: number;
|
|
48
|
+
} | undefined;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Synchronous query facade over a built DisplayList, backed by the Rust
|
|
52
|
+
* hit-testing module (`crates/docx-layout/src/hit.rs`).
|
|
53
|
+
*
|
|
54
|
+
* This is the sole pointer/selection geometry source for the canvas
|
|
55
|
+
* renderer (it replaced the deleted painted-DOM resolvers): geometry comes
|
|
56
|
+
* from the immutable display list, never from DOM rects.
|
|
57
|
+
*
|
|
58
|
+
* Perf model: when the embedded wasm carries the session-handle exports, this
|
|
59
|
+
* facade parses the display list into the Rust store exactly ONCE
|
|
60
|
+
* (`openDisplayList` → handle) and routes every hit-test / range-rect query
|
|
61
|
+
* through the by-handle exports — no per-query re-serialization or re-parse.
|
|
62
|
+
* When those exports are absent (before the integrator re-embeds the wasm) it
|
|
63
|
+
* falls back to the JSON-arg exports, stringifying the list once and reusing
|
|
64
|
+
* the string for every query. Either way the query RESULTS are byte-identical —
|
|
65
|
+
* the handle path is pure perf.
|
|
66
|
+
*
|
|
67
|
+
* Handle lifecycle: the handle is opened once per facade (per display-list
|
|
68
|
+
* build) and released by `dispose()`. Callers that drop the facade without
|
|
69
|
+
* disposing (e.g. a React `useMemo` replacement) are covered by a
|
|
70
|
+
* `FinalizationRegistry` that closes the handle when the facade is collected;
|
|
71
|
+
* the Rust store additionally caps live handles and evicts the oldest, so a
|
|
72
|
+
* missed finalize can never grow memory unbounded.
|
|
73
|
+
*
|
|
74
|
+
* Queries are synchronous; until the lazily-imported wasm module resolves they
|
|
75
|
+
* return `null`/`[]`. In practice the module is already loaded by the time a
|
|
76
|
+
* queries instance exists, because building the display list itself went
|
|
77
|
+
* through the same module (`loadRustDisplayListQueryEngine` shares the promise
|
|
78
|
+
* with `buildRustDisplayList`).
|
|
79
|
+
*
|
|
80
|
+
* @experimental part of the rust-canvas-engine change; shape may evolve.
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
/** Query surface implemented by the editing wasm over its resident list. */
|
|
84
|
+
interface ResidentDisplayListQueryEngine {
|
|
85
|
+
displayHitTestRegionsJson(pageIndex: number, x: number, y: number): string;
|
|
86
|
+
displayRangeRectsJson(from: number, to: number): string;
|
|
87
|
+
displayRangeRectsRegionJson(region: 'body' | 'header' | 'footer', rId: string, from: number, to: number): string;
|
|
88
|
+
}
|
|
89
|
+
/** which part of a page owns a hit — mirrors `HitRegion` in hit.rs */
|
|
90
|
+
type DisplayListHitRegion = 'body' | 'header' | 'footer';
|
|
91
|
+
/**
|
|
92
|
+
* Region-aware hit result. For `header`/`footer` the position refers to the
|
|
93
|
+
* HF ProseMirror doc identified by `rId`, NOT the body doc — the caller must
|
|
94
|
+
* route the selection to that HF editor, exactly like the DOM path scopes
|
|
95
|
+
* clicks to `.layout-page-header|footer`.
|
|
96
|
+
*/
|
|
97
|
+
interface DisplayListRegionHit {
|
|
98
|
+
region: DisplayListHitRegion;
|
|
99
|
+
rId?: string;
|
|
100
|
+
pos: number | null;
|
|
101
|
+
}
|
|
102
|
+
/** one highlight rectangle of a PM range, page-local px */
|
|
103
|
+
interface DisplayListRect {
|
|
104
|
+
pageIndex: number;
|
|
105
|
+
x: number;
|
|
106
|
+
y: number;
|
|
107
|
+
width: number;
|
|
108
|
+
height: number;
|
|
109
|
+
}
|
|
110
|
+
/** Explicit lifecycle of the mandatory Rust query source. */
|
|
111
|
+
type DisplayListQuerySourceState = {
|
|
112
|
+
status: 'loading';
|
|
113
|
+
} | {
|
|
114
|
+
status: 'ready';
|
|
115
|
+
} | {
|
|
116
|
+
status: 'error';
|
|
117
|
+
error: Error;
|
|
118
|
+
};
|
|
119
|
+
/** One paragraph fragment box on one page, in page-local px. */
|
|
120
|
+
interface DisplayListParagraphGeometry extends DisplayListRect {
|
|
121
|
+
from: number;
|
|
122
|
+
to: number;
|
|
123
|
+
blockId?: number | string;
|
|
124
|
+
paraId?: string;
|
|
125
|
+
}
|
|
126
|
+
/** One ordered visual line reconstructed from authoritative primitives. */
|
|
127
|
+
interface DisplayListVisualLine extends DisplayListRect {
|
|
128
|
+
baseline: number;
|
|
129
|
+
from: number;
|
|
130
|
+
to: number;
|
|
131
|
+
blockId?: number | string;
|
|
132
|
+
paraId?: string;
|
|
133
|
+
}
|
|
134
|
+
/** Image primitive plus its explicit page/region geometry. */
|
|
135
|
+
interface DisplayListImageGeometry extends LocatedImagePrimitive {
|
|
136
|
+
rect: DisplayListRect;
|
|
137
|
+
pos: number;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Sync query surface over one immutable DisplayList. A new instance is
|
|
141
|
+
* created per display-list build (the list never mutates in place).
|
|
142
|
+
*/
|
|
143
|
+
interface DisplayListQueries {
|
|
144
|
+
/** the list this instance queries (page sizes, region bands, …) */
|
|
145
|
+
readonly displayList: DisplayList;
|
|
146
|
+
/** false until the wasm module is loaded — queries return null/[] before */
|
|
147
|
+
isReady(): boolean;
|
|
148
|
+
/** Loading/ready/error state for hosts that must not silently fall back. */
|
|
149
|
+
sourceState(): DisplayListQuerySourceState;
|
|
150
|
+
/** Resolves when the Rust query engine is ready; rejects on load failure. */
|
|
151
|
+
whenReady(): Promise<void>;
|
|
152
|
+
pageCount(): number;
|
|
153
|
+
pageSize(pageIndex: number): {
|
|
154
|
+
width: number;
|
|
155
|
+
height: number;
|
|
156
|
+
} | null;
|
|
157
|
+
pageBounds(pageIndex: number): DisplayListRect | null;
|
|
158
|
+
contentBounds(pageIndex: number): DisplayListRect | null;
|
|
159
|
+
columnBounds(pageIndex: number): DisplayListRect[];
|
|
160
|
+
/** Body paragraph fragment boxes containing `pos`, including page splits. */
|
|
161
|
+
paragraphRects(pos: number): DisplayListParagraphGeometry[];
|
|
162
|
+
/** Ordered body visual lines across all pages. */
|
|
163
|
+
visualLines(): readonly DisplayListVisualLine[];
|
|
164
|
+
/** Visual line containing `pos`, or null. */
|
|
165
|
+
visualLineAtPosition(pos: number): DisplayListVisualLine | null;
|
|
166
|
+
/** Topmost image under a page-local point. Body by default. */
|
|
167
|
+
imageAtPoint(pageIndex: number, x: number, y: number, region?: DisplayListHitRegion, rId?: string): DisplayListImageGeometry | null;
|
|
168
|
+
/** Image whose atom starts at `pos`. Body by default. */
|
|
169
|
+
imageByPos(pos: number, region?: DisplayListHitRegion, rId?: string): DisplayListImageGeometry | null;
|
|
170
|
+
/** region-aware point → doc position (page-local coordinates) */
|
|
171
|
+
hitTestRegions(pageIndex: number, x: number, y: number): DisplayListRegionHit | null;
|
|
172
|
+
/** body PM range → highlight rects */
|
|
173
|
+
rangeRects(from: number, to: number): DisplayListRect[];
|
|
174
|
+
/**
|
|
175
|
+
* Header/footer PM range → highlight rects for the region's band. `region` is
|
|
176
|
+
* `'header' | 'footer'`; `rId` identifies the HF ProseMirror doc, and
|
|
177
|
+
* `from`/`to` are positions in THAT doc. The same HF doc paints on every page
|
|
178
|
+
* carrying the part, so this returns one rect-set per such page (each tagged
|
|
179
|
+
* with its `pageIndex`) — the caller picks the page it is editing. Returns
|
|
180
|
+
* `[]` until the region-aware exports are embedded (feature-detected).
|
|
181
|
+
*/
|
|
182
|
+
hfRangeRects(region: 'header' | 'footer', rId: string, from: number, to: number): DisplayListRect[];
|
|
183
|
+
/**
|
|
184
|
+
* Caret geometry for a collapsed HF selection — the HF twin of `caretRect`.
|
|
185
|
+
* Resolves `[pos, pos+1)` in the HF doc (left edge is the caret), falling back
|
|
186
|
+
* to `[pos-1, pos)` (right edge) at end-of-line / end-of-doc. Returns one
|
|
187
|
+
* caret rect per page carrying the part; the caller picks the edited page.
|
|
188
|
+
*/
|
|
189
|
+
hfCaretRects(region: 'header' | 'footer', rId: string, pos: number): DisplayListRect[];
|
|
190
|
+
/** Header/footer sidebar anchors, one per page carrying the part. */
|
|
191
|
+
hfAnchorRects(region: 'header' | 'footer', rId: string, pos: number): DisplayListRect[];
|
|
192
|
+
/**
|
|
193
|
+
* Caret geometry for a collapsed body selection: the collapsed-range rect.
|
|
194
|
+
* Resolves `[pos, pos+1)` first (rect's left edge is the caret), then falls
|
|
195
|
+
* back to `[pos-1, pos)` using the right edge (end-of-doc / end-of-line).
|
|
196
|
+
*/
|
|
197
|
+
caretRect(pos: number): DisplayListRect | null;
|
|
198
|
+
/**
|
|
199
|
+
* Anchor geometry for sidebar markers: like `caretRect` but scans
|
|
200
|
+
* `[pos, pos+2)` forward first so *node* positions (paragraph/table
|
|
201
|
+
* markers carrying structural tracked-change attrs) resolve to their first
|
|
202
|
+
* content line instead of the previous block's tail.
|
|
203
|
+
*/
|
|
204
|
+
anchorRect(pos: number): DisplayListRect | null;
|
|
205
|
+
/** Explicit body-sidebar alias retained alongside `anchorRect`. */
|
|
206
|
+
sidebarAnchorRect(pos: number): DisplayListRect | null;
|
|
207
|
+
/**
|
|
208
|
+
* Release the wasm session handle backing this facade. Idempotent; safe to
|
|
209
|
+
* call even when no handle was opened (JSON-arg fallback path). Callers that
|
|
210
|
+
* forget are covered by a `FinalizationRegistry`, but disposing eagerly frees
|
|
211
|
+
* the parsed display list in the Rust store immediately.
|
|
212
|
+
*/
|
|
213
|
+
dispose(): void;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Build a query facade for one display list. The optional `engine` makes the
|
|
217
|
+
* facade synchronous and deterministic in tests; without it the shared wasm
|
|
218
|
+
* module is loaded lazily and queries no-op (`null`/`[]`) until it resolves.
|
|
219
|
+
*/
|
|
220
|
+
declare function createDisplayListQueries(list: DisplayList, engine?: RustDisplayListQueryEngine | ResidentDisplayListQueryEngine): DisplayListQueries;
|
|
221
|
+
|
|
222
|
+
export { type DisplayListRect as D, type LocatedImagePrimitive as L, type ResidentDisplayListQueryEngine as R, type DisplayListQueries as a, type DisplayListRegionHit as b, type DisplayListHitRegion as c, type DisplayListImageGeometry as d, type DisplayListImageRegion as e, type DisplayListParagraphGeometry as f, type DisplayListQuerySourceState as g, type DisplayListVisualLine as h, captureInlinePositionEmuFromDisplayList as i, createDisplayListQueries as j, findImagePrimitiveAtPoint as k, findImagePrimitiveByDocPos as l };
|