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.
- package/dist/chunks/{create-super-doc-ui-BWWWNPP8.cjs → create-super-doc-ui-mHK2pqj3.cjs} +3 -1
- package/dist/chunks/{create-super-doc-ui-FnwgTkUv.es.js → create-super-doc-ui-u1giSvlm.es.js} +3 -1
- package/dist/collaboration-upgrade-engine.cjs +1 -1
- package/dist/collaboration-upgrade-engine.es.js +1 -1
- package/dist/document-api/src/blocks/blocks.d.ts +3 -1
- package/dist/document-api/src/blocks/find-text.d.ts +3 -0
- package/dist/document-api/src/content-controls/content-controls.types.d.ts +1 -1
- package/dist/document-api/src/contract/command-catalog.d.ts +1 -1
- package/dist/document-api/src/contract/operation-definitions.d.ts +11 -1
- package/dist/document-api/src/contract/operation-registry.d.ts +7 -2
- package/dist/document-api/src/index.d.ts +7 -6
- package/dist/document-api/src/invoke/invoke.d.ts +2 -1
- package/dist/document-api/src/types/blocks.types.d.ts +38 -0
- package/dist/document-api/src/types/mutation-plan.types.d.ts +28 -4
- package/dist/document-api/src/types/table-operations.types.d.ts +2 -0
- package/dist/layout-engine/dom-contract/src/data-attrs.d.ts +3 -0
- package/dist/layout-engine/painters/dom/src/page-content.d.ts +3 -2
- package/dist/layout-engine/painters/dom/src/renderer.d.ts +1 -0
- package/dist/public/collaboration-worker.cjs +9 -0
- package/dist/public/collaboration-worker.es.js +8 -0
- package/dist/public/ui-react.cjs +1 -1
- package/dist/public/ui-react.es.js +1 -1
- package/dist/public/ui-vue.cjs +1 -1
- package/dist/public/ui-vue.es.js +1 -1
- package/dist/public/ui.cjs +1 -1
- package/dist/public/ui.es.js +1 -1
- package/dist/style.css +26 -26
- package/dist/style.layered.css +26 -26
- package/dist/superdoc/src/core/collaboration/collaboration-exception.d.ts +2 -0
- package/dist/superdoc/src/core/collaboration/resolve-v2-collaboration-target.d.ts +16 -5
- package/dist/superdoc/src/core/types/index.d.ts +58 -41
- package/dist/superdoc/src/public/collaboration-worker.d.cts +18 -0
- package/dist/superdoc/src/public/collaboration-worker.d.ts +48 -0
- package/dist/superdoc/src/public/index.d.cts +4 -0
- package/dist/superdoc/src/public/index.d.ts +2 -0
- package/dist/superdoc.cjs +350 -238
- package/dist/superdoc.es.js +350 -238
- package/dist-cdn/style.layered.css +1 -1
- package/dist-cdn/superdoc.min.css +1 -1
- package/dist-cdn/superdoc.min.js +35 -35
- 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.
|
package/dist/chunks/{create-super-doc-ui-FnwgTkUv.es.js → create-super-doc-ui-u1giSvlm.es.js}
RENAMED
|
@@ -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.
|
|
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.
|
|
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;
|
|
@@ -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
|
|
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
|
|
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
|
-
/**
|
|
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
|
-
|
|
193
|
-
|
|
194
|
-
|
|
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
|
|
98
|
-
* and, only when body content contains a dynamic field, its
|
|
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 };
|
package/dist/public/ui-react.cjs
CHANGED
|
@@ -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-
|
|
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-
|
|
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
|
package/dist/public/ui-vue.cjs
CHANGED
|
@@ -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-
|
|
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
|
package/dist/public/ui-vue.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createSuperDocUI } from "../chunks/create-super-doc-ui-
|
|
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
|
package/dist/public/ui.cjs
CHANGED
|
@@ -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-
|
|
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;
|
package/dist/public/ui.es.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as shallowEqual, r as BUILT_IN_COMMAND_IDS, t as createSuperDocUI } from "../chunks/create-super-doc-ui-
|
|
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 };
|