mui-tiptap  by sjdemartini

MUI-styled rich text editor component using Tiptap

created 2 years ago
398 stars

Top 73.7% on sourcepulse

GitHubView on GitHub
Project Summary

This library provides a Material UI (MUI) styled WYSIWYG rich text editor built on Tiptap and ProseMirror. It offers an all-in-one RichTextEditor component and modular components for customization, integrating seamlessly with MUI themes. It's suitable for React developers needing a feature-rich, themeable rich text editing experience.

How It Works

The library leverages Tiptap's powerful ProseMirror-based editor core, providing a robust foundation for rich text manipulation. It enhances this with custom MUI-styled components for the UI elements (toolbars, menus, fields) and custom Tiptap extensions that are pre-styled to match a user's MUI theme. This approach allows for deep customization of both the editor's appearance and functionality, while benefiting from Tiptap's extensibility for features like collaborative editing and cross-platform support.

Quick Start & Requirements

  • Install via npm: npm install mui-tiptap or yarn: yarn add mui-tiptap.
  • Peer dependencies include @mui/material, @mui/icons-material, @emotion/react, @emotion/styled, and various @tiptap/* packages.
  • Official Demo: CodeSandbox

Highlighted Details

  • MUI Theming: Editor styles adapt to the project's MUI theme (colors, fonts, dark/light mode).
  • Custom Extensions: Includes HeadingWithAnchor, ResizableImage, TableImproved, and FontSize for enhanced functionality.
  • Menu Components: Provides composable menu buttons and controls for Tiptap extensions, including custom LinkBubbleMenu and TableBubbleMenu.
  • Read-Only Rendering: Offers RichTextReadOnly for efficient, non-editable content display.

Maintenance & Community

  • No specific contributor or community links (Discord/Slack, roadmap) are detailed in the README.

Licensing & Compatibility

  • The README does not explicitly state a license. It is assumed to be MIT or similar permissive license, but verification is recommended.
  • Compatible with React projects using Material UI.

Limitations & Caveats

  • The README does not specify a license, which could be a blocker for commercial use.
  • Re-rendering the RichTextEditor when content changes externally requires careful implementation using setContent or editor recreation, which can be inefficient.
Health Check
Last commit

19 hours ago

Responsiveness

1 day

Pull Requests (30d)
44
Issues (30d)
6
Star History
31 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.