usfm-editor
Version:
A WYSIWYG editor component for USFM
51 lines (50 loc) • 2.56 kB
TypeScript
import * as React from "react";
import { ReactEditor } from "slate-react";
import { Node, Descendant } from "slate";
import { UsfmEditorRef, UsfmEditorProps, ForwardRefUsfmEditor, Verse, IdentificationHeaders } from "../UsfmEditor";
export declare const createBasicUsfmEditor: () => ForwardRefUsfmEditor<BasicUsfmEditor>;
/**
* A WYSIWYG editor component for USFM
*/
export declare class BasicUsfmEditor extends React.Component<UsfmEditorProps, BasicUsfmEditorState> implements UsfmEditorRef {
static propTypes: {
usfmString: import("prop-types").Validator<string>;
onChange: import("prop-types").Requireable<(...args: any[]) => any>;
readOnly: import("prop-types").Requireable<boolean>;
identification: import("prop-types").Requireable<object>;
onIdentificationChange: import("prop-types").Requireable<(...args: any[]) => any>;
goToVerse: import("prop-types").Requireable<object>;
onVerseChange: import("prop-types").Requireable<(...args: any[]) => any>;
toolbarSpecs: import("prop-types").Requireable<object>;
};
static defaultProps: Partial<UsfmEditorProps>;
slateEditor: ReactEditor;
constructor(props: UsfmEditorProps);
static getDerivedStateFromProps(props: UsfmEditorProps, state: BasicUsfmEditorState): BasicUsfmEditorState | null;
getMarksAtSelection: () => string[];
addMarkAtSelection: (mark: string) => void;
removeMarkAtSelection: (mark: string) => void;
getParagraphTypesAtSelection: () => string[];
setParagraphTypeAtSelection: (marker: string) => void;
goToVerse: (verseObject?: Verse | undefined) => void;
handleChange: (value: Descendant[]) => void;
scheduleOnChange: ((newValue: Node[]) => void) & import("lodash").Cancelable;
onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
fixSelectionOnChapterOrVerseNumber(): void;
updateIdentificationFromProp: () => void;
updateIdentificationFromUsfm: () => void;
updateIdentificationFromUsfmAndProp: () => void;
filterAndNormalize: (ids: IdentificationHeaders) => IdentificationHeaders;
updateSelectedVerseAfterEditorChange: () => void;
updateSelectedVerse(chapter: number, verseNumOrRange: string): void;
didSelectedVerseChange(chapter: number, verseNumOrRange: string): boolean;
componentDidMount(): void;
componentDidUpdate(prevProps: UsfmEditorProps): void;
render(): JSX.Element;
}
interface BasicUsfmEditorState {
value: Descendant[];
selectedVerse?: Verse;
prevUsfmStringProp: string;
}
export {};