TokenEconomizer
코딩 에이전트를 위한 경험 기반 블랙박스 비용 제어
Unlayer는 시각 빌더·AI 워크플로·템플릿·코드‑first Elements·내보내기 API를 제품에 삽입하는 플랫폼
Unlayer is a developer platform for embedding visual builders, AI workflows, templates, code-first Elements, and export APIs into your product.
개발 도구TypeScript · JavaScriptGitHub @unlayer온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Drag-n-Drop Email Editor Component for React.js
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Add a production-ready, drag-and-drop email builder to your React app with a single component. react-email-editor lets developers embed Unlayer, load and save designs, listen to editor events, customize configuration, and export responsive HTML.
Use it when you need email template creation inside your app without building and maintaining a full visual editor from scratch.
| Video Overview |
|---|
| Watch video overview: https://youtu.be/qp9t74G4VyM |
Check out the live demo here: https://react-email-editor-demo.netlify.app/ (Source Code)
The easiest way to use React Email Editor is to install it from NPM and include it in your own React build process.
npm install react-email-editor --save
Version 2.0 is a modernization release — the component API is unchanged, and most apps can upgrade without code changes. Requirements and packaging did change:
react-email-editor/dist/... are blocked by the new exports map.node_modules.See the CHANGELOG for the full list.
Require the EmailEditor component and render it with JSX:
import React, { useRef } from 'react';
import { createRoot } from 'react-dom/client';
import EmailEditor, { EditorRef, EmailEditorProps } from 'react-email-editor';
const App = (props) => {
const emailEditorRef = useRef<EditorRef>(null);
const exportHtml = () => {
const unlayer = emailEditorRef.current?.editor;
unlayer?.exportHtml((data) => {
const { design, html } = data;
console.log('exportHtml', html);
});
};
const onReady: EmailEditorProps['onReady'] = (unlayer) => {
// editor is ready
// you can load your template here;
// the design json can be obtained by calling
// unlayer.loadDesign(callback) or unlayer.exportHtml(callback)
// or generated from React code with @unlayer/react-elements (renderToJson)
// const templateJson = { DESIGN JSON GOES HERE };
// unlayer.loadDesign(templateJson);
};
return (
<div>
<div>
<button onClick={exportHtml}>Export HTML</button>
</div>
<EmailEditor ref={emailEditorRef} onReady={onReady} />
</div>
);
};
createRoot(document.getElementById('app')!).render(<App />);
See the example source for a reference implementation.
The editor renders into the DOM, so the component is client-only. The published bundle includes the 'use client' directive, so with the Next.js App Router you can import it directly from any Client Component — no next/dynamic workaround required.
All unlayer methods are available in the editor instance (emailEditorRef.current.editor). See the Unlayer Docs for more information, or log the object in the console to explore it. Here are the most used ones:
| method | params | description |
|---|---|---|
| loadDesign | Object data | Takes the design JSON and loads it in the editor |
| saveDesign | Function callback | Returns the design JSON in a callback function |
| exportHtml | Function callback | Returns the design HTML and JSON in a callback function |
editorId {String} HTML div id of the container where the editor will be embedded (optional)minHeight {String} minimum height to initialize the editor with (default 500px)onLoad {Function} called when the editor instance is createdonReady {Function} called when the editor has finished loadingoptions {Object} options passed to the Unlayer editor instance (default {})
style {Object} style object for the editor container (default {})The email editor output is tested using the most popular email clients.
| Gmail ✔ | Apple Mail ✔ | Outlook ✔ | Yahoo! Mail ✔ |
Add AI-powered content creation to your embedded email editor.
Unlayer’s AI Assistant helps users generate, rewrite, translate, and improve email content directly inside the editor. Developers can enable AI features through the editor configuration, giving users a faster way to create polished emails without leaving your app.
Custom tools can help you add your own content blocks to the editor. Every application is different and needs different tools to reach it's full potential. Learn More
You can submit new language translations by creating a PR on this GitHub repo: https://github.com/unlayer/translations. Translations managed by PhraseApp
@unlayer/react-elements: write templates in code as React components (Email, Row, Column, Heading, Paragraph, Button, …) and render them to email HTML, responsive web pages or print-ready HTML for PDFs. renderToJson() synchronously returns design JSON you can pass to loadDesign, so templates written in code (by developers, coding agents, or an LLM at runtime) stay editable in this editor.Copyright (c) 2026 Unlayer. MIT Licensed.