@cleavelandprice/ngx-lib 4.0.9 → 4.1.1

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 (40) hide show
  1. package/esm2022/active-directory/material/components/user-chooser/user-chooser.component.mjs +6 -6
  2. package/esm2022/active-directory/material/model/user-chooser-data.mjs +1 -1
  3. package/esm2022/quill/components/editor/editor.component.mjs +38 -27
  4. package/esm2022/quill/mention/components/editor/editor.component.mjs +3 -3
  5. package/esm2022/quill/mention/quill-mention.api.mjs +4 -3
  6. package/esm2022/quill/model/buttons.mjs +3 -52
  7. package/esm2022/quill/model/config.mjs +3 -40
  8. package/esm2022/quill/model/default-buttons.mjs +50 -0
  9. package/esm2022/quill/model/default-config.mjs +28 -0
  10. package/esm2022/quill/model/default-icons.mjs +7 -0
  11. package/esm2022/quill/model/default-tooltips.mjs +53 -0
  12. package/esm2022/quill/model/icons.mjs +3 -9
  13. package/esm2022/quill/model/tooltips.mjs +3 -55
  14. package/esm2022/quill/quill.api.mjs +5 -1
  15. package/fesm2022/cleavelandprice-ngx-lib-active-directory-material.mjs +5 -5
  16. package/fesm2022/cleavelandprice-ngx-lib-active-directory-material.mjs.map +1 -1
  17. package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs +11 -16
  18. package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs.map +1 -1
  19. package/fesm2022/cleavelandprice-ngx-lib-quill.mjs +173 -164
  20. package/fesm2022/cleavelandprice-ngx-lib-quill.mjs.map +1 -1
  21. package/package.json +18 -18
  22. package/quill/components/editor/editor.component.d.ts +8 -1
  23. package/quill/mention/quill-mention.api.d.ts +1 -5
  24. package/quill/model/buttons.d.ts +28 -28
  25. package/quill/model/config.d.ts +19 -26
  26. package/quill/model/default-buttons.d.ts +2 -0
  27. package/quill/model/default-config.d.ts +2 -0
  28. package/quill/model/default-icons.d.ts +2 -0
  29. package/quill/model/default-tooltips.d.ts +2 -0
  30. package/quill/model/icons.d.ts +5 -5
  31. package/quill/model/tooltips.d.ts +31 -31
  32. package/quill/quill.api.d.ts +4 -0
  33. package/esm2022/quill/mention/model/buttons.mjs +0 -4
  34. package/esm2022/quill/mention/model/config.mjs +0 -4
  35. package/esm2022/quill/mention/model/icons.mjs +0 -4
  36. package/esm2022/quill/mention/model/tooltips.mjs +0 -4
  37. package/quill/mention/model/buttons.d.ts +0 -3
  38. package/quill/mention/model/config.d.ts +0 -3
  39. package/quill/mention/model/icons.d.ts +0 -3
  40. package/quill/mention/model/tooltips.d.ts +0 -3
@@ -1,168 +1,158 @@
1
+ import { NgTemplateOutlet, CommonModule } from '@angular/common';
1
2
  import * as i0 from '@angular/core';
2
3
  import { inject, Component, viewChild, model, output, forwardRef, NgModule, Optional, SkipSelf } from '@angular/core';
3
4
  import * as i1 from '@angular/forms';
4
5
  import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
5
6
  import { MAT_DIALOG_DATA, MatDialogActions, MatDialogClose, MatDialogContent, MatDialogRef, MatDialog, MatDialogModule } from '@angular/material/dialog';
6
- import { QuillEditorComponent, QuillModule as QuillModule$1 } from 'ngx-quill';
7
- import { NgTemplateOutlet, CommonModule } from '@angular/common';
8
7
  import { MatIcon, MatIconModule } from '@angular/material/icon';
9
8
  import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
9
+ import { QuillEditorComponent, QuillModule as QuillModule$1 } from 'ngx-quill';
10
10
  import { MatButton, MatButtonModule } from '@angular/material/button';
11
11
  import { MatFormField, MatFormFieldModule } from '@angular/material/form-field';
12
12
  import { MatInput, MatInputModule } from '@angular/material/input';
13
13
 
14
- class Buttons {
15
- constructor() {
16
- //#region Font Style
17
- this.bold = true;
18
- this.italic = true;
19
- this.strike = true;
20
- this.underline = true;
21
- //#endregion
22
- //#region Media
23
- this.link = true;
24
- this.image = true;
25
- this.video = true;
26
- //#endregion
27
- //#region Block Style
28
- this.blockquote = true;
29
- this.codeblock = true;
30
- //#endregion
31
- //#region Heading Style
32
- this.h1 = true;
33
- this.h2 = true;
34
- //#endregion
35
- //#region Color
36
- this.color = true;
37
- //#endregion
38
- //#region List Style
39
- this.bulleted = true;
40
- this.ordered = true;
41
- //#endregion
42
- //#region Script Style
43
- this.subScript = true;
44
- this.superScript = true;
45
- //#endregion
46
- //#region Indent Style
47
- this.increaseIndent = true;
48
- this.decreaseIndent = true;
49
- //#endregion
50
- //#region DropDowns
51
- this.align = true;
52
- this.font = true;
53
- this.fontSize = true;
54
- this.headingStyle = true;
55
- //#endregion
56
- //#region Single Buttons
57
- this.clean = true;
58
- this.formula = true;
59
- this.rtl = true;
60
- this.editorSize = true;
61
- this.rawEditor = false;
62
- //#endregion
63
- }
64
- }
14
+ ;
65
15
 
66
- class Icons {
67
- constructor() {
68
- this.maximize = 'open_in_full';
69
- this.minimize = 'close_fullscreen';
70
- this.popout = 'open_in_full';
71
- this.popin = 'done';
72
- }
73
- }
16
+ const DefaultButtons = {
17
+ //#region Font Style
18
+ bold: true,
19
+ italic: true,
20
+ strike: true,
21
+ underline: true,
22
+ //#endregion
23
+ //#region Media
24
+ link: true,
25
+ image: true,
26
+ video: true,
27
+ //#endregion
28
+ //#region Block Style
29
+ blockquote: true,
30
+ codeblock: true,
31
+ //#endregion
32
+ //#region Heading Style
33
+ h1: true,
34
+ h2: true,
35
+ //#endregion
36
+ //#region Color
37
+ color: true,
38
+ //#endregion
39
+ //#region List Style
40
+ bulleted: true,
41
+ ordered: true,
42
+ //#endregion
43
+ //#region Script Style
44
+ subScript: true,
45
+ superScript: true,
46
+ //#endregion
47
+ //#region Indent Style
48
+ increaseIndent: true,
49
+ decreaseIndent: true,
50
+ //#endregion
51
+ //#region DropDowns
52
+ align: true,
53
+ font: true,
54
+ fontSize: true,
55
+ headingStyle: true,
56
+ //#endregion
57
+ //#region Single Buttons
58
+ clean: true,
59
+ formula: true,
60
+ rtl: true,
61
+ editorSize: true,
62
+ rawEditor: false,
63
+ //#endregion
64
+ };
74
65
 
75
- class Tooltips {
76
- constructor() {
77
- //#region Font Style
78
- this.bold = 'Bold';
79
- this.italic = 'Italic';
80
- this.strike = 'Strikethrough';
81
- this.underline = 'Underline';
82
- //#endregion
83
- //#region Media
84
- this.link = 'Link';
85
- this.image = 'Insert Image';
86
- this.video = 'Insert Video';
87
- //#endregion
88
- //#region Block Style
89
- this.blockquote = 'Blockquote';
90
- this.codeblock = 'Code Block';
91
- //#endregion
92
- //#region Heading Style
93
- this.h1 = 'Heading 1';
94
- this.h2 = 'Heading 2';
95
- //#endregion
96
- //#region Color
97
- this.color = 'Font / Background Color';
98
- //#endregion
99
- //#region List Style
100
- this.bulleted = 'Bulleted List';
101
- this.ordered = 'Ordered List';
102
- //#endregion
103
- //#region Script Style
104
- this.subScript = 'Subscript';
105
- this.superScript = 'Superscript';
106
- //#endregion
107
- //#region Indent Style
108
- this.increaseIndent = 'Increase Indent';
109
- this.decreaseIndent = 'Decrease Indent';
110
- //#endregion
111
- //#region DropDowns
112
- this.align = 'Align';
113
- this.font = 'Font';
114
- this.fontSize = 'Font Size';
115
- this.headingStyle = 'Heading';
116
- //#endregion
117
- //#region Single Buttons
118
- this.clean = 'Clean';
119
- this.formula = 'Formula';
120
- this.rtl = 'Right-To-Left';
121
- this.maximize = 'Maximize';
122
- this.minimize = 'Minimize';
123
- this.popout = 'Popout';
124
- this.popin = 'Done';
125
- this.rawEditor = 'Edit raw HTML (dangerous!)';
126
- //#endregion
127
- }
128
- }
66
+ const DefaultIcons = {
67
+ maximize: 'open_in_full',
68
+ minimize: 'close_fullscreen',
69
+ popout: 'open_in_full',
70
+ popin: 'done'
71
+ };
129
72
 
130
- class Config {
131
- constructor() {
132
- this.buttons = new Buttons();
133
- this.tooltips = new Tooltips();
134
- this.icons = new Icons();
135
- //#region These can be overriden via @Input()
136
- this.format = 'html';
137
- this.height = '50vh';
138
- this.width = '100%';
139
- this.fullscreenHeight = '85vh';
140
- this.fullscreenWidth = '100%';
141
- this.enableTooltips = true;
142
- this.fullscreen = false;
143
- this.fullscreenMode = 'popout';
144
- this.readonly = false;
145
- this.applyReadonlyStyle = true;
146
- this.showToolbar = true;
147
- this.showBorder = true;
148
- //#region Optional Quill modules
149
- this.imageResizeModule = true;
150
- this.imageDropModule = true;
151
- //mentionModule = true;
152
- this.syntaxModule = true;
153
- //#endregion
154
- //#endregion
155
- //#region Groups
156
- this.showBlockStyle = () => this.buttons.blockquote || this.buttons.codeblock;
157
- this.showFontStyle = () => this.buttons.bold || this.buttons.italic || this.buttons.strike || this.buttons.underline;
158
- this.showQuickHeadingStyle = () => this.buttons.h1 || this.buttons.h2;
159
- this.showIndentStyle = () => this.buttons.decreaseIndent || this.buttons.increaseIndent;
160
- this.showListStyle = () => this.buttons.bulleted || this.buttons.ordered;
161
- this.showMedia = () => this.buttons.link || this.buttons.image || this.buttons.video;
162
- this.showScriptStyle = () => this.buttons.subScript || this.buttons.superScript;
163
- //#endregion
164
- }
165
- }
73
+ const DefaultTooltips = {
74
+ //#region Font Style
75
+ bold: 'Bold',
76
+ italic: 'Italic',
77
+ strike: 'Strikethrough',
78
+ underline: 'Underline',
79
+ //#endregion
80
+ //#region Media
81
+ link: 'Link',
82
+ image: 'Insert Image',
83
+ video: 'Insert Video',
84
+ //#endregion
85
+ //#region Block Style
86
+ blockquote: 'Blockquote',
87
+ codeblock: 'Code Block',
88
+ //#endregion
89
+ //#region Heading Style
90
+ h1: 'Heading 1',
91
+ h2: 'Heading 2',
92
+ //#endregion
93
+ //#region Color
94
+ color: 'Font / Background Color',
95
+ //#endregion
96
+ //#region List Style
97
+ bulleted: 'Bulleted List',
98
+ ordered: 'Ordered List',
99
+ //#endregion
100
+ //#region Script Style
101
+ subScript: 'Subscript',
102
+ superScript: 'Superscript',
103
+ //#endregion
104
+ //#region Indent Style
105
+ increaseIndent: 'Increase Indent',
106
+ decreaseIndent: 'Decrease Indent',
107
+ //#endregion
108
+ //#region DropDowns
109
+ align: 'Align',
110
+ font: 'Font',
111
+ fontSize: 'Font Size',
112
+ headingStyle: 'Heading',
113
+ //#endregion
114
+ //#region Single Buttons
115
+ clean: 'Clean',
116
+ formula: 'Formula',
117
+ rtl: 'Right-To-Left',
118
+ maximize: 'Maximize',
119
+ minimize: 'Minimize',
120
+ popout: 'Popout',
121
+ popin: 'Done',
122
+ rawEditor: 'Edit raw HTML (dangerous!)'
123
+ //#endregion
124
+ };
125
+
126
+ const DefaultConfig = {
127
+ buttons: DefaultButtons,
128
+ icons: DefaultIcons,
129
+ tooltips: DefaultTooltips,
130
+ //#region These can be overriden via input()
131
+ format: 'html',
132
+ height: '50vh',
133
+ width: '100%',
134
+ fullscreenHeight: '85vh',
135
+ fullscreenWidth: '100%',
136
+ enableTooltips: true,
137
+ fullscreen: false,
138
+ fullscreenMode: 'popout',
139
+ readonly: false,
140
+ applyReadonlyStyle: true,
141
+ showToolbar: true,
142
+ showBorder: true,
143
+ //#region Optional Quill modules
144
+ imageResizeModule: true,
145
+ imageDropModule: true,
146
+ syntaxModule: true
147
+ //#endregion
148
+ //#endregion
149
+ };
150
+
151
+ ;
152
+
153
+ ;
154
+
155
+ ;
166
156
 
167
157
  class RawComponent {
168
158
  constructor() {
@@ -194,7 +184,7 @@ class EditorComponent {
194
184
  this.onChange = (_) => { }; // Invoked when the model has been changed
195
185
  this.onTouched = () => { }; // Invoked when the model has been touched
196
186
  //#endregion
197
- this.config = model();
187
+ this.config = model(DefaultConfig);
198
188
  this.placeholder = model();
199
189
  //#region These can be passed in as @Input(), or use values from config
200
190
  this.format = model();
@@ -224,6 +214,20 @@ class EditorComponent {
224
214
  this.onFocus = output();
225
215
  this.onSelectionChanged = output();
226
216
  }
217
+ get showBlockStyle() { return (this.config()?.buttons?.blockquote || this.config()?.buttons?.codeblock) ?? false; }
218
+ ;
219
+ get showFontStyle() { return (this.config()?.buttons?.bold || this.config()?.buttons?.italic || this.config()?.buttons?.strike || this.config()?.buttons?.underline) ?? false; }
220
+ ;
221
+ get showQuickHeadingStyle() { return (this.config()?.buttons?.h1 || this.config()?.buttons?.h2) ?? false; }
222
+ ;
223
+ get showIndentStyle() { return (this.config()?.buttons?.decreaseIndent || this.config()?.buttons?.increaseIndent) ?? false; }
224
+ ;
225
+ get showListStyle() { return (this.config()?.buttons?.bulleted || this.config()?.buttons?.ordered) ?? false; }
226
+ ;
227
+ get showMedia() { return (this.config()?.buttons?.link || this.config()?.buttons?.image || this.config()?.buttons?.video) ?? false; }
228
+ ;
229
+ get showScriptStyle() { return (this.config()?.buttons?.subScript || this.config()?.buttons?.superScript) ?? false; }
230
+ ;
227
231
  #data;
228
232
  #dialogRef;
229
233
  #dialog;
@@ -237,24 +241,29 @@ class EditorComponent {
237
241
  }*/
238
242
  }
239
243
  initialize() {
240
- this.config()?.showFontStyle();
241
- this.config.set(this.config() ?? this.#data?.config ?? new Config());
244
+ this.config.set({
245
+ ...DefaultConfig,
246
+ ...this.config(),
247
+ ...this.#data?.config,
248
+ buttons: this.config()?.buttons ?? DefaultButtons,
249
+ icons: {
250
+ ...DefaultIcons,
251
+ ...this.config()?.icons
252
+ },
253
+ tooltips: {
254
+ ...DefaultTooltips,
255
+ ...this.config()?.tooltips
256
+ }
257
+ });
242
258
  this.value = this.value ?? this.#data?.value;
243
259
  // Moved to client responsibility
244
260
  /*if (this.imageDropModule) {
245
261
  Quill.register('modules/imageDrop', ImageDrop);
246
262
  }*/
247
- //this.placeholder = this.placeholder ?? this.#data?.placeholder;
248
263
  this.placeholder.set(this.placeholder() ?? this.#data?.placeholder);
249
264
  this.imageDropModule.set(this.imageDropModule() ?? this.#data?.imageDropModule ?? this.config().imageDropModule);
250
265
  this.imageResizeModule.set(this.imageResizeModule() ?? this.#data?.imageResizeModule ?? this.config().imageResizeModule);
251
266
  this.syntaxModule.set(this.syntaxModule() ?? this.#data?.syntaxModule ?? this.config().syntaxModule);
252
- //this.format = this.format ?? this.#data?.format ?? this.config.format;
253
- //this.height = this.height ?? this.#data?.height ?? this.config.height;
254
- //this.width = this.width ?? this.#data?.width ?? this.config.width;
255
- //this.fullscreenHeight = this.fullscreenHeight ?? this.#data?.maxHeight ?? this.config.fullscreenHeight;
256
- //this.fullscreenWidth = this.fullscreenWidth ?? this.#data?.maxWidth ?? this.config.fullscreenWidth;
257
- //this.fullscreenMode = this.fullscreenMode ?? this.#data?.fullscreenMode ?? this.config.fullscreenMode;
258
267
  this.format.set(this.format() ?? this.#data?.format ?? this.config().format);
259
268
  this.height.set(this.height() ?? this.#data?.height ?? this.config().height);
260
269
  this.width.set(this.width() ?? this.#data?.width ?? this.config().width);
@@ -417,7 +426,7 @@ class EditorComponent {
417
426
  provide: NG_VALUE_ACCESSOR,
418
427
  useExisting: forwardRef(() => EditorComponent),
419
428
  multi: true
420
- }], viewQueries: [{ propertyName: "editor", first: true, predicate: QuillEditorComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container>\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n [placeholder]=\"placeholder() ?? ''\"\n [format]=\"format()\"\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\n [readOnly]=\"readonly() ?? false\"\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 @if (showToolbar()) {\n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\n </div>\n }\n </quill-editor>\n </form>\n</ng-container>\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\n <ng-container [ngTemplateOutlet]=\"heading\"/>\n <ng-container [ngTemplateOutlet]=\"color\"/>\n <ng-container [ngTemplateOutlet]=\"font\"/>\n <ng-container [ngTemplateOutlet]=\"align\"/>\n <ng-container [ngTemplateOutlet]=\"clean\"/>\n <ng-container [ngTemplateOutlet]=\"formula\"/>\n <ng-container [ngTemplateOutlet]=\"media\"/>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n @if (config()!.showFontStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.bold) {\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips.bold)\"></button>\n }\n @if (config()!.buttons.italic) {\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips.italic)\"></button>\n }\n @if (config()!.buttons.underline) {\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips.underline)\"></button>\n }\n @if (config()!.buttons.strike) {\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips.strike)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #blockStyle>\n @if (config()!.showBlockStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.blockquote) {\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips.blockquote)\"></button>\n }\n @if (config()!.buttons.codeblock) {\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips.codeblock)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #headingStyle>\n @if (config()!.showQuickHeadingStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.h1) {\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips.h1)\"></button>\n }\n @if (config()!.buttons.h2) {\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips.h2)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #listStyle>\n @if (config()!.showListStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.ordered) {\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips.ordered)\"></button>\n }\n @if (config()!.buttons.bulleted) {\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips.bulleted)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #scriptStyle>\n @if (config()!.showScriptStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.subScript) {\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips.subScript)\"></button>\n }\n @if (config()!.buttons.superScript) {\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips.superScript)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #indentStyle>\n @if (config()!.showIndentStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.decreaseIndent) {\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips.decreaseIndent)\"></button>\n }\n @if (config()!.buttons.increaseIndent) {\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips.increaseIndent)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #rtl>\n @if (config()!.buttons.rtl) {\n <span class=\"ql-formats\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips.rtl)\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #fontSize>\n @if (config()!.buttons.fontSize) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #heading>\n @if (config()!.buttons.headingStyle) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #color>\n @if (config()!.buttons.color) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.color)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n }\n</ng-template>\n\n<ng-template #font>\n @if (config()!.buttons.font) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #align>\n @if (config()!.buttons.align) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #clean>\n @if (config()!.buttons.clean) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.clean)\">\n <button class=\"ql-clean\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #media>\n @if (config()!.showMedia()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.link) {\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips.link)\"></button>\n }\n @if (config()!.buttons.image) {\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips.image)\"></button>\n }\n @if (config()!.buttons.video) {\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips.video)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #editorSize>\n <div>\n @if (config()!.buttons.rawEditor) {\n <span class=\"ql-formats\">\n <button id=\"rawdog\"\n [matTooltip]=\"tooltip(config()!.tooltips.rawEditor)\">\n <mat-icon (click)=\"rawEdit()\">\n code\n </mat-icon>\n </button>\n </span>\n }\n\n @if (config()!.buttons.editorSize) {\n <span class=\"ql-formats\">\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 <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 }\n </div>\n</ng-template>\n\n<ng-template #formula>\n @if (config()!.buttons.formula) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.formula)\">\n <button class=\"ql-formula\"></button>\n </span>\n }\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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: QuillEditorComponent, selector: "quill-editor" }] }); }
429
+ }], viewQueries: [{ propertyName: "editor", first: true, predicate: QuillEditorComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container>\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n [placeholder]=\"placeholder() ?? ''\"\n [format]=\"format()\"\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\n [readOnly]=\"readonly() ?? false\"\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 @if (showToolbar()) {\n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\n </div>\n }\n </quill-editor>\n </form>\n</ng-container>\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\n <ng-container [ngTemplateOutlet]=\"heading\"/>\n <ng-container [ngTemplateOutlet]=\"color\"/>\n <ng-container [ngTemplateOutlet]=\"font\"/>\n <ng-container [ngTemplateOutlet]=\"align\"/>\n <ng-container [ngTemplateOutlet]=\"clean\"/>\n <ng-container [ngTemplateOutlet]=\"formula\"/>\n <ng-container [ngTemplateOutlet]=\"media\"/>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n @if (showFontStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.bold) {\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips!.bold!)\"></button>\n }\n @if (config()!.buttons!.italic) {\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips!.italic!)\"></button>\n }\n @if (config()!.buttons!.underline) {\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips!.underline!)\"></button>\n }\n @if (config()!.buttons!.strike) {\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips!.strike!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #blockStyle>\n @if (showBlockStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.blockquote) {\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips!.blockquote!)\"></button>\n }\n @if (config()!.buttons!.codeblock) {\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips!.codeblock!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #headingStyle>\n @if (showQuickHeadingStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.h1) {\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips!.h1!)\"></button>\n }\n @if (config()!.buttons!.h2) {\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips!.h2!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #listStyle>\n @if (showListStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.ordered) {\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips!.ordered!)\"></button>\n }\n @if (config()!.buttons!.bulleted) {\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips!.bulleted!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #scriptStyle>\n @if (showScriptStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.subScript) {\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips!.subScript!)\"></button>\n }\n @if (config()!.buttons!.superScript) {\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips!.superScript!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #indentStyle>\n @if (showIndentStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.decreaseIndent) {\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips!.decreaseIndent!)\"></button>\n }\n @if (config()!.buttons!.increaseIndent) {\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips!.increaseIndent!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #rtl>\n @if (config()!.buttons!.rtl) {\n <span class=\"ql-formats\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips!.rtl!)\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #fontSize>\n @if (config()!.buttons!.fontSize) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #heading>\n @if (config()!.buttons!.headingStyle) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #color>\n @if (config()!.buttons!.color) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.color!)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n }\n</ng-template>\n\n<ng-template #font>\n @if (config()!.buttons!.font) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #align>\n @if (config()!.buttons!.align) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #clean>\n @if (config()!.buttons!.clean) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.clean!)\">\n <button class=\"ql-clean\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #media>\n @if (showMedia) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.link) {\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips!.link!)\"></button>\n }\n @if (config()!.buttons!.image) {\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips!.image!)\"></button>\n }\n @if (config()!.buttons!.video) {\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips!.video!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #editorSize>\n <div>\n @if (config()!.buttons!.rawEditor) {\n <span class=\"ql-formats\">\n <button id=\"rawdog\"\n [matTooltip]=\"tooltip(config()!.tooltips!.rawEditor!)\">\n <mat-icon (click)=\"rawEdit()\">\n code\n </mat-icon>\n </button>\n </span>\n }\n\n @if (config()!.buttons!.editorSize) {\n <span class=\"ql-formats\">\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 <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 }\n </div>\n</ng-template>\n\n<ng-template #formula>\n @if (config()!.buttons!.formula) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.formula!)\">\n <button class=\"ql-formula\"></button>\n </span>\n }\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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: QuillEditorComponent, selector: "quill-editor" }] }); }
421
430
  }
422
431
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: EditorComponent, decorators: [{
423
432
  type: Component,
@@ -431,7 +440,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
431
440
  provide: NG_VALUE_ACCESSOR,
432
441
  useExisting: forwardRef(() => EditorComponent),
433
442
  multi: true
434
- }], template: "<ng-container>\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n [placeholder]=\"placeholder() ?? ''\"\n [format]=\"format()\"\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\n [readOnly]=\"readonly() ?? false\"\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 @if (showToolbar()) {\n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\n </div>\n }\n </quill-editor>\n </form>\n</ng-container>\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\n <ng-container [ngTemplateOutlet]=\"heading\"/>\n <ng-container [ngTemplateOutlet]=\"color\"/>\n <ng-container [ngTemplateOutlet]=\"font\"/>\n <ng-container [ngTemplateOutlet]=\"align\"/>\n <ng-container [ngTemplateOutlet]=\"clean\"/>\n <ng-container [ngTemplateOutlet]=\"formula\"/>\n <ng-container [ngTemplateOutlet]=\"media\"/>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n @if (config()!.showFontStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.bold) {\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips.bold)\"></button>\n }\n @if (config()!.buttons.italic) {\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips.italic)\"></button>\n }\n @if (config()!.buttons.underline) {\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips.underline)\"></button>\n }\n @if (config()!.buttons.strike) {\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips.strike)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #blockStyle>\n @if (config()!.showBlockStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.blockquote) {\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips.blockquote)\"></button>\n }\n @if (config()!.buttons.codeblock) {\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips.codeblock)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #headingStyle>\n @if (config()!.showQuickHeadingStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.h1) {\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips.h1)\"></button>\n }\n @if (config()!.buttons.h2) {\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips.h2)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #listStyle>\n @if (config()!.showListStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.ordered) {\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips.ordered)\"></button>\n }\n @if (config()!.buttons.bulleted) {\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips.bulleted)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #scriptStyle>\n @if (config()!.showScriptStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.subScript) {\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips.subScript)\"></button>\n }\n @if (config()!.buttons.superScript) {\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips.superScript)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #indentStyle>\n @if (config()!.showIndentStyle()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.decreaseIndent) {\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips.decreaseIndent)\"></button>\n }\n @if (config()!.buttons.increaseIndent) {\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips.increaseIndent)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #rtl>\n @if (config()!.buttons.rtl) {\n <span class=\"ql-formats\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips.rtl)\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #fontSize>\n @if (config()!.buttons.fontSize) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #heading>\n @if (config()!.buttons.headingStyle) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #color>\n @if (config()!.buttons.color) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.color)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n }\n</ng-template>\n\n<ng-template #font>\n @if (config()!.buttons.font) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #align>\n @if (config()!.buttons.align) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #clean>\n @if (config()!.buttons.clean) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.clean)\">\n <button class=\"ql-clean\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #media>\n @if (config()!.showMedia()) {\n <span class=\"ql-formats\">\n @if (config()!.buttons.link) {\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips.link)\"></button>\n }\n @if (config()!.buttons.image) {\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips.image)\"></button>\n }\n @if (config()!.buttons.video) {\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips.video)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #editorSize>\n <div>\n @if (config()!.buttons.rawEditor) {\n <span class=\"ql-formats\">\n <button id=\"rawdog\"\n [matTooltip]=\"tooltip(config()!.tooltips.rawEditor)\">\n <mat-icon (click)=\"rawEdit()\">\n code\n </mat-icon>\n </button>\n </span>\n }\n\n @if (config()!.buttons.editorSize) {\n <span class=\"ql-formats\">\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 <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 }\n </div>\n</ng-template>\n\n<ng-template #formula>\n @if (config()!.buttons.formula) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips.formula)\">\n <button class=\"ql-formula\"></button>\n </span>\n }\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"] }]
443
+ }], template: "<ng-container>\n <form>\n <quill-editor name=\"editor\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"updateChanges()\"\n [placeholder]=\"placeholder() ?? ''\"\n [format]=\"format()\"\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\n [readOnly]=\"readonly() ?? false\"\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 @if (showToolbar()) {\n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\n </div>\n }\n </quill-editor>\n </form>\n</ng-container>\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\n <ng-container [ngTemplateOutlet]=\"heading\"/>\n <ng-container [ngTemplateOutlet]=\"color\"/>\n <ng-container [ngTemplateOutlet]=\"font\"/>\n <ng-container [ngTemplateOutlet]=\"align\"/>\n <ng-container [ngTemplateOutlet]=\"clean\"/>\n <ng-container [ngTemplateOutlet]=\"formula\"/>\n <ng-container [ngTemplateOutlet]=\"media\"/>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n @if (showFontStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.bold) {\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips!.bold!)\"></button>\n }\n @if (config()!.buttons!.italic) {\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips!.italic!)\"></button>\n }\n @if (config()!.buttons!.underline) {\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips!.underline!)\"></button>\n }\n @if (config()!.buttons!.strike) {\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips!.strike!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #blockStyle>\n @if (showBlockStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.blockquote) {\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips!.blockquote!)\"></button>\n }\n @if (config()!.buttons!.codeblock) {\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips!.codeblock!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #headingStyle>\n @if (showQuickHeadingStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.h1) {\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips!.h1!)\"></button>\n }\n @if (config()!.buttons!.h2) {\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips!.h2!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #listStyle>\n @if (showListStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.ordered) {\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips!.ordered!)\"></button>\n }\n @if (config()!.buttons!.bulleted) {\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips!.bulleted!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #scriptStyle>\n @if (showScriptStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.subScript) {\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips!.subScript!)\"></button>\n }\n @if (config()!.buttons!.superScript) {\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips!.superScript!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #indentStyle>\n @if (showIndentStyle) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.decreaseIndent) {\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips!.decreaseIndent!)\"></button>\n }\n @if (config()!.buttons!.increaseIndent) {\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips!.increaseIndent!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #rtl>\n @if (config()!.buttons!.rtl) {\n <span class=\"ql-formats\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips!.rtl!)\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #fontSize>\n @if (config()!.buttons!.fontSize) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #heading>\n @if (config()!.buttons!.headingStyle) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #color>\n @if (config()!.buttons!.color) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.color!)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n }\n</ng-template>\n\n<ng-template #font>\n @if (config()!.buttons!.font) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #align>\n @if (config()!.buttons!.align) {\n <span class=\"ql-formats\" [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 }\n</ng-template>\n\n<ng-template #clean>\n @if (config()!.buttons!.clean) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.clean!)\">\n <button class=\"ql-clean\"></button>\n </span>\n }\n</ng-template>\n\n<ng-template #media>\n @if (showMedia) {\n <span class=\"ql-formats\">\n @if (config()!.buttons!.link) {\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips!.link!)\"></button>\n }\n @if (config()!.buttons!.image) {\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips!.image!)\"></button>\n }\n @if (config()!.buttons!.video) {\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips!.video!)\"></button>\n }\n </span>\n }\n</ng-template>\n\n<ng-template #editorSize>\n <div>\n @if (config()!.buttons!.rawEditor) {\n <span class=\"ql-formats\">\n <button id=\"rawdog\"\n [matTooltip]=\"tooltip(config()!.tooltips!.rawEditor!)\">\n <mat-icon (click)=\"rawEdit()\">\n code\n </mat-icon>\n </button>\n </span>\n }\n\n @if (config()!.buttons!.editorSize) {\n <span class=\"ql-formats\">\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 <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 }\n </div>\n</ng-template>\n\n<ng-template #formula>\n @if (config()!.buttons!.formula) {\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.formula!)\">\n <button class=\"ql-formula\"></button>\n </span>\n }\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"] }]
435
444
  }] });
436
445
 
437
446
  class QuillModule {
@@ -500,5 +509,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
500
509
  * Generated bundle index. Do not edit.
501
510
  */
502
511
 
503
- export { Buttons, Config, EditorComponent, Icons, QuillModule, RawComponent, Tooltips };
512
+ export { DefaultButtons, DefaultConfig, DefaultIcons, DefaultTooltips, EditorComponent, QuillModule, RawComponent };
504
513
  //# sourceMappingURL=cleavelandprice-ngx-lib-quill.mjs.map