Skip to main content

Class: EmojiNode

Defined in: packages/lexical-emoji-extension/src/EmojiNode.ts:45

EmojiNode doesn't really need to override any of TextNode's functionality, other than these serialization and type related static methods.

The behavior is augmented in $createEmojiNode where we set mode to token so it is treated as an "atomic" unit and not considered for further text transforms.

The display behavior is all implemented in the mutation listener set up by EmojiExtension, which makes it a little easier to ensure that clean-up is done properly.

Extends

  • TextNode

Constructors

Constructor

new EmojiNode(text?, key?): EmojiNode

Defined in: node_modules/lexical/nodes/LexicalTextNode.d.ts:49

Parameters

text?

string

key?

string

Returns

EmojiNode

Inherited from

TextNode.constructor

Methods

$config()

$config(): StaticNodeConfigRecord<"emoji", { extends: typeof TextNode; stateConfigs: object[]; }>

Defined in: packages/lexical-emoji-extension/src/EmojiNode.ts:46

Override this to implement the new static node configuration protocol, this method is called directly on the prototype and must not depend on anything initialized in the constructor. Generally it should be a trivial implementation.

Returns

StaticNodeConfigRecord<"emoji", { extends: typeof TextNode; stateConfigs: object[]; }>

Example

class MyNode extends TextNode {
$config() {
return this.config('my-node', {extends: TextNode});
}
}

Overrides

TextNode.$config


createDOM()

createDOM(config, editor?): HTMLElement

Defined in: packages/lexical-emoji-extension/src/EmojiNode.ts:91

Parameters

config

EditorConfig

editor?

LexicalEditor

Returns

HTMLElement

Overrides

TextNode.createDOM


getShortcode()

getShortcode(): string | undefined

Defined in: packages/lexical-emoji-extension/src/EmojiNode.ts:115

Returns

string | undefined


setShortcode()

setShortcode(shortcode?): this

Defined in: packages/lexical-emoji-extension/src/EmojiNode.ts:119

Parameters

shortcode?

StateValueOrUpdater<StateConfig<"shortcode", string | undefined>>

Returns

this


updateDOM()

updateDOM(prevNode, dom, config): boolean

Defined in: packages/lexical-emoji-extension/src/EmojiNode.ts:75

Parameters

prevNode

this

dom

HTMLElement

config

EditorConfig

Returns

boolean

Overrides

TextNode.updateDOM


importDOM()

static importDOM(): DOMConversionMap | null

Defined in: packages/lexical-emoji-extension/src/EmojiNode.ts:53

Returns

DOMConversionMap | null

Overrides

TextNode.importDOM