@vuux/editor
Version:
Vue Nuxt 富文本编辑器
117 lines (116 loc) • 2.09 kB
TypeScript
/**
* Props
*/
export interface Props {
theme?: {
color?: string;
backgroundColor?: string;
textColor?: string;
};
height?: string;
action?: string;
headers?: Record<string, string>;
uploadName?: string;
}
/**
* TopProps
*/
export interface TopProps {
markdownActions: MarkdownActions;
action?: string;
headers?: Record<string, string>;
uploadName?: string;
}
/**
* 对其类型
*/
export type Align = 'left' | 'center' | 'right';
/**
* 列表类型
*/
export type List = 'ordered' | 'unordered' | 'task';
/**
* 面板类型
*/
export type Panel = 'primary' | 'warning' | 'danger' | 'success';
/**
* 编辑器操作类型
*/
export interface MarkdownActions {
/**
* 加粗
*/
insertBold: () => void;
/**
* 下划线
*/
insertUnderline: () => void;
/**
* 斜体
*/
insertItalic: () => void;
/**
* 删除线
*/
insertStrike: () => void;
/**
* 行内代码
*/
insertInlineCode: () => void;
/**
* 标题
*/
insertHeading: (level: 1 | 2 | 3 | 4) => void;
/**
* 链接
*/
insertLink: () => void;
/**
* 图片
*/
insertImage: (url: string, text?: string) => void;
/**
* 有序列表
*/
insertList: (type: List) => void;
/**
* 引用块
*/
insertBlockquote: () => void;
/**
* 代码块
*/
insertCodeBlock: (lang?: string) => void;
/**
* 分割线
*/
insertHr: () => void;
/**
* 表格
*/
insertTable: (rows: number, cols: number) => void;
/**
* 内嵌HTML
*/
insertHtmlBlock: (count: number) => void;
/**
* 颜色选择
*/
insertColor: (color: string) => void;
/**
* 字体颜色
*/
insertFontSize: (size: number) => void;
/**
* 对其
*/
insertAlignBlock: (direction: Align) => void;
/**
* 面板
*/
insertPanel: (type: Panel) => void;
/**
* 拼音
*/
insertPinyin: () => void;
}