UNPKG

modern-text

Version:

Measure and render text in a way that describes the DOM.

72 lines (69 loc) 2.06 kB
import { ReactiveObject, NormalizedTextContent } from 'modern-idoc'; import { T as Text, b as TextOptions } from '../shared/modern-text.BAfGVPZ9.js'; import 'modern-font'; import 'modern-path2d'; interface SelectableCharacter { color: string; left: number; top: number; width: number; height: number; content: string; isFirst?: boolean; isLast?: boolean; isLastSelected?: boolean; isCrlf?: boolean; } declare class TextEditor extends HTMLElement implements ReactiveObject { static observedAttributes: string[]; width: number; height: number; static register(): void; protected _text: Text; get text(): Text; set text(value: Text | TextOptions); pixelRatio: number; composition: boolean; selection: number[]; prevSelection: number[]; protected _oldText: string; $preview: HTMLCanvasElement; $textInput: HTMLTextAreaElement; $cursor: HTMLElement; get selectionMinMax(): { min: number; max: number; }; get selectedCharacters(): SelectableCharacter[]; get selectableCharacters(): SelectableCharacter[]; get cursorPosition(): { left: number; top: number; width: number; height: number; color: string; }; constructor(); getTextValue(): string; getContentValue(content: NormalizedTextContent, newString?: string, oldString?: string): NormalizedTextContent; setTextInput(newText: string): void; onInput(): void; protected _timer?: any; onKeydown(e: KeyboardEvent): void; onBlur(): void; findNearest(options: { x: number; y: number; xWeight?: number; yWeight?: number; }): number; updateSelection(): void; updateDOMSelection(): void; onMousedown(e: MouseEvent): void; render(): void; requestUpdate(): void; attributeChangedCallback(name: string, _oldValue: any, newValue: any): void; emit(type: string, detail?: any): boolean; } export { TextEditor }; export type { SelectableCharacter };