Loading...
Loading...
Implements the Syncfusion React Rich Text Editor (RichTextEditorComponent) from ej2-react-richtexteditor, supporting HTML (WYSIWYG) and Markdown editing. Use this skill for toolbar configuration, image/video/audio insertion, paste cleanup, AI assistant integration, emoji picker, slash menu, mentions, import/export Word/PDF, form validation, and source code view in React applications.
npx skill4agent add syncfusion/react-ui-components-skills syncfusion-react-rich-text-editornpm install @syncfusion/ej2-react-richtexteditor// src/App.css - add CSS imports
// @import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
// @import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
import {
HtmlEditor, Image, Inject, Link,
QuickToolbar, RichTextEditorComponent, Toolbar
} from '@syncfusion/ej2-react-richtexteditor';
function App() {
return (
<RichTextEditorComponent height={450}>
<Inject services={[Toolbar, Image, Link, HtmlEditor, QuickToolbar]} />
</RichTextEditorComponent>
);
}
export default App;| Module | What it enables |
|---|---|
| Toolbar rendering and commands |
| HTML editing mode (default) |
| Markdown editing mode |
| Hyperlink insert/edit/remove |
| Image insertion and management |
| Video insertion |
| Audio insertion |
| HTML table insert/edit |
| Floating toolbar for images/links |
| Clean up pasted content formatting |
| Clean clipboard on copy/cut |
| File browser for server-side images |
| Resizable editor area |
| Character count display |
| Emoji search and insert |
| Slash |
| Import Word, export Word/PDF |
| Inline code block formatting |
| Auto-convert Markdown syntax while typing |
| Copy-paste text formatting |
| AI assistant integration |
/saveIntervalcreateddestroyedfocusblurchangeChangeEventArgsactionBeginactionCompletetoolbarClickupdatedToolbarStatusbeforeDialogOpen/ClosebeforePopupOpen/ClosebeforePasteCleanupafterPasteCleanupaiAssistantPromptRequestaiAssistantToolbarClickfocusInfocusOutgetHtmlgetTextgetSelectedHtmlenableToolbarItemdisableToolbarItemremoveToolbarItemshowDialogcloseDialogDialogTypeselectAllgetRangeselectRangeclearUndoRedoexecuteAIPromptaddAIPromptResponsegetAIPromptHistoryclearAIPromptHistoryexecuteCommandCommandNamesanitizeHtmldestroyheightwidthenabledreadonlyplaceholdercssClasstoolbarSettingsquickToolbarSettingsfloatingToolbarOffseteditorModeiframeSettingsinlineModeenterKeyvaluemaxLengthshowCharCountsaveIntervalenableHtmlSanitizerinsertImageSettingsinsertVideoSettingsinsertAudioSettingsfileManagerSettingsfontFamilyfontSizefontColorbackgroundColorformatcodeBlockSettingspasteCleanupSettingsenableClipboardCleanupaiAssistantSettingsimportWordexportWordexportPdfundoRedoStepskeyConfigslashMenuSettingsemojiPickerSettingsimport { ChangeEventArgs } from '@syncfusion/ej2-react-richtexteditor';
function App() {
const onChange = (args: ChangeEventArgs) => {
console.log(args.value); // HTML string
};
return (
<RichTextEditorComponent change={onChange}>
<Inject services={[Toolbar, HtmlEditor]} />
</RichTextEditorComponent>
);
}const [content, setContent] = useState('<p>Hello</p>');
<RichTextEditorComponent value={content} change={(e) => setContent(e.value)}>
<Inject services={[Toolbar, HtmlEditor]} />
</RichTextEditorComponent>import { MarkdownEditor } from '@syncfusion/ej2-react-richtexteditor';
<RichTextEditorComponent editorMode="Markdown">
<Inject services={[Toolbar, MarkdownEditor]} />
</RichTextEditorComponent>