Skip to main content

Class: ElementDOMSlot<T>

lexical.ElementDOMSlot

A utility class for managing the DOM children of an ElementNode

Type parameters

NameType
Textends HTMLElement = HTMLElement

Constructors

constructor

new ElementDOMSlot<T>(element, before?, after?): ElementDOMSlot<T>

Type parameters

NameType
Textends HTMLElement = HTMLElement

Parameters

NameTypeDescription
elementTThe element returned by createDOM
before?null | NodeAll managed children will be inserted before this node, if defined
after?null | NodeAll managed children will be inserted after this node, if defined

Returns

ElementDOMSlot<T>

Defined in

packages/lexical/src/nodes/LexicalElementNode.ts:90

Properties

after

Readonly after: null | Node

Defined in

packages/lexical/src/nodes/LexicalElementNode.ts:89


before

Readonly before: null | Node

Defined in

packages/lexical/src/nodes/LexicalElementNode.ts:88


element

Readonly element: T

Defined in

packages/lexical/src/nodes/LexicalElementNode.ts:87

Methods

getFirstChild

getFirstChild(): null | ChildNode

Returns the first managed child of this node, which will either be this.after.nextSibling or this.element.firstChild, and will never be this.before if it is defined.

Returns

null | ChildNode

Defined in

packages/lexical/src/nodes/LexicalElementNode.ts:168


insertChild

insertChild(dom): this

Insert the given child before this.before and any reconciler managed line break node, or append it if this.before is not defined

Parameters

NameType
domNode

Returns

this

Defined in

packages/lexical/src/nodes/LexicalElementNode.ts:129


removeChild

removeChild(dom): this

Remove the managed child from this container, will throw if it was not already there

Parameters

NameType
domNode

Returns

this

Defined in

packages/lexical/src/nodes/LexicalElementNode.ts:141


replaceChild

replaceChild(dom, prevDom): this

Replace managed child prevDom with dom. Will throw if prevDom is not a child

Parameters

NameTypeDescription
domNodeThe new node to replace prevDom
prevDomNodethe node that will be replaced

Returns

this

Defined in

packages/lexical/src/nodes/LexicalElementNode.ts:155


withAfter

withAfter(after): ElementDOMSlot<T>

Return a new ElementDOMSlot where all managed children will be inserted after this node

Parameters

NameType
afterundefined | null | Node

Returns

ElementDOMSlot<T>

Defined in

packages/lexical/src/nodes/LexicalElementNode.ts:111


withBefore

withBefore(before): ElementDOMSlot<T>

Return a new ElementDOMSlot where all managed children will be inserted before this node

Parameters

NameType
beforeundefined | null | Node

Returns

ElementDOMSlot<T>

Defined in

packages/lexical/src/nodes/LexicalElementNode.ts:105


withElement

withElement<ElementType>(element): ElementDOMSlot<ElementType>

Return a new ElementDOMSlot with an updated root element

Type parameters

NameType
ElementTypeextends HTMLElement

Parameters

NameType
elementElementType

Returns

ElementDOMSlot<ElementType>

Defined in

packages/lexical/src/nodes/LexicalElementNode.ts:117