typewriter-editor
Version:
A rich text editor using the Delta format with decorations and rendered with a tiny virtual dom
26 lines (25 loc) • 1.48 kB
TypeScript
import { Delta, Line, TextDocument, type EditorRange } from '@typewriter/document';
import { Editor } from '../Editor';
export declare const BLOCK_ELEMENTS = "address, article, aside, blockquote, editor, dd, div, dl, dt, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hr, li, main, nav, noscript, ol, output, p, pre, section, table, tfoot, ul, video";
export interface DeltaFromHTMLOptions {
possiblePartial?: boolean;
collapseWhitespace?: boolean;
}
export interface FromDomOptions {
root?: HTMLElement;
startNode?: Node;
endNode?: Node;
offset?: number;
possiblePartial?: boolean;
includeIds?: boolean;
collapseWhitespace?: boolean;
}
export declare function isBRPlaceholder(editor: Editor, node: Node): boolean;
export declare function docToHTML(editor: Editor, doc: TextDocument): string;
export declare function inlineToHTML(editor: Editor, delta: Delta): string;
export declare function docFromHTML(editor: Editor, html: string, selection?: EditorRange | null): TextDocument;
export declare function deltaFromHTML(editor: Editor, html: string, options?: DeltaFromHTMLOptions): Delta;
export declare function docFromDom(editor: Editor, root: HTMLElement): TextDocument;
export declare function fromNode(editor: Editor, dom: HTMLElement): Line | Line[] | undefined;
export declare function cleanText(delta: Delta): void;
export declare function deltaFromDom(editor: Editor, options?: FromDomOptions): Delta;