superdoc 2.19.0-next.1 → 2.19.0-next.11
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-BFJ9Y0YV.cjs → create-super-doc-ui-CSZSAgxc.cjs} +58 -0
- package/dist/chunks/{create-super-doc-ui-Dfw1b6h_.es.js → create-super-doc-ui-DMe-GQEe.es.js} +58 -0
- package/dist/chunks/pdf.worker.min-BgWCk_Cj.cjs +4 -0
- package/dist/chunks/pdf.worker.min-t-CYmkGJ.es.js +4 -0
- package/dist/collaboration-upgrade-engine.cjs +1 -1
- package/dist/collaboration-upgrade-engine.es.js +1 -1
- package/dist/document-api/src/contract/command-catalog.d.ts +1 -1
- package/dist/document-api/src/contract/metadata-types.d.ts +1 -1
- package/dist/document-api/src/contract/operation-definitions.d.ts +9 -0
- package/dist/document-api/src/diff/diff.types.d.ts +9 -1
- package/dist/document-api/src/diff/index.d.ts +1 -1
- package/dist/document-api/src/index.d.ts +3 -3
- package/dist/document-api/src/selection/selection.d.ts +6 -2
- package/dist/document-api/src/selection/selection.types.d.ts +75 -0
- package/dist/document-api/src/types/track-changes.types.d.ts +35 -2
- package/dist/layout-engine/contracts/src/index.d.ts +15 -0
- package/dist/layout-engine/contracts/src/resolved-layout.d.ts +3 -1
- package/dist/layout-engine/painters/dom/src/runs/tab-run.d.ts +1 -1
- 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 +22 -22
- package/dist/style.layered.css +22 -22
- package/dist/superdoc/src/core/SuperDoc.d.ts +8 -7
- package/dist/superdoc/src/core/types/index.d.ts +32 -14
- package/dist/superdoc.cjs +12 -8
- package/dist/superdoc.es.js +12 -8
- package/dist-cdn/style.layered.css +1 -1
- package/dist-cdn/superdoc.min.css +1 -1
- package/dist-cdn/superdoc.min.js +36 -36
- package/package.json +3 -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.19.0-next.
|
|
22
|
+
superdocVersion: "2.19.0-next.11",
|
|
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.19.0-next.
|
|
21
|
+
superdocVersion: "2.19.0-next.11",
|
|
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,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" | "tables.moveColumn" | "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" | "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" | "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" | "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" | "tables.moveColumn" | "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" | "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" | "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. */
|
|
@@ -3,7 +3,7 @@ export declare const OPERATION_IDEMPOTENCY_VALUES: readonly ["idempotent", "cond
|
|
|
3
3
|
export type OperationIdempotency = (typeof OPERATION_IDEMPOTENCY_VALUES)[number];
|
|
4
4
|
export declare const OPERATION_TRACKED_SUPPORT_VALUES: readonly ["always", "conditional", "never"];
|
|
5
5
|
export type OperationTrackedSupport = (typeof OPERATION_TRACKED_SUPPORT_VALUES)[number];
|
|
6
|
-
export declare const PRE_APPLY_THROW_CODES: readonly ["TARGET_NOT_FOUND", "CAPABILITY_UNAVAILABLE", "INVALID_TARGET", "AMBIGUOUS_TARGET", "REVISION_MISMATCH", "MATCH_NOT_FOUND", "AMBIGUOUS_MATCH", "STYLE_CONFLICT", "PRECONDITION_FAILED", "INVALID_INPUT", "CROSS_BLOCK_MATCH", "SPAN_FRAGMENTED", "TARGET_MOVED", "PLAN_CONFLICT_OVERLAP", "INVALID_STEP_COMBINATION", "REVISION_CHANGED_SINCE_COMPILE", "INVALID_INSERTION_CONTEXT", "DOCUMENT_IDENTITY_CONFLICT", "INTERNAL_ERROR", "ADDRESS_STALE", "DUPLICATE_ID", "INVALID_CONTEXT", "RAW_MODE_REQUIRED", "PRESERVE_ONLY_VIOLATION", "CAPABILITY_UNSUPPORTED", "LOCK_VIOLATION", "TYPE_MISMATCH", "STORY_NOT_FOUND", "STORY_MISMATCH", "STORY_NOT_SUPPORTED", "CROSS_STORY_PLAN", "MATERIALIZATION_FAILED"];
|
|
6
|
+
export declare const PRE_APPLY_THROW_CODES: readonly ["TARGET_NOT_FOUND", "CAPABILITY_UNAVAILABLE", "INVALID_TARGET", "AMBIGUOUS_TARGET", "REVISION_MISMATCH", "MATCH_NOT_FOUND", "AMBIGUOUS_MATCH", "STYLE_CONFLICT", "PRECONDITION_FAILED", "INVALID_INPUT", "CROSS_BLOCK_MATCH", "SPAN_FRAGMENTED", "TARGET_MOVED", "PLAN_CONFLICT_OVERLAP", "INVALID_STEP_COMBINATION", "REVISION_CHANGED_SINCE_COMPILE", "INVALID_INSERTION_CONTEXT", "DOCUMENT_IDENTITY_CONFLICT", "INTERNAL_ERROR", "ADDRESS_STALE", "DUPLICATE_ID", "INVALID_CONTEXT", "RAW_MODE_REQUIRED", "PRESERVE_ONLY_VIOLATION", "CAPABILITY_UNSUPPORTED", "LOCK_VIOLATION", "TYPE_MISMATCH", "STORY_NOT_FOUND", "STORY_MISMATCH", "STORY_NOT_SUPPORTED", "CROSS_STORY_PLAN", "MATERIALIZATION_FAILED", "RESOURCE_LIMIT"];
|
|
7
7
|
export type PreApplyThrowCode = (typeof PRE_APPLY_THROW_CODES)[number];
|
|
8
8
|
export interface CommandThrowPolicy {
|
|
9
9
|
preApply: readonly PreApplyThrowCode[];
|
|
@@ -1031,6 +1031,15 @@ export declare const OPERATION_DEFINITIONS: {
|
|
|
1031
1031
|
readonly referenceDocPath: "selection/current.mdx";
|
|
1032
1032
|
readonly referenceGroup: "selection";
|
|
1033
1033
|
};
|
|
1034
|
+
readonly 'selection.extractOoxml': {
|
|
1035
|
+
readonly memberPath: "selection.extractOoxml";
|
|
1036
|
+
readonly description: "Capture a nonempty current or addressed selection as OOXML with its structure, context, and package dependencies.";
|
|
1037
|
+
readonly expectedResult: "Returns the selected OOXML, structural placement, source provenance, and required relationships and parts without changing the document.";
|
|
1038
|
+
readonly requiresDocumentContext: true;
|
|
1039
|
+
readonly metadata: CommandStaticMetadata;
|
|
1040
|
+
readonly referenceDocPath: "selection/extract-ooxml.mdx";
|
|
1041
|
+
readonly referenceGroup: "selection";
|
|
1042
|
+
};
|
|
1034
1043
|
readonly 'mutations.preview': {
|
|
1035
1044
|
readonly memberPath: "mutations.preview";
|
|
1036
1045
|
readonly description: "Dry-run a mutation plan, returning resolved targets without applying changes.";
|
|
@@ -44,7 +44,7 @@ export interface DiffSummary {
|
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
/** Stable reason code for a compare-time apply blocker. */
|
|
47
|
-
export type DiffApplyEligibilityBlockerCode = 'family-apply-lane-unavailable' | 'header-footer-physical-lifecycle-unsafe' | 'header-footer-tracked-lifecycle-unsupported' | 'comment-replay-unsafe' | 'comment-anchor-marker-semantics-unsafe' | 'styles-replay-unsafe' | 'numbering-replay-unsafe' | 'definition-replay-tracked-unsupported' | 'section-reference-replay-unsafe' | 'structural-paragraph-unsupported';
|
|
47
|
+
export type DiffApplyEligibilityBlockerCode = 'family-apply-lane-unavailable' | 'header-footer-physical-lifecycle-unsafe' | 'header-footer-tracked-lifecycle-unsupported' | 'comment-replay-unsafe' | 'comment-anchor-marker-semantics-unsafe' | 'styles-replay-unsafe' | 'numbering-replay-unsafe' | 'definition-replay-tracked-unsupported' | 'package-graph-tracked-unsupported' | 'section-reference-replay-unsafe' | 'structural-paragraph-unsupported';
|
|
48
48
|
/** A known reason that the complete diff cannot be applied in one change mode. */
|
|
49
49
|
export interface DiffApplyEligibilityBlocker {
|
|
50
50
|
code: DiffApplyEligibilityBlockerCode;
|
|
@@ -71,9 +71,17 @@ export interface DiffPayload {
|
|
|
71
71
|
summary: DiffSummary;
|
|
72
72
|
/** Known compare-time blockers by apply mode. Candidate status is not a live apply guarantee. */
|
|
73
73
|
applyEligibility?: DiffApplyEligibility;
|
|
74
|
+
/** Exhaustive changed OPC parts from the two source-complete snapshots. */
|
|
75
|
+
partChanges?: DiffPartChange[];
|
|
74
76
|
/** Opaque engine-owned diff data. Do not inspect or modify. */
|
|
75
77
|
payload: Record<string, unknown>;
|
|
76
78
|
}
|
|
79
|
+
export interface DiffPartChange {
|
|
80
|
+
partUri: string;
|
|
81
|
+
kind: 'added' | 'removed' | 'modified';
|
|
82
|
+
beforeFingerprint: string | null;
|
|
83
|
+
afterFingerprint: string | null;
|
|
84
|
+
}
|
|
77
85
|
export interface DiffApplyReviewItem {
|
|
78
86
|
id: string;
|
|
79
87
|
story: StoryLocator;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export type { DiffAdapter, DiffApi } from './diff.js';
|
|
2
2
|
export { executeDiffCapture, executeDiffCompare, executeDiffApply } from './diff.js';
|
|
3
|
-
export type { DiffSnapshot, DiffPayload, DiffApplyResult, DiffSummary, DiffCoverage, DiffEngineId, DiffCompareInput, DiffApplyInput, DiffApplyOptions, DiffChangeMode, DiffApplyOperationReceipt, DiffApplyReviewItem, DiffApplyEligibility, DiffApplyModeEligibility, DiffApplyEligibilityBlocker, DiffApplyEligibilityBlockerCode, } from './diff.types.js';
|
|
3
|
+
export type { DiffSnapshot, DiffPayload, DiffPartChange, DiffApplyResult, DiffSummary, DiffCoverage, DiffEngineId, DiffCompareInput, DiffApplyInput, DiffApplyOptions, DiffChangeMode, DiffApplyOperationReceipt, DiffApplyReviewItem, DiffApplyEligibility, DiffApplyModeEligibility, DiffApplyEligibilityBlocker, DiffApplyEligibilityBlockerCode, } from './diff.types.js';
|
|
@@ -76,8 +76,8 @@ export * from './export/export.types.js';
|
|
|
76
76
|
export type { SelectionMutationAdapter, SelectionMutationRequest, SelectionInsertRequest, } from './selection-mutation.js';
|
|
77
77
|
export type { RangeAnchor, DocumentEdgeAnchor, PointAnchor, RefBoundaryAnchor, ResolveRangeInput, ResolveRangeOutput, RangeBlockPreview, RangePreview, RangeResolverAdapter, ScrollIntoViewInput, ScrollIntoViewOutput, } from './ranges/index.js';
|
|
78
78
|
export { executeResolveRange } from './ranges/index.js';
|
|
79
|
-
export type { SelectionApi, SelectionAdapter, SelectionCurrentInput, SelectionInfo } from './selection/selection.js';
|
|
80
|
-
export { executeSelectionCurrent } from './selection/selection.js';
|
|
79
|
+
export type { SelectionApi, SelectionAdapter, SelectionCurrentInput, SelectionExtractOoxmlInput, SelectionExtractOoxmlResult, SelectionOoxmlDependency, SelectionTableCellsTarget, SelectionInfo, } from './selection/selection.js';
|
|
80
|
+
export { executeSelectionCurrent, executeSelectionExtractOoxml } from './selection/selection.js';
|
|
81
81
|
export type { HeaderFootersAdapter, HeaderFootersApi } from './header-footers/header-footers.js';
|
|
82
82
|
export * from './header-footers/header-footers.types.js';
|
|
83
83
|
export type { WatermarksAdapter, WatermarksApi } from './watermarks/watermarks.js';
|
|
@@ -95,7 +95,7 @@ export { executeProjectMarkdown } from './project-markdown/project-markdown.js';
|
|
|
95
95
|
export type { HistoryState, HistoryActionResult, HistoryNoopReason, SDHistoryStatus, SDHistoryCollaborationMeta, } from './history/history.types.js';
|
|
96
96
|
export { executeTrackChangesGet, executeTrackChangesList, executeTrackChangesDecide, } from './track-changes/track-changes.js';
|
|
97
97
|
export { createPlanApi, type PlanApi, type PlanExecuteInput, type PlanExecuteEntry, type PlanExecuteEntryExpect, type PlanExecuteResult, type PlanEntryReceipt, type PlanEntryReceiptStatus, type PlanExecuteFailure, type PlanCaptureRefMarker, type PlanProjectTextOffsetMarker, } from './plan/plan.js';
|
|
98
|
-
export type { DiffSnapshot, DiffPayload, DiffApplyResult, DiffCompareInput, DiffApplyInput, DiffApplyOptions, DiffApplyOperationReceipt, DiffApplyReviewItem, DiffApplyEligibility, DiffApplyModeEligibility, DiffApplyEligibilityBlocker, DiffApplyEligibilityBlockerCode, } from './diff/diff.types.js';
|
|
98
|
+
export type { DiffSnapshot, DiffPayload, DiffPartChange, DiffApplyResult, DiffCompareInput, DiffApplyInput, DiffApplyOptions, DiffApplyOperationReceipt, DiffApplyReviewItem, DiffApplyEligibility, DiffApplyModeEligibility, DiffApplyEligibilityBlocker, DiffApplyEligibilityBlockerCode, } from './diff/diff.types.js';
|
|
99
99
|
export type { GetAdapter } from './get/get.js';
|
|
100
100
|
export type { FindAdapter, FindOptions } from './find/find.js';
|
|
101
101
|
export type { GetNodeAdapter, GetNodeByIdInput } from './get-node/get-node.js';
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { SelectionCurrentInput, SelectionInfo } from './selection.types.js';
|
|
2
|
-
export type { SelectionCurrentInput, SelectionInfo } from './selection.types.js';
|
|
1
|
+
import { SelectionCurrentInput, SelectionExtractOoxmlInput, SelectionExtractOoxmlResult, SelectionInfo } from './selection.types.js';
|
|
2
|
+
export type { SelectionCurrentInput, SelectionExtractOoxmlInput, SelectionExtractOoxmlResult, SelectionOoxmlDependency, SelectionTableCellsTarget, SelectionInfo, } from './selection.types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Engine-specific adapter for the selection API.
|
|
5
5
|
*/
|
|
6
6
|
export interface SelectionAdapter {
|
|
7
7
|
/** Read the editor's current selection. */
|
|
8
8
|
current(input: SelectionCurrentInput): SelectionInfo;
|
|
9
|
+
extractOoxml(input: SelectionExtractOoxmlInput): SelectionExtractOoxmlResult;
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
11
12
|
* Public selection API exposed on `editor.doc.selection`.
|
|
@@ -19,5 +20,8 @@ export interface SelectionApi {
|
|
|
19
20
|
* pass the resulting `target` directly to `comments.create`.
|
|
20
21
|
*/
|
|
21
22
|
current(input?: SelectionCurrentInput): SelectionInfo;
|
|
23
|
+
/** Capture the addressed selected OOXML and its package dependencies. */
|
|
24
|
+
extractOoxml(input: SelectionExtractOoxmlInput): SelectionExtractOoxmlResult;
|
|
22
25
|
}
|
|
26
|
+
export declare function executeSelectionExtractOoxml(adapter: SelectionAdapter, input: SelectionExtractOoxmlInput): SelectionExtractOoxmlResult;
|
|
23
27
|
export declare function executeSelectionCurrent(adapter: SelectionAdapter, input?: SelectionCurrentInput): SelectionInfo;
|
|
@@ -1,4 +1,79 @@
|
|
|
1
1
|
import { SelectionTarget, TextTarget } from '../types/address.js';
|
|
2
|
+
export interface SelectionTableCellsTarget {
|
|
3
|
+
kind: 'tableCells';
|
|
4
|
+
tableId: string;
|
|
5
|
+
start: {
|
|
6
|
+
rowIndex: number;
|
|
7
|
+
columnIndex: number;
|
|
8
|
+
};
|
|
9
|
+
end: {
|
|
10
|
+
rowIndex: number;
|
|
11
|
+
columnIndex: number;
|
|
12
|
+
};
|
|
13
|
+
story?: SelectionTarget['story'];
|
|
14
|
+
}
|
|
15
|
+
export type SelectionExtractOoxmlInput = {
|
|
16
|
+
at: SelectionTarget | SelectionTableCellsTarget;
|
|
17
|
+
selection?: never;
|
|
18
|
+
} | {
|
|
19
|
+
selection: 'current';
|
|
20
|
+
at?: never;
|
|
21
|
+
};
|
|
22
|
+
export interface SelectionOoxmlDependency {
|
|
23
|
+
sourcePartUri: string;
|
|
24
|
+
relationshipId: string;
|
|
25
|
+
relationshipType: string;
|
|
26
|
+
target: string;
|
|
27
|
+
targetMode: 'Internal' | 'External';
|
|
28
|
+
contentType: string | null;
|
|
29
|
+
/** Base64-encoded target part when the relationship is internal. */
|
|
30
|
+
dataBase64?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface SelectionExtractOoxmlResult {
|
|
33
|
+
/** Version of the serialized selection-capture manifest. */
|
|
34
|
+
formatVersion: 1;
|
|
35
|
+
at: SelectionTarget | SelectionTableCellsTarget;
|
|
36
|
+
/** Source revision for provenance, never a read precondition. */
|
|
37
|
+
evaluatedRevision: string;
|
|
38
|
+
fragment: {
|
|
39
|
+
placement: 'inline' | 'blocks' | 'table';
|
|
40
|
+
/** Selected WordprocessingML with enough structural wrappers for its placement. */
|
|
41
|
+
xml: string;
|
|
42
|
+
/** Namespace bindings needed to parse the selected fragment. */
|
|
43
|
+
namespaces: Record<string, string>;
|
|
44
|
+
/** Source grid positions for a whole-table or rectangular-cell capture. */
|
|
45
|
+
table?: {
|
|
46
|
+
tableId: string;
|
|
47
|
+
gridColumnCount: number;
|
|
48
|
+
cells: {
|
|
49
|
+
rowIndex: number;
|
|
50
|
+
columnIndex: number;
|
|
51
|
+
gridSpan: number;
|
|
52
|
+
vMerge: 'none' | 'restart' | 'continue';
|
|
53
|
+
}[];
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
source: {
|
|
57
|
+
story: SelectionTarget['story'] | null;
|
|
58
|
+
partUri: string;
|
|
59
|
+
paragraphStyleId: string | null;
|
|
60
|
+
};
|
|
61
|
+
/** Source structure outside the selected visible content needed to interpret it. */
|
|
62
|
+
context: {
|
|
63
|
+
xml: string[];
|
|
64
|
+
tableMerges?: {
|
|
65
|
+
selectedRowIndex: number;
|
|
66
|
+
columnIndex: number;
|
|
67
|
+
restartRowIndex: number;
|
|
68
|
+
restartCellPropertiesXml: string;
|
|
69
|
+
}[];
|
|
70
|
+
};
|
|
71
|
+
dependencies: SelectionOoxmlDependency[];
|
|
72
|
+
diagnostics: {
|
|
73
|
+
code: string;
|
|
74
|
+
message: string;
|
|
75
|
+
}[];
|
|
76
|
+
}
|
|
2
77
|
/**
|
|
3
78
|
* Input for `selection.current`: reads the editor's current selection.
|
|
4
79
|
*
|
|
@@ -57,6 +57,32 @@ export interface TrackChangeWordRevisionIds {
|
|
|
57
57
|
/** Durable membership of one authored text rewrite; children can be decided individually. */
|
|
58
58
|
export interface TrackChangeRewriteReviewGroup {
|
|
59
59
|
kind: 'text-rewrite';
|
|
60
|
+
/**
|
|
61
|
+
* Provenance basis for this review group, distinct from the unrelated flat
|
|
62
|
+
* {@link TrackChangeInfo.origin} (importing platform, e.g. Word/Google
|
|
63
|
+
* Docs). `'authored-operation'` here reflects an authored `text.rewrite`
|
|
64
|
+
* transaction (spec SD-5189 CASE-3).
|
|
65
|
+
*/
|
|
66
|
+
groupOrigin: 'authored-operation';
|
|
67
|
+
role: 'parent' | 'child';
|
|
68
|
+
parentId?: string;
|
|
69
|
+
childChangeIds: readonly string[];
|
|
70
|
+
members: readonly {
|
|
71
|
+
id: string;
|
|
72
|
+
type: TrackChangeBroadType;
|
|
73
|
+
subtype: string;
|
|
74
|
+
sourceIds: TrackChangeSourceIds;
|
|
75
|
+
}[];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Durable membership of one document-comparison hunk; children can be
|
|
79
|
+
* decided individually. Distinct from {@link TrackChangeRewriteReviewGroup}:
|
|
80
|
+
* a comparison hunk originates from `diff.apply({changeMode:'tracked'})`,
|
|
81
|
+
* not an authored rewrite transaction (spec SD-4953, SD-5189 CASE-2/CASE-3).
|
|
82
|
+
*/
|
|
83
|
+
export interface TrackChangeComparisonHunkReviewGroup {
|
|
84
|
+
kind: 'comparison-hunk';
|
|
85
|
+
groupOrigin: 'comparison-hunk';
|
|
60
86
|
role: 'parent' | 'child';
|
|
61
87
|
parentId?: string;
|
|
62
88
|
childChangeIds: readonly string[];
|
|
@@ -67,6 +93,13 @@ export interface TrackChangeRewriteReviewGroup {
|
|
|
67
93
|
sourceIds: TrackChangeSourceIds;
|
|
68
94
|
}[];
|
|
69
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Public review-group union (spec SD-5189 CASE-3). Only the two producer
|
|
98
|
+
* kinds this contract covers today; whether the kernel's other internal
|
|
99
|
+
* review-group kinds (formatting/structural/list-delta variants) also need
|
|
100
|
+
* public projection is an open question left to whoever owns those surfaces.
|
|
101
|
+
*/
|
|
102
|
+
export type TrackChangeReviewGroup = TrackChangeRewriteReviewGroup | TrackChangeComparisonHunkReviewGroup;
|
|
70
103
|
/**
|
|
71
104
|
* Canonical multi-side source provenance per spec §3 / §4. Each value is
|
|
72
105
|
* raw, source-format identity (Word `w:id`, `w:rsidR` / `w:rsidDel`, future
|
|
@@ -519,7 +552,7 @@ export interface TrackChangeInfo {
|
|
|
519
552
|
wordRevisionIds?: TrackChangeWordRevisionIds;
|
|
520
553
|
/** Stable revision-group id (spec §3, fragment lineage). */
|
|
521
554
|
revisionGroupId?: string;
|
|
522
|
-
reviewGroup?:
|
|
555
|
+
reviewGroup?: TrackChangeReviewGroup;
|
|
523
556
|
/** Set to the retired source id when this change is a partial-split fragment; otherwise `null`. */
|
|
524
557
|
splitFromId?: string | null;
|
|
525
558
|
/** Replacement side metadata (`grouped` mode replacements only). */
|
|
@@ -651,7 +684,7 @@ export interface TrackChangeDomain {
|
|
|
651
684
|
structuralDescriptor?: TrackChangeStructuralDescriptor;
|
|
652
685
|
/** Stable revision-group id. */
|
|
653
686
|
revisionGroupId?: string;
|
|
654
|
-
reviewGroup?:
|
|
687
|
+
reviewGroup?: TrackChangeReviewGroup;
|
|
655
688
|
/** Set to the retired source id when this list item is a partial-split fragment; otherwise `null`. */
|
|
656
689
|
splitFromId?: string | null;
|
|
657
690
|
/**
|
|
@@ -1455,6 +1455,18 @@ export type DrawingBlock = VectorShapeDrawing | TextboxDrawing | ShapeGroupDrawi
|
|
|
1455
1455
|
* Maps to OOXML w:vAlign values in sectPr.
|
|
1456
1456
|
*/
|
|
1457
1457
|
export type SectionVerticalAlign = 'top' | 'center' | 'bottom' | 'both';
|
|
1458
|
+
export type SectionPageBorderSide = {
|
|
1459
|
+
width: number;
|
|
1460
|
+
space: number;
|
|
1461
|
+
color: string;
|
|
1462
|
+
};
|
|
1463
|
+
export type SectionPageBorders = {
|
|
1464
|
+
offsetFrom: 'page';
|
|
1465
|
+
top?: SectionPageBorderSide;
|
|
1466
|
+
right?: SectionPageBorderSide;
|
|
1467
|
+
bottom?: SectionPageBorderSide;
|
|
1468
|
+
left?: SectionPageBorderSide;
|
|
1469
|
+
};
|
|
1458
1470
|
export type SectionBreakBlock = {
|
|
1459
1471
|
kind: 'sectionBreak';
|
|
1460
1472
|
id: BlockId;
|
|
@@ -1471,6 +1483,7 @@ export type SectionBreakBlock = {
|
|
|
1471
1483
|
h: number;
|
|
1472
1484
|
};
|
|
1473
1485
|
orientation?: 'portrait' | 'landscape';
|
|
1486
|
+
pageBorders?: SectionPageBorders;
|
|
1474
1487
|
margins: {
|
|
1475
1488
|
/** Header margin (distance from top of page to header content) */
|
|
1476
1489
|
header?: number;
|
|
@@ -2464,6 +2477,8 @@ export type Page = {
|
|
|
2464
2477
|
*/
|
|
2465
2478
|
suppressHeaderFooter?: boolean;
|
|
2466
2479
|
margins?: PageMargins;
|
|
2480
|
+
/** Section-owned frame outside the page's body margins. */
|
|
2481
|
+
pageBorders?: SectionPageBorders;
|
|
2467
2482
|
/**
|
|
2468
2483
|
* Extra bottom space reserved on this page for footnotes (in px).
|
|
2469
2484
|
* Used by consumers (e.g. editors/painters) to keep footer hit regions and
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ColumnLayout, ColumnRegion, DocumentBackground, DrawingBlock, FlowMode, Fragment, ImageBlock, ImageFragmentMetadata, Line, ListBlock, ListMeasure, PageMargins, PageNumberChapterSeparator, PageNumberFormat, ParagraphBlock, ParagraphBorders, ParagraphMeasure, SectionVerticalAlign, MarkerTrackedChange, SourceAnchor, TableBlock, TableMeasure } from './index.js';
|
|
1
|
+
import { ColumnLayout, ColumnRegion, DocumentBackground, DrawingBlock, FlowMode, Fragment, ImageBlock, ImageFragmentMetadata, Line, ListBlock, ListMeasure, PageMargins, PageNumberChapterSeparator, PageNumberFormat, ParagraphBlock, ParagraphBorders, ParagraphMeasure, SectionVerticalAlign, SectionPageBorders, MarkerTrackedChange, SourceAnchor, TableBlock, TableMeasure } from './index.js';
|
|
2
2
|
import { LayoutSourceIdentity } from './layout-identity.js';
|
|
3
3
|
/** A fully resolved layout ready for the next-generation paint pipeline. */
|
|
4
4
|
export type ResolvedLayout = {
|
|
@@ -47,6 +47,8 @@ export type ResolvedPage = {
|
|
|
47
47
|
pageCountFieldsExact?: boolean;
|
|
48
48
|
/** Page margins from the source page. Used for ruler rendering and header/footer positioning. */
|
|
49
49
|
margins?: PageMargins;
|
|
50
|
+
/** Page frame resolved from the owning section. */
|
|
51
|
+
pageBorders?: SectionPageBorders;
|
|
50
52
|
/** Extra bottom space reserved for footnotes (px). Used for footer space calculation. */
|
|
51
53
|
footnoteReserved?: number;
|
|
52
54
|
/** Numeric page number after section numbering restart/offset. Used for OOXML odd/even parity. */
|
|
@@ -62,5 +62,5 @@ export declare const renderPositionedTabRun: (run: Extract<Run, {
|
|
|
62
62
|
* scales with font size (capped by the descent). This is geometry derived from
|
|
63
63
|
* the resolved line metrics. The painter never measures the DOM (SD-2957).
|
|
64
64
|
*/
|
|
65
|
-
export declare const underlineOffsetFromLineTop: (line: Line) => number;
|
|
65
|
+
export declare const underlineOffsetFromLineTop: (line: Line, fallbackFontSize?: number) => number;
|
|
66
66
|
export {};
|
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-CSZSAgxc.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-DMe-GQEe.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-CSZSAgxc.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-DMe-GQEe.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-CSZSAgxc.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 { i as BUILT_IN_COMMAND_IDS, l as shallowEqual, t as createSuperDocUI } from "../chunks/create-super-doc-ui-
|
|
1
|
+
import { i as BUILT_IN_COMMAND_IDS, l as shallowEqual, t as createSuperDocUI } from "../chunks/create-super-doc-ui-DMe-GQEe.es.js";
|
|
2
2
|
export { BUILT_IN_COMMAND_IDS, createSuperDocUI, shallowEqual };
|
package/dist/style.css
CHANGED
|
@@ -2339,34 +2339,34 @@ img[data-v-c95b2073] {
|
|
|
2339
2339
|
pointer-events: auto;
|
|
2340
2340
|
}
|
|
2341
2341
|
|
|
2342
|
-
.superdoc[data-v-
|
|
2342
|
+
.superdoc[data-v-696dd93d] {
|
|
2343
2343
|
display: flex;
|
|
2344
2344
|
position: relative;
|
|
2345
2345
|
}
|
|
2346
|
-
.right-sidebar[data-v-
|
|
2346
|
+
.right-sidebar[data-v-696dd93d] {
|
|
2347
2347
|
min-width: 320px;
|
|
2348
2348
|
height: 100%;
|
|
2349
2349
|
}
|
|
2350
|
-
.floating-comments[data-v-
|
|
2350
|
+
.floating-comments[data-v-696dd93d] {
|
|
2351
2351
|
min-width: 300px;
|
|
2352
2352
|
width: 300px;
|
|
2353
2353
|
height: 100%;
|
|
2354
2354
|
overflow: visible;
|
|
2355
2355
|
}
|
|
2356
|
-
.superdoc__layers[data-v-
|
|
2356
|
+
.superdoc__layers[data-v-696dd93d] {
|
|
2357
2357
|
height: 100%;
|
|
2358
2358
|
position: relative;
|
|
2359
2359
|
box-sizing: border-box;
|
|
2360
2360
|
}
|
|
2361
|
-
.superdoc__document[data-v-
|
|
2361
|
+
.superdoc__document[data-v-696dd93d] {
|
|
2362
2362
|
width: 100%;
|
|
2363
2363
|
position: relative;
|
|
2364
2364
|
}
|
|
2365
|
-
.superdoc__sub-document[data-v-
|
|
2365
|
+
.superdoc__sub-document[data-v-696dd93d] {
|
|
2366
2366
|
width: 100%;
|
|
2367
2367
|
position: relative;
|
|
2368
2368
|
}
|
|
2369
|
-
.superdoc__selection-layer[data-v-
|
|
2369
|
+
.superdoc__selection-layer[data-v-696dd93d] {
|
|
2370
2370
|
position: absolute;
|
|
2371
2371
|
min-width: 100%;
|
|
2372
2372
|
min-height: 100%;
|
|
@@ -2377,13 +2377,13 @@ img[data-v-c95b2073] {
|
|
|
2377
2377
|
/* SD-3497: PDF whiteboard overlay sits above the rendered PDF canvas but below
|
|
2378
2378
|
the PDF comment anchors (z-index 6 in PdfCommentsLayer) so anchors stay
|
|
2379
2379
|
clickable, and below the selection layer (z-index 10). */
|
|
2380
|
-
.superdoc__whiteboard-layer[data-v-
|
|
2380
|
+
.superdoc__whiteboard-layer[data-v-696dd93d] {
|
|
2381
2381
|
z-index: 4;
|
|
2382
2382
|
}
|
|
2383
|
-
.superdoc__temp-selection[data-v-
|
|
2383
|
+
.superdoc__temp-selection[data-v-696dd93d] {
|
|
2384
2384
|
position: absolute;
|
|
2385
2385
|
}
|
|
2386
|
-
.superdoc__right-sidebar[data-v-
|
|
2386
|
+
.superdoc__right-sidebar[data-v-696dd93d] {
|
|
2387
2387
|
width: 320px;
|
|
2388
2388
|
min-width: 320px;
|
|
2389
2389
|
padding: 0 10px;
|
|
@@ -2391,7 +2391,7 @@ img[data-v-c95b2073] {
|
|
|
2391
2391
|
position: relative;
|
|
2392
2392
|
z-index: 2;
|
|
2393
2393
|
}
|
|
2394
|
-
.superdoc__compact-comment-popover[data-v-
|
|
2394
|
+
.superdoc__compact-comment-popover[data-v-696dd93d] {
|
|
2395
2395
|
position: absolute;
|
|
2396
2396
|
top: 12px;
|
|
2397
2397
|
right: 12px;
|
|
@@ -2400,14 +2400,14 @@ img[data-v-c95b2073] {
|
|
|
2400
2400
|
}
|
|
2401
2401
|
|
|
2402
2402
|
/* Tools styles */
|
|
2403
|
-
.tools[data-v-
|
|
2403
|
+
.tools[data-v-696dd93d] {
|
|
2404
2404
|
position: absolute;
|
|
2405
2405
|
z-index: 3;
|
|
2406
2406
|
display: flex;
|
|
2407
2407
|
flex-direction: column;
|
|
2408
2408
|
gap: var(--sd-ui-tools-gap, 6px);
|
|
2409
2409
|
}
|
|
2410
|
-
.tools-item[data-v-
|
|
2410
|
+
.tools-item[data-v-696dd93d] {
|
|
2411
2411
|
display: flex;
|
|
2412
2412
|
align-items: center;
|
|
2413
2413
|
justify-content: center;
|
|
@@ -2418,10 +2418,10 @@ img[data-v-c95b2073] {
|
|
|
2418
2418
|
cursor: pointer;
|
|
2419
2419
|
position: relative;
|
|
2420
2420
|
}
|
|
2421
|
-
.tools-item i[data-v-
|
|
2421
|
+
.tools-item i[data-v-696dd93d] {
|
|
2422
2422
|
cursor: pointer;
|
|
2423
2423
|
}
|
|
2424
|
-
.superdoc__tools-icon[data-v-
|
|
2424
|
+
.superdoc__tools-icon[data-v-696dd93d] {
|
|
2425
2425
|
width: var(--sd-ui-tools-icon-size, 20px);
|
|
2426
2426
|
height: var(--sd-ui-tools-icon-size, 20px);
|
|
2427
2427
|
flex-shrink: 0;
|
|
@@ -2436,22 +2436,22 @@ img[data-v-c95b2073] {
|
|
|
2436
2436
|
|
|
2437
2437
|
/* 834px is iPad screen size in portrait orientation */
|
|
2438
2438
|
@media (max-width: 834px) {
|
|
2439
|
-
.superdoc .superdoc__layers[data-v-
|
|
2439
|
+
.superdoc .superdoc__layers[data-v-696dd93d] {
|
|
2440
2440
|
margin: 0;
|
|
2441
2441
|
border: 0 !important;
|
|
2442
2442
|
box-shadow: none;
|
|
2443
2443
|
}
|
|
2444
|
-
.superdoc__sub-document[data-v-
|
|
2444
|
+
.superdoc__sub-document[data-v-696dd93d] {
|
|
2445
2445
|
max-width: 100%;
|
|
2446
2446
|
}
|
|
2447
|
-
.superdoc__right-sidebar[data-v-
|
|
2447
|
+
.superdoc__right-sidebar[data-v-696dd93d] {
|
|
2448
2448
|
padding: 10px;
|
|
2449
2449
|
position: relative;
|
|
2450
2450
|
}
|
|
2451
2451
|
}
|
|
2452
2452
|
|
|
2453
2453
|
/* AI Writer styles */
|
|
2454
|
-
.ai-writer-container[data-v-
|
|
2454
|
+
.ai-writer-container[data-v-696dd93d] {
|
|
2455
2455
|
position: fixed;
|
|
2456
2456
|
z-index: 1000;
|
|
2457
2457
|
background: white;
|
|
@@ -2467,10 +2467,10 @@ img[data-v-c95b2073] {
|
|
|
2467
2467
|
transform: translateY(-50%);
|
|
2468
2468
|
z-index: 50;
|
|
2469
2469
|
} */
|
|
2470
|
-
.ai-tool > svg[data-v-
|
|
2470
|
+
.ai-tool > svg[data-v-696dd93d] {
|
|
2471
2471
|
fill: transparent;
|
|
2472
2472
|
}
|
|
2473
|
-
.ai-tool[data-v-
|
|
2473
|
+
.ai-tool[data-v-696dd93d]::before {
|
|
2474
2474
|
content: '';
|
|
2475
2475
|
position: absolute;
|
|
2476
2476
|
width: 20px;
|
|
@@ -2491,7 +2491,7 @@ img[data-v-c95b2073] {
|
|
|
2491
2491
|
filter: brightness(1.2);
|
|
2492
2492
|
transition: filter 0.2s ease;
|
|
2493
2493
|
}
|
|
2494
|
-
.ai-tool[data-v-
|
|
2494
|
+
.ai-tool[data-v-696dd93d]:hover::before {
|
|
2495
2495
|
filter: brightness(1.3);
|
|
2496
2496
|
}
|
|
2497
2497
|
|