UNPKG

@vectara/vectara-ui

Version:

Vectara's design system, codified as a React and Sass component library

43 lines (42 loc) 1.83 kB
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 {};