Ecme logoEcme logo
    Ecommerce
    Project
    Marketing
    Analytic
    AI
      Chat
      Image
    Projects
      Scrum Board
      List
      Details
      Tasks
      Issue
    Customer
      List
      Edit
      Create
      Details
    Products
      List
      Edit
      Create
    Orders
      List
      Edit
      Create
      Details
    Account
      Settings
      Activity log
      Roles & Permissions
      Pricing
    Asset Management
      Asset
      Asset Category
      Manufacturer
      Model
    Help Center
      Support Hub
      Article
      Edit Article
      Manage Article
    Calendar
    File Manager
    Mail
    Chat
    Common
      Button
      Grid
      Typography
      Icons
    Feedback
      Alert
      Dialog
      Drawer
      Progress
      Skeleton
      Spinner
      Toast
    Data Display
      Avatar
      Badge
      Calendar
      Cards
      Table
      Tag
      Timeline
      Tooltip
    Forms
      Checkbox
      Date Picker
      Form Control
      Input
      Input Group
      Radio
      Segment
      Select
      Slider
      Switcher
      Time Input
      Upload
    Navigation
      Dropdown
      Menu
      Pagination
      Steps
      Tabs
    Graph
      Charts
      Maps
    Sign In
      Simple
      Side
      Split
    Sign Up
      Simple
      Side
      Split
    Forgot Password
      Simple
      Side
      Split
    Reset Password
      Simple
      Side
      Split
    Otp Verification
      Simple
      Side
      Split
    Access Denied
    Landing
    Documentation
    Shared Component
    Utilities
    Changelog
Anonymous
No email available
Copyright © 2026 Ecme All rights reserved.
Term & Conditions | Privacy & Policy
Components
AbbreviateNumberActionLinkAdaptiveCardAffixAuthorityCheckCalendarViewChartConfirmDialogContainerCustomFormatInputDataTableDebounceInputDoubleSidedImageEllipsisButtonGanttChartGrowShrinkValueIconTextImageGalleryLoadingMasonryMediaSkeletonNavToggleNumericInputOtpInputPasswordInputPatternInputRegionMapRichTextEditorSegmentItemOptionStickyFooterSyntaxHighlighterUsersAvatarGroup

RichTextEditor

RichTextEditor component is a customizable rich text editor utilized with Tiptap editor framework. It comes with a predefined toolbar that includes common formatting options like bold, italic, lists, and more.

Basic

Basic usage.

Custom toolbar

You can customize the editor toolbar with customToolBar prop

Custom config

You can customize the entire configuration with customToolBar prop. Note: Documentation & Text extension is required if not using StarterKit as extension.

With form

Example with form

API

RichTextEditor
PropDescriptionTypeDefault
contentThe initial content of the editor. This can be an HTML string or plain text.string-
invalidApplies styles to indicate the editor content is invalid, typically used for form validation.boolean-
customToolBarA function to customize the toolbar by providing your own buttons. It receives the current `editor` instance and an object containing the default toolbar components.(editor: Editor, components: { ToolButtonBold: ({ editor }: BaseToolButtonProps) => JSX.Element, ToolButtonItalic: ({ editor }: BaseToolButtonProps) => JSX.Element, ToolButtonStrike: ({ editor }: BaseToolButtonProps) => JSX.Element, ToolButtonCode: ({ editor }: BaseToolButtonProps) => JSX.Element, ToolButtonBlockquote: ({ editor }: BaseToolButtonProps) => JSX.Element, ToolButtonHeading: ({ editor }: BaseToolButtonProps & { headingLevel?: HeadingLevel[] }) => JSX.Element, ToolButtonBulletList: ({ editor }: BaseToolButtonProps) => JSX.Element, ToolButtonOrderedList: ({ editor }: BaseToolButtonProps) => JSX.Element, ToolButtonCodeBlock: ({ editor }: BaseToolButtonProps) => JSX.Element, ToolButtonHorizontalRule: ({ editor }: BaseToolButtonProps) => JSX.Element, ToolButtonParagraph: ({ editor }: BaseToolButtonProps) => JSX.Element, ToolButtonUndo: ({ editor }: BaseToolButtonProps) => JSX.Element, ToolButtonRedo: ({ editor }: BaseToolButtonProps) => JSX.Element, }) => ReactNode-
onChangeCallback function that is triggered whenever the content of the editor changes. It provides the updated content in three formats: plain text, HTML, and JSON.(content: {text: string, html: string, json: JSONContent}) => void-
editorContentClassAdditional CSS classes to apply to the editor's content area.string-
customEditorA custom Tiptap `Editor` instance. If provided, this instance will be used instead of creating a new one.Editor | null-

Dependencies

tiptap

For futher usage of tiptap, you could refer theofficial docs for the complete api list.

TABLE OF CONTENT
  • Basic
  • Custom toolbar
  • Custom config
  • With form