New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@firestitch/html-editor

Package Overview
Dependencies
Maintainers
6
Versions
144
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@firestitch/html-editor - npm Package Compare versions

Comparing version

to
9.0.7

5

app/components/html-editor/html-editor.component.d.ts

@@ -1,2 +0,2 @@

import { ElementRef, AfterViewInit, OnDestroy } from '@angular/core';
import { ElementRef, AfterViewInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
import 'froala-editor/js/plugins/align.min.js';

@@ -16,2 +16,3 @@ import 'froala-editor/js/plugins/colors.min.js';

export declare class FsHtmlEditorComponent implements AfterViewInit, ControlValueAccessor, Validator, OnDestroy {
private _cdRef;
classFocused: boolean;

@@ -25,3 +26,3 @@ elRef: ElementRef;

model: any;
constructor();
constructor(_cdRef: ChangeDetectorRef);
onChange: (data: any) => void;

@@ -28,0 +29,0 @@ onTouched: () => void;

23

bundles/firestitch-html-editor.umd.js

@@ -342,3 +342,4 @@ (function (global, factory) {

var FsHtmlEditorComponent = /** @class */ (function () {
function FsHtmlEditorComponent() {
function FsHtmlEditorComponent(_cdRef) {
this._cdRef = _cdRef;
this.classFocused = false;

@@ -366,3 +367,3 @@ this.config = {};

FsHtmlEditorComponent.prototype.ngAfterViewInit = function () {
this.el.innerHTML = this.ngModel;
this.el.innerHTML = this.ngModel || '';
this._editor = new FroalaEditor(this.el, this._createOptions());

@@ -394,6 +395,6 @@ };

FsHtmlEditorComponent.prototype.writeValue = function (html) {
this._html = html;
this._html = html || '';
if (this._editor && this._editor.html) {
try {
this._editor.html.set(html);
this._editor.html.set(this._html);
}

@@ -427,3 +428,8 @@ catch (e) { }

_this.classFocused = true;
_this._cdRef.markForCheck();
},
blur: function () {
_this.classFocused = false;
_this._cdRef.markForCheck();
},
contentChanged: function () {

@@ -516,2 +522,5 @@ _this.onChange(_this._editor.html.get());

var FsHtmlEditorComponent_1;
FsHtmlEditorComponent.ctorParameters = function () { return [
{ type: core.ChangeDetectorRef }
]; };
__decorate([

@@ -536,3 +545,3 @@ core.HostBinding('class.focused'),

selector: 'fs-html-editor',
template: "<div class=\"fs-html-editor-default\">\n <div #elRef [innerHTML]=\"model\"></div>\n\n <div class=\"bottom-line\"></div>\n</div>\n",
template: "<div class=\"fs-html-editor-default\">\n <div #elRef [innerHTML]=\"model\"></div>\n <div class=\"bottom-line\"></div>\n</div>\n",
providers: [

@@ -551,5 +560,5 @@ {

changeDetection: core.ChangeDetectionStrategy.OnPush,
styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:10px;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]
styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494;margin-bottom:1px}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:0;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px;transition:none}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]
}),
__metadata("design:paramtypes", [])
__metadata("design:paramtypes", [core.ChangeDetectorRef])
], FsHtmlEditorComponent);

@@ -556,0 +565,0 @@ return FsHtmlEditorComponent;

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("froala-editor"),require("froala-editor/js/plugins/align.min.js"),require("froala-editor/js/plugins/colors.min.js"),require("froala-editor/js/plugins/image.min.js"),require("froala-editor/js/plugins/link.min.js"),require("froala-editor/js/plugins/lists.min.js"),require("froala-editor/js/plugins/paragraph_format.min.js"),require("froala-editor/js/plugins/table.min.js"),require("froala-editor/js/plugins/url.min.js"),require("froala-editor/js/plugins/video.min.js"),require("@angular/forms"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@firestitch/html-editor",["exports","@angular/core","@angular/common","froala-editor","froala-editor/js/plugins/align.min.js","froala-editor/js/plugins/colors.min.js","froala-editor/js/plugins/image.min.js","froala-editor/js/plugins/link.min.js","froala-editor/js/plugins/lists.min.js","froala-editor/js/plugins/paragraph_format.min.js","froala-editor/js/plugins/table.min.js","froala-editor/js/plugins/url.min.js","froala-editor/js/plugins/video.min.js","@angular/forms","rxjs","rxjs/operators"],t):t(((e=e||self).firestitch=e.firestitch||{},e.firestitch["html-editor"]={}),e.ng.core,e.ng.common,e.FroalaEditor,null,null,null,null,null,null,null,null,null,e.ng.forms,e.rxjs,e.rxjs.operators)}(this,(function(e,t,o,r,n,i,s,a,l,c,f,u,d,p,h,g){"use strict";r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r;function m(e,t,o,r){var n,i=arguments.length,s=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,r);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(i<3?n(s):i>3?n(t,o,s):n(t,o))||s);return i>3&&s&&Object.defineProperty(t,o,s),s}function b(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}Object.create;function y(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var r,n,i=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}return s}Object.create;r.DefineIcon("checkbox",{NAME:"checkbox",PATH:"M8.4,10.3l-1.2,1.2l4,4L20,6.7l-1.2-1.2l-7.6,7.6L8.4,10.3z M18.2,18.2H5.8V5.8h8.9V4H5.8C4.8,4,4,4.8,4,5.8v12.4c0,1,0.8,1.8,1.8,1.8h12.4c1,0,1.8-0.8,1.8-1.8v-7.1h-1.8V18.2z"}),r.RegisterCommand("checklist",{title:"Checklist",icon:"checkbox",undo:!0,focus:!0,showOnMobile:!0,refreshAfterCallback:!0,callback:function(){this.html.insert('<ul class="checklist"><li></li></ul>')},refresh:function(e){}}),r.PLUGINS.checklist=function(e){return{_init:function(){e.events.on("click",(function(e){var t=e.target;if("LI"===t.nodeName&&e.offsetX<0){var o=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(y(arguments[t]));return e}([t],t.querySelectorAll("li"));t.classList.contains("checked")?o.forEach((function(e){e.classList.remove("checked")})):o.forEach((function(e){e.classList.add("checked")}))}}),!1)}}},r.DefineIcon("code",{NAME:"code",PATH:"M8.9,7.3L4.2,12l4.7,4.7l1.1-1.1L6.4,12L10,8.4L8.9,7.3z M15.1,7.3L14,8.4l3.6,3.6L14,15.6l1.1,1.1l4.7-4.7L15.1,7.3z"}),r.RegisterCommand("code",{title:"Code",icon:"code",undo:!0,focus:!0,showOnMobile:!0,refreshAfterCallback:!0,callback:function(){this.selection.get();this.html.insert('<p class="code">'+this.selection.get().toString()+"</p>")},refresh:function(e){}}),r.PLUGINS.code=function(e){return{_init:function(){e.events.on("keydown",(function(t){var o=function(e){if(e){if(e.classList&&e.classList.contains("code"))return!0;if(e.parentElement)return o(e.parentElement)}return!1};if(13===t.keyCode){var r=e.selection.get();if(r&&o(r.baseNode)){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation();var n="<br>",i=r.baseNode;if("#text"===i.nodeName&&r.baseOffset===i.length)i.nextSibling&&"BR"===i.nextSibling.nodeName||(n+="<br>");else{var s=Array.from(i.childNodes).splice(r.baseOffset-1,1).pop();s&&"BR"!==s.nodeName&&(n+="<br>")}return e.html.insert(n),!1}}}),!0)}}};var j=function(){function e(){this.classFocused=!1,this.config={},this._destroy$=new h.Subject,this.onChange=function(e){},this.onTouched=function(){}}var o;return o=e,Object.defineProperty(e.prototype,"el",{get:function(){return this.elRef.nativeElement},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"editor",{get:function(){return this._editor},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.el.innerHTML=this.ngModel,this._editor=new r(this.el,this._createOptions())},e.prototype.validate=function(e){var t={};if(this.config.maxLength&&this._html){var o=this.config.maxLength,r=this._html.length;r>o&&(t.maxLengthError="Must be "+o+" characters or fewer. You entered "+r+" characters.")}return Object.keys(t).length?t:null},e.prototype.focus=function(){this.editor.events.focus()},e.prototype.clear=function(){this.writeValue("")},e.prototype.disable=function(){this.editor.edit.off()},e.prototype.setHtml=function(e){this.writeValue(e)},e.prototype.writeValue=function(e){if(this._html=e,this._editor&&this._editor.html)try{this._editor.html.set(e)}catch(e){}},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.ngOnDestroy=function(){this._destroy$.next(),this._destroy$.complete(),this.destroy()},e.prototype.destroy=function(){},e.prototype._createOptions=function(){var e=this;return{placeholderText:this.config.placeholder,linkAlwaysBlank:!0,tabSpaces:2,typingTimer:250,tooltips:!1,paragraphDefaultSelection:"Format",events:{focus:function(){e.classFocused=!0},contentChanged:function(){e.onChange(e._editor.html.get())},keydown:function(){e.onTouched()},"image.beforeUpload":function(t){return e.config.image&&e.config.image.upload&&e.config.image.upload(t[0]).pipe(g.takeUntil(e._destroy$)).subscribe((function(t){e.editor.image.insert(t,null,null,e.editor.image.get())})),!1},initialized:function(){e.el.querySelector(".second-toolbar").remove()}},paragraphFormat:{N:"Normal",H1:"Heading 1",H2:"Heading 2",H3:"Heading 3",H4:"Heading 4"},paragraphFormatSelection:!0,toolbarButtons:{moreText:{buttons:["paragraphFormat","bold","italic","table","underline","strikeThrough","subscript","superscript","fontFamily","fontSize","textColor","backgroundColor","inlineClass","inlineStyle","clearFormatting"],buttonsVisible:2},moreParagraph:{buttons:["alignLeft","alignCenter","formatOLSimple","checklist","code","alignRight","alignJustify","formatOL","formatUL","paragraphStyle","lineHeight","outdent","indent","quote"],buttonsVisible:5},moreRich:{buttons:["insertLink","insertImage","insertVideo","insertTable","emoticons","fontAwesome","specialCharacters","embedly","insertFile","insertHR"],buttonsVisible:10}}}},m([t.HostBinding("class.focused"),b("design:type",Object)],e.prototype,"classFocused",void 0),m([t.ViewChild("elRef"),b("design:type",t.ElementRef)],e.prototype,"elRef",void 0),m([t.Input(),b("design:type",Object)],e.prototype,"config",void 0),m([t.Input(),b("design:type",String)],e.prototype,"ngModel",void 0),e=o=m([t.Component({selector:"fs-html-editor",template:'<div class="fs-html-editor-default">\n <div #elRef [innerHTML]="model"></div>\n\n <div class="bottom-line"></div>\n</div>\n',providers:[{provide:p.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return o})),multi:!0},{provide:p.NG_VALIDATORS,useExisting:t.forwardRef((function(){return o})),multi:!0}],changeDetection:t.ChangeDetectionStrategy.OnPush,styles:[":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:10px;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]}),b("design:paramtypes",[])],e)}(),v=function(){function e(){}return m([t.Input(),b("design:type",String)],e.prototype,"html",void 0),e=m([t.Component({selector:"fs-html-renderer",template:'<div class="fr-view fs-html-editor-default" [innerHtml]="html"></div>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,styles:[""]})],e)}(),x=function(){function e(){}var r;return r=e,e.forRoot=function(){return{ngModule:r}},e=r=m([t.NgModule({imports:[o.CommonModule],exports:[j,v],declarations:[j,v]})],e)}();e.FsHtmlEditorComponent=j,e.FsHtmlEditorModule=x,e.FsHtmlRendererComponent=v,Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("froala-editor"),require("froala-editor/js/plugins/align.min.js"),require("froala-editor/js/plugins/colors.min.js"),require("froala-editor/js/plugins/image.min.js"),require("froala-editor/js/plugins/link.min.js"),require("froala-editor/js/plugins/lists.min.js"),require("froala-editor/js/plugins/paragraph_format.min.js"),require("froala-editor/js/plugins/table.min.js"),require("froala-editor/js/plugins/url.min.js"),require("froala-editor/js/plugins/video.min.js"),require("@angular/forms"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@firestitch/html-editor",["exports","@angular/core","@angular/common","froala-editor","froala-editor/js/plugins/align.min.js","froala-editor/js/plugins/colors.min.js","froala-editor/js/plugins/image.min.js","froala-editor/js/plugins/link.min.js","froala-editor/js/plugins/lists.min.js","froala-editor/js/plugins/paragraph_format.min.js","froala-editor/js/plugins/table.min.js","froala-editor/js/plugins/url.min.js","froala-editor/js/plugins/video.min.js","@angular/forms","rxjs","rxjs/operators"],t):t(((e=e||self).firestitch=e.firestitch||{},e.firestitch["html-editor"]={}),e.ng.core,e.ng.common,e.FroalaEditor,null,null,null,null,null,null,null,null,null,e.ng.forms,e.rxjs,e.rxjs.operators)}(this,(function(e,t,o,r,n,i,s,a,l,c,f,u,d,p,h,g){"use strict";r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r;function m(e,t,o,r){var n,i=arguments.length,s=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,r);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(i<3?n(s):i>3?n(t,o,s):n(t,o))||s);return i>3&&s&&Object.defineProperty(t,o,s),s}function b(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}Object.create;function y(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var r,n,i=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}return s}Object.create;r.DefineIcon("checkbox",{NAME:"checkbox",PATH:"M8.4,10.3l-1.2,1.2l4,4L20,6.7l-1.2-1.2l-7.6,7.6L8.4,10.3z M18.2,18.2H5.8V5.8h8.9V4H5.8C4.8,4,4,4.8,4,5.8v12.4c0,1,0.8,1.8,1.8,1.8h12.4c1,0,1.8-0.8,1.8-1.8v-7.1h-1.8V18.2z"}),r.RegisterCommand("checklist",{title:"Checklist",icon:"checkbox",undo:!0,focus:!0,showOnMobile:!0,refreshAfterCallback:!0,callback:function(){this.html.insert('<ul class="checklist"><li></li></ul>')},refresh:function(e){}}),r.PLUGINS.checklist=function(e){return{_init:function(){e.events.on("click",(function(e){var t=e.target;if("LI"===t.nodeName&&e.offsetX<0){var o=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(y(arguments[t]));return e}([t],t.querySelectorAll("li"));t.classList.contains("checked")?o.forEach((function(e){e.classList.remove("checked")})):o.forEach((function(e){e.classList.add("checked")}))}}),!1)}}},r.DefineIcon("code",{NAME:"code",PATH:"M8.9,7.3L4.2,12l4.7,4.7l1.1-1.1L6.4,12L10,8.4L8.9,7.3z M15.1,7.3L14,8.4l3.6,3.6L14,15.6l1.1,1.1l4.7-4.7L15.1,7.3z"}),r.RegisterCommand("code",{title:"Code",icon:"code",undo:!0,focus:!0,showOnMobile:!0,refreshAfterCallback:!0,callback:function(){this.selection.get();this.html.insert('<p class="code">'+this.selection.get().toString()+"</p>")},refresh:function(e){}}),r.PLUGINS.code=function(e){return{_init:function(){e.events.on("keydown",(function(t){var o=function(e){if(e){if(e.classList&&e.classList.contains("code"))return!0;if(e.parentElement)return o(e.parentElement)}return!1};if(13===t.keyCode){var r=e.selection.get();if(r&&o(r.baseNode)){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation();var n="<br>",i=r.baseNode;if("#text"===i.nodeName&&r.baseOffset===i.length)i.nextSibling&&"BR"===i.nextSibling.nodeName||(n+="<br>");else{var s=Array.from(i.childNodes).splice(r.baseOffset-1,1).pop();s&&"BR"!==s.nodeName&&(n+="<br>")}return e.html.insert(n),!1}}}),!0)}}};var j=function(){function e(e){this._cdRef=e,this.classFocused=!1,this.config={},this._destroy$=new h.Subject,this.onChange=function(e){},this.onTouched=function(){}}var o;return o=e,Object.defineProperty(e.prototype,"el",{get:function(){return this.elRef.nativeElement},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"editor",{get:function(){return this._editor},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.el.innerHTML=this.ngModel||"",this._editor=new r(this.el,this._createOptions())},e.prototype.validate=function(e){var t={};if(this.config.maxLength&&this._html){var o=this.config.maxLength,r=this._html.length;r>o&&(t.maxLengthError="Must be "+o+" characters or fewer. You entered "+r+" characters.")}return Object.keys(t).length?t:null},e.prototype.focus=function(){this.editor.events.focus()},e.prototype.clear=function(){this.writeValue("")},e.prototype.disable=function(){this.editor.edit.off()},e.prototype.setHtml=function(e){this.writeValue(e)},e.prototype.writeValue=function(e){if(this._html=e||"",this._editor&&this._editor.html)try{this._editor.html.set(this._html)}catch(e){}},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.ngOnDestroy=function(){this._destroy$.next(),this._destroy$.complete(),this.destroy()},e.prototype.destroy=function(){},e.prototype._createOptions=function(){var e=this;return{placeholderText:this.config.placeholder,linkAlwaysBlank:!0,tabSpaces:2,typingTimer:250,tooltips:!1,paragraphDefaultSelection:"Format",events:{focus:function(){e.classFocused=!0,e._cdRef.markForCheck()},blur:function(){e.classFocused=!1,e._cdRef.markForCheck()},contentChanged:function(){e.onChange(e._editor.html.get())},keydown:function(){e.onTouched()},"image.beforeUpload":function(t){return e.config.image&&e.config.image.upload&&e.config.image.upload(t[0]).pipe(g.takeUntil(e._destroy$)).subscribe((function(t){e.editor.image.insert(t,null,null,e.editor.image.get())})),!1},initialized:function(){e.el.querySelector(".second-toolbar").remove()}},paragraphFormat:{N:"Normal",H1:"Heading 1",H2:"Heading 2",H3:"Heading 3",H4:"Heading 4"},paragraphFormatSelection:!0,toolbarButtons:{moreText:{buttons:["paragraphFormat","bold","italic","table","underline","strikeThrough","subscript","superscript","fontFamily","fontSize","textColor","backgroundColor","inlineClass","inlineStyle","clearFormatting"],buttonsVisible:2},moreParagraph:{buttons:["alignLeft","alignCenter","formatOLSimple","checklist","code","alignRight","alignJustify","formatOL","formatUL","paragraphStyle","lineHeight","outdent","indent","quote"],buttonsVisible:5},moreRich:{buttons:["insertLink","insertImage","insertVideo","insertTable","emoticons","fontAwesome","specialCharacters","embedly","insertFile","insertHR"],buttonsVisible:10}}}},e.ctorParameters=function(){return[{type:t.ChangeDetectorRef}]},m([t.HostBinding("class.focused"),b("design:type",Object)],e.prototype,"classFocused",void 0),m([t.ViewChild("elRef"),b("design:type",t.ElementRef)],e.prototype,"elRef",void 0),m([t.Input(),b("design:type",Object)],e.prototype,"config",void 0),m([t.Input(),b("design:type",String)],e.prototype,"ngModel",void 0),e=o=m([t.Component({selector:"fs-html-editor",template:'<div class="fs-html-editor-default">\n <div #elRef [innerHTML]="model"></div>\n <div class="bottom-line"></div>\n</div>\n',providers:[{provide:p.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return o})),multi:!0},{provide:p.NG_VALIDATORS,useExisting:t.forwardRef((function(){return o})),multi:!0}],changeDetection:t.ChangeDetectionStrategy.OnPush,styles:[":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494;margin-bottom:1px}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:0;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px;transition:none}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]}),b("design:paramtypes",[t.ChangeDetectorRef])],e)}(),v=function(){function e(){}return m([t.Input(),b("design:type",String)],e.prototype,"html",void 0),e=m([t.Component({selector:"fs-html-renderer",template:'<div class="fr-view fs-html-editor-default" [innerHtml]="html"></div>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,styles:[""]})],e)}(),x=function(){function e(){}var r;return r=e,e.forRoot=function(){return{ngModule:r}},e=r=m([t.NgModule({imports:[o.CommonModule],exports:[j,v],declarations:[j,v]})],e)}();e.FsHtmlEditorComponent=j,e.FsHtmlEditorModule=x,e.FsHtmlRendererComponent=v,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=firestitch-html-editor.umd.min.js.map
var FsHtmlEditorComponent_1;
import { __decorate, __metadata } from "tslib";
import { ChangeDetectionStrategy, Component, ElementRef, ViewChild, forwardRef, Input, HostBinding } from '@angular/core';
import { ChangeDetectionStrategy, Component, ElementRef, ViewChild, AfterViewInit, forwardRef, OnDestroy, Input, HostBinding, ChangeDetectorRef } from '@angular/core';
import FroalaEditor from 'froala-editor';

@@ -21,3 +21,4 @@ //import FroalaEditor from '../../../froala/js/froala_editor.min.js';

let FsHtmlEditorComponent = FsHtmlEditorComponent_1 = class FsHtmlEditorComponent {
constructor() {
constructor(_cdRef) {
this._cdRef = _cdRef;
this.classFocused = false;

@@ -36,3 +37,3 @@ this.config = {};

ngAfterViewInit() {
this.el.innerHTML = this.ngModel;
this.el.innerHTML = this.ngModel || '';
this._editor = new FroalaEditor(this.el, this._createOptions());

@@ -64,6 +65,6 @@ }

writeValue(html) {
this._html = html;
this._html = html || '';
if (this._editor && this._editor.html) {
try {
this._editor.html.set(html);
this._editor.html.set(this._html);
}

@@ -96,3 +97,8 @@ catch (e) { }

this.classFocused = true;
this._cdRef.markForCheck();
},
blur: () => {
this.classFocused = false;
this._cdRef.markForCheck();
},
contentChanged: () => {

@@ -185,2 +191,5 @@ this.onChange(this._editor.html.get());

};
FsHtmlEditorComponent.ctorParameters = () => [
{ type: ChangeDetectorRef }
];
__decorate([

@@ -205,3 +214,3 @@ HostBinding('class.focused'),

selector: 'fs-html-editor',
template: "<div class=\"fs-html-editor-default\">\n <div #elRef [innerHTML]=\"model\"></div>\n\n <div class=\"bottom-line\"></div>\n</div>\n",
template: "<div class=\"fs-html-editor-default\">\n <div #elRef [innerHTML]=\"model\"></div>\n <div class=\"bottom-line\"></div>\n</div>\n",
providers: [

@@ -220,7 +229,7 @@ {

changeDetection: ChangeDetectionStrategy.OnPush,
styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:10px;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]
styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494;margin-bottom:1px}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:0;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px;transition:none}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]
}),
__metadata("design:paramtypes", [])
__metadata("design:paramtypes", [ChangeDetectorRef])
], FsHtmlEditorComponent);
export { FsHtmlEditorComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvaHRtbC1lZGl0b3IvIiwic291cmNlcyI6WyJhcHAvY29tcG9uZW50cy9odG1sLWVkaXRvci9odG1sLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQzFDLFVBQVUsRUFBYSxLQUFLLEVBQUUsV0FBVyxFQUN6RCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLFlBQVksTUFBTSxlQUFlLENBQUM7QUFDekMscUVBQXFFO0FBQ3JFLE9BQU8sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyx3Q0FBd0MsQ0FBQztBQUNoRCxPQUFPLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyx1Q0FBdUMsQ0FBQztBQUM5QyxPQUFPLGtEQUFrRCxDQUFBO0FBQzFELE9BQU8sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLHVDQUF1QyxDQUFDO0FBRS9DLE9BQU8seUJBQXlCLENBQUM7QUFDakMsT0FBTyxvQkFBb0IsQ0FBQztBQUk1QixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFzRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBb0IzQyxJQUFhLHFCQUFxQiw2QkFBbEMsTUFBYSxxQkFBcUI7SUFhaEM7UUFYOEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFbkMsV0FBTSxHQUF1QixFQUFFLENBQUM7UUFLeEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFNM0IsYUFBUSxHQUFHLENBQUMsSUFBUyxFQUFFLEVBQUUsR0FBRSxD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O0lBbEJqQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLCtJQUF5QztRQUV6QyxTQUFTLEVBQUU7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUFxQixDQUFDO2dCQUNwRCxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXFCLENBQUM7Z0JBQ3BELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjtRQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNoRCxDQUFDOztHQUNXLHFCQUFxQixDQTZMakM7U0E3TFkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkLFxuICBBZnRlclZpZXdJbml0LCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3ksIElucHV0LCBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IEZyb2FsYUVkaXRvciBmcm9tICdmcm9hbGEtZWRpdG9yJztcbi8vaW1wb3J0IEZyb2FsYUVkaXRvciBmcm9tICcuLi8uLi8uLi9mcm9hbGEvanMvZnJvYWxhX2VkaXRvci5taW4uanMnO1xuaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvYWxpZ24ubWluLmpzJztcbmltcG9ydCAnZnJvYWxhLWVkaXRvci9qcy9wbHVnaW5zL2NvbG9ycy5taW4uanMnO1xuaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvaW1hZ2UubWluLmpzJztcbmltcG9ydCAnZnJvYWxhLWVkaXRvci9qcy9wbHVnaW5zL2xpbmsubWluLmpzJztcbmltcG9ydCAnZnJvYWxhLWVkaXRvci9qcy9wbHVnaW5zL2xpc3RzLm1pbi5qcyc7XG4gaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvcGFyYWdyYXBoX2Zvcm1hdC5taW4uanMnXG5pbXBvcnQgJ2Zyb2FsYS1lZGl0b3IvanMvcGx1Z2lucy90YWJsZS5taW4uanMnO1xuaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvdXJsLm1pbi5qcyc7XG5pbXBvcnQgJ2Zyb2FsYS1lZGl0b3IvanMvcGx1Z2lucy92aWRlby5taW4uanMnO1xuXG5pbXBvcnQgJy4uLy4uL3BsdWdpbnMvY2hlY2tsaXN0JztcbmltcG9ydCAnLi4vLi4vcGx1Z2lucy9jb2RlJztcblxuaW1wb3J0IHsgRnNIdG1sRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWh0bWwtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICdodG1sLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydodG1sLWVkaXRvci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZzSHRtbEVkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZzSHRtbEVkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0h0bWxFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkRlc3Ryb3kge1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZm9jdXNlZCcpIGNsYXNzRm9jdXNlZCA9IGZhbHNlO1xuICBAVmlld0NoaWxkKCdlbFJlZicpIHB1YmxpYyBlbFJlZjogRWxlbWVudFJlZjtcbiAgQElucHV0KCkgcHVibGljIGNvbmZpZzogRnNIdG1sRWRpdG9yQ29uZmlnID0ge307XG4gIEBJbnB1dCgpIHB1YmxpYyBuZ01vZGVsOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfZWRpdG9yOiBGcm9hbGFFZGl0b3I7XG4gIHByaXZhdGUgX2h0bWw6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyBtb2RlbDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG9uQ2hhbmdlID0gKGRhdGE6IGFueSkgPT4ge307XG4gIHB1YmxpYyBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICBwdWJsaWMgZ2V0IGVsKCk6IGFueSAge1xuICAgIHJldHVybiB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVkaXRvcigpOiBhbnkgIHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsLmlubmVySFRNTCA9IHRoaXMubmdNb2RlbDtcbiAgICB0aGlzLl9lZGl0b3IgPSBuZXcgRnJvYWxhRWRpdG9yKHRoaXMuZWwsIHRoaXMuX2NyZWF0ZU9wdGlvbnMoKSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuXG4gICAgY29uc3QgZXJyOiBhbnkgPSB7fTtcbiAgICBpZiAodGhpcy5jb25maWcubWF4TGVuZ3RoICYmIHRoaXMuX2h0bWwpIHtcbiAgICAgIGNvbnN0IG1heExlbmd0aCA9IHRoaXMuY29uZmlnLm1heExlbmd0aDtcbiAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuX2h0bWwubGVuZ3RoO1xuICAgICAgaWYgKGxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgICBlcnIubWF4TGVuZ3RoRXJyb3IgPSBgTXVzdCBiZSAke21heExlbmd0aH0gY2hhcmFjdGVycyBvciBmZXdlci4gWW91IGVudGVyZWQgJHtsZW5ndGh9IGNoYXJhY3RlcnMuYDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZXJyKS5sZW5ndGggPyBlcnIgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKCkge1xuICAgIHRoaXMuZWRpdG9yLmV2ZW50cy5mb2N1cygpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCkge1xuICAgIHRoaXMud3JpdGVWYWx1ZSgnJyk7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZSgpIHtcbiAgICB0aGlzLmVkaXRvci5lZGl0Lm9mZigpO1xuICB9XG5cbiAgcHVibGljIHNldEh0bWwoaHRtbCkge1xuICAgIHRoaXMud3JpdGVWYWx1ZShodG1sKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKGh0bWw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2h0bWwgPSBodG1sO1xuICAgIGlmICh0aGlzLl9lZGl0b3IgJiYgdGhpcy5fZWRpdG9yLmh0bWwpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuX2VkaXRvci5odG1sLnNldChodG1sKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChkYXRhOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7fVxuXG4gIHByaXZhdGUgX2NyZWF0ZU9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBsYWNlaG9sZGVyVGV4dDogdGhpcy5jb25maWcucGxhY2Vob2xkZXIsXG4gICAgICBsaW5rQWx3YXlzQmxhbms6IHRydWUsXG4gICAgICB0YWJTcGFjZXM6IDIsXG4gICAgICB0eXBpbmdUaW1lcjogMjUwLFxuICAgICAgdG9vbHRpcHM6IGZhbHNlLFxuICAgICAgcGFyYWdyYXBoRGVmYXVsdFNlbGVjdGlvbjogJ0Zvcm1hdCcsXG4gICAgICBldmVudHM6IHtcbiAgICAgICAgZm9jdXM6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmNsYXNzRm9jdXNlZCA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnRDaGFuZ2VkOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl9lZGl0b3IuaHRtbC5nZXQoKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGtleWRvd246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB9LFxuICAgICAgICAnaW1hZ2UuYmVmb3JlVXBsb2FkJzogKGltYWdlcykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5pbWFnZSAmJiB0aGlzLmNvbmZpZy5pbWFnZS51cGxvYWQpIHtcblxuICAgICAgICAgICAgdGhpcy5jb25maWcuaW1hZ2UudXBsb2FkKGltYWdlc1swXSlcbiAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh1cmwpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvci5pbWFnZS5pbnNlcnQodXJsLCBudWxsLCBudWxsLCB0aGlzLmVkaXRvci5pbWFnZS5nZXQoKSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgaW5pdGlhbGl6ZWQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmVsLnF1ZXJ5U2VsZWN0b3IoJy5zZWNvbmQtdG9vbGJhcicpLnJlbW92ZSgpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHBhcmFncmFwaEZvcm1hdDoge1xuICAgICAgICBOOiAnTm9ybWFsJyxcbiAgICAgICAgSDE6ICdIZWFkaW5nIDEnLFxuICAgICAgICBIMjogJ0hlYWRpbmcgMicsXG4gICAgICAgIEgzOiAnSGVhZGluZyAzJyxcbiAgICAgICAgSDQ6ICdIZWFkaW5nIDQnXG4gICAgICB9LFxuICAgICAgcGFyYWdyYXBoRm9ybWF0U2VsZWN0aW9uOiB0cnVlLFxuICAgICAgdG9vbGJhckJ1dHRvbnM6IHtcblxuICAgICAgICBtb3JlVGV4dDoge1xuICAgICAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgICAgICdwYXJhZ3JhcGhGb3JtYXQnLFxuICAgICAgICAgICAgJ2JvbGQnLFxuICAgICAgICAgICAgJ2l0YWxpYycsXG4gICAgICAgICAgICAndGFibGUnLFxuICAgICAgICAgICAgJ3VuZGVybGluZScsXG4gICAgICAgICAgICAnc3RyaWtlVGhyb3VnaCcsXG4gICAgICAgICAgICAnc3Vic2NyaXB0JyxcbiAgICAgICAgICAgICdzdXBlcnNjcmlwdCcsXG4gICAgICAgICAgICAnZm9udEZhbWlseScsXG4gICAgICAgICAgICAnZm9udFNpemUnLFxuICAgICAgICAgICAgJ3RleHRDb2xvcicsXG4gICAgICAgICAgICAnYmFja2dyb3VuZENvbG9yJyxcbiAgICAgICAgICAgICdpbmxpbmVDbGFzcycsXG4gICAgICAgICAgICAnaW5saW5lU3R5bGUnLFxuICAgICAgICAgICAgJ2NsZWFyRm9ybWF0dGluZycsXG4gICAgICAgICAgXSxcbiAgICAgICAgICBidXR0b25zVmlzaWJsZTogMixcbiAgICAgICAgfSxcbiAgICAgICAgbW9yZVBhcmFncmFwaDoge1xuICAgICAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgICAgICdhbGlnbkxlZnQnLFxuICAgICAgICAgICAgJ2FsaWduQ2VudGVyJyxcbiAgICAgICAgICAgICdmb3JtYXRPTFNpbXBsZScsXG4gICAgICAgICAgICAnY2hlY2tsaXN0JyxcbiAgICAgICAgICAgICdjb2RlJyxcbiAgICAgICAgICAgICdhbGlnblJpZ2h0JyxcbiAgICAgICAgICAgICdhbGlnbkp1c3RpZnknLFxuICAgICAgICAgICAgJ2Zvcm1hdE9MJyxcbiAgICAgICAgICAgICdmb3JtYXRVTCcsXG4gICAgICAgICAgICAncGFyYWdyYXBoU3R5bGUnLFxuICAgICAgICAgICAgJ2xpbmVIZWlnaHQnLFxuICAgICAgICAgICAgJ291dGRlbnQnLFxuICAgICAgICAgICAgJ2luZGVudCcsXG4gICAgICAgICAgICAncXVvdGUnXG4gICAgICAgICAgXSxcbiAgICAgICAgICBidXR0b25zVmlzaWJsZTogNSxcbiAgICAgICAgfSxcbiAgICAgICAgbW9yZVJpY2g6IHtcbiAgICAgICAgICBidXR0b25zOiBbXG4gICAgICAgICAgICAnaW5zZXJ0TGluaycsXG4gICAgICAgICAgICAnaW5zZXJ0SW1hZ2UnLFxuICAgICAgICAgICAgJ2luc2VydFZpZGVvJyxcbiAgICAgICAgICAgICdpbnNlcnRUYWJsZScsXG4gICAgICAgICAgICAnZW1vdGljb25zJyxcbiAgICAgICAgICAgICdmb250QXdlc29tZScsXG4gICAgICAgICAgICAnc3BlY2lhbENoYXJhY3RlcnMnLFxuICAgICAgICAgICAgJ2VtYmVkbHknLFxuICAgICAgICAgICAgJ2luc2VydEZpbGUnLFxuICAgICAgICAgICAgJ2luc2VydEhSJyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiAxMCxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvaHRtbC1lZGl0b3IvIiwic291cmNlcyI6WyJhcHAvY29tcG9uZW50cy9odG1sLWVkaXRvci9odG1sLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQ3pELGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQzVFLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sWUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxxRUFBcUU7QUFDckUsT0FBTyx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLHVDQUF1QyxDQUFDO0FBQzlDLE9BQU8sa0RBQWtELENBQUE7QUFDMUQsT0FBTyx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sdUNBQXVDLENBQUM7QUFFL0MsT0FBTyx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLG9CQUFvQixDQUFDO0FBSTVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQXNFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFvQjNDLElBQWEscUJBQXFCLDZCQUFsQyxNQUFhLHFCQUFxQjtJQWFoQyxZQUFvQixNQUF5QjtRQUF6QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQVhmLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRW5DLFdBQU0sR0FBdUIsRUFBRSxDQUFDO1FBS3hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBTTNCLGFBQVEsR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzdCLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFIb0IsQ0FBQztJQUtqRCxJQUFXLEVBQUU7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxRQUFRLENBQUMsT0FBd0I7UUFFdEMsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNqQyxJQUFJLE1BQU0sR0FBRyxTQUFTLEVBQUU7Z0JBQ3RCLEdBQUcsQ0FBQyxjQUFjLEdBQUcsV0FBVyxTQUFTLHFDQUFxQyxNQUFNLGNBQWMsQ0FBQzthQUNwRztTQUNGO1FBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDOUMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU0sVUFBVSxDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtZQUNyQyxJQUFJO2dCQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDbkM7WUFBQyxPQUFPLENBQUMsRUFBRSxHQUFFO1NBQ2Y7SUFDSCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBdUI7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQWM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU0sT0FBTyxLQUFJLENBQUM7SUFFWCxjQUFjO1FBQ3BCLE9BQU87WUFDTCxlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXO1lBQ3hDLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFNBQVMsRUFBRSxDQUFDO1lBQ1osV0FBVyxFQUFFLEdBQUc7WUFDaEIsUUFBUSxFQUFFLEtBQUs7WUFDZix5QkFBeUIsRUFBRSxRQUFRO1lBQ25DLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsR0FBRyxFQUFFO29CQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO29CQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM3QixDQUFDO2dCQUNELElBQUksRUFBRSxHQUFHLEVBQUU7b0JBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7b0JBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzdCLENBQUM7Z0JBQ0QsY0FBYyxFQUFFLEdBQUcsRUFBRTtvQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QyxDQUFDO2dCQUNELE9BQU8sRUFBRSxHQUFHLEVBQUU7b0JBQ1osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNuQixDQUFDO2dCQUNELG9CQUFvQixFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQy9CLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO3dCQUVqRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDOzZCQUNoQyxJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7NkJBQ0EsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7NEJBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO3dCQUNyRSxDQUFDLENBQUMsQ0FBQztxQkFDTjtvQkFFRCxPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDO2dCQUNELFdBQVcsRUFBRSxHQUFHLEVBQUU7b0JBQ2hCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BELENBQUM7YUFDRjtZQUNELGVBQWUsRUFBRTtnQkFDZixDQUFDLEVBQUUsUUFBUTtnQkFDWCxFQUFFLEVBQUUsV0FBVztnQkFDZixFQUFFLEVBQUUsV0FBVztnQkFDZixFQUFFLEVBQUUsV0FBVztnQkFDZixFQUFFLEVBQUUsV0FBVzthQUNoQjtZQUNELHdCQUF3QixFQUFFLElBQUk7WUFDOUIsY0FBYyxFQUFFO2dCQUVkLFFBQVEsRUFBRTtvQkFDUixPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixNQUFNO3dCQUNOLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGlCQUFpQjtxQkFDbEI7b0JBQ0QsY0FBYyxFQUFFLENBQUM7aUJBQ2xCO2dCQUNELGFBQWEsRUFBRTtvQkFDYixPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxNQUFNO3dCQUNOLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixPQUFPO3FCQUNSO29CQUNELGNBQWMsRUFBRSxDQUFDO2lCQUNsQjtnQkFDRCxRQUFRLEVBQUU7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxZQUFZO3dCQUNaLFVBQVU7cUJBQ1g7b0JBQ0QsY0FBYyxFQUFFLEVBQUU7aUJBQ25CO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7O1lBckw2QixpQkFBaUI7O0FBWGY7SUFBN0IsV0FBVyxDQUFDLGVBQWUsQ0FBQzs7MkRBQXNCO0FBQy9CO0lBQW5CLFNBQVMsQ0FBQyxPQUFPLENBQUM7OEJBQWUsVUFBVTtvREFBQztBQUNwQztJQUFSLEtBQUssRUFBRTs7cURBQXdDO0FBQ3ZDO0lBQVIsS0FBSyxFQUFFOztzREFBd0I7QUFMckIscUJBQXFCO0lBbEJqQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLDZJQUF5QztRQUV6QyxTQUFTLEVBQUU7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUFxQixDQUFDO2dCQUNwRCxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXFCLENBQUM7Z0JBQ3BELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjtRQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNoRCxDQUFDO3FDQWM0QixpQkFBaUI7R0FibEMscUJBQXFCLENBa01qQztTQWxNWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsXG4gIEFmdGVyVmlld0luaXQsIGZvcndhcmRSZWYsIE9uRGVzdHJveSwgSW5wdXQsIEhvc3RCaW5kaW5nLCBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IEZyb2FsYUVkaXRvciBmcm9tICdmcm9hbGEtZWRpdG9yJztcbi8vaW1wb3J0IEZyb2FsYUVkaXRvciBmcm9tICcuLi8uLi8uLi9mcm9hbGEvanMvZnJvYWxhX2VkaXRvci5taW4uanMnO1xuaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvYWxpZ24ubWluLmpzJztcbmltcG9ydCAnZnJvYWxhLWVkaXRvci9qcy9wbHVnaW5zL2NvbG9ycy5taW4uanMnO1xuaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvaW1hZ2UubWluLmpzJztcbmltcG9ydCAnZnJvYWxhLWVkaXRvci9qcy9wbHVnaW5zL2xpbmsubWluLmpzJztcbmltcG9ydCAnZnJvYWxhLWVkaXRvci9qcy9wbHVnaW5zL2xpc3RzLm1pbi5qcyc7XG4gaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvcGFyYWdyYXBoX2Zvcm1hdC5taW4uanMnXG5pbXBvcnQgJ2Zyb2FsYS1lZGl0b3IvanMvcGx1Z2lucy90YWJsZS5taW4uanMnO1xuaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvdXJsLm1pbi5qcyc7XG5pbXBvcnQgJ2Zyb2FsYS1lZGl0b3IvanMvcGx1Z2lucy92aWRlby5taW4uanMnO1xuXG5pbXBvcnQgJy4uLy4uL3BsdWdpbnMvY2hlY2tsaXN0JztcbmltcG9ydCAnLi4vLi4vcGx1Z2lucy9jb2RlJztcblxuaW1wb3J0IHsgRnNIdG1sRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWh0bWwtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICdodG1sLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydodG1sLWVkaXRvci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZzSHRtbEVkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZzSHRtbEVkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0h0bWxFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkRlc3Ryb3kge1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZm9jdXNlZCcpIGNsYXNzRm9jdXNlZCA9IGZhbHNlO1xuICBAVmlld0NoaWxkKCdlbFJlZicpIHB1YmxpYyBlbFJlZjogRWxlbWVudFJlZjtcbiAgQElucHV0KCkgcHVibGljIGNvbmZpZzogRnNIdG1sRWRpdG9yQ29uZmlnID0ge307XG4gIEBJbnB1dCgpIHB1YmxpYyBuZ01vZGVsOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfZWRpdG9yOiBGcm9hbGFFZGl0b3I7XG4gIHByaXZhdGUgX2h0bWw6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyBtb2RlbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgcHVibGljIG9uQ2hhbmdlID0gKGRhdGE6IGFueSkgPT4ge307XG4gIHB1YmxpYyBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICBwdWJsaWMgZ2V0IGVsKCk6IGFueSAge1xuICAgIHJldHVybiB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVkaXRvcigpOiBhbnkgIHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsLmlubmVySFRNTCA9IHRoaXMubmdNb2RlbCB8fCAnJztcbiAgICB0aGlzLl9lZGl0b3IgPSBuZXcgRnJvYWxhRWRpdG9yKHRoaXMuZWwsIHRoaXMuX2NyZWF0ZU9wdGlvbnMoKSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuXG4gICAgY29uc3QgZXJyOiBhbnkgPSB7fTtcbiAgICBpZiAodGhpcy5jb25maWcubWF4TGVuZ3RoICYmIHRoaXMuX2h0bWwpIHtcbiAgICAgIGNvbnN0IG1heExlbmd0aCA9IHRoaXMuY29uZmlnLm1heExlbmd0aDtcbiAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuX2h0bWwubGVuZ3RoO1xuICAgICAgaWYgKGxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgICBlcnIubWF4TGVuZ3RoRXJyb3IgPSBgTXVzdCBiZSAke21heExlbmd0aH0gY2hhcmFjdGVycyBvciBmZXdlci4gWW91IGVudGVyZWQgJHtsZW5ndGh9IGNoYXJhY3RlcnMuYDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZXJyKS5sZW5ndGggPyBlcnIgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKCkge1xuICAgIHRoaXMuZWRpdG9yLmV2ZW50cy5mb2N1cygpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCkge1xuICAgIHRoaXMud3JpdGVWYWx1ZSgnJyk7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZSgpIHtcbiAgICB0aGlzLmVkaXRvci5lZGl0Lm9mZigpO1xuICB9XG5cbiAgcHVibGljIHNldEh0bWwoaHRtbCkge1xuICAgIHRoaXMud3JpdGVWYWx1ZShodG1sKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKGh0bWw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2h0bWwgPSBodG1sIHx8ICcnO1xuICAgIGlmICh0aGlzLl9lZGl0b3IgJiYgdGhpcy5fZWRpdG9yLmh0bWwpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuX2VkaXRvci5odG1sLnNldCh0aGlzLl9odG1sKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChkYXRhOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7fVxuXG4gIHByaXZhdGUgX2NyZWF0ZU9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBsYWNlaG9sZGVyVGV4dDogdGhpcy5jb25maWcucGxhY2Vob2xkZXIsXG4gICAgICBsaW5rQWx3YXlzQmxhbms6IHRydWUsXG4gICAgICB0YWJTcGFjZXM6IDIsXG4gICAgICB0eXBpbmdUaW1lcjogMjUwLFxuICAgICAgdG9vbHRpcHM6IGZhbHNlLFxuICAgICAgcGFyYWdyYXBoRGVmYXVsdFNlbGVjdGlvbjogJ0Zvcm1hdCcsXG4gICAgICBldmVudHM6IHtcbiAgICAgICAgZm9jdXM6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmNsYXNzRm9jdXNlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGJsdXI6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmNsYXNzRm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9LFxuICAgICAgICBjb250ZW50Q2hhbmdlZDogKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fZWRpdG9yLmh0bWwuZ2V0KCkpO1xuICAgICAgICB9LFxuICAgICAgICBrZXlkb3duOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgJ2ltYWdlLmJlZm9yZVVwbG9hZCc6IChpbWFnZXMpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5jb25maWcuaW1hZ2UgJiYgdGhpcy5jb25maWcuaW1hZ2UudXBsb2FkKSB7XG5cbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmltYWdlLnVwbG9hZChpbWFnZXNbMF0pXG4gICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSgodXJsKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0b3IuaW1hZ2UuaW5zZXJ0KHVybCwgbnVsbCwgbnVsbCwgdGhpcy5lZGl0b3IuaW1hZ2UuZ2V0KCkpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGluaXRpYWxpemVkOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5lbC5xdWVyeVNlbGVjdG9yKCcuc2Vjb25kLXRvb2xiYXInKS5yZW1vdmUoKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBwYXJhZ3JhcGhGb3JtYXQ6IHtcbiAgICAgICAgTjogJ05vcm1hbCcsXG4gICAgICAgIEgxOiAnSGVhZGluZyAxJyxcbiAgICAgICAgSDI6ICdIZWFkaW5nIDInLFxuICAgICAgICBIMzogJ0hlYWRpbmcgMycsXG4gICAgICAgIEg0OiAnSGVhZGluZyA0J1xuICAgICAgfSxcbiAgICAgIHBhcmFncmFwaEZvcm1hdFNlbGVjdGlvbjogdHJ1ZSxcbiAgICAgIHRvb2xiYXJCdXR0b25zOiB7XG5cbiAgICAgICAgbW9yZVRleHQ6IHtcbiAgICAgICAgICBidXR0b25zOiBbXG4gICAgICAgICAgICAncGFyYWdyYXBoRm9ybWF0JyxcbiAgICAgICAgICAgICdib2xkJyxcbiAgICAgICAgICAgICdpdGFsaWMnLFxuICAgICAgICAgICAgJ3RhYmxlJyxcbiAgICAgICAgICAgICd1bmRlcmxpbmUnLFxuICAgICAgICAgICAgJ3N0cmlrZVRocm91Z2gnLFxuICAgICAgICAgICAgJ3N1YnNjcmlwdCcsXG4gICAgICAgICAgICAnc3VwZXJzY3JpcHQnLFxuICAgICAgICAgICAgJ2ZvbnRGYW1pbHknLFxuICAgICAgICAgICAgJ2ZvbnRTaXplJyxcbiAgICAgICAgICAgICd0ZXh0Q29sb3InLFxuICAgICAgICAgICAgJ2JhY2tncm91bmRDb2xvcicsXG4gICAgICAgICAgICAnaW5saW5lQ2xhc3MnLFxuICAgICAgICAgICAgJ2lubGluZVN0eWxlJyxcbiAgICAgICAgICAgICdjbGVhckZvcm1hdHRpbmcnLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYnV0dG9uc1Zpc2libGU6IDIsXG4gICAgICAgIH0sXG4gICAgICAgIG1vcmVQYXJhZ3JhcGg6IHtcbiAgICAgICAgICBidXR0b25zOiBbXG4gICAgICAgICAgICAnYWxpZ25MZWZ0JyxcbiAgICAgICAgICAgICdhbGlnbkNlbnRlcicsXG4gICAgICAgICAgICAnZm9ybWF0T0xTaW1wbGUnLFxuICAgICAgICAgICAgJ2NoZWNrbGlzdCcsXG4gICAgICAgICAgICAnY29kZScsXG4gICAgICAgICAgICAnYWxpZ25SaWdodCcsXG4gICAgICAgICAgICAnYWxpZ25KdXN0aWZ5JyxcbiAgICAgICAgICAgICdmb3JtYXRPTCcsXG4gICAgICAgICAgICAnZm9ybWF0VUwnLFxuICAgICAgICAgICAgJ3BhcmFncmFwaFN0eWxlJyxcbiAgICAgICAgICAgICdsaW5lSGVpZ2h0JyxcbiAgICAgICAgICAgICdvdXRkZW50JyxcbiAgICAgICAgICAgICdpbmRlbnQnLFxuICAgICAgICAgICAgJ3F1b3RlJ1xuICAgICAgICAgIF0sXG4gICAgICAgICAgYnV0dG9uc1Zpc2libGU6IDUsXG4gICAgICAgIH0sXG4gICAgICAgIG1vcmVSaWNoOiB7XG4gICAgICAgICAgYnV0dG9uczogW1xuICAgICAgICAgICAgJ2luc2VydExpbmsnLFxuICAgICAgICAgICAgJ2luc2VydEltYWdlJyxcbiAgICAgICAgICAgICdpbnNlcnRWaWRlbycsXG4gICAgICAgICAgICAnaW5zZXJ0VGFibGUnLFxuICAgICAgICAgICAgJ2Vtb3RpY29ucycsXG4gICAgICAgICAgICAnZm9udEF3ZXNvbWUnLFxuICAgICAgICAgICAgJ3NwZWNpYWxDaGFyYWN0ZXJzJyxcbiAgICAgICAgICAgICdlbWJlZGx5JyxcbiAgICAgICAgICAgICdpbnNlcnRGaWxlJyxcbiAgICAgICAgICAgICdpbnNlcnRIUicsXG4gICAgICAgICAgXSxcbiAgICAgICAgICBidXR0b25zVmlzaWJsZTogMTAsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuIl19
import { __decorate, __metadata } from "tslib";
import { ChangeDetectionStrategy, Component, ElementRef, ViewChild, forwardRef, Input, HostBinding } from '@angular/core';
import { ChangeDetectionStrategy, Component, ElementRef, ViewChild, AfterViewInit, forwardRef, OnDestroy, Input, HostBinding, ChangeDetectorRef } from '@angular/core';
import FroalaEditor from 'froala-editor';

@@ -20,3 +20,4 @@ //import FroalaEditor from '../../../froala/js/froala_editor.min.js';

var FsHtmlEditorComponent = /** @class */ (function () {
function FsHtmlEditorComponent() {
function FsHtmlEditorComponent(_cdRef) {
this._cdRef = _cdRef;
this.classFocused = false;

@@ -44,3 +45,3 @@ this.config = {};

FsHtmlEditorComponent.prototype.ngAfterViewInit = function () {
this.el.innerHTML = this.ngModel;
this.el.innerHTML = this.ngModel || '';
this._editor = new FroalaEditor(this.el, this._createOptions());

@@ -72,6 +73,6 @@ };

FsHtmlEditorComponent.prototype.writeValue = function (html) {
this._html = html;
this._html = html || '';
if (this._editor && this._editor.html) {
try {
this._editor.html.set(html);
this._editor.html.set(this._html);
}

@@ -105,3 +106,8 @@ catch (e) { }

_this.classFocused = true;
_this._cdRef.markForCheck();
},
blur: function () {
_this.classFocused = false;
_this._cdRef.markForCheck();
},
contentChanged: function () {

@@ -194,2 +200,5 @@ _this.onChange(_this._editor.html.get());

var FsHtmlEditorComponent_1;
FsHtmlEditorComponent.ctorParameters = function () { return [
{ type: ChangeDetectorRef }
]; };
__decorate([

@@ -214,3 +223,3 @@ HostBinding('class.focused'),

selector: 'fs-html-editor',
template: "<div class=\"fs-html-editor-default\">\n <div #elRef [innerHTML]=\"model\"></div>\n\n <div class=\"bottom-line\"></div>\n</div>\n",
template: "<div class=\"fs-html-editor-default\">\n <div #elRef [innerHTML]=\"model\"></div>\n <div class=\"bottom-line\"></div>\n</div>\n",
providers: [

@@ -229,5 +238,5 @@ {

changeDetection: ChangeDetectionStrategy.OnPush,
styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:10px;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]
styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494;margin-bottom:1px}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:0;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px;transition:none}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]
}),
__metadata("design:paramtypes", [])
__metadata("design:paramtypes", [ChangeDetectorRef])
], FsHtmlEditorComponent);

@@ -237,2 +246,2 @@ return FsHtmlEditorComponent;

export { FsHtmlEditorComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvaHRtbC1lZGl0b3IvIiwic291cmNlcyI6WyJhcHAvY29tcG9uZW50cy9odG1sLWVkaXRvci9odG1sLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFDMUMsVUFBVSxFQUFhLEtBQUssRUFBRSxXQUFXLEVBQ3pELE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sWUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxxRUFBcUU7QUFDckUsT0FBTyx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLHVDQUF1QyxDQUFDO0FBQzlDLE9BQU8sa0RBQWtELENBQUE7QUFDMUQsT0FBTyx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sdUNBQXVDLENBQUM7QUFFL0MsT0FBTyx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLG9CQUFvQixDQUFDO0FBSTVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQXNFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFvQjNDO0lBYUU7UUFYOEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFbkMsV0FBTSxHQUF1QixFQUFFLENBQUM7UUFLeEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFNM0IsYUFBUSxHQUFHLFVBQUMsSUFBUyxJQUFNLENBQUMsQ0FBQztRQUM3QixjQUFTLEdBQUcsY0FBTyxDQUFDLENBQUM7SUFI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THJCLHFCQUFxQjtRQWxCakMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQiwrSUFBeUM7WUFFekMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLHVCQUFxQixFQUFyQixDQUFxQixDQUFDO29CQUNwRCxLQUFLLEVBQUUsSUFBSTtpQkFDWjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsdUJBQXFCLEVBQXJCLENBQXFCLENBQUM7b0JBQ3BELEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7WUFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7U0FDaEQsQ0FBQzs7T0FDVyxxQkFBcUIsQ0E2TGpDO0lBQUQsNEJBQUM7Q0FBQSxBQTdMRCxJQTZMQztTQTdMWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsXG4gIEFmdGVyVmlld0luaXQsIGZvcndhcmRSZWYsIE9uRGVzdHJveSwgSW5wdXQsIEhvc3RCaW5kaW5nXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgRnJvYWxhRWRpdG9yIGZyb20gJ2Zyb2FsYS1lZGl0b3InO1xuLy9pbXBvcnQgRnJvYWxhRWRpdG9yIGZyb20gJy4uLy4uLy4uL2Zyb2FsYS9qcy9mcm9hbGFfZWRpdG9yLm1pbi5qcyc7XG5pbXBvcnQgJ2Zyb2FsYS1lZGl0b3IvanMvcGx1Z2lucy9hbGlnbi5taW4uanMnO1xuaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvY29sb3JzLm1pbi5qcyc7XG5pbXBvcnQgJ2Zyb2FsYS1lZGl0b3IvanMvcGx1Z2lucy9pbWFnZS5taW4uanMnO1xuaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvbGluay5taW4uanMnO1xuaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvbGlzdHMubWluLmpzJztcbiBpbXBvcnQgJ2Zyb2FsYS1lZGl0b3IvanMvcGx1Z2lucy9wYXJhZ3JhcGhfZm9ybWF0Lm1pbi5qcydcbmltcG9ydCAnZnJvYWxhLWVkaXRvci9qcy9wbHVnaW5zL3RhYmxlLm1pbi5qcyc7XG5pbXBvcnQgJ2Zyb2FsYS1lZGl0b3IvanMvcGx1Z2lucy91cmwubWluLmpzJztcbmltcG9ydCAnZnJvYWxhLWVkaXRvci9qcy9wbHVnaW5zL3ZpZGVvLm1pbi5qcyc7XG5cbmltcG9ydCAnLi4vLi4vcGx1Z2lucy9jaGVja2xpc3QnO1xuaW1wb3J0ICcuLi8uLi9wbHVnaW5zL2NvZGUnO1xuXG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtaHRtbC1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJ2h0bWwtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2h0bWwtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnNIdG1sRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnNIdG1sRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzSHRtbEVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uRGVzdHJveSB7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb2N1c2VkJykgY2xhc3NGb2N1c2VkID0gZmFsc2U7XG4gIEBWaWV3Q2hpbGQoJ2VsUmVmJykgcHVibGljIGVsUmVmOiBFbGVtZW50UmVmO1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnOiBGc0h0bWxFZGl0b3JDb25maWcgPSB7fTtcbiAgQElucHV0KCkgcHVibGljIG5nTW9kZWw6IHN0cmluZztcblxuICBwcml2YXRlIF9lZGl0b3I6IEZyb2FsYUVkaXRvcjtcbiAgcHJpdmF0ZSBfaHRtbDogc3RyaW5nO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHVibGljIG1vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgb25DaGFuZ2UgPSAoZGF0YTogYW55KSA9PiB7fTtcbiAgcHVibGljIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIHB1YmxpYyBnZXQgZWwoKTogYW55ICB7XG4gICAgcmV0dXJuIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZWRpdG9yKCk6IGFueSAge1xuICAgIHJldHVybiB0aGlzLl9lZGl0b3I7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWwuaW5uZXJIVE1MID0gdGhpcy5uZ01vZGVsO1xuICAgIHRoaXMuX2VkaXRvciA9IG5ldyBGcm9hbGFFZGl0b3IodGhpcy5lbCwgdGhpcy5fY3JlYXRlT3B0aW9ucygpKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG5cbiAgICBjb25zdCBlcnI6IGFueSA9IHt9O1xuICAgIGlmICh0aGlzLmNvbmZpZy5tYXhMZW5ndGggJiYgdGhpcy5faHRtbCkge1xuICAgICAgY29uc3QgbWF4TGVuZ3RoID0gdGhpcy5jb25maWcubWF4TGVuZ3RoO1xuICAgICAgY29uc3QgbGVuZ3RoID0gdGhpcy5faHRtbC5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgIGVyci5tYXhMZW5ndGhFcnJvciA9IGBNdXN0IGJlICR7bWF4TGVuZ3RofSBjaGFyYWN0ZXJzIG9yIGZld2VyLiBZb3UgZW50ZXJlZCAke2xlbmd0aH0gY2hhcmFjdGVycy5gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhlcnIpLmxlbmd0aCA/IGVyciA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZm9jdXMoKSB7XG4gICAgdGhpcy5lZGl0b3IuZXZlbnRzLmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKCcnKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlKCkge1xuICAgIHRoaXMuZWRpdG9yLmVkaXQub2ZmKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0SHRtbChodG1sKSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKGh0bWwpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUoaHRtbDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5faHRtbCA9IGh0bWw7XG4gICAgaWYgKHRoaXMuX2VkaXRvciAmJiB0aGlzLl9lZGl0b3IuaHRtbCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5fZWRpdG9yLmh0bWwuc2V0KGh0bWwpO1xuICAgICAgfSBjYXRjaCAoZSkge31cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKGRhdGE6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5kZXN0cm95KCk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHt9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlT3B0aW9ucygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGxhY2Vob2xkZXJUZXh0OiB0aGlzLmNvbmZpZy5wbGFjZWhvbGRlcixcbiAgICAgIGxpbmtBbHdheXNCbGFuazogdHJ1ZSxcbiAgICAgIHRhYlNwYWNlczogMixcbiAgICAgIHR5cGluZ1RpbWVyOiAyNTAsXG4gICAgICB0b29sdGlwczogZmFsc2UsXG4gICAgICBwYXJhZ3JhcGhEZWZhdWx0U2VsZWN0aW9uOiAnRm9ybWF0JyxcbiAgICAgIGV2ZW50czoge1xuICAgICAgICBmb2N1czogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2xhc3NGb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudENoYW5nZWQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX2VkaXRvci5odG1sLmdldCgpKTtcbiAgICAgICAgfSxcbiAgICAgICAga2V5ZG93bjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIH0sXG4gICAgICAgICdpbWFnZS5iZWZvcmVVcGxvYWQnOiAoaW1hZ2VzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmltYWdlICYmIHRoaXMuY29uZmlnLmltYWdlLnVwbG9hZCkge1xuXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5pbWFnZS51cGxvYWQoaW1hZ2VzWzBdKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHVybCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yLmltYWdlLmluc2VydCh1cmwsIG51bGwsIG51bGwsIHRoaXMuZWRpdG9yLmltYWdlLmdldCgpKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBpbml0aWFsaXplZDogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZWwucXVlcnlTZWxlY3RvcignLnNlY29uZC10b29sYmFyJykucmVtb3ZlKCk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcGFyYWdyYXBoRm9ybWF0OiB7XG4gICAgICAgIE46ICdOb3JtYWwnLFxuICAgICAgICBIMTogJ0hlYWRpbmcgMScsXG4gICAgICAgIEgyOiAnSGVhZGluZyAyJyxcbiAgICAgICAgSDM6ICdIZWFkaW5nIDMnLFxuICAgICAgICBINDogJ0hlYWRpbmcgNCdcbiAgICAgIH0sXG4gICAgICBwYXJhZ3JhcGhGb3JtYXRTZWxlY3Rpb246IHRydWUsXG4gICAgICB0b29sYmFyQnV0dG9uczoge1xuXG4gICAgICAgIG1vcmVUZXh0OiB7XG4gICAgICAgICAgYnV0dG9uczogW1xuICAgICAgICAgICAgJ3BhcmFncmFwaEZvcm1hdCcsXG4gICAgICAgICAgICAnYm9sZCcsXG4gICAgICAgICAgICAnaXRhbGljJyxcbiAgICAgICAgICAgICd0YWJsZScsXG4gICAgICAgICAgICAndW5kZXJsaW5lJyxcbiAgICAgICAgICAgICdzdHJpa2VUaHJvdWdoJyxcbiAgICAgICAgICAgICdzdWJzY3JpcHQnLFxuICAgICAgICAgICAgJ3N1cGVyc2NyaXB0JyxcbiAgICAgICAgICAgICdmb250RmFtaWx5JyxcbiAgICAgICAgICAgICdmb250U2l6ZScsXG4gICAgICAgICAgICAndGV4dENvbG9yJyxcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kQ29sb3InLFxuICAgICAgICAgICAgJ2lubGluZUNsYXNzJyxcbiAgICAgICAgICAgICdpbmxpbmVTdHlsZScsXG4gICAgICAgICAgICAnY2xlYXJGb3JtYXR0aW5nJyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiAyLFxuICAgICAgICB9LFxuICAgICAgICBtb3JlUGFyYWdyYXBoOiB7XG4gICAgICAgICAgYnV0dG9uczogW1xuICAgICAgICAgICAgJ2FsaWduTGVmdCcsXG4gICAgICAgICAgICAnYWxpZ25DZW50ZXInLFxuICAgICAgICAgICAgJ2Zvcm1hdE9MU2ltcGxlJyxcbiAgICAgICAgICAgICdjaGVja2xpc3QnLFxuICAgICAgICAgICAgJ2NvZGUnLFxuICAgICAgICAgICAgJ2FsaWduUmlnaHQnLFxuICAgICAgICAgICAgJ2FsaWduSnVzdGlmeScsXG4gICAgICAgICAgICAnZm9ybWF0T0wnLFxuICAgICAgICAgICAgJ2Zvcm1hdFVMJyxcbiAgICAgICAgICAgICdwYXJhZ3JhcGhTdHlsZScsXG4gICAgICAgICAgICAnbGluZUhlaWdodCcsXG4gICAgICAgICAgICAnb3V0ZGVudCcsXG4gICAgICAgICAgICAnaW5kZW50JyxcbiAgICAgICAgICAgICdxdW90ZSdcbiAgICAgICAgICBdLFxuICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiA1LFxuICAgICAgICB9LFxuICAgICAgICBtb3JlUmljaDoge1xuICAgICAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgICAgICdpbnNlcnRMaW5rJyxcbiAgICAgICAgICAgICdpbnNlcnRJbWFnZScsXG4gICAgICAgICAgICAnaW5zZXJ0VmlkZW8nLFxuICAgICAgICAgICAgJ2luc2VydFRhYmxlJyxcbiAgICAgICAgICAgICdlbW90aWNvbnMnLFxuICAgICAgICAgICAgJ2ZvbnRBd2Vzb21lJyxcbiAgICAgICAgICAgICdzcGVjaWFsQ2hhcmFjdGVycycsXG4gICAgICAgICAgICAnZW1iZWRseScsXG4gICAgICAgICAgICAnaW5zZXJ0RmlsZScsXG4gICAgICAgICAgICAnaW5zZXJ0SFInLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYnV0dG9uc1Zpc2libGU6IDEwLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvaHRtbC1lZGl0b3IvIiwic291cmNlcyI6WyJhcHAvY29tcG9uZW50cy9odG1sLWVkaXRvci9odG1sLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFDekQsYUFBYSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFDNUUsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLHFFQUFxRTtBQUNyRSxPQUFPLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sdUNBQXVDLENBQUM7QUFDOUMsT0FBTyxrREFBa0QsQ0FBQTtBQUMxRCxPQUFPLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8scUNBQXFDLENBQUM7QUFDN0MsT0FBTyx1Q0FBdUMsQ0FBQztBQUUvQyxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sb0JBQW9CLENBQUM7QUFJNUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBc0UsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0SSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQW9CM0M7SUFhRSwrQkFBb0IsTUFBeUI7UUFBekIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFYZixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVuQyxXQUFNLEdBQXVCLEVBQUUsQ0FBQztRQUt4QyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQU0z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bUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULFlBQVk7d0JBQ1osVUFBVTtxQkFDWDtvQkFDRCxjQUFjLEVBQUUsRUFBRTtpQkFDbkI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOzs7Z0JBcEwyQixpQkFBaUI7O0lBWGY7UUFBN0IsV0FBVyxDQUFDLGVBQWUsQ0FBQzs7K0RBQXNCO0lBQy9CO1FBQW5CLFNBQVMsQ0FBQyxPQUFPLENBQUM7a0NBQWUsVUFBVTt3REFBQztJQUNwQztRQUFSLEtBQUssRUFBRTs7eURBQXdDO0lBQ3ZDO1FBQVIsS0FBSyxFQUFFOzswREFBd0I7SUFMckIscUJBQXFCO1FBbEJqQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLDZJQUF5QztZQUV6QyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsdUJBQXFCLEVBQXJCLENBQXFCLENBQUM7b0JBQ3BELEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxhQUFhO29CQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSx1QkFBcUIsRUFBckIsQ0FBcUIsQ0FBQztvQkFDcEQsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtZQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztTQUNoRCxDQUFDO3lDQWM0QixpQkFBaUI7T0FibEMscUJBQXFCLENBa01qQztJQUFELDRCQUFDO0NBQUEsQUFsTUQsSUFrTUM7U0FsTVkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkLFxuICBBZnRlclZpZXdJbml0LCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3ksIElucHV0LCBIb3N0QmluZGluZywgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCBGcm9hbGFFZGl0b3IgZnJvbSAnZnJvYWxhLWVkaXRvcic7XG4vL2ltcG9ydCBGcm9hbGFFZGl0b3IgZnJvbSAnLi4vLi4vLi4vZnJvYWxhL2pzL2Zyb2FsYV9lZGl0b3IubWluLmpzJztcbmltcG9ydCAnZnJvYWxhLWVkaXRvci9qcy9wbHVnaW5zL2FsaWduLm1pbi5qcyc7XG5pbXBvcnQgJ2Zyb2FsYS1lZGl0b3IvanMvcGx1Z2lucy9jb2xvcnMubWluLmpzJztcbmltcG9ydCAnZnJvYWxhLWVkaXRvci9qcy9wbHVnaW5zL2ltYWdlLm1pbi5qcyc7XG5pbXBvcnQgJ2Zyb2FsYS1lZGl0b3IvanMvcGx1Z2lucy9saW5rLm1pbi5qcyc7XG5pbXBvcnQgJ2Zyb2FsYS1lZGl0b3IvanMvcGx1Z2lucy9saXN0cy5taW4uanMnO1xuIGltcG9ydCAnZnJvYWxhLWVkaXRvci9qcy9wbHVnaW5zL3BhcmFncmFwaF9mb3JtYXQubWluLmpzJ1xuaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvdGFibGUubWluLmpzJztcbmltcG9ydCAnZnJvYWxhLWVkaXRvci9qcy9wbHVnaW5zL3VybC5taW4uanMnO1xuaW1wb3J0ICdmcm9hbGEtZWRpdG9yL2pzL3BsdWdpbnMvdmlkZW8ubWluLmpzJztcblxuaW1wb3J0ICcuLi8uLi9wbHVnaW5zL2NoZWNrbGlzdCc7XG5pbXBvcnQgJy4uLy4uL3BsdWdpbnMvY29kZSc7XG5cbmltcG9ydCB7IEZzSHRtbEVkaXRvckNvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1odG1sLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnaHRtbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnaHRtbC1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGc0h0bWxFZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGc0h0bWxFZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNIdG1sRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25EZXN0cm95IHtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvY3VzZWQnKSBjbGFzc0ZvY3VzZWQgPSBmYWxzZTtcbiAgQFZpZXdDaGlsZCgnZWxSZWYnKSBwdWJsaWMgZWxSZWY6IEVsZW1lbnRSZWY7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maWc6IEZzSHRtbEVkaXRvckNvbmZpZyA9IHt9O1xuICBASW5wdXQoKSBwdWJsaWMgbmdNb2RlbDogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2VkaXRvcjogRnJvYWxhRWRpdG9yO1xuICBwcml2YXRlIF9odG1sOiBzdHJpbmc7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBwdWJsaWMgbW9kZWw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHB1YmxpYyBvbkNoYW5nZSA9IChkYXRhOiBhbnkpID0+IHt9O1xuICBwdWJsaWMgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgcHVibGljIGdldCBlbCgpOiBhbnkgIHtcbiAgICByZXR1cm4gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGdldCBlZGl0b3IoKTogYW55ICB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvcjtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbC5pbm5lckhUTUwgPSB0aGlzLm5nTW9kZWwgfHwgJyc7XG4gICAgdGhpcy5fZWRpdG9yID0gbmV3IEZyb2FsYUVkaXRvcih0aGlzLmVsLCB0aGlzLl9jcmVhdGVPcHRpb25zKCkpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcblxuICAgIGNvbnN0IGVycjogYW55ID0ge307XG4gICAgaWYgKHRoaXMuY29uZmlnLm1heExlbmd0aCAmJiB0aGlzLl9odG1sKSB7XG4gICAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLmNvbmZpZy5tYXhMZW5ndGg7XG4gICAgICBjb25zdCBsZW5ndGggPSB0aGlzLl9odG1sLmxlbmd0aDtcbiAgICAgIGlmIChsZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgICAgZXJyLm1heExlbmd0aEVycm9yID0gYE11c3QgYmUgJHttYXhMZW5ndGh9IGNoYXJhY3RlcnMgb3IgZmV3ZXIuIFlvdSBlbnRlcmVkICR7bGVuZ3RofSBjaGFyYWN0ZXJzLmA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVycikubGVuZ3RoID8gZXJyIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1cygpIHtcbiAgICB0aGlzLmVkaXRvci5ldmVudHMuZm9jdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUoJycpO1xuICB9XG5cbiAgcHVibGljIGRpc2FibGUoKSB7XG4gICAgdGhpcy5lZGl0b3IuZWRpdC5vZmYoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRIdG1sKGh0bWwpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUoaHRtbCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZShodG1sOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9odG1sID0gaHRtbCB8fCAnJztcbiAgICBpZiAodGhpcy5fZWRpdG9yICYmIHRoaXMuX2VkaXRvci5odG1sKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLl9lZGl0b3IuaHRtbC5zZXQodGhpcy5faHRtbCk7XG4gICAgICB9IGNhdGNoIChlKSB7fVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoZGF0YTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLmRlc3Ryb3koKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge31cblxuICBwcml2YXRlIF9jcmVhdGVPcHRpb25zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBwbGFjZWhvbGRlclRleHQ6IHRoaXMuY29uZmlnLnBsYWNlaG9sZGVyLFxuICAgICAgbGlua0Fsd2F5c0JsYW5rOiB0cnVlLFxuICAgICAgdGFiU3BhY2VzOiAyLFxuICAgICAgdHlwaW5nVGltZXI6IDI1MCxcbiAgICAgIHRvb2x0aXBzOiBmYWxzZSxcbiAgICAgIHBhcmFncmFwaERlZmF1bHRTZWxlY3Rpb246ICdGb3JtYXQnLFxuICAgICAgZXZlbnRzOiB7XG4gICAgICAgIGZvY3VzOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jbGFzc0ZvY3VzZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9LFxuICAgICAgICBibHVyOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jbGFzc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudENoYW5nZWQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX2VkaXRvci5odG1sLmdldCgpKTtcbiAgICAgICAgfSxcbiAgICAgICAga2V5ZG93bjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIH0sXG4gICAgICAgICdpbWFnZS5iZWZvcmVVcGxvYWQnOiAoaW1hZ2VzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmltYWdlICYmIHRoaXMuY29uZmlnLmltYWdlLnVwbG9hZCkge1xuXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5pbWFnZS51cGxvYWQoaW1hZ2VzWzBdKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHVybCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yLmltYWdlLmluc2VydCh1cmwsIG51bGwsIG51bGwsIHRoaXMuZWRpdG9yLmltYWdlLmdldCgpKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBpbml0aWFsaXplZDogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZWwucXVlcnlTZWxlY3RvcignLnNlY29uZC10b29sYmFyJykucmVtb3ZlKCk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcGFyYWdyYXBoRm9ybWF0OiB7XG4gICAgICAgIE46ICdOb3JtYWwnLFxuICAgICAgICBIMTogJ0hlYWRpbmcgMScsXG4gICAgICAgIEgyOiAnSGVhZGluZyAyJyxcbiAgICAgICAgSDM6ICdIZWFkaW5nIDMnLFxuICAgICAgICBINDogJ0hlYWRpbmcgNCdcbiAgICAgIH0sXG4gICAgICBwYXJhZ3JhcGhGb3JtYXRTZWxlY3Rpb246IHRydWUsXG4gICAgICB0b29sYmFyQnV0dG9uczoge1xuXG4gICAgICAgIG1vcmVUZXh0OiB7XG4gICAgICAgICAgYnV0dG9uczogW1xuICAgICAgICAgICAgJ3BhcmFncmFwaEZvcm1hdCcsXG4gICAgICAgICAgICAnYm9sZCcsXG4gICAgICAgICAgICAnaXRhbGljJyxcbiAgICAgICAgICAgICd0YWJsZScsXG4gICAgICAgICAgICAndW5kZXJsaW5lJyxcbiAgICAgICAgICAgICdzdHJpa2VUaHJvdWdoJyxcbiAgICAgICAgICAgICdzdWJzY3JpcHQnLFxuICAgICAgICAgICAgJ3N1cGVyc2NyaXB0JyxcbiAgICAgICAgICAgICdmb250RmFtaWx5JyxcbiAgICAgICAgICAgICdmb250U2l6ZScsXG4gICAgICAgICAgICAndGV4dENvbG9yJyxcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kQ29sb3InLFxuICAgICAgICAgICAgJ2lubGluZUNsYXNzJyxcbiAgICAgICAgICAgICdpbmxpbmVTdHlsZScsXG4gICAgICAgICAgICAnY2xlYXJGb3JtYXR0aW5nJyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiAyLFxuICAgICAgICB9LFxuICAgICAgICBtb3JlUGFyYWdyYXBoOiB7XG4gICAgICAgICAgYnV0dG9uczogW1xuICAgICAgICAgICAgJ2FsaWduTGVmdCcsXG4gICAgICAgICAgICAnYWxpZ25DZW50ZXInLFxuICAgICAgICAgICAgJ2Zvcm1hdE9MU2ltcGxlJyxcbiAgICAgICAgICAgICdjaGVja2xpc3QnLFxuICAgICAgICAgICAgJ2NvZGUnLFxuICAgICAgICAgICAgJ2FsaWduUmlnaHQnLFxuICAgICAgICAgICAgJ2FsaWduSnVzdGlmeScsXG4gICAgICAgICAgICAnZm9ybWF0T0wnLFxuICAgICAgICAgICAgJ2Zvcm1hdFVMJyxcbiAgICAgICAgICAgICdwYXJhZ3JhcGhTdHlsZScsXG4gICAgICAgICAgICAnbGluZUhlaWdodCcsXG4gICAgICAgICAgICAnb3V0ZGVudCcsXG4gICAgICAgICAgICAnaW5kZW50JyxcbiAgICAgICAgICAgICdxdW90ZSdcbiAgICAgICAgICBdLFxuICAgICAgICAgIGJ1dHRvbnNWaXNpYmxlOiA1LFxuICAgICAgICB9LFxuICAgICAgICBtb3JlUmljaDoge1xuICAgICAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgICAgICdpbnNlcnRMaW5rJyxcbiAgICAgICAgICAgICdpbnNlcnRJbWFnZScsXG4gICAgICAgICAgICAnaW5zZXJ0VmlkZW8nLFxuICAgICAgICAgICAgJ2luc2VydFRhYmxlJyxcbiAgICAgICAgICAgICdlbW90aWNvbnMnLFxuICAgICAgICAgICAgJ2ZvbnRBd2Vzb21lJyxcbiAgICAgICAgICAgICdzcGVjaWFsQ2hhcmFjdGVycycsXG4gICAgICAgICAgICAnZW1iZWRseScsXG4gICAgICAgICAgICAnaW5zZXJ0RmlsZScsXG4gICAgICAgICAgICAnaW5zZXJ0SFInLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYnV0dG9uc1Zpc2libGU6IDEwLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
import { __decorate, __metadata } from 'tslib';
import { HostBinding, ViewChild, ElementRef, Input, Component, forwardRef, ChangeDetectionStrategy, NgModule } from '@angular/core';
import { ChangeDetectorRef, HostBinding, ViewChild, ElementRef, Input, Component, forwardRef, ChangeDetectionStrategy, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

@@ -124,3 +124,4 @@ import FroalaEditor from 'froala-editor';

let FsHtmlEditorComponent = FsHtmlEditorComponent_1 = class FsHtmlEditorComponent {
constructor() {
constructor(_cdRef) {
this._cdRef = _cdRef;
this.classFocused = false;

@@ -139,3 +140,3 @@ this.config = {};

ngAfterViewInit() {
this.el.innerHTML = this.ngModel;
this.el.innerHTML = this.ngModel || '';
this._editor = new FroalaEditor(this.el, this._createOptions());

@@ -167,6 +168,6 @@ }

writeValue(html) {
this._html = html;
this._html = html || '';
if (this._editor && this._editor.html) {
try {
this._editor.html.set(html);
this._editor.html.set(this._html);
}

@@ -199,3 +200,8 @@ catch (e) { }

this.classFocused = true;
this._cdRef.markForCheck();
},
blur: () => {
this.classFocused = false;
this._cdRef.markForCheck();
},
contentChanged: () => {

@@ -288,2 +294,5 @@ this.onChange(this._editor.html.get());

};
FsHtmlEditorComponent.ctorParameters = () => [
{ type: ChangeDetectorRef }
];
__decorate([

@@ -308,3 +317,3 @@ HostBinding('class.focused'),

selector: 'fs-html-editor',
template: "<div class=\"fs-html-editor-default\">\n <div #elRef [innerHTML]=\"model\"></div>\n\n <div class=\"bottom-line\"></div>\n</div>\n",
template: "<div class=\"fs-html-editor-default\">\n <div #elRef [innerHTML]=\"model\"></div>\n <div class=\"bottom-line\"></div>\n</div>\n",
providers: [

@@ -323,5 +332,5 @@ {

changeDetection: ChangeDetectionStrategy.OnPush,
styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:10px;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]
styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494;margin-bottom:1px}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:0;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px;transition:none}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]
}),
__metadata("design:paramtypes", [])
__metadata("design:paramtypes", [ChangeDetectorRef])
], FsHtmlEditorComponent);

@@ -328,0 +337,0 @@

import { __spread, __decorate, __metadata } from 'tslib';
import { HostBinding, ViewChild, ElementRef, Input, Component, forwardRef, ChangeDetectionStrategy, NgModule } from '@angular/core';
import { ChangeDetectorRef, HostBinding, ViewChild, ElementRef, Input, Component, forwardRef, ChangeDetectionStrategy, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

@@ -123,3 +123,4 @@ import FroalaEditor from 'froala-editor';

var FsHtmlEditorComponent = /** @class */ (function () {
function FsHtmlEditorComponent() {
function FsHtmlEditorComponent(_cdRef) {
this._cdRef = _cdRef;
this.classFocused = false;

@@ -147,3 +148,3 @@ this.config = {};

FsHtmlEditorComponent.prototype.ngAfterViewInit = function () {
this.el.innerHTML = this.ngModel;
this.el.innerHTML = this.ngModel || '';
this._editor = new FroalaEditor(this.el, this._createOptions());

@@ -175,6 +176,6 @@ };

FsHtmlEditorComponent.prototype.writeValue = function (html) {
this._html = html;
this._html = html || '';
if (this._editor && this._editor.html) {
try {
this._editor.html.set(html);
this._editor.html.set(this._html);
}

@@ -208,3 +209,8 @@ catch (e) { }

_this.classFocused = true;
_this._cdRef.markForCheck();
},
blur: function () {
_this.classFocused = false;
_this._cdRef.markForCheck();
},
contentChanged: function () {

@@ -297,2 +303,5 @@ _this.onChange(_this._editor.html.get());

var FsHtmlEditorComponent_1;
FsHtmlEditorComponent.ctorParameters = function () { return [
{ type: ChangeDetectorRef }
]; };
__decorate([

@@ -317,3 +326,3 @@ HostBinding('class.focused'),

selector: 'fs-html-editor',
template: "<div class=\"fs-html-editor-default\">\n <div #elRef [innerHTML]=\"model\"></div>\n\n <div class=\"bottom-line\"></div>\n</div>\n",
template: "<div class=\"fs-html-editor-default\">\n <div #elRef [innerHTML]=\"model\"></div>\n <div class=\"bottom-line\"></div>\n</div>\n",
providers: [

@@ -332,5 +341,5 @@ {

changeDetection: ChangeDetectionStrategy.OnPush,
styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:10px;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]
styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494;margin-bottom:1px}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:0;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px;transition:none}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]
}),
__metadata("design:paramtypes", [])
__metadata("design:paramtypes", [ChangeDetectorRef])
], FsHtmlEditorComponent);

@@ -337,0 +346,0 @@ return FsHtmlEditorComponent;

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"FsHtmlEditorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":4}],"exports":[{"__symbolic":"reference","name":"FsHtmlEditorComponent"},{"__symbolic":"reference","name":"FsHtmlRendererComponent"}],"declarations":[{"__symbolic":"reference","name":"FsHtmlEditorComponent"},{"__symbolic":"reference","name":"FsHtmlRendererComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"FsHtmlEditorModule"}}}}},"FsHtmlEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"selector":"fs-html-editor","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":32,"character":15},"useExisting":{"__symbolic":"reference","name":"FsHtmlEditorComponent"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":37,"character":15},"useExisting":{"__symbolic":"reference","name":"FsHtmlEditorComponent"},"multi":true}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":42,"character":19},"member":"OnPush"},"template":"<div class=\"fs-html-editor-default\">\n <div #elRef [innerHTML]=\"model\"></div>\n\n <div class=\"bottom-line\"></div>\n</div>\n","styles":[":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:10px;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]}]}],"members":{"classFocused":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":46,"character":3},"arguments":["class.focused"]}]}],"elRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":47,"character":3},"arguments":["elRef"]}]}],"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"ngModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngAfterViewInit":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"disable":[{"__symbolic":"method"}],"setHtml":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"_createOptions":[{"__symbolic":"method"}]}},"FsHtmlRendererComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"fs-html-renderer","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":6,"character":19},"member":"OnPush"},"template":"<div class=\"fr-view fs-html-editor-default\" [innerHtml]=\"html\"></div>\n","styles":[""]}]}],"members":{"html":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}]}}},"origins":{"FsHtmlEditorModule":"./app/fs-html-editor.module","FsHtmlEditorComponent":"./app/components/html-editor/html-editor.component","FsHtmlRendererComponent":"./app/components/html-renderer/html-renderer.component"},"importAs":"@firestitch/html-editor"}
{"__symbolic":"module","version":4,"metadata":{"FsHtmlEditorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":4}],"exports":[{"__symbolic":"reference","name":"FsHtmlEditorComponent"},{"__symbolic":"reference","name":"FsHtmlRendererComponent"}],"declarations":[{"__symbolic":"reference","name":"FsHtmlEditorComponent"},{"__symbolic":"reference","name":"FsHtmlRendererComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"FsHtmlEditorModule"}}}}},"FsHtmlEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"selector":"fs-html-editor","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":32,"character":15},"useExisting":{"__symbolic":"reference","name":"FsHtmlEditorComponent"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":37,"character":15},"useExisting":{"__symbolic":"reference","name":"FsHtmlEditorComponent"},"multi":true}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":42,"character":19},"member":"OnPush"},"template":"<div class=\"fs-html-editor-default\">\n <div #elRef [innerHTML]=\"model\"></div>\n <div class=\"bottom-line\"></div>\n</div>\n","styles":[":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494;margin-bottom:1px}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:0;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:10px;transition:none}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}"]}]}],"members":{"classFocused":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":46,"character":3},"arguments":["class.focused"]}]}],"elRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":47,"character":3},"arguments":["elRef"]}]}],"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"ngModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":57,"character":30}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"disable":[{"__symbolic":"method"}],"setHtml":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"_createOptions":[{"__symbolic":"method"}]}},"FsHtmlRendererComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"fs-html-renderer","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":6,"character":19},"member":"OnPush"},"template":"<div class=\"fr-view fs-html-editor-default\" [innerHtml]=\"html\"></div>\n","styles":[""]}]}],"members":{"html":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}]}}},"origins":{"FsHtmlEditorModule":"./app/fs-html-editor.module","FsHtmlEditorComponent":"./app/components/html-editor/html-editor.component","FsHtmlRendererComponent":"./app/components/html-renderer/html-renderer.component"},"importAs":"@firestitch/html-editor"}
{
"name": "@firestitch/html-editor",
"version": "9.0.6",
"version": "9.0.7",
"repository": {

@@ -5,0 +5,0 @@ "type": "git",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet