@heyirisai/docx-editor-vue

Vue 3 DOCX editor adapter for @heyirisai/docx-editor-core.
1,764 4
Install
npm install @heyirisai/docx-editor-vue
Latest Version:1.15.0
Vue:3
License:Apache-2.0
Last Updated:Sep 29, 2026
Links: GitHub  ·  npm
Maintainer: heyiris

DOCX Editor — .docx in, .docx out. Open source, agent ready, client-side.

npm version npm downloads license Demo Documentation

@eigenpal/docx-editor-vue

Vue 3 adapter for the docx-editor. WYSIWYG .docx editing with canonical OOXML, tracked changes, comments, and an AI agent bridge.

Quick Start

npm install @eigenpal/docx-editor-vue
<script setup lang="ts">
import { ref } from 'vue';
import { DocxEditor } from '@eigenpal/docx-editor-vue';
import '@eigenpal/docx-editor-vue/styles.css';

const buffer = ref<ArrayBuffer | null>(null);

async function loadFile(e: Event) {
  const file = (e.target as HTMLInputElement).files?.[0];
  buffer.value = file ? await file.arrayBuffer() : null;
}
</script>

<template>
  <input type="file" accept=".docx" @change="loadFile" />
  <DocxEditor v-if="buffer" :document-buffer="buffer" mode="editing" />
</template>

Import the stylesheet once at your app entry. Vite's library mode doesn't auto-inject CSS imports, so the toolbar will render unstyled without it.

Using Nuxt? @eigenpal/nuxt-docx-editor wraps this adapter as a Nuxt 3 & 4 module — SSR-safe component registration and the stylesheet are wired automatically.

Start with a blank document

Skip the file picker for new documents. createEmptyDocument returns a fresh Document model you can pass straight to the editor:

<script setup lang="ts">
import { ref } from 'vue';
import { DocxEditor, createEmptyDocument } from '@eigenpal/docx-editor-vue';
import '@eigenpal/docx-editor-vue/styles.css';

const doc = ref(createEmptyDocument());
// Or with options:
// createEmptyDocument({ initialText: 'Untitled', pageWidth: 12240 })
</script>

<template>
  <DocxEditor :document="doc" mode="editing" />
</template>

createDocumentWithText(text, options?) is the same idea with a starting paragraph already typed. Both helpers are re-exported from @eigenpal/docx-editor-core so you don't need a separate dependency.

Packages

Package Description
@eigenpal/docx-editor-react   React adapter. Toolbar, paged editor, plugins.
@eigenpal/docx-editor-vue   Vue 3 adapter. Toolbar, paged editor, plugins.
@eigenpal/nuxt-docx-editor   Nuxt 3 & 4 module wrapping this adapter.
@eigenpal/docx-editor-core Framework-agnostic core: OOXML parser, serializer, layout engine, ProseMirror schema. Depend on this if you fork the React or Vue adapter.
@eigenpal/docx-editor-i18n Shared locale strings and types consumed by both adapters.
@eigenpal/docx-editor-agents Agent SDK and chat UI: framework-agnostic bridge, MCP server, AI SDK adapters, plus React UI.

Forking the adapter? Keep your fork thin. Depend on @eigenpal/docx-editor-core directly so parser, serializer, and rendering fixes land in your build automatically, without backporting each upstream change by hand.

Imperative mounting

import { renderAsync } from '@eigenpal/docx-editor-vue';

const editor = await renderAsync(file, document.getElementById('editor')!, { mode: 'editing' });
await editor.save();
editor.destroy();

Subpaths

  • @eigenpal/docx-editor-vue — DocxEditor, renderAsync, public types
  • @eigenpal/docx-editor-vue/ui — toolbar primitives, pickers, sidebars, dialogs
  • @eigenpal/docx-editor-vue/composables — useDocxEditor, useZoom, useTableSelection, ...
  • @eigenpal/docx-editor-vue/dialogs — dialog SFCs barrel
  • @eigenpal/docx-editor-vue/plugin-api — plugin host and plugin-facing types
  • @eigenpal/docx-editor-vue/styles — style constants (EDITOR_CSS_PATH, z-index)

Component API

DocxEditor and DocxEditorRef mirror the React adapter — the same props, emits, and ref methods, with the import path swapped. Full reference: docx-editor.dev/docs/props.

For lower-level mounting on your own DOM, use the useDocxEditor composable.

Contributing

Contributions welcome. See CONTRIBUTING.md for setup, tests, and the one-time CLA signature.

Commercial Support

[!TIP] Questions or custom features? Email docx-editor@eigenpal.com.

Related Packages

@docx-editor.dev/vue

Vue 3 DOCX editor adapter for the @docx-editor.dev editor contract.

10,995 499
@superdoc/vue

Vue 3 wrapper for the SuperDoc browser editor

23,524 1,105
@heyirisai/nuxt-docx-editor

Nuxt 3 & 4 module for the @heyirisai/docx-editor WYSIWYG DOCX editor — auto-impo...

1,733 4
docx-vue-viewer

Vue 3 component for the DOCX editor. Self-contained: includes the editor, layout...

2,049 25
@billtaofbj/editor

File document editor component

3,123

Version History

Version Released Vue License
1.15.0 ^3.3.0 Apache-2.0
1.14.0 ^3.3.0 Apache-2.0
1.13.1 ^3.3.0 Apache-2.0
1.13.0 ^3.3.0 Apache-2.0
1.12.0 ^3.3.0 Apache-2.0