claritykit-svelte
Version:
A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility
53 lines • 1.55 kB
TypeScript
import { Extension } from '@tiptap/core';
export interface EmojiCategory {
id: string;
name: string;
icon: string;
emojis: Emoji[];
}
export interface Emoji {
id: string;
emoji: string;
name: string;
keywords: string[];
category: string;
skin_tones?: string[];
}
export interface CustomEmoji extends Emoji {
url: string;
animated?: boolean;
}
export interface EmojiPickerOptions {
categories: EmojiCategory[];
customEmojis: CustomEmoji[];
recentEmojis: string[];
maxRecent: number;
showCategories: boolean;
showSearch: boolean;
showSkinTones: boolean;
onEmojiSelect: (emoji: Emoji | CustomEmoji) => void;
onCustomEmojiUpload?: (file: File) => Promise<CustomEmoji>;
}
declare module '@tiptap/core' {
interface Commands<ReturnType> {
emojiPicker: {
/**
* Insert an emoji
*/
insertEmoji: (emoji: string) => ReturnType;
/**
* Insert a custom emoji
*/
insertCustomEmoji: (customEmoji: CustomEmoji) => ReturnType;
/**
* Open emoji picker
*/
openEmojiPicker: () => ReturnType;
};
}
}
export declare const EmojiPickerExtension: Extension<EmojiPickerOptions, any>;
export declare const defaultEmojiCategories: EmojiCategory[];
export declare function searchEmojis(query: string, categories: EmojiCategory[]): Emoji[];
export default EmojiPickerExtension;
//# sourceMappingURL=EmojiPickerExtension.d.ts.map