vue-devui
Version:
DevUI components based on Vite and Vue3
83 lines (82 loc) • 1.93 kB
TypeScript
import { ExtractPropTypes, PropType, Ref } from "vue";
export declare type Mode = 'normal' | 'diff' | 'review';
export declare type Theme = 'light' | 'dark';
export interface Decoration {
lineNumber: number;
icon?: string;
customClasses?: string;
glyphClassName?: string;
}
export interface Comment {
lineNumber: number;
isExpanded: boolean;
domNode?: HTMLElement;
heightInPx?: number;
allowEditorOverflow?: boolean;
offsetLeft?: number;
}
export declare const codeEditorProps: {
modelValue: {
type: StringConstructor;
default: string;
};
mode: {
type: PropType<Mode>;
default: string;
};
originalText: {
type: StringConstructor;
default: string;
};
theme: {
type: PropType<Theme>;
default: string;
};
autoHeight: {
type: BooleanConstructor;
default: boolean;
};
refreshAll: {
type: BooleanConstructor;
default: boolean;
};
offsetLeft: {
type: NumberConstructor;
};
addCommentIcon: {
type: StringConstructor;
default: string;
};
expandCommentIcon: {
type: StringConstructor;
default: string;
};
options: {
type: ObjectConstructor;
default: () => {};
};
mouseTargetTypes: {
type: PropType<number[]>;
default: () => number[];
};
editorDecorations: {
type: PropType<Decoration[]>;
default: () => never[];
};
comments: {
type: PropType<Comment[]>;
default: () => never[];
};
};
export declare type CodeEditorProps = ExtractPropTypes<typeof codeEditorProps>;
export interface UseCodeEditor {
editorEl: Ref;
}
export interface PositionInfo {
top?: number;
height?: number;
}
export interface LayoutInfo extends PositionInfo {
minimapWidth?: number;
offsetLeft?: number;
}