import { useMemo, type Ref } from 'react'; import CodeMirror, { type ReactCodeMirrorRef } from '@uiw/react-codemirror'; import { yaml } from '@codemirror/lang-yaml'; import { search, searchKeymap, highlightSelectionMatches } from '@codemirror/search'; import { keymap } from '@codemirror/view'; type ConfigSourceEditorProps = { value: string; onChange: (value: string) => void; editorRef?: Ref; theme: 'light' | 'dark'; editable: boolean; placeholder: string; }; export default function ConfigSourceEditor({ value, onChange, editorRef, theme, editable, placeholder, }: ConfigSourceEditorProps) { const extensions = useMemo( () => [yaml(), search(), highlightSelectionMatches(), keymap.of(searchKeymap)], [] ); return ( ); }