@docx-editor.dev/core 2.32.0 → 2.34.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 +1 -1
- package/THIRD_PARTY_NOTICES.md +1 -0
- package/dist/automation.cjs +1 -1
- package/dist/automation.d.ts +14 -52
- package/dist/automation.js +1 -1
- package/dist/binding.cjs +1 -1
- package/dist/binding.d.ts +14 -14
- package/dist/binding.js +1 -1
- package/dist/{chrome-print-CznJ0ucN.d.ts → chrome-print-DY0xsXm_.d.ts} +231 -125
- package/dist/chunk-37IYWENL.cjs +1 -0
- package/dist/chunk-37RNWL45.js +4 -0
- package/dist/chunk-5HUVQXET.cjs +4 -0
- package/dist/chunk-5JP3QQF7.js +7 -0
- package/dist/chunk-5KOLFKOB.cjs +5 -0
- package/dist/chunk-6MF5PN2E.js +236 -0
- package/dist/chunk-77JT2AU7.js +2 -0
- package/dist/{chunk-ETDZFNMI.js → chunk-7FUORGCW.js} +1 -1
- package/dist/chunk-A5BTVPET.cjs +236 -0
- package/dist/chunk-AFXFH2T2.js +3 -0
- package/dist/chunk-AVCYP7OY.js +5 -0
- package/dist/chunk-BL2E4QRA.js +1 -0
- package/dist/chunk-DB7X4Y6O.js +4 -0
- package/dist/chunk-DR6W23TB.cjs +2 -0
- package/dist/chunk-DYLB5U42.js +1 -0
- package/dist/chunk-E5BKDHIP.cjs +1 -0
- package/dist/chunk-IWXBRUPG.cjs +4 -0
- package/dist/{chunk-L5TYBFDB.js → chunk-KCUXXO3Q.js} +1 -1
- package/dist/chunk-KYA4Y2YB.js +1 -0
- package/dist/{chunk-6UDJUI3W.cjs → chunk-L74TCGVH.cjs} +1 -1
- package/dist/chunk-NBSSQSKY.js +30 -0
- package/dist/{chunk-OKMEMSKB.cjs → chunk-NEM774E3.cjs} +1 -1
- package/dist/chunk-NKZVMMHU.cjs +1 -0
- package/dist/chunk-TXIO5WYQ.cjs +32 -0
- package/dist/chunk-UKG2TXWH.cjs +7 -0
- package/dist/chunk-V7CO55DO.cjs +3 -0
- package/dist/chunk-VLQDQNSS.js +1 -0
- package/dist/chunk-VQOAC3VI.cjs +30 -0
- package/dist/chunk-YWJSQA2O.js +32 -0
- package/dist/chunk-ZJ74LCFI.cjs +1 -0
- package/dist/collaboration/replication.cjs +1 -1
- package/dist/collaboration/replication.d.ts +13 -4
- package/dist/collaboration/replication.js +1 -1
- package/dist/collaboration.d.ts +3 -3
- package/dist/contracts/document.d.ts +3 -3
- package/dist/contracts/editor.d.ts +10 -10
- package/dist/contracts/interaction.d.ts +2 -2
- package/dist/contracts/modules.d.ts +12 -12
- package/dist/contracts/types.d.ts +4 -4
- package/dist/{custom-node-writes-CLJKGD9t.d.ts → custom-node-writes-DparEcZK.d.ts} +45 -7
- package/dist/diagnostic-context-CkZKkKvB.d.ts +98 -0
- package/dist/{diagnostic-hints-DK8-V0fk.d.ts → diagnostic-hints-BTyb8yzX.d.ts} +3 -3
- package/dist/{document-protection-NaniLHWF.d.ts → document-protection-DdWxihIN.d.ts} +1 -1
- package/dist/{headless-document-view-Bcz9_Qva.d.ts → drawing-graphic-kind-CK0cMc7H.d.ts} +161 -18
- package/dist/drawing-preview-package-fFjXpOMS.d.ts +115 -0
- package/dist/{editor-DZwOTmlR.d.ts → editor-DDCkWqfD.d.ts} +125 -21
- package/dist/{editor-scope-B3L-1ALc.d.ts → editor-scope-CA6egMaK.d.ts} +5 -1
- package/dist/editor.cjs +1 -1
- package/dist/editor.css +4 -4
- package/dist/editor.d.ts +387 -78
- package/dist/editor.js +1 -1
- package/dist/export.cjs +2 -2
- package/dist/export.d.ts +47 -12
- package/dist/export.js +2 -2
- package/dist/{font-resolver-BlQNGdvR.d.ts → font-resolver-Bm9XqTNO.d.ts} +14 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +38 -23
- package/dist/index.js +1 -1
- package/dist/{layout-shaping-E5J4Z1Gf.d.ts → layout-shaping-Byj-TwsI.d.ts} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.d.ts +434 -199
- package/dist/layout.js +1 -1
- package/dist/metafile-drawing-Ce6TuWLm.d.ts +115 -0
- package/dist/{note-properties-Ds5R2_3F.d.ts → note-properties-BiunaIQa.d.ts} +31 -7
- package/dist/output.cjs +1 -1
- package/dist/output.d.ts +77 -13
- package/dist/output.js +1 -1
- package/dist/{protocol-DKa4qt7F.d.ts → protocol-Dn44dL4M.d.ts} +184 -120
- package/dist/{review-paragraph-order-Dc17w_6v.d.ts → review-paragraph-order-BWMXAKuA.d.ts} +1 -1
- package/dist/{revision-projection-Cn6rZJ7H.d.ts → revision-projection-DwFhgIR0.d.ts} +1 -1
- package/dist/{semantic-cell-selection-BaUR0iJ4.d.ts → semantic-cell-selection-DhalxEBH.d.ts} +2 -2
- package/dist/{semantic-interaction-CJoHLoOl.d.ts → semantic-interaction-QeuzEtAk.d.ts} +2 -4
- package/dist/{semantic-paint-BPw_n0li.d.ts → semantic-paint-BYDZbTiY.d.ts} +16 -9
- package/dist/{semantic-record-queries-C0rJ3sB4.d.ts → semantic-record-queries-Bf5bgQL3.d.ts} +1 -1
- package/dist/{semantic-records-BvN-WWst.d.ts → semantic-records-CzZiWMY8.d.ts} +348 -132
- package/dist/store.cjs +1 -1
- package/dist/store.d.ts +526 -19
- package/dist/store.js +1 -1
- package/dist/{tree-op-types-C_S2niXW.d.ts → tree-op-types-DKvJSH8T.d.ts} +1024 -501
- package/dist/{tree-package-store-CRHvMyNj.d.ts → tree-package-store-Cl3BkWXF.d.ts} +8 -3
- package/dist/{tree-session-contract-D1awo_dA.d.ts → tree-session-contract-BL50pqs8.d.ts} +15 -8
- package/dist/{unsupported-elements-CVos5cqe.d.ts → unsupported-elements-Bra4QTOM.d.ts} +1 -1
- package/licenses/ECMA-376.md +29 -0
- package/package.json +2 -2
- package/dist/bookmark-names-DDuAra_V.d.ts +0 -37
- package/dist/chunk-25EXMBV2.cjs +0 -5
- package/dist/chunk-3IEXDEFH.cjs +0 -7
- package/dist/chunk-65XBN67F.cjs +0 -2
- package/dist/chunk-6NVZNB7O.cjs +0 -3
- package/dist/chunk-ACLR4DMK.js +0 -1
- package/dist/chunk-B2BEELUE.js +0 -1
- package/dist/chunk-DDFHKQFU.js +0 -30
- package/dist/chunk-E4IAO4CY.cjs +0 -2
- package/dist/chunk-FDSL5OJU.cjs +0 -30
- package/dist/chunk-FS7CMYLT.js +0 -4
- package/dist/chunk-GDS24SZN.js +0 -30
- package/dist/chunk-GIY6NT2X.js +0 -5
- package/dist/chunk-GWM3AKUD.js +0 -18
- package/dist/chunk-HDOXACHP.js +0 -2
- package/dist/chunk-IILEENID.js +0 -1
- package/dist/chunk-MNF2K7NN.cjs +0 -30
- package/dist/chunk-O324RB6R.cjs +0 -1
- package/dist/chunk-QXJKYNYZ.js +0 -1
- package/dist/chunk-RALTVLB6.js +0 -2
- package/dist/chunk-SRVKFUFI.js +0 -3
- package/dist/chunk-TELQ52LG.cjs +0 -1
- package/dist/chunk-TJHE5EET.cjs +0 -1
- package/dist/chunk-UMMRURPE.js +0 -7
- package/dist/chunk-XJYZVGQR.cjs +0 -1
- package/dist/chunk-ZGTIE3QJ.cjs +0 -4
- package/dist/chunk-ZOZI27AW.cjs +0 -18
- package/dist/diagnostic-context-BtDUY3v2.d.ts +0 -31
package/dist/layout.d.ts
CHANGED
|
@@ -11,24 +11,25 @@
|
|
|
11
11
|
* @packageDocumentation
|
|
12
12
|
* @public
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
15
|
-
export {
|
|
14
|
+
import { v as NumberingLevel, w as NumberingIndex, S as SemanticLayout, x as TextDirection, y as FontSlot, R as ResolvedRunStyle, e as StyleSpanRecord, I as InlineDrawingRecord, M as ModelRange, z as TableBorderSide, b as LayoutBox, D as DrawingPoint, E as DrawingInsets, G as TableFloatXSpec, J as TableFloatYSpec, P as ParagraphFragmentRecord, B as BlockFragmentRecord, A as AnchoredDrawingRecord, a as PageRecord, K as NumberingLevelIndent, O as ResolvedListItem, Q as RefFieldContext, T as TextMeasurer, W as InlineDrawingLayoutContext, X as CellBorderBox, Y as TableBorderBox, Z as TableCellStyleFormatting, _ as TableFloatPosition, $ as StyleCascadeTable, C as ContentControlBoundaryRecord$1, n as FixedPointRoundingMode, a0 as FixedPoint, V as VersionedShapingLibrary, k as TextShaper, a1 as FontByteValidator, s as ShapedRun, L as LineRecord, a2 as SourceRange, a3 as HyperlinkProjector, a4 as FieldLinkProjector, a5 as StoryPageFieldNeeds, a6 as HyperlinkFieldSpec, a7 as SpanLinkRecord, a8 as PageGeometry, a9 as SectionColumns, aa as SectionPageBorders, ab as PageBorderFrameRecord, ac as ParagraphBorderStrokeRecord, ad as StrikeoutStrokePt, ae as TextOutline } from './semantic-records-CzZiWMY8.js';
|
|
15
|
+
export { af as AUTO_PARAGRAPH_SPACING_PT, ag as AbstractNumDefinition, ah as AnchoredDrawingLayoutFallback, ai as BorderGridGeometry, aj as CascadedParagraphFormatting, ak as CjkTypographySettings, al as ContentControlGeometryFragment, am as ContentControlLevel, d as ContentControlLock, an as ContentControlMappedType, ao as ContentControlModelRange, ap as DEFAULT_PAGE_GEOMETRY, aq as DEFAULT_RUN_STYLE, ar as DEFAULT_SECTION_PROPERTIES, as as DEFAULT_TAB_INTERVAL_PT, at as DEFAULT_TAB_INTERVAL_TWIPS, au as DeclaredFontSubstitution, av as DocumentSection, aw as DocumentSectionsEnumeration, ax as DrawingClipFallback, ay as DrawingGeometry, az as DrawingGroupPictureLayerRecord, aA as DrawingGroupPictureRecord, aB as DrawingPlaceholderKind, aC as DrawingTextArtRecord, aD as EMPTY_NUMBERING_INDEX, aE as EMPTY_TAB_STOPS, aF as EquationBarGeometry, aG as EquationBorderBoxGeometry, aH as EquationDiagonal, aI as EquationFractionGeometry, aJ as EquationGeometry, aK as EquationNaryGeometry, aL as EquationRadicalGeometry, aM as EquationRowGeometry, aN as EquationScriptGeometry, aO as EquationSpanRecord, aP as EquationTextGeometry, aQ as FieldAtomMarker, aR as FontFingerprintInputs, o as FontRequest, aS as FontResolutionError, aT as FontResolutionErrorCode, aU as FontResourceDefinition, aV as FontResourceInstrumentation, F as FontResourceSnapshot, aW as FontResourceSnapshotOptions, r as FontSubstitution, aX as FontValidationResult, aY as GlyphOutline, aZ as GroupTextboxStoryRecord, a_ as HARD_MAX_AGGREGATE_FONT_BYTES, a$ as HARD_MAX_FONT_BYTES, b0 as HARD_MAX_FONT_SOURCES, H as HeaderFooterStoryRecord, b1 as LevelOverride, b2 as LineSpacingRule, b3 as ListMarkerAlign, q as ListMarkerPictureRecord, b4 as ListMarkerRecord, b5 as ListSuffix, b6 as MAX_BORDER_SPACE_PT, b7 as MAX_BORDER_WIDTH_PT, b8 as MAX_DOCUMENT_SECTIONS, b9 as MAX_LVL_OVERRIDES, ba as MAX_NUMBERING_DEFINITIONS, bb as MAX_PARAGRAPH_SPACING_PT, bc as MAX_SHAPING_CONTEXT, bd as MAX_STYLE_DEFINITIONS, be as MAX_TABLE_BORDER_STROKES, bf as MAX_TAB_POSITION_TWIPS, bg as MAX_TAB_STOPS, m as NormalizationPolicy, N as NoteAreaRecord, c as NoteStoryRecord, bh as NumDefinition, bi as NumberingPictureBullet, bj as PAGE_BORDER_SIDES, bk as PARAGRAPH_BORDER_SIDES, bl as PageBorderDisplay, bm as PageBorderOffsetFrom, bn as PageBorderSide, bo as PageBorderStrokeRecord, bp as PageBorderZOrder, bq as PageRefCalibrationCell, br as PageRefFieldProjection, bs as ParagraphAutoSpacingContext, bt as ParagraphBorderEdge, bu as ParagraphBorderSide, bv as ParagraphBorders, bw as ParagraphBottomBorderRecord, bx as ParagraphIndent, by as ParagraphLayoutInputs, bz as ParagraphLineSpacing, bA as ParagraphSpacing, bB as RefFieldSpec, bC as RefNoteParts, bD as ResolvedCellBorders, l as ResolvedFont, bE as ResolvedPictureBullet, bF as ResolvedTabStops, bG as ResolvedTableBorderEdge, bH as ResolvedTableBorderEdgeSegment, bI as ResolvedUnderline, bJ as SINGLE_LINE_SPACING, bK as SectionBreakMarkRecord, bL as SectionBreakType, bM as SectionColumnDefinition, bN as SectionMargins, bO as SectionPageNumbering, t as SectionProperties, bP as SemanticArtifactRootStoryKind, bQ as SemanticArtifactStoryKind, bR as SemanticCommentArtifactRecord, bS as SemanticReviewArtifactOccurrence, bT as SemanticReviewArtifactOccurrenceGeometry, bU as SemanticReviewArtifactPosition, p as SemanticReviewArtifactRecord, bV as SemanticReviewArtifactSource, bW as SemanticTrackedChangeArtifactRecord, bX as ShapeInput, bY as ShapedCluster, bZ as ShapedFontSpan, b_ as ShapedGlyph, b$ as ShapedRunComparatorInputs, c0 as ShapedVerticalMetrics, c1 as ShapingContext, c2 as ShapingEnvironment, c3 as ShapingEnvironmentFingerprintInputs, j as ShapingEnvironmentInput, c4 as StyleDefinition, c5 as TAB_LEADER_GLYPH, c6 as TabAlignment, c7 as TabDestination, c8 as TabLeader, c9 as TabStop, ca as TableBorderSideName, cb as TableBorderStrokeRecord, cc as TableCellDiagonalRecord, g as TableCellFragmentRecord, cd as TableFragmentRecord, f as TableRowFragmentRecord, ce as TextArtFit, cf as TextboxStoryFallbackReason, cg as TextboxStoryLayout, U as UnsupportedElement, h as UnsupportedElementLayout, i as UnsupportedElementRule, ch as VerticalAlign, ci as appliedSpaceBefore, cj as applyLineSpacing, ck as baselineShiftPtOf, cl as borderExtentPt, cm as borderWeight, cn as bottomBorderExtentPt, co as boundedStructuralFontValidator, cp as buildNumberingIndex, cq as buildStyleCascadeTable, cr as cascadeParagraphFormatting, cs as cascadeRunProperties, ct as cascadedBottomBorder, cu as cascadedParagraphBorders, cv as cascadedTabStops, cw as collapsedSpaceBefore, cx as createFontResourceSnapshot, cy as createShapedRun, cz as createShapingEnvironment, cA as createUnsupportedContentProjector, cB as defaultTabIntervalFromSettings, cC as displayText, cD as enumerateDocumentSections, cE as enumerateDocumentSectionsBounded, cF as fixedPoint, cG as fontRequestKey, cH as geometryOfSection, cI as glyphSizeFactorOf, cJ as groupPictureLayerDrawing, cK as isValidStyleId, cL as layoutEquation, cM as measureDisplayText, cN as nextTabDestination, cO as pageBordersFingerprint, cP as paragraphBorderExtentPt, cQ as paragraphBorderStrokeWidthPt, cR as paragraphBorders, cS as paragraphBordersFingerprint, cT as paragraphBreaksBefore, cU as paragraphContextualSpacing, cV as paragraphLineSpacing, cW as paragraphSectionNode, cX as paragraphSpacing, cY as paragraphTabStops, cZ as parsePageBorders, c_ as parsePageNumbering, c$ as parseRefInstruction, d0 as parseSectionProperties, d1 as projectedSectionSourceIndexes, d2 as readBorderSide, d3 as readCellBorders, d4 as readSectionProperties, d5 as readTableBorders, d6 as resolveBorderConflict, d7 as resolveNumberingLevel, d8 as resolveParagraphLayoutInputs, d9 as resolveRunStyle, da as resolveStoryListItems, db as resolveStoryRefFields, dc as resolveTableCellBorderGrid, dd as runStylesEqual, de as shapedRunComparatorInputs, df as shapingEnvironmentFingerprint, dg as shapingEnvironmentFingerprintInputs, dh as tabAdvanceWidth, di as tabStopsFingerprint, dj as withDefaultTabInterval, dk as withNumberingStyleLinks, dl as withResolvedListItems } from './semantic-records-CzZiWMY8.js';
|
|
16
16
|
export { F as FontShapingOptions } from './font-shaping-policy-BvpkrfxM.js';
|
|
17
|
-
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-
|
|
18
|
-
import { a as SemanticStoryKind, S as SemanticRootStoryKind, b as SemanticStoryVisit, T as TextboxOwnerRecord } from './semantic-record-queries-
|
|
19
|
-
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-
|
|
20
|
-
import { aK as ImpactClass, a4 as OoxmlNode,
|
|
21
|
-
export {
|
|
22
|
-
import {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
import {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
export {
|
|
31
|
-
|
|
17
|
+
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-Byj-TwsI.js';
|
|
18
|
+
import { a as SemanticStoryKind, S as SemanticRootStoryKind, b as SemanticStoryVisit, T as TextboxOwnerRecord } from './semantic-record-queries-Bf5bgQL3.js';
|
|
19
|
+
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-Bf5bgQL3.js';
|
|
20
|
+
import { aK as ImpactClass, a4 as OoxmlNode, aC as OoxmlProperty, av as OoxmlElement, O as OoxmlPart, au as TreeDocOp, a5 as OoxmlPackage, bQ as ContentControlKind, bR as ContentControlLevel, bT as ContentControlLock, bN as ContentControlDataBinding, a as ReviewItem } from './tree-op-types-DKvJSH8T.js';
|
|
21
|
+
export { eP as AffineMatrix, bI as CommentAnchor, bJ as CommentPosition, C as CommentRecord, bu as CommentThreadState, aX as DrawingAccessibility, eQ as DrawingChartPlotType, eR as DrawingChartShownAs, a_ as DrawingChartSummary, a7 as DrawingHorizontalReferenceFrame, aY as DrawingImageEffects, aZ as DrawingTransform, ab as DrawingVerticalReferenceFrame, eS as GradientStop, ag as ImageWrapTarget, b0 as PictureFrameEffects, c as ReviewCommentItem, d as ReviewCustomItem, R as ReviewModelInput, e as ReviewPosition, f as ReviewRange, b as ReviewRevisionItem, g as ReviewRevisionKind, bs as ShapeColor, dh as ShapeReflection, di as ShapeShadow, aT as SourceCrop, aU as TableBorderStyle, aV as TextboxOutlineProjection, ds as VectorGradient, dt as VectorPattern, aW as VectorShapeComponent, a$ as VectorShapeProjection, du as W15_NAMESPACE_URI, eT as activeReviewItem, d$ as firstReviewRange, eC as reviewItemKey, eU as reviewItemPositionRank, eD as reviewItemRanges, eV as reviewItemsAt, eW as reviewThreadRootOf } from './tree-op-types-DKvJSH8T.js';
|
|
22
|
+
import { c as DocumentProperties, H as HeadlessDocumentView, x as relationshipTargetIn } from './drawing-graphic-kind-CK0cMc7H.js';
|
|
23
|
+
export { D as DrawingGraphicKind, a as DrawingSupport, b as DrawingSupportIssue } from './drawing-graphic-kind-CK0cMc7H.js';
|
|
24
|
+
import { q as RevisionAttribution, b as RevisionDisplayMode, p as RevisionAuthorFilter } from './revision-projection-DwFhgIR0.js';
|
|
25
|
+
export { s as DEFAULT_REVISION_DISPLAY_MODE, t as RevisionFilter, u as RevisionKind, v as formatRevisionOf, w as markRevisionRemovesMark, x as paragraphMarkFormatRevisionOf, y as paragraphMarkRevisionOf, z as paragraphMarkRevisionsOf, A as revisionAuthorFilter, B as revisionsAreDeletion, C as revisionsVisible, E as shownMarkRevision } from './revision-projection-DwFhgIR0.js';
|
|
26
|
+
import { R as ResolvedFootnoteProperties, a as ResolvedEndnoteProperties } from './note-properties-BiunaIQa.js';
|
|
27
|
+
import { c as TreeModelChange, N as NoteKind, aK as noteTypeOf, F as FieldResultsMode } from './tree-package-store-Cl3BkWXF.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-BWMXAKuA.js';
|
|
29
|
+
import { S as SemanticPosition, b as SelectionRect, a as SemanticSelection, C as CaretGeometry } from './semantic-interaction-QeuzEtAk.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, m as moveCaret, p as paragraphTextFromLayout, s as spansInSelection } from './semantic-interaction-QeuzEtAk.js';
|
|
31
|
+
export { C as CellSelection, D as DEFAULT_VERTICAL_WEIGHT, a as DrawingOverlayFrame, H as HitPoint, b as HitTestOptions, P as PlacedCell, S as SemanticHit, c as SemanticHitDrawing, T as TableCellAddress, d as TableCellContext, e as caretBoxOnLine, f as cellSelectionBetween, g as cellSelectionRects, h as cellSelectionText, i as contentControlAtPoint, j as findDrawingOverlayFrameInLayout, k as hitTestPage, l as hitTestSheet, m as isFurniturePoint, n as lineEndOffset, p as pageAtY, o as paragraphsInCells, s as spanOffsetX, q as spansInCells, t as tableContextAt } from './semantic-cell-selection-DhalxEBH.js';
|
|
32
|
+
import './editor-scope-CA6egMaK.js';
|
|
32
33
|
|
|
33
34
|
/**
|
|
34
35
|
* The result of counting ONE list paragraph: the level that applied, the counter vector after it,
|
|
@@ -64,8 +65,23 @@ interface ListCounterState {
|
|
|
64
65
|
*/
|
|
65
66
|
advance(numId: string, ilvl: number): ListCounterAdvance | null;
|
|
66
67
|
}
|
|
68
|
+
/** The counter values of one bag at one point of its walk. */
|
|
69
|
+
interface ListCounterSnapshot {
|
|
70
|
+
/** Keyed by abstractNumId. */
|
|
71
|
+
readonly counters: ReadonlyMap<string, readonly number[]>;
|
|
72
|
+
/** Keyed by abstractNumId. */
|
|
73
|
+
readonly initialized: ReadonlyMap<string, readonly boolean[]>;
|
|
74
|
+
/** The numIds whose `w:startOverride` restart has already applied. */
|
|
75
|
+
readonly restarted: ReadonlySet<string>;
|
|
76
|
+
}
|
|
67
77
|
/**
|
|
68
78
|
* Create a fresh counter bag for one story (body, or one header/footer part).
|
|
79
|
+
*
|
|
80
|
+
* Every `w:num` over one `w:abstractNum` counts on the same vector. A `w:num` with a
|
|
81
|
+
* `w:startOverride` restarts it once: at its first paragraph whose level carries an override,
|
|
82
|
+
* that level starts again from the `w:num`'s value. The restart applies to that level alone and
|
|
83
|
+
* is then spent, so a later paragraph of the same `w:num` on another overridden level continues.
|
|
84
|
+
* A level that starts again after a parent level takes the start of the `w:num` counting it.
|
|
69
85
|
*/
|
|
70
86
|
declare function createListCounterState(index: NumberingIndex): ListCounterState;
|
|
71
87
|
|
|
@@ -166,19 +182,6 @@ interface LayoutScheduler {
|
|
|
166
182
|
*/
|
|
167
183
|
declare function createLayoutScheduler(options: LayoutSchedulerOptions): LayoutScheduler;
|
|
168
184
|
|
|
169
|
-
interface PositionedTableAnchorSignal {
|
|
170
|
-
readonly anchorId: string;
|
|
171
|
-
readonly column: number;
|
|
172
|
-
readonly fragmentIndex: number;
|
|
173
|
-
readonly anchorY: number;
|
|
174
|
-
}
|
|
175
|
-
interface PendingPositionedTableTokens {
|
|
176
|
-
readonly token: string;
|
|
177
|
-
readonly previous: PendingPositionedTableTokens | undefined;
|
|
178
|
-
readonly length: number;
|
|
179
|
-
readonly signature: string;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
185
|
/**
|
|
183
186
|
* What the BODY flow knows about page numbering while it MEASURES a page-field placeholder.
|
|
184
187
|
*
|
|
@@ -222,66 +225,67 @@ interface FieldPageContext {
|
|
|
222
225
|
*/
|
|
223
226
|
declare function formatPageNumber(value: number, format: string | undefined): string;
|
|
224
227
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
readonly
|
|
234
|
-
readonly
|
|
235
|
-
|
|
228
|
+
/**
|
|
229
|
+
* UAX #9 embedding levels, one per UTF-16 code unit, plus the paragraph ranges they were resolved
|
|
230
|
+
* within.
|
|
231
|
+
*
|
|
232
|
+
* The level is EXACT, not a direction: its parity gives direction, but the numeric value is what
|
|
233
|
+
* reordering needs, and collapsing it early loses nested isolates.
|
|
234
|
+
*/
|
|
235
|
+
interface BidiEmbeddingLevels {
|
|
236
|
+
readonly levels: Uint8Array;
|
|
237
|
+
readonly paragraphs: readonly {
|
|
238
|
+
readonly start: number;
|
|
239
|
+
readonly end: number;
|
|
240
|
+
readonly level: number;
|
|
241
|
+
}[];
|
|
236
242
|
}
|
|
237
243
|
|
|
238
|
-
/**
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
244
|
+
/**
|
|
245
|
+
* A run of text sharing one script, direction and font slot — the unit handed to the shaper.
|
|
246
|
+
*
|
|
247
|
+
* Shaping cannot span a script change: Arabic and Latin in one call would produce wrong joining
|
|
248
|
+
* behaviour, so a run is itemized into these first.
|
|
249
|
+
*/
|
|
250
|
+
interface ScriptItem {
|
|
251
|
+
readonly from: number;
|
|
252
|
+
readonly to: number;
|
|
253
|
+
readonly direction: TextDirection;
|
|
254
|
+
readonly bidiLevel: number;
|
|
255
|
+
/** The shaping script. The public union restates the shared slot policy's set. */
|
|
256
|
+
readonly script: 'Zyyy' | 'Latn' | 'Grek' | 'Cyrl' | 'Hani' | 'Hebr' | 'Arab' | 'Deva' | 'Beng' | 'Thai' | 'Khmr';
|
|
257
|
+
readonly slot: FontSlot;
|
|
245
258
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
readonly
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
* (see {@link exclusionZoneIdentity}), never by a composed id string.
|
|
258
|
-
*/
|
|
259
|
-
readonly furnitureSource?: FurnitureZoneSource;
|
|
260
|
-
readonly drawingNodeId: string;
|
|
261
|
-
readonly anchorParagraphId: string;
|
|
262
|
-
/** UTF-16 model offset of the anchor atom — exclusions apply at/after this point in the paragraph. */
|
|
263
|
-
readonly anchorModelStart: number;
|
|
264
|
-
/**
|
|
265
|
-
* The band's vertical position is resolved against the page or a margin, not against the
|
|
266
|
-
* anchor's own flow position, so it cannot move when the text beside it reflows.
|
|
267
|
-
*
|
|
268
|
-
* Such a band excludes every line it crosses on its page, including lines that PRECEDE the
|
|
269
|
-
* anchor — a picture pinned to the top of the margin wraps the paragraphs above its anchor
|
|
270
|
-
* exactly as it wraps the ones below. Flow-relative bands (`paragraph`, `line`) stay
|
|
271
|
-
* forward-only: reaching back would move the anchor that positions them.
|
|
272
|
-
*/
|
|
273
|
-
readonly pageFramedBand?: boolean;
|
|
274
|
-
readonly sourceOrder: number;
|
|
275
|
-
readonly paintLayer: DrawingPaintLayer;
|
|
276
|
-
readonly relativeHeight: number;
|
|
277
|
-
readonly allowOverlap: boolean;
|
|
278
|
-
/** Owning column index in a multi-column section — 0 for single-column and HF stories. */
|
|
279
|
-
readonly columnIndex: number;
|
|
280
|
-
/** Resolved top edge in page-content coordinates after overlap displacement. */
|
|
281
|
-
readonly y: number;
|
|
282
|
-
readonly verticalBand: LayoutBox;
|
|
283
|
-
readonly input: WrapExclusionInput;
|
|
259
|
+
/**
|
|
260
|
+
* A code point whose script this engine does not itemize.
|
|
261
|
+
*
|
|
262
|
+
* Carries the offending `codePoint` so the caller can report which character stopped it, rather
|
|
263
|
+
* than failing anonymously somewhere in the middle of a paragraph.
|
|
264
|
+
*/
|
|
265
|
+
declare class UnsupportedScriptError extends Error {
|
|
266
|
+
readonly name = "UnsupportedScriptError";
|
|
267
|
+
readonly code = "unsupportedScript";
|
|
268
|
+
readonly codePoint: number;
|
|
269
|
+
constructor(codePoint: number);
|
|
284
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* Split text into shapeable runs by script, bidi level and font slot.
|
|
273
|
+
*
|
|
274
|
+
* Consumes the bidi levels rather than re-deriving direction, so itemization and reordering agree
|
|
275
|
+
* by construction instead of by two implementations happening to match.
|
|
276
|
+
*/
|
|
277
|
+
declare function itemizeScriptFontSlots(text: string, paragraphOffset: number, embedding: BidiEmbeddingLevels): readonly ScriptItem[];
|
|
278
|
+
/**
|
|
279
|
+
* The style a piece's text is MEASURED AND PAINTED in, given the font slot it carries.
|
|
280
|
+
*
|
|
281
|
+
* This is the measurer-boundary resolution: pieces and spans keep the run's real resolved
|
|
282
|
+
* style — with `fontFamily` and `fontFamilyEastAsia` both intact, so formatting readback
|
|
283
|
+
* and the format painter see the run as authored — and every consumer that turns text into
|
|
284
|
+
* geometry or ink resolves the face through here. The derived object is memoized per
|
|
285
|
+
* (style, family) by {@link withFontFamily}, so measurers amortizing over style identity
|
|
286
|
+
* keep their caches.
|
|
287
|
+
*/
|
|
288
|
+
declare function styleForFontSlot(style: ResolvedRunStyle, slot: FontSlot | undefined): ResolvedRunStyle;
|
|
285
289
|
|
|
286
290
|
type AutonumFieldKind = 'AUTONUM' | 'AUTONUMLGL' | 'AUTONUMOUT';
|
|
287
291
|
/** One recognized AUTONUM-family instruction: the kind and its supported switches. */
|
|
@@ -299,6 +303,133 @@ interface AutonumFieldSpec {
|
|
|
299
303
|
*/
|
|
300
304
|
declare function parseAutonumInstruction(raw: string): AutonumFieldSpec | null;
|
|
301
305
|
|
|
306
|
+
/** A horizontal run of x a float leaves free on one line, in paragraph-local coordinates. */
|
|
307
|
+
interface WrapInterval {
|
|
308
|
+
readonly start: number;
|
|
309
|
+
readonly end: number;
|
|
310
|
+
}
|
|
311
|
+
/** The one passage that holds a whole line. */
|
|
312
|
+
interface WrapSegment extends WrapInterval {
|
|
313
|
+
/**
|
|
314
|
+
* Where the content ends, when the pen stepped over a float but placed nothing past it.
|
|
315
|
+
* Alignment measures the content from here rather than from the pen.
|
|
316
|
+
*/
|
|
317
|
+
readonly contentEnd?: number;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* How far each space may shrink under a legacy compatibility rule: down to half its face's
|
|
322
|
+
* average character width (OS/2 `xAvgCharWidth`, the metric of the reverse automatic spacing
|
|
323
|
+
* gap), or down to a quarter of its font size.
|
|
324
|
+
*/
|
|
325
|
+
type SpaceShrinkFloor = 'halfAverage' | 'quarterEm';
|
|
326
|
+
|
|
327
|
+
interface PendingLine {
|
|
328
|
+
readonly spans: StyleSpanRecord[];
|
|
329
|
+
readonly drawings: InlineDrawingRecord[];
|
|
330
|
+
readonly start: number;
|
|
331
|
+
end: number;
|
|
332
|
+
width: number;
|
|
333
|
+
height: number;
|
|
334
|
+
baseline: number;
|
|
335
|
+
/**
|
|
336
|
+
* Space ABOVE the glyph band inside {@link height}.
|
|
337
|
+
*
|
|
338
|
+
* Exact spacing can center the glyphs and move the baseline. Auto/atLeast spacing leaves
|
|
339
|
+
* this at zero and puts its extra depth below instead.
|
|
340
|
+
*/
|
|
341
|
+
leading: number;
|
|
342
|
+
/**
|
|
343
|
+
* Auto/atLeast line-spacing depth below the painted glyph band.
|
|
344
|
+
*
|
|
345
|
+
* Word lets this external depth cross the bottom text margin when the glyphs themselves
|
|
346
|
+
* still fit. Pagination therefore budgets {@link height} minus this amount at a page
|
|
347
|
+
* bottom, while paint keeps the full box and padding.
|
|
348
|
+
*/
|
|
349
|
+
trailingSpacing: number;
|
|
350
|
+
/** When true, layout must start a new page after this line is placed. */
|
|
351
|
+
pageBreakAfter?: boolean;
|
|
352
|
+
/** When true, layout must advance to the next authored section column. */
|
|
353
|
+
columnBreakAfter?: boolean;
|
|
354
|
+
/** An authored line break (`w:br` textWrapping or `w:cr`), never an automatic wrap. */
|
|
355
|
+
manualBreakAfter?: true;
|
|
356
|
+
/**
|
|
357
|
+
* The flow kept the paragraph's last word on this line by borrowing inter-word space.
|
|
358
|
+
* Alignment compresses a paragraph's last line only when this is set, never for another
|
|
359
|
+
* overflow such as hanging punctuation.
|
|
360
|
+
*/
|
|
361
|
+
spaceShrink?: true;
|
|
362
|
+
/**
|
|
363
|
+
* The flow admitted a word on this line by borrowing inter-word space, so its natural
|
|
364
|
+
* content can run past its float passage while the compressed line stays inside it.
|
|
365
|
+
*/
|
|
366
|
+
borrowedSpace?: true;
|
|
367
|
+
/**
|
|
368
|
+
* The line borrowed inter-word space under a rule for every alignment
|
|
369
|
+
* (`SpaceShrinkRule.everyAlignment`), so alignment compresses it to fill the measure as it
|
|
370
|
+
* does a justified line, each space down to this floor.
|
|
371
|
+
*/
|
|
372
|
+
compressesSpaces?: SpaceShrinkFloor;
|
|
373
|
+
/** Model ranges on this line covering deleted content; see {@link LineRecord.deletedRanges}. */
|
|
374
|
+
deletedRanges?: readonly ModelRange[];
|
|
375
|
+
/** Vertical gap inserted before this line to clear a drawing exclusion band. */
|
|
376
|
+
exclusionSkipBefore?: number;
|
|
377
|
+
/**
|
|
378
|
+
* The line follows a text wrapping break that clears floating objects (`w:br w:clear`).
|
|
379
|
+
* Placement keeps its skip even on a line before the paragraph's first anchor.
|
|
380
|
+
*/
|
|
381
|
+
breakClearance?: true;
|
|
382
|
+
/**
|
|
383
|
+
* The skip clears a paragraph-framed band of an anchor on a later line of the same paragraph
|
|
384
|
+
* (`top-and-bottom-earlier-lines.ts`). Placement keeps it, as it keeps {@link breakClearance}.
|
|
385
|
+
*/
|
|
386
|
+
ownBandClearance?: true;
|
|
387
|
+
/** Clearance inherited by an empty anchor paragraph from other drawing bands. */
|
|
388
|
+
anchorClearanceBefore?: number;
|
|
389
|
+
/**
|
|
390
|
+
* The first-line offset this line was broken with: the paragraph's first line, and the
|
|
391
|
+
* first line after page breaks that open it ({@link holdsOnlyPageBreak}). Absent when zero.
|
|
392
|
+
*/
|
|
393
|
+
firstLineOffset?: number;
|
|
394
|
+
/**
|
|
395
|
+
* The horizontal passage a float left this line, when that passage is narrower than the
|
|
396
|
+
* paragraph's measure and holds the whole line.
|
|
397
|
+
*
|
|
398
|
+
* `start` is where the line's content begins (after any first-line indent) and `end` is the
|
|
399
|
+
* passage's right edge, both in paragraph-local coordinates. Centring, right alignment and
|
|
400
|
+
* justification align INSIDE this passage: Word centres a heading between the two pictures
|
|
401
|
+
* beside it, not between the page margins, and stretches a justified line to the float's
|
|
402
|
+
* near edge rather than through it. Absent when no float shortens the line, when the line
|
|
403
|
+
* steps over a float into a later passage, or when the passage is the whole measure.
|
|
404
|
+
* `contentEnd` marks a line whose pen stepped over a float without placing anything past it.
|
|
405
|
+
*/
|
|
406
|
+
wrapSegment?: WrapSegment;
|
|
407
|
+
/**
|
|
408
|
+
* The float passages a line that steps over a float holds content in, in the order its pen
|
|
409
|
+
* met them, in paragraph-local coordinates (mirrored when {@link wrapMirrored}). The first
|
|
410
|
+
* starts where the line's content begins.
|
|
411
|
+
*
|
|
412
|
+
* Each part of such a line aligns INSIDE its own passage: centred text is centred beside the
|
|
413
|
+
* float on each side, and right-aligned text ends at each passage's right edge. Aligning the
|
|
414
|
+
* line as one block moved the text before the float onto the picture. Absent on a line that
|
|
415
|
+
* one passage holds whole, which {@link wrapSegment} describes.
|
|
416
|
+
*/
|
|
417
|
+
wrapPassages?: readonly {
|
|
418
|
+
readonly start: number;
|
|
419
|
+
readonly end: number;
|
|
420
|
+
}[];
|
|
421
|
+
/**
|
|
422
|
+
* The line broke in x mirrored about its paragraph's measure, as a right-to-left line does
|
|
423
|
+
* beside a float (`wrap-break-space.ts`): it fills the rightmost passage first. Its spans,
|
|
424
|
+
* {@link wrapSegment} and {@link wrapPassages} are then in that mirrored x, in break order.
|
|
425
|
+
*/
|
|
426
|
+
wrapMirrored?: true;
|
|
427
|
+
/** Tracked anchored-drawing attributions on this line; see {@link LineRecord.anchorRevisions}. */
|
|
428
|
+
anchorRevisions?: readonly RevisionAttribution[];
|
|
429
|
+
/** Revisions a resolved view answered on this line; see {@link LineRecord.changeSites}. */
|
|
430
|
+
changeSites?: readonly RevisionAttribution[];
|
|
431
|
+
}
|
|
432
|
+
|
|
302
433
|
/**
|
|
303
434
|
* Lookup of derived display marks keyed by {@link formatNoteScopeId}.
|
|
304
435
|
*
|
|
@@ -488,103 +619,6 @@ interface FieldCodeRange {
|
|
|
488
619
|
}
|
|
489
620
|
type FieldCodeRanges = ReadonlyMap<string, readonly FieldCodeRange[]>;
|
|
490
621
|
|
|
491
|
-
/** A horizontal run of x a float leaves free on one line, in paragraph-local coordinates. */
|
|
492
|
-
interface WrapInterval {
|
|
493
|
-
readonly start: number;
|
|
494
|
-
readonly end: number;
|
|
495
|
-
}
|
|
496
|
-
/** The one passage that holds a whole line. */
|
|
497
|
-
interface WrapSegment extends WrapInterval {
|
|
498
|
-
/**
|
|
499
|
-
* Where the content ends, when the pen stepped over a float but placed nothing past it.
|
|
500
|
-
* Alignment measures the content from here rather than from the pen.
|
|
501
|
-
*/
|
|
502
|
-
readonly contentEnd?: number;
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
interface PendingLine {
|
|
506
|
-
readonly spans: StyleSpanRecord[];
|
|
507
|
-
readonly drawings: InlineDrawingRecord[];
|
|
508
|
-
readonly start: number;
|
|
509
|
-
end: number;
|
|
510
|
-
width: number;
|
|
511
|
-
height: number;
|
|
512
|
-
baseline: number;
|
|
513
|
-
/**
|
|
514
|
-
* Space ABOVE the glyph band inside {@link height}.
|
|
515
|
-
*
|
|
516
|
-
* Exact spacing can center the glyphs and move the baseline. Auto/atLeast spacing leaves
|
|
517
|
-
* this at zero and puts its extra depth below instead.
|
|
518
|
-
*/
|
|
519
|
-
leading: number;
|
|
520
|
-
/**
|
|
521
|
-
* Auto/atLeast line-spacing depth below the painted glyph band.
|
|
522
|
-
*
|
|
523
|
-
* Word lets this external depth cross the bottom text margin when the glyphs themselves
|
|
524
|
-
* still fit. Pagination therefore budgets {@link height} minus this amount at a page
|
|
525
|
-
* bottom, while paint keeps the full box and padding.
|
|
526
|
-
*/
|
|
527
|
-
trailingSpacing: number;
|
|
528
|
-
/** When true, layout must start a new page after this line is placed. */
|
|
529
|
-
pageBreakAfter?: boolean;
|
|
530
|
-
/** When true, layout must advance to the next authored section column. */
|
|
531
|
-
columnBreakAfter?: boolean;
|
|
532
|
-
/** An authored line break (`w:br` textWrapping or `w:cr`), never an automatic wrap. */
|
|
533
|
-
manualBreakAfter?: true;
|
|
534
|
-
/**
|
|
535
|
-
* The flow kept the paragraph's last word on this line by borrowing inter-word space.
|
|
536
|
-
* Alignment compresses a paragraph's last line only when this is set, never for another
|
|
537
|
-
* overflow such as hanging punctuation.
|
|
538
|
-
*/
|
|
539
|
-
spaceShrink?: true;
|
|
540
|
-
/** Model ranges on this line covering deleted content; see {@link LineRecord.deletedRanges}. */
|
|
541
|
-
deletedRanges?: readonly ModelRange[];
|
|
542
|
-
/** Vertical gap inserted before this line to clear a drawing exclusion band. */
|
|
543
|
-
exclusionSkipBefore?: number;
|
|
544
|
-
/**
|
|
545
|
-
* The line follows a text wrapping break that clears floating objects (`w:br w:clear`).
|
|
546
|
-
* Placement keeps its skip even on a line before the paragraph's first anchor.
|
|
547
|
-
*/
|
|
548
|
-
breakClearance?: true;
|
|
549
|
-
/** Clearance inherited by an empty anchor paragraph from other drawing bands. */
|
|
550
|
-
anchorClearanceBefore?: number;
|
|
551
|
-
/**
|
|
552
|
-
* The first-line offset this line was broken with: the paragraph's first line, and the
|
|
553
|
-
* first line after page breaks that open it ({@link holdsOnlyPageBreak}). Absent when zero.
|
|
554
|
-
*/
|
|
555
|
-
firstLineOffset?: number;
|
|
556
|
-
/**
|
|
557
|
-
* The horizontal passage a float left this line, when that passage is narrower than the
|
|
558
|
-
* paragraph's measure and holds the whole line.
|
|
559
|
-
*
|
|
560
|
-
* `start` is where the line's content begins (after any first-line indent) and `end` is the
|
|
561
|
-
* passage's right edge, both in paragraph-local coordinates. Centring, right alignment and
|
|
562
|
-
* justification align INSIDE this passage: Word centres a heading between the two pictures
|
|
563
|
-
* beside it, not between the page margins, and stretches a justified line to the float's
|
|
564
|
-
* near edge rather than through it. Absent when no float shortens the line, when the line
|
|
565
|
-
* steps over a float into a later passage, or when the passage is the whole measure.
|
|
566
|
-
* `contentEnd` marks a line whose pen stepped over a float without placing anything past it.
|
|
567
|
-
*/
|
|
568
|
-
wrapSegment?: WrapSegment;
|
|
569
|
-
/**
|
|
570
|
-
* The float passages a line that steps over a float holds content in, left to right, in
|
|
571
|
-
* paragraph-local coordinates. The first starts where the line's content begins.
|
|
572
|
-
*
|
|
573
|
-
* Each part of such a line aligns INSIDE its own passage: centred text is centred beside the
|
|
574
|
-
* float on each side, and right-aligned text ends at each passage's right edge. Aligning the
|
|
575
|
-
* line as one block moved the text before the float onto the picture. Absent on a line that
|
|
576
|
-
* one passage holds whole, which {@link wrapSegment} describes.
|
|
577
|
-
*/
|
|
578
|
-
wrapPassages?: readonly {
|
|
579
|
-
readonly start: number;
|
|
580
|
-
readonly end: number;
|
|
581
|
-
}[];
|
|
582
|
-
/** Tracked anchored-drawing attributions on this line; see {@link LineRecord.anchorRevisions}. */
|
|
583
|
-
anchorRevisions?: readonly RevisionAttribution[];
|
|
584
|
-
/** Revisions a resolved view answered on this line; see {@link LineRecord.changeSites}. */
|
|
585
|
-
changeSites?: readonly RevisionAttribution[];
|
|
586
|
-
}
|
|
587
|
-
|
|
588
622
|
/**
|
|
589
623
|
* What one cell side is before any ADJACENT cell has its say.
|
|
590
624
|
*
|
|
@@ -621,6 +655,20 @@ interface CompoundBorderMetrics {
|
|
|
621
655
|
* belongs to rendering; these layout metrics remain in continuous points.
|
|
622
656
|
*/
|
|
623
657
|
declare function computeDoubleBorderMetricsPt(widthPt: number): CompoundBorderMetrics;
|
|
658
|
+
/** One stroke of a compound border: offset from the band's top or left edge, and width. @internal */
|
|
659
|
+
interface CompoundBorderStroke {
|
|
660
|
+
/** Distance from the band's top (or left) edge to this stroke, in points. */
|
|
661
|
+
readonly offsetPt: number;
|
|
662
|
+
/** Thickness of this stroke, in points. */
|
|
663
|
+
readonly widthPt: number;
|
|
664
|
+
}
|
|
665
|
+
/**
|
|
666
|
+
* The strokes of a triple or thin-thick border whose painted band is `extentPt` thick, for a
|
|
667
|
+
* painter that holds the band and not the authored width. Null for any other style.
|
|
668
|
+
*
|
|
669
|
+
* @internal
|
|
670
|
+
*/
|
|
671
|
+
declare function compoundBorderStrokesForExtentPt(val: string, extentPt: number): readonly CompoundBorderStroke[] | null;
|
|
624
672
|
|
|
625
673
|
/** Soft ceiling on fragments emitted for one authored row (hostile / runaway splits). */
|
|
626
674
|
declare const MAX_TABLE_ROW_FRAGMENTS = 4096;
|
|
@@ -640,6 +688,92 @@ declare class TablePaginationError extends Error {
|
|
|
640
688
|
constructor(code: TablePaginationErrorCode, message: string);
|
|
641
689
|
}
|
|
642
690
|
|
|
691
|
+
type WrapTextSide = 'bothSides' | 'left' | 'right' | 'largest';
|
|
692
|
+
interface WrapExclusionInput {
|
|
693
|
+
readonly mode: 'square' | 'tight' | 'through' | 'topAndBottom';
|
|
694
|
+
readonly contentBounds: LayoutBox;
|
|
695
|
+
readonly polygon: readonly DrawingPoint[] | null;
|
|
696
|
+
readonly clipPolygon: readonly DrawingPoint[] | null;
|
|
697
|
+
readonly wrapDistances: DrawingInsets;
|
|
698
|
+
readonly effectInsets: DrawingInsets;
|
|
699
|
+
readonly textSide: WrapTextSide;
|
|
700
|
+
/**
|
|
701
|
+
* The physical side `largest` keeps when both sides are equally wide. Absent means the
|
|
702
|
+
* right, as in compatibility modes before 15; the paragraph breaker sets the left for
|
|
703
|
+
* mode 15 and later (`largestWrapTieLeft`).
|
|
704
|
+
*/
|
|
705
|
+
readonly largestTie?: 'left' | 'right';
|
|
706
|
+
readonly contentLeft: number;
|
|
707
|
+
readonly contentRight: number;
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
/** Paint layer relative to body text — not the OOXML wrap element. */
|
|
711
|
+
type DrawingPaintLayer = 'behind' | 'inFront';
|
|
712
|
+
/** The header or footer object a furniture exclusion zone comes from. */
|
|
713
|
+
interface FurnitureZoneSource {
|
|
714
|
+
readonly partName: string;
|
|
715
|
+
readonly kind: 'drawing' | 'table';
|
|
716
|
+
readonly nodeId: string;
|
|
717
|
+
}
|
|
718
|
+
interface ExclusionZone {
|
|
719
|
+
/** Objects outside body drawing flow publish their exclusion directly instead of synthesizing it. */
|
|
720
|
+
readonly sourceKind?: 'table' | 'frame' | 'furniture';
|
|
721
|
+
/**
|
|
722
|
+
* Placed by an earlier section on the sheet a `continuous` section continues on. Its anchor
|
|
723
|
+
* is not in the continued section, so the zone reaches every line and column there.
|
|
724
|
+
*/
|
|
725
|
+
readonly earlierSection?: boolean;
|
|
726
|
+
/**
|
|
727
|
+
* The header or footer object a `furniture` zone comes from. Node ids are unique only within
|
|
728
|
+
* one part, so a furniture zone is identified by its part, its kind, and its node together
|
|
729
|
+
* (see {@link exclusionZoneIdentity}), never by a composed id string.
|
|
730
|
+
*/
|
|
731
|
+
readonly furnitureSource?: FurnitureZoneSource;
|
|
732
|
+
readonly drawingNodeId: string;
|
|
733
|
+
readonly anchorParagraphId: string;
|
|
734
|
+
/** UTF-16 model offset of the anchor atom — exclusions apply at/after this point in the paragraph. */
|
|
735
|
+
readonly anchorModelStart: number;
|
|
736
|
+
/**
|
|
737
|
+
* The band's vertical position is resolved against the page or a margin, not against the
|
|
738
|
+
* anchor's own flow position, so it cannot move when the text beside it reflows.
|
|
739
|
+
*
|
|
740
|
+
* Such a band excludes every line it crosses on its page, including lines that PRECEDE the
|
|
741
|
+
* anchor — a picture pinned to the top of the margin wraps the paragraphs above its anchor
|
|
742
|
+
* exactly as it wraps the ones below. Flow-relative bands (`paragraph`, `line`) stay
|
|
743
|
+
* forward-only: reaching back would move the anchor that positions them.
|
|
744
|
+
*/
|
|
745
|
+
readonly pageFramedBand?: boolean;
|
|
746
|
+
/**
|
|
747
|
+
* A text-anchored table raised above its anchor that leaves no text passage beside it. Like a
|
|
748
|
+
* page-framed band it moves the earlier lines it covers on its page below it. Its own position
|
|
749
|
+
* leaves out that move, so it does not chase its anchor.
|
|
750
|
+
*/
|
|
751
|
+
readonly reachesEarlierLines?: boolean;
|
|
752
|
+
readonly sourceOrder: number;
|
|
753
|
+
readonly paintLayer: DrawingPaintLayer;
|
|
754
|
+
readonly relativeHeight: number;
|
|
755
|
+
readonly allowOverlap: boolean;
|
|
756
|
+
/** Owning column index in a multi-column section — 0 for single-column and HF stories. */
|
|
757
|
+
readonly columnIndex: number;
|
|
758
|
+
/** Resolved top edge in page-content coordinates after overlap displacement. */
|
|
759
|
+
readonly y: number;
|
|
760
|
+
readonly verticalBand: LayoutBox;
|
|
761
|
+
readonly input: WrapExclusionInput;
|
|
762
|
+
}
|
|
763
|
+
|
|
764
|
+
interface PositionedTableAnchorSignal {
|
|
765
|
+
readonly anchorId: string;
|
|
766
|
+
readonly column: number;
|
|
767
|
+
readonly fragmentIndex: number;
|
|
768
|
+
readonly anchorY: number;
|
|
769
|
+
}
|
|
770
|
+
interface PendingPositionedTableTokens {
|
|
771
|
+
readonly token: string;
|
|
772
|
+
readonly previous: PendingPositionedTableTokens | undefined;
|
|
773
|
+
readonly length: number;
|
|
774
|
+
readonly signature: string;
|
|
775
|
+
}
|
|
776
|
+
|
|
643
777
|
type ParagraphFrameHeightRule = 'auto' | 'atLeast' | 'exact';
|
|
644
778
|
type ParagraphFrameWrap = 'auto' | 'around' | 'tight' | 'through' | 'none' | 'notBeside';
|
|
645
779
|
/** Bounded text-frame properties resolved for semantic layout. */
|
|
@@ -866,6 +1000,26 @@ interface LayoutSession {
|
|
|
866
1000
|
*/
|
|
867
1001
|
declare function createLayoutSession(): LayoutSession;
|
|
868
1002
|
|
|
1003
|
+
/**
|
|
1004
|
+
* Read `w:numPr` from cascaded paragraph-property nodes (lowest precedence first).
|
|
1005
|
+
*
|
|
1006
|
+
* Flat `OoxmlProperty[]` bags drop nested `ilvl`/`numId`, so this walks the tree nodes
|
|
1007
|
+
* the same way borders and tabs do.
|
|
1008
|
+
*
|
|
1009
|
+
* `w:ilvl` and `w:numId` inherit INDEPENDENTLY through the style chain and the direct
|
|
1010
|
+
* `w:pPr` (§17.3.1.19): a tier stating only the level keeps the id it inherits — Word's
|
|
1011
|
+
* standard Heading2–Heading9 shape, where only Heading1 names the `w:num` — and a tier
|
|
1012
|
+
* stating only the id keeps the inherited level. Treating each `w:numPr` node as a full
|
|
1013
|
+
* replacement dropped the id at every level-only tier and unnumbered the paragraph. A
|
|
1014
|
+
* stated `w:numId w:val="0"` (or an invalid value) still switches numbering off at that
|
|
1015
|
+
* tier even when a lower tier set one; a higher tier stating a valid id re-enables. A
|
|
1016
|
+
* level-only tier with no id inherited from below resolves to no numbering.
|
|
1017
|
+
*/
|
|
1018
|
+
declare function readNumPr(paragraphPropertyNodes: readonly OoxmlNode[]): {
|
|
1019
|
+
numId: string;
|
|
1020
|
+
ilvl: number;
|
|
1021
|
+
} | null;
|
|
1022
|
+
|
|
869
1023
|
/**
|
|
870
1024
|
* The effective indent of a list paragraph: `inherited`, then the numbering LEVEL, then
|
|
871
1025
|
* `direct`, per attribute.
|
|
@@ -886,8 +1040,15 @@ declare function createLayoutSession(): LayoutSession;
|
|
|
886
1040
|
*/
|
|
887
1041
|
declare function mergeListIndent(levelIndent: NumberingLevelIndent, inherited: readonly OoxmlProperty[], direct?: readonly OoxmlProperty[]): NumberingLevelIndent;
|
|
888
1042
|
|
|
889
|
-
/**
|
|
890
|
-
|
|
1043
|
+
/**
|
|
1044
|
+
* Collect story paragraphs, preserving table depth limits across immutable row reuse.
|
|
1045
|
+
*
|
|
1046
|
+
* `skipMergedCells` leaves out the paragraphs of a cell that continues a vertical merge from
|
|
1047
|
+
* the cell above it in the same grid column (`w:vMerge` without `restart`). Such a cell shows
|
|
1048
|
+
* nothing, so list numbering skips it; a continuation with no merged cell above it starts its
|
|
1049
|
+
* own merge and keeps its paragraphs.
|
|
1050
|
+
*/
|
|
1051
|
+
declare function walkStoryParagraphs(blocks: readonly OoxmlElement[], maxTableDepth?: number, skipMergedCells?: boolean): OoxmlElement[];
|
|
891
1052
|
|
|
892
1053
|
/**
|
|
893
1054
|
* Horizontal marker box inside the first-line indent slot.
|
|
@@ -971,6 +1132,7 @@ type CellVerticalAlign = 'top' | 'center' | 'bottom';
|
|
|
971
1132
|
interface TableAutofitContext {
|
|
972
1133
|
/** Measures text exactly as line breaking does. */
|
|
973
1134
|
readonly measurer: TextMeasurer;
|
|
1135
|
+
/** Nested in a fixed table's cell (`nestedAutofitStructure`). */ readonly parentTableFixed?: true;
|
|
974
1136
|
/** List items by paragraph id: a list level indents its paragraph. */
|
|
975
1137
|
readonly listItems?: ReadonlyMap<string, ResolvedListItem>;
|
|
976
1138
|
/** Resolves inline pictures, so a picture column keeps the width the picture paints at. */
|
|
@@ -979,6 +1141,12 @@ interface TableAutofitContext {
|
|
|
979
1141
|
readonly fields?: AutofitFieldContext;
|
|
980
1142
|
/** The document's default tab interval, where an unwrapped line's tabs advance to. */
|
|
981
1143
|
readonly defaultTabStopPt?: number;
|
|
1144
|
+
/**
|
|
1145
|
+
* The document's compatibility mode, as `w:compatSetting` states it. Absent means no
|
|
1146
|
+
* declaration, which lays out as a legacy mode: a positive first-line indent is left out of a
|
|
1147
|
+
* column's minimum. Callers that set it must also fold it into {@link passToken}.
|
|
1148
|
+
*/
|
|
1149
|
+
readonly compatibilityMode?: number;
|
|
982
1150
|
/**
|
|
983
1151
|
* A token that changes whenever a paragraph's projected text can change: the same tokens
|
|
984
1152
|
* the paragraph break cache keys on. Minimums are cached only when this and
|
|
@@ -1092,6 +1260,8 @@ interface SemanticTableCell {
|
|
|
1092
1260
|
readonly headsVerticalMerge?: true;
|
|
1093
1261
|
/** `w:hideMark` excludes the end-of-cell glyph from row sizing. */
|
|
1094
1262
|
readonly hideEndMark?: boolean;
|
|
1263
|
+
/** `w:noWrap`: autofit never narrows the cell's column below its preferred width. */
|
|
1264
|
+
readonly noWrap?: true;
|
|
1095
1265
|
/** `w:vAlign` — defaults to top when omitted/unrecognised. */
|
|
1096
1266
|
readonly vAlign: CellVerticalAlign;
|
|
1097
1267
|
/** `w:textDirection`; unsupported values keep horizontal layout. */
|
|
@@ -1108,8 +1278,6 @@ interface SemanticTableCell {
|
|
|
1108
1278
|
readonly contentBottomIsOuter?: boolean;
|
|
1109
1279
|
/** Clearance this AUTHORED ROW reserves above its content for its own top rule, in points. */
|
|
1110
1280
|
readonly topBandClearancePt?: number;
|
|
1111
|
-
/** The CELL declares `w:tcBorders/w:top` as `nil`, rather than a table style doing so. */
|
|
1112
|
-
readonly suppressesTopBand?: true;
|
|
1113
1281
|
/** Row-local clearance in points for authored minima, before vMerge combines content boxes. */
|
|
1114
1282
|
readonly minimumContentInsets?: {
|
|
1115
1283
|
readonly top: number;
|
|
@@ -1180,16 +1348,33 @@ interface SemanticTableStructure {
|
|
|
1180
1348
|
readonly legacyTrailingOuterEdge?: true;
|
|
1181
1349
|
/**
|
|
1182
1350
|
* Derived, never serialized: how far the grid moves from the aligned table edge, in points.
|
|
1183
|
-
* A supported
|
|
1351
|
+
* A supported legacy table with an absolute width shifts by its aligned cell margin so its
|
|
1352
|
+
* content meets the aligned text edge (`legacyContentOffsetPt`).
|
|
1184
1353
|
* A compatibility-mode-15 left- or right-aligned table puts the outer edge of its side rule
|
|
1185
1354
|
* on that edge, so its first grid line sits half a rule inward. Positive moves right.
|
|
1186
1355
|
*/
|
|
1187
1356
|
readonly outerRuleOffsetPt?: number;
|
|
1357
|
+
/**
|
|
1358
|
+
* Derived, never serialized: the legacy content-edge offset, which `outerRuleOffsetPt`
|
|
1359
|
+
* carries. It does not depend on the column widths, so AutoFit widening keeps it.
|
|
1360
|
+
*/
|
|
1361
|
+
readonly legacyContentOffsetPt?: number;
|
|
1188
1362
|
/**
|
|
1189
1363
|
* Derived, never serialized: the outer side rule an automatic-width mode-15 AutoFit table
|
|
1190
1364
|
* keeps inside its container, so its grid settles that much narrower than the room.
|
|
1191
1365
|
*/
|
|
1192
1366
|
readonly autoOuterRulePt?: number;
|
|
1367
|
+
/** Derived, never serialized: a right-to-left text-box table's move right, in points. */
|
|
1368
|
+
readonly textBoxBidiShiftPt?: number;
|
|
1369
|
+
/** Derived, never serialized: a top-level table of a text box story. */
|
|
1370
|
+
readonly textBox?: true;
|
|
1371
|
+
/** Derived, never serialized: AutoFit widening keeps the shared grid lines. */
|
|
1372
|
+
readonly sharedGridLinesHold?: true;
|
|
1373
|
+
/**
|
|
1374
|
+
* Derived, never serialized: a top-level autofit table whose absolute `w:tblW` is wider than
|
|
1375
|
+
* its text column. See `tableWidthPastTextColumn`.
|
|
1376
|
+
*/
|
|
1377
|
+
readonly pastTextColumn?: true;
|
|
1193
1378
|
/** `w:tblPr/w:tblW` — the width the table asked for. */
|
|
1194
1379
|
readonly tableWidth: PreferredWidth;
|
|
1195
1380
|
/**
|
|
@@ -1313,6 +1498,9 @@ pages?: ReadonlySet<number>,
|
|
|
1313
1498
|
/** For exact intra-span edge positions (see {@link selectionRects}). */
|
|
1314
1499
|
measurer?: TextMeasurer): Map<string, SelectionRect[]>;
|
|
1315
1500
|
|
|
1501
|
+
/** Visible deletion boundaries split words without changing canonical text offsets. */
|
|
1502
|
+
declare function deletedTextBoundaries(layout: SemanticLayout, paragraphId: string): ReadonlySet<number>;
|
|
1503
|
+
|
|
1316
1504
|
/**
|
|
1317
1505
|
* The next word boundary from `offset`, in `direction`.
|
|
1318
1506
|
*
|
|
@@ -1720,9 +1908,14 @@ interface SemanticSpanVisit {
|
|
|
1720
1908
|
declare function exportSourceRangeOf(span: StyleSpanRecord): SourceRange | null;
|
|
1721
1909
|
/**
|
|
1722
1910
|
* Visit every published span in page/story order without consulting the source package.
|
|
1911
|
+
* With `spanlessMarkers`, a paragraph fragment that publishes a list marker but no span, such
|
|
1912
|
+
* as an empty numbered paragraph, is visited once, in order, with an empty span on its first
|
|
1913
|
+
* line, so an exporter that paints markers beside spans paints its marker too.
|
|
1723
1914
|
* @public
|
|
1724
1915
|
*/
|
|
1725
|
-
declare function forEachSemanticSpan(layout: SemanticLayout, visitor: (visit: SemanticSpanVisit) => void
|
|
1916
|
+
declare function forEachSemanticSpan(layout: SemanticLayout, visitor: (visit: SemanticSpanVisit) => void, options?: {
|
|
1917
|
+
readonly spanlessMarkers?: boolean;
|
|
1918
|
+
}): void;
|
|
1726
1919
|
|
|
1727
1920
|
/**
|
|
1728
1921
|
* The part of a line that belongs to ONE paragraph.
|
|
@@ -1745,7 +1938,7 @@ declare function lineSegments(line: LineRecord): readonly LineSegment[];
|
|
|
1745
1938
|
|
|
1746
1939
|
/**
|
|
1747
1940
|
* The box a painter clips a vector shape to: `bounds` grown on each side where a stroked
|
|
1748
|
-
* outline reaches past the drawing extent.
|
|
1941
|
+
* outline or an outer shadow reaches past the drawing extent.
|
|
1749
1942
|
*
|
|
1750
1943
|
* An outline is centred on its geometry and is not cut at the extent, a text column, or a cell
|
|
1751
1944
|
* edge that meets the extent: a rule at x=0 of a group with `wp:effectExtent l="0"` keeps
|
|
@@ -1881,6 +2074,14 @@ interface HeaderFooterStoryInputs {
|
|
|
1881
2074
|
* merged into the paragraph's own.
|
|
1882
2075
|
*/
|
|
1883
2076
|
readonly numberingIndex?: NumberingIndex;
|
|
2077
|
+
/**
|
|
2078
|
+
* The list counters this story starts from. Header and footer stories continue one count
|
|
2079
|
+
* across the document (see `furniture-list-seeds.ts`); absent, the story counts from fresh
|
|
2080
|
+
* counters.
|
|
2081
|
+
*
|
|
2082
|
+
* @internal
|
|
2083
|
+
*/
|
|
2084
|
+
readonly listCounterSeed?: ListCounterSnapshot;
|
|
1884
2085
|
/** Sanitized hyperlink seams scoped to this header/footer part. */
|
|
1885
2086
|
readonly projectLink?: HyperlinkProjector;
|
|
1886
2087
|
readonly projectFieldLink?: FieldLinkProjector;
|
|
@@ -1996,17 +2197,22 @@ type ResolvedNoteProperties = ResolvedFootnoteProperties | ResolvedEndnoteProper
|
|
|
1996
2197
|
/**
|
|
1997
2198
|
* Derive display marks for references of one note kind in document order.
|
|
1998
2199
|
*
|
|
1999
|
-
*
|
|
2000
|
-
* - `continuous` —
|
|
2001
|
-
*
|
|
2002
|
-
* - `
|
|
2200
|
+
* A note's number is its section's `numStart` plus the note's index in its numbering domain:
|
|
2201
|
+
* - `continuous` — the domain is the whole document, so the index counts every earlier
|
|
2202
|
+
* numbered note, in any section
|
|
2203
|
+
* - `eachSect` — the domain is the reference's section
|
|
2204
|
+
* - `eachPage` — the domain is the reference's page (continuous when the page is unknown)
|
|
2205
|
+
*
|
|
2206
|
+
* So a later section that sets only `numStart` 10, after two notes, numbers its notes 12 and
|
|
2207
|
+
* 13, and a section without its own `numStart` continues from 1 plus the index.
|
|
2003
2208
|
*
|
|
2004
2209
|
* IDs are stable; only display numbers change. Non-mutating.
|
|
2005
2210
|
*/
|
|
2006
2211
|
declare function deriveNoteDisplayMarks(noteKind: NoteKind, references: readonly NoteReferenceSite[], properties: ResolvedNoteProperties): readonly NoteDisplayMark[];
|
|
2007
2212
|
/**
|
|
2008
2213
|
* Derive marks using per-reference-section resolved properties (`numFmt` / `numStart` /
|
|
2009
|
-
* `numRestart`).
|
|
2214
|
+
* `numRestart`). Each site uses its own section's properties: the format, the start value, and
|
|
2215
|
+
* the restart rule that picks its numbering domain (see {@link deriveNoteDisplayMarks}).
|
|
2010
2216
|
*/
|
|
2011
2217
|
declare function deriveNoteDisplayMarksResolved(_noteKind: NoteKind, references: readonly NoteReferenceSite[], resolveProps: (sectionIndex: number) => ResolvedNoteProperties): readonly NoteDisplayMark[];
|
|
2012
2218
|
/** Map noteId → formatted mark for quick lookup (last site wins if duplicated). */
|
|
@@ -2265,7 +2471,10 @@ interface NotesLayoutInput {
|
|
|
2265
2471
|
readonly footnotePropsBySection: readonly ResolvedFootnoteProperties[];
|
|
2266
2472
|
/** Per-section resolved endnote properties. */
|
|
2267
2473
|
readonly endnotePropsBySection: readonly ResolvedEndnoteProperties[];
|
|
2268
|
-
/**
|
|
2474
|
+
/**
|
|
2475
|
+
* Properties of a section with none of its own: the defaults, plus the settings.xml endnote
|
|
2476
|
+
* position. The fallback when the document has no enumerated sections.
|
|
2477
|
+
*/
|
|
2269
2478
|
readonly documentFootnoteProps: ResolvedFootnoteProperties;
|
|
2270
2479
|
readonly documentEndnoteProps: ResolvedEndnoteProperties;
|
|
2271
2480
|
readonly measurer: TextMeasurer;
|
|
@@ -2503,6 +2712,14 @@ declare function paragraphShading(props: readonly OoxmlProperty[]): string | und
|
|
|
2503
2712
|
declare function paragraphShadingBox(lines: readonly {
|
|
2504
2713
|
readonly box: LayoutBox;
|
|
2505
2714
|
}[], x: number, width: number): LayoutBox | undefined;
|
|
2715
|
+
/**
|
|
2716
|
+
* The colour of automatic text on a `background` fill: white on a dark fill, null for the
|
|
2717
|
+
* default black. A fill is dark when its luma (0.299 R + 0.587 G + 0.114 B, out of 255) is
|
|
2718
|
+
* under 59.5: grey `3B3B3B` takes white text and `3C3C3C` black, as measured.
|
|
2719
|
+
*
|
|
2720
|
+
* @internal
|
|
2721
|
+
*/
|
|
2722
|
+
declare function automaticTextColor(background: string | null | undefined): 'FFFFFF' | null;
|
|
2506
2723
|
|
|
2507
2724
|
/**
|
|
2508
2725
|
* Everything a layout pass needs beyond the document itself.
|
|
@@ -2779,7 +2996,7 @@ declare function layoutSemanticDocument(part: OoxmlPart, revision: number, optio
|
|
|
2779
2996
|
declare const MAX_MARKER_TEXT_LENGTH = 64;
|
|
2780
2997
|
/** Soft ceiling on authored `w:lvlText` before expansion. */
|
|
2781
2998
|
declare const MAX_LVL_TEXT_LENGTH = 64;
|
|
2782
|
-
/** Clamp a list counter into a safe non-negative integer
|
|
2999
|
+
/** Clamp a list counter into a safe non-negative integer that every format can display. */
|
|
2783
3000
|
declare function clampListValue(value: number): number;
|
|
2784
3001
|
/** `decimal` (§17.18.59). Clamped, because the counter derives from file-declared restarts. */
|
|
2785
3002
|
declare function formatDecimal(value: number): string;
|
|
@@ -3178,6 +3395,17 @@ interface MaterializationInput {
|
|
|
3178
3395
|
*/
|
|
3179
3396
|
declare function pagesToMaterialize(input: MaterializationInput): Set<number>;
|
|
3180
3397
|
|
|
3398
|
+
/**
|
|
3399
|
+
* Extra advance of each inked glyph when bold is synthesized, as a fraction of the font size.
|
|
3400
|
+
*
|
|
3401
|
+
* A face without a bold style draws bold by thickening its outlines, and each glyph that has
|
|
3402
|
+
* ink then advances 1/50 em further. Blank glyphs such as spaces keep their advance. Measured
|
|
3403
|
+
* on Arabic text at 10, 20, 30, and 36 pt: the extra width matched this rule to the pixel.
|
|
3404
|
+
*
|
|
3405
|
+
* @public
|
|
3406
|
+
*/
|
|
3407
|
+
declare const SYNTHETIC_BOLD_ADVANCE_EM: number;
|
|
3408
|
+
|
|
3181
3409
|
/** Character border geometry from placed spans, shared by screen and export painters. */
|
|
3182
3410
|
declare function runBorderStrokesForLine(line: LineRecord): readonly ParagraphBorderStrokeRecord[];
|
|
3183
3411
|
|
|
@@ -3219,5 +3447,12 @@ declare function tabLeaderPattern(startPt: number, widthPt: number, advancePt: n
|
|
|
3219
3447
|
*/
|
|
3220
3448
|
declare function noteSeparatorRuleBox(span: StyleSpanRecord, line: LineRecord, stroke?: StrikeoutStrokePt): LayoutBox;
|
|
3221
3449
|
|
|
3222
|
-
|
|
3223
|
-
|
|
3450
|
+
/**
|
|
3451
|
+
* The run's ink as one path, or undefined when a glyph has no outline the path grammar can
|
|
3452
|
+
* read, a glyph is missing from the face (`.notdef`), or the path would exceed its budget.
|
|
3453
|
+
* @internal
|
|
3454
|
+
*/
|
|
3455
|
+
declare function shapedRunOutline(run: ShapedRun, pointSize: number, fixedPointScale: number): TextOutline | undefined;
|
|
3456
|
+
|
|
3457
|
+
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, FontSlot, 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, NumberingLevelIndent, PageBorderFrameRecord, PageGeometry, PageRecord, ParagraphBorderStrokeRecord, ParagraphFragmentRecord, RefFieldContext, ResolvedListItem, ResolvedRunStyle, ReviewItem, RevisionAttribution, RevisionAuthorFilter, RevisionDisplayMode, SYNTHETIC_BOLD_ADVANCE_EM, SectionColumns, SectionPageBorders, SelectionRect, SemanticLayout, SemanticPosition, SemanticRootStoryKind, SemanticSelection, SemanticStoryKind, SemanticStoryVisit, ShapedRun, SourceRange, SpanLinkRecord, StrikeoutStrokePt, StyleCascadeTable, StyleSpanRecord, TableBorderBox, TableBorderSide, TableCellStyleFormatting, TablePaginationError, TextDirection, TextMeasurer, TextOutline, TextShaper, TextboxOwnerRecord, UnsupportedScriptError, VersionedShapingLibrary, WORD_SEGMENTER_LOCALE, anchorLineY, attachNotesToLayout, automaticTextColor, boundedFallbackWordSegments, buildPageRefIndex, clampListValue, compoundBorderStrokesForExtentPt, computeDoubleBorderMetricsPt, computeFootnoteReserves, contentControlAtSemantic, contentControlBoundaries, contentControlHoldingParagraph, contentControlRecordsInPart, createBoundedFallbackWordBoundary, createDefaultWordBoundary, createDocumentFurnitureSource, createDocumentLinkProjectors, createDocumentNotesInput, createDocumentStyleDependencies, createFieldLinkRegistry, createFixedMeasurer, createHarfBuzzTextShaper, createIntlWordBoundary, createLayoutScheduler, createLayoutSession, createListCounterState, createParagraphLayoutCache, defaultNoteSeparatorRuleStyle, deletedTextBoundaries, 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, itemizeScriptFontSlots, keyedRangeRects, layoutHeaderFooterStory, layoutNoteById, layoutNoteSeparator, layoutNoteStory, layoutSemanticDocument, lineSegments, listMarkerBox, mapSymbolPuaText, mergeListIndent, normalNotesOf, noteDisplayMarkMap, noteLineIdPrefix, noteMarkKey, noteSeparatorAreaBox, noteSeparatorRuleBox, noteStoryBlocks, pageBorderFrame, pageRefPageNumbersFromLayout, pagesToMaterialize, paragraphLayoutKey, paragraphMarkDeleted, paragraphShading, paragraphShadingBox, parseAutonumInstruction, planRefFieldResultRefresh, positionPastDeletion, projectedNoteMarkText, provisionalNoteMarks, readNumPr, readTableStructure, resetGraphemeBoundary, resolveDefaultSurfaceMeasurer, resolveDefaultWordBoundary, resolveOoxmlShadingFill, resolveStrictHexFill, reviewAnchorIndex, reviewItemGeometry, revisionRemovesParagraph, roundFontUnitToFixedPoint, runBorderStrokesForLine, segmentGraphemes, segmentWords, selectionRects, semanticHorizontalBoundaries, setGraphemeBoundary, setHarfBuzzWasmUrl, sha256FontBytes, shadingFillFromElement, shapedHorizontalBoundaries, shapedRunOutline, storyBlocks, styleForFontSlot, syntheticSeparatorBox, tabLeaderPattern, tableOriginX, tocFieldChromeParagraphIds, tryCreateCanvasMeasurer, utf16OffsetToGrapheme, vectorShapeInkClip, walkStoryParagraphs, wordBoundary, wordSegmentsToGraphemeRecords };
|
|
3458
|
+
export type { AutofitFieldContext, AutonumFieldKind, AutonumFieldSpec, BidiEmbeddingLevels, CanvasMeasurerOptions, CanvasTextContext, CanvasTextMetrics, CellMarginsPt, CellVerticalAlign, CompoundBorderMetrics, CompoundBorderStroke, 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, ScriptItem, SemanticLayoutOptions, SemanticSpanVisit, SemanticTableCell, SemanticTableRow, SemanticTableStructure, StoryProjectionDependencies, TableAlignment, TableAutofitContext, TablePaginationErrorCode, TableRowHeight, TableRowHeightRule, ViewportWindow, WordBoundary, WordBoundaryResolverDeps, WordSegment };
|