@vectara/vectara-ui
Version:
Vectara's design system, codified as a React and Sass component library
43 lines (42 loc) • 1.83 kB
TypeScript
import * as monacoTypes from "monaco-editor/esm/vs/editor/editor.api";
import { generateTokensProvider } from "./generateTokensProvider";
export type CodeEditorColorConfig = {
token: string;
foreground: `#${string}`;
};
export type CodeEditorError = {
startLine: number;
endLine: number;
startColumn: number;
endColumn: number;
message: string;
};
interface Props {
language: string;
TokensProvider?: ReturnType<typeof generateTokensProvider>;
onChange?: (value?: string) => void;
onError?: (errors: Array<CodeEditorError>) => void;
colorConfig?: Array<CodeEditorColorConfig>;
value?: string;
defaultValue?: string;
error?: CodeEditorError;
/** Placeholder text that supports code formatting, indentation, and line breaks */
placeholder?: string;
isReadOnly?: boolean;
height?: string;
resizable?: boolean;
/**
* Provides autocomplete suggestions. The provider is invoked on trigger characters and on Ctrl+Space,
* and additionally as the user types when `quickSuggestions` is enabled.
*/
completionItemProvider?: monacoTypes.languages.CompletionItemProvider;
/** When true, suggestions appear as the user types. Defaults to false to match the previous behavior. */
quickSuggestions?: boolean;
"data-testid"?: string;
}
/**
* Generic (to console) code editor that wraps React Monaco Editor.
* As the need arises, this component can accept props to customize the internal Monaco editor options.
*/
export declare const VuiCodeEditor: ({ language: languageProp, TokensProvider, onChange, placeholder, onError, colorConfig, value, defaultValue, error, isReadOnly, height, resizable, completionItemProvider, quickSuggestions, "data-testid": testId }: Props) => import("react/jsx-runtime").JSX.Element;
export {};