docxodus 9.9.0 → 10.0.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 (111) hide show
  1. package/README.md +178 -0
  2. package/dist/canonical.d.ts +7 -0
  3. package/dist/canonical.d.ts.map +1 -0
  4. package/dist/canonical.js +56 -0
  5. package/dist/canonical.js.map +1 -0
  6. package/dist/docxodus.worker.d.ts +2 -1
  7. package/dist/docxodus.worker.d.ts.map +1 -1
  8. package/dist/docxodus.worker.js +244 -3
  9. package/dist/docxodus.worker.js.map +1 -1
  10. package/dist/editor.bundle.js +1914 -419
  11. package/dist/editor.d.ts +22 -2
  12. package/dist/editor.d.ts.map +1 -1
  13. package/dist/editor.js +94 -9
  14. package/dist/editor.js.map +1 -1
  15. package/dist/embed.bundle.js +2803 -469
  16. package/dist/embed.iife.js +2801 -467
  17. package/dist/export-assets.json +283 -0
  18. package/dist/export-browser.bundle.js +7990 -0
  19. package/dist/export-browser.d.ts +266 -0
  20. package/dist/export-browser.d.ts.map +1 -0
  21. package/dist/export-browser.js +2915 -0
  22. package/dist/export-browser.js.map +1 -0
  23. package/dist/export-resource-limits-v1.json +57 -0
  24. package/dist/font-contract.d.ts +150 -0
  25. package/dist/font-contract.d.ts.map +1 -0
  26. package/dist/font-contract.js +59 -0
  27. package/dist/font-contract.js.map +1 -0
  28. package/dist/font-runtime.d.ts +33 -0
  29. package/dist/font-runtime.d.ts.map +1 -0
  30. package/dist/font-runtime.js +1100 -0
  31. package/dist/font-runtime.js.map +1 -0
  32. package/dist/index.d.ts +62 -5
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +130 -16
  35. package/dist/index.js.map +1 -1
  36. package/dist/page-geometry.d.ts +8 -1
  37. package/dist/page-geometry.d.ts.map +1 -1
  38. package/dist/page-geometry.js +37 -11
  39. package/dist/page-geometry.js.map +1 -1
  40. package/dist/pagination.bundle.js +1827 -410
  41. package/dist/pagination.d.ts +249 -15
  42. package/dist/pagination.d.ts.map +1 -1
  43. package/dist/pagination.js +1942 -453
  44. package/dist/pagination.js.map +1 -1
  45. package/dist/react.d.ts +11 -4
  46. package/dist/react.d.ts.map +1 -1
  47. package/dist/react.js +38 -5
  48. package/dist/react.js.map +1 -1
  49. package/dist/render-report-v2.schema.json +1581 -0
  50. package/dist/ribbon-chrome.d.ts +1 -1
  51. package/dist/ribbon-chrome.d.ts.map +1 -1
  52. package/dist/ribbon-chrome.js +45 -0
  53. package/dist/ribbon-chrome.js.map +1 -1
  54. package/dist/ribbon.js +70 -0
  55. package/dist/ribbon.js.map +1 -1
  56. package/dist/session.bundle.js +695 -29
  57. package/dist/session.d.ts +134 -19
  58. package/dist/session.d.ts.map +1 -1
  59. package/dist/session.js +562 -25
  60. package/dist/session.js.map +1 -1
  61. package/dist/types.d.ts +1207 -16
  62. package/dist/types.d.ts.map +1 -1
  63. package/dist/types.js.map +1 -1
  64. package/dist/wasm/_framework/DocumentFormat.OpenXml.Framework.wasm +0 -0
  65. package/dist/wasm/_framework/DocumentFormat.OpenXml.Framework.wasm.br +0 -0
  66. package/dist/wasm/_framework/DocumentFormat.OpenXml.wasm +0 -0
  67. package/dist/wasm/_framework/DocumentFormat.OpenXml.wasm.br +0 -0
  68. package/dist/wasm/_framework/Docxodus.wasm +0 -0
  69. package/dist/wasm/_framework/Docxodus.wasm.br +0 -0
  70. package/dist/wasm/_framework/DocxodusWasm.wasm +0 -0
  71. package/dist/wasm/_framework/DocxodusWasm.wasm.br +0 -0
  72. package/dist/wasm/_framework/System.Collections.Concurrent.wasm +0 -0
  73. package/dist/wasm/_framework/System.Collections.Concurrent.wasm.br +0 -0
  74. package/dist/wasm/_framework/System.Collections.Immutable.wasm +0 -0
  75. package/dist/wasm/_framework/System.Collections.Immutable.wasm.br +0 -0
  76. package/dist/wasm/_framework/System.Collections.wasm +0 -0
  77. package/dist/wasm/_framework/System.Collections.wasm.br +0 -0
  78. package/dist/wasm/_framework/System.IO.Compression.wasm +0 -0
  79. package/dist/wasm/_framework/System.IO.Compression.wasm.br +0 -0
  80. package/dist/wasm/_framework/System.IO.Packaging.wasm +0 -0
  81. package/dist/wasm/_framework/System.IO.Packaging.wasm.br +0 -0
  82. package/dist/wasm/_framework/System.Linq.wasm +0 -0
  83. package/dist/wasm/_framework/System.Linq.wasm.br +0 -0
  84. package/dist/wasm/_framework/System.Private.CoreLib.wasm +0 -0
  85. package/dist/wasm/_framework/System.Private.CoreLib.wasm.br +0 -0
  86. package/dist/wasm/_framework/System.Private.Uri.wasm +0 -0
  87. package/dist/wasm/_framework/System.Private.Uri.wasm.br +0 -0
  88. package/dist/wasm/_framework/System.Private.Xml.Linq.wasm +0 -0
  89. package/dist/wasm/_framework/System.Private.Xml.Linq.wasm.br +0 -0
  90. package/dist/wasm/_framework/System.Private.Xml.wasm +0 -0
  91. package/dist/wasm/_framework/System.Private.Xml.wasm.br +0 -0
  92. package/dist/wasm/_framework/System.Runtime.InteropServices.JavaScript.wasm +0 -0
  93. package/dist/wasm/_framework/System.Runtime.InteropServices.JavaScript.wasm.br +0 -0
  94. package/dist/wasm/_framework/System.Runtime.wasm +0 -0
  95. package/dist/wasm/_framework/System.Runtime.wasm.br +0 -0
  96. package/dist/wasm/_framework/System.Security.Cryptography.wasm +0 -0
  97. package/dist/wasm/_framework/System.Security.Cryptography.wasm.br +0 -0
  98. package/dist/wasm/_framework/System.Text.Json.wasm +0 -0
  99. package/dist/wasm/_framework/System.Text.Json.wasm.br +0 -0
  100. package/dist/wasm/_framework/System.Text.RegularExpressions.wasm +0 -0
  101. package/dist/wasm/_framework/System.Text.RegularExpressions.wasm.br +0 -0
  102. package/dist/wasm/_framework/dotnet.boot.js +21 -21
  103. package/dist/wasm/_framework/dotnet.boot.js.br +0 -0
  104. package/dist/wasm/_framework/dotnet.native.wasm +0 -0
  105. package/dist/wasm/_framework/dotnet.native.wasm.br +0 -0
  106. package/dist/worker-proxy.bundle.js +196 -29
  107. package/dist/worker-proxy.d.ts +36 -3
  108. package/dist/worker-proxy.d.ts.map +1 -1
  109. package/dist/worker-proxy.js +186 -33
  110. package/dist/worker-proxy.js.map +1 -1
  111. package/package.json +22 -6
@@ -45,6 +45,8 @@ export type HeaderFooterRegistry = Map<number, SectionHeaderFooter>;
45
45
  export interface MeasuredBlock {
46
46
  /** The DOM element */
47
47
  element: HTMLElement;
48
+ /** Section whose body owns this block after a continuous section transition. */
49
+ sectionIndex: number;
48
50
  /** Measured height in points (content + padding + border, excluding margins) */
49
51
  heightPt: number;
50
52
  /** Top margin in points */
@@ -83,7 +85,77 @@ export interface PaginationResult {
83
85
  totalPages: number;
84
86
  /** Array of page information */
85
87
  pages: PageInfo[];
88
+ /** Present only when the caller supplied an exact layoutToken. */
89
+ pageMap?: PageMap;
90
+ }
91
+ export type PageMapMode = "paginated" | "continuous";
92
+ export type PageMapAvailability = "available" | "unavailable";
93
+ export type PageMapStory = "body" | "header" | "footer" | "footnote" | "endnote" | "comment";
94
+ export interface PageMapRect {
95
+ /** Page-relative points, independent of viewer zoom/transform. */
96
+ x: number;
97
+ y: number;
98
+ width: number;
99
+ height: number;
100
+ }
101
+ export interface PageMapPage {
102
+ pageNumber: number;
103
+ pageInSection: number;
104
+ width: number;
105
+ height: number;
106
+ sectionIndex?: number;
107
+ pageName: string;
108
+ }
109
+ export interface PageMapFragment {
110
+ fragmentId: string;
111
+ /** Canonical collision-safe `kind:scope:unid`, never the bare editor Unid. */
112
+ anchorId: string;
113
+ fragmentIndex: number;
114
+ pageNumber: number;
115
+ geometry: PageMapRect;
116
+ story: PageMapStory;
117
+ /** Table-cell ownership is orthogonal to story (e.g. a body or footnote table cell). */
118
+ inTableCell: boolean;
119
+ }
120
+ /** Versioned portable layout contract consumed by DocxSession and remote agent surfaces. */
121
+ export interface PageMap {
122
+ schemaVersion: 1;
123
+ mode: PageMapMode;
124
+ availability: PageMapAvailability;
125
+ documentVersion: number;
126
+ rendererFingerprint: string;
127
+ pages: PageMapPage[];
128
+ fragments: PageMapFragment[];
86
129
  }
130
+ /** Explicit no-pages contract for a continuous viewer. It never estimates page numbers. */
131
+ export declare function createUnavailablePageMap(documentVersion: number, rendererFingerprint: string, mode?: "continuous"): PageMap;
132
+ export interface PageCitationNavigation {
133
+ navigated: boolean;
134
+ target?: HTMLElement;
135
+ pageNumber?: number;
136
+ fragmentId?: string;
137
+ unavailableReason?: "citation_unavailable" | "fragment_not_found";
138
+ }
139
+ /** Remove the citation highlight previously applied within this paginated root. */
140
+ export declare function clearPageCitationHighlight(root: ParentNode): void;
141
+ /**
142
+ * Navigate an exact citation over an already-paginated DOM. The page-qualified fragment id is
143
+ * authoritative; page + canonical source identity is a compatibility fallback for older v1 DOMs.
144
+ */
145
+ export declare function navigateToPageCitation(root: ParentNode, citation: {
146
+ availability: PageMapAvailability;
147
+ anchorId: string;
148
+ fragments: Array<{
149
+ fragmentId: string;
150
+ pageNumber: number;
151
+ }>;
152
+ }, options?: {
153
+ highlightClass?: string;
154
+ /** Apply a visible inline highlight when no class is supplied. Default true. */
155
+ highlight?: boolean;
156
+ behavior?: ScrollBehavior;
157
+ block?: ScrollLogicalPosition;
158
+ }): PageCitationNavigation;
87
159
  /**
88
160
  * Options for the pagination engine.
89
161
  */
@@ -102,6 +174,24 @@ export interface PaginationOptions {
102
174
  * entry points opt in explicitly.
103
175
  */
104
176
  fragmentParagraphs?: boolean;
177
+ /** Cooperative checkpoint for bounded non-yielding browser layout work. */
178
+ checkCancellation?: () => void;
179
+ /**
180
+ * Skip fragment-identity stamping at the end of paginate(). Callers that mutate the page tree
181
+ * afterwards (running-story placement) and then call normalizePageMapFragmentIdentities() would
182
+ * otherwise pay the whole forced-layout pass twice and discard the first result. Default: false.
183
+ */
184
+ deferFragmentIdentities?: boolean;
185
+ /**
186
+ * Incremental admission check invoked immediately before each physical page is allocated.
187
+ * Export callers use this to enforce `finalPages` without constructing an over-limit DOM first.
188
+ */
189
+ checkPageCount?: (prospectivePageCount: number) => void;
190
+ /** Exact invalidation tokens used to materialize an authoritative PageMap with the result. */
191
+ layoutToken?: {
192
+ documentVersion: number;
193
+ rendererFingerprint: string;
194
+ };
105
195
  }
106
196
  /**
107
197
  * Pagination engine that converts HTML with pagination metadata
@@ -114,16 +204,30 @@ export type FootnoteRegistry = Map<string, HTMLElement>;
114
204
  export declare class PaginationEngine {
115
205
  private stagingElement;
116
206
  private containerElement;
207
+ private document;
208
+ private view;
117
209
  private scale;
118
210
  private cssPrefix;
119
211
  private showPageNumbers;
120
212
  private pageGap;
121
213
  private fragmentParagraphs;
214
+ private deferFragmentIdentities;
215
+ private cancellationCheckpoint?;
216
+ private pageCountCheckpoint?;
217
+ private createdPageCount;
218
+ private layoutToken?;
122
219
  private hfRegistry;
123
220
  private footnoteRegistry;
221
+ private footnoteSeparator;
222
+ private footnoteContinuationSeparator;
223
+ private commentMarginRegistry;
224
+ private footnoteLayoutLikeWord8;
124
225
  private pendingFootnoteContinuation;
125
226
  /** Per-section `w:pgNumType` (start / format), read off the section wrappers. */
126
227
  private pageNumbering;
228
+ private lastPages;
229
+ private expectedPageMapAnchorIds;
230
+ private state;
127
231
  /**
128
232
  * Creates a new pagination engine.
129
233
  *
@@ -138,6 +242,48 @@ export declare class PaginationEngine {
138
242
  * @returns PaginationResult with page information
139
243
  */
140
244
  paginate(): PaginationResult;
245
+ private checkpoint;
246
+ /**
247
+ * Normalize visible fragment identities after a caller applies final standalone styles. This
248
+ * deliberately runs before the stability barrier; materializePageMap is read-only so PageMap
249
+ * measurement cannot mutate a tree after it was declared stable.
250
+ */
251
+ normalizePageMapFragmentIdentities(): void;
252
+ /**
253
+ * Materialize the last completed browser layout as portable page-relative point geometry.
254
+ * The caller supplies both invalidation tokens; this engine never guesses a document version
255
+ * or renderer fingerprint.
256
+ */
257
+ materializePageMap(documentVersion: number, rendererFingerprint: string): PageMap;
258
+ private normalizeVisiblePageFragments;
259
+ /**
260
+ * Intersect an element with every ancestor that establishes an overflow clip before the page
261
+ * root. getBoundingClientRect() reports layout outside those clips, which is not rendered and
262
+ * therefore must not satisfy PageMap completeness or inflate portable geometry.
263
+ */
264
+ private intersectWithClippingAncestors;
265
+ private storyForCanonicalAnchor;
266
+ /**
267
+ * Add canonical IDs from an addressable source subtree to the pre-pagination inventory.
268
+ * Registry wrappers are excluded when scanning staging because selectable registry contents are
269
+ * inventoried separately. Producers may explicitly mark content that has no visual substrate
270
+ * with `data-page-map-exclude="true"`; native hidden semantics carry the same signal.
271
+ */
272
+ private collectExpectedSourceAnchors;
273
+ private isZeroHeightExplicitBreakCarrier;
274
+ private isDeliberatelyUnrenderedSource;
275
+ /**
276
+ * Keep exactly one active bare-Unid editor anchor per source block. Presentation clones use
277
+ * canonical source identity plus page/fragment qualification instead.
278
+ */
279
+ private qualifyPageFragments;
280
+ /**
281
+ * Page flow clones source blocks while the hidden staging tree stays in the document. Any HTML
282
+ * fragment target copied into a visible page would therefore resolve to its earlier hidden
283
+ * source. Transfer target ownership to the page presentation after flow is complete; registry
284
+ * and wrapper IDs that have no visible counterpart remain available to pagination internals.
285
+ */
286
+ private transferVisibleFragmentTargets;
141
287
  /** Read each section's `w:pgNumType` off its wrapper (see {@link SectionPageNumbering}). */
142
288
  private parsePageNumbering;
143
289
  /**
@@ -164,6 +310,15 @@ export declare class PaginationEngine {
164
310
  * Measures all content blocks in a section.
165
311
  */
166
312
  private measureBlocks;
313
+ /**
314
+ * Flatten the converter's `section.endnotes > ol > li > p` presentation into
315
+ * ordinary paragraph blocks. This preserves paragraph formatting and canonical
316
+ * p:en/en:en identities while allowing the existing paragraph fragmenter to
317
+ * split a long endnote across page boundaries.
318
+ */
319
+ private measureSafeEndnoteBlocks;
320
+ /** Render the CSS ordered-list formats emitted by the converter after an endnote is flattened. */
321
+ private formatOrderedListMarker;
167
322
  /**
168
323
  * Flows a multi-column (`w:cols`) section's children into CSS-multicol container
169
324
  * blocks. Word lays such a section out as N columns inside the same body extent;
@@ -234,17 +389,38 @@ export declare class PaginationEngine {
234
389
  */
235
390
  private trySplitSimpleOversizedTable;
236
391
  /**
237
- * A DOM endpoint that can finish a paragraph fragment. Endpoints are chosen
238
- * after whitespace or at a run boundary so the paginator never deliberately
239
- * cuts through an ordinary word merely to fill a little more of a page.
392
+ * DOM endpoints that can finish a paragraph fragment. The flattened UTF-16
393
+ * offsets are checked against the browser's Unicode grapheme segmenter, so a
394
+ * formatting-run boundary can never bisect a surrogate pair, combining
395
+ * sequence, or joined emoji. NBSP/word-joiner boundaries remain indivisible.
396
+ * PAGE/NUMPAGES field results are atomic because splitting their marker would
397
+ * make later substitution duplicate or replace only half of the field.
240
398
  */
241
399
  private paragraphFragmentEndpoints;
400
+ /** Browser-native UAX #29 boundaries; null keeps older runtimes conservative. */
401
+ private graphemeBoundaryOffsets;
402
+ /**
403
+ * Conservative UAX #14/CSS wrapping opportunities used for synthetic page
404
+ * boundaries. In particular, a formatting-run boundary is not itself a word
405
+ * boundary, and Japanese opening/closing punctuation stays with its pair.
406
+ * Arbitrary grapheme breaks are admitted only when the paragraph's CSS asks
407
+ * the browser to wrap anywhere.
408
+ */
409
+ private isLegalParagraphLineBoundary;
410
+ /** Never fragment across characters whose line-break meaning is explicitly non-breaking. */
411
+ private isNonBreakingTextBoundary;
412
+ /**
413
+ * Without Intl.Segmenter, admit only an all-ASCII boundary. This still
414
+ * fragments ordinary prose while refusing to guess about Unicode clusters.
415
+ */
416
+ private isConservativeFallbackTextBoundary;
242
417
  /**
243
418
  * Whether a range contains visible text after ignoring bidi/zero-width marks.
244
419
  * Paragraph fragmentation deliberately excludes non-textual descendants, so
245
420
  * this is enough to reject empty head or tail fragments.
246
421
  */
247
422
  private hasVisibleFragmentText;
423
+ private hasVisibleText;
248
424
  /**
249
425
  * Phase one only handles text-like paragraph descendants. Objects, explicit
250
426
  * line breaks, list markers, notes, and out-of-flow/inline-block content all
@@ -252,12 +428,38 @@ export declare class PaginationEngine {
252
428
  * fallback instead of risking broken content or duplicate anchors.
253
429
  */
254
430
  private canFragmentParagraph;
431
+ /**
432
+ * Shared structural gate for body and note paragraph fragmentation. Footnote
433
+ * first paragraphs are inline beside their marker, so that one known layout
434
+ * context may opt into an inline root while retaining every descendant and
435
+ * break-safety restriction used for body text.
436
+ */
437
+ private canRangeFragmentParagraph;
438
+ /**
439
+ * A range clone preserves nested inline formatting exactly. Anything that establishes its own
440
+ * box/layout context is deferred until a future fragmenter can model it accurately. Callers
441
+ * must invoke this while the paragraph is attached to the styled document.
442
+ */
443
+ private hasRangeFragmentSafeLayout;
255
444
  /**
256
445
  * Builds one range-cloned paragraph fragment. Only the leading fragment keeps
257
446
  * the source paragraph's addressability; continuations must not duplicate an
258
447
  * id/data-anchor in the rendered document.
259
448
  */
260
449
  private createParagraphFragment;
450
+ /**
451
+ * Range clones repeat an inline ancestor when the split lands inside it. Keep
452
+ * semantic wrappers (links, comments, formatting) on both sides, but retain a
453
+ * duplicated HTML/editor identity only on the leading fragment. Targets that
454
+ * occur wholly after the split are absent from `head` and remain on `tail`.
455
+ */
456
+ private reconcileParagraphFragmentIdentities;
457
+ /**
458
+ * Range-clone the largest safe prefix accepted by `fits`. The measurement
459
+ * policy stays with the caller, allowing body blocks and note bands to share
460
+ * one DOM fragmenter while measuring in their respective layout contexts.
461
+ */
462
+ private splitParagraphAtLargestFit;
261
463
  /**
262
464
  * Splits a simple paragraph at the largest DOM Range endpoint that fits the
263
465
  * currently available body space. The caller then processes the tail normally,
@@ -273,10 +475,43 @@ export declare class PaginationEngine {
273
475
  * Parses the footnote registry from the staging element.
274
476
  */
275
477
  private parseFootnoteRegistry;
478
+ /** Read Word's optional normal and continuation separator stories. */
479
+ private parseFootnoteSeparators;
480
+ /** Append the exact separator story selected for this initial/continued note band. */
481
+ private appendFootnoteSeparator;
482
+ /** Parses the hidden source notes used to render paginated margin comments. */
483
+ private parseCommentMarginRegistry;
276
484
  /**
277
485
  * Extracts footnote reference IDs from an element.
278
486
  */
279
487
  private extractFootnoteRefs;
488
+ /** Clone a note child for the continuation queue with its original selector position. */
489
+ private cloneFootnoteElementForContinuation;
490
+ /** Remove identities that belong only to the initial registry presentation shell. */
491
+ private makeContinuationShellInert;
492
+ /**
493
+ * Build the exact continuation shape shared by measurement and paint.
494
+ *
495
+ * Keep the source `.footnote-item > .footnote-content` ancestry: document
496
+ * CSS, inherited direction/language, and custom classes frequently target
497
+ * those shells. Only the number and initial HTML/editor identities are
498
+ * omitted. A hidden sentinel preserves `p:not(:first-of-type)` for a page
499
+ * whose first carried element was a later source paragraph.
500
+ */
501
+ private createFootnoteContinuationWrapper;
502
+ /** Build the exact partial-note item shape shared by measurement and paint. */
503
+ private createPartialFootnoteItem;
504
+ /**
505
+ * Where a note measurement tree is attached.
506
+ *
507
+ * A note band is reserved from a measurement and then painted; if the two
508
+ * happen under different inherited typography the painted notes overflow the
509
+ * reserve, which is the invisible clipping this engine exists to avoid. The
510
+ * registry lives in the staging tree but a band paints inside the output
511
+ * container, so measure there. The host is never a page box, so a page's
512
+ * `zoom` cannot scale a reserve that is accounted for in unscaled points.
513
+ */
514
+ private noteMeasurementHost;
280
515
  /**
281
516
  * Measures the height of footnotes for given IDs (in points).
282
517
  * Creates a temporary container to measure the footnotes.
@@ -286,29 +521,24 @@ export declare class PaginationEngine {
286
521
  */
287
522
  private measureFootnotesHeight;
288
523
  /**
289
- * Measures the height of just the continuation content (in points).
524
+ * Partition a continuation for one page's note band, preferring complete children
525
+ * and range-fragmenting an eligible paragraph when necessary. Always advances by
526
+ * at least one element so an indivisible oversized paragraph follows the established
527
+ * clipped fallback without trapping pagination in a loop.
290
528
  */
291
- private measureContinuationHeight;
529
+ private splitContinuationForPage;
292
530
  /**
293
531
  * Splits a footnote element into parts that fit within the available height.
294
532
  * Returns the elements that fit and the elements that need to continue.
295
533
  */
296
534
  private splitFootnoteToFit;
297
- /**
298
- * Measures a single footnote's height.
299
- */
300
- private measureSingleFootnoteHeight;
301
535
  /**
302
536
  * Adds footnotes to a page container, including continuation content.
303
537
  */
304
538
  private addPageFootnotes;
305
- /**
306
- * Selects the appropriate header for a page based on section, page position, and page number.
307
- */
539
+ /** Select the section's first/odd/even header from its one-based page position. */
308
540
  private selectHeader;
309
- /**
310
- * Selects the appropriate footer for a page based on section, page position, and page number.
311
- */
541
+ /** Select the section's first/odd/even footer from its one-based page position. */
312
542
  private selectFooter;
313
543
  /**
314
544
  * The header, body, and footer bands for one page position.
@@ -355,6 +585,8 @@ export declare class PaginationEngine {
355
585
  * cloned node cannot be uniquely addressed.
356
586
  */
357
587
  private makeClonedStoryInert;
588
+ /** A repeated margin note is presentation, not a second bookmark/link target. */
589
+ private makeClonedMarginCommentInert;
358
590
  /**
359
591
  * Resolves floating DrawingML objects after their anchor paragraphs have landed on a page.
360
592
  *
@@ -368,6 +600,8 @@ export declare class PaginationEngine {
368
600
  private horizontalAnchorReference;
369
601
  private verticalAnchorReference;
370
602
  private resolveAnchorAxis;
603
+ /** Charge a physical page before any page-owned partitioning or DOM allocation. */
604
+ private admitPageAllocation;
371
605
  /**
372
606
  * Creates a page container element.
373
607
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}