(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/platform-browser'), require('@angular/common'), require('@eui/externals/quill'), require('quill'), require('@angular/forms'), require('rxjs/operators'), require('rxjs'), require('@eui/components')) :
    typeof define === 'function' && define.amd ? define('@eui/externals/ux-editor', ['exports', '@angular/core', '@angular/platform-browser', '@angular/common', '@eui/externals/quill', 'quill', '@angular/forms', 'rxjs/operators', 'rxjs', '@eui/components'], factory) :
    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.eui = global.eui || {}, global.eui.externals = global.eui.externals || {}, global.eui.externals["ux-editor"] = {}), global.ng.core, global.ng.platformBrowser, global.ng.common, global.eui.externals.quill, global.QuillType, global.ng.forms, global.rxjs.operators, global.rxjs, global.i2));
})(this, (function (exports, i0, i1, i3, i4, QuillType, i1$1, operators, rxjs, i2) { 'use strict';

    function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

    function _interopNamespace(e) {
        if (e && e.__esModule) return e;
        var n = Object.create(null);
        if (e) {
            Object.keys(e).forEach(function (k) {
                if (k !== 'default') {
                    var d = Object.getOwnPropertyDescriptor(e, k);
                    Object.defineProperty(n, k, d.get ? d : {
                        enumerable: true,
                        get: function () { return e[k]; }
                    });
                }
            });
        }
        n["default"] = e;
        return Object.freeze(n);
    }

    var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
    var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
    var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
    var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
    var QuillType__default = /*#__PURE__*/_interopDefaultLegacy(QuillType);
    var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
    var i2__namespace = /*#__PURE__*/_interopNamespace(i2);

    var _c0$1 = ["editor"];
    var UxEditorViewHTMLComponent = /** @class */ (function () {
        function UxEditorViewHTMLComponent(sanitizer, renderer) {
            this.sanitizer = sanitizer;
            this.renderer = renderer;
            this.content = '';
            this.theme = 'snow';
            this.styles = null;
            this.innerHTML = '';
            this.themeClass = 'ql-snow';
        }
        UxEditorViewHTMLComponent.prototype.ngOnChanges = function (changes) {
            if (changes && changes.theme) {
                var theme = changes.theme.currentValue || this.theme;
                this.themeClass = "ql-" + theme;
            }
            else if (!this.theme) {
                this.themeClass = 'ql-snow';
            }
            if (changes && changes.styles) {
                this.styles = changes.styles.currentValue;
                if (this.styles) {
                    this._setStyles(this.editorElementRef, this.styles);
                }
            }
            if (changes && changes.content) {
                // this.innerHTML = this.sanitizer.sanitize(SecurityContext.HTML, changes.content.currentValue);
                this.innerHTML = this.sanitizer.bypassSecurityTrustHtml(changes.content.currentValue);
            }
        };
        UxEditorViewHTMLComponent.prototype._setStyles = function (element, styles) {
            var _this = this;
            if (styles) {
                Object.keys(styles).forEach(function (key) {
                    _this.renderer.setStyle(element.nativeElement, key, styles[key]);
                });
            }
        };
        return UxEditorViewHTMLComponent;
    }());
    /** @nocollapse */ UxEditorViewHTMLComponent.ɵfac = function UxEditorViewHTMLComponent_Factory(t) { return new (t || UxEditorViewHTMLComponent)(i0__namespace.ɵɵdirectiveInject(i1__namespace.DomSanitizer), i0__namespace.ɵɵdirectiveInject(i0__namespace.Renderer2)); };
    /** @nocollapse */ UxEditorViewHTMLComponent.ɵcmp = i0__namespace.ɵɵdefineComponent({ type: UxEditorViewHTMLComponent, selectors: [["ux-editor-view-html"]], viewQuery: function UxEditorViewHTMLComponent_Query(rf, ctx) {
            if (rf & 1) {
                i0__namespace.ɵɵstaticViewQuery(_c0$1, true);
            }
            if (rf & 2) {
                var _t;
                i0__namespace.ɵɵqueryRefresh(_t = i0__namespace.ɵɵloadQuery()) && (ctx.editorElementRef = _t.first);
            }
        }, inputs: { content: "content", theme: "theme", styles: "styles" }, features: [i0__namespace.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [[1, "ql-container", 3, "ngClass"], ["editor", ""], [1, "ql-editor", 3, "innerHTML"]], template: function UxEditorViewHTMLComponent_Template(rf, ctx) {
            if (rf & 1) {
                i0__namespace.ɵɵelementStart(0, "div", 0, 1);
                i0__namespace.ɵɵelement(2, "div", 2);
                i0__namespace.ɵɵelementEnd();
            }
            if (rf & 2) {
                i0__namespace.ɵɵproperty("ngClass", ctx.themeClass);
                i0__namespace.ɵɵadvance(2);
                i0__namespace.ɵɵproperty("innerHTML", ctx.innerHTML, i0__namespace.ɵɵsanitizeHtml);
            }
        }, directives: [i3__namespace.NgClass], encapsulation: 2 });
    /*@__PURE__*/ (function () {
        i0__namespace.ɵsetClassMetadata(UxEditorViewHTMLComponent, [{
                type: i0.Component,
                args: [{
                        selector: 'ux-editor-view-html',
                        template: "\n    <div #editor class=\"ql-container\" [ngClass]=\"themeClass\">\n        <div class=\"ql-editor\" [innerHTML]=\"innerHTML\"></div>\n    </div>\n    "
                    }]
            }], function () { return [{ type: i1__namespace.DomSanitizer }, { type: i0__namespace.Renderer2 }]; }, { content: [{
                    type: i0.Input
                }], theme: [{
                    type: i0.Input
                }], styles: [{
                    type: i0.Input
                }], editorElementRef: [{
                    type: i0.ViewChild,
                    args: ['editor', { static: true }]
                }] });
    })();

    var UxEditorViewComponent = /** @class */ (function () {
        function UxEditorViewComponent(platformId, renderer, elementRef) {
            var _this = this;
            this.platformId = platformId;
            this.renderer = renderer;
            this.elementRef = elementRef;
            this.theme = 'snow';
            this.debug = false;
            this.strict = true;
            this.customOptions = [];
            this.preserveWhitespace = false;
            this.styles = null;
            this.valueSetter = function (quillEditor, value) {
                var format = i4.getFormat(_this.format);
                var content = value;
                if (format === 'html' || format === 'text') {
                    content = quillEditor.clipboard.convert(value);
                }
                else if (format === 'json') {
                    try {
                        content = JSON.parse(value);
                    }
                    catch (e) {
                        console.warn('JSON parse error!');
                        content = [{ insert: value }];
                    }
                }
                quillEditor.setContents(content);
            };
        }
        UxEditorViewComponent.prototype.ngOnChanges = function (changes) {
            if (!this.quillEditor) {
                return;
            }
            if (changes.content) {
                this.valueSetter(this.quillEditor, changes.content.currentValue);
            }
        };
        UxEditorViewComponent.prototype.ngAfterViewInit = function () {
            if (i3.isPlatformServer(this.platformId)) {
                return;
            }
            var modules = Object.assign({}, this.modules || (this.modules || i4.defaultModules));
            modules.toolbar = false;
            this.customOptions.forEach(function (customOption) {
                var newCustomOption = QuillType__default["default"].import(customOption.import);
                newCustomOption.whitelist = customOption.whitelist;
                QuillType__default["default"].register(newCustomOption, true);
            });
            var debug = this.debug;
            if (!debug && debug !== false && this.debug) {
                debug = this.debug;
            }
            var formats = this.formats;
            if (!formats && formats === undefined) {
                formats = this.formats ? Object.assign({}, this.formats) : (this.formats === null ? null : undefined);
            }
            var theme = this.theme || (this.theme ? this.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.quillEditor = new QuillType__default["default"](this.editorElem, {
                debug: debug,
                formats: formats,
                modules: modules,
                readOnly: true,
                strict: this.strict,
                theme: theme
            });
            this.renderer.addClass(this.editorElem, 'ngx-quill-view');
            if (this.content) {
                this.valueSetter(this.quillEditor, this.content);
            }
        };
        return UxEditorViewComponent;
    }());
    /** @nocollapse */ UxEditorViewComponent.ɵfac = function UxEditorViewComponent_Factory(t) { return new (t || UxEditorViewComponent)(i0__namespace.ɵɵdirectiveInject(i0.PLATFORM_ID), i0__namespace.ɵɵdirectiveInject(i0.Renderer2), i0__namespace.ɵɵdirectiveInject(i0.ElementRef)); };
    /** @nocollapse */ UxEditorViewComponent.ɵcmp = i0__namespace.ɵɵdefineComponent({ type: UxEditorViewComponent, selectors: [["ux-editor-view"]], inputs: { format: "format", theme: "theme", modules: "modules", debug: "debug", formats: "formats", strict: "strict", content: "content", customOptions: "customOptions", preserveWhitespace: "preserveWhitespace", styles: "styles" }, features: [i0__namespace.ɵɵNgOnChangesFeature], decls: 0, vars: 0, template: function UxEditorViewComponent_Template(rf, ctx) { }, styles: ["\n        .ql-container.ngx-quill-view {\n            border: 0;\n        }\n    "], encapsulation: 2 });
    /*@__PURE__*/ (function () {
        i0__namespace.ɵsetClassMetadata(UxEditorViewComponent, [{
                type: i0.Component,
                args: [{
                        selector: 'ux-editor-view',
                        styles: ["\n        .ql-container.ngx-quill-view {\n            border: 0;\n        }\n    "],
                        template: "",
                        encapsulation: i0.ViewEncapsulation.None,
                    }]
            }], function () {
            return [{ type: undefined, decorators: [{
                            type: i0.Inject,
                            args: [i0.PLATFORM_ID]
                        }] }, { type: i0__namespace.Renderer2, decorators: [{
                            type: i0.Inject,
                            args: [i0.Renderer2]
                        }] }, { type: i0__namespace.ElementRef, decorators: [{
                            type: i0.Inject,
                            args: [i0.ElementRef]
                        }] }];
        }, { format: [{
                    type: i0.Input
                }], theme: [{
                    type: i0.Input
                }], modules: [{
                    type: i0.Input
                }], debug: [{
                    type: i0.Input
                }], formats: [{
                    type: i0.Input
                }], strict: [{
                    type: i0.Input
                }], content: [{
                    type: i0.Input
                }], customOptions: [{
                    type: i0.Input
                }], preserveWhitespace: [{
                    type: i0.Input
                }], styles: [{
                    type: i0.Input
                }] });
    })();

    var UxEditorCountersComponent = /** @class */ (function () {
        function UxEditorCountersComponent() {
            this.isMaxLengthValid = true;
        }
        return UxEditorCountersComponent;
    }());
    /** @nocollapse */ UxEditorCountersComponent.ɵfac = function UxEditorCountersComponent_Factory(t) { return new (t || UxEditorCountersComponent)(); };
    /** @nocollapse */ UxEditorCountersComponent.ɵcmp = i0__namespace.ɵɵdefineComponent({ type: UxEditorCountersComponent, selectors: [["ux-editor-counters"]], inputs: { charactersCounter: "charactersCounter", charactersLabel: "charactersLabel", wordsCounter: "wordsCounter", wordsLabel: "wordsLabel", isMaxLengthValid: "isMaxLengthValid" }, decls: 11, vars: 6, consts: [[1, "editor-counters"], [1, "flex-container", "flex-column", "mr-2"], [1, "chars-counter"], [1, "chars-label"], [1, "flex-container", "flex-column"], [1, "words-counter"], [1, "words-label"]], template: function UxEditorCountersComponent_Template(rf, ctx) {
            if (rf & 1) {
                i0__namespace.ɵɵelementStart(0, "button", 0);
                i0__namespace.ɵɵelementStart(1, "div", 1);
                i0__namespace.ɵɵelementStart(2, "span", 2);
                i0__namespace.ɵɵtext(3);
                i0__namespace.ɵɵelementEnd();
                i0__namespace.ɵɵelementStart(4, "span", 3);
                i0__namespace.ɵɵtext(5);
                i0__namespace.ɵɵelementEnd();
                i0__namespace.ɵɵelementEnd();
                i0__namespace.ɵɵelementStart(6, "div", 4);
                i0__namespace.ɵɵelementStart(7, "span", 5);
                i0__namespace.ɵɵtext(8);
                i0__namespace.ɵɵelementEnd();
                i0__namespace.ɵɵelementStart(9, "span", 6);
                i0__namespace.ɵɵtext(10);
                i0__namespace.ɵɵelementEnd();
                i0__namespace.ɵɵelementEnd();
                i0__namespace.ɵɵelementEnd();
            }
            if (rf & 2) {
                i0__namespace.ɵɵadvance(2);
                i0__namespace.ɵɵclassProp("chars-counter--error", !ctx.isMaxLengthValid);
                i0__namespace.ɵɵadvance(1);
                i0__namespace.ɵɵtextInterpolate(ctx.charactersCounter);
                i0__namespace.ɵɵadvance(2);
                i0__namespace.ɵɵtextInterpolate(ctx.charactersLabel);
                i0__namespace.ɵɵadvance(3);
                i0__namespace.ɵɵtextInterpolate(ctx.wordsCounter);
                i0__namespace.ɵɵadvance(2);
                i0__namespace.ɵɵtextInterpolate(ctx.wordsLabel);
            }
        }, styles: ["\n    "], encapsulation: 2 });
    /*@__PURE__*/ (function () {
        i0__namespace.ɵsetClassMetadata(UxEditorCountersComponent, [{
                type: i0.Component,
                args: [{
                        selector: 'ux-editor-counters',
                        styles: ["\n    "],
                        template: "\n    <button class=\"editor-counters\">\n        <div class=\"flex-container flex-column mr-2\">\n            <span class=\"chars-counter\" [class.chars-counter--error]=\"!isMaxLengthValid\">{{charactersCounter}}</span>\n            <span class=\"chars-label\">{{charactersLabel}}</span>\n        </div>\n        <div class=\"flex-container flex-column\">\n            <span class=\"words-counter\">{{wordsCounter}}</span>\n            <span class=\"words-label\">{{wordsLabel}}</span>\n        </div>\n    </button>\n    ",
                        encapsulation: i0.ViewEncapsulation.None,
                    }]
            }], function () { return []; }, { charactersCounter: [{
                    type: i0.Input
                }], charactersLabel: [{
                    type: i0.Input
                }], wordsCounter: [{
                    type: i0.Input
                }], wordsLabel: [{
                    type: i0.Input
                }], isMaxLengthValid: [{
                    type: i0.Input
                }] });
    })();

    /*! *****************************************************************************
    Copyright (c) Microsoft Corporation.

    Permission to use, copy, modify, and/or distribute this software for any
    purpose with or without fee is hereby granted.

    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
    REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
    AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
    INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
    LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
    OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    PERFORMANCE OF THIS SOFTWARE.
    ***************************************************************************** */
    /* global Reflect, Promise */
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b)
                if (Object.prototype.hasOwnProperty.call(b, p))
                    d[p] = b[p]; };
        return extendStatics(d, b);
    };
    function __extends(d, b) {
        if (typeof b !== "function" && b !== null)
            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    }
    var __assign = function () {
        __assign = Object.assign || function __assign(t) {
            for (var s, i = 1, n = arguments.length; i < n; i++) {
                s = arguments[i];
                for (var p in s)
                    if (Object.prototype.hasOwnProperty.call(s, p))
                        t[p] = s[p];
            }
            return t;
        };
        return __assign.apply(this, arguments);
    };
    function __rest(s, e) {
        var t = {};
        for (var p in s)
            if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
                t[p] = s[p];
        if (s != null && typeof Object.getOwnPropertySymbols === "function")
            for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
                if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                    t[p[i]] = s[p[i]];
            }
        return t;
    }
    function __decorate(decorators, target, key, desc) {
        var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
        if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
            r = Reflect.decorate(decorators, target, key, desc);
        else
            for (var i = decorators.length - 1; i >= 0; i--)
                if (d = decorators[i])
                    r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
        return c > 3 && r && Object.defineProperty(target, key, r), r;
    }
    function __param(paramIndex, decorator) {
        return function (target, key) { decorator(target, key, paramIndex); };
    }
    function __metadata(metadataKey, metadataValue) {
        if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
            return Reflect.metadata(metadataKey, metadataValue);
    }
    function __awaiter(thisArg, _arguments, P, generator) {
        function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
        return new (P || (P = Promise))(function (resolve, reject) {
            function fulfilled(value) { try {
                step(generator.next(value));
            }
            catch (e) {
                reject(e);
            } }
            function rejected(value) { try {
                step(generator["throw"](value));
            }
            catch (e) {
                reject(e);
            } }
            function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
            step((generator = generator.apply(thisArg, _arguments || [])).next());
        });
    }
    function __generator(thisArg, body) {
        var _ = { label: 0, sent: function () { if (t[0] & 1)
                throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
        return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
        function verb(n) { return function (v) { return step([n, v]); }; }
        function step(op) {
            if (f)
                throw new TypeError("Generator is already executing.");
            while (_)
                try {
                    if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
                        return t;
                    if (y = 0, t)
                        op = [op[0] & 2, t.value];
                    switch (op[0]) {
                        case 0:
                        case 1:
                            t = op;
                            break;
                        case 4:
                            _.label++;
                            return { value: op[1], done: false };
                        case 5:
                            _.label++;
                            y = op[1];
                            op = [0];
                            continue;
                        case 7:
                            op = _.ops.pop();
                            _.trys.pop();
                            continue;
                        default:
                            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
                                _ = 0;
                                continue;
                            }
                            if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
                                _.label = op[1];
                                break;
                            }
                            if (op[0] === 6 && _.label < t[1]) {
                                _.label = t[1];
                                t = op;
                                break;
                            }
                            if (t && _.label < t[2]) {
                                _.label = t[2];
                                _.ops.push(op);
                                break;
                            }
                            if (t[2])
                                _.ops.pop();
                            _.trys.pop();
                            continue;
                    }
                    op = body.call(thisArg, _);
                }
                catch (e) {
                    op = [6, e];
                    y = 0;
                }
                finally {
                    f = t = 0;
                }
            if (op[0] & 5)
                throw op[1];
            return { value: op[0] ? op[1] : void 0, done: true };
        }
    }
    var __createBinding = Object.create ? (function (o, m, k, k2) {
        if (k2 === undefined)
            k2 = k;
        Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
    }) : (function (o, m, k, k2) {
        if (k2 === undefined)
            k2 = k;
        o[k2] = m[k];
    });
    function __exportStar(m, o) {
        for (var p in m)
            if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
                __createBinding(o, m, p);
    }
    function __values(o) {
        var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
        if (m)
            return m.call(o);
        if (o && typeof o.length === "number")
            return {
                next: function () {
                    if (o && i >= o.length)
                        o = void 0;
                    return { value: o && o[i++], done: !o };
                }
            };
        throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
    }
    function __read(o, n) {
        var m = typeof Symbol === "function" && o[Symbol.iterator];
        if (!m)
            return o;
        var i = m.call(o), r, ar = [], e;
        try {
            while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
                ar.push(r.value);
        }
        catch (error) {
            e = { error: error };
        }
        finally {
            try {
                if (r && !r.done && (m = i["return"]))
                    m.call(i);
            }
            finally {
                if (e)
                    throw e.error;
            }
        }
        return ar;
    }
    /** @deprecated */
    function __spread() {
        for (var ar = [], i = 0; i < arguments.length; i++)
            ar = ar.concat(__read(arguments[i]));
        return ar;
    }
    /** @deprecated */
    function __spreadArrays() {
        for (var s = 0, i = 0, il = arguments.length; i < il; i++)
            s += arguments[i].length;
        for (var r = Array(s), k = 0, i = 0; i < il; i++)
            for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
                r[k] = a[j];
        return r;
    }
    function __spreadArray(to, from) {
        for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
            to[j] = from[i];
        return to;
    }
    function __await(v) {
        return this instanceof __await ? (this.v = v, this) : new __await(v);
    }
    function __asyncGenerator(thisArg, _arguments, generator) {
        if (!Symbol.asyncIterator)
            throw new TypeError("Symbol.asyncIterator is not defined.");
        var g = generator.apply(thisArg, _arguments || []), i, q = [];
        return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
        function verb(n) { if (g[n])
            i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
        function resume(n, v) { try {
            step(g[n](v));
        }
        catch (e) {
            settle(q[0][3], e);
        } }
        function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
        function fulfill(value) { resume("next", value); }
        function reject(value) { resume("throw", value); }
        function settle(f, v) { if (f(v), q.shift(), q.length)
            resume(q[0][0], q[0][1]); }
    }
    function __asyncDelegator(o) {
        var i, p;
        return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
        function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
    }
    function __asyncValues(o) {
        if (!Symbol.asyncIterator)
            throw new TypeError("Symbol.asyncIterator is not defined.");
        var m = o[Symbol.asyncIterator], i;
        return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
        function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
        function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
    }
    function __makeTemplateObject(cooked, raw) {
        if (Object.defineProperty) {
            Object.defineProperty(cooked, "raw", { value: raw });
        }
        else {
            cooked.raw = raw;
        }
        return cooked;
    }
    ;
    var __setModuleDefault = Object.create ? (function (o, v) {
        Object.defineProperty(o, "default", { enumerable: true, value: v });
    }) : function (o, v) {
        o["default"] = v;
    };
    function __importStar(mod) {
        if (mod && mod.__esModule)
            return mod;
        var result = {};
        if (mod != null)
            for (var k in mod)
                if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
                    __createBinding(result, mod, k);
        __setModuleDefault(result, mod);
        return result;
    }
    function __importDefault(mod) {
        return (mod && mod.__esModule) ? mod : { default: mod };
    }
    function __classPrivateFieldGet(receiver, privateMap) {
        if (!privateMap.has(receiver)) {
            throw new TypeError("attempted to get private field on non-instance");
        }
        return privateMap.get(receiver);
    }
    function __classPrivateFieldSet(receiver, privateMap, value) {
        if (!privateMap.has(receiver)) {
            throw new TypeError("attempted to set private field on non-instance");
        }
        privateMap.set(receiver, value);
        return value;
    }

    function UxEditorComponent_quill_editor_1_div_1_span_17_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelementStart(0, "span", 8);
            i0__namespace.ɵɵelementStart(1, "select", 41);
            i0__namespace.ɵɵelementStart(2, "option", 16);
            i0__namespace.ɵɵtext(3, "Sans Serif");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(4, "option", 42);
            i0__namespace.ɵɵtext(5, "Serif");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(6, "option", 43);
            i0__namespace.ɵɵtext(7, "Monospace");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
        }
        if (rf & 2) {
            var ctx_r6 = i0__namespace.ɵɵnextContext(3);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Font", ctx_r6.crlf, "Change the font face");
        }
    }
    function UxEditorComponent_quill_editor_1_div_1_span_26_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelementStart(0, "span", 8);
            i0__namespace.ɵɵelement(1, "button", 44);
            i0__namespace.ɵɵelement(2, "button", 45);
            i0__namespace.ɵɵelementEnd();
        }
        if (rf & 2) {
            var ctx_r7 = i0__namespace.ɵɵnextContext(3);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Subscript", ctx_r7.crlf, "Create ssmall letters below the text baseline");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Superscript", ctx_r7.crlf, "Create small letters above the line of the text");
        }
    }
    function UxEditorComponent_quill_editor_1_div_1_span_33_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelementStart(0, "span", 8);
            i0__namespace.ɵɵelement(1, "button", 46);
            i0__namespace.ɵɵelement(2, "button", 47);
            i0__namespace.ɵɵelement(3, "button", 48);
            i0__namespace.ɵɵelement(4, "button", 49);
            i0__namespace.ɵɵelementEnd();
        }
        if (rf & 2) {
            var ctx_r8 = i0__namespace.ɵɵnextContext(3);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Numbering", ctx_r8.crlf, "Start an ordered list");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Bullets", ctx_r8.crlf, "Start a bulleted list");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Decrease Indent", ctx_r8.crlf, "Decrease the indent level of the paragraph");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Increase Indent", ctx_r8.crlf, "Increase the indent level of the paragraph");
        }
    }
    function UxEditorComponent_quill_editor_1_div_1_button_35_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelement(0, "button", 50);
        }
        if (rf & 2) {
            var ctx_r9 = i0__namespace.ɵɵnextContext(3);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Blockquote", ctx_r9.crlf, "Create a quoted block of the selected text");
        }
    }
    function UxEditorComponent_quill_editor_1_div_1_button_36_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelement(0, "button", 51);
        }
        if (rf & 2) {
            var ctx_r10 = i0__namespace.ɵɵnextContext(3);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Insert Code Block", ctx_r10.crlf, "Insert a code block at the cursor row position");
        }
    }
    function UxEditorComponent_quill_editor_1_div_1_button_38_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelement(0, "button", 52);
        }
        if (rf & 2) {
            var ctx_r11 = i0__namespace.ɵɵnextContext(3);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Insert Picture", ctx_r11.crlf, "Insert a picture from a file");
        }
    }
    function UxEditorComponent_quill_editor_1_div_1_button_39_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelementStart(0, "button", 53);
            i0__namespace.ɵɵelement(1, "span", 54);
            i0__namespace.ɵɵelementEnd();
        }
        if (rf & 2) {
            var ctx_r12 = i0__namespace.ɵɵnextContext(3);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Insert Picture from URL", ctx_r12.crlf, "Insert a picture from a remote URL");
        }
    }
    function UxEditorComponent_quill_editor_1_div_1_button_40_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelement(0, "button", 55);
        }
        if (rf & 2) {
            var ctx_r13 = i0__namespace.ɵɵnextContext(3);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Insert Video", ctx_r13.crlf, "Insert a video from a file");
        }
    }
    function UxEditorComponent_quill_editor_1_div_1_span_50_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelementStart(0, "span", 8);
            i0__namespace.ɵɵelement(1, "ux-editor-counters", 56);
            i0__namespace.ɵɵelementEnd();
        }
        if (rf & 2) {
            var ctx_r14 = i0__namespace.ɵɵnextContext(3);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Counters", ctx_r14.crlf, "Characters and words counters (stripped Html)");
            i0__namespace.ɵɵproperty("charactersCounter", ctx_r14.charactersCounter)("charactersLabel", ctx_r14.charactersLabel)("wordsCounter", ctx_r14.wordsCounter)("wordsLabel", ctx_r14.wordsLabel)("isMaxLengthValid", ctx_r14.isMaxLengthValid);
        }
    }
    function UxEditorComponent_quill_editor_1_div_1_Template(rf, ctx) {
        if (rf & 1) {
            var _r16_1 = i0__namespace.ɵɵgetCurrentView();
            i0__namespace.ɵɵelementStart(0, "div", 7);
            i0__namespace.ɵɵlistener("focusin", function UxEditorComponent_quill_editor_1_div_1_Template_div_focusin_0_listener($event) { i0__namespace.ɵɵrestoreView(_r16_1); var ctx_r15 = i0__namespace.ɵɵnextContext(2); return ctx_r15.onToolbarFocusIn($event); })("focusout", function UxEditorComponent_quill_editor_1_div_1_Template_div_focusout_0_listener($event) { i0__namespace.ɵɵrestoreView(_r16_1); var ctx_r17 = i0__namespace.ɵɵnextContext(2); return ctx_r17.onToolbarFocusOut($event); });
            i0__namespace.ɵɵelementStart(1, "span", 8);
            i0__namespace.ɵɵelementStart(2, "select", 9);
            i0__namespace.ɵɵelementStart(3, "option", 10);
            i0__namespace.ɵɵtext(4, "Heading 1");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(5, "option", 11);
            i0__namespace.ɵɵtext(6, "Heading 2");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(7, "option", 12);
            i0__namespace.ɵɵtext(8, "Heading 3");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(9, "option", 13);
            i0__namespace.ɵɵtext(10, "Heading 4");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(11, "option", 14);
            i0__namespace.ɵɵtext(12, "Heading 5");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(13, "option", 15);
            i0__namespace.ɵɵtext(14, "Heading 6");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(15, "option", 16);
            i0__namespace.ɵɵtext(16, "Normal");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵtemplate(17, UxEditorComponent_quill_editor_1_div_1_span_17_Template, 8, 1, "span", 17);
            i0__namespace.ɵɵelementStart(18, "span", 8);
            i0__namespace.ɵɵelement(19, "button", 18);
            i0__namespace.ɵɵelement(20, "button", 19);
            i0__namespace.ɵɵelement(21, "button", 20);
            i0__namespace.ɵɵelement(22, "button", 21);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(23, "span", 8);
            i0__namespace.ɵɵelement(24, "select", 22);
            i0__namespace.ɵɵelement(25, "select", 23);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵtemplate(26, UxEditorComponent_quill_editor_1_div_1_span_26_Template, 3, 2, "span", 17);
            i0__namespace.ɵɵelementStart(27, "span", 8);
            i0__namespace.ɵɵelementStart(28, "select", 24);
            i0__namespace.ɵɵelement(29, "option", 16);
            i0__namespace.ɵɵelement(30, "option", 25);
            i0__namespace.ɵɵelement(31, "option", 26);
            i0__namespace.ɵɵelement(32, "option", 27);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵtemplate(33, UxEditorComponent_quill_editor_1_div_1_span_33_Template, 5, 4, "span", 17);
            i0__namespace.ɵɵelementStart(34, "span", 8);
            i0__namespace.ɵɵtemplate(35, UxEditorComponent_quill_editor_1_div_1_button_35_Template, 1, 1, "button", 28);
            i0__namespace.ɵɵtemplate(36, UxEditorComponent_quill_editor_1_div_1_button_36_Template, 1, 1, "button", 29);
            i0__namespace.ɵɵelement(37, "button", 30);
            i0__namespace.ɵɵtemplate(38, UxEditorComponent_quill_editor_1_div_1_button_38_Template, 1, 1, "button", 31);
            i0__namespace.ɵɵtemplate(39, UxEditorComponent_quill_editor_1_div_1_button_39_Template, 2, 1, "button", 32);
            i0__namespace.ɵɵtemplate(40, UxEditorComponent_quill_editor_1_div_1_button_40_Template, 1, 1, "button", 33);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(41, "span", 8);
            i0__namespace.ɵɵelement(42, "button", 34);
            i0__namespace.ɵɵelementStart(43, "button", 35);
            i0__namespace.ɵɵlistener("click", function UxEditorComponent_quill_editor_1_div_1_Template_button_click_43_listener($event) { i0__namespace.ɵɵrestoreView(_r16_1); var ctx_r18 = i0__namespace.ɵɵnextContext(2); return ctx_r18.editorDeleteContent($event); });
            i0__namespace.ɵɵelement(44, "span", 36);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(45, "span", 8);
            i0__namespace.ɵɵelementStart(46, "button", 37);
            i0__namespace.ɵɵlistener("click", function UxEditorComponent_quill_editor_1_div_1_Template_button_click_46_listener() { i0__namespace.ɵɵrestoreView(_r16_1); var ctx_r19 = i0__namespace.ɵɵnextContext(2); return ctx_r19.editorUndo(); });
            i0__namespace.ɵɵelement(47, "span", 38);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(48, "button", 39);
            i0__namespace.ɵɵlistener("click", function UxEditorComponent_quill_editor_1_div_1_Template_button_click_48_listener() { i0__namespace.ɵɵrestoreView(_r16_1); var ctx_r20 = i0__namespace.ɵɵnextContext(2); return ctx_r20.editorRedo(); });
            i0__namespace.ɵɵelement(49, "span", 40);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵtemplate(50, UxEditorComponent_quill_editor_1_div_1_span_50_Template, 2, 6, "span", 17);
            i0__namespace.ɵɵelementEnd();
        }
        if (rf & 2) {
            var ctx_r4 = i0__namespace.ɵɵnextContext(2);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Style", ctx_r4.crlf, "Apply an HTML tag or CSS class to the selected text");
            i0__namespace.ɵɵadvance(15);
            i0__namespace.ɵɵproperty("ngIf", !ctx_r4.isMinimalToolbar);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Bold (Ctrl + B)", ctx_r4.crlf, "Make the selected text bold");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Italic (Ctrl + I)", ctx_r4.crlf, "Italicize the selected text");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Underline (Ctrl + U)", ctx_r4.crlf, "Underline the selected text");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Strikethrough", ctx_r4.crlf, "Draw a line to the middle of the selected text");
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Font Color", ctx_r4.crlf, "Change the text color");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Text Highlight Color", ctx_r4.crlf, "Change the background color of the text");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵproperty("ngIf", !ctx_r4.isMinimalToolbar);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Text Align", ctx_r4.crlf, "Align the text to the selected position: left (default), center, right or justify");
            i0__namespace.ɵɵadvance(5);
            i0__namespace.ɵɵproperty("ngIf", !ctx_r4.isMinimalToolbar);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵproperty("ngIf", !ctx_r4.isMinimalToolbar);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵproperty("ngIf", !ctx_r4.isMinimalToolbar);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Insert Hyperlink (Ctrl + K)", ctx_r4.crlf, "Create a link to a Web page, a picture, an e-mail address or a program");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵproperty("ngIf", !ctx_r4.isImageUrl);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵproperty("ngIf", ctx_r4.isImageUrl);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵproperty("ngIf", !ctx_r4.isMinimalToolbar);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Remove Styles", ctx_r4.crlf, "Remove the styles of the selected text");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Delete content", ctx_r4.crlf, "Permanently deletes editor's contents");
            i0__namespace.ɵɵadvance(3);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Undo (Ctrl + Z)", ctx_r4.crlf, "Cancels the previous action");
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵpropertyInterpolate1("title", "Redo (Ctrl + Y)", ctx_r4.crlf, "Do the next history action again");
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵproperty("ngIf", ctx_r4.showCounters && (ctx_r4.format === "html" || ctx_r4.format === "text"));
        }
    }
    function UxEditorComponent_quill_editor_1_div_2_Template(rf, ctx) {
        if (rf & 1) {
            var _r22_1 = i0__namespace.ɵɵgetCurrentView();
            i0__namespace.ɵɵelementStart(0, "div", 7);
            i0__namespace.ɵɵlistener("focusin", function UxEditorComponent_quill_editor_1_div_2_Template_div_focusin_0_listener($event) { i0__namespace.ɵɵrestoreView(_r22_1); var ctx_r21 = i0__namespace.ɵɵnextContext(2); return ctx_r21.onToolbarFocusIn($event); })("focusout", function UxEditorComponent_quill_editor_1_div_2_Template_div_focusout_0_listener($event) { i0__namespace.ɵɵrestoreView(_r22_1); var ctx_r23 = i0__namespace.ɵɵnextContext(2); return ctx_r23.onToolbarFocusOut($event); });
            i0__namespace.ɵɵprojection(1);
            i0__namespace.ɵɵelementEnd();
        }
    }
    function UxEditorComponent_quill_editor_1_Template(rf, ctx) {
        if (rf & 1) {
            var _r25_1 = i0__namespace.ɵɵgetCurrentView();
            i0__namespace.ɵɵelementStart(0, "quill-editor", 5);
            i0__namespace.ɵɵlistener("onEditorCreated", function UxEditorComponent_quill_editor_1_Template_quill_editor_onEditorCreated_0_listener($event) { i0__namespace.ɵɵrestoreView(_r25_1); var ctx_r24 = i0__namespace.ɵɵnextContext(); return ctx_r24.onEditorCreatedEmit($event); })("onEditorChanged", function UxEditorComponent_quill_editor_1_Template_quill_editor_onEditorChanged_0_listener($event) { i0__namespace.ɵɵrestoreView(_r25_1); var ctx_r26 = i0__namespace.ɵɵnextContext(); return ctx_r26.onEditorChangedEmit($event); })("onContentChanged", function UxEditorComponent_quill_editor_1_Template_quill_editor_onContentChanged_0_listener($event) { i0__namespace.ɵɵrestoreView(_r25_1); var ctx_r27 = i0__namespace.ɵɵnextContext(); return ctx_r27.onContentChangedEmit($event); })("onSelectionChanged", function UxEditorComponent_quill_editor_1_Template_quill_editor_onSelectionChanged_0_listener($event) { i0__namespace.ɵɵrestoreView(_r25_1); var ctx_r28 = i0__namespace.ɵɵnextContext(); return ctx_r28.onSelectionChangedEmit($event); })("onFocus", function UxEditorComponent_quill_editor_1_Template_quill_editor_onFocus_0_listener($event) { i0__namespace.ɵɵrestoreView(_r25_1); var ctx_r29 = i0__namespace.ɵɵnextContext(); return ctx_r29.onFocusEmit($event); })("onBlur", function UxEditorComponent_quill_editor_1_Template_quill_editor_onBlur_0_listener($event) { i0__namespace.ɵɵrestoreView(_r25_1); var ctx_r30 = i0__namespace.ɵɵnextContext(); return ctx_r30.onBlurEmit($event); });
            i0__namespace.ɵɵtemplate(1, UxEditorComponent_quill_editor_1_div_1_Template, 51, 22, "div", 6);
            i0__namespace.ɵɵtemplate(2, UxEditorComponent_quill_editor_1_div_2_Template, 2, 0, "div", 6);
            i0__namespace.ɵɵelementEnd();
        }
        if (rf & 2) {
            var ctx_r0 = i0__namespace.ɵɵnextContext();
            i0__namespace.ɵɵclassMapInterpolate1("ux-editor ", ctx_r0.styleClass, "");
            i0__namespace.ɵɵclassProp("ux-editor--readonly", ctx_r0.isReadOnly)("ux-editor--focused", ctx_r0.isFocused)("ux-editor--editable", !ctx_r0.isReadOnly);
            i0__namespace.ɵɵproperty("id", ctx_r0.generatedId)("format", ctx_r0.format)("formats", ctx_r0.formats)("maxLength", ctx_r0.maxLength)("minLength", ctx_r0.minLength)("readOnly", ctx_r0.isReadOnly)("required", ctx_r0.isRequired)("sanitize", ctx_r0.isUsedSanitizationForHtml)("modules", ctx_r0.modules)("theme", ctx_r0.theme)("placeholder", ctx_r0.placeholder)("styles", ctx_r0.style)("customToolbarPosition", ctx_r0.customToolbarPosition)("preserveWhitespace", ctx_r0.preserveWhitespace)("spellcheck", ctx_r0.spellcheck)("formControl", ctx_r0.formControl)("debug", false)("tabindex", ctx_r0.tabindex);
            i0__namespace.ɵɵattribute("aria-invalid", ctx_r0.ariaInvalid)("aria-required", ctx_r0.isRequired);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵproperty("ngIf", !ctx_r0.customToolbarOptions && !ctx_r0.customEditorToolbar);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵproperty("ngIf", ctx_r0.customEditorToolbar);
        }
    }
    function UxEditorComponent_div_2_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelementStart(0, "div", 57);
            i0__namespace.ɵɵtext(1);
            i0__namespace.ɵɵelementEnd();
        }
        if (rf & 2) {
            var ctx_r1 = i0__namespace.ɵɵnextContext();
            i0__namespace.ɵɵclassProp("maxlength-wrapper--error", !ctx_r1.isMaxLengthValid);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵtextInterpolate(ctx_r1.charactersLeft);
        }
    }
    function UxEditorComponent_div_3_ux_editor_view_html_1_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelement(0, "ux-editor-view-html", 61);
        }
        if (rf & 2) {
            var ctx_r31 = i0__namespace.ɵɵnextContext(2);
            i0__namespace.ɵɵproperty("content", ctx_r31.value)("theme", ctx_r31.theme)("styles", ctx_r31.hasReadOnlyStyles ? ctx_r31.style : null);
        }
    }
    function UxEditorComponent_div_3_ux_editor_view_2_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelement(0, "ux-editor-view", 62);
        }
        if (rf & 2) {
            var ctx_r32 = i0__namespace.ɵɵnextContext(2);
            i0__namespace.ɵɵproperty("content", ctx_r32.value)("format", ctx_r32.format)("theme", ctx_r32.theme)("styles", ctx_r32.hasReadOnlyStyles ? ctx_r32.style : null);
        }
    }
    function UxEditorComponent_div_3_Template(rf, ctx) {
        if (rf & 1) {
            var _r34_1 = i0__namespace.ɵɵgetCurrentView();
            i0__namespace.ɵɵelementStart(0, "div", 58);
            i0__namespace.ɵɵlistener("click", function UxEditorComponent_div_3_Template_div_click_0_listener($event) { i0__namespace.ɵɵrestoreView(_r34_1); var ctx_r33 = i0__namespace.ɵɵnextContext(); return ctx_r33.enableEditorOnClickFocus($event); })("focusin", function UxEditorComponent_div_3_Template_div_focusin_0_listener($event) { i0__namespace.ɵɵrestoreView(_r34_1); var ctx_r35 = i0__namespace.ɵɵnextContext(); return ctx_r35.enableEditorOnClickFocus($event); });
            i0__namespace.ɵɵtemplate(1, UxEditorComponent_div_3_ux_editor_view_html_1_Template, 1, 3, "ux-editor-view-html", 59);
            i0__namespace.ɵɵtemplate(2, UxEditorComponent_div_3_ux_editor_view_2_Template, 1, 4, "ux-editor-view", 60);
            i0__namespace.ɵɵelementEnd();
        }
        if (rf & 2) {
            var ctx_r2 = i0__namespace.ɵɵnextContext();
            i0__namespace.ɵɵclassMapInterpolate1("ux-editor ux-editor--readonly ", ctx_r2.styleClass, "");
            i0__namespace.ɵɵclassProp("ux-editor--empty", !ctx_r2.value);
            i0__namespace.ɵɵpropertyInterpolate("tabindex", ctx_r2.tabindex);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵproperty("ngIf", ctx_r2.format === "html" || ctx_r2.format === "text");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵproperty("ngIf", ctx_r2.format === "object" || ctx_r2.format === "json");
        }
    }
    function UxEditorComponent_div_4_code_74_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelementStart(0, "code");
            i0__namespace.ɵɵtext(1);
            i0__namespace.ɵɵelementEnd();
        }
        if (rf & 2) {
            var ctx_r36 = i0__namespace.ɵɵnextContext(2);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵtextInterpolate(ctx_r36.formControl.value);
        }
    }
    function UxEditorComponent_div_4_code_75_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelementStart(0, "code");
            i0__namespace.ɵɵelementStart(1, "pre", 73);
            i0__namespace.ɵɵtext(2);
            i0__namespace.ɵɵpipe(3, "json");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
        }
        if (rf & 2) {
            var ctx_r37 = i0__namespace.ɵɵnextContext(2);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵtextInterpolate(i0__namespace.ɵɵpipeBind1(3, 1, ctx_r37.formControl.value));
        }
    }
    function UxEditorComponent_div_4_Template(rf, ctx) {
        if (rf & 1) {
            i0__namespace.ɵɵelementStart(0, "div", 63);
            i0__namespace.ɵɵelementStart(1, "div", 64);
            i0__namespace.ɵɵtext(2, "UX-EDITOR debug");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(3, "div", 65);
            i0__namespace.ɵɵelementStart(4, "strong");
            i0__namespace.ɵɵtext(5, "OPTIONS:");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(6, "span", 66);
            i0__namespace.ɵɵtext(7, "id: ");
            i0__namespace.ɵɵelementStart(8, "span", 67);
            i0__namespace.ɵɵtext(9);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(10, "span", 66);
            i0__namespace.ɵɵtext(11);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(12, "span", 68);
            i0__namespace.ɵɵtext(13, "isReadOnly");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(14, "span", 68);
            i0__namespace.ɵɵtext(15, "isEnabledOnFocus");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(16, "span", 68);
            i0__namespace.ɵɵtext(17, "preserveWhitespace");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(18, "span", 68);
            i0__namespace.ɵɵtext(19, "spellcheck");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(20, "span", 66);
            i0__namespace.ɵɵtext(21, "maxLength: ");
            i0__namespace.ɵɵelementStart(22, "span", 67);
            i0__namespace.ɵɵtext(23);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(24, "div", 65);
            i0__namespace.ɵɵelementStart(25, "strong");
            i0__namespace.ɵɵtext(26, "EVENTS:");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(27, "span", 68);
            i0__namespace.ɵɵtext(28, "onFocus");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(29, "span", 68);
            i0__namespace.ɵɵtext(30, "onBlur");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(31, "span", 68);
            i0__namespace.ɵɵtext(32, "onEditorCreated");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(33, "span", 68);
            i0__namespace.ɵɵtext(34, "onEditorChanged");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(35, "span", 68);
            i0__namespace.ɵɵtext(36, "onContentChanged");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(37, "span", 68);
            i0__namespace.ɵɵtext(38, "onSelectionChanged");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(39, "div", 65);
            i0__namespace.ɵɵelementStart(40, "strong");
            i0__namespace.ɵɵtext(41, "FORM:");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(42, "span", 66);
            i0__namespace.ɵɵtext(43, "controlName: ");
            i0__namespace.ɵɵelementStart(44, "span", 67);
            i0__namespace.ɵɵtext(45);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(46, "span", 68);
            i0__namespace.ɵɵtext(47, "isRequired");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(48, "span", 68);
            i0__namespace.ɵɵtext(49, "isFormControlValid");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(50, "span", 66);
            i0__namespace.ɵɵtext(51, "validationErrorMessage: ");
            i0__namespace.ɵɵelementStart(52, "span");
            i0__namespace.ɵɵtext(53);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(54, "span", 69);
            i0__namespace.ɵɵtext(55, "isMaxLengthValid");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(56, "div", 65);
            i0__namespace.ɵɵelementStart(57, "strong");
            i0__namespace.ɵɵtext(58, "STYLE:");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(59, "span", 66);
            i0__namespace.ɵɵtext(60);
            i0__namespace.ɵɵpipe(61, "json");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(62, "div", 65);
            i0__namespace.ɵɵelementStart(63, "strong");
            i0__namespace.ɵɵtext(64, "SOURCE:");
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(65, "span", 66);
            i0__namespace.ɵɵtext(66, "format: ");
            i0__namespace.ɵɵelementStart(67, "span", 67);
            i0__namespace.ɵɵtext(68);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(69, "span", 66);
            i0__namespace.ɵɵtext(70, "charactersLeft: ");
            i0__namespace.ɵɵelementStart(71, "span", 70);
            i0__namespace.ɵɵtext(72);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementStart(73, "div", 71);
            i0__namespace.ɵɵtemplate(74, UxEditorComponent_div_4_code_74_Template, 2, 1, "code", 72);
            i0__namespace.ɵɵtemplate(75, UxEditorComponent_div_4_code_75_Template, 4, 3, "code", 72);
            i0__namespace.ɵɵelementEnd();
            i0__namespace.ɵɵelementEnd();
        }
        if (rf & 2) {
            var ctx_r3 = i0__namespace.ɵɵnextContext();
            i0__namespace.ɵɵadvance(9);
            i0__namespace.ɵɵtextInterpolate(ctx_r3.generatedId);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵtextInterpolate1("toolbarPosition: ", ctx_r3.customToolbarPosition, "");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--on", ctx_r3.isReadOnly)("ux-editor__debug-badge--off", !ctx_r3.isReadOnly);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--on", ctx_r3.isEnabledOnFocus)("ux-editor__debug-badge--off", !ctx_r3.isEnabledOnFocus);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--on", ctx_r3.preserveWhitespace)("ux-editor__debug-badge--off", !ctx_r3.preserveWhitespace);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--on", ctx_r3.spellcheck)("ux-editor__debug-badge--off", !ctx_r3.spellcheck);
            i0__namespace.ɵɵadvance(5);
            i0__namespace.ɵɵtextInterpolate(ctx_r3.maxLength);
            i0__namespace.ɵɵadvance(4);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--on", ctx_r3.isFocused)("ux-editor__debug-badge--off", !ctx_r3.isFocused);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--on", ctx_r3.isBlured)("ux-editor__debug-badge--off", !ctx_r3.isBlured);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--on", ctx_r3.isEditorCreated)("ux-editor__debug-badge--off", !ctx_r3.isEditorCreated);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--on", ctx_r3.hasEditorChanged)("ux-editor__debug-badge--off", !ctx_r3.hasEditorChanged);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--on", ctx_r3.hasContentChanged)("ux-editor__debug-badge--off", !ctx_r3.hasContentChanged);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--on", ctx_r3.hasSelectionChanged)("ux-editor__debug-badge--off", !ctx_r3.hasSelectionChanged);
            i0__namespace.ɵɵadvance(8);
            i0__namespace.ɵɵtextInterpolate(ctx_r3.formControlName);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--on", ctx_r3.isRequired)("ux-editor__debug-badge--off", !ctx_r3.isRequired);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--on", ctx_r3.isFormControlValid)("ux-editor__debug-badge--alert", !ctx_r3.isFormControlValid);
            i0__namespace.ɵɵadvance(4);
            i0__namespace.ɵɵclassMapInterpolate1("eui-u-color-", ctx_r3.feedbackTypeClass, "");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵtextInterpolate(ctx_r3.formValidationErrorMessage);
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵclassProp("ux-editor__debug-badge--alert", !ctx_r3.isMaxLengthValid);
            i0__namespace.ɵɵadvance(6);
            i0__namespace.ɵɵtextInterpolate(i0__namespace.ɵɵpipeBind1(61, 64, ctx_r3.style));
            i0__namespace.ɵɵadvance(8);
            i0__namespace.ɵɵtextInterpolate(ctx_r3.format);
            i0__namespace.ɵɵadvance(3);
            i0__namespace.ɵɵproperty("ngClass", ctx_r3.isMaxLengthValid ? "eui-u-color-black" : "eui-u-color-danger");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵtextInterpolate(ctx_r3.charactersLeft);
            i0__namespace.ɵɵadvance(2);
            i0__namespace.ɵɵproperty("ngIf", ctx_r3.format === "text" || ctx_r3.format === "html");
            i0__namespace.ɵɵadvance(1);
            i0__namespace.ɵɵproperty("ngIf", ctx_r3.format === "json" || ctx_r3.format === "object");
        }
    }
    var _c0 = [[["uxEditorCustomToolbar"]]];
    var _c1 = ["uxEditorCustomToolbar"];
    // Default editor options (to be passed through modules)
    var defaultEditorOptions = {
        toolbar: true,
        clipboard: true,
        history: {
            delay: 1000,
            maxStack: 100,
            userOnly: true
        }
    };
    var customEditorOptions = {
        import: 'formats/font',
        whitelist: ['roboto'],
    };
    var UxEditorComponent = /** @class */ (function () {
        function UxEditorComponent(uxFormGroupComponent, ngControl) {
            var _this = this;
            this.ngControl = ngControl;
            this.e2eAttr = 'ux-editor';
            // COMMON OPTIONS (OLD BASE)
            this.style = null; // mapped to NEW styles
            this.placeholder = '';
            this.format = 'html'; // single format content
            this.isEnabledOnFocus = false;
            this.isReadOnly = false; // mapped to NEW readOnly
            this.isUsedNativeEditorInReadMode = false; // used to allow native editor Quill to render the Html and apply its styles.
            this.theme = 'snow';
            this.debug = false; // true = log
            this.isEditable = false; // DEPRECATED - No more needed! isReadOnly is enough
            this.feedbackTypeClass = 'danger';
            // NEW INPUT OPTIONS
            this.tabindex = '0';
            this.hasReadOnlyStyles = false; // Allows the viewer to use styles when isReadOnly=true
            this.isMinimalToolbar = false; // Allows to display minimal features from default toolbar
            this.modules = defaultEditorOptions;
            this.isRequired = false; // form validator required!
            this.customToolbarPosition = 'top';
            // @Input() sanitize?: true | false = true;     // Security: removed as input option! Always true!
            this.isUsedSanitizationForHtml = true;
            this.strict = true;
            this.customOptions = [customEditorOptions] || [];
            this.preserveWhitespace = false;
            this.spellcheck = false;
            this.showCounters = true;
            this.isImageUrl = false;
            /*  DEPRECATED (OLD)                NEW
                -------------------------------------------------------
                (onInit)                =>      (onEditorCreated)
                (onTextChange)          =>      (onContentChanged)
                (onSelectionChange)     =>      (onSelectionChanged)
                                                (onEditorCreated)
                                                (onEditorChanged)
                                                (onContentChanged)
                                                (onFocus)
                                                (onBlur)             */
            // OLD EMITTERS (Keep for backward compatibility) - TO BE DEPRECATED
            this.onInit = new i0.EventEmitter();
            this.onTextChange = new i0.EventEmitter();
            this.onSelectionChange = new i0.EventEmitter();
            // NEW EMITTERS
            this.onEditorCreated = new i0.EventEmitter();
            this.onEditorChanged = new i0.EventEmitter();
            this.onContentChanged = new i0.EventEmitter();
            this.onSelectionChanged = new i0.EventEmitter();
            this.onFocus = new i0.EventEmitter();
            this.onBlur = new i0.EventEmitter();
            this.getCharactersCounter = new i0.EventEmitter();
            this.getWordsCounter = new i0.EventEmitter();
            this.crlf = String.fromCharCode(10, 13); // for tooltip CR+LF
            this.editorConfig = [];
            this.value = '';
            this.sanitize = true; // Security: always set sanitizing to true!
            this.isEnabledOnFocusBackup = false; // backup & restore of the isEnabledOnFocus original option
            this.displayAbout = false;
            this.charactersLabel = 'characters';
            this.wordsLabel = 'words';
            this.isMaxLengthValid = true;
            // Debugger events & misc
            this.isBlured = false;
            this.isFocused = false;
            this.isEditorCreated = false;
            this.hasEditorChanged = false;
            this.hasContentChanged = false;
            this.hasSelectionChanged = false;
            this.isToolbarTouched = false;
            this.formValidationErrorMessage = '';
            this.ariaInvalid = false;
            this.formControl = new i1$1.FormControl();
            this.destroy$ = new rxjs.Subject();
            this.imageHandler = function (image, callback) {
                var range = _this.quillEditor.getSelection();
                var value = prompt('Enter image link URL');
                if (value) {
                    _this.quillEditor.insertEmbed(range.index, 'image', value, QuillType__default["default"].sources.USER);
                }
            };
            this.propagateChange = function (_) { };
            this.propagateTouched = function () { };
            this.onValidatorChanged = function () { };
            // Inject NgControl value accessor to self
            // This replaces injector.get(NgControl) which is throwing a deprecation warning
            // Also removed NG_VALUE_ACCESSOR from the providers to avoid circular dependency
            if (this.ngControl) {
                this.ngControl.valueAccessor = this;
            }
            this.uxFormGroupComponent = uxFormGroupComponent;
        }
        UxEditorComponent.prototype.ngOnInit = function () {
            // Replace default Toolbar with custom
            if (this.customToolbarOptions) {
                this.modules = Object.assign(Object.assign({}, this.modules), { toolbar: this.customToolbarOptions });
            }
            // Backup original value of isEnabledOnFocus option
            this.isEnabledOnFocusBackup = this.isEnabledOnFocus;
            // Generate unique id for ux-editor instance
            this.generatedId = this.id ? this.id : 'ux-editor-' + (Math.floor(Math.random() * 1000000) + 1).toString();
            if (this.uxFormGroupComponent) {
                this.uxFormGroupComponent.id = this.generatedId;
                if (this.validationErrorMessage) {
                    this.uxFormGroupComponent.validationErrorMessage = this.validationErrorMessage;
                    this.uxFormGroupComponent.validationErrorFeedbackClass = this.feedbackTypeClass;
                    this.formValidationErrorMessage = this.uxFormGroupComponent.validationErrorMessage;
                }
                if (!this.uxFormGroupComponent.isRequired) {
                    this.uxFormGroupComponent.isRequired = this.isRequired;
                }
                else {
                    this.isRequired = this.uxFormGroupComponent.isRequired;
                }
            }
            this._formControlStatusChanges();
        };
        UxEditorComponent.prototype.ngOnChanges = function (changes) {
            // console.log('ngOnChanges() changes:', changes);
            if (changes) {
                if (changes.isEnabledOnFocus && changes.isEnabledOnFocus.currentValue === true) {
                    this.isEnabledOnFocus = true;
                    this.isReadOnly = true;
                }
                // Overrides the isEnabledOnFocus=true option
                if (changes.isReadOnly) {
                    if (changes.isReadOnly.currentValue === true) {
                        this.isEnabledOnFocus = false;
                        this.isReadOnly = true;
                    }
                    // Edition mode
                    if (changes.isReadOnly.currentValue === false) {
                        this._formControlStatusChanges();
                    }
                }
            }
        };
        UxEditorComponent.prototype.ngOnDestroy = function () {
            this.destroy$.next(true);
            this.destroy$.unsubscribe();
        };
        // Overrides default image handler (embedded B64 content from file) with URL images instead
        UxEditorComponent.prototype.setImageUrlHandler = function (editorInstance) {
            if (editorInstance) {
                this.quillEditor = editorInstance;
                var toolbar = editorInstance.getModule('toolbar');
                toolbar.addHandler('image', this.imageHandler);
            }
        };
        // TOOLBAR EXTRAS (eUI Customs)
        UxEditorComponent.prototype.editorUndo = function () {
            this.quillEditor.history.undo();
        };
        UxEditorComponent.prototype.editorRedo = function () {
            this.quillEditor.history.redo();
        };
        UxEditorComponent.prototype.editorDeleteContent = function (event) {
            var _this = this;
            if (confirm('Are you sure you want to delete all editor\'s content?')) {
                setTimeout(function () {
                    _this.quillEditor.setContents([]);
                    _this.quillEditor.setText('');
                    _this.propagateChange('');
                });
            }
        };
        UxEditorComponent.prototype.editorAbout = function () {
            this.displayAbout = !this.displayAbout;
        };
        // TOGGLES
        UxEditorComponent.prototype.toggleReadOnly = function () {
            this.isReadOnly = !this.isReadOnly;
        };
        UxEditorComponent.prototype.toggleRequired = function () {
            this.isRequired = !this.isRequired;
        };
        // READONLY MODE Functions
        UxEditorComponent.prototype.enableEditorOnClickFocus = function (event) {
            if (this.isEnabledOnFocus) {
                this.isReadOnly = false; // show toolbar
                // this.isEnabledOnFocus = false;  // Disable the isEnabledOnFocus when focused to avoid lost focus when using toolbar actions
            }
        };
        // TOOLBAR EVENTS / FUNCTIONS
        // Force remaining on Editor when touching the toolbar actions
        UxEditorComponent.prototype.onToolbarFocusIn = function (event) {
            // console.log('onToolbarFocusIn() triggered');
            this.isToolbarTouched = true;
        };
        // Reset toolbar touched state on exit
        UxEditorComponent.prototype.onToolbarFocusOut = function (event) {
            // console.log('onToolbarFocusOut() triggered');
            this.isToolbarTouched = false;
        };
        // EVENT HANDLERS EMITTERS
        UxEditorComponent.prototype.onEditorCreatedEmit = function (event) {
            if (this.debug === 'log') {
                console.log('editor-created', event);
            }
            // Starting point event returns the Quill instance
            if (event) {
                this.quillEditor = event;
                if (this.format === 'html') {
                    var delta = this.quillEditor.clipboard.convert({ html: this.value });
                    this.formControl.patchValue(delta);
                    this.quillEditor.setContents(delta);
                }
                this.onInit.emit(event); // OLD KEEP! TO BE DEPRECATED
                this.onEditorCreated.emit(event);
                this.isEditorCreated = true; // For debugger
                // Set focus when navigating with tab key
                if (this.isEnabledOnFocusBackup) {
                    this._editorSetFocus();
                }
                // Import & register new module for custom Link insert with encoded URI (EUI-1575)
                this._getEncodedURILink();
                // Use URL images instead of embedded B64 content (overrides default image handler)
                if (this.isImageUrl) {
                    this.setImageUrlHandler(this.quillEditor);
                }
            }
        };
        UxEditorComponent.prototype.onEditorChangedEmit = function (event) {
            if (this.debug === 'log') {
                console.log('editor-changed', event);
            }
            this.onEditorChanged.emit(event);
            this.hasEditorChanged = true; // For debugger
        };
        UxEditorComponent.prototype.onContentChangedEmit = function (event) {
            if (this.debug === 'log') {
                console.log('content-changed', event);
            }
            this.onTextChange.emit(event); // OLD KEEP! TO BE DEPRECATED
            this.onContentChanged.emit(event);
            this.hasContentChanged = true; // For debugger
            // Update editor's value
            switch (this.format) {
                case 'text':
                    this.value = event.text;
                    this._calculateCounters(this.value); // Update counters
                    break;
                case 'json':
                    this.value = JSON.stringify(event.content);
                    break;
                case 'object':
                    this.value = event.content;
                    break;
                default:
                    this.value = event.html;
                    this._calculateCounters(this.value); // Update counters
            }
            this.propagateChange(this.value);
        };
        UxEditorComponent.prototype.onSelectionChangedEmit = function (event) {
            if (this.debug === 'log') {
                console.log('selection-changed', event);
            }
            this.hasSelectionChanged = true; // For debugger
            this.onSelectionChange.emit(event); // OLD KEEP! TO BE DEPRECATED
            this.onSelectionChanged.emit(event);
        };
        UxEditorComponent.prototype.onFocusEmit = function (event) {
            if (this.debug === 'log') {
                console.log('onFocus', event);
            }
            this.isFocused = true;
            this.isBlured = false;
            this.onFocus.emit(true);
        };
        UxEditorComponent.prototype.onBlurEmit = function (event) {
            if (this.debug === 'log') {
                console.log('onBlur', event);
            }
            this.isFocused = false;
            this.isBlured = true;
            this.onBlur.emit(true);
        };
        // CONTROL VALUE ACCESSORS
        UxEditorComponent.prototype.registerOnChange = function (fn) {
            this.propagateChange = fn;
        };
        UxEditorComponent.prototype.registerOnTouched = function (fn) {
            this.propagateTouched = fn;
        };
        UxEditorComponent.prototype.registerOnValidatorChange = function (fn) {
            this.onValidatorChanged = fn;
        };
        UxEditorComponent.prototype.writeValue = function (value) {
            var _this = this;
            // EUI-3568
            setTimeout(function () {
                if (_this.debug === 'log') {
                    console.log('ControlValueAccessors: writeValue():', value);
                }
                _this.value = value || null;
                _this._calculateCounters(_this.value); // Set initial counters
                if (_this.formControl) {
                    _this.formControl.patchValue(value);
                }
                // Save the last correct input value when formControl is valid
                if (_this.value && _this.formControlStatus === 'VALID') {
                    _this.lastValidValue = _this.value;
                }
            });
        };
        // PRIVATE FUNCTIONS
        UxEditorComponent.prototype._editorSetFocus = function () {
            var _this = this;
            // Set focus to ql-editor div container
            if (this.quillEditor) {
                setTimeout(function () {
                    _this.quillEditor.focus();
                    // Do NOT use patchValue here since it resets editor's cursor position !!
                });
            }
        };
        // Custom Link insert with encoded URI override
        UxEditorComponent.prototype._getEncodedURILink = function () {
            var Link = QuillType__default["default"].import('formats/link');
            var MyLink = /** @class */ (function (_super) {
                __extends(MyLink, _super);
                function MyLink() {
                    return _super !== null && _super.apply(this, arguments) || this;
                }
                MyLink.create = function (value) {
                    var node = _super.create.call(this, value);
                    value = encodeURI(this.sanitize(value));
                    node.setAttribute('href', value);
                    // How to remove target
                    // if (value.startsWith('https://quilljs.com')) {
                    //     node.removeAttribute('target');
                    // }
                    return node;
                };
                return MyLink;
            }(Link));
            QuillType__default["default"].register('silent', MyLink);
        };
        UxEditorComponent.prototype._formControlStatusChanges = function () {
            var _this = this;
            this.formControl = new i1$1.FormControl(this.value);
            if (this.ngControl && this.ngControl.statusChanges) {
                this.ngControl.statusChanges.pipe(operators.distinctUntilChanged(), operators.takeUntil(this.destroy$)).subscribe(function (value) {
                    if (value === 'VALID') {
                        _this.formControlStatus = 'VALID';
                        _this.isFormControlValid = true;
                        _this.ariaInvalid = false;
                    }
                    else {
                        _this.formControlStatus = 'INVALID';
                        _this.isFormControlValid = false;
                        _this.ariaInvalid = true;
                    }
                    if (_this.uxFormGroupComponent) {
                        _this.uxFormGroupComponent.isValid = _this.isFormControlValid;
                        if (_this.formControl.touched) {
                            _this.uxFormGroupComponent.validationErrorMessage = _this.validationErrorMessage || _this.uxFormGroupComponent.validationErrorMessage;
                        }
                    }
                });
            }
        };
        UxEditorComponent.prototype._calculateCounters = function (content) {
            if (this.format === 'html' || this.format === 'text') {
                if (content && content.length && content !== null) {
                    var text = '';
                    if (this.format === 'html') {
                        text = this._stripHtml(content);
                    }
                    else {
                        text = content;
                    }
                    this.charactersCounter = text.length;
                    this.wordsCounter = !text ? 0 : text.trim().split(/\s+/).length;
                }
                else {
                    // Empty content
                    this.charactersCounter = 0;
                    this.wordsCounter = 0;
                }
                // Output counters (for custom toolbar usage)
                this.getCharactersCounter.emit(this.charactersCounter);
                this.getWordsCounter.emit(this.wordsCounter);
                // Update maxLength & validity
                this._refreshMaxLength();
            }
            return;
        };
        UxEditorComponent.prototype._refreshMaxLength = function () {
            if (this.maxLength && this.maxLength > 0) {
                this.charactersLeft = this.maxLength - this.charactersCounter;
                if (this.charactersLeft < 0) {
                    this.charactersLeft = 0;
                    this.isMaxLengthValid = false;
                    this.isFormControlValid = false;
                }
                else {
                    this.isMaxLengthValid = true;
                }
            }
            return;
        };
        UxEditorComponent.prototype._stripHtml = function (content) {
            var regex = /(<([^>]+)>)/gm;
            return content.replace(regex, '');
        };
        return UxEditorComponent;
    }());
    /** @nocollapse */ UxEditorComponent.ɵfac = function UxEditorComponent_Factory(t) { return new (t || UxEditorComponent)(i0__namespace.ɵɵdirectiveInject(i0.forwardRef(function () { return i2.UxFormGroupComponent; }), 9), i0__namespace.ɵɵdirectiveInject(i1__namespace$1.NgControl, 10)); };
    /** @nocollapse */ UxEditorComponent.ɵcmp = i0__namespace.ɵɵdefineComponent({ type: UxEditorComponent, selectors: [["ux-editor"]], contentQueries: function UxEditorComponent_ContentQueries(rf, ctx, dirIndex) {
            if (rf & 1) {
                i0__namespace.ɵɵstaticContentQuery(dirIndex, UxEditorCustomToolbarTagDirective, true);
            }
            if (rf & 2) {
                var _t;
                i0__namespace.ɵɵqueryRefresh(_t = i0__namespace.ɵɵloadQuery()) && (ctx.customEditorToolbar = _t.first);
            }
        }, inputs: { e2eAttr: "e2eAttr", id: "id", style: "style", styleClass: "styleClass", placeholder: "placeholder", formats: "formats", format: "format", isEnabledOnFocus: "isEnabledOnFocus", isReadOnly: "isReadOnly", isUsedNativeEditorInReadMode: "isUsedNativeEditorInReadMode", customToolbarOptions: "customToolbarOptions", theme: "theme", debug: "debug", isEditable: "isEditable", formControlName: "formControlName", feedbackTypeClass: "feedbackTypeClass", validationErrorMessage: "validationErrorMessage", tabindex: "tabindex", hasReadOnlyStyles: "hasReadOnlyStyles", isMinimalToolbar: "isMinimalToolbar", modules: "modules", maxLength: "maxLength", minLength: "minLength", isRequired: "isRequired", customToolbarPosition: "customToolbarPosition", isUsedSanitizationForHtml: "isUsedSanitizationForHtml", strict: "strict", scrollingContainer: "scrollingContainer", bounds: "bounds", customOptions: "customOptions", trackChanges: "trackChanges", preserveWhitespace: "preserveWhitespace", spellcheck: "spellcheck", showCounters: "showCounters", isImageUrl: "isImageUrl" }, outputs: { onInit: "onInit", onTextChange: "onTextChange", onSelectionChange: "onSelectionChange", onEditorCreated: "onEditorCreated", onEditorChanged: "onEditorChanged", onContentChanged: "onContentChanged", onSelectionChanged: "onSelectionChanged", onFocus: "onFocus", onBlur: "onBlur", getCharactersCounter: "getCharactersCounter", getWordsCounter: "getWordsCounter" }, features: [i0__namespace.ɵɵNgOnChangesFeature], ngContentSelectors: _c1, decls: 5, vars: 4, consts: [[1, "ux-editor-wrapper"], [3, "id", "class", "ux-editor--readonly", "ux-editor--focused", "ux-editor--editable", "format", "formats", "maxLength", "minLength", "readOnly", "required", "sanitize", "modules", "theme", "placeholder", "styles", "customToolbarPosition", "preserveWhitespace", "spellcheck", "formControl", "debug", "tabindex", "onEditorCreated", "onEditorChanged", "onContentChanged", "onSelectionChanged", "onFocus", "onBlur", 4, "ngIf"], ["class", "maxlength-wrapper", 3, "maxlength-wrapper--error", 4, "ngIf"], [3, "class", "ux-editor--empty", "tabindex", "click", "focusin", 4, "ngIf"], ["class", "ux-editor__debug", 4, "ngIf"], [3, "id", "format", "formats", "maxLength", "minLength", "readOnly", "required", "sanitize", "modules", "theme", "placeholder", "styles", "customToolbarPosition", "preserveWhitespace", "spellcheck", "formControl", "debug", "tabindex", "onEditorCreated", "onEditorChanged", "onContentChanged", "onSelectionChanged", "onFocus", "onBlur"], ["quill-editor-toolbar", "", 3, "focusin", "focusout", 4, "ngIf"], ["quill-editor-toolbar", "", 3, "focusin", "focusout"], [1, "ql-formats"], [1, "ql-header", 3, "title"], ["value", "1"], ["value", "2"], ["value", "3"], ["value", "4"], ["value", "5"], ["value", "6"], ["selected", ""], ["class", "ql-formats", 4, "ngIf"], ["aria-label", "Bold (Ctrl + B)", 1, "ql-bold", 3, "title"], ["aria-label", "Italic (Ctrl + I)", 1, "ql-italic", 3, "title"], ["aria-label", "Underline (Ctrl + U)", 1, "ql-underline", 3, "title"], ["aria-label", "Strikethrough", 1, "ql-strike", 3, "title"], ["aria-label", "Font Color", 1, "ql-color", 3, "title"], ["aria-label", "Text Highlight Color", 1, "ql-background", 3, "title"], ["aria-label", "Text Align", 1, "ql-align", 3, "title"], ["value", "center"], ["value", "right"], ["value", "justify"], ["class", "ql-blockquote", "aria-label", "Blockquote", 3, "title", 4, "ngIf"], ["class", "ql-code-block", "aria-label", "Insert Code Block", 3, "title", 4, "ngIf"], ["aria-label", "Insert Link", 1, "ql-link", 3, "title"], ["class", "ql-image", "aria-label", "Insert Image", 3, "title", 4, "ngIf"], ["class", "ql-image", "aria-label", "Insert Image from URL", 3, "title", 4, "ngIf"], ["class", "ql-video", "aria-label", "Insert Video", 3, "title", 4, "ngIf"], ["aria-label", "Remove Styles", 1, "ql-clean", 3, "title"], ["aria-label", "Delete", 3, "title", "click"], [1, "eui-icon", "eui-icon-delete-forever"], ["aria-label", "Undo (Ctrl + Z)", 3, "title", "click"], [1, "eui-icon", "eui-icon-undo"], ["aria-label", "Redo (Ctrl + Y)", 3, "title", "click"], [1, "eui-icon", "eui-icon-redo"], [1, "ql-font", 3, "title"], ["value", "serif"], ["value", "monospace"], ["value", "sub", "aria-label", "Subscript", 1, "ql-script", 3, "title"], ["value", "super", "aria-label", "Superscript", 1, "ql-script", 3, "title"], ["value", "ordered", "aria-label", "Ordered List", 1, "ql-list", 3, "title"], ["value", "bullet", "aria-label", "Unordered List", 1, "ql-list", 3, "title"], ["value", "-1", "type", "button", "aria-label", "Decrease Indent", 1, "ql-indent", 3, "title"], ["value", "+1", "type", "button", "aria-label", "Increase Indent", 1, "ql-indent", 3, "title"], ["aria-label", "Blockquote", 1, "ql-blockquote", 3, "title"], ["aria-label", "Insert Code Block", 1, "ql-code-block", 3, "title"], ["aria-label", "Insert Image", 1, "ql-image", 3, "title"], ["aria-label", "Insert Image from URL", 1, "ql-image", 3, "title"], [1, "eui-icon", "eui-icon-image-add"], ["aria-label", "Insert Video", 1, "ql-video", 3, "title"], ["aria-label", "Counters", 3, "charactersCounter", "charactersLabel", "wordsCounter", "wordsLabel", "isMaxLengthValid", "title"], [1, "maxlength-wrapper"], [3, "tabindex", "click", "focusin"], [3, "content", "theme", "styles", 4, "ngIf"], [3, "content", "format", "theme", "styles", 4, "ngIf"], [3, "content", "theme", "styles"], [3, "content", "format", "theme", "styles"], [1, "ux-editor__debug"], [1, "ux-editor__debug-title"], [1, "ux-editor__debug-section"], [1, "ux-editor__debug-badge", "ux-editor__debug-badge--off"], [1, "eui-u-color-black"], [1, "ux-editor__debug-badge"], [1, "ux-editor__debug-badge", "ux-editor__debug-badge--on"], [3, "ngClass"], [1, "ux-editor__debug-source"], [4, "ngIf"], [1, "ux-editor__debug-source-code"]], template: function UxEditorComponent_Template(rf, ctx) {
            if (rf & 1) {
                i0__namespace.ɵɵprojectionDef(_c0);
                i0__namespace.ɵɵelementStart(0, "div", 0);
                i0__namespace.ɵɵtemplate(1, UxEditorComponent_quill_editor_1_Template, 3, 31, "quill-editor", 1);
                i0__namespace.ɵɵtemplate(2, UxEditorComponent_div_2_Template, 2, 3, "div", 2);
                i0__namespace.ɵɵelementEnd();
                i0__namespace.ɵɵtemplate(3, UxEditorComponent_div_3_Template, 3, 8, "div", 3);
                i0__namespace.ɵɵtemplate(4, UxEditorComponent_div_4_Template, 76, 66, "div", 4);
            }
            if (rf & 2) {
                i0__namespace.ɵɵadvance(1);
                i0__namespace.ɵɵproperty("ngIf", !ctx.isReadOnly || ctx.isUsedNativeEditorInReadMode);
                i0__namespace.ɵɵadvance(1);
                i0__namespace.ɵɵproperty("ngIf", !ctx.isReadOnly && ctx.charactersLeft > -1);
                i0__namespace.ɵɵadvance(1);
                i0__namespace.ɵɵproperty("ngIf", ctx.isReadOnly && !ctx.isUsedNativeEditorInReadMode);
                i0__namespace.ɵɵadvance(1);
                i0__namespace.ɵɵproperty("ngIf", ctx.debug);
            }
        }, directives: function () {
            return [i3__namespace.NgIf, i4__namespace.QuillEditorComponent, i1__namespace$1.RequiredValidator, i1__namespace$1.NgControlStatus, i1__namespace$1.FormControlDirective, i1__namespace$1.NgSelectOption, i1__namespace$1.ɵangular_packages_forms_forms_x, UxEditorCountersComponent,
                UxEditorViewHTMLComponent,
                UxEditorViewComponent, i3__namespace.NgClass];
        }, pipes: function () { return [i3__namespace.JsonPipe]; }, encapsulation: 2 });
    /*@__PURE__*/ (function () {
        i0__namespace.ɵsetClassMetadata(UxEditorComponent, [{
                type: i0.Component,
                args: [{
                        selector: 'ux-editor',
                        templateUrl: './ux-editor.component.html',
                    }]
            }], function () {
            return [{ type: i2__namespace.UxFormGroupComponent, decorators: [{
                            type: i0.Optional
                        }, {
                            type: i0.Host
                        }, {
                            type: i0.Inject,
                            args: [i0.forwardRef(function () { return i2.UxFormGroupComponent; })]
                        }] }, { type: i1__namespace$1.NgControl, decorators: [{
                            type: i0.Optional
                        }, {
                            type: i0.Self
                        }] }];
        }, { e2eAttr: [{
                    type: i0.Input
                }], id: [{
                    type: i0.Input
                }], style: [{
                    type: i0.Input
                }], styleClass: [{
                    type: i0.Input
                }], placeholder: [{
                    type: i0.Input
                }], formats: [{
                    type: i0.Input
                }], format: [{
                    type: i0.Input
                }], isEnabledOnFocus: [{
                    type: i0.Input
                }], isReadOnly: [{
                    type: i0.Input
                }], isUsedNativeEditorInReadMode: [{
                    type: i0.Input
                }], customToolbarOptions: [{
                    type: i0.Input
                }], theme: [{
                    type: i0.Input
                }], debug: [{
                    type: i0.Input
                }], isEditable: [{
                    type: i0.Input
                }], formControlName: [{
                    type: i0.Input
                }], feedbackTypeClass: [{
                    type: i0.Input
                }], validationErrorMessage: [{
                    type: i0.Input
                }], tabindex: [{
                    type: i0.Input
                }], hasReadOnlyStyles: [{
                    type: i0.Input
                }], isMinimalToolbar: [{
                    type: i0.Input
                }], modules: [{
                    type: i0.Input
                }], maxLength: [{
                    type: i0.Input
                }], minLength: [{
                    type: i0.Input
                }], isRequired: [{
                    type: i0.Input
                }], customToolbarPosition: [{
                    type: i0.Input
                }], isUsedSanitizationForHtml: [{
                    type: i0.Input
                }], strict: [{
                    type: i0.Input
                }], scrollingContainer: [{
                    type: i0.Input
                }], bounds: [{
                    type: i0.Input
                }], customOptions: [{
                    type: i0.Input
                }], trackChanges: [{
                    type: i0.Input
                }], preserveWhitespace: [{
                    type: i0.Input
                }], spellcheck: [{
                    type: i0.Input
                }], showCounters: [{
                    type: i0.Input
                }], isImageUrl: [{
                    type: i0.Input
                }], onInit: [{
                    type: i0.Output
                }], onTextChange: [{
                    type: i0.Output
                }], onSelectionChange: [{
                    type: i0.Output
                }], onEditorCreated: [{
                    type: i0.Output
                }], onEditorChanged: [{
                    type: i0.Output
                }], onContentChanged: [{
                    type: i0.Output
                }], onSelectionChanged: [{
                    type: i0.Output
                }], onFocus: [{
                    type: i0.Output
                }], onBlur: [{
                    type: i0.Output
                }], getCharactersCounter: [{
                    type: i0.Output
                }], getWordsCounter: [{
                    type: i0.Output
                }], customEditorToolbar: [{
                    type: i0.ContentChild,
                    args: [i0.forwardRef(function () { return UxEditorCustomToolbarTagDirective; }), { static: true }]
                }] });
    })();
    // tslint:disable-next-line
    var UxEditorCustomToolbarTagDirective = /** @class */ (function () {
        function UxEditorCustomToolbarTagDirective() {
        }
        return UxEditorCustomToolbarTagDirective;
    }());
    /** @nocollapse */ UxEditorCustomToolbarTagDirective.ɵfac = function UxEditorCustomToolbarTagDirective_Factory(t) { return new (t || UxEditorCustomToolbarTagDirective)(); };
    /** @nocollapse */ UxEditorCustomToolbarTagDirective.ɵdir = i0__namespace.ɵɵdefineDirective({ type: UxEditorCustomToolbarTagDirective, selectors: [["uxEditorCustomToolbar"]] });
    /*@__PURE__*/ (function () {
        i0__namespace.ɵsetClassMetadata(UxEditorCustomToolbarTagDirective, [{
                type: i0.Directive,
                args: [{ selector: 'uxEditorCustomToolbar' }]
            }], null, null);
    })();
    var UxEditorComponentModule = /** @class */ (function () {
        function UxEditorComponentModule() {
        }
        return UxEditorComponentModule;
    }());
    /** @nocollapse */ UxEditorComponentModule.ɵmod = i0__namespace.ɵɵdefineNgModule({ type: UxEditorComponentModule });
    /** @nocollapse */ UxEditorComponentModule.ɵinj = i0__namespace.ɵɵdefineInjector({ factory: function UxEditorComponentModule_Factory(t) { return new (t || UxEditorComponentModule)(); }, imports: [[
                i3.CommonModule,
                i1$1.FormsModule,
                i1$1.ReactiveFormsModule,
                i4.QuillModule.forRoot(),
            ]] });
    (function () {
        (typeof ngJitMode === "undefined" || ngJitMode) && i0__namespace.ɵɵsetNgModuleScope(UxEditorComponentModule, { declarations: [UxEditorComponent, UxEditorViewComponent,
                UxEditorViewHTMLComponent,
                UxEditorCountersComponent, UxEditorCustomToolbarTagDirective], imports: [i3.CommonModule,
                i1$1.FormsModule,
                i1$1.ReactiveFormsModule, i4__namespace.QuillModule], exports: [UxEditorComponent, UxEditorViewComponent,
                UxEditorViewHTMLComponent,
                UxEditorCountersComponent, UxEditorCustomToolbarTagDirective] });
    })();
    /*@__PURE__*/ (function () {
        i0__namespace.ɵsetClassMetadata(UxEditorComponentModule, [{
                type: i0.NgModule,
                args: [{
                        imports: [
                            i3.CommonModule,
                            i1$1.FormsModule,
                            i1$1.ReactiveFormsModule,
                            i4.QuillModule.forRoot(),
                        ],
                        exports: [
                            UxEditorComponent,
                            UxEditorViewComponent,
                            UxEditorViewHTMLComponent,
                            UxEditorCountersComponent,
                            UxEditorCustomToolbarTagDirective,
                        ],
                        declarations: [
                            UxEditorComponent,
                            UxEditorViewComponent,
                            UxEditorViewHTMLComponent,
                            UxEditorCountersComponent,
                            UxEditorCustomToolbarTagDirective,
                        ],
                    }]
            }], null, null);
    })();

    /**
     * Generated bundle index. Do not edit.
     */

    exports.UxEditorComponent = UxEditorComponent;
    exports.UxEditorComponentModule = UxEditorComponentModule;
    exports.UxEditorCountersComponent = UxEditorCountersComponent;
    exports.UxEditorCustomToolbarTagDirective = UxEditorCustomToolbarTagDirective;
    exports.UxEditorViewComponent = UxEditorViewComponent;
    exports.UxEditorViewHTMLComponent = UxEditorViewHTMLComponent;

    Object.defineProperty(exports, '__esModule', { value: true });

}));
//# sourceMappingURL=eui-externals-ux-editor.umd.js.map
