superdoc 2.12.1-next.3 → 2.13.0-next.10

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 (41) hide show
  1. package/dist/chunks/{create-super-doc-ui-BWWWNPP8.cjs → create-super-doc-ui-mHK2pqj3.cjs} +3 -1
  2. package/dist/chunks/{create-super-doc-ui-FnwgTkUv.es.js → create-super-doc-ui-u1giSvlm.es.js} +3 -1
  3. package/dist/collaboration-upgrade-engine.cjs +1 -1
  4. package/dist/collaboration-upgrade-engine.es.js +1 -1
  5. package/dist/document-api/src/blocks/blocks.d.ts +3 -1
  6. package/dist/document-api/src/blocks/find-text.d.ts +3 -0
  7. package/dist/document-api/src/content-controls/content-controls.types.d.ts +1 -1
  8. package/dist/document-api/src/contract/command-catalog.d.ts +1 -1
  9. package/dist/document-api/src/contract/operation-definitions.d.ts +11 -1
  10. package/dist/document-api/src/contract/operation-registry.d.ts +7 -2
  11. package/dist/document-api/src/index.d.ts +7 -6
  12. package/dist/document-api/src/invoke/invoke.d.ts +2 -1
  13. package/dist/document-api/src/types/blocks.types.d.ts +38 -0
  14. package/dist/document-api/src/types/mutation-plan.types.d.ts +28 -4
  15. package/dist/document-api/src/types/table-operations.types.d.ts +2 -0
  16. package/dist/layout-engine/dom-contract/src/data-attrs.d.ts +3 -0
  17. package/dist/layout-engine/painters/dom/src/page-content.d.ts +3 -2
  18. package/dist/layout-engine/painters/dom/src/renderer.d.ts +1 -0
  19. package/dist/public/collaboration-worker.cjs +9 -0
  20. package/dist/public/collaboration-worker.es.js +8 -0
  21. package/dist/public/ui-react.cjs +1 -1
  22. package/dist/public/ui-react.es.js +1 -1
  23. package/dist/public/ui-vue.cjs +1 -1
  24. package/dist/public/ui-vue.es.js +1 -1
  25. package/dist/public/ui.cjs +1 -1
  26. package/dist/public/ui.es.js +1 -1
  27. package/dist/style.css +26 -26
  28. package/dist/style.layered.css +26 -26
  29. package/dist/superdoc/src/core/collaboration/collaboration-exception.d.ts +2 -0
  30. package/dist/superdoc/src/core/collaboration/resolve-v2-collaboration-target.d.ts +16 -5
  31. package/dist/superdoc/src/core/types/index.d.ts +58 -41
  32. package/dist/superdoc/src/public/collaboration-worker.d.cts +18 -0
  33. package/dist/superdoc/src/public/collaboration-worker.d.ts +48 -0
  34. package/dist/superdoc/src/public/index.d.cts +4 -0
  35. package/dist/superdoc/src/public/index.d.ts +2 -0
  36. package/dist/superdoc.cjs +350 -238
  37. package/dist/superdoc.es.js +350 -238
  38. package/dist-cdn/style.layered.css +1 -1
  39. package/dist-cdn/superdoc.min.css +1 -1
  40. package/dist-cdn/superdoc.min.js +35 -35
  41. package/package.json +13 -2
@@ -115,7 +115,9 @@ var DATA_ATTRS = {
115
115
  /** Encoded story locator (e.g. `body`, `header:rId4`, `footer:rId7`). */
116
116
  LAYOUT_STORY: "data-layout-story",
117
117
  /** Source block reference (today: producer's `blockId`). */
118
- LAYOUT_BLOCK_REF: "data-layout-block-ref"
118
+ LAYOUT_BLOCK_REF: "data-layout-block-ref",
119
+ /** Zero-based flow-column index that owns the rendered fragment. */
120
+ LAYOUT_COLUMN_INDEX: "data-layout-column-index"
119
121
  };
120
122
  /**
121
123
  * Decode the dataset string back into a `LayoutStoryLocator`-shaped object.
@@ -115,7 +115,9 @@ var DATA_ATTRS = {
115
115
  /** Encoded story locator (e.g. `body`, `header:rId4`, `footer:rId7`). */
116
116
  LAYOUT_STORY: "data-layout-story",
117
117
  /** Source block reference (today: producer's `blockId`). */
118
- LAYOUT_BLOCK_REF: "data-layout-block-ref"
118
+ LAYOUT_BLOCK_REF: "data-layout-block-ref",
119
+ /** Zero-based flow-column index that owns the rendered fragment. */
120
+ LAYOUT_COLUMN_INDEX: "data-layout-column-index"
119
121
  };
120
122
  /**
121
123
  * Decode the dataset string back into a `LayoutStoryLocator`-shaped object.
@@ -19,7 +19,7 @@ var COLLABORATION_UPGRADE_ENGINE_MINIMUM_NODE_MAJOR = 20;
19
19
  var PRIVATE_ENGINE_INFO = (0, _superdoc_docx_engine_collaboration_upgrade_engine.getCollaborationUpgradeEngineInfo)();
20
20
  var ENGINE_INFO = Object.freeze({
21
21
  ...PRIVATE_ENGINE_INFO,
22
- superdocVersion: "2.12.1-next.3",
22
+ superdocVersion: "2.13.0-next.10",
23
23
  roomSchemaVersion: Object.freeze({ ...PRIVATE_ENGINE_INFO.roomSchemaVersion }),
24
24
  supportedBundleVersions: SUPPORTED_COLLABORATION_UPGRADE_BUNDLE_VERSIONS,
25
25
  supportedV1ReaderContractVersions: SUPPORTED_V1_READER_CONTRACT_VERSIONS
@@ -18,7 +18,7 @@ var COLLABORATION_UPGRADE_ENGINE_MINIMUM_NODE_MAJOR = 20;
18
18
  var PRIVATE_ENGINE_INFO = getCollaborationUpgradeEngineInfo$1();
19
19
  var ENGINE_INFO = Object.freeze({
20
20
  ...PRIVATE_ENGINE_INFO,
21
- superdocVersion: "2.12.1-next.3",
21
+ superdocVersion: "2.13.0-next.10",
22
22
  roomSchemaVersion: Object.freeze({ ...PRIVATE_ENGINE_INFO.roomSchemaVersion }),
23
23
  supportedBundleVersions: SUPPORTED_COLLABORATION_UPGRADE_BUNDLE_VERSIONS,
24
24
  supportedV1ReaderContractVersions: SUPPORTED_V1_READER_CONTRACT_VERSIONS
@@ -1,7 +1,8 @@
1
1
  import { MutationOptions } from '../write/write.js';
2
- import { BlocksDeleteInput, BlocksDeleteResult, BlocksListInput, BlocksListResult, BlocksDeleteRangeInput, BlocksDeleteRangeResult, BlocksMergeInput, BlocksMergeResult, BlocksMoveInput, BlocksMoveResult, BlocksSplitInput, BlocksSplitResult } from '../types/blocks.types.js';
2
+ import { BlocksDeleteInput, BlocksDeleteResult, BlocksListInput, BlocksListResult, BlocksFindTextInput, BlocksFindTextResult, BlocksDeleteRangeInput, BlocksDeleteRangeResult, BlocksMergeInput, BlocksMergeResult, BlocksMoveInput, BlocksMoveResult, BlocksSplitInput, BlocksSplitResult } from '../types/blocks.types.js';
3
3
  export interface BlocksApi {
4
4
  list(input?: BlocksListInput): BlocksListResult;
5
+ findText(input: BlocksFindTextInput): BlocksFindTextResult;
5
6
  delete(input: BlocksDeleteInput, options?: MutationOptions): BlocksDeleteResult;
6
7
  deleteRange(input: BlocksDeleteRangeInput, options?: MutationOptions): BlocksDeleteRangeResult;
7
8
  /** Split a paragraph at a visible-text offset. */
@@ -12,6 +13,7 @@ export interface BlocksApi {
12
13
  move(input: BlocksMoveInput, options?: MutationOptions): BlocksMoveResult;
13
14
  }
14
15
  export interface BlocksAdapter {
16
+ readonly supportsIdentityFilter?: boolean;
15
17
  list(input?: BlocksListInput): BlocksListResult;
16
18
  delete(input: BlocksDeleteInput, options?: MutationOptions): BlocksDeleteResult;
17
19
  deleteRange(input: BlocksDeleteRangeInput, options?: MutationOptions): BlocksDeleteRangeResult;
@@ -0,0 +1,3 @@
1
+ import { BlocksAdapter } from './blocks.js';
2
+ import { BlocksFindTextInput, BlocksFindTextResult } from '../types/blocks.types.js';
3
+ export declare function executeBlocksFindText(adapter: BlocksAdapter, input: BlocksFindTextInput): BlocksFindTextResult;
@@ -284,7 +284,7 @@ export interface ContentControlsGetContentResult {
284
284
  export interface ContentControlsReplaceContentInput {
285
285
  target: ContentControlTarget;
286
286
  content: string;
287
- format?: 'text' | 'html';
287
+ format?: 'text' | 'html' | 'ooxml';
288
288
  }
289
289
  export interface ContentControlsClearContentInput {
290
290
  target: ContentControlTarget;
@@ -1,7 +1,7 @@
1
1
  import { CommandCatalog, CommandStaticMetadata, OperationId } from './types.js';
2
2
  export declare const COMMAND_CATALOG: CommandCatalog;
3
3
  /** Operation IDs whose catalog entry has `mutates: true`. */
4
- export declare const MUTATING_OPERATION_IDS: ("replace" | "find" | "insert" | "delete" | "info" | "projectHtml" | "projectMarkdown" | "capabilities.check" | "format.apply" | "blocks.split" | "blocks.merge" | "blocks.move" | "lists.getState" | "lists.apply" | "lists.continue" | "lists.restart" | "lists.remove" | "format.paragraph.setMarkRunProps" | "tables.moveRow" | "format.bold" | "format.strike" | "format.color" | "format.rtl" | "format.cs" | "format.shading" | "format.fontFamily" | "format.lang" | "format.fontSize" | "format.fontSizeCs" | "format.highlight" | "format.italic" | "format.underline" | "format.caps" | "format.smallCaps" | "format.outline" | "format.shadow" | "format.emboss" | "format.imprint" | "format.vanish" | "format.webHidden" | "format.specVanish" | "format.border" | "format.fitText" | "format.dstrike" | "format.vertAlign" | "format.position" | "format.bCs" | "format.iCs" | "format.snapToGrid" | "format.oMath" | "format.letterSpacing" | "format.charScale" | "format.kerning" | "format.rStyle" | "format.rFonts" | "format.eastAsianLayout" | "format.em" | "format.ligatures" | "format.numForm" | "format.numSpacing" | "format.stylisticSets" | "format.contextualAlternates" | "get" | "getNode" | "getNodeById" | "getText" | "getMarkdown" | "getHtml" | "markdownToFragment" | "htmlToFragment" | "extract" | "clearContent" | "formatRange" | "blocks.list" | "blocks.delete" | "blocks.deleteRange" | "styles.apply" | "styles.getCatalog" | "templates.apply" | "create.paragraph" | "create.heading" | "create.sectionBreak" | "sections.list" | "sections.get" | "sections.setBreakType" | "sections.setPageMargins" | "sections.setHeaderFooterMargins" | "sections.setPageSetup" | "sections.setColumns" | "sections.setLineNumbering" | "sections.setPageNumbering" | "sections.setTitlePage" | "sections.setOddEvenHeadersFooters" | "sections.setVerticalAlign" | "sections.setSectionDirection" | "sections.setHeaderFooterRef" | "sections.clearHeaderFooterRef" | "sections.setLinkToPrevious" | "sections.setPageBorders" | "sections.clearPageBorders" | "styles.paragraph.setStyle" | "styles.paragraph.setStyleRef" | "styles.paragraph.clearStyle" | "format.paragraph.resetDirectFormatting" | "format.paragraph.setAlignment" | "format.paragraph.clearAlignment" | "format.paragraph.setIndentation" | "format.paragraph.clearIndentation" | "format.paragraph.setSpacing" | "format.paragraph.clearSpacing" | "format.paragraph.setKeepOptions" | "format.paragraph.setOutlineLevel" | "format.paragraph.setFlowOptions" | "format.paragraph.setTabStop" | "format.paragraph.clearTabStop" | "format.paragraph.clearAllTabStops" | "format.paragraph.setBorder" | "format.paragraph.clearBorder" | "format.paragraph.setShading" | "format.paragraph.clearShading" | "format.paragraph.setDirection" | "format.paragraph.clearDirection" | "format.paragraph.setNumbering" | "lists.list" | "lists.get" | "lists.insert" | "lists.create" | "lists.attach" | "lists.detach" | "lists.delete" | "lists.indent" | "lists.outdent" | "lists.join" | "lists.canJoin" | "lists.separate" | "lists.merge" | "lists.split" | "lists.setLevel" | "lists.setValue" | "lists.continuePrevious" | "lists.canContinuePrevious" | "lists.setLevelRestart" | "lists.convertToText" | "lists.applyTemplate" | "lists.applyPreset" | "lists.setType" | "lists.captureTemplate" | "lists.setLevelNumbering" | "lists.setLevelBullet" | "lists.setLevelPictureBullet" | "lists.setLevelAlignment" | "lists.setLevelIndents" | "lists.setLevelTrailingCharacter" | "lists.setLevelMarkerFont" | "lists.clearLevelOverrides" | "lists.getStyle" | "lists.applyStyle" | "lists.restartAt" | "lists.setLevelNumberStyle" | "lists.setLevelText" | "lists.setLevelStart" | "lists.setLevelLayout" | "comments.create" | "comments.patch" | "comments.delete" | "comments.get" | "comments.list" | "trackChanges.list" | "trackChanges.get" | "trackChanges.decide" | "query.match" | "ranges.resolve" | "selection.current" | "mutations.preview" | "mutations.apply" | "plan.execute" | "capabilities.get" | "create.table" | "tables.convertFromText" | "tables.delete" | "tables.clearContents" | "tables.move" | "tables.split" | "tables.convertToText" | "tables.setLayout" | "tables.insertRow" | "tables.deleteRow" | "tables.setRowHeight" | "tables.distributeRows" | "tables.setRowOptions" | "tables.insertColumn" | "tables.deleteColumn" | "tables.setColumnWidth" | "tables.distributeColumns" | "tables.insertCell" | "tables.deleteCell" | "tables.mergeCells" | "tables.unmergeCells" | "tables.splitCell" | "tables.setCellProperties" | "tables.setCellText" | "tables.sort" | "tables.setAltText" | "tables.setStyle" | "tables.clearStyle" | "tables.setStyleOption" | "tables.setBorder" | "tables.clearBorder" | "tables.applyBorderPreset" | "tables.setShading" | "tables.clearShading" | "tables.setTablePadding" | "tables.setCellPadding" | "tables.setCellSpacing" | "tables.clearCellSpacing" | "tables.applyStyle" | "tables.setBorders" | "tables.setTableOptions" | "tables.applyPreset" | "tables.get" | "tables.getCells" | "tables.getProperties" | "tables.getStyles" | "tables.setDefaultStyle" | "tables.clearDefaultStyle" | "create.tableOfContents" | "toc.list" | "toc.get" | "toc.configure" | "toc.update" | "toc.remove" | "toc.markEntry" | "toc.unmarkEntry" | "toc.listEntries" | "toc.getEntry" | "toc.editEntry" | "history.get" | "history.undo" | "history.redo" | "create.image" | "images.list" | "images.get" | "images.delete" | "images.move" | "images.convertToInline" | "images.convertToFloating" | "images.setSize" | "images.setWrapType" | "images.setWrapSide" | "images.setWrapDistances" | "images.setPosition" | "images.setAnchorOptions" | "images.setZOrder" | "images.scale" | "images.setLockAspectRatio" | "images.rotate" | "images.flip" | "images.crop" | "images.resetCrop" | "images.replaceSource" | "images.setAltText" | "images.setDecorative" | "images.setName" | "images.setHyperlink" | "images.insertCaption" | "images.updateCaption" | "images.removeCaption" | "hyperlinks.list" | "hyperlinks.get" | "hyperlinks.wrap" | "hyperlinks.insert" | "hyperlinks.patch" | "hyperlinks.remove" | "headerFooters.list" | "headerFooters.get" | "headerFooters.resolve" | "headerFooters.refs.set" | "headerFooters.refs.clear" | "headerFooters.refs.setLinkedToPrevious" | "headerFooters.parts.list" | "headerFooters.parts.create" | "headerFooters.parts.delete" | "create.contentControl" | "contentControls.list" | "contentControls.get" | "contentControls.listInRange" | "contentControls.selectByTag" | "contentControls.selectByTitle" | "contentControls.listChildren" | "contentControls.getParent" | "contentControls.wrap" | "contentControls.unwrap" | "contentControls.delete" | "contentControls.copy" | "contentControls.move" | "contentControls.patch" | "contentControls.setLockMode" | "contentControls.setType" | "contentControls.getContent" | "contentControls.replaceContent" | "contentControls.clearContent" | "contentControls.appendContent" | "contentControls.prependContent" | "contentControls.insertBefore" | "contentControls.insertAfter" | "contentControls.getBinding" | "contentControls.setBinding" | "contentControls.clearBinding" | "contentControls.getRawProperties" | "contentControls.patchRawProperties" | "contentControls.validateWordCompatibility" | "contentControls.normalizeWordCompatibility" | "contentControls.normalizeTagPayload" | "contentControls.text.setMultiline" | "contentControls.text.setValue" | "contentControls.text.clearValue" | "contentControls.date.setValue" | "contentControls.date.clearValue" | "contentControls.date.setDisplayFormat" | "contentControls.date.setDisplayLocale" | "contentControls.date.setStorageFormat" | "contentControls.date.setCalendar" | "contentControls.checkbox.getState" | "contentControls.checkbox.setState" | "contentControls.checkbox.toggle" | "contentControls.checkbox.setSymbolPair" | "contentControls.choiceList.getItems" | "contentControls.choiceList.setItems" | "contentControls.choiceList.setSelected" | "contentControls.repeatingSection.listItems" | "contentControls.repeatingSection.insertItemBefore" | "contentControls.repeatingSection.insertItemAfter" | "contentControls.repeatingSection.cloneItem" | "contentControls.repeatingSection.deleteItem" | "contentControls.repeatingSection.setAllowInsertDelete" | "contentControls.group.wrap" | "contentControls.group.ungroup" | "bookmarks.list" | "bookmarks.get" | "bookmarks.insert" | "bookmarks.rename" | "bookmarks.remove" | "footnotes.list" | "footnotes.get" | "footnotes.insert" | "footnotes.update" | "footnotes.remove" | "footnotes.configure" | "clipboard.parse" | "clipboard.insert" | "clipboard.serializeSelection" | "crossRefs.list" | "crossRefs.get" | "crossRefs.insert" | "crossRefs.rebuild" | "crossRefs.remove" | "index.list" | "index.get" | "index.insert" | "index.configure" | "index.rebuild" | "index.remove" | "index.entries.list" | "index.entries.get" | "index.entries.insert" | "index.entries.update" | "index.entries.remove" | "captions.list" | "captions.get" | "captions.insert" | "captions.update" | "captions.remove" | "captions.configure" | "fields.list" | "fields.get" | "fields.insert" | "fields.rebuild" | "fields.remove" | "citations.list" | "citations.get" | "citations.insert" | "citations.update" | "citations.remove" | "citations.sources.list" | "citations.sources.get" | "citations.sources.insert" | "citations.sources.update" | "citations.sources.remove" | "citations.bibliography.get" | "citations.bibliography.insert" | "citations.bibliography.rebuild" | "citations.bibliography.configure" | "citations.bibliography.remove" | "authorities.list" | "authorities.get" | "authorities.insert" | "authorities.configure" | "authorities.rebuild" | "authorities.remove" | "authorities.entries.list" | "authorities.entries.get" | "authorities.entries.insert" | "authorities.entries.update" | "authorities.entries.remove" | "diff.capture" | "diff.compare" | "diff.apply" | "export.toDocx" | "protection.get" | "protection.setEditingRestriction" | "protection.clearEditingRestriction" | "permissionRanges.list" | "permissionRanges.get" | "permissionRanges.create" | "permissionRanges.remove" | "permissionRanges.updatePrincipal" | "customXml.parts.list" | "customXml.parts.get" | "customXml.parts.create" | "customXml.parts.patch" | "customXml.parts.remove" | "metadata.attach" | "metadata.list" | "metadata.get" | "metadata.update" | "metadata.remove" | "metadata.resolve")[];
4
+ export declare const MUTATING_OPERATION_IDS: ("replace" | "find" | "insert" | "delete" | "info" | "projectHtml" | "projectMarkdown" | "capabilities.check" | "format.apply" | "blocks.split" | "blocks.merge" | "blocks.move" | "lists.getState" | "lists.apply" | "lists.continue" | "lists.restart" | "lists.remove" | "format.paragraph.setMarkRunProps" | "tables.moveRow" | "format.bold" | "format.strike" | "format.color" | "format.rtl" | "format.cs" | "format.shading" | "format.fontFamily" | "format.lang" | "format.fontSize" | "format.fontSizeCs" | "format.highlight" | "format.italic" | "format.underline" | "format.caps" | "format.smallCaps" | "format.outline" | "format.shadow" | "format.emboss" | "format.imprint" | "format.vanish" | "format.webHidden" | "format.specVanish" | "format.border" | "format.fitText" | "format.dstrike" | "format.vertAlign" | "format.position" | "format.bCs" | "format.iCs" | "format.snapToGrid" | "format.oMath" | "format.letterSpacing" | "format.charScale" | "format.kerning" | "format.rStyle" | "format.rFonts" | "format.eastAsianLayout" | "format.em" | "format.ligatures" | "format.numForm" | "format.numSpacing" | "format.stylisticSets" | "format.contextualAlternates" | "get" | "getNode" | "getNodeById" | "getText" | "getMarkdown" | "getHtml" | "markdownToFragment" | "htmlToFragment" | "extract" | "clearContent" | "formatRange" | "blocks.findText" | "blocks.list" | "blocks.delete" | "blocks.deleteRange" | "styles.apply" | "styles.getCatalog" | "templates.apply" | "create.paragraph" | "create.heading" | "create.sectionBreak" | "sections.list" | "sections.get" | "sections.setBreakType" | "sections.setPageMargins" | "sections.setHeaderFooterMargins" | "sections.setPageSetup" | "sections.setColumns" | "sections.setLineNumbering" | "sections.setPageNumbering" | "sections.setTitlePage" | "sections.setOddEvenHeadersFooters" | "sections.setVerticalAlign" | "sections.setSectionDirection" | "sections.setHeaderFooterRef" | "sections.clearHeaderFooterRef" | "sections.setLinkToPrevious" | "sections.setPageBorders" | "sections.clearPageBorders" | "styles.paragraph.setStyle" | "styles.paragraph.setStyleRef" | "styles.paragraph.clearStyle" | "format.paragraph.resetDirectFormatting" | "format.paragraph.setAlignment" | "format.paragraph.clearAlignment" | "format.paragraph.setIndentation" | "format.paragraph.clearIndentation" | "format.paragraph.setSpacing" | "format.paragraph.clearSpacing" | "format.paragraph.setKeepOptions" | "format.paragraph.setOutlineLevel" | "format.paragraph.setFlowOptions" | "format.paragraph.setTabStop" | "format.paragraph.clearTabStop" | "format.paragraph.clearAllTabStops" | "format.paragraph.setBorder" | "format.paragraph.clearBorder" | "format.paragraph.setShading" | "format.paragraph.clearShading" | "format.paragraph.setDirection" | "format.paragraph.clearDirection" | "format.paragraph.setNumbering" | "lists.list" | "lists.get" | "lists.insert" | "lists.create" | "lists.attach" | "lists.detach" | "lists.delete" | "lists.indent" | "lists.outdent" | "lists.join" | "lists.canJoin" | "lists.separate" | "lists.merge" | "lists.split" | "lists.setLevel" | "lists.setValue" | "lists.continuePrevious" | "lists.canContinuePrevious" | "lists.setLevelRestart" | "lists.convertToText" | "lists.applyTemplate" | "lists.applyPreset" | "lists.setType" | "lists.captureTemplate" | "lists.setLevelNumbering" | "lists.setLevelBullet" | "lists.setLevelPictureBullet" | "lists.setLevelAlignment" | "lists.setLevelIndents" | "lists.setLevelTrailingCharacter" | "lists.setLevelMarkerFont" | "lists.clearLevelOverrides" | "lists.getStyle" | "lists.applyStyle" | "lists.restartAt" | "lists.setLevelNumberStyle" | "lists.setLevelText" | "lists.setLevelStart" | "lists.setLevelLayout" | "comments.create" | "comments.patch" | "comments.delete" | "comments.get" | "comments.list" | "trackChanges.list" | "trackChanges.get" | "trackChanges.decide" | "query.match" | "ranges.resolve" | "selection.current" | "mutations.preview" | "mutations.apply" | "plan.execute" | "capabilities.get" | "create.table" | "tables.convertFromText" | "tables.delete" | "tables.clearContents" | "tables.move" | "tables.split" | "tables.convertToText" | "tables.setLayout" | "tables.insertRow" | "tables.deleteRow" | "tables.setRowHeight" | "tables.distributeRows" | "tables.setRowOptions" | "tables.insertColumn" | "tables.deleteColumn" | "tables.setColumnWidth" | "tables.distributeColumns" | "tables.insertCell" | "tables.deleteCell" | "tables.mergeCells" | "tables.unmergeCells" | "tables.splitCell" | "tables.setCellProperties" | "tables.setCellText" | "tables.sort" | "tables.setAltText" | "tables.setStyle" | "tables.clearStyle" | "tables.setStyleOption" | "tables.setBorder" | "tables.clearBorder" | "tables.applyBorderPreset" | "tables.setShading" | "tables.clearShading" | "tables.setTablePadding" | "tables.setCellPadding" | "tables.setCellSpacing" | "tables.clearCellSpacing" | "tables.applyStyle" | "tables.setBorders" | "tables.setTableOptions" | "tables.applyPreset" | "tables.get" | "tables.getCells" | "tables.getProperties" | "tables.getStyles" | "tables.setDefaultStyle" | "tables.clearDefaultStyle" | "create.tableOfContents" | "toc.list" | "toc.get" | "toc.configure" | "toc.update" | "toc.remove" | "toc.markEntry" | "toc.unmarkEntry" | "toc.listEntries" | "toc.getEntry" | "toc.editEntry" | "history.get" | "history.undo" | "history.redo" | "create.image" | "images.list" | "images.get" | "images.delete" | "images.move" | "images.convertToInline" | "images.convertToFloating" | "images.setSize" | "images.setWrapType" | "images.setWrapSide" | "images.setWrapDistances" | "images.setPosition" | "images.setAnchorOptions" | "images.setZOrder" | "images.scale" | "images.setLockAspectRatio" | "images.rotate" | "images.flip" | "images.crop" | "images.resetCrop" | "images.replaceSource" | "images.setAltText" | "images.setDecorative" | "images.setName" | "images.setHyperlink" | "images.insertCaption" | "images.updateCaption" | "images.removeCaption" | "hyperlinks.list" | "hyperlinks.get" | "hyperlinks.wrap" | "hyperlinks.insert" | "hyperlinks.patch" | "hyperlinks.remove" | "headerFooters.list" | "headerFooters.get" | "headerFooters.resolve" | "headerFooters.refs.set" | "headerFooters.refs.clear" | "headerFooters.refs.setLinkedToPrevious" | "headerFooters.parts.list" | "headerFooters.parts.create" | "headerFooters.parts.delete" | "create.contentControl" | "contentControls.list" | "contentControls.get" | "contentControls.listInRange" | "contentControls.selectByTag" | "contentControls.selectByTitle" | "contentControls.listChildren" | "contentControls.getParent" | "contentControls.wrap" | "contentControls.unwrap" | "contentControls.delete" | "contentControls.copy" | "contentControls.move" | "contentControls.patch" | "contentControls.setLockMode" | "contentControls.setType" | "contentControls.getContent" | "contentControls.replaceContent" | "contentControls.clearContent" | "contentControls.appendContent" | "contentControls.prependContent" | "contentControls.insertBefore" | "contentControls.insertAfter" | "contentControls.getBinding" | "contentControls.setBinding" | "contentControls.clearBinding" | "contentControls.getRawProperties" | "contentControls.patchRawProperties" | "contentControls.validateWordCompatibility" | "contentControls.normalizeWordCompatibility" | "contentControls.normalizeTagPayload" | "contentControls.text.setMultiline" | "contentControls.text.setValue" | "contentControls.text.clearValue" | "contentControls.date.setValue" | "contentControls.date.clearValue" | "contentControls.date.setDisplayFormat" | "contentControls.date.setDisplayLocale" | "contentControls.date.setStorageFormat" | "contentControls.date.setCalendar" | "contentControls.checkbox.getState" | "contentControls.checkbox.setState" | "contentControls.checkbox.toggle" | "contentControls.checkbox.setSymbolPair" | "contentControls.choiceList.getItems" | "contentControls.choiceList.setItems" | "contentControls.choiceList.setSelected" | "contentControls.repeatingSection.listItems" | "contentControls.repeatingSection.insertItemBefore" | "contentControls.repeatingSection.insertItemAfter" | "contentControls.repeatingSection.cloneItem" | "contentControls.repeatingSection.deleteItem" | "contentControls.repeatingSection.setAllowInsertDelete" | "contentControls.group.wrap" | "contentControls.group.ungroup" | "bookmarks.list" | "bookmarks.get" | "bookmarks.insert" | "bookmarks.rename" | "bookmarks.remove" | "footnotes.list" | "footnotes.get" | "footnotes.insert" | "footnotes.update" | "footnotes.remove" | "footnotes.configure" | "clipboard.parse" | "clipboard.insert" | "clipboard.serializeSelection" | "crossRefs.list" | "crossRefs.get" | "crossRefs.insert" | "crossRefs.rebuild" | "crossRefs.remove" | "index.list" | "index.get" | "index.insert" | "index.configure" | "index.rebuild" | "index.remove" | "index.entries.list" | "index.entries.get" | "index.entries.insert" | "index.entries.update" | "index.entries.remove" | "captions.list" | "captions.get" | "captions.insert" | "captions.update" | "captions.remove" | "captions.configure" | "fields.list" | "fields.get" | "fields.insert" | "fields.rebuild" | "fields.remove" | "citations.list" | "citations.get" | "citations.insert" | "citations.update" | "citations.remove" | "citations.sources.list" | "citations.sources.get" | "citations.sources.insert" | "citations.sources.update" | "citations.sources.remove" | "citations.bibliography.get" | "citations.bibliography.insert" | "citations.bibliography.rebuild" | "citations.bibliography.configure" | "citations.bibliography.remove" | "authorities.list" | "authorities.get" | "authorities.insert" | "authorities.configure" | "authorities.rebuild" | "authorities.remove" | "authorities.entries.list" | "authorities.entries.get" | "authorities.entries.insert" | "authorities.entries.update" | "authorities.entries.remove" | "diff.capture" | "diff.compare" | "diff.apply" | "export.toDocx" | "protection.get" | "protection.setEditingRestriction" | "protection.clearEditingRestriction" | "permissionRanges.list" | "permissionRanges.get" | "permissionRanges.create" | "permissionRanges.remove" | "permissionRanges.updatePrincipal" | "customXml.parts.list" | "customXml.parts.get" | "customXml.parts.create" | "customXml.parts.patch" | "customXml.parts.remove" | "metadata.attach" | "metadata.list" | "metadata.get" | "metadata.update" | "metadata.remove" | "metadata.resolve")[];
5
5
  /** Maps each operation to its human-readable description. */
6
6
  export declare const OPERATION_DESCRIPTION_MAP: Record<OperationId, string>;
7
7
  /** Maps each operation to whether it requires an open document to execute. */
@@ -3606,9 +3606,19 @@ export declare const OPERATION_DEFINITIONS: {
3606
3606
  readonly referenceGroup: "format";
3607
3607
  readonly skipAsATool: true;
3608
3608
  };
3609
+ readonly 'blocks.findText': {
3610
+ readonly memberPath: "blocks.findText";
3611
+ readonly description: "Find top-level body blocks containing a literal case-insensitive substring. Matches flattened block text, coalescing repeated hits and nested table paragraphs into one block. Scans at most 20,000 blocks inside the document host and returns compact previews without transferring full-text pages.";
3612
+ readonly expectedResult: "Returns matching-block total within the scan, limited matches with zero-based ordinals and 100-character previews, firstMatchOrdinal even for limit:0, scannedBlocks, truncated, and revision. A failed read retains completed pages and reports scanError; revision is unknown if no page succeeded. Whitespace and Unicode are not normalized.";
3613
+ readonly requiresDocumentContext: true;
3614
+ readonly metadata: CommandStaticMetadata;
3615
+ readonly referenceDocPath: "blocks/find-text.mdx";
3616
+ readonly referenceGroup: "blocks";
3617
+ readonly skipAsATool: true;
3618
+ };
3609
3619
  readonly 'blocks.list': {
3610
3620
  readonly memberPath: "blocks.list";
3611
- readonly description: "List top-level blocks in document order with IDs, types, text previews, and optional full text when includeText:true. Supports pagination via offset/limit, optional nodeType filtering, single-story scoping via `in: <StoryLocator>`, and final/original/redline projection of numbering metadata without changing block membership.";
3621
+ readonly description: "List top-level blocks in document order with IDs, types, text previews, and optional full text when includeText:true. Supports pagination via offset/limit after optional nodeTypes, nodeIds, and literal textSearch filtering, single-story scoping via `in: <StoryLocator>`, and final/original/redline projection of numbering metadata without changing block membership.";
3612
3622
  readonly expectedResult: "Returns a BlocksListResult with total block count, an ordered array of block entries, the effective numbering reviewMode, and the current document revision.";
3613
3623
  readonly requiresDocumentContext: true;
3614
3624
  readonly metadata: CommandStaticMetadata;
@@ -6,7 +6,7 @@ import { SDHtmlToFragmentResult, SDMutationReceipt, SDMarkdownToFragmentResult }
6
6
  import { DocumentInfo } from '../types/info.types.js';
7
7
  import { SDDocument } from '../types/fragment.js';
8
8
  import { CreateParagraphInput, CreateParagraphResult, CreateHeadingInput, CreateHeadingResult } from '../types/create.types.js';
9
- import { BlocksDeleteInput, BlocksDeleteResult, BlocksListInput, BlocksListResult, BlocksDeleteRangeInput, BlocksDeleteRangeResult, BlocksMergeInput, BlocksMergeResult, BlocksMoveInput, BlocksMoveResult, BlocksSplitInput, BlocksSplitResult } from '../types/blocks.types.js';
9
+ import { BlocksDeleteInput, BlocksDeleteResult, BlocksListInput, BlocksListResult, BlocksFindTextInput, BlocksFindTextResult, BlocksDeleteRangeInput, BlocksDeleteRangeResult, BlocksMergeInput, BlocksMergeResult, BlocksMoveInput, BlocksMoveResult, BlocksSplitInput, BlocksSplitResult } from '../types/blocks.types.js';
10
10
  import { GetNodeByIdInput } from '../get-node/get-node.js';
11
11
  import { GetTextInput } from '../get-text/get-text.js';
12
12
  import { GetMarkdownInput } from '../get-markdown/get-markdown.js';
@@ -165,6 +165,11 @@ export interface OperationRegistry extends FormatInlineAliasOperationRegistry {
165
165
  options: never;
166
166
  output: BlocksListResult;
167
167
  };
168
+ 'blocks.findText': {
169
+ input: BlocksFindTextInput;
170
+ options: never;
171
+ output: BlocksFindTextResult;
172
+ };
168
173
  'blocks.delete': {
169
174
  input: BlocksDeleteInput;
170
175
  options: MutationOptions;
@@ -2012,7 +2017,7 @@ export type InvokeRequest<T extends OperationId> = OperationRegistry[T]['options
2012
2017
  /**
2013
2018
  * Typed invoke result, narrowed by operationId.
2014
2019
  */
2015
- export type InvokeResult<T extends OperationId> = OperationRegistry[T]['output'];
2020
+ export type InvokeResult<T extends OperationId> = T extends 'mutations.preview' | 'mutations.apply' ? Promise<OperationRegistry[T]['output']> : T extends 'plan.execute' ? OperationRegistry[T]['output'] | Promise<OperationRegistry[T]['output']> : OperationRegistry[T]['output'];
2016
2021
  /**
2017
2022
  * Loose invoke request for dynamic callers who don't know the operation at compile time.
2018
2023
  * Invalid inputs will produce adapter-level errors, not input-validation errors.
@@ -36,7 +36,7 @@ import { CapabilitiesAdapter, DocumentApiCapabilities } from './capabilities/cap
36
36
  import { SDHtmlMarkdownSupportCheckInput, SDHtmlMarkdownSupportCheckResult } from './capabilities/html-markdown-support.js';
37
37
  import { OperationId } from './contract/types.js';
38
38
  import { DynamicInvokeRequest, InvokeRequest, InvokeResult } from './contract/operation-registry.js';
39
- import { PlanApi } from './plan/plan.js';
39
+ import { PlanApi, PlanExecuteResult } from './plan/plan.js';
40
40
  import { HistoryAdapter, HistoryApi } from './history/history.js';
41
41
  import { DiffAdapter, DiffApi } from './diff/diff.js';
42
42
  import { ExportAdapter, ExportApi } from './export/export.js';
@@ -161,6 +161,7 @@ export type { CommentsCreateReceipt, CommentsCreateInput, CommentCreateAttributi
161
161
  export { executeCommentsCreate, executeCommentsPatch, executeCommentsDelete, executeGetComment, executeListComments, } from './comments/comments.js';
162
162
  export type { CommentInfo, CommentDomain, CommentMetadata, CommentMetadataValue, CommentsListQuery, CommentsListResult, CommentTrackedChangeSide, CommentTrackedChangeLink, CommentTarget, } from './comments/comments.types.js';
163
163
  export type { BlocksApi } from './blocks/blocks.js';
164
+ export { executeBlocksFindText } from './blocks/find-text.js';
164
165
  export { executeBlocksList, executeBlocksDelete, executeBlocksDeleteRange, executeBlocksSplit, executeBlocksMerge, executeBlocksMove, } from './blocks/blocks.js';
165
166
  export { executeListsIndent, executeListsOutdent, executeListsGetState, executeListsApply, executeListsContinueV2, executeListsRestartV2, executeListsRemoveV2, } from './lists/lists.js';
166
167
  export { DocumentApiValidationError } from './errors.js';
@@ -242,8 +243,8 @@ export interface QueryApi {
242
243
  match(input: QueryMatchInput | TextSelector | NodeSelector): QueryMatchOutput;
243
244
  }
244
245
  export interface MutationsApi {
245
- preview(input: MutationsPreviewInput): MutationsPreviewOutput;
246
- apply(input: MutationsApplyInput): PlanReceipt;
246
+ preview(input: MutationsPreviewInput): Promise<MutationsPreviewOutput>;
247
+ apply(input: MutationsApplyInput): Promise<PlanReceipt>;
247
248
  }
248
249
  export interface RangesApi {
249
250
  resolve(input: ResolveRangeInput): ResolveRangeOutput;
@@ -255,8 +256,8 @@ export interface QueryAdapter {
255
256
  match(input: QueryMatchInput): QueryMatchOutput;
256
257
  }
257
258
  export interface MutationsAdapter {
258
- preview(input: MutationsPreviewInput): MutationsPreviewOutput;
259
- apply(input: MutationsApplyInput): PlanReceipt;
259
+ preview(input: MutationsPreviewInput): Promise<MutationsPreviewOutput>;
260
+ apply(input: MutationsApplyInput): Promise<PlanReceipt>;
260
261
  }
261
262
  /**
262
263
  * The Document API interface for querying and inspecting document nodes.
@@ -460,7 +461,7 @@ export interface DocumentApi {
460
461
  /**
461
462
  * Throughput-oriented batch executor with stepwise operation semantics.
462
463
  */
463
- plan: PlanApi;
464
+ plan: PlanApi<PlanExecuteResult | Promise<PlanExecuteResult>>;
464
465
  /**
465
466
  * Snapshot-based document comparison and replay.
466
467
  */
@@ -1,7 +1,8 @@
1
1
  import { OperationId } from '../contract/types.js';
2
2
  import { OperationRegistry } from '../contract/operation-registry.js';
3
3
  import { DocumentApi } from '../index.js';
4
- type TypedDispatchHandler<K extends OperationId> = OperationRegistry[K]['options'] extends never ? (input: OperationRegistry[K]['input']) => OperationRegistry[K]['output'] : (input: OperationRegistry[K]['input'], options?: OperationRegistry[K]['options']) => OperationRegistry[K]['output'];
4
+ type DispatchOutput<K extends OperationId> = K extends 'mutations.preview' | 'mutations.apply' ? Promise<OperationRegistry[K]['output']> : K extends 'plan.execute' ? OperationRegistry[K]['output'] | Promise<OperationRegistry[K]['output']> : OperationRegistry[K]['output'];
5
+ type TypedDispatchHandler<K extends OperationId> = OperationRegistry[K]['options'] extends never ? (input: OperationRegistry[K]['input']) => DispatchOutput<K> : (input: OperationRegistry[K]['input'], options?: OperationRegistry[K]['options']) => DispatchOutput<K>;
5
6
  export type TypedDispatchTable = {
6
7
  [K in OperationId]: TypedDispatchHandler<K>;
7
8
  };
@@ -50,6 +50,14 @@ export interface BlockListEntry {
50
50
  ref?: string;
51
51
  }
52
52
  export interface BlocksListInput {
53
+ /** Filter top-level blocks by identity before pagination. Cell paragraphs do not match body blocks. */
54
+ nodeIds?: string[];
55
+ /** Literal terms matched against complete block text before pagination; occurrences are blocks. */
56
+ textSearch?: {
57
+ terms: string[];
58
+ match?: 'all' | 'any';
59
+ caseSensitive?: boolean;
60
+ };
53
61
  offset?: number;
54
62
  limit?: number;
55
63
  nodeTypes?: BlockNodeType[];
@@ -72,6 +80,36 @@ export interface BlocksListResult {
72
80
  /** Effective numbering review mode. Defaults to final when omitted from the request. */
73
81
  reviewMode: SDProjectionReviewMode;
74
82
  }
83
+ export interface BlocksFindTextInput {
84
+ /** Literal, case-insensitive substring; whitespace and Unicode are not normalized. */
85
+ text: string;
86
+ /** Maximum matching blocks to return. Defaults to 8; zero returns counts only. */
87
+ limit?: number;
88
+ }
89
+ export interface BlocksFindTextMatch {
90
+ /** Zero-based top-level body ordinal, as in blocks.list. */
91
+ ordinal: number;
92
+ nodeId: string;
93
+ nodeType: BlockNodeType;
94
+ /** First 100 UTF-16 code units of the flattened block text. */
95
+ preview: string;
96
+ }
97
+ export interface BlocksFindTextResult {
98
+ /** Matching blocks, not occurrences, within the first 20,000 body blocks. */
99
+ total: number;
100
+ matches: BlocksFindTextMatch[];
101
+ /** Present even with limit: 0 so callers can locate a reading window. */
102
+ firstMatchOrdinal?: number;
103
+ scannedBlocks: number;
104
+ /** True when blocks beyond the scan cap were not searched. */
105
+ truncated: boolean;
106
+ /** A failed page read leaves preceding matches/counts intact; the scan is incomplete. */
107
+ scanError?: {
108
+ message: string;
109
+ };
110
+ /** Last successfully read revision, or "unknown" when the first page failed. */
111
+ revision: string;
112
+ }
75
113
  export interface BlocksDeleteInput {
76
114
  target: DeletableBlockNodeAddress;
77
115
  }
@@ -66,6 +66,10 @@ export type TextRewriteStep = {
66
66
  where: StepWhere;
67
67
  args: {
68
68
  replacement: ReplacementPayload;
69
+ /** Interpret positional `$1`…`$99` and `$&` tokens for regex matches. */
70
+ replacementMode?: 'literal' | 'regex-template';
71
+ /** Preserve the matched text's casing pattern instead of using replacement casing verbatim. */
72
+ caseHandling?: 'exact' | 'preserve-match';
69
73
  /**
70
74
  * Style policy for the replacement text.
71
75
  * When omitted, defaults to preserve mode:
@@ -157,10 +161,18 @@ export type MutationsPreviewInput = {
157
161
  atomic: true;
158
162
  changeMode: ChangeMode;
159
163
  steps: MutationStep[];
164
+ /** Optional page over verbose resolved-target details. Defaults to the first 100 targets. */
165
+ detail?: {
166
+ offset?: number;
167
+ limit?: number;
168
+ };
160
169
  };
161
170
  /** Maximum number of steps per mutation plan. */
162
171
  export declare const MAX_PLAN_STEPS = 200;
163
- /** Maximum total resolved targets across all steps in a plan. */
172
+ /**
173
+ * @deprecated Historical compatibility metadata. Text replacement no longer
174
+ * enforces this value; callers must not treat it as a supported target limit.
175
+ */
164
176
  export declare const MAX_PLAN_RESOLVED_TARGETS = 500;
165
177
  export type StepEffect = 'changed' | 'noop' | 'error' | 'assert_passed' | 'assert_failed';
166
178
  /** Resolution for a single-block (range) target. */
@@ -189,9 +201,14 @@ export type SelectionStepResolution = {
189
201
  };
190
202
  export type TextStepData = {
191
203
  domain: 'text';
192
- resolutions: TextStepResolution[];
193
- spanResolutions?: SpanStepResolution[];
194
- selectionResolutions?: SelectionStepResolution[];
204
+ /** Exact number of targets selected from the step's input revision. */
205
+ matchedCount: number;
206
+ /** Exact number of targets whose content changed. */
207
+ changedCount: number;
208
+ /** Exact number of targets already equal to their requested replacement. */
209
+ noopCount: number;
210
+ /** Exact number of tracked-change identities authored by this step. */
211
+ trackedChangeCount: number;
195
212
  };
196
213
  export type AssertStepData = {
197
214
  domain: 'assert';
@@ -247,7 +264,14 @@ export type PreviewFailure = {
247
264
  export type StepPreview = {
248
265
  stepId: string;
249
266
  op: string;
267
+ /** Exact number of targets resolved for this step. */
268
+ matchCount?: number;
250
269
  resolutions?: TextStepResolution[];
270
+ detailPage?: {
271
+ offset: number;
272
+ limit: number;
273
+ returned: number;
274
+ };
251
275
  spanResolutions?: SpanStepResolution[];
252
276
  selectionResolutions?: SelectionStepResolution[];
253
277
  style?: unknown;
@@ -568,6 +568,8 @@ export interface TablesGetCellsInput extends TableLocator {
568
568
  }
569
569
  /** Per-cell info with stable ref for write handoff. */
570
570
  export interface TableCellInfo {
571
+ /** First paragraph in this cell, when the engine exposes paragraph identities. */
572
+ firstParagraphNodeId?: string;
571
573
  /** Shorthand cell identifier: convenient for logging, Map keys, and display. */
572
574
  nodeId: string;
573
575
  /** Mutation-ready address: pass directly as `target` in follow-up cell operations. */
@@ -52,6 +52,8 @@ export declare const DATA_ATTRS: {
52
52
  readonly LAYOUT_STORY: "data-layout-story";
53
53
  /** Source block reference (today: producer's `blockId`). */
54
54
  readonly LAYOUT_BLOCK_REF: "data-layout-block-ref";
55
+ /** Zero-based flow-column index that owns the rendered fragment. */
56
+ readonly LAYOUT_COLUMN_INDEX: "data-layout-column-index";
55
57
  };
56
58
  /**
57
59
  * CamelCase keys for use with `element.dataset.*` property access.
@@ -75,6 +77,7 @@ export declare const DATASET_KEYS: {
75
77
  readonly LAYOUT_FRAGMENT_ID: "layoutFragmentId";
76
78
  readonly LAYOUT_STORY: "layoutStory";
77
79
  readonly LAYOUT_BLOCK_REF: "layoutBlockRef";
80
+ readonly LAYOUT_COLUMN_INDEX: "layoutColumnIndex";
78
81
  };
79
82
  /**
80
83
  * Encode a `LayoutStoryLocator`-shaped object into its dataset string form.
@@ -94,8 +94,9 @@ export declare function createEmptyPaintWorkSummary(): PaintWorkSummary;
94
94
  * Painter plan P3a: reuse key for one exact page slot on the persistent-page
95
95
  * path. Joins everything the painted page DOM depends on for a fixed page
96
96
  * index: the resolve-stage version stamp per item (the product paint-reuse
97
- * mechanism), fragment identity + geometry (stamps do not cover geometry),
98
- * and, only when body content contains a dynamic field, its page context.
97
+ * mechanism), fragment identity + geometry + column ownership (stamps do not
98
+ * cover these), and, only when body content contains a dynamic field, its
99
+ * page context.
99
100
  * Header/footer providers have a separate decoration-only refresh path, so
100
101
  * their context must not invalidate otherwise reusable body fragments.
101
102
  *
@@ -657,6 +657,7 @@ export declare class DomPainter {
657
657
  private resolveFragmentWrapperZIndex;
658
658
  private applyFragmentWrapperZIndex;
659
659
  private applyResolvedFragmentFrame;
660
+ private applyFragmentColumnOwnership;
660
661
  /**
661
662
  * Estimates the height of a fragment when explicit height is not available.
662
663
  *
@@ -0,0 +1,9 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let _superdoc_docx_engine_collaboration_worker = require("@superdoc/docx-engine/collaboration-worker");
3
+ //#region src/public/collaboration-worker.ts
4
+ /** Register provider adapters and start the worker used by `workerUrls.collaboration`. */
5
+ function bootstrapSuperDocCollaborationWorker(options) {
6
+ (0, _superdoc_docx_engine_collaboration_worker.bootstrapSuperDocCollaborationWorker)(options);
7
+ }
8
+ //#endregion
9
+ exports.bootstrapSuperDocCollaborationWorker = bootstrapSuperDocCollaborationWorker;
@@ -0,0 +1,8 @@
1
+ import { bootstrapSuperDocCollaborationWorker as bootstrapSuperDocCollaborationWorker$1 } from "@superdoc/docx-engine/collaboration-worker";
2
+ //#region src/public/collaboration-worker.ts
3
+ /** Register provider adapters and start the worker used by `workerUrls.collaboration`. */
4
+ function bootstrapSuperDocCollaborationWorker(options) {
5
+ bootstrapSuperDocCollaborationWorker$1(options);
6
+ }
7
+ //#endregion
8
+ export { bootstrapSuperDocCollaborationWorker };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-BWWWNPP8.cjs");
2
+ const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-mHK2pqj3.cjs");
3
3
  const require_slice_source = require("../chunks/slice-source-CFaqq0Vo.cjs");
4
4
  let react = require("react");
5
5
  //#region src/public/ui/react.ts
@@ -1,4 +1,4 @@
1
- import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-FnwgTkUv.es.js";
1
+ import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-u1giSvlm.es.js";
2
2
  import { t as toSliceSource } from "../chunks/slice-source-gfOhG2MW.es.js";
3
3
  import { createContext, createElement, useCallback, useContext, useEffect, useRef, useState } from "react";
4
4
  //#region src/public/ui/react.ts
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-BWWWNPP8.cjs");
2
+ const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-mHK2pqj3.cjs");
3
3
  const require_slice_source = require("../chunks/slice-source-CFaqq0Vo.cjs");
4
4
  let vue = require("vue");
5
5
  //#region src/public/ui/vue.ts
@@ -1,4 +1,4 @@
1
- import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-FnwgTkUv.es.js";
1
+ import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-u1giSvlm.es.js";
2
2
  import { t as toSliceSource } from "../chunks/slice-source-gfOhG2MW.es.js";
3
3
  import { computed, inject, onScopeDispose, provide, shallowRef, toRaw, toValue, watch } from "vue";
4
4
  //#region src/public/ui/vue.ts
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-BWWWNPP8.cjs");
2
+ const require_create_super_doc_ui = require("../chunks/create-super-doc-ui-mHK2pqj3.cjs");
3
3
  exports.BUILT_IN_COMMAND_IDS = require_create_super_doc_ui.BUILT_IN_COMMAND_IDS;
4
4
  exports.createSuperDocUI = require_create_super_doc_ui.createSuperDocUI;
5
5
  exports.shallowEqual = require_create_super_doc_ui.shallowEqual;
@@ -1,2 +1,2 @@
1
- import { n as shallowEqual, r as BUILT_IN_COMMAND_IDS, t as createSuperDocUI } from "../chunks/create-super-doc-ui-FnwgTkUv.es.js";
1
+ import { n as shallowEqual, r as BUILT_IN_COMMAND_IDS, t as createSuperDocUI } from "../chunks/create-super-doc-ui-u1giSvlm.es.js";
2
2
  export { BUILT_IN_COMMAND_IDS, createSuperDocUI, shallowEqual };