@cleavelandprice/ngx-lib 3.11.4 → 3.13.0
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.
- package/README.md +5 -5
- package/active-directory/gui/components/user-chooser/user-chooser.component.d.ts +20 -2
- package/active-directory/gui/components/user-form-field/user-form-field.component.d.ts +5 -4
- package/authentication/token/gui/components/login/login.component.d.ts +3 -3
- package/authentication/token/gui/components/login-form/login-form.component.d.ts +1 -2
- package/authentication/token/gui/services/authentication.service.d.ts +2 -4
- package/authentication/token/services/authentication.service.d.ts +3 -4
- package/dialog/components/base/base.component.d.ts +6 -5
- package/esm2022/active-directory/gui/components/user-chooser/user-chooser.component.mjs +60 -68
- package/esm2022/active-directory/gui/components/user-form-field/user-form-field.component.mjs +22 -27
- package/esm2022/active-directory/gui/gui.module.mjs +1 -1
- package/esm2022/authentication/token/gui/components/login/login.component.mjs +10 -11
- package/esm2022/authentication/token/gui/components/login-form/login-form.component.mjs +11 -12
- package/esm2022/authentication/token/gui/services/authentication.service.mjs +5 -7
- package/esm2022/authentication/token/services/authentication.service.mjs +9 -8
- package/esm2022/dialog/components/base/base.component.mjs +26 -26
- package/esm2022/dialog/components/choice/choice.component.mjs +3 -3
- package/esm2022/dialog/components/confirmation/confirmation.component.mjs +3 -3
- package/esm2022/dialog/components/input/input.component.mjs +3 -3
- package/esm2022/dialog/components/message/message.component.mjs +3 -3
- package/esm2022/dialog/dialog.module.mjs +1 -1
- package/esm2022/lib/services/app-path-config.service.mjs +13 -10
- package/esm2022/msgraph/msgraph.module.mjs +1 -1
- package/esm2022/quill/components/editor/editor.component.mjs +41 -48
- package/esm2022/quill/components/raw/raw.component.mjs +3 -3
- package/esm2022/quill/mention/components/editor/editor.component.mjs +30 -40
- package/esm2022/sharepoint/components/user-photo/user-photo.component.mjs +36 -0
- package/esm2022/sharepoint/pipes/user-photo-url.pipe.mjs +38 -0
- package/esm2022/sharepoint/public_api.mjs +3 -3
- package/esm2022/sharepoint/sharepoint.module.mjs +11 -11
- package/esm2022/table/components/table/table.component.mjs +97 -5
- package/esm2022/table/model/table-column.mjs +2 -0
- package/esm2022/table/public_api.mjs +3 -1
- package/esm2022/table/table.module.mjs +67 -0
- package/esm2022/upload/components/upload-dialog/upload-dialog.component.mjs +3 -3
- package/esm2022/url-utilities/pipes/safe-resource-url.pipe.mjs +1 -1
- package/esm2022/url-utilities/pipes/safe-url.pipe.mjs +1 -1
- package/esm2022/url-utilities/pipes/uri-scheme.pipe.mjs +1 -1
- package/esm2022/url-utilities/url-utilities.module.mjs +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-active-directory-gui.mjs +79 -91
- package/fesm2022/cleavelandprice-ngx-lib-active-directory-gui.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-authentication-token-gui.mjs +24 -28
- package/fesm2022/cleavelandprice-ngx-lib-authentication-token-gui.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-authentication-token.mjs +8 -7
- package/fesm2022/cleavelandprice-ngx-lib-authentication-token.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs +33 -33
- package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs +30 -40
- package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-quill.mjs +44 -50
- package/fesm2022/cleavelandprice-ngx-lib-quill.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs +34 -35
- package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-table.mjs +157 -4
- package/fesm2022/cleavelandprice-ngx-lib-table.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-upload.mjs +2 -2
- package/fesm2022/cleavelandprice-ngx-lib-upload.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib.mjs +12 -9
- package/fesm2022/cleavelandprice-ngx-lib.mjs.map +1 -1
- package/lib/services/app-path-config.service.d.ts +1 -2
- package/package.json +12 -12
- package/quill/components/editor/editor.component.d.ts +2 -7
- package/quill/mention/components/editor/editor.component.d.ts +13 -10
- package/sharepoint/components/user-photo/user-photo.component.d.ts +15 -0
- package/sharepoint/pipes/{employee-photo-url.pipe.d.ts → user-photo-url.pipe.d.ts} +3 -3
- package/sharepoint/public_api.d.ts +2 -2
- package/sharepoint/sharepoint.module.d.ts +3 -3
- package/table/components/table/table.component.d.ts +32 -1
- package/table/model/table-column.d.ts +36 -0
- package/table/public_api.d.ts +2 -0
- package/table/table.module.d.ts +18 -0
- package/esm2022/sharepoint/components/employee-photo/employee-photo.component.mjs +0 -37
- package/esm2022/sharepoint/pipes/employee-photo-url.pipe.mjs +0 -38
- package/sharepoint/components/employee-photo/employee-photo.component.d.ts +0 -15
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Component, EventEmitter, forwardRef,
|
|
3
|
-
import * as
|
|
2
|
+
import { inject, Component, EventEmitter, forwardRef, ViewChild, Input, Output, NgModule, Optional, SkipSelf } from '@angular/core';
|
|
3
|
+
import * as i2 from '@angular/forms';
|
|
4
4
|
import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import * as
|
|
6
|
-
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
7
|
-
import * as
|
|
5
|
+
import * as i3 from '@angular/material/dialog';
|
|
6
|
+
import { MAT_DIALOG_DATA, MatDialogRef, MatDialog, MatDialogModule } from '@angular/material/dialog';
|
|
7
|
+
import * as i5$1 from 'ngx-quill';
|
|
8
8
|
import { QuillEditorComponent, QuillModule as QuillModule$1 } from 'ngx-quill';
|
|
9
|
-
import * as i2 from '@angular/material/button';
|
|
9
|
+
import * as i2$1 from '@angular/material/button';
|
|
10
10
|
import { MatButtonModule } from '@angular/material/button';
|
|
11
11
|
import * as i4 from '@angular/material/form-field';
|
|
12
12
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
@@ -14,9 +14,9 @@ import * as i5 from '@angular/material/icon';
|
|
|
14
14
|
import { MatIconModule } from '@angular/material/icon';
|
|
15
15
|
import * as i6 from '@angular/material/input';
|
|
16
16
|
import { MatInputModule } from '@angular/material/input';
|
|
17
|
-
import * as
|
|
17
|
+
import * as i1 from '@angular/common';
|
|
18
18
|
import { CommonModule } from '@angular/common';
|
|
19
|
-
import * as
|
|
19
|
+
import * as i4$1 from '@angular/material/tooltip';
|
|
20
20
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
21
21
|
|
|
22
22
|
class Buttons {
|
|
@@ -177,21 +177,18 @@ class RawComponent {
|
|
|
177
177
|
this.data = inject(MAT_DIALOG_DATA);
|
|
178
178
|
}
|
|
179
179
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RawComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
180
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: RawComponent, selector: "cpquill-raw", ngImport: i0, template: "<mat-dialog-content>\n <form>\n <mat-form-field appearance=\"outline\">\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\n </mat-form-field>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\n <mat-icon>cancel</mat-icon>\n <span>Cancel</span>\n </button>\n\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\n <mat-icon>done</mat-icon>\n <span>Accept</span>\n </button>\n</mat-dialog-actions>", styles: ["mat-dialog-content{height:95%;max-height:initial!important}form{width:100%}mat-form-field{width:100%}textarea{height:70vh}\n"], dependencies: [{ kind: "directive", type:
|
|
180
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: RawComponent, selector: "cpquill-raw", ngImport: i0, template: "<mat-dialog-content>\r\n <form>\r\n <mat-form-field appearance=\"outline\">\r\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\r\n </mat-form-field>\r\n </form>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\r\n <mat-icon>cancel</mat-icon>\r\n <span>Cancel</span>\r\n </button>\r\n\r\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\r\n <mat-icon>done</mat-icon>\r\n <span>Accept</span>\r\n </button>\r\n</mat-dialog-actions>", styles: ["mat-dialog-content{height:95%;max-height:initial!important}form{width:100%}mat-form-field{width:100%}textarea{height:70vh}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
|
|
181
181
|
}
|
|
182
182
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RawComponent, decorators: [{
|
|
183
183
|
type: Component,
|
|
184
|
-
args: [{ selector: 'cpquill-raw', template: "<mat-dialog-content>\n <form>\n <mat-form-field appearance=\"outline\">\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\n </mat-form-field>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\n <mat-icon>cancel</mat-icon>\n <span>Cancel</span>\n </button>\n\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\n <mat-icon>done</mat-icon>\n <span>Accept</span>\n </button>\n</mat-dialog-actions>", styles: ["mat-dialog-content{height:95%;max-height:initial!important}form{width:100%}mat-form-field{width:100%}textarea{height:70vh}\n"] }]
|
|
184
|
+
args: [{ selector: 'cpquill-raw', template: "<mat-dialog-content>\r\n <form>\r\n <mat-form-field appearance=\"outline\">\r\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\r\n </mat-form-field>\r\n </form>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\r\n <mat-icon>cancel</mat-icon>\r\n <span>Cancel</span>\r\n </button>\r\n\r\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\r\n <mat-icon>done</mat-icon>\r\n <span>Accept</span>\r\n </button>\r\n</mat-dialog-actions>", styles: ["mat-dialog-content{height:95%;max-height:initial!important}form{width:100%}mat-form-field{width:100%}textarea{height:70vh}\n"] }]
|
|
185
185
|
}] });
|
|
186
186
|
|
|
187
187
|
class EditorComponent {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
this.data = data;
|
|
193
|
-
this.dialogRef = dialogRef;
|
|
194
|
-
this.dialog = dialog;
|
|
188
|
+
constructor() {
|
|
189
|
+
this.#data = inject(MAT_DIALOG_DATA, { optional: true });
|
|
190
|
+
this.#dialogRef = inject((MatDialogRef), { optional: true });
|
|
191
|
+
this.#dialog = inject(MatDialog);
|
|
195
192
|
this.onChange = (_) => { }; // Invoked when the model has been changed
|
|
196
193
|
this.onTouched = () => { }; // Invoked when the model has been touched
|
|
197
194
|
//#endregion
|
|
@@ -205,6 +202,10 @@ class EditorComponent {
|
|
|
205
202
|
this.onFocus = new EventEmitter();
|
|
206
203
|
this.onSelectionChanged = new EventEmitter();
|
|
207
204
|
}
|
|
205
|
+
#data;
|
|
206
|
+
#dialogRef;
|
|
207
|
+
#dialog;
|
|
208
|
+
//#endregion
|
|
208
209
|
ngOnInit() {
|
|
209
210
|
this.initialize();
|
|
210
211
|
/*if (!this.users) {
|
|
@@ -214,41 +215,41 @@ class EditorComponent {
|
|
|
214
215
|
}*/
|
|
215
216
|
}
|
|
216
217
|
initialize() {
|
|
217
|
-
this.config = this.config ?? this
|
|
218
|
-
this.value = this.value ?? this
|
|
218
|
+
this.config = this.config ?? this.#data?.config ?? new Config();
|
|
219
|
+
this.value = this.value ?? this.#data?.value;
|
|
219
220
|
// Moved to client responsibility
|
|
220
221
|
/*if (this.imageDropModule) {
|
|
221
222
|
Quill.register('modules/imageDrop', ImageDrop);
|
|
222
223
|
}*/
|
|
223
|
-
this.placeholder = this.placeholder ?? this
|
|
224
|
+
this.placeholder = this.placeholder ?? this.#data?.placeholder;
|
|
224
225
|
//this.users = this.users ?? this.data?.users;
|
|
225
|
-
this.imageDropModule = this.imageDropModule ?? this
|
|
226
|
-
this.imageResizeModule = this.imageResizeModule ?? this
|
|
227
|
-
this.syntaxModule = this.syntaxModule ?? this
|
|
228
|
-
this.format = this.format ?? this
|
|
229
|
-
this.height = this.height ?? this
|
|
230
|
-
this.width = this.width ?? this
|
|
231
|
-
this.fullscreenHeight = this.fullscreenHeight ?? this
|
|
232
|
-
this.fullscreenWidth = this.fullscreenWidth ?? this
|
|
233
|
-
this.fullscreenMode = this.fullscreenMode ?? this
|
|
226
|
+
this.imageDropModule = this.imageDropModule ?? this.#data?.imageDropModule ?? this.config.imageDropModule;
|
|
227
|
+
this.imageResizeModule = this.imageResizeModule ?? this.#data?.imageResizeModule ?? this.config.imageResizeModule;
|
|
228
|
+
this.syntaxModule = this.syntaxModule ?? this.#data?.syntaxModule ?? this.config.syntaxModule;
|
|
229
|
+
this.format = this.format ?? this.#data?.format ?? this.config.format;
|
|
230
|
+
this.height = this.height ?? this.#data?.height ?? this.config.height;
|
|
231
|
+
this.width = this.width ?? this.#data?.width ?? this.config.width;
|
|
232
|
+
this.fullscreenHeight = this.fullscreenHeight ?? this.#data?.maxHeight ?? this.config.fullscreenHeight;
|
|
233
|
+
this.fullscreenWidth = this.fullscreenWidth ?? this.#data?.maxWidth ?? this.config.fullscreenWidth;
|
|
234
|
+
this.fullscreenMode = this.fullscreenMode ?? this.#data?.fullscreenMode ?? this.config.fullscreenMode;
|
|
234
235
|
this.enableTooltips = this.enableTooltips !== undefined ?
|
|
235
236
|
this.enableTooltips :
|
|
236
|
-
this
|
|
237
|
+
this.#data?.enableTooltips ?? this.config.enableTooltips;
|
|
237
238
|
this.fullscreen = this.fullscreen !== undefined ?
|
|
238
239
|
this.fullscreen :
|
|
239
|
-
this
|
|
240
|
+
this.#data?.fullscreen ?? this.config.fullscreen;
|
|
240
241
|
this.readonly = this.readonly !== undefined ?
|
|
241
242
|
this.readonly :
|
|
242
|
-
this
|
|
243
|
+
this.#data?.readonly ?? this.config.readonly;
|
|
243
244
|
this.applyReadonlyStyle = this.applyReadonlyStyle !== undefined ?
|
|
244
245
|
this.applyReadonlyStyle :
|
|
245
|
-
this
|
|
246
|
+
this.#data?.applyReadonlyStyle ?? this.config.applyReadonlyStyle;
|
|
246
247
|
this.showToolbar = this.showToolbar !== undefined ?
|
|
247
248
|
this.showToolbar :
|
|
248
|
-
this
|
|
249
|
+
this.#data?.showToolbar ?? this.config.showToolbar;
|
|
249
250
|
this.showBorder = this.showBorder !== undefined ?
|
|
250
251
|
this.showBorder :
|
|
251
|
-
this
|
|
252
|
+
this.#data?.showBorder ?? this.config.showBorder;
|
|
252
253
|
}
|
|
253
254
|
toggleFullscreen() {
|
|
254
255
|
if (this.fullscreenMode === 'expand') {
|
|
@@ -257,7 +258,7 @@ class EditorComponent {
|
|
|
257
258
|
}
|
|
258
259
|
else {
|
|
259
260
|
if (this.fullscreen) {
|
|
260
|
-
this
|
|
261
|
+
this.#dialogRef?.close(this.value);
|
|
261
262
|
this.fullscreenChanged.emit(false);
|
|
262
263
|
}
|
|
263
264
|
else {
|
|
@@ -282,7 +283,7 @@ class EditorComponent {
|
|
|
282
283
|
syntaxModule: this.syntaxModule
|
|
283
284
|
//users: this.users
|
|
284
285
|
};
|
|
285
|
-
this
|
|
286
|
+
this.#dialog.open(EditorComponent, {
|
|
286
287
|
disableClose: true,
|
|
287
288
|
width: this.fullscreenWidth,
|
|
288
289
|
height: this.fullscreenHeight,
|
|
@@ -298,7 +299,7 @@ class EditorComponent {
|
|
|
298
299
|
}
|
|
299
300
|
}
|
|
300
301
|
rawEdit() {
|
|
301
|
-
this
|
|
302
|
+
this.#dialog.open(RawComponent, {
|
|
302
303
|
data: this.value,
|
|
303
304
|
disableClose: true,
|
|
304
305
|
height: '90%',
|
|
@@ -382,12 +383,12 @@ class EditorComponent {
|
|
|
382
383
|
registerOnTouched(fn) {
|
|
383
384
|
this.onTouched = fn;
|
|
384
385
|
}
|
|
385
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EditorComponent, deps: [
|
|
386
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
386
387
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: EditorComponent, selector: "cpquill-editor", inputs: { config: "config", placeholder: "placeholder", format: "format", height: "height", width: "width", fullscreenHeight: "fullscreenHeight", fullscreenWidth: "fullscreenWidth", fullscreenMode: "fullscreenMode", enableTooltips: "enableTooltips", fullscreen: "fullscreen", readonly: "readonly", applyReadonlyStyle: "applyReadonlyStyle", showToolbar: "showToolbar", showBorder: "showBorder", imageResizeModule: "imageResizeModule", imageDropModule: "imageDropModule", syntaxModule: "syntaxModule" }, outputs: { fullscreenChanged: "fullscreenChanged", onBlur: "onBlur", onContentChanged: "onContentChanged", onEditorChanged: "onEditorChanged", onEditorCreated: "onEditorCreated", onFocus: "onFocus", onSelectionChanged: "onSelectionChanged" }, providers: [{
|
|
387
388
|
provide: NG_VALUE_ACCESSOR,
|
|
388
389
|
useExisting: forwardRef(() => EditorComponent),
|
|
389
390
|
multi: true
|
|
390
|
-
}], viewQueries: [{ propertyName: "editor", first: true, predicate: QuillEditorComponent, descendants: true }], ngImport: i0, template: "<ng-container>\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 @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: "directive", type: i2$1.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: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i6$1.QuillEditorComponent, selector: "quill-editor" }] }); }
|
|
391
|
+
}], viewQueries: [{ propertyName: "editor", first: true, predicate: QuillEditorComponent, descendants: true }], ngImport: i0, template: "<ng-container>\r\n <form>\r\n <quill-editor name=\"editor\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"updateChanges()\"\r\n\r\n [placeholder]=\"placeholder\"\r\n [format]=\"format\"\r\n [style.height]=\"fullscreen ? fullscreenHeight : height\"\r\n [style.width]=\"fullscreen ? fullscreenWidth : width\"\r\n [readOnly]=\"readonly\"\r\n [class.readonly]=\"readonly && applyReadonlyStyle\"\r\n [class.no-toolbar]=\"!showToolbar\"\r\n [class.no-border]=\"!showBorder\"\r\n [modules]=\"modules\"\r\n\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onContentChanged)=\"onContentChanged.emit($event)\"\r\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\r\n (onEditorCreated)=\"onEditorCreated.emit()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n\r\n @if (showToolbar) {\r\n <div quill-editor-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\r\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\r\n </div>\r\n }\r\n </quill-editor>\r\n </form>\r\n</ng-container>\r\n\r\n<ng-template #toolbar>\r\n <div>\r\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\r\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\r\n <ng-container [ngTemplateOutlet]=\"heading\"/>\r\n <ng-container [ngTemplateOutlet]=\"color\"/>\r\n <ng-container [ngTemplateOutlet]=\"font\"/>\r\n <ng-container [ngTemplateOutlet]=\"align\"/>\r\n <ng-container [ngTemplateOutlet]=\"clean\"/>\r\n <ng-container [ngTemplateOutlet]=\"formula\"/>\r\n <ng-container [ngTemplateOutlet]=\"media\"/>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #fontStyle>\r\n @if (config!.showFontStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.bold) {\r\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config!.tooltips.bold)\"></button>\r\n }\r\n @if (config!.buttons.italic) {\r\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config!.tooltips.italic)\"></button>\r\n }\r\n @if (config!.buttons.underline) {\r\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config!.tooltips.underline)\"></button>\r\n }\r\n @if (config!.buttons.strike) {\r\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config!.tooltips.strike)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #blockStyle>\r\n @if (config!.showBlockStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.blockquote) {\r\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config!.tooltips.blockquote)\"></button>\r\n }\r\n @if (config!.buttons.codeblock) {\r\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config!.tooltips.codeblock)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #headingStyle>\r\n @if (config!.showQuickHeadingStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.h1) {\r\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config!.tooltips.h1)\"></button>\r\n }\r\n @if (config!.buttons.h2) {\r\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config!.tooltips.h2)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #listStyle>\r\n @if (config!.showListStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.ordered) {\r\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config!.tooltips.ordered)\"></button>\r\n }\r\n @if (config!.buttons.bulleted) {\r\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config!.tooltips.bulleted)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #scriptStyle>\r\n @if (config!.showScriptStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.subScript) {\r\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config!.tooltips.subScript)\"></button>\r\n }\r\n @if (config!.buttons.superScript) {\r\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config!.tooltips.superScript)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #indentStyle>\r\n @if (config!.showIndentStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.decreaseIndent) {\r\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config!.tooltips.decreaseIndent)\"></button>\r\n }\r\n @if (config!.buttons.increaseIndent) {\r\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config!.tooltips.increaseIndent)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #rtl>\r\n @if (config!.buttons.rtl) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config!.tooltips.rtl)\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #fontSize>\r\n @if (config!.buttons.fontSize) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.fontSize)\">\r\n <select class=\"ql-size\">\r\n <option value=\"small\"></option>\r\n <option selected></option>\r\n <option value=\"large\"></option>\r\n <option value=\"huge\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #heading>\r\n @if (config!.buttons.headingStyle) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.headingStyle)\">\r\n <select class=\"ql-header\">\r\n <option value=\"1\"></option>\r\n <option value=\"2\"></option>\r\n <option value=\"3\"></option>\r\n <option value=\"4\"></option>\r\n <option value=\"5\"></option>\r\n <option value=\"6\"></option>\r\n <option selected=\"selected\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #color>\r\n @if (config!.buttons.color) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.color)\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #font>\r\n @if (config!.buttons.font) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.font)\">\r\n <select class=\"ql-font\">\r\n <option selected></option>\r\n <option value=\"serif\"></option>\r\n <option value=\"monospace\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #align>\r\n @if (config!.buttons.align) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.align)\">\r\n <select class=\"ql-align\">\r\n <option selected></option>\r\n <option value=\"center\"></option>\r\n <option value=\"right\"></option>\r\n <option value=\"justify\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #clean>\r\n @if (config!.buttons.clean) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.clean)\">\r\n <button class=\"ql-clean\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #media>\r\n @if (config!.showMedia()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.link) {\r\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config!.tooltips.link)\"></button>\r\n }\r\n @if (config!.buttons.image) {\r\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config!.tooltips.image)\"></button>\r\n }\r\n @if (config!.buttons.video) {\r\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config!.tooltips.video)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #editorSize>\r\n <div>\r\n @if (config!.buttons.rawEditor) {\r\n <span class=\"ql-formats\">\r\n <button id=\"rawdog\"\r\n [matTooltip]=\"tooltip(config!.tooltips.rawEditor)\">\r\n <mat-icon (click)=\"rawEdit()\">\r\n code\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n\r\n @if (config!.buttons.editorSize) {\r\n <span class=\"ql-formats\">\r\n <button id=\"fullscreen\"\r\n [matTooltip]=\"tooltip(fullscreen ?\r\n (fullscreenMode === 'expand' ? config!.tooltips.minimize : config!.tooltips.popin) :\r\n (fullscreenMode === 'expand' ? config!.tooltips.maximize : config!.tooltips.popout))\">\r\n <mat-icon (click)=\"toggleFullscreen()\">\r\n {{ fullscreen ?\r\n (fullscreenMode === 'expand' ? config!.icons.minimize : config!.icons.popin) :\r\n (fullscreenMode === 'expand' ? config!.icons.maximize : config!.icons.popout)\r\n }}\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #formula>\r\n @if (config!.buttons.formula) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.formula)\">\r\n <button class=\"ql-formula\"></button>\r\n </span>\r\n }\r\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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5$1.QuillEditorComponent, selector: "quill-editor" }] }); }
|
|
391
392
|
}
|
|
392
393
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EditorComponent, decorators: [{
|
|
393
394
|
type: Component,
|
|
@@ -395,15 +396,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
395
396
|
provide: NG_VALUE_ACCESSOR,
|
|
396
397
|
useExisting: forwardRef(() => EditorComponent),
|
|
397
398
|
multi: true
|
|
398
|
-
}], template: "<ng-container>\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 @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"] }]
|
|
399
|
-
}],
|
|
400
|
-
type: Optional
|
|
401
|
-
}, {
|
|
402
|
-
type: Inject,
|
|
403
|
-
args: [MAT_DIALOG_DATA]
|
|
404
|
-
}] }, { type: i1.MatDialogRef, decorators: [{
|
|
405
|
-
type: Optional
|
|
406
|
-
}] }, { type: i1.MatDialog }], propDecorators: { editor: [{
|
|
399
|
+
}], template: "<ng-container>\r\n <form>\r\n <quill-editor name=\"editor\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"updateChanges()\"\r\n\r\n [placeholder]=\"placeholder\"\r\n [format]=\"format\"\r\n [style.height]=\"fullscreen ? fullscreenHeight : height\"\r\n [style.width]=\"fullscreen ? fullscreenWidth : width\"\r\n [readOnly]=\"readonly\"\r\n [class.readonly]=\"readonly && applyReadonlyStyle\"\r\n [class.no-toolbar]=\"!showToolbar\"\r\n [class.no-border]=\"!showBorder\"\r\n [modules]=\"modules\"\r\n\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onContentChanged)=\"onContentChanged.emit($event)\"\r\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\r\n (onEditorCreated)=\"onEditorCreated.emit()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n\r\n @if (showToolbar) {\r\n <div quill-editor-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\r\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\r\n </div>\r\n }\r\n </quill-editor>\r\n </form>\r\n</ng-container>\r\n\r\n<ng-template #toolbar>\r\n <div>\r\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\r\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\r\n <ng-container [ngTemplateOutlet]=\"heading\"/>\r\n <ng-container [ngTemplateOutlet]=\"color\"/>\r\n <ng-container [ngTemplateOutlet]=\"font\"/>\r\n <ng-container [ngTemplateOutlet]=\"align\"/>\r\n <ng-container [ngTemplateOutlet]=\"clean\"/>\r\n <ng-container [ngTemplateOutlet]=\"formula\"/>\r\n <ng-container [ngTemplateOutlet]=\"media\"/>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #fontStyle>\r\n @if (config!.showFontStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.bold) {\r\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config!.tooltips.bold)\"></button>\r\n }\r\n @if (config!.buttons.italic) {\r\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config!.tooltips.italic)\"></button>\r\n }\r\n @if (config!.buttons.underline) {\r\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config!.tooltips.underline)\"></button>\r\n }\r\n @if (config!.buttons.strike) {\r\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config!.tooltips.strike)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #blockStyle>\r\n @if (config!.showBlockStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.blockquote) {\r\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config!.tooltips.blockquote)\"></button>\r\n }\r\n @if (config!.buttons.codeblock) {\r\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config!.tooltips.codeblock)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #headingStyle>\r\n @if (config!.showQuickHeadingStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.h1) {\r\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config!.tooltips.h1)\"></button>\r\n }\r\n @if (config!.buttons.h2) {\r\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config!.tooltips.h2)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #listStyle>\r\n @if (config!.showListStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.ordered) {\r\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config!.tooltips.ordered)\"></button>\r\n }\r\n @if (config!.buttons.bulleted) {\r\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config!.tooltips.bulleted)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #scriptStyle>\r\n @if (config!.showScriptStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.subScript) {\r\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config!.tooltips.subScript)\"></button>\r\n }\r\n @if (config!.buttons.superScript) {\r\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config!.tooltips.superScript)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #indentStyle>\r\n @if (config!.showIndentStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.decreaseIndent) {\r\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config!.tooltips.decreaseIndent)\"></button>\r\n }\r\n @if (config!.buttons.increaseIndent) {\r\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config!.tooltips.increaseIndent)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #rtl>\r\n @if (config!.buttons.rtl) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config!.tooltips.rtl)\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #fontSize>\r\n @if (config!.buttons.fontSize) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.fontSize)\">\r\n <select class=\"ql-size\">\r\n <option value=\"small\"></option>\r\n <option selected></option>\r\n <option value=\"large\"></option>\r\n <option value=\"huge\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #heading>\r\n @if (config!.buttons.headingStyle) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.headingStyle)\">\r\n <select class=\"ql-header\">\r\n <option value=\"1\"></option>\r\n <option value=\"2\"></option>\r\n <option value=\"3\"></option>\r\n <option value=\"4\"></option>\r\n <option value=\"5\"></option>\r\n <option value=\"6\"></option>\r\n <option selected=\"selected\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #color>\r\n @if (config!.buttons.color) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.color)\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #font>\r\n @if (config!.buttons.font) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.font)\">\r\n <select class=\"ql-font\">\r\n <option selected></option>\r\n <option value=\"serif\"></option>\r\n <option value=\"monospace\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #align>\r\n @if (config!.buttons.align) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.align)\">\r\n <select class=\"ql-align\">\r\n <option selected></option>\r\n <option value=\"center\"></option>\r\n <option value=\"right\"></option>\r\n <option value=\"justify\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #clean>\r\n @if (config!.buttons.clean) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.clean)\">\r\n <button class=\"ql-clean\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #media>\r\n @if (config!.showMedia()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.link) {\r\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config!.tooltips.link)\"></button>\r\n }\r\n @if (config!.buttons.image) {\r\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config!.tooltips.image)\"></button>\r\n }\r\n @if (config!.buttons.video) {\r\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config!.tooltips.video)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #editorSize>\r\n <div>\r\n @if (config!.buttons.rawEditor) {\r\n <span class=\"ql-formats\">\r\n <button id=\"rawdog\"\r\n [matTooltip]=\"tooltip(config!.tooltips.rawEditor)\">\r\n <mat-icon (click)=\"rawEdit()\">\r\n code\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n\r\n @if (config!.buttons.editorSize) {\r\n <span class=\"ql-formats\">\r\n <button id=\"fullscreen\"\r\n [matTooltip]=\"tooltip(fullscreen ?\r\n (fullscreenMode === 'expand' ? config!.tooltips.minimize : config!.tooltips.popin) :\r\n (fullscreenMode === 'expand' ? config!.tooltips.maximize : config!.tooltips.popout))\">\r\n <mat-icon (click)=\"toggleFullscreen()\">\r\n {{ fullscreen ?\r\n (fullscreenMode === 'expand' ? config!.icons.minimize : config!.icons.popin) :\r\n (fullscreenMode === 'expand' ? config!.icons.maximize : config!.icons.popout)\r\n }}\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #formula>\r\n @if (config!.buttons.formula) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.formula)\">\r\n <button class=\"ql-formula\"></button>\r\n </span>\r\n }\r\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"] }]
|
|
400
|
+
}], propDecorators: { editor: [{
|
|
407
401
|
type: ViewChild,
|
|
408
402
|
args: [QuillEditorComponent, { static: false }]
|
|
409
403
|
}], config: [{
|
|
@@ -477,7 +471,7 @@ class QuillModule {
|
|
|
477
471
|
MatFormFieldModule,
|
|
478
472
|
MatIconModule,
|
|
479
473
|
MatInputModule,
|
|
480
|
-
MatTooltipModule,
|
|
474
|
+
MatTooltipModule, i5$1.QuillModule], exports: [EditorComponent,
|
|
481
475
|
RawComponent] }); }
|
|
482
476
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: QuillModule, imports: [CommonModule,
|
|
483
477
|
FormsModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleavelandprice-ngx-lib-quill.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/quill/src/model/buttons.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/model/icons.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/model/tooltips.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/model/config.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/components/raw/raw.component.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/components/raw/raw.component.html","../../../../projects/cleavelandprice/ngx-lib/quill/src/components/editor/editor.component.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/components/editor/editor.component.html","../../../../projects/cleavelandprice/ngx-lib/quill/src/quill.module.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/cleavelandprice-ngx-lib-quill.ts"],"sourcesContent":["export class Buttons {\r\n //#region Font Style\r\n bold = true;\r\n italic = true;\r\n strike = true;\r\n underline = true;\r\n //#endregion\r\n\r\n //#region Media\r\n link = true;\r\n image = true;\r\n video = true;\r\n //#endregion\r\n\r\n //#region Block Style\r\n blockquote = true;\r\n codeblock = true;\r\n //#endregion\r\n\r\n //#region Heading Style\r\n h1 = true;\r\n h2 = true;\r\n //#endregion\r\n\r\n //#region Color\r\n color = true;\r\n //#endregion\r\n\r\n //#region List Style\r\n bulleted = true;\r\n ordered = true;\r\n //#endregion\r\n\r\n //#region Script Style\r\n subScript = true;\r\n superScript = true;\r\n //#endregion\r\n\r\n //#region Indent Style\r\n increaseIndent = true;\r\n decreaseIndent = true;\r\n //#endregion\r\n\r\n //#region DropDowns\r\n align = true;\r\n font = true;\r\n fontSize = true;\r\n headingStyle = true;\r\n //#endregion\r\n\r\n //#region Single Buttons\r\n clean = true;\r\n formula = true;\r\n rtl = true;\r\n editorSize = true;\r\n rawEditor = false;\r\n //#endregion\r\n}","export class Icons {\r\n maximize = 'open_in_full';\r\n minimize = 'close_fullscreen';\r\n popout = 'open_in_full';\r\n popin = 'done';\r\n}","export class Tooltips {\r\n //#region Font Style\r\n bold = 'Bold';\r\n italic = 'Italic';\r\n strike = 'Strikethrough';\r\n underline = 'Underline';\r\n //#endregion\r\n\r\n //#region Media\r\n link = 'Link';\r\n image = 'Insert Image';\r\n video = 'Insert Video';\r\n //#endregion\r\n\r\n //#region Block Style\r\n blockquote = 'Blockquote';\r\n codeblock = 'Code Block';\r\n //#endregion\r\n\r\n //#region Heading Style\r\n h1 = 'Heading 1';\r\n h2 = 'Heading 2';\r\n //#endregion\r\n\r\n //#region Color\r\n color = 'Font / Background Color';\r\n //#endregion\r\n\r\n //#region List Style\r\n bulleted = 'Bulleted List';\r\n ordered = 'Ordered List';\r\n //#endregion\r\n\r\n //#region Script Style\r\n subScript = 'Subscript';\r\n superScript = 'Superscript';\r\n //#endregion\r\n\r\n //#region Indent Style\r\n increaseIndent = 'Increase Indent';\r\n decreaseIndent = 'Decrease Indent';\r\n //#endregion\r\n\r\n //#region DropDowns\r\n align = 'Align';\r\n font = 'Font';\r\n fontSize = 'Font Size';\r\n headingStyle = 'Heading';\r\n //#endregion\r\n\r\n //#region Single Buttons\r\n clean = 'Clean';\r\n formula = 'Formula';\r\n rtl = 'Right-To-Left';\r\n maximize = 'Maximize';\r\n minimize = 'Minimize';\r\n popout = 'Popout';\r\n popin = 'Done';\r\n rawEditor = 'Edit raw HTML (dangerous!)'\r\n //#endregion\r\n}","import { Buttons } from \"./buttons\";\r\nimport { Icons } from \"./icons\";\r\nimport { Tooltips } from \"./tooltips\";\r\n\r\nexport class Config {\r\n buttons = new Buttons();\r\n tooltips = new Tooltips();\r\n icons = new Icons();\r\n\r\n //#region These can be overriden via @Input()\r\n format: 'object' | 'html' | 'text' | 'json' = 'html';\r\n height = '50vh';\r\n width = '100%';\r\n fullscreenHeight = '85vh';\r\n fullscreenWidth = '100%';\r\n enableTooltips = true;\r\n fullscreen = false;\r\n fullscreenMode: 'expand' | 'popout' = 'popout';\r\n readonly = false;\r\n applyReadonlyStyle = true;\r\n showToolbar = true;\r\n showBorder = true;\r\n\r\n //#region Optional Quill modules\r\n imageResizeModule = true;\r\n imageDropModule = true;\r\n //mentionModule = true;\r\n syntaxModule = true;\r\n //#endregion\r\n\r\n //#endregion\r\n\r\n //#region Groups\r\n showBlockStyle = () => this.buttons.blockquote || this.buttons.codeblock;\r\n showFontStyle = () => this.buttons.bold || this.buttons.italic || this.buttons.strike || this.buttons.underline;\r\n showQuickHeadingStyle = () => this.buttons.h1 || this.buttons.h2;\r\n showIndentStyle = () => this.buttons.decreaseIndent || this.buttons.increaseIndent;\r\n showListStyle = () => this.buttons.bulleted || this.buttons.ordered;\r\n showMedia = () => this.buttons.link || this.buttons.image || this.buttons.video;\r\n showScriptStyle = () => this.buttons.subScript || this.buttons.superScript;\r\n //#endregion\r\n}","import { Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'cpquill-raw',\n templateUrl: './raw.component.html',\n styleUrls: ['./raw.component.css']\n})\nexport class RawComponent {\n public data = inject<string>(MAT_DIALOG_DATA);\n}","<mat-dialog-content>\n <form>\n <mat-form-field appearance=\"outline\">\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\n </mat-form-field>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\n <mat-icon>cancel</mat-icon>\n <span>Cancel</span>\n </button>\n\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\n <mat-icon>done</mat-icon>\n <span>Accept</span>\n </button>\n</mat-dialog-actions>","import { Component, EventEmitter, forwardRef, Inject, Input, OnInit, Optional, Output, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\n//import { FormGroup } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\n//import { ActiveDirectoryService, User } from '@cleavelandprice/ngx-lib/active-directory';\r\n\r\nimport { Blur, ContentChange, EditorChangeContent, EditorChangeSelection, Focus, QuillEditorComponent, SelectionChange } from 'ngx-quill';\r\n\r\n//import 'quill-mention';\r\n\r\n//#region Moved to client responsibility\r\n//import Quill from 'quill';\r\n\r\n// This doesn't work when done from the library - it must be done from the client app\r\n//import ImageResize from 'quill-image-resize-module';\r\n//Quill.register('modules/imageResize', ImageResize);\r\n\r\n// Treating ImageDrop the same way as ImageResize, even though it doesn't have the same problem described above\r\n//import { ImageDrop } from 'quill-image-drop-module';\r\n\r\n//#endregion\r\n\r\nimport { Config } from '../../model/config';\r\nimport { DialogData } from '../../model/dialog-data';\r\nimport { RawComponent } from '../raw/raw.component';\r\n\r\n@Component({\r\n selector: 'cpquill-editor',\r\n templateUrl: './editor.component.html',\r\n styleUrls: ['./editor.component.css'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => EditorComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class EditorComponent implements OnInit, ControlValueAccessor {\r\n @ViewChild(QuillEditorComponent, { static: false }) editor?: QuillEditorComponent;\r\n\r\n //#region ControlValueAccessor stuff\r\n // https://stackoverflow.com/questions/50618050/how-to-create-custom-input-component-with-ngmodel-working-in-angular-6\r\n value: any; // string\r\n onChange: (_: any) => void = (_: any) => {}; // Invoked when the model has been changed\r\n onTouched: () => void = () => {}; // Invoked when the model has been touched\r\n //#endregion\r\n \r\n @Input() config?: Config;\r\n @Input() placeholder?: string;\r\n //@Input() users?: User[];\r\n\r\n //#region These can be passed in as @Input(), or use values from config\r\n @Input() format!: 'object' | 'html' | 'text' | 'json';\r\n @Input() height!: string;\r\n @Input() width!: string;\r\n @Input() fullscreenHeight!: string;\r\n @Input() fullscreenWidth!: string;\r\n @Input() fullscreenMode!: 'expand' | 'popout';\r\n\r\n @Input() enableTooltips?: boolean;\r\n @Input() fullscreen?: boolean;\r\n @Input() readonly?: boolean;\r\n @Input() applyReadonlyStyle?: boolean;\r\n @Input() showToolbar?: boolean;\r\n @Input() showBorder?: boolean;\r\n\r\n //#region Optional Quill modules\r\n @Input() imageResizeModule?: boolean;\r\n @Input() imageDropModule?: boolean;\r\n //@Input() mentionModule?: boolean;\r\n @Input() syntaxModule?: boolean;\r\n //#endregion\r\n //#endregion\r\n\r\n @Output() fullscreenChanged = new EventEmitter<boolean>();\r\n\r\n //#region Passthrough events\r\n @Output() onBlur = new EventEmitter<Blur>();\r\n @Output() onContentChanged = new EventEmitter<ContentChange>();\r\n @Output() onEditorChanged = new EventEmitter<EditorChangeContent | EditorChangeSelection>();\r\n @Output() onEditorCreated = new EventEmitter();\r\n @Output() onFocus = new EventEmitter<Focus>();\r\n @Output() onSelectionChanged = new EventEmitter<SelectionChange>();\r\n //#endregion\r\n\r\n constructor(@Optional() @Inject(MAT_DIALOG_DATA) private data: DialogData,\r\n @Optional() private dialogRef: MatDialogRef<EditorComponent>,\r\n //private activeDirectoryService: ActiveDirectoryService,\r\n private dialog: MatDialog) { \r\n }\r\n\r\n ngOnInit(): void {\r\n this.initialize();\r\n \r\n /*if (!this.users) {\r\n this.activeDirectoryService.getUsers().subscribe(users =>\r\n this.users = users\r\n );\r\n }*/\r\n }\r\n\r\n initialize(): void {\r\n this.config = this.config ?? this.data?.config ?? new Config();\r\n\r\n this.value = this.value ?? this.data?.value;\r\n\r\n // Moved to client responsibility\r\n /*if (this.imageDropModule) {\r\n Quill.register('modules/imageDrop', ImageDrop);\r\n }*/\r\n\r\n this.placeholder = this.placeholder ?? this.data?.placeholder;\r\n //this.users = this.users ?? this.data?.users;\r\n\r\n this.imageDropModule = this.imageDropModule ?? this.data?.imageDropModule ?? this.config.imageDropModule;\r\n this.imageResizeModule = this.imageResizeModule ?? this.data?.imageResizeModule ?? this.config.imageResizeModule;\r\n this.syntaxModule = this.syntaxModule ?? this.data?.syntaxModule ?? this.config.syntaxModule;\r\n\r\n this.format = this.format ?? this.data?.format ?? this.config.format;\r\n this.height = this.height ?? this.data?.height ?? this.config.height;\r\n this.width = this.width ?? this.data?.width ?? this.config.width;\r\n this.fullscreenHeight = this.fullscreenHeight ?? this.data?.maxHeight ?? this.config.fullscreenHeight;\r\n this.fullscreenWidth = this.fullscreenWidth ?? this.data?.maxWidth ?? this.config.fullscreenWidth;\r\n this.fullscreenMode = this.fullscreenMode ?? this.data?.fullscreenMode ?? this.config.fullscreenMode;\r\n\r\n this.enableTooltips = this.enableTooltips !== undefined ?\r\n this.enableTooltips :\r\n this.data?.enableTooltips ?? this.config.enableTooltips;\r\n\r\n this.fullscreen = this.fullscreen !== undefined ?\r\n this.fullscreen :\r\n this.data?.fullscreen ?? this.config.fullscreen;\r\n\r\n this.readonly = this.readonly !== undefined ?\r\n this.readonly :\r\n this.data?.readonly ?? this.config.readonly;\r\n\r\n this.applyReadonlyStyle = this.applyReadonlyStyle !== undefined ?\r\n this.applyReadonlyStyle :\r\n this.data?.applyReadonlyStyle ?? this.config.applyReadonlyStyle;\r\n\r\n this.showToolbar = this.showToolbar !== undefined ?\r\n this.showToolbar :\r\n this.data?.showToolbar ?? this.config.showToolbar;\r\n\r\n this.showBorder = this.showBorder !== undefined ?\r\n this.showBorder :\r\n this.data?.showBorder ?? this.config.showBorder;\r\n }\r\n\r\n toggleFullscreen(): void {\r\n if (this.fullscreenMode === 'expand') {\r\n this.fullscreen = !this.fullscreen;\r\n this.fullscreenChanged.emit(this.fullscreen);\r\n }\r\n else {\r\n if (this.fullscreen) {\r\n this.dialogRef.close(this.value);\r\n this.fullscreenChanged.emit(false);\r\n } else {\r\n const data: DialogData = {\r\n\r\n value: this.value,\r\n config: this.config,\r\n placeholder: this.placeholder,\r\n format: this.format,\r\n height: this.fullscreenHeight,\r\n width: '100%',\r\n maxHeight: this.fullscreenHeight,\r\n maxWidth: '100%',\r\n enableTooltips: this.enableTooltips!,\r\n fullscreen: true,\r\n fullscreenMode: this.fullscreenMode,\r\n readonly: this.readonly!,\r\n applyReadonlyStyle: this.applyReadonlyStyle!,\r\n showToolbar: this.showToolbar!,\r\n showBorder: this.showBorder!,\r\n imageResizeModule: this.imageResizeModule!,\r\n imageDropModule: this.imageDropModule!,\r\n syntaxModule: this.syntaxModule!\r\n //users: this.users\r\n };\r\n\r\n this.dialog.open(EditorComponent, {\r\n disableClose: true,\r\n width: this.fullscreenWidth,\r\n height: this.fullscreenHeight,\r\n data\r\n })\r\n .afterClosed()\r\n .subscribe(value => {\r\n this.value = value;\r\n this.updateChanges();\r\n });\r\n\r\n this.fullscreenChanged.emit(true);\r\n }\r\n }\r\n }\r\n\r\n rawEdit(): void {\r\n this.dialog.open(RawComponent, {\r\n data: this.value,\r\n disableClose: true,\r\n height: '90%',\r\n width: '100%'\r\n })\r\n .afterClosed()\r\n .subscribe(value => {\r\n if (value === '__DO!!NOT!!UPDATE__') {\r\n return;\r\n }\r\n\r\n this.value = value;\r\n });\r\n }\r\n\r\n tooltip(val: string): string {\r\n return this.enableTooltips ? val : '';\r\n }\r\n\r\n get modules() {\r\n //if (!this.users) { return undefined; }\r\n\r\n const modules = { };\r\n\r\n if (!this.showToolbar) {\r\n modules['toolbar'] = [];\r\n }\r\n\r\n if (this.imageResizeModule) {\r\n modules['imageResize'] = {};\r\n }\r\n\r\n if (this.imageDropModule) {\r\n modules['imageDrop'] = true;\r\n }\r\n\r\n if (this.syntaxModule) {\r\n modules['syntax'] = true;\r\n }\r\n\r\n /*if (this.mentionModule) {\r\n modules['mention'] = {\r\n allowedChars: /^[A-Za-z\\sÅÄÖåäö]*$/,\r\n\r\n onSelect: (item: DOMStringMap, insertItem: any) => {\r\n const editor = this.editor!.quillEditor\r\n insertItem(item)\r\n // necessary because quill-mention triggers changes as 'api' instead of 'user'\r\n editor.insertText(editor.getLength() - 1, '', 'user')\r\n },\r\n\r\n source: (searchTerm: string, renderList: any) => {\r\n if (searchTerm.length === 0) {\r\n renderList(this.users?.map(u => ({ value: `${u.displayName} (${u.sAMAccountName.toLowerCase()})` })), searchTerm)\r\n } else {\r\n const matches: any[] = []\r\n\r\n this.users!.forEach((entry) => {\r\n if (\r\n entry.displayName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 ||\r\n entry.sAMAccountName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1\r\n ) {\r\n matches.push({ value: `${entry.displayName} (${entry.sAMAccountName.toLowerCase()})` })\r\n }\r\n })\r\n\r\n renderList(matches, searchTerm)\r\n }\r\n }\r\n };\r\n }*/\r\n\r\n return modules;\r\n }\r\n\r\n //#region ControlValueAccessor methods\r\n // Method that is invoked on an update of a model.\r\n updateChanges() {\r\n this.onChange(this.value);\r\n }\r\n\r\n //#region ControlValueAccessor Overrides\r\n\r\n // Writes a new item to the element.\r\n writeValue(value: any): void {\r\n this.value = value;\r\n this.updateChanges();\r\n }\r\n\r\n // Registers a callback function that should be called when the control's value changes in the UI.\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n // Registers a callback function that should be called when the control receives a blur event.\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n //#endregion\r\n\r\n //#endregion\r\n}","<ng-container>\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 @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>","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport { QuillModule as NgxQuillModule } from 'ngx-quill';\r\n\r\nimport { EditorComponent } from './components/editor/editor.component';\r\nimport { RawComponent } from './components/raw/raw.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n EditorComponent,\r\n RawComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n\r\n NgxQuillModule.forRoot()\r\n ],\r\n exports: [\r\n EditorComponent,\r\n RawComponent\r\n ]\r\n})\r\nexport class QuillModule {\r\n static forRoot(): ModuleWithProviders<QuillModule> {\r\n return {\r\n ngModule: QuillModule\r\n };\r\n }\r\n\r\n constructor(@Optional() @SkipSelf() parentModule: QuillModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'QuillModule is already loaded. Import it in the AppModule only');\r\n }\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3","i2","i4","i5","i6","NgxQuillModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;MAAa,OAAO,CAAA;AAApB,IAAA,WAAA,GAAA;;QAEI,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;QACZ,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;QACd,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;QACd,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;;;QAIjB,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;QACZ,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;QACb,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;;;QAIb,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;QAClB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;;;QAIjB,IAAE,CAAA,EAAA,GAAG,IAAI,CAAC;QACV,IAAE,CAAA,EAAA,GAAG,IAAI,CAAC;;;QAIV,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;;;QAIb,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;QAChB,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;;;QAIf,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;QACjB,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;;;QAInB,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;QACtB,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;;;QAItB,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;QACb,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;QACZ,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;QAChB,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC;;;QAIpB,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;QACb,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;QACf,IAAG,CAAA,GAAA,GAAG,IAAI,CAAC;QACX,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;QAClB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;KAErB;AAAA;;MCzDY,KAAK,CAAA;AAAlB,IAAA,WAAA,GAAA;QACI,IAAQ,CAAA,QAAA,GAAG,cAAc,CAAC;QAC1B,IAAQ,CAAA,QAAA,GAAG,kBAAkB,CAAC;QAC9B,IAAM,CAAA,MAAA,GAAG,cAAc,CAAC;QACxB,IAAK,CAAA,KAAA,GAAG,MAAM,CAAC;KAClB;AAAA;;MCLY,QAAQ,CAAA;AAArB,IAAA,WAAA,GAAA;;QAEI,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC;QACd,IAAM,CAAA,MAAA,GAAG,QAAQ,CAAC;QAClB,IAAM,CAAA,MAAA,GAAG,eAAe,CAAC;QACzB,IAAS,CAAA,SAAA,GAAG,WAAW,CAAC;;;QAIxB,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC;QACd,IAAK,CAAA,KAAA,GAAG,cAAc,CAAC;QACvB,IAAK,CAAA,KAAA,GAAG,cAAc,CAAC;;;QAIvB,IAAU,CAAA,UAAA,GAAG,YAAY,CAAC;QAC1B,IAAS,CAAA,SAAA,GAAG,YAAY,CAAC;;;QAIzB,IAAE,CAAA,EAAA,GAAG,WAAW,CAAC;QACjB,IAAE,CAAA,EAAA,GAAG,WAAW,CAAC;;;QAIjB,IAAK,CAAA,KAAA,GAAG,yBAAyB,CAAC;;;QAIlC,IAAQ,CAAA,QAAA,GAAG,eAAe,CAAC;QAC3B,IAAO,CAAA,OAAA,GAAG,cAAc,CAAC;;;QAIzB,IAAS,CAAA,SAAA,GAAG,WAAW,CAAC;QACxB,IAAW,CAAA,WAAA,GAAG,aAAa,CAAC;;;QAI5B,IAAc,CAAA,cAAA,GAAG,iBAAiB,CAAC;QACnC,IAAc,CAAA,cAAA,GAAG,iBAAiB,CAAC;;;QAInC,IAAK,CAAA,KAAA,GAAG,OAAO,CAAC;QAChB,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC;QACd,IAAQ,CAAA,QAAA,GAAG,WAAW,CAAC;QACvB,IAAY,CAAA,YAAA,GAAG,SAAS,CAAC;;;QAIzB,IAAK,CAAA,KAAA,GAAG,OAAO,CAAC;QAChB,IAAO,CAAA,OAAA,GAAG,SAAS,CAAC;QACpB,IAAG,CAAA,GAAA,GAAG,eAAe,CAAC;QACtB,IAAQ,CAAA,QAAA,GAAG,UAAU,CAAC;QACtB,IAAQ,CAAA,QAAA,GAAG,UAAU,CAAC;QACtB,IAAM,CAAA,MAAA,GAAG,QAAQ,CAAC;QAClB,IAAK,CAAA,KAAA,GAAG,MAAM,CAAC;QACf,IAAS,CAAA,SAAA,GAAG,4BAA4B,CAAA;;KAE3C;AAAA;;MCxDY,MAAM,CAAA;AAAnB,IAAA,WAAA,GAAA;AACI,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAC1B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;;QAGpB,IAAM,CAAA,MAAA,GAAwC,MAAM,CAAC;QACrD,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;QAChB,IAAK,CAAA,KAAA,GAAG,MAAM,CAAC;QACf,IAAgB,CAAA,gBAAA,GAAG,MAAM,CAAC;QAC1B,IAAe,CAAA,eAAA,GAAG,MAAM,CAAC;QACzB,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;QACtB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QACnB,IAAc,CAAA,cAAA,GAAwB,QAAQ,CAAC;QAC/C,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;QAC1B,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;QACnB,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;;QAGlB,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;QACzB,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;;QAEvB,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC;;;;AAMpB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACzE,IAAa,CAAA,aAAA,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAChH,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AACjE,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;AACnF,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACpE,IAAS,CAAA,SAAA,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AAChF,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;;KAE9E;AAAA;;MCjCY,YAAY,CAAA;AALzB,IAAA,WAAA,GAAA;AAMS,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAS,eAAe,CAAC,CAAC;AAC/C,KAAA;8GAFY,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,mDCRzB,wlBAkBqB,EAAA,MAAA,EAAA,CAAA,8HAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDVR,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,wlBAAA,EAAA,MAAA,EAAA,CAAA,8HAAA,CAAA,EAAA,CAAA;;;MEgCZ,eAAe,CAAA;;IAgD1B,WAAyD,CAAA,IAAgB,EACzC,SAAwC;;IAEpD,MAAiB,EAAA;QAHoB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QACzC,IAAS,CAAA,SAAA,GAAT,SAAS,CAA+B;QAEpD,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QA7CrC,IAAQ,CAAA,QAAA,GAAqB,CAAC,CAAM,KAAM,GAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,SAAS,GAAe,SAAQ,CAAC;;;AA8BvB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAW,CAAC;;AAGhD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;AAClC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAiB,CAAC;AACrD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAA+C,CAAC;AAClF,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAE,CAAC;AACrC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAS,CAAC;AACpC,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAmB,CAAC;KAOlE;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;AAElB;;;;AAIG;KACJ;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;AAE/D,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;;AAG5C;;AAEG;AAEH,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;;AAG9D,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,EAAE,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;AACzG,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,EAAE,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;AACjH,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;AAE7F,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AACrE,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AACrE,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACjE,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;AACtG,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;AAClG,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAErG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS;YACrD,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,IAAI,EAAE,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAE1D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS;YAC7C,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAElD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS;YACzC,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAE9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,KAAK,SAAS;YAC7D,IAAI,CAAC,kBAAkB;YACvB,IAAI,CAAC,IAAI,EAAE,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAElE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS;YAC/C,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAEpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS;YAC7C,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;KACnD;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;AAClC,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC9C;aACE;AACH,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACtC;iBAAM;AACL,gBAAA,MAAM,IAAI,GAAe;oBAEvB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,gBAAgB;AAC7B,oBAAA,KAAK,EAAE,MAAM;oBACb,SAAS,EAAE,IAAI,CAAC,gBAAgB;AAChC,oBAAA,QAAQ,EAAE,MAAM;oBAChB,cAAc,EAAE,IAAI,CAAC,cAAe;AACpC,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,QAAQ,EAAE,IAAI,CAAC,QAAS;oBACxB,kBAAkB,EAAE,IAAI,CAAC,kBAAmB;oBAC5C,WAAW,EAAE,IAAI,CAAC,WAAY;oBAC9B,UAAU,EAAE,IAAI,CAAC,UAAW;oBAC5B,iBAAiB,EAAE,IAAI,CAAC,iBAAkB;oBAC1C,eAAe,EAAE,IAAI,CAAC,eAAgB;oBACtC,YAAY,EAAE,IAAI,CAAC,YAAa;;iBAEjC,CAAC;AAEF,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;AAChC,oBAAA,YAAY,EAAE,IAAI;oBAClB,KAAK,EAAE,IAAI,CAAC,eAAe;oBAC3B,MAAM,EAAE,IAAI,CAAC,gBAAgB;oBAC7B,IAAI;iBACL,CAAC;AACD,qBAAA,WAAW,EAAE;qBACb,SAAS,CAAC,KAAK,IAAG;AACjB,oBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,iBAAC,CAAC,CAAC;AAEH,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnC;SACF;KACF;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE;YAC7B,IAAI,EAAE,IAAI,CAAC,KAAK;AAChB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,KAAK,EAAE,MAAM;SACd,CAAC;AACD,aAAA,WAAW,EAAE;aACb,SAAS,CAAC,KAAK,IAAG;AACjB,YAAA,IAAI,KAAK,KAAK,qBAAqB,EAAE;gBACnC,OAAO;aACR;AAED,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACrB,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,OAAO,CAAC,GAAW,EAAA;QACjB,OAAO,IAAI,CAAC,cAAc,GAAG,GAAG,GAAG,EAAE,CAAC;KACvC;AAED,IAAA,IAAI,OAAO,GAAA;;QAGT,MAAM,OAAO,GAAG,EAAG,CAAC;AAEpB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,YAAA,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;SACzB;AAED,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;SAC7B;AAED,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;SAC7B;AAED,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;SAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BG;AAEH,QAAA,OAAO,OAAO,CAAC;KAChB;;;IAID,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;;;AAKD,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;;AAGD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;;AAGD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAtQU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,kBAgDM,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAhDpC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,kxBANf,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC9C,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAGS,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrCjC,8+RA6Qc,EAAA,MAAA,EAAA,CAAA,+VAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDzOD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,aAGf,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,qBAAqB,CAAC;AAC9C,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,8+RAAA,EAAA,MAAA,EAAA,CAAA,+VAAA,CAAA,EAAA,CAAA;;0BAkDW,QAAQ;;0BAAI,MAAM;2BAAC,eAAe,CAAA;;0BAClC,QAAQ;iEAhD+B,MAAM,EAAA,CAAA;sBAAzD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,oBAAoB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBASzC,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAIG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAGG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAII,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBAGG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBACG,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACG,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;;;MEzCI,WAAW,CAAA;AACtB,IAAA,OAAO,OAAO,GAAA;QACV,OAAO;AACL,YAAA,QAAQ,EAAE,WAAW;SACtB,CAAC;KACH;AAED,IAAA,WAAA,CAAoC,YAAyB,EAAA;QAC3D,IAAI,YAAY,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CACb,gEAAgE,CAAC,CAAC;SACrE;KACF;8GAZQ,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,iBAtBpB,eAAe;AACf,YAAA,YAAY,aAGZ,YAAY;YACZ,WAAW;YACX,mBAAmB;YAEnB,eAAe;YACf,eAAe;YACf,kBAAkB;YAClB,aAAa;YACb,cAAc;AACd,YAAA,gBAAgB,+BAKhB,eAAe;YACf,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;AAGH,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAlBpB,YAAY;YACZ,WAAW;YACX,mBAAmB;YAEnB,eAAe;YACf,eAAe;YACf,kBAAkB;YAClB,aAAa;YACb,cAAc;YACd,gBAAgB;YAEhBC,aAAc,CAAC,OAAO,EAAE,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAOf,WAAW,EAAA,UAAA,EAAA,CAAA;kBAxBvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,eAAe;wBACf,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBAEnB,eAAe;wBACf,eAAe;wBACf,kBAAkB;wBAClB,aAAa;wBACb,cAAc;wBACd,gBAAgB;wBAEhBA,aAAc,CAAC,OAAO,EAAE;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,YAAY;AACb,qBAAA;AACF,iBAAA,CAAA;;0BAQgB,QAAQ;;0BAAI,QAAQ;;;AC/CrC;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"cleavelandprice-ngx-lib-quill.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/quill/src/model/buttons.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/model/icons.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/model/tooltips.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/model/config.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/components/raw/raw.component.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/components/raw/raw.component.html","../../../../projects/cleavelandprice/ngx-lib/quill/src/components/editor/editor.component.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/components/editor/editor.component.html","../../../../projects/cleavelandprice/ngx-lib/quill/src/quill.module.ts","../../../../projects/cleavelandprice/ngx-lib/quill/src/cleavelandprice-ngx-lib-quill.ts"],"sourcesContent":["export class Buttons {\r\n //#region Font Style\r\n bold = true;\r\n italic = true;\r\n strike = true;\r\n underline = true;\r\n //#endregion\r\n\r\n //#region Media\r\n link = true;\r\n image = true;\r\n video = true;\r\n //#endregion\r\n\r\n //#region Block Style\r\n blockquote = true;\r\n codeblock = true;\r\n //#endregion\r\n\r\n //#region Heading Style\r\n h1 = true;\r\n h2 = true;\r\n //#endregion\r\n\r\n //#region Color\r\n color = true;\r\n //#endregion\r\n\r\n //#region List Style\r\n bulleted = true;\r\n ordered = true;\r\n //#endregion\r\n\r\n //#region Script Style\r\n subScript = true;\r\n superScript = true;\r\n //#endregion\r\n\r\n //#region Indent Style\r\n increaseIndent = true;\r\n decreaseIndent = true;\r\n //#endregion\r\n\r\n //#region DropDowns\r\n align = true;\r\n font = true;\r\n fontSize = true;\r\n headingStyle = true;\r\n //#endregion\r\n\r\n //#region Single Buttons\r\n clean = true;\r\n formula = true;\r\n rtl = true;\r\n editorSize = true;\r\n rawEditor = false;\r\n //#endregion\r\n}","export class Icons {\r\n maximize = 'open_in_full';\r\n minimize = 'close_fullscreen';\r\n popout = 'open_in_full';\r\n popin = 'done';\r\n}","export class Tooltips {\r\n //#region Font Style\r\n bold = 'Bold';\r\n italic = 'Italic';\r\n strike = 'Strikethrough';\r\n underline = 'Underline';\r\n //#endregion\r\n\r\n //#region Media\r\n link = 'Link';\r\n image = 'Insert Image';\r\n video = 'Insert Video';\r\n //#endregion\r\n\r\n //#region Block Style\r\n blockquote = 'Blockquote';\r\n codeblock = 'Code Block';\r\n //#endregion\r\n\r\n //#region Heading Style\r\n h1 = 'Heading 1';\r\n h2 = 'Heading 2';\r\n //#endregion\r\n\r\n //#region Color\r\n color = 'Font / Background Color';\r\n //#endregion\r\n\r\n //#region List Style\r\n bulleted = 'Bulleted List';\r\n ordered = 'Ordered List';\r\n //#endregion\r\n\r\n //#region Script Style\r\n subScript = 'Subscript';\r\n superScript = 'Superscript';\r\n //#endregion\r\n\r\n //#region Indent Style\r\n increaseIndent = 'Increase Indent';\r\n decreaseIndent = 'Decrease Indent';\r\n //#endregion\r\n\r\n //#region DropDowns\r\n align = 'Align';\r\n font = 'Font';\r\n fontSize = 'Font Size';\r\n headingStyle = 'Heading';\r\n //#endregion\r\n\r\n //#region Single Buttons\r\n clean = 'Clean';\r\n formula = 'Formula';\r\n rtl = 'Right-To-Left';\r\n maximize = 'Maximize';\r\n minimize = 'Minimize';\r\n popout = 'Popout';\r\n popin = 'Done';\r\n rawEditor = 'Edit raw HTML (dangerous!)'\r\n //#endregion\r\n}","import { Buttons } from \"./buttons\";\r\nimport { Icons } from \"./icons\";\r\nimport { Tooltips } from \"./tooltips\";\r\n\r\nexport class Config {\r\n buttons = new Buttons();\r\n tooltips = new Tooltips();\r\n icons = new Icons();\r\n\r\n //#region These can be overriden via @Input()\r\n format: 'object' | 'html' | 'text' | 'json' = 'html';\r\n height = '50vh';\r\n width = '100%';\r\n fullscreenHeight = '85vh';\r\n fullscreenWidth = '100%';\r\n enableTooltips = true;\r\n fullscreen = false;\r\n fullscreenMode: 'expand' | 'popout' = 'popout';\r\n readonly = false;\r\n applyReadonlyStyle = true;\r\n showToolbar = true;\r\n showBorder = true;\r\n\r\n //#region Optional Quill modules\r\n imageResizeModule = true;\r\n imageDropModule = true;\r\n //mentionModule = true;\r\n syntaxModule = true;\r\n //#endregion\r\n\r\n //#endregion\r\n\r\n //#region Groups\r\n showBlockStyle = () => this.buttons.blockquote || this.buttons.codeblock;\r\n showFontStyle = () => this.buttons.bold || this.buttons.italic || this.buttons.strike || this.buttons.underline;\r\n showQuickHeadingStyle = () => this.buttons.h1 || this.buttons.h2;\r\n showIndentStyle = () => this.buttons.decreaseIndent || this.buttons.increaseIndent;\r\n showListStyle = () => this.buttons.bulleted || this.buttons.ordered;\r\n showMedia = () => this.buttons.link || this.buttons.image || this.buttons.video;\r\n showScriptStyle = () => this.buttons.subScript || this.buttons.superScript;\r\n //#endregion\r\n}","import { Component, inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'cpquill-raw',\r\n templateUrl: './raw.component.html',\r\n styleUrls: ['./raw.component.css']\r\n})\r\nexport class RawComponent {\r\n public data = inject<string>(MAT_DIALOG_DATA);\r\n}","<mat-dialog-content>\r\n <form>\r\n <mat-form-field appearance=\"outline\">\r\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\r\n </mat-form-field>\r\n </form>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\r\n <mat-icon>cancel</mat-icon>\r\n <span>Cancel</span>\r\n </button>\r\n\r\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\r\n <mat-icon>done</mat-icon>\r\n <span>Accept</span>\r\n </button>\r\n</mat-dialog-actions>","import { Component, EventEmitter, forwardRef, inject, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\n//import { FormGroup } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\n//import { ActiveDirectoryService, User } from '@cleavelandprice/ngx-lib/active-directory';\r\n\r\nimport { Blur, ContentChange, EditorChangeContent, EditorChangeSelection, Focus, QuillEditorComponent, SelectionChange } from 'ngx-quill';\r\n\r\n//import 'quill-mention';\r\n\r\n//#region Moved to client responsibility\r\n//import Quill from 'quill';\r\n\r\n// This doesn't work when done from the library - it must be done from the client app\r\n//import ImageResize from 'quill-image-resize-module';\r\n//Quill.register('modules/imageResize', ImageResize);\r\n\r\n// Treating ImageDrop the same way as ImageResize, even though it doesn't have the same problem described above\r\n//import { ImageDrop } from 'quill-image-drop-module';\r\n\r\n//#endregion\r\n\r\nimport { Config } from '../../model/config';\r\nimport { DialogData } from '../../model/dialog-data';\r\nimport { RawComponent } from '../raw/raw.component';\r\n\r\n@Component({\r\n selector: 'cpquill-editor',\r\n templateUrl: './editor.component.html',\r\n styleUrls: ['./editor.component.css'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => EditorComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class EditorComponent implements OnInit, ControlValueAccessor {\r\n #data = inject<DialogData>(MAT_DIALOG_DATA, { optional: true });\r\n #dialogRef = inject(MatDialogRef<EditorComponent>, { optional: true });\r\n #dialog = inject(MatDialog);\r\n \r\n @ViewChild(QuillEditorComponent, { static: false }) editor?: QuillEditorComponent;\r\n\r\n //#region ControlValueAccessor stuff\r\n // https://stackoverflow.com/questions/50618050/how-to-create-custom-input-component-with-ngmodel-working-in-angular-6\r\n value: any; // string\r\n onChange: (_: any) => void = (_: any) => {}; // Invoked when the model has been changed\r\n onTouched: () => void = () => {}; // Invoked when the model has been touched\r\n //#endregion\r\n \r\n @Input() config?: Config;\r\n @Input() placeholder?: string;\r\n //@Input() users?: User[];\r\n\r\n //#region These can be passed in as @Input(), or use values from config\r\n @Input() format!: 'object' | 'html' | 'text' | 'json';\r\n @Input() height!: string;\r\n @Input() width!: string;\r\n @Input() fullscreenHeight!: string;\r\n @Input() fullscreenWidth!: string;\r\n @Input() fullscreenMode!: 'expand' | 'popout';\r\n\r\n @Input() enableTooltips?: boolean;\r\n @Input() fullscreen?: boolean;\r\n @Input() readonly?: boolean;\r\n @Input() applyReadonlyStyle?: boolean;\r\n @Input() showToolbar?: boolean;\r\n @Input() showBorder?: boolean;\r\n\r\n //#region Optional Quill modules\r\n @Input() imageResizeModule?: boolean;\r\n @Input() imageDropModule?: boolean;\r\n //@Input() mentionModule?: boolean;\r\n @Input() syntaxModule?: boolean;\r\n //#endregion\r\n //#endregion\r\n\r\n @Output() fullscreenChanged = new EventEmitter<boolean>();\r\n\r\n //#region Passthrough events\r\n @Output() onBlur = new EventEmitter<Blur>();\r\n @Output() onContentChanged = new EventEmitter<ContentChange>();\r\n @Output() onEditorChanged = new EventEmitter<EditorChangeContent | EditorChangeSelection>();\r\n @Output() onEditorCreated = new EventEmitter();\r\n @Output() onFocus = new EventEmitter<Focus>();\r\n @Output() onSelectionChanged = new EventEmitter<SelectionChange>();\r\n //#endregion\r\n\r\n ngOnInit(): void {\r\n this.initialize();\r\n \r\n /*if (!this.users) {\r\n this.activeDirectoryService.getUsers().subscribe(users =>\r\n this.users = users\r\n );\r\n }*/\r\n }\r\n\r\n initialize(): void {\r\n this.config = this.config ?? this.#data?.config ?? new Config();\r\n\r\n this.value = this.value ?? this.#data?.value;\r\n\r\n // Moved to client responsibility\r\n /*if (this.imageDropModule) {\r\n Quill.register('modules/imageDrop', ImageDrop);\r\n }*/\r\n\r\n this.placeholder = this.placeholder ?? this.#data?.placeholder;\r\n //this.users = this.users ?? this.data?.users;\r\n\r\n this.imageDropModule = this.imageDropModule ?? this.#data?.imageDropModule ?? this.config.imageDropModule;\r\n this.imageResizeModule = this.imageResizeModule ?? this.#data?.imageResizeModule ?? this.config.imageResizeModule;\r\n this.syntaxModule = this.syntaxModule ?? this.#data?.syntaxModule ?? this.config.syntaxModule;\r\n\r\n this.format = this.format ?? this.#data?.format ?? this.config.format;\r\n this.height = this.height ?? this.#data?.height ?? this.config.height;\r\n this.width = this.width ?? this.#data?.width ?? this.config.width;\r\n this.fullscreenHeight = this.fullscreenHeight ?? this.#data?.maxHeight ?? this.config.fullscreenHeight;\r\n this.fullscreenWidth = this.fullscreenWidth ?? this.#data?.maxWidth ?? this.config.fullscreenWidth;\r\n this.fullscreenMode = this.fullscreenMode ?? this.#data?.fullscreenMode ?? this.config.fullscreenMode;\r\n\r\n this.enableTooltips = this.enableTooltips !== undefined ?\r\n this.enableTooltips :\r\n this.#data?.enableTooltips ?? this.config.enableTooltips;\r\n\r\n this.fullscreen = this.fullscreen !== undefined ?\r\n this.fullscreen :\r\n this.#data?.fullscreen ?? this.config.fullscreen;\r\n\r\n this.readonly = this.readonly !== undefined ?\r\n this.readonly :\r\n this.#data?.readonly ?? this.config.readonly;\r\n\r\n this.applyReadonlyStyle = this.applyReadonlyStyle !== undefined ?\r\n this.applyReadonlyStyle :\r\n this.#data?.applyReadonlyStyle ?? this.config.applyReadonlyStyle;\r\n\r\n this.showToolbar = this.showToolbar !== undefined ?\r\n this.showToolbar :\r\n this.#data?.showToolbar ?? this.config.showToolbar;\r\n\r\n this.showBorder = this.showBorder !== undefined ?\r\n this.showBorder :\r\n this.#data?.showBorder ?? this.config.showBorder;\r\n }\r\n\r\n toggleFullscreen(): void {\r\n if (this.fullscreenMode === 'expand') {\r\n this.fullscreen = !this.fullscreen;\r\n this.fullscreenChanged.emit(this.fullscreen);\r\n }\r\n else {\r\n if (this.fullscreen) {\r\n this.#dialogRef?.close(this.value);\r\n this.fullscreenChanged.emit(false);\r\n } else {\r\n const data: DialogData = {\r\n\r\n value: this.value,\r\n config: this.config,\r\n placeholder: this.placeholder,\r\n format: this.format,\r\n height: this.fullscreenHeight,\r\n width: '100%',\r\n maxHeight: this.fullscreenHeight,\r\n maxWidth: '100%',\r\n enableTooltips: this.enableTooltips!,\r\n fullscreen: true,\r\n fullscreenMode: this.fullscreenMode,\r\n readonly: this.readonly!,\r\n applyReadonlyStyle: this.applyReadonlyStyle!,\r\n showToolbar: this.showToolbar!,\r\n showBorder: this.showBorder!,\r\n imageResizeModule: this.imageResizeModule!,\r\n imageDropModule: this.imageDropModule!,\r\n syntaxModule: this.syntaxModule!\r\n //users: this.users\r\n };\r\n\r\n this.#dialog.open(EditorComponent, {\r\n disableClose: true,\r\n width: this.fullscreenWidth,\r\n height: this.fullscreenHeight,\r\n data\r\n })\r\n .afterClosed()\r\n .subscribe(value => {\r\n this.value = value;\r\n this.updateChanges();\r\n });\r\n\r\n this.fullscreenChanged.emit(true);\r\n }\r\n }\r\n }\r\n\r\n rawEdit(): void {\r\n this.#dialog.open(RawComponent, {\r\n data: this.value,\r\n disableClose: true,\r\n height: '90%',\r\n width: '100%'\r\n })\r\n .afterClosed()\r\n .subscribe(value => {\r\n if (value === '__DO!!NOT!!UPDATE__') {\r\n return;\r\n }\r\n\r\n this.value = value;\r\n });\r\n }\r\n\r\n tooltip(val: string): string {\r\n return this.enableTooltips ? val : '';\r\n }\r\n\r\n get modules() {\r\n //if (!this.users) { return undefined; }\r\n\r\n const modules = { };\r\n\r\n if (!this.showToolbar) {\r\n modules['toolbar'] = [];\r\n }\r\n\r\n if (this.imageResizeModule) {\r\n modules['imageResize'] = {};\r\n }\r\n\r\n if (this.imageDropModule) {\r\n modules['imageDrop'] = true;\r\n }\r\n\r\n if (this.syntaxModule) {\r\n modules['syntax'] = true;\r\n }\r\n\r\n /*if (this.mentionModule) {\r\n modules['mention'] = {\r\n allowedChars: /^[A-Za-z\\sÅÄÖåäö]*$/,\r\n\r\n onSelect: (item: DOMStringMap, insertItem: any) => {\r\n const editor = this.editor!.quillEditor\r\n insertItem(item)\r\n // necessary because quill-mention triggers changes as 'api' instead of 'user'\r\n editor.insertText(editor.getLength() - 1, '', 'user')\r\n },\r\n\r\n source: (searchTerm: string, renderList: any) => {\r\n if (searchTerm.length === 0) {\r\n renderList(this.users?.map(u => ({ value: `${u.displayName} (${u.sAMAccountName.toLowerCase()})` })), searchTerm)\r\n } else {\r\n const matches: any[] = []\r\n\r\n this.users!.forEach((entry) => {\r\n if (\r\n entry.displayName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 ||\r\n entry.sAMAccountName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1\r\n ) {\r\n matches.push({ value: `${entry.displayName} (${entry.sAMAccountName.toLowerCase()})` })\r\n }\r\n })\r\n\r\n renderList(matches, searchTerm)\r\n }\r\n }\r\n };\r\n }*/\r\n\r\n return modules;\r\n }\r\n\r\n //#region ControlValueAccessor methods\r\n // Method that is invoked on an update of a model.\r\n updateChanges() {\r\n this.onChange(this.value);\r\n }\r\n\r\n //#region ControlValueAccessor Overrides\r\n\r\n // Writes a new item to the element.\r\n writeValue(value: any): void {\r\n this.value = value;\r\n this.updateChanges();\r\n }\r\n\r\n // Registers a callback function that should be called when the control's value changes in the UI.\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n // Registers a callback function that should be called when the control receives a blur event.\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n //#endregion\r\n\r\n //#endregion\r\n}","<ng-container>\r\n <form>\r\n <quill-editor name=\"editor\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"updateChanges()\"\r\n\r\n [placeholder]=\"placeholder\"\r\n [format]=\"format\"\r\n [style.height]=\"fullscreen ? fullscreenHeight : height\"\r\n [style.width]=\"fullscreen ? fullscreenWidth : width\"\r\n [readOnly]=\"readonly\"\r\n [class.readonly]=\"readonly && applyReadonlyStyle\"\r\n [class.no-toolbar]=\"!showToolbar\"\r\n [class.no-border]=\"!showBorder\"\r\n [modules]=\"modules\"\r\n\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onContentChanged)=\"onContentChanged.emit($event)\"\r\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\r\n (onEditorCreated)=\"onEditorCreated.emit()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n\r\n @if (showToolbar) {\r\n <div quill-editor-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\r\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\r\n </div>\r\n }\r\n </quill-editor>\r\n </form>\r\n</ng-container>\r\n\r\n<ng-template #toolbar>\r\n <div>\r\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\r\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\r\n <ng-container [ngTemplateOutlet]=\"heading\"/>\r\n <ng-container [ngTemplateOutlet]=\"color\"/>\r\n <ng-container [ngTemplateOutlet]=\"font\"/>\r\n <ng-container [ngTemplateOutlet]=\"align\"/>\r\n <ng-container [ngTemplateOutlet]=\"clean\"/>\r\n <ng-container [ngTemplateOutlet]=\"formula\"/>\r\n <ng-container [ngTemplateOutlet]=\"media\"/>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #fontStyle>\r\n @if (config!.showFontStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.bold) {\r\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config!.tooltips.bold)\"></button>\r\n }\r\n @if (config!.buttons.italic) {\r\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config!.tooltips.italic)\"></button>\r\n }\r\n @if (config!.buttons.underline) {\r\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config!.tooltips.underline)\"></button>\r\n }\r\n @if (config!.buttons.strike) {\r\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config!.tooltips.strike)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #blockStyle>\r\n @if (config!.showBlockStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.blockquote) {\r\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config!.tooltips.blockquote)\"></button>\r\n }\r\n @if (config!.buttons.codeblock) {\r\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config!.tooltips.codeblock)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #headingStyle>\r\n @if (config!.showQuickHeadingStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.h1) {\r\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config!.tooltips.h1)\"></button>\r\n }\r\n @if (config!.buttons.h2) {\r\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config!.tooltips.h2)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #listStyle>\r\n @if (config!.showListStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.ordered) {\r\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config!.tooltips.ordered)\"></button>\r\n }\r\n @if (config!.buttons.bulleted) {\r\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config!.tooltips.bulleted)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #scriptStyle>\r\n @if (config!.showScriptStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.subScript) {\r\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config!.tooltips.subScript)\"></button>\r\n }\r\n @if (config!.buttons.superScript) {\r\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config!.tooltips.superScript)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #indentStyle>\r\n @if (config!.showIndentStyle()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.decreaseIndent) {\r\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config!.tooltips.decreaseIndent)\"></button>\r\n }\r\n @if (config!.buttons.increaseIndent) {\r\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config!.tooltips.increaseIndent)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #rtl>\r\n @if (config!.buttons.rtl) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config!.tooltips.rtl)\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #fontSize>\r\n @if (config!.buttons.fontSize) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.fontSize)\">\r\n <select class=\"ql-size\">\r\n <option value=\"small\"></option>\r\n <option selected></option>\r\n <option value=\"large\"></option>\r\n <option value=\"huge\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #heading>\r\n @if (config!.buttons.headingStyle) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.headingStyle)\">\r\n <select class=\"ql-header\">\r\n <option value=\"1\"></option>\r\n <option value=\"2\"></option>\r\n <option value=\"3\"></option>\r\n <option value=\"4\"></option>\r\n <option value=\"5\"></option>\r\n <option value=\"6\"></option>\r\n <option selected=\"selected\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #color>\r\n @if (config!.buttons.color) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.color)\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #font>\r\n @if (config!.buttons.font) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.font)\">\r\n <select class=\"ql-font\">\r\n <option selected></option>\r\n <option value=\"serif\"></option>\r\n <option value=\"monospace\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #align>\r\n @if (config!.buttons.align) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.align)\">\r\n <select class=\"ql-align\">\r\n <option selected></option>\r\n <option value=\"center\"></option>\r\n <option value=\"right\"></option>\r\n <option value=\"justify\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #clean>\r\n @if (config!.buttons.clean) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.clean)\">\r\n <button class=\"ql-clean\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #media>\r\n @if (config!.showMedia()) {\r\n <span class=\"ql-formats\">\r\n @if (config!.buttons.link) {\r\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config!.tooltips.link)\"></button>\r\n }\r\n @if (config!.buttons.image) {\r\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config!.tooltips.image)\"></button>\r\n }\r\n @if (config!.buttons.video) {\r\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config!.tooltips.video)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #editorSize>\r\n <div>\r\n @if (config!.buttons.rawEditor) {\r\n <span class=\"ql-formats\">\r\n <button id=\"rawdog\"\r\n [matTooltip]=\"tooltip(config!.tooltips.rawEditor)\">\r\n <mat-icon (click)=\"rawEdit()\">\r\n code\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n\r\n @if (config!.buttons.editorSize) {\r\n <span class=\"ql-formats\">\r\n <button id=\"fullscreen\"\r\n [matTooltip]=\"tooltip(fullscreen ?\r\n (fullscreenMode === 'expand' ? config!.tooltips.minimize : config!.tooltips.popin) :\r\n (fullscreenMode === 'expand' ? config!.tooltips.maximize : config!.tooltips.popout))\">\r\n <mat-icon (click)=\"toggleFullscreen()\">\r\n {{ fullscreen ?\r\n (fullscreenMode === 'expand' ? config!.icons.minimize : config!.icons.popin) :\r\n (fullscreenMode === 'expand' ? config!.icons.maximize : config!.icons.popout)\r\n }}\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #formula>\r\n @if (config!.buttons.formula) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config!.tooltips.formula)\">\r\n <button class=\"ql-formula\"></button>\r\n </span>\r\n }\r\n</ng-template>","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport { QuillModule as NgxQuillModule } from 'ngx-quill';\r\n\r\nimport { EditorComponent } from './components/editor/editor.component';\r\nimport { RawComponent } from './components/raw/raw.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n EditorComponent,\r\n RawComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n\r\n NgxQuillModule.forRoot()\r\n ],\r\n exports: [\r\n EditorComponent,\r\n RawComponent\r\n ]\r\n})\r\nexport class QuillModule {\r\n static forRoot(): ModuleWithProviders<QuillModule> {\r\n return {\r\n ngModule: QuillModule\r\n };\r\n }\r\n\r\n constructor(@Optional() @SkipSelf() parentModule: QuillModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'QuillModule is already loaded. Import it in the AppModule only');\r\n }\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3","i4","i5","NgxQuillModule"],"mappings":"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"}
|