@docx-editor.dev/core 2.26.0 → 2.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/automation.cjs +1 -1
  2. package/dist/automation.d.ts +30 -13
  3. package/dist/automation.js +1 -1
  4. package/dist/binding.cjs +1 -1
  5. package/dist/binding.d.ts +20 -9
  6. package/dist/binding.js +1 -1
  7. package/dist/chunk-2GO5T2JU.cjs +1 -0
  8. package/dist/chunk-2RC2EPND.js +3 -0
  9. package/dist/chunk-4GBTELJV.cjs +28 -0
  10. package/dist/chunk-4R3TEXMN.js +18 -0
  11. package/dist/chunk-5CSUYANV.js +1 -0
  12. package/dist/chunk-6APGXLBB.cjs +3 -0
  13. package/dist/chunk-6AWEKBLB.cjs +1 -0
  14. package/dist/chunk-6EYYL7FL.js +1 -0
  15. package/dist/chunk-E7BQA6UP.js +2 -0
  16. package/dist/chunk-EO4C5QJW.cjs +2 -0
  17. package/dist/chunk-ETTO6GK3.js +1 -0
  18. package/dist/chunk-FIJZIQXA.cjs +18 -0
  19. package/dist/chunk-FRXAOVTB.js +28 -0
  20. package/dist/chunk-J6BVWIDB.js +2 -0
  21. package/dist/chunk-JGNVNT2A.cjs +2 -0
  22. package/dist/chunk-K5U2PLDP.cjs +2 -0
  23. package/dist/chunk-KKIJG3C6.js +2 -0
  24. package/dist/chunk-LWDSDCMO.js +27 -0
  25. package/dist/chunk-NBCVVZOM.cjs +1 -0
  26. package/dist/chunk-O2AL2HSJ.cjs +1 -0
  27. package/dist/{chunk-AJCCS53D.js → chunk-O5INAWZQ.js} +1 -1
  28. package/dist/chunk-QMLCVPCD.cjs +1 -0
  29. package/dist/chunk-RCHS4ZEH.cjs +27 -0
  30. package/dist/chunk-SRPILEWV.cjs +5 -0
  31. package/dist/chunk-TSLBZ26X.js +1 -0
  32. package/dist/chunk-VDNNLG6X.js +2 -0
  33. package/dist/chunk-VHAVHCQY.js +7 -0
  34. package/dist/chunk-VX43VBAX.cjs +7 -0
  35. package/dist/chunk-Z6WBFXJU.js +5 -0
  36. package/dist/chunk-ZUHOMK52.cjs +2 -0
  37. package/dist/collaboration/replication.cjs +1 -1
  38. package/dist/collaboration/replication.d.ts +50 -5
  39. package/dist/collaboration/replication.js +1 -1
  40. package/dist/collaboration.cjs +1 -1
  41. package/dist/collaboration.d.ts +98 -6
  42. package/dist/collaboration.js +1 -1
  43. package/dist/contracts/document.d.ts +17 -2
  44. package/dist/contracts/editor.d.ts +19 -9
  45. package/dist/contracts/interaction.d.ts +29 -0
  46. package/dist/contracts/modules.cjs +1 -1
  47. package/dist/contracts/modules.d.ts +29 -16
  48. package/dist/contracts/modules.js +1 -1
  49. package/dist/contracts/types.d.ts +10 -1
  50. package/dist/{custom-node-writes-Cy9imOjA.d.ts → custom-node-writes-cvL5rhcD.d.ts} +2 -2
  51. package/dist/{document-protection-Bp19Ad4I.d.ts → document-protection-BAGVGqaP.d.ts} +1 -1
  52. package/dist/{editor-DYUlyKmb.d.ts → editor-Ci7IZGmG.d.ts} +410 -163
  53. package/dist/editor.cjs +1 -1
  54. package/dist/editor.css +5 -5
  55. package/dist/editor.d.ts +417 -31
  56. package/dist/editor.js +1 -1
  57. package/dist/export.cjs +2 -2
  58. package/dist/export.d.ts +37 -15
  59. package/dist/export.js +2 -2
  60. package/dist/failure-NS2lsya4.d.ts +115 -0
  61. package/dist/{font-resolver-u_nE0PI1.d.ts → font-resolver-BVQB14qT.d.ts} +1 -1
  62. package/dist/{headless-document-view-R9bzzepb.d.ts → headless-document-view-qH331moE.d.ts} +2 -2
  63. package/dist/{image-resources-DfagDguq.d.ts → image-resources-BN-hUgCn.d.ts} +9 -9
  64. package/dist/{index-Docw8Dcb.d.ts → index-Bsg7oIKP.d.ts} +270 -115
  65. package/dist/index.cjs +1 -1
  66. package/dist/index.d.ts +46 -18
  67. package/dist/index.js +1 -1
  68. package/dist/{layout-shaping-DWitwY73.d.ts → layout-shaping-BEyuiQOk.d.ts} +1 -1
  69. package/dist/layout.cjs +1 -1
  70. package/dist/layout.d.ts +177 -249
  71. package/dist/layout.js +1 -1
  72. package/dist/{note-properties-CmfvOJsi.d.ts → note-properties-4Y9o6Gyk.d.ts} +1 -1
  73. package/dist/{omml-equation-CZ6IG2ja.d.ts → omml-equation-CuzBL5DD.d.ts} +1 -1
  74. package/dist/output.cjs +1 -1
  75. package/dist/output.d.ts +18 -7
  76. package/dist/output.js +1 -1
  77. package/dist/{protocol-DniKeDb8.d.ts → protocol-Bqk4Izjc.d.ts} +48 -7
  78. package/dist/review-pane-D9jm8DcY.d.ts +128 -0
  79. package/dist/{review-paragraph-order-Dc8Q6tfM.d.ts → review-paragraph-order-DT-n6ouC.d.ts} +5 -2
  80. package/dist/{revision-projection-DfWxdBqA.d.ts → revision-projection-DZ4kKVev.d.ts} +74 -3
  81. package/dist/{semantic-cell-selection-Dy_BmmpL.d.ts → semantic-cell-selection-D9D1KSXq.d.ts} +8 -6
  82. package/dist/{semantic-interaction-CvFAj0GR.d.ts → semantic-interaction-CIC-PooQ.d.ts} +25 -34
  83. package/dist/{semantic-paint-Bk9wIXdZ.d.ts → semantic-paint-BME37OMv.d.ts} +57 -5
  84. package/dist/semantic-record-queries-CBlZqZNa.d.ts +177 -0
  85. package/dist/{semantic-records-COqi8pjP.d.ts → semantic-records-4B3WwFAi.d.ts} +84 -42
  86. package/dist/store.cjs +1 -1
  87. package/dist/store.d.ts +165 -137
  88. package/dist/store.js +1 -1
  89. package/dist/{tree-package-fragment-YPyYC1aD.d.ts → tree-package-fragment-BeeKxDw8.d.ts} +77 -57
  90. package/dist/{tree-session-contract-AeY2v0x9.d.ts → tree-session-contract-CVbmlMlq.d.ts} +7 -5
  91. package/dist/{types-barrel-BO73JqHG.d.ts → types-barrel-D3xCgQX6.d.ts} +595 -471
  92. package/package.json +3 -3
  93. package/dist/chunk-2BK4G4ZN.js +0 -2
  94. package/dist/chunk-2SJX44PC.cjs +0 -2
  95. package/dist/chunk-5BIASAN3.js +0 -1
  96. package/dist/chunk-6SEIXJTX.js +0 -1
  97. package/dist/chunk-73PG6L2X.js +0 -1
  98. package/dist/chunk-7RJSH72J.cjs +0 -5
  99. package/dist/chunk-AGKIHLWQ.cjs +0 -1
  100. package/dist/chunk-AN6WM4X4.js +0 -2
  101. package/dist/chunk-ANZ44KQT.cjs +0 -12
  102. package/dist/chunk-CYT3OQFZ.cjs +0 -1
  103. package/dist/chunk-DDGGSBAN.js +0 -12
  104. package/dist/chunk-EEAV3WIN.js +0 -3
  105. package/dist/chunk-ELQFXMJ5.cjs +0 -1
  106. package/dist/chunk-EYK4K2J6.js +0 -1
  107. package/dist/chunk-JNTETUNZ.cjs +0 -1
  108. package/dist/chunk-L6V3IJ3S.js +0 -5
  109. package/dist/chunk-LWCI65EL.js +0 -1
  110. package/dist/chunk-LZDI4P6I.cjs +0 -1
  111. package/dist/chunk-NS22DVWT.cjs +0 -2
  112. package/dist/chunk-QIE3YTU4.cjs +0 -2
  113. package/dist/chunk-QVBFPAGO.js +0 -5
  114. package/dist/chunk-RCCOLZEQ.js +0 -2
  115. package/dist/chunk-SUN62YU6.cjs +0 -5
  116. package/dist/chunk-TKQH7BNE.cjs +0 -1
  117. package/dist/chunk-TKR2MXX4.cjs +0 -3
  118. package/dist/chunk-UJL2GDIM.cjs +0 -25
  119. package/dist/chunk-WQTADNHK.cjs +0 -27
  120. package/dist/chunk-XSHXBJ2J.js +0 -25
  121. package/dist/chunk-YXZEBTDF.js +0 -27
  122. package/dist/failure-BIPVQbRm.d.ts +0 -65
package/dist/layout.js CHANGED
@@ -1 +1 @@
1
- export{N as DEFAULT_CANVAS_FONT_STACK,b as HARFBUZZ_SHAPING_LIBRARY,e as HarfBuzzShapingError,i as LayoutShapingConfigurationError,I as ResolvedCache,x as WORD_SEGMENTER_LOCALE,W as anchorLineY,A as boundedFallbackWordSegments,G as captureOperationSnapshot,da as cellSelectionBetween,ha as cellSelectionRects,ia as cellSelectionText,V as contentControlBoundaries,B as createBoundedFallbackWordBoundary,C as createDefaultWordBoundary,g as createHarfBuzzTextShaper,z as createIntlWordBoundary,ca as createLayoutScheduler,aa as createLayoutShapedMeasurer,p as createLayoutShaping,$ as createShapedMeasurer,r as disposeLayoutShaping,J as exportSourceRangeOf,K as forEachSemanticSpan,H as guardOperationSnapshot,f as harfBuzzFontValidator,c as initializeHarfBuzz,P as isCanvasMeasurementAvailable,v as isCumulativeGeometryTrustedFromLineOrigin,u as isGeometryTrustedCaretOffset,d as isHarfBuzzInitialized,y as isIntlWordSegmenterAvailable,t as isWholeGraphemeHorizontalBoundary,o as layoutFontConfigurationFingerprint,S as pageRefPageNumbersFromLayout,ba as pagesToMaterialize,fa as paragraphsInCells,T as planRefFieldResultRefresh,m as prepareLayoutFontConfiguration,R as resolveDefaultSurfaceMeasurer,D as resolveDefaultWordBoundary,X as reviewAnchorIndex,Y as reviewItemGeometry,a as roundFontUnitToFixedPoint,E as segmentWords,w as semanticHorizontalBoundaries,s as shapedHorizontalBoundaries,ga as spansInCells,ma as tabLeaderPattern,ja as tableContextAt,Q as tryCreateCanvasMeasurer,L as vectorShapeInkClip,F as wordSegmentsToGraphemeRecords}from'./chunk-EEAV3WIN.js';export{a as setHarfBuzzWasmUrl}from'./chunk-RIYSCEFQ.js';export{I as AUTO_PARAGRAPH_SPACING_PT,yd as AUTO_PREFERRED_WIDTH,zd as CELL_PAD,C as COMPOUND_BORDER_MIN_GAP_PT,B as COMPOUND_BORDER_MIN_STROKE_PT,Ad as DEFAULT_CELL_MARGINS,sa as DEFAULT_PAGE_GEOMETRY,Ra as DEFAULT_REVISION_DISPLAY_MODE,Y as DEFAULT_RUN_STYLE,Lc as DEFAULT_SECTION_PROPERTIES,Kb as DEFAULT_TAB_INTERVAL_PT,Jb as DEFAULT_TAB_INTERVAL_TWIPS,Nd as DEFAULT_VERTICAL_WEIGHT,ld as EMPTY_NUMBERING_INDEX,Mb as EMPTY_TAB_STOPS,d as FontResolutionError,fa as GRAPHEME_SEGMENTER_LOCALE,c as HARD_MAX_AGGREGATE_FONT_BYTES,a as HARD_MAX_FONT_BYTES,b as HARD_MAX_FONT_SOURCES,H as MAX_BORDER_SPACE_PT,G as MAX_BORDER_WIDTH_PT,Kc as MAX_DOCUMENT_SECTIONS,Ge as MAX_EACH_PAGE_MARK_CANDIDATES,id as MAX_LVL_OVERRIDES,sb as MAX_LVL_TEXT_LENGTH,rb as MAX_MARKER_TEXT_LENGTH,se as MAX_NOTES_LAID_OUT,te as MAX_NOTE_FRAGMENTS,Fe as MAX_NOTE_OVERFLOW_PAGES,Ee as MAX_NOTE_REFLOW_ATTEMPTS,hd as MAX_NUMBERING_DEFINITIONS,F as MAX_PARAGRAPH_SPACING_PT,o as MAX_SHAPING_CONTEXT,Yb as MAX_STYLE_BASED_ON_DEPTH,fc as MAX_STYLE_DEFINITIONS,qd as MAX_TABLE_BORDER_STROKES,Ed as MAX_TABLE_NESTING,de as MAX_TABLE_ROW_FRAGMENTS,Fd as MAX_TABLE_ROW_HEIGHT_PT,Ib as MAX_TAB_POSITION_TWIPS,Hb as MAX_TAB_STOPS,Gc as PAGE_BORDER_SIDES,K as PARAGRAPH_BORDER_SIDES,J as SINGLE_LINE_SPACING,Lb as TAB_LEADER_GLYPH,ee as TablePaginationError,pa as UnsupportedScriptError,X as appliedSpaceBefore,O as applyLineSpacing,Le as attachNotesToLayout,ba as baselineShiftPtOf,xd as borderExtentPt,ud as borderWeight,U as bottomBorderExtentPt,l as boundedStructuralFontValidator,jd as buildNumberingIndex,Ie as buildPageRefIndex,gc as buildStyleCascadeTable,df as caretAt,Xd as caretBoxOnLine,bf as caretStops,cf as caretStopsForBlocks,hc as cascadeParagraphFormatting,jc as cascadeRunProperties,ic as cascadedBottomBorder,R as cascadedParagraphBorders,Nb as cascadedTabStops,tb as clampListValue,W as collapsedSpaceBefore,kf as compositionAnchor,D as computeDoubleBorderMetricsPt,Ke as computeFootnoteReserves,Ud as contentControlAtPoint,ff as contentControlAtSemantic,qe as contentControlHoldingParagraph,pe as contentControlRecordsInPart,gf as contentControlsInLayout,Fa as contentControlsOfLayout,ie as createDocumentFurnitureSource,le as createDocumentLinkProjectors,je as createDocumentNotesInput,md as createDocumentStyleDependencies,me as createFieldLinkRegistry,ea as createFixedMeasurer,m as createFontResourceSnapshot,Ne as createLayoutSession,mc as createListCounterState,hb as createParagraphLayoutCache,s as createShapedRun,p as createShapingEnvironment,ze as defaultNoteSeparatorRuleStyle,Qb as defaultTabIntervalFromSettings,if as deletedTextBoundaries,Dc as deriveNoteDisplayMarks,Ec as deriveNoteDisplayMarksResolved,_ as displayText,Oa as documentOrder,ke as documentRelationshipTargetIn,pd as effectiveBorderSide,Ha as effectiveContentControlLock,Eb as emptyTocPlaceholderParagraphIds,Fb as emptyTocSuppressedResultParagraphIds,Rc as enumerateDocumentSections,Tc as enumerateDocumentSectionsBounded,Pa as everyStoryOrder,Bb as expandLvlText,Je as filterRefsOnPage,Yd as findDrawingOverlayFrameInLayout,we as findSeparatorNote,n as fixedPoint,h as fontRequestKey,Ba as forEachSemanticDrawing,za as forEachSemanticStory,Ca as forEachStoryParagraphFragment,ub as formatDecimal,vb as formatDecimalZero,zb as formatLowerLetter,xb as formatLowerRoman,Ab as formatNumFmt,_c as formatPageNumber,$a as formatRevisionOf,yb as formatUpperLetter,wb as formatUpperRoman,He as fragmentOwnsAtomOffset,Da as fragmentsOfParagraph,Uc as geometryOfSection,ca as glyphSizeFactorOf,ia as graphemeBoundaryEpoch,ma as graphemeCount,oa as graphemeOffsetToUtf16,Rd as hitTestPage,ef as hitTestSemantic,Td as hitTestSheet,ha as intlGraphemeBoundary,Pd as isFurniturePoint,ga as isIntlSegmenterAvailable,Ae as isMarkerOnlySeparatorNote,Xb as isValidStyleId,qa as itemizeScriptFontSlots,Ye as keyedRangeRects,bc as layoutEquation,he as layoutHeaderFooterStory,ye as layoutNoteById,Be as layoutNoteSeparator,xe as layoutNoteStory,Oe as layoutSemanticDocument,Ea as lineAtPosition,Vd as lineEndOffset,Ia as lineSegments,wa as linesOf,rc as listMarkerBox,Za as markRevisionRemovesMark,$ as measureDisplayText,vc as mergeListIndent,jf as moveCaret,Rb as nextTabDestination,ve as normalNotesOf,Fc as noteDisplayMarkMap,ue as noteLineIdPrefix,ed as noteMarkKey,De as noteSeparatorAreaBox,re as noteSeparatorRuleBox,Cc as noteStoryBlocks,Od as pageAtY,oe as pageBorderFrame,Ic as pageBordersFingerprint,T as paragraphBorderExtentPt,S as paragraphBorderStrokeWidthPt,Q as paragraphBorders,V as paragraphBordersFingerprint,E as paragraphBreaksBefore,P as paragraphContextualSpacing,ua as paragraphFragmentsOf,va as paragraphFragmentsOfBlocks,gb as paragraphLayoutKey,N as paragraphLineSpacing,nc as paragraphMarkDeleted,Xa as paragraphMarkFormatRevisionOf,_a as paragraphMarkRevisionOf,Wa as paragraphMarkRevisionsOf,Pc as paragraphSectionNode,x as paragraphShading,y as paragraphShadingBox,M as paragraphSpacing,Ob as paragraphTabStops,hf as paragraphTextFromLayout,Cb as parseAutonumInstruction,Hc as parsePageBorders,Mc as parsePageNumbering,qb as parseRefInstruction,Nc as parseSectionProperties,Re as positionPastDeletion,fd as projectedNoteMarkText,Sc as projectedSectionSourceIndexes,Me as provisionalNoteMarks,rd as readBorderSide,td as readCellBorders,tc as readNumPr,Qc as readSectionProperties,sd as readTableBorders,Gd as readTableStructure,la as resetGraphemeBoundary,vd as resolveBorderConflict,kd as resolveNumberingLevel,v as resolveOoxmlShadingFill,kc as resolveParagraphLayoutInputs,Z as resolveRunStyle,xc as resolveStoryListItems,Xc as resolveStoryRefFields,u as resolveStrictHexFill,wd as resolveTableCellBorderGrid,Ua as revisionAuthorFilter,pc as revisionRemovesParagraph,ab as revisionsAreDeletion,Va as revisionsVisible,Wb as runBorderStrokesForLine,aa as runStylesEqual,ja as segmentGraphemes,We as selectionRects,ka as setGraphemeBoundary,w as shadingFillFromElement,t as shapedRunComparatorInputs,r as shapingEnvironmentFingerprint,q as shapingEnvironmentFingerprintInputs,Ya as shownMarkRevision,Wd as spanOffsetX,lf as spansInSelection,Bc as storyBlocks,ra as styleForFontSlot,Ce as syntheticSeparatorBox,Sb as tabAdvanceWidth,Tb as tabStopsFingerprint,Dd as tableOriginX,Db as tocFieldChromeParagraphIds,Ga as unionLayoutBoxes,na as utf16OffsetToGrapheme,wc as walkStoryParagraphs,Pb as withDefaultTabInterval,uc as withNumberingStyleLinks,yc as withResolvedListItems,Se as wordBoundary}from'./chunk-XSHXBJ2J.js';import'./chunk-73PG6L2X.js';export{ya as activeReviewItem,Ha as commentBodyText,Ja as commentInitials,va as firstReviewRange,d as mapSymbolPuaText,ta as reviewItemKey,wa as reviewItemPositionRank,ua as reviewItemRanges,xa as reviewItemsAt,za as reviewThreadRootOf}from'./chunk-L6V3IJ3S.js';export{Ec as MAX_SDT_NESTING,Ki as MAX_TABLE_COLUMNS,Ch as W15_NAMESPACE_URI,Jc as collectFlowBlocks,Ic as contentControlContentChildren,Fc as isContentControl,Gc as isContentControlContent,nj as paragraphOrderOfPart,a as sha256FontBytes}from'./chunk-DDGGSBAN.js';
1
+ export{N as DEFAULT_CANVAS_FONT_STACK,b as HARFBUZZ_SHAPING_LIBRARY,e as HarfBuzzShapingError,i as LayoutShapingConfigurationError,I as ResolvedCache,x as WORD_SEGMENTER_LOCALE,W as anchorLineY,A as boundedFallbackWordSegments,G as captureOperationSnapshot,da as cellSelectionBetween,ha as cellSelectionRects,ia as cellSelectionText,V as contentControlBoundaries,B as createBoundedFallbackWordBoundary,C as createDefaultWordBoundary,g as createHarfBuzzTextShaper,z as createIntlWordBoundary,ca as createLayoutScheduler,aa as createLayoutShapedMeasurer,p as createLayoutShaping,$ as createShapedMeasurer,r as disposeLayoutShaping,J as exportSourceRangeOf,K as forEachSemanticSpan,H as guardOperationSnapshot,f as harfBuzzFontValidator,c as initializeHarfBuzz,P as isCanvasMeasurementAvailable,v as isCumulativeGeometryTrustedFromLineOrigin,u as isGeometryTrustedCaretOffset,d as isHarfBuzzInitialized,y as isIntlWordSegmenterAvailable,t as isWholeGraphemeHorizontalBoundary,o as layoutFontConfigurationFingerprint,S as pageRefPageNumbersFromLayout,ba as pagesToMaterialize,fa as paragraphsInCells,T as planRefFieldResultRefresh,m as prepareLayoutFontConfiguration,R as resolveDefaultSurfaceMeasurer,D as resolveDefaultWordBoundary,X as reviewAnchorIndex,Y as reviewItemGeometry,a as roundFontUnitToFixedPoint,E as segmentWords,w as semanticHorizontalBoundaries,s as shapedHorizontalBoundaries,ga as spansInCells,ma as tabLeaderPattern,ja as tableContextAt,Q as tryCreateCanvasMeasurer,L as vectorShapeInkClip,F as wordSegmentsToGraphemeRecords}from'./chunk-2RC2EPND.js';export{a as setHarfBuzzWasmUrl}from'./chunk-RIYSCEFQ.js';export{L as AUTO_PARAGRAPH_SPACING_PT,Od as AUTO_PREFERRED_WIDTH,Pd as CELL_PAD,F as COMPOUND_BORDER_MIN_GAP_PT,E as COMPOUND_BORDER_MIN_STROKE_PT,Qd as DEFAULT_CELL_MARGINS,va as DEFAULT_PAGE_GEOMETRY,Za as DEFAULT_REVISION_DISPLAY_MODE,$ as DEFAULT_RUN_STYLE,Ic as DEFAULT_SECTION_PROPERTIES,tb as DEFAULT_TAB_INTERVAL_PT,sb as DEFAULT_TAB_INTERVAL_TWIPS,Wd as DEFAULT_VERTICAL_WEIGHT,nc as EMPTY_NUMBERING_INDEX,vb as EMPTY_TAB_STOPS,d as FontResolutionError,ia as GRAPHEME_SEGMENTER_LOCALE,c as HARD_MAX_AGGREGATE_FONT_BYTES,a as HARD_MAX_FONT_BYTES,b as HARD_MAX_FONT_SOURCES,K as MAX_BORDER_SPACE_PT,J as MAX_BORDER_WIDTH_PT,Hc as MAX_DOCUMENT_SECTIONS,yf as MAX_EACH_PAGE_MARK_CANDIDATES,kc as MAX_LVL_OVERRIDES,Lb as MAX_LVL_TEXT_LENGTH,Kb as MAX_MARKER_TEXT_LENGTH,kf as MAX_NOTES_LAID_OUT,lf as MAX_NOTE_FRAGMENTS,xf as MAX_NOTE_OVERFLOW_PAGES,wf as MAX_NOTE_REFLOW_ATTEMPTS,jc as MAX_NUMBERING_DEFINITIONS,I as MAX_PARAGRAPH_SPACING_PT,o as MAX_SHAPING_CONTEXT,Ib as MAX_STYLE_BASED_ON_DEPTH,gd as MAX_STYLE_DEFINITIONS,Gd as MAX_TABLE_BORDER_STROKES,Sd as MAX_TABLE_NESTING,Te as MAX_TABLE_ROW_FRAGMENTS,Td as MAX_TABLE_ROW_HEIGHT_PT,rb as MAX_TAB_POSITION_TWIPS,qb as MAX_TAB_STOPS,Dc as PAGE_BORDER_SIDES,N as PARAGRAPH_BORDER_SIDES,M as SINGLE_LINE_SPACING,ub as TAB_LEADER_GLYPH,Ue as TablePaginationError,sa as UnsupportedScriptError,_ as appliedSpaceBefore,R as applyLineSpacing,Df as attachNotesToLayout,ea as baselineShiftPtOf,Nd as borderExtentPt,Kd as borderWeight,X as bottomBorderExtentPt,l as boundedStructuralFontValidator,lc as buildNumberingIndex,Af as buildPageRefIndex,hd as buildStyleCascadeTable,ne as caretAt,ee as caretBoxOnLine,le as caretStops,me as caretStopsForBlocks,id as cascadeParagraphFormatting,ld as cascadeRunProperties,kd as cascadedBottomBorder,U as cascadedParagraphBorders,wb as cascadedTabStops,Mb as clampListValue,Z as collapsedSpaceBefore,se as compositionAnchor,G as computeDoubleBorderMetricsPt,Cf as computeFootnoteReserves,be as contentControlAtPoint,ke as contentControlAtSemantic,df as contentControlHoldingParagraph,cf as contentControlRecordsInPart,oe as contentControlsInLayout,Ia as contentControlsOfLayout,Ye as createDocumentFurnitureSource,$e as createDocumentLinkProjectors,Ze as createDocumentNotesInput,Ke as createDocumentStyleDependencies,af as createFieldLinkRegistry,ha as createFixedMeasurer,m as createFontResourceSnapshot,Gf as createLayoutSession,oc as createListCounterState,Ge as createParagraphLayoutCache,s as createShapedRun,p as createShapingEnvironment,rf as defaultNoteSeparatorRuleStyle,zb as defaultTabIntervalFromSettings,qe as deletedTextBoundaries,Ac as deriveNoteDisplayMarks,Bc as deriveNoteDisplayMarksResolved,ba as displayText,Ra as documentOrder,_e as documentRelationshipTargetIn,Fd as effectiveBorderSide,Ka as effectiveContentControlLock,mb as emptyTocPlaceholderParagraphIds,nb as emptyTocSuppressedResultParagraphIds,Oc as enumerateDocumentSections,Qc as enumerateDocumentSectionsBounded,Sa as everyStoryOrder,Ub as expandLvlText,Bf as filterRefsOnPage,fe as findDrawingOverlayFrameInLayout,of as findSeparatorNote,n as fixedPoint,h as fontRequestKey,Ea as forEachSemanticDrawing,Ca as forEachSemanticStory,Fa as forEachStoryParagraphFragment,Nb as formatDecimal,Ob as formatDecimalZero,Sb as formatLowerLetter,Qb as formatLowerRoman,Tb as formatNumFmt,ec as formatPageNumber,hb as formatRevisionOf,Rb as formatUpperLetter,Pb as formatUpperRoman,zf as fragmentOwnsAtomOffset,Ga as fragmentsOfParagraph,Rc as geometryOfSection,fa as glyphSizeFactorOf,la as graphemeBoundaryEpoch,pa as graphemeCount,ra as graphemeOffsetToUtf16,_d as hitTestPage,je as hitTestSemantic,ae as hitTestSheet,ka as intlGraphemeBoundary,Yd as isFurniturePoint,ja as isIntlSegmenterAvailable,sf as isMarkerOnlySeparatorNote,Gb as isValidStyleId,ta as itemizeScriptFontSlots,we as keyedRangeRects,ad as layoutEquation,Xe as layoutHeaderFooterStory,qf as layoutNoteById,tf as layoutNoteSeparator,pf as layoutNoteStory,Hf as layoutSemanticDocument,Ha as lineAtPosition,ce as lineEndOffset,La as lineSegments,za as linesOf,tc as listMarkerBox,fb as markRevisionRemovesMark,ca as measureDisplayText,xc as mergeListIndent,re as moveCaret,Ab as nextTabDestination,nf as normalNotesOf,Cc as noteDisplayMarkMap,mf as noteLineIdPrefix,Zc as noteMarkKey,vf as noteSeparatorAreaBox,jf as noteSeparatorRuleBox,rd as noteStoryBlocks,Xd as pageAtY,if as pageBorderFrame,Fc as pageBordersFingerprint,W as paragraphBorderExtentPt,V as paragraphBorderStrokeWidthPt,T as paragraphBorders,Y as paragraphBordersFingerprint,H as paragraphBreaksBefore,S as paragraphContextualSpacing,xa as paragraphFragmentsOf,ya as paragraphFragmentsOfBlocks,Fe as paragraphLayoutKey,Q as paragraphLineSpacing,pc as paragraphMarkDeleted,db as paragraphMarkFormatRevisionOf,gb as paragraphMarkRevisionOf,cb as paragraphMarkRevisionsOf,Mc as paragraphSectionNode,A as paragraphShading,B as paragraphShadingBox,P as paragraphSpacing,xb as paragraphTabStops,pe as paragraphTextFromLayout,cc as parseAutonumInstruction,Ec as parsePageBorders,Jc as parsePageNumbering,bc as parseRefInstruction,Kc as parseSectionProperties,wd as positionPastDeletion,_c as projectedNoteMarkText,Pc as projectedSectionSourceIndexes,Ef as provisionalNoteMarks,Hd as readBorderSide,Jd as readCellBorders,vc as readNumPr,Nc as readSectionProperties,Id as readTableBorders,Ud as readTableStructure,oa as resetGraphemeBoundary,Ld as resolveBorderConflict,mc as resolveNumberingLevel,y as resolveOoxmlShadingFill,md as resolveParagraphLayoutInputs,aa as resolveRunStyle,yc as resolveStoryListItems,Uc as resolveStoryRefFields,x as resolveStrictHexFill,Md as resolveTableCellBorderGrid,ab as revisionAuthorFilter,rc as revisionRemovesParagraph,ib as revisionsAreDeletion,bb as revisionsVisible,Fb as runBorderStrokesForLine,da as runStylesEqual,ma as segmentGraphemes,ue as selectionRects,na as setGraphemeBoundary,z as shadingFillFromElement,t as shapedRunComparatorInputs,r as shapingEnvironmentFingerprint,q as shapingEnvironmentFingerprintInputs,eb as shownMarkRevision,de as spanOffsetX,te as spansInSelection,qd as storyBlocks,ua as styleForFontSlot,uf as syntheticSeparatorBox,Bb as tabAdvanceWidth,Cb as tabStopsFingerprint,Rd as tableOriginX,lb as tocFieldChromeParagraphIds,Ja as unionLayoutBoxes,qa as utf16OffsetToGrapheme,dc as walkStoryParagraphs,yb as withDefaultTabInterval,wc as withNumberingStyleLinks,zc as withResolvedListItems,he as wordBoundary}from'./chunk-FRXAOVTB.js';import'./chunk-TSLBZ26X.js';import'./chunk-J6BVWIDB.js';export{Tc as MAX_SDT_NESTING,$i as MAX_TABLE_COLUMNS,Yh as W15_NAMESPACE_URI,Cj as activeReviewItem,Yc as collectFlowBlocks,Lj as commentBodyText,Nj as commentInitials,Xc as contentControlContentChildren,zj as firstReviewRange,Uc as isContentControl,Vc as isContentControlContent,d as mapSymbolPuaText,kj as paragraphOrderOfPart,xj as reviewItemKey,Aj as reviewItemPositionRank,yj as reviewItemRanges,Bj as reviewItemsAt,Dj as reviewThreadRootOf,f as sha256FontBytes}from'./chunk-4R3TEXMN.js';
@@ -1,4 +1,4 @@
1
- import { O as OoxmlPart, N as OoxmlNode, Q as OoxmlPackage } from './types-barrel-BO73JqHG.js';
1
+ import { O as OoxmlPart, N as OoxmlNode, Q as OoxmlPackage } from './types-barrel-D3xCgQX6.js';
2
2
 
3
3
  /** `w:pos` — where a section's footnotes are laid out. */
4
4
  type FootnotePosition = 'pageBottom' | 'beneathText' | 'sectEnd' | 'docEnd';
@@ -1,4 +1,4 @@
1
- import { U as OoxmlNodeId, V as OoxmlGenericElementNode, N as OoxmlNode } from './types-barrel-BO73JqHG.js';
1
+ import { U as OoxmlNodeId, V as OoxmlGenericElementNode, N as OoxmlNode } from './types-barrel-D3xCgQX6.js';
2
2
 
3
3
  /** Office Math Markup Language namespace. */
4
4
  declare const OFFICE_MATH_NAMESPACE_URI = "http://schemas.openxmlformats.org/officeDocument/2006/math";
package/dist/output.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkNS22DVWT_cjs=require('./chunk-NS22DVWT.cjs');require('./chunk-TKR2MXX4.cjs'),require('./chunk-UJL2GDIM.cjs'),require('./chunk-CYT3OQFZ.cjs'),require('./chunk-SUN62YU6.cjs'),require('./chunk-ANZ44KQT.cjs');Object.defineProperty(exports,"DEFAULT_FIELD_SHADING",{enumerable:true,get:function(){return chunkNS22DVWT_cjs.j}});Object.defineProperty(exports,"paintSelectionOverlay",{enumerable:true,get:function(){return chunkNS22DVWT_cjs.o}});Object.defineProperty(exports,"paintSemanticLayout",{enumerable:true,get:function(){return chunkNS22DVWT_cjs.m}});
1
+ 'use strict';var chunkEO4C5QJW_cjs=require('./chunk-EO4C5QJW.cjs');require('./chunk-6APGXLBB.cjs'),require('./chunk-4GBTELJV.cjs'),require('./chunk-O2AL2HSJ.cjs'),require('./chunk-JGNVNT2A.cjs'),require('./chunk-FIJZIQXA.cjs');Object.defineProperty(exports,"DEFAULT_FIELD_SHADING",{enumerable:true,get:function(){return chunkEO4C5QJW_cjs.k}});Object.defineProperty(exports,"collectPageChangeBars",{enumerable:true,get:function(){return chunkEO4C5QJW_cjs.f}});Object.defineProperty(exports,"paintSelectionOverlay",{enumerable:true,get:function(){return chunkEO4C5QJW_cjs.p}});Object.defineProperty(exports,"paintSemanticLayout",{enumerable:true,get:function(){return chunkEO4C5QJW_cjs.n}});
package/dist/output.d.ts CHANGED
@@ -1,11 +1,22 @@
1
- import { R as ReviewAuthorInfo } from './semantic-paint-Bk9wIXdZ.js';
2
- export { D as DEFAULT_FIELD_SHADING, F as FieldShadingMode, P as PaintOptions, a as RevisionAuthorAssignments, b as RevisionAuthorStyle, c as RevisionStyles, p as paintSemanticLayout } from './semantic-paint-Bk9wIXdZ.js';
3
- import { S as SemanticLayout } from './semantic-records-COqi8pjP.js';
4
- import './image-resources-DfagDguq.js';
5
- import './types-barrel-BO73JqHG.js';
1
+ /**
2
+ * `@docx-editor.dev/core/output` — painting a layout into DOM.
3
+ *
4
+ * The painted pages ARE the editable surface, but the DOM is a picture: browser mutations are
5
+ * prevented and re-expressed as tree ops, and selection maps only through `data-paragraph-id`
6
+ * and `data-start`.
7
+ *
8
+ * @packageDocumentation
9
+ * @public
10
+ */
11
+ import { R as ReviewAuthorInfo } from './semantic-paint-BME37OMv.js';
12
+ export { C as ChangeBarsMode, D as DEFAULT_FIELD_SHADING, F as FieldShadingMode, P as PageChangeBars, a as PaintOptions, b as RevisionAuthorAssignments, c as RevisionAuthorStyle, d as RevisionStyles, e as collectPageChangeBars, p as paintSemanticLayout } from './semantic-paint-BME37OMv.js';
13
+ import { S as SemanticLayout } from './semantic-records-4B3WwFAi.js';
14
+ import './revision-projection-DZ4kKVev.js';
15
+ import './types-barrel-D3xCgQX6.js';
6
16
  import './editor-scope-OHPwVQ5l.js';
7
- import './revision-projection-DfWxdBqA.js';
8
- import './omml-equation-CZ6IG2ja.js';
17
+ import './semantic-record-queries-CBlZqZNa.js';
18
+ import './image-resources-BN-hUgCn.js';
19
+ import './omml-equation-CuzBL5DD.js';
9
20
 
10
21
  /** A rectangle in page-content coordinates, on a named page. */
11
22
  interface OverlayRect {
package/dist/output.js CHANGED
@@ -1 +1 @@
1
- export{j as DEFAULT_FIELD_SHADING,o as paintSelectionOverlay,m as paintSemanticLayout}from'./chunk-AN6WM4X4.js';import'./chunk-EEAV3WIN.js';import'./chunk-RIYSCEFQ.js';import'./chunk-XSHXBJ2J.js';import'./chunk-73PG6L2X.js';import'./chunk-L6V3IJ3S.js';import'./chunk-DDGGSBAN.js';
1
+ export{k as DEFAULT_FIELD_SHADING,f as collectPageChangeBars,p as paintSelectionOverlay,n as paintSemanticLayout}from'./chunk-KKIJG3C6.js';import'./chunk-2RC2EPND.js';import'./chunk-RIYSCEFQ.js';import'./chunk-FRXAOVTB.js';import'./chunk-TSLBZ26X.js';import'./chunk-J6BVWIDB.js';import'./chunk-4R3TEXMN.js';
@@ -1,5 +1,5 @@
1
- import { a6 as AutomationTableMutation, a3 as RevisionBatchResult } from './types-barrel-BO73JqHG.js';
2
- import { e as HeaderFooterVariant, N as NoteKind } from './tree-package-fragment-YPyYC1aD.js';
1
+ import { a9 as AutomationTableMutation, a6 as RevisionBatchResult, a3 as RevisionAuthorResult } from './types-barrel-D3xCgQX6.js';
2
+ import { c as HeaderFooterVariant, N as NoteKind } from './tree-package-fragment-BeeKxDw8.js';
3
3
 
4
4
  /** Word's shape types, as `Word.ShapeType` spells them. */
5
5
  type AutomationShapeType = 'TextBox' | 'GeometricShape' | 'Picture' | 'Group' | 'Canvas' | 'Unsupported';
@@ -25,6 +25,11 @@ interface AutomationInlinePictureWrite {
25
25
 
26
26
  /** Alignment as this protocol publishes it. `Mixed`/`Unknown` are read-only answers. */
27
27
  type AutomationAlignment = 'Mixed' | 'Unknown' | 'Left' | 'Centered' | 'Right' | 'Justified';
28
+ /**
29
+ * A paragraph's base direction (`w:bidi`) as this protocol publishes it: the direction the
30
+ * paragraph reads in, after its style cascade.
31
+ */
32
+ type AutomationReadingOrder = 'LeftToRight' | 'RightToLeft';
28
33
  /**
29
34
  * What a range agrees about its characters' formatting.
30
35
  *
@@ -78,6 +83,8 @@ interface AutomationParagraphFormatRead {
78
83
  readonly spaceBefore: number | null;
79
84
  readonly spaceAfter: number | null;
80
85
  readonly widowControl: boolean | null;
86
+ /** The direction the paragraph reads in: its own `w:bidi` if any, else the style cascade's. */
87
+ readonly readingOrder: AutomationReadingOrder;
81
88
  }
82
89
  /**
83
90
  * A paragraph-property write. Every field optional; omitted means "leave alone".
@@ -103,6 +110,12 @@ interface AutomationParagraphFormatWrite {
103
110
  readonly spaceBefore?: number;
104
111
  readonly spaceAfter?: number;
105
112
  readonly widowControl?: boolean;
113
+ /**
114
+ * The direction the paragraph should read in. Nothing is written when it already does. Else the
115
+ * paragraph's own `w:bidi` is removed when that alone set the other direction, or stated:
116
+ * `<w:bidi/>`, or `<w:bidi w:val="0"/>` over a right-to-left style.
117
+ */
118
+ readonly readingOrder?: AutomationReadingOrder;
106
119
  }
107
120
 
108
121
  declare const MEMBERS: {
@@ -677,9 +690,10 @@ type AutomationOperation = AutomationAuthoringOperation | {
677
690
  /**
678
691
  * The header or footer story a section declares or inherits, as a BODY.
679
692
  *
680
- * A variant the document has neither declared nor inherited is refused: minting the part would
681
- * make a read write, and a header that exists only because it was asked about is a header the
682
- * document did not have.
693
+ * A variant the document has neither declared nor inherited is still answered, as an empty
694
+ * body: every read on it answers what it answers for an empty story. Asking does not create
695
+ * the part. The first text written into the body creates it; any other write that would change
696
+ * the body is refused until then.
683
697
  */
684
698
  | {
685
699
  readonly op: 'getFurniture';
@@ -983,6 +997,19 @@ type AutomationOperation = AutomationAuthoringOperation | {
983
997
  readonly action: 'accept' | 'reject';
984
998
  readonly revisions?: readonly AutomationHandle[];
985
999
  }
1000
+ /**
1001
+ * Attribute pending decisions in one story to another author, keeping them pending. Omit
1002
+ * revisions to select every canonical decision. `date` is `xsd:dateTime`; omitted keeps each.
1003
+ */
1004
+ | {
1005
+ readonly op: 'setRevisionAuthorBatch';
1006
+ readonly body: AutomationHandle;
1007
+ readonly author: string;
1008
+ readonly date?: string;
1009
+ readonly revisions?: readonly AutomationHandle[];
1010
+ /** Keep only changes these authors made. Not allowed with `revisions`. */
1011
+ readonly authors?: readonly string[];
1012
+ }
986
1013
  /** Word's name for the kind of change: `Insert`, `Delete`, `Replace`, `Property`, … */
987
1014
  | {
988
1015
  readonly op: 'getRevisionType';
@@ -1328,7 +1355,11 @@ interface AutomationCapabilities {
1328
1355
  * `stale-revision` must not retry an `invalid-handle`.
1329
1356
  */
1330
1357
  type AutomationErrorCode =
1331
- /** `expectedRevision` did not match the host's current revision; nothing was applied. */
1358
+ /**
1359
+ * Nothing was applied because the request was built from an older read: `expectedRevision`
1360
+ * did not match the host's current revision, or an endpoint's `readAt` names a position
1361
+ * that moved since. Read again before retrying; resending the same endpoints fails again.
1362
+ */
1332
1363
  'stale-revision'
1333
1364
  /** A handle this host never minted, or one naming a different kind of object. */
1334
1365
  | 'invalid-handle'
@@ -1405,6 +1436,13 @@ interface AutomationEndpoint {
1405
1436
  */
1406
1437
  readonly paragraph: AutomationHandle;
1407
1438
  readonly offset: number;
1439
+ /**
1440
+ * The host revision this endpoint was read at. Hosts stamp every endpoint they answer with
1441
+ * it; send it back unchanged. An endpoint whose paragraph text changed since then is refused
1442
+ * with `stale-revision` instead of addressing whatever text now sits at its offset. Omit it
1443
+ * for an endpoint built by hand, which the host then takes as current.
1444
+ */
1445
+ readonly readAt?: number;
1408
1446
  }
1409
1447
  /** A stretch of a story between two endpoints, in reading order. */
1410
1448
  interface AutomationSpan {
@@ -1415,6 +1453,9 @@ interface AutomationSpan {
1415
1453
  type AutomationValue = {
1416
1454
  readonly kind: 'revisionBatch';
1417
1455
  readonly result: RevisionBatchResult;
1456
+ } | {
1457
+ readonly kind: 'revisionAuthors';
1458
+ readonly result: RevisionAuthorResult;
1418
1459
  } | {
1419
1460
  readonly kind: 'field';
1420
1461
  readonly field: {
@@ -1607,4 +1648,4 @@ interface AutomationHost {
1607
1648
  dispose(): void;
1608
1649
  }
1609
1650
 
1610
- export type { AutomationOperation as A, AutomationPoint as B, AutomationSaveResult as C, AutomationSearchOptions as D, AutomationSelectionMode as E, AutomationSpan as F, AutomationSpanRef as G, AutomationTextProjection as H, AutomationUnsubscribe as I, AutomationValue as J, AutomationCapabilities as a, AutomationHost as b, AutomationAlignment as c, AutomationBatchRequest as d, AutomationBatchResponse as e, AutomationChangeEvent as f, AutomationContentControlLock as g, AutomationContentControlRangeLocation as h, AutomationContentControlScope as i, AutomationContentControlSubtype as j, AutomationContentControlValue as k, AutomationError as l, AutomationErrorCode as m, AutomationFontRead as n, AutomationFontWrite as o, AutomationHandle as p, AutomationHandleRef as q, AutomationObjectKind as r, AutomationOperationKind as s, AutomationOperationResult as t, AutomationPageOrientation as u, AutomationPageSetupRead as v, AutomationPageSetupWrite as w, AutomationParagraphFormatRead as x, AutomationParagraphFormatWrite as y, AutomationParagraphRef as z };
1651
+ export type { AutomationOperation as A, AutomationPoint as B, AutomationReadingOrder as C, AutomationSaveResult as D, AutomationSearchOptions as E, AutomationSelectionMode as F, AutomationSpan as G, AutomationSpanRef as H, AutomationTextProjection as I, AutomationUnsubscribe as J, AutomationValue as K, AutomationCapabilities as a, AutomationHost as b, AutomationAlignment as c, AutomationBatchRequest as d, AutomationBatchResponse as e, AutomationChangeEvent as f, AutomationContentControlLock as g, AutomationContentControlRangeLocation as h, AutomationContentControlScope as i, AutomationContentControlSubtype as j, AutomationContentControlValue as k, AutomationError as l, AutomationErrorCode as m, AutomationFontRead as n, AutomationFontWrite as o, AutomationHandle as p, AutomationHandleRef as q, AutomationObjectKind as r, AutomationOperationKind as s, AutomationOperationResult as t, AutomationPageOrientation as u, AutomationPageSetupRead as v, AutomationPageSetupWrite as w, AutomationParagraphFormatRead as x, AutomationParagraphFormatWrite as y, AutomationParagraphRef as z };
@@ -0,0 +1,128 @@
1
+ /**
2
+ * When the review pane opens by itself.
3
+ *
4
+ * - `'auto'`: the pane opens when a document with review items loads, and when a tracked
5
+ * change is made while it is closed, in both cases when the pane has items to list. With
6
+ * `revisionsIn: 'balloons'` the pane lists no tracked change and no reply to one, so
7
+ * tracked changes and their replies alone do not open it.
8
+ * - `'manual'`: the pane stays closed until the host or the user opens it. Use it when the
9
+ * host shows review items its own way, such as in balloons or margin markers.
10
+ *
11
+ * @public
12
+ */
13
+ type ReviewPaneOpening = 'auto' | 'manual';
14
+ /**
15
+ * What the open review pane does when its full card column does not fit beside the page at
16
+ * the page's zoom.
17
+ *
18
+ * - `'float'`: the pane shrinks to a strip of markers, and the open card floats over the
19
+ * page.
20
+ * - `'shrinkPage'`: under a fit zoom mode, the page may shrink down to the mode's
21
+ * `minZoom` (or 10%) so that the full column fits. The pane changes to the marker strip
22
+ * only when the column does not fit at that floor either. A fixed zoom behaves as
23
+ * `'float'`.
24
+ * - `'scroll'`: the page keeps the size it has beside the closed pane's marker strip, and
25
+ * the full column stands beside it. The document and the column scroll together: the
26
+ * viewport scrolls sideways to reach the cards.
27
+ *
28
+ * The setting applies to the review pane only. The navigation pane stays docked at its side
29
+ * in every mode: it never scrolls with the document, and it takes its room beside the page
30
+ * exactly as it does with no review pane.
31
+ *
32
+ * @public
33
+ */
34
+ type ReviewPaneOverflow = 'float' | 'shrinkPage' | 'scroll';
35
+ /**
36
+ * Where tracked changes open.
37
+ *
38
+ * - `'pane'`: the review pane lists tracked changes as cards beside the comments.
39
+ * - `'balloons'`: the pane lists comments only, except comments that reply to a tracked
40
+ * change: the change's balloon shows those. A tracked change opens in a balloon at its
41
+ * text when the reader clicks it, or when Next Change, Previous Change, or
42
+ * `setActiveReviewItem(key, { announce: true })` reaches it.
43
+ *
44
+ * @public
45
+ */
46
+ type RevisionDisplay = 'pane' | 'balloons';
47
+ /**
48
+ * How a collapsed comment marker looks.
49
+ *
50
+ * - `'initials'`: a badge with the thread author's initials in the author's color, a reply
51
+ * count, and a check mark when the thread is resolved.
52
+ * - `'icon'`: the comment icon.
53
+ *
54
+ * @public
55
+ */
56
+ type CommentMarkerStyle = 'initials' | 'icon';
57
+ /**
58
+ * Review pane settings to change. Every field is optional, and an omitted field keeps its
59
+ * current value.
60
+ *
61
+ * @public
62
+ */
63
+ interface ReviewPaneOptions {
64
+ /** Default `'auto'`. */
65
+ readonly opening?: ReviewPaneOpening;
66
+ /** Default `'float'`. */
67
+ readonly overflow?: ReviewPaneOverflow;
68
+ /** Default `'pane'`. */
69
+ readonly revisionsIn?: RevisionDisplay;
70
+ /** Default `'icon'`. */
71
+ readonly commentMarkers?: CommentMarkerStyle;
72
+ }
73
+ /**
74
+ * The review pane settings in force, with every field resolved.
75
+ *
76
+ * @public
77
+ */
78
+ interface ResolvedReviewPane {
79
+ /** When the pane opens by itself. */
80
+ readonly opening: ReviewPaneOpening;
81
+ /** What the open pane does when its card column does not fit beside the page. */
82
+ readonly overflow: ReviewPaneOverflow;
83
+ /** Where tracked changes open. */
84
+ readonly revisionsIn: RevisionDisplay;
85
+ /** How a collapsed comment marker looks. */
86
+ readonly commentMarkers: CommentMarkerStyle;
87
+ }
88
+ /** The settings an editor starts with when nothing sets them. @public */
89
+ declare const DEFAULT_REVIEW_PANE: ResolvedReviewPane;
90
+ /**
91
+ * Merge `options` over `base`. Throws a `TypeError` for an unknown field or value, so a
92
+ * misspelled setting fails loudly instead of being ignored. Returns `base` itself when
93
+ * nothing changes, so the snapshot keeps its reference.
94
+ *
95
+ * @public
96
+ */
97
+ declare function resolveReviewPane(options: ReviewPaneOptions | undefined, base?: ResolvedReviewPane): ResolvedReviewPane;
98
+ /**
99
+ * The fields of a review item that decide whether the review pane lists it. A
100
+ * `ReviewItem` and a review item placement both have them.
101
+ *
102
+ * @public
103
+ */
104
+ interface ReviewPaneItemFields {
105
+ /** The item kind, as `ReviewItem.kind` gives it. */
106
+ readonly kind: 'revision' | 'comment' | 'custom';
107
+ /** For a comment, the tracked change it replies to. */
108
+ readonly parentRevisionId?: string;
109
+ }
110
+ /**
111
+ * Whether the review pane lists a card for `item` under `revisionsIn`.
112
+ *
113
+ * With `'balloons'`, a balloon at the text shows every tracked change and every comment
114
+ * that replies to a tracked change, so the pane lists neither. Give the item as an
115
+ * unfiltered `getReviewItems()` read returns it: a query that excludes revision kinds
116
+ * removes `parentRevisionId` from replies to the changes it drops.
117
+ *
118
+ * The engine applies this rule to every review item when it decides whether the pane opens
119
+ * by itself or closes after a settings change. A review pane must apply the same rule before
120
+ * its own filters, such as a hidden kind or a host filter. Those filters can hide every card,
121
+ * and then the pane that the engine opens is empty.
122
+ *
123
+ * @public
124
+ */
125
+ declare function reviewPaneListsItem(revisionsIn: RevisionDisplay, item: ReviewPaneItemFields): boolean;
126
+
127
+ export { DEFAULT_REVIEW_PANE as D, reviewPaneListsItem as f, resolveReviewPane as r };
128
+ export type { CommentMarkerStyle as C, ReviewPaneOptions as R, ResolvedReviewPane as a, ReviewPaneOverflow as b, ReviewPaneItemFields as c, ReviewPaneOpening as d, RevisionDisplay as e };
@@ -1,4 +1,4 @@
1
- import { N as OoxmlNode, Z as OoxmlElement, _ as OoxmlContentControlNode, V as OoxmlGenericElementNode, $ as OoxmlContentControlContentNode, C as CommentRecord, O as OoxmlPart } from './types-barrel-BO73JqHG.js';
1
+ import { N as OoxmlNode, Z as OoxmlElement, _ as OoxmlContentControlNode, V as OoxmlGenericElementNode, $ as OoxmlContentControlContentNode, C as CommentRecord, O as OoxmlPart } from './types-barrel-D3xCgQX6.js';
2
2
 
3
3
  /** Nested content-control wrappers deeper than this stop flattening; content stays preserved. */
4
4
  declare const MAX_CONTENT_CONTROL_NESTING = 32;
@@ -63,7 +63,10 @@ declare function walkParagraphInline(children: readonly OoxmlNode[], depth: numb
63
63
  * run walk.
64
64
  */
65
65
  declare function commentBodyText(comment: CommentRecord): string;
66
- /** Author initials for an avatar, from `@w:initials` or the name. */
66
+ /**
67
+ * Author initials for an avatar, from `@w:initials` or the name, at most three characters.
68
+ * Characters are code points, so a surrogate pair is never split.
69
+ */
67
70
  declare function commentInitials(comment: CommentRecord): string;
68
71
 
69
72
  /**
@@ -1,4 +1,74 @@
1
- import { N as OoxmlNode } from './types-barrel-BO73JqHG.js';
1
+ import { N as OoxmlNode } from './types-barrel-D3xCgQX6.js';
2
+
3
+ /** Named revision colors. Identifiers are stable and never contain CSS. @public */
4
+ declare const REVISION_MARKUP_COLORS: readonly ['black', 'blue', 'turquoise', 'green', 'pink', 'red', 'yellow', 'white', 'darkBlue', 'teal', 'darkGreen', 'violet', 'darkRed', 'darkYellow', 'gray50', 'gray25', 'lightBlue', 'lightYellow', 'lightOrange', 'lightPurple', 'lightGreen', 'gray'];
5
+ /** @public */
6
+ type RevisionMarkupNamedColor = (typeof REVISION_MARKUP_COLORS)[number];
7
+ /** @public */
8
+ type RevisionMarkupColor = RevisionMarkupNamedColor | 'byAuthor' | 'auto';
9
+ /** @public */
10
+ type RevisionMarkupMark = 'none' | 'colorOnly' | 'bold' | 'italic' | 'underline' | 'doubleUnderline' | 'strikethrough' | 'doubleStrikethrough';
11
+ /** @public */
12
+ type RevisionDeletionMark = RevisionMarkupMark | 'hidden' | 'caret' | 'pound';
13
+ /** @public */
14
+ type RevisionChangedLinesMark = 'none' | 'leftBorder' | 'rightBorder' | 'outsideBorder';
15
+ /** @public */
16
+ interface RevisionMarkupStyle<Mark extends string = RevisionMarkupMark> {
17
+ readonly mark: Mark;
18
+ readonly color: RevisionMarkupColor;
19
+ }
20
+ /** Viewer-only text styling. Document highlighting remains unchanged. @public */
21
+ interface RevisionMarkupTextStyle<Mark extends string = RevisionMarkupMark> extends RevisionMarkupStyle<Mark> {
22
+ /** Background color behind revision text. Defaults to `none`. */
23
+ readonly background: RevisionMarkupNamedColor | 'byAuthor' | 'none';
24
+ }
25
+ /** Fully resolved, immutable viewer preferences. @public */
26
+ interface ResolvedRevisionMarkup {
27
+ readonly insertions: RevisionMarkupTextStyle;
28
+ readonly deletions: RevisionMarkupTextStyle<RevisionDeletionMark>;
29
+ readonly movedFrom: RevisionMarkupTextStyle<RevisionDeletionMark>;
30
+ readonly movedTo: RevisionMarkupTextStyle;
31
+ readonly formatting: RevisionMarkupTextStyle;
32
+ readonly changedLines: RevisionMarkupStyle<RevisionChangedLinesMark>;
33
+ readonly cells: {
34
+ readonly inserted: RevisionMarkupNamedColor | 'byAuthor' | 'none';
35
+ readonly deleted: RevisionMarkupNamedColor | 'byAuthor' | 'none';
36
+ readonly merged: RevisionMarkupNamedColor | 'byAuthor' | 'none';
37
+ readonly split: RevisionMarkupNamedColor | 'byAuthor' | 'none';
38
+ };
39
+ readonly trackMoves: boolean;
40
+ readonly trackFormatting: boolean;
41
+ }
42
+ /** Partial viewer preferences. Omitted values keep the previous value. @public */
43
+ type RevisionMarkupOptions = {
44
+ readonly [K in keyof ResolvedRevisionMarkup]?: ResolvedRevisionMarkup[K] extends boolean ? boolean : Partial<ResolvedRevisionMarkup[K]>;
45
+ };
46
+ /** Initial viewer preferences. @public */
47
+ declare const DEFAULT_REVISION_MARKUP: ResolvedRevisionMarkup;
48
+ /** Validate and merge preferences without modifying the input. @public */
49
+ declare function resolveRevisionMarkup(input?: RevisionMarkupOptions, previous?: ResolvedRevisionMarkup): ResolvedRevisionMarkup;
50
+ /** A local settings draft owned by the editor. @public */
51
+ interface RevisionMarkupDialogSession {
52
+ /** Aborts on close, replacement, load, detach, destroy, or renderer disposal. */
53
+ readonly signal: AbortSignal;
54
+ /** Read the immutable draft. */
55
+ get(): ResolvedRevisionMarkup;
56
+ /** Merge validated options into the draft without committing preferences. */
57
+ set(options: RevisionMarkupOptions): void;
58
+ /** Restore default preferences in the draft only. */
59
+ reset(): void;
60
+ /** Observe draft changes, including effective external preference changes. */
61
+ subscribe(listener: () => void): () => void;
62
+ canApply(): boolean;
63
+ /** Commit the draft and close. Returns false after cancellation. */
64
+ apply(): boolean;
65
+ /** Close without committing the draft. */
66
+ cancel(): void;
67
+ }
68
+ /** Host rendering for the Track changes options dialog. @public */
69
+ interface RevisionMarkupChromeHandlers {
70
+ readonly onRequest?: (session: RevisionMarkupDialogSession) => void;
71
+ }
2
72
 
3
73
  /**
4
74
  * What a revision wrapper asserts about the content inside it.
@@ -59,6 +129,7 @@ declare const DEFAULT_REVISION_DISPLAY_MODE: RevisionDisplayMode;
59
129
  * delimiter-based key.
60
130
  */
61
131
  interface RevisionFilter {
132
+ readonly revisionMarkup?: ResolvedRevisionMarkup;
62
133
  readonly hiddenAuthors: ReadonlySet<string>;
63
134
  readonly includes?: (revision: RevisionAttribution) => boolean;
64
135
  readonly includesNode?: (nodeId: string, author: string) => boolean;
@@ -167,5 +238,5 @@ declare function formatRevisionOf(properties: readonly {
167
238
  /** True when this stack of revisions marks its content as deleted from the live document. */
168
239
  declare function revisionsAreDeletion(revisions: readonly RevisionAttribution[]): boolean;
169
240
 
170
- export { DEFAULT_REVISION_DISPLAY_MODE as D, formatRevisionOf as f, paragraphMarkRevisionOf as g, paragraphMarkRevisionsOf as h, revisionsAreDeletion as i, revisionsVisible as j, markRevisionRemovesMark as m, paragraphMarkFormatRevisionOf as p, revisionAuthorFilter as r, shownMarkRevision as s };
171
- export type { ReviewDisplayMode as R, RevisionDisplayMode as a, RevisionAuthorFilter as b, RevisionAttribution as c, RevisionFilter as d, RevisionKind as e };
241
+ export { revisionsVisible as A, shownMarkRevision as B, DEFAULT_REVISION_MARKUP as D, REVISION_MARKUP_COLORS as f, DEFAULT_REVISION_DISPLAY_MODE as p, resolveRevisionMarkup as r, formatRevisionOf as t, markRevisionRemovesMark as u, paragraphMarkFormatRevisionOf as v, paragraphMarkRevisionOf as w, paragraphMarkRevisionsOf as x, revisionAuthorFilter as y, revisionsAreDeletion as z };
242
+ export type { RevisionMarkupDialogSession as R, ReviewDisplayMode as a, RevisionDisplayMode as b, RevisionAuthorFilter as c, ResolvedRevisionMarkup as d, RevisionMarkupOptions as e, RevisionChangedLinesMark as g, RevisionDeletionMark as h, RevisionMarkupChromeHandlers as i, RevisionMarkupColor as j, RevisionMarkupMark as k, RevisionMarkupNamedColor as l, RevisionMarkupStyle as m, RevisionMarkupTextStyle as n, RevisionAttribution as o, RevisionFilter as q, RevisionKind as s };
@@ -1,7 +1,7 @@
1
- import { O as OoxmlPart, Z as OoxmlElement, N as OoxmlNode } from './types-barrel-BO73JqHG.js';
2
- import { a as RevisionDisplayMode, b as RevisionAuthorFilter } from './revision-projection-DfWxdBqA.js';
3
- import { b as SectionPageBorders, I as InlineDrawingRecord, A as AnchoredDrawingRecord, T as TextMeasurer, L as LineRecord, a as StyleSpanRecord, S as SemanticLayout, C as ContentControlBoundaryRecord, c as TableRowFragmentRecord, d as TableCellFragmentRecord } from './semantic-records-COqi8pjP.js';
4
- import { S as SemanticPosition, C as CaretGeometry, a as SemanticSelection } from './semantic-interaction-CvFAj0GR.js';
1
+ import { O as OoxmlPart, Z as OoxmlElement, N as OoxmlNode } from './types-barrel-D3xCgQX6.js';
2
+ import { b as RevisionDisplayMode, c as RevisionAuthorFilter } from './revision-projection-DZ4kKVev.js';
3
+ import { f as SectionPageBorders, I as InlineDrawingRecord, A as AnchoredDrawingRecord, T as TextMeasurer, L as LineRecord, e as StyleSpanRecord, S as SemanticLayout, C as ContentControlBoundaryRecord, g as TableRowFragmentRecord, h as TableCellFragmentRecord } from './semantic-records-4B3WwFAi.js';
4
+ import { S as SemanticPosition, C as CaretGeometry, a as SemanticSelection } from './semantic-interaction-CIC-PooQ.js';
5
5
 
6
6
  /** Page geometry, in points. */
7
7
  interface PageGeometry {
@@ -310,8 +310,10 @@ declare function hitTestSheet(layout: SemanticLayout, point: HitPoint, options?:
310
310
  */
311
311
  declare function contentControlAtPoint(layout: SemanticLayout, pageIndex: number, point: HitPoint): ContentControlBoundaryRecord | null;
312
312
  /**
313
- * Logical line end, excluding the wrap space or hard break whose following position
314
- * belongs to the next line. Page breaks are excluded even on the paragraph's last line.
313
+ * Logical line end, excluding a hard break, whose following position belongs to the next line.
314
+ * Trailing spaces of a soft wrap stay on the line: the end is after them, where End puts the
315
+ * caret, and the caret shows on this line through its line affinity. Page breaks are excluded
316
+ * even on the paragraph's last line.
315
317
  */
316
318
  declare function lineEndOffset(layout: SemanticLayout, line: LineRecord): number;
317
319
  /**
@@ -1,4 +1,17 @@
1
- import { T as TextMeasurer, S as SemanticLayout, B as BlockFragmentRecord, C as ContentControlBoundaryRecord, a as StyleSpanRecord } from './semantic-records-COqi8pjP.js';
1
+ import { T as TextMeasurer, S as SemanticLayout, B as BlockFragmentRecord, C as ContentControlBoundaryRecord, e as StyleSpanRecord } from './semantic-records-4B3WwFAi.js';
2
+
3
+ /** How `moveCaret` resolves a motion. */
4
+ interface MoveCaretOptions {
5
+ /** Precomputed active-story stops; body navigation keeps the indexed default. */
6
+ readonly stops?: readonly CaretGeometry[];
7
+ readonly measurer?: TextMeasurer;
8
+ /**
9
+ * The line the caret shows on (its line affinity), for an offset that ends one wrapped line
10
+ * and starts the next. Home, End, Up, and Down then start from that line. A line that does
11
+ * not hold the offset is ignored, and the default line for the offset applies.
12
+ */
13
+ readonly lineId?: string;
14
+ }
2
15
 
3
16
  /** A caret position in the model. */
4
17
  interface SemanticPosition {
@@ -56,35 +69,12 @@ interface CaretAtOptions {
56
69
  * (shared header/footer copies).
57
70
  */
58
71
  readonly preferredPageIndex?: number;
72
+ /** Prefer this visual line when one model boundary has several painted occurrences. */
73
+ readonly preferredLineId?: string;
59
74
  }
60
75
  /** Geometry for one model position, or null when it is not laid out. */
61
76
  declare function caretAt(layout: SemanticLayout, position: SemanticPosition, measurerOrOptions?: TextMeasurer | CaretAtOptions): CaretGeometry | null;
62
- /**
63
- * The caret position nearest a point, in PAGE-CONTENT coordinates.
64
- *
65
- * Never returns null for a point inside the document: a click in the margin, past the end of
66
- * a line, or below the last line still has an obvious intended caret, and refusing to answer
67
- * would make those clicks do nothing.
68
- *
69
- * The rules live in `semantic-hit-test.ts`, which answers with the cell address and the
70
- * on-glyphs flag a pointer controller needs too; this keeps the geometry-only shape for
71
- * callers that want nothing else.
72
- */
73
- declare function hitTestSemantic(layout: SemanticLayout, point: {
74
- readonly x: number;
75
- readonly y: number;
76
- readonly pageIndex?: number;
77
- }): CaretGeometry | null;
78
- /**
79
- * Innermost content-control boundary at a page-content point, or null outside every control.
80
- *
81
- * Prefers the deepest nesting depth when nested boundaries share geometry.
82
- */
83
- declare function contentControlAtSemantic(layout: SemanticLayout, point: {
84
- readonly x: number;
85
- readonly y: number;
86
- readonly pageIndex?: number;
87
- }): ContentControlBoundaryRecord | null;
77
+
88
78
  /** Layout-published content-control boundaries in document order. */
89
79
  declare function contentControlsInLayout(layout: SemanticLayout): readonly ContentControlBoundaryRecord[];
90
80
  /**
@@ -104,16 +94,17 @@ type NavigationCommand = 'left' | 'right' | 'up' | 'down' | 'wordLeft' | 'wordRi
104
94
  declare function paragraphTextFromLayout(layout: SemanticLayout, paragraphId: string): string;
105
95
  /** Visible deletion boundaries split words without changing canonical text offsets. */
106
96
  declare function deletedTextBoundaries(layout: SemanticLayout, paragraphId: string): ReadonlySet<number>;
107
- /** Story-scoped stops are required when navigating inside an open header or footer. */
108
- interface MoveCaretOptions {
109
- /** Precomputed active-story stops; body navigation keeps the indexed default. */
110
- readonly stops?: readonly CaretGeometry[];
111
- readonly measurer?: TextMeasurer;
112
- }
97
+
113
98
  /** Move a caret; vertical movement carries a desired X through shorter lines. */
114
99
  declare function moveCaret(layout: SemanticLayout, position: SemanticPosition, command: NavigationCommand, desiredX?: number | null, options?: MoveCaretOptions): {
115
100
  position: SemanticPosition;
116
101
  desiredX: number | null;
102
+ /**
103
+ * The line the caret shows on after the motion, when it is not the default line for the
104
+ * position (End at a wrap shows on the upper line). Pass it back as
105
+ * {@link MoveCaretOptions.lineId} and as `CaretAtOptions.preferredLineId`.
106
+ */
107
+ lineId?: string;
117
108
  } | null;
118
109
  /**
119
110
  * The anchor an IME composition is attached to.
@@ -140,5 +131,5 @@ declare function spansInSelection(layout: SemanticLayout, selection: SemanticSel
140
131
  */
141
132
  order: readonly string[]): StyleSpanRecord[];
142
133
 
143
- export { caretAt as d, caretStops as e, caretStopsForBlocks as f, compositionAnchor as g, contentControlAtSemantic as h, contentControlsInLayout as i, deletedTextBoundaries as j, hitTestSemantic as k, moveCaret as m, paragraphTextFromLayout as p, spansInSelection as s };
134
+ export { caretAt as d, caretStops as e, caretStopsForBlocks as f, compositionAnchor as g, contentControlsInLayout as h, deletedTextBoundaries as i, moveCaret as m, paragraphTextFromLayout as p, spansInSelection as s };
144
135
  export type { CaretGeometry as C, MoveCaretOptions as M, NavigationCommand as N, SemanticPosition as S, SemanticSelection as a, SelectionRect as b, CaretAtOptions as c };