Interface: BaseNodeCaret<T, D, Type>
lexical.BaseNodeCaret
Type parameters
| Name | Type | 
|---|---|
T | extends LexicalNode | 
D | extends CaretDirection | 
Type | Type | 
Hierarchy
- 
Iterable<BreadthNodeCaret<LexicalNode,D>>↳
BaseNodeCaret 
Properties
direction
• Readonly direction: D
next if pointing at the next sibling or first child, previous if pointing at the previous sibling or last child
Defined in
packages/lexical/src/caret/LexicalCaret.ts:55
getAdjacentCaret
• getAdjacentCaret: () => null | BreadthNodeCaret<LexicalNode, D>
Get a new BreadthNodeCaret from getNodeAtCaret() in the same direction. This is used for traversals, but only goes in the breadth (sibling) direction.
Type declaration
▸ (): null | BreadthNodeCaret<LexicalNode, D>
Returns
null | BreadthNodeCaret<LexicalNode, D>
Defined in
packages/lexical/src/caret/LexicalCaret.ts:82
getFlipped
• getFlipped: () => NodeCaret<FlipDirection<D>>
Get a new NodeCaret with the head and tail of its directional arrow flipped, such that flipping twice is the identity. For example, given a non-empty parent with a firstChild and lastChild, and a second emptyParent node with no children:
Example
caret.getFlipped().getFlipped().is(caret) === true;
$getDepthCaret(parent, 'next').getFlipped().is($getBreadthCaret(firstChild, 'previous')) === true;
$getBreadthCaret(lastChild, 'next').getFlipped().is($getDepthCaret(parent, 'previous')) === true;
$getBreadthCaret(firstChild, 'next).getFlipped().is($getBreadthCaret(lastChild, 'previous')) === true;
$getDepthCaret(emptyParent, 'next').getFlipped().is($getDepthCaret(emptyParent, 'previous')) === true;
Type declaration
▸ (): NodeCaret<FlipDirection<D>>
Returns
Defined in
packages/lexical/src/caret/LexicalCaret.ts:76
getNodeAtCaret
• getNodeAtCaret: () => null | LexicalNode
Get the node connected to the origin in the caret's direction, or null if there is no node
Type declaration
▸ (): null | LexicalNode
Returns
null | LexicalNode
Defined in
packages/lexical/src/caret/LexicalCaret.ts:80
getParentAtCaret
• getParentAtCaret: () => null | ElementNode
Get the ElementNode that is the logical parent (origin for DepthNodeCaret, origin.getParent() for BreadthNodeCaret)
Type declaration
▸ (): null | ElementNode
Returns
null | ElementNode
Defined in
packages/lexical/src/caret/LexicalCaret.ts:78
insert
• insert: (node: LexicalNode) => this
Insert a node connected to origin in this direction.
For a BreadthNodeCaret this is origin.insertAfter(node) for next, or origin.insertBefore(node) for previous.
For a DepthNodeCaret this is origin.splice(0, 0, [node]) for next or origin.append(node) for previous.
Type declaration
▸ (node): this
Parameters
| Name | Type | 
|---|---|
node | LexicalNode | 
Returns
this
Defined in
packages/lexical/src/caret/LexicalCaret.ts:90
is
• is: (other: null | NodeCaret<CaretDirection>) => boolean
Retun true if other is a caret with the same origin (by node key comparion), type, and direction.
Note that this will not check the offset of a TextPointCaret because it is otherwise indistinguishable from a BreadthNodeCaret. Use $isSameTextPointCaret for that specific scenario.
Type declaration
▸ (other): boolean
Parameters
| Name | Type | 
|---|---|
other | null | NodeCaret<CaretDirection> | 
Returns
boolean
Defined in
packages/lexical/src/caret/LexicalCaret.ts:62
origin
• Readonly origin: T
The origin node of this caret, typically this is what you will use in traversals
Defined in
packages/lexical/src/caret/LexicalCaret.ts:51
remove
• remove: () => this
Remove the getNodeAtCaret() node, if it exists
Type declaration
▸ (): this
Returns
this
Defined in
packages/lexical/src/caret/LexicalCaret.ts:84
replaceOrInsert
• replaceOrInsert: (node: LexicalNode, includeChildren?: boolean) => this
If getNodeAtCaret() is null then replace it with node, otherwise insert node
Type declaration
▸ (node, includeChildren?): this
Parameters
| Name | Type | 
|---|---|
node | LexicalNode | 
includeChildren? | boolean | 
Returns
this
Defined in
packages/lexical/src/caret/LexicalCaret.ts:92
splice
• splice: (deleteCount: number, nodes: Iterable<LexicalNode>, nodesDirection?: CaretDirection) => this
Splice an iterable (typically an Array) of nodes into this location.
Type declaration
▸ (deleteCount, nodes, nodesDirection?): this
Parameters
| Name | Type | Description | 
|---|---|---|
deleteCount | number | The number of existing nodes to replace or delete | 
nodes | Iterable<LexicalNode> | An iterable of nodes that will be inserted in this location, using replace instead of insert for the first deleteCount nodes | 
nodesDirection? | CaretDirection | The direction of the nodes iterable, defaults to 'next' | 
Returns
this
Defined in
packages/lexical/src/caret/LexicalCaret.ts:100
type
• Readonly type: Type
breadth for a BreadthNodeCaret (pointing at the next or previous sibling) or depth for a DepthNodeCaret (pointing at the first or last child)