Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
syncfusion avatar

Syncfusion React Blockeditor

  • 440 installs
  • 3 repo stars
  • Updated July 28, 2026
  • syncfusion/react-ui-components-skills

syncfusion-react-blockeditor is an agent skill that implements Syncfusion React BlockEditorComponent with block types, slash menus, drag-and-drop reordering, and JSON or HTML export for developers building CMS-style rich

About

syncfusion-react-blockeditor is a Syncfusion agent skill (metadata version 33.1.44) for implementing BlockEditorComponent from @syncfusion/ej2-react-blockeditor in React apps. It documents block-based architecture with paragraphs, headings, lists, tables, code, callouts, and collapsible sections, plus slash commands, context menus, inline toolbars, @mentions, labels, and enableDragAndDrop reordering. Nine reference guides cover getting started, built-in blocks, menus, drag-drop, mentions, API methods, styling, advanced sanitization, and WCAG 2.1 accessibility. Reach for this skill when replacing markdown editors, building Notion-style CMS UIs, or wiring export to JSON, HTML, or plain text with XSS-safe paste cleanup.

  • syncfusion-react-blockeditor

Syncfusion React Blockeditor by the numbers

  • 440 all-time installs (skills.sh)
  • +52 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #994 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/syncfusion/react-ui-components-skills --skill syncfusion-react-blockeditor

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs440
repo stars3
Last updatedJuly 28, 2026
Repositorysyncfusion/react-ui-components-skills

How do you add a block editor in React?

Use syncfusion-react-blockeditor for development tasks

Who is it for?

React developers using Syncfusion who need a block-based rich editor with CMS workflows, mentions, and accessible keyboard navigation.

Skip if: Teams using TipTap, Slate, or Lexical who are not on Syncfusion's paid component stack.

When should I use this skill?

User asks to integrate Syncfusion BlockEditor, block-based CMS UI, slash commands, or drag-and-drop content blocks in React.

What you get

React BlockEditorComponent with BlockModel arrays, customized menus, drag-and-drop blocks, and exported JSON or HTML content.

  • BlockEditorComponent integration
  • BlockModel initial content
  • customized editor menus

By the numbers

  • Syncfusion skill metadata version 33.1.44
  • Includes 9 reference guides from getting-started through accessibility
  • Supports JSON, HTML, and plain-text content export

Files

SKILL.mdMarkdownGitHub ↗

Syncfusion React Block Editor in React

Component Overview

The Syncfusion React BlockEditorComponent is a powerful block-based rich text editor that allows users to create, edit, and format content using a modern block architecture. Each piece of content (paragraphs, headings, lists, tables, code snippets) is a discrete, manageable block.

Key Capabilities

The BlockEditorComponent provides:

  • Block-based architecture - Content structured as discrete, reorderable blocks
  • Built-in block types - Paragraphs, headings, lists, tables, code, callouts, quotes, collapsible sections
  • Intuitive menus - Slash commands, context menus, inline toolbars
  • Drag-and-drop - Reorder blocks easily with visual handles
  • Content export - Export as JSON, HTML, or plain text
  • Accessibility - WCAG 2.1 compliant with keyboard navigation and screen reader support
  • Customization - Custom styling, themes, RTL support, globalization

Documentation Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and npm package setup
  • Basic component implementation
  • CSS imports and theme configuration
  • Creating your first block editor
  • Setting initial content with blocks

Built-in Block Types

📄 Read: references/built-in-blocks.md

  • Block type reference (Paragraph, Heading, List, Table, Code, Quote, Callout)
  • Nested block types (CollapsibleHeading, CollapsibleParagraph)
  • Block indentation and CSS class styling
  • Content configuration and properties

Menus and Commands

📄 Read: references/block-editor-menus.md

  • Slash command menu customization
  • Context menu configuration
  • Inline toolbar setup
  • Menu events and filtering
  • Block actions and shortcuts

Drag-Drop and Content Management

📄 Read: references/drag-drop-and-content.md

  • Drag-and-drop block reordering (enableDragAndDrop)
  • Content insertion and nesting
  • Drag events (blockDragStart, blockDragging, blockDropped)
  • Programmatic block movement

Mentions and Labels

📄 Read: references/mentions-and-labels.md

  • users prop and UserModel interface for @mention feature
  • labelSettings prop and LabelItemModel interface for label feature
  • ContentType.Mention / ContentType.Label inline content
  • IMentionContentSettings / ILabelContentSettings

Methods and API

📄 Read: references/methods-and-api.md

  • Block management methods (add, remove, update, move)
  • Selection and cursor control
  • Data export/import (JSON, HTML)
  • Content formatting and rendering

Styling and Appearance

📄 Read: references/styling-and-appearance.md

  • CSS theming and imports
  • Block styling with custom CSS classes
  • Typography and formatting options
  • Dark mode and responsive design

Advanced Features

📄 Read: references/advanced-features.md

  • Paste cleanup and content sanitization
  • Undo/redo functionality
  • Keyboard shortcut customization
  • Read-only mode configuration
  • XSS protection and HTML sanitization
  • RTL support and internationalization

Accessibility

📄 Read: references/accessibility.md

  • WCAG 2.1 compliance
  • Keyboard navigation patterns
  • Screen reader support and ARIA attributes
  • Focus management
  • Color contrast and visual indicators

Quick Start Example

import { BlockEditorComponent } from '@syncfusion/ej2-react-blockeditor';
import { BlockModel, ContentType } from '@syncfusion/ej2-react-blockeditor';
import '@syncfusion/ej2-react-blockeditor/styles/material.css';

function App() {
  // Define initial blocks
  const blocksData: BlockModel[] = [
    {
      id: 'block-1',
      blockType: 'Heading',
      properties: { level: 1 },
      content: [
        {
          contentType: ContentType.Text,
          content: 'Welcome to Block Editor'
        }
      ]
    },
    {
      id: 'block-2',
      blockType: 'Paragraph',
      content: [
        {
          contentType: ContentType.Text,
          content: 'This is your first paragraph. Click the "+" button to add more blocks.'
        }
      ]
    }
  ];

  return (
    <BlockEditorComponent
      id="block-editor"
      blocks={blocksData}
    />
  );
}

export default App;

Common Patterns

1. Add a Block Programmatically

const editorRef = React.useRef<BlockEditorComponent>(null);

const addNewBlock = () => {
  const newBlock: BlockModel = {
    blockType: 'Paragraph',
    content: [
      {
        contentType: ContentType.Text,
        content: 'New paragraph block'
      }
    ]
  };
  
  editorRef.current?.addBlock(newBlock);
};

2. Handle Menu Item Selection

const commandMenuSettings = {
  itemSelect: (args) => {
    console.log('Selected command:', args.command.label, args.command.id);
    // Handle custom actions based on selected command
  }
};

3. Export Content as JSON

const exportContent = () => {
  const jsonContent = editorRef.current?.getDataAsJson();
  console.log('Exported content:', jsonContent);
};

4. Enable Read-Only Mode

<BlockEditorComponent
  id="block-editor"
  blocks={blocksData}
  readOnly={true}
/>

Key Props

⚠️ Props toolbarSettings, containerCssClass, and showBlockHandle do not exist in the BlockEditor API and must not be used.
PropTypeDescription
idstringUnique identifier for the component
blocksBlockModel[]Array of block objects defining content
readOnlybooleanEnable read-only mode (default: false)
width`string \number`
height`string \number`
commandMenuSettingsCommandMenuSettingsModelCustomize slash command (/) menu
contextMenuSettingsContextMenuSettingsModelConfigure right-click context menu
inlineToolbarSettingsInlineToolbarSettingsModelConfigure inline text selection toolbar
blockActionMenuSettingsBlockActionMenuSettingsModelConfigure block action (⋮) menu
transformSettingsTransformSettingsModelConfigure block type transform menu
imageBlockSettingsImageBlockSettingsModelConfigure image upload and rendering
codeBlockSettingsCodeBlockSettingsModelConfigure code block languages
pasteCleanupSettingsPasteCleanupSettingsModelControl paste sanitization behavior
usersUserModel[]User list for @mention feature
labelSettingsLabelSettingsModelLabel items and trigger char for label feature
enableDragAndDropbooleanEnable/disable drag-and-drop reordering (default: true)
undoRedoStacknumberMax number of undo/redo history steps
keyConfig{ [key: string]: string }Custom keyboard shortcut mappings
localestringLocalization language code (default: 'en-US')
blockChangedEmitType<BlockChangedEventArgs>Fires when block content changes

Common Use Cases

Content Management System - Build a CMS with block-based editing, custom block types, and content export

Document Editor - Create a collaborative document editor with formatting, templates, and version control

Note-Taking App - Implement a personal notes app with nesting, tagging, and search capabilities

Blog Editor - Enable blog authors to write with rich formatting, media embeds, and preview

Knowledge Base - Build internal documentation with organized blocks, search, and linked references

Survey/Form Builder - Create dynamic surveys with conditional blocks and response capture

---

Related skills

How it compares

Choose syncfusion-react-blockeditor when you are committed to Syncfusion EJ2; open-source block editors suit teams avoiding licensed component suites.

FAQ

Which npm package does syncfusion-react-blockeditor use?

syncfusion-react-blockeditor centers on BlockEditorComponent from @syncfusion/ej2-react-blockeditor with Material CSS imports. The skill metadata lists Syncfusion version 33.1.44 and nine linked reference guides for setup through accessibility.

What export formats does Syncfusion BlockEditor support?

Syncfusion BlockEditorComponent exports block content as JSON, HTML, or plain text per syncfusion-react-blockeditor API guidance. Methods-and-api reference documents programmatic add, remove, update, and move block operations plus import/export flows.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.