Skip to main content

Class: RangeSelection

lexical.RangeSelection

Implements

Constructors

constructor

new RangeSelection(anchor, focus, format, style): RangeSelection

Parameters

NameType
anchorPointType
focusPointType
formatnumber
stylestring

Returns

RangeSelection

Defined in

packages/lexical/src/LexicalSelection.ts:380

Properties

_cachedNodes

_cachedNodes: null | LexicalNode[]

Implementation of

BaseSelection._cachedNodes

Defined in

packages/lexical/src/LexicalSelection.ts:377


anchor

anchor: PointType

Defined in

packages/lexical/src/LexicalSelection.ts:375


dirty

dirty: boolean

Implementation of

BaseSelection.dirty

Defined in

packages/lexical/src/LexicalSelection.ts:378


focus

focus: PointType

Defined in

packages/lexical/src/LexicalSelection.ts:376


format

format: number

Defined in

packages/lexical/src/LexicalSelection.ts:373


style

style: string

Defined in

packages/lexical/src/LexicalSelection.ts:374

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:583


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:619


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:1400


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:1506


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:1541


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:1161


formatText

formatText(formatType, alignWithFormat?): void

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

Parameters

NameTypeDefault valueDescription
formatTypeTextFormatTypeundefinedthe format type to apply to the nodes in the Selection.
alignWithFormatnull | numbernulla 32-bit integer representing formatting flags to align with.

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:849


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:1368


getCachedNodes

getCachedNodes(): null | LexicalNode[]

Returns

null | LexicalNode[]

Implementation of

BaseSelection.getCachedNodes

Defined in

packages/lexical/src/LexicalSelection.ts:396


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:438


getStartEndPoints

getStartEndPoints(): null | [PointType, PointType]

Returns

null | [PointType, PointType]

Implementation of

BaseSelection.getStartEndPoints

Defined in

packages/lexical/src/LexicalSelection.ts:1562


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:515


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:658


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:1144


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 accommodate the incoming ones.

Parameters

NameTypeDescription
nodesLexicalNode[]the nodes to insert

Returns

void

Implementation of

BaseSelection.insertNodes

Defined in

packages/lexical/src/LexicalSelection.ts:1000


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:1113


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:669


insertText

insertText(text): void

Insert the provided text into the EditorState at the current Selection.

Parameters

NameTypeDescription
textstringthe text to insert into the Selection

Returns

void

Implementation of

BaseSelection.insertText

Defined in

packages/lexical/src/LexicalSelection.ts:691


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:410


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:1558


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:428


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:1219


removeText

removeText(): void

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

Returns

void

Defined in

packages/lexical/src/LexicalSelection.ts:767


setCachedNodes

setCachedNodes(nodes): void

Parameters

NameType
nodesnull | LexicalNode[]

Returns

void

Implementation of

BaseSelection.setCachedNodes

Defined in

packages/lexical/src/LexicalSelection.ts:400


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:646


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:498


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:636