@cleavelandprice/ngx-lib 3.2.1 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/esm2020/quill/cleavelandprice-ngx-lib-quill.mjs +5 -0
  2. package/esm2020/quill/components/editor/editor.component.mjs +296 -0
  3. package/esm2020/quill/mention/cleavelandprice-ngx-lib-quill-mention.mjs +5 -0
  4. package/esm2020/quill/mention/components/editor/editor.component.mjs +152 -0
  5. package/esm2020/quill/mention/model/dialog-data.mjs +2 -0
  6. package/esm2020/quill/mention/public_api.mjs +2 -0
  7. package/esm2020/quill/mention/quill-mention.module.mjs +63 -0
  8. package/esm2020/quill/model/buttons.mjs +51 -0
  9. package/esm2020/quill/model/config.mjs +40 -0
  10. package/esm2020/quill/model/dialog-data.mjs +2 -0
  11. package/esm2020/quill/model/icons.mjs +9 -0
  12. package/esm2020/quill/model/tooltips.mjs +54 -0
  13. package/esm2020/quill/public_api.mjs +8 -0
  14. package/esm2020/quill/quill.module.mjs +65 -0
  15. package/fesm2015/cleavelandprice-ngx-lib-quill-mention.mjs +212 -0
  16. package/fesm2015/cleavelandprice-ngx-lib-quill-mention.mjs.map +1 -0
  17. package/fesm2015/cleavelandprice-ngx-lib-quill.mjs +505 -0
  18. package/fesm2015/cleavelandprice-ngx-lib-quill.mjs.map +1 -0
  19. package/fesm2020/cleavelandprice-ngx-lib-quill-mention.mjs +207 -0
  20. package/fesm2020/cleavelandprice-ngx-lib-quill-mention.mjs.map +1 -0
  21. package/fesm2020/cleavelandprice-ngx-lib-quill.mjs +500 -0
  22. package/fesm2020/cleavelandprice-ngx-lib-quill.mjs.map +1 -0
  23. package/package.json +16 -8
  24. package/{quill-editor → quill}/components/editor/editor.component.d.ts +4 -9
  25. package/{quill-editor → quill}/index.d.ts +1 -1
  26. package/quill/mention/components/editor/editor.component.d.ts +20 -0
  27. package/quill/mention/index.d.ts +5 -0
  28. package/quill/mention/model/dialog-data.d.ts +5 -0
  29. package/quill/mention/public_api.d.ts +1 -0
  30. package/quill/mention/quill-mention.module.d.ts +17 -0
  31. package/{quill-editor → quill}/model/buttons.d.ts +0 -0
  32. package/{quill-editor → quill}/model/config.d.ts +0 -1
  33. package/{quill-editor → quill}/model/dialog-data.d.ts +1 -3
  34. package/{quill-editor → quill}/model/icons.d.ts +0 -0
  35. package/{quill-editor → quill}/model/tooltips.d.ts +0 -0
  36. package/{quill-editor → quill}/public_api.d.ts +2 -1
  37. package/quill/quill.module.d.ts +17 -0
  38. package/esm2020/quill-editor/cleavelandprice-ngx-lib-quill-editor.mjs +0 -5
  39. package/esm2020/quill-editor/components/editor/editor.component.mjs +0 -289
  40. package/esm2020/quill-editor/model/buttons.mjs +0 -51
  41. package/esm2020/quill-editor/model/config.mjs +0 -40
  42. package/esm2020/quill-editor/model/dialog-data.mjs +0 -2
  43. package/esm2020/quill-editor/model/icons.mjs +0 -9
  44. package/esm2020/quill-editor/model/tooltips.mjs +0 -54
  45. package/esm2020/quill-editor/public_api.mjs +0 -7
  46. package/esm2020/quill-editor/quill-editor.module.mjs +0 -65
  47. package/fesm2015/cleavelandprice-ngx-lib-quill-editor.mjs +0 -506
  48. package/fesm2015/cleavelandprice-ngx-lib-quill-editor.mjs.map +0 -1
  49. package/fesm2020/cleavelandprice-ngx-lib-quill-editor.mjs +0 -500
  50. package/fesm2020/cleavelandprice-ngx-lib-quill-editor.mjs.map +0 -1
  51. package/quill-editor/quill-editor.module.d.ts +0 -17
@@ -0,0 +1,152 @@
1
+ import { Component, Inject, Input, Optional, forwardRef } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ //import { FormGroup } from '@angular/forms';
4
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
5
+ import { ActiveDirectoryService } from '@cleavelandprice/ngx-lib/active-directory';
6
+ import 'quill-mention';
7
+ //#region Moved to client responsibility
8
+ //import Quill from 'quill';
9
+ // This doesn't work when done from the library - it must be done from the client app
10
+ //import ImageResize from 'quill-image-resize-module';
11
+ //Quill.register('modules/imageResize', ImageResize);
12
+ // Treating ImageDrop the same way as ImageResize, even though it doesn't have the same problem described above
13
+ //import { ImageDrop } from 'quill-image-drop-module';
14
+ //#endregion
15
+ import { EditorComponent as EditorComponentBase } from '@cleavelandprice/ngx-lib/quill';
16
+ import * as i0 from "@angular/core";
17
+ import * as i1 from "@angular/material/dialog";
18
+ import * as i2 from "@angular/common";
19
+ import * as i3 from "@angular/forms";
20
+ import * as i4 from "@angular/material/icon";
21
+ import * as i5 from "@angular/material/tooltip";
22
+ import * as i6 from "ngx-quill";
23
+ import * as i7 from "@cleavelandprice/ngx-lib/active-directory";
24
+ export class EditorComponent extends EditorComponentBase {
25
+ constructor(data, dlgRef, dlg, activeDirectoryService) {
26
+ super(data, dlgRef, dlg);
27
+ this.dlgRef = dlgRef;
28
+ this.dlg = dlg;
29
+ this.activeDirectoryService = activeDirectoryService;
30
+ }
31
+ ngOnInit() {
32
+ this.initialize();
33
+ if (!this.users) {
34
+ this.activeDirectoryService.getUsers().subscribe(users => this.users = users);
35
+ }
36
+ }
37
+ toggleFullscreen() {
38
+ if (this.fullscreenMode === 'expand') {
39
+ this.fullscreen = !this.fullscreen;
40
+ this.fullscreenChanged.emit(this.fullscreen);
41
+ }
42
+ else {
43
+ if (this.fullscreen) {
44
+ this.dlgRef.close(this.value);
45
+ this.fullscreenChanged.emit(false);
46
+ }
47
+ else {
48
+ const data = {
49
+ value: this.value,
50
+ config: this.config,
51
+ placeholder: this.placeholder,
52
+ format: this.format,
53
+ height: this.fullscreenHeight,
54
+ width: '100%',
55
+ maxHeight: this.fullscreenHeight,
56
+ maxWidth: '100%',
57
+ enableTooltips: this.enableTooltips,
58
+ fullscreen: true,
59
+ fullscreenMode: this.fullscreenMode,
60
+ readonly: this.readonly,
61
+ applyReadonlyStyle: this.applyReadonlyStyle,
62
+ showToolbar: this.showToolbar,
63
+ showBorder: this.showBorder,
64
+ users: this.users
65
+ };
66
+ this.dlg.open(EditorComponent, {
67
+ disableClose: true,
68
+ width: this.fullscreenWidth,
69
+ height: this.fullscreenHeight,
70
+ data
71
+ })
72
+ .afterClosed()
73
+ .subscribe(value => {
74
+ this.value = value;
75
+ this.updateChanges();
76
+ });
77
+ this.fullscreenChanged.emit(true);
78
+ }
79
+ }
80
+ }
81
+ get modules() {
82
+ if (!this.users) {
83
+ return {};
84
+ }
85
+ const modules = {
86
+ mention: {
87
+ allowedChars: /^[A-Za-z\sÅÄÖåäö]*$/,
88
+ onSelect: (item, insertItem) => {
89
+ const editor = this.editor.quillEditor;
90
+ insertItem(item);
91
+ // necessary because quill-mention triggers changes as 'api' instead of 'user'
92
+ editor.insertText(editor.getLength() - 1, '', 'user');
93
+ },
94
+ source: (searchTerm, renderList) => {
95
+ if (searchTerm.length === 0) {
96
+ renderList(this.users?.map(u => ({ value: `${u.displayName} (${u.sAMAccountName.toLowerCase()})` })), searchTerm);
97
+ }
98
+ else {
99
+ const matches = [];
100
+ this.users.forEach((entry) => {
101
+ if (entry.displayName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 ||
102
+ entry.sAMAccountName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1) {
103
+ matches.push({ value: `${entry.displayName} (${entry.sAMAccountName.toLowerCase()})` });
104
+ }
105
+ });
106
+ renderList(matches, searchTerm);
107
+ }
108
+ }
109
+ }
110
+ };
111
+ if (!this.showToolbar) {
112
+ modules['toolbar'] = [];
113
+ }
114
+ if (this.imageResizeModule) {
115
+ modules['imageResize'] = {};
116
+ }
117
+ if (this.imageDropModule) {
118
+ modules['imageDrop'] = true;
119
+ }
120
+ if (this.syntaxModule) {
121
+ modules['syntax'] = true;
122
+ }
123
+ return modules;
124
+ }
125
+ }
126
+ EditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: EditorComponent, deps: [{ token: MAT_DIALOG_DATA, optional: true }, { token: i1.MatDialogRef, optional: true }, { token: i1.MatDialog }, { token: ActiveDirectoryService }], target: i0.ɵɵFactoryTarget.Component });
127
+ EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: EditorComponent, selector: "cpquill-editor-with-mention", inputs: { users: "users" }, providers: [{
128
+ provide: NG_VALUE_ACCESSOR,
129
+ useExisting: forwardRef(() => EditorComponent),
130
+ multi: true
131
+ }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"users\">\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n\n [placeholder]=\"placeholder\"\n [format]=\"format\"\n [style.height]=\"fullscreen ? fullscreenHeight : height\"\n [style.width]=\"fullscreen ? fullscreenWidth : width\"\n [readOnly]=\"readonly\"\n [class.readonly]=\"readonly && applyReadonlyStyle\"\n [class.no-toolbar]=\"!showToolbar\"\n [class.no-border]=\"!showBorder\"\n [modules]=\"modules\"\n \n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n \n <div quill-editor-toolbar *ngIf=\"showToolbar\">\n <ng-container [ngTemplateOutlet]=\"toolbar\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"editorSize\"></ng-container>\n </div>\n </quill-editor>\n </form>\n</ng-container>\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"listStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"rtl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"fontSize\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"heading\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"color\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"font\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"align\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"clean\"></ng-container>\n <nt-container [ngTemplateOutlet]=\"formula\"></nt-container>\n <ng-container [ngTemplateOutlet]=\"media\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showFontStyle\">\n <button class=\"ql-bold\" *ngIf=\"config.buttons.bold\" [matTooltip]=\"tooltip(config.tooltips.bold)\"></button>\n <button class=\"ql-italic\" *ngIf=\"config.buttons.italic\" [matTooltip]=\"tooltip(config.tooltips.italic)\"></button>\n <button class=\"ql-underline\" *ngIf=\"config.buttons.underline\" [matTooltip]=\"tooltip(config.tooltips.underline)\"></button>\n <button class=\"ql-strike\" *ngIf=\"config.buttons.strike\" [matTooltip]=\"tooltip(config.tooltips.strike)\"></button>\n </span>\n</ng-template>\n\n<ng-template #blockStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showBlockStyle\">\n <button class=\"ql-blockquote\" *ngIf=\"config.buttons.blockquote\" [matTooltip]=\"tooltip(config.tooltips.blockquote)\"></button>\n <button class=\"ql-code-block\" *ngIf=\"config.buttons.codeblock\" [matTooltip]=\"tooltip(config.tooltips.codeblock)\"></button>\n </span>\n</ng-template>\n\n<ng-template #headingStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showQuickHeadingStyle\">\n <button class=\"ql-header\" value=\"1\" *ngIf=\"config.buttons.h1\" [matTooltip]=\"tooltip(config.tooltips.h1)\"></button>\n <button class=\"ql-header\" value=\"2\" *ngIf=\"config.buttons.h2\" [matTooltip]=\"tooltip(config.tooltips.h2)\"></button>\n </span>\n</ng-template>\n\n<ng-template #listStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showListStyle\">\n <button class=\"ql-list\" value=\"ordered\" *ngIf=\"config.buttons.ordered\" [matTooltip]=\"tooltip(config.tooltips.ordered)\"></button>\n <button class=\"ql-list\" value=\"bullet\" *ngIf=\"config.buttons.bulleted\" [matTooltip]=\"tooltip(config.tooltips.bulleted)\"></button>\n </span>\n</ng-template>\n\n<ng-template #scriptStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showScriptStyle\">\n <button class=\"ql-script\" value=\"sub\" *ngIf=\"config.buttons.subScript\" [matTooltip]=\"tooltip(config.tooltips.subScript)\"></button>\n <button class=\"ql-script\" value=\"super\" *ngIf=\"config.buttons.superScript\" [matTooltip]=\"tooltip(config.tooltips.superScript)\"></button>\n </span>\n</ng-template>\n \n<ng-template #indentStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showIndentStyle\">\n <button class=\"ql-indent\" value=\"-1\" *ngIf=\"config.buttons.decreaseIndent\" [matTooltip]=\"tooltip(config.tooltips.decreaseIndent)\"></button>\n <button class=\"ql-indent\" value=\"+1\" *ngIf=\"config.buttons.increaseIndent\" [matTooltip]=\"tooltip(config.tooltips.increaseIndent)\"></button>\n </span>\n</ng-template>\n\n<ng-template #rtl>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.rtl\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config.tooltips.rtl)\"></button>\n </span>\n</ng-template>\n\n<ng-template #fontSize>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.fontSize\" [matTooltip]=\"tooltip(config.tooltips.fontSize)\">\n <select class=\"ql-size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #heading>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.headingStyle\" [matTooltip]=\"tooltip(config.tooltips.headingStyle)\">\n <select class=\"ql-header\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option>\n <option selected=\"selected\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #color>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.color\" [matTooltip]=\"tooltip(config.tooltips.color)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n</ng-template>\n\n<ng-template #font>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.font\" [matTooltip]=\"tooltip(config.tooltips.font)\">\n <select class=\"ql-font\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #align>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.align\" [matTooltip]=\"tooltip(config.tooltips.align)\">\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #clean>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.clean\" [matTooltip]=\"tooltip(config.tooltips.clean)\">\n <button class=\"ql-clean\"></button>\n </span>\n</ng-template>\n\n<ng-template #media>\n <span class=\"ql-formats\" *ngIf=\"config.showMedia\">\n <button class=\"ql-link\" *ngIf=\"config.buttons.link\" [matTooltip]=\"tooltip(config.tooltips.link)\"></button>\n <button class=\"ql-image\" *ngIf=\"config.buttons.image\" [matTooltip]=\"tooltip(config.tooltips.image)\"></button>\n <button class=\"ql-video\" *ngIf=\"config.buttons.video\" [matTooltip]=\"tooltip(config.tooltips.video)\"></button>\n </span>\n</ng-template>\n\n<ng-template #editorSize>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.editorSize\">\n <button id=\"fullscreen\"\n [matTooltip]=\"tooltip(fullscreen ?\n (fullscreenMode === 'expand' ? config.tooltips.minimize : config.tooltips.popin) :\n (fullscreenMode === 'expand' ? config.tooltips.maximize : config.tooltips.popout))\">\n\n <mat-icon (click)=\"toggleFullscreen()\">\n {{ fullscreen ?\n (fullscreenMode === 'expand' ? config.icons.minimize : config.icons.popin) :\n (fullscreenMode === 'expand' ? config.icons.maximize : config.icons.popout)\n }}\n </mat-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template #formula>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.formula\" [matTooltip]=\"tooltip(config.tooltips.formula)\">\n <button class=\"ql-formula\"></button>\n </span>\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.QuillEditorComponent, selector: "quill-editor" }] });
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: EditorComponent, decorators: [{
133
+ type: Component,
134
+ args: [{ selector: 'cpquill-editor-with-mention', providers: [{
135
+ provide: NG_VALUE_ACCESSOR,
136
+ useExisting: forwardRef(() => EditorComponent),
137
+ multi: true
138
+ }], template: "<ng-container *ngIf=\"users\">\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n\n [placeholder]=\"placeholder\"\n [format]=\"format\"\n [style.height]=\"fullscreen ? fullscreenHeight : height\"\n [style.width]=\"fullscreen ? fullscreenWidth : width\"\n [readOnly]=\"readonly\"\n [class.readonly]=\"readonly && applyReadonlyStyle\"\n [class.no-toolbar]=\"!showToolbar\"\n [class.no-border]=\"!showBorder\"\n [modules]=\"modules\"\n \n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n \n <div quill-editor-toolbar *ngIf=\"showToolbar\">\n <ng-container [ngTemplateOutlet]=\"toolbar\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"editorSize\"></ng-container>\n </div>\n </quill-editor>\n </form>\n</ng-container>\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"listStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"rtl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"fontSize\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"heading\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"color\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"font\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"align\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"clean\"></ng-container>\n <nt-container [ngTemplateOutlet]=\"formula\"></nt-container>\n <ng-container [ngTemplateOutlet]=\"media\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showFontStyle\">\n <button class=\"ql-bold\" *ngIf=\"config.buttons.bold\" [matTooltip]=\"tooltip(config.tooltips.bold)\"></button>\n <button class=\"ql-italic\" *ngIf=\"config.buttons.italic\" [matTooltip]=\"tooltip(config.tooltips.italic)\"></button>\n <button class=\"ql-underline\" *ngIf=\"config.buttons.underline\" [matTooltip]=\"tooltip(config.tooltips.underline)\"></button>\n <button class=\"ql-strike\" *ngIf=\"config.buttons.strike\" [matTooltip]=\"tooltip(config.tooltips.strike)\"></button>\n </span>\n</ng-template>\n\n<ng-template #blockStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showBlockStyle\">\n <button class=\"ql-blockquote\" *ngIf=\"config.buttons.blockquote\" [matTooltip]=\"tooltip(config.tooltips.blockquote)\"></button>\n <button class=\"ql-code-block\" *ngIf=\"config.buttons.codeblock\" [matTooltip]=\"tooltip(config.tooltips.codeblock)\"></button>\n </span>\n</ng-template>\n\n<ng-template #headingStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showQuickHeadingStyle\">\n <button class=\"ql-header\" value=\"1\" *ngIf=\"config.buttons.h1\" [matTooltip]=\"tooltip(config.tooltips.h1)\"></button>\n <button class=\"ql-header\" value=\"2\" *ngIf=\"config.buttons.h2\" [matTooltip]=\"tooltip(config.tooltips.h2)\"></button>\n </span>\n</ng-template>\n\n<ng-template #listStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showListStyle\">\n <button class=\"ql-list\" value=\"ordered\" *ngIf=\"config.buttons.ordered\" [matTooltip]=\"tooltip(config.tooltips.ordered)\"></button>\n <button class=\"ql-list\" value=\"bullet\" *ngIf=\"config.buttons.bulleted\" [matTooltip]=\"tooltip(config.tooltips.bulleted)\"></button>\n </span>\n</ng-template>\n\n<ng-template #scriptStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showScriptStyle\">\n <button class=\"ql-script\" value=\"sub\" *ngIf=\"config.buttons.subScript\" [matTooltip]=\"tooltip(config.tooltips.subScript)\"></button>\n <button class=\"ql-script\" value=\"super\" *ngIf=\"config.buttons.superScript\" [matTooltip]=\"tooltip(config.tooltips.superScript)\"></button>\n </span>\n</ng-template>\n \n<ng-template #indentStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showIndentStyle\">\n <button class=\"ql-indent\" value=\"-1\" *ngIf=\"config.buttons.decreaseIndent\" [matTooltip]=\"tooltip(config.tooltips.decreaseIndent)\"></button>\n <button class=\"ql-indent\" value=\"+1\" *ngIf=\"config.buttons.increaseIndent\" [matTooltip]=\"tooltip(config.tooltips.increaseIndent)\"></button>\n </span>\n</ng-template>\n\n<ng-template #rtl>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.rtl\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config.tooltips.rtl)\"></button>\n </span>\n</ng-template>\n\n<ng-template #fontSize>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.fontSize\" [matTooltip]=\"tooltip(config.tooltips.fontSize)\">\n <select class=\"ql-size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #heading>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.headingStyle\" [matTooltip]=\"tooltip(config.tooltips.headingStyle)\">\n <select class=\"ql-header\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option>\n <option selected=\"selected\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #color>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.color\" [matTooltip]=\"tooltip(config.tooltips.color)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n</ng-template>\n\n<ng-template #font>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.font\" [matTooltip]=\"tooltip(config.tooltips.font)\">\n <select class=\"ql-font\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #align>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.align\" [matTooltip]=\"tooltip(config.tooltips.align)\">\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #clean>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.clean\" [matTooltip]=\"tooltip(config.tooltips.clean)\">\n <button class=\"ql-clean\"></button>\n </span>\n</ng-template>\n\n<ng-template #media>\n <span class=\"ql-formats\" *ngIf=\"config.showMedia\">\n <button class=\"ql-link\" *ngIf=\"config.buttons.link\" [matTooltip]=\"tooltip(config.tooltips.link)\"></button>\n <button class=\"ql-image\" *ngIf=\"config.buttons.image\" [matTooltip]=\"tooltip(config.tooltips.image)\"></button>\n <button class=\"ql-video\" *ngIf=\"config.buttons.video\" [matTooltip]=\"tooltip(config.tooltips.video)\"></button>\n </span>\n</ng-template>\n\n<ng-template #editorSize>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.editorSize\">\n <button id=\"fullscreen\"\n [matTooltip]=\"tooltip(fullscreen ?\n (fullscreenMode === 'expand' ? config.tooltips.minimize : config.tooltips.popin) :\n (fullscreenMode === 'expand' ? config.tooltips.maximize : config.tooltips.popout))\">\n\n <mat-icon (click)=\"toggleFullscreen()\">\n {{ fullscreen ?\n (fullscreenMode === 'expand' ? config.icons.minimize : config.icons.popin) :\n (fullscreenMode === 'expand' ? config.icons.maximize : config.icons.popout)\n }}\n </mat-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template #formula>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.formula\" [matTooltip]=\"tooltip(config.tooltips.formula)\">\n <button class=\"ql-formula\"></button>\n </span>\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"] }]
139
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
140
+ type: Optional
141
+ }, {
142
+ type: Inject,
143
+ args: [MAT_DIALOG_DATA]
144
+ }] }, { type: i1.MatDialogRef, decorators: [{
145
+ type: Optional
146
+ }] }, { type: i1.MatDialog }, { type: i7.ActiveDirectoryService, decorators: [{
147
+ type: Inject,
148
+ args: [ActiveDirectoryService]
149
+ }] }]; }, propDecorators: { users: [{
150
+ type: Input
151
+ }] } });
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL21lbnRpb24vc3JjL2NvbXBvbmVudHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9xdWlsbC9tZW50aW9uL3NyYy9jb21wb25lbnRzL2VkaXRvci9lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxFQUFFLEtBQUssRUFBNkIsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsNkNBQTZDO0FBQzdDLE9BQU8sRUFBMkIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFRLE1BQU0sMkNBQTJDLENBQUM7QUFJekYsT0FBTyxlQUFlLENBQUM7QUFFdkIsd0NBQXdDO0FBQ3hDLDRCQUE0QjtBQUU1QixxRkFBcUY7QUFDckYsc0RBQXNEO0FBQ3RELHFEQUFxRDtBQUVyRCwrR0FBK0c7QUFDL0csc0RBQXNEO0FBRXRELFlBQVk7QUFFWixPQUFPLEVBQVUsZUFBZSxJQUFJLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7OztBQWFoRyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFHdEQsWUFBaUQsSUFBZ0IsRUFDakMsTUFBcUMsRUFDakQsR0FBYyxFQUNrQixzQkFBOEM7UUFFcEYsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFKUCxXQUFNLEdBQU4sTUFBTSxD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O1lBQ3JCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFFRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQzdCO1FBRUQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDN0I7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztTQUMxQjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7OzRHQXhIVSxlQUFlLGtCQUdNLGVBQWUsa0dBRzNCLHNCQUFzQjtnR0FOL0IsZUFBZSxrRkFOZixDQUFDO1lBQ1YsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztZQUM5QyxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsaURDakNKLGkwUkE2TGM7MkZEMUpELGVBQWU7a0JBVjNCLFNBQVM7K0JBQ0UsNkJBQTZCLGFBRzVCLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7OzBCQUtXLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs7MEJBQ2xDLFFBQVE7OzBCQUVSLE1BQU07MkJBQUMsc0JBQXNCOzRDQUxqQyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbi8vaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBBY3RpdmVEaXJlY3RvcnlTZXJ2aWNlLCBVc2VyIH0gZnJvbSAnQGNsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2FjdGl2ZS1kaXJlY3RvcnknO1xuXG5pbXBvcnQgeyBDb250ZW50Q2hhbmdlLCBCbHVyLCBGb2N1cywgRWRpdG9yQ2hhbmdlQ29udGVudCwgRWRpdG9yQ2hhbmdlU2VsZWN0aW9uLCBTZWxlY3Rpb25DaGFuZ2UsIFF1aWxsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnbmd4LXF1aWxsJztcblxuaW1wb3J0ICdxdWlsbC1tZW50aW9uJztcblxuLy8jcmVnaW9uIE1vdmVkIHRvIGNsaWVudCByZXNwb25zaWJpbGl0eVxuLy9pbXBvcnQgUXVpbGwgZnJvbSAncXVpbGwnO1xuXG4vLyBUaGlzIGRvZXNuJ3Qgd29yayB3aGVuIGRvbmUgZnJvbSB0aGUgbGlicmFyeSAtIGl0IG11c3QgYmUgZG9uZSBmcm9tIHRoZSBjbGllbnQgYXBwXG4vL2ltcG9ydCBJbWFnZVJlc2l6ZSBmcm9tICdxdWlsbC1pbWFnZS1yZXNpemUtbW9kdWxlJztcbi8vUXVpbGwucmVnaXN0ZXIoJ21vZHVsZXMvaW1hZ2VSZXNpemUnLCBJbWFnZVJlc2l6ZSk7XG5cbi8vIFRyZWF0aW5nIEltYWdlRHJvcCB0aGUgc2FtZSB3YXkgYXMgSW1hZ2VSZXNpemUsIGV2ZW4gdGhvdWdoIGl0IGRvZXNuJ3QgaGF2ZSB0aGUgc2FtZSBwcm9ibGVtIGRlc2NyaWJlZCBhYm92ZVxuLy9pbXBvcnQgeyBJbWFnZURyb3AgfSBmcm9tICdxdWlsbC1pbWFnZS1kcm9wLW1vZHVsZSc7XG5cbi8vI2VuZHJlZ2lvblxuXG5pbXBvcnQgeyBDb25maWcsIEVkaXRvckNvbXBvbmVudCBhcyBFZGl0b3JDb21wb25lbnRCYXNlIH0gZnJvbSAnQGNsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsJztcbmltcG9ydCB7IERpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9tb2RlbC9kaWFsb2ctZGF0YSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NwcXVpbGwtZWRpdG9yLXdpdGgtbWVudGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lZGl0b3IuY29tcG9uZW50LmNzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRWRpdG9yQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBFZGl0b3JDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIHVzZXJzOiBVc2VyW10gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIGRhdGE6IERpYWxvZ0RhdGEsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZGxnUmVmOiBNYXREaWFsb2dSZWY8RWRpdG9yQ29tcG9uZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkbGc6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgQEluamVjdChBY3RpdmVEaXJlY3RvcnlTZXJ2aWNlKSBwcml2YXRlIGFjdGl2ZURpcmVjdG9yeVNlcnZpY2U6IEFjdGl2ZURpcmVjdG9yeVNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBzdXBlcihkYXRhLCBkbGdSZWYsIGRsZyk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICBcbiAgICBpZiAoIXRoaXMudXNlcnMpIHtcbiAgICAgIHRoaXMuYWN0aXZlRGlyZWN0b3J5U2VydmljZS5nZXRVc2VycygpLnN1YnNjcmliZSh1c2VycyA9PlxuICAgICAgICB0aGlzLnVzZXJzID0gdXNlcnNcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgdG9nZ2xlRnVsbHNjcmVlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mdWxsc2NyZWVuTW9kZSA9PT0gJ2V4cGFuZCcpIHtcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuID0gIXRoaXMuZnVsbHNjcmVlbjtcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuQ2hhbmdlZC5lbWl0KHRoaXMuZnVsbHNjcmVlbik7XG4gICAgICB9XG4gICAgZWxzZSB7XG4gICAgICBpZiAodGhpcy5mdWxsc2NyZWVuKSB7XG4gICAgICAgIHRoaXMuZGxnUmVmLmNsb3NlKHRoaXMudmFsdWUpO1xuICAgICAgICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZWQuZW1pdChmYWxzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBkYXRhOiBEaWFsb2dEYXRhID0ge1xuXG4gICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgY29uZmlnOiB0aGlzLmNvbmZpZyxcbiAgICAgICAgICBwbGFjZWhvbGRlcjogdGhpcy5wbGFjZWhvbGRlcixcbiAgICAgICAgICBmb3JtYXQ6IHRoaXMuZm9ybWF0LFxuICAgICAgICAgIGhlaWdodDogdGhpcy5mdWxsc2NyZWVuSGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgbWF4SGVpZ2h0OiB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQsXG4gICAgICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICBlbmFibGVUb29sdGlwczogdGhpcy5lbmFibGVUb29sdGlwcyEsXG4gICAgICAgICAgZnVsbHNjcmVlbjogdHJ1ZSxcbiAgICAgICAgICBmdWxsc2NyZWVuTW9kZTogdGhpcy5mdWxsc2NyZWVuTW9kZSxcbiAgICAgICAgICByZWFkb25seTogdGhpcy5yZWFkb25seSEsXG4gICAgICAgICAgYXBwbHlSZWFkb25seVN0eWxlOiB0aGlzLmFwcGx5UmVhZG9ubHlTdHlsZSEsXG4gICAgICAgICAgc2hvd1Rvb2xiYXI6IHRoaXMuc2hvd1Rvb2xiYXIhLFxuICAgICAgICAgIHNob3dCb3JkZXI6IHRoaXMuc2hvd0JvcmRlciEsXG4gICAgICAgICAgdXNlcnM6IHRoaXMudXNlcnNcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmRsZy5vcGVuKEVkaXRvckNvbXBvbmVudCwge1xuICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcbiAgICAgICAgICB3aWR0aDogdGhpcy5mdWxsc2NyZWVuV2lkdGgsXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQsXG4gICAgICAgICAgZGF0YVxuICAgICAgICB9KVxuICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZWQuZW1pdCh0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBnZXQgbW9kdWxlcygpIHtcbiAgICBpZiAoIXRoaXMudXNlcnMpIHsgcmV0dXJuIHt9OyB9XG5cbiAgICBjb25zdCBtb2R1bGVzID0ge1xuICAgICAgbWVudGlvbjoge1xuICAgICAgICBhbGxvd2VkQ2hhcnM6IC9eW0EtWmEtelxcc8OFw4TDlsOlw6TDtl0qJC8sXG5cbiAgICAgICAgb25TZWxlY3Q6IChpdGVtOiBET01TdHJpbmdNYXAsIGluc2VydEl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGVkaXRvciA9IHRoaXMuZWRpdG9yIS5xdWlsbEVkaXRvclxuICAgICAgICAgIGluc2VydEl0ZW0oaXRlbSlcbiAgICAgICAgICAvLyBuZWNlc3NhcnkgYmVjYXVzZSBxdWlsbC1tZW50aW9uIHRyaWdnZXJzIGNoYW5nZXMgYXMgJ2FwaScgaW5zdGVhZCBvZiAndXNlcidcbiAgICAgICAgICBlZGl0b3IuaW5zZXJ0VGV4dChlZGl0b3IuZ2V0TGVuZ3RoKCkgLSAxLCAnJywgJ3VzZXInKVxuICAgICAgICB9LFxuXG4gICAgICAgIHNvdXJjZTogKHNlYXJjaFRlcm06IHN0cmluZywgcmVuZGVyTGlzdDogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHNlYXJjaFRlcm0ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZW5kZXJMaXN0KHRoaXMudXNlcnM/Lm1hcCh1ID0+ICh7IHZhbHVlOiBgJHt1LmRpc3BsYXlOYW1lfSAoJHt1LnNBTUFjY291bnROYW1lLnRvTG93ZXJDYXNlKCl9KWAgfSkpLCBzZWFyY2hUZXJtKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVzOiBhbnlbXSA9IFtdXG5cbiAgICAgICAgICAgIHRoaXMudXNlcnMhLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBlbnRyeS5kaXNwbGF5TmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSAhPT0gLTEgfHxcbiAgICAgICAgICAgICAgICBlbnRyeS5zQU1BY2NvdW50TmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSAhPT0gLTFcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBtYXRjaGVzLnB1c2goeyB2YWx1ZTogYCR7ZW50cnkuZGlzcGxheU5hbWV9ICgke2VudHJ5LnNBTUFjY291bnROYW1lLnRvTG93ZXJDYXNlKCl9KWAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgcmVuZGVyTGlzdChtYXRjaGVzLCBzZWFyY2hUZXJtKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoIXRoaXMuc2hvd1Rvb2xiYXIpIHtcbiAgICAgIG1vZHVsZXNbJ3Rvb2xiYXInXSA9IFtdO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmltYWdlUmVzaXplTW9kdWxlKSB7XG4gICAgICBtb2R1bGVzWydpbWFnZVJlc2l6ZSddID0ge307XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW1hZ2VEcm9wTW9kdWxlKSB7XG4gICAgICBtb2R1bGVzWydpbWFnZURyb3AnXSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3ludGF4TW9kdWxlKSB7XG4gICAgICBtb2R1bGVzWydzeW50YXgnXSA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZHVsZXM7XG4gIH1cbn0iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidXNlcnNcIj5cbiAgICA8Zm9ybT5cbiAgICAgICAgPHF1aWxsLWVkaXRvciBuYW1lPVwiZWRpdG9yXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlQ2hhbmdlcygpXCJcblxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgIFtmb3JtYXRdPVwiZm9ybWF0XCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiZnVsbHNjcmVlbiA/IGZ1bGxzY3JlZW5IZWlnaHQgOiBoZWlnaHRcIlxuICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImZ1bGxzY3JlZW4gPyBmdWxsc2NyZWVuV2lkdGggOiB3aWR0aFwiXG4gICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5ICYmIGFwcGx5UmVhZG9ubHlTdHlsZVwiXG4gICAgICAgICAgICBbY2xhc3Mubm8tdG9vbGJhcl09XCIhc2hvd1Rvb2xiYXJcIlxuICAgICAgICAgICAgW2NsYXNzLm5vLWJvcmRlcl09XCIhc2hvd0JvcmRlclwiXG4gICAgICAgICAgICBbbW9kdWxlc109XCJtb2R1bGVzXCJcbiAgICBcbiAgICAgICAgICAgIChvbkJsdXIpPVwib25CbHVyLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Db250ZW50Q2hhbmdlZCk9XCJvbkNvbnRlbnRDaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25FZGl0b3JDaGFuZ2VkKT1cIm9uRWRpdG9yQ2hhbmdlZC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgKG9uRWRpdG9yQ3JlYXRlZCk9XCJvbkVkaXRvckNyZWF0ZWQuZW1pdCgpXCJcbiAgICAgICAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvblNlbGVjdGlvbkNoYW5nZWQpPVwib25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoJGV2ZW50KVwiPlxuICAgIFxuICAgICAgICAgICAgPGRpdiBxdWlsbC1lZGl0b3ItdG9vbGJhciAqbmdJZj1cInNob3dUb29sYmFyXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0b29sYmFyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGl0b3JTaXplXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9xdWlsbC1lZGl0b3I+XG4gICAgPC9mb3JtPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjdG9vbGJhcj5cbiAgICA8ZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvbnRTdHlsZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJsb2NrU3R5bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkaW5nU3R5bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0U3R5bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzY3JpcHRTdHlsZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImluZGVudFN0eWxlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicnRsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9udFNpemVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkaW5nXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sb3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb250XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWxpZ25cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjbGVhblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bnQtY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvcm11bGFcIj48L250LWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtZWRpYVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb250U3R5bGU+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuc2hvd0ZvbnRTdHlsZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtYm9sZFwiICAgICAgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5ib2xkXCIgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5ib2xkKVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaXRhbGljXCIgICAgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5pdGFsaWNcIiAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5pdGFsaWMpXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC11bmRlcmxpbmVcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLnVuZGVybGluZVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLnVuZGVybGluZSlcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXN0cmlrZVwiICAgICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuc3RyaWtlXCIgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuc3RyaWtlKVwiPjwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYmxvY2tTdHlsZT5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5zaG93QmxvY2tTdHlsZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtYmxvY2txdW90ZVwiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuYmxvY2txdW90ZVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmJsb2NrcXVvdGUpXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1jb2RlLWJsb2NrXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5jb2RlYmxvY2tcIiAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuY29kZWJsb2NrKVwiPjwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGluZ1N0eWxlPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLnNob3dRdWlja0hlYWRpbmdTdHlsZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaGVhZGVyXCIgdmFsdWU9XCIxXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5oMVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmgxKVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaGVhZGVyXCIgdmFsdWU9XCIyXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5oMlwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmgyKVwiPjwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGlzdFN0eWxlPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLnNob3dMaXN0U3R5bGVcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWxpc3RcIiB2YWx1ZT1cIm9yZGVyZWRcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLm9yZGVyZWRcIiAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMub3JkZXJlZClcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWxpc3RcIiB2YWx1ZT1cImJ1bGxldFwiICAqbmdJZj1cImNvbmZpZy5idXR0b25zLmJ1bGxldGVkXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuYnVsbGV0ZWQpXCI+PC9idXR0b24+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzY3JpcHRTdHlsZT5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5zaG93U2NyaXB0U3R5bGVcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXNjcmlwdFwiIHZhbHVlPVwic3ViXCIgICAqbmdJZj1cImNvbmZpZy5idXR0b25zLnN1YlNjcmlwdFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLnN1YlNjcmlwdClcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXNjcmlwdFwiIHZhbHVlPVwic3VwZXJcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLnN1cGVyU2NyaXB0XCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuc3VwZXJTY3JpcHQpXCI+PC9idXR0b24+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiAgICBcbjxuZy10ZW1wbGF0ZSAjaW5kZW50U3R5bGU+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuc2hvd0luZGVudFN0eWxlXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbmRlbnRcIiB2YWx1ZT1cIi0xXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5kZWNyZWFzZUluZGVudFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmRlY3JlYXNlSW5kZW50KVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaW5kZW50XCIgdmFsdWU9XCIrMVwiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuaW5jcmVhc2VJbmRlbnRcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5pbmNyZWFzZUluZGVudClcIj48L2J1dHRvbj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3J0bD5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLnJ0bFwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtZGlyZWN0aW9uXCIgdmFsdWU9XCJydGxcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5ydGwpXCI+PC9idXR0b24+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb250U2l6ZT5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmZvbnRTaXplXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuZm9udFNpemUpXCI+XG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1zaXplXCI+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwic21hbGxcIj48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwibGFyZ2VcIj48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJodWdlXCI+PC9vcHRpb24+XG4gICAgICAgIDwvc2VsZWN0PlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGluZz5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmhlYWRpbmdTdHlsZVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmhlYWRpbmdTdHlsZSlcIj5cbiAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWhlYWRlclwiPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjFcIj48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIyXCI+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiM1wiPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjRcIj48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCI1XCI+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiNlwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD1cInNlbGVjdGVkXCI+PC9vcHRpb24+XG4gICAgICAgIDwvc2VsZWN0PlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY29sb3I+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5jb2xvclwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmNvbG9yKVwiPlxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtY29sb3JcIj48L3NlbGVjdD5cbiAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWJhY2tncm91bmRcIj48L3NlbGVjdD5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ZvbnQ+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5mb250XCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuZm9udClcIj5cbiAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWZvbnRcIj5cbiAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwic2VyaWZcIj48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJtb25vc3BhY2VcIj48L29wdGlvbj5cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNhbGlnbj5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmFsaWduXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuYWxpZ24pXCI+XG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1hbGlnblwiPlxuICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJjZW50ZXJcIj48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJyaWdodFwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImp1c3RpZnlcIj48L29wdGlvbj5cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjbGVhbj5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmNsZWFuXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuY2xlYW4pXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1jbGVhblwiPjwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbWVkaWE+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuc2hvd01lZGlhXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1saW5rXCIgICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMubGlua1wiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmxpbmspXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbWFnZVwiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuaW1hZ2VcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5pbWFnZSlcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXZpZGVvXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy52aWRlb1wiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLnZpZGVvKVwiPjwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZWRpdG9yU2l6ZT5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmVkaXRvclNpemVcIj5cbiAgICAgICAgPGJ1dHRvbiBpZD1cImZ1bGxzY3JlZW5cIlxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChmdWxsc2NyZWVuID9cbiAgICAgICAgICAgICAgICAoZnVsbHNjcmVlbk1vZGUgPT09ICdleHBhbmQnID8gY29uZmlnLnRvb2x0aXBzLm1pbmltaXplIDogY29uZmlnLnRvb2x0aXBzLnBvcGluKSA6XG4gICAgICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlID09PSAnZXhwYW5kJyA/IGNvbmZpZy50b29sdGlwcy5tYXhpbWl6ZSA6IGNvbmZpZy50b29sdGlwcy5wb3BvdXQpKVwiPlxuXG4gICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cInRvZ2dsZUZ1bGxzY3JlZW4oKVwiPlxuICAgICAgICAgICAgICAgIHt7IGZ1bGxzY3JlZW4gP1xuICAgICAgICAgICAgICAgICAgICAoZnVsbHNjcmVlbk1vZGUgPT09ICdleHBhbmQnID8gY29uZmlnLmljb25zLm1pbmltaXplIDogY29uZmlnLmljb25zLnBvcGluKSA6XG4gICAgICAgICAgICAgICAgICAgIChmdWxsc2NyZWVuTW9kZSA9PT0gJ2V4cGFuZCcgPyBjb25maWcuaWNvbnMubWF4aW1pemUgOiBjb25maWcuaWNvbnMucG9wb3V0KVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Zvcm11bGE+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5mb3JtdWxhXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuZm9ybXVsYSlcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWZvcm11bGFcIj48L2J1dHRvbj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9xdWlsbC9tZW50aW9uL3NyYy9tb2RlbC9kaWFsb2ctZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlciB9IGZyb20gJ0BjbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hY3RpdmUtZGlyZWN0b3J5JztcclxuaW1wb3J0IHsgRGlhbG9nRGF0YSBhcyBEaWFsb2dEYXRhQmFzZSB9IGZyb20gJ0BjbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9xdWlsbCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0RhdGEgZXh0ZW5kcyBEaWFsb2dEYXRhQmFzZSB7XHJcbiAgICB1c2VyczogVXNlcltdIHwgdW5kZWZpbmVkO1xyXG59Il19
@@ -0,0 +1,2 @@
1
+ export * from './quill-mention.module';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL21lbnRpb24vc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcXVpbGwtbWVudGlvbi5tb2R1bGUnOyJdfQ==
@@ -0,0 +1,63 @@
1
+ import { NgModule, Optional, SkipSelf } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { MatDialogModule } from '@angular/material/dialog';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatTooltipModule } from '@angular/material/tooltip';
8
+ import { QuillModule as NgxQuillModule } from 'ngx-quill';
9
+ import { EditorComponent } from './components/editor/editor.component';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "ngx-quill";
12
+ export class QuillMentionModule {
13
+ constructor(parentModule) {
14
+ if (parentModule) {
15
+ throw new Error('QuillMentionModule is already loaded. Import it in the AppModule only');
16
+ }
17
+ }
18
+ static forRoot() {
19
+ return {
20
+ ngModule: QuillMentionModule
21
+ };
22
+ }
23
+ }
24
+ QuillMentionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: QuillMentionModule, deps: [{ token: QuillMentionModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
25
+ QuillMentionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: QuillMentionModule, declarations: [EditorComponent], imports: [CommonModule,
26
+ FormsModule,
27
+ ReactiveFormsModule,
28
+ MatButtonModule,
29
+ MatDialogModule,
30
+ MatIconModule,
31
+ MatTooltipModule, i1.QuillModule] });
32
+ QuillMentionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: QuillMentionModule, imports: [CommonModule,
33
+ FormsModule,
34
+ ReactiveFormsModule,
35
+ MatButtonModule,
36
+ MatDialogModule,
37
+ MatIconModule,
38
+ MatTooltipModule,
39
+ NgxQuillModule.forRoot()] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: QuillMentionModule, decorators: [{
41
+ type: NgModule,
42
+ args: [{
43
+ declarations: [
44
+ EditorComponent
45
+ ],
46
+ imports: [
47
+ CommonModule,
48
+ FormsModule,
49
+ ReactiveFormsModule,
50
+ MatButtonModule,
51
+ MatDialogModule,
52
+ MatIconModule,
53
+ MatTooltipModule,
54
+ NgxQuillModule.forRoot()
55
+ ],
56
+ exports: []
57
+ }]
58
+ }], ctorParameters: function () { return [{ type: QuillMentionModule, decorators: [{
59
+ type: Optional
60
+ }, {
61
+ type: SkipSelf
62
+ }] }]; } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwtbWVudGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9xdWlsbC9tZW50aW9uL3NyYy9xdWlsbC1tZW50aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFdBQVcsSUFBSSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFzQnZFLE1BQU0sT0FBTyxrQkFBa0I7SUFPM0IsWUFBb0MsWUFBZ0M7UUFDbEUsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FDYix1RUFBdUUsQ0FBQyxDQUFDO1NBQzVFO0lBQ0gsQ0FBQztJQVhILE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7U0FDN0IsQ0FBQztJQUNKLENBQUM7OytHQUxRLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQWpCM0IsZUFBZSxhQUdmLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBRW5CLGVBQWU7UUFDZixlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQjtnSEFPUCxrQkFBa0IsWUFkM0IsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFFbkIsZUFBZTtRQUNmLGVBQWU7UUFDZixhQUFhO1FBQ2IsZ0JBQWdCO1FBRWhCLGNBQWMsQ0FBQyxPQUFPLEVBQUU7MkZBS2Ysa0JBQWtCO2tCQXBCOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBRVosZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBRW5CLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFFaEIsY0FBYyxDQUFDLE9BQU8sRUFBRTtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFLEVBQ1I7aUJBQ0Y7OzBCQVFnQixRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgUXVpbGxNb2R1bGUgYXMgTmd4UXVpbGxNb2R1bGUgfSBmcm9tICduZ3gtcXVpbGwnO1xuaW1wb3J0IHsgRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VkaXRvci9lZGl0b3IuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgXG4gICAgRWRpdG9yQ29tcG9uZW50XG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG5cclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG5cclxuICAgIE5neFF1aWxsTW9kdWxlLmZvclJvb3QoKVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFF1aWxsTWVudGlvbk1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxRdWlsbE1lbnRpb25Nb2R1bGU+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBuZ01vZHVsZTogUXVpbGxNZW50aW9uTW9kdWxlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBRdWlsbE1lbnRpb25Nb2R1bGUpIHtcclxuICAgICAgaWYgKHBhcmVudE1vZHVsZSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICdRdWlsbE1lbnRpb25Nb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuIEltcG9ydCBpdCBpbiB0aGUgQXBwTW9kdWxlIG9ubHknKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,51 @@
1
+ export class Buttons {
2
+ constructor() {
3
+ //#region Font Style
4
+ this.bold = true;
5
+ this.italic = true;
6
+ this.strike = true;
7
+ this.underline = true;
8
+ //#endregion
9
+ //#region Media
10
+ this.link = true;
11
+ this.image = true;
12
+ this.video = true;
13
+ //#endregion
14
+ //#region Block Style
15
+ this.blockquote = true;
16
+ this.codeblock = true;
17
+ //#endregion
18
+ //#region Heading Style
19
+ this.h1 = true;
20
+ this.h2 = true;
21
+ //#endregion
22
+ //#region Color
23
+ this.color = true;
24
+ //#endregion
25
+ //#region List Style
26
+ this.bulleted = true;
27
+ this.ordered = true;
28
+ //#endregion
29
+ //#region Script Style
30
+ this.subScript = true;
31
+ this.superScript = true;
32
+ //#endregion
33
+ //#region Indent Style
34
+ this.increaseIndent = true;
35
+ this.decreaseIndent = true;
36
+ //#endregion
37
+ //#region DropDowns
38
+ this.align = true;
39
+ this.font = true;
40
+ this.fontSize = true;
41
+ this.headingStyle = true;
42
+ //#endregion
43
+ //#region Single Buttons
44
+ this.clean = true;
45
+ this.formula = true;
46
+ this.rtl = true;
47
+ this.editorSize = true;
48
+ //#endregion
49
+ }
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL3NyYy9tb2RlbC9idXR0b25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxPQUFPO0lBQXBCO1FBQ0ksb0JBQW9CO1FBQ3BCLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsWUFBWTtRQUVaLGVBQWU7UUFDZixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixZQUFZO1FBRVoscUJBQXFCO1FBQ3JCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixZQUFZO1FBRVosdUJBQXVCO1FBQ3ZCLE9BQUUsR0FBRyxJQUFJLENBQUM7UUFDVixPQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ1YsWUFBWTtRQUVaLGVBQWU7UUFDZixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2IsWUFBWTtRQUVaLG9CQUFvQjtRQUNwQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixZQUFZO1FBRVosc0JBQXNCO1FBQ3RCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsWUFBWTtRQUVaLHNCQUFzQjtRQUN0QixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixZQUFZO1FBRVosbUJBQW1CO1FBQ25CLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixZQUFZO1FBRVosd0JBQXdCO1FBQ3hCLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsUUFBRyxHQUFHLElBQUksQ0FBQztRQUNYLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsWUFBWTtJQUNoQixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQnV0dG9ucyB7XHJcbiAgICAvLyNyZWdpb24gRm9udCBTdHlsZVxyXG4gICAgYm9sZCA9IHRydWU7XHJcbiAgICBpdGFsaWMgPSB0cnVlO1xyXG4gICAgc3RyaWtlID0gdHJ1ZTtcclxuICAgIHVuZGVybGluZSA9IHRydWU7XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gTWVkaWFcclxuICAgIGxpbmsgPSB0cnVlO1xyXG4gICAgaW1hZ2UgPSB0cnVlO1xyXG4gICAgdmlkZW8gPSB0cnVlO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIEJsb2NrIFN0eWxlXHJcbiAgICBibG9ja3F1b3RlID0gdHJ1ZTtcclxuICAgIGNvZGVibG9jayA9IHRydWU7XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gSGVhZGluZyBTdHlsZVxyXG4gICAgaDEgPSB0cnVlO1xyXG4gICAgaDIgPSB0cnVlO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIENvbG9yXHJcbiAgICBjb2xvciA9IHRydWU7XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gTGlzdCBTdHlsZVxyXG4gICAgYnVsbGV0ZWQgPSB0cnVlO1xyXG4gICAgb3JkZXJlZCA9IHRydWU7XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gU2NyaXB0IFN0eWxlXHJcbiAgICBzdWJTY3JpcHQgPSB0cnVlO1xyXG4gICAgc3VwZXJTY3JpcHQgPSB0cnVlO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIEluZGVudCBTdHlsZVxyXG4gICAgaW5jcmVhc2VJbmRlbnQgPSB0cnVlO1xyXG4gICAgZGVjcmVhc2VJbmRlbnQgPSB0cnVlO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIERyb3BEb3duc1xyXG4gICAgYWxpZ24gPSB0cnVlO1xyXG4gICAgZm9udCA9IHRydWU7XHJcbiAgICBmb250U2l6ZSA9IHRydWU7XHJcbiAgICBoZWFkaW5nU3R5bGUgPSB0cnVlO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIFNpbmdsZSBCdXR0b25zXHJcbiAgICBjbGVhbiA9IHRydWU7XHJcbiAgICBmb3JtdWxhID0gdHJ1ZTtcclxuICAgIHJ0bCA9IHRydWU7XHJcbiAgICBlZGl0b3JTaXplID0gdHJ1ZTtcclxuICAgIC8vI2VuZHJlZ2lvblxyXG59Il19
@@ -0,0 +1,40 @@
1
+ import { Buttons } from "./buttons";
2
+ import { Icons } from "./icons";
3
+ import { Tooltips } from "./tooltips";
4
+ export class Config {
5
+ constructor() {
6
+ this.buttons = new Buttons();
7
+ this.tooltips = new Tooltips();
8
+ this.icons = new Icons();
9
+ //#region These can be overriden via @Input()
10
+ this.format = 'html';
11
+ this.height = '50vh';
12
+ this.width = '100%';
13
+ this.fullscreenHeight = '85vh';
14
+ this.fullscreenWidth = '100%';
15
+ this.enableTooltips = true;
16
+ this.fullscreen = false;
17
+ this.fullscreenMode = 'popout';
18
+ this.readonly = false;
19
+ this.applyReadonlyStyle = true;
20
+ this.showToolbar = true;
21
+ this.showBorder = true;
22
+ //#region Optional Quill modules
23
+ this.imageResizeModule = true;
24
+ this.imageDropModule = true;
25
+ //mentionModule = true;
26
+ this.syntaxModule = true;
27
+ //#endregion
28
+ //#endregion
29
+ //#region Groups
30
+ this.showBlockStyle = () => this.buttons.blockquote || this.buttons.codeblock;
31
+ this.showFontStyle = () => this.buttons.bold || this.buttons.italic || this.buttons.strike || this.buttons.underline;
32
+ this.showQuickHeadingStyle = () => this.buttons.h1 || this.buttons.h2;
33
+ this.showIndentStyle = () => this.buttons.decreaseIndent || this.buttons.increaseIndent;
34
+ this.showListStyle = () => this.buttons.bulleted || this.buttons.ordered;
35
+ this.showMedia = () => this.buttons.link || this.buttons.image || this.buttons.video;
36
+ this.showScriptStyle = () => this.buttons.subScript || this.buttons.superScript;
37
+ //#endregion
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvcXVpbGwvc3JjL21vZGVsL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0QyxNQUFNLE9BQU8sTUFBTTtJQUFuQjtRQUNJLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFCLFVBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRXBCLDZDQUE2QztRQUM3QyxXQUFNLEdBQXdDLE1BQU0sQ0FBQztRQUNyRCxXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLFVBQUssR0FBRyxNQUFNLENBQUM7UUFDZixxQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDMUIsb0JBQWUsR0FBRyxNQUFNLENBQUM7UUFDekIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixtQkFBYyxHQUF3QixRQUFRLENBQUM7UUFDL0MsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVsQixnQ0FBZ0M7UUFDaEMsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLHVCQUF1QjtRQUN2QixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixZQUFZO1FBRVosWUFBWTtRQUVaLGdCQUFnQjtRQUNoQixtQkFBYyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3pFLGtCQUFhLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDaEgsMEJBQXFCLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDakUsb0JBQWUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUNuRixrQkFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3BFLGNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNoRixvQkFBZSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzNFLFlBQVk7SUFDaEIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9ucyB9IGZyb20gXCIuL2J1dHRvbnNcIjtcclxuaW1wb3J0IHsgSWNvbnMgfSBmcm9tIFwiLi9pY29uc1wiO1xyXG5pbXBvcnQgeyBUb29sdGlwcyB9IGZyb20gXCIuL3Rvb2x0aXBzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQ29uZmlnIHtcclxuICAgIGJ1dHRvbnMgPSBuZXcgQnV0dG9ucygpO1xyXG4gICAgdG9vbHRpcHMgPSBuZXcgVG9vbHRpcHMoKTtcclxuICAgIGljb25zID0gbmV3IEljb25zKCk7XHJcblxyXG4gICAgLy8jcmVnaW9uIFRoZXNlIGNhbiBiZSBvdmVycmlkZW4gdmlhIEBJbnB1dCgpXHJcbiAgICBmb3JtYXQ6ICdvYmplY3QnIHwgJ2h0bWwnIHwgJ3RleHQnIHwgJ2pzb24nID0gJ2h0bWwnO1xyXG4gICAgaGVpZ2h0ID0gJzUwdmgnO1xyXG4gICAgd2lkdGggPSAnMTAwJSc7XHJcbiAgICBmdWxsc2NyZWVuSGVpZ2h0ID0gJzg1dmgnO1xyXG4gICAgZnVsbHNjcmVlbldpZHRoID0gJzEwMCUnO1xyXG4gICAgZW5hYmxlVG9vbHRpcHMgPSB0cnVlO1xyXG4gICAgZnVsbHNjcmVlbiA9IGZhbHNlO1xyXG4gICAgZnVsbHNjcmVlbk1vZGU6ICdleHBhbmQnIHwgJ3BvcG91dCcgPSAncG9wb3V0JztcclxuICAgIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICBhcHBseVJlYWRvbmx5U3R5bGUgPSB0cnVlO1xyXG4gICAgc2hvd1Rvb2xiYXIgPSB0cnVlO1xyXG4gICAgc2hvd0JvcmRlciA9IHRydWU7XHJcblxyXG4gICAgLy8jcmVnaW9uIE9wdGlvbmFsIFF1aWxsIG1vZHVsZXNcclxuICAgIGltYWdlUmVzaXplTW9kdWxlID0gdHJ1ZTtcclxuICAgIGltYWdlRHJvcE1vZHVsZSA9IHRydWU7XHJcbiAgICAvL21lbnRpb25Nb2R1bGUgPSB0cnVlO1xyXG4gICAgc3ludGF4TW9kdWxlID0gdHJ1ZTtcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBHcm91cHNcclxuICAgIHNob3dCbG9ja1N0eWxlID0gKCkgPT4gdGhpcy5idXR0b25zLmJsb2NrcXVvdGUgfHwgdGhpcy5idXR0b25zLmNvZGVibG9jaztcclxuICAgIHNob3dGb250U3R5bGUgPSAoKSA9PiB0aGlzLmJ1dHRvbnMuYm9sZCB8fCB0aGlzLmJ1dHRvbnMuaXRhbGljIHx8IHRoaXMuYnV0dG9ucy5zdHJpa2UgfHwgdGhpcy5idXR0b25zLnVuZGVybGluZTtcclxuICAgIHNob3dRdWlja0hlYWRpbmdTdHlsZSA9ICgpID0+IHRoaXMuYnV0dG9ucy5oMSB8fCB0aGlzLmJ1dHRvbnMuaDI7XHJcbiAgICBzaG93SW5kZW50U3R5bGUgPSAoKSA9PiB0aGlzLmJ1dHRvbnMuZGVjcmVhc2VJbmRlbnQgfHwgdGhpcy5idXR0b25zLmluY3JlYXNlSW5kZW50O1xyXG4gICAgc2hvd0xpc3RTdHlsZSA9ICgpID0+IHRoaXMuYnV0dG9ucy5idWxsZXRlZCB8fCB0aGlzLmJ1dHRvbnMub3JkZXJlZDtcclxuICAgIHNob3dNZWRpYSA9ICgpID0+IHRoaXMuYnV0dG9ucy5saW5rIHx8IHRoaXMuYnV0dG9ucy5pbWFnZSB8fCB0aGlzLmJ1dHRvbnMudmlkZW87XHJcbiAgICBzaG93U2NyaXB0U3R5bGUgPSAoKSA9PiB0aGlzLmJ1dHRvbnMuc3ViU2NyaXB0IHx8IHRoaXMuYnV0dG9ucy5zdXBlclNjcmlwdDtcclxuICAgIC8vI2VuZHJlZ2lvblxyXG59Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9xdWlsbC9zcmMvbW9kZWwvZGlhbG9nLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vaW1wb3J0IHsgVXNlciB9IGZyb20gXCJAY2xlYXZlbGFuZHByaWNlL25neC1saWIvYWN0aXZlLWRpcmVjdG9yeVwiO1xyXG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0RhdGEge1xyXG4gICAgdmFsdWU6IGFueTtcclxuXHJcbiAgICBjb25maWc6IENvbmZpZztcclxuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICBmb3JtYXQ6ICdvYmplY3QnIHwgJ2h0bWwnIHwgJ3RleHQnIHwgJ2pzb24nO1xyXG4gICAgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgICB3aWR0aDogc3RyaW5nO1xyXG4gICAgbWF4SGVpZ2h0OiBzdHJpbmc7XHJcbiAgICBtYXhXaWR0aDogc3RyaW5nO1xyXG4gICAgZW5hYmxlVG9vbHRpcHM6IGJvb2xlYW47XHJcbiAgICBmdWxsc2NyZWVuOiBib29sZWFuO1xyXG4gICAgZnVsbHNjcmVlbk1vZGU6ICdleHBhbmQnIHwgJ3BvcG91dCc7XHJcbiAgICByZWFkb25seTogYm9vbGVhbjtcclxuICAgIGFwcGx5UmVhZG9ubHlTdHlsZTogYm9vbGVhbjtcclxuICAgIC8vdXNlcnM6IFVzZXJbXSB8IHVuZGVmaW5lZDtcclxuICAgIHNob3dUb29sYmFyOiBib29sZWFuO1xyXG4gICAgc2hvd0JvcmRlcjogYm9vbGVhbjtcclxufSJdfQ==
@@ -0,0 +1,9 @@
1
+ export class Icons {
2
+ constructor() {
3
+ this.maximize = 'open_in_full';
4
+ this.minimize = 'close_fullscreen';
5
+ this.popout = 'open_in_full';
6
+ this.popin = 'done';
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9xdWlsbC9zcmMvbW9kZWwvaWNvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLEtBQUs7SUFBbEI7UUFDSSxhQUFRLEdBQUcsY0FBYyxDQUFDO1FBQzFCLGFBQVEsR0FBRyxrQkFBa0IsQ0FBQztRQUM5QixXQUFNLEdBQUcsY0FBYyxDQUFDO1FBQ3hCLFVBQUssR0FBRyxNQUFNLENBQUM7SUFDbkIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEljb25zIHtcclxuICAgIG1heGltaXplID0gJ29wZW5faW5fZnVsbCc7XHJcbiAgICBtaW5pbWl6ZSA9ICdjbG9zZV9mdWxsc2NyZWVuJztcclxuICAgIHBvcG91dCA9ICdvcGVuX2luX2Z1bGwnO1xyXG4gICAgcG9waW4gPSAnZG9uZSc7XHJcbn0iXX0=
@@ -0,0 +1,54 @@
1
+ export class Tooltips {
2
+ constructor() {
3
+ //#region Font Style
4
+ this.bold = 'Bold';
5
+ this.italic = 'Italic';
6
+ this.strike = 'Strikethrough';
7
+ this.underline = 'Underline';
8
+ //#endregion
9
+ //#region Media
10
+ this.link = 'Link';
11
+ this.image = 'Insert Image';
12
+ this.video = 'Insert Video';
13
+ //#endregion
14
+ //#region Block Style
15
+ this.blockquote = 'Blockquote';
16
+ this.codeblock = 'Code Block';
17
+ //#endregion
18
+ //#region Heading Style
19
+ this.h1 = 'Heading 1';
20
+ this.h2 = 'Heading 2';
21
+ //#endregion
22
+ //#region Color
23
+ this.color = 'Font / Background Color';
24
+ //#endregion
25
+ //#region List Style
26
+ this.bulleted = 'Bulleted List';
27
+ this.ordered = 'Ordered List';
28
+ //#endregion
29
+ //#region Script Style
30
+ this.subScript = 'Subscript';
31
+ this.superScript = 'Superscript';
32
+ //#endregion
33
+ //#region Indent Style
34
+ this.increaseIndent = 'Increase Indent';
35
+ this.decreaseIndent = 'Decrease Indent';
36
+ //#endregion
37
+ //#region DropDowns
38
+ this.align = 'Align';
39
+ this.font = 'Font';
40
+ this.fontSize = 'Font Size';
41
+ this.headingStyle = 'Heading';
42
+ //#endregion
43
+ //#region Single Buttons
44
+ this.clean = 'Clean';
45
+ this.formula = 'Formula';
46
+ this.rtl = 'Right-To-Left';
47
+ this.maximize = 'Maximize';
48
+ this.minimize = 'Minimize';
49
+ this.popout = 'Popout';
50
+ this.popin = 'Done';
51
+ //#endregion
52
+ }
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9xdWlsbC9zcmMvbW9kZWwvdG9vbHRpcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFBckI7UUFDSSxvQkFBb0I7UUFDcEIsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUNkLFdBQU0sR0FBRyxRQUFRLENBQUM7UUFDbEIsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQUN6QixjQUFTLEdBQUcsV0FBVyxDQUFDO1FBQ3hCLFlBQVk7UUFFWixlQUFlO1FBQ2YsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUNkLFVBQUssR0FBRyxjQUFjLENBQUM7UUFDdkIsVUFBSyxHQUFHLGNBQWMsQ0FBQztRQUN2QixZQUFZO1FBRVoscUJBQXFCO1FBQ3JCLGVBQVUsR0FBRyxZQUFZLENBQUM7UUFDMUIsY0FBUyxHQUFHLFlBQVksQ0FBQztRQUN6QixZQUFZO1FBRVosdUJBQXVCO1FBQ3ZCLE9BQUUsR0FBRyxXQUFXLENBQUM7UUFDakIsT0FBRSxHQUFHLFdBQVcsQ0FBQztRQUNqQixZQUFZO1FBRVosZUFBZTtRQUNmLFVBQUssR0FBRyx5QkFBeUIsQ0FBQztRQUNsQyxZQUFZO1FBRVosb0JBQW9CO1FBQ3BCLGFBQVEsR0FBRyxlQUFlLENBQUM7UUFDM0IsWUFBTyxHQUFHLGNBQWMsQ0FBQztRQUN6QixZQUFZO1FBRVosc0JBQXNCO1FBQ3RCLGNBQVMsR0FBRyxXQUFXLENBQUM7UUFDeEIsZ0JBQVcsR0FBRyxhQUFhLENBQUM7UUFDNUIsWUFBWTtRQUVaLHNCQUFzQjtRQUN0QixtQkFBYyxHQUFHLGlCQUFpQixDQUFDO1FBQ25DLG1CQUFjLEdBQUcsaUJBQWlCLENBQUM7UUFDbkMsWUFBWTtRQUVaLG1CQUFtQjtRQUNuQixVQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ2hCLFNBQUksR0FBRyxNQUFNLENBQUM7UUFDZCxhQUFRLEdBQUcsV0FBVyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLFlBQVk7UUFFWix3QkFBd0I7UUFDeEIsVUFBSyxHQUFHLE9BQU8sQ0FBQztRQUNoQixZQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3BCLFFBQUcsR0FBRyxlQUFlLENBQUM7UUFDdEIsYUFBUSxHQUFHLFVBQVUsQ0FBQztRQUN0QixhQUFRLEdBQUcsVUFBVSxDQUFDO1FBQ3RCLFdBQU0sR0FBRyxRQUFRLENBQUM7UUFDbEIsVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUNmLFlBQVk7SUFDaEIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRvb2x0aXBzIHtcclxuICAgIC8vI3JlZ2lvbiBGb250IFN0eWxlXHJcbiAgICBib2xkID0gJ0JvbGQnO1xyXG4gICAgaXRhbGljID0gJ0l0YWxpYyc7XHJcbiAgICBzdHJpa2UgPSAnU3RyaWtldGhyb3VnaCc7XHJcbiAgICB1bmRlcmxpbmUgPSAnVW5kZXJsaW5lJztcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBNZWRpYVxyXG4gICAgbGluayA9ICdMaW5rJztcclxuICAgIGltYWdlID0gJ0luc2VydCBJbWFnZSc7XHJcbiAgICB2aWRlbyA9ICdJbnNlcnQgVmlkZW8nO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIEJsb2NrIFN0eWxlXHJcbiAgICBibG9ja3F1b3RlID0gJ0Jsb2NrcXVvdGUnO1xyXG4gICAgY29kZWJsb2NrID0gJ0NvZGUgQmxvY2snO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIEhlYWRpbmcgU3R5bGVcclxuICAgIGgxID0gJ0hlYWRpbmcgMSc7XHJcbiAgICBoMiA9ICdIZWFkaW5nIDInO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIENvbG9yXHJcbiAgICBjb2xvciA9ICdGb250IC8gQmFja2dyb3VuZCBDb2xvcic7XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gTGlzdCBTdHlsZVxyXG4gICAgYnVsbGV0ZWQgPSAnQnVsbGV0ZWQgTGlzdCc7XHJcbiAgICBvcmRlcmVkID0gJ09yZGVyZWQgTGlzdCc7XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gU2NyaXB0IFN0eWxlXHJcbiAgICBzdWJTY3JpcHQgPSAnU3Vic2NyaXB0JztcclxuICAgIHN1cGVyU2NyaXB0ID0gJ1N1cGVyc2NyaXB0JztcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBJbmRlbnQgU3R5bGVcclxuICAgIGluY3JlYXNlSW5kZW50ID0gJ0luY3JlYXNlIEluZGVudCc7XHJcbiAgICBkZWNyZWFzZUluZGVudCA9ICdEZWNyZWFzZSBJbmRlbnQnO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIERyb3BEb3duc1xyXG4gICAgYWxpZ24gPSAnQWxpZ24nO1xyXG4gICAgZm9udCA9ICdGb250JztcclxuICAgIGZvbnRTaXplID0gJ0ZvbnQgU2l6ZSc7XHJcbiAgICBoZWFkaW5nU3R5bGUgPSAnSGVhZGluZyc7XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gU2luZ2xlIEJ1dHRvbnNcclxuICAgIGNsZWFuID0gJ0NsZWFuJztcclxuICAgIGZvcm11bGEgPSAnRm9ybXVsYSc7XHJcbiAgICBydGwgPSAnUmlnaHQtVG8tTGVmdCc7XHJcbiAgICBtYXhpbWl6ZSA9ICdNYXhpbWl6ZSc7XHJcbiAgICBtaW5pbWl6ZSA9ICdNaW5pbWl6ZSc7XHJcbiAgICBwb3BvdXQgPSAnUG9wb3V0JztcclxuICAgIHBvcGluID0gJ0RvbmUnO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcbn0iXX0=
@@ -0,0 +1,8 @@
1
+ export * from './model/buttons';
2
+ export * from './model/dialog-data';
3
+ export * from './model/icons';
4
+ export * from './model/tooltips';
5
+ export * from './model/config';
6
+ export * from './components/editor/editor.component';
7
+ export * from './quill.module';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9idXR0b25zJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9kaWFsb2ctZGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvaWNvbnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVsL3Rvb2x0aXBzJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvY29uZmlnJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3F1aWxsLm1vZHVsZSc7Il19
@@ -0,0 +1,65 @@
1
+ import { NgModule, Optional, SkipSelf } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { MatDialogModule } from '@angular/material/dialog';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatTooltipModule } from '@angular/material/tooltip';
8
+ import { QuillModule as NgxQuillModule } from 'ngx-quill';
9
+ import { EditorComponent } from './components/editor/editor.component';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "ngx-quill";
12
+ export class QuillModule {
13
+ constructor(parentModule) {
14
+ if (parentModule) {
15
+ throw new Error('QuillModule is already loaded. Import it in the AppModule only');
16
+ }
17
+ }
18
+ static forRoot() {
19
+ return {
20
+ ngModule: QuillModule
21
+ };
22
+ }
23
+ }
24
+ QuillModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: QuillModule, deps: [{ token: QuillModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
25
+ QuillModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: QuillModule, declarations: [EditorComponent], imports: [CommonModule,
26
+ FormsModule,
27
+ ReactiveFormsModule,
28
+ MatButtonModule,
29
+ MatDialogModule,
30
+ MatIconModule,
31
+ MatTooltipModule, i1.QuillModule], exports: [EditorComponent] });
32
+ QuillModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: QuillModule, imports: [CommonModule,
33
+ FormsModule,
34
+ ReactiveFormsModule,
35
+ MatButtonModule,
36
+ MatDialogModule,
37
+ MatIconModule,
38
+ MatTooltipModule,
39
+ NgxQuillModule.forRoot()] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: QuillModule, decorators: [{
41
+ type: NgModule,
42
+ args: [{
43
+ declarations: [
44
+ EditorComponent
45
+ ],
46
+ imports: [
47
+ CommonModule,
48
+ FormsModule,
49
+ ReactiveFormsModule,
50
+ MatButtonModule,
51
+ MatDialogModule,
52
+ MatIconModule,
53
+ MatTooltipModule,
54
+ NgxQuillModule.forRoot()
55
+ ],
56
+ exports: [
57
+ EditorComponent
58
+ ]
59
+ }]
60
+ }], ctorParameters: function () { return [{ type: QuillModule, decorators: [{
61
+ type: Optional
62
+ }, {
63
+ type: SkipSelf
64
+ }] }]; } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvcXVpbGwvc3JjL3F1aWxsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFdBQVcsSUFBSSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFzQnZFLE1BQU0sT0FBTyxXQUFXO0lBT3BCLFlBQW9DLFlBQXlCO1FBQzNELElBQUksWUFBWSxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0VBQWdFLENBQUMsQ0FBQztTQUNyRTtJQUNILENBQUM7SUFYSCxNQUFNLENBQUMsT0FBTztRQUNWLE9BQU87WUFDTCxRQUFRLEVBQUUsV0FBVztTQUN0QixDQUFDO0lBQ0osQ0FBQzs7d0dBTFEsV0FBVzt5R0FBWCxXQUFXLGlCQWxCcEIsZUFBZSxhQUdmLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBRW5CLGVBQWU7UUFDZixlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQiw2QkFLaEIsZUFBZTt5R0FHTixXQUFXLFlBZnBCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBRW5CLGVBQWU7UUFDZixlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQjtRQUVoQixjQUFjLENBQUMsT0FBTyxFQUFFOzJGQU1mLFdBQVc7a0JBcEJ2QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFFbkIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUVoQixjQUFjLENBQUMsT0FBTyxFQUFFO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTtxQkFDaEI7aUJBQ0Y7OzBCQVFnQixRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgUXVpbGxNb2R1bGUgYXMgTmd4UXVpbGxNb2R1bGUgfSBmcm9tICduZ3gtcXVpbGwnO1xyXG5cclxuaW1wb3J0IHsgRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VkaXRvci9lZGl0b3IuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBFZGl0b3JDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuXHJcbiAgICBOZ3hRdWlsbE1vZHVsZS5mb3JSb290KClcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEVkaXRvckNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFF1aWxsTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFF1aWxsTW9kdWxlPiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgbmdNb2R1bGU6IFF1aWxsTW9kdWxlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBRdWlsbE1vZHVsZSkge1xyXG4gICAgICBpZiAocGFyZW50TW9kdWxlKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgJ1F1aWxsTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5Jyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufSJdfQ==