Перейти к содержимому
FastOffice

DTO · api-edit.ts · часть 5

Часть 5 из 6: 47 интерфейсов и 13 псевдонимов типов shell-contract — правка документа: текстовые транзакции, форматирование, таблицы, буфер обмена, история и команды меню.

Источник: apps/fastdoc-shell/src/shell-contract/api-edit.ts.

Каталог разбит на несколько страниц: часть 1 · часть 2 · часть 3 · часть 4 · часть 5 · часть 6.

Типы на этой странице — 60

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3542

interface D37TableWidthRequest {
bodyBlockIndex: number;
widthMode: D37TableWidthMode;
widthCentimetersHundredths?: number | null;
widthPercent?: number | null;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3551

interface D37TableWidthResult {
schema: "fastdoc.shell.d37-table-width.v1";
operationKind: "set-table-width-centimeters" | "set-table-width-percent" | "fit-table-width-to-contents" | "fit-table-width-to-window" | "fixed-table-column-width";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
bodyBlockIndex: number;
widthMode: D37TableWidthMode;
resultKind: string | null;
writebackResultKind: string | null;
tableWidthUnit: string | null;
tableWidthValue: number | null;
tableWidthTwips: number | null;
computedTableWidthToContentsTwips: number | null;
tableWidthPercentX50: number | null;
tableDimensionTwips: number | null;
rowCount: number | null;
columnCount: number | null;
snapshot: unknown;
}

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3577

type D37TableSelectionWidthFitAction = "fit-selected-table-to-contents";

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3579

interface D37TableSelectionWidthFitRange {
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount: number;
columnCount: number;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3587

interface D37TableSelectionWidthFitRequest {
selection: D37TableSelectionWidthFitRange;
action: D37TableSelectionWidthFitAction;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3594

interface D37TableSelectionWidthFitResult {
schema: "fastdoc.shell.d37-table-selection-width-fit.v1";
action: D37TableSelectionWidthFitAction;
selection: D37TableSelectionWidthFitRange;
computedWidthMode: "fit-contents";
tableWidthResult: D37TableWidthResult;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3602

interface D37TableSelectionWidthFitCommandState {
schema: "fastdoc.shell.d37-table-selection-width-fit-command-state.v1";
operationKind: "fit-table-width-to-contents";
action: D37TableSelectionWidthFitAction;
canApply: boolean;
disabledReason: string | null;
documentPath: string | null;
selection: D37TableSelectionWidthFitRange;
computedWidthMode: "fit-contents";
resultKind: string | null;
writebackResultKind: string | null;
tableWidthUnit: string | null;
tableWidthValue: number | null;
tableWidthTwips: number | null;
computedTableWidthToContentsTwips: number | null;
tableWidthPercentX50: number | null;
tableDimensionTwips: number | null;
rowCount: number | null;
columnCount: number | null;
supportMarkerKinds: string[];
snapshot: unknown;
}

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3625

type D37TableAutofitToWindowAction = "fit-selected-table-to-window";

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3627

interface D37TableAutofitToWindowRequest {
selection: D37TableSelectionWidthFitRange;
action: D37TableAutofitToWindowAction;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3634

interface D37TableAutofitToWindowResult {
schema: "fastdoc.shell.d37-table-autofit-to-window.v1";
action: D37TableAutofitToWindowAction;
selection: D37TableSelectionWidthFitRange;
computedWidthMode: "fit-window";
tableWidthResult: D37TableWidthResult;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3642

interface D37TableAutofitToWindowCommandState {
schema: "fastdoc.shell.d37-table-autofit-to-window-command-state.v1";
operationKind: "fit-table-width-to-window";
action: D37TableAutofitToWindowAction;
canApply: boolean;
disabledReason: string | null;
documentPath: string | null;
selection: D37TableSelectionWidthFitRange;
computedWidthMode: "fit-window";
resultKind: string | null;
writebackResultKind: string | null;
tableWidthUnit: string | null;
tableWidthValue: number | null;
tableWidthTwips: number | null;
computedTableWidthToContentsTwips: number | null;
tableWidthPercentX50: number | null;
tableDimensionTwips: number | null;
rowCount: number | null;
columnCount: number | null;
supportMarkerKinds: string[];
snapshot: unknown;
}

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3665

type D37TableFixedColumnWidthAction = "fixed-selected-table-column-width";

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3667

interface D37TableFixedColumnWidthRequest {
selection: D37TableSelectionWidthFitRange;
action: D37TableFixedColumnWidthAction;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3674

interface D37TableFixedColumnWidthResult {
schema: "fastdoc.shell.d37-table-fixed-column-width.v1";
action: D37TableFixedColumnWidthAction;
selection: D37TableSelectionWidthFitRange;
computedWidthMode: "fixed-column-width";
tableWidthResult: D37TableWidthResult;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3682

interface D37TableFixedColumnWidthCommandState {
schema: "fastdoc.shell.d37-table-fixed-column-width-command-state.v1";
operationKind: "fixed-table-column-width";
action: D37TableFixedColumnWidthAction;
canApply: boolean;
disabledReason: string | null;
documentPath: string | null;
selection: D37TableSelectionWidthFitRange;
computedWidthMode: "fixed-column-width";
resultKind: string | null;
writebackResultKind: string | null;
tableWidthUnit: string | null;
tableWidthValue: number | null;
tableWidthTwips: number | null;
computedTableWidthToContentsTwips: number | null;
tableWidthPercentX50: number | null;
tableDimensionTwips: number | null;
rowCount: number | null;
columnCount: number | null;
supportMarkerKinds: string[];
snapshot: unknown;
}

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3705

type D37TableCellMarginsMode = "cell" | "range" | "default-from-cell";

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3707

interface D37TableCellMarginsRequest {
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount?: number | null;
columnCount?: number | null;
topTwips?: number | null;
rightTwips?: number | null;
bottomTwips?: number | null;
leftTwips?: number | null;
applyMode?: D37TableCellMarginsMode | null;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3722

interface D37TableCellMarginsResult {
schema: "fastdoc.shell.d37-table-cell-margins.v1";
operationKind: "set-table-cell-margins" | "set-table-cell-margins-range" | "set-table-default-cell-margins-from-cell";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount: number | null;
columnCount: number | null;
resultKind: string | null;
writebackResultKind: string | null;
topTwips: number | null;
rightTwips: number | null;
bottomTwips: number | null;
leftTwips: number | null;
spanCount: number | null;
snapshot: unknown;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3746

interface D37TableCellMarginsCommandState {
schema: "fastdoc.shell.d37-table-cell-margins-command-state.v1";
operationKind: D37TableCellMarginsResult["operationKind"];
canApply: boolean;
disabledReason: string | null;
documentPath: string | null;
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount: number | null;
columnCount: number | null;
applyMode: D37TableCellMarginsMode;
resultKind: string | null;
writebackResultKind: string | null;
topTwips: number | null;
rightTwips: number | null;
bottomTwips: number | null;
leftTwips: number | null;
spanCount: number | null;
supportMarkerKinds: string[];
snapshot: unknown;
}

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3769

type D37TableCellTextWrappingMode = "cell" | "range";

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3771

interface D37TableCellTextWrappingRequest {
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount?: number | null;
columnCount?: number | null;
wrapText: boolean;
applyMode?: D37TableCellTextWrappingMode | null;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3783

interface D37TableCellTextWrappingResult {
schema: "fastdoc.shell.d37-table-cell-text-wrapping.v1";
operationKind: "set-table-cell-text-wrapping" | "set-table-cell-text-wrapping-range";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount: number | null;
columnCount: number | null;
resultKind: string | null;
writebackResultKind: string | null;
wrapText: boolean | null;
spanCount: number | null;
snapshot: unknown;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3801

interface D37TableCellTextWrappingCommandState {
schema: "fastdoc.shell.d37-table-cell-text-wrapping-command-state.v1";
operationKind: D37TableCellTextWrappingResult["operationKind"];
canApply: boolean;
disabledReason: string | null;
documentPath: string | null;
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount: number | null;
columnCount: number | null;
applyMode: D37TableCellTextWrappingMode;
resultKind: string | null;
writebackResultKind: string | null;
wrapText: boolean | null;
spanCount: number | null;
supportMarkerKinds: string[];
snapshot: unknown;
}

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3821

type D37TableCellContentVerticalAlignment = "top" | "center" | "middle" | "bottom";

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3822

type D37TableCellContentHorizontalAlignment = "left" | "center" | "right";

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3824

interface D37TableCellContentAlignmentRequest {
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount: number;
columnCount: number;
verticalAlignment: D37TableCellContentVerticalAlignment;
horizontalAlignment: D37TableCellContentHorizontalAlignment;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3836

type D37TableCellVerticalAlignment = "top" | "center" | "middle" | "bottom";

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3837

type D37TableCellVerticalAlignmentMode = "cell" | "range";

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3839

interface D37TableCellVerticalAlignmentRequest {
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount?: number | null;
columnCount?: number | null;
alignment: D37TableCellVerticalAlignment;
applyMode?: D37TableCellVerticalAlignmentMode | null;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3851

interface D37TableCellContentAlignmentResult {
schema: "fastdoc.shell.d37-table-cell-content-alignment.v1";
operationKind: "set-table-cell-alignment-range";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount: number | null;
columnCount: number | null;
requestedVerticalAlignment: D37TableCellContentVerticalAlignment;
requestedHorizontalAlignment: D37TableCellContentHorizontalAlignment;
verticalAlignment: string | null;
horizontalAlignment: string | null;
resultKind: string | null;
writebackResultKind: string | null;
spanCount: number | null;
snapshot: unknown;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3872

interface D37TableCellVerticalAlignmentResult {
schema: "fastdoc.shell.d37-table-cell-vertical-alignment.v1";
operationKind: "set-table-cell-vertical-alignment" | "set-table-cell-vertical-alignment-range";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount: number | null;
columnCount: number | null;
applyMode: D37TableCellVerticalAlignmentMode;
requestedAlignment: D37TableCellVerticalAlignment;
cellVerticalAlignment: string | null;
resultKind: string | null;
writebackResultKind: string | null;
spanCount: number | null;
snapshot: unknown;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3892

interface D37TableCellContentAlignmentCommandState {
schema: "fastdoc.shell.d37-table-cell-content-alignment-command-state.v1";
operationKind: "set-table-cell-alignment-range";
canApply: boolean;
disabledReason: string | null;
documentPath: string | null;
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount: number | null;
columnCount: number | null;
requestedVerticalAlignment: D37TableCellContentVerticalAlignment;
requestedHorizontalAlignment: D37TableCellContentHorizontalAlignment;
verticalAlignment: string | null;
horizontalAlignment: string | null;
resultKind: string | null;
writebackResultKind: string | null;
spanCount: number | null;
supportMarkerKinds: string[];
snapshot: unknown;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3914

interface D37TableCellVerticalAlignmentCommandState {
schema: "fastdoc.shell.d37-table-cell-vertical-alignment-command-state.v1";
operationKind: D37TableCellVerticalAlignmentResult["operationKind"];
canApply: boolean;
disabledReason: string | null;
documentPath: string | null;
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount: number | null;
columnCount: number | null;
applyMode: D37TableCellVerticalAlignmentMode;
requestedAlignment: D37TableCellVerticalAlignment;
cellVerticalAlignment: string | null;
resultKind: string | null;
writebackResultKind: string | null;
spanCount: number | null;
supportMarkerKinds: string[];
snapshot: unknown;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3935

interface D37TableCellExactSizeRequest {
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
widthTwips: number;
heightTwips: number;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3945

interface D37TableCellExactSizeResult {
schema: "fastdoc.shell.d37-table-cell-exact-size.v1";
operationKind: "set-table-cell-exact-size";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
widthTwips: number | null;
heightTwips: number | null;
resultKind: string | null;
writebackResultKind: string | null;
rowCount: number | null;
columnCount: number | null;
snapshot: unknown;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3963

interface D37TableCellExactSizeCommandState {
schema: "fastdoc.shell.d37-table-cell-exact-size-command-state.v1";
operationKind: "set-table-cell-exact-size";
canApply: boolean;
disabledReason: string | null;
documentPath: string | null;
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
widthTwips: number | null;
heightTwips: number | null;
resultKind: string | null;
writebackResultKind: string | null;
rowCount: number | null;
columnCount: number | null;
supportMarkerKinds: string[];
snapshot: unknown;
}

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3982

type D37TableCellTextDirection = "horizontal" | "normal" | "rotate_down" | "down" | "vertical" | "rotate_up" | "up" | "0deg" | "90deg" | "270deg" | "-90deg";

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3995

type D37TableCellTextDirectionMode = "single" | "range";

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:3997

interface D37TableCellTextDirectionRequest {
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount?: number | null;
columnCount?: number | null;
direction: D37TableCellTextDirection;
applyMode?: D37TableCellTextDirectionMode | null;
reopenAfterWrite?: boolean;
outputPath?: string | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4009

interface D37TableCellTextDirectionResult {
schema: "fastdoc.shell.d37-table-cell-text-direction.v1";
operationKind: "set-table-cell-text-direction" | "set-table-cell-text-direction-range";
applied: boolean;
documentPath: string | null;
outputPath: string | null;
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
requestedDirection: D37TableCellTextDirection;
textDirection: string | null;
resultKind: string | null;
writebackResultKind: string | null;
rowCount: number | null;
columnCount: number | null;
spanCount: number | null;
snapshot: unknown;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4028

interface D37TableCellTextDirectionCommandState {
schema: "fastdoc.shell.d37-table-cell-text-direction-command-state.v1";
operationKind: D37TableCellTextDirectionResult["operationKind"];
canApply: boolean;
disabledReason: string | null;
documentPath: string | null;
bodyBlockIndex: number;
rowIndex: number;
columnIndex: number;
rowCount: number | null;
columnCount: number | null;
applyMode: D37TableCellTextDirectionMode;
requestedDirection: D37TableCellTextDirection;
textDirection: string | null;
resultKind: string | null;
writebackResultKind: string | null;
spanCount: number | null;
supportMarkerKinds: string[];
snapshot: unknown;
}

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4049

type EditorV0TableCellParagraphTextTarget = {
kind: "table-cell";
bodyBlockIndex: number;
rowIndex: number;
cellIndex: number;
paragraphIndex: number;
} | {
kind: "nested-table-cell";
bodyBlockIndex: number;
outerRowIndex: number;
outerCellIndex: number;
nestedTableBlockIndex: number;
rowIndex: number;
cellIndex: number;
paragraphIndex: number;
};

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4068

type EditorV0TableCellTextRangeEndpoint = EditorV0TableCellParagraphTextTarget & {
offset: number;
};

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4073

interface EditorV0ParagraphStructureRequest {
operationKind: "insert-text" | "delete-text" | "split-paragraph" | "merge-with-next" | "insert-line-break" | "delete-line-break" | "replace-table-cell-range";
target?: EditorV0TableCellParagraphTextTarget | null;
range?: {
anchor: EditorV0TableCellTextRangeEndpoint;
focus: EditorV0TableCellTextRangeEndpoint;
} | null;
paragraphIndex: number;
offset?: number | null;
insertText?: string | null;
replacementText?: string | null;
deleteCount?: number | null;
sourcePath?: string | null;
outputKind?: "editor-v0-paragraph-split-merge" | "d37-table-cell-text-structure" | "editor-v0-paragraph-text-flow" | "editor-v0-paragraph-text-flow-commands" | "editor-v0-styled-paragraph-flow" | "editor-v0-styled-paragraph-merge-controls" | "editor-v0-styled-paragraph-text-after-merge" | "editor-v0-paragraph-boundary-insert" | "editor-v0-paragraph-boundary-delete-controls" | "editor-v0-user-paragraph-boundary-edit" | "editor-v0-user-paragraph-multiline-flow" | "doc-br-001-manual-line-break" | "editor-v0-styled-multiline-boundary-edit" | "editor-v0-styled-multiline-live-toolbar-state" | "editor-v0-styled-multiline-second-fixture" | "editor-v0-toolbar-format-commands-bounded" | "editor-v0-bold-shortcut-command" | "editor-v0-toolbar-format-commands-italic-blue" | "editor-v0-home-chr-tranche2-market" | "editor-v0-font-family-size-commands" | "editor-v0-text-case-toolbar-command" | "editor-v0-text-effect-toolbar-command" | "editor-v0-underline-style-toolbar-command" | "editor-v0-highlight-toolbar-command" | "editor-v0-font-color-toolbar-command" | "editor-v0-cut-clear-paste-target-index-expansion" | "editor-v0-cut-clear-paste-target-toolbar-state" | "editor-v0-wide-target-keyboard-toolbar-state" | "editor-v0-keyboard-wide-target-action-chain" | "editor-v0-keyboard-wide-target-manual-ux" | "editor-v0-keyboard-wide-target-manual-commands-richer-content" | "live-bounded-text-continue" | "editor-v0-text-continue" | "editor-v0-txt001-collapsed-typing" | "editor-v0-txt003-delete-previous-character" | "editor-v0-txt007-split-paragraph" | "editor-v0-txt008-join-paragraphs" | "editor-v0-txt009-insert-soft-line-break" | "editor-v0-txt010-insert-non-breaking-space" | "editor-v0-txt011-insert-non-breaking-hyphen" | "editor-v0-txt012-insert-optional-hyphen" | "editor-v0-text-continue-commands" | "editor-v0-undo" | "editor-v0-redo" | "editor-v0-save-as-dialog" | "editor-v0-save-state" | "editor-v0-nonblocking-typing" | "editor-v0-double-space-period-autocorrect" | "editor-v0-selection-replace" | "editor-v0-selection-edit-2" | "editor-v0-selection-edit-3" | "editor-v0-selection-edit-4" | "editor-v0-save-open-loop" | "editor-v0-autosave-toggle-action" | "editor-v0-open-saved-copy-ui" | "editor-v0-multistep-undo" | "editor-v0-save-copy-shortcuts" | "editor-v0-save-copy-destination-polish" | "editor-v0-save-copy-as-user-path" | "editor-v0-sel007-select-all-body-content" | "editor-v0-sel008-select-range-by-drag" | "editor-v0-sel009-extend-selection-to-word-boundary" | "editor-v0-quick-save-copy-action" | "editor-v0-save-in-place" | "editor-v0-save-in-place-conflicts" | "editor-v0-close-warning-probe" | "editor-v0-quick-open-copy-action" | "editor-v0-editing-top-action" | "editor-v0-quick-open-docx-action" | "editor-v0-open-user-copy-dialog" | "editor-v0-save-open-recent-copy" | "editor-v0-formatted-run-edit" | "editor-v0-formatted-selection-edit" | "editor-v0-formatted-text-tranche" | "editor-v0-formatted-selection-ui" | "editor-v0-formatted-selection-controls" | "editor-v0-run-boundary-edit" | "editor-v0-run-boundary-edit-controls" | "editor-v0-run-boundary-insert-controls" | "editor-v0-run-boundary-text-input-controls" | "editor-v0-cross-run-selection-input" | "doc-br-001-slice3-rendering-caret" | "doc-br-001-slice4-docx-roundtrip" | "doc-br-001-slice6-selection-replacement" | "doc-br-001-slice7-guards" | "editor-v0-styled-multiline-toolbar-state" | "editor-v0-wrap-aware-selection-commands" | "editor-v0-wrap-aware-selection-manual-commands-polish" | "editor-v0-wrap-aware-paragraph-editing" | "editor-v0-wrap-aware-paragraph-manual-ux" | "editor-v0-wrap-aware-paragraph-commands-polish" | "editor-v0-wrap-aware-paragraph-reflow-polish" | "editor-v0-wrap-aware-paragraph-continuous-typing" | "editor-v0-wrap-aware-continuous-typing-reflow" | "editor-v0-wrap-aware-continuous-typing-manual-ux" | "editor-v0-wrap-aware-paragraph-selection-delete-polish" | "editor-v0-wrap-aware-paragraph-continuous-selection-delete" | "editor-v0-wrap-aware-paragraph-selection-delete-manual-ux" | "editor-v0-home-character-formatting-market" | "editor-v0-home-color-highlight-market" | "editor-v0-home-font-color-red-row" | "editor-v0-home-highlight-red-row" | "editor-v0-home-highlight-red-row-visual" | "editor-v0-style-heading1-toolbar-command" | "editor-v0-style-heading2-toolbar-command" | "editor-v0-style-heading3-toolbar-command" | "editor-v0-style-normal-card-action" | "editor-v0-autosave-toggle-action" | "editor-v0-quick-access-more-menu" | "editor-v0-comments-top-action" | "editor-v0-editing-top-action" | "editor-v0-share-top-action" | "editor-v0-focus-top-action" | "editor-v0-insert-tab-action" | "editor-v0-draw-tab-surface" | "editor-v0-ribbon-real-actions" | "editor-v0-ribbon-insert-drop-cap" | "editor-v0-ribbon-insert-table" | "editor-v0-tbl-sel-txt-editing-workflow" | "editor-v0-ribbon-draw-table" | "editor-v0-ribbon-convert-text-to-table" | "editor-v0-ribbon-insert-table-custom-dialog" | "editor-v0-ribbon-insert-table-size-matrix" | "editor-v0-table-contextual-tabs" | "editor-v0-table-layout-rows-columns-commands" | "editor-v0-table-layout-merge-split-commands" | "editor-v0-table-layout-delete-dropdown-commands" | "editor-v0-table-layout-delete-cells-dialog" | "editor-v0-table-layout-properties-dialog" | "editor-v0-table-context-menu-delete-actions" | "editor-v0-ribbon-delete-table" | "editor-v0-ribbon-insert-image" | "editor-v0-ribbon-insert-object-text-file" | "editor-v0-ribbon-insert-text-box" | "editor-v0-ribbon-insert-equation-edit" | "editor-v0-ribbon-insert-shape-rect" | "editor-v0-ribbon-insert-basic-shapes" | "editor-v0-ribbon-insert-date-time" | "editor-v0-ribbon-insert-symbols-market" | "editor-v0-ribbon-insert-hyperlink" | "editor-v0-ribbon-insert-bookmark" | "editor-v0-ribbon-insert-header-footer-page-number" | "editor-v0-ribbon-insert-caption-position" | "editor-v0-ribbon-insert-comment" | "editor-v0-ribbon-insert-cross-reference" | "editor-v0-ribbon-cross-reference" | "editor-v0-ribbon-cross-reference-caption" | "editor-v0-ribbon-caption-cross-reference-market" | "references-captions-crossrefs-toc-workflow" | "editor-v0-ribbon-toc" | "editor-v0-ribbon-add-text" | "editor-v0-ribbon-update-table" | "editor-v0-ribbon-table-of-figures" | "editor-v0-ribbon-update-table-of-figures" | "editor-v0-ribbon-insert-citation" | "editor-v0-ribbon-bibliography-sources" | "editor-v0-ribbon-bibliography-style" | "editor-v0-ribbon-bibliography-command-group" | "editor-v0-ribbon-index-authorities-market" | "editor-v0-ribbon-mailings-mail-merge-market" | "editor-v0-ribbon-review-market" | "editor-v0-ribbon-review-tools-market" | "editor-v0-ribbon-review-proofing-actions-market" | "editor-v0-ribbon-review-protection-controls-market" | "editor-v0-review-command-center-market" | "editor-v0-page-command-center-market" | "editor-v0-ribbon-field-tools-market" | "editor-v0-field-command-center-market" | "forms-fields-business-doc-user-workflow" | "editor-v0-market-launch-center-market" | "editor-v0-market-launch-center-full-matrix" | "editor-v0-market-launch-center-launch-pack" | "editor-v0-market-launch-center-validation" | "editor-v0-market-launch-center-repair" | "editor-v0-market-launch-center-package-prepare" | "editor-v0-market-launch-center-release-gate" | "editor-v0-market-launch-center-market-handoff-acceptance" | "editor-v0-ribbon-design-appearance-market" | "editor-v0-ribbon-insert-extended-market" | "editor-v0-file-interchange-workflow-market" | "editor-v0-file-interchange-import-workflow-market" | "editor-v0-file-lifecycle-market" | "a4-file-document-lifecycle" | "a4-writing-styles-lists-user-workflow" | "a4-authoring-workday-continuity" | "editing-reliability-v3-user-workflows" | "editor-v0-document-safety-market" | "editor-v0-document-command-center-market" | "editor-v0-ribbon-footnotes-command-group" | "pgn-footnotes-user-workflow" | "document-assembly-layout-user-workflow" | "editor-v0-tools-action-menu" | "editor-v0-style-pane-action-menu" | "editor-v0-paragraph-layout-basics" | "editor-v0-paragraph-alignment-toolbar-command" | "editor-v0-paragraph-indent-toolbar-command" | "editor-v0-paragraph-line-spacing-toolbar-command" | "editor-v0-paragraph-numbering-toolbar-command" | "editor-v0-paragraph-bullets-toolbar-command" | "editor-v0-paragraph-multilevel-toolbar-command" | "editor-v0-paragraph-fill-toolbar-command" | "editor-v0-paragraph-border-toolbar-command" | "editor-v0-paragraph-sort-toolbar-command" | "editor-v0-ruler-drag-writeback" | "editor-v0-control-sheet-ruler-tracking" | "editor-v0-d6-ruler-sensitive-action-cockpit-lock" | "editor-v0-d6-ruler-indent-reflow-lane-vector" | "editor-v0-vertical-ruler-margin-writeback" | "editor-v0-ruler-tab-selector-contract" | "editor-v0-format-toolbar-multi-command-chain" | "editor-v0-toolbar-caret-word-after-selection" | "editor-v0-format-clear-command" | "editor-v0-format-clear-partial-selection" | "editor-v0-format-apply-partial-selection" | "editor-v0-mixed-format-selection-workflow" | "editor-v0-mixed-format-selection-typing-rules" | "editor-v0-mixed-format-clear-or-paste-rules" | "editor-v0-mixed-format-paste-rules" | "editor-v0-clipboard-copy-cut-paste" | "editor-v0-clipboard-ui-polish" | "editor-v0-clipboard-shortcuts-visible-state" | "editor-v0-paste-options-extended-selection" | "editor-v0-formatted-paste-across-paragraphs" | "editor-v0-formatted-paste-across-paragraphs-ux" | "editor-v0-user-created-paragraph-paste" | "editor-v0-user-created-paragraph-paste-options" | "editor-v0-user-created-paragraph-paste-options-keyboard" | "editor-v0-user-created-paragraph-paste-options-multiparagraph" | "editor-v0-user-created-rich-source-multiparagraph-paste" | "editor-v0-visible-multiparagraph-selection-rich-paste" | "editor-v0-user-created-format-paste-replace-flow" | "a4-clipboard-format-preservation-workflow" | "editor-v0-user-created-multiparagraph-source-paste" | "editor-v0-collapsed-paragraph-format-paste" | "editor-v0-collapsed-paragraph-cut-paste" | "editor-v0-collapsed-paragraph-format-clear-paste" | "editor-v0-collapsed-paragraph-cut-clear-paste" | "editor-v0-cut-clear-paste-extended-selection" | "editor-v0-find-text-navigation" | "editor-v0-find-text-result-controls" | "editor-v0-editing-replace-first-command" | "editor-v0-editing-replace-all-command" | "editor-v0-search-options-current-replace-command" | "editor-v0-search-options-replace-all-command" | "editor-v0-home-editing-group" | "editor-v0-paste-options-keyboard-access" | "editor-v0-paste-options-menu" | "editor-v0-paste-format-options-bounded";
outputPath?: string | null;
reopenAfterWrite?: boolean;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4346

interface EditorV0ParagraphStructureResult {
applied: boolean;
outputPath: string;
operationKind: "insert-text" | "delete-text" | "split-paragraph" | "merge-with-next" | "insert-line-break" | "delete-line-break" | "replace-table-cell-range";
paragraphIndex: number;
offset: number | null;
beforeTexts: string[];
afterTexts: string[];
paragraphCountDelta: number | null;
undoDelta: unknown | null;
undoDeltas?: unknown[];
finalTarget?: EditorV0TableCellParagraphTextTarget | null;
finalOffset?: number | null;
selectionSemantics?: string | null;
selectedCellCount?: number | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4370

interface EditorV0ToolbarFormatCommandRequest {
commandKind: "bold" | "italic" | "underline" | "underline-color" | "blue" | "highlight" | "strikethrough" | "double-strikethrough" | "subscript" | "superscript" | "font-family" | "font-size" | "text-case" | "all-caps" | "small-caps" | "hidden" | "text-effect" | "character-spacing" | "character-scale" | "character-position" | "kerning" | "character-style" | "proofing-language" | "run-direction" | "paragraph-direction" | "disable-proofing";
enabled: boolean;
fontFamilyName?: string | null;
fontSizeHalfPoints?: number | null;
textCase?: "sentence" | "lowercase" | "uppercase" | "capitalize" | "toggle" | null;
underlineStyle?: "single" | "double" | "dotted" | "dash" | "wave" | "thick" | null;
fontColorRgb?: string | null;
underlineColorRgb?: string | null;
textHighlightColor?: string | null;
characterSpacing?: "normal" | "expanded" | "condensed" | null;
textEffect?: "none" | "outline" | "shadow" | "emboss" | "imprint" | null;
characterScale?: "normal" | "80pct" | null;
characterPosition?: "normal" | "raised-3pt" | "lowered-3pt" | null;
kerning?: "none" | "12pt" | null;
characterStyle?: "none" | "Emphasis" | "Strong" | "Hyperlink" | null;
proofingLanguage?: "en-US" | "es-ES" | "ru-RU" | "ar-SA" | "he-IL" | "ja-JP" | "zh-CN" | "ko-KR" | null;
textDirection?: "ltr" | "rtl" | null;
disableProofing?: boolean | null;
paragraphIndex: number;
offset: number;
rangeLength: number;
expectedParagraphText?: string | null;
outputKind?: "editor-v0-toolbar-format-commands-bounded" | "editor-v0-toolbar-format-commands-italic-blue" | "editor-v0-home-chr-tranche2-market" | "editor-v0-user-text-format-command" | "editor-v0-font-family-size-commands" | "editor-v0-home-character-formatting-market" | "editor-v0-home-color-highlight-market" | "editor-v0-text-case-toolbar-command" | "editor-v0-text-effect-toolbar-command" | "editor-v0-underline-style-toolbar-command" | "editor-v0-font-dialog-font-market" | "editor-v0-font-dialog-advanced-market" | "editor-v0-highlight-toolbar-command" | "editor-v0-font-color-toolbar-command" | "editor-v0-format-toolbar-multi-command-chain" | "editor-v0-format-clear-command" | "editor-v0-format-clear-partial-selection" | "editor-v0-format-apply-partial-selection" | "editor-v0-mixed-format-selection-workflow" | "editor-v0-mixed-format-clear-or-paste-rules" | "editor-v0-selection-consumes-paragraph-granularity-format" | "editor-v0-user-created-multiparagraph-source-paste" | "editor-v0-cut-clear-paste-target-index-expansion" | "editor-v0-cut-clear-paste-target-toolbar-state" | "editor-v0-wide-target-keyboard-toolbar-state" | "editor-v0-keyboard-wide-target-action-chain" | "editor-v0-keyboard-wide-target-manual-ux" | "editor-v0-keyboard-wide-target-manual-commands-richer-content" | "editor-v0-wrap-aware-selection-commands" | "editor-v0-wrap-aware-selection-manual-commands-polish" | "editor-v0-wrap-aware-paragraph-editing" | "editor-v0-wrap-aware-paragraph-manual-ux" | "editor-v0-wrap-aware-paragraph-commands-polish" | "editor-v0-wrap-aware-paragraph-reflow-polish";
outputPath?: string | null;
reopenAfterWrite?: boolean;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4460

interface EditorV0ToolbarFormatCommandResult {
applied: boolean;
outputPath: string;
commandKind: "bold" | "italic" | "underline" | "underline-color" | "blue" | "highlight" | "strikethrough" | "double-strikethrough" | "subscript" | "superscript" | "font-family" | "font-size" | "text-case" | "all-caps" | "small-caps" | "hidden" | "text-effect" | "character-spacing" | "character-scale" | "character-position" | "kerning" | "character-style" | "proofing-language" | "run-direction" | "paragraph-direction" | "disable-proofing";
enabled: boolean;
fontFamilyName?: string | null;
fontSizeHalfPoints?: number | null;
textCase?: "sentence" | "lowercase" | "uppercase" | "capitalize" | "toggle" | null;
underlineStyle?: "single" | "double" | "dotted" | "dash" | "wave" | "thick" | null;
fontColorRgb?: string | null;
underlineColorRgb?: string | null;
textHighlightColor?: string | null;
characterSpacing?: "normal" | "expanded" | "condensed" | null;
textEffect?: "none" | "outline" | "shadow" | "emboss" | "imprint" | null;
characterScale?: "normal" | "80pct" | null;
characterPosition?: "normal" | "raised-3pt" | "lowered-3pt" | null;
kerning?: "none" | "12pt" | null;
characterStyle?: "none" | "Emphasis" | "Strong" | "Hyperlink" | null;
proofingLanguage?: "en-US" | "es-ES" | "ru-RU" | "ar-SA" | "he-IL" | "ja-JP" | "zh-CN" | "ko-KR" | null;
textDirection?: "ltr" | "rtl" | null;
disableProofing?: boolean | null;
paragraphIndex: number;
offset: number;
rangeLength: number;
beforeTexts: string[];
afterTexts: string[];
disabledReason?: "no-current-document" | "unsupported-document" | null;
resultKind?: "applied" | "no-current-document" | "unsupported-document";
writebackResultKind?: "written" | "not-requested";
popupWarningShown?: false;
shellCoordinateChange?: false;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4519

interface EditorV0ToolbarFormatBatchCommandRequest {
commands: EditorV0ToolbarFormatCommandRequest[];
reopenAfterWrite?: boolean;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4524

interface EditorV0ToolbarFormatBatchCommandResult {
applied: boolean;
outputPath: string;
commandKinds: EditorV0ToolbarFormatCommandRequest["commandKind"][];
commandCount: number;
paragraphIndex: number;
offset: number;
rangeLength: number;
beforeTexts: string[];
afterTexts: string[];
disabledReason?: "no-current-document" | "unsupported-document" | null;
resultKind?: "applied" | "no-current-document" | "unsupported-document";
writebackResultKind?: "written" | "not-requested";
popupWarningShown?: false;
shellCoordinateChange?: false;
oneOkOneReopenBatchRoute: boolean;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4542

interface EditorV0ParagraphLayoutCommandRequest {
alignment: "left" | "center" | "right" | "both";
leftIndentTwips: number;
firstLineIndentTwips?: number | null;
rightIndentTwips?: number | null;
tabStops?: Array<{
alignment: "left" | "center" | "right" | "decimal" | "bar";
positionTwips: number;
leader?: "dot" | "hyphen" | "underscore" | "middleDot" | "heavy" | null;
}>;
spacingBeforeTwips?: number | null;
spacingAfterTwips: number;
lineSpacingTwips: number;
setNumberingDecimalLevel0?: boolean;
setNumberingBulletLevel0?: boolean;
setNumberingMultilevelLevel1?: boolean;
setNumberingRestartDecimalLevel0?: boolean;
styleId?: "Heading1" | "Heading2" | "Heading3" | "Normal" | null;
paragraphIndex: number;
outputKind?: "editor-v0-paragraph-layout-basics" | "editor-v0-style-heading1-toolbar-command" | "editor-v0-style-heading2-toolbar-command" | "editor-v0-style-heading3-toolbar-command" | "editor-v0-style-normal-card-action" | "editor-v0-quick-access-more-menu" | "editor-v0-quick-print-action" | "editor-v0-paragraph-alignment-toolbar-command" | "editor-v0-paragraph-indent-toolbar-command" | "editor-v0-paragraph-line-spacing-toolbar-command" | "editor-v0-paragraph-numbering-toolbar-command" | "editor-v0-paragraph-bullets-toolbar-command" | "editor-v0-paragraph-multilevel-toolbar-command" | "editor-v0-ruler-drag-writeback";
rulerDragRole?: "paragraph-left-indent" | "paragraph-hanging-indent" | "paragraph-first-line-indent" | "paragraph-right-indent" | "tab-stop" | null;
outputPath?: string | null;
reopenAfterWrite?: boolean;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4587

interface EditorV0ParagraphLayoutCommandResult {
applied: boolean;
outputPath: string;
bulkCommandCount?: number;
alignment: "left" | "center" | "right" | "both";
leftIndentTwips: number;
firstLineIndentTwips?: number | null;
rightIndentTwips?: number | null;
tabStops?: Array<{
alignment: "left" | "center" | "right" | "decimal" | "bar";
positionTwips: number;
leader?: "dot" | "hyphen" | "underscore" | "middleDot" | "heavy" | null;
}>;
spacingBeforeTwips?: number | null;
spacingAfterTwips: number;
lineSpacingTwips: number;
setNumberingDecimalLevel0?: boolean;
setNumberingBulletLevel0?: boolean;
setNumberingMultilevelLevel1?: boolean;
setNumberingRestartDecimalLevel0?: boolean;
styleId?: "Heading1" | "Heading2" | "Heading3" | "Normal" | null;
paragraphIndex: number;
beforeTexts: string[];
afterTexts: string[];
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4613

interface EditorV0UpdateStyleFromSelectionRequest {
styleId: "FastDocWritingHeading";
styleName: "FastDoc Writing Heading";
paragraphIndexes: number[];
outputPath?: string | null;
reopenAfterWrite?: boolean;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4621

interface EditorV0UpdateStyleFromSelectionResult {
schema: "fastdoc.shell.editor-v0-update-style-from-selection-action.v1";
operationKind: "update-style-from-selection";
applied: boolean;
documentPath: string;
outputPath: string;
styleId: "FastDocWritingHeading";
styleName: "FastDoc Writing Heading";
paragraphIndexes: number[];
beforeTexts: string[];
afterTexts: string[];
modifiedStylesXml: true;
appliedParagraphStyleRefs: true;
popupWarningShown: false;
technicalPanelAdded: false;
wordParityClaim: false;
pixelParityClaim: false;
muscleMemoryParityClaim: false;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4641

interface EditorV0HomeCharacterFormat {
bold: boolean;
italic: boolean;
underline: boolean;
colorRgb: string | null;
fontFamily: string | null;
fontSizeHalfPoints: number | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4650

interface EditorV0HomeTabStop {
positionTwips: number;
alignment: "left" | "center" | "right" | "decimal" | "bar" | "num" | "clear";
leader: "none" | "dot" | "hyphen" | "underscore" | "heavy" | "middle-dot";
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4656

interface EditorV0HomeParagraphFormat {
alignment: "left" | "center" | "right" | "both" | "distribute";
leftIndentTwips: number;
rightIndentTwips: number;
specialIndent: "none" | "first-line" | "hanging";
specialIndentTwips: number;
spacingBeforeTwips: number;
spacingAfterTwips: number;
lineSpacingMode: "single" | "one-and-half" | "double" | "multiple" | "exact" | "at-least";
lineSpacingValue: number;
outlineLevel: number | null;
collapsedByDefault: boolean;
mirrorIndents: boolean;
adjustRightIndentToGrid: boolean;
contextualSpacing: boolean;
snapToGrid: boolean;
keepWithNext: boolean;
keepLinesTogether: boolean;
widowControl: boolean;
pageBreakBefore: boolean;
suppressLineNumbers: boolean;
suppressAutoHyphens: boolean;
textboxTightWrap: "none" | "allLines" | "firstAndLastLine" | "firstLineOnly" | "lastLineOnly";
kinsoku: boolean;
allowEnglishMidWordWrap: boolean;
overflowPunctuation: boolean;
topLinePunctuation: boolean;
autoSpaceEastAsianLatin: boolean;
autoSpaceEastAsianNumbers: boolean;
textAlignment: "auto" | "top" | "center" | "baseline" | "bottom";
tabStops: EditorV0HomeTabStop[];
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4689

interface EditorV0HomeStyleFormat {
paragraph: EditorV0HomeParagraphFormat;
character: EditorV0HomeCharacterFormat;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4694

interface EditorV0HomeStyleDefinition {
styleId: string;
name: string;
styleType: string;
basedOn: string | null;
nextStyle: string | null;
custom: boolean;
builtIn: boolean;
isDefault: boolean;
format: EditorV0HomeStyleFormat;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4706

interface EditorV0HomeParagraphState {
paragraphIndex: number;
text: string;
styleId: string;
hasNumbering: boolean;
format: EditorV0HomeParagraphFormat;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-edit.ts:4714

interface EditorV0HomeFormattingSnapshot {
schema: "fastdoc.home-formatting-state.v1";
defaultTabStopTwips: number;
styles: EditorV0HomeStyleDefinition[];
paragraphs: EditorV0HomeParagraphState[];
}

Ассистент документации

Ответ собран из документации и может быть неточным — сверяйтесь с источниками.