@docx-editor.dev/core 2.19.1 → 2.21.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 +11 -32
- package/dist/automation.cjs +1 -1
- package/dist/automation.d.ts +11 -9
- package/dist/automation.js +1 -1
- package/dist/binding.cjs +1 -1
- package/dist/binding.d.ts +9 -10
- package/dist/binding.js +1 -1
- package/dist/chunk-44LQJIKH.cjs +20 -0
- package/dist/chunk-4EHMMSFR.cjs +1 -0
- package/dist/chunk-AFG7Q622.cjs +2 -0
- package/dist/chunk-AJCCS53D.js +1 -0
- package/dist/chunk-AYMSP25Q.js +4 -0
- package/dist/{chunk-GWW5FOLJ.cjs → chunk-B4KZSKF7.cjs} +5 -5
- package/dist/chunk-BDAY2ETZ.js +1 -0
- package/dist/chunk-BNZF6DYC.cjs +18 -0
- package/dist/chunk-BQXF2PFF.js +2 -0
- package/dist/chunk-GIHKVXEO.js +2 -0
- package/dist/chunk-ITNK6C5M.cjs +3 -0
- package/dist/chunk-MP3K4LC5.js +1 -0
- package/dist/chunk-MXOO7KRI.cjs +11 -0
- package/dist/chunk-NG6IQ4SI.js +11 -0
- package/dist/{chunk-NIVIC7PA.cjs → chunk-PYXMAUNR.cjs} +1 -1
- package/dist/chunk-Q2B6HX3R.js +1 -0
- package/dist/chunk-Q5JPPUNR.js +5 -0
- package/dist/chunk-S35UK656.cjs +2 -0
- package/dist/chunk-S6J4O5XP.js +1 -0
- package/dist/chunk-TE43S3LX.cjs +1 -0
- package/dist/chunk-TKQH7BNE.cjs +1 -0
- package/dist/chunk-UKVVUHZL.cjs +1 -0
- package/dist/chunk-VH2DLEZK.js +20 -0
- package/dist/{chunk-BUNY5MRX.js → chunk-VUNFWXHF.js} +1 -1
- package/dist/{chunk-JWHXOJEU.cjs → chunk-WQFNWLNY.cjs} +3 -3
- package/dist/chunk-WZX4UGRQ.js +3 -0
- package/dist/{chunk-2QU7QTM7.js → chunk-X5QNSISI.js} +1 -1
- package/dist/chunk-XS4FOHH6.js +18 -0
- package/dist/{chunk-7VO6BLKV.cjs → chunk-XZY4Q6PJ.cjs} +1 -1
- package/dist/{chunk-76F73CY6.cjs → chunk-Z2ETEZRU.cjs} +1 -1
- package/dist/collaboration/replication.cjs +1 -1
- package/dist/collaboration/replication.d.ts +13 -4
- package/dist/collaboration/replication.js +1 -1
- package/dist/collaboration.d.ts +4 -3
- package/dist/contracts/document.d.ts +3 -2
- package/dist/contracts/editor.cjs +1 -1
- package/dist/contracts/editor.d.ts +9 -10
- package/dist/contracts/editor.js +1 -1
- package/dist/contracts/interaction.d.ts +2 -2
- package/dist/contracts/modules.cjs +1 -1
- package/dist/contracts/modules.d.ts +9 -9
- package/dist/contracts/modules.js +1 -1
- package/dist/contracts/types.d.ts +2 -562
- package/dist/{custom-node-writes-BqIv94ei.d.ts → custom-node-writes-05qS32px.d.ts} +2 -2
- package/dist/{document-protection-BL5zp8cU.d.ts → document-protection-Cr59VKLO.d.ts} +1 -1
- package/dist/{editor-WXbTSXx1.d.ts → editor-BsLSz_7y.d.ts} +43 -39
- package/dist/editor-scope-OHPwVQ5l.d.ts +84 -0
- package/dist/editor.cjs +1 -1
- package/dist/editor.css +1 -1
- package/dist/editor.d.ts +130 -29
- package/dist/editor.js +1 -1
- package/dist/export.cjs +2 -2
- package/dist/export.d.ts +13 -14
- package/dist/export.js +1 -1
- package/dist/{font-resolver-BSrKnTeR.d.ts → font-resolver-CzwdBJDE.d.ts} +1 -1
- package/dist/{headless-document-view-C4ttQJ5H.d.ts → headless-document-view-B7nAiR7P.d.ts} +2 -2
- package/dist/image-resources-C4ilLzog.d.ts +210 -0
- package/dist/{index-C3As-Xxp.d.ts → index-zkvqBQ9o.d.ts} +117 -27
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +18 -19
- package/dist/index.js +1 -1
- package/dist/{layout-shaping-Dqu3JW3p.d.ts → layout-shaping-BJKVTI6i.d.ts} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.d.ts +72 -20
- package/dist/layout.js +1 -1
- package/dist/{note-properties-RjYgbmXe.d.ts → note-properties-MNztEj5s.d.ts} +2 -2
- package/dist/{omml-equation-hcP9AUFX.d.ts → omml-equation-CbnW9yXd.d.ts} +1 -1
- package/dist/output.cjs +1 -1
- package/dist/output.d.ts +8 -7
- package/dist/output.js +1 -1
- package/dist/{protocol-OdRd17KZ.d.ts → protocol-Co_r0SZQ.d.ts} +14 -4
- package/dist/{review-paragraph-order--jLHXIcd.d.ts → review-paragraph-order-EFaU7TqH.d.ts} +2 -3
- package/dist/{revision-projection-BIHO_qvw.d.ts → revision-projection-DEIvpxiq.d.ts} +16 -2
- package/dist/{semantic-cell-selection-lCYAVCCF.d.ts → semantic-cell-selection-DXmfnDCw.d.ts} +9 -4
- package/dist/{semantic-interaction-0vQXcMZk.d.ts → semantic-interaction-BLu3M6Nn.d.ts} +1 -1
- package/dist/{semantic-paint-BSan4pBk.d.ts → semantic-paint-CPsihA6k.d.ts} +18 -2
- package/dist/{semantic-records-ZcYuB4-H.d.ts → semantic-records-CqD0b5Ex.d.ts} +147 -6
- package/dist/store.cjs +1 -1
- package/dist/store.d.ts +462 -428
- package/dist/store.js +1 -1
- package/dist/{tree-package-fragment-1pdDnhZ_.d.ts → tree-package-fragment-CwJDixNs.d.ts} +44 -3
- package/dist/{tree-session-contract-Cgn6fQ-M.d.ts → tree-session-contract-D9RRWE0C.d.ts} +8 -8
- package/dist/{tree-op-types-DbdM7fJV.d.ts → types-barrel-DLB11iSY.d.ts} +1455 -660
- package/package.json +2 -2
- package/dist/chunk-3JKOZBQ3.cjs +0 -1
- package/dist/chunk-3SU7UWCR.js +0 -1
- package/dist/chunk-5BI4SIHO.cjs +0 -1
- package/dist/chunk-6ESSCMXL.js +0 -2
- package/dist/chunk-6W4DIR4X.cjs +0 -2
- package/dist/chunk-AKQRKR2H.js +0 -1
- package/dist/chunk-BJQDNKEX.js +0 -5
- package/dist/chunk-D5EHDHYV.js +0 -1
- package/dist/chunk-FBWBSHC4.cjs +0 -11
- package/dist/chunk-GOEBQ26R.js +0 -1
- package/dist/chunk-IA7WTZHI.js +0 -11
- package/dist/chunk-IXGUCLER.js +0 -20
- package/dist/chunk-NDPLQG4Y.cjs +0 -18
- package/dist/chunk-NLGUL6QL.js +0 -3
- package/dist/chunk-OHJQ7GPZ.cjs +0 -1
- package/dist/chunk-OWUSDS3L.cjs +0 -20
- package/dist/chunk-RDKPMNN6.cjs +0 -2
- package/dist/chunk-TSDGKNV7.js +0 -2
- package/dist/chunk-TUCDPXBD.js +0 -18
- package/dist/chunk-UOE4WKL7.js +0 -1
- package/dist/chunk-VSCPFHTD.cjs +0 -3
- package/dist/chunk-ZKWRCLT2.cjs +0 -1
- package/dist/chunk-ZUGTEKLM.js +0 -4
- package/dist/editor-scope-DZJT4ukT.d.ts +0 -53
- package/dist/review-items-CJz-kAW8.d.ts +0 -370
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { C as CommentRecord } from './review-items-CJz-kAW8.js';
|
|
1
|
+
import { i as OoxmlNode, a1 as OoxmlElement, a2 as OoxmlContentControlNode, V as OoxmlGenericElementNode, a3 as OoxmlContentControlContentNode, C as CommentRecord, O as OoxmlPart } from './types-barrel-DLB11iSY.js';
|
|
3
2
|
|
|
4
3
|
/** Nested content-control wrappers deeper than this stop flattening; content stays preserved. */
|
|
5
4
|
declare const MAX_CONTENT_CONTROL_NESTING = 32;
|
|
@@ -76,4 +75,4 @@ declare function paragraphOrderOfPart(part: OoxmlPart): ReadonlyMap<string, numb
|
|
|
76
75
|
*/
|
|
77
76
|
declare function deepParagraphOrderOfPart(part: OoxmlPart): ReadonlyMap<string, number>;
|
|
78
77
|
|
|
79
|
-
export { MAX_CONTENT_CONTROL_NESTING as M, commentBodyText as a, commentInitials as b, collectFlowBlocks as c,
|
|
78
|
+
export { MAX_CONTENT_CONTROL_NESTING as M, commentBodyText as a, commentInitials as b, collectFlowBlocks as c, contentControlContentOf as d, deepParagraphOrderOfPart as e, isContentControlContent as f, walkParagraphInline as g, walkStoryBlocks as h, isContentControl as i, contentControlContentChildren as j, paragraphOrderOfPart as p, walkAllStoryParagraphs as w };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as OoxmlNode } from './types-barrel-DLB11iSY.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* What a revision wrapper asserts about the content inside it.
|
|
@@ -37,6 +37,12 @@ interface RevisionAttribution {
|
|
|
37
37
|
* them testable, without either applying an op.
|
|
38
38
|
*/
|
|
39
39
|
type RevisionDisplayMode = 'all-markup' | 'proposed' | 'original';
|
|
40
|
+
/**
|
|
41
|
+
* The views the review chrome offers, in Word's terms: the three layout projections plus
|
|
42
|
+
* Simple Markup, which reads as the proposed result with a red change bar beside every line
|
|
43
|
+
* a change touched — the document as accepting everything would leave it, and where.
|
|
44
|
+
*/
|
|
45
|
+
type ReviewDisplayMode = RevisionDisplayMode | 'simple-markup';
|
|
40
46
|
/**
|
|
41
47
|
* How a document renders tracked changes when nothing says otherwise.
|
|
42
48
|
*
|
|
@@ -58,6 +64,14 @@ interface RevisionFilter {
|
|
|
58
64
|
readonly includesNode?: (nodeId: string, author: string) => boolean;
|
|
59
65
|
/** Accepted/original projection for a revision excluded by `includesNode`. */
|
|
60
66
|
readonly excludedNodeMode?: (nodeId: string, author: string) => 'proposed' | 'original';
|
|
67
|
+
/**
|
|
68
|
+
* In a resolved view, content the view keeps paints as ORDINARY text: no author ink, no
|
|
69
|
+
* decoration, no change bar of its own. This is Word's No Markup, Original and Simple
|
|
70
|
+
* Markup, which the review chrome asks for. Without it the accepted projection keeps the
|
|
71
|
+
* attribution on kept insertions, which is what the engine paints when no review module
|
|
72
|
+
* is registered — colour by author, deletions resolved — and what its roster reads.
|
|
73
|
+
*/
|
|
74
|
+
readonly resolvedMarkup?: 'plain';
|
|
61
75
|
readonly cacheKey: string;
|
|
62
76
|
}
|
|
63
77
|
/** @deprecated Use {@link RevisionFilter}. */
|
|
@@ -153,4 +167,4 @@ declare function formatRevisionOf(properties: readonly {
|
|
|
153
167
|
/** True when this stack of revisions marks its content as deleted from the live document. */
|
|
154
168
|
declare function revisionsAreDeletion(revisions: readonly RevisionAttribution[]): boolean;
|
|
155
169
|
|
|
156
|
-
export { DEFAULT_REVISION_DISPLAY_MODE as D, type
|
|
170
|
+
export { DEFAULT_REVISION_DISPLAY_MODE as D, type ReviewDisplayMode as R, type RevisionDisplayMode as a, type RevisionAuthorFilter as b, type RevisionAttribution as c, type RevisionFilter as d, type RevisionKind as e, formatRevisionOf as f, paragraphMarkRevisionOf as g, paragraphMarkRevisionsOf as h, revisionsAreDeletion as i, revisionsVisible as j, markRevisionRemovesMark as m, paragraphMarkFormatRevisionOf as p, revisionAuthorFilter as r, shownMarkRevision as s };
|
package/dist/{semantic-cell-selection-lCYAVCCF.d.ts → semantic-cell-selection-DXmfnDCw.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { O as OoxmlPart,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { S as SemanticPosition, C as CaretGeometry, a as SemanticSelection } from './semantic-interaction-
|
|
1
|
+
import { O as OoxmlPart, a1 as OoxmlElement, i as OoxmlNode } from './types-barrel-DLB11iSY.js';
|
|
2
|
+
import { a as RevisionDisplayMode, b as RevisionAuthorFilter } from './revision-projection-DEIvpxiq.js';
|
|
3
|
+
import { b as SectionPageBorders, P as PageGeometry, I as InlineDrawingRecord, A as AnchoredDrawingRecord, T as TextMeasurer, L as LineRecord, a as StyleSpanRecord, S as SemanticLayout, C as ContentControlBoundaryRecord, c as TableRowFragmentRecord, d as TableCellFragmentRecord } from './semantic-records-CqD0b5Ex.js';
|
|
4
|
+
import { S as SemanticPosition, C as CaretGeometry, a as SemanticSelection } from './semantic-interaction-BLu3M6Nn.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Hard ceiling on sections enumerated from a document (matches write-path
|
|
@@ -94,6 +94,11 @@ interface SectionProperties {
|
|
|
94
94
|
* element is present with no attributes (comprehensive-fixture shape).
|
|
95
95
|
*/
|
|
96
96
|
readonly pageNumbering?: SectionPageNumbering;
|
|
97
|
+
/**
|
|
98
|
+
* Resolved `w:pgBorders` (§17.6.10). Absent when the section declares none, or when every
|
|
99
|
+
* edge it declares is off or an art border — see {@link parsePageBorders}.
|
|
100
|
+
*/
|
|
101
|
+
readonly pageBorders?: SectionPageBorders;
|
|
97
102
|
}
|
|
98
103
|
/**
|
|
99
104
|
* One section of the body story: contiguous top-level blocks plus the properties that end it.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { T as TextMeasurer, S as SemanticLayout, B as BlockFragmentRecord, C as ContentControlBoundaryRecord, a as StyleSpanRecord } from './semantic-records-
|
|
1
|
+
import { T as TextMeasurer, S as SemanticLayout, B as BlockFragmentRecord, C as ContentControlBoundaryRecord, a as StyleSpanRecord } from './semantic-records-CqD0b5Ex.js';
|
|
2
2
|
|
|
3
3
|
/** A caret position in the model. */
|
|
4
4
|
interface SemanticPosition {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as ContentControlBoundaryRecord, S as SemanticLayout } from './semantic-records-
|
|
2
|
-
import { V as ValidatedImageBytesHandle,
|
|
1
|
+
import { C as ContentControlBoundaryRecord, S as SemanticLayout } from './semantic-records-CqD0b5Ex.js';
|
|
2
|
+
import { V as ValidatedImageBytesHandle, R as RenderableImageMime } from './image-resources-C4ilLzog.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Everything a host can say about ONE author's presentation. Every field is optional and
|
|
@@ -120,6 +120,9 @@ interface DrawingPaintStrings {
|
|
|
120
120
|
readonly pendingResource: string;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
+
/** Which bars a paint draws: the view's own, or none for the resolved views. */
|
|
124
|
+
type ChangeBarsMode = 'all-markup' | 'simple-markup' | 'none';
|
|
125
|
+
|
|
123
126
|
/**
|
|
124
127
|
* When a field's result is drawn on its grey block, following Word's own View option.
|
|
125
128
|
*
|
|
@@ -176,6 +179,19 @@ interface PaintOptions {
|
|
|
176
179
|
* See {@link RevisionStyles}.
|
|
177
180
|
*/
|
|
178
181
|
readonly revisionStyles?: RevisionStyles;
|
|
182
|
+
/**
|
|
183
|
+
* Which change bars the margin draws: All Markup's neutral rule beside attributed lines
|
|
184
|
+
* (the default, whatever the layout's projection — a layout that carries attribution gets
|
|
185
|
+
* its bars), Simple Markup's red rule beside the change sites a resolved layout published,
|
|
186
|
+
* or none, which the review chrome names for its resolved views.
|
|
187
|
+
*/
|
|
188
|
+
readonly changeBars?: ChangeBarsMode;
|
|
189
|
+
/**
|
|
190
|
+
* Whether a change bar takes the pointer as Word's does — a click swaps Simple and All
|
|
191
|
+
* Markup. Only a host that can act on the press should set it; the bars stay inert
|
|
192
|
+
* furniture otherwise.
|
|
193
|
+
*/
|
|
194
|
+
readonly changeBarsToggle?: boolean;
|
|
179
195
|
/**
|
|
180
196
|
* Relationship id of the header/footer story currently open for editing.
|
|
181
197
|
*
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { c as RevisionAttribution, a as RevisionDisplayMode, b as RevisionAuthorFilter } from './revision-projection-DEIvpxiq.js';
|
|
2
|
+
import { a0 as OoxmlProperty, a1 as OoxmlElement, i as OoxmlNode, O as OoxmlPart, aG as TableBorderStyle, aH as DrawingAccessibility, aI as DrawingImageEffects, a7 as SourceCrop, aJ as DrawingTransform, aK as VectorShapeProjection, ai as DrawingHorizontalReferenceFrame, aj as DrawingVerticalReferenceFrame, a9 as ImageWrapTarget, a4 as DrawingProjection, aL as OoxmlDrawingNode } from './types-barrel-DLB11iSY.js';
|
|
3
|
+
import { I as ImageResourceState } from './image-resources-C4ilLzog.js';
|
|
4
|
+
import { O as OmmlEquationProjection } from './omml-equation-CbnW9yXd.js';
|
|
4
5
|
|
|
5
6
|
/** Soft ceiling on abstractNum / num entries read from one part. */
|
|
6
7
|
declare const MAX_NUMBERING_DEFINITIONS = 512;
|
|
@@ -930,7 +931,7 @@ interface RefFieldSpec {
|
|
|
930
931
|
readonly bookmark: string;
|
|
931
932
|
/** `r` / `w` paint the target's number; `n` the same without context; null the range text. */
|
|
932
933
|
readonly numberSwitch: 'r' | 'w' | 'n' | null;
|
|
933
|
-
/** `\h`
|
|
934
|
+
/** `\h` marks a reference whose displayed result links to its bookmark. */
|
|
934
935
|
readonly hyperlink: boolean;
|
|
935
936
|
}
|
|
936
937
|
/**
|
|
@@ -1064,6 +1065,23 @@ interface FieldAtomMarker {
|
|
|
1064
1065
|
* turns it off — because they mark the blanks somebody is meant to fill in.
|
|
1065
1066
|
*/
|
|
1066
1067
|
readonly formField: boolean;
|
|
1068
|
+
/**
|
|
1069
|
+
* A legacy form CONTROL the reader can operate, with the state it paints.
|
|
1070
|
+
*
|
|
1071
|
+
* Checkboxes carry their checked state; dropdowns carry their declared entries and index.
|
|
1072
|
+
* Paint supplies a matching hit target without parsing the displayed text back.
|
|
1073
|
+
*/
|
|
1074
|
+
readonly formControl?: {
|
|
1075
|
+
readonly kind: 'checkbox';
|
|
1076
|
+
readonly checked: boolean;
|
|
1077
|
+
/** Plain accessible name; omitted for fields containing macro references. */
|
|
1078
|
+
readonly accessibleName?: string;
|
|
1079
|
+
} | {
|
|
1080
|
+
readonly kind: 'dropdown';
|
|
1081
|
+
readonly entries: readonly string[];
|
|
1082
|
+
readonly selectedIndex: number;
|
|
1083
|
+
readonly accessibleName?: string;
|
|
1084
|
+
};
|
|
1067
1085
|
/**
|
|
1068
1086
|
* A BODY PAGE / NUMPAGES / SECTIONPAGES atom whose value depends on pagination.
|
|
1069
1087
|
*
|
|
@@ -2183,6 +2201,8 @@ interface SemanticTableRow {
|
|
|
2183
2201
|
readonly revisionId?: string;
|
|
2184
2202
|
readonly revisionAuthor?: string;
|
|
2185
2203
|
readonly revisionDate?: string;
|
|
2204
|
+
/** The row insertion a resolved view kept the row through; see the fragment record. */
|
|
2205
|
+
readonly changeSites?: readonly RevisionAttribution[];
|
|
2186
2206
|
/** `w:trPr/w:tblHeader` — the row repeats atop each page the table continues onto. */
|
|
2187
2207
|
readonly isHeader: boolean;
|
|
2188
2208
|
/**
|
|
@@ -2300,6 +2320,65 @@ interface EquationSpanRecord {
|
|
|
2300
2320
|
/** Compose one bounded OMML projection into paint-ready point geometry. */
|
|
2301
2321
|
declare function layoutEquation(projection: OmmlEquationProjection, measurer: TextMeasurer, style: ResolvedRunStyle): EquationSpanRecord;
|
|
2302
2322
|
|
|
2323
|
+
/**
|
|
2324
|
+
* The four physical sides of `CT_PageBorders`.
|
|
2325
|
+
*
|
|
2326
|
+
* Four, not the six of `w:pBdr`: `w:between` and `w:bar` are paragraph-group rules and the
|
|
2327
|
+
* page has no analogue for either.
|
|
2328
|
+
*/
|
|
2329
|
+
declare const PAGE_BORDER_SIDES: readonly ["top", "left", "bottom", "right"];
|
|
2330
|
+
/** Which of the four page-frame edges. */
|
|
2331
|
+
type PageBorderSide = (typeof PAGE_BORDER_SIDES)[number];
|
|
2332
|
+
/**
|
|
2333
|
+
* `w:offsetFrom` (`ST_PgBorderOffset`) — what `w:space` on each edge is measured from.
|
|
2334
|
+
*
|
|
2335
|
+
* The schema default is `text`, NOT `page`. Word's own UI opens on "Edge of page", which is
|
|
2336
|
+
* why the wrong default is easy to assume and expensive to hold: at `text` the rule sits
|
|
2337
|
+
* `w:space` points outside the TEXT, so its distance from the sheet edge is the margin minus
|
|
2338
|
+
* the space — a number that moves whenever the margins do.
|
|
2339
|
+
*/
|
|
2340
|
+
type PageBorderOffsetFrom = 'page' | 'text';
|
|
2341
|
+
/** `w:display` (`ST_PgBorderDisplay`) — which pages of the section carry the frame. */
|
|
2342
|
+
type PageBorderDisplay = 'allPages' | 'firstPage' | 'notFirstPage';
|
|
2343
|
+
/** `w:zOrder` (`ST_PgBorderZOrder`) — whether the frame paints over the text or under it. */
|
|
2344
|
+
type PageBorderZOrder = 'front' | 'back';
|
|
2345
|
+
/**
|
|
2346
|
+
* One section's resolved `w:pgBorders`.
|
|
2347
|
+
*
|
|
2348
|
+
* Resolved, not raw: every attribute the file omitted is filled in with the SCHEMA default,
|
|
2349
|
+
* so a consumer never has to know which of the three were authored. An edge is present only
|
|
2350
|
+
* when it paints — `nil` / `none` and art borders are already gone (see {@link parsePageBorders}).
|
|
2351
|
+
*/
|
|
2352
|
+
interface SectionPageBorders {
|
|
2353
|
+
/** `w:offsetFrom`; absent attribute reads as `text` (§17.6.10). */
|
|
2354
|
+
readonly offsetFrom: PageBorderOffsetFrom;
|
|
2355
|
+
/** `w:display`; absent attribute reads as `allPages`. */
|
|
2356
|
+
readonly display: PageBorderDisplay;
|
|
2357
|
+
/** `w:zOrder`; absent attribute reads as `front`. */
|
|
2358
|
+
readonly zOrder: PageBorderZOrder;
|
|
2359
|
+
readonly top?: ParagraphBorderEdge;
|
|
2360
|
+
readonly left?: ParagraphBorderEdge;
|
|
2361
|
+
readonly bottom?: ParagraphBorderEdge;
|
|
2362
|
+
readonly right?: ParagraphBorderEdge;
|
|
2363
|
+
}
|
|
2364
|
+
/**
|
|
2365
|
+
* Parse `w:pgBorders` off one `w:sectPr`.
|
|
2366
|
+
*
|
|
2367
|
+
* Undefined when the element is absent AND when it paints nothing — every edge off, or every
|
|
2368
|
+
* edge an art border. Unlike `w:pgNumType`, an empty-but-present element is not distinguished:
|
|
2369
|
+
* these properties are a LAYOUT input, serialization re-emits the canonical tree, and a frame
|
|
2370
|
+
* with no edges has exactly one meaning downstream.
|
|
2371
|
+
*/
|
|
2372
|
+
declare function parsePageBorders(sectPr: OoxmlNode): SectionPageBorders | undefined;
|
|
2373
|
+
/**
|
|
2374
|
+
* Identity of one section's page frame, for incremental-layout context keys.
|
|
2375
|
+
*
|
|
2376
|
+
* A `w:pgBorders` edit changes nothing the flow measures — the frame is drawn beside the text,
|
|
2377
|
+
* never through it — so no per-paragraph key moves and every reuse path would hand back the
|
|
2378
|
+
* previous sheets with the previous frame. This token goes in the pass context so it does not.
|
|
2379
|
+
*/
|
|
2380
|
+
declare function pageBordersFingerprint(borders: SectionPageBorders | undefined): string;
|
|
2381
|
+
|
|
2303
2382
|
/** Published root story containing an artifact occurrence. @public */
|
|
2304
2383
|
type SemanticArtifactRootStoryKind = 'body' | 'header' | 'footer' | 'footnote' | 'endnote' | 'note-separator';
|
|
2305
2384
|
/** Exact story in which a review artifact's source anchor was laid out. @public */
|
|
@@ -2427,6 +2506,36 @@ interface ParagraphBorderStrokeRecord {
|
|
|
2427
2506
|
readonly edge: ParagraphBorderEdge;
|
|
2428
2507
|
readonly box: LayoutBox;
|
|
2429
2508
|
}
|
|
2509
|
+
/**
|
|
2510
|
+
* One `w:pgBorders` rule as layout published it.
|
|
2511
|
+
*
|
|
2512
|
+
* `box` is the stroke rectangle in PAGE-BOX-relative points — measured from the sheet's own
|
|
2513
|
+
* top-left, not from the document-stacked absolute origin and not from the content box. That
|
|
2514
|
+
* is what lets a reused sheet move down the stack (`remapPage`) without the frame being
|
|
2515
|
+
* recomputed or shifted: the frame's place on the paper never depended on where the paper is.
|
|
2516
|
+
*
|
|
2517
|
+
* Paint MUST NOT re-derive the inset. `w:offsetFrom` decides whether `w:space` counts from the
|
|
2518
|
+
* sheet edge or from the text, and resolving that needs the section margins, which is layout's
|
|
2519
|
+
* to know — the same division `columnSeparators` already draws.
|
|
2520
|
+
*/
|
|
2521
|
+
interface PageBorderStrokeRecord {
|
|
2522
|
+
readonly side: PageBorderSide;
|
|
2523
|
+
readonly edge: ParagraphBorderEdge;
|
|
2524
|
+
readonly box: LayoutBox;
|
|
2525
|
+
}
|
|
2526
|
+
/**
|
|
2527
|
+
* The page frame on one sheet, already filtered by `w:display`.
|
|
2528
|
+
*
|
|
2529
|
+
* Present only on the pages that actually carry it, so a consumer holding a single page record
|
|
2530
|
+
* needs no section context to know what to draw. `display` rides along because a sheet MINTED
|
|
2531
|
+
* after layout (note overflow) has to decide whether it inherits its template's frame, and a
|
|
2532
|
+
* `firstPage` frame is the one that must not be inherited.
|
|
2533
|
+
*/
|
|
2534
|
+
interface PageBorderFrameRecord {
|
|
2535
|
+
readonly zOrder: PageBorderZOrder;
|
|
2536
|
+
readonly display: PageBorderDisplay;
|
|
2537
|
+
readonly strokes: readonly PageBorderStrokeRecord[];
|
|
2538
|
+
}
|
|
2430
2539
|
/**
|
|
2431
2540
|
* The hyperlink a span sits inside, as layout resolved it.
|
|
2432
2541
|
*
|
|
@@ -2535,6 +2644,14 @@ interface StyleSpanRecord {
|
|
|
2535
2644
|
* could disagree with what was painted, and the card would point at the wrong text.
|
|
2536
2645
|
*/
|
|
2537
2646
|
readonly revisions?: readonly RevisionAttribution[];
|
|
2647
|
+
/**
|
|
2648
|
+
* The revisions a resolved view accepted into this text, which paints as ordinary text.
|
|
2649
|
+
*
|
|
2650
|
+
* Absent in All Markup, where {@link revisions} carries the markup instead, and absent for
|
|
2651
|
+
* text no included revision touched. The Simple Markup change bar is its only reader; nothing
|
|
2652
|
+
* inline draws from it.
|
|
2653
|
+
*/
|
|
2654
|
+
readonly changeSites?: readonly RevisionAttribution[];
|
|
2538
2655
|
/**
|
|
2539
2656
|
* Present when this span is a field's displayed RESULT, for the shading Word draws under one.
|
|
2540
2657
|
*
|
|
@@ -2650,6 +2767,16 @@ interface LineRecord {
|
|
|
2650
2767
|
* attributions the display mode lays out are recorded, matching the published records.
|
|
2651
2768
|
*/
|
|
2652
2769
|
readonly anchorRevisions?: readonly RevisionAttribution[];
|
|
2770
|
+
/**
|
|
2771
|
+
* Revisions a resolved view answered on this line — content it kept as ordinary text and
|
|
2772
|
+
* content it removed between the line's offsets — absent when there are none, and always
|
|
2773
|
+
* absent in All Markup, where the spans carry the markup themselves.
|
|
2774
|
+
*
|
|
2775
|
+
* What Simple Markup's change bar draws beside the line. Nothing inline reads it: the view
|
|
2776
|
+
* shows the document as accepting every change would leave it, and the bar in the margin is
|
|
2777
|
+
* the one place that still says the line changed.
|
|
2778
|
+
*/
|
|
2779
|
+
readonly changeSites?: readonly RevisionAttribution[];
|
|
2653
2780
|
}
|
|
2654
2781
|
/**
|
|
2655
2782
|
* A paragraph's resolved indent in points, in the vocabulary `w:ind` uses.
|
|
@@ -2795,6 +2922,13 @@ interface ParagraphFragmentRecord {
|
|
|
2795
2922
|
* no place on the page to point at.
|
|
2796
2923
|
*/
|
|
2797
2924
|
readonly markFormatRevision?: RevisionAttribution;
|
|
2925
|
+
/**
|
|
2926
|
+
* The decisions a resolved view answered on this paragraph's MARK: an inserted break it
|
|
2927
|
+
* kept, a paragraph-property change or a mark-property change it accepted. Final fragment
|
|
2928
|
+
* only, resolved views only; absent when there are none. A removed break merges its
|
|
2929
|
+
* paragraph away and reports on the join line instead (see {@link LineRecord.changeSites}).
|
|
2930
|
+
*/
|
|
2931
|
+
readonly markChangeSites?: readonly RevisionAttribution[];
|
|
2798
2932
|
/**
|
|
2799
2933
|
* List marker painted in the hanging-indent slot of the FIRST fragment only.
|
|
2800
2934
|
*
|
|
@@ -2895,6 +3029,11 @@ interface TableRowFragmentRecord {
|
|
|
2895
3029
|
readonly revisionId?: string;
|
|
2896
3030
|
readonly revisionAuthor?: string;
|
|
2897
3031
|
readonly revisionDate?: string;
|
|
3032
|
+
/**
|
|
3033
|
+
* The row insertion a resolved view kept this row through, absent in All Markup (where
|
|
3034
|
+
* {@link revisionKind} carries it) and for an untracked row. A removed row has no record.
|
|
3035
|
+
*/
|
|
3036
|
+
readonly changeSites?: readonly RevisionAttribution[];
|
|
2898
3037
|
/** Authored row ordinal within the table; repeats share the original row's index. */
|
|
2899
3038
|
readonly rowIndex: number;
|
|
2900
3039
|
/** True when the authored row resolves `w:tblHeader`, including its first occurrence. */
|
|
@@ -3068,7 +3207,7 @@ type ContentControlLock = 'unlocked' | 'sdtLocked' | 'contentLocked' | 'sdtConte
|
|
|
3068
3207
|
* Mapped control type for layout / chrome — same members as the shipped public
|
|
3069
3208
|
* `ContentControlType`. Untyped and preserved-only kinds report as `richText`.
|
|
3070
3209
|
*/
|
|
3071
|
-
type ContentControlMappedType = 'richText' | 'plainText' | 'checkbox' | 'dropdown' | 'comboBox' | 'date' | 'picture' | 'repeatingSection';
|
|
3210
|
+
type ContentControlMappedType = 'richText' | 'plainText' | 'checkbox' | 'dropdown' | 'comboBox' | 'date' | 'picture' | 'buildingBlockGallery' | 'repeatingSection';
|
|
3072
3211
|
/** Where the control sits in the tree relative to its content. */
|
|
3073
3212
|
type ContentControlLevel = 'block' | 'inline' | 'row' | 'cell';
|
|
3074
3213
|
/**
|
|
@@ -3128,6 +3267,8 @@ interface PageRecord {
|
|
|
3128
3267
|
readonly fragments: readonly BlockFragmentRecord[];
|
|
3129
3268
|
/** Layout-owned vertical rules requested by `w:cols/@w:sep`, content-box relative. */
|
|
3130
3269
|
readonly columnSeparators?: readonly LayoutBox[];
|
|
3270
|
+
/** Layout-owned `w:pgBorders` frame for this sheet, page-box relative. Absent when none. */
|
|
3271
|
+
readonly pageBorders?: PageBorderFrameRecord;
|
|
3131
3272
|
/** Page-content anchored drawings on this sheet, absent when there are none. */
|
|
3132
3273
|
readonly anchoredDrawings?: readonly AnchoredDrawingRecord[];
|
|
3133
3274
|
/** Page furniture for this page's variant, absent when the document declares none. */
|
|
@@ -3250,4 +3391,4 @@ interface TextMeasurer {
|
|
|
3250
3391
|
};
|
|
3251
3392
|
}
|
|
3252
3393
|
|
|
3253
|
-
export { type
|
|
3394
|
+
export { type AbstractNumDefinition as $, type AnchoredDrawingRecord as A, type BlockFragmentRecord as B, type ContentControlBoundaryRecord as C, type DrawingPoint as D, type StyleCascadeTable as E, type FontResourceSnapshot as F, type HyperlinkProjector as G, type HeaderFooterStoryRecord as H, type InlineDrawingRecord as I, type InlineDrawingLayoutContext as J, type FieldLinkProjector as K, type LineRecord as L, type ModelRange as M, type NormalizationPolicy as N, type StoryPageFieldNeeds as O, type PageGeometry as P, type RefFieldContext as Q, type ResolvedRunStyle as R, type SemanticLayout as S, type TextMeasurer as T, type HyperlinkFieldSpec as U, type VersionedShapingLibrary as V, type SpanLinkRecord as W, type ResolvedListItem as X, type PageBorderFrameRecord as Y, AUTO_PARAGRAPH_SPACING_PT as Z, AUTO_PREFERRED_WIDTH as _, type StyleSpanRecord as a, PARAGRAPH_BORDER_SIDES as a$, type AnchoredDrawingLayoutFallback as a0, type BidiEmbeddingLevels as a1, type BorderGridGeometry as a2, CELL_PAD as a3, type CascadedParagraphFormatting as a4, type CellBorderBox as a5, type CellMarginsPt as a6, type CellVerticalAlign as a7, type CjkTypographySettings as a8, type ContentControlGeometryFragment as a9, type FontResourceSnapshotOptions as aA, type FontSlot as aB, type FontValidationResult as aC, type GlyphOutline as aD, HARD_MAX_AGGREGATE_FONT_BYTES as aE, HARD_MAX_FONT_BYTES as aF, HARD_MAX_FONT_SOURCES as aG, type LevelOverride as aH, type LineSpacingRule as aI, type ListMarkerAlign as aJ, type ListMarkerRecord as aK, type ListSuffix as aL, MAX_BORDER_SPACE_PT as aM, MAX_BORDER_WIDTH_PT as aN, MAX_LVL_OVERRIDES as aO, MAX_NUMBERING_DEFINITIONS as aP, MAX_PARAGRAPH_SPACING_PT as aQ, MAX_STYLE_BASED_ON_DEPTH as aR, MAX_STYLE_DEFINITIONS as aS, MAX_TABLE_BORDER_STROKES as aT, MAX_TABLE_NESTING as aU, MAX_TABLE_ROW_HEIGHT_PT as aV, MAX_TAB_POSITION_TWIPS as aW, MAX_TAB_STOPS as aX, type NumDefinition as aY, type NumberingLevelIndent as aZ, PAGE_BORDER_SIDES as a_, type ContentControlLevel as aa, type ContentControlMappedType as ab, DEFAULT_CELL_MARGINS as ac, DEFAULT_PAGE_GEOMETRY as ad, DEFAULT_RUN_STYLE as ae, DEFAULT_TAB_INTERVAL_PT as af, DEFAULT_TAB_INTERVAL_TWIPS as ag, type DeclaredFontSubstitution as ah, type DrawingClipFallback as ai, type DrawingGeometry as aj, EMPTY_NUMBERING_INDEX as ak, EMPTY_TAB_STOPS as al, type EquationFractionGeometry as am, type EquationGeometry as an, type EquationNaryGeometry as ao, type EquationRadicalGeometry as ap, type EquationRowGeometry as aq, type EquationScriptGeometry as ar, type EquationSpanRecord as as, type EquationTextGeometry as at, type FieldAtomMarker as au, type FontFingerprintInputs as av, FontResolutionError as aw, type FontResolutionErrorCode as ax, type FontResourceDefinition as ay, type FontResourceInstrumentation as az, type SectionPageBorders as b, UnsupportedScriptError as b$, type PageBorderDisplay as b0, type PageBorderOffsetFrom as b1, type PageBorderSide as b2, type PageBorderStrokeRecord as b3, type PageBorderZOrder as b4, type PageRefCalibrationCell as b5, type PageRefFieldProjection as b6, type ParagraphAutoSpacingContext as b7, type ParagraphBorderEdge as b8, type ParagraphBorderSide as b9, type SemanticTableRow as bA, type SemanticTrackedChangeArtifactRecord as bB, type ShapeInput as bC, type ShapedCluster as bD, type ShapedFontSpan as bE, type ShapedGlyph as bF, type ShapedRunComparatorInputs as bG, type ShapedVerticalMetrics as bH, type ShapingEnvironment as bI, type ShapingEnvironmentFingerprintInputs as bJ, type StyleDefinition as bK, TAB_LEADER_GLYPH as bL, type TabAlignment as bM, type TabDestination as bN, type TabLeader as bO, type TabStop as bP, type TableAlignment as bQ, type TableBorderBox as bR, type TableBorderSideName as bS, type TableBorderStrokeRecord as bT, type TableCellStyleFormatting as bU, type TableFragmentRecord as bV, type TableRowHeight as bW, type TableRowHeightRule as bX, type TextDirection as bY, type TextboxStoryFallbackReason as bZ, type TextboxStoryLayout as b_, type ParagraphBorderStrokeRecord as ba, type ParagraphBorders as bb, type ParagraphBottomBorderRecord as bc, type ParagraphIndent as bd, type ParagraphLayoutInputs as be, type ParagraphLineSpacing as bf, type ParagraphSpacing as bg, type PreferredWidth as bh, type PreferredWidthType as bi, type RefFieldSpec as bj, type RefNoteParts as bk, type ResolvedCellBorders as bl, type ResolvedTabStops as bm, type ResolvedTableBorderEdge as bn, type ResolvedTableBorderEdgeSegment as bo, type ResolvedUnderline as bp, SINGLE_LINE_SPACING as bq, type ScriptItem as br, type SemanticArtifactRootStoryKind as bs, type SemanticArtifactStoryKind as bt, type SemanticCommentArtifactRecord as bu, type SemanticReviewArtifactOccurrence as bv, type SemanticReviewArtifactOccurrenceGeometry as bw, type SemanticReviewArtifactPosition as bx, type SemanticReviewArtifactSource as by, type SemanticTableCell as bz, type TableRowFragmentRecord as c, withNumberingStyleLinks as c$, type VerticalAlign as c0, appliedSpaceBefore as c1, applyLineSpacing as c2, baselineShiftPtOf as c3, borderExtentPt as c4, borderWeight as c5, bottomBorderExtentPt as c6, boundedStructuralFontValidator as c7, buildNumberingIndex as c8, buildStyleCascadeTable as c9, paragraphContextualSpacing as cA, paragraphLineSpacing as cB, paragraphSpacing as cC, paragraphTabStops as cD, parsePageBorders as cE, parseRefInstruction as cF, readBorderSide as cG, readCellBorders as cH, readNumPr as cI, readTableBorders as cJ, readTableStructure as cK, resolveBorderConflict as cL, resolveNumberingLevel as cM, resolveParagraphLayoutInputs as cN, resolveRunStyle as cO, resolveStoryListItems as cP, resolveStoryRefFields as cQ, resolveTableCellBorderGrid as cR, runStylesEqual as cS, shapedRunComparatorInputs as cT, shapingEnvironmentFingerprint as cU, shapingEnvironmentFingerprintInputs as cV, styleForFontSlot as cW, tabAdvanceWidth as cX, tabStopsFingerprint as cY, walkStoryParagraphs as cZ, withDefaultTabInterval as c_, cascadeParagraphFormatting as ca, cascadeRunProperties as cb, cascadedBottomBorder as cc, cascadedParagraphBorders as cd, cascadedTabStops as ce, collapsedSpaceBefore as cf, createFontResourceSnapshot as cg, createShapedRun as ch, createShapingEnvironment as ci, defaultTabIntervalFromSettings as cj, displayText as ck, fixedPoint as cl, fontRequestKey as cm, isValidStyleId as cn, itemizeScriptFontSlots as co, layoutEquation as cp, listMarkerBox as cq, measureDisplayText as cr, mergeListIndent as cs, nextTabDestination as ct, pageBordersFingerprint as cu, paragraphBorderExtentPt as cv, paragraphBorderStrokeWidthPt as cw, paragraphBorders as cx, paragraphBordersFingerprint as cy, paragraphBreaksBefore as cz, type TableCellFragmentRecord as d, withResolvedListItems as d0, type ShapingEnvironmentInput as e, type TextShaper as f, type ResolvedFont as g, type FixedPointRoundingMode as h, type FontRequest as i, type SemanticReviewArtifactRecord as j, type FontSubstitution as k, type ShapedRun as l, type NumberingLevel as m, type NumberingIndex as n, type ParagraphFragmentRecord as o, type LayoutBox as p, type DrawingInsets as q, type TableBorderSide as r, type PageRecord as s, type SemanticTableStructure as t, type NoteAreaRecord as u, type NoteStoryRecord as v, type ContentControlLock as w, type FontByteValidator as x, type FixedPoint as y, type SourceRange as z };
|