UNPKG

react-native-cn-quill

Version:
71 lines (70 loc) 2.97 kB
import * as React from 'react'; import { WebViewProps } from 'react-native-webview'; import { StyleProp, ViewStyle } from 'react-native'; import type { CustomFont, QuillConfig } from '../types'; import type { EditorEventHandler, EditorEventType, SelectionChangeData, EditorChangeData, TextChangeData, HtmlChangeData } from '../constants/editor-event'; export interface EditorState { webviewContent: string | null; } export interface EditorProps { style?: StyleProp<ViewStyle>; quill?: QuillConfig; customFonts?: Array<CustomFont>; defaultFontFamily?: string; initialHtml?: string; customStyles?: string[]; import3rdParties?: 'local' | 'cdn'; containerId?: string; theme?: { background: string; color: string; placeholder: string; }; loading?: string | React.ReactNode; container: boolean | React.ComponentType; onSelectionChange?: (data: SelectionChangeData) => void; onTextChange?: (data: TextChangeData) => void; onHtmlChange?: (data: HtmlChangeData) => void; onEditorChange?: (data: EditorChangeData) => void; webview?: WebViewProps; onBlur?: () => void; onFocus?: () => void; customJS?: string; } export default class QuillEditor extends React.Component<EditorProps, EditorState> { private _webview; private _handlers; private _promises; constructor(props: EditorProps); private getInitalHtml; private getKey; private postAwait; private post; private toMessage; private onMessage; blur: () => void; focus: () => void; hasFocus: () => Promise<boolean>; enable: (enable?: boolean) => void; disable: () => void; update: () => void; format: (name: string, value: any) => void; deleteText: (index: number, length: number) => void; getContents: (index?: number | undefined, length?: number | undefined) => Promise<any>; getHtml: () => Promise<any>; getLength: () => Promise<any>; getText: (index?: number | undefined, length?: number | undefined) => Promise<any>; getBounds: (index: number, length?: number | undefined) => Promise<any>; getSelection: (focus?: boolean) => Promise<any>; setSelection: (index: number, length?: number | undefined, source?: String | undefined) => void; insertEmbed: (index: number, type: string, value: any) => void; insertText: (index: number, text: string, formats?: Record<string, any> | undefined) => void; setContents: (delta: any) => void; setText: (text: string) => void; updateContents: (delta: any) => void; on: (event: EditorEventType, handler: EditorEventHandler) => void; off: (event: EditorEventType, handler: Function) => void; dangerouslyPasteHTML: (index: number, html: string) => void; renderWebview: (content: string, style: StyleProp<ViewStyle>, props?: WebViewProps) => JSX.Element; render(): JSX.Element; }