Included Extensions
- ClipboardDOMImportExtension - Routes
text/htmlpastes and drops through theDOMImportExtensionpipeline (experimental) - ClipboardImportExtension - Configurable per-MIME-type clipboard import for paste and drop (experimental)
- GetClipboardDataExtension - Configurable serialization of the selection into clipboard MIME types for copy and drag
- CodeExtension - CodeNode (code blocks)
- CodeIndentExtension - CodeNode tab key indentation (code blocks)
- CodePrismExtension - Highlighting with Prism for CodeNode
- CodeShikiExtension - Highlighting with Shiki for CodeNode
- DragonExtension - Dragon (speech to text) support, included by default with
RichTextExtensionandPlainTextExtension
- AutoFocusExtension - Focus the editor when it is created (e.g. on page load)
- ClearEditorExtension - Implementation for the
CLEAR_EDITOR_COMMAND - ClickAfterLastBlockExtension - Inserts a paragraph when clicking below a last block that can not accommodate the click (e.g. a DecoratorNode or TableNode)
- DecoratorTextExtension - DecoratorTextNode support, sets the format and CSS classes for the DOM container
- EditorStateExtension - Provide EditorState as a signal (alternative to
registerUpdateListener) - HorizontalRuleExtension - HorizontalRuleNode (
<hr>tag) - IMEExtension - Centralizes IME composition state as signals
- InitialStateExtension - Sets the initial state of the editor (always included)
- NestedEditorExtension - Configures an editor as a nested editor of a parent editor (theme inheritance, optionally editable state)
- NodeSelectionExtension - Tracks selection, typically for DecoratorNodes
- NormalizeInlineElementsExtension - Removes empty inline elements, included by default with
RichTextExtensionandPlainTextExtension - NormalizeTripleClickSelectionExtension - Corrects over-selection after triple click events, included by default with
RichTextExtensionandPlainTextExtension - PreventSelectAllExtension - Prevents select all (Ctrl/Cmd+A) inside input/textarea elements from selecting the editor content, included by default with
SelectBlockExtension - SelectBlockExtension - Select all (Ctrl/Cmd+A) selects the nearest block element first, pressing it again selects the whole document
- SelectionAlwaysOnDisplayExtension - Highlights selected content even when the editor is not focused
- TabIndentationExtension - Changes Tab key to insert tabs and indent instead of natively focusing the next field
- WatchEditableExtension - Exposes the editor's editable state as a reactive
Signal<boolean>
- HashtagExtension - HashtagNode
- HistoryExtension - History support (undo/redo)
- SharedHistoryExtension - History sharing between a parent editor and its nested editors
- CoreImportExtension - DOM import rules for the core nodes, included implicitly by node-providing extensions (experimental)
- DOMImportExtension - Extension-based replacement for
importDOM/DOMConversion, rules are compiled into a dispatcher at editor build time (experimental) - DOMRenderExtension - Overrides the DOM render and export behavior for an editor (experimental)
- AutoLinkExtension - AutoLinkNode, note that matchers have to be manually configured
- ClickableLinkExtension - Toggle between lexical selection and native click to open behavior for links
- LinkExtension - LinkNode (
<a>tag)
- ListExtension - ListNode, ListItemNode
- CheckListExtension - Checklist support for ListNode and ListItemNode
- MarkExtension - MarkNode
- OverflowExtension - OverflowNode
- PlainTextExtension - Plain text editor, the return key creates a LineBreakNode by default (one ParagraphNode per document)
@lexical/react
- RichTextExtension - Rich Text editor (QuoteNode, HeadingNode), the return key creates a ParagraphNode by default (multiple ParagraphNode per document). Includes configurable
escapeFormatTriggersto escape text formatting (e.g. code) at text node boundaries
- TableExtension - TableNode, TableRowNode, TableCellNode
- TailwindExtension - A theme configuration that uses Tailwind classes