{"version":3,"file":"gewd-ng-utils-morphdom.mjs","sources":["../../../../libs/ng-utils/morphdom/morphdom.service.ts","../../../../libs/ng-utils/morphdom/morphdom.directive.ts","../../../../libs/ng-utils/morphdom/morphdom.module.ts","../../../../libs/ng-utils/morphdom/gewd-ng-utils-morphdom.ts"],"sourcesContent":["import { ElementRef, Injectable, NgZone } from '@angular/core';\n\nimport morphdom from 'morphdom';\n\nexport interface MorphDomOptions {\n  getNodeKey?: (node: Node) => any;\n  onBeforeNodeAdded?: (node: Node) => Node;\n  onNodeAdded?: (node: Node) => Node;\n  onBeforeElUpdated?: (fromEl: HTMLElement, toEl: HTMLElement) => boolean;\n  onElUpdated?: (el: HTMLElement) => void;\n  onBeforeNodeDiscarded?: (node: Node) => boolean;\n  onNodeDiscarded?: (node: Node) => void;\n  onBeforeElChildrenUpdated?: (fromEl: HTMLElement, toEl: HTMLElement) => boolean;\n  childrenOnly?: boolean;\n}\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class MorphdomService {\n\n  constructor(private ngZone: NgZone) {\n\n  }\n\n  public morphElement(element: ElementRef<Element>,\n                      newElementContent: string,\n                      options: MorphDomOptions): void  {\n     this.ngZone.runOutsideAngular(() => {\n        morphdom(element.nativeElement,\n          newElementContent,\n          options\n        );\n      });\n  }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { MorphDomOptions, MorphdomService } from './morphdom.service';\n\n\n@Directive({\n  // tslint:disable-next-line:directive-selector\n  selector: '[morphDom]'\n})\nexport class MorphdomDirective implements OnChanges {\n\n  // tslint:disable-next-line:no-input-rename\n  @Input('morphDom')\n  public morphDom: string;\n\n  @Input()\n  public tagName = 'div';\n\n  @Input()\n  public options: MorphDomOptions;\n\n  @Output()\n  public done = new EventEmitter<ElementRef<Element>>();\n\n  constructor(private element: ElementRef<Element>,\n              private morphService: MorphdomService) {\n  }\n\n  ngOnChanges ({morphDom}: SimpleChanges): void {\n    if (morphDom && morphDom.currentValue) {\n      this.morphService.morphElement(this.element,\n        `<${this.tagName}>${morphDom.currentValue}</${this.tagName}>`,\n        this.options);\n\n      this.done.emit(this.element);\n    }\n  }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MorphdomDirective } from './morphdom.directive';\n\n\n@NgModule({\n  declarations: [MorphdomDirective],\n  exports: [\n    MorphdomDirective\n  ],\n  imports: [\n    CommonModule\n  ]\n})\nexport class MorphdomModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.MorphdomService"],"mappings":"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"}