Trailing Block

Ensure a trailing block is always present in the document.

Loading...
Files
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>
  );
}

Features

  • Ensures a specific block type is always present at the end of the document.

Installation

npm install @udecode/plate-trailing-block

Usage

import { TrailingBlockPlugin } from '@udecode/plate-trailing-block';
const plugins = [
  // ...otherPlugins,
  TrailingBlockPlugin.configure({
    options: {
      level: 0,
      type: 'p',
    },
  }),
];

Plugins

TrailingBlockPlugin

Options

Collapse all

    Level where the trailing node should be, the first level being 0.

    • Default: 0 (root level)

    Type of the trailing block.

    • Default: editor.getType(ParagraphPlugin)

    Filter nodes that match any of these types.

    • Default: [] (all types)

    Filter nodes that don't match any of these types.

    Custom filter function.