UNPKG

modern-text

Version:

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

90 lines (87 loc) 2.85 kB
import { PropertyAccessor, NormalizedTextContent } from 'modern-idoc'; import { c as Text } from '../shared/modern-text.DzKfafj6.cjs'; import 'modern-font'; import 'modern-path2d'; interface IndexCharacter { paragraphIndex: number; fragmentIndex: number; charIndex: number; 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 PropertyAccessor { left: number; top: number; rotate: number; selection: number[]; protected _selectionMinMax: { min: number; max: number; }; protected _chars: IndexCharacter[]; protected _selectedChars: IndexCharacter[]; protected _cursorPosition?: { left: number; top: number; width: number; height: number; color: string; }; protected _showCursor: boolean; protected _prevSelection: number[]; protected _composition: boolean; get composition(): boolean; protected static _defined: boolean; static register(): void; protected _text: Text; get text(): Text; set text(newText: Text); protected _oldText: string; protected _container: HTMLDivElement; protected _selection: HTMLDivElement; protected _textarea: HTMLTextAreaElement; protected _cursor: HTMLElement; constructor(); connectedCallback(): void; moveToDom(target: HTMLElement): void; set(text: Text): void; onUpdateProperty(key: string, _newValue: unknown, _oldValue: unknown): void; protected _updateChars(): void; protected _updateSelectedChars(): void; protected _updateCursorPosition(): void; getPlaintext(): string; protected _getNewContent(content: NormalizedTextContent, newString?: string, oldString?: string): NormalizedTextContent; protected _setTextInput(newText: string): void; protected _onInput(): void; protected _timer?: any; protected _onKeydown(e: KeyboardEvent): void; protected _onFocus(): void; protected _onBlur(): void; protected _findNearest(options: { x: number; y: number; xWeight?: number; yWeight?: number; }): number; protected _updateSelectionByDom(): void; protected _updateDomSelection(): void; protected _update(): void; protected _bindEventListeners(): void; pointerDown(e?: MouseEvent | PointerEvent): boolean; selectAll(): void; attributeChangedCallback(name: string, _oldValue: any, newValue: any): void; protected _emit(type: string, detail?: any): boolean; protected _renderSelectRange(): void; protected _renderCursor(): void; reset(): void; } export { TextEditor }; export type { IndexCharacter };