{"version":3,"file":"baselinetech-angular-email-editor.mjs","sources":["../../../projects/email-editor/src/lib/email-editor.service.ts","../../../projects/email-editor/src/lib/loadScript.ts","../../../projects/email-editor/src/lib/email-editor.component.ts","../../../projects/email-editor/src/lib/email-editor.component.html","../../../projects/email-editor/src/lib/email-editor.module.ts","../../../projects/email-editor/src/public_api.ts","../../../projects/email-editor/src/baselinetech-angular-email-editor.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class EmailEditorService {\n\n  constructor() { }\n}\n","const scriptUrl = '//editor.unlayer.com/embed.js?2';\nconst callbacks = [];\nlet loaded = false;\n\nconst isScriptInjected = () => {\n  const scripts = document.querySelectorAll('script');\n  let injected = false;\n\n  scripts.forEach((script) => {\n    if (script.src.includes(scriptUrl)) {\n      injected = true;\n    }\n  });\n\n  return injected;\n};\n\nconst addCallback = (callback) => {\n  callbacks.push(callback);\n};\n\nconst runCallbacks = () => {\n  if (loaded) {\n    let callback;\n\n    while ((callback = callbacks.shift())) {\n      callback();\n    }\n  }\n};\n\nexport const loadScript = (callback) => {\n  addCallback(callback);\n\n  if (!isScriptInjected()) {\n    const embedScript = document.createElement('script');\n    embedScript.setAttribute('src', scriptUrl);\n    embedScript.onload = () => {\n      loaded = true;\n      runCallbacks();\n    };\n    document.head.appendChild(embedScript);\n  } else {\n    runCallbacks();\n  }\n};\n","import {\n  Component,\n  OnInit,\n  AfterViewInit,\n  Input,\n  Output,\n  EventEmitter,\n} from '@angular/core';\nimport { loadScript } from './loadScript';\nimport pkg from './source.json';\nimport { filter, interval, take } from 'rxjs';\n\ndeclare module unlayer {\n  function init(object);\n  function createEditor(object);\n  function loadDesign(object);\n  function saveDesign(Function);\n  function exportHtml(Function);\n}\n\nexport interface UnlayerOptions {\n  projectId?: number;\n  tools?: object;\n  appearance?: object;\n  locale?: string;\n}\n\nlet lastEditorId = 0;\n\n@Component({\n  // tslint:disable-next-line:component-selector\n  selector: 'email-editor',\n  templateUrl: './email-editor.component.html',\n  styleUrls: ['./email-editor.component.css'],\n})\nexport class EmailEditorComponent implements OnInit, AfterViewInit {\n  @Input() editorId: string;\n  @Input() options: UnlayerOptions = {};\n  @Input() projectId: number;\n  @Input() tools: object;\n  @Input() appearance: object;\n  @Input() locale: string;\n  @Input() id: string;\n\n  @Input() minHeight = '500px';\n\n  @Output() loaded = new EventEmitter();\n  @Output() ready = new EventEmitter();\n  @Output() updated = new EventEmitter()\n\n  editor: any;\n\n  constructor() {\n    this.id = this.editorId || `editor-${++lastEditorId}`;\n  }\n\n  ngOnInit() {}\n\n  ngAfterViewInit() {\n    loadScript(this.loadEditor.bind(this));\n  }\n\n  protected loadEditor() {\n    interval(300)\n      .pipe(\n        filter(() => !!document.getElementById(this.id)),\n        take(1)\n      )\n      .subscribe(() => {\n        const options: UnlayerOptions = this.options || {};\n\n        if (this.projectId) {\n          options.projectId = this.projectId;\n        }\n\n        if (this.tools) {\n          options.tools = this.tools;\n        }\n\n        if (this.appearance) {\n          options.appearance = this.appearance;\n        }\n\n        if (this.locale) {\n          options.locale = this.locale;\n        }\n\n        this.editor = unlayer.createEditor({\n          ...options,\n          id: this.id,\n          displayMode: 'email',\n          source: {\n            name: pkg.name,\n            version: pkg.version,\n          },\n        });\n\n        this.loaded.emit({});\n\n        this.editor.addEventListener('editor:ready', () => {\n          this.ready.emit({});\n        });\n\n        this.editor.addEventListener('design:updated', (data) => {\n          this.updated.emit(data);\n        });\n      });\n  }\n\n  public loadDesign(data: object) {\n    this.editor.loadDesign(data);\n  }\n\n  public saveDesign(cb: (data: object) => void) {\n    this.editor.saveDesign(cb);\n  }\n\n  public exportHtml(cb: (data: object) => void) {\n    this.editor.exportHtml(cb);\n  }\n}\n","<div [id]=\"id\" class=\"unlayer-editor\" [style.min-height]=\"minHeight\"></div>\n","import { NgModule } from '@angular/core';\nimport { EmailEditorComponent } from './email-editor.component';\n\n@NgModule({\n  declarations: [EmailEditorComponent],\n  imports: [\n  ],\n  exports: [EmailEditorComponent]\n})\nexport class EmailEditorModule { }\n","/*\n * Public API Surface of email-editor\n */\n\nexport * from './lib/email-editor.service';\nexport * from './lib/email-editor.component';\nexport * from './lib/email-editor.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}