superdoc 2.24.0-next.4 → 2.24.0-next.6
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/collaboration-upgrade-engine.cjs +1 -1
- package/dist/collaboration-upgrade-engine.es.js +1 -1
- package/dist/document-api/src/capabilities/html-markdown-support.d.ts +2 -4
- package/dist/document-api/src/contract/command-catalog.d.ts +1 -1
- package/dist/document-api/src/contract/operation-definitions.d.ts +12 -2
- package/dist/document-api/src/index.d.ts +6 -6
- package/dist/document-api/src/insert/insert.d.ts +7 -1
- package/dist/document-api/src/replace/replace.d.ts +31 -4
- package/dist/document-api/src/selection/selection.d.ts +9 -2
- package/dist/document-api/src/selection/selection.types.d.ts +22 -0
- package/dist/document-api/src/write/write.d.ts +4 -2
- package/dist/style.css +65 -65
- package/dist/style.layered.css +65 -65
- package/dist/superdoc.cjs +100 -42
- package/dist/superdoc.es.js +100 -42
- package/dist-cdn/style.layered.css +1 -1
- package/dist-cdn/superdoc.min.css +1 -1
- package/dist-cdn/superdoc.min.js +21 -21
- package/package.json +2 -2
|
@@ -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.24.0-next.
|
|
22
|
+
superdocVersion: "2.24.0-next.6",
|
|
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.24.0-next.
|
|
21
|
+
superdocVersion: "2.24.0-next.6",
|
|
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,5 +1,5 @@
|
|
|
1
1
|
import { RichContentInsertInput } from '../insert/insert.js';
|
|
2
|
-
import { RichContentReplaceInput } from '../replace/replace.js';
|
|
2
|
+
import { RichContentReplaceInput, ReplaceMutationOptions } from '../replace/replace.js';
|
|
3
3
|
import { ChangeMode } from '../write/write.js';
|
|
4
4
|
import { ProjectHtmlInput, ProjectMarkdownInput, SDContentProjectionResult, SDProjectionReviewMode, SDResolvedProjectionScope } from '../types/content-projection.js';
|
|
5
5
|
import { SDFragment } from '../types/fragment.js';
|
|
@@ -21,9 +21,7 @@ export type SDHtmlMarkdownSupportCheckInput = {
|
|
|
21
21
|
} | {
|
|
22
22
|
operation: 'replace';
|
|
23
23
|
input: RichContentReplaceInput;
|
|
24
|
-
options?:
|
|
25
|
-
changeMode?: ChangeMode;
|
|
26
|
-
};
|
|
24
|
+
options?: Pick<ReplaceMutationOptions, 'changeMode' | 'replaceMode' | 'expectedSnapshotId'>;
|
|
27
25
|
} | {
|
|
28
26
|
operation: 'projectHtml';
|
|
29
27
|
input?: ProjectHtmlInput;
|
|
@@ -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" | "delete" | "insert" | "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" | "tables.moveColumn" | "format.bold" | "format.strike" | "format.color" | "format.position" | "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.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" | "selection.extractOoxml" | "mutations.preview" | "mutations.apply" | "plan.execute" | "capabilities.get" | "capabilities.resolve" | "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" | "headerFooters.pageNumbers.get" | "headerFooters.pageNumbers.insert" | "headerFooters.pageNumbers.set" | "headerFooters.pageNumbers.remove" | "watermarks.apply" | "watermarks.list" | "watermarks.insert" | "watermarks.replace" | "watermarks.remove" | "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" | "delete" | "insert" | "info" | "selection.extractOoxml" | "selection.current" | "selection.releaseSnapshot" | "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" | "tables.moveColumn" | "format.bold" | "format.strike" | "format.color" | "format.position" | "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.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" | "mutations.preview" | "mutations.apply" | "plan.execute" | "capabilities.get" | "capabilities.resolve" | "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" | "headerFooters.pageNumbers.get" | "headerFooters.pageNumbers.insert" | "headerFooters.pageNumbers.set" | "headerFooters.pageNumbers.remove" | "watermarks.apply" | "watermarks.list" | "watermarks.insert" | "watermarks.replace" | "watermarks.remove" | "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. */
|
|
@@ -28,7 +28,7 @@ export interface IntentGroupMeta {
|
|
|
28
28
|
*/
|
|
29
29
|
inputExamples?: Record<string, unknown>[];
|
|
30
30
|
}
|
|
31
|
-
export declare const V1_RUNTIME_UNAVAILABLE_OPERATION_IDS: readonly ["blocks.split", "blocks.merge", "blocks.move", "lists.getState", "lists.apply", "lists.continue", "lists.restart", "lists.remove", "format.paragraph.setMarkRunProps", "tables.moveRow", "tables.moveColumn"];
|
|
31
|
+
export declare const V1_RUNTIME_UNAVAILABLE_OPERATION_IDS: readonly ["selection.releaseSnapshot", "blocks.split", "blocks.merge", "blocks.move", "lists.getState", "lists.apply", "lists.continue", "lists.restart", "lists.remove", "format.paragraph.setMarkRunProps", "tables.moveRow", "tables.moveColumn"];
|
|
32
32
|
export declare const INTENT_GROUP_META: Record<string, IntentGroupMeta>;
|
|
33
33
|
export declare const OPERATION_DEFINITIONS: {
|
|
34
34
|
readonly 'styles.apply': {
|
|
@@ -1031,9 +1031,19 @@ export declare const OPERATION_DEFINITIONS: {
|
|
|
1031
1031
|
readonly referenceDocPath: "selection/current.mdx";
|
|
1032
1032
|
readonly referenceGroup: "selection";
|
|
1033
1033
|
};
|
|
1034
|
+
readonly 'selection.releaseSnapshot': {
|
|
1035
|
+
readonly memberPath: "selection.releaseSnapshot";
|
|
1036
|
+
readonly description: string;
|
|
1037
|
+
readonly expectedResult: "Returns released=true when a same-session handle was removed; otherwise false.";
|
|
1038
|
+
readonly requiresDocumentContext: true;
|
|
1039
|
+
readonly metadata: CommandStaticMetadata;
|
|
1040
|
+
readonly referenceDocPath: "selection/release-snapshot.mdx";
|
|
1041
|
+
readonly referenceGroup: "selection";
|
|
1042
|
+
readonly batchable: false;
|
|
1043
|
+
};
|
|
1034
1044
|
readonly 'selection.extractOoxml': {
|
|
1035
1045
|
readonly memberPath: "selection.extractOoxml";
|
|
1036
|
-
readonly description: "Capture a nonempty current or addressed selection as OOXML with
|
|
1046
|
+
readonly description: "Capture a nonempty current or addressed selection as portable OOXML with native dependencies. Optional retain:true keeps an exact same-session restoration handle for one complete standalone body paragraph; release it when unused. Unsupported retained contexts and collaboration reject.";
|
|
1037
1047
|
readonly expectedResult: "Returns the selected OOXML, structural placement, source provenance, and required relationships and parts without changing the document.";
|
|
1038
1048
|
readonly requiresDocumentContext: true;
|
|
1039
1049
|
readonly metadata: CommandStaticMetadata;
|
|
@@ -25,7 +25,7 @@ import { InsertInput } from './insert/insert.js';
|
|
|
25
25
|
import { ResolveRangeInput, ResolveRangeOutput } from './ranges/ranges.types.js';
|
|
26
26
|
import { SelectionApi, SelectionAdapter } from './selection/selection.js';
|
|
27
27
|
import { ListsAdapter, ListsApi } from './lists/lists.js';
|
|
28
|
-
import { ReplaceInput } from './replace/replace.js';
|
|
28
|
+
import { ReplaceInput, ReplaceMutationOptions } from './replace/replace.js';
|
|
29
29
|
import { CreateAdapter, CreateApi } from './create/create.js';
|
|
30
30
|
import { BlocksAdapter, BlocksApi } from './blocks/blocks.js';
|
|
31
31
|
import { TableLocator, TableMutationResult, TablesConvertFromTextInput, TablesMoveInput, TablesSplitInput, TablesConvertToTextInput, TablesSetLayoutInput, TablesInsertRowInput, TablesDeleteRowInput, TablesMoveRowInput, TablesSetRowHeightInput, TablesDistributeRowsInput, TablesSetRowOptionsInput, TablesInsertColumnInput, TablesDeleteColumnInput, TablesMoveColumnInput, TablesSetColumnWidthInput, TablesDistributeColumnsInput, TablesInsertCellInput, TablesDeleteCellInput, TablesMergeCellsInput, TablesUnmergeCellsInput, TablesSplitCellInput, TablesSetCellPropertiesInput, TablesSetCellTextInput, TablesSortInput, TablesSetAltTextInput, TablesSetStyleInput, TablesClearStyleInput, TablesSetStyleOptionInput, TablesSetBorderInput, TablesClearBorderInput, TablesApplyBorderPresetInput, TablesSetShadingInput, TablesClearShadingInput, TablesSetTablePaddingInput, TablesSetCellPaddingInput, TablesSetCellSpacingInput, TablesClearCellSpacingInput, TablesApplyStyleInput, TablesSetBordersInput, TablesSetTableOptionsInput, TablesApplyPresetInput, TablesGetInput, TablesGetOutput, TablesGetCellsInput, TablesGetCellsOutput, TablesGetPropertiesInput, TablesGetPropertiesOutput, TablesGetStylesInput, TablesGetStylesOutput, TablesSetDefaultStyleInput, TablesClearDefaultStyleInput } from './types/table-operations.types.js';
|
|
@@ -77,8 +77,8 @@ export * from './export/export.types.js';
|
|
|
77
77
|
export type { SelectionMutationAdapter, SelectionMutationRequest, SelectionInsertRequest, } from './selection-mutation.js';
|
|
78
78
|
export type { RangeAnchor, DocumentEdgeAnchor, PointAnchor, RefBoundaryAnchor, ResolveRangeInput, ResolveRangeOutput, RangeBlockPreview, RangePreview, RangeResolverAdapter, ScrollIntoViewInput, ScrollIntoViewOutput, } from './ranges/index.js';
|
|
79
79
|
export { executeResolveRange } from './ranges/index.js';
|
|
80
|
-
export type { SelectionApi, SelectionAdapter, SelectionCurrentInput, SelectionExtractOoxmlInput, SelectionExtractOoxmlResult, SelectionOoxmlDependency, SelectionTableCellsTarget, TableSelectionInfo, SelectionInfo, } from './selection/selection.js';
|
|
81
|
-
export { executeSelectionCurrent, executeSelectionExtractOoxml } from './selection/selection.js';
|
|
80
|
+
export type { SelectionApi, SelectionAdapter, SelectionCurrentInput, SelectionExtractOoxmlInput, SelectionExtractOoxmlResult, SelectionOoxmlDependency, OoxmlContentSource, SelectionReleaseSnapshotInput, SelectionReleaseSnapshotResult, SelectionTableCellsTarget, TableSelectionInfo, SelectionInfo, } from './selection/selection.js';
|
|
81
|
+
export { executeSelectionCurrent, executeSelectionExtractOoxml, executeSelectionReleaseSnapshot, } from './selection/selection.js';
|
|
82
82
|
export type { HeaderFootersAdapter, HeaderFootersApi } from './header-footers/header-footers.js';
|
|
83
83
|
export * from './header-footers/header-footers.types.js';
|
|
84
84
|
export type { WatermarksAdapter, WatermarksApi } from './watermarks/watermarks.js';
|
|
@@ -175,9 +175,9 @@ export { DocumentApiValidationError } from './errors.js';
|
|
|
175
175
|
export { textReceiptToSDReceipt, buildStructuralReceipt } from './receipt-bridge.js';
|
|
176
176
|
export type { MutationReceiptBridgeContext, StructuralReceiptParams } from './receipt-bridge.js';
|
|
177
177
|
export { isBlockNodeAddress } from './validation-primitives.js';
|
|
178
|
-
export type { InsertInput, InsertContentType, TextInsertInput, PlainTextInsertInput, RichContentInsertInput, LegacyInsertInput, } from './insert/insert.js';
|
|
178
|
+
export type { InsertInput, InsertContentType, TextInsertInput, PlainTextInsertInput, RichContentInsertInput, NativeOoxmlInsertInput, LegacyInsertInput, } from './insert/insert.js';
|
|
179
179
|
export { isStructuralInsertInput } from './insert/insert.js';
|
|
180
|
-
export type { ReplaceInput, TextReplaceInput, RichContentReplaceInput } from './replace/replace.js';
|
|
180
|
+
export type { ReplaceInput, TextReplaceInput, RichContentReplaceInput, ReplaceMutationOptions, NativeOoxmlReplaceInput, SnapshotReplaceInput, ParagraphTextReplaceInput, } from './replace/replace.js';
|
|
181
181
|
export { executeReplace, isStructuralReplaceInput, isRichContentReplaceInput } from './replace/replace.js';
|
|
182
182
|
export { executeFind } from './find/find.js';
|
|
183
183
|
export { validateDocumentFragment, validateSDFragment } from './validation/fragment-validator.js';
|
|
@@ -353,7 +353,7 @@ export interface DocumentApiSurface {
|
|
|
353
353
|
replace(input: Exclude<import('./replace/replace.js').TextReplaceInput, {
|
|
354
354
|
target: import('./types/story.types.js').BodyStoryLocator;
|
|
355
355
|
}>, options: TrackedTextMutationOptions): SDMutationReceipt;
|
|
356
|
-
replace(input: ReplaceInput, options?:
|
|
356
|
+
replace(input: ReplaceInput, options?: ReplaceMutationOptions): SDMutationReceipt;
|
|
357
357
|
/**
|
|
358
358
|
* Delete text at a target range.
|
|
359
359
|
*/
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { OoxmlContentSource } from '../selection/selection.types.js';
|
|
1
2
|
import { RichContentMutationOptions, TextMutationOptions, WriteAdapter } from '../write/write.js';
|
|
2
3
|
import { SelectionTarget, TargetLocator, SDMutationReceipt } from '../types/index.js';
|
|
3
4
|
import { SDInsertInput } from '../types/structural-input.js';
|
|
@@ -45,7 +46,12 @@ export type LegacyInsertInput = TextInsertInput;
|
|
|
45
46
|
* Discrimination: presence of `content` (structural) vs `value` (text string).
|
|
46
47
|
* These are mutually exclusive: providing both is an error.
|
|
47
48
|
*/
|
|
48
|
-
export type
|
|
49
|
+
export type NativeOoxmlInsertInput = OoxmlContentSource & {
|
|
50
|
+
target?: SelectionTarget | BlockNodeAddress;
|
|
51
|
+
placement?: Placement;
|
|
52
|
+
in?: StoryLocator;
|
|
53
|
+
};
|
|
54
|
+
export type InsertInput = TextInsertInput | RichContentInsertInput | SDInsertInput | NativeOoxmlInsertInput;
|
|
49
55
|
export type PlainTextInsertInput = TextInsertInput & {
|
|
50
56
|
type?: 'text';
|
|
51
57
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { OoxmlContentSource } from '../selection/selection.types.js';
|
|
1
2
|
import { RichContentMutationOptions, TextMutationOptions, WriteAdapter } from '../write/write.js';
|
|
2
3
|
import { SelectionTarget } from '../types/address.js';
|
|
3
4
|
import { SDMutationReceipt } from '../types/sd-contract.js';
|
|
@@ -47,11 +48,37 @@ export type RichContentReplaceInput = {
|
|
|
47
48
|
/**
|
|
48
49
|
* Input payload for the `doc.replace` operation.
|
|
49
50
|
*
|
|
50
|
-
* Discrimination: `text
|
|
51
|
+
* Discrimination: `text`, typed `value`, `content`, portable `capture`, or retained `snapshotId`.
|
|
51
52
|
*/
|
|
52
|
-
export type
|
|
53
|
+
export type NativeOoxmlReplaceInput = OoxmlContentSource & {
|
|
54
|
+
target: SelectionTarget | BlockNodeAddress;
|
|
55
|
+
in?: StoryLocator;
|
|
56
|
+
nestingPolicy?: NestingPolicy;
|
|
57
|
+
};
|
|
58
|
+
export type SnapshotReplaceInput = {
|
|
59
|
+
target: BlockNodeAddress;
|
|
60
|
+
snapshotId: string;
|
|
61
|
+
in?: never;
|
|
62
|
+
};
|
|
63
|
+
export type ParagraphTextReplaceInput = {
|
|
64
|
+
target: BlockNodeAddress;
|
|
65
|
+
text: string;
|
|
66
|
+
in?: never;
|
|
67
|
+
};
|
|
68
|
+
export interface ReplaceMutationOptions extends RichContentMutationOptions {
|
|
69
|
+
/** Replace one paragraph's contents, retaining its identity and exact paragraph properties. */
|
|
70
|
+
replaceMode?: 'contents';
|
|
71
|
+
/** Compare the addressed paragraph with an unchanged retained snapshot before committing. */
|
|
72
|
+
expectedSnapshotId?: string;
|
|
73
|
+
}
|
|
74
|
+
type ReplaceExecutionOptions = ReplaceMutationOptions | (TextMutationOptions & {
|
|
75
|
+
replaceMode?: never;
|
|
76
|
+
expectedSnapshotId?: never;
|
|
77
|
+
});
|
|
78
|
+
export type ReplaceInput = TextReplaceInput | RichContentReplaceInput | SDReplaceInput | NativeOoxmlReplaceInput | SnapshotReplaceInput | ParagraphTextReplaceInput;
|
|
53
79
|
/** Returns true when the input uses the structural SDFragment shape. */
|
|
54
80
|
export declare function isStructuralReplaceInput(input: ReplaceInput): input is SDReplaceInput;
|
|
55
81
|
export declare function isRichContentReplaceInput(input: ReplaceInput): input is RichContentReplaceInput;
|
|
56
|
-
export declare function validateReplaceInput(input: unknown): asserts input is ReplaceInput;
|
|
57
|
-
export declare function executeReplace(selectionAdapter: SelectionMutationAdapter, writeAdapter: WriteAdapter, input: ReplaceInput, options?:
|
|
82
|
+
export declare function validateReplaceInput(input: unknown, options?: ReplaceExecutionOptions): asserts input is ReplaceInput;
|
|
83
|
+
export declare function executeReplace(selectionAdapter: SelectionMutationAdapter, writeAdapter: WriteAdapter, input: ReplaceInput, options?: ReplaceExecutionOptions): SDMutationReceipt;
|
|
84
|
+
export {};
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { SelectionCurrentInput, SelectionExtractOoxmlInput, SelectionExtractOoxmlResult, SelectionInfo } from './selection.types.js';
|
|
2
|
-
export type { SelectionCurrentInput, SelectionExtractOoxmlInput, SelectionExtractOoxmlResult, SelectionOoxmlDependency, SelectionTableCellsTarget, TableSelectionInfo, SelectionInfo, } from './selection.types.js';
|
|
1
|
+
import { SelectionCurrentInput, SelectionExtractOoxmlInput, SelectionExtractOoxmlResult, SelectionInfo, SelectionReleaseSnapshotInput, SelectionReleaseSnapshotResult, OoxmlContentSource } from './selection.types.js';
|
|
2
|
+
export type { SelectionCurrentInput, SelectionExtractOoxmlInput, SelectionExtractOoxmlResult, SelectionOoxmlDependency, SelectionTableCellsTarget, TableSelectionInfo, SelectionInfo, SelectionReleaseSnapshotInput, SelectionReleaseSnapshotResult, OoxmlContentSource, } from './selection.types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Engine-specific adapter for the selection API.
|
|
5
5
|
*/
|
|
6
6
|
export interface SelectionAdapter {
|
|
7
|
+
readonly supportsRetainedOoxml?: boolean;
|
|
7
8
|
/** Read the editor's current selection. */
|
|
8
9
|
current(input: SelectionCurrentInput): SelectionInfo;
|
|
9
10
|
extractOoxml(input: SelectionExtractOoxmlInput): SelectionExtractOoxmlResult;
|
|
11
|
+
releaseSnapshot?(input: SelectionReleaseSnapshotInput): SelectionReleaseSnapshotResult;
|
|
10
12
|
}
|
|
11
13
|
/**
|
|
12
14
|
* Public selection API exposed on `editor.doc.selection`.
|
|
@@ -22,6 +24,11 @@ export interface SelectionApi {
|
|
|
22
24
|
current(input?: SelectionCurrentInput): SelectionInfo;
|
|
23
25
|
/** Capture the addressed selected OOXML and its package dependencies. */
|
|
24
26
|
extractOoxml(input: SelectionExtractOoxmlInput): SelectionExtractOoxmlResult;
|
|
27
|
+
/** Release an exact restoration handle without changing document or history. */
|
|
28
|
+
releaseSnapshot(input: SelectionReleaseSnapshotInput): SelectionReleaseSnapshotResult;
|
|
25
29
|
}
|
|
26
30
|
export declare function executeSelectionExtractOoxml(adapter: SelectionAdapter, input: SelectionExtractOoxmlInput): SelectionExtractOoxmlResult;
|
|
27
31
|
export declare function executeSelectionCurrent(adapter: SelectionAdapter, input?: SelectionCurrentInput): SelectionInfo;
|
|
32
|
+
export declare function executeSelectionReleaseSnapshot(adapter: SelectionAdapter, input: SelectionReleaseSnapshotInput): SelectionReleaseSnapshotResult;
|
|
33
|
+
export declare function isOoxmlContentSource<T>(input: T): input is T & OoxmlContentSource;
|
|
34
|
+
export declare function validateOoxmlContentSource(input: Record<string, unknown>): void;
|
|
@@ -46,9 +46,11 @@ export interface TableSelectionInfo {
|
|
|
46
46
|
export type SelectionExtractOoxmlInput = {
|
|
47
47
|
at: SelectionTarget | SelectionTableCellsTarget;
|
|
48
48
|
selection?: never;
|
|
49
|
+
retain?: boolean;
|
|
49
50
|
} | {
|
|
50
51
|
selection: 'current';
|
|
51
52
|
at?: never;
|
|
53
|
+
retain?: boolean;
|
|
52
54
|
};
|
|
53
55
|
export interface SelectionOoxmlDependency {
|
|
54
56
|
sourcePartUri: string;
|
|
@@ -63,6 +65,8 @@ export interface SelectionOoxmlDependency {
|
|
|
63
65
|
export interface SelectionExtractOoxmlResult {
|
|
64
66
|
/** Version of the serialized selection-capture manifest. */
|
|
65
67
|
formatVersion: 1;
|
|
68
|
+
/** Same-session exact restoration handle, present only for retain:true. Release when unused. */
|
|
69
|
+
snapshotId?: string;
|
|
66
70
|
at: SelectionTarget | SelectionTableCellsTarget;
|
|
67
71
|
/** Source revision for provenance, never a read precondition. */
|
|
68
72
|
evaluatedRevision: string;
|
|
@@ -88,6 +92,8 @@ export interface SelectionExtractOoxmlResult {
|
|
|
88
92
|
story: SelectionTarget['story'] | null;
|
|
89
93
|
partUri: string;
|
|
90
94
|
paragraphStyleId: string | null;
|
|
95
|
+
/** Exact opaque package coordinate for a retained capture, for pairing with committed review UI. */
|
|
96
|
+
packageRevision?: string;
|
|
91
97
|
};
|
|
92
98
|
/** Source structure outside the selected visible content needed to interpret it. */
|
|
93
99
|
context: {
|
|
@@ -203,3 +209,19 @@ export interface SelectionInfo {
|
|
|
203
209
|
*/
|
|
204
210
|
text?: string;
|
|
205
211
|
}
|
|
212
|
+
/** Native source shared by insert and replace; portable captures copy with fresh identities. */
|
|
213
|
+
export type OoxmlContentSource = {
|
|
214
|
+
type: 'ooxml';
|
|
215
|
+
value: string;
|
|
216
|
+
namespaces: Record<string, string>;
|
|
217
|
+
dependencies?: SelectionOoxmlDependency[];
|
|
218
|
+
sourcePartUri?: string;
|
|
219
|
+
} | {
|
|
220
|
+
capture: SelectionExtractOoxmlResult;
|
|
221
|
+
};
|
|
222
|
+
export interface SelectionReleaseSnapshotInput {
|
|
223
|
+
snapshotId: string;
|
|
224
|
+
}
|
|
225
|
+
export interface SelectionReleaseSnapshotResult {
|
|
226
|
+
released: boolean;
|
|
227
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TextMutationReceipt, SDMutationReceipt } from '../types/index.js';
|
|
2
2
|
import { InsertInput } from '../insert/insert.js';
|
|
3
|
-
import { ReplaceInput } from '../replace/replace.js';
|
|
3
|
+
import { ReplaceMutationOptions, ReplaceInput } from '../replace/replace.js';
|
|
4
4
|
import { StoryLocator } from '../types/story.types.js';
|
|
5
5
|
import { SDHtmlMarkdownCheckGuard } from '../capabilities/html-markdown-support.js';
|
|
6
6
|
export type ChangeMode = 'direct' | 'tracked';
|
|
@@ -77,11 +77,13 @@ export type WriteRequest = InsertWriteRequest;
|
|
|
77
77
|
* `SelectionMutationAdapter` instead.
|
|
78
78
|
*/
|
|
79
79
|
export interface WriteAdapter {
|
|
80
|
+
readonly supportsParagraphContents?: boolean;
|
|
81
|
+
readonly supportsNativeOoxml?: boolean;
|
|
80
82
|
write(request: InsertWriteRequest, options?: TextMutationOptions): TextMutationReceipt;
|
|
81
83
|
/** Structured insert for SDFragment or markdown/html content. Returns SDMutationReceipt. */
|
|
82
84
|
insertStructured(input: InsertInput, options?: RichContentMutationOptions): SDMutationReceipt;
|
|
83
85
|
/** Structured replace for SDFragment or markdown/html content. Returns SDMutationReceipt. */
|
|
84
|
-
replaceStructured(input: ReplaceInput, options?:
|
|
86
|
+
replaceStructured(input: ReplaceInput, options?: ReplaceMutationOptions): SDMutationReceipt;
|
|
85
87
|
}
|
|
86
88
|
export declare function normalizeMutationOptions(options?: MutationOptions | RichContentMutationOptions, supportCheckOperation?: 'insert' | 'replace'): RichContentMutationOptions;
|
|
87
89
|
export declare function executeWrite(adapter: WriteAdapter, request: InsertWriteRequest, options?: TextMutationOptions): TextMutationReceipt;
|