@kolkov/angular-editor 3.1.1 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,10 @@
1
- import { HttpEvent, HttpResponse } from '@angular/common/http';
2
- import { Observable } from 'rxjs';
3
- import * as i0 from '@angular/core';
4
- import { OnInit, EventEmitter, ElementRef, AfterViewInit, OnDestroy, TemplateRef } from '@angular/core';
5
- import * as i7 from '@angular/forms';
6
- import { ControlValueAccessor } from '@angular/forms';
7
- import * as i6 from '@angular/common';
8
-
1
+ import { HttpEvent, HttpResponse } from "@angular/common/http";
2
+ import { Observable } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from "@angular/core";
5
+ import * as i7 from "@angular/forms";
6
+ import { ControlValueAccessor } from "@angular/forms";
7
+ import * as i6 from "@angular/common";
9
8
  /**
10
9
  * Custom class configuration for applying styles to selected content.
11
10
  *
@@ -20,445 +19,533 @@ import * as i6 from '@angular/common';
20
19
  * { name: 'Quote', class: 'quote', mode: 'auto', tag: 'div' }
21
20
  */
22
21
  interface CustomClass {
23
- /** Display name shown in dropdown */
24
- name: string;
25
- /** CSS class to apply */
26
- class: string;
27
- /** HTML tag to use for wrapping (default: 'span') */
28
- tag?: string;
29
- /**
30
- * Application mode:
31
- * - 'inline': Always wrap selection in a single element (legacy behavior)
32
- * - 'block': Apply class to each block element in selection
33
- * - 'auto': Smart detection - inline for single block, block for multiple (default)
34
- */
35
- mode?: 'inline' | 'block' | 'auto';
22
+ /** Display name shown in dropdown */
23
+ name: string;
24
+ /** CSS class to apply */
25
+ class: string;
26
+ /** HTML tag to use for wrapping (default: 'span') */
27
+ tag?: string;
28
+ /**
29
+ * Application mode:
30
+ * - 'inline': Always wrap selection in a single element (legacy behavior)
31
+ * - 'block': Apply class to each block element in selection
32
+ * - 'auto': Smart detection - inline for single block, block for multiple (default)
33
+ */
34
+ mode?: 'inline' | 'block' | 'auto';
36
35
  }
37
36
  interface Font {
38
- name: string;
39
- class: string;
37
+ name: string;
38
+ class: string;
40
39
  }
41
40
  interface AngularEditorConfig {
42
- editable?: boolean;
43
- spellcheck?: boolean;
44
- height?: 'auto' | string;
45
- minHeight?: '0' | string;
46
- maxHeight?: 'auto' | string;
47
- width?: 'auto' | string;
48
- minWidth?: '0' | string;
49
- translate?: 'yes' | 'now' | string;
50
- enableToolbar?: boolean;
51
- showToolbar?: boolean;
52
- placeholder?: string;
53
- defaultParagraphSeparator?: string;
54
- defaultFontName?: string;
55
- defaultFontSize?: '1' | '2' | '3' | '4' | '5' | '6' | '7' | string;
56
- uploadUrl?: string;
57
- upload?: (file: File) => Observable<HttpEvent<UploadResponse>>;
58
- uploadWithCredentials?: boolean;
59
- fonts?: Font[];
60
- customClasses?: CustomClass[];
61
- sanitize?: boolean;
62
- toolbarPosition?: 'top' | 'bottom';
63
- outline?: boolean;
64
- toolbarHiddenButtons?: string[][];
65
- rawPaste?: boolean;
66
- textDirection?: 'ltr' | 'rtl' | 'auto';
41
+ editable?: boolean;
42
+ spellcheck?: boolean;
43
+ height?: 'auto' | string;
44
+ minHeight?: '0' | string;
45
+ maxHeight?: 'auto' | string;
46
+ width?: 'auto' | string;
47
+ minWidth?: '0' | string;
48
+ translate?: 'yes' | 'now' | string;
49
+ enableToolbar?: boolean;
50
+ showToolbar?: boolean;
51
+ placeholder?: string;
52
+ defaultParagraphSeparator?: string;
53
+ defaultFontName?: string;
54
+ defaultFontSize?: '1' | '2' | '3' | '4' | '5' | '6' | '7' | string;
55
+ uploadUrl?: string;
56
+ upload?: (file: File) => Observable<HttpEvent<UploadResponse>>;
57
+ uploadWithCredentials?: boolean;
58
+ fonts?: Font[];
59
+ customClasses?: CustomClass[];
60
+ sanitize?: boolean;
61
+ toolbarPosition?: 'top' | 'bottom';
62
+ outline?: boolean;
63
+ toolbarHiddenButtons?: string[][];
64
+ rawPaste?: boolean;
65
+ textDirection?: 'ltr' | 'rtl' | 'auto';
67
66
  }
68
-
69
- interface UploadResponse {
67
+ declare const angularEditorConfig: AngularEditorConfig;
68
+ export interface UploadResponse {
69
+ imageUrl: string;
70
+ }
71
+ export declare class AngularEditorService {
72
+ savedSelection: Range | null;
73
+ selectedText: string;
74
+ uploadUrl: string;
75
+ uploadWithCredentials: boolean;
76
+ private http;
77
+ private doc;
78
+ /**
79
+ * Executed command from editor header buttons exclude toggleEditorMode
80
+ * @param command string from triggerCommand
81
+ * @param value
82
+ */
83
+ executeCommand(command: string, value?: string): void;
84
+ /**
85
+ * Create URL link
86
+ * @param url string from UI prompt
87
+ */
88
+ createLink(url: string): void;
89
+ /**
90
+ * insert color either font or background
91
+ *
92
+ * @param color color to be inserted
93
+ * @param where where the color has to be inserted either text/background
94
+ */
95
+ insertColor(color: string, where: string): void;
96
+ /**
97
+ * Set font name
98
+ * @param fontName string
99
+ */
100
+ setFontName(fontName: string): void;
101
+ /**
102
+ * Set font size
103
+ * @param fontSize string
104
+ */
105
+ setFontSize(fontSize: string): void;
106
+ /**
107
+ * Create raw HTML
108
+ * @param html HTML string
109
+ */
110
+ insertHtml(html: string): void;
111
+ /**
112
+ * save selection when the editor is focussed out
113
+ */
114
+ saveSelection: () => void;
115
+ /**
116
+ * restore selection when the editor is focused in
117
+ *
118
+ * saved selection when the editor is focused out
119
+ */
120
+ restoreSelection(): boolean;
121
+ /**
122
+ * setTimeout used for execute 'saveSelection' method in next event loop iteration
123
+ */
124
+ executeInNextQueueIteration(callbackFn: (...args: unknown[]) => unknown, timeout?: number): void;
125
+ /** check any selection is made or not */
126
+ private checkSelection;
127
+ /**
128
+ * Upload file to uploadUrl
129
+ * @param file The file
130
+ */
131
+ uploadImage(file: File): Observable<HttpEvent<UploadResponse>>;
132
+ /**
133
+ * Insert image with Url
134
+ * @param imageUrl The imageUrl.
135
+ */
136
+ insertImage(imageUrl: string): void;
137
+ setDefaultParagraphSeparator(separator: string): void;
138
+ /**
139
+ * Apply custom class to selection with enterprise-level HTML structure preservation.
140
+ * Supports three modes:
141
+ * - 'inline': Wrap selection in a single element (legacy behavior)
142
+ * - 'block': Apply class to each block element in selection
143
+ * - 'auto': Smart detection based on selection span (default)
144
+ *
145
+ * @param customClass The custom class configuration
146
+ */
147
+ createCustomClass(customClass: CustomClass): void;
148
+ /**
149
+ * Apply class inline by wrapping selection in a single element.
150
+ * Uses extractContents + insertNode pattern for safety.
151
+ */
152
+ private applyClassInline;
153
+ /**
154
+ * Fallback method for inline class application (legacy behavior).
155
+ */
156
+ private applyClassInlineFallback;
157
+ /**
158
+ * Apply class to each block element in selection.
159
+ * Preserves HTML structure by adding class to existing elements.
160
+ */
161
+ private applyClassToBlocks;
162
+ /**
163
+ * Get all block-level elements within a range.
164
+ * Returns elements that are fully or partially selected.
165
+ */
166
+ private getBlockElementsInRange;
167
+ /**
168
+ * Check if a node is fully contained within a range.
169
+ */
170
+ private isNodeFullyInRange;
171
+ /**
172
+ * Check if element has an ancestor in the given set.
173
+ */
174
+ private hasAncestorInSet;
175
+ insertVideo(videoUrl: string): void;
176
+ private insertYouTubeVideoTag;
177
+ private insertVimeoVideoTag;
178
+ nextNode(node: any): any;
179
+ getRangeSelectedNodes(range: any, includePartiallySelectedContainers: boolean): any[];
180
+ getSelectedNodes(): any[];
181
+ replaceWithOwnChildren(el: any): void;
182
+ removeSelectedElements(tagNames: any): void;
183
+ static ɵfac: i0.ɵɵFactoryDeclaration<AngularEditorService, never>;
184
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
185
+ }
186
+ declare namespace ae_select_component_d_exports {
187
+ export { AeSelectComponent, SelectOption };
188
+ }
189
+ export interface SelectOption {
190
+ label: string;
191
+ value: string;
192
+ }
193
+ export declare class AeSelectComponent implements OnInit, ControlValueAccessor {
194
+ options: SelectOption[];
195
+ isHidden: boolean;
196
+ selectedOption: SelectOption;
197
+ disabled: boolean;
198
+ optionId: number;
199
+ get label(): string;
200
+ opened: boolean;
201
+ get value(): string;
202
+ hidden: string;
203
+ changeEvent: EventEmitter<any>;
204
+ labelButton: ElementRef;
205
+ private elRef;
206
+ private r;
207
+ ngOnInit(): void;
208
+ hide(): void;
209
+ optionSelect(option: SelectOption, event: MouseEvent): void;
210
+ toggleOpen(event: MouseEvent): void;
211
+ onClick($event: MouseEvent): void;
212
+ close(): void;
213
+ get isOpen(): boolean;
214
+ writeValue(value: any): void;
215
+ setValue(value: any): void;
216
+ onChange: any;
217
+ onTouched: any;
218
+ registerOnChange(fn: any): void;
219
+ registerOnTouched(fn: any): void;
220
+ setDisabledState(isDisabled: boolean): void;
221
+ handleKeyDown($event: KeyboardEvent): void;
222
+ _handleArrowDown($event: any): void;
223
+ _handleArrowUp($event: any): void;
224
+ _handleSpace($event: any): void;
225
+ _handleEnter($event: any): void;
226
+ _handleTab($event: any): void;
227
+ _handleBackspace(): void;
228
+ static ɵfac: i0.ɵɵFactoryDeclaration<AeSelectComponent, never>;
229
+ static ɵcmp: i0.ɵɵComponentDeclaration<AeSelectComponent, "ae-select", never, {
230
+ "options": {
231
+ "alias": "options";
232
+ "required": false;
233
+ };
234
+ "isHidden": {
235
+ "alias": "hidden";
236
+ "required": false;
237
+ };
238
+ }, {
239
+ "changeEvent": "change";
240
+ }, never, never, false, never>;
241
+ }
242
+ declare namespace ae_toolbar_component_d_exports {
243
+ export { AeToolbarComponent };
244
+ }
245
+ export declare class AeToolbarComponent {
246
+ htmlMode: boolean;
247
+ linkSelected: boolean;
248
+ block: string;
249
+ fontName: string;
250
+ fontSize: string;
251
+ foreColour: string;
252
+ backColor: string;
253
+ headings: SelectOption[];
254
+ fontSizes: SelectOption[];
255
+ customClassId: string;
256
+ _customClasses: CustomClass[];
257
+ customClassList: SelectOption[];
258
+ tagMap: Record<string, string>;
259
+ select: string[];
260
+ buttons: string[];
261
+ id: string;
262
+ uploadUrl: string;
263
+ upload: (file: File) => Observable<HttpEvent<UploadResponse>>;
264
+ showToolbar: boolean;
265
+ fonts: SelectOption[];
266
+ set customClasses(classes: CustomClass[]);
267
+ set defaultFontName(value: string);
268
+ set defaultFontSize(value: string);
269
+ hiddenButtons: string[][];
270
+ execute: EventEmitter<string>;
271
+ myInputFile: ElementRef;
272
+ get isLinkButtonDisabled(): boolean;
273
+ private r;
274
+ private editorService;
275
+ private er;
276
+ private doc;
277
+ /**
278
+ * Trigger command from editor header buttons
279
+ * @param command string from toolbar buttons
280
+ */
281
+ triggerCommand(command: string): void;
282
+ /**
283
+ * highlight editor buttons when cursor moved or positioning
284
+ */
285
+ triggerButtons(): void;
286
+ /**
287
+ * trigger highlight editor buttons when cursor moved or positioning in block
288
+ */
289
+ triggerBlocks(nodes: Node[]): void;
290
+ /**
291
+ * insert URL link
292
+ */
293
+ insertUrl(): void;
294
+ /**
295
+ * insert Video link
296
+ */
297
+ insertVideo(): void;
298
+ /** insert color */
299
+ insertColor(color: string, where: string): void;
300
+ /**
301
+ * set font Name/family
302
+ * @param foreColor string
303
+ */
304
+ setFontName(foreColor: string): void;
305
+ /**
306
+ * set font Size
307
+ * @param fontSize string
308
+ */
309
+ setFontSize(fontSize: string): void;
310
+ /**
311
+ * toggle editor mode (WYSIWYG or SOURCE)
312
+ * @param m boolean
313
+ */
314
+ setEditorMode(m: boolean): void;
315
+ /**
316
+ * Upload image when file is selected.
317
+ */
318
+ onFileChanged(event: any): void;
319
+ watchUploadImage(response: HttpResponse<{
70
320
  imageUrl: string;
321
+ }>, event: any): void;
322
+ /**
323
+ * Set custom class
324
+ */
325
+ setCustomClass(classId: string): void;
326
+ isButtonHidden(name: string): boolean;
327
+ focus(): void;
328
+ static ɵfac: i0.ɵɵFactoryDeclaration<AeToolbarComponent, never>;
329
+ static ɵcmp: i0.ɵɵComponentDeclaration<AeToolbarComponent, "angular-editor-toolbar, ae-toolbar, div[aeToolbar]", never, {
330
+ "id": {
331
+ "alias": "id";
332
+ "required": false;
333
+ };
334
+ "uploadUrl": {
335
+ "alias": "uploadUrl";
336
+ "required": false;
337
+ };
338
+ "upload": {
339
+ "alias": "upload";
340
+ "required": false;
341
+ };
342
+ "showToolbar": {
343
+ "alias": "showToolbar";
344
+ "required": false;
345
+ };
346
+ "fonts": {
347
+ "alias": "fonts";
348
+ "required": false;
349
+ };
350
+ "customClasses": {
351
+ "alias": "customClasses";
352
+ "required": false;
353
+ };
354
+ "defaultFontName": {
355
+ "alias": "defaultFontName";
356
+ "required": false;
357
+ };
358
+ "defaultFontSize": {
359
+ "alias": "defaultFontSize";
360
+ "required": false;
361
+ };
362
+ "hiddenButtons": {
363
+ "alias": "hiddenButtons";
364
+ "required": false;
365
+ };
366
+ }, {
367
+ "execute": "execute";
368
+ }, never, ["*"], false, never>;
71
369
  }
72
- declare class AngularEditorService {
73
- savedSelection: Range | null;
74
- selectedText: string;
75
- uploadUrl: string;
76
- uploadWithCredentials: boolean;
77
- private http;
78
- private doc;
79
- /**
80
- * Executed command from editor header buttons exclude toggleEditorMode
81
- * @param command string from triggerCommand
82
- * @param value
83
- */
84
- executeCommand(command: string, value?: string): void;
85
- /**
86
- * Create URL link
87
- * @param url string from UI prompt
88
- */
89
- createLink(url: string): void;
90
- /**
91
- * insert color either font or background
92
- *
93
- * @param color color to be inserted
94
- * @param where where the color has to be inserted either text/background
95
- */
96
- insertColor(color: string, where: string): void;
97
- /**
98
- * Set font name
99
- * @param fontName string
100
- */
101
- setFontName(fontName: string): void;
102
- /**
103
- * Set font size
104
- * @param fontSize string
105
- */
106
- setFontSize(fontSize: string): void;
107
- /**
108
- * Create raw HTML
109
- * @param html HTML string
110
- */
111
- insertHtml(html: string): void;
112
- /**
113
- * save selection when the editor is focussed out
114
- */
115
- saveSelection: () => void;
116
- /**
117
- * restore selection when the editor is focused in
118
- *
119
- * saved selection when the editor is focused out
120
- */
121
- restoreSelection(): boolean;
122
- /**
123
- * setTimeout used for execute 'saveSelection' method in next event loop iteration
124
- */
125
- executeInNextQueueIteration(callbackFn: (...args: unknown[]) => unknown, timeout?: number): void;
126
- /** check any selection is made or not */
127
- private checkSelection;
128
- /**
129
- * Upload file to uploadUrl
130
- * @param file The file
131
- */
132
- uploadImage(file: File): Observable<HttpEvent<UploadResponse>>;
133
- /**
134
- * Insert image with Url
135
- * @param imageUrl The imageUrl.
136
- */
137
- insertImage(imageUrl: string): void;
138
- setDefaultParagraphSeparator(separator: string): void;
139
- /**
140
- * Apply custom class to selection with enterprise-level HTML structure preservation.
141
- * Supports three modes:
142
- * - 'inline': Wrap selection in a single element (legacy behavior)
143
- * - 'block': Apply class to each block element in selection
144
- * - 'auto': Smart detection based on selection span (default)
145
- *
146
- * @param customClass The custom class configuration
147
- */
148
- createCustomClass(customClass: CustomClass): void;
149
- /**
150
- * Apply class inline by wrapping selection in a single element.
151
- * Uses extractContents + insertNode pattern for safety.
152
- */
153
- private applyClassInline;
154
- /**
155
- * Fallback method for inline class application (legacy behavior).
156
- */
157
- private applyClassInlineFallback;
158
- /**
159
- * Apply class to each block element in selection.
160
- * Preserves HTML structure by adding class to existing elements.
161
- */
162
- private applyClassToBlocks;
163
- /**
164
- * Get all block-level elements within a range.
165
- * Returns elements that are fully or partially selected.
166
- */
167
- private getBlockElementsInRange;
168
- /**
169
- * Check if a node is fully contained within a range.
170
- */
171
- private isNodeFullyInRange;
172
- /**
173
- * Check if element has an ancestor in the given set.
174
- */
175
- private hasAncestorInSet;
176
- insertVideo(videoUrl: string): void;
177
- private insertYouTubeVideoTag;
178
- private insertVimeoVideoTag;
179
- nextNode(node: any): any;
180
- getRangeSelectedNodes(range: any, includePartiallySelectedContainers: boolean): any[];
181
- getSelectedNodes(): any[];
182
- replaceWithOwnChildren(el: any): void;
183
- removeSelectedElements(tagNames: any): void;
184
- static ɵfac: i0.ɵɵFactoryDeclaration<AngularEditorService, never>;
185
- static ɵprov: i0.ɵɵInjectableDeclaration<AngularEditorService>;
370
+ declare namespace angular_editor_component_d_exports {
371
+ export { AngularEditorComponent };
186
372
  }
187
-
188
- interface SelectOption {
373
+ export declare class AngularEditorComponent implements OnInit, ControlValueAccessor, AfterViewInit, OnDestroy {
374
+ private autoFocus;
375
+ private onChange;
376
+ private onTouched;
377
+ modeVisual: boolean;
378
+ showPlaceholder: boolean;
379
+ disabled: boolean;
380
+ focused: boolean;
381
+ touched: boolean;
382
+ changed: boolean;
383
+ focusInstance: any;
384
+ blurInstance: any;
385
+ id: string;
386
+ config: AngularEditorConfig;
387
+ placeholder: string;
388
+ tabIndex: number | null;
389
+ html: EventEmitter<any>;
390
+ textArea: ElementRef;
391
+ editorWrapper: ElementRef;
392
+ editorToolbar: AeToolbarComponent;
393
+ customButtonsTemplateRef?: TemplateRef<any>;
394
+ executeCommandFn: (command: string, value?: string) => void;
395
+ viewMode: EventEmitter<boolean>;
396
+ /** emits `blur` event when focused out from the textarea */
397
+ blurEvent: EventEmitter<FocusEvent>;
398
+ /** emits `focus` event when focused in to the textarea */
399
+ focusEvent: EventEmitter<FocusEvent>;
400
+ tabindex: number;
401
+ onFocus(): void;
402
+ private r;
403
+ private editorService;
404
+ private doc;
405
+ private sanitizer;
406
+ private cdRef;
407
+ constructor(defaultTabIndex: string, autoFocus: any);
408
+ ngOnInit(): void;
409
+ ngAfterViewInit(): void;
410
+ onPaste(event: ClipboardEvent): string | undefined;
411
+ /**
412
+ * Executed command from editor header buttons
413
+ * @param command string from triggerCommand
414
+ * @param value
415
+ */
416
+ executeCommand(command: string, value?: string): void;
417
+ /**
418
+ * focus event
419
+ */
420
+ onTextAreaFocus(event: FocusEvent): void;
421
+ /**
422
+ * @description fires when cursor leaves textarea
423
+ */
424
+ onTextAreaMouseOut(event: MouseEvent): void;
425
+ /**
426
+ * blur event
427
+ */
428
+ onTextAreaBlur(event: FocusEvent): void;
429
+ /**
430
+ * focus the text area when the editor is focused
431
+ */
432
+ focus(): void;
433
+ /**
434
+ * Executed from the contenteditable section while the input property changes
435
+ * @param element html element from contenteditable
436
+ */
437
+ onContentChange(element: HTMLElement): void;
438
+ /**
439
+ * Set the function to be called
440
+ * when the control receives a change event.
441
+ *
442
+ * @param fn a function
443
+ */
444
+ registerOnChange(fn: any): void;
445
+ /**
446
+ * Set the function to be called
447
+ * when the control receives a touch event.
448
+ *
449
+ * @param fn a function
450
+ */
451
+ registerOnTouched(fn: any): void;
452
+ /**
453
+ * Write a new value to the element.
454
+ *
455
+ * @param value value to be executed when there is a change in contenteditable
456
+ */
457
+ writeValue(value: any): void;
458
+ /**
459
+ * refresh view/HTML of the editor
460
+ *
461
+ * @param value html string from the editor
462
+ */
463
+ refreshView(value: string): void;
464
+ /**
465
+ * toggles placeholder based on input string
466
+ *
467
+ * @param value A HTML string from the editor
468
+ */
469
+ togglePlaceholder(value: boolean): void;
470
+ /**
471
+ * Implements disabled state for this element
472
+ *
473
+ * @param isDisabled Disabled flag
474
+ */
475
+ setDisabledState(isDisabled: boolean): void;
476
+ /**
477
+ * toggles editor mode based on bToSource bool
478
+ *
479
+ * @param bToSource A boolean value from the editor
480
+ */
481
+ toggleEditorMode(bToSource: boolean): void;
482
+ /**
483
+ * toggles editor buttons when cursor moved or positioning
484
+ *
485
+ * Send a node array from the contentEditable of the editor
486
+ */
487
+ exec(): void;
488
+ private configure;
489
+ getFonts(): {
189
490
  label: string;
190
491
  value: string;
492
+ }[];
493
+ getCustomTags(): string;
494
+ ngOnDestroy(): void;
495
+ filterStyles(html: string): string;
496
+ static ɵfac: i0.ɵɵFactoryDeclaration<AngularEditorComponent, [{
497
+ attribute: "tabindex";
498
+ }, {
499
+ attribute: "autofocus";
500
+ }]>;
501
+ static ɵcmp: i0.ɵɵComponentDeclaration<AngularEditorComponent, "angular-editor", never, {
502
+ "id": {
503
+ "alias": "id";
504
+ "required": false;
505
+ };
506
+ "config": {
507
+ "alias": "config";
508
+ "required": false;
509
+ };
510
+ "placeholder": {
511
+ "alias": "placeholder";
512
+ "required": false;
513
+ };
514
+ "tabIndex": {
515
+ "alias": "tabIndex";
516
+ "required": false;
517
+ };
518
+ }, {
519
+ "html": "html";
520
+ "viewMode": "viewMode";
521
+ "blurEvent": "blur";
522
+ "focusEvent": "focus";
523
+ }, ["customButtonsTemplateRef"], never, false, never>;
191
524
  }
192
- declare class AeSelectComponent implements OnInit, ControlValueAccessor {
193
- options: SelectOption[];
194
- isHidden: boolean;
195
- selectedOption: SelectOption;
196
- disabled: boolean;
197
- optionId: number;
198
- get label(): string;
199
- opened: boolean;
200
- get value(): string;
201
- hidden: string;
202
- changeEvent: EventEmitter<any>;
203
- labelButton: ElementRef;
204
- private elRef;
205
- private r;
206
- ngOnInit(): void;
207
- hide(): void;
208
- optionSelect(option: SelectOption, event: MouseEvent): void;
209
- toggleOpen(event: MouseEvent): void;
210
- onClick($event: MouseEvent): void;
211
- close(): void;
212
- get isOpen(): boolean;
213
- writeValue(value: any): void;
214
- setValue(value: any): void;
215
- onChange: any;
216
- onTouched: any;
217
- registerOnChange(fn: any): void;
218
- registerOnTouched(fn: any): void;
219
- setDisabledState(isDisabled: boolean): void;
220
- handleKeyDown($event: KeyboardEvent): void;
221
- _handleArrowDown($event: any): void;
222
- _handleArrowUp($event: any): void;
223
- _handleSpace($event: any): void;
224
- _handleEnter($event: any): void;
225
- _handleTab($event: any): void;
226
- _handleBackspace(): void;
227
- static ɵfac: i0.ɵɵFactoryDeclaration<AeSelectComponent, never>;
228
- static ɵcmp: i0.ɵɵComponentDeclaration<AeSelectComponent, "ae-select", never, { "options": { "alias": "options"; "required": false; }; "isHidden": { "alias": "hidden"; "required": false; }; }, { "changeEvent": "change"; }, never, never, false, never>;
229
- }
230
-
231
- declare class AeToolbarComponent {
232
- htmlMode: boolean;
233
- linkSelected: boolean;
234
- block: string;
235
- fontName: string;
236
- fontSize: string;
237
- foreColour: string;
238
- backColor: string;
239
- headings: SelectOption[];
240
- fontSizes: SelectOption[];
241
- customClassId: string;
242
- _customClasses: CustomClass[];
243
- customClassList: SelectOption[];
244
- tagMap: Record<string, string>;
245
- select: string[];
246
- buttons: string[];
247
- id: string;
248
- uploadUrl: string;
249
- upload: (file: File) => Observable<HttpEvent<UploadResponse>>;
250
- showToolbar: boolean;
251
- fonts: SelectOption[];
252
- set customClasses(classes: CustomClass[]);
253
- set defaultFontName(value: string);
254
- set defaultFontSize(value: string);
255
- hiddenButtons: string[][];
256
- execute: EventEmitter<string>;
257
- myInputFile: ElementRef;
258
- get isLinkButtonDisabled(): boolean;
259
- private r;
260
- private editorService;
261
- private er;
262
- private doc;
263
- /**
264
- * Trigger command from editor header buttons
265
- * @param command string from toolbar buttons
266
- */
267
- triggerCommand(command: string): void;
268
- /**
269
- * highlight editor buttons when cursor moved or positioning
270
- */
271
- triggerButtons(): void;
272
- /**
273
- * trigger highlight editor buttons when cursor moved or positioning in block
274
- */
275
- triggerBlocks(nodes: Node[]): void;
276
- /**
277
- * insert URL link
278
- */
279
- insertUrl(): void;
280
- /**
281
- * insert Video link
282
- */
283
- insertVideo(): void;
284
- /** insert color */
285
- insertColor(color: string, where: string): void;
286
- /**
287
- * set font Name/family
288
- * @param foreColor string
289
- */
290
- setFontName(foreColor: string): void;
291
- /**
292
- * set font Size
293
- * @param fontSize string
294
- */
295
- setFontSize(fontSize: string): void;
296
- /**
297
- * toggle editor mode (WYSIWYG or SOURCE)
298
- * @param m boolean
299
- */
300
- setEditorMode(m: boolean): void;
301
- /**
302
- * Upload image when file is selected.
303
- */
304
- onFileChanged(event: any): void;
305
- watchUploadImage(response: HttpResponse<{
306
- imageUrl: string;
307
- }>, event: any): void;
308
- /**
309
- * Set custom class
310
- */
311
- setCustomClass(classId: string): void;
312
- isButtonHidden(name: string): boolean;
313
- focus(): void;
314
- static ɵfac: i0.ɵɵFactoryDeclaration<AeToolbarComponent, never>;
315
- static ɵcmp: i0.ɵɵComponentDeclaration<AeToolbarComponent, "angular-editor-toolbar, ae-toolbar, div[aeToolbar]", never, { "id": { "alias": "id"; "required": false; }; "uploadUrl": { "alias": "uploadUrl"; "required": false; }; "upload": { "alias": "upload"; "required": false; }; "showToolbar": { "alias": "showToolbar"; "required": false; }; "fonts": { "alias": "fonts"; "required": false; }; "customClasses": { "alias": "customClasses"; "required": false; }; "defaultFontName": { "alias": "defaultFontName"; "required": false; }; "defaultFontSize": { "alias": "defaultFontSize"; "required": false; }; "hiddenButtons": { "alias": "hiddenButtons"; "required": false; }; }, { "execute": "execute"; }, never, ["*"], false, never>;
525
+ declare namespace ae_button_component_d_exports {
526
+ export { AeButtonComponent };
316
527
  }
317
-
318
- declare class AngularEditorComponent implements OnInit, ControlValueAccessor, AfterViewInit, OnDestroy {
319
- private autoFocus;
320
- private onChange;
321
- private onTouched;
322
- modeVisual: boolean;
323
- showPlaceholder: boolean;
324
- disabled: boolean;
325
- focused: boolean;
326
- touched: boolean;
327
- changed: boolean;
328
- focusInstance: any;
329
- blurInstance: any;
330
- id: string;
331
- config: AngularEditorConfig;
332
- placeholder: string;
333
- tabIndex: number | null;
334
- html: EventEmitter<any>;
335
- textArea: ElementRef;
336
- editorWrapper: ElementRef;
337
- editorToolbar: AeToolbarComponent;
338
- customButtonsTemplateRef?: TemplateRef<any>;
339
- executeCommandFn: (command: string, value?: string) => void;
340
- viewMode: EventEmitter<boolean>;
341
- /** emits `blur` event when focused out from the textarea */
342
- blurEvent: EventEmitter<FocusEvent>;
343
- /** emits `focus` event when focused in to the textarea */
344
- focusEvent: EventEmitter<FocusEvent>;
345
- tabindex: number;
346
- onFocus(): void;
347
- private r;
348
- private editorService;
349
- private doc;
350
- private sanitizer;
351
- private cdRef;
352
- constructor(defaultTabIndex: string, autoFocus: any);
353
- ngOnInit(): void;
354
- ngAfterViewInit(): void;
355
- onPaste(event: ClipboardEvent): string | undefined;
356
- /**
357
- * Executed command from editor header buttons
358
- * @param command string from triggerCommand
359
- * @param value
360
- */
361
- executeCommand(command: string, value?: string): void;
362
- /**
363
- * focus event
364
- */
365
- onTextAreaFocus(event: FocusEvent): void;
366
- /**
367
- * @description fires when cursor leaves textarea
368
- */
369
- onTextAreaMouseOut(event: MouseEvent): void;
370
- /**
371
- * blur event
372
- */
373
- onTextAreaBlur(event: FocusEvent): void;
374
- /**
375
- * focus the text area when the editor is focused
376
- */
377
- focus(): void;
378
- /**
379
- * Executed from the contenteditable section while the input property changes
380
- * @param element html element from contenteditable
381
- */
382
- onContentChange(element: HTMLElement): void;
383
- /**
384
- * Set the function to be called
385
- * when the control receives a change event.
386
- *
387
- * @param fn a function
388
- */
389
- registerOnChange(fn: any): void;
390
- /**
391
- * Set the function to be called
392
- * when the control receives a touch event.
393
- *
394
- * @param fn a function
395
- */
396
- registerOnTouched(fn: any): void;
397
- /**
398
- * Write a new value to the element.
399
- *
400
- * @param value value to be executed when there is a change in contenteditable
401
- */
402
- writeValue(value: any): void;
403
- /**
404
- * refresh view/HTML of the editor
405
- *
406
- * @param value html string from the editor
407
- */
408
- refreshView(value: string): void;
409
- /**
410
- * toggles placeholder based on input string
411
- *
412
- * @param value A HTML string from the editor
413
- */
414
- togglePlaceholder(value: boolean): void;
415
- /**
416
- * Implements disabled state for this element
417
- *
418
- * @param isDisabled Disabled flag
419
- */
420
- setDisabledState(isDisabled: boolean): void;
421
- /**
422
- * toggles editor mode based on bToSource bool
423
- *
424
- * @param bToSource A boolean value from the editor
425
- */
426
- toggleEditorMode(bToSource: boolean): void;
427
- /**
428
- * toggles editor buttons when cursor moved or positioning
429
- *
430
- * Send a node array from the contentEditable of the editor
431
- */
432
- exec(): void;
433
- private configure;
434
- getFonts(): {
435
- label: string;
436
- value: string;
437
- }[];
438
- getCustomTags(): string;
439
- ngOnDestroy(): void;
440
- filterStyles(html: string): string;
441
- static ɵfac: i0.ɵɵFactoryDeclaration<AngularEditorComponent, [{ attribute: "tabindex"; }, { attribute: "autofocus"; }]>;
442
- static ɵcmp: i0.ɵɵComponentDeclaration<AngularEditorComponent, "angular-editor", never, { "id": { "alias": "id"; "required": false; }; "config": { "alias": "config"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "html": "html"; "viewMode": "viewMode"; "blurEvent": "blur"; "focusEvent": "focus"; }, ["customButtonsTemplateRef"], never, false, never>;
528
+ export declare class AeButtonComponent {
529
+ iconName: string;
530
+ static ɵfac: i0.ɵɵFactoryDeclaration<AeButtonComponent, never>;
531
+ static ɵcmp: i0.ɵɵComponentDeclaration<AeButtonComponent, "ae-button, button[aeButton]", never, {
532
+ "iconName": {
533
+ "alias": "iconName";
534
+ "required": false;
535
+ };
536
+ }, {}, never, ["*"], false, never>;
443
537
  }
444
-
445
- declare class AeButtonComponent {
446
- iconName: string;
447
- static ɵfac: i0.ɵɵFactoryDeclaration<AeButtonComponent, never>;
448
- static ɵcmp: i0.ɵɵComponentDeclaration<AeButtonComponent, "ae-button, button[aeButton]", never, { "iconName": { "alias": "iconName"; "required": false; }; }, {}, never, ["*"], false, never>;
538
+ declare namespace ae_toolbar_set_component_d_exports {
539
+ export { AeToolbarSetComponent };
449
540
  }
450
-
451
- declare class AeToolbarSetComponent {
452
- constructor();
453
- static ɵfac: i0.ɵɵFactoryDeclaration<AeToolbarSetComponent, never>;
454
- static ɵcmp: i0.ɵɵComponentDeclaration<AeToolbarSetComponent, "ae-toolbar-set, [aeToolbarSet]", never, {}, {}, never, ["*"], false, never>;
541
+ export declare class AeToolbarSetComponent {
542
+ constructor();
543
+ static ɵfac: i0.ɵɵFactoryDeclaration<AeToolbarSetComponent, never>;
544
+ static ɵcmp: i0.ɵɵComponentDeclaration<AeToolbarSetComponent, "ae-toolbar-set, [aeToolbarSet]", never, {}, {}, never, ["*"], false, never>;
455
545
  }
456
-
457
- declare class AngularEditorModule {
458
- static ɵfac: i0.ɵɵFactoryDeclaration<AngularEditorModule, never>;
459
- static ɵmod: i0.ɵɵNgModuleDeclaration<AngularEditorModule, [typeof AngularEditorComponent, typeof AeToolbarComponent, typeof AeSelectComponent, typeof AeButtonComponent, typeof AeToolbarSetComponent], [typeof i6.CommonModule, typeof i7.FormsModule, typeof i7.ReactiveFormsModule], [typeof AngularEditorComponent, typeof AeToolbarComponent, typeof AeButtonComponent, typeof AeToolbarSetComponent]>;
460
- static ɵinj: i0.ɵɵInjectorDeclaration<AngularEditorModule>;
546
+ export declare class AngularEditorModule {
547
+ static ɵfac: i0.ɵɵFactoryDeclaration<AngularEditorModule, never>;
548
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AngularEditorModule, [typeof AngularEditorComponent, typeof AeToolbarComponent, typeof AeSelectComponent, typeof AeButtonComponent, typeof AeToolbarSetComponent], [typeof i6.CommonModule, typeof i7.FormsModule, typeof i7.ReactiveFormsModule], [typeof AngularEditorComponent, typeof AeToolbarComponent, typeof AeButtonComponent, typeof AeToolbarSetComponent]>;
549
+ static ɵinj: i0.ɵɵInjectorDeclaration<AngularEditorModule>;
461
550
  }
462
-
463
- export { AeButtonComponent, AeSelectComponent, AeToolbarComponent, AeToolbarSetComponent, AngularEditorComponent, AngularEditorModule, AngularEditorService };
464
- export type { AngularEditorConfig, CustomClass, SelectOption, UploadResponse };
551
+ export type { AngularEditorConfig, CustomClass };