@eui/components 18.0.0-rc.24 → 18.0.0-rc.26
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/docs/components/ChartComponent.html +10 -124
- package/docs/components/EuiEditorCountersComponent.html +15 -202
- package/docs/components/EuiNotificationItemComponent.html +5 -62
- package/docs/components/EuiNotificationItemV2Component.html +5 -62
- package/docs/components/EuiNotificationsComponent.html +40 -512
- package/docs/components/EuiNotificationsV2Component.html +40 -507
- package/docs/components/EuiPageBreadcrumbComponent.html +8 -0
- package/docs/components/EuiPageColumnComponent.html +19 -113
- package/docs/components/EuiPageColumnsComponent.html +8 -0
- package/docs/components/EuiPageComponent.html +8 -0
- package/docs/components/EuiPageContentComponent.html +8 -0
- package/docs/components/EuiPageFooterComponent.html +8 -0
- package/docs/components/EuiPageHeaderActionItemsComponent.html +8 -0
- package/docs/components/EuiPageHeaderBodyComponent.html +8 -0
- package/docs/components/EuiPageHeaderComponent.html +15 -2
- package/docs/components/EuiPageHeaderSubLabelComponent.html +8 -0
- package/docs/components/EuiPageHeroHeaderComponent.html +8 -0
- package/docs/components/EuiPageTopContentComponent.html +8 -0
- package/docs/components/EuiPaginatorComponent.html +15 -209
- package/docs/components/EuiSelectComponent.html +0 -62
- package/docs/components/EuiTreeComponent.html +45 -558
- package/docs/components/EuiWizardComponent.html +15 -202
- package/docs/components/EuiWizardStepComponent.html +30 -388
- package/docs/components/QuillEditorComponent.html +20 -326
- package/docs/dependencies.html +3 -1
- package/docs/directives/AutoResizeDirective.html +5 -62
- package/docs/directives/EuiNgSelectOptionDirective.html +0 -62
- package/docs/directives/EuiPageColumnBodyContentDirective.html +4 -0
- package/docs/directives/EuiPageColumnFooterContentDirective.html +4 -0
- package/docs/directives/EuiPageColumnHeaderBodyContentDirective.html +4 -0
- package/docs/directives/EuiPageColumnHeaderCollapsedContentDirective.html +4 -0
- package/docs/directives/EuiPageColumnHeaderLeftContentDirective.html +4 -0
- package/docs/directives/EuiPageColumnHeaderRightContentDirective.html +4 -0
- package/docs/js/menu-wc.js +90 -20
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +51 -51
- package/docs/modules/EuiHeaderModule.html +68 -20
- package/docs/modules/EuiPageModule.html +95 -17
- package/docs/modules/EuiToolbarModule.html +68 -20
- package/esm2022/eui-page/components/eui-page-breadcrumb/eui-page-breadcrumb.component.mjs +5 -3
- package/esm2022/eui-page/components/eui-page-column/eui-page-column.component.mjs +29 -42
- package/esm2022/eui-page/components/eui-page-columns/eui-page-columns.component.mjs +5 -3
- package/esm2022/eui-page/components/eui-page-content/eui-page-content.component.mjs +5 -3
- package/esm2022/eui-page/components/eui-page-footer/eui-page-footer.component.mjs +5 -3
- package/esm2022/eui-page/components/eui-page-header/components/eui-page-header-action-items.component.mjs +5 -3
- package/esm2022/eui-page/components/eui-page-header/components/eui-page-header-body.component.mjs +5 -3
- package/esm2022/eui-page/components/eui-page-header/components/eui-page-header-sub-label.component.mjs +5 -3
- package/esm2022/eui-page/components/eui-page-header/eui-page-header.component.mjs +14 -6
- package/esm2022/eui-page/components/eui-page-hero-header/eui-page-hero-header.component.mjs +4 -4
- package/esm2022/eui-page/components/eui-page-top-content/eui-page-top-content.component.mjs +5 -3
- package/esm2022/eui-page/eui-page.component.mjs +4 -4
- package/esm2022/eui-page/eui-page.module.mjs +9 -28
- package/esm2022/eui-paginator/eui-paginator.component.mjs +12 -28
- package/esm2022/eui-select/eui-select-option.directive.mjs +6 -12
- package/esm2022/eui-select/eui-select.component.mjs +5 -10
- package/esm2022/eui-sidebar-menu/eui-sidebar-menu.component.mjs +2 -2
- package/esm2022/eui-textarea/auto-resize.directive.mjs +7 -12
- package/esm2022/eui-tree/eui-tree.component.mjs +31 -78
- package/esm2022/eui-wizard/eui-wizard-step.component.mjs +21 -52
- package/esm2022/eui-wizard/eui-wizard.component.mjs +12 -28
- package/esm2022/externals/charts/chart/chart.component.mjs +9 -12
- package/esm2022/externals/eui-editor/counters/eui-editor-counters.component.mjs +12 -28
- package/esm2022/externals/quill/quill-editor.component.mjs +17 -43
- package/esm2022/layout/eui-notifications/eui-notification-item.component.mjs +6 -12
- package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +27 -68
- package/esm2022/layout/eui-notifications-v2/eui-notification-item.component.mjs +6 -12
- package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +30 -77
- package/eui-page/components/eui-page-breadcrumb/eui-page-breadcrumb.component.d.ts +1 -1
- package/eui-page/components/eui-page-breadcrumb/eui-page-breadcrumb.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-column/eui-page-column.component.d.ts +7 -8
- package/eui-page/components/eui-page-column/eui-page-column.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-columns/eui-page-columns.component.d.ts +1 -1
- package/eui-page/components/eui-page-columns/eui-page-columns.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-content/eui-page-content.component.d.ts +1 -1
- package/eui-page/components/eui-page-content/eui-page-content.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-footer/eui-page-footer.component.d.ts +1 -1
- package/eui-page/components/eui-page-footer/eui-page-footer.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-header/components/eui-page-header-action-items.component.d.ts +1 -1
- package/eui-page/components/eui-page-header/components/eui-page-header-action-items.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-header/components/eui-page-header-body.component.d.ts +1 -1
- package/eui-page/components/eui-page-header/components/eui-page-header-body.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-header/components/eui-page-header-sub-label.component.d.ts +1 -1
- package/eui-page/components/eui-page-header/components/eui-page-header-sub-label.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-header/eui-page-header.component.d.ts +1 -1
- package/eui-page/components/eui-page-header/eui-page-header.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-hero-header/eui-page-hero-header.component.d.ts +1 -1
- package/eui-page/components/eui-page-hero-header/eui-page-hero-header.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-top-content/eui-page-top-content.component.d.ts +1 -1
- package/eui-page/components/eui-page-top-content/eui-page-top-content.component.d.ts.map +1 -1
- package/eui-page/eui-page.component.d.ts +1 -1
- package/eui-page/eui-page.component.d.ts.map +1 -1
- package/eui-page/eui-page.module.d.ts +1 -6
- package/eui-page/eui-page.module.d.ts.map +1 -1
- package/eui-paginator/eui-paginator.component.d.ts +6 -10
- package/eui-paginator/eui-paginator.component.d.ts.map +1 -1
- package/eui-select/eui-select-option.directive.d.ts +2 -4
- package/eui-select/eui-select-option.directive.d.ts.map +1 -1
- package/eui-select/eui-select.component.d.ts +2 -3
- package/eui-select/eui-select.component.d.ts.map +1 -1
- package/eui-textarea/auto-resize.directive.d.ts +3 -5
- package/eui-textarea/auto-resize.directive.d.ts.map +1 -1
- package/eui-tree/eui-tree.component.d.ts +18 -28
- package/eui-tree/eui-tree.component.d.ts.map +1 -1
- package/eui-wizard/eui-wizard-step.component.d.ts +12 -19
- package/eui-wizard/eui-wizard-step.component.d.ts.map +1 -1
- package/eui-wizard/eui-wizard.component.d.ts +6 -10
- package/eui-wizard/eui-wizard.component.d.ts.map +1 -1
- package/externals/charts/chart/chart.component.d.ts +4 -7
- package/externals/charts/chart/chart.component.d.ts.map +1 -1
- package/externals/eui-editor/counters/eui-editor-counters.component.d.ts +6 -10
- package/externals/eui-editor/counters/eui-editor-counters.component.d.ts.map +1 -1
- package/externals/quill/quill-editor.component.d.ts +10 -16
- package/externals/quill/quill-editor.component.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-page.mjs +73 -83
- package/fesm2022/eui-components-eui-page.mjs.map +1 -1
- package/fesm2022/eui-components-eui-paginator.mjs +11 -27
- package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
- package/fesm2022/eui-components-eui-select.mjs +8 -18
- package/fesm2022/eui-components-eui-select.mjs.map +1 -1
- package/fesm2022/eui-components-eui-sidebar-menu.mjs +2 -2
- package/fesm2022/eui-components-eui-textarea.mjs +4 -9
- package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree.mjs +30 -77
- package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
- package/fesm2022/eui-components-eui-wizard.mjs +30 -76
- package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
- package/fesm2022/eui-components-externals-charts.mjs +8 -11
- package/fesm2022/eui-components-externals-charts.mjs.map +1 -1
- package/fesm2022/eui-components-externals-eui-editor.mjs +11 -26
- package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
- package/fesm2022/eui-components-externals-quill.mjs +16 -42
- package/fesm2022/eui-components-externals-quill.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +61 -157
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/layout/eui-notifications/eui-notification-item.component.d.ts +2 -4
- package/layout/eui-notifications/eui-notification-item.component.d.ts.map +1 -1
- package/layout/eui-notifications/eui-notifications.component.d.ts +16 -25
- package/layout/eui-notifications/eui-notifications.component.d.ts.map +1 -1
- package/layout/eui-notifications-v2/eui-notification-item.component.d.ts +2 -4
- package/layout/eui-notifications-v2/eui-notification-item.component.d.ts.map +1 -1
- package/layout/eui-notifications-v2/eui-notifications.component.d.ts +16 -25
- package/layout/eui-notifications-v2/eui-notifications.component.d.ts.map +1 -1
- package/package.json +3 -3
@@ -1,8 +1,7 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { InjectionToken, inject, Injectable, EventEmitter, SecurityContext, PLATFORM_ID, forwardRef, Component, ViewEncapsulation, Inject, Input, Output, NgModule } from '@angular/core';
|
2
|
+
import { InjectionToken, inject, Injectable, EventEmitter, SecurityContext, PLATFORM_ID, booleanAttribute, forwardRef, Component, ViewEncapsulation, Inject, Input, Output, NgModule } from '@angular/core';
|
3
3
|
import { isPlatformServer, DOCUMENT, CommonModule } from '@angular/common';
|
4
4
|
import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
|
5
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
6
5
|
import * as i1 from '@angular/platform-browser';
|
7
6
|
import { Observable } from 'rxjs';
|
8
7
|
|
@@ -158,36 +157,6 @@ const getFormat = (format, configFormat) => {
|
|
158
157
|
return passedFormat || 'html';
|
159
158
|
};
|
160
159
|
class QuillEditorComponent {
|
161
|
-
get readOnly() {
|
162
|
-
return this._readOnly;
|
163
|
-
}
|
164
|
-
set readOnly(value) {
|
165
|
-
this._readOnly = coerceBooleanProperty(value);
|
166
|
-
}
|
167
|
-
get required() {
|
168
|
-
return this._required;
|
169
|
-
}
|
170
|
-
set required(value) {
|
171
|
-
this._required = coerceBooleanProperty(value);
|
172
|
-
}
|
173
|
-
get sanitize() {
|
174
|
-
return this._sanitize;
|
175
|
-
}
|
176
|
-
set sanitize(value) {
|
177
|
-
this._sanitize = coerceBooleanProperty(value);
|
178
|
-
}
|
179
|
-
get strict() {
|
180
|
-
return this._strict;
|
181
|
-
}
|
182
|
-
set strict(value) {
|
183
|
-
this._strict = coerceBooleanProperty(value);
|
184
|
-
}
|
185
|
-
get preserveWhitespace() {
|
186
|
-
return this._preserveWhitespace;
|
187
|
-
}
|
188
|
-
set preserveWhitespace(value) {
|
189
|
-
this._preserveWhitespace = coerceBooleanProperty(value);
|
190
|
-
}
|
191
160
|
constructor(elementRef, domSanitizer, doc,
|
192
161
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
193
162
|
platformId, renderer, zone, config, loader) {
|
@@ -213,10 +182,10 @@ class QuillEditorComponent {
|
|
213
182
|
this.onFocus = new EventEmitter();
|
214
183
|
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
215
184
|
this.onBlur = new EventEmitter();
|
216
|
-
this.
|
217
|
-
this.
|
218
|
-
this.
|
219
|
-
this.
|
185
|
+
this.required = false;
|
186
|
+
this.sanitize = false;
|
187
|
+
this.strict = true;
|
188
|
+
this.preserveWhitespace = false;
|
220
189
|
this.disabled = false; // used to store initial value before ViewInit
|
221
190
|
this.valueGetter = (quillEditor, editorElement) => {
|
222
191
|
let html = editorElement.querySelector('.ql-editor')?.innerHTML;
|
@@ -583,7 +552,7 @@ class QuillEditorComponent {
|
|
583
552
|
QuillInstance.register('blots/scroll', Scroll, true);
|
584
553
|
}
|
585
554
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: QuillEditorComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: QUILL_CONFIG_TOKEN }, { token: LoaderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
586
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
555
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: QuillEditorComponent, selector: "quill-editor", inputs: { id: "id", format: "format", theme: "theme", modules: "modules", debug: "debug", placeholder: "placeholder", maxLength: "maxLength", minLength: "minLength", formats: "formats", customToolbarPosition: "customToolbarPosition", styles: "styles", scrollingContainer: "scrollingContainer", bounds: "bounds", customOptions: "customOptions", trackChanges: "trackChanges", hasImageFeature: "hasImageFeature", readOnly: ["readOnly", "readOnly", booleanAttribute], required: ["required", "required", booleanAttribute], sanitize: ["sanitize", "sanitize", booleanAttribute], strict: ["strict", "strict", booleanAttribute], preserveWhitespace: ["preserveWhitespace", "preserveWhitespace", booleanAttribute], valueGetter: "valueGetter", valueSetter: "valueSetter" }, outputs: { onEditorCreated: "onEditorCreated", onContentChanged: "onContentChanged", onSelectionChanged: "onSelectionChanged", onFocus: "onFocus", onBlur: "onBlur" }, providers: [
|
587
556
|
{
|
588
557
|
multi: true,
|
589
558
|
provide: NG_VALUE_ACCESSOR,
|
@@ -668,15 +637,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
668
637
|
}], onBlur: [{
|
669
638
|
type: Output
|
670
639
|
}], readOnly: [{
|
671
|
-
type: Input
|
640
|
+
type: Input,
|
641
|
+
args: [{ transform: booleanAttribute }]
|
672
642
|
}], required: [{
|
673
|
-
type: Input
|
643
|
+
type: Input,
|
644
|
+
args: [{ transform: booleanAttribute }]
|
674
645
|
}], sanitize: [{
|
675
|
-
type: Input
|
646
|
+
type: Input,
|
647
|
+
args: [{ transform: booleanAttribute }]
|
676
648
|
}], strict: [{
|
677
|
-
type: Input
|
649
|
+
type: Input,
|
650
|
+
args: [{ transform: booleanAttribute }]
|
678
651
|
}], preserveWhitespace: [{
|
679
|
-
type: Input
|
652
|
+
type: Input,
|
653
|
+
args: [{ transform: booleanAttribute }]
|
680
654
|
}], valueGetter: [{
|
681
655
|
type: Input
|
682
656
|
}], valueSetter: [{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-externals-quill.mjs","sources":["../../externals/quill/quill-defaults.ts","../../externals/quill/quill-editor.interfaces.ts","../../externals/quill/loader.service.ts","../../externals/quill/quill-editor.component.ts","../../externals/quill/quill.module.ts","../../externals/quill/eui-components-externals-quill.ts"],"sourcesContent":["export const defaultModules = {\n toolbar: [\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n ['blockquote', 'code-block'],\n\n [{ header: 1 }, { header: 2 }], // custom button values\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n [{ direction: 'rtl' }], // text direction\n\n [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n\n [{ color: [] }, { background: [] }], // dropdown with defaults from theme\n [{ font: [] }],\n [{ align: [] }],\n\n ['clean'], // remove formatting button\n ['table'], // adds the insert table button\n ['link', 'image', 'video'], // link and image, video\n ],\n};\n","import { InjectionToken } from '@angular/core';\n\nexport type QuillToolbarConfig = Array<\n Array<\n | string\n | {\n indent?: string;\n list?: string;\n direction?: string;\n header?: number | Array<boolean | number>;\n color?: string[];\n background?: string[];\n align?: string[];\n script?: string;\n font?: string[];\n size?: Array<boolean | string>;\n }\n >\n>;\n\nexport interface QuillModules {\n [key: string]: any;\n clipboard?:\n | {\n mathers?: any[];\n matchVisual?: boolean;\n }\n | boolean;\n history?:\n | {\n delay?: number;\n maxStack?: number;\n userOnly?: boolean;\n }\n | boolean;\n keyboard?:\n | {\n bindings?: any;\n }\n | boolean;\n syntax?: boolean;\n table?: boolean;\n toolbar?:\n | QuillToolbarConfig\n | string\n | {\n container?: string | string[] | QuillToolbarConfig;\n handlers?: {\n [key: string]: any;\n };\n }\n | boolean;\n}\n\nexport type QuillFormat = 'object' | 'json' | 'html' | 'text';\n\nexport interface QuillConfig {\n bounds?: HTMLElement | string;\n debug?: 'error' | 'warn' | 'log' | false;\n format?: QuillFormat;\n formats?: any;\n modules?: QuillModules;\n placeholder?: string;\n readOnly?: boolean;\n scrollingContainer?: HTMLElement | string | null;\n theme?: string;\n // Custom Config to track all changes or only changes by 'user'\n trackChanges?: 'user' | 'all';\n}\n\nexport interface QuillDynamicConfig {\n /** path for scripts and css e.g. '/assets/quill/' */\n path: string;\n /** path for scripts e.g. ['/assets/quill.min.js'] */\n // scripts: string[];\n /** path for css e.g. ['/assets/quill.snow.css'] */\n // css: string[];\n}\n\nexport const QUILL_CONFIG_TOKEN = new InjectionToken<QuillConfig>('config');\nexport const QUILL_DYNAMIC_CONFIG_TOKEN = new InjectionToken<QuillDynamicConfig>('Dynamic loading config');\n","import { inject, Injectable } from \"@angular/core\";\n\nimport { Observable } from 'rxjs';\nimport { QUILL_DYNAMIC_CONFIG_TOKEN, QuillDynamicConfig } from \"./quill-editor.interfaces\";\nimport { DOCUMENT } from \"@angular/common\";\n\ndeclare const window: { Quill: any | undefined; quillBetterTable: any | undefined };\n\n/**\n * @internal This service is not part of the public API of the component\n */\n@Injectable({ providedIn: 'root'})\nexport class LoaderService {\n private dynamicConfig: QuillDynamicConfig = inject(QUILL_DYNAMIC_CONFIG_TOKEN, { optional: true });\n\n /**\n * Load the Quill.js library\n *\n * @param path Path to the Quill.js library e.g. \"assets/quill/dist\". The path must contain the \"quill.js\"\n * and \"quillEditor.min.css\" files and also the css ones.\n */\n load(): Observable<boolean> {\n let loaded: boolean = false;\n return new Observable(observer => {\n\n // check if window.Quill is defined other load it\n if (window.Quill === undefined) {\n const loadResult = { mainScript: false, style: false, secondaryScript: false, };\n\n // style\n const quillEditorStyle: HTMLLinkElement = document.createElement('link');\n quillEditorStyle.href = `${this.dynamicConfig?.path}/quill.core.css`;\n quillEditorStyle.rel = 'stylesheet';\n const quillEditorStyleOnload = () => {\n quillEditorStyle.removeEventListener('load', quillEditorStyleOnload);\n quillEditorStyle.removeEventListener('error', quillEditorOnerror);\n loadResult.style = true;\n if (Object.values(loadResult).every(v => v === true)) {\n observer.next(true);\n observer.complete();\n loaded = true;\n }\n };\n const quillEditorSnowStyle: HTMLLinkElement = document.createElement('link');\n quillEditorSnowStyle.href = `${this.dynamicConfig?.path}/quill.snow.css`;\n quillEditorSnowStyle.rel = 'stylesheet';\n\n // script to inject into page the Quill.js\n let quillEditorScript: HTMLScriptElement = document.createElement('script');\n quillEditorScript.src = `${this.dynamicConfig?.path}/quill.js`;\n quillEditorScript.type = 'application/javascript';\n quillEditorScript.async = true;\n const quillEditorScriptOnload = () => {\n quillEditorScript.removeEventListener('load', quillEditorScriptOnload);\n quillEditorScript.removeEventListener('error', quillEditorOnerror);\n loadResult.mainScript = true;\n document.body.append(quillBetterTableScript);\n if (Object.values(loadResult).every(v => v === true)) {\n observer.next(true);\n observer.complete();\n loaded = true;\n }\n };\n\n // script to inject into page the Quill-better-table\"node_modules/quill-better-table/dist/quill-better-table.min.js\",\n const quillBetterTableScript: HTMLScriptElement = document.createElement('script');\n quillBetterTableScript.src = `${this.dynamicConfig?.path}/quill-better-table.js`;\n quillBetterTableScript.type = 'application/javascript';\n quillBetterTableScript.async = true;\n const quillBetterTableScriptOnload = () => {\n quillBetterTableScript.removeEventListener('load', quillBetterTableScriptOnload);\n quillBetterTableScript.removeEventListener('error', quillEditorOnerror);\n loadResult.secondaryScript = true;\n if (Object.values(loadResult).every(v => v === true)) {\n observer.next(true);\n observer.complete();\n loaded = true;\n }\n };\n\n const quillEditorOnerror = () => {\n quillEditorStyle.removeEventListener('load', quillEditorStyleOnload);\n quillEditorStyle.removeEventListener('error', quillEditorOnerror);\n quillEditorScript.removeEventListener('load', quillEditorScriptOnload);\n quillEditorScript.removeEventListener('error', quillEditorOnerror);\n observer.next(false);\n observer.complete();\n };\n\n quillEditorStyle.addEventListener('load', quillEditorStyleOnload);\n quillEditorStyle.addEventListener('error', quillEditorOnerror);\n quillEditorSnowStyle.addEventListener('load', quillEditorStyleOnload);\n quillEditorSnowStyle.addEventListener('error', quillEditorOnerror);\n quillEditorScript.addEventListener('load', quillEditorScriptOnload);\n quillEditorScript.addEventListener('error', quillEditorOnerror);\n quillBetterTableScript.addEventListener('load', quillBetterTableScriptOnload);\n quillBetterTableScript.addEventListener('error', quillEditorOnerror);\n\n // check if the script is already loaded. Take into account the Hostname on to src\n if (document.querySelector(`script[src=\"${this.dynamicConfig?.path}/quill.js\"]`) === null) {\n document.body.append(quillEditorScript);\n } else {\n // interval timer to check when the script is loaded\n const interval = setInterval(() => {\n if (loaded) {\n clearInterval(interval);\n } else if (window.Quill !== undefined && window.quillBetterTable !== undefined) {\n observer.next(true);\n observer.complete();\n loaded = true;\n clearInterval(interval);\n }\n }, 100);\n }\n // check if style is already loaded\n if (document.querySelector(`link[href=\"${this.dynamicConfig?.path}/quill.core.css\"]`) === null) {\n document.body.append(quillEditorStyle);\n }\n // check if style is already loaded\n if (document.querySelector(`link[href=\"${this.dynamicConfig?.path}/quill.snow.css\"]`) === null) {\n document.body.append(quillEditorSnowStyle);\n }\n } else {\n observer.next(true);\n observer.complete();\n }\n });\n }\n}\n","import { isPlatformServer } from '@angular/common';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport {\n QUILL_CONFIG_TOKEN,\n QuillConfig,\n QuillFormat,\n QuillModules,\n} from './quill-editor.interfaces';\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n PLATFORM_ID,\n Renderer2,\n SecurityContext,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\n\nimport { DOCUMENT } from '@angular/common';\nimport { defaultModules } from './quill-defaults';\nimport { ContentChange, EditorChangeContent, SelectionChange, Range } from './models/editor.model';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { LoaderService } from './loader.service';\n\n// Because quill uses `document` directly, we cannot `import` during SSR\n// instead, we load dynamically via `require('quill')` in `ngAfterViewInit()`\n// eslint-disable-next-line no-var\ndeclare var require: any;\n// eslint-disable-next-line no-var\ndeclare var Quill: any;\n// let Quill: any = window['Quill'];\n\nexport interface CustomOption {\n import: string;\n whitelist: any[];\n}\n\nconst getFormat = (format?: QuillFormat, configFormat?: QuillFormat): QuillFormat => {\n const passedFormat = format || configFormat;\n return passedFormat || 'html';\n};\n\n@Component({\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => QuillEditorComponent),\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => QuillEditorComponent),\n },\n ],\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'quill-editor',\n template: ` <ng-content select=\"[quill-editor-toolbar]\"></ng-content> `,\n})\nexport class QuillEditorComponent implements AfterViewInit, ControlValueAccessor, OnChanges, OnDestroy, Validator {\n quillEditor: any;\n editorElem: HTMLElement | undefined;\n content: any;\n protected loaded = false;\n\n @Input() id: string;\n @Input() format?: 'object' | 'html' | 'text' | 'json';\n @Input() theme?: string;\n @Input() modules?: QuillModules;\n @Input() debug?: 'warn' | 'log' | 'error' | false;\n @Input() placeholder?: string;\n @Input() maxLength?: number;\n @Input() minLength?: number;\n @Input() formats?: string[] | null;\n @Input() customToolbarPosition: 'top' | 'bottom' = 'top';\n @Input() styles: any = null;\n @Input() scrollingContainer?: HTMLElement | string | null;\n @Input() bounds?: HTMLElement | string;\n @Input() customOptions: CustomOption[] = [];\n @Input() trackChanges?: 'user' | 'all';\n @Input() hasImageFeature: boolean;\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onEditorCreated: EventEmitter<any> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onContentChanged: EventEmitter<ContentChange> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onSelectionChanged: EventEmitter<SelectionChange> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onFocus: EventEmitter<{\n editor: any;\n source: string;\n }> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onBlur: EventEmitter<{\n editor: any;\n source: string;\n }> = new EventEmitter();\n\n @Input()\n get readOnly(): boolean {\n return this._readOnly;\n }\n set readOnly(value: BooleanInput) {\n this._readOnly = coerceBooleanProperty(value);\n }\n private _readOnly?: boolean;\n @Input()\n get required(): boolean {\n return this._required;\n }\n set required(value: BooleanInput) {\n this._required = coerceBooleanProperty(value);\n }\n private _required = false;\n @Input()\n get sanitize(): boolean {\n return this._sanitize;\n }\n set sanitize(value: BooleanInput) {\n this._sanitize = coerceBooleanProperty(value);\n }\n private _sanitize = false;\n @Input()\n get strict(): boolean {\n return this._strict;\n }\n set strict(value: BooleanInput) {\n this._strict = coerceBooleanProperty(value);\n }\n private _strict = true;\n @Input()\n get preserveWhitespace(): boolean {\n return this._preserveWhitespace;\n }\n set preserveWhitespace(value: BooleanInput) {\n this._preserveWhitespace = coerceBooleanProperty(value);\n }\n private _preserveWhitespace = false;\n\n private disabled = false; // used to store initial value before ViewInit\n\n constructor(\n private elementRef: ElementRef,\n private domSanitizer: DomSanitizer,\n @Inject(DOCUMENT) private doc: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n @Inject(PLATFORM_ID) private platformId: Object,\n private renderer: Renderer2,\n private zone: NgZone,\n @Inject(QUILL_CONFIG_TOKEN) private config: QuillConfig,\n private loader: LoaderService,\n ) {}\n\n // eslint-disable-next-line no-empty,no-empty-function,@typescript-eslint/no-empty-function, @typescript-eslint/explicit-function-return-type\n onModelChange(_modelValue?: any) {}\n // eslint-disable-next-line no-empty, no-empty-function, @typescript-eslint/no-empty-function, @typescript-eslint/explicit-function-return-type\n onModelTouched() {}\n\n @Input()\n valueGetter = (quillEditor: any, editorElement: HTMLElement): string | any => {\n let html: string | null = editorElement.querySelector('.ql-editor')?.innerHTML;\n if (html === '<p><br></p>' || html === '<div><br><div>') {\n html = null;\n }\n let modelValue = html;\n const format = getFormat(this.format, this.config.format);\n\n if (format === 'text') {\n modelValue = quillEditor.getText();\n } else if (format === 'object') {\n modelValue = quillEditor.getContents();\n } else if (format === 'json') {\n try {\n modelValue = JSON.stringify(quillEditor.getContents());\n } catch (e) {\n modelValue = quillEditor.getText();\n }\n }\n\n return modelValue;\n };\n\n @Input()\n valueSetter = (quillEditor: any, value: any): any => {\n const format = getFormat(this.format, this.config.format);\n if (format === 'html') {\n if (this.sanitize) {\n value = this.domSanitizer.sanitize(SecurityContext.HTML, value);\n }\n return quillEditor.clipboard.convert({ html: value });\n } else if (format === 'json') {\n try {\n return JSON.parse(value);\n } catch (e) {\n return [{ insert: value }];\n }\n }\n\n return value;\n };\n\n ngAfterViewInit(): void {\n // const loader = new LoaderService();\n this.loader.load().subscribe({\n complete: () => {\n // setup keyboard bindings from BetterTable if present\n const QuillBetterTable = window['quillBetterTable'];\n if(QuillBetterTable) {\n // check if already registered\n if(!window['Quill'].imports.hasOwnProperty('modules/better-table')) {\n window['Quill'].register({ 'modules/better-table': QuillBetterTable });\n }\n if(!this.config.modules.keyboard) {\n this.config.modules.keyboard = {\n bindings: QuillBetterTable?.keyboardBindings,\n };\n }\n }\n\n if (isPlatformServer(this.platformId)) {\n return;\n }\n if (!Quill) {\n // Quill = require('quill')\n Quill = window['Quill'];\n }\n this.overrideScrollBehavior(Quill);\n\n this.loaded = true;\n\n this.elementRef.nativeElement.insertAdjacentHTML(\n this.customToolbarPosition === 'top' ? 'beforeend' : 'afterbegin',\n this.preserveWhitespace ? '<pre quill-editor-element></pre>' : '<div quill-editor-element></div>'\n );\n\n this.editorElem = this.elementRef.nativeElement.querySelector('[quill-editor-element]');\n\n const toolbarElem = this.elementRef.nativeElement.querySelector('[quill-editor-toolbar]');\n let modules = this.modules || this.config.modules || defaultModules;\n if (modules.toolbar === undefined) {\n modules.toolbar = defaultModules.toolbar;\n }\n\n let placeholder = this.placeholder !== undefined ? this.placeholder : this.config.placeholder;\n if (placeholder === undefined) {\n placeholder = 'Insert text here ...';\n }\n\n if (toolbarElem) {\n // eslint-disable-next-line dot-notation,@typescript-eslint/dot-notation\n modules['toolbar'] = toolbarElem;\n }\n\n if (!this.hasImageFeature) {\n modules['uploader'] = { handler: () => false };\n } else {\n modules['uploader'] = { mimetypes: ['image/png', 'image/jpeg'] };\n }\n\n if (this.styles) {\n Object.keys(this.styles).forEach((key: string) => {\n this.renderer.setStyle(this.editorElem, key, this.styles[key]);\n });\n }\n\n this.customOptions.forEach((customOption) => {\n const newCustomOption = Quill.import(customOption.import);\n newCustomOption.whitelist = customOption.whitelist;\n Quill.register(newCustomOption, true);\n });\n\n let bounds = this.bounds && this.bounds === 'self' ? this.editorElem : this.bounds;\n if (!bounds) {\n bounds = this.config.bounds ? this.config.bounds : this.doc.body;\n }\n\n let debug = this.debug;\n if (!debug && debug !== false && this.config.debug) {\n debug = this.config.debug;\n }\n\n let readOnly = this.readOnly;\n if (!readOnly && this.readOnly !== false) {\n readOnly = this.config.readOnly !== undefined ? this.config.readOnly : false;\n }\n\n let scrollingContainer = this.scrollingContainer;\n if (!scrollingContainer && this.scrollingContainer !== null) {\n scrollingContainer =\n this.config.scrollingContainer === null || this.config.scrollingContainer ? this.config.scrollingContainer : null;\n }\n\n let formats = this.formats;\n if (!formats && formats === undefined) {\n formats = this.config.formats || this.config.formats === null ? this.config.formats : undefined;\n }\n Quill.formats = { ...Quill.formats, [this.id]: formats };\n\n if (formats && formats.indexOf('table') !== -1) {\n modules = {\n ...modules,\n 'better-table': false,\n }\n }\n\n this.quillEditor = new Quill(this.editorElem, {\n bounds,\n debug,\n formats,\n modules,\n placeholder,\n readOnly,\n scrollingContainer,\n strict: this.strict,\n theme: this.theme || (this.config.theme ? this.config.theme : 'snow'),\n });\n this.quillEditor.container.firstChild.id = this.id;\n\n if (this.content) {\n const format = getFormat(this.format, this.config.format);\n if (format === 'object') {\n this.quillEditor.setContents(this.content, 'silent');\n } else if (format === 'text') {\n this.quillEditor.setText(this.content, 'silent');\n } else if (format === 'json') {\n try {\n this.quillEditor.setContents(JSON.parse(this.content), 'silent');\n } catch (e) {\n this.quillEditor.setText(this.content, 'silent');\n }\n } else {\n if (this.sanitize) {\n this.content = this.domSanitizer.sanitize(SecurityContext.HTML, this.content);\n }\n const contents = this.quillEditor.clipboard.convert(this.content);\n this.quillEditor.setContents(contents, 'silent');\n }\n\n this.quillEditor.history.clear();\n }\n\n // initialize disabled status based on this.disabled as default value\n this.setDisabledState();\n\n this.onEditorCreated.emit(this.quillEditor);\n\n // mark model as touched if editor lost focus\n this.quillEditor.on('selection-change', this.selectionChangeHandler);\n\n // update model if text changes\n this.quillEditor.on('text-change', this.textChangeHandler);\n }\n });\n }\n\n selectionChangeHandler = (range: Range | null, oldRange: Range | null, source: string): void => {\n this.zone.run(() => {\n if (range === null) {\n this.onBlur.emit({\n editor: this.quillEditor,\n source,\n });\n } else if (oldRange === null) {\n this.onFocus.emit({\n editor: this.quillEditor,\n source,\n });\n }\n\n this.onSelectionChanged.emit({\n editor: this.quillEditor,\n oldRange,\n range,\n source,\n });\n\n if (!range && this.onModelTouched) {\n this.onModelTouched();\n }\n });\n };\n\n textChangeHandler = (delta: any, oldDelta: any, source: string): void => {\n // only emit changes emitted by user interactions\n\n const text = this.quillEditor.getText();\n const content = this.quillEditor.getContents();\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n let html: string | null = this.editorElem!.querySelector('.ql-editor')!.innerHTML;\n if (html === '<p><br></p>' || html === '<div><br><div>') {\n html = null;\n }\n\n this.zone.run(() => {\n const trackChanges = this.trackChanges || this.config.trackChanges;\n if ((source === Quill.sources.USER || (trackChanges && trackChanges === 'all')) && this.onModelChange) {\n this.onModelChange(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.valueGetter(this.quillEditor, this.editorElem!)\n );\n }\n\n this.onContentChanged.emit({\n content,\n delta,\n editor: this.quillEditor,\n html,\n oldDelta,\n source,\n text,\n });\n });\n };\n\n ngOnDestroy(): void {\n if (this.quillEditor) {\n this.quillEditor.off('selection-change', this.selectionChangeHandler);\n this.quillEditor.off('text-change', this.textChangeHandler);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this.quillEditor) {\n return;\n }\n if (changes.id) {\n this.quillEditor.container.firstChild.id = changes.id.currentValue;\n Quill.formats = { ...Quill.formats, [this.id]: this.formats };\n }\n if (changes['readOnly']) {\n this.quillEditor.enable(!changes['readOnly'].currentValue);\n }\n if (changes['placeholder']) {\n this.quillEditor.root.dataset.placeholder = changes['placeholder'].currentValue;\n }\n if (changes['styles']) {\n const currentStyling = changes['styles'].currentValue;\n const previousStyling = changes['styles'].previousValue;\n\n if (previousStyling) {\n Object.keys(previousStyling).forEach((key: string) => {\n this.renderer.removeStyle(this.editorElem, key);\n });\n }\n if (currentStyling) {\n Object.keys(currentStyling).forEach((key: string) => {\n this.renderer.setStyle(this.editorElem, key, this.styles[key]);\n });\n }\n }\n if (changes['formats']) {\n const currentFormats = changes['formats'].currentValue;\n Quill.formats = { ...Quill.formats, [this.id]: currentFormats };\n }\n }\n\n writeValue(currentValue: any): void {\n this.content = currentValue;\n const format = getFormat(this.format, this.config.format);\n\n if (this.quillEditor) {\n if (currentValue) {\n if (format === 'text') {\n this.quillEditor.setText(currentValue);\n } else {\n this.quillEditor.setContents(this.valueSetter(this.quillEditor, this.content));\n }\n return;\n }\n this.quillEditor.setText('');\n }\n }\n\n setDisabledState(isDisabled: boolean = this.disabled): void {\n // store initial value to set appropriate disabled status after ViewInit\n this.disabled = isDisabled;\n if (this.quillEditor) {\n if (isDisabled) {\n this.quillEditor.disable();\n this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', 'disabled');\n } else {\n if (!this.readOnly) {\n this.quillEditor.enable();\n }\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n }\n }\n }\n\n registerOnChange(fn: (modelValue: any) => void): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onModelTouched = fn;\n }\n\n validate(): any {\n if (!this.quillEditor) {\n return null;\n }\n\n const err: {\n minLengthError?: {\n given: number;\n minLength: number;\n };\n maxLengthError?: {\n given: number;\n maxLength: number;\n };\n requiredError?: { empty: boolean };\n } = {};\n let valid = true;\n\n const textLength = this.quillEditor.getText().trim().length;\n\n if (this.minLength && textLength && textLength < this.minLength) {\n err.minLengthError = {\n given: textLength,\n minLength: this.minLength,\n };\n\n valid = false;\n }\n\n if (this.maxLength && textLength > this.maxLength) {\n err.maxLengthError = {\n given: textLength,\n maxLength: this.maxLength,\n };\n\n valid = false;\n }\n\n if (this.required && !textLength) {\n err.requiredError = {\n empty: true,\n };\n\n valid = false;\n }\n\n return valid ? null : err;\n }\n\n /**\n * Override the default Quill scroll behavior to take into account the formats array and skip non-found ones. Then\n * registers the plugin to the Quill editor.\n *\n * @param QuillInstance The Quill class (not the instance)\n * @private\n */\n private overrideScrollBehavior(QuillInstance: any): void {\n // the Built-in Scroll Class is not exported, so we need to import it\n const BuiltinScroll = QuillInstance.import('blots/scroll');\n /**\n * Override the default Quill scroll behavior to take into account the formats array and skip non-found ones.\n */\n class Scroll extends BuiltinScroll {\n formatAt(index: number, length: number, format: string, value: any): void {\n const elementId = this.domNode.id;\n const instanceFormats = QuillInstance.formats[elementId];\n // checks the formats array to see if the format is blacklisted\n if (instanceFormats && instanceFormats.find((f) => f === format)) {\n return;\n }\n // continue with default behavior\n super.formatAt(index, length, format, value);\n }\n }\n /** register the Scroll override */\n QuillInstance.register('blots/scroll', Scroll, true);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { defaultModules } from './quill-defaults';\nimport { QuillEditorComponent } from './quill-editor.component';\nimport { QUILL_CONFIG_TOKEN, QuillConfig } from './quill-editor.interfaces';\nimport { CommonModule } from \"@angular/common\";\n\n// TODO: integrate that module and all related code with the eui-editor module.\n// Remove this sub-entry and move all the code to the eui-editor.\n\n/**\n * @deprecated please don't use it. It will be removed\n */\n@NgModule({\n declarations: [QuillEditorComponent],\n exports: [QuillEditorComponent],\n imports: [CommonModule],\n providers: [\n {\n provide: QUILL_CONFIG_TOKEN,\n useValue: { modules: defaultModules },\n },\n ],\n})\nexport class QuillModule {\n static forRoot(config?: QuillConfig): ModuleWithProviders<QuillModule> {\n return {\n ngModule: QuillModule,\n providers: [\n {\n provide: QUILL_CONFIG_TOKEN,\n // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\n useValue: config || { modules: defaultModules },\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.LoaderService"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-externals-quill.mjs","sources":["../../externals/quill/quill-defaults.ts","../../externals/quill/quill-editor.interfaces.ts","../../externals/quill/loader.service.ts","../../externals/quill/quill-editor.component.ts","../../externals/quill/quill.module.ts","../../externals/quill/eui-components-externals-quill.ts"],"sourcesContent":["export const defaultModules = {\n toolbar: [\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n ['blockquote', 'code-block'],\n\n [{ header: 1 }, { header: 2 }], // custom button values\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n [{ direction: 'rtl' }], // text direction\n\n [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n\n [{ color: [] }, { background: [] }], // dropdown with defaults from theme\n [{ font: [] }],\n [{ align: [] }],\n\n ['clean'], // remove formatting button\n ['table'], // adds the insert table button\n ['link', 'image', 'video'], // link and image, video\n ],\n};\n","import { InjectionToken } from '@angular/core';\n\nexport type QuillToolbarConfig = Array<\n Array<\n | string\n | {\n indent?: string;\n list?: string;\n direction?: string;\n header?: number | Array<boolean | number>;\n color?: string[];\n background?: string[];\n align?: string[];\n script?: string;\n font?: string[];\n size?: Array<boolean | string>;\n }\n >\n>;\n\nexport interface QuillModules {\n [key: string]: any;\n clipboard?:\n | {\n mathers?: any[];\n matchVisual?: boolean;\n }\n | boolean;\n history?:\n | {\n delay?: number;\n maxStack?: number;\n userOnly?: boolean;\n }\n | boolean;\n keyboard?:\n | {\n bindings?: any;\n }\n | boolean;\n syntax?: boolean;\n table?: boolean;\n toolbar?:\n | QuillToolbarConfig\n | string\n | {\n container?: string | string[] | QuillToolbarConfig;\n handlers?: {\n [key: string]: any;\n };\n }\n | boolean;\n}\n\nexport type QuillFormat = 'object' | 'json' | 'html' | 'text';\n\nexport interface QuillConfig {\n bounds?: HTMLElement | string;\n debug?: 'error' | 'warn' | 'log' | false;\n format?: QuillFormat;\n formats?: any;\n modules?: QuillModules;\n placeholder?: string;\n readOnly?: boolean;\n scrollingContainer?: HTMLElement | string | null;\n theme?: string;\n // Custom Config to track all changes or only changes by 'user'\n trackChanges?: 'user' | 'all';\n}\n\nexport interface QuillDynamicConfig {\n /** path for scripts and css e.g. '/assets/quill/' */\n path: string;\n /** path for scripts e.g. ['/assets/quill.min.js'] */\n // scripts: string[];\n /** path for css e.g. ['/assets/quill.snow.css'] */\n // css: string[];\n}\n\nexport const QUILL_CONFIG_TOKEN = new InjectionToken<QuillConfig>('config');\nexport const QUILL_DYNAMIC_CONFIG_TOKEN = new InjectionToken<QuillDynamicConfig>('Dynamic loading config');\n","import { inject, Injectable } from \"@angular/core\";\n\nimport { Observable } from 'rxjs';\nimport { QUILL_DYNAMIC_CONFIG_TOKEN, QuillDynamicConfig } from \"./quill-editor.interfaces\";\nimport { DOCUMENT } from \"@angular/common\";\n\ndeclare const window: { Quill: any | undefined; quillBetterTable: any | undefined };\n\n/**\n * @internal This service is not part of the public API of the component\n */\n@Injectable({ providedIn: 'root'})\nexport class LoaderService {\n private dynamicConfig: QuillDynamicConfig = inject(QUILL_DYNAMIC_CONFIG_TOKEN, { optional: true });\n\n /**\n * Load the Quill.js library\n *\n * @param path Path to the Quill.js library e.g. \"assets/quill/dist\". The path must contain the \"quill.js\"\n * and \"quillEditor.min.css\" files and also the css ones.\n */\n load(): Observable<boolean> {\n let loaded: boolean = false;\n return new Observable(observer => {\n\n // check if window.Quill is defined other load it\n if (window.Quill === undefined) {\n const loadResult = { mainScript: false, style: false, secondaryScript: false, };\n\n // style\n const quillEditorStyle: HTMLLinkElement = document.createElement('link');\n quillEditorStyle.href = `${this.dynamicConfig?.path}/quill.core.css`;\n quillEditorStyle.rel = 'stylesheet';\n const quillEditorStyleOnload = () => {\n quillEditorStyle.removeEventListener('load', quillEditorStyleOnload);\n quillEditorStyle.removeEventListener('error', quillEditorOnerror);\n loadResult.style = true;\n if (Object.values(loadResult).every(v => v === true)) {\n observer.next(true);\n observer.complete();\n loaded = true;\n }\n };\n const quillEditorSnowStyle: HTMLLinkElement = document.createElement('link');\n quillEditorSnowStyle.href = `${this.dynamicConfig?.path}/quill.snow.css`;\n quillEditorSnowStyle.rel = 'stylesheet';\n\n // script to inject into page the Quill.js\n let quillEditorScript: HTMLScriptElement = document.createElement('script');\n quillEditorScript.src = `${this.dynamicConfig?.path}/quill.js`;\n quillEditorScript.type = 'application/javascript';\n quillEditorScript.async = true;\n const quillEditorScriptOnload = () => {\n quillEditorScript.removeEventListener('load', quillEditorScriptOnload);\n quillEditorScript.removeEventListener('error', quillEditorOnerror);\n loadResult.mainScript = true;\n document.body.append(quillBetterTableScript);\n if (Object.values(loadResult).every(v => v === true)) {\n observer.next(true);\n observer.complete();\n loaded = true;\n }\n };\n\n // script to inject into page the Quill-better-table\"node_modules/quill-better-table/dist/quill-better-table.min.js\",\n const quillBetterTableScript: HTMLScriptElement = document.createElement('script');\n quillBetterTableScript.src = `${this.dynamicConfig?.path}/quill-better-table.js`;\n quillBetterTableScript.type = 'application/javascript';\n quillBetterTableScript.async = true;\n const quillBetterTableScriptOnload = () => {\n quillBetterTableScript.removeEventListener('load', quillBetterTableScriptOnload);\n quillBetterTableScript.removeEventListener('error', quillEditorOnerror);\n loadResult.secondaryScript = true;\n if (Object.values(loadResult).every(v => v === true)) {\n observer.next(true);\n observer.complete();\n loaded = true;\n }\n };\n\n const quillEditorOnerror = () => {\n quillEditorStyle.removeEventListener('load', quillEditorStyleOnload);\n quillEditorStyle.removeEventListener('error', quillEditorOnerror);\n quillEditorScript.removeEventListener('load', quillEditorScriptOnload);\n quillEditorScript.removeEventListener('error', quillEditorOnerror);\n observer.next(false);\n observer.complete();\n };\n\n quillEditorStyle.addEventListener('load', quillEditorStyleOnload);\n quillEditorStyle.addEventListener('error', quillEditorOnerror);\n quillEditorSnowStyle.addEventListener('load', quillEditorStyleOnload);\n quillEditorSnowStyle.addEventListener('error', quillEditorOnerror);\n quillEditorScript.addEventListener('load', quillEditorScriptOnload);\n quillEditorScript.addEventListener('error', quillEditorOnerror);\n quillBetterTableScript.addEventListener('load', quillBetterTableScriptOnload);\n quillBetterTableScript.addEventListener('error', quillEditorOnerror);\n\n // check if the script is already loaded. Take into account the Hostname on to src\n if (document.querySelector(`script[src=\"${this.dynamicConfig?.path}/quill.js\"]`) === null) {\n document.body.append(quillEditorScript);\n } else {\n // interval timer to check when the script is loaded\n const interval = setInterval(() => {\n if (loaded) {\n clearInterval(interval);\n } else if (window.Quill !== undefined && window.quillBetterTable !== undefined) {\n observer.next(true);\n observer.complete();\n loaded = true;\n clearInterval(interval);\n }\n }, 100);\n }\n // check if style is already loaded\n if (document.querySelector(`link[href=\"${this.dynamicConfig?.path}/quill.core.css\"]`) === null) {\n document.body.append(quillEditorStyle);\n }\n // check if style is already loaded\n if (document.querySelector(`link[href=\"${this.dynamicConfig?.path}/quill.snow.css\"]`) === null) {\n document.body.append(quillEditorSnowStyle);\n }\n } else {\n observer.next(true);\n observer.complete();\n }\n });\n }\n}\n","import { isPlatformServer } from '@angular/common';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport {\n QUILL_CONFIG_TOKEN,\n QuillConfig,\n QuillFormat,\n QuillModules,\n} from './quill-editor.interfaces';\n\nimport {\n AfterViewInit,\n booleanAttribute,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n PLATFORM_ID,\n Renderer2,\n SecurityContext,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\n\nimport { DOCUMENT } from '@angular/common';\nimport { defaultModules } from './quill-defaults';\nimport { ContentChange, SelectionChange, Range } from './models/editor.model';\nimport { LoaderService } from './loader.service';\n\n// Because quill uses `document` directly, we cannot `import` during SSR\n// instead, we load dynamically via `require('quill')` in `ngAfterViewInit()`\n// eslint-disable-next-line no-var\ndeclare var require: any;\n// eslint-disable-next-line no-var\ndeclare var Quill: any;\n// let Quill: any = window['Quill'];\n\nexport interface CustomOption {\n import: string;\n whitelist: any[];\n}\n\nconst getFormat = (format?: QuillFormat, configFormat?: QuillFormat): QuillFormat => {\n const passedFormat = format || configFormat;\n return passedFormat || 'html';\n};\n\n@Component({\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => QuillEditorComponent),\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => QuillEditorComponent),\n },\n ],\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'quill-editor',\n template: ` <ng-content select=\"[quill-editor-toolbar]\"></ng-content> `,\n})\nexport class QuillEditorComponent implements AfterViewInit, ControlValueAccessor, OnChanges, OnDestroy, Validator {\n quillEditor: any;\n editorElem: HTMLElement | undefined;\n content: any;\n protected loaded = false;\n\n @Input() id: string;\n @Input() format?: 'object' | 'html' | 'text' | 'json';\n @Input() theme?: string;\n @Input() modules?: QuillModules;\n @Input() debug?: 'warn' | 'log' | 'error' | false;\n @Input() placeholder?: string;\n @Input() maxLength?: number;\n @Input() minLength?: number;\n @Input() formats?: string[] | null;\n @Input() customToolbarPosition: 'top' | 'bottom' = 'top';\n @Input() styles: any = null;\n @Input() scrollingContainer?: HTMLElement | string | null;\n @Input() bounds?: HTMLElement | string;\n @Input() customOptions: CustomOption[] = [];\n @Input() trackChanges?: 'user' | 'all';\n @Input() hasImageFeature: boolean;\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onEditorCreated: EventEmitter<any> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onContentChanged: EventEmitter<ContentChange> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onSelectionChanged: EventEmitter<SelectionChange> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onFocus: EventEmitter<{\n editor: any;\n source: string;\n }> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onBlur: EventEmitter<{\n editor: any;\n source: string;\n }> = new EventEmitter();\n\n @Input({ transform: booleanAttribute }) readOnly?: boolean;\n @Input({ transform: booleanAttribute }) required = false;\n @Input({ transform: booleanAttribute }) sanitize = false;\n @Input({ transform: booleanAttribute }) strict = true;\n @Input({ transform: booleanAttribute }) preserveWhitespace = false;\n\n private disabled = false; // used to store initial value before ViewInit\n\n constructor(\n private elementRef: ElementRef,\n private domSanitizer: DomSanitizer,\n @Inject(DOCUMENT) private doc: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n @Inject(PLATFORM_ID) private platformId: Object,\n private renderer: Renderer2,\n private zone: NgZone,\n @Inject(QUILL_CONFIG_TOKEN) private config: QuillConfig,\n private loader: LoaderService,\n ) {}\n\n // eslint-disable-next-line no-empty,no-empty-function,@typescript-eslint/no-empty-function, @typescript-eslint/explicit-function-return-type\n onModelChange(_modelValue?: any) {}\n // eslint-disable-next-line no-empty, no-empty-function, @typescript-eslint/no-empty-function, @typescript-eslint/explicit-function-return-type\n onModelTouched() {}\n\n @Input()\n valueGetter = (quillEditor: any, editorElement: HTMLElement): string | any => {\n let html: string | null = editorElement.querySelector('.ql-editor')?.innerHTML;\n if (html === '<p><br></p>' || html === '<div><br><div>') {\n html = null;\n }\n let modelValue = html;\n const format = getFormat(this.format, this.config.format);\n\n if (format === 'text') {\n modelValue = quillEditor.getText();\n } else if (format === 'object') {\n modelValue = quillEditor.getContents();\n } else if (format === 'json') {\n try {\n modelValue = JSON.stringify(quillEditor.getContents());\n } catch (e) {\n modelValue = quillEditor.getText();\n }\n }\n\n return modelValue;\n };\n\n @Input()\n valueSetter = (quillEditor: any, value: any): any => {\n const format = getFormat(this.format, this.config.format);\n if (format === 'html') {\n if (this.sanitize) {\n value = this.domSanitizer.sanitize(SecurityContext.HTML, value);\n }\n return quillEditor.clipboard.convert({ html: value });\n } else if (format === 'json') {\n try {\n return JSON.parse(value);\n } catch (e) {\n return [{ insert: value }];\n }\n }\n\n return value;\n };\n\n ngAfterViewInit(): void {\n // const loader = new LoaderService();\n this.loader.load().subscribe({\n complete: () => {\n // setup keyboard bindings from BetterTable if present\n const QuillBetterTable = window['quillBetterTable'];\n if(QuillBetterTable) {\n // check if already registered\n if(!window['Quill'].imports.hasOwnProperty('modules/better-table')) {\n window['Quill'].register({ 'modules/better-table': QuillBetterTable });\n }\n if(!this.config.modules.keyboard) {\n this.config.modules.keyboard = {\n bindings: QuillBetterTable?.keyboardBindings,\n };\n }\n }\n\n if (isPlatformServer(this.platformId)) {\n return;\n }\n if (!Quill) {\n // Quill = require('quill')\n Quill = window['Quill'];\n }\n this.overrideScrollBehavior(Quill);\n\n this.loaded = true;\n\n this.elementRef.nativeElement.insertAdjacentHTML(\n this.customToolbarPosition === 'top' ? 'beforeend' : 'afterbegin',\n this.preserveWhitespace ? '<pre quill-editor-element></pre>' : '<div quill-editor-element></div>'\n );\n\n this.editorElem = this.elementRef.nativeElement.querySelector('[quill-editor-element]');\n\n const toolbarElem = this.elementRef.nativeElement.querySelector('[quill-editor-toolbar]');\n let modules = this.modules || this.config.modules || defaultModules;\n if (modules.toolbar === undefined) {\n modules.toolbar = defaultModules.toolbar;\n }\n\n let placeholder = this.placeholder !== undefined ? this.placeholder : this.config.placeholder;\n if (placeholder === undefined) {\n placeholder = 'Insert text here ...';\n }\n\n if (toolbarElem) {\n // eslint-disable-next-line dot-notation,@typescript-eslint/dot-notation\n modules['toolbar'] = toolbarElem;\n }\n\n if (!this.hasImageFeature) {\n modules['uploader'] = { handler: () => false };\n } else {\n modules['uploader'] = { mimetypes: ['image/png', 'image/jpeg'] };\n }\n\n if (this.styles) {\n Object.keys(this.styles).forEach((key: string) => {\n this.renderer.setStyle(this.editorElem, key, this.styles[key]);\n });\n }\n\n this.customOptions.forEach((customOption) => {\n const newCustomOption = Quill.import(customOption.import);\n newCustomOption.whitelist = customOption.whitelist;\n Quill.register(newCustomOption, true);\n });\n\n let bounds = this.bounds && this.bounds === 'self' ? this.editorElem : this.bounds;\n if (!bounds) {\n bounds = this.config.bounds ? this.config.bounds : this.doc.body;\n }\n\n let debug = this.debug;\n if (!debug && debug !== false && this.config.debug) {\n debug = this.config.debug;\n }\n\n let readOnly = this.readOnly;\n if (!readOnly && this.readOnly !== false) {\n readOnly = this.config.readOnly !== undefined ? this.config.readOnly : false;\n }\n\n let scrollingContainer = this.scrollingContainer;\n if (!scrollingContainer && this.scrollingContainer !== null) {\n scrollingContainer =\n this.config.scrollingContainer === null || this.config.scrollingContainer ? this.config.scrollingContainer : null;\n }\n\n let formats = this.formats;\n if (!formats && formats === undefined) {\n formats = this.config.formats || this.config.formats === null ? this.config.formats : undefined;\n }\n Quill.formats = { ...Quill.formats, [this.id]: formats };\n\n if (formats && formats.indexOf('table') !== -1) {\n modules = {\n ...modules,\n 'better-table': false,\n }\n }\n\n this.quillEditor = new Quill(this.editorElem, {\n bounds,\n debug,\n formats,\n modules,\n placeholder,\n readOnly,\n scrollingContainer,\n strict: this.strict,\n theme: this.theme || (this.config.theme ? this.config.theme : 'snow'),\n });\n this.quillEditor.container.firstChild.id = this.id;\n\n if (this.content) {\n const format = getFormat(this.format, this.config.format);\n if (format === 'object') {\n this.quillEditor.setContents(this.content, 'silent');\n } else if (format === 'text') {\n this.quillEditor.setText(this.content, 'silent');\n } else if (format === 'json') {\n try {\n this.quillEditor.setContents(JSON.parse(this.content), 'silent');\n } catch (e) {\n this.quillEditor.setText(this.content, 'silent');\n }\n } else {\n if (this.sanitize) {\n this.content = this.domSanitizer.sanitize(SecurityContext.HTML, this.content);\n }\n const contents = this.quillEditor.clipboard.convert(this.content);\n this.quillEditor.setContents(contents, 'silent');\n }\n\n this.quillEditor.history.clear();\n }\n\n // initialize disabled status based on this.disabled as default value\n this.setDisabledState();\n\n this.onEditorCreated.emit(this.quillEditor);\n\n // mark model as touched if editor lost focus\n this.quillEditor.on('selection-change', this.selectionChangeHandler);\n\n // update model if text changes\n this.quillEditor.on('text-change', this.textChangeHandler);\n }\n });\n }\n\n selectionChangeHandler = (range: Range | null, oldRange: Range | null, source: string): void => {\n this.zone.run(() => {\n if (range === null) {\n this.onBlur.emit({\n editor: this.quillEditor,\n source,\n });\n } else if (oldRange === null) {\n this.onFocus.emit({\n editor: this.quillEditor,\n source,\n });\n }\n\n this.onSelectionChanged.emit({\n editor: this.quillEditor,\n oldRange,\n range,\n source,\n });\n\n if (!range && this.onModelTouched) {\n this.onModelTouched();\n }\n });\n };\n\n textChangeHandler = (delta: any, oldDelta: any, source: string): void => {\n // only emit changes emitted by user interactions\n\n const text = this.quillEditor.getText();\n const content = this.quillEditor.getContents();\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n let html: string | null = this.editorElem!.querySelector('.ql-editor')!.innerHTML;\n if (html === '<p><br></p>' || html === '<div><br><div>') {\n html = null;\n }\n\n this.zone.run(() => {\n const trackChanges = this.trackChanges || this.config.trackChanges;\n if ((source === Quill.sources.USER || (trackChanges && trackChanges === 'all')) && this.onModelChange) {\n this.onModelChange(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.valueGetter(this.quillEditor, this.editorElem!)\n );\n }\n\n this.onContentChanged.emit({\n content,\n delta,\n editor: this.quillEditor,\n html,\n oldDelta,\n source,\n text,\n });\n });\n };\n\n ngOnDestroy(): void {\n if (this.quillEditor) {\n this.quillEditor.off('selection-change', this.selectionChangeHandler);\n this.quillEditor.off('text-change', this.textChangeHandler);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this.quillEditor) {\n return;\n }\n if (changes.id) {\n this.quillEditor.container.firstChild.id = changes.id.currentValue;\n Quill.formats = { ...Quill.formats, [this.id]: this.formats };\n }\n if (changes['readOnly']) {\n this.quillEditor.enable(!changes['readOnly'].currentValue);\n }\n if (changes['placeholder']) {\n this.quillEditor.root.dataset.placeholder = changes['placeholder'].currentValue;\n }\n if (changes['styles']) {\n const currentStyling = changes['styles'].currentValue;\n const previousStyling = changes['styles'].previousValue;\n\n if (previousStyling) {\n Object.keys(previousStyling).forEach((key: string) => {\n this.renderer.removeStyle(this.editorElem, key);\n });\n }\n if (currentStyling) {\n Object.keys(currentStyling).forEach((key: string) => {\n this.renderer.setStyle(this.editorElem, key, this.styles[key]);\n });\n }\n }\n if (changes['formats']) {\n const currentFormats = changes['formats'].currentValue;\n Quill.formats = { ...Quill.formats, [this.id]: currentFormats };\n }\n }\n\n writeValue(currentValue: any): void {\n this.content = currentValue;\n const format = getFormat(this.format, this.config.format);\n\n if (this.quillEditor) {\n if (currentValue) {\n if (format === 'text') {\n this.quillEditor.setText(currentValue);\n } else {\n this.quillEditor.setContents(this.valueSetter(this.quillEditor, this.content));\n }\n return;\n }\n this.quillEditor.setText('');\n }\n }\n\n setDisabledState(isDisabled: boolean = this.disabled): void {\n // store initial value to set appropriate disabled status after ViewInit\n this.disabled = isDisabled;\n if (this.quillEditor) {\n if (isDisabled) {\n this.quillEditor.disable();\n this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', 'disabled');\n } else {\n if (!this.readOnly) {\n this.quillEditor.enable();\n }\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n }\n }\n }\n\n registerOnChange(fn: (modelValue: any) => void): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onModelTouched = fn;\n }\n\n validate(): any {\n if (!this.quillEditor) {\n return null;\n }\n\n const err: {\n minLengthError?: {\n given: number;\n minLength: number;\n };\n maxLengthError?: {\n given: number;\n maxLength: number;\n };\n requiredError?: { empty: boolean };\n } = {};\n let valid = true;\n\n const textLength = this.quillEditor.getText().trim().length;\n\n if (this.minLength && textLength && textLength < this.minLength) {\n err.minLengthError = {\n given: textLength,\n minLength: this.minLength,\n };\n\n valid = false;\n }\n\n if (this.maxLength && textLength > this.maxLength) {\n err.maxLengthError = {\n given: textLength,\n maxLength: this.maxLength,\n };\n\n valid = false;\n }\n\n if (this.required && !textLength) {\n err.requiredError = {\n empty: true,\n };\n\n valid = false;\n }\n\n return valid ? null : err;\n }\n\n /**\n * Override the default Quill scroll behavior to take into account the formats array and skip non-found ones. Then\n * registers the plugin to the Quill editor.\n *\n * @param QuillInstance The Quill class (not the instance)\n * @private\n */\n private overrideScrollBehavior(QuillInstance: any): void {\n // the Built-in Scroll Class is not exported, so we need to import it\n const BuiltinScroll = QuillInstance.import('blots/scroll');\n /**\n * Override the default Quill scroll behavior to take into account the formats array and skip non-found ones.\n */\n class Scroll extends BuiltinScroll {\n formatAt(index: number, length: number, format: string, value: any): void {\n const elementId = this.domNode.id;\n const instanceFormats = QuillInstance.formats[elementId];\n // checks the formats array to see if the format is blacklisted\n if (instanceFormats && instanceFormats.find((f) => f === format)) {\n return;\n }\n // continue with default behavior\n super.formatAt(index, length, format, value);\n }\n }\n /** register the Scroll override */\n QuillInstance.register('blots/scroll', Scroll, true);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { defaultModules } from './quill-defaults';\nimport { QuillEditorComponent } from './quill-editor.component';\nimport { QUILL_CONFIG_TOKEN, QuillConfig } from './quill-editor.interfaces';\nimport { CommonModule } from \"@angular/common\";\n\n// TODO: integrate that module and all related code with the eui-editor module.\n// Remove this sub-entry and move all the code to the eui-editor.\n\n/**\n * @deprecated please don't use it. It will be removed\n */\n@NgModule({\n declarations: [QuillEditorComponent],\n exports: [QuillEditorComponent],\n imports: [CommonModule],\n providers: [\n {\n provide: QUILL_CONFIG_TOKEN,\n useValue: { modules: defaultModules },\n },\n ],\n})\nexport class QuillModule {\n static forRoot(config?: QuillConfig): ModuleWithProviders<QuillModule> {\n return {\n ngModule: QuillModule,\n providers: [\n {\n provide: QUILL_CONFIG_TOKEN,\n // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\n useValue: config || { modules: defaultModules },\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.LoaderService"],"mappings":"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"}
|