@richhtmleditor/vue
v1.1.1
Published
Vue 3 wrapper for Rich HTML Editor.
Maintainers
Readme
@richhtmleditor/vue
Vue 3 component for Rich HTML Editor, built on @richhtmleditor/core. WYSIWYG authoring with toolbar presets, slot-based custom tools, and enterprise plugin support.
Current release: 1.1.1 — Depends on @richhtmleditor/core ^1.1.1.
Repository: github.com/rajkishorsahu89/richhtmleditor
Demo: richhtmleditor.vercel.app — demo · guide · API. Doc Preview joint demo: doc-preview-app.vercel.app/demo/enterprise
What's in 1.1.1
RichHtmlEditor— Vue 3defineComponentwrapper aroundcreateEditor- Props —
content,editable,dark,theme,toolbar,features,plugins - Custom tools —
customToolIdswith#tool-{id}or default#toolslots - Events —
@changeand@saveemitEditorContent - Re-exports all public symbols from
@richhtmleditor/core
Ships as ESM with TypeScript declarations. Peer dep:
vue^3.5. Import@richhtmleditor/themesCSS in your app entry.
Keywords: richhtmleditor vue vue3 wysiwyg rich-text-editor
Install
npm install @richhtmleditor/vue @richhtmleditor/themes
# Adds @richhtmleditor/core automatically.
# Peer dep: vue ^3.5.Usage — component
<script setup lang="ts">
import { ref } from "vue";
import { RichHtmlEditor } from "@richhtmleditor/vue";
import "@richhtmleditor/themes/richhtmleditor.css";
const html = ref("<p>Hello <strong>world</strong></p>");
function onChange(content: { html: string }) {
html.value = content.html;
}
</script>
<template>
<RichHtmlEditor
:content="html"
toolbar="standard"
:features="{ tables: true, media: true }"
@change="onChange"
/>
</template>Usage — custom tool slot
<RichHtmlEditor
:toolbar="{ preset: 'standard', layout: ['bold', 'italic', '|', 'approve'] }"
:custom-tool-ids="['approve']"
>
<template #tool-approve="{ tool }">
<button type="button" @click="approve">Approve</button>
</template>
</RichHtmlEditor>Usage — enterprise plugins
<script setup lang="ts">
import { createAiPlugin } from "@richhtmleditor/ai";
import { createCommentsPlugin } from "@richhtmleditor/comments";
import { createWorkflowsPlugin } from "@richhtmleditor/workflows";
import { resolveEnterpriseFeatures } from "@richhtmleditor/enterprise/browser";
const gate = resolveEnterpriseFeatures({ token: "RHE-ENT-DEMO-2026-FULL" });
const plugins = [
createAiPlugin(),
createCommentsPlugin({ author: "Reviewer" }),
createWorkflowsPlugin({ actor: "Legal", role: "editor" })
];
</script>
<template>
<RichHtmlEditor
toolbar="full"
:features="gate.features"
:plugins="plugins"
/>
</template>API
RichHtmlEditor props
| Prop | Type | Description |
| --- | --- | --- |
| content | string | HTML content. |
| editable | boolean | Enable editing (default true). |
| dark | boolean | Dark theme tokens. |
| theme | EditorThemeTokens | Custom CSS variable overrides. |
| toolbar | ToolbarConfig \| ToolbarPresetId | Toolbar preset or custom layout. |
| features | EditorFeatureFlags | Feature gates. |
| plugins | EditorPlugin[] | Enterprise and custom plugins. |
| customToolIds | string[] | Tool IDs with matching #tool-{id} slots. |
RichHtmlEditor events
| Event | Payload | Description |
| --- | --- | --- |
| change | EditorContent | Fired on document edits. |
| save | EditorContent | Fired on save command. |
Slots
| Slot | Props | Description |
| --- | --- | --- |
| tool-{id} | { tool: ResolvedToolbarTool } | Custom toolbar UI for a tool ID in customToolIds. |
| tool | { tool: ResolvedToolbarTool } | Fallback slot when no tool-{id} slot exists. |
Related packages
@richhtmleditor/core— framework-agnostic engine (auto-installed).@richhtmleditor/themes— shared CSS.@richhtmleditor/react— React component.@richhtmleditor/angular— Angular component.@richhtmleditor/enterprise— licence and feature gates.@richhtmleditor/ai— AI authoring plugin.@richhtmleditor/comments— review comments plugin.@richhtmleditor/workflows— approval workflows plugin.@richhtmleditor/collab— Yjs collaboration plugin.@richhtmleditor/diagrams— Mermaid diagrams plugin.@richhtmleditor/math— LaTeX/MathML equation plugin.@richhtmleditor/export— DOCX/PDF/HTML export plugin.@richhtmleditor/spellcheck— real-time spell check plugin.@richhtmleditor/templates— document templates plugin.@richhtmleditor/mentions— @ mentions plugin.
