@coveord/plasma-mantine
Version:
A Plasma flavoured Mantine theme
58 lines • 2.52 kB
TypeScript
import { InputWrapperProps, StackProps } from '@mantine/core';
import { editor as monacoEditor } from 'monaco-editor';
import { FunctionComponent } from 'react';
interface CodeEditorProps extends Omit<InputWrapperProps, 'inputContainer' | 'inputWrapperOrder' | 'classNames' | 'styles' | 'vars' | 'onChange'>, Omit<StackProps, 'onChange'> {
/**
* The language syntax of the editor
*
* @default 'plaintext'
*/
language?: 'plaintext' | 'json' | 'markdown' | 'python' | 'xml' | (string & unknown);
/** Default value for uncontrolled input */
defaultValue?: string;
/** Value for controlled input */
value?: string;
/** onChange value for controlled input */
onChange?(value: string): void;
/** Called whenever the search icon is clicked */
onSearch?(): void;
/** Called whenever the copy icon is clicked */
onCopy?(): void;
/** Called whenever the code editor gets the focus */
onFocus?(): void;
/** Ref object that provides access to the editor's functionality */
editorHandle?: React.MutableRefObject<monacoEditor.IStandaloneCodeEditor | null>;
/**
* The minimal height of the CodeEditor (label and description included)
*
* By default the CodeEditor is adjusted to fill its parent height.
* In the case where the parent height is too short, it will use this value as minimum.
*
* @default 300
*/
minHeight?: number;
/**
* The maximal height of the CodeEditor (label and description included)
*
* By default the CodeEditor is adjusted to fill its parent height.
* In the case where the parent height would be too high for your liking, you can use this prop to set a maximum.
*/
maxHeight?: number;
disabled?: boolean;
/**
* Defines how the monaco editor files will be loaded.
* Note that using `'local'` requires [some additional configuration](https://github.com/suren-atoyan/monaco-react#use-monaco-editor-as-an-npm-package).
*
* @default 'local'
*/
monacoLoader?: 'cdn' | 'local';
/**
* Options to pass to the monaco editor.
* Currently only supporting [`tabSize`](https://microsoft.github.io/monaco-editor/typedoc/interfaces/editor.IStandaloneEditorConstructionOptions.html#tabSize).
*
*/
options?: Pick<monacoEditor.IStandaloneEditorConstructionOptions, 'tabSize'>;
}
export declare const CodeEditor: FunctionComponent<CodeEditorProps>;
export {};
//# sourceMappingURL=CodeEditor.d.ts.map