@stesura/core/commands
Document mutations, as ProseMirror Commands or factories that return one,
plus a few related predicates and builders. Run a command with
command(view.state, view.dispatch, view); call it without dispatch to
check whether it applies (for a toolbar’s enabled state) without changing
anything. Group commands into one undo step with composeCommands, or
all-or-nothing with sequenceCommands.
Core
clearFormatting
Parameters:| Name | Type | Default |
|---|---|---|
options | ClearFormattingOptions |
composeCommands
Parameters:| Name | Type | Default |
|---|---|---|
commands | Command[] |
deleteNode
Parameters:| Name | Type | Default |
|---|---|---|
pos | number |
insertContent
Parameters:| Name | Type | Default |
|---|---|---|
value | string | JSONContent | JSONContent[] | Node | Fragment |
insertOrWrapNode
Parameters:| Name | Type | Default |
|---|---|---|
nodeName | string | |
attributes | Attrs |
insertSymbol
Parameters:| Name | Type | Default |
|---|---|---|
symbol | string |
resetAttributes
Parameters:| Name | Type | Default |
|---|---|---|
__0 | { attributes: string | string[]; typeOrName: string | NodeType | MarkType; } |
sequenceCommands
Parameters:| Name | Type | Default |
|---|---|---|
commands | Command[] |
setMark
Parameters:| Name | Type | Default |
|---|---|---|
typeOrName | string | MarkType | |
attributes | Attrs |
setNode
Parameters:| Name | Type | Default |
|---|---|---|
typeOrName | string | NodeType | |
attributes | {} |
toggleHeading
Parameters:| Name | Type | Default |
|---|---|---|
level | number |
toggleMark
Parameters:| Name | Type | Default |
|---|---|---|
markType | MarkType | |
attrs | Attrs | |
options | ToggleMarkOptions |
toggleMarkOnEntireWord
Parameters:| Name | Type | Default |
|---|---|---|
markName | string | |
attrs | Attrs |
toggleNode
Parameters:| Name | Type | Default |
|---|---|---|
typeOrName | string | NodeType | |
toggleTypeOrName | string | NodeType | |
attributes | {} |
unsetMark
Parameters:| Name | Type | Default |
|---|---|---|
typeOrName | string | MarkType | |
options | { extendEmptyMarkRange?: boolean; } |
updateAttributeAt
Parameters:| Name | Type | Default |
|---|---|---|
__0 | { attribute: string; value: unknown; pos: number; type?: string | NodeType; } |
updateAttributes
Parameters:| Name | Type | Default |
|---|---|---|
__0 | UpdateAttributesProps |
Borders
insertHorizontalRule
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
setBorders
Parameters:| Name | Type | Default |
|---|---|---|
borders | Borders |
toggleOutline
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
Code Block
insertCodeBlock
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
splitCodeBlock
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
updateCodeBlockAttrs
Parameters:| Name | Type | Default |
|---|---|---|
attribute | keyof CodeBlockAttrs | |
value | unknown | |
pos | number |
Document Attributes
setDocAttr
Parameters:| Name | Type | Default |
|---|---|---|
attr | K | |
value | DocAttrs[K] |
setDocBgColor
Parameters:| Name | Type | Default |
|---|---|---|
color | string |
setDocDirection
Parameters:| Name | Type | Default |
|---|---|---|
dir | TextDirection |
File
applyFileNodeMove
Parameters:| Name | Type | Default |
|---|---|---|
tr | Transaction | |
pos | number | |
direction | 1 | -1 |
insertFileUpload
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
moveFileNode
Parameters:| Name | Type | Default |
|---|---|---|
pos | number | |
direction | 1 | -1 |
rotateFile
Parameters:| Name | Type | Default |
|---|---|---|
pos | number | |
delta | number |
setFileDisplayPreview
Parameters:| Name | Type | Default |
|---|---|---|
pos | number | |
displayPreview | boolean |
setFileRotation
Parameters:| Name | Type | Default |
|---|---|---|
pos | number | |
rotation | number |
Format Painter
applyFormatPainter
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
disableFormatPainter
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
enableFormatPainter
Parameters:| Name | Type | Default |
|---|---|---|
__0 | { once: boolean; }Disarm after the first applyFormatPainter ; false keeps it armed until disableFormatPainter . |
Formatting
alignJustifyLeftOnly
Parameters:alignJustifyLeftRight
Parameters:incrementSpacing
Parameters:| Name | Type | Default |
|---|---|---|
__0 | { position: "before" | "after"; value: number; } |
indent
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
outdent
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
resetAlignment
Parameters:| Name | Type | Default |
|---|---|---|
ids | string[] |
resetIndent
Parameters:| Name | Type | Default |
|---|---|---|
ids | string[] |
resetLineHeight
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
resetPagination
Parameters:resetSpacing
Parameters:| Name | Type | Default |
|---|---|---|
ids | string[] |
setDirection
Parameters:| Name | Type | Default |
|---|---|---|
dir | TextDirection |
setFormatting
Parameters:| Name | Type | Default |
|---|---|---|
formatting | FormattingUpdate |
setLineHeight
Parameters:| Name | Type | Default |
|---|---|---|
lineHeight | number |
setPaginationAttrs
Parameters:| Name | Type | Default |
|---|---|---|
partial | PaginationAttrs |
setSpacing
Parameters:| Name | Type | Default |
|---|---|---|
spacing | SpacingAttrs |
setSpacingBeforeAfter
Parameters:| Name | Type | Default |
|---|---|---|
__0 | { position: "before" | "after"; value: number; } |
setTextAlign
Parameters:| Name | Type | Default |
|---|---|---|
align | TextAlignType |
setTextAlignOnlyOn
Parameters:| Name | Type | Default |
|---|---|---|
__0 | { applyOnAlignments: string[]; newAlignment: string; } |
toggleDirection
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
Header / Footer
deleteHeaderFooterContent
Parameters:| Name | Type | Default |
|---|---|---|
sectionId | string | |
variant | HeaderFooterVariant |
fixHeadersFooters
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
insertHeaderFooterContent
Parameters:| Name | Type | Default |
|---|---|---|
sectionId | string | |
variant | HeaderFooterVariant |
insertPageNumberPreset
Parameters:| Name | Type | Default |
|---|---|---|
__0 | { sectionId: string; variant?: HeaderFooterVariant; position: PageNumberPresetPosition; pageType?: PageNumberType; } |
PageNumberPresetPosition
| Name | Type | Default |
|---|---|---|
vertical | "top" | "bottom" | |
horizontal | "left" | "center" | "right" |
Highlight
disableHighlight
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
enableHighlight
Parameters:| Name | Type | Default |
|---|---|---|
color | string |
setHighlight
Parameters:| Name | Type | Default |
|---|---|---|
color | string |
toggleHighlight
Parameters:| Name | Type | Default |
|---|---|---|
color | string |
unsetHighlight
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
History
canRedo
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState |
canUndo
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState |
redo
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
undo
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
Images
insertImageUpload
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
resetAspectRatio
Parameters:| Name | Type | Default |
|---|---|---|
attrs | AspectRatioAttrs |
resizeImage
Parameters:| Name | Type | Default |
|---|---|---|
size | Size |
setImageAlignment
Parameters:| Name | Type | Default |
|---|---|---|
align | ImageAlign |
setImageAlt
Parameters:| Name | Type | Default |
|---|---|---|
__0 | SetImageAltProps |
setImageSide
Parameters:| Name | Type | Default |
|---|---|---|
side | ImageAnchoredSide |
setImageToFullWidth
Parameters:setImageWrap
Parameters:| Name | Type | Default |
|---|---|---|
wrap | ImageWrapMode |
Invisible Characters
setInvisibleCharacters
Parameters:| Name | Type | Default |
|---|---|---|
show | boolean |
toggleInvisibleCharacters
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
Language
setDocLanguage
Parameters:| Name | Type | Default |
|---|---|---|
language | string |
setLanguage
Parameters:| Name | Type | Default |
|---|---|---|
language | stringThe language code (e.g., “en-GB”, “en-US”, “fr-FR”), or
|
Links
cancelPendingLink
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
removeLink
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
setLink
Parameters:| Name | Type | Default |
|---|---|---|
url | string |
setLinkUrl
Parameters:| Name | Type | Default |
|---|---|---|
url | string |
setPendingLink
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
Math
insertMathDisplay
Parameters:| Name | Type | Default |
|---|---|---|
initialText | string |
insertMathInline
Parameters:| Name | Type | Default |
|---|---|---|
initialText | string |
Marks (shortcuts)
toggleBold
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
toggleCode
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
toggleItalic
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
toggleStrike
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
toggleSubscript
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
toggleSuperscript
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
toggleUnderline
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
Numbering
adjustLevel
Parameters:| Name | Type | Default |
|---|---|---|
props | AdjustLevelProps |
AdjustLevelProps
| Name | Type | Default |
|---|---|---|
direction | "up" | "down" | |
level | number |
applyListRef
Parameters:| Name | Type | Default |
|---|---|---|
listRef | string |
cleanupUnusedListRefs
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
continueNumbering
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
removeListConfig
Parameters:| Name | Type | Default |
|---|---|---|
reference | stringThe listRef to remove. |
removeNumbering
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
restartNumbering
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
saveListConfigToDocAttrs
Parameters:| Name | Type | Default |
|---|---|---|
reference | string | |
levels | ILevelsOptions[] |
setFollowBy
Parameters:| Name | Type | Default |
|---|---|---|
followBy | "tab" | "space" | "nothing"What to place between the number and the text. |
setListTabStop
Parameters:| Name | Type | Default |
|---|---|---|
tabStop | numberwidth of the counter cell in px; null removes the value. |
setNumberingAttrs
Parameters:| Name | Type | Default |
|---|---|---|
newNumberingAttrs | Partial<NumberingAttrs> |
toggleCounter
Parameters:| Name | Type | Default |
|---|---|---|
props | ToggleCounterTrProps |
updateNumbering
Parameters:| Name | Type | Default |
|---|---|---|
props | UpdateNumberingProps |
Search
clearSearchState
Parameters:disableSearchState
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
enableSearchState
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
findNext
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
findNextNoWrap
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
findPrev
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
findPrevNoWrap
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
replaceAll
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
replaceCurrent
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
replaceNext
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
replaceNextNoWrap
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
toggleSearchState
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
Sections
addSection
Parameters:focusHeaderFooter
Parameters:| Name | Type | Default |
|---|---|---|
focusOn | "header" | "footer" |
HeaderFooterDistanceOptions
| Name | Type | Default |
|---|---|---|
headerFromTop | numberDistance (px) from the top of the page to the header. | |
footerFromBottom | numberDistance (px) from the bottom of the page to the footer. |
insertPageBreak
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
insertPageNumber
Parameters:| Name | Type | Default |
|---|---|---|
__0 | PageNumberAttrs |
insertPageOfPage
Parameters:| Name | Type | Default |
|---|---|---|
middleText | stringSeparator word between the two fields, defaulting to “of”. A space is added on each side, so pass the bare word — ” of ” would render as “1 of 12”. |
lineNumbersSuppressed
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState |
openFooter
Parameters:| Name | Type | Default |
|---|---|---|
nodeId | string |
openHeader
Parameters:| Name | Type | Default |
|---|---|---|
nodeId | string |
removeSection
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
removeSectionAt
Parameters:| Name | Type | Default |
|---|---|---|
sectionPos | number |
setHeaderFooterDistance
Parameters:| Name | Type | Default |
|---|---|---|
options | HeaderFooterDistanceOptions | |
sectionId | string |
setLineNumbers
Parameters:| Name | Type | Default |
|---|---|---|
lineNumberNewAttrs | Partial<LineNumbersAttrs> |
setOrientation
Parameters:| Name | Type | Default |
|---|---|---|
orientation | "portrait" | "landscape" |
setSectionFormat
Parameters:| Name | Type | Default |
|---|---|---|
options | SectionOptions |
toggleLineNumbers
Parameters:toggleSuppressLineNumbers
Parameters:| Name | Type | Default |
|---|---|---|
suppress | booleanForce a value instead of toggling. |
Style Sheets
createStyleDefinition
Parameters:| Name | Type | Default |
|---|---|---|
styleId | string | |
styleDef | StyleDefinition |
deleteStyleDefinition
Parameters:| Name | Type | Default |
|---|---|---|
styleDefId | string | |
replaceWith | string |
replaceStyleDefIds
Parameters:| Name | Type | Default |
|---|---|---|
prevStyleDefId | string | |
newStyleDefId | string |
setStyleNumberingBinding
Parameters:| Name | Type | Default |
|---|---|---|
styleId | string | |
numbering | StyleNumbering |
setStyleSheet
Parameters:| Name | Type | Default |
|---|---|---|
styleSheetId | string | |
deleteMarks | true | "sameStyle" |
submitStyleDefChange
Parameters:| Name | Type | Default |
|---|---|---|
currentStyleDefId | string | |
newStyleDefId | string | |
styleDef | StyleDefinition |
updateStyleDefinition
Parameters:| Name | Type | Default |
|---|---|---|
styleId | string | |
styleDef | Partial<StyleDefinition> |
upsertStyleDefinition
Parameters:Tables
createTableNode
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
options | CreateTableOptions |
deleteColumn
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void |
deleteRow
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
deleteTable
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
deleteTableIfSelected
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
distributeColWidths
Parameters:| Name | Type | Default |
|---|---|---|
widthInput | number |
incrementTableSpacing
Parameters:| Name | Type | Default |
|---|---|---|
__0 | { position: "before" | "after"; value: number; } |
insertColumnAfter
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
insertColumnBefore
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
insertRow
Parameters:| Name | Type | Default |
|---|---|---|
__0 | TableRect | |
row | number | |
copyRow | "bottom" | "top" | |
updateSelection | boolean |
insertRowAfter
Parameters:| Name | Type | Default |
|---|---|---|
updateSelection | boolean |
insertRowBefore
Parameters:| Name | Type | Default |
|---|---|---|
updateSelection | boolean |
insertTable
Parameters:| Name | Type | Default |
|---|---|---|
__0 | { rows: number; cols: number; borders?: Borders | null; } |
mergeCells
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
selectEntireTable
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
selectEntireTableAtPos
Parameters:| Name | Type | Default |
|---|---|---|
tablePos | number |
setCellAlignment
Parameters:| Name | Type | Default |
|---|---|---|
alignment | "top-start" | "top-center" | "top-end" | "middle-start" | "middle-center" | "middle-end" | "bottom-start" | "bottom-center" | "bottom-end" |
setCellAttr
Parameters:| Name | Type | Default |
|---|---|---|
name | string | |
value | unknown | |
returnTrueOnSameValue | boolean |
setRowHeight
Parameters:| Name | Type | Default |
|---|---|---|
height | number |
setTableAlignment
Parameters:| Name | Type | Default |
|---|---|---|
alignment | TableAlign |
setTableSortOptions
Parameters:| Name | Type | Default |
|---|---|---|
options | SortOptions |
setTableSpacing
Parameters:| Name | Type | Default |
|---|---|---|
spacing | SpacingAttrs |
setTableSpacingBeforeAfter
Parameters:| Name | Type | Default |
|---|---|---|
__0 | { position: "before" | "after"; value: number; } |
sortTableRows
Parameters:| Name | Type | Default |
|---|---|---|
options | SortOptions |
splitCell
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void |
splitTable
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
Text Style
changeCase
Parameters:| Name | Type | Default |
|---|---|---|
mode | CaseChange |
clearBackgroundColor
Parameters:clearFontColor
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
cycleCase
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState | |
dispatch | (tr: Transaction) => void | |
view | EditorView |
incrementFontSize
Parameters:| Name | Type | Default |
|---|---|---|
direction | "up" | "down" |
setBackgroundColor
Parameters:| Name | Type | Default |
|---|---|---|
color | string |
setCaps
Parameters:| Name | Type | Default |
|---|---|---|
value | Caps |
setFontColor
Parameters:| Name | Type | Default |
|---|---|---|
color | string |
setFontFamily
Parameters:| Name | Type | Default |
|---|---|---|
font | string |
setFontSize
Parameters:| Name | Type | Default |
|---|---|---|
fontSize | number |
Table of Contents
insertTOC
Parameters:Escape
hasEscapeConsumer
Parameters:| Name | Type | Default |
|---|---|---|
state | EditorState |
registerEscapeConsumer
Parameters:| Name | Type | Default |
|---|---|---|
rootEditorId | string |