@guolao/vue-monaco-editor
Version:
Monaco Editor for Vue 2&3 - use the monaco-editor in any Vue application without needing to use webpack (or rollup/vite) configuration files / plugins
212 lines (205 loc) • 7.33 kB
TypeScript
import loader from '@monaco-editor/loader';
export { default as loader } from '@monaco-editor/loader';
import * as vue_demi from 'vue-demi';
import { PropType, ShallowRef } from 'vue-demi';
import * as monacoEditor from 'monaco-editor/esm/vs/editor/editor.api';
import * as monaco_editor from 'monaco-editor';
type Nullable<T> = T | null;
type MonacoEditor = typeof monacoEditor;
interface EditorProps {
defaultValue?: string;
defaultPath?: string;
defaultLanguage?: string;
value?: string;
language?: string;
path?: string;
theme: 'vs' | string;
line?: number;
options: monacoEditor.editor.IStandaloneEditorConstructionOptions;
overrideServices: monacoEditor.editor.IEditorOverrideServices;
saveViewState: boolean;
width: number | string;
height: number | string;
className?: string;
}
interface VueMonacoEditorEmitsOptions {
'update:value': (value: string | undefined) => void;
beforeMount: (monaco: MonacoEditor) => void;
mount: (editor: monacoEditor.editor.IStandaloneCodeEditor, monaco: MonacoEditor) => void;
change: (value: string | undefined, event: monacoEditor.editor.IModelContentChangedEvent) => void;
validate: (markers: monacoEditor.editor.IMarker[]) => void;
}
declare const _default$1: vue_demi.DefineComponent<{
defaultValue: StringConstructor;
defaultPath: StringConstructor;
defaultLanguage: StringConstructor;
value: StringConstructor;
language: StringConstructor;
path: StringConstructor;
theme: {
type: StringConstructor;
default: string;
};
line: NumberConstructor;
options: {
type: PropType<monacoEditor.editor.IStandaloneEditorConstructionOptions>;
default: () => {};
};
overrideServices: {
type: PropType<monacoEditor.editor.IEditorOverrideServices>;
default: () => {};
};
saveViewState: {
type: BooleanConstructor;
default: boolean;
};
width: {
type: PropType<string | number>;
default: string;
};
height: {
type: PropType<string | number>;
default: string;
};
className: StringConstructor;
}, {
containerRef: ShallowRef<Nullable<HTMLElement>>;
isEditorReady: vue_demi.ComputedRef<boolean>;
isLoadFailed: vue_demi.Ref<boolean>;
wrapperStyle: vue_demi.ComputedRef<{
width: string | number;
height: string | number;
display: string;
position: string;
textAlign: string;
}>;
containerStyle: vue_demi.ComputedRef<{
display?: string | undefined;
width: string;
}>;
}, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, ("update:value" | "beforeMount" | "mount" | "change" | "validate")[], "update:value" | "beforeMount" | "mount" | "change" | "validate", vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{
defaultValue: StringConstructor;
defaultPath: StringConstructor;
defaultLanguage: StringConstructor;
value: StringConstructor;
language: StringConstructor;
path: StringConstructor;
theme: {
type: StringConstructor;
default: string;
};
line: NumberConstructor;
options: {
type: PropType<monacoEditor.editor.IStandaloneEditorConstructionOptions>;
default: () => {};
};
overrideServices: {
type: PropType<monacoEditor.editor.IEditorOverrideServices>;
default: () => {};
};
saveViewState: {
type: BooleanConstructor;
default: boolean;
};
width: {
type: PropType<string | number>;
default: string;
};
height: {
type: PropType<string | number>;
default: string;
};
className: StringConstructor;
}>> & {
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
onBeforeMount?: ((...args: any[]) => any) | undefined;
onMount?: ((...args: any[]) => any) | undefined;
onChange?: ((...args: any[]) => any) | undefined;
onValidate?: ((...args: any[]) => any) | undefined;
}, {
theme: string;
options: monacoEditor.editor.IStandaloneEditorConstructionOptions;
overrideServices: monacoEditor.editor.IEditorOverrideServices;
saveViewState: boolean;
width: string | number;
height: string | number;
}>;
declare const _default: vue_demi.DefineComponent<{
original: StringConstructor;
modified: StringConstructor;
language: StringConstructor;
originalLanguage: StringConstructor;
modifiedLanguage: StringConstructor;
originalModelPath: StringConstructor;
modifiedModelPath: StringConstructor;
theme: {
type: StringConstructor;
default: string;
};
options: {
type: PropType<monacoEditor.editor.IStandaloneDiffEditorConstructionOptions>;
default: () => {};
};
width: {
type: PropType<string | number>;
default: string;
};
height: {
type: PropType<string | number>;
default: string;
};
className: StringConstructor;
}, {
containerRef: ShallowRef<Nullable<HTMLElement>>;
isDiffEditorReady: vue_demi.ComputedRef<boolean>;
isLoadFailed: vue_demi.Ref<boolean>;
wrapperStyle: vue_demi.ComputedRef<{
width: string | number;
height: string | number;
display: string;
position: string;
textAlign: string;
}>;
containerStyle: vue_demi.ComputedRef<{
display?: string | undefined;
width: string;
}>;
}, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, {}, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<vue_demi.ExtractPropTypes<{
original: StringConstructor;
modified: StringConstructor;
language: StringConstructor;
originalLanguage: StringConstructor;
modifiedLanguage: StringConstructor;
originalModelPath: StringConstructor;
modifiedModelPath: StringConstructor;
theme: {
type: StringConstructor;
default: string;
};
options: {
type: PropType<monacoEditor.editor.IStandaloneDiffEditorConstructionOptions>;
default: () => {};
};
width: {
type: PropType<string | number>;
default: string;
};
height: {
type: PropType<string | number>;
default: string;
};
className: StringConstructor;
}>>, {
theme: string;
options: monacoEditor.editor.IStandaloneDiffEditorConstructionOptions;
width: string | number;
height: string | number;
}>;
type Options = Parameters<typeof loader.config>[0];
declare function install(app: any, options?: Options): void;
declare function useMonaco(): {
monacoRef: vue_demi.ShallowRef<Nullable<typeof monaco_editor>>;
unload: () => void;
isLoadFailed: vue_demi.Ref<boolean>;
};
export { _default as DiffEditor, _default$1 as Editor, EditorProps, MonacoEditor, _default as VueMonacoDiffEditor, _default$1 as VueMonacoEditor, VueMonacoEditorEmitsOptions, _default$1 as default, install, useMonaco };