import React, { useContext } from 'react'; import { ListChildComponentProps } from 'react-window'; import { CanonicalEmoji } from 'interweave-emoji'; import { Context } from './Context'; import { Emoji as EmojiButton } from './Emoji'; import { EmojiListHeader } from './EmojiListHeader'; import { CommonMode, GroupKey } from './types'; export type VirtualRow = CanonicalEmoji[] | string; export interface EmojiListRowProps { activeEmoji?: CanonicalEmoji | null; clearIcon?: React.ReactNode; commonMode: CommonMode; onClear: () => void; onEnterEmoji: (emoji: CanonicalEmoji, event: React.MouseEvent) => void; onLeaveEmoji: (emoji: CanonicalEmoji, event: React.MouseEvent) => void; onSelectEmoji: (emoji: CanonicalEmoji, event: React.MouseEvent) => void; skinTonePalette?: React.ReactNode; } export function EmojiListRow({ data, index, style, // Interweave activeEmoji, clearIcon, commonMode, skinTonePalette, onClear, onEnterEmoji, onLeaveEmoji, onSelectEmoji, }: EmojiListRowProps & ListChildComponentProps>) { const { classNames } = useContext(Context); const row = data[index]; return (
{Array.isArray(row) ? (
{row.map((emoji) => ( ))}
) : ( )}
); }