@searchwithaura/react-mention-textarea
Version:
A powerful React component for @ mentions with multi-layer navigation, search functionality, and custom action cards
40 lines (39 loc) • 1.55 kB
TypeScript
import { MentionItem } from './types';
export declare const getCaretCoordinates: (element: HTMLTextAreaElement, position: number) => {
top: number;
left: number;
height: number;
};
export declare const findMentionTrigger: (text: string, cursorPosition: number, triggers: string[]) => {
trigger: string;
position: number;
query: string;
} | null;
export declare const filterItems: (items: MentionItem[], query: string, maxResults?: number) => MentionItem[];
export declare const insertMention: (text: string, mentionText: string, triggerPosition: number, currentPosition: number) => {
newText: string;
newCursorPosition: number;
};
export declare const debounce: <T extends (...args: any[]) => any>(func: T, wait: number) => ((...args: Parameters<T>) => void);
export declare const formatMentionWithSource: (item: MentionItem, sourcePath: string[], sourceIds: string[], options?: {
showSource?: boolean;
sourceFormat?: "label" | "id";
sourceSeparator?: string;
pathSeparator?: string;
}) => string;
export declare const createMentionSelectData: (item: MentionItem, sourcePath: string[], sourceIds: string[], trigger: string, displayText: string) => {
displayText: string;
sourcePath: string[];
sourceIds: string[];
item: MentionItem;
trigger: string;
fullPath: string[];
fullIds: string[];
};
export declare const getThemeClasses: (theme?: "light" | "dark" | "auto") => {
menu: string;
item: string;
itemHover: string;
itemSelected: string;
search: string;
};