ngx-quill
Version:
Angular components for the easy use of the QuillJS richt text editor.
124 lines (118 loc) • 3.76 kB
TypeScript
import * as i0 from '@angular/core';
import { InjectionToken, ModuleWithProviders, EnvironmentProviders } from '@angular/core';
import { QuillOptions } from 'quill';
import { Observable } from 'rxjs';
declare const defaultModules: {
toolbar: (string[] | {
header: number;
}[] | {
list: string;
}[] | {
script: string;
}[] | {
indent: string;
}[] | {
direction: string;
}[] | {
size: (string | boolean)[];
}[] | {
header: (number | boolean)[];
}[] | ({
color: any[];
background?: undefined;
} | {
background: any[];
color?: undefined;
})[] | {
font: any[];
}[] | {
align: any[];
}[])[];
};
interface CustomOption {
import: string;
whitelist: any[];
}
interface CustomModule {
implementation: any;
path: string;
}
type QuillToolbarConfig = (string | {
indent?: string;
list?: string;
direction?: string;
header?: number | (boolean | number)[];
color?: string[] | string;
background?: string[] | string;
align?: string[] | string;
script?: string;
font?: string[] | string;
size?: (boolean | string)[];
} | Record<string, string | number | boolean | (boolean | string | number)[]>)[][];
interface QuillModules {
[key: string]: any;
clipboard?: {
matchers?: any[];
matchVisual?: boolean;
} | boolean;
history?: {
delay?: number;
maxStack?: number;
userOnly?: boolean;
} | boolean;
keyboard?: {
bindings?: any;
} | boolean;
syntax?: boolean | {
hljs: any;
};
table?: boolean | Record<string, unknown>;
toolbar?: QuillToolbarConfig | string | {
container?: string | string[] | QuillToolbarConfig;
handlers?: Record<string, any>;
} | boolean;
}
type QuillFormat = 'object' | 'json' | 'html' | 'text';
type QuillBeforeRender = (() => Promise<any>) | (() => Observable<any>);
interface QuillConfig {
bounds?: HTMLElement | string;
customModules?: CustomModule[];
customOptions?: CustomOption[];
suppressGlobalRegisterWarning?: boolean;
debug?: 'error' | 'warn' | 'log' | false;
format?: QuillFormat;
formats?: string[];
modules?: QuillModules;
placeholder?: string;
readOnly?: boolean;
registry?: QuillOptions['registry'];
theme?: string;
trackChanges?: 'user' | 'all';
defaultEmptyValue?: any;
sanitize?: boolean;
beforeRender?: QuillBeforeRender;
}
declare const QUILL_CONFIG_TOKEN: InjectionToken<QuillConfig>;
/**
* This `NgModule` provides a global Quill config on the root level, e.g., in `AppModule`.
* But this eliminates the need to import the entire `ngx-quill` library into the main bundle.
* The `quill-editor` itself may be rendered in any lazy-loaded module, but importing `QuillModule`
* into the `AppModule` will bundle the `ngx-quill` into the vendor.
*/
declare class QuillConfigModule {
static forRoot(config: QuillConfig): ModuleWithProviders<QuillConfigModule>;
static ɵfac: i0.ɵɵFactoryDeclaration<QuillConfigModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<QuillConfigModule, never, never, never>;
static ɵinj: i0.ɵɵInjectorDeclaration<QuillConfigModule>;
}
/**
* Provides Quill configuration at the root level:
* ```ts
* bootstrapApplication(AppComponent, {
* providers: [provideQuillConfig(...)]
* });
* ```
*/
declare const provideQuillConfig: (config: QuillConfig) => EnvironmentProviders;
export { QUILL_CONFIG_TOKEN, QuillConfigModule, defaultModules, provideQuillConfig };
export type { CustomModule, CustomOption, QuillBeforeRender, QuillConfig, QuillFormat, QuillModules, QuillToolbarConfig };