Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ngx-quill

Package Overview
Dependencies
Maintainers
1
Versions
290
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngx-quill - npm Package Compare versions

Comparing version 13.1.0 to 13.2.0

8

bundles/ngx-quill.umd.js

@@ -980,2 +980,3 @@ (function (global, factory) {

this.preserveWhitespace = false;
this.onEditorCreated = new i0.EventEmitter();
this.valueSetter = function (quillEditor, value) {

@@ -1064,2 +1065,6 @@ var format = getFormat(_this.format, _this.service.config.format);

}
// trigger created in a timeout to avoid changed models after checked
setTimeout(function () {
_this.onEditorCreated.emit(_this.quillEditor);
});
return [2 /*return*/];

@@ -1099,3 +1104,4 @@ }

customOptions: [{ type: i0.Input }],
preserveWhitespace: [{ type: i0.Input }]
preserveWhitespace: [{ type: i0.Input }],
onEditorCreated: [{ type: i0.Output }]
};

@@ -1102,0 +1108,0 @@

2

bundles/ngx-quill.umd.min.js

@@ -15,3 +15,3 @@ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@angular/platform-browser"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ngx-quill",["exports","@angular/common","@angular/core","@angular/platform-browser","@angular/forms"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ngx-quill"]={},e.ng.common,e.ng.core,e.ng.platformBrowser,e.ng.forms)}(this,(function(e,t,i,n,r){"use strict";

PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)};function s(e,t,i,n){return new(i||(i=Promise))((function(r,o){function s(e){try{a(n.next(e))}catch(e){o(e)}}function l(e){try{a(n.throw(e))}catch(e){o(e)}}function a(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,l)}a((n=n.apply(e,t||[])).next())}))}function l(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,l])}}}Object.create;function a(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}Object.create;var u={toolbar:[["bold","italic","underline","strike"],["blockquote","code-block"],[{header:1},{header:2}],[{list:"ordered"},{list:"bullet"}],[{script:"sub"},{script:"super"}],[{indent:"-1"},{indent:"+1"}],[{direction:"rtl"}],[{size:["small",!1,"large","huge"]}],[{header:[1,2,3,4,5,6,!1]}],[{color:[]},{background:[]}],[{font:[]}],[{align:[]}],["clean"],["link","image","video"]]},c=function(e,t){return e||t||"html"},h=new i.InjectionToken("config"),d=function(){function e(e){this.config=e,this.count=0,this.config||(this.config={modules:u})}return e.prototype.getQuill=function(){var e=this;return this.count++,this.Quill||1!==this.count||(this.$importPromise=new Promise((function(t){return s(e,void 0,void 0,(function(){var e,i,n,r=this;return l(this,(function(o){switch(o.label){case 0:return[4,import("quill")];case 1:return n=o.sent(),this.Quill=n.default?n.default:n,null===(e=this.config.customOptions)||void 0===e||e.forEach((function(e){var t=r.Quill.import(e.import);t.whitelist=e.whitelist,r.Quill.register(t,!0,r.config.suppressGlobalRegisterWarning)})),null===(i=this.config.customModules)||void 0===i||i.forEach((function(e){var t=e.implementation,i=e.path;r.Quill.register(i,t,r.config.suppressGlobalRegisterWarning)})),t(this.Quill),[2]}}))}))}))),this.$importPromise},e}();d.ɵprov=i.ɵɵdefineInjectable({factory:function(){return new d(i.ɵɵinject(h))},token:d,providedIn:"root"}),d.decorators=[{type:i.Injectable,args:[{providedIn:"root"}]}],d.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[h]}]}]};var p=function(){function e(e,t,n,r,o,s,l){var a=this;this.elementRef=e,this.domSanitizer=t,this.doc=n,this.platformId=r,this.renderer=o,this.zone=s,this.service=l,this.required=!1,this.customToolbarPosition="top",this.sanitize=!1,this.styles=null,this.strict=!0,this.customOptions=[],this.customModules=[],this.preserveWhitespace=!1,this.trimOnValidation=!1,this.compareValues=!1,this.filterNull=!1,this.onEditorCreated=new i.EventEmitter,this.onEditorChanged=new i.EventEmitter,this.onContentChanged=new i.EventEmitter,this.onSelectionChanged=new i.EventEmitter,this.onFocus=new i.EventEmitter,this.onBlur=new i.EventEmitter,this.disabled=!1,this.valueGetter=function(e,t){var i=t.querySelector(".ql-editor").innerHTML;"<p><br></p>"!==i&&"<div><br></div>"!==i||(i=null);var n=i,r=c(a.format,a.service.config.format);if("text"===r)n=e.getText();else if("object"===r)n=e.getContents();else if("json"===r)try{n=JSON.stringify(e.getContents())}catch(t){n=e.getText()}return n},this.valueSetter=function(e,t){var n=c(a.format,a.service.config.format);if("html"===n)return a.sanitize&&(t=a.domSanitizer.sanitize(i.SecurityContext.HTML,t)),e.clipboard.convert(t);if("json"===n)try{return JSON.parse(t)}catch(e){return[{insert:t}]}return t},this.selectionChangeHandler=function(e,t,i){var n=!e&&!!a.onModelTouched;(a.onBlur.observers.length||a.onFocus.observers.length||a.onSelectionChanged.observers.length||n)&&a.zone.run((function(){null===e?a.onBlur.emit({editor:a.quillEditor,source:i}):null===t&&a.onFocus.emit({editor:a.quillEditor,source:i}),a.onSelectionChanged.emit({editor:a.quillEditor,oldRange:t,range:e,source:i}),n&&a.onModelTouched()}))},this.textChangeHandler=function(e,t,i){var n=a.quillEditor.getText(),r=a.quillEditor.getContents(),o=a.editorElem.querySelector(".ql-editor").innerHTML;"<p><br></p>"!==o&&"<div><br></div>"!==o||(o=null);var s=a.trackChanges||a.service.config.trackChanges,l=("user"===i||s&&"all"===s)&&!!a.onModelChange;(a.onContentChanged.observers.length||l)&&a.zone.run((function(){l&&a.onModelChange(a.valueGetter(a.quillEditor,a.editorElem)),a.onContentChanged.emit({content:r,delta:e,editor:a.quillEditor,html:o,oldDelta:t,source:i,text:n})}))},this.editorChangeHandler=function(e,t,i,n){if(a.onEditorChanged.observers.length)if("text-change"===e){var r=a.quillEditor.getText(),o=a.quillEditor.getContents(),s=a.editorElem.querySelector(".ql-editor").innerHTML;"<p><br></p>"!==s&&"<div><br></div>"!==s||(s=null),a.zone.run((function(){a.onEditorChanged.emit({content:o,delta:t,editor:a.quillEditor,event:e,html:s,oldDelta:i,source:n,text:r})}))}else a.onEditorChanged.emit({editor:a.quillEditor,event:e,oldRange:i,range:t,source:n})}}return e.normalizeClassNames=function(e){return e.trim().split(" ").reduce((function(e,t){var i=t.trim();return i&&e.push(i),e}),[])},e.prototype.ngAfterViewInit=function(){return s(this,void 0,void 0,(function(){var e,i,n,r,o,s,h,d,p,f,m=this;return l(this,(function(l){switch(l.label){case 0:return t.isPlatformServer(this.platformId)?[2]:[4,this.service.getQuill()];case 1:return e=l.sent(),this.elementRef.nativeElement.insertAdjacentHTML("top"===this.customToolbarPosition?"beforeend":"afterbegin",this.preserveWhitespace?"<pre quill-editor-element></pre>":"<div quill-editor-element></div>"),this.editorElem=this.elementRef.nativeElement.querySelector("[quill-editor-element]"),i=this.elementRef.nativeElement.querySelector("[quill-editor-toolbar]"),n=Object.assign({},this.modules||this.service.config.modules),i?n.toolbar=i:void 0===n.toolbar&&(n.toolbar=u.toolbar),void 0===(r=void 0!==this.placeholder?this.placeholder:this.service.config.placeholder)&&(r="Insert text here ..."),this.styles&&Object.keys(this.styles).forEach((function(e){m.renderer.setStyle(m.editorElem,e,m.styles[e])})),this.classes&&this.addClasses(this.classes),this.customOptions.forEach((function(t){var i=e.import(t.import);i.whitelist=t.whitelist,e.register(i,!0)})),this.customModules.forEach((function(t){var i=t.implementation,n=t.path;e.register(n,i)})),(o=this.bounds&&"self"===this.bounds?this.editorElem:this.bounds)||(o=this.service.config.bounds?this.service.config.bounds:this.doc.body),!(s=this.debug)&&!1!==s&&this.service.config.debug&&(s=this.service.config.debug),(h=this.readOnly)||!1===this.readOnly||(h=void 0!==this.service.config.readOnly&&this.service.config.readOnly),(d=this.scrollingContainer)||null===this.scrollingContainer||(d=null===this.service.config.scrollingContainer||this.service.config.scrollingContainer?this.service.config.scrollingContainer:null),(p=this.formats)||void 0!==p||(p=this.service.config.formats?function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(a(arguments[t]));return e}(this.service.config.formats):null===this.service.config.formats?null:void 0),this.zone.runOutsideAngular((function(){var t,i,l;if(m.quillEditor=new e(m.editorElem,{bounds:o,debug:s,formats:p,modules:n,placeholder:r,readOnly:h,scrollingContainer:d,strict:m.strict,theme:m.theme||(m.service.config.theme?m.service.config.theme:"snow")}),m.linkPlaceholder){var a=null===(i=null===(t=m.quillEditor)||void 0===t?void 0:t.theme)||void 0===i?void 0:i.tooltip,u=null===(l=null==a?void 0:a.root)||void 0===l?void 0:l.querySelector("input[data-link]");(null==u?void 0:u.dataset)&&(u.dataset.link=m.linkPlaceholder)}})),this.content&&("text"===c(this.format,this.service.config.format)?this.quillEditor.setText(this.content,"silent"):(f=this.valueSetter(this.quillEditor,this.content),this.quillEditor.setContents(f,"silent")),this.quillEditor.getModule("history").clear()),this.setDisabledState(),this.quillEditor.on("editor-change",this.editorChangeHandler),this.quillEditor.on("selection-change",this.selectionChangeHandler),this.quillEditor.on("text-change",this.textChangeHandler),setTimeout((function(){m.onValidatorChanged&&m.onValidatorChanged(),m.onEditorCreated.emit(m.quillEditor)})),[2]}}))}))},e.prototype.ngOnDestroy=function(){this.quillEditor&&(this.quillEditor.off("selection-change",this.selectionChangeHandler),this.quillEditor.off("text-change",this.textChangeHandler),this.quillEditor.off("editor-change",this.editorChangeHandler))},e.prototype.ngOnChanges=function(e){var t=this;if(this.quillEditor){if(e.readOnly&&this.quillEditor.enable(!e.readOnly.currentValue),e.placeholder&&(this.quillEditor.root.dataset.placeholder=e.placeholder.currentValue),e.styles){var i=e.styles.currentValue,n=e.styles.previousValue;n&&Object.keys(n).forEach((function(e){t.renderer.removeStyle(t.editorElem,e)})),i&&Object.keys(i).forEach((function(e){t.renderer.setStyle(t.editorElem,e,t.styles[e])}))}if(e.classes){var r=e.classes.currentValue,o=e.classes.previousValue;o&&this.removeClasses(o),r&&this.addClasses(r)}}},e.prototype.addClasses=function(t){var i=this;e.normalizeClassNames(t).forEach((function(e){i.renderer.addClass(i.editorElem,e)}))},e.prototype.removeClasses=function(t){var i=this;e.normalizeClassNames(t).forEach((function(e){i.renderer.removeClass(i.editorElem,e)}))},e.prototype.writeValue=function(e){if((!this.filterNull||null!==e)&&(this.content=e,this.quillEditor)){var t=c(this.format,this.service.config.format),i=this.valueSetter(this.quillEditor,e);if(this.compareValues){var n=this.quillEditor.getContents();if(JSON.stringify(n)===JSON.stringify(i))return}e?"text"===t?this.quillEditor.setText(e):this.quillEditor.setContents(i):this.quillEditor.setText("")}},e.prototype.setDisabledState=function(e){void 0===e&&(e=this.disabled),this.disabled=e,this.quillEditor&&(e?(this.quillEditor.disable(),this.renderer.setAttribute(this.elementRef.nativeElement,"disabled","disabled")):(this.readOnly||this.quillEditor.enable(),this.renderer.removeAttribute(this.elementRef.nativeElement,"disabled")))},e.prototype.registerOnChange=function(e){this.onModelChange=e},e.prototype.registerOnTouched=function(e){this.onModelTouched=e},e.prototype.registerOnValidatorChange=function(e){this.onValidatorChanged=e},e.prototype.validate=function(){if(!this.quillEditor)return null;var e={},t=!0,i=this.quillEditor.getText(),n=this.trimOnValidation?i.trim().length:1===i.length&&0===i.trim().length?0:i.length-1;return this.minLength&&n&&n<this.minLength&&(e.minLengthError={given:n,minLength:this.minLength},t=!1),this.maxLength&&n>this.maxLength&&(e.maxLengthError={given:n,maxLength:this.maxLength},t=!1),this.required&&!n&&(e.requiredError={empty:!0},t=!1),t?null:e},e}();p.decorators=[{type:i.Directive}],p.ctorParameters=function(){return[{type:i.ElementRef},{type:n.DomSanitizer},{type:void 0,decorators:[{type:i.Inject,args:[t.DOCUMENT]}]},{type:void 0,decorators:[{type:i.Inject,args:[i.PLATFORM_ID]}]},{type:i.Renderer2},{type:i.NgZone},{type:d}]},p.propDecorators={format:[{type:i.Input}],theme:[{type:i.Input}],modules:[{type:i.Input}],debug:[{type:i.Input}],readOnly:[{type:i.Input}],placeholder:[{type:i.Input}],maxLength:[{type:i.Input}],minLength:[{type:i.Input}],required:[{type:i.Input}],formats:[{type:i.Input}],customToolbarPosition:[{type:i.Input}],sanitize:[{type:i.Input}],styles:[{type:i.Input}],strict:[{type:i.Input}],scrollingContainer:[{type:i.Input}],bounds:[{type:i.Input}],customOptions:[{type:i.Input}],customModules:[{type:i.Input}],trackChanges:[{type:i.Input}],preserveWhitespace:[{type:i.Input}],classes:[{type:i.Input}],trimOnValidation:[{type:i.Input}],linkPlaceholder:[{type:i.Input}],compareValues:[{type:i.Input}],filterNull:[{type:i.Input}],onEditorCreated:[{type:i.Output}],onEditorChanged:[{type:i.Output}],onContentChanged:[{type:i.Output}],onSelectionChanged:[{type:i.Output}],onFocus:[{type:i.Output}],onBlur:[{type:i.Output}],valueGetter:[{type:i.Input}],valueSetter:[{type:i.Input}]};var f=function(e){function t(t,i,n,r,o,s,l){return e.call(this,t,i,n,r,o,s,l)||this}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}(t,e),t}(p);f.decorators=[{type:i.Component,args:[{encapsulation:i.ViewEncapsulation.None,providers:[{multi:!0,provide:r.NG_VALUE_ACCESSOR,useExisting:i.forwardRef((function(){return f}))},{multi:!0,provide:r.NG_VALIDATORS,useExisting:i.forwardRef((function(){return f}))}],selector:"quill-editor",template:'\n <ng-content select="[quill-editor-toolbar]"></ng-content>\n'}]}],f.ctorParameters=function(){return[{type:i.ElementRef,decorators:[{type:i.Inject,args:[i.ElementRef]}]},{type:n.DomSanitizer,decorators:[{type:i.Inject,args:[n.DomSanitizer]}]},{type:void 0,decorators:[{type:i.Inject,args:[t.DOCUMENT]}]},{type:void 0,decorators:[{type:i.Inject,args:[i.PLATFORM_ID]}]},{type:i.Renderer2,decorators:[{type:i.Inject,args:[i.Renderer2]}]},{type:i.NgZone,decorators:[{type:i.Inject,args:[i.NgZone]}]},{type:d,decorators:[{type:i.Inject,args:[d]}]}]};var m=function(){function e(e,t){this.sanitizer=e,this.service=t,this.content="",this.innerHTML="",this.themeClass="ql-snow"}return e.prototype.ngOnChanges=function(e){if(e.theme){var t=e.theme.currentValue||(this.service.config.theme?this.service.config.theme:"snow");this.themeClass="ql-"+t+" ngx-quill-view-html"}else if(!this.theme){t=this.service.config.theme?this.service.config.theme:"snow";this.themeClass="ql-"+t+" ngx-quill-view-html"}e.content&&(this.innerHTML=this.sanitizer.bypassSecurityTrustHtml(e.content.currentValue))},e}();m.decorators=[{type:i.Component,args:[{encapsulation:i.ViewEncapsulation.None,selector:"quill-view-html",template:'\n <div class="ql-container" [ngClass]="themeClass">\n <div class="ql-editor" [innerHTML]="innerHTML">\n </div>\n </div>\n',styles:["\n.ql-container.ngx-quill-view-html {\n border: 0;\n}\n"]}]}],m.ctorParameters=function(){return[{type:n.DomSanitizer,decorators:[{type:i.Inject,args:[n.DomSanitizer]}]},{type:d}]},m.propDecorators={content:[{type:i.Input}],theme:[{type:i.Input}]};var g=function(){function e(e,t,n,r,o,s){var l=this;this.elementRef=e,this.renderer=t,this.zone=n,this.service=r,this.domSanitizer=o,this.platformId=s,this.sanitize=!1,this.strict=!0,this.customModules=[],this.customOptions=[],this.preserveWhitespace=!1,this.valueSetter=function(e,t){var n=c(l.format,l.service.config.format),r=t;if("text"===n)e.setText(r);else{if("html"===n)l.sanitize&&(t=l.domSanitizer.sanitize(i.SecurityContext.HTML,t)),r=e.clipboard.convert(t);else if("json"===n)try{r=JSON.parse(t)}catch(e){r=[{insert:t}]}e.setContents(r)}}}return e.prototype.ngOnChanges=function(e){this.quillEditor&&e.content&&this.valueSetter(this.quillEditor,e.content.currentValue)},e.prototype.ngAfterViewInit=function(){return s(this,void 0,void 0,(function(){var e,i,n,r,o,s=this;return l(this,(function(l){switch(l.label){case 0:return t.isPlatformServer(this.platformId)?[2]:[4,this.service.getQuill()];case 1:return e=l.sent(),(i=Object.assign({},this.modules||this.service.config.modules)).toolbar=!1,this.customOptions.forEach((function(t){var i=e.import(t.import);i.whitelist=t.whitelist,e.register(i,!0)})),this.customModules.forEach((function(t){var i=t.implementation,n=t.path;e.register(n,i)})),!(n=this.debug)&&!1!==n&&this.service.config.debug&&(n=this.service.config.debug),(r=this.formats)||void 0!==r||(r=this.service.config.formats?Object.assign({},this.service.config.formats):null===this.service.config.formats?null:void 0),o=this.theme||(this.service.config.theme?this.service.config.theme:"snow"),this.elementRef.nativeElement.insertAdjacentHTML("afterbegin",this.preserveWhitespace?"<pre quill-view-element></pre>":"<div quill-view-element></div>"),this.editorElem=this.elementRef.nativeElement.querySelector("[quill-view-element]"),this.zone.runOutsideAngular((function(){s.quillEditor=new e(s.editorElem,{debug:n,formats:r,modules:i,readOnly:!0,strict:s.strict,theme:o})})),this.renderer.addClass(this.editorElem,"ngx-quill-view"),this.content&&this.valueSetter(this.quillEditor,this.content),[2]}}))}))},e}();g.decorators=[{type:i.Component,args:[{encapsulation:i.ViewEncapsulation.None,selector:"quill-view",template:"\n",styles:["\n.ql-container.ngx-quill-view {\n border: 0;\n}\n"]}]}],g.ctorParameters=function(){return[{type:i.ElementRef},{type:i.Renderer2},{type:i.NgZone},{type:d},{type:n.DomSanitizer},{type:void 0,decorators:[{type:i.Inject,args:[i.PLATFORM_ID]}]}]},g.propDecorators={format:[{type:i.Input}],theme:[{type:i.Input}],modules:[{type:i.Input}],debug:[{type:i.Input}],formats:[{type:i.Input}],sanitize:[{type:i.Input}],strict:[{type:i.Input}],content:[{type:i.Input}],customModules:[{type:i.Input}],customOptions:[{type:i.Input}],preserveWhitespace:[{type:i.Input}]};var v=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[{provide:h,useValue:t}]}},e}();v.decorators=[{type:i.NgModule,args:[{declarations:[f,g,m],exports:[f,g,m],imports:[t.CommonModule],providers:[d]}]}],e.QUILL_CONFIG_TOKEN=h,e.QuillEditorBase=p,e.QuillEditorComponent=f,e.QuillModule=v,e.QuillService=d,e.QuillViewComponent=g,e.QuillViewHTMLComponent=m,e.defaultModules=u,Object.defineProperty(e,"__esModule",{value:!0})}));
***************************************************************************** */var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)};function s(e,t,i,n){return new(i||(i=Promise))((function(r,o){function s(e){try{a(n.next(e))}catch(e){o(e)}}function l(e){try{a(n.throw(e))}catch(e){o(e)}}function a(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,l)}a((n=n.apply(e,t||[])).next())}))}function l(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,l])}}}Object.create;function a(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}Object.create;var u={toolbar:[["bold","italic","underline","strike"],["blockquote","code-block"],[{header:1},{header:2}],[{list:"ordered"},{list:"bullet"}],[{script:"sub"},{script:"super"}],[{indent:"-1"},{indent:"+1"}],[{direction:"rtl"}],[{size:["small",!1,"large","huge"]}],[{header:[1,2,3,4,5,6,!1]}],[{color:[]},{background:[]}],[{font:[]}],[{align:[]}],["clean"],["link","image","video"]]},c=function(e,t){return e||t||"html"},h=new i.InjectionToken("config"),d=function(){function e(e){this.config=e,this.count=0,this.config||(this.config={modules:u})}return e.prototype.getQuill=function(){var e=this;return this.count++,this.Quill||1!==this.count||(this.$importPromise=new Promise((function(t){return s(e,void 0,void 0,(function(){var e,i,n,r=this;return l(this,(function(o){switch(o.label){case 0:return[4,import("quill")];case 1:return n=o.sent(),this.Quill=n.default?n.default:n,null===(e=this.config.customOptions)||void 0===e||e.forEach((function(e){var t=r.Quill.import(e.import);t.whitelist=e.whitelist,r.Quill.register(t,!0,r.config.suppressGlobalRegisterWarning)})),null===(i=this.config.customModules)||void 0===i||i.forEach((function(e){var t=e.implementation,i=e.path;r.Quill.register(i,t,r.config.suppressGlobalRegisterWarning)})),t(this.Quill),[2]}}))}))}))),this.$importPromise},e}();d.ɵprov=i.ɵɵdefineInjectable({factory:function(){return new d(i.ɵɵinject(h))},token:d,providedIn:"root"}),d.decorators=[{type:i.Injectable,args:[{providedIn:"root"}]}],d.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[h]}]}]};var p=function(){function e(e,t,n,r,o,s,l){var a=this;this.elementRef=e,this.domSanitizer=t,this.doc=n,this.platformId=r,this.renderer=o,this.zone=s,this.service=l,this.required=!1,this.customToolbarPosition="top",this.sanitize=!1,this.styles=null,this.strict=!0,this.customOptions=[],this.customModules=[],this.preserveWhitespace=!1,this.trimOnValidation=!1,this.compareValues=!1,this.filterNull=!1,this.onEditorCreated=new i.EventEmitter,this.onEditorChanged=new i.EventEmitter,this.onContentChanged=new i.EventEmitter,this.onSelectionChanged=new i.EventEmitter,this.onFocus=new i.EventEmitter,this.onBlur=new i.EventEmitter,this.disabled=!1,this.valueGetter=function(e,t){var i=t.querySelector(".ql-editor").innerHTML;"<p><br></p>"!==i&&"<div><br></div>"!==i||(i=null);var n=i,r=c(a.format,a.service.config.format);if("text"===r)n=e.getText();else if("object"===r)n=e.getContents();else if("json"===r)try{n=JSON.stringify(e.getContents())}catch(t){n=e.getText()}return n},this.valueSetter=function(e,t){var n=c(a.format,a.service.config.format);if("html"===n)return a.sanitize&&(t=a.domSanitizer.sanitize(i.SecurityContext.HTML,t)),e.clipboard.convert(t);if("json"===n)try{return JSON.parse(t)}catch(e){return[{insert:t}]}return t},this.selectionChangeHandler=function(e,t,i){var n=!e&&!!a.onModelTouched;(a.onBlur.observers.length||a.onFocus.observers.length||a.onSelectionChanged.observers.length||n)&&a.zone.run((function(){null===e?a.onBlur.emit({editor:a.quillEditor,source:i}):null===t&&a.onFocus.emit({editor:a.quillEditor,source:i}),a.onSelectionChanged.emit({editor:a.quillEditor,oldRange:t,range:e,source:i}),n&&a.onModelTouched()}))},this.textChangeHandler=function(e,t,i){var n=a.quillEditor.getText(),r=a.quillEditor.getContents(),o=a.editorElem.querySelector(".ql-editor").innerHTML;"<p><br></p>"!==o&&"<div><br></div>"!==o||(o=null);var s=a.trackChanges||a.service.config.trackChanges,l=("user"===i||s&&"all"===s)&&!!a.onModelChange;(a.onContentChanged.observers.length||l)&&a.zone.run((function(){l&&a.onModelChange(a.valueGetter(a.quillEditor,a.editorElem)),a.onContentChanged.emit({content:r,delta:e,editor:a.quillEditor,html:o,oldDelta:t,source:i,text:n})}))},this.editorChangeHandler=function(e,t,i,n){if(a.onEditorChanged.observers.length)if("text-change"===e){var r=a.quillEditor.getText(),o=a.quillEditor.getContents(),s=a.editorElem.querySelector(".ql-editor").innerHTML;"<p><br></p>"!==s&&"<div><br></div>"!==s||(s=null),a.zone.run((function(){a.onEditorChanged.emit({content:o,delta:t,editor:a.quillEditor,event:e,html:s,oldDelta:i,source:n,text:r})}))}else a.onEditorChanged.emit({editor:a.quillEditor,event:e,oldRange:i,range:t,source:n})}}return e.normalizeClassNames=function(e){return e.trim().split(" ").reduce((function(e,t){var i=t.trim();return i&&e.push(i),e}),[])},e.prototype.ngAfterViewInit=function(){return s(this,void 0,void 0,(function(){var e,i,n,r,o,s,h,d,p,f,m=this;return l(this,(function(l){switch(l.label){case 0:return t.isPlatformServer(this.platformId)?[2]:[4,this.service.getQuill()];case 1:return e=l.sent(),this.elementRef.nativeElement.insertAdjacentHTML("top"===this.customToolbarPosition?"beforeend":"afterbegin",this.preserveWhitespace?"<pre quill-editor-element></pre>":"<div quill-editor-element></div>"),this.editorElem=this.elementRef.nativeElement.querySelector("[quill-editor-element]"),i=this.elementRef.nativeElement.querySelector("[quill-editor-toolbar]"),n=Object.assign({},this.modules||this.service.config.modules),i?n.toolbar=i:void 0===n.toolbar&&(n.toolbar=u.toolbar),void 0===(r=void 0!==this.placeholder?this.placeholder:this.service.config.placeholder)&&(r="Insert text here ..."),this.styles&&Object.keys(this.styles).forEach((function(e){m.renderer.setStyle(m.editorElem,e,m.styles[e])})),this.classes&&this.addClasses(this.classes),this.customOptions.forEach((function(t){var i=e.import(t.import);i.whitelist=t.whitelist,e.register(i,!0)})),this.customModules.forEach((function(t){var i=t.implementation,n=t.path;e.register(n,i)})),(o=this.bounds&&"self"===this.bounds?this.editorElem:this.bounds)||(o=this.service.config.bounds?this.service.config.bounds:this.doc.body),!(s=this.debug)&&!1!==s&&this.service.config.debug&&(s=this.service.config.debug),(h=this.readOnly)||!1===this.readOnly||(h=void 0!==this.service.config.readOnly&&this.service.config.readOnly),(d=this.scrollingContainer)||null===this.scrollingContainer||(d=null===this.service.config.scrollingContainer||this.service.config.scrollingContainer?this.service.config.scrollingContainer:null),(p=this.formats)||void 0!==p||(p=this.service.config.formats?function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(a(arguments[t]));return e}(this.service.config.formats):null===this.service.config.formats?null:void 0),this.zone.runOutsideAngular((function(){var t,i,l;if(m.quillEditor=new e(m.editorElem,{bounds:o,debug:s,formats:p,modules:n,placeholder:r,readOnly:h,scrollingContainer:d,strict:m.strict,theme:m.theme||(m.service.config.theme?m.service.config.theme:"snow")}),m.linkPlaceholder){var a=null===(i=null===(t=m.quillEditor)||void 0===t?void 0:t.theme)||void 0===i?void 0:i.tooltip,u=null===(l=null==a?void 0:a.root)||void 0===l?void 0:l.querySelector("input[data-link]");(null==u?void 0:u.dataset)&&(u.dataset.link=m.linkPlaceholder)}})),this.content&&("text"===c(this.format,this.service.config.format)?this.quillEditor.setText(this.content,"silent"):(f=this.valueSetter(this.quillEditor,this.content),this.quillEditor.setContents(f,"silent")),this.quillEditor.getModule("history").clear()),this.setDisabledState(),this.quillEditor.on("editor-change",this.editorChangeHandler),this.quillEditor.on("selection-change",this.selectionChangeHandler),this.quillEditor.on("text-change",this.textChangeHandler),setTimeout((function(){m.onValidatorChanged&&m.onValidatorChanged(),m.onEditorCreated.emit(m.quillEditor)})),[2]}}))}))},e.prototype.ngOnDestroy=function(){this.quillEditor&&(this.quillEditor.off("selection-change",this.selectionChangeHandler),this.quillEditor.off("text-change",this.textChangeHandler),this.quillEditor.off("editor-change",this.editorChangeHandler))},e.prototype.ngOnChanges=function(e){var t=this;if(this.quillEditor){if(e.readOnly&&this.quillEditor.enable(!e.readOnly.currentValue),e.placeholder&&(this.quillEditor.root.dataset.placeholder=e.placeholder.currentValue),e.styles){var i=e.styles.currentValue,n=e.styles.previousValue;n&&Object.keys(n).forEach((function(e){t.renderer.removeStyle(t.editorElem,e)})),i&&Object.keys(i).forEach((function(e){t.renderer.setStyle(t.editorElem,e,t.styles[e])}))}if(e.classes){var r=e.classes.currentValue,o=e.classes.previousValue;o&&this.removeClasses(o),r&&this.addClasses(r)}}},e.prototype.addClasses=function(t){var i=this;e.normalizeClassNames(t).forEach((function(e){i.renderer.addClass(i.editorElem,e)}))},e.prototype.removeClasses=function(t){var i=this;e.normalizeClassNames(t).forEach((function(e){i.renderer.removeClass(i.editorElem,e)}))},e.prototype.writeValue=function(e){if((!this.filterNull||null!==e)&&(this.content=e,this.quillEditor)){var t=c(this.format,this.service.config.format),i=this.valueSetter(this.quillEditor,e);if(this.compareValues){var n=this.quillEditor.getContents();if(JSON.stringify(n)===JSON.stringify(i))return}e?"text"===t?this.quillEditor.setText(e):this.quillEditor.setContents(i):this.quillEditor.setText("")}},e.prototype.setDisabledState=function(e){void 0===e&&(e=this.disabled),this.disabled=e,this.quillEditor&&(e?(this.quillEditor.disable(),this.renderer.setAttribute(this.elementRef.nativeElement,"disabled","disabled")):(this.readOnly||this.quillEditor.enable(),this.renderer.removeAttribute(this.elementRef.nativeElement,"disabled")))},e.prototype.registerOnChange=function(e){this.onModelChange=e},e.prototype.registerOnTouched=function(e){this.onModelTouched=e},e.prototype.registerOnValidatorChange=function(e){this.onValidatorChanged=e},e.prototype.validate=function(){if(!this.quillEditor)return null;var e={},t=!0,i=this.quillEditor.getText(),n=this.trimOnValidation?i.trim().length:1===i.length&&0===i.trim().length?0:i.length-1;return this.minLength&&n&&n<this.minLength&&(e.minLengthError={given:n,minLength:this.minLength},t=!1),this.maxLength&&n>this.maxLength&&(e.maxLengthError={given:n,maxLength:this.maxLength},t=!1),this.required&&!n&&(e.requiredError={empty:!0},t=!1),t?null:e},e}();p.decorators=[{type:i.Directive}],p.ctorParameters=function(){return[{type:i.ElementRef},{type:n.DomSanitizer},{type:void 0,decorators:[{type:i.Inject,args:[t.DOCUMENT]}]},{type:void 0,decorators:[{type:i.Inject,args:[i.PLATFORM_ID]}]},{type:i.Renderer2},{type:i.NgZone},{type:d}]},p.propDecorators={format:[{type:i.Input}],theme:[{type:i.Input}],modules:[{type:i.Input}],debug:[{type:i.Input}],readOnly:[{type:i.Input}],placeholder:[{type:i.Input}],maxLength:[{type:i.Input}],minLength:[{type:i.Input}],required:[{type:i.Input}],formats:[{type:i.Input}],customToolbarPosition:[{type:i.Input}],sanitize:[{type:i.Input}],styles:[{type:i.Input}],strict:[{type:i.Input}],scrollingContainer:[{type:i.Input}],bounds:[{type:i.Input}],customOptions:[{type:i.Input}],customModules:[{type:i.Input}],trackChanges:[{type:i.Input}],preserveWhitespace:[{type:i.Input}],classes:[{type:i.Input}],trimOnValidation:[{type:i.Input}],linkPlaceholder:[{type:i.Input}],compareValues:[{type:i.Input}],filterNull:[{type:i.Input}],onEditorCreated:[{type:i.Output}],onEditorChanged:[{type:i.Output}],onContentChanged:[{type:i.Output}],onSelectionChanged:[{type:i.Output}],onFocus:[{type:i.Output}],onBlur:[{type:i.Output}],valueGetter:[{type:i.Input}],valueSetter:[{type:i.Input}]};var f=function(e){function t(t,i,n,r,o,s,l){return e.call(this,t,i,n,r,o,s,l)||this}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}(t,e),t}(p);f.decorators=[{type:i.Component,args:[{encapsulation:i.ViewEncapsulation.None,providers:[{multi:!0,provide:r.NG_VALUE_ACCESSOR,useExisting:i.forwardRef((function(){return f}))},{multi:!0,provide:r.NG_VALIDATORS,useExisting:i.forwardRef((function(){return f}))}],selector:"quill-editor",template:'\n <ng-content select="[quill-editor-toolbar]"></ng-content>\n'}]}],f.ctorParameters=function(){return[{type:i.ElementRef,decorators:[{type:i.Inject,args:[i.ElementRef]}]},{type:n.DomSanitizer,decorators:[{type:i.Inject,args:[n.DomSanitizer]}]},{type:void 0,decorators:[{type:i.Inject,args:[t.DOCUMENT]}]},{type:void 0,decorators:[{type:i.Inject,args:[i.PLATFORM_ID]}]},{type:i.Renderer2,decorators:[{type:i.Inject,args:[i.Renderer2]}]},{type:i.NgZone,decorators:[{type:i.Inject,args:[i.NgZone]}]},{type:d,decorators:[{type:i.Inject,args:[d]}]}]};var m=function(){function e(e,t){this.sanitizer=e,this.service=t,this.content="",this.innerHTML="",this.themeClass="ql-snow"}return e.prototype.ngOnChanges=function(e){if(e.theme){var t=e.theme.currentValue||(this.service.config.theme?this.service.config.theme:"snow");this.themeClass="ql-"+t+" ngx-quill-view-html"}else if(!this.theme){t=this.service.config.theme?this.service.config.theme:"snow";this.themeClass="ql-"+t+" ngx-quill-view-html"}e.content&&(this.innerHTML=this.sanitizer.bypassSecurityTrustHtml(e.content.currentValue))},e}();m.decorators=[{type:i.Component,args:[{encapsulation:i.ViewEncapsulation.None,selector:"quill-view-html",template:'\n <div class="ql-container" [ngClass]="themeClass">\n <div class="ql-editor" [innerHTML]="innerHTML">\n </div>\n </div>\n',styles:["\n.ql-container.ngx-quill-view-html {\n border: 0;\n}\n"]}]}],m.ctorParameters=function(){return[{type:n.DomSanitizer,decorators:[{type:i.Inject,args:[n.DomSanitizer]}]},{type:d}]},m.propDecorators={content:[{type:i.Input}],theme:[{type:i.Input}]};var g=function(){function e(e,t,n,r,o,s){var l=this;this.elementRef=e,this.renderer=t,this.zone=n,this.service=r,this.domSanitizer=o,this.platformId=s,this.sanitize=!1,this.strict=!0,this.customModules=[],this.customOptions=[],this.preserveWhitespace=!1,this.onEditorCreated=new i.EventEmitter,this.valueSetter=function(e,t){var n=c(l.format,l.service.config.format),r=t;if("text"===n)e.setText(r);else{if("html"===n)l.sanitize&&(t=l.domSanitizer.sanitize(i.SecurityContext.HTML,t)),r=e.clipboard.convert(t);else if("json"===n)try{r=JSON.parse(t)}catch(e){r=[{insert:t}]}e.setContents(r)}}}return e.prototype.ngOnChanges=function(e){this.quillEditor&&e.content&&this.valueSetter(this.quillEditor,e.content.currentValue)},e.prototype.ngAfterViewInit=function(){return s(this,void 0,void 0,(function(){var e,i,n,r,o,s=this;return l(this,(function(l){switch(l.label){case 0:return t.isPlatformServer(this.platformId)?[2]:[4,this.service.getQuill()];case 1:return e=l.sent(),(i=Object.assign({},this.modules||this.service.config.modules)).toolbar=!1,this.customOptions.forEach((function(t){var i=e.import(t.import);i.whitelist=t.whitelist,e.register(i,!0)})),this.customModules.forEach((function(t){var i=t.implementation,n=t.path;e.register(n,i)})),!(n=this.debug)&&!1!==n&&this.service.config.debug&&(n=this.service.config.debug),(r=this.formats)||void 0!==r||(r=this.service.config.formats?Object.assign({},this.service.config.formats):null===this.service.config.formats?null:void 0),o=this.theme||(this.service.config.theme?this.service.config.theme:"snow"),this.elementRef.nativeElement.insertAdjacentHTML("afterbegin",this.preserveWhitespace?"<pre quill-view-element></pre>":"<div quill-view-element></div>"),this.editorElem=this.elementRef.nativeElement.querySelector("[quill-view-element]"),this.zone.runOutsideAngular((function(){s.quillEditor=new e(s.editorElem,{debug:n,formats:r,modules:i,readOnly:!0,strict:s.strict,theme:o})})),this.renderer.addClass(this.editorElem,"ngx-quill-view"),this.content&&this.valueSetter(this.quillEditor,this.content),setTimeout((function(){s.onEditorCreated.emit(s.quillEditor)})),[2]}}))}))},e}();g.decorators=[{type:i.Component,args:[{encapsulation:i.ViewEncapsulation.None,selector:"quill-view",template:"\n",styles:["\n.ql-container.ngx-quill-view {\n border: 0;\n}\n"]}]}],g.ctorParameters=function(){return[{type:i.ElementRef},{type:i.Renderer2},{type:i.NgZone},{type:d},{type:n.DomSanitizer},{type:void 0,decorators:[{type:i.Inject,args:[i.PLATFORM_ID]}]}]},g.propDecorators={format:[{type:i.Input}],theme:[{type:i.Input}],modules:[{type:i.Input}],debug:[{type:i.Input}],formats:[{type:i.Input}],sanitize:[{type:i.Input}],strict:[{type:i.Input}],content:[{type:i.Input}],customModules:[{type:i.Input}],customOptions:[{type:i.Input}],preserveWhitespace:[{type:i.Input}],onEditorCreated:[{type:i.Output}]};var v=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[{provide:h,useValue:t}]}},e}();v.decorators=[{type:i.NgModule,args:[{declarations:[f,g,m],exports:[f,g,m],imports:[t.CommonModule],providers:[d]}]}],e.QUILL_CONFIG_TOKEN=h,e.QuillEditorBase=p,e.QuillEditorComponent=f,e.QuillModule=v,e.QuillService=d,e.QuillViewComponent=g,e.QuillViewHTMLComponent=m,e.defaultModules=u,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=ngx-quill.umd.min.js.map
import { __awaiter } from "tslib";
import { isPlatformServer } from '@angular/common';
import { Component, ElementRef, Inject, Input, PLATFORM_ID, Renderer2, ViewEncapsulation, NgZone, SecurityContext } from '@angular/core';
import { Component, ElementRef, EventEmitter, Inject, Input, Output, PLATFORM_ID, Renderer2, ViewEncapsulation, NgZone, SecurityContext } from '@angular/core';
import { getFormat } from './helpers';

@@ -20,2 +20,3 @@ import { QuillService } from './quill.service';

this.preserveWhitespace = false;
this.onEditorCreated = new EventEmitter();
this.valueSetter = (quillEditor, value) => {

@@ -97,2 +98,6 @@ const format = getFormat(this.format, this.service.config.format);

}
// trigger created in a timeout to avoid changed models after checked
setTimeout(() => {
this.onEditorCreated.emit(this.quillEditor);
});
});

@@ -133,4 +138,5 @@ }

customOptions: [{ type: Input }],
preserveWhitespace: [{ type: Input }]
preserveWhitespace: [{ type: Input }],
onEditorCreated: [{ type: Output }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcXVpbGwvc3JjL2xpYi9xdWlsbC12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFJbEQsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxXQUFXLEVBQ1gsU0FBUyxFQUVULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sZUFBZSxFQUNoQixNQUFNLGVBQWUsQ0FBQTtBQUd0QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFheEQsTUFBTSxPQUFPLGtCQUFrQjtJQWdCN0IsWUFDUyxVQUFzQixFQUNuQixRQUFtQixFQUNuQixJQUFZLEVBQ1osT0FBcUIsRUFDckIsWUFBMEIsRUFDTCxVQUFlO1FBTHZDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osWUFBTyxHQUFQLE9BQU8sQ0FBYztRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUNMLGVBQVUsR0FBVixVQUFVLENBQUs7UUFoQnZDLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsV0FBTSxHQUFHLElBQUksQ0FBQTtRQUViLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQTtRQUNsQyxrQkFBYSxHQUFtQixFQUFFLENBQUE7UUFDbEMsdUJBQWtCLEdBQUcsS0FBSyxDQUFBO1FBY25DLGdCQUFXLEdBQUcsQ0FBQyxXQUFzQixFQUFFLEtBQVUsRUFBTyxFQUFFO1lBQ3hELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ2pFLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQTtZQUNuQixJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUU7Z0JBQ3JCLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7YUFDN0I7aUJBQU07Z0JBQ0wsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFO29CQUNyQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7d0JBQ2pCLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO3FCQUNoRTtvQkFDRCxPQUFPLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7aUJBQy9DO3FCQUFNLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRTtvQkFDNUIsSUFBSTt3QkFDRixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtxQkFDNUI7b0JBQUMsT0FBTyxDQUFDLEVBQUU7d0JBQ1YsT0FBTyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtxQkFDOUI7aUJBQ0Y7Z0JBQ0QsV0FBVyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQTthQUNqQztRQUNILENBQUMsQ0FBQTtJQXRCRSxDQUFDO0lBd0JKLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNyQixPQUFNO1NBQ1A7UUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUE7U0FDakU7SUFDSCxDQUFDO0lBRUssZUFBZTs7WUFDbkIsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3JDLE9BQU07YUFDUDtZQUVELGdFQUFnRTtZQUNoRSxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUE7WUFFM0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUM5RSxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtZQUV2QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO2dCQUMxQyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQTtnQkFDekQsZUFBZSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFBO2dCQUNsRCxLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUN2QyxDQUFDLENBQUMsQ0FBQTtZQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxjQUFjLEVBQUUsSUFBSSxFQUFDLEVBQUUsRUFBRTtnQkFDcEQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUE7WUFDdEMsQ0FBQyxDQUFDLENBQUE7WUFFRixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1lBQ3RCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQzFELEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUE7YUFDbEM7WUFFRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFBO1lBQzFCLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtnQkFDckMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNyQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFBO2FBQzdHO1lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUU1RixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FDOUMsWUFBWSxFQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLGdDQUFnQyxDQUM5RixDQUFBO1lBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQzNELHNCQUFzQixDQUNSLENBQUE7WUFFaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDNUMsS0FBSyxFQUFFLEtBQVk7b0JBQ25CLE9BQU8sRUFBRSxPQUFjO29CQUN2QixPQUFPO29CQUNQLFFBQVEsRUFBRSxJQUFJO29CQUNkLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsS0FBSztpQkFDTixDQUFDLENBQUE7WUFDSixDQUFDLENBQUMsQ0FBQTtZQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtZQUV6RCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7YUFDakQ7UUFDSCxDQUFDO0tBQUE7OztZQTdIRixTQUFTLFNBQUM7Z0JBQ1QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLFFBQVEsRUFBRSxZQUFZO2dCQU10QixRQUFRLEVBQUU7Q0FDWDt5QkFOVTs7OztDQUlWO2FBR0E7OztZQTNCQyxVQUFVO1lBS1YsU0FBUztZQUdULE1BQU07WUFNQyxZQUFZO1lBQ1osWUFBWTs0Q0FtQ2hCLE1BQU0sU0FBQyxXQUFXOzs7cUJBckJwQixLQUFLO29CQUNMLEtBQUs7c0JBQ0wsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUs7dUJBQ0wsS0FBSztxQkFDTCxLQUFLO3NCQUNMLEtBQUs7NEJBQ0wsS0FBSzs0QkFDTCxLQUFLO2lDQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IFF1aWxsVHlwZSBmcm9tICdxdWlsbCdcbmltcG9ydCB7IFF1aWxsTW9kdWxlcyB9IGZyb20gJy4vcXVpbGwtZWRpdG9yLmludGVyZmFjZXMnXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBQTEFURk9STV9JRCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgTmdab25lLFxuICBTZWN1cml0eUNvbnRleHRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgQ3VzdG9tT3B0aW9uLCBDdXN0b21Nb2R1bGUgfSBmcm9tICcuL3F1aWxsLWVkaXRvci5pbnRlcmZhY2VzJ1xuaW1wb3J0IHtnZXRGb3JtYXR9IGZyb20gJy4vaGVscGVycydcbmltcG9ydCB7IFF1aWxsU2VydmljZSB9IGZyb20gJy4vcXVpbGwuc2VydmljZSdcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInXG5cbkBDb21wb25lbnQoe1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzZWxlY3RvcjogJ3F1aWxsLXZpZXcnLFxuICBzdHlsZXM6IFtgXG4ucWwtY29udGFpbmVyLm5neC1xdWlsbC12aWV3IHtcbiAgYm9yZGVyOiAwO1xufVxuYF0sXG4gIHRlbXBsYXRlOiBgXG5gXG59KVxuZXhwb3J0IGNsYXNzIFF1aWxsVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGZvcm1hdD86ICdvYmplY3QnIHwgJ2h0bWwnIHwgJ3RleHQnIHwgJ2pzb24nXG4gIEBJbnB1dCgpIHRoZW1lPzogc3RyaW5nXG4gIEBJbnB1dCgpIG1vZHVsZXM/OiBRdWlsbE1vZHVsZXNcbiAgQElucHV0KCkgZGVidWc/OiAnd2FybicgfCAnbG9nJyB8ICdlcnJvcicgfCBmYWxzZVxuICBASW5wdXQoKSBmb3JtYXRzPzogc3RyaW5nW10gfCBudWxsXG4gIEBJbnB1dCgpIHNhbml0aXplID0gZmFsc2VcbiAgQElucHV0KCkgc3RyaWN0ID0gdHJ1ZVxuICBASW5wdXQoKSBjb250ZW50OiBhbnlcbiAgQElucHV0KCkgY3VzdG9tTW9kdWxlczogQ3VzdG9tTW9kdWxlW10gPSBbXVxuICBASW5wdXQoKSBjdXN0b21PcHRpb25zOiBDdXN0b21PcHRpb25bXSA9IFtdXG4gIEBJbnB1dCgpIHByZXNlcnZlV2hpdGVzcGFjZSA9IGZhbHNlXG5cbiAgcXVpbGxFZGl0b3IhOiBRdWlsbFR5cGVcbiAgZWRpdG9yRWxlbSE6IEhUTUxFbGVtZW50XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJvdGVjdGVkIHpvbmU6IE5nWm9uZSxcbiAgICBwcm90ZWN0ZWQgc2VydmljZTogUXVpbGxTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcm90ZWN0ZWQgcGxhdGZvcm1JZDogYW55LFxuICApIHt9XG5cbiAgdmFsdWVTZXR0ZXIgPSAocXVpbGxFZGl0b3I6IFF1aWxsVHlwZSwgdmFsdWU6IGFueSk6IGFueSA9PiB7XG4gICAgY29uc3QgZm9ybWF0ID0gZ2V0Rm9ybWF0KHRoaXMuZm9ybWF0LCB0aGlzLnNlcnZpY2UuY29uZmlnLmZvcm1hdClcbiAgICBsZXQgY29udGVudCA9IHZhbHVlXG4gICAgaWYgKGZvcm1hdCA9PT0gJ3RleHQnKSB7XG4gICAgICBxdWlsbEVkaXRvci5zZXRUZXh0KGNvbnRlbnQpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChmb3JtYXQgPT09ICdodG1sJykge1xuICAgICAgICBpZiAodGhpcy5zYW5pdGl6ZSkge1xuICAgICAgICAgIHZhbHVlID0gdGhpcy5kb21TYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIHZhbHVlKVxuICAgICAgICB9XG4gICAgICAgIGNvbnRlbnQgPSBxdWlsbEVkaXRvci5jbGlwYm9hcmQuY29udmVydCh2YWx1ZSlcbiAgICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSAnanNvbicpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb250ZW50ID0gSlNPTi5wYXJzZSh2YWx1ZSlcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnRlbnQgPSBbeyBpbnNlcnQ6IHZhbHVlIH1dXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHF1aWxsRWRpdG9yLnNldENvbnRlbnRzKGNvbnRlbnQpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICghdGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmNvbnRlbnQpIHtcbiAgICAgIHRoaXMudmFsdWVTZXR0ZXIodGhpcy5xdWlsbEVkaXRvciwgY2hhbmdlcy5jb250ZW50LmN1cnJlbnRWYWx1ZSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIGNvbnN0IFF1aWxsID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFF1aWxsKClcblxuICAgIGNvbnN0IG1vZHVsZXMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLm1vZHVsZXMgfHwgdGhpcy5zZXJ2aWNlLmNvbmZpZy5tb2R1bGVzKVxuICAgIG1vZHVsZXMudG9vbGJhciA9IGZhbHNlXG5cbiAgICB0aGlzLmN1c3RvbU9wdGlvbnMuZm9yRWFjaCgoY3VzdG9tT3B0aW9uKSA9PiB7XG4gICAgICBjb25zdCBuZXdDdXN0b21PcHRpb24gPSBRdWlsbC5pbXBvcnQoY3VzdG9tT3B0aW9uLmltcG9ydClcbiAgICAgIG5ld0N1c3RvbU9wdGlvbi53aGl0ZWxpc3QgPSBjdXN0b21PcHRpb24ud2hpdGVsaXN0XG4gICAgICBRdWlsbC5yZWdpc3RlcihuZXdDdXN0b21PcHRpb24sIHRydWUpXG4gICAgfSlcblxuICAgIHRoaXMuY3VzdG9tTW9kdWxlcy5mb3JFYWNoKCh7aW1wbGVtZW50YXRpb24sIHBhdGh9KSA9PiB7XG4gICAgICBRdWlsbC5yZWdpc3RlcihwYXRoLCBpbXBsZW1lbnRhdGlvbilcbiAgICB9KVxuXG4gICAgbGV0IGRlYnVnID0gdGhpcy5kZWJ1Z1xuICAgIGlmICghZGVidWcgJiYgZGVidWcgIT09IGZhbHNlICYmIHRoaXMuc2VydmljZS5jb25maWcuZGVidWcpIHtcbiAgICAgIGRlYnVnID0gdGhpcy5zZXJ2aWNlLmNvbmZpZy5kZWJ1Z1xuICAgIH1cblxuICAgIGxldCBmb3JtYXRzID0gdGhpcy5mb3JtYXRzXG4gICAgaWYgKCFmb3JtYXRzICYmIGZvcm1hdHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZm9ybWF0cyA9IHRoaXMuc2VydmljZS5jb25maWcuZm9ybWF0cyA/XG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sIHRoaXMuc2VydmljZS5jb25maWcuZm9ybWF0cykgOiAodGhpcy5zZXJ2aWNlLmNvbmZpZy5mb3JtYXRzID09PSBudWxsID8gbnVsbCA6IHVuZGVmaW5lZClcbiAgICB9XG4gICAgY29uc3QgdGhlbWUgPSB0aGlzLnRoZW1lIHx8ICh0aGlzLnNlcnZpY2UuY29uZmlnLnRoZW1lID8gdGhpcy5zZXJ2aWNlLmNvbmZpZy50aGVtZSA6ICdzbm93JylcblxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lmluc2VydEFkamFjZW50SFRNTChcbiAgICAgICdhZnRlcmJlZ2luJyxcbiAgICAgIHRoaXMucHJlc2VydmVXaGl0ZXNwYWNlID8gJzxwcmUgcXVpbGwtdmlldy1lbGVtZW50PjwvcHJlPicgOiAnPGRpdiBxdWlsbC12aWV3LWVsZW1lbnQ+PC9kaXY+J1xuICAgIClcblxuICAgIHRoaXMuZWRpdG9yRWxlbSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnW3F1aWxsLXZpZXctZWxlbWVudF0nXG4gICAgKSBhcyBIVE1MRWxlbWVudFxuXG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMucXVpbGxFZGl0b3IgPSBuZXcgUXVpbGwodGhpcy5lZGl0b3JFbGVtLCB7XG4gICAgICAgIGRlYnVnOiBkZWJ1ZyBhcyBhbnksXG4gICAgICAgIGZvcm1hdHM6IGZvcm1hdHMgYXMgYW55LFxuICAgICAgICBtb2R1bGVzLFxuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgc3RyaWN0OiB0aGlzLnN0cmljdCxcbiAgICAgICAgdGhlbWVcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lZGl0b3JFbGVtLCAnbmd4LXF1aWxsLXZpZXcnKVxuXG4gICAgaWYgKHRoaXMuY29udGVudCkge1xuICAgICAgdGhpcy52YWx1ZVNldHRlcih0aGlzLnF1aWxsRWRpdG9yLCB0aGlzLmNvbnRlbnQpXG4gICAgfVxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcXVpbGwvc3JjL2xpYi9xdWlsbC12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFJbEQsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixlQUFlLEVBQ2hCLE1BQU0sZUFBZSxDQUFBO0FBR3RCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQWF4RCxNQUFNLE9BQU8sa0JBQWtCO0lBa0I3QixZQUNTLFVBQXNCLEVBQ25CLFFBQW1CLEVBQ25CLElBQVksRUFDWixPQUFxQixFQUNyQixZQUEwQixFQUNMLFVBQWU7UUFMdkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQ3JCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ0wsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQWxCdkMsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUNoQixXQUFNLEdBQUcsSUFBSSxDQUFBO1FBRWIsa0JBQWEsR0FBbUIsRUFBRSxDQUFBO1FBQ2xDLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQTtRQUNsQyx1QkFBa0IsR0FBRyxLQUFLLENBQUE7UUFFekIsb0JBQWUsR0FBc0IsSUFBSSxZQUFZLEVBQUUs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T0FBYztvQkFDdkIsT0FBTztvQkFDUCxRQUFRLEVBQUUsSUFBSTtvQkFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLEtBQUs7aUJBQ04sQ0FBQyxDQUFBO1lBQ0osQ0FBQyxDQUFDLENBQUE7WUFFRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLENBQUE7WUFFekQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO2FBQ2pEO1lBRUQscUVBQXFFO1lBQ3JFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQzdDLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztLQUFBOzs7WUFwSUYsU0FBUyxTQUFDO2dCQUNULGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxRQUFRLEVBQUUsWUFBWTtnQkFNdEIsUUFBUSxFQUFFO0NBQ1g7eUJBTlU7Ozs7Q0FJVjthQUdBOzs7WUE3QkMsVUFBVTtZQU9WLFNBQVM7WUFHVCxNQUFNO1lBTUMsWUFBWTtZQUNaLFlBQVk7NENBcUNoQixNQUFNLFNBQUMsV0FBVzs7O3FCQXZCcEIsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLO3VCQUNMLEtBQUs7cUJBQ0wsS0FBSztzQkFDTCxLQUFLOzRCQUNMLEtBQUs7NEJBQ0wsS0FBSztpQ0FDTCxLQUFLOzhCQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IFF1aWxsVHlwZSBmcm9tICdxdWlsbCdcbmltcG9ydCB7IFF1aWxsTW9kdWxlcyB9IGZyb20gJy4vcXVpbGwtZWRpdG9yLmludGVyZmFjZXMnXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIE9uQ2hhbmdlcyxcbiAgUExBVEZPUk1fSUQsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIE5nWm9uZSxcbiAgU2VjdXJpdHlDb250ZXh0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IEN1c3RvbU9wdGlvbiwgQ3VzdG9tTW9kdWxlIH0gZnJvbSAnLi9xdWlsbC1lZGl0b3IuaW50ZXJmYWNlcydcbmltcG9ydCB7Z2V0Rm9ybWF0fSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQgeyBRdWlsbFNlcnZpY2UgfSBmcm9tICcuL3F1aWxsLnNlcnZpY2UnXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJ1xuXG5AQ29tcG9uZW50KHtcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc2VsZWN0b3I6ICdxdWlsbC12aWV3JyxcbiAgc3R5bGVzOiBbYFxuLnFsLWNvbnRhaW5lci5uZ3gtcXVpbGwtdmlldyB7XG4gIGJvcmRlcjogMDtcbn1cbmBdLFxuICB0ZW1wbGF0ZTogYFxuYFxufSlcbmV4cG9ydCBjbGFzcyBRdWlsbFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBmb3JtYXQ/OiAnb2JqZWN0JyB8ICdodG1sJyB8ICd0ZXh0JyB8ICdqc29uJ1xuICBASW5wdXQoKSB0aGVtZT86IHN0cmluZ1xuICBASW5wdXQoKSBtb2R1bGVzPzogUXVpbGxNb2R1bGVzXG4gIEBJbnB1dCgpIGRlYnVnPzogJ3dhcm4nIHwgJ2xvZycgfCAnZXJyb3InIHwgZmFsc2VcbiAgQElucHV0KCkgZm9ybWF0cz86IHN0cmluZ1tdIHwgbnVsbFxuICBASW5wdXQoKSBzYW5pdGl6ZSA9IGZhbHNlXG4gIEBJbnB1dCgpIHN0cmljdCA9IHRydWVcbiAgQElucHV0KCkgY29udGVudDogYW55XG4gIEBJbnB1dCgpIGN1c3RvbU1vZHVsZXM6IEN1c3RvbU1vZHVsZVtdID0gW11cbiAgQElucHV0KCkgY3VzdG9tT3B0aW9uczogQ3VzdG9tT3B0aW9uW10gPSBbXVxuICBASW5wdXQoKSBwcmVzZXJ2ZVdoaXRlc3BhY2UgPSBmYWxzZVxuXG4gIEBPdXRwdXQoKSBvbkVkaXRvckNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgcXVpbGxFZGl0b3IhOiBRdWlsbFR5cGVcbiAgZWRpdG9yRWxlbSE6IEhUTUxFbGVtZW50XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJvdGVjdGVkIHpvbmU6IE5nWm9uZSxcbiAgICBwcm90ZWN0ZWQgc2VydmljZTogUXVpbGxTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcm90ZWN0ZWQgcGxhdGZvcm1JZDogYW55LFxuICApIHt9XG5cbiAgdmFsdWVTZXR0ZXIgPSAocXVpbGxFZGl0b3I6IFF1aWxsVHlwZSwgdmFsdWU6IGFueSk6IGFueSA9PiB7XG4gICAgY29uc3QgZm9ybWF0ID0gZ2V0Rm9ybWF0KHRoaXMuZm9ybWF0LCB0aGlzLnNlcnZpY2UuY29uZmlnLmZvcm1hdClcbiAgICBsZXQgY29udGVudCA9IHZhbHVlXG4gICAgaWYgKGZvcm1hdCA9PT0gJ3RleHQnKSB7XG4gICAgICBxdWlsbEVkaXRvci5zZXRUZXh0KGNvbnRlbnQpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChmb3JtYXQgPT09ICdodG1sJykge1xuICAgICAgICBpZiAodGhpcy5zYW5pdGl6ZSkge1xuICAgICAgICAgIHZhbHVlID0gdGhpcy5kb21TYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIHZhbHVlKVxuICAgICAgICB9XG4gICAgICAgIGNvbnRlbnQgPSBxdWlsbEVkaXRvci5jbGlwYm9hcmQuY29udmVydCh2YWx1ZSlcbiAgICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSAnanNvbicpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb250ZW50ID0gSlNPTi5wYXJzZSh2YWx1ZSlcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnRlbnQgPSBbeyBpbnNlcnQ6IHZhbHVlIH1dXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHF1aWxsRWRpdG9yLnNldENvbnRlbnRzKGNvbnRlbnQpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICghdGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmNvbnRlbnQpIHtcbiAgICAgIHRoaXMudmFsdWVTZXR0ZXIodGhpcy5xdWlsbEVkaXRvciwgY2hhbmdlcy5jb250ZW50LmN1cnJlbnRWYWx1ZSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIGNvbnN0IFF1aWxsID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFF1aWxsKClcblxuICAgIGNvbnN0IG1vZHVsZXMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLm1vZHVsZXMgfHwgdGhpcy5zZXJ2aWNlLmNvbmZpZy5tb2R1bGVzKVxuICAgIG1vZHVsZXMudG9vbGJhciA9IGZhbHNlXG5cbiAgICB0aGlzLmN1c3RvbU9wdGlvbnMuZm9yRWFjaCgoY3VzdG9tT3B0aW9uKSA9PiB7XG4gICAgICBjb25zdCBuZXdDdXN0b21PcHRpb24gPSBRdWlsbC5pbXBvcnQoY3VzdG9tT3B0aW9uLmltcG9ydClcbiAgICAgIG5ld0N1c3RvbU9wdGlvbi53aGl0ZWxpc3QgPSBjdXN0b21PcHRpb24ud2hpdGVsaXN0XG4gICAgICBRdWlsbC5yZWdpc3RlcihuZXdDdXN0b21PcHRpb24sIHRydWUpXG4gICAgfSlcblxuICAgIHRoaXMuY3VzdG9tTW9kdWxlcy5mb3JFYWNoKCh7aW1wbGVtZW50YXRpb24sIHBhdGh9KSA9PiB7XG4gICAgICBRdWlsbC5yZWdpc3RlcihwYXRoLCBpbXBsZW1lbnRhdGlvbilcbiAgICB9KVxuXG4gICAgbGV0IGRlYnVnID0gdGhpcy5kZWJ1Z1xuICAgIGlmICghZGVidWcgJiYgZGVidWcgIT09IGZhbHNlICYmIHRoaXMuc2VydmljZS5jb25maWcuZGVidWcpIHtcbiAgICAgIGRlYnVnID0gdGhpcy5zZXJ2aWNlLmNvbmZpZy5kZWJ1Z1xuICAgIH1cblxuICAgIGxldCBmb3JtYXRzID0gdGhpcy5mb3JtYXRzXG4gICAgaWYgKCFmb3JtYXRzICYmIGZvcm1hdHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZm9ybWF0cyA9IHRoaXMuc2VydmljZS5jb25maWcuZm9ybWF0cyA/XG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sIHRoaXMuc2VydmljZS5jb25maWcuZm9ybWF0cykgOiAodGhpcy5zZXJ2aWNlLmNvbmZpZy5mb3JtYXRzID09PSBudWxsID8gbnVsbCA6IHVuZGVmaW5lZClcbiAgICB9XG4gICAgY29uc3QgdGhlbWUgPSB0aGlzLnRoZW1lIHx8ICh0aGlzLnNlcnZpY2UuY29uZmlnLnRoZW1lID8gdGhpcy5zZXJ2aWNlLmNvbmZpZy50aGVtZSA6ICdzbm93JylcblxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lmluc2VydEFkamFjZW50SFRNTChcbiAgICAgICdhZnRlcmJlZ2luJyxcbiAgICAgIHRoaXMucHJlc2VydmVXaGl0ZXNwYWNlID8gJzxwcmUgcXVpbGwtdmlldy1lbGVtZW50PjwvcHJlPicgOiAnPGRpdiBxdWlsbC12aWV3LWVsZW1lbnQ+PC9kaXY+J1xuICAgIClcblxuICAgIHRoaXMuZWRpdG9yRWxlbSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnW3F1aWxsLXZpZXctZWxlbWVudF0nXG4gICAgKSBhcyBIVE1MRWxlbWVudFxuXG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMucXVpbGxFZGl0b3IgPSBuZXcgUXVpbGwodGhpcy5lZGl0b3JFbGVtLCB7XG4gICAgICAgIGRlYnVnOiBkZWJ1ZyBhcyBhbnksXG4gICAgICAgIGZvcm1hdHM6IGZvcm1hdHMgYXMgYW55LFxuICAgICAgICBtb2R1bGVzLFxuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgc3RyaWN0OiB0aGlzLnN0cmljdCxcbiAgICAgICAgdGhlbWVcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lZGl0b3JFbGVtLCAnbmd4LXF1aWxsLXZpZXcnKVxuXG4gICAgaWYgKHRoaXMuY29udGVudCkge1xuICAgICAgdGhpcy52YWx1ZVNldHRlcih0aGlzLnF1aWxsRWRpdG9yLCB0aGlzLmNvbnRlbnQpXG4gICAgfVxuXG4gICAgLy8gdHJpZ2dlciBjcmVhdGVkIGluIGEgdGltZW91dCB0byBhdm9pZCBjaGFuZ2VkIG1vZGVscyBhZnRlciBjaGVja2VkXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm9uRWRpdG9yQ3JlYXRlZC5lbWl0KHRoaXMucXVpbGxFZGl0b3IpXG4gICAgfSlcbiAgfVxufVxuIl19

@@ -651,2 +651,3 @@ import { isPlatformServer, DOCUMENT, CommonModule } from '@angular/common';

this.preserveWhitespace = false;
this.onEditorCreated = new EventEmitter();
this.valueSetter = (quillEditor, value) => {

@@ -728,2 +729,6 @@ const format = getFormat(this.format, this.service.config.format);

}
// trigger created in a timeout to avoid changed models after checked
setTimeout(() => {
this.onEditorCreated.emit(this.quillEditor);
});
});

@@ -764,3 +769,4 @@ }

customOptions: [{ type: Input }],
preserveWhitespace: [{ type: Input }]
preserveWhitespace: [{ type: Input }],
onEditorCreated: [{ type: Output }]
};

@@ -767,0 +773,0 @@

import QuillType from 'quill';
import { QuillModules } from './quill-editor.interfaces';
import { AfterViewInit, ElementRef, OnChanges, Renderer2, SimpleChanges, NgZone } from '@angular/core';
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges, NgZone } from '@angular/core';
import { CustomOption, CustomModule } from './quill-editor.interfaces';

@@ -25,2 +25,3 @@ import { QuillService } from './quill.service';

preserveWhitespace: boolean;
onEditorCreated: EventEmitter<any>;
quillEditor: QuillType;

@@ -27,0 +28,0 @@ editorElem: HTMLElement;

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

{"__symbolic":"module","version":4,"metadata":{"QuillModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"QuillEditorComponent"},{"__symbolic":"reference","name":"QuillViewComponent"},{"__symbolic":"reference","name":"QuillViewHTMLComponent"}],"exports":[{"__symbolic":"reference","name":"QuillEditorComponent"},{"__symbolic":"reference","name":"QuillViewComponent"},{"__symbolic":"reference","name":"QuillViewHTMLComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":16,"character":12}],"providers":[{"__symbolic":"reference","name":"QuillService"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"QuillModule"},"providers":[{"provide":{"__symbolic":"reference","name":"QUILL_CONFIG_TOKEN"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}},"QuillService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":14,"character":5},"arguments":[{"__symbolic":"reference","name":"QUILL_CONFIG_TOKEN"}]}]],"parameters":[{"__symbolic":"reference","name":"QuillConfig"}]}],"getQuill":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"defaultModules":{"toolbar":[["bold","italic","underline","strike"],["blockquote","code-block"],[{"header":1},{"header":2}],[{"list":"ordered"},{"list":"bullet"}],[{"script":"sub"},{"script":"super"}],[{"indent":"-1"},{"indent":"+1"}],[{"direction":"rtl"}],[{"size":["small",false,"large","huge"]}],[{"header":[1,2,3,4,5,6,false]}],[{"color":[]},{"background":[]}],[{"font":[]}],[{"align":[]}],["clean"],["link","image","video"]]},"Range":{"__symbolic":"interface"},"ContentChange":{"__symbolic":"interface"},"SelectionChange":{"__symbolic":"interface"},"Blur":{"__symbolic":"interface"},"Focus":{"__symbolic":"interface"},"EditorChangeContent":{"__symbolic":"interface"},"EditorChangeSelection":{"__symbolic":"interface"},"QuillEditorBase":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":68,"character":1}}],"members":{"format":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"modules":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3}}]}],"debug":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"readOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"maxLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}}]}],"minLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"formats":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":3}}]}],"customToolbarPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":81,"character":3}}]}],"sanitize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":82,"character":3}}]}],"styles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":83,"character":3}}]}],"strict":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":84,"character":3}}]}],"scrollingContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":3}}]}],"bounds":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":3}}]}],"customOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":3}}]}],"customModules":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":88,"character":3}}]}],"trackChanges":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":89,"character":3}}]}],"preserveWhitespace":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":3}}]}],"classes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":91,"character":3}}]}],"trimOnValidation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":3}}]}],"linkPlaceholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":93,"character":3}}]}],"compareValues":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":94,"character":3}}]}],"filterNull":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":95,"character":3}}]}],"onEditorCreated":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":97,"character":3}}]}],"onEditorChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":98,"character":3}}]}],"onContentChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":99,"character":3}}]}],"onSelectionChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":100,"character":3}}]}],"onFocus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":101,"character":3}}]}],"onBlur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":102,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":116,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":116,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":117,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":117,"character":12}]}],null,null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":114,"character":23},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":115,"character":28},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":118,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":119,"character":20},{"__symbolic":"reference","name":"QuillService"}]}],"valueGetter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":135,"character":3}}]}],"valueSetter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":159,"character":3}}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"addClasses":[{"__symbolic":"method"}],"removeClasses":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"registerOnValidatorChange":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}]}},"QuillEditorComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"QuillEditorBase"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":619,"character":1},"arguments":[{"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":620,"character":17},"member":"None"},"providers":[{"multi":true,"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":624,"character":15},"useExisting":{"__symbolic":"reference","name":"QuillEditorComponent"}},{"multi":true,"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":630,"character":15},"useExisting":{"__symbolic":"reference","name":"QuillEditorComponent"}}],"selector":"quill-editor","template":"\n <ng-content select=\"[quill-editor-toolbar]\"></ng-content>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":643,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":114,"character":23}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":644,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":115,"character":28}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":645,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":645,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":646,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":646,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":647,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":118,"character":24}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":648,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":119,"character":20}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":649,"character":5},"arguments":[{"__symbolic":"reference","name":"QuillService"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":114,"character":23},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":115,"character":28},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":118,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":119,"character":20},{"__symbolic":"reference","name":"QuillService"}]}]}},"QuillViewComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":24,"character":1},"arguments":[{"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":25,"character":17},"member":"None"},"selector":"quill-view","styles":["\n.ql-container.ngx-quill-view {\n border: 0;\n}\n"],"template":"\n"}]}],"members":{"format":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"modules":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"debug":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"formats":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"sanitize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"strict":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"customModules":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"customOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"preserveWhitespace":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":57,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":57,"character":12}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":52,"character":23},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":53,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":54,"character":20},{"__symbolic":"reference","name":"QuillService"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":56,"character":28},{"__symbolic":"reference","name":"any"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"QuillViewHTMLComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":17},"member":"None"},"selector":"quill-view-html","styles":["\n.ql-container.ngx-quill-view-html {\n border: 0;\n}\n"],"template":"\n <div class=\"ql-container\" [ngClass]=\"themeClass\">\n <div class=\"ql-editor\" [innerHTML]=\"innerHTML\">\n </div>\n </div>\n"}]}],"members":{"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":35,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":35,"character":12}]}],null],"parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":35,"character":45},{"__symbolic":"reference","name":"QuillService"}]}],"ngOnChanges":[{"__symbolic":"method"}]}},"CustomOption":{"__symbolic":"interface"},"CustomModule":{"__symbolic":"interface"},"QuillToolbarConfig":{"__symbolic":"interface"},"QuillModules":{"__symbolic":"interface"},"QuillFormat":{"__symbolic":"interface"},"QuillConfig":{"__symbolic":"interface"},"QUILL_CONFIG_TOKEN":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":69,"character":38},"arguments":["config"]}},"origins":{"QuillModule":"./lib/quill.module","QuillService":"./lib/quill.service","defaultModules":"./lib/quill-defaults","Range":"./lib/quill-editor.component","ContentChange":"./lib/quill-editor.component","SelectionChange":"./lib/quill-editor.component","Blur":"./lib/quill-editor.component","Focus":"./lib/quill-editor.component","EditorChangeContent":"./lib/quill-editor.component","EditorChangeSelection":"./lib/quill-editor.component","QuillEditorBase":"./lib/quill-editor.component","QuillEditorComponent":"./lib/quill-editor.component","QuillViewComponent":"./lib/quill-view.component","QuillViewHTMLComponent":"./lib/quill-view-html.component","CustomOption":"./lib/quill-editor.interfaces","CustomModule":"./lib/quill-editor.interfaces","QuillToolbarConfig":"./lib/quill-editor.interfaces","QuillModules":"./lib/quill-editor.interfaces","QuillFormat":"./lib/quill-editor.interfaces","QuillConfig":"./lib/quill-editor.interfaces","QUILL_CONFIG_TOKEN":"./lib/quill-editor.interfaces"},"importAs":"ngx-quill"}
{"__symbolic":"module","version":4,"metadata":{"QuillModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"QuillEditorComponent"},{"__symbolic":"reference","name":"QuillViewComponent"},{"__symbolic":"reference","name":"QuillViewHTMLComponent"}],"exports":[{"__symbolic":"reference","name":"QuillEditorComponent"},{"__symbolic":"reference","name":"QuillViewComponent"},{"__symbolic":"reference","name":"QuillViewHTMLComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":16,"character":12}],"providers":[{"__symbolic":"reference","name":"QuillService"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"QuillModule"},"providers":[{"provide":{"__symbolic":"reference","name":"QUILL_CONFIG_TOKEN"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}},"QuillService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":14,"character":5},"arguments":[{"__symbolic":"reference","name":"QUILL_CONFIG_TOKEN"}]}]],"parameters":[{"__symbolic":"reference","name":"QuillConfig"}]}],"getQuill":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"defaultModules":{"toolbar":[["bold","italic","underline","strike"],["blockquote","code-block"],[{"header":1},{"header":2}],[{"list":"ordered"},{"list":"bullet"}],[{"script":"sub"},{"script":"super"}],[{"indent":"-1"},{"indent":"+1"}],[{"direction":"rtl"}],[{"size":["small",false,"large","huge"]}],[{"header":[1,2,3,4,5,6,false]}],[{"color":[]},{"background":[]}],[{"font":[]}],[{"align":[]}],["clean"],["link","image","video"]]},"Range":{"__symbolic":"interface"},"ContentChange":{"__symbolic":"interface"},"SelectionChange":{"__symbolic":"interface"},"Blur":{"__symbolic":"interface"},"Focus":{"__symbolic":"interface"},"EditorChangeContent":{"__symbolic":"interface"},"EditorChangeSelection":{"__symbolic":"interface"},"QuillEditorBase":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":68,"character":1}}],"members":{"format":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"modules":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3}}]}],"debug":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"readOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"maxLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}}]}],"minLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"formats":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":3}}]}],"customToolbarPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":81,"character":3}}]}],"sanitize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":82,"character":3}}]}],"styles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":83,"character":3}}]}],"strict":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":84,"character":3}}]}],"scrollingContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":3}}]}],"bounds":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":3}}]}],"customOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":3}}]}],"customModules":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":88,"character":3}}]}],"trackChanges":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":89,"character":3}}]}],"preserveWhitespace":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":3}}]}],"classes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":91,"character":3}}]}],"trimOnValidation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":3}}]}],"linkPlaceholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":93,"character":3}}]}],"compareValues":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":94,"character":3}}]}],"filterNull":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":95,"character":3}}]}],"onEditorCreated":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":97,"character":3}}]}],"onEditorChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":98,"character":3}}]}],"onContentChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":99,"character":3}}]}],"onSelectionChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":100,"character":3}}]}],"onFocus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":101,"character":3}}]}],"onBlur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":102,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":116,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":116,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":117,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":117,"character":12}]}],null,null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":114,"character":23},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":115,"character":28},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":118,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":119,"character":20},{"__symbolic":"reference","name":"QuillService"}]}],"valueGetter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":135,"character":3}}]}],"valueSetter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":159,"character":3}}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"addClasses":[{"__symbolic":"method"}],"removeClasses":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"registerOnValidatorChange":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}]}},"QuillEditorComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"QuillEditorBase"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":619,"character":1},"arguments":[{"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":620,"character":17},"member":"None"},"providers":[{"multi":true,"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":624,"character":15},"useExisting":{"__symbolic":"reference","name":"QuillEditorComponent"}},{"multi":true,"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":630,"character":15},"useExisting":{"__symbolic":"reference","name":"QuillEditorComponent"}}],"selector":"quill-editor","template":"\n <ng-content select=\"[quill-editor-toolbar]\"></ng-content>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":643,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":114,"character":23}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":644,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":115,"character":28}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":645,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":645,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":646,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":646,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":647,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":118,"character":24}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":648,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":119,"character":20}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":649,"character":5},"arguments":[{"__symbolic":"reference","name":"QuillService"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":114,"character":23},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":115,"character":28},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":118,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":119,"character":20},{"__symbolic":"reference","name":"QuillService"}]}]}},"QuillViewComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":27,"character":17},"member":"None"},"selector":"quill-view","styles":["\n.ql-container.ngx-quill-view {\n border: 0;\n}\n"],"template":"\n"}]}],"members":{"format":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"modules":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"debug":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"formats":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"sanitize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"strict":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"customModules":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"customOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"preserveWhitespace":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"onEditorCreated":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":61,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":61,"character":12}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":56,"character":23},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":57,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":58,"character":20},{"__symbolic":"reference","name":"QuillService"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":60,"character":28},{"__symbolic":"reference","name":"any"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"QuillViewHTMLComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":17},"member":"None"},"selector":"quill-view-html","styles":["\n.ql-container.ngx-quill-view-html {\n border: 0;\n}\n"],"template":"\n <div class=\"ql-container\" [ngClass]=\"themeClass\">\n <div class=\"ql-editor\" [innerHTML]=\"innerHTML\">\n </div>\n </div>\n"}]}],"members":{"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":35,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":35,"character":12}]}],null],"parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":35,"character":45},{"__symbolic":"reference","name":"QuillService"}]}],"ngOnChanges":[{"__symbolic":"method"}]}},"CustomOption":{"__symbolic":"interface"},"CustomModule":{"__symbolic":"interface"},"QuillToolbarConfig":{"__symbolic":"interface"},"QuillModules":{"__symbolic":"interface"},"QuillFormat":{"__symbolic":"interface"},"QuillConfig":{"__symbolic":"interface"},"QUILL_CONFIG_TOKEN":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":69,"character":38},"arguments":["config"]}},"origins":{"QuillModule":"./lib/quill.module","QuillService":"./lib/quill.service","defaultModules":"./lib/quill-defaults","Range":"./lib/quill-editor.component","ContentChange":"./lib/quill-editor.component","SelectionChange":"./lib/quill-editor.component","Blur":"./lib/quill-editor.component","Focus":"./lib/quill-editor.component","EditorChangeContent":"./lib/quill-editor.component","EditorChangeSelection":"./lib/quill-editor.component","QuillEditorBase":"./lib/quill-editor.component","QuillEditorComponent":"./lib/quill-editor.component","QuillViewComponent":"./lib/quill-view.component","QuillViewHTMLComponent":"./lib/quill-view-html.component","CustomOption":"./lib/quill-editor.interfaces","CustomModule":"./lib/quill-editor.interfaces","QuillToolbarConfig":"./lib/quill-editor.interfaces","QuillModules":"./lib/quill-editor.interfaces","QuillFormat":"./lib/quill-editor.interfaces","QuillConfig":"./lib/quill-editor.interfaces","QUILL_CONFIG_TOKEN":"./lib/quill-editor.interfaces"},"importAs":"ngx-quill"}
{
"name": "ngx-quill",
"version": "13.1.0",
"version": "13.2.0",
"license": "MIT",

@@ -5,0 +5,0 @@ "author": {

@@ -404,2 +404,6 @@ # ngx-quill ![Build Status](https://github.com/KillerCodeMonkey/ngx-quill/workflows/CI/badge.svg)

### Outputs
- onEditorCreated - editor instance
```HTML

@@ -406,0 +410,0 @@ <quill-view [content]="content" format="text" theme="snow"></quill-view>

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc