UNPKG

vue-email-editor

Version:

The excellent drag-n-drop email editor by [Unlayer](https://unlayer.com/embed) as a [Vue](https://vuejs.org/) _wrapper component_. This is the most powerful and developer friendly visual email builder for your app.

2 lines (1 loc) 2.92 kB
(function(n,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],s):(n=typeof globalThis<"u"?globalThis:n||self,s(n["vue-email-editor"]={},n.Vue))})(this,function(n,s){"use strict";const r={name:"vue-email-editor",version:"2.1.2",main:"dist/vue-email-editor.es",types:"dist/vue-email-editor.d.ts",scripts:{serve:"vue-cli-service serve",build:"vue-cli-service build",lint:"vue-cli-service lint","adjust-types":`sed -i '' '1s/^/\\/\\/\\/ <reference types=\\"unlayer-types\\/embed.d.ts\\" \\/>\\n/' ./dist/components/types.d.ts`,"build-types":"vue-tsc --emitDeclarationOnly && npm run adjust-types","build-bundle":"vite build && cd ./src/components && npm run build-types",release:"npm run build-bundle && npm publish"},dependencies:{"unlayer-types":"latest",vue:"^3.2.13"},devDependencies:{"@babel/types":"^7.24.7","@vitejs/plugin-vue":"^5.0.5","@vue/cli-service":"~5.0.0","@vue/cli-plugin-typescript":"~5.0.0",typescript:"^5.2.2",vite:"^5.3.1","vue-dts-gen":"^0.3.0","vue-loader":"^17.4.2","vue-router":"^4.4.0","vue-template-compiler":"^2.7.16","vue-tsc":"^2.0.22"},files:["dist"]},p="https://editor.unlayer.com/embed.js?2",d=[];let c=!1;const u=e=>{const t=document.querySelectorAll("script");let i=!1;return t.forEach(o=>{o.src.includes(e)&&(i=!0)}),i},m=e=>{d.push(e)},l=()=>{if(c){let e;for(;e=d.shift();)e()}},f=(e,t=p)=>{if(m(e),u(t))l();else{const i=document.createElement("script");i.setAttribute("src",t),i.onload=()=>{c=!0,l()},document.head.appendChild(i)}};let v=0;const h=s.defineComponent({name:"EmailEditor",props:{editorId:String,minHeight:{type:String,default:"500px"},options:{type:Object,default:()=>({})},scriptUrl:String,appearance:Object,locale:String,projectId:Number,tools:Object},computed:{id(){return this.editorId||`editor-${++v}`}},setup(){return{editor:s.ref(null)}},mounted(){f(this.loadEditor.bind(this),this.scriptUrl)},methods:{loadEditor(){const e=s.toRaw(this.options)||{},t=s.toRaw(this.appearance)||null,i=s.toRaw(this.tools)||null;t&&(e.appearance=t),this.locale&&(e.locale=this.locale),this.projectId&&(e.projectId=this.projectId),i&&(e.tools=i),this.editor=unlayer.createEditor({...e,id:this.id,source:{name:r.name,version:r.version}}),this.$emit("load"),this.editor.addEventListener("editor:ready",()=>{this.$emit("ready")})},exportHtml(e){var t;(t=this.editor)==null||t.exportHtml(e)},loadDesign(e){var t;(t=this.editor)==null||t.loadDesign(e)},saveDesign(e){var t;(t=this.editor)==null||t.saveDesign(e)}}}),y=(e,t)=>{const i=e.__vccOpts||e;for(const[o,a]of t)i[o]=a;return i},b=["id"];function g(e,t,i,o,a,x){return s.openBlock(),s.createElementBlock("div",{id:e.id,class:"unlayer-editor",style:s.normalizeStyle({minHeight:e.minHeight})},null,12,b)}const j=y(h,[["render",g],["__scopeId","data-v-53c2c3eb"]]);n.EmailEditor=j,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});