@docx-editor.dev/core 2.21.1 → 2.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -5
- package/dist/automation.cjs +1 -1
- package/dist/automation.d.ts +10 -10
- package/dist/automation.js +1 -1
- package/dist/binding.cjs +1 -1
- package/dist/binding.d.ts +8 -8
- package/dist/binding.js +1 -1
- package/dist/{chunk-BF2TOG2V.js → chunk-5RKCJ5DF.js} +1 -1
- package/dist/chunk-65GJRSZ5.cjs +18 -0
- package/dist/chunk-6TBRG6SA.cjs +20 -0
- package/dist/chunk-A72MJGY7.cjs +4 -0
- package/dist/chunk-AZ7QSAXH.js +4 -0
- package/dist/chunk-BL57VQ7E.js +1 -0
- package/dist/chunk-CB6RQ3GD.cjs +11 -0
- package/dist/chunk-GG4IAKFI.js +5 -0
- package/dist/chunk-HJYLFMLX.js +2 -0
- package/dist/chunk-HL6NO7IH.cjs +2 -0
- package/dist/chunk-HZQFGB2X.cjs +5 -0
- package/dist/{chunk-FPDIJ4RF.js → chunk-IWAUA732.js} +1 -1
- package/dist/chunk-OZXBAEWW.js +2 -0
- package/dist/{chunk-4TYA4RLP.cjs → chunk-P5PWSRNW.cjs} +1 -1
- package/dist/{chunk-DZYKU2HG.js → chunk-PD5XKBJA.js} +1 -1
- package/dist/{chunk-7N77EN2Z.cjs → chunk-REMFTPDL.cjs} +1 -1
- package/dist/{chunk-T5B4NMKF.cjs → chunk-RLKX7BIP.cjs} +1 -1
- package/dist/chunk-UGLO2GA5.cjs +1 -0
- package/dist/chunk-UOQONZVQ.js +11 -0
- package/dist/chunk-VD2MWTR6.js +20 -0
- package/dist/chunk-VIXH2OVP.js +1 -0
- package/dist/chunk-W2JIZ5JH.js +18 -0
- package/dist/chunk-W5H62AWM.cjs +1 -0
- package/dist/{chunk-E5OUYRNM.cjs → chunk-X2LJDR53.cjs} +5 -5
- package/dist/chunk-YQXY6TQ3.js +5 -0
- package/dist/{chunk-RA2TDTEQ.cjs → chunk-YYFBYVW4.cjs} +1 -1
- package/dist/collaboration/replication.cjs +1 -1
- package/dist/collaboration/replication.d.ts +4 -4
- package/dist/collaboration/replication.js +1 -1
- package/dist/collaboration.d.ts +3 -3
- package/dist/contracts/document.d.ts +2 -2
- package/dist/contracts/editor.d.ts +8 -8
- package/dist/contracts/modules.d.ts +6 -6
- package/dist/contracts/types.d.ts +1 -1
- package/dist/{custom-node-writes-CncR6KfC.d.ts → custom-node-writes-Ck6eOiJ3.d.ts} +2 -2
- package/dist/{document-protection-DM6mA8Rf.d.ts → document-protection-CMPEonQc.d.ts} +1 -1
- package/dist/{editor-BRh7GuZF.d.ts → editor-BKDVqXyk.d.ts} +70 -49
- package/dist/editor.cjs +1 -1
- package/dist/editor.css +1 -1
- package/dist/editor.d.ts +188 -26
- package/dist/editor.js +1 -1
- package/dist/export.cjs +2 -2
- package/dist/export.d.ts +31 -14
- package/dist/export.js +2 -2
- package/dist/{font-resolver-DwuQYj3P.d.ts → font-resolver-PBc8Vuxs.d.ts} +1 -1
- package/dist/{headless-document-view-C3fc_jV0.d.ts → headless-document-view-9wjJT20Y.d.ts} +2 -2
- package/dist/{image-resources-DxF-SN_8.d.ts → image-resources-B0v-XaTM.d.ts} +2 -2
- package/dist/{index-3pNnG4z4.d.ts → index-DQA53aR1.d.ts} +134 -16
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +17 -17
- package/dist/index.js +1 -1
- package/dist/{layout-shaping-_GGjhhVc.d.ts → layout-shaping-Dyr0ZSOI.d.ts} +5 -2
- package/dist/layout.cjs +1 -1
- package/dist/layout.d.ts +376 -33
- package/dist/layout.js +1 -1
- package/dist/{note-properties-CjT31AuP.d.ts → note-properties-D_lmG9xx.d.ts} +1 -1
- package/dist/{omml-equation-Bk3OP1fv.d.ts → omml-equation-CfTm3jOK.d.ts} +1 -1
- package/dist/output.cjs +1 -1
- package/dist/output.d.ts +7 -7
- package/dist/output.js +1 -1
- package/dist/{protocol-CrbTIW2Z.d.ts → protocol-CkVDxyQ3.d.ts} +2 -2
- package/dist/{review-paragraph-order-D3KZohIL.d.ts → review-paragraph-order-BjUs-tDd.d.ts} +1 -1
- package/dist/{revision-projection-kVd7p6Wd.d.ts → revision-projection-DDVBYTIG.d.ts} +1 -1
- package/dist/{semantic-cell-selection-CkSsZHDL.d.ts → semantic-cell-selection-DW6qsmoC.d.ts} +4 -4
- package/dist/{semantic-interaction-Z2Xa68U5.d.ts → semantic-interaction-BNiYSBcB.d.ts} +1 -1
- package/dist/{semantic-paint-BHKprI9P.d.ts → semantic-paint-DE236npp.d.ts} +2 -2
- package/dist/{semantic-records-StH-AnHK.d.ts → semantic-records-C5OeXnaL.d.ts} +545 -569
- package/dist/store.cjs +1 -1
- package/dist/store.d.ts +13 -13
- package/dist/store.js +1 -1
- package/dist/{tree-package-fragment-CpEV1gl3.d.ts → tree-package-fragment-DBb97w3F.d.ts} +2 -2
- package/dist/{tree-session-contract-CTT9nM7Z.d.ts → tree-session-contract-BYat3RKx.d.ts} +5 -5
- package/dist/{types-barrel-PwcfEkaX.d.ts → types-barrel-ChGvWjkO.d.ts} +3 -1
- package/package.json +2 -2
- package/dist/chunk-25OQBAKA.js +0 -2
- package/dist/chunk-3B3DQMSL.js +0 -11
- package/dist/chunk-3P3DNJYM.js +0 -5
- package/dist/chunk-3PA64KPK.js +0 -5
- package/dist/chunk-AGWWNVIJ.cjs +0 -1
- package/dist/chunk-DFTVN25X.cjs +0 -5
- package/dist/chunk-DGONGMAV.js +0 -2
- package/dist/chunk-F4H3LC6M.cjs +0 -2
- package/dist/chunk-IUTTOBQW.cjs +0 -20
- package/dist/chunk-IYCXQAFT.cjs +0 -4
- package/dist/chunk-JL3SI5SZ.js +0 -18
- package/dist/chunk-OFWUHH52.js +0 -20
- package/dist/chunk-OKY6JRJL.js +0 -4
- package/dist/chunk-P24FHMQW.cjs +0 -1
- package/dist/chunk-QBKAOSVF.cjs +0 -18
- package/dist/chunk-U5GUJKTS.js +0 -1
- package/dist/chunk-XRYSPKKC.js +0 -1
- package/dist/chunk-ZZRCVDQU.cjs +0 -11
package/dist/layout.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
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-
|
|
4
|
-
import { aC as ImpactClass, i as OoxmlNode, a0 as OoxmlProperty,
|
|
5
|
-
export { a_ as CommentAnchor, a$ as CommentPosition, C as CommentRecord, aV as CommentThreadState, aH as DrawingAccessibility,
|
|
6
|
-
import { H as HeadlessDocumentView, D as DocumentProperties, r as relationshipTargetIn } from './headless-document-view-
|
|
7
|
-
import { c as RevisionAttribution, a as RevisionDisplayMode, b as RevisionAuthorFilter } from './revision-projection-
|
|
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-
|
|
9
|
-
import { b as ResolvedFootnoteProperties, R as ResolvedEndnoteProperties } from './note-properties-
|
|
10
|
-
import { c as TreeModelChange, N as NoteKind, az as noteTypeOf } from './tree-package-fragment-
|
|
11
|
-
import { a as SectionColumns } from './semantic-cell-selection-
|
|
12
|
-
export { C as CellSelection, D as DEFAULT_SECTION_PROPERTIES, b as DEFAULT_VERTICAL_WEIGHT, c as DocumentSection, d as DocumentSectionsEnumeration, e as DrawingOverlayFrame, H as HitPoint, f as HitTestOptions, M as MAX_DOCUMENT_SECTIONS, P as PlacedCell, g as SectionBreakType, h as SectionColumnDefinition, i as SectionMargins, j as SectionPageNumbering, S as SectionProperties, k as SemanticHit, l as SemanticHitDrawing, T as TableCellAddress, m as TableCellContext, n as caretBoxOnLine, o as cellSelectionBetween, p as cellSelectionRects, q as cellSelectionText, r as contentControlAtPoint, s as enumerateDocumentSections, t as enumerateDocumentSectionsBounded, u as findDrawingOverlayFrameInLayout, v as geometryOfSection, w as hitTestPage, x as hitTestSheet, y as isFurniturePoint, z as lineEndOffset, A as pageAtY, B as paragraphSectionNode, E as paragraphsInCells, F as parsePageNumbering, G as parseSectionProperties, I as projectedSectionSourceIndexes, J as readSectionProperties, K as spanOffsetX, L as spansInCells, N as tableContextAt } from './semantic-cell-selection-
|
|
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-
|
|
14
|
-
import { S as SemanticPosition, b as SelectionRect, a as SemanticSelection } from './semantic-interaction-
|
|
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-
|
|
16
|
-
import './image-resources-
|
|
17
|
-
import './omml-equation-
|
|
1
|
+
import { n as NumberingLevel, o as NumberingIndex, S as SemanticLayout, p as ParagraphFragmentRecord, q as LayoutBox, D as DrawingPoint, r as DrawingInsets, a as StyleSpanRecord, I as InlineDrawingRecord, M as ModelRange, s as TableBorderSide, B as BlockFragmentRecord, A as AnchoredDrawingRecord, t as PageRecord, u as ResolvedListItem, v as CellBorderBox, w as TableCellStyleFormatting, x as TableFloatPosition, y as TableBorderBox, z as StyleCascadeTable, L as LineRecord, E as NoteAreaRecord, H as HeaderFooterStoryRecord, G as NoteStoryRecord, C as ContentControlBoundaryRecord$1, J as ContentControlLock, T as TextMeasurer, V as VersionedShapingLibrary, f as TextShaper, K as FontByteValidator, h as FixedPointRoundingMode, O as FixedPoint, m as ShapedRun, Q as SourceRange, U as HyperlinkProjector, W as InlineDrawingLayoutContext, X as FieldLinkProjector, Y as StoryPageFieldNeeds, Z as RefFieldContext, _ as HyperlinkFieldSpec, $ as SpanLinkRecord, P as PageGeometry, b as SectionPageBorders, a0 as PageBorderFrameRecord, a1 as ParagraphBorderStrokeRecord, a2 as StrikeoutStrokePt } from './semantic-records-C5OeXnaL.js';
|
|
2
|
+
export { a3 as AUTO_PARAGRAPH_SPACING_PT, a4 as AbstractNumDefinition, a5 as AnchoredDrawingLayoutFallback, a6 as BidiEmbeddingLevels, a7 as BorderGridGeometry, a8 as CascadedParagraphFormatting, a9 as CjkTypographySettings, aa as ContentControlGeometryFragment, ab as ContentControlLevel, ac as ContentControlMappedType, ad as DEFAULT_PAGE_GEOMETRY, 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 EMPTY_NUMBERING_INDEX, al as EMPTY_TAB_STOPS, am as EquationFractionGeometry, an as EquationGeometry, ao as EquationNaryGeometry, ap as EquationRadicalGeometry, aq as EquationRowGeometry, ar as EquationScriptGeometry, as as EquationSpanRecord, at as EquationTextGeometry, au as FieldAtomMarker, av as FontFingerprintInputs, i as FontRequest, aw as FontResolutionError, ax as FontResolutionErrorCode, ay as FontResourceDefinition, az as FontResourceInstrumentation, F as FontResourceSnapshot, aA as FontResourceSnapshotOptions, aB as FontSlot, l as FontSubstitution, aC as FontValidationResult, aD as GlyphOutline, aE as HARD_MAX_AGGREGATE_FONT_BYTES, aF as HARD_MAX_FONT_BYTES, aG as HARD_MAX_FONT_SOURCES, aH as LevelOverride, aI as LineSpacingRule, aJ as ListMarkerAlign, k as ListMarkerPictureRecord, aK as ListMarkerRecord, aL as ListSuffix, aM as MAX_BORDER_SPACE_PT, aN as MAX_BORDER_WIDTH_PT, aO as MAX_LVL_OVERRIDES, aP as MAX_NUMBERING_DEFINITIONS, aQ as MAX_PARAGRAPH_SPACING_PT, aR as MAX_STYLE_BASED_ON_DEPTH, aS as MAX_STYLE_DEFINITIONS, aT as MAX_TABLE_BORDER_STROKES, aU as MAX_TAB_POSITION_TWIPS, aV as MAX_TAB_STOPS, N as NormalizationPolicy, aW as NumDefinition, aX as NumberingLevelIndent, aY as NumberingPictureBullet, aZ as PAGE_BORDER_SIDES, a_ as PARAGRAPH_BORDER_SIDES, a$ as PageBorderDisplay, b0 as PageBorderOffsetFrom, b1 as PageBorderSide, b2 as PageBorderStrokeRecord, b3 as PageBorderZOrder, b4 as PageRefCalibrationCell, b5 as PageRefFieldProjection, b6 as ParagraphAutoSpacingContext, b7 as ParagraphBorderEdge, b8 as ParagraphBorderSide, b9 as ParagraphBorders, ba as ParagraphBottomBorderRecord, bb as ParagraphIndent, bc as ParagraphLayoutInputs, bd as ParagraphLineSpacing, be as ParagraphSpacing, bf as RefFieldSpec, bg as RefNoteParts, bh as ResolvedCellBorders, g as ResolvedFont, bi as ResolvedPictureBullet, R as ResolvedRunStyle, bj as ResolvedTabStops, bk as ResolvedTableBorderEdge, bl as ResolvedTableBorderEdgeSegment, bm as ResolvedUnderline, bn as SINGLE_LINE_SPACING, bo as ScriptItem, bp as SemanticArtifactRootStoryKind, bq as SemanticArtifactStoryKind, br as SemanticCommentArtifactRecord, bs as SemanticReviewArtifactOccurrence, bt as SemanticReviewArtifactOccurrenceGeometry, bu as SemanticReviewArtifactPosition, j as SemanticReviewArtifactRecord, bv as SemanticReviewArtifactSource, bw as SemanticTrackedChangeArtifactRecord, bx as ShapeInput, by as ShapedCluster, bz as ShapedFontSpan, bA as ShapedGlyph, bB as ShapedRunComparatorInputs, bC as ShapedVerticalMetrics, bD as ShapingEnvironment, bE as ShapingEnvironmentFingerprintInputs, e as ShapingEnvironmentInput, bF as StyleDefinition, bG as TAB_LEADER_GLYPH, bH as TabAlignment, bI as TabDestination, bJ as TabLeader, bK as TabStop, bL as TableBorderSideName, bM as TableBorderStrokeRecord, d as TableCellFragmentRecord, bN as TableFragmentRecord, c as TableRowFragmentRecord, bO as TextDirection, bP as TextboxStoryFallbackReason, bQ as TextboxStoryLayout, bR as UnsupportedScriptError, bS as VerticalAlign, bT as appliedSpaceBefore, bU as applyLineSpacing, bV as baselineShiftPtOf, bW as borderExtentPt, bX as borderWeight, bY as bottomBorderExtentPt, bZ as boundedStructuralFontValidator, b_ as buildNumberingIndex, b$ as buildStyleCascadeTable, c0 as cascadeParagraphFormatting, c1 as cascadeRunProperties, c2 as cascadedBottomBorder, c3 as cascadedParagraphBorders, c4 as cascadedTabStops, c5 as collapsedSpaceBefore, c6 as createFontResourceSnapshot, c7 as createShapedRun, c8 as createShapingEnvironment, c9 as defaultTabIntervalFromSettings, ca as displayText, cb as fixedPoint, cc as fontRequestKey, cd as glyphSizeFactorOf, ce as isValidStyleId, cf as itemizeScriptFontSlots, cg as layoutEquation, ch as measureDisplayText, ci as mergeListIndent, cj as nextTabDestination, ck as pageBordersFingerprint, cl as paragraphBorderExtentPt, cm as paragraphBorderStrokeWidthPt, cn as paragraphBorders, co as paragraphBordersFingerprint, cp as paragraphBreaksBefore, cq as paragraphContextualSpacing, cr as paragraphLineSpacing, cs as paragraphSpacing, ct as paragraphTabStops, cu as parsePageBorders, cv as parseRefInstruction, cw as readBorderSide, cx as readCellBorders, cy as readNumPr, cz as readTableBorders, cA as resolveBorderConflict, cB as resolveNumberingLevel, cC as resolveParagraphLayoutInputs, cD as resolveRunStyle, cE as resolveStoryListItems, cF as resolveStoryRefFields, cG as resolveTableCellBorderGrid, cH as runStylesEqual, cI as shapedRunComparatorInputs, cJ as shapingEnvironmentFingerprint, cK as shapingEnvironmentFingerprintInputs, cL as styleForFontSlot, cM as tabAdvanceWidth, cN as tabStopsFingerprint, cO as walkStoryParagraphs, cP as withDefaultTabInterval, cQ as withNumberingStyleLinks, cR as withResolvedListItems } from './semantic-records-C5OeXnaL.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-Dyr0ZSOI.js';
|
|
4
|
+
import { aC as ImpactClass, i as OoxmlNode, a0 as OoxmlProperty, a1 as OoxmlElement, O as OoxmlPart, W as TreeDocOp, j as OoxmlPackage, b6 as ContentControlKind, b7 as ContentControlLevel, b9 as ContentControlLock$1, b3 as ContentControlDataBinding, a as ReviewItem } from './types-barrel-ChGvWjkO.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-ChGvWjkO.js';
|
|
6
|
+
import { H as HeadlessDocumentView, D as DocumentProperties, r as relationshipTargetIn } from './headless-document-view-9wjJT20Y.js';
|
|
7
|
+
import { c as RevisionAttribution, a as RevisionDisplayMode, b as RevisionAuthorFilter } from './revision-projection-DDVBYTIG.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-DDVBYTIG.js';
|
|
9
|
+
import { b as ResolvedFootnoteProperties, R as ResolvedEndnoteProperties } from './note-properties-D_lmG9xx.js';
|
|
10
|
+
import { c as TreeModelChange, N as NoteKind, az as noteTypeOf } from './tree-package-fragment-DBb97w3F.js';
|
|
11
|
+
import { a as SectionColumns } from './semantic-cell-selection-DW6qsmoC.js';
|
|
12
|
+
export { C as CellSelection, D as DEFAULT_SECTION_PROPERTIES, b as DEFAULT_VERTICAL_WEIGHT, c as DocumentSection, d as DocumentSectionsEnumeration, e as DrawingOverlayFrame, H as HitPoint, f as HitTestOptions, M as MAX_DOCUMENT_SECTIONS, P as PlacedCell, g as SectionBreakType, h as SectionColumnDefinition, i as SectionMargins, j as SectionPageNumbering, S as SectionProperties, k as SemanticHit, l as SemanticHitDrawing, T as TableCellAddress, m as TableCellContext, n as caretBoxOnLine, o as cellSelectionBetween, p as cellSelectionRects, q as cellSelectionText, r as contentControlAtPoint, s as enumerateDocumentSections, t as enumerateDocumentSectionsBounded, u as findDrawingOverlayFrameInLayout, v as geometryOfSection, w as hitTestPage, x as hitTestSheet, y as isFurniturePoint, z as lineEndOffset, A as pageAtY, B as paragraphSectionNode, E as paragraphsInCells, F as parsePageNumbering, G as parseSectionProperties, I as projectedSectionSourceIndexes, J as readSectionProperties, K as spanOffsetX, L as spansInCells, N as tableContextAt } from './semantic-cell-selection-DW6qsmoC.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-BjUs-tDd.js';
|
|
14
|
+
import { S as SemanticPosition, b as SelectionRect, a as SemanticSelection } from './semantic-interaction-BNiYSBcB.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-BNiYSBcB.js';
|
|
16
|
+
import './image-resources-B0v-XaTM.js';
|
|
17
|
+
import './omml-equation-CfTm3jOK.js';
|
|
18
18
|
import './editor-scope-OHPwVQ5l.js';
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -165,6 +165,8 @@ interface PendingPositionedTableTokens {
|
|
|
165
165
|
|
|
166
166
|
/** Numeric, auto-height text frames. Other frame variants retain ordinary flow. */
|
|
167
167
|
interface ParagraphFrame {
|
|
168
|
+
/** Explicit-size drop cap aligned against this many lines of its anchor paragraph. */
|
|
169
|
+
readonly dropCapLines?: number;
|
|
168
170
|
readonly x: number;
|
|
169
171
|
readonly y: number;
|
|
170
172
|
readonly width: number;
|
|
@@ -267,6 +269,8 @@ interface NoteMarkContext {
|
|
|
267
269
|
* inherit identity from the enclosing note via this key.
|
|
268
270
|
*/
|
|
269
271
|
readonly activeNoteKey?: string;
|
|
272
|
+
/** Project separator markers as inline rules inside their authored stories. */
|
|
273
|
+
readonly measureSeparatorMarkers?: true;
|
|
270
274
|
}
|
|
271
275
|
/**
|
|
272
276
|
* The key one note's mark is stored under — `footnote:N` / `endnote:N`.
|
|
@@ -282,6 +286,7 @@ declare function noteMarkKey(noteKind: NoteKind, noteId: number): string;
|
|
|
282
286
|
*/
|
|
283
287
|
type NoteNavDirection = 'to-note' | 'to-body';
|
|
284
288
|
interface ProjectedNoteMark {
|
|
289
|
+
readonly noteSeparator?: 'separator' | 'continuationSeparator';
|
|
285
290
|
readonly text: string;
|
|
286
291
|
readonly measureText?: string;
|
|
287
292
|
readonly projected: boolean;
|
|
@@ -437,12 +442,22 @@ interface WrapExclusionInput {
|
|
|
437
442
|
/** Paint layer relative to body text — not the OOXML wrap element. */
|
|
438
443
|
type DrawingPaintLayer = 'behind' | 'inFront';
|
|
439
444
|
interface ExclusionZone {
|
|
440
|
-
/**
|
|
441
|
-
readonly sourceKind?: 'table' | 'frame';
|
|
445
|
+
/** Objects outside body drawing flow publish their exclusion directly instead of synthesizing it. */
|
|
446
|
+
readonly sourceKind?: 'table' | 'frame' | 'furniture';
|
|
442
447
|
readonly drawingNodeId: string;
|
|
443
448
|
readonly anchorParagraphId: string;
|
|
444
449
|
/** UTF-16 model offset of the anchor atom — exclusions apply at/after this point in the paragraph. */
|
|
445
450
|
readonly anchorModelStart: number;
|
|
451
|
+
/**
|
|
452
|
+
* The band's vertical position is resolved against the page or a margin, not against the
|
|
453
|
+
* anchor's own flow position, so it cannot move when the text beside it reflows.
|
|
454
|
+
*
|
|
455
|
+
* Such a band excludes every line it crosses on its page, including lines that PRECEDE the
|
|
456
|
+
* anchor — a picture pinned to the top of the margin wraps the paragraphs above its anchor
|
|
457
|
+
* exactly as it wraps the ones below. Flow-relative bands (`paragraph`, `line`) stay
|
|
458
|
+
* forward-only: reaching back would move the anchor that positions them.
|
|
459
|
+
*/
|
|
460
|
+
readonly pageFramedBand?: boolean;
|
|
446
461
|
readonly sourceOrder: number;
|
|
447
462
|
readonly paintLayer: DrawingPaintLayer;
|
|
448
463
|
readonly relativeHeight: number;
|
|
@@ -488,6 +503,21 @@ interface PendingLine {
|
|
|
488
503
|
deletedRanges?: readonly ModelRange[];
|
|
489
504
|
/** Vertical gap inserted before this line to clear a drawing exclusion band. */
|
|
490
505
|
exclusionSkipBefore?: number;
|
|
506
|
+
/**
|
|
507
|
+
* The horizontal passage a float left this line, when that passage is narrower than the
|
|
508
|
+
* paragraph's measure and holds the whole line.
|
|
509
|
+
*
|
|
510
|
+
* `start` is where the line's content begins (after any first-line indent) and `end` is the
|
|
511
|
+
* passage's right edge, both in paragraph-local coordinates. Centring, right alignment and
|
|
512
|
+
* justification align INSIDE this passage: Word centres a heading between the two pictures
|
|
513
|
+
* beside it, not between the page margins, and stretches a justified line to the float's
|
|
514
|
+
* near edge rather than through it. Absent when no float shortens the line, when the line
|
|
515
|
+
* steps over a float into a later passage, or when the passage is the whole measure.
|
|
516
|
+
*/
|
|
517
|
+
wrapSegment?: {
|
|
518
|
+
readonly start: number;
|
|
519
|
+
readonly end: number;
|
|
520
|
+
};
|
|
491
521
|
/** Tracked anchored-drawing attributions on this line; see {@link LineRecord.anchorRevisions}. */
|
|
492
522
|
anchorRevisions?: readonly RevisionAttribution[];
|
|
493
523
|
/** Revisions a resolved view answered on this line; see {@link LineRecord.changeSites}. */
|
|
@@ -508,14 +538,14 @@ declare function effectiveBorderSide(authored: TableBorderSide, tableSide: Table
|
|
|
508
538
|
}): TableBorderSide;
|
|
509
539
|
|
|
510
540
|
/** Minimum stroke width for a compound (double/triple) band, in points. */
|
|
511
|
-
declare const COMPOUND_BORDER_MIN_STROKE_PT =
|
|
541
|
+
declare const COMPOUND_BORDER_MIN_STROKE_PT = 0.25;
|
|
512
542
|
/** Minimum gap between compound strokes, in points. */
|
|
513
|
-
declare const COMPOUND_BORDER_MIN_GAP_PT =
|
|
543
|
+
declare const COMPOUND_BORDER_MIN_GAP_PT = 0.25;
|
|
514
544
|
/**
|
|
515
545
|
* How a multi-line border style (double, triple) is drawn: stroke width, gap, and total extent.
|
|
516
546
|
*
|
|
517
|
-
*
|
|
518
|
-
*
|
|
547
|
+
* Table stroke coordinates centre the painted band on the authored edge box.
|
|
548
|
+
* Content insets must also account for the portion that extends inward.
|
|
519
549
|
*/
|
|
520
550
|
interface CompoundBorderMetrics {
|
|
521
551
|
readonly strokePt: number;
|
|
@@ -525,10 +555,9 @@ interface CompoundBorderMetrics {
|
|
|
525
555
|
readonly insetPt: number;
|
|
526
556
|
}
|
|
527
557
|
/**
|
|
528
|
-
*
|
|
529
|
-
*
|
|
530
|
-
*
|
|
531
|
-
* visible at paint scale 1 — matching Word's hairline-double floor.
|
|
558
|
+
* Double strokes use the authored width, with a quarter-point minimum.
|
|
559
|
+
* The complete band is centred on the authored edge box. Device pixel rounding
|
|
560
|
+
* belongs to rendering; these layout metrics remain in continuous points.
|
|
532
561
|
*/
|
|
533
562
|
declare function computeDoubleBorderMetricsPt(widthPt: number): CompoundBorderMetrics;
|
|
534
563
|
|
|
@@ -730,9 +759,78 @@ interface LayoutSession {
|
|
|
730
759
|
*/
|
|
731
760
|
declare function createLayoutSession(): LayoutSession;
|
|
732
761
|
|
|
762
|
+
/**
|
|
763
|
+
* Horizontal marker box inside the first-line indent slot.
|
|
764
|
+
*
|
|
765
|
+
* Coordinates are relative to the same origin as paragraph content (`indent.left` is the
|
|
766
|
+
* text start). Returns null when there is nothing to paint.
|
|
767
|
+
*
|
|
768
|
+
* `w:hanging` and a positive `w:firstLine` are one mutually exclusive slot
|
|
769
|
+
* (§17.3.1.10, §17.3.1.12), so the marker has two placements, not an interaction:
|
|
770
|
+
* a hanging level puts the marker BEFORE the text start (`left - hanging`); a
|
|
771
|
+
* positive-firstLine level puts it AFTER (`left + firstLine`) — the standard legal
|
|
772
|
+
* shape `w:ind w:left="0" w:firstLine="720"` numbers at 0.5" while continuation
|
|
773
|
+
* lines return to the margin. Reading only the hanging model painted every such
|
|
774
|
+
* marker at the left margin.
|
|
775
|
+
*/
|
|
776
|
+
declare function listMarkerBox(item: ResolvedListItem, markerWidth: number, lineY: number, lineHeight: number): {
|
|
777
|
+
x: number;
|
|
778
|
+
y: number;
|
|
779
|
+
width: number;
|
|
780
|
+
height: number;
|
|
781
|
+
} | null;
|
|
782
|
+
|
|
733
783
|
/** Far above anything Word authors (its UI caps at 63) while keeping allocation bounded. */
|
|
734
784
|
declare const MAX_TABLE_COLUMNS = 1024;
|
|
735
785
|
|
|
786
|
+
/**
|
|
787
|
+
* `w:tblW` / `w:tcW` / `w:wBefore` (CT_TblWidth, 17.4.63 / 17.4.71 / 17.4.86): a PREFERRED
|
|
788
|
+
* width plus the unit it is stated in. Preferred is the operative word — it is what the
|
|
789
|
+
* producer asked for, not what the table resolved to.
|
|
790
|
+
*
|
|
791
|
+
* `pct` is stated in fiftieths of a percent (5000 = 100%) by Word, and in the `"50%"`
|
|
792
|
+
* string form of `ST_Percentage` by others; both are read. `auto` and `nil` carry no width.
|
|
793
|
+
*/
|
|
794
|
+
type PreferredWidthType = 'dxa' | 'pct' | 'auto' | 'nil';
|
|
795
|
+
/**
|
|
796
|
+
* `w:tblW` / `w:tcW` — a requested width, whose UNIT depends on its type.
|
|
797
|
+
*
|
|
798
|
+
* Points for `dxa`, percent for `pct`, and zero for `auto`/`nil`. Reading `value` without `type`
|
|
799
|
+
* is always wrong.
|
|
800
|
+
*/
|
|
801
|
+
interface PreferredWidth {
|
|
802
|
+
readonly type: PreferredWidthType;
|
|
803
|
+
/** POINTS for `dxa`, PERCENT (0–100) for `pct`, 0 for `auto`/`nil`. */
|
|
804
|
+
readonly value: number;
|
|
805
|
+
}
|
|
806
|
+
/** The frozen "no preferred width" value — what a table or cell that declares none resolves to. */
|
|
807
|
+
declare const AUTO_PREFERRED_WIDTH: PreferredWidth;
|
|
808
|
+
|
|
809
|
+
/**
|
|
810
|
+
* The uniform 3 pt (60 twip) inset this lane used to apply on every side.
|
|
811
|
+
*
|
|
812
|
+
* Word's defaults are not uniform — see {@link DEFAULT_CELL_MARGINS} — so nothing resolves
|
|
813
|
+
* against this any more. Kept because it is published.
|
|
814
|
+
*/
|
|
815
|
+
declare const CELL_PAD = 3;
|
|
816
|
+
/** Resolved cell padding in points, after the table default and any per-cell override. */
|
|
817
|
+
interface CellMarginsPt {
|
|
818
|
+
readonly top: number;
|
|
819
|
+
readonly right: number;
|
|
820
|
+
readonly bottom: number;
|
|
821
|
+
readonly left: number;
|
|
822
|
+
}
|
|
823
|
+
/**
|
|
824
|
+
* Traditional default table-style padding: 0 vertical, 108 twips horizontal.
|
|
825
|
+
*
|
|
826
|
+
* Kept as a published constant. Authored styles can supply these values; omitted
|
|
827
|
+
* margins instead resolve to a 10-twip horizontal application fallback.
|
|
828
|
+
*/
|
|
829
|
+
declare const DEFAULT_CELL_MARGINS: CellMarginsPt;
|
|
830
|
+
|
|
831
|
+
/** `w:vAlign` — where a cell's content sits when the row is taller than the content. */
|
|
832
|
+
type CellVerticalAlign = 'top' | 'center' | 'bottom';
|
|
833
|
+
|
|
736
834
|
/**
|
|
737
835
|
* Where a table's left edge sits inside the box that contains it.
|
|
738
836
|
*
|
|
@@ -742,6 +840,188 @@ declare const MAX_TABLE_COLUMNS = 1024;
|
|
|
742
840
|
*/
|
|
743
841
|
declare function tableOriginX(structure: SemanticTableStructure, containerWidthPt: number): number;
|
|
744
842
|
|
|
843
|
+
/**
|
|
844
|
+
* Layout-time nesting ceiling. Parse-time depth (MAX_DEPTH = 256 XML levels) alone still
|
|
845
|
+
* admits ~80 levels of `w:tbl` recursion into the layout walk; deeper tables render as an
|
|
846
|
+
* empty cell box rather than recursing.
|
|
847
|
+
*/
|
|
848
|
+
declare const MAX_TABLE_NESTING = 16;
|
|
849
|
+
/**
|
|
850
|
+
* Soft ceiling on an authored `w:trHeight` (~22"). Hostile `w:val` otherwise becomes a
|
|
851
|
+
* multi-page row that every pagination preflight and cell box inherits.
|
|
852
|
+
*/
|
|
853
|
+
declare const MAX_TABLE_ROW_HEIGHT_PT: number;
|
|
854
|
+
/**
|
|
855
|
+
* `w:trPr/w:trHeight` (17.4.81) resolved for layout. Points leave the reader already —
|
|
856
|
+
* twips convert once here, matching every other table geometry boundary.
|
|
857
|
+
*
|
|
858
|
+
* Word quirk (matches Form025U and Word's UI export): a present `@w:val` with an omitted
|
|
859
|
+
* `@w:hRule` is treated as `atLeast`, not ECMA's `auto`. Explicit `auto` still ignores val.
|
|
860
|
+
*/
|
|
861
|
+
type TableRowHeightRule = 'auto' | 'atLeast' | 'exact';
|
|
862
|
+
/**
|
|
863
|
+
* `w:trHeight` — a row's height rule and its value.
|
|
864
|
+
*
|
|
865
|
+
* `auto` carries no value at all, which is why this is a union rather than a rule plus an
|
|
866
|
+
* optional number.
|
|
867
|
+
*/
|
|
868
|
+
type TableRowHeight = {
|
|
869
|
+
readonly rule: 'auto';
|
|
870
|
+
} | {
|
|
871
|
+
readonly rule: 'atLeast' | 'exact';
|
|
872
|
+
readonly valuePt: number;
|
|
873
|
+
};
|
|
874
|
+
/** `w:tblPr/w:jc` (17.4.29, ST_JcTable): where the table sits within the text column. */
|
|
875
|
+
type TableAlignment = 'left' | 'center' | 'right';
|
|
876
|
+
/**
|
|
877
|
+
* One cell in the resolved table structure.
|
|
878
|
+
*
|
|
879
|
+
* `gridSpan` is clamped at READ time and layout never re-derives it — the value comes from a file
|
|
880
|
+
* and would otherwise be a loop bound an attacker controls.
|
|
881
|
+
*/
|
|
882
|
+
interface SemanticTableCell {
|
|
883
|
+
readonly id: string;
|
|
884
|
+
/** Derived content-edge geometry for a verified legacy percentage-width parent table. */
|
|
885
|
+
readonly legacyContentAlignment?: true;
|
|
886
|
+
/** Resolved simple side rules centered on a legacy absolute-width table grid. */
|
|
887
|
+
readonly centeredSideRules?: true;
|
|
888
|
+
/** Simple side rules painted centered on the grid line, without moving the content edge. */
|
|
889
|
+
readonly centeredSidePaint?: true;
|
|
890
|
+
/** Clamped to [1, MAX_TABLE_COLUMNS] at read time; layout never re-derives it. */
|
|
891
|
+
readonly gridSpan: number;
|
|
892
|
+
/** Physical grid column after width/style resolution and the bidiVisual projection. */
|
|
893
|
+
readonly gridColumn: number;
|
|
894
|
+
/** Stored grid index when bidiVisual maps this cell into a physical RTL grid. */
|
|
895
|
+
readonly logicalGridColumn?: number;
|
|
896
|
+
/** Canonical `w:gridCol` node id for this cell's start column, when the grid is authored. */
|
|
897
|
+
readonly gridColumnId?: string;
|
|
898
|
+
/** A vMerge cell that is not the restart continues the cell above: box, no content. */
|
|
899
|
+
readonly vMergeContinue: boolean;
|
|
900
|
+
/** `w:hideMark` excludes the end-of-cell glyph from row sizing. */
|
|
901
|
+
readonly hideEndMark?: boolean;
|
|
902
|
+
/** `w:vAlign` — defaults to top when omitted/unrecognised. */
|
|
903
|
+
readonly vAlign: CellVerticalAlign;
|
|
904
|
+
/** `w:textDirection`; unsupported values keep horizontal layout. */
|
|
905
|
+
readonly textDirection: 'horizontal' | 'btLr';
|
|
906
|
+
/** Resolved per-side margins (tcMar over tblCellMar over the table style over Word's default). */
|
|
907
|
+
readonly margins: CellMarginsPt;
|
|
908
|
+
/** Three-state authored `tcBorders` (omitted / none / edge). */
|
|
909
|
+
readonly borders: CellBorderBox;
|
|
910
|
+
/** Resolved incident edges used for content clearance, preserving authored border provenance. */
|
|
911
|
+
readonly contentBorders?: CellBorderBox;
|
|
912
|
+
/** The resolved cell (including a vertical merge) ends at the authored table bottom. */
|
|
913
|
+
readonly contentBottomIsOuter?: boolean;
|
|
914
|
+
/** Clearance this AUTHORED ROW reserves above its content for its own top rule, in points. */
|
|
915
|
+
readonly topBandClearancePt?: number;
|
|
916
|
+
/** The CELL declares `w:tcBorders/w:top` as `nil`, rather than a table style doing so. */
|
|
917
|
+
readonly suppressesTopBand?: true;
|
|
918
|
+
/** Row-local clearance in points for authored minima, before vMerge combines content boxes. */
|
|
919
|
+
readonly minimumContentInsets?: {
|
|
920
|
+
readonly top: number;
|
|
921
|
+
readonly bottom: number;
|
|
922
|
+
};
|
|
923
|
+
/** Validated 6-hex shading fill, absent for none/auto. */
|
|
924
|
+
readonly shading?: string;
|
|
925
|
+
/**
|
|
926
|
+
* `w:tcW` — the width this cell asked for, as authored.
|
|
927
|
+
*
|
|
928
|
+
* Published for consumers that need the cell's own statement (a column-resize handle has
|
|
929
|
+
* to write back to it). Column geometry is NOT derived from this field: the resolver works
|
|
930
|
+
* from a flat claim list built in the same pass, because resolving a column means looking
|
|
931
|
+
* at every cell that covers it across every row, not at one cell at a time. Read
|
|
932
|
+
* `columnWidthsPt` for what the table actually laid out.
|
|
933
|
+
*/
|
|
934
|
+
readonly preferredWidth: PreferredWidth;
|
|
935
|
+
/**
|
|
936
|
+
* What the table style says about this cell's paragraphs and runs (17.7.6.6) — a header
|
|
937
|
+
* row's bold and centring live here, not in the cell's own properties.
|
|
938
|
+
*/
|
|
939
|
+
readonly styleFormatting: TableCellStyleFormatting;
|
|
940
|
+
/** Block children in reading order, with content-control wrappers flattened. */
|
|
941
|
+
readonly blocks: readonly OoxmlElement[];
|
|
942
|
+
}
|
|
943
|
+
/** One row in the resolved structure: its cells, its height rule, and any row-level revision. */
|
|
944
|
+
interface SemanticTableRow {
|
|
945
|
+
readonly id: string;
|
|
946
|
+
/** Pending Word row insertion/deletion authored in `w:trPr`. */
|
|
947
|
+
readonly revisionKind?: 'insert' | 'delete';
|
|
948
|
+
/**
|
|
949
|
+
* The `w:trPr/w:ins|w:del` attribution, carried with the kind so a painted row can say
|
|
950
|
+
* WHOSE pending decision it is — the review model addresses the decision by exactly this
|
|
951
|
+
* `(id, author, date)` triple, and a surface with only the kind could highlight the row
|
|
952
|
+
* but never open its card.
|
|
953
|
+
*/
|
|
954
|
+
readonly revisionId?: string;
|
|
955
|
+
readonly revisionAuthor?: string;
|
|
956
|
+
readonly revisionDate?: string;
|
|
957
|
+
/** The row insertion a resolved view kept the row through; see the fragment record. */
|
|
958
|
+
readonly changeSites?: readonly RevisionAttribution[];
|
|
959
|
+
/** `w:trPr/w:tblHeader` — the row repeats atop each page the table continues onto. */
|
|
960
|
+
readonly isHeader: boolean;
|
|
961
|
+
/**
|
|
962
|
+
* `w:trPr/w:cantSplit` — the row must stay on one page. When no page can hold it, the
|
|
963
|
+
* row starts on a fresh page and splits there, so its content is kept.
|
|
964
|
+
*/
|
|
965
|
+
readonly cantSplit: boolean;
|
|
966
|
+
/** `w:trPr/w:trHeight` — auto / atLeast floor / exact (clipped) row height. */
|
|
967
|
+
readonly height: TableRowHeight;
|
|
968
|
+
readonly cells: readonly SemanticTableCell[];
|
|
969
|
+
}
|
|
970
|
+
/**
|
|
971
|
+
* A table resolved into a rectangular grid: column widths, rows, and the widths it asked for.
|
|
972
|
+
*
|
|
973
|
+
* The grid is normalized here so layout never has to reconcile `w:gridCol` against actual cell
|
|
974
|
+
* spans — vertical merges and column spans are already accounted for.
|
|
975
|
+
*/
|
|
976
|
+
interface SemanticTableStructure {
|
|
977
|
+
/** Whether stored columns and horizontal table properties display right to left. */
|
|
978
|
+
readonly bidiVisual?: true;
|
|
979
|
+
readonly columnWidthsPt: readonly number[];
|
|
980
|
+
readonly rows: readonly SemanticTableRow[];
|
|
981
|
+
/** Verified pre-2013 percentage-width inline table; derived, never serialized. */
|
|
982
|
+
readonly legacyContentAlignment?: true;
|
|
983
|
+
/** `w:tblPr/w:tblW` — the width the table asked for. */
|
|
984
|
+
readonly tableWidth: PreferredWidth;
|
|
985
|
+
/**
|
|
986
|
+
* `w:tblInd` (17.4.50) in points — "this indentation should shift the table into the text
|
|
987
|
+
* margin by the specified amount". Applies to a left-aligned table; `w:jc` decides the
|
|
988
|
+
* placement outright for the other two.
|
|
989
|
+
*/
|
|
990
|
+
readonly indentPt: number;
|
|
991
|
+
/** `w:tblPr/w:jc` (17.4.29) — where the table sits in the text column. */
|
|
992
|
+
readonly alignment: TableAlignment;
|
|
993
|
+
/**
|
|
994
|
+
* `w:tblPr/w:tblpPr` (17.4.57) — present when the table is positioned against an anchor
|
|
995
|
+
* box. Placement then comes from {@link tableFloatOriginX} rather than `w:jc`/`w:tblInd`.
|
|
996
|
+
*/
|
|
997
|
+
readonly float?: TableFloatPosition;
|
|
998
|
+
/**
|
|
999
|
+
* `w:tblCellSpacing` (17.4.45) in points: the gap between adjacent cell edges. Applied as
|
|
1000
|
+
* a half-gap inset on each side of every cell, so cells separate visually without the grid
|
|
1001
|
+
* itself moving. Word ALSO grows the table's overall width by the spacing it adds around
|
|
1002
|
+
* the outside; that part is not modelled, so a spaced table is laid out on the same grid
|
|
1003
|
+
* its file states rather than a wider one.
|
|
1004
|
+
*/
|
|
1005
|
+
readonly cellSpacingPt: number;
|
|
1006
|
+
/**
|
|
1007
|
+
* `w:tblPr/w:tblLayout/@w:type="fixed"` (17.4.52 — 17.4.53 is the `w:tblPrEx` exception
|
|
1008
|
+
* variant, not this element). Fixed layout takes the grid as final;
|
|
1009
|
+
* anything else is autofit, which in Word never renders wider than the text column.
|
|
1010
|
+
*/
|
|
1011
|
+
readonly layoutFixed: boolean;
|
|
1012
|
+
/** Table-level `tblBorders` (three-state, including insideH/insideV). */
|
|
1013
|
+
readonly tableBorders: TableBorderBox;
|
|
1014
|
+
/** Table-level `tblCellMar` defaults (per-side, Word's own default when a side is omitted). */
|
|
1015
|
+
readonly defaultMargins: CellMarginsPt;
|
|
1016
|
+
}
|
|
1017
|
+
/**
|
|
1018
|
+
* Read one typed table node into a bounded structure, or null when the node is not a
|
|
1019
|
+
* typed table or sits beyond the nesting ceiling.
|
|
1020
|
+
*/
|
|
1021
|
+
declare function readTableStructure(table: OoxmlNode, contentWidthPt: number, depth: number, styleCascade?: StyleCascadeTable,
|
|
1022
|
+
/** Which revisions the view resolves away; only the proposed result performs the join. */
|
|
1023
|
+
displayMode?: RevisionDisplayMode, authorFilter?: RevisionAuthorFilter, compatibilityMode?: number): SemanticTableStructure | null;
|
|
1024
|
+
|
|
745
1025
|
/**
|
|
746
1026
|
* Depth-first paragraph fragments of one page, in reading order.
|
|
747
1027
|
*
|
|
@@ -1020,6 +1300,28 @@ declare function wordBoundary(text: string, offset: number, direction: -1 | 1, s
|
|
|
1020
1300
|
*/
|
|
1021
1301
|
declare function positionPastDeletion(layout: SemanticLayout, position: SemanticPosition): SemanticPosition;
|
|
1022
1302
|
|
|
1303
|
+
/**
|
|
1304
|
+
* Rewrite private-use symbol-font codepoints to their Unicode equivalents.
|
|
1305
|
+
*
|
|
1306
|
+
* Applies only to a known symbol-encoded family, only to the U+F020–U+F0FF range, and only
|
|
1307
|
+
* to codepoints with an exact Unicode counterpart — anything else is returned untouched, so
|
|
1308
|
+
* an unrecognised glyph is never replaced by a wrong one. Returns the input string by
|
|
1309
|
+
* identity when nothing changes.
|
|
1310
|
+
*
|
|
1311
|
+
* `isFamilyAvailable` is the escape hatch: a host that KNOWS the authored font is present
|
|
1312
|
+
* should return true, and the file's own codepoint is kept so the real typeface draws it.
|
|
1313
|
+
* Absent, the fallback applies, because an unmapped PUA codepoint renders as a tofu box in
|
|
1314
|
+
* every font that is not the symbol-encoded original.
|
|
1315
|
+
*
|
|
1316
|
+
* Called without the oracle it is also the EXTRACTION answer: the text a symbol glyph should
|
|
1317
|
+
* read as when the drawn glyph stays the authored one. A PDF exporter maps the drawn private
|
|
1318
|
+
* codepoint back through this for its `ToUnicode` table, so copying a Word bullet out of the
|
|
1319
|
+
* page yields a bullet rather than a private-use character.
|
|
1320
|
+
*
|
|
1321
|
+
* @public
|
|
1322
|
+
*/
|
|
1323
|
+
declare function mapSymbolPuaText(text: string, fontFamily: string | null | undefined, isFamilyAvailable?: (family: string) => boolean): string;
|
|
1324
|
+
|
|
1023
1325
|
/**
|
|
1024
1326
|
* The exact HarfBuzz build this engine shapes against.
|
|
1025
1327
|
*
|
|
@@ -1072,6 +1374,8 @@ interface HarfBuzzTextShaperOptions {
|
|
|
1072
1374
|
readonly maxCodepoints?: number;
|
|
1073
1375
|
readonly maxGlyphs?: number;
|
|
1074
1376
|
readonly maxCachedFaces?: number;
|
|
1377
|
+
/** Aggregate retained native font bytes; oversized faces are shaped without retention. */
|
|
1378
|
+
readonly maxCachedFontBytes?: number;
|
|
1075
1379
|
readonly maxCachedShapes?: number;
|
|
1076
1380
|
readonly maxOutlineBytes?: number;
|
|
1077
1381
|
readonly maxCachedOutlineBytes?: number;
|
|
@@ -1664,6 +1968,10 @@ interface NoteSeparatorLayout {
|
|
|
1664
1968
|
* story has real paragraph/run/border content that paint should render as fragments.
|
|
1665
1969
|
*/
|
|
1666
1970
|
readonly ruleStyle?: NoteSeparatorRuleStyle;
|
|
1971
|
+
/** Marker rule geometry inside the measured separator story. */
|
|
1972
|
+
readonly ruleBox?: LayoutBox;
|
|
1973
|
+
/** Resolved marker-run color; null/absent uses automatic black. */
|
|
1974
|
+
readonly ruleColor?: string | null;
|
|
1667
1975
|
/** Set when an oversize authored separator was replaced with a synthetic rule. */
|
|
1668
1976
|
readonly fallbackReason?: NoteLayoutFallbackReason;
|
|
1669
1977
|
}
|
|
@@ -1782,9 +2090,10 @@ declare function isMarkerOnlySeparatorNote(note: OoxmlNode, displayMode?: Revisi
|
|
|
1782
2090
|
/**
|
|
1783
2091
|
* Layout the document's separator note, or synthesize a short horizontal rule.
|
|
1784
2092
|
*
|
|
1785
|
-
*
|
|
2093
|
+
* Single-marker / missing separators emit no paragraph fragments — paint draws the rule
|
|
1786
2094
|
* from {@link NoteSeparatorLayout.ruleStyle} + box geometry. Authored separators with
|
|
1787
2095
|
* real paragraph/run/border content keep their fragment story (including `w:pBdr`).
|
|
2096
|
+
* Explicitly empty stories and hidden markers do not acquire a default rule.
|
|
1788
2097
|
*
|
|
1789
2098
|
* When `maxFlowHeightPt` is set and an authored separator exceeds it, the engine fails
|
|
1790
2099
|
* closed to a short synthetic rule ({@link note-separator-height-cap}) so note pagination
|
|
@@ -1792,7 +2101,7 @@ declare function isMarkerOnlySeparatorNote(note: OoxmlNode, displayMode?: Revisi
|
|
|
1792
2101
|
*/
|
|
1793
2102
|
declare function layoutNoteSeparator(part: OoxmlPart | null | undefined, kind: 'separator' | 'continuationSeparator', contentWidth: number, options: LayoutNoteStoryOptions, noteKind: NoteKind, maxFlowHeightPt?: number): NoteSeparatorLayout;
|
|
1794
2103
|
/** Default rule geometry for a synthetic / marker-only separator, story-relative. */
|
|
1795
|
-
declare function syntheticSeparatorBox(contentWidth: number, flowHeight: number): LayoutBox;
|
|
2104
|
+
declare function syntheticSeparatorBox(contentWidth: number, flowHeight: number, kind?: 'separator' | 'continuationSeparator'): LayoutBox;
|
|
1796
2105
|
/** Absolute separator box: short rule for marker/synthetic, full width for authored stories. */
|
|
1797
2106
|
declare function noteSeparatorAreaBox(separator: NoteSeparatorLayout, contentX: number, contentWidth: number, areaTop: number): LayoutBox;
|
|
1798
2107
|
|
|
@@ -1960,6 +2269,11 @@ declare function filterRefsOnPage(page: PageRecord, allRefs: readonly PageRefHit
|
|
|
1960
2269
|
* from slack makes `stable` true on the first pass and never shrinks the body — references and
|
|
1961
2270
|
* notes then compete for the same band. Oversized notes still split/continue within the budget;
|
|
1962
2271
|
* {@link MIN_FOOTNOTE_BODY_BAND_PT} keeps a body band so reflow cannot chase blank sheets.
|
|
2272
|
+
*
|
|
2273
|
+
* Answers under the STRICT co-location policy: every footnote starts on the page that
|
|
2274
|
+
* references it. The bounded orphan-pair refinement is a second phase of the internal
|
|
2275
|
+
* reflow loop, which owns the strict fixed point the refinement needs as its starting
|
|
2276
|
+
* point and as its fallback, so a single call from outside that loop cannot reach it.
|
|
1963
2277
|
*/
|
|
1964
2278
|
declare function computeFootnoteReserves(layout: SemanticLayout, allRefs: readonly PageRefHit[], input: NotesLayoutInput, noteMarks: NoteMarkContext,
|
|
1965
2279
|
/** Session-carried notes memo (opaque; owned by this module). */
|
|
@@ -2255,8 +2569,9 @@ interface SemanticLayoutOptions {
|
|
|
2255
2569
|
/** Canonical drawing traversal order within the owner story part. */
|
|
2256
2570
|
readonly drawingSourceOrder?: ReadonlyMap<string, number>;
|
|
2257
2571
|
/**
|
|
2258
|
-
*
|
|
2259
|
-
*
|
|
2572
|
+
* TOC instruction-only opening and ending chrome paragraph ids. Empty chrome suppresses
|
|
2573
|
+
* its placeholder line; opening paragraph marks after a separator remain visible result lines.
|
|
2574
|
+
* Tree nodes stay intact for refresh/save.
|
|
2260
2575
|
*/
|
|
2261
2576
|
readonly tocFieldChromeParagraphIds?: ReadonlySet<string>;
|
|
2262
2577
|
/**
|
|
@@ -2392,6 +2707,8 @@ interface CanvasTextMetrics {
|
|
|
2392
2707
|
*/
|
|
2393
2708
|
interface CanvasTextContext {
|
|
2394
2709
|
font: string;
|
|
2710
|
+
/** Optional browser kerning control; older contexts retain their native behavior. */
|
|
2711
|
+
fontKerning?: 'auto' | 'normal' | 'none';
|
|
2395
2712
|
textAlign?: 'left' | 'right' | 'center' | 'start' | 'end';
|
|
2396
2713
|
direction?: 'ltr' | 'rtl' | 'inherit';
|
|
2397
2714
|
measureText(text: string): CanvasTextMetrics;
|
|
@@ -2529,7 +2846,7 @@ declare function storyBlocks(part: OoxmlPart, displayMode?: RevisionDisplayMode,
|
|
|
2529
2846
|
*/
|
|
2530
2847
|
declare function noteStoryBlocks(note: OoxmlNode, displayMode?: RevisionDisplayMode, authorFilter?: RevisionAuthorFilter): OoxmlElement[];
|
|
2531
2848
|
|
|
2532
|
-
/**
|
|
2849
|
+
/** TOC boundary paragraphs whose empty instruction/chrome lines are suppressed. */
|
|
2533
2850
|
declare function tocFieldChromeParagraphIds(part: OoxmlPart): ReadonlySet<string>;
|
|
2534
2851
|
/**
|
|
2535
2852
|
* Begin-paragraph ids of TOCs that have no visible cached result rows.
|
|
@@ -2715,6 +3032,9 @@ interface MaterializationInput {
|
|
|
2715
3032
|
*/
|
|
2716
3033
|
declare function pagesToMaterialize(input: MaterializationInput): Set<number>;
|
|
2717
3034
|
|
|
3035
|
+
/** Character border geometry from placed spans, shared by screen and export painters. */
|
|
3036
|
+
declare function runBorderStrokesForLine(line: LineRecord): readonly ParagraphBorderStrokeRecord[];
|
|
3037
|
+
|
|
2718
3038
|
/**
|
|
2719
3039
|
* `w:pPr/w:rPr/w:del` or `w:moveFrom` — a tracked revision REMOVES the paragraph mark.
|
|
2720
3040
|
*
|
|
@@ -2730,4 +3050,27 @@ declare function paragraphMarkDeleted(paragraph: OoxmlNode): boolean;
|
|
|
2730
3050
|
*/
|
|
2731
3051
|
declare function revisionRemovesParagraph(paragraph: OoxmlNode, displayMode?: RevisionDisplayMode, authorFilter?: RevisionAuthorFilter): boolean;
|
|
2732
3052
|
|
|
2733
|
-
|
|
3053
|
+
/**
|
|
3054
|
+
* Fit complete leader advances to one shared horizontal grid.
|
|
3055
|
+
*
|
|
3056
|
+
* `startPt` is measured from the paper's left edge, or the local textbox frame.
|
|
3057
|
+
* Offsets remain relative to the supplied gap. No glyph is clipped at either end,
|
|
3058
|
+
* and lines in the same face share their dot columns regardless of preceding text.
|
|
3059
|
+
* @public
|
|
3060
|
+
*/
|
|
3061
|
+
declare function tabLeaderPattern(startPt: number, widthPt: number, advancePt: number): {
|
|
3062
|
+
readonly offsetPt: number;
|
|
3063
|
+
readonly count: number;
|
|
3064
|
+
};
|
|
3065
|
+
|
|
3066
|
+
/**
|
|
3067
|
+
* Story-relative rule box for a measured separator span.
|
|
3068
|
+
*
|
|
3069
|
+
* Word paints `w:separator` as a strikeout stroke, so `stroke` carries the face's `OS/2`
|
|
3070
|
+
* `yStrikeoutPosition` and `yStrikeoutSize` at the run's size. Without a resolved face the
|
|
3071
|
+
* box keeps the legacy quarter-em offset and hairline thickness.
|
|
3072
|
+
* @public
|
|
3073
|
+
*/
|
|
3074
|
+
declare function noteSeparatorRuleBox(span: StyleSpanRecord, line: LineRecord, stroke?: StrikeoutStrokePt): LayoutBox;
|
|
3075
|
+
|
|
3076
|
+
export { AUTO_PREFERRED_WIDTH, AnchoredDrawingRecord, type AutonumFieldKind, type AutonumFieldSpec, BlockFragmentRecord, CELL_PAD, COMPOUND_BORDER_MIN_GAP_PT, COMPOUND_BORDER_MIN_STROKE_PT, type CanvasMeasurerOptions, type CanvasTextContext, type CanvasTextMetrics, CellBorderBox, type CellMarginsPt, type CellVerticalAlign, type CompoundBorderMetrics, ContentControlBoundaryRecord$1 as ContentControlBoundaryRecord, type ContentControlFragmentRecord, ContentControlLock, type CreateDocumentFurnitureSourceOptions, type CreateDocumentNotesInputOptions, DEFAULT_CANVAS_FONT_STACK, DEFAULT_CELL_MARGINS, type DocumentFurnitureSource, type DocumentLinkProjectors, type DocumentStyleDependencies, DrawingInsets, DrawingPoint, FieldLinkProjector, type FieldLinkRegistry, FixedPoint, FixedPointRoundingMode, FontByteValidator, GRAPHEME_SEGMENTER_LOCALE, type GraphemeBoundary, type GraphemeSegment, type GraphemeWordSegmentRecord, HARFBUZZ_SHAPING_LIBRARY, type HarfBuzzFaceCacheEvent, type HarfBuzzOutlineCacheEvent, type HarfBuzzShapeCacheEvent, HarfBuzzShapingError, type HarfBuzzShapingErrorCode, type HarfBuzzTextShaper, type HarfBuzzTextShaperInstrumentation, type HarfBuzzTextShaperOptions, HeaderFooterStoryRecord, type HeaderFooterVariantName, HyperlinkFieldSpec, HyperlinkProjector, InlineDrawingRecord, type KeyedRange, LayoutBox, type LayoutCacheStats, type LayoutScheduler, type LayoutSchedulerOptions, type LayoutScope, type LayoutSession, type LayoutSessionStats, LineRecord, type LineSegment, type ListCounterAdvance, type ListCounterState, 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_TABLE_COLUMNS, MAX_TABLE_NESTING, MAX_TABLE_ROW_FRAGMENTS, MAX_TABLE_ROW_HEIGHT_PT, type MaterializationInput, NoteAreaRecord, type NoteDisplayMark, type NoteLayoutFallbackReason, type NoteMarkContext, type NotePaginationFallbackReason, type NoteReferenceSite, type NoteSeparatorLayout, type NoteSeparatorRuleStyle, type NoteStoryDrawings, type NoteStoryLayout, NoteStoryRecord, type NotesAttachResult, type NotesLayoutInput, NumberingIndex, NumberingLevel, PageBorderFrameRecord, type PageFurniture, PageGeometry, PageRecord, type PageRefIndex, ParagraphBorderStrokeRecord, ParagraphFragmentRecord, type ParagraphKeyInputs, type ParagraphLayoutCache, type ParagraphLayoutCacheOptions, type PreferredWidth, type PreferredWidthType, RefFieldContext, type RefFieldRefreshOptions, type RegisteredFieldLink, ResolvedListItem, type ResolvedSurfaceMeasurer, ReviewItem, type ReviewParagraphAnchor, RevisionAttribution, RevisionAuthorFilter, RevisionDisplayMode, SectionColumns, SectionPageBorders, SelectionRect, type SemanticDrawingLayer, type SemanticDrawingVisit, SemanticLayout, type SemanticLayoutOptions, SemanticPosition, type SemanticRootStoryKind, SemanticSelection, type SemanticSpanVisit, type SemanticStoryKind, type SemanticStoryVisit, type SemanticTableCell, type SemanticTableRow, type SemanticTableStructure, ShapedRun, SourceRange, SpanLinkRecord, type StoryDrawingContext, type StoryDrawingHost, type StoryParagraphFragmentContext, type StoryProjectionDependencies, StrikeoutStrokePt, StyleCascadeTable, StyleSpanRecord, type TableAlignment, TableBorderBox, TableBorderSide, TableCellStyleFormatting, TablePaginationError, type TablePaginationErrorCode, type TableRowHeight, type TableRowHeightRule, TextMeasurer, TextShaper, VersionedShapingLibrary, type ViewportWindow, WORD_SEGMENTER_LOCALE, type WordBoundary, type WordBoundaryResolverDeps, type WordSegment, 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, wordBoundary, wordSegmentsToGraphemeRecords };
|