matrix-react-sdk
Version:
SDK for matrix.org using React
30 lines (29 loc) • 923 B
TypeScript
import React, { RefObject } from "react";
import { DATA_BY_CATEGORY, Emoji as IEmoji } from "@matrix-org/emojibase-bindings";
import { ButtonEvent } from "../elements/AccessibleButton";
export type CategoryKey = keyof typeof DATA_BY_CATEGORY | "recent";
export interface ICategory {
id: CategoryKey;
name: string;
enabled: boolean;
visible: boolean;
ref: RefObject<HTMLButtonElement>;
}
interface IProps {
id: string;
name: string;
emojis: IEmoji[];
selectedEmojis?: Set<string>;
heightBefore: number;
viewportHeight: number;
scrollTop: number;
onClick(ev: ButtonEvent, emoji: IEmoji): void;
onMouseEnter(emoji: IEmoji): void;
onMouseLeave(emoji: IEmoji): void;
isEmojiDisabled?: (unicode: string) => boolean;
}
declare class Category extends React.PureComponent<IProps> {
private renderEmojiRow;
render(): React.ReactNode;
}
export default Category;