ngx-quill
Version:
Angular components for the easy use of the QuillJS richt text editor.
134 lines (133 loc) • 8.55 kB
TypeScript
import type QuillType from 'quill';
import type DeltaType from 'quill-delta';
import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { ControlValueAccessor, Validator } from '@angular/forms';
import { CustomModule, CustomOption, QuillBeforeRender, QuillModules } from 'ngx-quill/config';
import * as i0 from "@angular/core";
export interface Range {
index: number;
length: number;
}
export interface ContentChange {
content: DeltaType;
delta: DeltaType;
editor: QuillType;
html: string | null;
oldDelta: DeltaType;
source: string;
text: string;
}
export interface SelectionChange {
editor: QuillType;
oldRange: Range | null;
range: Range | null;
source: string;
}
export interface Blur {
editor: QuillType;
source: string;
}
export interface Focus {
editor: QuillType;
source: string;
}
export type EditorChangeContent = ContentChange & {
event: 'text-change';
};
export type EditorChangeSelection = SelectionChange & {
event: 'selection-change';
};
export declare abstract class QuillEditorBase implements AfterViewInit, ControlValueAccessor, OnChanges, OnInit, OnDestroy, Validator {
readonly format: import("@angular/core").InputSignal<"object" | "json" | "html" | "text">;
readonly theme: import("@angular/core").InputSignal<string>;
readonly modules: import("@angular/core").InputSignal<QuillModules>;
readonly debug: import("@angular/core").InputSignal<false | "error" | "warn" | "log">;
readonly readOnly: import("@angular/core").InputSignal<boolean>;
readonly placeholder: import("@angular/core").InputSignal<string>;
readonly maxLength: import("@angular/core").InputSignal<number>;
readonly minLength: import("@angular/core").InputSignal<number>;
readonly required: import("@angular/core").InputSignal<boolean>;
readonly formats: import("@angular/core").InputSignal<string[]>;
readonly customToolbarPosition: import("@angular/core").InputSignal<"top" | "bottom">;
readonly sanitize: import("@angular/core").InputSignal<boolean>;
readonly beforeRender: import("@angular/core").InputSignal<QuillBeforeRender>;
readonly styles: import("@angular/core").InputSignal<any>;
readonly registry: import("@angular/core").InputSignal<import("parchment").Registry>;
readonly bounds: import("@angular/core").InputSignal<string | HTMLElement>;
readonly customOptions: import("@angular/core").InputSignal<CustomOption[]>;
readonly customModules: import("@angular/core").InputSignal<CustomModule[]>;
readonly trackChanges: import("@angular/core").InputSignal<"user" | "all">;
readonly classes: import("@angular/core").InputSignal<string>;
readonly trimOnValidation: import("@angular/core").InputSignal<boolean>;
readonly linkPlaceholder: import("@angular/core").InputSignal<string>;
readonly compareValues: import("@angular/core").InputSignal<boolean>;
readonly filterNull: import("@angular/core").InputSignal<boolean>;
readonly debounceTime: import("@angular/core").InputSignal<number>;
readonly defaultEmptyValue: import("@angular/core").InputSignal<any>;
onEditorCreated: EventEmitter<QuillType>;
onEditorChanged: EventEmitter<EditorChangeContent | EditorChangeSelection>;
onContentChanged: EventEmitter<ContentChange>;
onSelectionChanged: EventEmitter<SelectionChange>;
onFocus: EventEmitter<Focus>;
onBlur: EventEmitter<Blur>;
onNativeFocus: EventEmitter<Focus>;
onNativeBlur: EventEmitter<Blur>;
quillEditor: QuillType;
editorElem: HTMLElement;
content: any;
disabled: boolean;
readonly toolbarPosition: import("@angular/core").WritableSignal<string>;
onModelChange: (modelValue?: any) => void;
onModelTouched: () => void;
onValidatorChanged: () => void;
private subscription;
private quillSubscription;
private elementRef;
private document;
private cd;
private domSanitizer;
private platformId;
private renderer;
private zone;
private service;
private destroyRef;
static normalizeClassNames(classes: string): string[];
valueGetter: import("@angular/core").InputSignal<(quillEditor: QuillType) => string | any>;
valueSetter: import("@angular/core").InputSignal<(quillEditor: QuillType, value: any) => any>;
ngOnInit(): void;
ngAfterViewInit(): void;
selectionChangeHandler: (range: Range | null, oldRange: Range | null, source: string) => void;
textChangeHandler: (delta: DeltaType, oldDelta: DeltaType, source: string) => void;
editorChangeHandler: (event: "text-change" | "selection-change", current: any | Range | null, old: any | Range | null, source: string) => void;
ngOnDestroy(): void;
ngOnChanges(changes: SimpleChanges): void;
addClasses(classList: string): void;
removeClasses(classList: string): void;
writeValue(currentValue: any): void;
setDisabledState(isDisabled?: boolean): void;
registerOnChange(fn: (modelValue: any) => void): void;
registerOnTouched(fn: () => void): void;
registerOnValidatorChange(fn: () => void): void;
validate(): {
minLengthError?: {
given: number;
minLength: number;
};
maxLengthError?: {
given: number;
maxLength: number;
};
requiredError?: {
empty: boolean;
};
};
private addQuillEventListeners;
private dispose;
private isEmptyValue;
static ɵfac: i0.ɵɵFactoryDeclaration<QuillEditorBase, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<QuillEditorBase, never, never, { "format": { "alias": "format"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "modules": { "alias": "modules"; "required": false; "isSignal": true; }; "debug": { "alias": "debug"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "formats": { "alias": "formats"; "required": false; "isSignal": true; }; "customToolbarPosition": { "alias": "customToolbarPosition"; "required": false; "isSignal": true; }; "sanitize": { "alias": "sanitize"; "required": false; "isSignal": true; }; "beforeRender": { "alias": "beforeRender"; "required": false; "isSignal": true; }; "styles": { "alias": "styles"; "required": false; "isSignal": true; }; "registry": { "alias": "registry"; "required": false; "isSignal": true; }; "bounds": { "alias": "bounds"; "required": false; "isSignal": true; }; "customOptions": { "alias": "customOptions"; "required": false; "isSignal": true; }; "customModules": { "alias": "customModules"; "required": false; "isSignal": true; }; "trackChanges": { "alias": "trackChanges"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; "trimOnValidation": { "alias": "trimOnValidation"; "required": false; "isSignal": true; }; "linkPlaceholder": { "alias": "linkPlaceholder"; "required": false; "isSignal": true; }; "compareValues": { "alias": "compareValues"; "required": false; "isSignal": true; }; "filterNull": { "alias": "filterNull"; "required": false; "isSignal": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; "defaultEmptyValue": { "alias": "defaultEmptyValue"; "required": false; "isSignal": true; }; "valueGetter": { "alias": "valueGetter"; "required": false; "isSignal": true; }; "valueSetter": { "alias": "valueSetter"; "required": false; "isSignal": true; }; }, { "onEditorCreated": "onEditorCreated"; "onEditorChanged": "onEditorChanged"; "onContentChanged": "onContentChanged"; "onSelectionChanged": "onSelectionChanged"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onNativeFocus": "onNativeFocus"; "onNativeBlur": "onNativeBlur"; }, never, never, true, never>;
}
export declare class QuillEditorComponent extends QuillEditorBase {
static ɵfac: i0.ɵɵFactoryDeclaration<QuillEditorComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<QuillEditorComponent, "quill-editor", never, {}, {}, never, ["[above-quill-editor-toolbar]", "[quill-editor-toolbar]", "[below-quill-editor-toolbar]"], true, never>;
}