@ultraviolet/plus
Version:
Ultraviolet Plus
32 lines (31 loc) • 1.25 kB
TypeScript
import { langs } from '@uiw/codemirror-extensions-langs';
import CodeMirror from '@uiw/react-codemirror';
import type { ComponentProps, ReactNode } from 'react';
type CodeEditorProps = {
/**
* @deprecated use prop `label` instead
*/
title?: string;
value: string;
onChange: ComponentProps<typeof CodeMirror>['onChange'];
extensions: keyof typeof langs;
onBlur?: () => void;
height?: string;
readOnly?: boolean;
autoCompletion?: boolean;
disabled?: boolean;
helper?: ReactNode;
/**
* When set to true, a copy button is displayed in the top right corner of the editor.
* If a string is provided, it is used as the button's label. Otherwise, no label is displayed.
*/
copyButton?: boolean | string;
label?: string;
id?: string;
labelDescription?: ReactNode;
'aria-label'?: string;
'data-testid'?: string;
className?: string;
};
export declare const CodeEditor: ({ title, value, onChange, extensions, onBlur, height, readOnly, autoCompletion, disabled, label, copyButton, id, helper, labelDescription, "aria-label": ariaLabel, "data-testid": dataTestId, className, }: CodeEditorProps) => import("@emotion/react/jsx-runtime").JSX.Element;
export {};