@docx-editor.dev/core 2.26.0 → 2.28.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.
Files changed (122) hide show
  1. package/dist/automation.cjs +1 -1
  2. package/dist/automation.d.ts +30 -13
  3. package/dist/automation.js +1 -1
  4. package/dist/binding.cjs +1 -1
  5. package/dist/binding.d.ts +20 -9
  6. package/dist/binding.js +1 -1
  7. package/dist/chunk-2GO5T2JU.cjs +1 -0
  8. package/dist/chunk-2RC2EPND.js +3 -0
  9. package/dist/chunk-4GBTELJV.cjs +28 -0
  10. package/dist/chunk-4R3TEXMN.js +18 -0
  11. package/dist/chunk-5CSUYANV.js +1 -0
  12. package/dist/chunk-6APGXLBB.cjs +3 -0
  13. package/dist/chunk-6AWEKBLB.cjs +1 -0
  14. package/dist/chunk-6EYYL7FL.js +1 -0
  15. package/dist/chunk-E7BQA6UP.js +2 -0
  16. package/dist/chunk-EO4C5QJW.cjs +2 -0
  17. package/dist/chunk-ETTO6GK3.js +1 -0
  18. package/dist/chunk-FIJZIQXA.cjs +18 -0
  19. package/dist/chunk-FRXAOVTB.js +28 -0
  20. package/dist/chunk-J6BVWIDB.js +2 -0
  21. package/dist/chunk-JGNVNT2A.cjs +2 -0
  22. package/dist/chunk-K5U2PLDP.cjs +2 -0
  23. package/dist/chunk-KKIJG3C6.js +2 -0
  24. package/dist/chunk-LWDSDCMO.js +27 -0
  25. package/dist/chunk-NBCVVZOM.cjs +1 -0
  26. package/dist/chunk-O2AL2HSJ.cjs +1 -0
  27. package/dist/{chunk-AJCCS53D.js → chunk-O5INAWZQ.js} +1 -1
  28. package/dist/chunk-QMLCVPCD.cjs +1 -0
  29. package/dist/chunk-RCHS4ZEH.cjs +27 -0
  30. package/dist/chunk-SRPILEWV.cjs +5 -0
  31. package/dist/chunk-TSLBZ26X.js +1 -0
  32. package/dist/chunk-VDNNLG6X.js +2 -0
  33. package/dist/chunk-VHAVHCQY.js +7 -0
  34. package/dist/chunk-VX43VBAX.cjs +7 -0
  35. package/dist/chunk-Z6WBFXJU.js +5 -0
  36. package/dist/chunk-ZUHOMK52.cjs +2 -0
  37. package/dist/collaboration/replication.cjs +1 -1
  38. package/dist/collaboration/replication.d.ts +50 -5
  39. package/dist/collaboration/replication.js +1 -1
  40. package/dist/collaboration.cjs +1 -1
  41. package/dist/collaboration.d.ts +98 -6
  42. package/dist/collaboration.js +1 -1
  43. package/dist/contracts/document.d.ts +17 -2
  44. package/dist/contracts/editor.d.ts +19 -9
  45. package/dist/contracts/interaction.d.ts +29 -0
  46. package/dist/contracts/modules.cjs +1 -1
  47. package/dist/contracts/modules.d.ts +29 -16
  48. package/dist/contracts/modules.js +1 -1
  49. package/dist/contracts/types.d.ts +10 -1
  50. package/dist/{custom-node-writes-Cy9imOjA.d.ts → custom-node-writes-cvL5rhcD.d.ts} +2 -2
  51. package/dist/{document-protection-Bp19Ad4I.d.ts → document-protection-BAGVGqaP.d.ts} +1 -1
  52. package/dist/{editor-DYUlyKmb.d.ts → editor-Ci7IZGmG.d.ts} +410 -163
  53. package/dist/editor.cjs +1 -1
  54. package/dist/editor.css +5 -5
  55. package/dist/editor.d.ts +417 -31
  56. package/dist/editor.js +1 -1
  57. package/dist/export.cjs +2 -2
  58. package/dist/export.d.ts +37 -15
  59. package/dist/export.js +2 -2
  60. package/dist/failure-NS2lsya4.d.ts +115 -0
  61. package/dist/{font-resolver-u_nE0PI1.d.ts → font-resolver-BVQB14qT.d.ts} +1 -1
  62. package/dist/{headless-document-view-R9bzzepb.d.ts → headless-document-view-qH331moE.d.ts} +2 -2
  63. package/dist/{image-resources-DfagDguq.d.ts → image-resources-BN-hUgCn.d.ts} +9 -9
  64. package/dist/{index-Docw8Dcb.d.ts → index-Bsg7oIKP.d.ts} +270 -115
  65. package/dist/index.cjs +1 -1
  66. package/dist/index.d.ts +46 -18
  67. package/dist/index.js +1 -1
  68. package/dist/{layout-shaping-DWitwY73.d.ts → layout-shaping-BEyuiQOk.d.ts} +1 -1
  69. package/dist/layout.cjs +1 -1
  70. package/dist/layout.d.ts +177 -249
  71. package/dist/layout.js +1 -1
  72. package/dist/{note-properties-CmfvOJsi.d.ts → note-properties-4Y9o6Gyk.d.ts} +1 -1
  73. package/dist/{omml-equation-CZ6IG2ja.d.ts → omml-equation-CuzBL5DD.d.ts} +1 -1
  74. package/dist/output.cjs +1 -1
  75. package/dist/output.d.ts +18 -7
  76. package/dist/output.js +1 -1
  77. package/dist/{protocol-DniKeDb8.d.ts → protocol-Bqk4Izjc.d.ts} +48 -7
  78. package/dist/review-pane-D9jm8DcY.d.ts +128 -0
  79. package/dist/{review-paragraph-order-Dc8Q6tfM.d.ts → review-paragraph-order-DT-n6ouC.d.ts} +5 -2
  80. package/dist/{revision-projection-DfWxdBqA.d.ts → revision-projection-DZ4kKVev.d.ts} +74 -3
  81. package/dist/{semantic-cell-selection-Dy_BmmpL.d.ts → semantic-cell-selection-D9D1KSXq.d.ts} +8 -6
  82. package/dist/{semantic-interaction-CvFAj0GR.d.ts → semantic-interaction-CIC-PooQ.d.ts} +25 -34
  83. package/dist/{semantic-paint-Bk9wIXdZ.d.ts → semantic-paint-BME37OMv.d.ts} +57 -5
  84. package/dist/semantic-record-queries-CBlZqZNa.d.ts +177 -0
  85. package/dist/{semantic-records-COqi8pjP.d.ts → semantic-records-4B3WwFAi.d.ts} +84 -42
  86. package/dist/store.cjs +1 -1
  87. package/dist/store.d.ts +165 -137
  88. package/dist/store.js +1 -1
  89. package/dist/{tree-package-fragment-YPyYC1aD.d.ts → tree-package-fragment-BeeKxDw8.d.ts} +77 -57
  90. package/dist/{tree-session-contract-AeY2v0x9.d.ts → tree-session-contract-CVbmlMlq.d.ts} +7 -5
  91. package/dist/{types-barrel-BO73JqHG.d.ts → types-barrel-D3xCgQX6.d.ts} +595 -471
  92. package/package.json +3 -3
  93. package/dist/chunk-2BK4G4ZN.js +0 -2
  94. package/dist/chunk-2SJX44PC.cjs +0 -2
  95. package/dist/chunk-5BIASAN3.js +0 -1
  96. package/dist/chunk-6SEIXJTX.js +0 -1
  97. package/dist/chunk-73PG6L2X.js +0 -1
  98. package/dist/chunk-7RJSH72J.cjs +0 -5
  99. package/dist/chunk-AGKIHLWQ.cjs +0 -1
  100. package/dist/chunk-AN6WM4X4.js +0 -2
  101. package/dist/chunk-ANZ44KQT.cjs +0 -12
  102. package/dist/chunk-CYT3OQFZ.cjs +0 -1
  103. package/dist/chunk-DDGGSBAN.js +0 -12
  104. package/dist/chunk-EEAV3WIN.js +0 -3
  105. package/dist/chunk-ELQFXMJ5.cjs +0 -1
  106. package/dist/chunk-EYK4K2J6.js +0 -1
  107. package/dist/chunk-JNTETUNZ.cjs +0 -1
  108. package/dist/chunk-L6V3IJ3S.js +0 -5
  109. package/dist/chunk-LWCI65EL.js +0 -1
  110. package/dist/chunk-LZDI4P6I.cjs +0 -1
  111. package/dist/chunk-NS22DVWT.cjs +0 -2
  112. package/dist/chunk-QIE3YTU4.cjs +0 -2
  113. package/dist/chunk-QVBFPAGO.js +0 -5
  114. package/dist/chunk-RCCOLZEQ.js +0 -2
  115. package/dist/chunk-SUN62YU6.cjs +0 -5
  116. package/dist/chunk-TKQH7BNE.cjs +0 -1
  117. package/dist/chunk-TKR2MXX4.cjs +0 -3
  118. package/dist/chunk-UJL2GDIM.cjs +0 -25
  119. package/dist/chunk-WQTADNHK.cjs +0 -27
  120. package/dist/chunk-XSHXBJ2J.js +0 -25
  121. package/dist/chunk-YXZEBTDF.js +0 -27
  122. package/dist/failure-BIPVQbRm.d.ts +0 -65
@@ -1,5 +1,7 @@
1
- import { C as ContentControlBoundaryRecord, S as SemanticLayout } from './semantic-records-COqi8pjP.js';
2
- import { V as ValidatedImageBytesHandle, R as RenderableImageMime } from './image-resources-DfagDguq.js';
1
+ import { d as ResolvedRevisionMarkup } from './revision-projection-DZ4kKVev.js';
2
+ import { a as PageRecord, C as ContentControlBoundaryRecord, S as SemanticLayout } from './semantic-records-4B3WwFAi.js';
3
+ import { S as SemanticRootStoryKind } from './semantic-record-queries-CBlZqZNa.js';
4
+ import { V as ValidatedImageBytesHandle, R as RenderableImageMime } from './image-resources-BN-hUgCn.js';
3
5
 
4
6
  /**
5
7
  * Everything a host can say about ONE author's presentation. Every field is optional and
@@ -101,6 +103,21 @@ interface ReviewAuthorInfo {
101
103
  /** The host-supplied style, normalised; absent when the author rides the ramp. */
102
104
  readonly style?: RevisionAuthorStyle;
103
105
  }
106
+ /**
107
+ * The resolved form the painter consumes: the document's author→slot map, the host's
108
+ * per-author styles, what UNSTYLED authors take, and the paint-reuse key for all of it.
109
+ * `null` means the default kind colouring for everyone.
110
+ */
111
+ interface RevisionStyleContext {
112
+ readonly authorSlots: ReadonlyMap<string, number>;
113
+ readonly styles: ReadonlyMap<string, RevisionAuthorStyle>;
114
+ /** `spanClassName` pre-split into tokens, so paint does not split per span. */
115
+ readonly classTokens: ReadonlyMap<string, readonly string[]>;
116
+ /** Authors without a style: `'kind'` colours, or the ramp. */
117
+ readonly others: 'kind' | 'author';
118
+ /** See {@link revisionStyleContextKey}. Computed once, with the context. */
119
+ readonly key: string;
120
+ }
104
121
 
105
122
  /** Host port for safe blob URLs — only called for {@link ImageResourceState.kind} `ready`. */
106
123
  interface PaintImageUrlPort {
@@ -120,8 +137,40 @@ interface DrawingPaintStrings {
120
137
  readonly pendingResource: string;
121
138
  }
122
139
 
123
- /** Which bars a paint draws: the view's own, or none for the resolved views. */
140
+ /** Which bars a paint draws. @public */
124
141
  type ChangeBarsMode = 'all-markup' | 'simple-markup' | 'none';
142
+ /** Which story a bar stands beside; the header-editing chrome dims every other story's. */
143
+ type BarStory = Exclude<SemanticRootStoryKind, 'note-separator'>;
144
+ /** One rule in sheet coordinates (points from the page's top-left corner). */
145
+ interface BarRun {
146
+ author?: string;
147
+ color?: string;
148
+ top: number;
149
+ bottom: number;
150
+ story: BarStory;
151
+ insertion: boolean;
152
+ deletion: boolean;
153
+ format: boolean;
154
+ }
155
+ /** Page change bars in page coordinates. @public */
156
+ interface PageChangeBars {
157
+ readonly mode: ChangeBarsMode;
158
+ readonly color?: string;
159
+ /** Whether the bars take the pointer as Word's toggle. */
160
+ readonly toggle: boolean;
161
+ /** Sheet-relative x of the column, already scaled and snapped to a whole pixel. */
162
+ readonly left: number;
163
+ readonly runs: readonly BarRun[];
164
+ /** Cheap identity of `left` + `runs`, for the block-adoption path to compare. */
165
+ readonly signature: string;
166
+ }
167
+ /**
168
+ * The rules one page needs, in sheet coordinates: every root story the page paints, the
169
+ * blocks of each (tracked rows and rotated cells included), and the text-box stories its
170
+ * anchored drawings carry, each at the origin the painter places it at.
171
+ * @public
172
+ */
173
+ declare function collectPageChangeBars(page: PageRecord, scale: number, mode: ChangeBarsMode, toggle?: boolean, markup?: ResolvedRevisionMarkup, facingPages?: boolean, colors?: RevisionStyleContext): PageChangeBars;
125
174
 
126
175
  /**
127
176
  * When a field's result is drawn on its grey block, following Word's own View option.
@@ -179,6 +228,9 @@ interface PaintOptions {
179
228
  * See {@link RevisionStyles}.
180
229
  */
181
230
  readonly revisionStyles?: RevisionStyles;
231
+ readonly revisionMarkup?: ResolvedRevisionMarkup;
232
+ readonly revisionKindColors?: boolean;
233
+ readonly facingPages?: boolean;
182
234
  /**
183
235
  * Which change bars the margin draws: All Markup's neutral rule beside attributed lines
184
236
  * (the default, whatever the layout's projection — a layout that carries attribution gets
@@ -270,5 +322,5 @@ interface PaintOptions {
270
322
  */
271
323
  declare function paintSemanticLayout(container: HTMLElement, layout: SemanticLayout, options?: PaintOptions): void;
272
324
 
273
- export { DEFAULT_FIELD_SHADING as D, paintSemanticLayout as p };
274
- export type { FieldShadingMode as F, PaintOptions as P, ReviewAuthorInfo as R, RevisionAuthorAssignments as a, RevisionAuthorStyle as b, RevisionStyles as c, DrawingPaintStrings as d };
325
+ export { DEFAULT_FIELD_SHADING as D, collectPageChangeBars as e, paintSemanticLayout as p };
326
+ export type { ChangeBarsMode as C, FieldShadingMode as F, PageChangeBars as P, ReviewAuthorInfo as R, PaintOptions as a, RevisionAuthorAssignments as b, RevisionAuthorStyle as c, RevisionStyles as d, DrawingPaintStrings as f };
@@ -0,0 +1,177 @@
1
+ import { I as InlineDrawingRecord, A as AnchoredDrawingRecord, P as ParagraphFragmentRecord, L as LineRecord, a as PageRecord, N as NoteAreaRecord, b as LayoutBox, H as HeaderFooterStoryRecord, c as NoteStoryRecord, B as BlockFragmentRecord, S as SemanticLayout, C as ContentControlBoundaryRecord, d as ContentControlLock } from './semantic-records-4B3WwFAi.js';
2
+
3
+ /**
4
+ * Depth-first paragraph fragments of one page, in reading order.
5
+ *
6
+ * Table interiors flatten through rows and cells; header-repeat rows are skipped unless
7
+ * asked for, so interaction sees each caret stop exactly once while paint sees everything.
8
+ */
9
+ declare function paragraphFragmentsOf(page: PageRecord, includeHeaderRepeats?: boolean): ParagraphFragmentRecord[];
10
+ declare function paragraphFragmentsOfBlocks(blocks: readonly BlockFragmentRecord[], includeHeaderRepeats?: boolean): ParagraphFragmentRecord[];
11
+ /** Every line in a layout, in reading order — the order caret navigation walks. */
12
+ declare function linesOf(layout: SemanticLayout): LineRecord[];
13
+ /** The fragment-plus-anchored-drawings shape every laid-out story shares. */
14
+ interface StoryDrawingHost {
15
+ /** Root story fragments in their published reading order. */
16
+ readonly fragments: readonly BlockFragmentRecord[];
17
+ /** Story-level positioned drawings, when that story supports anchors. */
18
+ readonly anchoredDrawings?: readonly AnchoredDrawingRecord[];
19
+ }
20
+ /** Root story kinds published directly from one page record. @public */
21
+ type SemanticRootStoryKind = 'body' | 'header' | 'footer' | 'footnote' | 'endnote' | 'note-separator';
22
+ /** Story containing a visited semantic record. @public */
23
+ type SemanticStoryKind = SemanticRootStoryKind | 'textbox';
24
+ /**
25
+ * One root story in the engine's complete published page/story order.
26
+ *
27
+ * The story discriminant preserves the precise published host type so exporters can consume
28
+ * furniture and note metadata without casting or searching the page graph a second time.
29
+ * @public
30
+ */
31
+ type SemanticStoryVisit = {
32
+ readonly page: PageRecord;
33
+ readonly story: 'body';
34
+ readonly host: PageRecord;
35
+ /** Absolute story bounds; body records are relative to the page content box. */
36
+ readonly box: LayoutBox;
37
+ /** Absolute origin to add to story-relative fragment and drawing coordinates. */
38
+ readonly origin: Readonly<{
39
+ x: number;
40
+ y: number;
41
+ }>;
42
+ readonly noteScopeId: null;
43
+ readonly noteAreaKind: null;
44
+ } | {
45
+ readonly page: PageRecord;
46
+ readonly story: 'header' | 'footer';
47
+ readonly host: HeaderFooterStoryRecord;
48
+ readonly box: LayoutBox;
49
+ readonly origin: Readonly<{
50
+ x: number;
51
+ y: number;
52
+ }>;
53
+ readonly noteScopeId: null;
54
+ readonly noteAreaKind: null;
55
+ } | {
56
+ readonly page: PageRecord;
57
+ readonly story: 'footnote' | 'endnote';
58
+ readonly host: NoteStoryRecord;
59
+ readonly box: LayoutBox;
60
+ readonly origin: Readonly<{
61
+ x: number;
62
+ y: number;
63
+ }>;
64
+ readonly noteScopeId: string;
65
+ readonly noteAreaKind: NoteAreaRecord['kind'];
66
+ } | {
67
+ readonly page: PageRecord;
68
+ readonly story: 'note-separator';
69
+ readonly host: NonNullable<NoteAreaRecord['separator']>;
70
+ readonly box: LayoutBox;
71
+ readonly origin: Readonly<{
72
+ x: number;
73
+ y: number;
74
+ }>;
75
+ readonly noteScopeId: null;
76
+ readonly noteAreaKind: NoteAreaRecord['kind'];
77
+ };
78
+ /** Visit every root story in a semantic layout, preserving page/story order. @public */
79
+ declare function forEachSemanticStory(layout: SemanticLayout, visit: (story: SemanticStoryVisit) => void): void;
80
+ /** Location of one paragraph fragment within a recursively painted story graph. @public */
81
+ interface StoryParagraphFragmentContext {
82
+ /** Absolute origin of the immediate story containing this record. */
83
+ readonly storyOrigin: Readonly<{
84
+ x: number;
85
+ y: number;
86
+ }>;
87
+ /** Zero for the supplied story; increments for every textbox boundary. */
88
+ readonly textboxDepth: number;
89
+ /** Drawing whose textbox directly owns this fragment, or null for the root story. */
90
+ readonly textboxOwner: TextboxOwnerRecord | null;
91
+ /** Root-to-leaf owning drawings, empty for the supplied story. */
92
+ readonly textboxPath: readonly TextboxOwnerRecord[];
93
+ }
94
+ /** A drawing that owns a text-box story: anchored, or inline on a line. @public */
95
+ type TextboxOwnerRecord = InlineDrawingRecord | AnchoredDrawingRecord;
96
+ /** Location of one drawing within a recursively painted story graph. @public */
97
+ interface StoryDrawingContext extends StoryParagraphFragmentContext {
98
+ /** Enclosing paragraph for an inline drawing; null for a story-level anchor. */
99
+ readonly paragraph: ParagraphFragmentRecord | null;
100
+ /** Enclosing line for an inline drawing; null for a story-level anchor. */
101
+ readonly line: LineRecord | null;
102
+ }
103
+ type RootDrawingOrigin = (drawing: AnchoredDrawingRecord) => Readonly<{
104
+ x: number;
105
+ y: number;
106
+ }>;
107
+ /** Drawing layer relative to its owning story's text. @public */
108
+ type SemanticDrawingLayer = 'behind-text' | 'inline' | 'in-front-of-text';
109
+ /**
110
+ * One drawing in bounded graph-enumeration order with exporter-grade provenance.
111
+ *
112
+ * Enumeration is deliberately not paint order: story anchors (and nested textboxes) are visited
113
+ * before inline line drawings. Renderers use `paintLayer` plus record geometry to compose layers.
114
+ * @public
115
+ */
116
+ interface SemanticDrawingVisit extends StoryDrawingContext {
117
+ /** Physical page carrying this drawing occurrence. */
118
+ readonly page: PageRecord;
119
+ /** Immediate story classification; `textbox` after textbox descent. */
120
+ readonly story: SemanticStoryKind;
121
+ /** Root story from which textbox descent began. */
122
+ readonly rootStory: SemanticRootStoryKind;
123
+ /** Note scope for drawings in note stories; null elsewhere. */
124
+ readonly noteScopeId: string | null;
125
+ /** Owning note-area kind for note/separator drawings; null elsewhere. */
126
+ readonly noteAreaKind: NoteAreaRecord['kind'] | null;
127
+ /** Precise root host and absolute origin for story-relative geometry. */
128
+ readonly root: SemanticStoryVisit;
129
+ /** Absolute origin of this drawing's extent in page-stack coordinates. */
130
+ readonly drawingOrigin: Readonly<{
131
+ x: number;
132
+ y: number;
133
+ }>;
134
+ /** Absolute painted bounds, including effects and clipping. */
135
+ readonly absolutePaintBounds: LayoutBox;
136
+ /** Absolute pointer/hit bounds. */
137
+ readonly absoluteHitBounds: LayoutBox;
138
+ /** Layer relative to text in the immediate owning story. */
139
+ readonly paintLayer: SemanticDrawingLayer;
140
+ /** Published drawing record; inline visits also carry paragraph and line. */
141
+ readonly drawing: InlineDrawingRecord | AnchoredDrawingRecord;
142
+ }
143
+ /** Visit every drawing through the canonical root-story and recursive textbox walks. @public */
144
+ declare function forEachSemanticDrawing(layout: SemanticLayout, visit: (drawing: SemanticDrawingVisit) => void): void;
145
+ /**
146
+ * Visit every paragraph fragment one story paints — its own (table interiors flattened,
147
+ * header repeats included) and the fragments inside each anchored drawing's text-box story,
148
+ * recursively.
149
+ *
150
+ * The fragment sibling of {@link forEachStoryDrawing}, sharing its depth bound, for
151
+ * consumers that read per-paragraph published fields (list markers) rather than drawings.
152
+ * The furniture list-marker token walks with this; a fragment it misses leaves a reused
153
+ * page showing a stale marker.
154
+ */
155
+ declare function forEachStoryParagraphFragment(story: StoryDrawingHost, visit: (fragment: ParagraphFragmentRecord, context: StoryParagraphFragmentContext) => void, rootOrigin?: Readonly<{
156
+ x: number;
157
+ y: number;
158
+ }>, rootDrawingOrigin?: RootDrawingOrigin): void;
159
+ /** Every fragment belonging to one paragraph, in order, across page boundaries. */
160
+ declare function fragmentsOfParagraph(layout: SemanticLayout, paragraphId: string): ParagraphFragmentRecord[];
161
+ /** The line containing a model position, or null when the position is not laid out. */
162
+ declare function lineAtPosition(layout: SemanticLayout, paragraphId: string, offset: number,
163
+ /** Lines to test, when the caller already knows which ones can carry the paragraph. */
164
+ candidates?: Iterable<LineRecord>): LineRecord | null;
165
+ /** Every content-control boundary on a layout, preferring the layout-level list. */
166
+ declare function contentControlsOfLayout(layout: SemanticLayout): readonly ContentControlBoundaryRecord[];
167
+ /**
168
+ * Axis-aligned union of boxes, or null when the list is empty.
169
+ *
170
+ * Used when a control's content spans several fragments or spans on one page.
171
+ */
172
+ declare function unionLayoutBoxes(boxes: readonly LayoutBox[]): LayoutBox | null;
173
+ /** Collapse raw + ancestor locks into one `ST_Lock` vocabulary value. */
174
+ declare function effectiveContentControlLock(locks: readonly ContentControlLock[]): ContentControlLock;
175
+
176
+ export { contentControlsOfLayout as h, effectiveContentControlLock as i, forEachSemanticDrawing as j, forEachSemanticStory as k, forEachStoryParagraphFragment as l, fragmentsOfParagraph as m, lineAtPosition as n, linesOf as o, paragraphFragmentsOf as p, paragraphFragmentsOfBlocks as q, unionLayoutBoxes as u };
177
+ export type { SemanticRootStoryKind as S, TextboxOwnerRecord as T, SemanticStoryKind as a, SemanticStoryVisit as b, SemanticDrawingLayer as c, SemanticDrawingVisit as d, StoryDrawingContext as e, StoryDrawingHost as f, StoryParagraphFragmentContext as g };
@@ -1,7 +1,7 @@
1
- import { c as RevisionAttribution, a as RevisionDisplayMode } from './revision-projection-DfWxdBqA.js';
2
- import { X as OoxmlProperty, Z as OoxmlElement, N as OoxmlNode, O as OoxmlPart, aG as TableBorderStyle, aH as DrawingAccessibility, aI as DrawingImageEffects, a8 as SourceCrop, aJ as DrawingTransform, aK as VectorShapeProjection, aj as DrawingHorizontalReferenceFrame, ak as DrawingVerticalReferenceFrame, aa as ImageWrapTarget, a0 as DrawingProjection, aL as OoxmlDrawingNode } from './types-barrel-BO73JqHG.js';
3
- import { b as ImageResourceState } from './image-resources-DfagDguq.js';
4
- import { O as OmmlEquationProjection } from './omml-equation-CZ6IG2ja.js';
1
+ import { o as RevisionAttribution, b as RevisionDisplayMode } from './revision-projection-DZ4kKVev.js';
2
+ import { X as OoxmlProperty, Z as OoxmlElement, N as OoxmlNode, O as OoxmlPart, aJ as TableBorderStyle, aK as DrawingAccessibility, aL as DrawingImageEffects, al as SourceCrop, aM as DrawingTransform, aN as VectorShapeProjection, aw as DrawingHorizontalReferenceFrame, ax as DrawingVerticalReferenceFrame, an as ImageWrapTarget, a0 as DrawingProjection, aO as OoxmlDrawingNode } from './types-barrel-D3xCgQX6.js';
3
+ import { b as ImageResourceState } from './image-resources-BN-hUgCn.js';
4
+ import { O as OmmlEquationProjection } from './omml-equation-CuzBL5DD.js';
5
5
 
6
6
  /** A strikeout stroke at the drawn size, in points. `offsetPt` is the stroke TOP. @public */
7
7
  interface StrikeoutStrokePt {
@@ -913,8 +913,8 @@ declare function paragraphLineSpacing(props: readonly OoxmlProperty[]): Paragrap
913
913
  * Exact-height boxes place their baseline at 80% of the height; the legacy
914
914
  * noExtraLineSpacing switch instead preserves the face baseline within the box.
915
915
  *
916
- * An `auto` line of a snapping paragraph under an active line grid takes whole pitches
917
- * instead ({@link gridLineBox}); `trailing` then names the extra below the grid line.
916
+ * An `auto` or `atLeast` line of a snapping paragraph under an active line grid takes whole
917
+ * pitches instead ({@link gridLineBox}); `trailing` then names the box below the glyphs.
918
918
  */
919
919
  declare function applyLineSpacing(spacing: ParagraphLineSpacing, naturalHeight: number, naturalBaseline: number): {
920
920
  height: number;
@@ -1130,6 +1130,8 @@ interface ThemeFonts {
1130
1130
  /** Language-specific theme faces, keyed by ISO 15924 script. */
1131
1131
  readonly majorSupplemental?: Readonly<Record<string, string>>;
1132
1132
  readonly minorSupplemental?: Readonly<Record<string, string>>;
1133
+ /** Lower-cased font table names that declare a Chinese character set. */
1134
+ readonly chineseFontTableFaces?: readonly string[];
1133
1135
  }
1134
1136
  /**
1135
1137
  * Resolve one run's direct formatting.
@@ -1171,6 +1173,9 @@ declare function glyphSizeFactorOf(style: ResolvedRunStyle): number;
1171
1173
  /** Horizontal alignment of a paragraph (`w:jc`, ECMA-376 §17.3.1.13). */
1172
1174
  type Alignment = 'left' | 'center' | 'right' | 'both';
1173
1175
 
1176
+ /** The number formats a page field's `\*` switch can select (ST_NumberFormat names). */
1177
+ type PageFieldNumberFormat = 'decimal' | 'lowerRoman' | 'upperRoman' | 'lowerLetter' | 'upperLetter' | 'numberInDash';
1178
+
1174
1179
  type AllowlistedPageField = 'PAGE' | 'NUMPAGES' | 'SECTIONPAGES';
1175
1180
  /**
1176
1181
  * Which allowlisted page fields a header/footer story actually contains.
@@ -1192,6 +1197,29 @@ interface StoryPageFieldNeeds {
1192
1197
  readonly hasPageParity?: boolean;
1193
1198
  }
1194
1199
 
1200
+ interface DrawingPoint {
1201
+ readonly x: number;
1202
+ readonly y: number;
1203
+ }
1204
+ interface DrawingInsets {
1205
+ readonly top: number;
1206
+ readonly right: number;
1207
+ readonly bottom: number;
1208
+ readonly left: number;
1209
+ }
1210
+ type DrawingClipFallback = 'none' | 'unsupported-preset';
1211
+ interface DrawingGeometry {
1212
+ readonly contentBounds: LayoutBox;
1213
+ readonly paintBounds: LayoutBox;
1214
+ readonly hitBounds: LayoutBox;
1215
+ readonly transformedCorners: readonly DrawingPoint[];
1216
+ /** Unclipped image corners for affine encoding; clipping must not stretch the image. */
1217
+ readonly imageTransformCorners?: readonly DrawingPoint[];
1218
+ readonly clipPolygon: readonly DrawingPoint[] | null;
1219
+ readonly clipFallback: DrawingClipFallback;
1220
+ readonly effectInsets: DrawingInsets;
1221
+ }
1222
+
1195
1223
  /**
1196
1224
  * UAX #9 embedding levels, one per UTF-16 code unit, plus the paragraph ranges they were resolved
1197
1225
  * within.
@@ -1428,6 +1456,8 @@ interface FieldAtomMarker {
1428
1456
  readonly kind: AllowlistedPageField;
1429
1457
  /** The field's `\#` numeric picture, applied when finalize substitutes the value. */
1430
1458
  readonly picture?: string;
1459
+ /** The field's `\*` number format, applied when finalize substitutes the value. */
1460
+ readonly numberFormat?: PageFieldNumberFormat;
1431
1461
  };
1432
1462
  /**
1433
1463
  * A BODY `PAGEREF` atom whose value is the page number its bookmark target lands on.
@@ -1438,6 +1468,17 @@ interface FieldAtomMarker {
1438
1468
  * first fragment, gated per field on the calibration verdict.
1439
1469
  */
1440
1470
  readonly pageRef?: PageRefFieldProjection;
1471
+ /**
1472
+ * The first model offset of the editable saved result this piece belongs to.
1473
+ *
1474
+ * Present only when saved results are laid out as text (`fieldResults: 'editable'`). The
1475
+ * result is ordinary text then, so its pieces have their own offsets; every piece of one
1476
+ * result shares this value, which keeps a multi-run link result one anchor and lets the
1477
+ * caret find the whole result it is in.
1478
+ */
1479
+ readonly resultStart?: number;
1480
+ /** The model offset just past the same result, beside {@link resultStart}. */
1481
+ readonly resultEnd?: number;
1441
1482
  }
1442
1483
  /** A half-open model-offset range, in the paragraph's own UTF-16 offset space. */
1443
1484
  interface ModelRange {
@@ -1595,29 +1636,6 @@ interface CjkTypographySettings {
1595
1636
  readonly after: Readonly<Record<string, string>>;
1596
1637
  }
1597
1638
 
1598
- interface DrawingPoint {
1599
- readonly x: number;
1600
- readonly y: number;
1601
- }
1602
- interface DrawingInsets {
1603
- readonly top: number;
1604
- readonly right: number;
1605
- readonly bottom: number;
1606
- readonly left: number;
1607
- }
1608
- type DrawingClipFallback = 'none' | 'unsupported-preset';
1609
- interface DrawingGeometry {
1610
- readonly contentBounds: LayoutBox;
1611
- readonly paintBounds: LayoutBox;
1612
- readonly hitBounds: LayoutBox;
1613
- readonly transformedCorners: readonly DrawingPoint[];
1614
- /** Unclipped image corners for affine encoding; clipping must not stretch the image. */
1615
- readonly imageTransformCorners?: readonly DrawingPoint[];
1616
- readonly clipPolygon: readonly DrawingPoint[] | null;
1617
- readonly clipFallback: DrawingClipFallback;
1618
- readonly effectInsets: DrawingInsets;
1619
- }
1620
-
1621
1639
  /** Test-only mutable counters; omitted by production call sites. Not package-public. */
1622
1640
  interface TableBorderGridResolveWork {
1623
1641
  /** Sparse intervals emitted (not dense column slots). */
@@ -1634,9 +1652,8 @@ type TableBorderSideName = 'top' | 'right' | 'bottom' | 'left';
1634
1652
  /**
1635
1653
  * One border edge in one of three states.
1636
1654
  *
1637
- * Omitted edges inherit. Explicit no-border edges suppress inherited rules; a directly
1638
- * authored opposing edge can still win. This matches the saved Word sample's mixed and
1639
- * borderless tables, including cells authored with `w:val="none"`.
1655
+ * Omitted edges inherit. Explicit no-border edges suppress their own inherited rule.
1656
+ * An opposing edge can still win, including a rule inherited by the neighboring cell.
1640
1657
  */
1641
1658
  type TableBorderSide = {
1642
1659
  readonly state: 'omitted';
@@ -1750,6 +1767,8 @@ interface BorderGridCell {
1750
1767
  readonly borders: CellBorderBox;
1751
1768
  /** Set on restart cells that visually span into later rows. */
1752
1769
  readonly mergeRowSpan?: number;
1770
+ /** The row's `w:tblPrEx` table borders, which replace the table's own for this cell. */
1771
+ readonly rowTableBorders?: TableBorderBox;
1753
1772
  }
1754
1773
  /**
1755
1774
  * The absolute grid a table's borders are drawn on: column widths, and per-row tops and heights.
@@ -1824,8 +1843,13 @@ interface TextboxStoryLayout {
1824
1843
  x: number;
1825
1844
  y: number;
1826
1845
  }>;
1827
- /** Content box width (extent minus horizontal insets). */
1846
+ /** Content box width (extent minus horizontal insets; the widest line when unwrapped). */
1828
1847
  readonly contentWidth: number;
1848
+ /**
1849
+ * Box width (points) that unwrapped text sizes its shape to: the widest line plus the
1850
+ * insets. Placement resolves the shape at this width. Absent when the extent width holds.
1851
+ */
1852
+ readonly extentWidth?: number;
1829
1853
  /** Content box height (extent minus vertical insets). */
1830
1854
  readonly contentHeight: number;
1831
1855
  /** Solid fill of the hosting shape, painted behind the story; null for no fill. */
@@ -1850,6 +1874,21 @@ interface TextboxStoryLayout {
1850
1874
  readonly clippedResourceToken?: string;
1851
1875
  }
1852
1876
 
1877
+ /** One laid-out group member story. */
1878
+ interface GroupTextboxStoryRecord {
1879
+ /** Canonical node id of the member `wps:wsp`. */
1880
+ readonly memberNodeId: string;
1881
+ /** The member box in points, relative to the drawing extent's top-left corner. */
1882
+ readonly box: LayoutBox;
1883
+ /** The member's story, in content-box coordinates inside {@link box}. */
1884
+ readonly story: TextboxStoryLayout;
1885
+ /**
1886
+ * Clockwise turn of the painted member about the center of {@link box}, in degrees. The
1887
+ * story lays out upright; paint and export turn it. Hit testing never maps into it.
1888
+ */
1889
+ readonly rotationDegrees: number;
1890
+ }
1891
+
1853
1892
  /** Clip `box` to a horizontal content band; preserves authored size, zeroes clipped axes. */
1854
1893
  /** How a drawing record holds the picture member of a shape group. */
1855
1894
  interface DrawingGroupPictureRecord {
@@ -1922,6 +1961,8 @@ interface InlineDrawingRecord {
1922
1961
  * inline text box carries one too: its story sits inside the extent the line reserves.
1923
1962
  */
1924
1963
  readonly textboxStory?: TextboxStoryLayout;
1964
+ /** Read-only stories of a group's text box members, each placed in its member box. */
1965
+ readonly groupTextboxStories?: readonly GroupTextboxStoryRecord[];
1925
1966
  }
1926
1967
  interface InlineDrawingLayoutContext {
1927
1968
  readonly ownerPartName: string;
@@ -2046,12 +2087,7 @@ declare function withNumberingStyleLinks(index: NumberingIndex, styleCascade: St
2046
2087
  * in `direct`, and the defaults and that style's bases go in `inherited`.
2047
2088
  */
2048
2089
  declare function mergeListIndent(levelIndent: NumberingLevelIndent, inherited: readonly OoxmlProperty[], direct?: readonly OoxmlProperty[]): NumberingLevelIndent;
2049
- /**
2050
- * Collect paragraphs of a block list in document order, descending into tables.
2051
- *
2052
- * Caps nesting so a hostile nested-table document cannot recurse without bound.
2053
- */
2054
- declare function walkStoryParagraphs(blocks: readonly OoxmlElement[], maxTableDepth?: number): OoxmlElement[];
2090
+
2055
2091
  /**
2056
2092
  * Resolve every list paragraph in a story to a {@link ResolvedListItem}, keyed by node id.
2057
2093
  *
@@ -2480,6 +2516,8 @@ interface SemanticTrackedChangeArtifactRecord {
2480
2516
  readonly kind: 'tracked-change';
2481
2517
  readonly id: string;
2482
2518
  readonly change: 'insert' | 'delete' | 'replace' | 'moveFrom' | 'moveTo' | 'format' | 'paragraphMark' | 'structural';
2519
+ /** Structural changes represented by this review artifact. */
2520
+ readonly structuralChanges?: readonly ('rowInsert' | 'rowDelete' | 'cellInsert' | 'cellDelete' | 'cellMerge' | 'numberingInsert')[];
2483
2521
  readonly markDirection?: 'insert' | 'delete' | 'moveFrom' | 'moveTo';
2484
2522
  readonly author: string;
2485
2523
  readonly date?: string;
@@ -2791,7 +2829,8 @@ interface LineRecord {
2791
2829
  * nothing, which is why the caret, paint's `padding-bottom` and the content-control
2792
2830
  * boundary all need this published rather than recovered from the box.
2793
2831
  *
2794
- * Zero under exact and atLeast, and on lines holding drawings (the box is authored).
2832
+ * Zero under exact and atLeast. On a line holding drawings, only an auto multiple above
2833
+ * single spacing sets it: the multiple's extra text band below the drawings.
2795
2834
  * Absent on lines published before this was measured; treat as zero.
2796
2835
  */
2797
2836
  readonly trailingSpacing?: number;
@@ -3156,6 +3195,9 @@ interface TableRowFragmentRecord {
3156
3195
  * blocks — its content belongs to the cell that started the merge.
3157
3196
  */
3158
3197
  interface TableCellFragmentRecord {
3198
+ readonly revisionShading?: 'inserted' | 'deleted' | 'merged' | 'split';
3199
+ /** Author of the visible cell revision, or its enclosing row revision. */
3200
+ readonly revisionShadingAuthor?: string;
3159
3201
  /** Canonical node id of the `w:tc`. */
3160
3202
  readonly id: string;
3161
3203
  /** First grid column this cell occupies. */
@@ -3486,5 +3528,5 @@ interface TextMeasurer {
3486
3528
  };
3487
3529
  }
3488
3530
 
3489
- export { PARAGRAPH_BORDER_SIDES as a$, AUTO_PARAGRAPH_SPACING_PT as a4, HARD_MAX_AGGREGATE_FONT_BYTES as aF, HARD_MAX_FONT_BYTES as aG, HARD_MAX_FONT_SOURCES as aH, MAX_BORDER_SPACE_PT as aN, MAX_BORDER_WIDTH_PT as aO, MAX_LVL_OVERRIDES as aP, MAX_NUMBERING_DEFINITIONS as aQ, MAX_PARAGRAPH_SPACING_PT as aR, MAX_SHAPING_CONTEXT as aS, MAX_STYLE_DEFINITIONS as aT, MAX_TABLE_BORDER_STROKES as aU, MAX_TAB_POSITION_TWIPS as aV, MAX_TAB_STOPS as aW, PAGE_BORDER_SIDES as a_, DEFAULT_RUN_STYLE as ae, DEFAULT_TAB_INTERVAL_PT as af, DEFAULT_TAB_INTERVAL_TWIPS as ag, EMPTY_NUMBERING_INDEX as al, EMPTY_TAB_STOPS as am, FontResolutionError as ax, boundedStructuralFontValidator as b$, TAB_LEADER_GLYPH as bI, UnsupportedScriptError as bT, appliedSpaceBefore as bV, applyLineSpacing as bW, baselineShiftPtOf as bX, borderExtentPt as bY, borderWeight as bZ, bottomBorderExtentPt as b_, SINGLE_LINE_SPACING as bo, buildNumberingIndex as c0, buildStyleCascadeTable as c1, cascadeParagraphFormatting as c2, cascadeRunProperties as c3, cascadedBottomBorder as c4, cascadedParagraphBorders as c5, cascadedTabStops as c6, collapsedSpaceBefore as c7, createFontResourceSnapshot as c8, createShapedRun as c9, readNumPr as cA, readTableBorders as cB, resolveBorderConflict as cC, resolveNumberingLevel as cD, resolveParagraphLayoutInputs as cE, resolveRunStyle as cF, resolveStoryListItems as cG, resolveStoryRefFields as cH, resolveTableCellBorderGrid as cI, runStylesEqual as cJ, shapedRunComparatorInputs as cK, shapingEnvironmentFingerprint as cL, shapingEnvironmentFingerprintInputs as cM, styleForFontSlot as cN, tabAdvanceWidth as cO, tabStopsFingerprint as cP, walkStoryParagraphs as cQ, withDefaultTabInterval as cR, withNumberingStyleLinks as cS, withResolvedListItems as cT, createShapingEnvironment as ca, defaultTabIntervalFromSettings as cb, displayText as cc, fixedPoint as cd, fontRequestKey as ce, glyphSizeFactorOf as cf, isValidStyleId as cg, itemizeScriptFontSlots as ch, layoutEquation as ci, measureDisplayText as cj, mergeListIndent as ck, nextTabDestination as cl, pageBordersFingerprint as cm, paragraphBorderExtentPt as cn, paragraphBorderStrokeWidthPt as co, paragraphBorders as cp, paragraphBordersFingerprint as cq, paragraphBreaksBefore as cr, paragraphContextualSpacing as cs, paragraphLineSpacing as ct, paragraphSpacing as cu, paragraphTabStops as cv, parsePageBorders as cw, parseRefInstruction as cx, readBorderSide as cy, readCellBorders as cz };
3490
- export type { HyperlinkFieldSpec as $, AnchoredDrawingRecord as A, BlockFragmentRecord as B, ContentControlBoundaryRecord as C, DrawingPoint as D, TableFloatPosition as E, FontResourceSnapshot as F, TableBorderBox as G, StyleCascadeTable as H, InlineDrawingRecord as I, NoteAreaRecord as J, HeaderFooterStoryRecord as K, LineRecord as L, ModelRange as M, NormalizationPolicy as N, NoteStoryRecord as O, ParagraphFragmentRecord as P, ContentControlLock as Q, ResolvedRunStyle as R, SemanticLayout as S, TextMeasurer as T, FixedPoint as U, VersionedShapingLibrary as V, FontByteValidator as W, SourceRange as X, HyperlinkProjector as Y, FieldLinkProjector as Z, StoryPageFieldNeeds as _, StyleSpanRecord as a, SpanLinkRecord as a0, PageBorderFrameRecord as a1, ParagraphBorderStrokeRecord as a2, StrikeoutStrokePt as a3, AbstractNumDefinition as a5, AnchoredDrawingLayoutFallback as a6, BidiEmbeddingLevels as a7, BorderGridGeometry as a8, CascadedParagraphFormatting as a9, FontResourceInstrumentation as aA, FontResourceSnapshotOptions as aB, FontSlot as aC, FontValidationResult as aD, GlyphOutline as aE, LevelOverride as aI, LineSpacingRule as aJ, ListMarkerAlign as aK, ListMarkerRecord as aL, ListSuffix as aM, NumDefinition as aX, NumberingLevelIndent as aY, NumberingPictureBullet as aZ, CjkTypographySettings as aa, ContentControlGeometryFragment as ab, ContentControlLevel as ac, ContentControlMappedType as ad, DeclaredFontSubstitution as ah, DrawingClipFallback as ai, DrawingGeometry as aj, DrawingGroupPictureRecord as ak, EquationFractionGeometry as an, EquationGeometry as ao, EquationNaryGeometry as ap, EquationRadicalGeometry as aq, EquationRowGeometry as ar, EquationScriptGeometry as as, EquationSpanRecord as at, EquationTextGeometry as au, FieldAtomMarker as av, FontFingerprintInputs as aw, FontResolutionErrorCode as ay, FontResourceDefinition as az, SectionPageBorders as b, PageBorderDisplay as b0, PageBorderOffsetFrom as b1, PageBorderSide as b2, PageBorderStrokeRecord as b3, PageBorderZOrder as b4, PageRefCalibrationCell as b5, PageRefFieldProjection as b6, ParagraphAutoSpacingContext as b7, ParagraphBorderEdge as b8, ParagraphBorderSide as b9, ShapedFontSpan as bA, ShapedGlyph as bB, ShapedRunComparatorInputs as bC, ShapedVerticalMetrics as bD, ShapingContext as bE, ShapingEnvironment as bF, ShapingEnvironmentFingerprintInputs as bG, StyleDefinition as bH, TabAlignment as bJ, TabDestination as bK, TabLeader as bL, TabStop as bM, TableBorderSideName as bN, TableBorderStrokeRecord as bO, TableFragmentRecord as bP, TextDirection as bQ, TextboxStoryFallbackReason as bR, TextboxStoryLayout as bS, VerticalAlign as bU, ParagraphBorders as ba, ParagraphBottomBorderRecord as bb, ParagraphIndent as bc, ParagraphLayoutInputs as bd, ParagraphLineSpacing as be, ParagraphSpacing as bf, RefFieldSpec as bg, RefNoteParts as bh, ResolvedCellBorders as bi, ResolvedPictureBullet as bj, ResolvedTabStops as bk, ResolvedTableBorderEdge as bl, ResolvedTableBorderEdgeSegment as bm, ResolvedUnderline as bn, ScriptItem as bp, SemanticArtifactRootStoryKind as bq, SemanticArtifactStoryKind as br, SemanticCommentArtifactRecord as bs, SemanticReviewArtifactOccurrence as bt, SemanticReviewArtifactOccurrenceGeometry as bu, SemanticReviewArtifactPosition as bv, SemanticReviewArtifactSource as bw, SemanticTrackedChangeArtifactRecord as bx, ShapeInput as by, ShapedCluster as bz, TableRowFragmentRecord as c, TableCellFragmentRecord as d, ShapingEnvironmentInput as e, TextShaper as f, ResolvedFont as g, FixedPointRoundingMode as h, FontRequest as i, SemanticReviewArtifactRecord as j, ListMarkerPictureRecord as k, FontSubstitution as l, ShapedRun as m, NumberingLevel as n, NumberingIndex as o, LayoutBox as p, DrawingInsets as q, TableBorderSide as r, TableFloatXSpec as s, TableFloatYSpec as t, PageRecord as u, ResolvedListItem as v, RefFieldContext as w, InlineDrawingLayoutContext as x, CellBorderBox as y, TableCellStyleFormatting as z };
3531
+ export { PAGE_BORDER_SIDES as a$, AUTO_PARAGRAPH_SPACING_PT as a4, HARD_MAX_AGGREGATE_FONT_BYTES as aG, HARD_MAX_FONT_BYTES as aH, HARD_MAX_FONT_SOURCES as aI, MAX_BORDER_SPACE_PT as aO, MAX_BORDER_WIDTH_PT as aP, MAX_LVL_OVERRIDES as aQ, MAX_NUMBERING_DEFINITIONS as aR, MAX_PARAGRAPH_SPACING_PT as aS, MAX_SHAPING_CONTEXT as aT, MAX_STYLE_DEFINITIONS as aU, MAX_TABLE_BORDER_STROKES as aV, MAX_TAB_POSITION_TWIPS as aW, MAX_TAB_STOPS as aX, DEFAULT_RUN_STYLE as ae, DEFAULT_TAB_INTERVAL_PT as af, DEFAULT_TAB_INTERVAL_TWIPS as ag, EMPTY_NUMBERING_INDEX as al, EMPTY_TAB_STOPS as am, FontResolutionError as ax, bottomBorderExtentPt as b$, PARAGRAPH_BORDER_SIDES as b0, TAB_LEADER_GLYPH as bJ, UnsupportedScriptError as bU, appliedSpaceBefore as bW, applyLineSpacing as bX, baselineShiftPtOf as bY, borderExtentPt as bZ, borderWeight as b_, SINGLE_LINE_SPACING as bp, boundedStructuralFontValidator as c0, buildNumberingIndex as c1, buildStyleCascadeTable as c2, cascadeParagraphFormatting as c3, cascadeRunProperties as c4, cascadedBottomBorder as c5, cascadedParagraphBorders as c6, cascadedTabStops as c7, collapsedSpaceBefore as c8, createFontResourceSnapshot as c9, readCellBorders as cA, readNumPr as cB, readTableBorders as cC, resolveBorderConflict as cD, resolveNumberingLevel as cE, resolveParagraphLayoutInputs as cF, resolveRunStyle as cG, resolveStoryListItems as cH, resolveStoryRefFields as cI, resolveTableCellBorderGrid as cJ, runStylesEqual as cK, shapedRunComparatorInputs as cL, shapingEnvironmentFingerprint as cM, shapingEnvironmentFingerprintInputs as cN, styleForFontSlot as cO, tabAdvanceWidth as cP, tabStopsFingerprint as cQ, withDefaultTabInterval as cR, withNumberingStyleLinks as cS, withResolvedListItems as cT, createShapedRun as ca, createShapingEnvironment as cb, defaultTabIntervalFromSettings as cc, displayText as cd, fixedPoint as ce, fontRequestKey as cf, glyphSizeFactorOf as cg, isValidStyleId as ch, itemizeScriptFontSlots as ci, layoutEquation as cj, measureDisplayText as ck, mergeListIndent as cl, nextTabDestination as cm, pageBordersFingerprint as cn, paragraphBorderExtentPt as co, paragraphBorderStrokeWidthPt as cp, paragraphBorders as cq, paragraphBordersFingerprint as cr, paragraphBreaksBefore as cs, paragraphContextualSpacing as ct, paragraphLineSpacing as cu, paragraphSpacing as cv, paragraphTabStops as cw, parsePageBorders as cx, parseRefInstruction as cy, readBorderSide as cz };
3532
+ export type { HyperlinkFieldSpec as $, AnchoredDrawingRecord as A, BlockFragmentRecord as B, ContentControlBoundaryRecord as C, DrawingPoint as D, InlineDrawingLayoutContext as E, FontResourceSnapshot as F, CellBorderBox as G, HeaderFooterStoryRecord as H, InlineDrawingRecord as I, TableBorderBox as J, TableCellStyleFormatting as K, LineRecord as L, ModelRange as M, NoteAreaRecord as N, TableFloatPosition as O, ParagraphFragmentRecord as P, StyleCascadeTable as Q, ResolvedRunStyle as R, SemanticLayout as S, TextMeasurer as T, FixedPoint as U, VersionedShapingLibrary as V, FontByteValidator as W, SourceRange as X, HyperlinkProjector as Y, FieldLinkProjector as Z, StoryPageFieldNeeds as _, PageRecord as a, SpanLinkRecord as a0, PageBorderFrameRecord as a1, ParagraphBorderStrokeRecord as a2, StrikeoutStrokePt as a3, AbstractNumDefinition as a5, AnchoredDrawingLayoutFallback as a6, BidiEmbeddingLevels as a7, BorderGridGeometry as a8, CascadedParagraphFormatting as a9, FontResourceInstrumentation as aA, FontResourceSnapshotOptions as aB, FontSlot as aC, FontValidationResult as aD, GlyphOutline as aE, GroupTextboxStoryRecord as aF, LevelOverride as aJ, LineSpacingRule as aK, ListMarkerAlign as aL, ListMarkerRecord as aM, ListSuffix as aN, NumDefinition as aY, NumberingLevelIndent as aZ, NumberingPictureBullet as a_, CjkTypographySettings as aa, ContentControlGeometryFragment as ab, ContentControlLevel as ac, ContentControlMappedType as ad, DeclaredFontSubstitution as ah, DrawingClipFallback as ai, DrawingGeometry as aj, DrawingGroupPictureRecord as ak, EquationFractionGeometry as an, EquationGeometry as ao, EquationNaryGeometry as ap, EquationRadicalGeometry as aq, EquationRowGeometry as ar, EquationScriptGeometry as as, EquationSpanRecord as at, EquationTextGeometry as au, FieldAtomMarker as av, FontFingerprintInputs as aw, FontResolutionErrorCode as ay, FontResourceDefinition as az, LayoutBox as b, PageBorderDisplay as b1, PageBorderOffsetFrom as b2, PageBorderSide as b3, PageBorderStrokeRecord as b4, PageBorderZOrder as b5, PageRefCalibrationCell as b6, PageRefFieldProjection as b7, ParagraphAutoSpacingContext as b8, ParagraphBorderEdge as b9, ShapedCluster as bA, ShapedFontSpan as bB, ShapedGlyph as bC, ShapedRunComparatorInputs as bD, ShapedVerticalMetrics as bE, ShapingContext as bF, ShapingEnvironment as bG, ShapingEnvironmentFingerprintInputs as bH, StyleDefinition as bI, TabAlignment as bK, TabDestination as bL, TabLeader as bM, TabStop as bN, TableBorderSideName as bO, TableBorderStrokeRecord as bP, TableFragmentRecord as bQ, TextDirection as bR, TextboxStoryFallbackReason as bS, TextboxStoryLayout as bT, VerticalAlign as bV, ParagraphBorderSide as ba, ParagraphBorders as bb, ParagraphBottomBorderRecord as bc, ParagraphIndent as bd, ParagraphLayoutInputs as be, ParagraphLineSpacing as bf, ParagraphSpacing as bg, RefFieldSpec as bh, RefNoteParts as bi, ResolvedCellBorders as bj, ResolvedPictureBullet as bk, ResolvedTabStops as bl, ResolvedTableBorderEdge as bm, ResolvedTableBorderEdgeSegment as bn, ResolvedUnderline as bo, ScriptItem as bq, SemanticArtifactRootStoryKind as br, SemanticArtifactStoryKind as bs, SemanticCommentArtifactRecord as bt, SemanticReviewArtifactOccurrence as bu, SemanticReviewArtifactOccurrenceGeometry as bv, SemanticReviewArtifactPosition as bw, SemanticReviewArtifactSource as bx, SemanticTrackedChangeArtifactRecord as by, ShapeInput as bz, NoteStoryRecord as c, ContentControlLock as d, StyleSpanRecord as e, SectionPageBorders as f, TableRowFragmentRecord as g, TableCellFragmentRecord as h, ShapingEnvironmentInput as i, TextShaper as j, ResolvedFont as k, NormalizationPolicy as l, FixedPointRoundingMode as m, FontRequest as n, SemanticReviewArtifactRecord as o, ListMarkerPictureRecord as p, FontSubstitution as q, ShapedRun as r, NumberingLevel as s, NumberingIndex as t, DrawingInsets as u, TableBorderSide as v, TableFloatXSpec as w, TableFloatYSpec as x, ResolvedListItem as y, RefFieldContext as z };