@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
package/dist/layout.d.ts CHANGED
@@ -1,20 +1,35 @@
1
- import { n as NumberingLevel, o as NumberingIndex, S as SemanticLayout, p as LayoutBox, D as DrawingPoint, q as DrawingInsets, a as StyleSpanRecord, I as InlineDrawingRecord, M as ModelRange, r as TableBorderSide, s as TableFloatXSpec, t as TableFloatYSpec, P as ParagraphFragmentRecord, B as BlockFragmentRecord, A as AnchoredDrawingRecord, u as PageRecord, v as ResolvedListItem, w as RefFieldContext, T as TextMeasurer, x as InlineDrawingLayoutContext, y as CellBorderBox, z as TableCellStyleFormatting, E as TableFloatPosition, G as TableBorderBox, H as StyleCascadeTable, L as LineRecord, J as NoteAreaRecord, K as HeaderFooterStoryRecord, O as NoteStoryRecord, C as ContentControlBoundaryRecord$1, Q as ContentControlLock, h as FixedPointRoundingMode, U as FixedPoint, V as VersionedShapingLibrary, f as TextShaper, W as FontByteValidator, m as ShapedRun, X as SourceRange, Y as HyperlinkProjector, Z as FieldLinkProjector, _ as StoryPageFieldNeeds, $ as HyperlinkFieldSpec, a0 as SpanLinkRecord, b as SectionPageBorders, a1 as PageBorderFrameRecord, a2 as ParagraphBorderStrokeRecord, a3 as StrikeoutStrokePt } from './semantic-records-COqi8pjP.js';
2
- export { a4 as AUTO_PARAGRAPH_SPACING_PT, a5 as AbstractNumDefinition, a6 as AnchoredDrawingLayoutFallback, a7 as BidiEmbeddingLevels, a8 as BorderGridGeometry, a9 as CascadedParagraphFormatting, aa as CjkTypographySettings, ab as ContentControlGeometryFragment, ac as ContentControlLevel, ad as ContentControlMappedType, ae as DEFAULT_RUN_STYLE, af as DEFAULT_TAB_INTERVAL_PT, ag as DEFAULT_TAB_INTERVAL_TWIPS, ah as DeclaredFontSubstitution, ai as DrawingClipFallback, aj as DrawingGeometry, ak as DrawingGroupPictureRecord, al as EMPTY_NUMBERING_INDEX, am as EMPTY_TAB_STOPS, an as EquationFractionGeometry, ao as EquationGeometry, ap as EquationNaryGeometry, aq as EquationRadicalGeometry, ar as EquationRowGeometry, as as EquationScriptGeometry, at as EquationSpanRecord, au as EquationTextGeometry, av as FieldAtomMarker, aw as FontFingerprintInputs, i as FontRequest, ax as FontResolutionError, ay as FontResolutionErrorCode, az as FontResourceDefinition, aA as FontResourceInstrumentation, F as FontResourceSnapshot, aB as FontResourceSnapshotOptions, aC as FontSlot, l as FontSubstitution, aD as FontValidationResult, aE as GlyphOutline, aF as HARD_MAX_AGGREGATE_FONT_BYTES, aG as HARD_MAX_FONT_BYTES, aH as HARD_MAX_FONT_SOURCES, aI as LevelOverride, aJ as LineSpacingRule, aK as ListMarkerAlign, k as ListMarkerPictureRecord, aL as ListMarkerRecord, aM as ListSuffix, aN as MAX_BORDER_SPACE_PT, aO as MAX_BORDER_WIDTH_PT, aP as MAX_LVL_OVERRIDES, aQ as MAX_NUMBERING_DEFINITIONS, aR as MAX_PARAGRAPH_SPACING_PT, aS as MAX_SHAPING_CONTEXT, aT as MAX_STYLE_DEFINITIONS, aU as MAX_TABLE_BORDER_STROKES, aV as MAX_TAB_POSITION_TWIPS, aW as MAX_TAB_STOPS, N as NormalizationPolicy, aX as NumDefinition, aY as NumberingLevelIndent, aZ as NumberingPictureBullet, a_ as PAGE_BORDER_SIDES, a$ as PARAGRAPH_BORDER_SIDES, b0 as PageBorderDisplay, b1 as PageBorderOffsetFrom, b2 as PageBorderSide, b3 as PageBorderStrokeRecord, b4 as PageBorderZOrder, b5 as PageRefCalibrationCell, b6 as PageRefFieldProjection, b7 as ParagraphAutoSpacingContext, b8 as ParagraphBorderEdge, b9 as ParagraphBorderSide, ba as ParagraphBorders, bb as ParagraphBottomBorderRecord, bc as ParagraphIndent, bd as ParagraphLayoutInputs, be as ParagraphLineSpacing, bf as ParagraphSpacing, bg as RefFieldSpec, bh as RefNoteParts, bi as ResolvedCellBorders, g as ResolvedFont, bj as ResolvedPictureBullet, R as ResolvedRunStyle, bk as ResolvedTabStops, bl as ResolvedTableBorderEdge, bm as ResolvedTableBorderEdgeSegment, bn as ResolvedUnderline, bo as SINGLE_LINE_SPACING, bp as ScriptItem, bq as SemanticArtifactRootStoryKind, br as SemanticArtifactStoryKind, bs as SemanticCommentArtifactRecord, bt as SemanticReviewArtifactOccurrence, bu as SemanticReviewArtifactOccurrenceGeometry, bv as SemanticReviewArtifactPosition, j as SemanticReviewArtifactRecord, bw as SemanticReviewArtifactSource, bx as SemanticTrackedChangeArtifactRecord, by as ShapeInput, bz as ShapedCluster, bA as ShapedFontSpan, bB as ShapedGlyph, bC as ShapedRunComparatorInputs, bD as ShapedVerticalMetrics, bE as ShapingContext, bF as ShapingEnvironment, bG as ShapingEnvironmentFingerprintInputs, e as ShapingEnvironmentInput, bH as StyleDefinition, bI as TAB_LEADER_GLYPH, bJ as TabAlignment, bK as TabDestination, bL as TabLeader, bM as TabStop, bN as TableBorderSideName, bO as TableBorderStrokeRecord, d as TableCellFragmentRecord, bP as TableFragmentRecord, c as TableRowFragmentRecord, bQ as TextDirection, bR as TextboxStoryFallbackReason, bS as TextboxStoryLayout, bT as UnsupportedScriptError, bU as VerticalAlign, bV as appliedSpaceBefore, bW as applyLineSpacing, bX as baselineShiftPtOf, bY as borderExtentPt, bZ as borderWeight, b_ as bottomBorderExtentPt, b$ as boundedStructuralFontValidator, c0 as buildNumberingIndex, c1 as buildStyleCascadeTable, c2 as cascadeParagraphFormatting, c3 as cascadeRunProperties, c4 as cascadedBottomBorder, c5 as cascadedParagraphBorders, c6 as cascadedTabStops, c7 as collapsedSpaceBefore, c8 as createFontResourceSnapshot, c9 as createShapedRun, ca as createShapingEnvironment, cb as defaultTabIntervalFromSettings, cc as displayText, cd as fixedPoint, ce as fontRequestKey, cf as glyphSizeFactorOf, cg as isValidStyleId, ch as itemizeScriptFontSlots, ci as layoutEquation, cj as measureDisplayText, ck as mergeListIndent, cl as nextTabDestination, cm as pageBordersFingerprint, cn as paragraphBorderExtentPt, co as paragraphBorderStrokeWidthPt, cp as paragraphBorders, cq as paragraphBordersFingerprint, cr as paragraphBreaksBefore, cs as paragraphContextualSpacing, ct as paragraphLineSpacing, cu as paragraphSpacing, cv as paragraphTabStops, cw as parsePageBorders, cx as parseRefInstruction, cy as readBorderSide, cz as readCellBorders, cA as readNumPr, cB as readTableBorders, cC as resolveBorderConflict, cD as resolveNumberingLevel, cE as resolveParagraphLayoutInputs, cF as resolveRunStyle, cG as resolveStoryListItems, cH as resolveStoryRefFields, cI as resolveTableCellBorderGrid, cJ as runStylesEqual, cK as shapedRunComparatorInputs, cL as shapingEnvironmentFingerprint, cM as shapingEnvironmentFingerprintInputs, cN as styleForFontSlot, cO as tabAdvanceWidth, cP as tabStopsFingerprint, cQ as walkStoryParagraphs, cR as withDefaultTabInterval, cS as withNumberingStyleLinks, cT as withResolvedListItems } from './semantic-records-COqi8pjP.js';
3
- export { C as CacheLookup, b as CacheMiss, c as CacheProvenance, e as LayoutEnvironmentShapedMeasurerOptions, f as LayoutFontConfiguration, g as LayoutFontSource, h as LayoutFontSubstitution, i as LayoutShapingConfigurationError, j as LayoutShapingEnvironment, L as LayoutShapingInstrumentation, a as LayoutShapingOptions, O as OperationSnapshot, k as OperationSnapshotField, l as OperationSnapshotGuard, P as PreparedLayoutFontConfiguration, R as ResolvedCache, m as ResourceDependencyProvenance, S as ShapedMeasurerOptions, n as captureOperationSnapshot, o as createLayoutShapedMeasurer, p as createLayoutShaping, q as createShapedMeasurer, d as disposeLayoutShaping, r as guardOperationSnapshot, s as layoutFontConfigurationFingerprint, t as prepareLayoutFontConfiguration } from './layout-shaping-DWitwY73.js';
4
- import { aC as ImpactClass, N as OoxmlNode, X as OoxmlProperty, Z as OoxmlElement, O as OoxmlPart, W as TreeDocOp, Q as OoxmlPackage, b6 as ContentControlKind, b7 as ContentControlLevel, b9 as ContentControlLock$1, b3 as ContentControlDataBinding, a as ReviewItem } from './types-barrel-BO73JqHG.js';
5
- export { a_ as CommentAnchor, a$ as CommentPosition, C as CommentRecord, aV as CommentThreadState, aH as DrawingAccessibility, aj as DrawingHorizontalReferenceFrame, aI as DrawingImageEffects, aJ as DrawingTransform, ak as DrawingVerticalReferenceFrame, aa as ImageWrapTarget, c as ReviewCommentItem, d as ReviewCustomItem, R as ReviewModelInput, e as ReviewPosition, f as ReviewRange, b as ReviewRevisionItem, g as ReviewRevisionKind, a8 as SourceCrop, aG as TableBorderStyle, dx as VectorShapeComponent, aK as VectorShapeProjection, cp as W15_NAMESPACE_URI, dy as activeReviewItem, cT as firstReviewRange, dn as reviewItemKey, dz as reviewItemPositionRank, dp as reviewItemRanges, dA as reviewItemsAt, dB as reviewThreadRootOf } from './types-barrel-BO73JqHG.js';
6
- import { D as DocumentProperties, H as HeadlessDocumentView, r as relationshipTargetIn } from './headless-document-view-R9bzzepb.js';
7
- import { c as RevisionAttribution, a as RevisionDisplayMode, b as RevisionAuthorFilter } from './revision-projection-DfWxdBqA.js';
8
- export { D as DEFAULT_REVISION_DISPLAY_MODE, d as RevisionFilter, e as RevisionKind, f as formatRevisionOf, m as markRevisionRemovesMark, p as paragraphMarkFormatRevisionOf, g as paragraphMarkRevisionOf, h as paragraphMarkRevisionsOf, r as revisionAuthorFilter, i as revisionsAreDeletion, j as revisionsVisible, s as shownMarkRevision } from './revision-projection-DfWxdBqA.js';
9
- import { b as ResolvedFootnoteProperties, R as ResolvedEndnoteProperties } from './note-properties-CmfvOJsi.js';
10
- import { b as TreeModelChange, N as NoteKind, az as noteTypeOf } from './tree-package-fragment-YPyYC1aD.js';
11
- import { P as PageGeometry, a as SectionColumns } from './semantic-cell-selection-Dy_BmmpL.js';
12
- export { C as CellSelection, D as DEFAULT_PAGE_GEOMETRY, b as DEFAULT_SECTION_PROPERTIES, c as DEFAULT_VERTICAL_WEIGHT, d as DocumentSection, e as DocumentSectionsEnumeration, f as DrawingOverlayFrame, H as HitPoint, g as HitTestOptions, M as MAX_DOCUMENT_SECTIONS, h as PlacedCell, i as SectionBreakType, j as SectionColumnDefinition, k as SectionMargins, l as SectionPageNumbering, S as SectionProperties, m as SemanticHit, n as SemanticHitDrawing, T as TableCellAddress, o as TableCellContext, p as caretBoxOnLine, q as cellSelectionBetween, r as cellSelectionRects, s as cellSelectionText, t as contentControlAtPoint, u as enumerateDocumentSections, v as enumerateDocumentSectionsBounded, w as findDrawingOverlayFrameInLayout, x as geometryOfSection, y as hitTestPage, z as hitTestSheet, A as isFurniturePoint, B as lineEndOffset, E as pageAtY, F as paragraphSectionNode, G as paragraphsInCells, I as parsePageNumbering, J as parseSectionProperties, K as projectedSectionSourceIndexes, L as readSectionProperties, N as spanOffsetX, O as spansInCells, Q as tableContextAt } from './semantic-cell-selection-Dy_BmmpL.js';
13
- export { M as MAX_SDT_NESTING, c as collectFlowBlocks, a as commentBodyText, b as commentInitials, j as contentControlContentChildren, i as isContentControl, f as isContentControlContent, p as paragraphOrderOfPart } from './review-paragraph-order-Dc8Q6tfM.js';
14
- import { S as SemanticPosition, b as SelectionRect, a as SemanticSelection } from './semantic-interaction-CvFAj0GR.js';
15
- export { c as CaretAtOptions, C as CaretGeometry, M as MoveCaretOptions, N as NavigationCommand, d as caretAt, e as caretStops, f as caretStopsForBlocks, g as compositionAnchor, h as contentControlAtSemantic, i as contentControlsInLayout, j as deletedTextBoundaries, k as hitTestSemantic, m as moveCaret, p as paragraphTextFromLayout, s as spansInSelection } from './semantic-interaction-CvFAj0GR.js';
16
- import './image-resources-DfagDguq.js';
17
- import './omml-equation-CZ6IG2ja.js';
1
+ /**
2
+ * `@docx-editor.dev/core/layout` — DOM-free pagination, shaping, and hit testing.
3
+ *
4
+ * Text is measured through an injected `TextMeasurer` and shaped through an injected
5
+ * `TextShaper`, so the same code paginates in a browser and on a server. Points everywhere;
6
+ * twips convert at property-read boundaries.
7
+ *
8
+ * Incremental by construction: per-block cache keys and flow checkpoints mean a pass that
9
+ * changes nothing returns the previous pages by identity.
10
+ *
11
+ * @packageDocumentation
12
+ * @public
13
+ */
14
+ import { s as NumberingLevel, t as NumberingIndex, S as SemanticLayout, b as LayoutBox, D as DrawingPoint, u as DrawingInsets, e as StyleSpanRecord, I as InlineDrawingRecord, M as ModelRange, v as TableBorderSide, w as TableFloatXSpec, x as TableFloatYSpec, P as ParagraphFragmentRecord, B as BlockFragmentRecord, A as AnchoredDrawingRecord, a as PageRecord, y as ResolvedListItem, z as RefFieldContext, T as TextMeasurer, E as InlineDrawingLayoutContext, G as CellBorderBox, J as TableBorderBox, K as TableCellStyleFormatting, O as TableFloatPosition, Q as StyleCascadeTable, C as ContentControlBoundaryRecord$1, m as FixedPointRoundingMode, U as FixedPoint, V as VersionedShapingLibrary, j as TextShaper, W as FontByteValidator, r as ShapedRun, L as LineRecord, X as SourceRange, Y as HyperlinkProjector, Z as FieldLinkProjector, _ as StoryPageFieldNeeds, $ as HyperlinkFieldSpec, a0 as SpanLinkRecord, f as SectionPageBorders, a1 as PageBorderFrameRecord, a2 as ParagraphBorderStrokeRecord, a3 as StrikeoutStrokePt } from './semantic-records-4B3WwFAi.js';
15
+ export { a4 as AUTO_PARAGRAPH_SPACING_PT, a5 as AbstractNumDefinition, a6 as AnchoredDrawingLayoutFallback, a7 as BidiEmbeddingLevels, a8 as BorderGridGeometry, a9 as CascadedParagraphFormatting, aa as CjkTypographySettings, ab as ContentControlGeometryFragment, ac as ContentControlLevel, d as ContentControlLock, ad as ContentControlMappedType, ae as DEFAULT_RUN_STYLE, af as DEFAULT_TAB_INTERVAL_PT, ag as DEFAULT_TAB_INTERVAL_TWIPS, ah as DeclaredFontSubstitution, ai as DrawingClipFallback, aj as DrawingGeometry, ak as DrawingGroupPictureRecord, al as EMPTY_NUMBERING_INDEX, am as EMPTY_TAB_STOPS, an as EquationFractionGeometry, ao as EquationGeometry, ap as EquationNaryGeometry, aq as EquationRadicalGeometry, ar as EquationRowGeometry, as as EquationScriptGeometry, at as EquationSpanRecord, au as EquationTextGeometry, av as FieldAtomMarker, aw as FontFingerprintInputs, n as FontRequest, ax as FontResolutionError, ay as FontResolutionErrorCode, az as FontResourceDefinition, aA as FontResourceInstrumentation, F as FontResourceSnapshot, aB as FontResourceSnapshotOptions, aC as FontSlot, q as FontSubstitution, aD as FontValidationResult, aE as GlyphOutline, aF as GroupTextboxStoryRecord, aG as HARD_MAX_AGGREGATE_FONT_BYTES, aH as HARD_MAX_FONT_BYTES, aI as HARD_MAX_FONT_SOURCES, H as HeaderFooterStoryRecord, aJ as LevelOverride, aK as LineSpacingRule, aL as ListMarkerAlign, p as ListMarkerPictureRecord, aM as ListMarkerRecord, aN as ListSuffix, aO as MAX_BORDER_SPACE_PT, aP as MAX_BORDER_WIDTH_PT, aQ as MAX_LVL_OVERRIDES, aR as MAX_NUMBERING_DEFINITIONS, aS as MAX_PARAGRAPH_SPACING_PT, aT as MAX_SHAPING_CONTEXT, aU as MAX_STYLE_DEFINITIONS, aV as MAX_TABLE_BORDER_STROKES, aW as MAX_TAB_POSITION_TWIPS, aX as MAX_TAB_STOPS, l as NormalizationPolicy, N as NoteAreaRecord, c as NoteStoryRecord, aY as NumDefinition, aZ as NumberingLevelIndent, a_ as NumberingPictureBullet, a$ as PAGE_BORDER_SIDES, b0 as PARAGRAPH_BORDER_SIDES, b1 as PageBorderDisplay, b2 as PageBorderOffsetFrom, b3 as PageBorderSide, b4 as PageBorderStrokeRecord, b5 as PageBorderZOrder, b6 as PageRefCalibrationCell, b7 as PageRefFieldProjection, b8 as ParagraphAutoSpacingContext, b9 as ParagraphBorderEdge, ba as ParagraphBorderSide, bb as ParagraphBorders, bc as ParagraphBottomBorderRecord, bd as ParagraphIndent, be as ParagraphLayoutInputs, bf as ParagraphLineSpacing, bg as ParagraphSpacing, bh as RefFieldSpec, bi as RefNoteParts, bj as ResolvedCellBorders, k as ResolvedFont, bk as ResolvedPictureBullet, R as ResolvedRunStyle, bl as ResolvedTabStops, bm as ResolvedTableBorderEdge, bn as ResolvedTableBorderEdgeSegment, bo as ResolvedUnderline, bp as SINGLE_LINE_SPACING, bq as ScriptItem, br as SemanticArtifactRootStoryKind, bs as SemanticArtifactStoryKind, bt as SemanticCommentArtifactRecord, bu as SemanticReviewArtifactOccurrence, bv as SemanticReviewArtifactOccurrenceGeometry, bw as SemanticReviewArtifactPosition, o as SemanticReviewArtifactRecord, bx as SemanticReviewArtifactSource, by as SemanticTrackedChangeArtifactRecord, bz as ShapeInput, bA as ShapedCluster, bB as ShapedFontSpan, bC as ShapedGlyph, bD as ShapedRunComparatorInputs, bE as ShapedVerticalMetrics, bF as ShapingContext, bG as ShapingEnvironment, bH as ShapingEnvironmentFingerprintInputs, i as ShapingEnvironmentInput, bI as StyleDefinition, bJ as TAB_LEADER_GLYPH, bK as TabAlignment, bL as TabDestination, bM as TabLeader, bN as TabStop, bO as TableBorderSideName, bP as TableBorderStrokeRecord, h as TableCellFragmentRecord, bQ as TableFragmentRecord, g as TableRowFragmentRecord, bR as TextDirection, bS as TextboxStoryFallbackReason, bT as TextboxStoryLayout, bU as UnsupportedScriptError, bV as VerticalAlign, bW as appliedSpaceBefore, bX as applyLineSpacing, bY as baselineShiftPtOf, bZ as borderExtentPt, b_ as borderWeight, b$ as bottomBorderExtentPt, c0 as boundedStructuralFontValidator, c1 as buildNumberingIndex, c2 as buildStyleCascadeTable, c3 as cascadeParagraphFormatting, c4 as cascadeRunProperties, c5 as cascadedBottomBorder, c6 as cascadedParagraphBorders, c7 as cascadedTabStops, c8 as collapsedSpaceBefore, c9 as createFontResourceSnapshot, ca as createShapedRun, cb as createShapingEnvironment, cc as defaultTabIntervalFromSettings, cd as displayText, ce as fixedPoint, cf as fontRequestKey, cg as glyphSizeFactorOf, ch as isValidStyleId, ci as itemizeScriptFontSlots, cj as layoutEquation, ck as measureDisplayText, cl as mergeListIndent, cm as nextTabDestination, cn as pageBordersFingerprint, co as paragraphBorderExtentPt, cp as paragraphBorderStrokeWidthPt, cq as paragraphBorders, cr as paragraphBordersFingerprint, cs as paragraphBreaksBefore, ct as paragraphContextualSpacing, cu as paragraphLineSpacing, cv as paragraphSpacing, cw as paragraphTabStops, cx as parsePageBorders, cy as parseRefInstruction, cz as readBorderSide, cA as readCellBorders, cB as readNumPr, cC as readTableBorders, cD as resolveBorderConflict, cE as resolveNumberingLevel, cF as resolveParagraphLayoutInputs, cG as resolveRunStyle, cH as resolveStoryListItems, cI as resolveStoryRefFields, cJ as resolveTableCellBorderGrid, cK as runStylesEqual, cL as shapedRunComparatorInputs, cM as shapingEnvironmentFingerprint, cN as shapingEnvironmentFingerprintInputs, cO as styleForFontSlot, cP as tabAdvanceWidth, cQ as tabStopsFingerprint, cR as withDefaultTabInterval, cS as withNumberingStyleLinks, cT as withResolvedListItems } from './semantic-records-4B3WwFAi.js';
16
+ export { C as CacheLookup, b as CacheMiss, c as CacheProvenance, e as LayoutEnvironmentShapedMeasurerOptions, f as LayoutFontConfiguration, g as LayoutFontSource, h as LayoutFontSubstitution, i as LayoutShapingConfigurationError, j as LayoutShapingEnvironment, L as LayoutShapingInstrumentation, a as LayoutShapingOptions, O as OperationSnapshot, k as OperationSnapshotField, l as OperationSnapshotGuard, P as PreparedLayoutFontConfiguration, R as ResolvedCache, m as ResourceDependencyProvenance, S as ShapedMeasurerOptions, n as captureOperationSnapshot, o as createLayoutShapedMeasurer, p as createLayoutShaping, q as createShapedMeasurer, d as disposeLayoutShaping, r as guardOperationSnapshot, s as layoutFontConfigurationFingerprint, t as prepareLayoutFontConfiguration } from './layout-shaping-BEyuiQOk.js';
17
+ import { a as SemanticStoryKind, S as SemanticRootStoryKind, b as SemanticStoryVisit, T as TextboxOwnerRecord } from './semantic-record-queries-CBlZqZNa.js';
18
+ export { c as SemanticDrawingLayer, d as SemanticDrawingVisit, e as StoryDrawingContext, f as StoryDrawingHost, g as StoryParagraphFragmentContext, h as contentControlsOfLayout, i as effectiveContentControlLock, j as forEachSemanticDrawing, k as forEachSemanticStory, l as forEachStoryParagraphFragment, m as fragmentsOfParagraph, n as lineAtPosition, o as linesOf, p as paragraphFragmentsOf, q as paragraphFragmentsOfBlocks, u as unionLayoutBoxes } from './semantic-record-queries-CBlZqZNa.js';
19
+ import { ak as ImpactClass, N as OoxmlNode, X as OoxmlProperty, Z as OoxmlElement, O as OoxmlPart, W as TreeDocOp, Q as OoxmlPackage, b9 as ContentControlKind, ba as ContentControlLevel, bc as ContentControlLock, b6 as ContentControlDataBinding, a as ReviewItem } from './types-barrel-D3xCgQX6.js';
20
+ export { b1 as CommentAnchor, b2 as CommentPosition, C as CommentRecord, aY as CommentThreadState, aK as DrawingAccessibility, aw as DrawingHorizontalReferenceFrame, aL as DrawingImageEffects, aM as DrawingTransform, ax as DrawingVerticalReferenceFrame, an as ImageWrapTarget, c as ReviewCommentItem, d as ReviewCustomItem, R as ReviewModelInput, e as ReviewPosition, f as ReviewRange, b as ReviewRevisionItem, g as ReviewRevisionKind, al as SourceCrop, aJ as TableBorderStyle, dB as VectorShapeComponent, aN as VectorShapeProjection, cs as W15_NAMESPACE_URI, dC as activeReviewItem, cW as firstReviewRange, ds as reviewItemKey, dD as reviewItemPositionRank, dt as reviewItemRanges, dE as reviewItemsAt, dF as reviewThreadRootOf } from './types-barrel-D3xCgQX6.js';
21
+ import { D as DocumentProperties, H as HeadlessDocumentView, r as relationshipTargetIn } from './headless-document-view-qH331moE.js';
22
+ import { o as RevisionAttribution, b as RevisionDisplayMode, c as RevisionAuthorFilter } from './revision-projection-DZ4kKVev.js';
23
+ export { p as DEFAULT_REVISION_DISPLAY_MODE, q as RevisionFilter, s as RevisionKind, t as formatRevisionOf, u as markRevisionRemovesMark, v as paragraphMarkFormatRevisionOf, w as paragraphMarkRevisionOf, x as paragraphMarkRevisionsOf, y as revisionAuthorFilter, z as revisionsAreDeletion, A as revisionsVisible, B as shownMarkRevision } from './revision-projection-DZ4kKVev.js';
24
+ import { b as ResolvedFootnoteProperties, R as ResolvedEndnoteProperties } from './note-properties-4Y9o6Gyk.js';
25
+ import { e as TreeModelChange, N as NoteKind, aA as noteTypeOf, k as FieldResultsMode } from './tree-package-fragment-BeeKxDw8.js';
26
+ import { P as PageGeometry, a as SectionColumns } from './semantic-cell-selection-D9D1KSXq.js';
27
+ export { C as CellSelection, D as DEFAULT_PAGE_GEOMETRY, b as DEFAULT_SECTION_PROPERTIES, c as DEFAULT_VERTICAL_WEIGHT, d as DocumentSection, e as DocumentSectionsEnumeration, f as DrawingOverlayFrame, H as HitPoint, g as HitTestOptions, M as MAX_DOCUMENT_SECTIONS, h as PlacedCell, i as SectionBreakType, j as SectionColumnDefinition, k as SectionMargins, l as SectionPageNumbering, S as SectionProperties, m as SemanticHit, n as SemanticHitDrawing, T as TableCellAddress, o as TableCellContext, p as caretBoxOnLine, q as cellSelectionBetween, r as cellSelectionRects, s as cellSelectionText, t as contentControlAtPoint, u as enumerateDocumentSections, v as enumerateDocumentSectionsBounded, w as findDrawingOverlayFrameInLayout, x as geometryOfSection, y as hitTestPage, z as hitTestSheet, A as isFurniturePoint, B as lineEndOffset, E as pageAtY, F as paragraphSectionNode, G as paragraphsInCells, I as parsePageNumbering, J as parseSectionProperties, K as projectedSectionSourceIndexes, L as readSectionProperties, N as spanOffsetX, O as spansInCells, Q as tableContextAt } from './semantic-cell-selection-D9D1KSXq.js';
28
+ export { M as MAX_SDT_NESTING, c as collectFlowBlocks, a as commentBodyText, b as commentInitials, j as contentControlContentChildren, i as isContentControl, f as isContentControlContent, p as paragraphOrderOfPart } from './review-paragraph-order-DT-n6ouC.js';
29
+ import { S as SemanticPosition, b as SelectionRect, a as SemanticSelection, C as CaretGeometry } from './semantic-interaction-CIC-PooQ.js';
30
+ export { c as CaretAtOptions, M as MoveCaretOptions, N as NavigationCommand, d as caretAt, e as caretStops, f as caretStopsForBlocks, g as compositionAnchor, h as contentControlsInLayout, i as deletedTextBoundaries, m as moveCaret, p as paragraphTextFromLayout, s as spansInSelection } from './semantic-interaction-CIC-PooQ.js';
31
+ import './image-resources-BN-hUgCn.js';
32
+ import './omml-equation-CuzBL5DD.js';
18
33
  import './editor-scope-OHPwVQ5l.js';
19
34
 
20
35
  /**
@@ -169,8 +184,8 @@ interface PendingPositionedTableTokens {
169
184
  /**
170
185
  * What the BODY flow knows about page numbering while it MEASURES a page-field placeholder.
171
186
  *
172
- * Carried instead of a bare boolean because the placeholder and the value it is replaced by
173
- * have to agree about whether the picture applies at all, and only the section knows that.
187
+ * The section's `w:pgNumType/@w:fmt` binds a PAGE field with no `\#` picture and no `\*`
188
+ * number format. A field that states either renders through it on every section.
174
189
  */
175
190
  interface BodyPageFieldContext {
176
191
  /** The section's `w:pgNumType/@w:fmt`; absent when the section authors none. */
@@ -209,6 +224,67 @@ interface FieldPageContext {
209
224
  */
210
225
  declare function formatPageNumber(value: number, format: string | undefined): string;
211
226
 
227
+ type WrapTextSide = 'bothSides' | 'left' | 'right' | 'largest';
228
+ interface WrapExclusionInput {
229
+ readonly mode: 'square' | 'tight' | 'through' | 'topAndBottom';
230
+ readonly contentBounds: LayoutBox;
231
+ readonly polygon: readonly DrawingPoint[] | null;
232
+ readonly clipPolygon: readonly DrawingPoint[] | null;
233
+ readonly wrapDistances: DrawingInsets;
234
+ readonly effectInsets: DrawingInsets;
235
+ readonly textSide: WrapTextSide;
236
+ readonly contentLeft: number;
237
+ readonly contentRight: number;
238
+ }
239
+
240
+ /** Paint layer relative to body text — not the OOXML wrap element. */
241
+ type DrawingPaintLayer = 'behind' | 'inFront';
242
+ /** The header or footer object a furniture exclusion zone comes from. */
243
+ interface FurnitureZoneSource {
244
+ readonly partName: string;
245
+ readonly kind: 'drawing' | 'table';
246
+ readonly nodeId: string;
247
+ }
248
+ interface ExclusionZone {
249
+ /** Objects outside body drawing flow publish their exclusion directly instead of synthesizing it. */
250
+ readonly sourceKind?: 'table' | 'frame' | 'furniture';
251
+ /**
252
+ * Placed by an earlier section on the sheet a `continuous` section continues on. Its anchor
253
+ * is not in the continued section, so the zone reaches every line and column there.
254
+ */
255
+ readonly earlierSection?: boolean;
256
+ /**
257
+ * The header or footer object a `furniture` zone comes from. Node ids are unique only within
258
+ * one part, so a furniture zone is identified by its part, its kind, and its node together
259
+ * (see {@link exclusionZoneIdentity}), never by a composed id string.
260
+ */
261
+ readonly furnitureSource?: FurnitureZoneSource;
262
+ readonly drawingNodeId: string;
263
+ readonly anchorParagraphId: string;
264
+ /** UTF-16 model offset of the anchor atom — exclusions apply at/after this point in the paragraph. */
265
+ readonly anchorModelStart: number;
266
+ /**
267
+ * The band's vertical position is resolved against the page or a margin, not against the
268
+ * anchor's own flow position, so it cannot move when the text beside it reflows.
269
+ *
270
+ * Such a band excludes every line it crosses on its page, including lines that PRECEDE the
271
+ * anchor — a picture pinned to the top of the margin wraps the paragraphs above its anchor
272
+ * exactly as it wraps the ones below. Flow-relative bands (`paragraph`, `line`) stay
273
+ * forward-only: reaching back would move the anchor that positions them.
274
+ */
275
+ readonly pageFramedBand?: boolean;
276
+ readonly sourceOrder: number;
277
+ readonly paintLayer: DrawingPaintLayer;
278
+ readonly relativeHeight: number;
279
+ readonly allowOverlap: boolean;
280
+ /** Owning column index in a multi-column section — 0 for single-column and HF stories. */
281
+ readonly columnIndex: number;
282
+ /** Resolved top edge in page-content coordinates after overlap displacement. */
283
+ readonly y: number;
284
+ readonly verticalBand: LayoutBox;
285
+ readonly input: WrapExclusionInput;
286
+ }
287
+
212
288
  type AutonumFieldKind = 'AUTONUM' | 'AUTONUMLGL' | 'AUTONUMOUT';
213
289
  /** One recognized AUTONUM-family instruction: the kind and its supported switches. */
214
290
  interface AutonumFieldSpec {
@@ -377,12 +453,14 @@ interface ParagraphLayoutCacheOptions {
377
453
  * Entries retained before the least recently used are dropped.
378
454
  *
379
455
  * The default has to exceed a realistic document, or a full pass evicts exactly what the
380
- * next one needs and the cache costs more than it saves.
456
+ * next one needs and the cache costs more than it saves. Unset, an estimated byte budget
457
+ * bounds the cache instead, because one cached break can be a hundred times another.
381
458
  */
382
459
  readonly maxEntries?: number;
383
460
  /** Keep placed breaks for later revisions. Default true; false bounds one-shot exporters. */
384
461
  readonly retainAcrossPasses?: boolean;
385
462
  }
463
+
386
464
  /**
387
465
  * A bounded least-recently-used cache with generation-scoped retention.
388
466
  *
@@ -390,10 +468,10 @@ interface ParagraphLayoutCacheOptions {
390
468
  * contains — every keystroke mints a new key for the paragraph being typed in — and an
391
469
  * unbounded cache would hold every intermediate state of the session.
392
470
  *
393
- * The bound never evicts the CURRENT working set: entries stamped by this generation's
394
- * retain or touched since it began are skipped, and the map grows past `maxEntries` when a
395
- * document is larger than the configured cap — evicting live entries made every full pass
396
- * on a 500-page document re-measure the whole document.
471
+ * The bound never evicts the CURRENT working set: entries named by this generation's
472
+ * retain or touched since it began are skipped, and the cache grows past its soft budget
473
+ * when a document is larger than it — evicting live entries made every full pass on a
474
+ * 500-page document re-measure the whole document.
397
475
  */
398
476
  declare function createParagraphLayoutCache<T>(options?: ParagraphLayoutCacheOptions): ParagraphLayoutCache<T>;
399
477
 
@@ -412,50 +490,6 @@ interface FieldCodeRange {
412
490
  }
413
491
  type FieldCodeRanges = ReadonlyMap<string, readonly FieldCodeRange[]>;
414
492
 
415
- type WrapTextSide = 'bothSides' | 'left' | 'right' | 'largest';
416
- interface WrapExclusionInput {
417
- readonly mode: 'square' | 'tight' | 'through' | 'topAndBottom';
418
- readonly contentBounds: LayoutBox;
419
- readonly polygon: readonly DrawingPoint[] | null;
420
- readonly clipPolygon: readonly DrawingPoint[] | null;
421
- readonly wrapDistances: DrawingInsets;
422
- readonly effectInsets: DrawingInsets;
423
- readonly textSide: WrapTextSide;
424
- readonly contentLeft: number;
425
- readonly contentRight: number;
426
- }
427
-
428
- /** Paint layer relative to body text — not the OOXML wrap element. */
429
- type DrawingPaintLayer = 'behind' | 'inFront';
430
- interface ExclusionZone {
431
- /** Objects outside body drawing flow publish their exclusion directly instead of synthesizing it. */
432
- readonly sourceKind?: 'table' | 'frame' | 'furniture';
433
- readonly drawingNodeId: string;
434
- readonly anchorParagraphId: string;
435
- /** UTF-16 model offset of the anchor atom — exclusions apply at/after this point in the paragraph. */
436
- readonly anchorModelStart: number;
437
- /**
438
- * The band's vertical position is resolved against the page or a margin, not against the
439
- * anchor's own flow position, so it cannot move when the text beside it reflows.
440
- *
441
- * Such a band excludes every line it crosses on its page, including lines that PRECEDE the
442
- * anchor — a picture pinned to the top of the margin wraps the paragraphs above its anchor
443
- * exactly as it wraps the ones below. Flow-relative bands (`paragraph`, `line`) stay
444
- * forward-only: reaching back would move the anchor that positions them.
445
- */
446
- readonly pageFramedBand?: boolean;
447
- readonly sourceOrder: number;
448
- readonly paintLayer: DrawingPaintLayer;
449
- readonly relativeHeight: number;
450
- readonly allowOverlap: boolean;
451
- /** Owning column index in a multi-column section — 0 for single-column and HF stories. */
452
- readonly columnIndex: number;
453
- /** Resolved top edge in page-content coordinates after overlap displacement. */
454
- readonly y: number;
455
- readonly verticalBand: LayoutBox;
456
- readonly input: WrapExclusionInput;
457
- }
458
-
459
493
  interface PendingLine {
460
494
  readonly spans: StyleSpanRecord[];
461
495
  readonly drawings: InlineDrawingRecord[];
@@ -495,6 +529,11 @@ interface PendingLine {
495
529
  deletedRanges?: readonly ModelRange[];
496
530
  /** Vertical gap inserted before this line to clear a drawing exclusion band. */
497
531
  exclusionSkipBefore?: number;
532
+ /**
533
+ * The line follows a text wrapping break that clears floating objects (`w:br w:clear`).
534
+ * Placement keeps its skip even on a line before the paragraph's first anchor.
535
+ */
536
+ breakClearance?: true;
498
537
  /** Clearance inherited by an empty anchor paragraph from other drawing bands. */
499
538
  anchorClearanceBefore?: number;
500
539
  /**
@@ -693,6 +732,8 @@ interface SectionStackSpan {
693
732
  /** Orchestrator state for multi-section incremental layout. */
694
733
  interface MultiSectionLayoutState {
695
734
  structureKey: string;
735
+ /** Each section's part of {@link structureKey}, so an added section keeps the others. */
736
+ sectionKeys: readonly string[];
696
737
  sections: LayoutSession[];
697
738
  spans: SectionStackSpan[];
698
739
  previousRemapped: readonly PageRecord[];
@@ -802,6 +843,9 @@ interface LayoutSession {
802
843
  */
803
844
  declare function createLayoutSession(): LayoutSession;
804
845
 
846
+ /** Collect story paragraphs, preserving table depth limits across immutable row reuse. */
847
+ declare function walkStoryParagraphs(blocks: readonly OoxmlElement[], maxTableDepth?: number): OoxmlElement[];
848
+
805
849
  /**
806
850
  * Horizontal marker box inside the first-line indent slot.
807
851
  *
@@ -846,7 +890,7 @@ type PreferredWidthType = 'dxa' | 'pct' | 'auto' | 'nil';
846
890
  */
847
891
  interface PreferredWidth {
848
892
  readonly type: PreferredWidthType;
849
- /** POINTS for `dxa`, PERCENT (0–100) for `pct`, 0 for `auto`/`nil`. */
893
+ /** POINTS for `dxa`, PERCENT for `pct` (0–100, or up to 655.34 for a table), 0 otherwise. */
850
894
  readonly value: number;
851
895
  }
852
896
  /** The frozen "no preferred width" value — what a table or cell that declares none resolves to. */
@@ -937,8 +981,8 @@ interface AutofitFieldContext {
937
981
  * remaining width and ignore the indent. `outerRuleOffsetPt` then moves the grid inward by
938
982
  * half the outer side rule where the table puts that rule's outer edge on the aligned edge.
939
983
  * For a supported mode-14 fixed table, that offset instead aligns the first cell's content.
940
- * A verified legacy content-aligned table instead aligns the leading cell's content edge
941
- * with the text column, without changing its indent.
984
+ * A legacy content-aligned table instead puts the content edge of its leading or trailing
985
+ * cell on the aligned edge of the text column; its indent still applies from the leading edge.
942
986
  */
943
987
  declare function tableOriginX(structure: SemanticTableStructure, containerWidthPt: number): number;
944
988
 
@@ -982,6 +1026,8 @@ type TableAlignment = 'left' | 'center' | 'right';
982
1026
  * and would otherwise be a loop bound an attacker controls.
983
1027
  */
984
1028
  interface SemanticTableCell {
1029
+ readonly revisionShading?: 'inserted' | 'deleted' | 'merged' | 'split';
1030
+ readonly revisionShadingAuthor?: string;
985
1031
  readonly id: string;
986
1032
  /** Derived content-edge geometry for a verified legacy percentage-width parent table. */
987
1033
  readonly legacyContentAlignment?: true;
@@ -1009,6 +1055,8 @@ interface SemanticTableCell {
1009
1055
  readonly margins: CellMarginsPt;
1010
1056
  /** Three-state authored `tcBorders` (omitted / none / edge). */
1011
1057
  readonly borders: CellBorderBox;
1058
+ /** The row's `w:tblPrEx` table borders, which replace the table's own for this cell. */
1059
+ readonly rowTableBorders?: TableBorderBox;
1012
1060
  /** Resolved incident edges used for content clearance, preserving authored border provenance. */
1013
1061
  readonly contentBorders?: CellBorderBox;
1014
1062
  /** The resolved cell (including a vertical merge) ends at the authored table bottom. */
@@ -1082,6 +1130,9 @@ interface SemanticTableStructure {
1082
1130
  readonly rows: readonly SemanticTableRow[];
1083
1131
  /** Verified pre-2013 percentage-width inline table; derived, never serialized. */
1084
1132
  readonly legacyContentAlignment?: true;
1133
+ /** A legacy content-aligned table whose outer trailing edge, not its content, meets the
1134
+ * trailing text edge: a top-level table in a text box. Derived, never serialized. */
1135
+ readonly legacyTrailingOuterEdge?: true;
1085
1136
  /**
1086
1137
  * Derived, never serialized: how far the grid moves from the aligned table edge, in points.
1087
1138
  * A supported mode-14 fixed table shifts by its leading cell margin in the other direction.
@@ -1132,180 +1183,9 @@ declare function readTableStructure(table: OoxmlNode, contentWidthPt: number, de
1132
1183
  /** Which revisions the view resolves away; only the proposed result performs the join. */
1133
1184
  displayMode?: RevisionDisplayMode, authorFilter?: RevisionAuthorFilter, compatibilityMode?: number,
1134
1185
  /** Widens autofit columns to their content minimums; layout passes its measurer. */
1135
- autofit?: TableAutofitContext): SemanticTableStructure | null;
1136
-
1137
- /**
1138
- * Depth-first paragraph fragments of one page, in reading order.
1139
- *
1140
- * Table interiors flatten through rows and cells; header-repeat rows are skipped unless
1141
- * asked for, so interaction sees each caret stop exactly once while paint sees everything.
1142
- */
1143
- declare function paragraphFragmentsOf(page: PageRecord, includeHeaderRepeats?: boolean): ParagraphFragmentRecord[];
1144
- declare function paragraphFragmentsOfBlocks(blocks: readonly BlockFragmentRecord[], includeHeaderRepeats?: boolean): ParagraphFragmentRecord[];
1145
- /** Every line in a layout, in reading order — the order caret navigation walks. */
1146
- declare function linesOf(layout: SemanticLayout): LineRecord[];
1147
- /** The fragment-plus-anchored-drawings shape every laid-out story shares. */
1148
- interface StoryDrawingHost {
1149
- /** Root story fragments in their published reading order. */
1150
- readonly fragments: readonly BlockFragmentRecord[];
1151
- /** Story-level positioned drawings, when that story supports anchors. */
1152
- readonly anchoredDrawings?: readonly AnchoredDrawingRecord[];
1153
- }
1154
- /** Root story kinds published directly from one page record. @public */
1155
- type SemanticRootStoryKind = 'body' | 'header' | 'footer' | 'footnote' | 'endnote' | 'note-separator';
1156
- /** Story containing a visited semantic record. @public */
1157
- type SemanticStoryKind = SemanticRootStoryKind | 'textbox';
1158
- /**
1159
- * One root story in the engine's complete published page/story order.
1160
- *
1161
- * The story discriminant preserves the precise published host type so exporters can consume
1162
- * furniture and note metadata without casting or searching the page graph a second time.
1163
- * @public
1164
- */
1165
- type SemanticStoryVisit = {
1166
- readonly page: PageRecord;
1167
- readonly story: 'body';
1168
- readonly host: PageRecord;
1169
- /** Absolute story bounds; body records are relative to the page content box. */
1170
- readonly box: LayoutBox;
1171
- /** Absolute origin to add to story-relative fragment and drawing coordinates. */
1172
- readonly origin: Readonly<{
1173
- x: number;
1174
- y: number;
1175
- }>;
1176
- readonly noteScopeId: null;
1177
- readonly noteAreaKind: null;
1178
- } | {
1179
- readonly page: PageRecord;
1180
- readonly story: 'header' | 'footer';
1181
- readonly host: HeaderFooterStoryRecord;
1182
- readonly box: LayoutBox;
1183
- readonly origin: Readonly<{
1184
- x: number;
1185
- y: number;
1186
- }>;
1187
- readonly noteScopeId: null;
1188
- readonly noteAreaKind: null;
1189
- } | {
1190
- readonly page: PageRecord;
1191
- readonly story: 'footnote' | 'endnote';
1192
- readonly host: NoteStoryRecord;
1193
- readonly box: LayoutBox;
1194
- readonly origin: Readonly<{
1195
- x: number;
1196
- y: number;
1197
- }>;
1198
- readonly noteScopeId: string;
1199
- readonly noteAreaKind: NoteAreaRecord['kind'];
1200
- } | {
1201
- readonly page: PageRecord;
1202
- readonly story: 'note-separator';
1203
- readonly host: NonNullable<NoteAreaRecord['separator']>;
1204
- readonly box: LayoutBox;
1205
- readonly origin: Readonly<{
1206
- x: number;
1207
- y: number;
1208
- }>;
1209
- readonly noteScopeId: null;
1210
- readonly noteAreaKind: NoteAreaRecord['kind'];
1211
- };
1212
- /** Visit every root story in a semantic layout, preserving page/story order. @public */
1213
- declare function forEachSemanticStory(layout: SemanticLayout, visit: (story: SemanticStoryVisit) => void): void;
1214
- /** Location of one paragraph fragment within a recursively painted story graph. @public */
1215
- interface StoryParagraphFragmentContext {
1216
- /** Absolute origin of the immediate story containing this record. */
1217
- readonly storyOrigin: Readonly<{
1218
- x: number;
1219
- y: number;
1220
- }>;
1221
- /** Zero for the supplied story; increments for every textbox boundary. */
1222
- readonly textboxDepth: number;
1223
- /** Drawing whose textbox directly owns this fragment, or null for the root story. */
1224
- readonly textboxOwner: TextboxOwnerRecord | null;
1225
- /** Root-to-leaf owning drawings, empty for the supplied story. */
1226
- readonly textboxPath: readonly TextboxOwnerRecord[];
1227
- }
1228
- /** A drawing that owns a text-box story: anchored, or inline on a line. @public */
1229
- type TextboxOwnerRecord = InlineDrawingRecord | AnchoredDrawingRecord;
1230
- /** Location of one drawing within a recursively painted story graph. @public */
1231
- interface StoryDrawingContext extends StoryParagraphFragmentContext {
1232
- /** Enclosing paragraph for an inline drawing; null for a story-level anchor. */
1233
- readonly paragraph: ParagraphFragmentRecord | null;
1234
- /** Enclosing line for an inline drawing; null for a story-level anchor. */
1235
- readonly line: LineRecord | null;
1236
- }
1237
- type RootDrawingOrigin = (drawing: AnchoredDrawingRecord) => Readonly<{
1238
- x: number;
1239
- y: number;
1240
- }>;
1241
- /** Drawing layer relative to its owning story's text. @public */
1242
- type SemanticDrawingLayer = 'behind-text' | 'inline' | 'in-front-of-text';
1243
- /**
1244
- * One drawing in bounded graph-enumeration order with exporter-grade provenance.
1245
- *
1246
- * Enumeration is deliberately not paint order: story anchors (and nested textboxes) are visited
1247
- * before inline line drawings. Renderers use `paintLayer` plus record geometry to compose layers.
1248
- * @public
1249
- */
1250
- interface SemanticDrawingVisit extends StoryDrawingContext {
1251
- /** Physical page carrying this drawing occurrence. */
1252
- readonly page: PageRecord;
1253
- /** Immediate story classification; `textbox` after textbox descent. */
1254
- readonly story: SemanticStoryKind;
1255
- /** Root story from which textbox descent began. */
1256
- readonly rootStory: SemanticRootStoryKind;
1257
- /** Note scope for drawings in note stories; null elsewhere. */
1258
- readonly noteScopeId: string | null;
1259
- /** Owning note-area kind for note/separator drawings; null elsewhere. */
1260
- readonly noteAreaKind: NoteAreaRecord['kind'] | null;
1261
- /** Precise root host and absolute origin for story-relative geometry. */
1262
- readonly root: SemanticStoryVisit;
1263
- /** Absolute origin of this drawing's extent in page-stack coordinates. */
1264
- readonly drawingOrigin: Readonly<{
1265
- x: number;
1266
- y: number;
1267
- }>;
1268
- /** Absolute painted bounds, including effects and clipping. */
1269
- readonly absolutePaintBounds: LayoutBox;
1270
- /** Absolute pointer/hit bounds. */
1271
- readonly absoluteHitBounds: LayoutBox;
1272
- /** Layer relative to text in the immediate owning story. */
1273
- readonly paintLayer: SemanticDrawingLayer;
1274
- /** Published drawing record; inline visits also carry paragraph and line. */
1275
- readonly drawing: InlineDrawingRecord | AnchoredDrawingRecord;
1276
- }
1277
- /** Visit every drawing through the canonical root-story and recursive textbox walks. @public */
1278
- declare function forEachSemanticDrawing(layout: SemanticLayout, visit: (drawing: SemanticDrawingVisit) => void): void;
1279
- /**
1280
- * Visit every paragraph fragment one story paints — its own (table interiors flattened,
1281
- * header repeats included) and the fragments inside each anchored drawing's text-box story,
1282
- * recursively.
1283
- *
1284
- * The fragment sibling of {@link forEachStoryDrawing}, sharing its depth bound, for
1285
- * consumers that read per-paragraph published fields (list markers) rather than drawings.
1286
- * The furniture list-marker token walks with this; a fragment it misses leaves a reused
1287
- * page showing a stale marker.
1288
- */
1289
- declare function forEachStoryParagraphFragment(story: StoryDrawingHost, visit: (fragment: ParagraphFragmentRecord, context: StoryParagraphFragmentContext) => void, rootOrigin?: Readonly<{
1290
- x: number;
1291
- y: number;
1292
- }>, rootDrawingOrigin?: RootDrawingOrigin): void;
1293
- /** Every fragment belonging to one paragraph, in order, across page boundaries. */
1294
- declare function fragmentsOfParagraph(layout: SemanticLayout, paragraphId: string): ParagraphFragmentRecord[];
1295
- /** The line containing a model position, or null when the position is not laid out. */
1296
- declare function lineAtPosition(layout: SemanticLayout, paragraphId: string, offset: number,
1297
- /** Lines to test, when the caller already knows which ones can carry the paragraph. */
1298
- candidates?: Iterable<LineRecord>): LineRecord | null;
1299
- /** Every content-control boundary on a layout, preferring the layout-level list. */
1300
- declare function contentControlsOfLayout(layout: SemanticLayout): readonly ContentControlBoundaryRecord$1[];
1301
- /**
1302
- * Axis-aligned union of boxes, or null when the list is empty.
1303
- *
1304
- * Used when a control's content spans several fragments or spans on one page.
1305
- */
1306
- declare function unionLayoutBoxes(boxes: readonly LayoutBox[]): LayoutBox | null;
1307
- /** Collapse raw + ancestor locks into one `ST_Lock` vocabulary value. */
1308
- declare function effectiveContentControlLock(locks: readonly ContentControlLock[]): ContentControlLock;
1186
+ autofit?: TableAutofitContext,
1187
+ /** The table is a top-level table of a text box story. */
1188
+ textBox?: boolean): SemanticTableStructure | null;
1309
1189
 
1310
1190
  /** Paragraph ids in document order, deduplicated across fragments. */
1311
1191
  declare function documentOrder(layout: SemanticLayout): string[];
@@ -1414,6 +1294,33 @@ declare function wordBoundary(text: string, offset: number, direction: -1 | 1, s
1414
1294
  */
1415
1295
  declare function positionPastDeletion(layout: SemanticLayout, position: SemanticPosition): SemanticPosition;
1416
1296
 
1297
+ /**
1298
+ * The caret position nearest a point, in PAGE-CONTENT coordinates.
1299
+ *
1300
+ * Never returns null for a point inside the document: a click in the margin, past the end of
1301
+ * a line, or below the last line still has an obvious intended caret, and refusing to answer
1302
+ * would make those clicks do nothing.
1303
+ *
1304
+ * The rules live in `semantic-hit-test.ts`, which answers with the cell address and the
1305
+ * on-glyphs flag a pointer controller needs too; this keeps the geometry-only shape for
1306
+ * callers that want nothing else.
1307
+ */
1308
+ declare function hitTestSemantic(layout: SemanticLayout, point: {
1309
+ readonly x: number;
1310
+ readonly y: number;
1311
+ readonly pageIndex?: number;
1312
+ }): CaretGeometry | null;
1313
+ /**
1314
+ * Innermost content-control boundary at a page-content point, or null outside every control.
1315
+ *
1316
+ * Prefers the deepest nesting depth when nested boundaries share geometry.
1317
+ */
1318
+ declare function contentControlAtSemantic(layout: SemanticLayout, point: {
1319
+ readonly x: number;
1320
+ readonly y: number;
1321
+ readonly pageIndex?: number;
1322
+ }): ContentControlBoundaryRecord$1 | null;
1323
+
1417
1324
  /**
1418
1325
  * Rewrite private-use symbol-font codepoints to their Unicode equivalents.
1419
1326
  *
@@ -2148,6 +2055,11 @@ interface LayoutNoteStoryOptions {
2148
2055
  readonly numberingIndex?: NumberingIndex;
2149
2056
  readonly defaultTabStopPt?: number;
2150
2057
  readonly compatibilityMode?: number;
2058
+ /**
2059
+ * The active line-grid pitch of the section that owns the note, in points. Note lines snap
2060
+ * to it like body lines do; absent means no grid.
2061
+ */
2062
+ readonly lineGridPitchPt?: number;
2151
2063
  readonly displayMode?: RevisionDisplayMode;
2152
2064
  readonly revisionAuthorFilter?: RevisionAuthorFilter;
2153
2065
  /**
@@ -2312,6 +2224,8 @@ interface NotesLayoutInput {
2312
2224
  readonly styleCascade?: StyleCascadeTable;
2313
2225
  /** `numbering.xml`, so a `w:numPr` paragraph inside a note resolves a marker. */
2314
2226
  readonly numberingIndex?: NumberingIndex;
2227
+ /** Per-section active line-grid pitch in points; note lines snap to their section's grid. */
2228
+ readonly lineGridPitchBySection?: readonly (number | undefined)[];
2315
2229
  readonly defaultTabStopPt?: number;
2316
2230
  readonly compatibilityMode?: number;
2317
2231
  readonly displayMode?: RevisionDisplayMode;
@@ -2674,6 +2588,14 @@ interface SemanticLayoutOptions {
2674
2588
  readonly projectFieldLink?: FieldLinkProjector;
2675
2589
  /** Field-code inspection projection. @internal */
2676
2590
  readonly showFieldCodes?: boolean;
2591
+ /**
2592
+ * How the pass addresses saved field results (DATE, MERGEFIELD, HYPERLINK display text, see
2593
+ * `FieldResultsMode`). `atomic` (the default) lays every field out as one model unit.
2594
+ * `editable` lays a saved result out as ordinary text at the offsets the store's editable
2595
+ * mode addresses, so a caret, a hit, and a selection inside it land on its characters. The
2596
+ * mode is folded into every cache key.
2597
+ */
2598
+ readonly fieldResults?: FieldResultsMode;
2677
2599
  /** @internal */
2678
2600
  readonly fieldCodeRanges?: FieldCodeRanges;
2679
2601
  /** @internal Word TOC character-style suppression. */
@@ -2730,6 +2652,12 @@ interface SemanticLayoutOptions {
2730
2652
  * cached rows do not stack under the empty placeholder.
2731
2653
  */
2732
2654
  readonly emptyTocSuppressedResultParagraphIds?: ReadonlySet<string>;
2655
+ /**
2656
+ * Lay out only the first `bodyBlockLimit` body blocks. A large open lays out a growing
2657
+ * prefix in separate tasks, each pass resuming from the last, so the page stays
2658
+ * responsive; the final pass has no limit. @internal
2659
+ */
2660
+ readonly bodyBlockLimit?: number;
2733
2661
  }
2734
2662
 
2735
2663
  /**
@@ -3025,9 +2953,9 @@ interface ContentControlBoundaryRecord {
3025
2953
  readonly level: ContentControlLevel;
3026
2954
  /** 0 for a top-level control; the nesting depth otherwise. */
3027
2955
  readonly depth: number;
3028
- readonly lock: ContentControlLock$1;
2956
+ readonly lock: ContentControlLock;
3029
2957
  /** The lock in force here, including every lock an enclosing control imposes. */
3030
- readonly effectiveLock: ContentControlLock$1;
2958
+ readonly effectiveLock: ContentControlLock;
3031
2959
  readonly showingPlaceholder: boolean;
3032
2960
  readonly temporary: boolean;
3033
2961
  readonly tag?: string;
@@ -3219,5 +3147,5 @@ declare function tabLeaderPattern(startPt: number, widthPt: number, advancePt: n
3219
3147
  */
3220
3148
  declare function noteSeparatorRuleBox(span: StyleSpanRecord, line: LineRecord, stroke?: StrikeoutStrokePt): LayoutBox;
3221
3149
 
3222
- export { AUTO_PREFERRED_WIDTH, AnchoredDrawingRecord, BlockFragmentRecord, CELL_PAD, COMPOUND_BORDER_MIN_GAP_PT, COMPOUND_BORDER_MIN_STROKE_PT, CellBorderBox, ContentControlBoundaryRecord$1 as ContentControlBoundaryRecord, ContentControlLock, DEFAULT_CANVAS_FONT_STACK, DEFAULT_CELL_MARGINS, DrawingInsets, DrawingPoint, FieldLinkProjector, FixedPoint, FixedPointRoundingMode, FontByteValidator, GRAPHEME_SEGMENTER_LOCALE, HARFBUZZ_SHAPING_LIBRARY, HarfBuzzShapingError, HeaderFooterStoryRecord, HyperlinkFieldSpec, HyperlinkProjector, InlineDrawingRecord, LayoutBox, LineRecord, MAX_EACH_PAGE_MARK_CANDIDATES, MAX_LVL_TEXT_LENGTH, MAX_MARKER_TEXT_LENGTH, MAX_NOTES_LAID_OUT, MAX_NOTE_FRAGMENTS, MAX_NOTE_OVERFLOW_PAGES, MAX_NOTE_REFLOW_ATTEMPTS, MAX_STYLE_BASED_ON_DEPTH, MAX_TABLE_COLUMNS, MAX_TABLE_NESTING, MAX_TABLE_ROW_FRAGMENTS, MAX_TABLE_ROW_HEIGHT_PT, NoteAreaRecord, NoteStoryRecord, NumberingIndex, NumberingLevel, PageBorderFrameRecord, PageGeometry, PageRecord, ParagraphBorderStrokeRecord, ParagraphFragmentRecord, RefFieldContext, ResolvedListItem, ReviewItem, RevisionAttribution, RevisionAuthorFilter, RevisionDisplayMode, SectionColumns, SectionPageBorders, SelectionRect, SemanticLayout, SemanticPosition, SemanticSelection, ShapedRun, SourceRange, SpanLinkRecord, StrikeoutStrokePt, StyleCascadeTable, StyleSpanRecord, TableBorderBox, TableBorderSide, TableCellStyleFormatting, TablePaginationError, TextMeasurer, TextShaper, VersionedShapingLibrary, WORD_SEGMENTER_LOCALE, anchorLineY, attachNotesToLayout, boundedFallbackWordSegments, buildPageRefIndex, clampListValue, computeDoubleBorderMetricsPt, computeFootnoteReserves, contentControlBoundaries, contentControlHoldingParagraph, contentControlRecordsInPart, contentControlsOfLayout, createBoundedFallbackWordBoundary, createDefaultWordBoundary, createDocumentFurnitureSource, createDocumentLinkProjectors, createDocumentNotesInput, createDocumentStyleDependencies, createFieldLinkRegistry, createFixedMeasurer, createHarfBuzzTextShaper, createIntlWordBoundary, createLayoutScheduler, createLayoutSession, createListCounterState, createParagraphLayoutCache, defaultNoteSeparatorRuleStyle, deriveNoteDisplayMarks, deriveNoteDisplayMarksResolved, documentOrder, documentRelationshipTargetIn, effectiveBorderSide, effectiveContentControlLock, emptyTocPlaceholderParagraphIds, emptyTocSuppressedResultParagraphIds, everyStoryOrder, expandLvlText, exportSourceRangeOf, filterRefsOnPage, findSeparatorNote, forEachSemanticDrawing, forEachSemanticSpan, forEachSemanticStory, forEachStoryParagraphFragment, formatDecimal, formatDecimalZero, formatLowerLetter, formatLowerRoman, formatNumFmt, formatPageNumber, formatUpperLetter, formatUpperRoman, fragmentOwnsAtomOffset, fragmentsOfParagraph, graphemeBoundaryEpoch, graphemeCount, graphemeOffsetToUtf16, harfBuzzFontValidator, initializeHarfBuzz, intlGraphemeBoundary, isCanvasMeasurementAvailable, isCumulativeGeometryTrustedFromLineOrigin, isGeometryTrustedCaretOffset, isHarfBuzzInitialized, isIntlSegmenterAvailable, isIntlWordSegmenterAvailable, isMarkerOnlySeparatorNote, isWholeGraphemeHorizontalBoundary, keyedRangeRects, layoutHeaderFooterStory, layoutNoteById, layoutNoteSeparator, layoutNoteStory, layoutSemanticDocument, lineAtPosition, lineSegments, linesOf, listMarkerBox, mapSymbolPuaText, normalNotesOf, noteDisplayMarkMap, noteLineIdPrefix, noteMarkKey, noteSeparatorAreaBox, noteSeparatorRuleBox, noteStoryBlocks, pageBorderFrame, pageRefPageNumbersFromLayout, pagesToMaterialize, paragraphFragmentsOf, paragraphFragmentsOfBlocks, paragraphLayoutKey, paragraphMarkDeleted, paragraphShading, paragraphShadingBox, parseAutonumInstruction, planRefFieldResultRefresh, positionPastDeletion, projectedNoteMarkText, provisionalNoteMarks, readTableStructure, resetGraphemeBoundary, resolveDefaultSurfaceMeasurer, resolveDefaultWordBoundary, resolveOoxmlShadingFill, resolveStrictHexFill, reviewAnchorIndex, reviewItemGeometry, revisionRemovesParagraph, roundFontUnitToFixedPoint, runBorderStrokesForLine, segmentGraphemes, segmentWords, selectionRects, semanticHorizontalBoundaries, setGraphemeBoundary, setHarfBuzzWasmUrl, sha256FontBytes, shadingFillFromElement, shapedHorizontalBoundaries, storyBlocks, syntheticSeparatorBox, tabLeaderPattern, tableOriginX, tocFieldChromeParagraphIds, tryCreateCanvasMeasurer, unionLayoutBoxes, utf16OffsetToGrapheme, vectorShapeInkClip, wordBoundary, wordSegmentsToGraphemeRecords };
3223
- export type { AutofitFieldContext, AutonumFieldKind, AutonumFieldSpec, CanvasMeasurerOptions, CanvasTextContext, CanvasTextMetrics, CellMarginsPt, CellVerticalAlign, CompoundBorderMetrics, ContentControlFragmentRecord, CreateDocumentFurnitureSourceOptions, CreateDocumentNotesInputOptions, DocumentFurnitureSource, DocumentLinkProjectors, DocumentStyleDependencies, FieldLinkRegistry, GraphemeBoundary, GraphemeSegment, GraphemeWordSegmentRecord, HarfBuzzFaceCacheEvent, HarfBuzzOutlineCacheEvent, HarfBuzzShapeCacheEvent, HarfBuzzShapingErrorCode, HarfBuzzTextShaper, HarfBuzzTextShaperInstrumentation, HarfBuzzTextShaperOptions, HeaderFooterVariantName, KeyedRange, LayoutCacheStats, LayoutScheduler, LayoutSchedulerOptions, LayoutScope, LayoutSession, LayoutSessionStats, LineSegment, ListCounterAdvance, ListCounterState, MaterializationInput, NoteDisplayMark, NoteLayoutFallbackReason, NoteMarkContext, NotePaginationFallbackReason, NoteReferenceSite, NoteSeparatorLayout, NoteSeparatorRuleStyle, NoteStoryDrawings, NoteStoryLayout, NotesAttachResult, NotesLayoutInput, PageFurniture, PageRefIndex, ParagraphKeyInputs, ParagraphLayoutCache, ParagraphLayoutCacheOptions, PreferredWidth, PreferredWidthType, RefFieldRefreshOptions, RegisteredFieldLink, ResolvedSurfaceMeasurer, ReviewParagraphAnchor, SemanticDrawingLayer, SemanticDrawingVisit, SemanticLayoutOptions, SemanticRootStoryKind, SemanticSpanVisit, SemanticStoryKind, SemanticStoryVisit, SemanticTableCell, SemanticTableRow, SemanticTableStructure, StoryDrawingContext, StoryDrawingHost, StoryParagraphFragmentContext, StoryProjectionDependencies, TableAlignment, TableAutofitContext, TablePaginationErrorCode, TableRowHeight, TableRowHeightRule, TextboxOwnerRecord, ViewportWindow, WordBoundary, WordBoundaryResolverDeps, WordSegment };
3150
+ export { AUTO_PREFERRED_WIDTH, AnchoredDrawingRecord, BlockFragmentRecord, CELL_PAD, COMPOUND_BORDER_MIN_GAP_PT, COMPOUND_BORDER_MIN_STROKE_PT, CaretGeometry, CellBorderBox, ContentControlBoundaryRecord$1 as ContentControlBoundaryRecord, DEFAULT_CANVAS_FONT_STACK, DEFAULT_CELL_MARGINS, DrawingInsets, DrawingPoint, FieldLinkProjector, FixedPoint, FixedPointRoundingMode, FontByteValidator, GRAPHEME_SEGMENTER_LOCALE, HARFBUZZ_SHAPING_LIBRARY, HarfBuzzShapingError, HyperlinkFieldSpec, HyperlinkProjector, InlineDrawingRecord, LayoutBox, LineRecord, MAX_EACH_PAGE_MARK_CANDIDATES, MAX_LVL_TEXT_LENGTH, MAX_MARKER_TEXT_LENGTH, MAX_NOTES_LAID_OUT, MAX_NOTE_FRAGMENTS, MAX_NOTE_OVERFLOW_PAGES, MAX_NOTE_REFLOW_ATTEMPTS, MAX_STYLE_BASED_ON_DEPTH, MAX_TABLE_COLUMNS, MAX_TABLE_NESTING, MAX_TABLE_ROW_FRAGMENTS, MAX_TABLE_ROW_HEIGHT_PT, NumberingIndex, NumberingLevel, PageBorderFrameRecord, PageGeometry, PageRecord, ParagraphBorderStrokeRecord, ParagraphFragmentRecord, RefFieldContext, ResolvedListItem, ReviewItem, RevisionAttribution, RevisionAuthorFilter, RevisionDisplayMode, SectionColumns, SectionPageBorders, SelectionRect, SemanticLayout, SemanticPosition, SemanticRootStoryKind, SemanticSelection, SemanticStoryKind, SemanticStoryVisit, ShapedRun, SourceRange, SpanLinkRecord, StrikeoutStrokePt, StyleCascadeTable, StyleSpanRecord, TableBorderBox, TableBorderSide, TableCellStyleFormatting, TablePaginationError, TextMeasurer, TextShaper, TextboxOwnerRecord, VersionedShapingLibrary, WORD_SEGMENTER_LOCALE, anchorLineY, attachNotesToLayout, boundedFallbackWordSegments, buildPageRefIndex, clampListValue, computeDoubleBorderMetricsPt, computeFootnoteReserves, contentControlAtSemantic, contentControlBoundaries, contentControlHoldingParagraph, contentControlRecordsInPart, createBoundedFallbackWordBoundary, createDefaultWordBoundary, createDocumentFurnitureSource, createDocumentLinkProjectors, createDocumentNotesInput, createDocumentStyleDependencies, createFieldLinkRegistry, createFixedMeasurer, createHarfBuzzTextShaper, createIntlWordBoundary, createLayoutScheduler, createLayoutSession, createListCounterState, createParagraphLayoutCache, defaultNoteSeparatorRuleStyle, deriveNoteDisplayMarks, deriveNoteDisplayMarksResolved, documentOrder, documentRelationshipTargetIn, effectiveBorderSide, emptyTocPlaceholderParagraphIds, emptyTocSuppressedResultParagraphIds, everyStoryOrder, expandLvlText, exportSourceRangeOf, filterRefsOnPage, findSeparatorNote, forEachSemanticSpan, formatDecimal, formatDecimalZero, formatLowerLetter, formatLowerRoman, formatNumFmt, formatPageNumber, formatUpperLetter, formatUpperRoman, fragmentOwnsAtomOffset, graphemeBoundaryEpoch, graphemeCount, graphemeOffsetToUtf16, harfBuzzFontValidator, hitTestSemantic, initializeHarfBuzz, intlGraphemeBoundary, isCanvasMeasurementAvailable, isCumulativeGeometryTrustedFromLineOrigin, isGeometryTrustedCaretOffset, isHarfBuzzInitialized, isIntlSegmenterAvailable, isIntlWordSegmenterAvailable, isMarkerOnlySeparatorNote, isWholeGraphemeHorizontalBoundary, keyedRangeRects, layoutHeaderFooterStory, layoutNoteById, layoutNoteSeparator, layoutNoteStory, layoutSemanticDocument, lineSegments, listMarkerBox, mapSymbolPuaText, normalNotesOf, noteDisplayMarkMap, noteLineIdPrefix, noteMarkKey, noteSeparatorAreaBox, noteSeparatorRuleBox, noteStoryBlocks, pageBorderFrame, pageRefPageNumbersFromLayout, pagesToMaterialize, paragraphLayoutKey, paragraphMarkDeleted, paragraphShading, paragraphShadingBox, parseAutonumInstruction, planRefFieldResultRefresh, positionPastDeletion, projectedNoteMarkText, provisionalNoteMarks, readTableStructure, resetGraphemeBoundary, resolveDefaultSurfaceMeasurer, resolveDefaultWordBoundary, resolveOoxmlShadingFill, resolveStrictHexFill, reviewAnchorIndex, reviewItemGeometry, revisionRemovesParagraph, roundFontUnitToFixedPoint, runBorderStrokesForLine, segmentGraphemes, segmentWords, selectionRects, semanticHorizontalBoundaries, setGraphemeBoundary, setHarfBuzzWasmUrl, sha256FontBytes, shadingFillFromElement, shapedHorizontalBoundaries, storyBlocks, syntheticSeparatorBox, tabLeaderPattern, tableOriginX, tocFieldChromeParagraphIds, tryCreateCanvasMeasurer, utf16OffsetToGrapheme, vectorShapeInkClip, walkStoryParagraphs, wordBoundary, wordSegmentsToGraphemeRecords };
3151
+ export type { AutofitFieldContext, AutonumFieldKind, AutonumFieldSpec, CanvasMeasurerOptions, CanvasTextContext, CanvasTextMetrics, CellMarginsPt, CellVerticalAlign, CompoundBorderMetrics, ContentControlFragmentRecord, CreateDocumentFurnitureSourceOptions, CreateDocumentNotesInputOptions, DocumentFurnitureSource, DocumentLinkProjectors, DocumentStyleDependencies, FieldLinkRegistry, GraphemeBoundary, GraphemeSegment, GraphemeWordSegmentRecord, HarfBuzzFaceCacheEvent, HarfBuzzOutlineCacheEvent, HarfBuzzShapeCacheEvent, HarfBuzzShapingErrorCode, HarfBuzzTextShaper, HarfBuzzTextShaperInstrumentation, HarfBuzzTextShaperOptions, HeaderFooterVariantName, KeyedRange, LayoutCacheStats, LayoutScheduler, LayoutSchedulerOptions, LayoutScope, LayoutSession, LayoutSessionStats, LineSegment, ListCounterAdvance, ListCounterState, MaterializationInput, NoteDisplayMark, NoteLayoutFallbackReason, NoteMarkContext, NotePaginationFallbackReason, NoteReferenceSite, NoteSeparatorLayout, NoteSeparatorRuleStyle, NoteStoryDrawings, NoteStoryLayout, NotesAttachResult, NotesLayoutInput, PageFurniture, PageRefIndex, ParagraphKeyInputs, ParagraphLayoutCache, ParagraphLayoutCacheOptions, PreferredWidth, PreferredWidthType, RefFieldRefreshOptions, RegisteredFieldLink, ResolvedSurfaceMeasurer, ReviewParagraphAnchor, SemanticLayoutOptions, SemanticSpanVisit, SemanticTableCell, SemanticTableRow, SemanticTableStructure, StoryProjectionDependencies, TableAlignment, TableAutofitContext, TablePaginationErrorCode, TableRowHeight, TableRowHeightRule, ViewportWindow, WordBoundary, WordBoundaryResolverDeps, WordSegment };