/
alt3rmann
/
label-studio
Обзор
Документация
Войти
/
alt3rmann
/
label-studio
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
web/libs/ui/src/lib/code-editor/code-editor.tsx
52 строки
2 KB
Yousif Yassi
feat: OPTIC-1217: Implement Color design tokens as CSS variables and Dark Mode (#6550)
28 апр 2025, 19:46
Не верифицирован
28 апр 2025, 19:46
2e8e35e
Код
Авторство
О чём код?
import { UnControlled as CodeMirrorUnControlled, Controlled as CodeMirrorControlled, type IUnControlledCodeMirror, type IControlledCodeMirror, } from "react-codemirror2"; import "codemirror/mode/javascript/javascript"; import "codemirror/mode/xml/xml"; import "codemirror/addon/hint/show-hint"; import "./config-hint"; import "codemirror/lib/codemirror.css"; import "codemirror/addon/hint/show-hint.css"; import styles from "./code-editor.module.scss"; import { cn } from "@humansignal/shad/utils"; import { forwardRef } from "react"; /* eslint-disable-next-line */ type CodeMirrorType = typeof CodeMirrorUnControlled | typeof CodeMirrorControlled; export interface CodeEditorProps { border?: boolean; // Add border to the editor ref?: React.Ref<CodeMirrorType>; controlled?: boolean; } export const CodeEditor = forwardRef( (props: CodeEditorProps & (IControlledCodeMirror | IUnControlledCodeMirror), ref) => { const { border = false, controlled = false, ...restProps } = props; return ( <div className={cn(styles.codeEditor, { [styles.border]: border, })} > {controlled ? ( <CodeMirrorControlled ref={ref as React.RefObject<CodeMirrorControlled>} {...(restProps as IControlledCodeMirror)} /> ) : ( <CodeMirrorUnControlled ref={ref as React.RefObject<CodeMirrorUnControlled>} {...(restProps as IUnControlledCodeMirror)} /> )} </div> ); }, ); export default CodeEditor;