vue-devui
Version:
DevUI components based on Vite and Vue3
181 lines (180 loc) • 4.56 kB
TypeScript
import type { PropType, ExtractPropTypes, InjectionKey, Ref } from 'vue';
import { IToolbarItemConfig } from './toolbar-config';
export interface MDThemeToolbarConfig {
icons: {
[key: string]: string;
};
}
export interface MDThemeConfig {
toolbar: MDThemeToolbarConfig;
}
export interface MdPlugin {
plugin: any;
opts?: Object;
}
export interface ICustomXssRule {
key: string;
value: string[];
}
export interface ICustomRenderRule {
key: string;
value: Function;
}
export declare type Mode = 'editonly' | 'readonly' | 'normal';
export declare type ToolbarConfigProp = Array<string | string[]>;
export interface HintConfigItem {
handler: (objs: {
callback: (replaceText: string) => void;
cursorHint: string;
prefix: string;
}) => void;
}
export declare const editorMdProps: {
modelValue: {
type: StringConstructor;
default: string;
};
options: {
type: ObjectConstructor;
default: () => {};
};
mode: {
type: PropType<Mode>;
default: string;
};
customThemeConfig: {
type: PropType<MDThemeConfig>;
};
customToolbars: {
type: PropType<Record<string, IToolbarItemConfig>>;
};
disableChangeEvent: {
type: BooleanConstructor;
default: boolean;
};
editorContainerHeight: {
type: NumberConstructor;
};
imageUploadToServer: {
type: BooleanConstructor;
default: boolean;
};
hidePreviewView: {
type: BooleanConstructor;
default: boolean;
};
maxlength: {
type: NumberConstructor;
default: null;
};
placeholder: {
type: StringConstructor;
default: string;
};
toolbarConfig: {
type: PropType<ToolbarConfigProp>;
default: () => (string | string[])[];
};
fullscreenZIndex: {
type: NumberConstructor;
default: number;
};
hintConfig: {
type: PropType<Record<string, number | HintConfigItem>>;
default: {};
};
customHintReplaceFn: {
type: PropType<(prefix: string, row: any) => string>;
};
baseUrl: {
type: StringConstructor;
default: null;
};
breaks: {
type: BooleanConstructor;
default: boolean;
};
customParse: {
type: PropType<(html: string) => string>;
default: null;
};
renderParse: {
type: PropType<(html: string) => string>;
default: null;
};
mdRules: {
type: ObjectConstructor;
default: () => {};
};
customRendererRules: {
type: PropType<ICustomRenderRule[]>;
default: () => never[];
};
customXssRules: {
type: PropType<ICustomXssRule[]>;
default: () => never[];
};
mdPlugins: {
type: PropType<MdPlugin[]>;
default: () => never[];
};
};
export declare type EditorMdProps = ExtractPropTypes<typeof editorMdProps>;
export interface IEditorMdInjection {
showFullscreen: Ref<boolean>;
toolbars: Record<string, IToolbarItemConfig>;
toolbarConfig: Ref<ToolbarConfigProp>;
getEditorIns: () => any;
t: (name: string) => string;
}
export declare const EditorMdInjectionKey: InjectionKey<IEditorMdInjection>;
export declare const mdRenderProps: {
content: {
type: StringConstructor;
default: string;
};
disableRender: {
type: BooleanConstructor;
default: boolean;
};
baseUrl: {
type: StringConstructor;
default: null;
};
breaks: {
type: BooleanConstructor;
default: boolean;
};
customParse: {
type: PropType<(html: string) => string>;
default: null;
};
renderParse: {
type: PropType<(html: string) => string>;
default: null;
};
mdRules: {
type: ObjectConstructor;
default: () => {};
};
customRendererRules: {
type: PropType<ICustomRenderRule[]>;
default: () => never[];
};
customXssRules: {
type: PropType<ICustomXssRule[]>;
default: () => never[];
};
mdPlugins: {
type: PropType<MdPlugin[]>;
default: () => never[];
};
};
export declare type MdRenderProps = ExtractPropTypes<typeof mdRenderProps>;
export declare const mdToolbarItemProps: {
config: {
type: PropType<IToolbarItemConfig>;
default: () => {};
};
};
export declare type MdToolbarItemProps = ExtractPropTypes<typeof mdToolbarItemProps>;