Spaces:
Sleeping
Sleeping
File size: 1,052 Bytes
f871fed |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
'use client'
import dynamic from 'next/dynamic'
import { forwardRef } from 'react'
const MDEditor = dynamic(
() => import('@uiw/react-md-editor').then((mod) => mod.default),
{ ssr: false }
)
export interface MarkdownEditorProps {
value?: string
onChange?: (value?: string) => void
placeholder?: string
height?: number
preview?: 'live' | 'edit' | 'preview'
hideToolbar?: boolean
className?: string
}
export const MarkdownEditor = forwardRef<HTMLDivElement, MarkdownEditorProps>(
({ value = '', onChange, placeholder, height = 300, preview = 'live', hideToolbar = false, className }, ref) => {
return (
<div className={className} ref={ref}>
<MDEditor
value={value}
onChange={onChange}
preview={preview}
height={height}
hideToolbar={hideToolbar}
textareaProps={{
placeholder: placeholder || 'Enter markdown...',
}}
data-color-mode="light"
/>
</div>
)
}
)
MarkdownEditor.displayName = 'MarkdownEditor' |