Reference
Packages
Every viveEditor package, what it does, which entry points it has and where its public API report lives.
viveEditor is split into small packages so you load only what you use. This page lists every package, what it does and its extra entry points. The public API of each npm package is recorded in the api/ folder of the repository.
Where to start
| Package | What it does |
|---|---|
viveeditor |
One script that turns textareas into editors, with the toolbar. Also exports mountEditor, upgradeTextarea, upgradeAll and everything from the packages it bundles. |
@viveeditor/core |
Editor engine and extension system built on ProseMirror: schema, commands, HTML and JSON, paste cleaning. No toolbar. |
@viveeditor/ui |
Floating toolbar, selection bubble, / menu, panels, File menu and readability meter. |
The viveeditor package re-exports core, ui, ext-basic, ext-code-block, ext-embed, ext-format, ext-image, ext-list, ext-office-paste, ext-search, ext-table and ext-task-list. Its CDN build carries the same features.
Editing features
| Package | What it does |
|---|---|
@viveeditor/ext-basic |
Bold, italic, underline, strikethrough, inline code, links, headings, quotes, rules, line breaks |
@viveeditor/ext-list |
Bullet and ordered lists |
@viveeditor/ext-format |
Text alignment, text colour and highlight |
@viveeditor/ext-task-list |
Checklists |
@viveeditor/ext-code-block |
Code blocks with a language picker and optional syntax colouring |
@viveeditor/ext-table |
Tables with merged cells, header rows and column widths |
@viveeditor/ext-search |
Find and replace that handles Turkish capitals |
@viveeditor/ext-character-count |
Character count and limit |
@viveeditor/ext-image |
Images with checked addresses, safe uploads and alt-text reminders |
@viveeditor/ext-embed |
YouTube, Vimeo and Spotify players rebuilt from checked links |
@viveeditor/ext-office-paste |
Clean paste from Word, Google Docs and LibreOffice with real lists |
Extras (npm only)
These are not in the CDN script. Their menus and panels come from @viveeditor/ui/extras.
| Package | What it does |
|---|---|
@viveeditor/ext-mention |
@ mentions with checked ids |
@viveeditor/ext-math |
LaTeX formulas drawn by your own KaTeX |
@viveeditor/ext-footnote |
Footnotes edited in place, numbered on published pages |
@viveeditor/emoji-data |
Compact emoji list for the emoji menu |
Templates and the AI assistant need no extension package; they are UI plugins in @viveeditor/ui/extras.
File converters
| Package | What it does |
|---|---|
@viveeditor/markdown |
Markdown import and export, and Markdown-aware paste |
@viveeditor/docx |
Word (.docx) import and export with limits for untrusted files |
The File menu receives them as loader functions, so they download only when used.
Framework components
| Package | What it does |
|---|---|
@viveeditor/react |
React component and useViveEditor hook |
@viveeditor/vue |
Vue component with v-model and useViveEditor composable |
@viveeditor/svelte |
Svelte component with bind:value and a use:viveEditor action |
@viveeditor/angular |
Angular component for ngModel and reactive forms |
@viveeditor/element |
<vive-editor> form field for any page |
See Frameworks.
Server packages
| Package | What it does |
|---|---|
@viveeditor/sanitize |
Server-side HTML cleaning for Node that matches the editor output |
viveeditor/sanitizer (PHP) |
The same sanitizer for PHP 8.4+, without dependencies |
viveeditor/laravel (PHP) |
Blade component, local editor files and @viveHtml for Laravel 12+ |
The PHP packages are installed with Composer and versioned separately. See Server sanitizing and Laravel.
Extra entry points
Some packages have more than one entry, so heavy or page-side code stays out of the editor bundle:
@viveeditor/ui/extras:mentionMenu,emojiMenu,templateMenu,mathTools,footnoteTools,aiAssistantandsuggestionMenu.@viveeditor/ui/panels: the panel kit, if you want it in your bundle instead of loaded on first open.@viveeditor/ext-code-block/highlight:CodeHighlightandshikiHighlighter.@viveeditor/ext-embed/activate:activateEmbeds()for published pages.@viveeditor/ext-math/render:renderMath()for published pages.@viveeditor/ext-footnote/render:renderFootnotes()for published pages.@viveeditor/markdown/paste:MarkdownPaste.@viveeditor/element/define: registers<vive-editor>.@viveeditor/emoji-data/en: the English emoji list.
Packages that need layout ship a style.css export; the list is on Installation.
API reports
Each npm package has a folder under api/, for example api/core or api/ui. It holds the published .d.ts type declarations. When the public API changes, the change shows up in these files during review, so you can read them to see exactly what a package exports in a given version.