import * as React from 'react'; import { categoryFromCategoryConfig } from '../../config/categoryConfig'; import { useCategoriesConfig, useEmojiStyleConfig, useGetEmojiUrlConfig, useLazyLoadEmojisConfig, } from '../../config/useConfig'; import { useGetEmojisByCategory, emojiUnified, } from '../../dataUtils/emojiSelectors'; import { useActiveSkinToneState, useEmojiSizeState, } from '../context/PickerContext'; import { ClickableEmoji } from '../emoji/Emoji'; export function MeasureEmoji() { const categories = useCategoriesConfig(); const getEmojisByCategory = useGetEmojisByCategory(); const emojiStyle = useEmojiStyleConfig(); const getEmojiUrl = useGetEmojiUrlConfig(); const lazyLoadEmojis = useLazyLoadEmojisConfig(); const [activeSkinTone] = useActiveSkinToneState(); const [emojiSize, setEmojiSize] = useEmojiSizeState(); const ref = React.useRef(null); React.useLayoutEffect(() => { if (ref.current) { setEmojiSize(ref.current.clientHeight); } }); if (emojiSize) { return null; } const firstCategory = categories[0]; const dummyEmoji = getEmojisByCategory( categoryFromCategoryConfig(firstCategory), )[0]; const unified = dummyEmoji ? emojiUnified(dummyEmoji, activeSkinTone) : ''; if (!dummyEmoji) { return null; } return (
); }