Built for builders
Editing primitives done right
Block-based editing
Headings, lists, quotes, code, callouts, dividers, embeds — every primitive you expect from a modern document tool.
Slash commands & shortcuts
A first-class keyboard story — slash menu, formatting shortcuts, and intuitive selection behaviour out of the box.
Themable by design
Style it to match your product. Tailwind-friendly tokens, dark mode, and full CSS customization without forking.
One npm install
Drop @afaqilabs/rich-editor into any React 19 / Next.js app. No bespoke setup, no opaque infrastructure.
Composable API
Use the prebuilt Editor, or compose your own surface with the underlying primitives. You control the UX.
Commercially licensed
Built and supported by Afaqi Labs. Predictable pricing, proper licensing, and a clear upgrade path.
Install
One package, zero config
Add the package, import the styles, and you have a fully featured editor. No bundlers to configure, no peer-dependency soup, no editor framework to learn.
npm install @afaqilabs/rich-editorUse
A real editor in 12 lines
Wrap your editor in a LicenseProvider, render the Editorcomponent, and you're shipping. Compose your own surface when you need full control.
"use client";
import {
Editor,
LicenseProvider,
getDevLicenseKey,
} from "@afaqilabs/rich-editor";
import "@afaqilabs/rich-editor/styles/editor.css";
export default function MyEditor() {
return (
<LicenseProvider licenseKey={getDevLicenseKey()}>
<Editor />
</LicenseProvider>
);
}What you get
- Notion-style block editor for React 19
- Drop-in <Editor /> component with sensible defaults
- Composable primitives for custom editing surfaces
- Slash menu, keyboard shortcuts, and inline formatting
- Light / dark themes and Tailwind-friendly styling
- Commercial license with priority support
Rich Editor is coming soon
Request early access and we'll get you set up with a license key the moment we launch.