UNPKG

@rytrox/quill-emoji-mart

Version:

Module Extension for [quill](https://github.com/slab/quill) that introduces [emoji-mart](https://github.com/missive/emoji-mart).

89 lines (83 loc) 2.62 kB
import Quill, { Module } from 'quill'; import { Emoji, EmojiMartData } from '@emoji-mart/data'; interface CustomEmojiData { id: string; name: string; emojis: Emoji[]; } interface EmojiI18n { search: string; search_no_results_1: string; search_no_results_2: string; pick: string; add_custom: string; categories: { activity: string; custom: string; flags: string; foods: string; frequent: string; nature: string; objects: string; people: string; places: string; search: string; symbols: string; }; skins: { choose: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; }; } interface EmojiOptions { data: EmojiMartData; i18n: EmojiI18n; categories: EmojiCategory[]; custom: CustomEmojiData[]; autoFocus: boolean; categoryIcons: Record<EmojiCategory, { src?: string; svg?: string; }>; dynamicWidth: boolean; emojiButtonColors: (RGB | RGBA | HEX)[]; emojiButtonRadius: `${number}${LengthUnit}`; emojiButtonSize: number; emojiSize: number; emojiVersion: `${number}` | `${number}.${number}`; exceptEmojis: string[]; icons: 'auto' | 'outline' | 'solid'; maxFrequentRows: number; navPosition: 'top' | 'bottom' | 'none'; noCountryFlags: boolean; noResultsEmoji: string; perLine: number; previewEmoji: 'point_up' | 'point_down'; previewPosition: 'top' | 'bottom' | 'none'; searchPosition: 'sticky' | 'static' | 'none'; set: 'native' | 'apple' | 'facebook' | 'google' | 'twitter'; skin: 1 | 2 | 3 | 4 | 5 | 6; skinTonePosition: 'preview' | 'search' | 'none'; theme: 'auto' | 'light' | 'dark'; } type EmojiCategory = 'frequent' | 'people' | 'nature' | 'foods' | 'activity' | 'places' | 'objects' | 'symbols' | 'flags'; type RGB = `rgb(${number}, ${number}, ${number})`; type RGBA = `rgba(${number}, ${number}, ${number}, ${number})`; type HEX = `#${string}`; type LengthUnit = 'cm' | 'mm' | 'in' | 'px' | 'pt' | 'pc' | 'em' | 'ex' | 'ch' | 'rem' | 'vw' | 'vh' | 'vmin' | 'vmax' | '%' | 'lh' | 'rlh' | 'cqw' | 'cqh' | 'cqi' | 'cqb' | 'cqmax' | 'cqmin'; declare class EmojiModule extends Module<Partial<EmojiOptions>> { private readonly toolbar?; private readonly button?; private picker?; constructor(quill: Quill, options: Partial<EmojiOptions>); openDialog(): void; private selectEmoji; private onClickOutside; closeDialog(): void; } export { EmojiModule };