Exit Break
components/demo.tsx
'use client';
import React from 'react';
import { Plate } from '@udecode/plate-common/react';
import { editorPlugins } from '@/components/editor/plugins/editor-plugins';
import { useCreateEditor } from '@/components/editor/use-create-editor';
import { Editor, EditorContainer } from '@/components/plate-ui/editor';
import { DEMO_VALUES } from './values/demo-values';
export default function Demo({ id }: { id: string }) {
const editor = useCreateEditor({
plugins: [...editorPlugins],
value: DEMO_VALUES[id],
});
return (
<Plate editor={editor}>
<EditorContainer variant="demo">
<Editor />
</EditorContainer>
</Plate>
);
}
Installation
npm install @udecode/plate-break
Usage
import { ExitBreakPlugin } from '@udecode/plate-break/react';
const plugins = [
// ...otherPlugins,
ExitBreakPlugin.configure({
options: {
rules: [
{
hotkey: 'mod+enter',
},
{
hotkey: 'mod+shift+enter',
before: true,
},
{
hotkey: 'enter',
query: {
start: true,
end: true,
allow: KEYS_HEADING,
},
relative: true,
level: 1,
},
],
},
}),
];
Keyboard Shortcuts
Key | Description |
---|---|
Cmd + Enter | Start a new block after the selected block. |
Cmd + Shift + Enter | Start a new block before the selected block. |
Plugins
ExitBreakPlugin
Options
Collapse all
An array of rule objects each containing the following properties:
API
exitBreak
Exit a large block using a shortcut.
Parameters
Collapse all
The editor instance.
The options for the exit break operation.
Returns
Collapse all
Indicates whether the exit break was successful.
exitBreakAtEdges
Checks if the selection is at the edge of its parent block and performs an "exit break" operation if specified.
Parameters
Collapse all
The editor instance.
Returns
Collapse all
Indicates whether the edge of the selection was queried.
Indicates whether the selection is at the edge of its parent block.
Indicates whether the selection is at the start of its parent block.