import { cx } from 'flairup'; import * as React from 'react'; import { ClassNames } from '../../DomUtils/classNames'; import { getLabelHeight } from '../../DomUtils/elementPositionInRow'; import { stylesheet } from '../../Stylesheet/stylesheet'; import { categoryFromCategoryConfig } from '../../config/categoryConfig'; import { useCategoriesConfig } from '../../config/useConfig'; import { DataEmojis } from '../../dataUtils/DataTypes'; import { useEmojiVirtualization } from '../../hooks/useEmojiVirtualization'; import { CategoryConfig } from '../../types/exposedTypes'; import { useEmojiListRef } from '../context/ElementRefContext'; import { useVisibleCategoriesState } from '../context/PickerContext'; import { useGetEmojisByCategory } from '../context/PickerDataContext'; import { EmojiCategory } from './EmojiCategory'; import { MeasureEmoji } from './MeasureEmoji'; export function EmojiList({ scrollTop }: { scrollTop: number }) { const categories = useCategoriesConfig(); const [categoryHeights, setCategoryHeights] = React.useState<{ [key: string]: number; }>({}); const EmojiListRef = useEmojiListRef(); const getEmojisByCategory = useGetEmojisByCategory(); const labelHeight = getLabelHeight(EmojiListRef.current); let topOffset = 0; return (