usxeditor
Version:
USX editor react component.
37 lines (36 loc) • 1.59 kB
TypeScript
import React from 'react';
import { CharacterMarkerDefinitions } from '../UsxEditor';
declare type Props = {
raw?: string;
value: string;
paraMap?: string[];
charMap?: CharacterMarkerDefinitions;
startOffset: number;
selectionStart: number;
selectionEnd: number;
allowFocus: boolean;
onChanged: (newVal: string) => void;
onSelectionChanged: (selectionStartIndex: number, selectionEndIndex: number) => void;
onInsertMarker?: (isPara: boolean, style: string, newValue?: string) => void;
onDeleteBackward?: () => void;
};
export default class EditableText extends React.Component<Props> {
private containerRef;
private inputTimer;
constructor(props: Props);
shouldComponentUpdate(nextProps: Readonly<Props>): boolean;
componentDidMount(): void;
componentDidUpdate(): void;
isSelectionInComponent(selection: number, startOffset: number, content: string): boolean;
restoreSelection(): void;
handleKeyDown(e: React.FormEvent<HTMLSpanElement>): void;
handleClick(_: React.FormEvent<HTMLSpanElement>): void;
handleInput(e: React.FormEvent<HTMLSpanElement>): void;
checkForMarker(marker: string, text: string): RegExpMatchArray | null;
markerLength(marker: string): number;
insertText(selection: Selection | null, text: string, data: string | null): [number, number];
deleteContentBackward(selection: Selection | null, text: string): number;
insertNewParagraph(selection: Selection | null, text: string): number;
render(): JSX.Element;
}
export {};