Plate Core
API reference for @udecode/plate-core.
API
createPlateEditor
Generates a new instance of a PlateEditor
, initialized with a set of plugins and their configurations.
- Default:
false
true
| 'end': Select the end of the editorfalse
: Do not select anything'start'
: Select the start of the editor- Default:
false
Unique identifier for the editor.
Initial editor without withPlate
.
An array of editor plugins.
Initial value of the editor.
Select the editor after initialization.
Specifies the maximum number of characters allowed in the editor.
Initial selection for the editor.
When true
, it will normalize the initial value
passed to the editor
.
Function to configure the root plugin.
API methods for the editor.
Decoration function for the editor.
Function to extend the editor.
Event handlers for the editor.
Injection configuration for the editor.
Function to normalize the initial value.
Additional options for the editor.
Override configuration for the editor.
Priority of the editor plugin.
Render functions for the editor.
Keyboard shortcuts for the editor.
Transform functions for the editor.
Hook to use with the editor.
For more details on editor configuration, refer to the Editor Configuration guide.
createPlatePlugin
Creates a new Plate plugin with the given configuration, supporting extension, nested plugin manipulation, and runtime configuration.
The configuration object for the plugin, or a function that returns the configuration. If a function is provided, it will be executed when the plugin is resolved with the editor.
For details on the PlatePluginConfig
type, refer to the PlatePlugin API.
createTPlatePlugin
Explicitly typed version of createPlatePlugin
.
The configuration object for the plugin, or a function that returns the configuration. This version requires an explicit type parameter C
extending AnyPluginConfig
.
For details on the TPlatePluginConfig
type, refer to the PlatePlugin API.
toPlatePlugin
Extends a SlatePlugin to create a React PlatePlugin.
toTPlatePlugin
Explicitly typed version of toPlatePlugin
.
useEditorContainerRef
useEditorScrollRef
useScrollRef
useEditorPlugin
Get editor and plugin context.
The current editor instance.
The plugin instance.
Function to get a specific option value.
Function to get all options for the plugin.
Function to set a specific option value.
Function to set multiple options.
Hook to subscribe to a specific option value in a React component.
useEditorRef
Get the Slate editor reference without re-rendering.
useEditorSelector
Subscribe to a specific property of the editor.
useEditorState
Get the Slate editor reference with re-rendering.
useEditorReadOnly
Get the editor's readOnly
state.
useEditorMounted
Get the editor's isMounted
state.
useEditorSelection
Get the editor's selection. Memoized so it does not re-render if the range is the same.
useEditorVersion
Get the version of the editor value. That version is incremented on each editor change.
useSelectionVersion
Get the version of the editor selection. That version is incremented on each selection change (the range being different).
useSelectionCollapsed
useSelectionExpanded
useSelectionWithinBlock
useSelectionAcrossBlocks
useSelectionFragment
Returns the fragment of the current selection, optionally unwrapping structural nodes.
useSelectionFragmentProp
Returns a prop value derived from the current selection fragment.
-
'all': Check both block and text nodes
-
'block': Only check block nodes
-
'text': Only check text nodes
-
Default:
'block'
Array of structural types to unwrap from the fragment.
The key of the property to extract from each node.
The default value to return if no valid prop is found.
Custom function to extract the prop value from a node.
Determines how to traverse the fragment:
useNodePath
Returns the path of a node in the editor.
usePath
Get the memoized path of the closest element.
useElement
Get the element by plugin key.
Core plugins
DebugPlugin
Provides debugging capabilities with configurable log levels and error handling.
See Debugging for more details.
SlateExtensionPlugin & SlateReactExtensionPlugin
Extend core apis and improve default functionality.
DOMPlugin & ReactPlugin
Integrates React-specific functionality into the editor.
HistoryPlugin
Enables undo and redo functionality for the editor.
InlineVoidPlugin
Manages inline and void elements in the editor.
ParserPlugin
Handles parsing of content for the editor.
LengthPlugin
Enforces a maximum length for the editor content.
HtmlPlugin
Enables HTML serialization and deserialization.
AstPlugin
Handles Abstract Syntax Tree (AST) operations for the editor.
ParagraphPlugin
Provides paragraph formatting functionality.
EventEditorPlugin
Manages editor events such as focus and blur.
Utils
isType
Checks whether a node matches the provided type.