Below are all the Rich Text Features Payload offers. Everything is customizable; you can create your own features, modify ours and share them with the community.
Provides entries in both the slash menu and toolbar dropdown for explicit paragraph creation or conversion.
HeadingFeature
Yes
Adds Heading Nodes (by default, H1 - H6, but that can be customized)
AlignFeature
Yes
Adds support for text alignment (left, center, right, justify)
IndentFeature
Yes
Adds support for text indentation with toolbar buttons
UnorderedListFeature
Yes
Adds support for unordered lists (ul)
OrderedListFeature
Yes
Adds support for ordered lists (ol)
ChecklistFeature
Yes
Adds support for interactive checklists
LinkFeature
Yes
Allows you to create internal and external links
RelationshipFeature
Yes
Allows you to create block-level (not inline) relationships to other documents
BlockquoteFeature
Yes
Allows you to create block-level quotes
UploadFeature
Yes
Allows you to create block-level upload nodes - this supports all kinds of uploads, not just images
HorizontalRuleFeature
Yes
Adds support for horizontal rules / separators. Basically displays an <hr> element
InlineToolbarFeature
Yes
Provides a floating toolbar which appears when you select text. This toolbar only contains actions relevant for selected text
FixedToolbarFeature
No
Provides a persistent toolbar pinned to the top and always visible. Both inline and fixed toolbars can be enabled at the same time.
BlocksFeature
No
Allows you to use Payload's Blocks Field directly inside your editor. In the feature props, you can specify the allowed blocks - just like in the Blocks field.
TreeViewFeature
No
Provides a debug box under the editor, which allows you to see the current editor state live, the dom, as well as time travel. Very useful for debugging
EXPERIMENTAL_TableFeature
No
Adds support for tables. This feature may be removed or receive breaking changes in the future - even within a stable lexical release, without needing a major release.
TextStateFeature
No
Allows you to store key-value attributes within TextNodes and assign them inline styles.
Description: Allows creation of upload/media nodes with toolbar button and slash menu entry, supports all file types.
Included by default: Yes
Types:
1
typeUploadFeatureProps={
2
collections?:{
3
[collection:UploadCollectionSlug]:{
4
fields:Field[]
5
}
6
}
7
/**
8
* Sets a maximum population depth for this upload (not the fields for this upload), regardless of the remaining depth when the respective field is reached.
9
* This behaves exactly like the maxDepth properties of relationship and upload fields.
Description: Allows use of Payload's Blocks Field directly in the editor with toolbar buttons and slash menu entries for each block type. Supports both block-level and inline blocks.
Included by default: No
For complete documentation including custom block components, the pre-built CodeBlock, and rendering blocks on the frontend, see the dedicated Blocks documentation.