Files
xrpl-dev-portal/content/shared/editor/editor.tsx
Caleb Kniffen e314ebb76c Use @uiw/react-codemirror and react@18
Updating redocly to latest and leveraging `@uiw/react-codemirror` which
it also uses.
2024-01-31 16:07:14 -08:00

33 lines
889 B
TypeScript

import CodeMirror from '@uiw/react-codemirror';
import { ViewUpdate } from '@codemirror/view'
import { Extension } from '@codemirror/state'
import { editorXRPLTheme } from './theme'
export interface EditorWrapperProps {
value: string
onChange?: (value: string, viewUpdate: ViewUpdate) => void
readOnly?: boolean
lineNumbers?: boolean
}
export interface EditorProps extends EditorWrapperProps {
extensions: Extension[]
}
export const Editor = ({value, extensions, onChange = () => {}, readOnly=false, lineNumbers=true }: EditorProps) => {
return (
<CodeMirror
value={value}
theme={editorXRPLTheme}
extensions={[...extensions]}
onChange={onChange}
basicSetup={{
highlightActiveLine: false,
highlightActiveLineGutter: false,
lineNumbers
}}
/>
);
}