@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
53 lines (52 loc) • 1.6 kB
TypeScript
import { CSSProperties, FocusEventHandler, KeyboardEventHandler, MouseEventHandler, Ref } from 'react';
import { FlexboxProps } from 'react-layout-kit';
export interface CodeEditorProps extends Omit<FlexboxProps, 'onFocus' | 'onBlur' | 'onKeyUp' | 'onKeyDown' | 'onClick'> {
autoFocus?: boolean;
classNames?: {
highlight?: string;
textarea?: string;
};
disabled?: boolean;
fontSize?: number | string;
form?: string;
ignoreTabKey?: boolean;
insertSpaces?: boolean;
language: string;
maxLength?: number;
minLength?: number;
onBlur?: FocusEventHandler<HTMLTextAreaElement>;
onClick?: MouseEventHandler<HTMLTextAreaElement>;
onFocus?: FocusEventHandler<HTMLTextAreaElement>;
onKeyDown?: KeyboardEventHandler<HTMLTextAreaElement>;
onKeyUp?: KeyboardEventHandler<HTMLTextAreaElement>;
onValueChange: (value: string) => void;
placeholder?: string;
readOnly?: boolean;
required?: boolean;
style?: CSSProperties;
styles?: {
highlight?: CSSProperties;
textarea?: CSSProperties;
};
tabSize?: number;
textareaId?: string;
value: string;
variant?: 'ghost' | 'block' | 'pure';
}
type Record = {
selectionEnd: number;
selectionStart: number;
value: string;
};
type History = {
offset: number;
stack: (Record & {
timestamp: number;
})[];
};
declare const Editor: import("react").ForwardRefExoticComponent<CodeEditorProps & import("react").RefAttributes<Ref<{
session: {
history: History;
};
} | null>>>;
export default Editor;