Skip to content

Adapters

The project ships three ready-to-use adapters:

PackageComponentUI library
tiptap-vue-pro-element-plusProEditorElementPlusElement Plus
tiptap-vue-pro-naiveProEditorNaiveNaive UI
tiptap-vue-pro-ant-design-vueProEditorAntDesignVueAnt Design Vue

All three adapters keep their props, slots, and configuration objects equivalent. When switching UI libraries, the main changes are the component name, style entry, and UI library dependency.

vue
<ProEditorElementPlus
  v-model="content"
  :toolbar="toolbar"
  :toolbar-options="toolbarOptions"
  :editor-behavior-options="editorBehaviorOptions"
/>
vue
<ProEditorNaive
  v-model="content"
  :toolbar="toolbar"
  :toolbar-options="toolbarOptions"
  :editor-behavior-options="editorBehaviorOptions"
/>
vue
<ProEditorAntDesignVue
  v-model="content"
  :toolbar="toolbar"
  :toolbar-options="toolbarOptions"
  :editor-behavior-options="editorBehaviorOptions"
/>

Boundaries

Shared editor behavior lives in tiptap-vue-pro-core. Dialogs, menus, messages, styles, and component rendering live in each adapter. This keeps the three UI experiences equivalent without leaking one UI library's component names or CSS variables into another adapter.

Choosing One

Your projectRecommended package
Already uses Element Plustiptap-vue-pro-element-plus
Already uses Naive UItiptap-vue-pro-naive
Already uses Ant Design Vuetiptap-vue-pro-ant-design-vue
Wants fully custom toolbar and dialogstiptap-vue-pro-core

If your organization uses multiple UI libraries, keep business-level toolbar, toolbarOptions, and editorBehaviorOptions as shared objects, and replace only the adapter component in each app.

A community package built on Tiptap v3 + Vue 3.