@uiw/react-markdown-editor
Version:
A markdown editor with preview, implemented with React.js and TypeScript.
40 lines (39 loc) • 1.76 kB
TypeScript
import React from 'react';
import { ReactCodeMirrorProps, ReactCodeMirrorRef } from '@uiw/react-codemirror';
import { MarkdownPreviewProps, MarkdownPreviewRef } from '@uiw/react-markdown-preview';
import { IToolBarProps } from './components/ToolBar';
import './index.less';
export * from './commands';
export declare const scrollerStyle: import("@codemirror/state").Extension;
export interface IMarkdownEditor extends ReactCodeMirrorProps {
className?: string;
prefixCls?: string;
/** The raw markdown that will be converted to html (**required**) */
value?: string;
/** Shows a preview that will be converted to html. */
visible?: boolean;
visibleEditor?: boolean;
/** Option to hide the tool bar. */
hideToolbar?: boolean;
/** Override the default preview component */
renderPreview?: (props: MarkdownPreviewProps, visible: boolean) => React.ReactNode;
/** Tool display settings. */
toolbars?: IToolBarProps['toolbars'];
/** Tool display settings. */
toolbarsMode?: IToolBarProps['toolbars'];
/** [@uiw/react-markdown-preview](https://github.com/uiwjs/react-markdown-preview#options-props) options */
previewProps?: MarkdownPreviewProps;
}
export interface ToolBarProps {
editor: React.RefObject<ReactCodeMirrorRef>;
preview: React.RefObject<MarkdownPreviewRef>;
container: React.RefObject<HTMLDivElement>;
containerEditor: React.RefObject<HTMLDivElement>;
editorProps: IMarkdownEditor;
}
export interface MarkdownEditorRef {
editor: React.RefObject<ReactCodeMirrorRef>;
preview?: React.RefObject<MarkdownPreviewRef> | null;
}
declare const _default: React.ForwardRefExoticComponent<IMarkdownEditor & React.RefAttributes<MarkdownEditorRef>>;
export default _default;