UNPKG

vue-devui

Version:

DevUI components based on Vite and Vue3

181 lines (180 loc) 4.56 kB
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>;