@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.
Files changed (121) hide show
  1. package/README.md +1 -1
  2. package/THIRD_PARTY_NOTICES.md +1 -0
  3. package/dist/automation.cjs +1 -1
  4. package/dist/automation.d.ts +14 -52
  5. package/dist/automation.js +1 -1
  6. package/dist/binding.cjs +1 -1
  7. package/dist/binding.d.ts +14 -14
  8. package/dist/binding.js +1 -1
  9. package/dist/{chrome-print-CznJ0ucN.d.ts → chrome-print-DY0xsXm_.d.ts} +231 -125
  10. package/dist/chunk-37IYWENL.cjs +1 -0
  11. package/dist/chunk-37RNWL45.js +4 -0
  12. package/dist/chunk-5HUVQXET.cjs +4 -0
  13. package/dist/chunk-5JP3QQF7.js +7 -0
  14. package/dist/chunk-5KOLFKOB.cjs +5 -0
  15. package/dist/chunk-6MF5PN2E.js +236 -0
  16. package/dist/chunk-77JT2AU7.js +2 -0
  17. package/dist/{chunk-ETDZFNMI.js → chunk-7FUORGCW.js} +1 -1
  18. package/dist/chunk-A5BTVPET.cjs +236 -0
  19. package/dist/chunk-AFXFH2T2.js +3 -0
  20. package/dist/chunk-AVCYP7OY.js +5 -0
  21. package/dist/chunk-BL2E4QRA.js +1 -0
  22. package/dist/chunk-DB7X4Y6O.js +4 -0
  23. package/dist/chunk-DR6W23TB.cjs +2 -0
  24. package/dist/chunk-DYLB5U42.js +1 -0
  25. package/dist/chunk-E5BKDHIP.cjs +1 -0
  26. package/dist/chunk-IWXBRUPG.cjs +4 -0
  27. package/dist/{chunk-L5TYBFDB.js → chunk-KCUXXO3Q.js} +1 -1
  28. package/dist/chunk-KYA4Y2YB.js +1 -0
  29. package/dist/{chunk-6UDJUI3W.cjs → chunk-L74TCGVH.cjs} +1 -1
  30. package/dist/chunk-NBSSQSKY.js +30 -0
  31. package/dist/{chunk-OKMEMSKB.cjs → chunk-NEM774E3.cjs} +1 -1
  32. package/dist/chunk-NKZVMMHU.cjs +1 -0
  33. package/dist/chunk-TXIO5WYQ.cjs +32 -0
  34. package/dist/chunk-UKG2TXWH.cjs +7 -0
  35. package/dist/chunk-V7CO55DO.cjs +3 -0
  36. package/dist/chunk-VLQDQNSS.js +1 -0
  37. package/dist/chunk-VQOAC3VI.cjs +30 -0
  38. package/dist/chunk-YWJSQA2O.js +32 -0
  39. package/dist/chunk-ZJ74LCFI.cjs +1 -0
  40. package/dist/collaboration/replication.cjs +1 -1
  41. package/dist/collaboration/replication.d.ts +13 -4
  42. package/dist/collaboration/replication.js +1 -1
  43. package/dist/collaboration.d.ts +3 -3
  44. package/dist/contracts/document.d.ts +3 -3
  45. package/dist/contracts/editor.d.ts +10 -10
  46. package/dist/contracts/interaction.d.ts +2 -2
  47. package/dist/contracts/modules.d.ts +12 -12
  48. package/dist/contracts/types.d.ts +4 -4
  49. package/dist/{custom-node-writes-CLJKGD9t.d.ts → custom-node-writes-DparEcZK.d.ts} +45 -7
  50. package/dist/diagnostic-context-CkZKkKvB.d.ts +98 -0
  51. package/dist/{diagnostic-hints-DK8-V0fk.d.ts → diagnostic-hints-BTyb8yzX.d.ts} +3 -3
  52. package/dist/{document-protection-NaniLHWF.d.ts → document-protection-DdWxihIN.d.ts} +1 -1
  53. package/dist/{headless-document-view-Bcz9_Qva.d.ts → drawing-graphic-kind-CK0cMc7H.d.ts} +161 -18
  54. package/dist/drawing-preview-package-fFjXpOMS.d.ts +115 -0
  55. package/dist/{editor-DZwOTmlR.d.ts → editor-DDCkWqfD.d.ts} +125 -21
  56. package/dist/{editor-scope-B3L-1ALc.d.ts → editor-scope-CA6egMaK.d.ts} +5 -1
  57. package/dist/editor.cjs +1 -1
  58. package/dist/editor.css +4 -4
  59. package/dist/editor.d.ts +387 -78
  60. package/dist/editor.js +1 -1
  61. package/dist/export.cjs +2 -2
  62. package/dist/export.d.ts +47 -12
  63. package/dist/export.js +2 -2
  64. package/dist/{font-resolver-BlQNGdvR.d.ts → font-resolver-Bm9XqTNO.d.ts} +14 -0
  65. package/dist/index.cjs +1 -1
  66. package/dist/index.d.ts +38 -23
  67. package/dist/index.js +1 -1
  68. package/dist/{layout-shaping-E5J4Z1Gf.d.ts → layout-shaping-Byj-TwsI.d.ts} +1 -1
  69. package/dist/layout.cjs +1 -1
  70. package/dist/layout.d.ts +434 -199
  71. package/dist/layout.js +1 -1
  72. package/dist/metafile-drawing-Ce6TuWLm.d.ts +115 -0
  73. package/dist/{note-properties-Ds5R2_3F.d.ts → note-properties-BiunaIQa.d.ts} +31 -7
  74. package/dist/output.cjs +1 -1
  75. package/dist/output.d.ts +77 -13
  76. package/dist/output.js +1 -1
  77. package/dist/{protocol-DKa4qt7F.d.ts → protocol-Dn44dL4M.d.ts} +184 -120
  78. package/dist/{review-paragraph-order-Dc17w_6v.d.ts → review-paragraph-order-BWMXAKuA.d.ts} +1 -1
  79. package/dist/{revision-projection-Cn6rZJ7H.d.ts → revision-projection-DwFhgIR0.d.ts} +1 -1
  80. package/dist/{semantic-cell-selection-BaUR0iJ4.d.ts → semantic-cell-selection-DhalxEBH.d.ts} +2 -2
  81. package/dist/{semantic-interaction-CJoHLoOl.d.ts → semantic-interaction-QeuzEtAk.d.ts} +2 -4
  82. package/dist/{semantic-paint-BPw_n0li.d.ts → semantic-paint-BYDZbTiY.d.ts} +16 -9
  83. package/dist/{semantic-record-queries-C0rJ3sB4.d.ts → semantic-record-queries-Bf5bgQL3.d.ts} +1 -1
  84. package/dist/{semantic-records-BvN-WWst.d.ts → semantic-records-CzZiWMY8.d.ts} +348 -132
  85. package/dist/store.cjs +1 -1
  86. package/dist/store.d.ts +526 -19
  87. package/dist/store.js +1 -1
  88. package/dist/{tree-op-types-C_S2niXW.d.ts → tree-op-types-DKvJSH8T.d.ts} +1024 -501
  89. package/dist/{tree-package-store-CRHvMyNj.d.ts → tree-package-store-Cl3BkWXF.d.ts} +8 -3
  90. package/dist/{tree-session-contract-D1awo_dA.d.ts → tree-session-contract-BL50pqs8.d.ts} +15 -8
  91. package/dist/{unsupported-elements-CVos5cqe.d.ts → unsupported-elements-Bra4QTOM.d.ts} +1 -1
  92. package/licenses/ECMA-376.md +29 -0
  93. package/package.json +2 -2
  94. package/dist/bookmark-names-DDuAra_V.d.ts +0 -37
  95. package/dist/chunk-25EXMBV2.cjs +0 -5
  96. package/dist/chunk-3IEXDEFH.cjs +0 -7
  97. package/dist/chunk-65XBN67F.cjs +0 -2
  98. package/dist/chunk-6NVZNB7O.cjs +0 -3
  99. package/dist/chunk-ACLR4DMK.js +0 -1
  100. package/dist/chunk-B2BEELUE.js +0 -1
  101. package/dist/chunk-DDFHKQFU.js +0 -30
  102. package/dist/chunk-E4IAO4CY.cjs +0 -2
  103. package/dist/chunk-FDSL5OJU.cjs +0 -30
  104. package/dist/chunk-FS7CMYLT.js +0 -4
  105. package/dist/chunk-GDS24SZN.js +0 -30
  106. package/dist/chunk-GIY6NT2X.js +0 -5
  107. package/dist/chunk-GWM3AKUD.js +0 -18
  108. package/dist/chunk-HDOXACHP.js +0 -2
  109. package/dist/chunk-IILEENID.js +0 -1
  110. package/dist/chunk-MNF2K7NN.cjs +0 -30
  111. package/dist/chunk-O324RB6R.cjs +0 -1
  112. package/dist/chunk-QXJKYNYZ.js +0 -1
  113. package/dist/chunk-RALTVLB6.js +0 -2
  114. package/dist/chunk-SRVKFUFI.js +0 -3
  115. package/dist/chunk-TELQ52LG.cjs +0 -1
  116. package/dist/chunk-TJHE5EET.cjs +0 -1
  117. package/dist/chunk-UMMRURPE.js +0 -7
  118. package/dist/chunk-XJYZVGQR.cjs +0 -1
  119. package/dist/chunk-ZGTIE3QJ.cjs +0 -4
  120. package/dist/chunk-ZOZI27AW.cjs +0 -18
  121. package/dist/diagnostic-context-BtDUY3v2.d.ts +0 -31
package/dist/editor.d.ts CHANGED
@@ -9,46 +9,46 @@
9
9
  * @packageDocumentation
10
10
  * @public
11
11
  */
12
- import { O as OoxmlPart, aU as TreeDocColorValue, r as ColorValue, aa as DrawingPositionInput, G as ParagraphTabStop, ar as Watermark } from './tree-op-types-C_S2niXW.js';
13
- export { aV as DEFAULT_IMAGE_RESOURCE_LIMITS, aW as IMAGE_WRAP_TARGETS, ad as ImageDecodePort, ae as ImageResourceLimits, ag as ImageWrapTarget, F as ParagraphFlags, al as RenderableImageMime, R as ReviewModelInput, an as SupportedImageMime, aX as TEXT_FORM_FORMATS, aq as VectorImageMime, aY as resolveImageResourceLimits, aZ as resolveSvgIntrinsicSize, a_ as sniffImageMime, a$ as validateRasterHeader } from './tree-op-types-C_S2niXW.js';
14
- export { C as ContentLockPolicy, F as FieldResultsMode } from './tree-package-store-CRHvMyNj.js';
15
- import { T as TreeDocxSessionView, f as DocumentThemeColorEntry } from './tree-session-contract-D1awo_dA.js';
16
- export { a as TreeApplyResult } from './tree-session-contract-D1awo_dA.js';
12
+ import { O as OoxmlPart, b5 as TreeDocColorValue, r as ColorValue, aa as DrawingPositionInput, G as ParagraphTabStop, ar as Watermark } from './tree-op-types-DKvJSH8T.js';
13
+ export { b6 as DEFAULT_IMAGE_RESOURCE_LIMITS, b7 as IMAGE_WRAP_TARGETS, ad as ImageDecodePort, ae as ImageResourceLimits, ag as ImageWrapTarget, F as ParagraphFlags, al as RenderableImageMime, R as ReviewModelInput, an as SupportedImageMime, b8 as TEXT_FORM_FORMATS, aq as VectorImageMime, b9 as resolveImageResourceLimits, ba as resolveSvgIntrinsicSize, bb as sniffImageMime, bc as validateRasterHeader } from './tree-op-types-DKvJSH8T.js';
14
+ export { C as ContentLockPolicy, F as FieldResultsMode } from './tree-package-store-Cl3BkWXF.js';
15
+ export { D as DrawingGraphicKind, a as DrawingSupport, b as DrawingSupportIssue } from './drawing-graphic-kind-CK0cMc7H.js';
16
+ import { B as BookmarkNameProblem, D as DrawingPreviewPackageLimits, a as DrawingPreviewPackageResult } from './drawing-preview-package-fFjXpOMS.js';
17
+ import { T as TreeDocxSessionView, f as DocumentThemeColorEntry } from './tree-session-contract-BL50pqs8.js';
18
+ export { a as TreeApplyResult } from './tree-session-contract-BL50pqs8.js';
17
19
  export { CollectReviewItems, EditorModule, EditorModuleRegistry, ReviewModuleContribution, RevisionMarkupDialog, RevisionMarkupDialogHost, resolveEditorModules } from './contracts/modules.js';
18
20
  import { F as FontShapingOptions } from './font-shaping-policy-BvpkrfxM.js';
19
- import { J as EditorFontError, W as EditorSnapshot, x as Editor, b as EditorCommand, C as CanResult, aP as ZoomMode, g as ClearAnchorHighlightOptions, c as AnchorHighlightOptions, av as ScrollToAnchorOptions, au as ScrollPlacement, A as AnchorHighlightAnimation, a4 as HighlightRange, a6 as HighlightResult, a3 as HighlightOptions, aK as TextMatch, f as BookmarkSummary, B as BookmarkPlace } from './editor-DZwOTmlR.js';
20
- export { a2 as HighlightHit, a5 as HighlightRect, a9 as ImageContext, aa as ImageCropPercent, aQ as ImageCropPermille, am as ReviewItemHit, aw as SelectedImageState, aM as TrackedChangeFilterMode, aN as TrackedChangePredicate, aR as cropPercentFromCropPermille, aS as cropPercentFromPermille, aT as cropPercentFromSourceCrop, aU as cropPermilleFromCropPercent, aV as cropPermilleFromPercent, aW as sourceCropFromCropPercent, aX as validateImageCropPercent } from './editor-DZwOTmlR.js';
21
- import { L as LayoutShapingInstrumentation, a as LayoutShapingOptions } from './layout-shaping-E5J4Z1Gf.js';
22
- export { d as disposeLayoutShaping } from './layout-shaping-E5J4Z1Gf.js';
21
+ import { J as EditorFontError, W as EditorSnapshot, x as Editor, b as EditorCommand, C as CanResult, aR as ZoomMode, g as ClearAnchorHighlightOptions, c as AnchorHighlightOptions, aw as ScrollToAnchorOptions, av as ScrollPlacement, A as AnchorHighlightAnimation, a4 as HighlightRange, a6 as HighlightResult, a3 as HighlightOptions, aM as TextMatch, f as BookmarkSummary, B as BookmarkPlace } from './editor-DDCkWqfD.js';
22
+ export { a2 as HighlightHit, a5 as HighlightRect, a9 as ImageContext, aa as ImageCropPercent, aS as ImageCropPermille, an as ReviewItemHit, ax as SelectedImageState, aJ as TableInteractionLabelKey, aO as TrackedChangeFilterMode, aP as TrackedChangePredicate, aT as cropPercentFromCropPermille, aU as cropPercentFromPermille, aV as cropPercentFromSourceCrop, aW as cropPermilleFromCropPercent, aX as cropPermilleFromPercent, aY as sourceCropFromCropPercent, aZ as validateImageCropPercent } from './editor-DDCkWqfD.js';
23
+ import { L as LayoutShapingInstrumentation, a as LayoutShapingOptions } from './layout-shaping-Byj-TwsI.js';
24
+ export { d as disposeLayoutShaping } from './layout-shaping-Byj-TwsI.js';
23
25
  import { F as FontConfiguration } from './editor-fonts-D_-vjuJi.js';
24
- export { C as ComposeFontOriginsOptions, D as DEFAULT_FONT, F as FONT_RESOLVER_BRAND, a as FONT_RESOLVER_MARK_KEY, b as FontConfigurationBase, c as FontConfigurationFragment, d as FontOrigin, e as FontOriginFailure, f as FontResolutionRequest, g as FontResolver, h as FontResolverMark, m as MAX_RESOLVER_FAMILIES, M as MarkedFontResolver, W as WORD_DEFAULT_FONT, i as composeFontConfiguration, j as composeFontOrigins, k as defineFontResolver, l as isFontResolver } from './font-resolver-BlQNGdvR.js';
25
- import { ac as PaginatedSurfaceOptions, ad as OpenPaginatedResult, ae as PaginatedSurface, af as TableCommandPlan, y as DocxEditorInstance, ag as SurfaceFormatting } from './chrome-print-CznJ0ucN.js';
26
- export { ah as AnchorFrameOrigin, A as AttachOptions, B as BookmarkChromeHandlers, a as BookmarkMarkInfo, b as BookmarkMarkOptions, ai as BookmarkMarkOptionsSource, C as CHROME_GROUPS, c as CHROME_MENUS, aj as CHROME_UNAVAILABLE_KEY, ak as ChromeControl, al as ChromeControlId, am as ChromeControlState, d as ChromeExportError, e as ChromeExportFormat, f as ChromeExportHandlers, g as ChromeExportResult, h as ChromeExportView, an as ChromeGroup, ao as ChromeGroupId, i as ChromeMenu, j as ChromeMenuEntry, k as ChromeMenuId, l as ChromeMenuItemEntry, m as ChromeMenuSeparatorEntry, n as ChromeMenuSubmenuEntry, o as ChromePrintError, p as ChromePrintErrorCode, q as ChromePrintJob, r as ChromePrintOptions, s as ChromeSlotId, t as CommentDraftChromeHandlers, u as ContentControlWidgetChromeHandlers, v as ContentControlWidgetSession, w as CustomFontsOptions, x as CustomFontsResolver, ap as DEFAULT_TABLE_CHROME_DRAFT, D as DocxEditorConfig, aq as DrawingSelectionIntent, ar as EMU_PER_POINT, as as EditorCommandExecute, E as EquationActivation, z as EquationChromeHandlers, at as EquationOps, au as FinalizedImageOverlayInteraction, F as FontLoadFailure, G as FontLoadFailureReason, H as FontMeasurementState, I as FontUrlSource, J as GoToChromeHandlers, K as HistoryGroupBinding, L as HistoryGroupBindingOptions, M as HyperlinkActivation, N as HyperlinkChromeHandlers, av as HyperlinkOps, aw as IMAGE_OVERLAY_NUDGE_PT, ax as IMAGE_OVERLAY_NUDGE_SHIFT_PT, ay as ImageInteractionSession, az as ImageOverlayScrollPort, aA as ImageResizeHandle, aB as ImageResizeResult, O as InvalidTextFormFieldChromeHandlers, P as InvalidTextFormFieldSession, Q as LoadFontsRequest, R as LoadFontsResult, S as LockedControlNavigation, aC as OpeningIndicatorHost, aD as OverlayFrameRect, aE as PaginatedSurfaceState, aF as ParagraphPropertyEdit, T as PopupChromeRegistrationOptions, aG as RemoteCaretLabelAnchor, aH as RemoteCaretLabelHost, aI as ReviewWriteIntent, aJ as RunTableChromeCommandResult, aK as SectionAnchor, aL as SectionBreakInsertType, aM as SelectedDrawingOverlayTarget, U as SurfaceEquation, V as SurfaceHyperlink, aN as SurfaceInsertImageInput, aO as SurfaceNavigation, aP as SurfaceOverlayCoordinates, aQ as SurfaceParagraphFormat, aR as TABLE_BORDER_STYLE_OPTIONS, aS as TABLE_BORDER_TARGET_OPTIONS, aT as TABLE_BORDER_WIDTH_OPTIONS, aU as TABLE_CHROME_SLOT_IDS, aV as TableBorderStyleOption, aW as TableBorderTargetOption, aX as TableBorderTargetValue, aY as TableBorderWidthOption, aZ as TableChromeDraft, a_ as TableChromePick, W as TableChromeSlotId, a$ as TableInteractionLabelKey, b0 as TextFormFieldChromeHandlers, b1 as TextFormFieldDialogSession, X as ToolbarCommandState, b2 as ToolbarSlotValue, Y as ToolbarValueMap, Z as ToolbarValueSlot, b3 as applyTableChromePick, _ as bindHistoryGroup, $ as blankDocumentBytes, b4 as canExecuteImageCommand, b5 as captureImageMutationPreconditions, b6 as chromeControlCount, a0 as chromeMenuSlots, b7 as chromeProbeForSlot, b8 as chromeSlotId, b9 as chromeSlotIsToggle, ba as commandExecOptions, a1 as commandForSlot, a2 as commandForSlotValue, bb as commandForTableChromeSlotValue, bc as computeImageResizeResult, bd as computeMovedImagePosition, be as computeResizedImageExtentEmu, a3 as createDocxEditor, a4 as createFontSource, bf as createImageOverlayScrollPort, bg as cssPixelsToLayoutPoints, a5 as customFonts, bh as defaultChromeGroups, bi as defaultTableLabel, bj as emuToOverlayPoints, bk as equationAtPosition, bl as executeImageCommand, bm as finalizeImageOverlayInteraction, bn as formattingBarChromeGroups, a6 as isChromePrintShortcut, bo as isStaleImageInteractionCommit, bp as isTableChromeSlot, bq as layoutPointsToCssPixels, a7 as loadFonts, br as overlayFrameToSheetCssPixels, bs as overlayHostOrigin, bt as pointsToEmu, bu as probeTableChromeCommand, bv as resizePreservesAspect, a8 as runChromeExport, a9 as runChromePrint, bw as runSave, bx as runTableChromeCommand, by as runTableCommand, aa as runToolbarCommand, bz as selectedDrawingOverlayTargetOf, bA as selectedImageStateOf, bB as surfacePaintScale, bC as tableChromeIconPaths, bD as tableChromeLabelKeyForTarget, bE as tableChromeToolbarState, bF as tableChromeVisible, bG as tableCommandToolbarState, ab as toolbarCommandState, bH as toolbarCommandStates } from './chrome-print-CznJ0ucN.js';
27
- import { a as AutomationCapabilities, b as AutomationHost, e as AutomationBatchRequest, f as AutomationBatchResponse } from './protocol-DKa4qt7F.js';
28
- import { c as HistoryGroup } from './editor-scope-B3L-1ALc.js';
29
- export { d as HistoryGroupOptions } from './editor-scope-B3L-1ALc.js';
30
- import { E as EditDiagnosticCode } from './diagnostic-hints-DK8-V0fk.js';
31
- import { S as SemanticLayout, T as TextMeasurer } from './semantic-records-BvN-WWst.js';
32
- export { t as SectionProperties, U as UnsupportedElement, e as UnsupportedElementLayout, f as UnsupportedElementRule } from './semantic-records-BvN-WWst.js';
26
+ export { C as ComposeFontOriginsOptions, D as DEFAULT_FONT, F as FONT_RESOLVER_BRAND, a as FONT_RESOLVER_MARK_KEY, b as FontConfigurationBase, c as FontConfigurationFragment, d as FontOrigin, e as FontOriginFailure, f as FontResolutionRequest, g as FontResolver, h as FontResolverMark, m as MAX_RESOLVER_FAMILIES, M as MarkedFontResolver, W as WORD_DEFAULT_FONT, i as composeFontConfiguration, j as composeFontOrigins, k as defineFontResolver, l as isFontResolver } from './font-resolver-Bm9XqTNO.js';
27
+ import { ae as PaginatedSurfaceOptions, af as OpenPaginatedResult, ag as PaginatedSurface, ah as TableCommandPlan, z as DocxEditorInstance, ai as SurfaceFormatting } from './chrome-print-DY0xsXm_.js';
28
+ export { aj as AnchorFrameOrigin, A as AttachOptions, B as BlankDocumentOptions, a as BookmarkChromeHandlers, b as BookmarkMarkInfo, c as BookmarkMarkOptions, ak as BookmarkMarkOptionsSource, C as CHROME_GROUPS, d as CHROME_MENUS, al as CHROME_UNAVAILABLE_KEY, am as ChromeControl, an as ChromeControlId, ao as ChromeControlState, e as ChromeExportError, f as ChromeExportFormat, g as ChromeExportHandlers, h as ChromeExportResult, i as ChromeExportView, ap as ChromeGroup, aq as ChromeGroupId, j as ChromeMenu, k as ChromeMenuEntry, l as ChromeMenuId, m as ChromeMenuItemEntry, n as ChromeMenuSeparatorEntry, o as ChromeMenuSubmenuEntry, p as ChromePrintError, q as ChromePrintErrorCode, r as ChromePrintJob, s as ChromePrintOptions, t as ChromeSlotId, u as CommentDraftChromeHandlers, v as ContentControlWidgetChromeHandlers, w as ContentControlWidgetSession, x as CustomFontsOptions, y as CustomFontsResolver, ar as DEFAULT_TABLE_CHROME_DRAFT, D as DocxEditorConfig, as as DrawingSelectionIntent, at as EMU_PER_POINT, au as EditorCommandExecute, E as EquationActivation, F as EquationChromeHandlers, av as EquationOps, aw as FinalizedImageOverlayInteraction, G as FontLoadFailure, H as FontLoadFailureReason, I as FontMeasurementState, J as FontUrlSource, ax as FormattingBarOptions, K as GoToChromeHandlers, L as HistoryGroupBinding, M as HistoryGroupBindingOptions, N as HyperlinkActivation, O as HyperlinkChromeHandlers, ay as HyperlinkOps, az as IMAGE_OVERLAY_NUDGE_PT, aA as IMAGE_OVERLAY_NUDGE_SHIFT_PT, aB as ImageInteractionSession, aC as ImageOverlayScrollPort, aD as ImageResizeHandle, aE as ImageResizeResult, P as InvalidTextFormFieldChromeHandlers, Q as InvalidTextFormFieldSession, R as LoadFontsRequest, S as LoadFontsResult, T as LockedControlNavigation, aF as OpeningIndicatorHost, aG as OverlayFrameRect, aH as PaginatedSurfaceState, aI as ParagraphPropertyEdit, U as PopupChromeRegistrationOptions, aJ as RemoteCaretLabelAnchor, aK as RemoteCaretLabelHost, aL as ReviewWriteIntent, aM as RunTableChromeCommandResult, aN as SectionAnchor, aO as SectionBreakInsertType, aP as SelectedDrawingOverlayTarget, V as SurfaceEquation, W as SurfaceHyperlink, aQ as SurfaceIndentAndListOps, aR as SurfaceInsertImageInput, aS as SurfaceNavigation, aT as SurfaceOverlayCoordinates, aU as SurfaceParagraphFormat, aV as TABLE_BORDER_STYLE_OPTIONS, aW as TABLE_BORDER_TARGET_OPTIONS, aX as TABLE_BORDER_WIDTH_OPTIONS, aY as TABLE_CHROME_SLOT_IDS, aZ as TableBorderStyleOption, a_ as TableBorderTargetOption, a$ as TableBorderTargetValue, b0 as TableBorderWidthOption, b1 as TableChromeDraft, b2 as TableChromePick, X as TableChromeSlotId, b3 as TextFormFieldChromeHandlers, b4 as TextFormFieldDialogSession, b5 as TocRemovalRefusal, Y as ToolbarCommandState, b6 as ToolbarSlotValue, Z as ToolbarValueMap, _ as ToolbarValueSlot, b7 as applyTableChromePick, $ as bindHistoryGroup, a0 as blankDocumentBytes, b8 as canExecuteImageCommand, b9 as captureImageMutationPreconditions, ba as chromeControlCount, a1 as chromeMenuSlots, bb as chromeProbeForSlot, bc as chromeSlotId, bd as chromeSlotIsToggle, be as commandExecOptions, a2 as commandForSlot, a3 as commandForSlotValue, bf as commandForTableChromeSlotValue, bg as computeImageResizeResult, bh as computeMovedImagePosition, bi as computeResizedImageExtentEmu, a4 as createDocxEditor, a5 as createFontSource, bj as createImageOverlayScrollPort, bk as cssPixelsToLayoutPoints, a6 as customFonts, bl as defaultChromeGroups, bm as defaultTableLabel, a7 as deferFonts, bn as emuToOverlayPoints, bo as equationAtPosition, bp as executeImageCommand, bq as finalizeImageOverlayInteraction, br as formattingBarChromeGroups, a8 as isChromePrintShortcut, bs as isStaleImageInteractionCommit, bt as isTableChromeSlot, bu as layoutPointsToCssPixels, a9 as loadFonts, bv as overlayFrameToSheetCssPixels, bw as overlayHostOrigin, bx as pointsToEmu, by as probeTableChromeCommand, bz as resizePreservesAspect, aa as runChromeExport, ab as runChromePrint, bA as runSave, bB as runTableChromeCommand, bC as runTableCommand, ac as runToolbarCommand, bD as selectedDrawingOverlayTargetOf, bE as selectedImageStateOf, bF as surfacePaintScale, bG as tableChromeIconPaths, bH as tableChromeLabelKeyForTarget, bI as tableChromeToolbarState, bJ as tableChromeVisible, bK as tableCommandToolbarState, ad as toolbarCommandState, bL as toolbarCommandStates } from './chrome-print-DY0xsXm_.js';
29
+ import { a as AutomationCapabilities, b as AutomationHost, e as AutomationBatchRequest, f as AutomationBatchResponse } from './protocol-Dn44dL4M.js';
30
+ import { c as HistoryGroup } from './editor-scope-CA6egMaK.js';
31
+ export { d as HistoryGroupOptions } from './editor-scope-CA6egMaK.js';
32
+ import { E as EditDiagnosticCode, R as ReviewDiagnosticCode, k as ReviewOperation } from './diagnostic-hints-BTyb8yzX.js';
33
+ import { S as SemanticLayout, T as TextMeasurer, U as UnsupportedElement } from './semantic-records-CzZiWMY8.js';
34
+ export { t as SectionProperties, h as UnsupportedElementLayout, i as UnsupportedElementRule, u as unsupportedElementRuleMatches } from './semantic-records-CzZiWMY8.js';
33
35
  import { ReviewPaneOverflow } from './contracts/types.js';
34
36
  export { CommentMarkerStyle, DEFAULT_REVIEW_PANE, ResolvedReviewPane, ReviewPaneItemFields, ReviewPaneOpening, ReviewPaneOptions, RevisionDisplay, resolveReviewPane, reviewPaneListsItem } from './contracts/types.js';
35
- export { D as DEFAULT_REVISION_MARKUP, c as REVISION_MARKUP_COLORS, d as ResolvedRevisionMarkup, a as ReviewDisplayMode, e as RevisionChangedLinesMark, f as RevisionDeletionMark, g as RevisionMarkupChromeHandlers, h as RevisionMarkupColor, R as RevisionMarkupDialogSession, i as RevisionMarkupMark, j as RevisionMarkupNamedColor, k as RevisionMarkupOptions, l as RevisionMarkupStyle, m as RevisionMarkupTextStyle, r as resolveRevisionMarkup } from './revision-projection-Cn6rZJ7H.js';
36
- export { N as NavigationCommand, S as SemanticPosition, a as SemanticSelection } from './semantic-interaction-CJoHLoOl.js';
37
- export { F as FieldShadingMode, R as ReviewAuthorInfo, a as RevisionAuthorAssignments, b as RevisionAuthorStyle, c as RevisionStyles } from './semantic-paint-BPw_n0li.js';
38
- export { U as UnsupportedElementHost, o as observeUnsupportedElements } from './unsupported-elements-CVos5cqe.js';
39
- import { B as BookmarkNameProblem } from './bookmark-names-DDuAra_V.js';
37
+ export { D as DEFAULT_REVISION_MARKUP, c as REVISION_MARKUP_COLORS, d as ResolvedRevisionMarkup, a as ReviewDisplayMode, e as RevisionChangedLinesMark, f as RevisionDeletionMark, g as RevisionMarkupChromeHandlers, h as RevisionMarkupColor, R as RevisionMarkupDialogSession, i as RevisionMarkupMark, j as RevisionMarkupNamedColor, k as RevisionMarkupOptions, l as RevisionMarkupStyle, m as RevisionMarkupTextStyle, r as resolveRevisionMarkup } from './revision-projection-DwFhgIR0.js';
38
+ export { N as NavigationCommand, S as SemanticPosition, a as SemanticSelection } from './semantic-interaction-QeuzEtAk.js';
39
+ export { F as FieldShadingMode, R as ReviewAuthorInfo, a as RevisionAuthorAssignments, b as RevisionAuthorStyle, c as RevisionStyles } from './semantic-paint-BYDZbTiY.js';
40
+ export { U as UnsupportedElementHost, o as observeUnsupportedElements } from './unsupported-elements-Bra4QTOM.js';
40
41
  export { CollaborationModuleContribution } from './collaboration.js';
41
- import './custom-node-writes-CLJKGD9t.js';
42
- import './headless-document-view-Bcz9_Qva.js';
42
+ import './custom-node-writes-DparEcZK.js';
43
43
  import 'prosemirror-model';
44
44
  import './collaboration/replication.js';
45
45
  import './failure-6KGFrDO9.js';
46
- import './document-protection-NaniLHWF.js';
46
+ import './document-protection-DdWxihIN.js';
47
47
  import './contracts/document.js';
48
48
  import './contracts/interaction.js';
49
- import './note-properties-Ds5R2_3F.js';
50
- import './semantic-cell-selection-BaUR0iJ4.js';
51
- import './semantic-record-queries-C0rJ3sB4.js';
49
+ import './semantic-cell-selection-DhalxEBH.js';
50
+ import './note-properties-BiunaIQa.js';
51
+ import './semantic-record-queries-Bf5bgQL3.js';
52
52
 
53
53
  declare function toEditorFontError(error: unknown): EditorFontError;
54
54
  declare function createLayoutShaping(configuration: FontConfiguration, instrumentation?: LayoutShapingInstrumentation, execution?: FontShapingOptions): Promise<LayoutShapingOptions>;
@@ -61,6 +61,68 @@ declare function createLayoutShaping(configuration: FontConfiguration, instrumen
61
61
  */
62
62
  declare const LOADING_SNAPSHOT: EditorSnapshot;
63
63
 
64
+ /**
65
+ * Scroll `scroller` to its right end, and keep it there while its content or padding
66
+ * changes, until the reader scrolls away from the end. Scrolling back to the end resumes it.
67
+ * Returns the cleanup.
68
+ *
69
+ * @internal
70
+ */
71
+ declare function keepScrollAtInlineEnd(scroller: HTMLElement): () => void;
72
+
73
+ /**
74
+ * The `left` and `top` of a submenu panel beside its parent row, in client pixels.
75
+ *
76
+ * The panel opens on the row's inline-end side: to the right in a left-to-right menu, to the
77
+ * left in a right-to-left one, where the submenu caret points. It takes the other side when
78
+ * it would not fit, and keeps `SUBMENU_EDGE_INSET` from the window edges. It aligns its top
79
+ * with the row's, then rises so a submenu on the last row of a tall menu stays in view.
80
+ *
81
+ * @internal
82
+ */
83
+ declare function placeSubmenu(row: {
84
+ readonly left: number;
85
+ readonly right: number;
86
+ readonly top: number;
87
+ }, panel: {
88
+ readonly width: number;
89
+ readonly height: number;
90
+ }, view: {
91
+ readonly width: number;
92
+ readonly height: number;
93
+ }, rtl: boolean): {
94
+ readonly left: number;
95
+ readonly top: number;
96
+ };
97
+ /**
98
+ * The keys that open and close a submenu: the inline-end arrow opens, the start one closes.
99
+ *
100
+ * @internal
101
+ */
102
+ declare function submenuKeys(rtl: boolean): {
103
+ readonly open: string;
104
+ readonly close: string;
105
+ };
106
+
107
+ /**
108
+ * The direction the nearest `dir` attribute declares for `node`: the value is
109
+ * case-insensitive, `auto` and unknown values defer to the next ancestor, and the search
110
+ * continues from a shadow root to its host. `'ltr'` when no ancestor declares one. Reading
111
+ * attributes forces no style pass, unlike computed style. It does not resolve `auto` from
112
+ * the text, and it follows the light tree, not slot assignment.
113
+ *
114
+ * @internal
115
+ */
116
+ declare function hostDirectionOf(node: Element | null): 'ltr' | 'rtl';
117
+ /**
118
+ * Call `onChange` when a `dir` attribute changes on `node` or one of its ancestors, in its
119
+ * document or in any shadow root between them. Changes inside `node` are ignored. Returns
120
+ * the cleanup.
121
+ *
122
+ * @internal
123
+ */
124
+ declare function observeHostDirection(node: Element, onChange: () => void): () => void;
125
+
64
126
  /**
65
127
  * True when the engine's PASTE lanes will land user-visible content from this payload, so
66
128
  * a host's image-FILE lane must stand down or insert a duplicate.
@@ -173,6 +235,55 @@ declare function openEditorWindow(options?: OpenEditorWindowOptions): Promise<Ed
173
235
  */
174
236
  declare function copyEditorStyles(from: Document, to: Document): () => void;
175
237
 
238
+ /**
239
+ * Where to place the label bar of an open header, footer, or note, in viewport pixels.
240
+ *
241
+ * The bar sits just above its story. A story with no room above it on its sheet, such as a
242
+ * header that starts at the paper edge, takes the bar just below it instead, so the bar never
243
+ * covers the gap between sheets or the ruler.
244
+ *
245
+ * @param storyRect - The painted story's viewport rectangle.
246
+ * @param sheetTop - The viewport top of the sheet the story is on, or undefined when unknown.
247
+ * @param barHeight - The bar's height in pixels.
248
+ * @param clearance - The gap between the bar and the story, in pixels.
249
+ * @returns The bar's viewport top.
250
+ *
251
+ * @example
252
+ * ```ts
253
+ * const top = storyLabelTop(band.getBoundingClientRect(), sheet.getBoundingClientRect().top, 28, 6);
254
+ * ```
255
+ *
256
+ * @public
257
+ */
258
+ declare function storyLabelTop(storyRect: {
259
+ readonly top: number;
260
+ readonly bottom: number;
261
+ }, sheetTop: number | undefined, barHeight: number, clearance: number): number;
262
+
263
+ /**
264
+ * The message key saying why a selected text box frame takes no caret or offers no handles, or
265
+ * null when it does both. Only in editing mode: viewing and suggesting refuse the edit
266
+ * themselves, so the box is not what stops it.
267
+ *
268
+ * @param target - The overlay target of the selected drawing.
269
+ * @param editingMode - The surface's editing mode.
270
+ * @returns `imageOverlay.textLocked`, `imageOverlay.locked`, or null.
271
+ *
272
+ * @example
273
+ * ```ts
274
+ * const key = textboxFrameReason(target, editor.surface!.editingMode());
275
+ * const title = key ? t(key) : undefined;
276
+ * ```
277
+ *
278
+ * @public
279
+ */
280
+ declare function textboxFrameReason(target: {
281
+ readonly textbox?: boolean;
282
+ readonly textEditable?: boolean;
283
+ readonly canMove: boolean;
284
+ readonly canResize: boolean;
285
+ }, editingMode: string): 'imageOverlay.textLocked' | 'imageOverlay.locked' | null;
286
+
176
287
  /** The window type of a realm: its own timers, observers and constructors. */
177
288
  type HostWindow = Window & typeof globalThis;
178
289
  /**
@@ -424,8 +535,12 @@ declare function mountPaginatedSurface(container: HTMLElement, bytes: Uint8Array
424
535
  *
425
536
  * Read straight from the live package instead. Ids carry the canonical part name, so this is a
426
537
  * map lookup.
538
+ *
539
+ * A collaboration session names the nodes it creates by logical id, which carries no part name.
540
+ * Those ids are looked up in each story part's node index, which opens no story store either.
541
+ * A view without `storyParts` has no session ids, so it answers null for them.
427
542
  */
428
- declare function partOfNodeId(session: Pick<TreeDocxSessionView, 'currentPackage' | 'part'>, nodeId: string | undefined): OoxmlPart | null;
543
+ declare function partOfNodeId(session: Pick<TreeDocxSessionView, 'currentPackage' | 'part'> & Partial<Pick<TreeDocxSessionView, 'storyParts'>>, nodeId: string | undefined): OoxmlPart | null;
429
544
 
430
545
  /** The engine paints at 96 px per inch (twips / 15, 1440 twips per inch). */
431
546
  declare const PX_PER_INCH = 96;
@@ -525,6 +640,35 @@ declare function snapTwips(value: number, unit: RulerUnit, precise: boolean): nu
525
640
  * while the box itself is still in range. The drag stops when the LEADING marker lands.
526
641
  */
527
642
  declare function dragIndent(handle: RulerIndentHandle, positionTwips: number, indent: RulerIndent, page: RulerPageMetrics, options?: RulerDragOptions): RulerIndent;
643
+ /**
644
+ * Where a tab stop sits, in twips from the page's left sheet edge. `tabTwips` counts from the
645
+ * paragraph's leading margin, as `w:tab/@w:pos` does: leftward from the right margin when
646
+ * `indent.rtl` is set.
647
+ *
648
+ * @public
649
+ */
650
+ declare function rulerTabPosition(tabTwips: number, page: RulerPageMetrics, indent: Pick<RulerIndent, 'rtl'>): number;
651
+ /**
652
+ * One horizontal ruler tick, in twips from the page's left sheet edge.
653
+ *
654
+ * @public
655
+ */
656
+ interface RulerMarginTick {
657
+ /** Twips from the page's left sheet edge. */
658
+ readonly position: number;
659
+ /** Tick length in CSS pixels: 8 for a whole unit, 5 for a half, 3 or 2 for minor ticks. */
660
+ readonly height: number;
661
+ /** Whole units from the paragraph's leading margin; omitted at the margin and on minor ticks. */
662
+ readonly label?: string;
663
+ }
664
+ /**
665
+ * Horizontal ruler ticks counted from the margin the paragraph starts at: the left margin, or
666
+ * the right margin when `indent.rtl` is set. Labels count whole units outward on both sides,
667
+ * so the margin zone also reads 1, 2, and so on toward the sheet edge.
668
+ *
669
+ * @public
670
+ */
671
+ declare function rulerMarginTicks(page: RulerPageMetrics, indent: Pick<RulerIndent, 'rtl'>, unit: RulerUnit): RulerMarginTick[];
528
672
 
529
673
  /**
530
674
  * Stable value identity for a command, including nested payloads.
@@ -556,7 +700,9 @@ declare const TOOLBAR_COLLAPSE_ORDER: readonly string[];
556
700
  */
557
701
  declare const TOOLBAR_PINNED_GROUPS: ReadonlySet<string>;
558
702
  /**
559
- * Px of surplus a group must find before it comes back OUT of the overflow menu.
703
+ * Px of surplus, beyond what a control costs (its width and gap, plus its group's separator
704
+ * slot when it is the group's first control back, less the "⋯" trigger when it is the last
705
+ * hidden one), the bar must have before that control comes back OUT of the overflow menu.
560
706
  *
561
707
  * Without it a value control that widens with its own value (font family going from
562
708
  * "Arial" to "Times New Roman") pushes itself out, which frees the width that pulled it
@@ -565,28 +711,6 @@ declare const TOOLBAR_PINNED_GROUPS: ReadonlySet<string>;
565
711
  * @internal
566
712
  */
567
713
  declare const TOOLBAR_OVERFLOW_HYSTERESIS = 24;
568
- /**
569
- * What {@link toolbarOverflowGroups} measures against.
570
- *
571
- * @internal
572
- */
573
- interface ToolbarFitInput {
574
- /** Content width of the bar, in px. `0` or less means "not measured yet". */
575
- readonly available: number;
576
- /** Group id -> measured width, separator and gaps included. */
577
- readonly widths: ReadonlyMap<string, number>;
578
- /** Collapsible groups, in bar order. */
579
- readonly groups: readonly string[];
580
- /** Collapse order; ids missing from it collapse first, in reverse bar order. */
581
- readonly order: readonly string[];
582
- /** Width of everything that never collapses: pinned groups, appended children, padding. */
583
- readonly fixed: number;
584
- /** Width the "⋯" trigger takes once it is shown. */
585
- readonly more: number;
586
- /** The previous answer, for the one-directional slack. */
587
- readonly previous?: ReadonlySet<string> | undefined;
588
- readonly hysteresis?: number;
589
- }
590
714
  /**
591
715
  * The priority of a declared group: its place in {@link TOOLBAR_COLLAPSE_ORDER}, in steps of
592
716
  * 10, so zoom is 10 and history is 90. A host group with a `priority` sorts among these, and
@@ -663,23 +787,6 @@ declare function toolbarPanelPlacement(input: {
663
787
  readonly viewportWidth: number;
664
788
  readonly margin?: number;
665
789
  }): ToolbarPanelPlacement;
666
- declare function sameIds(a: ReadonlySet<string>, b: ReadonlySet<string>): boolean;
667
- /**
668
- * True when two answers describe the same bar, so a re-render can be skipped.
669
- *
670
- * @internal
671
- */
672
- declare const sameOverflow: typeof sameIds;
673
- /**
674
- * The groups that must leave the bar for the rest of it to fit in one row.
675
- *
676
- * An unmeasured bar (`available <= 0`, which is every server render and every jsdom test)
677
- * overflows nothing: the full toolbar is the honest answer when nothing is known about the
678
- * space, and it is also what a host that opted out of overflow renders.
679
- *
680
- * @internal
681
- */
682
- declare function toolbarOverflowGroups(input: ToolbarFitInput): ReadonlySet<string>;
683
790
  /**
684
791
  * The left edge, in viewport px, of a popup that opens under a bar control.
685
792
  *
@@ -702,12 +809,6 @@ declare function toolbarPopupLeft(input: {
702
809
  * @internal
703
810
  */
704
811
  declare function separatorLeadingCost(separatorWidth: number, marginInlineStart: number, marginInlineEnd: number, gap: number): number;
705
- /**
706
- * Total width charged for one collapsible group on the bar.
707
- *
708
- * @internal
709
- */
710
- declare function collapsibleGroupCost(groupWidth: number, separatorLeading: number): number;
711
812
  /**
712
813
  * Flex gap charged after a fixed group or the More trigger.
713
814
  *
@@ -789,6 +890,170 @@ declare function controlsOverflow(bar: HTMLElement, style: CSSStyleDeclaration):
789
890
  * @internal
790
891
  */
791
892
  declare function readAvailableWidth(bar: HTMLElement, style: CSSStyleDeclaration): number;
893
+ /**
894
+ * Widths that survive a control leaving the bar: a control in the "⋯" menu renders nothing
895
+ * to measure, and forgetting its width would mean never knowing whether it could come back.
896
+ *
897
+ * @internal
898
+ */
899
+ interface ToolbarRowMemory {
900
+ /** `toolbarItemKey(group, item)` -> width, in layout px. */
901
+ readonly itemWidths: Map<string, number>;
902
+ /** Group id -> separator slot plus the group's own padding, in layout px. */
903
+ readonly groupBases: Map<string, number>;
904
+ /** Group id -> the flex gap between that group's controls, in layout px. */
905
+ readonly groupGaps: Map<string, number>;
906
+ /** The "⋯" trigger's cost, in layout px. Seed it with an assumed width. */
907
+ more: number;
908
+ }
909
+ /**
910
+ * One measurement of the bar, for the item fit. Every width is in layout px, the unit of
911
+ * `clientWidth`, so a bar inside a scaled container compares like with like.
912
+ *
913
+ * @internal
914
+ */
915
+ interface ToolbarRowReading {
916
+ /** The content width the bar can take. */
917
+ readonly available: number;
918
+ /** The bar's flex gap. */
919
+ readonly gap: number;
920
+ /** Width of everything that never collapses. */
921
+ readonly fixed: number;
922
+ /** The "⋯" trigger's cost. */
923
+ readonly more: number;
924
+ /** {@link controlsOverflow} for this reading: true, false, or null without layout. */
925
+ readonly overflowing: boolean | null;
926
+ }
927
+ /**
928
+ * Reads the bar into `memory` and returns what the item fit needs.
929
+ *
930
+ * Each `[data-toolbar-group]` element is a collapsible group. Its direct
931
+ * `[data-toolbar-item]` children are its controls, stored under `itemKey(group, item)`. A
932
+ * group with no item children (the contextual table block) is one control whose id is the
933
+ * group id. `[data-toolbar-fixed]` elements never collapse, and `[data-toolbar-more]` is the
934
+ * trigger. An item that draws nothing is stored as 0 wide: it takes no room, now or later.
935
+ *
936
+ * Every group is charged a leading separator slot, the first one included. That overstates
937
+ * the row by one separator, so the bar collapses a few px early: the safe direction.
938
+ *
939
+ * @internal
940
+ */
941
+ declare function readToolbarRow(bar: HTMLElement, memory: ToolbarRowMemory, itemKey: (groupId: string, itemId: string) => string): ToolbarRowReading;
942
+
943
+ /**
944
+ * Marks one control of a collapsible group in the bar; the value is the control id.
945
+ *
946
+ * @internal
947
+ */
948
+ declare const TOOLBAR_ITEM_ATTRIBUTE = "data-toolbar-item";
949
+ /**
950
+ * The control id of a group's host content (`Toolbar.Group` children), which collapses as one
951
+ * control after the group's own slots. Printable, so it survives server rendering in a DOM
952
+ * attribute, and never a slot or arrangement id.
953
+ *
954
+ * @internal
955
+ */
956
+ declare const TOOLBAR_HOST_ITEM = "host-content";
957
+ /**
958
+ * One collapsible group, as the item fit sees it.
959
+ *
960
+ * @internal
961
+ */
962
+ interface ToolbarFitGroup {
963
+ /** The group id, as the collapse order names it. */
964
+ readonly id: string;
965
+ /** The group's control ids, in bar order. Controls leave from the end. */
966
+ readonly items: readonly string[];
967
+ }
968
+ /**
969
+ * Group id -> how many controls, counted from the END of the group, are in the "⋯" menu. A
970
+ * group that is not in the map is complete in the bar. A count equal to the group's length
971
+ * means the whole group is in the menu.
972
+ *
973
+ * @internal
974
+ */
975
+ type ToolbarItemOverflow = ReadonlyMap<string, number>;
976
+ /**
977
+ * What {@link toolbarOverflowItems} measures against. Widths are layout px.
978
+ *
979
+ * @internal
980
+ */
981
+ interface ToolbarItemFitInput {
982
+ /** Content width of the bar. `0` or less means "not measured yet". */
983
+ readonly available: number;
984
+ /** Collapsible groups, in bar order. */
985
+ readonly groups: readonly ToolbarFitGroup[];
986
+ /** Collapse order of group ids; groups missing from it never collapse. */
987
+ readonly order: readonly string[];
988
+ /** {@link toolbarItemKey} -> the control's measured width. A missing width counts as 0. */
989
+ readonly itemWidths: ReadonlyMap<string, number>;
990
+ /**
991
+ * Group id -> what showing the group at all costs: its separator slot and its own padding.
992
+ * A missing entry counts as 0.
993
+ */
994
+ readonly groupBases: ReadonlyMap<string, number>;
995
+ /** The flex gap between two controls of one group, for groups without their own. */
996
+ readonly gap: number;
997
+ /** Group id -> that group's own flex gap, where it has one. */
998
+ readonly groupGaps?: ReadonlyMap<string, number>;
999
+ /** Width of everything that never collapses: pinned groups, appended children. */
1000
+ readonly fixed: number;
1001
+ /** Width the "⋯" trigger takes once it is shown. */
1002
+ readonly more: number;
1003
+ /** The previous answer, for the one-directional slack. */
1004
+ readonly previous?: ToolbarItemOverflow | undefined;
1005
+ /** Surplus a control needs before it comes back from the menu, in px. */
1006
+ readonly hysteresis?: number;
1007
+ }
1008
+ /**
1009
+ * The key one control's width is stored under.
1010
+ *
1011
+ * @internal
1012
+ */
1013
+ declare function toolbarItemKey(groupId: string, itemId: string): string;
1014
+ /**
1015
+ * A stable key for a list of groups, so a fresh list with the same content does not
1016
+ * re-measure.
1017
+ *
1018
+ * @internal
1019
+ */
1020
+ declare function toolbarGroupsKey(groups: readonly ToolbarFitGroup[]): string;
1021
+ /**
1022
+ * A group's collapsible controls, in bar order: its drawn slots, then its host content as one
1023
+ * control. Pass only the slots the bar draws; a slot removed with `hidden` takes no place.
1024
+ *
1025
+ * @internal
1026
+ */
1027
+ declare function toolbarGroupItems(slots: readonly string[], hasHostContent: boolean): string[];
1028
+ /**
1029
+ * Whether a group's host panel content shows in the "⋯" panel: when its host content left the
1030
+ * bar, or, for a group whose panel content has no bar content, when any of its controls did.
1031
+ *
1032
+ * @internal
1033
+ */
1034
+ declare function toolbarHostPanelShown(hasHostContent: boolean, hidden: readonly string[]): boolean;
1035
+ /**
1036
+ * How many of a group's controls the bar shows under an answer.
1037
+ *
1038
+ * @internal
1039
+ */
1040
+ declare function toolbarShownCount(overflow: ToolbarItemOverflow, groupId: string, itemCount: number): number;
1041
+ /**
1042
+ * True when two answers describe the same bar, so a re-render can be skipped.
1043
+ *
1044
+ * @internal
1045
+ */
1046
+ declare function sameItemOverflow(a: ToolbarItemOverflow, b: ToolbarItemOverflow): boolean;
1047
+ /**
1048
+ * The controls that must leave the bar for the rest of it to fit in one row.
1049
+ *
1050
+ * An unmeasured bar (`available <= 0`, which is every server render and every jsdom test)
1051
+ * overflows nothing: the full toolbar is the honest answer when nothing is known about the
1052
+ * space.
1053
+ *
1054
+ * @internal
1055
+ */
1056
+ declare function toolbarOverflowItems(input: ToolbarItemFitInput): ToolbarItemOverflow;
792
1057
 
793
1058
  /**
794
1059
  * Which LETTER a chord names, for the accelerators held with Alt.
@@ -943,6 +1208,12 @@ declare function beginEditorPreview(editor: DocxEditorInstance): {
943
1208
  * refusal; a value the engine does not know is left out of the diagnostic.
944
1209
  */
945
1210
  declare function reportAutomationRefusal(editor: object, code: EditDiagnosticCode, tracked: boolean, cause?: string): void;
1211
+ /**
1212
+ * Report a tracked-change decision an editing API batch refused into the diagnostics of the
1213
+ * editor it ran on, as one `review.skipped` event. `cause` is the structure behind the skip; a
1214
+ * value the engine does not know is left out. Does nothing for an object that is not an editor.
1215
+ */
1216
+ declare function reportAutomationReviewSkip(editor: object, code: ReviewDiagnosticCode, operation?: ReviewOperation, cause?: string): void;
946
1217
  /**
947
1218
  * Report an editing API batch that threw an engine error, not a refusal, into the diagnostics of
948
1219
  * the editor it ran on: `edit.internal-invariant` with the error's class, never its message.
@@ -1152,6 +1423,29 @@ interface PopupFocusLeaveOptions {
1152
1423
  * @internal
1153
1424
  */
1154
1425
  declare function listenForPopupFocusLeave(options: PopupFocusLeaveOptions): () => void;
1426
+ /** How {@link listenForOutsidePress} decides. @internal */
1427
+ interface OutsidePressOptions {
1428
+ /** A node of the popup. Its host document receives the listener. */
1429
+ readonly popup: Node | null | undefined;
1430
+ /** Whether a node belongs to the popup. Defaults to the popup's own `contains`. */
1431
+ readonly contains?: (node: Node) => boolean;
1432
+ /** Close the popup. */
1433
+ readonly close: (event: PointerEvent) => void;
1434
+ }
1435
+ /**
1436
+ * Close an open popup when a press lands outside it. Returns the disposer.
1437
+ *
1438
+ * The listener is a capture-phase `pointerdown` on the popup's host document. Capture runs
1439
+ * before the surface cancels the press or stops its propagation, so a press on the painted
1440
+ * pages closes the popup too. A press counts as inside when any node on its composed path
1441
+ * belongs to the popup, so a popup in a shadow root, or one that holds a shadow root,
1442
+ * recognises its own presses.
1443
+ *
1444
+ * Shared adapter glue, not for hosts.
1445
+ *
1446
+ * @internal
1447
+ */
1448
+ declare function listenForOutsidePress(options: OutsidePressOptions): () => void;
1155
1449
 
1156
1450
  /** Validate a position input, refusing offsets or bases outside what OOXML allows. */
1157
1451
  declare function validateDrawingPositionInput(position: DrawingPositionInput): boolean;
@@ -2027,5 +2321,20 @@ interface BookmarkDialogNameState {
2027
2321
  */
2028
2322
  declare function bookmarkDialogNameState(bookmarks: readonly BookmarkSummary[], name: string, writable: boolean): BookmarkDialogNameState;
2029
2323
 
2030
- export { AUTO_ZOOM_MODE, AnchorHighlightAnimation, AnchorHighlightOptions, BROWSER_AUTOMATION_CAPABILITIES, CONTENT_CONTROL_PICTURE_ACCEPT, ClearAnchorHighlightOptions, DEFAULT_WATERMARK_FONT, DRAWING_REL_FROM_H, DRAWING_REL_FROM_V, DocumentRefreshError, DocxEditorInstance, DrawingPositionInput, FIT_WIDTH_ZOOM_MODE, FontShapingOptions, HIGHLIGHT_REFRESH_MS, HighlightOptions, HighlightRange, HighlightResult, HistoryGroup, LINE_SPACING_PRESETS, LOADING_SNAPSHOT, NO_MIXED_FIELDS, OpenPaginatedResult, PX_PER_CM, PX_PER_INCH, PaginatedSurface, PaginatedSurfaceOptions, ParagraphTabStop, REVIEW_MARKERS_GUTTER_PX, ReviewPaneOverflow, SEARCH_DEBOUNCE_MS, SEARCH_HIGHLIGHT_PRIORITY, SEARCH_HIGHLIGHT_SET, SEARCH_MATCH_LIMIT, SNAP_TWIPS_CM, SNAP_TWIPS_INCH, SPLIT_CELL_FALLBACK_MAX, ScrollPlacement, ScrollToAnchorOptions, SurfaceFormatting, TAB_ALIGNMENT_LABELS, TOOLBAR_COLLAPSE_ORDER, TOOLBAR_OVERFLOW_HYSTERESIS, TOOLBAR_PANEL_EDGE_MARGIN, TOOLBAR_PINNED_GROUPS, TWIPS_PER_CM, TWIPS_PER_INCH, TextMatch, TextMeasurer, TreeDocxSessionView, ZOOM_MAX, ZOOM_MIN, alignmentAfterDirectionChange, applyThemeShade, applyThemeTint, arrangeToolbarGroups, barRoomWidth, beginEditorPreview, bookmarkDialogInitialName, bookmarkDialogNameState, bookmarkDialogRows, calendarDateForKey, calendarDateFromText, calendarDateText, calendarMonth, calendarMonthNames, calendarMonthTitle, calendarWeekdays, changedFields, chordLetter, clipboardDropLandsText, clipboardPasteLandsContent, collapseOrder, collapsibleGroupCost, contentControlPopupKeyDown, contentControlPopupOpener, controlsOverflow, copyEditorStyles, createBrowserAutomationHost, createContentControlListNavigation, createDocumentRefresh, createDocumentSearch, createLayoutShaping, dragIndent, editorCommandKey, editorHostDocument, editorHostElement, editorHostWindow, editorInstanceScope, editorPreviewActive, firstDayOfWeek, formatInches, generateRulerTicks, goToBookmarkGroups, goToBookmarkMatch, goToBookmarkRows, goToBookmarkTarget, handlePosition, hasOpenNestedPopup, historyShortcutOf, hostDocumentOf, hostTimers, hostWindowOf, inchesToTwips, initialSplitCellCounts, isDomNode, isElementNode, isGoToChord, isHTMLElementNode, isInputEvent, isKeyboardEvent, isMouseEvent, isPointerEvent, isTextNode, isoDateOf, lineSpacingMenuRowLabel, lineSpacingMenuRows, listenForPopupEscape, listenForPopupFocusLeave, lowerColorValueForBorder, lowerColorValueForFill, mixedFieldsOf, mountPaginatedSurface, observeContentControlPopup, openEditorWindow, parseIsoDate, partOfNodeId, positionContentControlPopup, positionInputFromPropertiesCommand, propertiesCommandHasPositionFields, readAvailableWidth, readColumnGap, readInlineMargins, readSplitCellCounts, reportAutomationException, reportAutomationRefusal, resolveColorValueToCss, resolveThemeColorHex, resolveZoomMode, reviewPaneEntitledZoom, rulerPageBox, sameOverflow, sameTabStops, sameZoomMode, seedFields, separatorLeadingCost, shiftMonth, signedFirstLineOf, snapTwips, specialOf, surfaceExtent, tableCommandState, toEditorFontError, toolbarGroupPriority, toolbarOverflowGroups, toolbarPanelPlacement, toolbarPopupLeft, trailingGapCost, trapTabWithin, twipsToInches, validateDrawingPositionInput, validateSetImagePositionCommand, validateThemeModifier, watchHighlights, watermarkShapeBox, withTabStop };
2031
- export type { BarRoomInput, BookmarkDialogNameState, BookmarkSortOrder, BrowserAutomationHost, CalendarDay, CalendarMonth, CalendarMonthOptions, ClearRefreshHighlightsOptions, ColorLowerResult, ContentControlListNavigation, DocumentRefresh, DocumentRefreshState, DocumentSearch, DocumentSearchFindOptions, DocumentSearchHighlight, DocumentSearchNavigateOptions, DocumentSearchOptions, DocumentSearchState, EditorPreviewFork, EditorPreviewRefusal, EditorWindow, GoToBookmarkGroup, HighlightSource, HighlightWatch, HistoryGroupRun, HistoryShortcutKeys, HostTimers, HostWindow, LineSpacingMenuRow, LineSpacingMenuValue, NavigateToChangeOptions, OpenEditorWindowOptions, ParagraphDialogFields, ParagraphDialogMixed, ParagraphFlagKey, ParagraphFlagState, ParagraphFormatRead, ParagraphFormatUpdate, PopupEscapeOptions, PopupFocusLeaveOptions, RefreshChange, RefreshChangeInput, RefreshFailureCode, RefreshHighlightAnimation, RefreshHighlightOptions, RefreshLocation, RefreshResult, RefreshSubmission, RefreshUpdate, RulerDragOptions, RulerIndent, RulerIndentHandle, RulerPageMetrics, RulerTick, RulerUnit, SpecialIndent, SplitCellCountProblem, SplitCellCounts, SplitCellLimits, SurfaceExtent, TabAlignment, TabLeaderName, ToolbarFitInput, ToolbarHostGroupPlacement, ToolbarPanelPlacement, WatchHighlightsOptions, WatermarkSize };
2324
+ /**
2325
+ * A small DOCX that holds one drawing from the editor's current document, including unsaved
2326
+ * edits, for an external renderer. It equals `createDrawingPreviewPackage` on the document as
2327
+ * a save would write it now; see that function for the page and renderer rules.
2328
+ *
2329
+ * Pass an occurrence that an `UnsupportedElement` component receives, and the editor from
2330
+ * `useDocxEditor()`, returning early on `null`. The call is synchronous and serializes the
2331
+ * drawing's parts: make it in an effect keyed on `element.source`, not during render, and
2332
+ * spread out or queue the calls when there are many drawings. By default a package copies at
2333
+ * most 64 parts and 64 MiB; pass `limits` to change that.
2334
+ *
2335
+ * @public
2336
+ */
2337
+ declare function drawingPreviewDocx(editor: DocxEditorInstance, element: Pick<UnsupportedElement, 'ownerPartName' | 'nodeId'>, limits?: DrawingPreviewPackageLimits): DrawingPreviewPackageResult;
2338
+
2339
+ export { AUTO_ZOOM_MODE, AnchorHighlightAnimation, AnchorHighlightOptions, BROWSER_AUTOMATION_CAPABILITIES, CONTENT_CONTROL_PICTURE_ACCEPT, ClearAnchorHighlightOptions, DEFAULT_WATERMARK_FONT, DRAWING_REL_FROM_H, DRAWING_REL_FROM_V, DocumentRefreshError, DocxEditorInstance, DrawingPositionInput, DrawingPreviewPackageLimits, DrawingPreviewPackageResult, FIT_WIDTH_ZOOM_MODE, FontShapingOptions, HIGHLIGHT_REFRESH_MS, HighlightOptions, HighlightRange, HighlightResult, HistoryGroup, LINE_SPACING_PRESETS, LOADING_SNAPSHOT, NO_MIXED_FIELDS, OpenPaginatedResult, PX_PER_CM, PX_PER_INCH, PaginatedSurface, PaginatedSurfaceOptions, ParagraphTabStop, REVIEW_MARKERS_GUTTER_PX, ReviewDiagnosticCode, ReviewOperation, ReviewPaneOverflow, SEARCH_DEBOUNCE_MS, SEARCH_HIGHLIGHT_PRIORITY, SEARCH_HIGHLIGHT_SET, SEARCH_MATCH_LIMIT, SNAP_TWIPS_CM, SNAP_TWIPS_INCH, SPLIT_CELL_FALLBACK_MAX, ScrollPlacement, ScrollToAnchorOptions, SurfaceFormatting, TAB_ALIGNMENT_LABELS, TOOLBAR_COLLAPSE_ORDER, TOOLBAR_HOST_ITEM, TOOLBAR_ITEM_ATTRIBUTE, TOOLBAR_OVERFLOW_HYSTERESIS, TOOLBAR_PANEL_EDGE_MARGIN, TOOLBAR_PINNED_GROUPS, TWIPS_PER_CM, TWIPS_PER_INCH, TextMatch, TextMeasurer, TreeDocxSessionView, UnsupportedElement, ZOOM_MAX, ZOOM_MIN, alignmentAfterDirectionChange, applyThemeShade, applyThemeTint, arrangeToolbarGroups, barRoomWidth, beginEditorPreview, bookmarkDialogInitialName, bookmarkDialogNameState, bookmarkDialogRows, calendarDateForKey, calendarDateFromText, calendarDateText, calendarMonth, calendarMonthNames, calendarMonthTitle, calendarWeekdays, changedFields, chordLetter, clipboardDropLandsText, clipboardPasteLandsContent, collapseOrder, contentControlPopupKeyDown, contentControlPopupOpener, controlsOverflow, copyEditorStyles, createBrowserAutomationHost, createContentControlListNavigation, createDocumentRefresh, createDocumentSearch, createLayoutShaping, dragIndent, drawingPreviewDocx, editorCommandKey, editorHostDocument, editorHostElement, editorHostWindow, editorInstanceScope, editorPreviewActive, firstDayOfWeek, formatInches, generateRulerTicks, goToBookmarkGroups, goToBookmarkMatch, goToBookmarkRows, goToBookmarkTarget, handlePosition, hasOpenNestedPopup, historyShortcutOf, hostDirectionOf, hostDocumentOf, hostTimers, hostWindowOf, inchesToTwips, initialSplitCellCounts, isDomNode, isElementNode, isGoToChord, isHTMLElementNode, isInputEvent, isKeyboardEvent, isMouseEvent, isPointerEvent, isTextNode, isoDateOf, keepScrollAtInlineEnd, lineSpacingMenuRowLabel, lineSpacingMenuRows, listenForOutsidePress, listenForPopupEscape, listenForPopupFocusLeave, lowerColorValueForBorder, lowerColorValueForFill, mixedFieldsOf, mountPaginatedSurface, observeContentControlPopup, observeHostDirection, openEditorWindow, parseIsoDate, partOfNodeId, placeSubmenu, positionContentControlPopup, positionInputFromPropertiesCommand, propertiesCommandHasPositionFields, readAvailableWidth, readColumnGap, readInlineMargins, readSplitCellCounts, readToolbarRow, reportAutomationException, reportAutomationRefusal, reportAutomationReviewSkip, resolveColorValueToCss, resolveThemeColorHex, resolveZoomMode, reviewPaneEntitledZoom, rulerMarginTicks, rulerPageBox, rulerTabPosition, sameItemOverflow, sameTabStops, sameZoomMode, seedFields, separatorLeadingCost, shiftMonth, signedFirstLineOf, snapTwips, specialOf, storyLabelTop, submenuKeys, surfaceExtent, tableCommandState, textboxFrameReason, toEditorFontError, toolbarGroupItems, toolbarGroupPriority, toolbarGroupsKey, toolbarHostPanelShown, toolbarItemKey, toolbarOverflowItems, toolbarPanelPlacement, toolbarPopupLeft, toolbarShownCount, trailingGapCost, trapTabWithin, twipsToInches, validateDrawingPositionInput, validateSetImagePositionCommand, validateThemeModifier, watchHighlights, watermarkShapeBox, withTabStop };
2340
+ export type { BarRoomInput, BookmarkDialogNameState, BookmarkSortOrder, BrowserAutomationHost, CalendarDay, CalendarMonth, CalendarMonthOptions, ClearRefreshHighlightsOptions, ColorLowerResult, ContentControlListNavigation, DocumentRefresh, DocumentRefreshState, DocumentSearch, DocumentSearchFindOptions, DocumentSearchHighlight, DocumentSearchNavigateOptions, DocumentSearchOptions, DocumentSearchState, EditorPreviewFork, EditorPreviewRefusal, EditorWindow, GoToBookmarkGroup, HighlightSource, HighlightWatch, HistoryGroupRun, HistoryShortcutKeys, HostTimers, HostWindow, LineSpacingMenuRow, LineSpacingMenuValue, NavigateToChangeOptions, OpenEditorWindowOptions, OutsidePressOptions, ParagraphDialogFields, ParagraphDialogMixed, ParagraphFlagKey, ParagraphFlagState, ParagraphFormatRead, ParagraphFormatUpdate, PopupEscapeOptions, PopupFocusLeaveOptions, RefreshChange, RefreshChangeInput, RefreshFailureCode, RefreshHighlightAnimation, RefreshHighlightOptions, RefreshLocation, RefreshResult, RefreshSubmission, RefreshUpdate, RulerDragOptions, RulerIndent, RulerIndentHandle, RulerMarginTick, RulerPageMetrics, RulerTick, RulerUnit, SpecialIndent, SplitCellCountProblem, SplitCellCounts, SplitCellLimits, SurfaceExtent, TabAlignment, TabLeaderName, ToolbarFitGroup, ToolbarHostGroupPlacement, ToolbarItemFitInput, ToolbarItemOverflow, ToolbarPanelPlacement, ToolbarRowMemory, ToolbarRowReading, WatchHighlightsOptions, WatermarkSize };