Vue 3 wrapper for EmailBuilder.js
npm install email-builder-vuenpm i email-builder-vue.---
---
bash
npm i email-builder-vue
`$3
`vue
html = h" />
{{ html }}
`---
๐ API
| Prop | Type | Default | Description |
|-----------------|-----------|---------|-------------|
|
modelValue | object | โ | Reactive JSON that EmailBuilder reads/writes. |
| @update:html | event | โ | Fires whenever the generated HTML changes. Payload: string |
| @update:modelValue | event | โ | Fires when internal JSON changes (two-way via v-model). |---
๐ ๏ธ Advanced usage
$3
The component auto-detects server-side rendering and skips loading the script on the server.`vue
html = h" />
`$3
`ts
template.value.root.data.canvasColor = '#000000'
// EmailBuilder re-renders automatically
`$3
Each instance gets a unique id so the underlying script never collides.---
๐งช Development (contributors)
`bash
1. Clone
git clone https://github.com/djabdou50/email-builder-vue.git
cd email-builder-vue2. Install deps
npm i3. Dev build (watch mode)
npm run dev4. Run example
cd example-vite
npm i
npm run dev
`Project layout
`
email-builder-vue
โโ src
โ โโ EmailBuilder.vue # wrapper component
โ โโ loader.ts # local script loader
โ โโ assets
โ โโ email-builder.min.js # bundled 3rd-party file
โโ example-vite # tiny playground (gitignored)
``---
---
Found a bug or need React support?
Open an issue or PR!