UNPKG

hi-mention

Version:

纯JS聊天框,兼容原生HTML/React/Vue等各种框架;支持@提及功能、插入富文本等多功能编辑器;内置H5和PC的交互样式

67 lines (66 loc) 2.13 kB
import { RangeElsType } from "../types"; export declare function getSelection(): Selection | null; /** * 获取光标位置 * @param index * @returns */ export declare function getRangeAt(index?: number, selection?: Selection | null): Range | null; /** * 将光标移动到编辑器末尾 */ export declare function moveRangeAtEditorEnd(range: Range, editorEl: HTMLElement): void; /** * 将光标位置移动到当前行的末尾 */ export declare function moveRangeAtRowEnd(range: Range, rowEl: HTMLElement, merge?: boolean): void; /** * 将光标位置移动到当前行的开头 */ export declare function moveRangeAtRowStart(range: Range, rowEl: HTMLElement, merge?: boolean): void; /** * 修正光标位置,并获取当前光标所在的编辑器/行/文本 */ export declare function rangeEls(range: Range, which?: "end" | "start" | "common"): RangeElsType | null; /** * 判断光标是否在当前行的末尾 */ export declare function isRangeAtRowEnd(range: Range, rowEl: HTMLElement): boolean; /** * 判断光标是否在当前文本元素末尾 */ export declare function isRangeAtTextEnd(range: Range): boolean; /** * 判断光标是否在当前行的开头 */ export declare function isRangeAtRowStart(range: Range, rowEl: HTMLElement): boolean; /** * 判断光标是否在当前文本元素开头 */ export declare function isRangeAtTextStart(range: Range): boolean; /** * 修正文本标签内容 */ export declare function fixTextContent(range: Range, els?: RangeElsType): void; /** * 删除选中区域内的所有元素 */ export declare function removeRangeContent(range: Range, { startEls, endEls, mergeRow }?: { startEls?: RangeElsType; endEls?: RangeElsType; mergeRow?: boolean; }): string; /** * 在光标位置插入文本 * @param text 文本内容 * @param range 光标位置 * @returns */ export declare function insertText(text: string, range: Range): boolean; /** * 在文本内容中插入元素 * @param el 需要插入的元素 * @param range 光标位置 * @returns */ export declare function insertElement(el: HTMLElement, range: Range): boolean;