UNPKG

@uiw/react-markdown-editor

Version:

A markdown editor with preview, implemented with React.js and TypeScript.

40 lines (39 loc) 1.76 kB
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;