Skip to main content

Class: RangeSelection

lexical.RangeSelection

Implements

Constructors

constructor

new RangeSelection(anchor, focus, format, style)

Parameters

NameType
anchorPointType
focusPointType
formatnumber
stylestring

Defined in

packages/lexical/src/LexicalSelection.ts:405

Properties

_cachedNodes

_cachedNodes: null | LexicalNode[]

Implementation of

BaseSelection._cachedNodes

Defined in

packages/lexical/src/LexicalSelection.ts:402


anchor

anchor: PointType

Defined in

packages/lexical/src/LexicalSelection.ts:400


dirty

dirty: boolean

Implementation of

BaseSelection.dirty

Defined in

packages/lexical/src/LexicalSelection.ts:403


focus

focus: PointType

Defined in

packages/lexical/src/LexicalSelection.ts:401


format

format: number

Defined in

packages/lexical/src/LexicalSelection.ts:398


style

style: string

Defined in

packages/lexical/src/LexicalSelection.ts:399

Methods

applyDOMRange

applyDOMRange(range): void

Attempts to map a DOM selection range onto this Lexical Selection, setting the anchor, focus, and type accordingly

Parameters

NameTypeDescription
rangeStaticRangea DOM Selection range conforming to the StaticRange interface.

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:608


clone

clone(): RangeSelection

Creates a new RangeSelection, copying over all the property values from this one.

Returns

RangeSelection

a new RangeSelection with the same property values as this one.

Implementation of

BaseSelection.clone

Defined in

packages/lexical/src/LexicalSelection.ts:644


deleteCharacter

deleteCharacter(isBackward): void

Performs one logical character deletion operation on the EditorState based on the current Selection. Handles different node types.

Parameters

NameTypeDescription
isBackwardbooleanwhether or not the selection is backwards.

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:1580


deleteLine

deleteLine(isBackward): void

Performs one logical line deletion operation on the EditorState based on the current Selection. Handles different node types.

Parameters

NameTypeDescription
isBackwardbooleanwhether or not the selection is backwards.

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:1686


deleteWord

deleteWord(isBackward): void

Performs one logical word deletion operation on the EditorState based on the current Selection. Handles different node types.

Parameters

NameTypeDescription
isBackwardbooleanwhether or not the selection is backwards.

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:1709


extract

extract(): LexicalNode[]

Extracts the nodes in the Selection, splitting nodes where necessary to get offset-level precision.

Returns

LexicalNode[]

The nodes in the Selection

Implementation of

BaseSelection.extract

Defined in

packages/lexical/src/LexicalSelection.ts:1341


formatText

formatText(formatType): void

Applies the provided format to the TextNodes in the Selection, splitting or merging nodes as necessary.

Parameters

NameTypeDescription
formatTypeTextFormatTypethe format type to apply to the nodes in the Selection.

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:1061


forwardDeletion

forwardDeletion(anchor, anchorNode, isBackward): boolean

Helper for handling forward character and word deletion that prevents element nodes like a table, columns layout being destroyed

Parameters

NameTypeDescription
anchorPointTypethe anchor
anchorNodeElementNode | TextNodethe anchor node in the selection
isBackwardbooleanwhether or not selection is backwards

Returns

boolean

Defined in

packages/lexical/src/LexicalSelection.ts:1548


getCachedNodes

getCachedNodes(): null | LexicalNode[]

Returns

null | LexicalNode[]

Implementation of

BaseSelection.getCachedNodes

Defined in

packages/lexical/src/LexicalSelection.ts:421


getNodes

getNodes(): LexicalNode[]

Gets all the nodes in the Selection. Uses caching to make it generally suitable for use in hot paths.

Returns

LexicalNode[]

an Array containing all the nodes in the Selection

Implementation of

BaseSelection.getNodes

Defined in

packages/lexical/src/LexicalSelection.ts:463


getStartEndPoints

getStartEndPoints(): null | [PointType, PointType]

Returns

null | [PointType, PointType]

Implementation of

BaseSelection.getStartEndPoints

Defined in

packages/lexical/src/LexicalSelection.ts:1730


getTextContent

getTextContent(): string

Gets the (plain) text content of all the nodes in the selection.

Returns

string

a string representing the text content of all the nodes in the Selection

Implementation of

BaseSelection.getTextContent

Defined in

packages/lexical/src/LexicalSelection.ts:540


hasFormat

hasFormat(type): boolean

Returns whether the provided TextFormatType is present on the Selection. This will be true if any node in the Selection has the specified format.

Parameters

NameTypeDescription
typeTextFormatTypethe TextFormatType to check for.

Returns

boolean

true if the provided format is currently toggled on on the Selection, false otherwise.

Defined in

packages/lexical/src/LexicalSelection.ts:683


insertLineBreak

insertLineBreak(selectStart?): void

Inserts a logical linebreak, which may be a new LineBreakNode or a new ParagraphNode, into the EditorState at the current Selection.

Parameters

NameType
selectStart?boolean

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:1324


insertNodes

insertNodes(nodes): void

Attempts to "intelligently" insert an arbitrary list of Lexical nodes into the EditorState at the current Selection according to a set of heuristics that determine how surrounding nodes should be changed, replaced, or moved to accomodate the incoming ones.

Parameters

NameTypeDescription
nodesLexicalNode[]the nodes to insert

Returns

void

Implementation of

BaseSelection.insertNodes

Defined in

packages/lexical/src/LexicalSelection.ts:1192


insertParagraph

insertParagraph(): null | ElementNode

Inserts a new ParagraphNode into the EditorState at the current Selection

Returns

null | ElementNode

the newly inserted node.

Defined in

packages/lexical/src/LexicalSelection.ts:1296


insertRawText

insertRawText(text): void

Attempts to insert the provided text into the EditorState at the current Selection. converts tabs, newlines, and carriage returns into LexicalNodes.

Parameters

NameTypeDescription
textstringthe text to insert into the Selection

Returns

void

Implementation of

BaseSelection.insertRawText

Defined in

packages/lexical/src/LexicalSelection.ts:694


insertText

insertText(text): void

Attempts to insert the provided text into the EditorState at the current Selection as a new Lexical TextNode, according to a series of insertion heuristics based on the selection type and position.

Parameters

NameTypeDescription
textstringthe text to insert into the Selection

Returns

void

Implementation of

BaseSelection.insertText

Defined in

packages/lexical/src/LexicalSelection.ts:717


is

is(selection): boolean

Used to check if the provided selections is equal to this one by value, inluding anchor, focus, format, and style properties.

Parameters

NameTypeDescription
selectionnull | BaseSelectionthe Selection to compare this one to.

Returns

boolean

true if the Selections are equal, false otherwise.

Implementation of

BaseSelection.is

Defined in

packages/lexical/src/LexicalSelection.ts:435


isBackward

isBackward(): boolean

Returns whether the Selection is "backwards", meaning the focus logically precedes the anchor in the EditorState.

Returns

boolean

true if the Selection is backwards, false otherwise.

Implementation of

BaseSelection.isBackward

Defined in

packages/lexical/src/LexicalSelection.ts:1726


isCollapsed

isCollapsed(): boolean

Returns whether the Selection is "collapsed", meaning the anchor and focus are the same node and have the same offset.

Returns

boolean

true if the Selection is collapsed, false otherwise.

Implementation of

BaseSelection.isCollapsed

Defined in

packages/lexical/src/LexicalSelection.ts:453


modify

modify(alter, isBackward, granularity): void

Modifies the Selection according to the parameters and a set of heuristics that account for various node types. Can be used to safely move or extend selection by one logical "unit" without dealing explicitly with all the possible node types.

Parameters

NameTypeDescription
alter"move" | "extend"the type of modification to perform
isBackwardbooleanwhether or not selection is backwards
granularity"character" | "word" | "lineboundary"the granularity at which to apply the modification

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:1399


removeText

removeText(): void

Removes the text in the Selection, adjusting the EditorState accordingly.

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:1051


setCachedNodes

setCachedNodes(nodes): void

Parameters

NameType
nodesnull | LexicalNode[]

Returns

void

Implementation of

BaseSelection.setCachedNodes

Defined in

packages/lexical/src/LexicalSelection.ts:425


setStyle

setStyle(style): void

Sets the value of the style property on the Selection

Parameters

NameTypeDescription
stylestringthe style to set at the value of the style property.

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:671


setTextNodeRange

setTextNodeRange(anchorNode, anchorOffset, focusNode, focusOffset): void

Sets this Selection to be of type "text" at the provided anchor and focus values.

Parameters

NameTypeDescription
anchorNodeTextNodethe anchor node to set on the Selection
anchorOffsetnumberthe offset to set on the Selection
focusNodeTextNodethe focus node to set on the Selection
focusOffsetnumberthe focus offset to set on the Selection

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:523


toggleFormat

toggleFormat(format): void

Toggles the provided format on all the TextNodes in the Selection.

Parameters

NameTypeDescription
formatTextFormatTypea string TextFormatType to toggle on the TextNodes in the selection

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:661