matrix-react-sdk
Version:
SDK for matrix.org using React
39 lines (38 loc) • 1.16 kB
TypeScript
import React from "react";
import { Emoji as IEmoji } from "@matrix-org/emojibase-bindings";
export declare const CATEGORY_HEADER_HEIGHT = 20;
export declare const EMOJI_HEIGHT = 35;
export declare const EMOJIS_PER_ROW = 8;
interface IProps {
selectedEmojis?: Set<string>;
onChoose(unicode: string): boolean;
onFinished(): void;
isEmojiDisabled?: (unicode: string) => boolean;
}
interface IState {
filter: string;
previewEmoji?: IEmoji;
scrollTop: number;
viewportHeight: number;
}
declare class EmojiPicker extends React.Component<IProps, IState> {
private readonly recentlyUsed;
private readonly memoizedDataByCategory;
private readonly categories;
private scrollRef;
constructor(props: IProps);
private onScroll;
private keyboardNavigation;
private onKeyDown;
private updateVisibility;
private scrollToCategory;
private onChangeFilter;
private emojiMatchesFilter;
private onEnterFilter;
private onHoverEmoji;
private onHoverEmojiEnd;
private onClickEmoji;
private static categoryHeightForEmojiCount;
render(): React.ReactNode;
}
export default EmojiPicker;