Skip to content
Forms, new

Rich Text Editor

A writing surface on plain contenteditable, no editor library.

$149 once · every Pro piece

Customize

Markdown as you type: #, ##, ### for headings, - and 1. for lists, > for a quote, ``` for code, --- for a divider, and **bold**, *italic*, `code`, ~~strike~~ inline. Select text and a small bubble springs to it, gliding as the selection grows: bold, italic, link (with an inline address field) and code. Type / for a block menu that filters as you type and runs on the arrows. Undo and redo cover every change, paste is cleaned down to structure and emphasis (Google Docs’ fake bold included), and a mono footer counts words, characters and reading time.

Install

npx shadcn@latest add @obsyde/rich-text

Needs your licence key · Get Pro

Usage

Import it from where the CLI puts it, or copy the files below by hand.

import { RichTextEditor } from '@/components/obsyde/ember/rich-text/RichTextEditor';

export function Example() {
  return (
    <RichTextEditor />
  );
}

Files

What you get with Pro: plain React, TypeScript and CSS, with no dependencies.

  • ember/rich-text/RichTextEditor.tsxcomponent
  • ember/rich-text/rich-text.cssstyles
  • ember/rich-text/sanitize.tsmodule
  • ember/rich-text/RichTextEditorDemo.tsxdemo
  • ember/display-kit/motion.tsshared
  • ember/shared/spring.tsshared
  • ember/shared/accent.tsshared
  • ember/shared/ember.cssshared

API

PropTypeDefault
accentAccent'ember' | 'volt' | 'arc''ember'
documentDocument'notes' | 'blank''notes'
readOnlyRead-onlybooleanfalse
showCountWord countbooleantrue
stateState'ready' | 'loading' | 'error''ready'