🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@templatical/editor

Package Overview
Dependencies
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@templatical/editor

Vue 3 visual drag-and-drop email editor powered by Templatical

Source
npmnpm
Version
0.4.0
Version published
Weekly downloads
5K
53.48%
Maintainers
1
Weekly downloads
 
Created
Source

@templatical/editor

Vue 3 visual drag-and-drop email editor — drop into any web app with one function call.

npm version License

The visual editor for Templatical — an open-source drag-and-drop email editor with JSON templates and MJML output.

  • 🧩 14 block types — title, paragraph, image, button, section, divider, spacer, social icons, menu, table, HTML, video, countdown, custom
  • 🎨 27 design tokens — full theming, dark mode, custom fonts
  • 🔌 Framework-agnostic — works in React, Vue, Svelte, Angular, vanilla
  • 📦 JSON in, MJML out — portable templates, render with any email provider
  • 🌍 Bilingual — English + German built in
  • 🔒 TypeScript strict — full type safety end to end

Install

npm install @templatical/editor

@templatical/renderer is an optional peer — install it only if you need to convert templates to MJML. The two common cases are:

  • In the browser, alongside the editor, when you call editor.toMjml() to export from the user's session.
  • In Node.js (or another runtime), when you only have stored template JSON and want to convert it to MJML server-side. You don't need the editor for this — install just the renderer.
npm install @templatical/renderer

If you call editor.toMjml() without the renderer installed, it throws a clear error naming the missing package.

Usage

import { init } from '@templatical/editor';
import '@templatical/editor/style.css';

const editor = await init({
  container: '#editor',
  onChange(content) {
    // content is JSON — store/version/sync however you want
  },
});

// Render to MJML when sending email — async; requires @templatical/renderer
const mjml = await editor.toMjml();

// Always unmount when removing the editor (cleans up listeners + DOM)
editor.unmount();
<div id="editor" style="height: 100vh"></div>

Framework integration

First-class examples for React, Vue, Svelte, Angular, and vanilla JS are in the installation guide.

Cloud features

For AI rewrite, real-time collaboration, comments, snapshots, and saved modules, use initCloud() instead. See the Cloud guide.

Documentation

Full docs at docs.templatical.com.

License

FSL-1.1-MIT — free for any non-competing commercial use, automatically converts to MIT after 2 years per release. License FAQ.

Keywords

drag-and-drop

FAQs

Package last updated on 03 May 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts