emoji-picker-react 4.22.3 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +331 -49
- package/dist/DomUtils/categoryNameFromDom.d.ts +1 -1
- package/dist/DomUtils/classNames.d.ts +24 -23
- package/dist/DomUtils/detectEmojyPartiallyBelowFold.d.ts +2 -2
- package/dist/DomUtils/elementPositionInRow.d.ts +5 -5
- package/dist/DomUtils/eventBelongsToPicker.d.ts +2 -0
- package/dist/DomUtils/focusElement.d.ts +5 -5
- package/dist/DomUtils/getActiveElement.d.ts +2 -2
- package/dist/DomUtils/isJsdom.d.ts +1 -0
- package/dist/DomUtils/isRtl.d.ts +1 -0
- package/dist/DomUtils/keyboardNavigation.d.ts +7 -8
- package/dist/DomUtils/scrollTo.d.ts +4 -5
- package/dist/DomUtils/selectors.d.ts +31 -35
- package/dist/EmojiPickerReact.d.ts +5 -5
- package/dist/Stylesheet/DedupedStyle.d.ts +13 -0
- package/dist/Stylesheet/stylesheet.d.ts +40 -37
- package/dist/components/ErrorBoundary.d.ts +15 -15
- package/dist/components/Layout/Absolute.d.ts +8 -8
- package/dist/components/Layout/Flex.d.ts +13 -13
- package/dist/components/Layout/Relative.d.ts +8 -8
- package/dist/components/Layout/Space.d.ts +7 -7
- package/dist/components/Reactions/BtnPlus.d.ts +2 -2
- package/dist/components/Reactions/DEFAULT_REACTIONS.d.ts +1 -1
- package/dist/components/Reactions/Reactions.d.ts +3 -2
- package/dist/components/atoms/Button.d.ts +11 -6
- package/dist/components/body/EmojiCategory.d.ts +13 -12
- package/dist/components/body/EmojiList.d.ts +7 -4
- package/dist/components/body/EmojiVariationPicker.d.ts +2 -2
- package/dist/components/body/MeasureEmoji.d.ts +2 -2
- package/dist/components/body/listComponents.d.ts +47 -0
- package/dist/components/context/ElementRefContext.d.ts +18 -16
- package/dist/components/context/PickerConfigContext.d.ts +14 -9
- package/dist/components/context/PickerContext.d.ts +57 -25
- package/dist/components/context/PickerDataContext.d.ts +23 -17
- package/dist/components/emoji/BaseEmojiProps.d.ts +14 -13
- package/dist/components/emoji/ClickableEmojiButton.d.ts +23 -15
- package/dist/components/emoji/Emoji.d.ts +18 -15
- package/dist/components/emoji/EmojiImg.d.ts +11 -11
- package/dist/components/emoji/ExportedEmoji.d.ts +11 -11
- package/dist/components/emoji/NativeEmoji.d.ts +6 -6
- package/dist/components/emoji/ViewOnlyEmoji.d.ts +3 -3
- package/dist/components/emoji/emojiStyles.d.ts +6 -1
- package/dist/components/footer/Preview.d.ts +7 -7
- package/dist/components/header/Header.d.ts +2 -2
- package/dist/components/header/Search/BtnClearSearch.d.ts +2 -2
- package/dist/components/header/Search/IcnSearch.d.ts +2 -2
- package/dist/components/header/Search/Search.d.ts +11 -3
- package/dist/components/header/SkinTonePicker/BtnSkinToneVariation.d.ts +12 -12
- package/dist/components/header/SkinTonePicker/SkinTonePicker.d.ts +11 -11
- package/dist/components/icons/svgIcons.d.ts +4 -0
- package/dist/components/main/PickerMainBehaviors.d.ts +4 -0
- package/dist/components/main/defaultAppearance.d.ts +12 -0
- package/dist/components/main/labelHeight.d.ts +1 -0
- package/dist/components/navigation/CategoryButton.d.ts +12 -12
- package/dist/components/navigation/CategoryNavIcon.d.ts +4 -4
- package/dist/components/navigation/CategoryNavigation.d.ts +19 -2
- package/dist/config/categoryConfig.d.ts +34 -34
- package/dist/config/cdnUrls.d.ts +2 -2
- package/dist/config/compareConfig.d.ts +10 -2
- package/dist/config/config.d.ts +166 -64
- package/dist/config/customEmojiConfig.d.ts +14 -14
- package/dist/config/defaultPickerConfiguration.d.ts +10 -0
- package/dist/config/mutableConfig.d.ts +32 -10
- package/dist/config/useConfig.d.ts +48 -36
- package/dist/data/defaultEmojiData.d.ts +9 -0
- package/dist/data/defaultEmojiData.js +40 -0
- package/dist/data/emojis-bn.d.mts +39 -0
- package/dist/data/emojis-bn.d.ts +38 -2
- package/dist/data/emojis-bn.js +25 -2
- package/dist/data/emojis-bn.mjs +2 -0
- package/dist/data/emojis-da.d.mts +39 -0
- package/dist/data/emojis-da.d.ts +38 -2
- package/dist/data/emojis-da.js +25 -2
- package/dist/data/emojis-da.mjs +2 -0
- package/dist/data/emojis-de.d.mts +39 -0
- package/dist/data/emojis-de.d.ts +38 -2
- package/dist/data/emojis-de.js +25 -2
- package/dist/data/emojis-de.mjs +2 -0
- package/dist/data/emojis-en-gb.d.mts +39 -0
- package/dist/data/emojis-en-gb.d.ts +38 -2
- package/dist/data/emojis-en-gb.js +25 -2
- package/dist/data/emojis-en-gb.mjs +2 -0
- package/dist/data/emojis-en.d.mts +39 -0
- package/dist/data/emojis-en.d.ts +38 -2
- package/dist/data/emojis-en.js +25 -2
- package/dist/data/emojis-en.mjs +2 -0
- package/dist/data/emojis-es-mx.d.mts +39 -0
- package/dist/data/emojis-es-mx.d.ts +38 -2
- package/dist/data/emojis-es-mx.js +25 -2
- package/dist/data/emojis-es-mx.mjs +2 -0
- package/dist/data/emojis-es.d.mts +39 -0
- package/dist/data/emojis-es.d.ts +38 -2
- package/dist/data/emojis-es.js +25 -2
- package/dist/data/emojis-es.mjs +2 -0
- package/dist/data/emojis-et.d.mts +39 -0
- package/dist/data/emojis-et.d.ts +38 -2
- package/dist/data/emojis-et.js +25 -2
- package/dist/data/emojis-et.mjs +2 -0
- package/dist/data/emojis-fi.d.mts +39 -0
- package/dist/data/emojis-fi.d.ts +38 -2
- package/dist/data/emojis-fi.js +25 -2
- package/dist/data/emojis-fi.mjs +2 -0
- package/dist/data/emojis-fr.d.mts +39 -0
- package/dist/data/emojis-fr.d.ts +38 -2
- package/dist/data/emojis-fr.js +25 -2
- package/dist/data/emojis-fr.mjs +2 -0
- package/dist/data/emojis-hi.d.mts +39 -0
- package/dist/data/emojis-hi.d.ts +38 -2
- package/dist/data/emojis-hi.js +25 -2
- package/dist/data/emojis-hi.mjs +2 -0
- package/dist/data/emojis-hu.d.mts +39 -0
- package/dist/data/emojis-hu.d.ts +38 -2
- package/dist/data/emojis-hu.js +25 -2
- package/dist/data/emojis-hu.mjs +2 -0
- package/dist/data/emojis-it.d.mts +39 -0
- package/dist/data/emojis-it.d.ts +38 -2
- package/dist/data/emojis-it.js +25 -2
- package/dist/data/emojis-it.mjs +2 -0
- package/dist/data/emojis-ja.d.mts +39 -0
- package/dist/data/emojis-ja.d.ts +38 -2
- package/dist/data/emojis-ja.js +25 -2
- package/dist/data/emojis-ja.mjs +2 -0
- package/dist/data/emojis-ko.d.mts +39 -0
- package/dist/data/emojis-ko.d.ts +38 -2
- package/dist/data/emojis-ko.js +25 -2
- package/dist/data/emojis-ko.mjs +2 -0
- package/dist/data/emojis-lt.d.mts +39 -0
- package/dist/data/emojis-lt.d.ts +38 -2
- package/dist/data/emojis-lt.js +25 -2
- package/dist/data/emojis-lt.mjs +2 -0
- package/dist/data/emojis-ms.d.mts +39 -0
- package/dist/data/emojis-ms.d.ts +38 -2
- package/dist/data/emojis-ms.js +25 -2
- package/dist/data/emojis-ms.mjs +2 -0
- package/dist/data/emojis-nb.d.mts +39 -0
- package/dist/data/emojis-nb.d.ts +38 -2
- package/dist/data/emojis-nb.js +25 -2
- package/dist/data/emojis-nb.mjs +2 -0
- package/dist/data/emojis-nl.d.mts +39 -0
- package/dist/data/emojis-nl.d.ts +38 -2
- package/dist/data/emojis-nl.js +25 -2
- package/dist/data/emojis-nl.mjs +2 -0
- package/dist/data/emojis-pl.d.mts +39 -0
- package/dist/data/emojis-pl.d.ts +38 -2
- package/dist/data/emojis-pl.js +25 -2
- package/dist/data/emojis-pl.mjs +2 -0
- package/dist/data/emojis-pt.d.mts +39 -0
- package/dist/data/emojis-pt.d.ts +38 -2
- package/dist/data/emojis-pt.js +25 -2
- package/dist/data/emojis-pt.mjs +2 -0
- package/dist/data/emojis-ru.d.mts +39 -0
- package/dist/data/emojis-ru.d.ts +38 -2
- package/dist/data/emojis-ru.js +25 -2
- package/dist/data/emojis-ru.mjs +2 -0
- package/dist/data/emojis-sv.d.mts +39 -0
- package/dist/data/emojis-sv.d.ts +38 -2
- package/dist/data/emojis-sv.js +25 -2
- package/dist/data/emojis-sv.mjs +2 -0
- package/dist/data/emojis-th.d.mts +39 -0
- package/dist/data/emojis-th.d.ts +38 -2
- package/dist/data/emojis-th.js +25 -2
- package/dist/data/emojis-th.mjs +2 -0
- package/dist/data/emojis-uk.d.mts +39 -0
- package/dist/data/emojis-uk.d.ts +38 -2
- package/dist/data/emojis-uk.js +25 -2
- package/dist/data/emojis-uk.mjs +2 -0
- package/dist/data/emojis-vi.d.mts +39 -0
- package/dist/data/emojis-vi.d.ts +38 -2
- package/dist/data/emojis-vi.js +25 -2
- package/dist/data/emojis-vi.mjs +2 -0
- package/dist/data/emojis-zh-hant.d.mts +39 -0
- package/dist/data/emojis-zh-hant.d.ts +38 -2
- package/dist/data/emojis-zh-hant.js +25 -2
- package/dist/data/emojis-zh-hant.mjs +2 -0
- package/dist/data/emojis-zh.d.mts +39 -0
- package/dist/data/emojis-zh.d.ts +38 -2
- package/dist/data/emojis-zh.js +25 -2
- package/dist/data/emojis-zh.mjs +2 -0
- package/dist/data/index.js +1 -0
- package/dist/data/registerDefaultEmojiData.d.ts +1 -0
- package/dist/data/registerDefaultEmojiData.js +3 -0
- package/dist/data-core/pickerData.d.ts +12 -0
- package/dist/data-core/prepare.d.ts +23 -0
- package/dist/data-core/search.d.ts +13 -0
- package/dist/data-core/types.d.ts +23 -0
- package/dist/data.d.mts +72 -0
- package/dist/data.d.ts +72 -0
- package/dist/dataUtils/DataTypes.d.ts +23 -19
- package/dist/dataUtils/emojiSelectors.d.ts +15 -16
- package/dist/dataUtils/emojiUtils.d.ts +1 -12
- package/dist/dataUtils/nativeEmojiSequenceSupport.d.ts +10 -0
- package/dist/dataUtils/nativeEmojiSupport.d.ts +40 -0
- package/dist/dataUtils/parseNativeEmoji.d.ts +1 -1
- package/dist/dataUtils/suggested.d.ts +11 -11
- package/dist/dataUtils/suggestedEmojis.d.ts +7 -0
- package/dist/esm/chunks/chunk-46BUDQLE.mjs +228 -0
- package/dist/esm/chunks/chunk-7ZGTUZFB.mjs +16 -0
- package/dist/esm/chunks/chunk-FQIJ4HBW.mjs +25 -0
- package/dist/esm/chunks/chunk-KQPOIRSC.mjs +9305 -0
- package/dist/esm/chunks/chunk-LO4TPPLH.mjs +43 -0
- package/dist/esm/chunks/emojis-6L3GRBAP.mjs +9 -0
- package/dist/esm/data.mjs +18 -0
- package/dist/esm/index.mjs +389 -0
- package/dist/esm/primitives/index.mjs +67 -0
- package/dist/hooks/preloadEmoji.d.ts +9 -9
- package/dist/hooks/useActiveCategoryScrollDetection.d.ts +11 -11
- package/dist/hooks/useCategoryHeight.d.ts +6 -5
- package/dist/hooks/useCloseAllOpenToggles.d.ts +2 -2
- package/dist/hooks/useDataIdentityStabilityWarning.d.ts +13 -0
- package/dist/hooks/useDebouncedState.d.ts +1 -1
- package/dist/hooks/useDisallowMouseMove.d.ts +4 -4
- package/dist/hooks/useDisallowedEmojis.d.ts +2 -3
- package/dist/hooks/useEmojiPreviewEvents.d.ts +3 -3
- package/dist/hooks/useEmojiVirtualization.d.ts +21 -17
- package/dist/hooks/useFilter.d.ts +10 -16
- package/dist/hooks/useFocus.d.ts +3 -3
- package/dist/hooks/useInitialLoad.d.ts +2 -2
- package/dist/hooks/useIsEmojiHidden.d.ts +8 -8
- package/dist/hooks/useIsMounted.d.ts +1 -1
- package/dist/hooks/useIsSearchMode.d.ts +1 -1
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
- package/dist/hooks/useKeyboardNavigation.d.ts +3 -1
- package/dist/hooks/useMouseDownHandlers.d.ts +8 -4
- package/dist/hooks/useOnFocus.d.ts +1 -1
- package/dist/hooks/useOnScroll.d.ts +2 -2
- package/dist/hooks/useReactionsFocus.d.ts +1 -0
- package/dist/hooks/useRegisterRegion.d.ts +24 -0
- package/dist/hooks/useResolvedEmojiData.d.ts +37 -0
- package/dist/hooks/useScrollCategoryIntoView.d.ts +1 -1
- package/dist/hooks/useSearchController.d.ts +17 -0
- package/dist/hooks/useSearchResults.d.ts +8 -0
- package/dist/hooks/useSetVariationPicker.d.ts +2 -2
- package/dist/hooks/useShouldHideCustomEmojis.d.ts +1 -1
- package/dist/hooks/useShouldShowSkinTonePicker.d.ts +4 -4
- package/dist/index.d.mts +376 -0
- package/dist/index.d.ts +376 -9
- package/dist/index.js +2 -8
- package/dist/primitives/CategoryNav.d.ts +4 -0
- package/dist/primitives/Empty.d.ts +6 -0
- package/dist/primitives/List.d.ts +4 -0
- package/dist/primitives/LoadError.d.ts +8 -0
- package/dist/primitives/Loading.d.ts +4 -0
- package/dist/primitives/Panel.d.ts +3 -0
- package/dist/primitives/Preview.d.ts +3 -0
- package/dist/primitives/Reactions.d.ts +2 -0
- package/dist/primitives/Root.d.ts +26 -0
- package/dist/primitives/Search.d.ts +5 -0
- package/dist/primitives/SearchInput.d.ts +3 -0
- package/dist/primitives/SkinTone.d.ts +4 -0
- package/dist/primitives/Viewport.d.ts +19 -0
- package/dist/primitives/appearance.d.ts +3 -0
- package/dist/primitives/components.d.ts +27 -0
- package/dist/primitives/hooks.d.ts +48 -0
- package/dist/primitives/index.d.mts +561 -0
- package/dist/primitives/index.d.ts +561 -0
- package/dist/primitives/index.js +2 -0
- package/dist/primitives/nativeProps.d.ts +15 -0
- package/dist/primitives/scope.d.ts +13 -0
- package/dist/primitives/structuralStyles.d.ts +16 -0
- package/dist/primitives/tokens.d.ts +18 -0
- package/dist/primitives/types.d.ts +85 -0
- package/dist/state/activeEmojiStore.d.ts +7 -0
- package/dist/state/navigationRegistry.d.ts +61 -0
- package/dist/state/regionTraversal.d.ts +20 -0
- package/dist/typeRefinements/typeRefinements.d.ts +6 -6
- package/dist/types/exposedTypes.d.ts +16 -6
- package/dist/types/exposedTypes.js +5 -0
- package/dist/virtualization/virtualizationHelpers.d.ts +20 -18
- package/llms-full.txt +3680 -0
- package/llms.txt +66 -480
- package/package.json +180 -66
- package/src/DomUtils/categoryNameFromDom.ts +1 -1
- package/src/DomUtils/classNames.ts +1 -0
- package/src/DomUtils/elementPositionInRow.ts +26 -4
- package/src/DomUtils/eventBelongsToPicker.ts +17 -0
- package/src/DomUtils/getActiveElement.ts +7 -1
- package/src/DomUtils/isJsdom.ts +12 -0
- package/src/DomUtils/isRtl.ts +5 -0
- package/src/DomUtils/keyboardNavigation.ts +105 -149
- package/src/DomUtils/scrollTo.ts +18 -16
- package/src/DomUtils/selectors.ts +20 -111
- package/src/EmojiPickerReact.tsx +155 -48
- package/src/Stylesheet/DedupedStyle.tsx +80 -0
- package/src/Stylesheet/stylesheet.tsx +128 -59
- package/src/components/Layout/Flex.tsx +12 -11
- package/src/components/Reactions/BtnPlus.tsx +61 -51
- package/src/components/Reactions/Reactions.tsx +113 -55
- package/src/components/atoms/Button.tsx +18 -15
- package/src/components/body/EmojiCategory.tsx +77 -40
- package/src/components/body/EmojiList.tsx +55 -23
- package/src/components/body/EmojiVariationPicker.tsx +113 -66
- package/src/components/body/MeasureEmoji.tsx +9 -2
- package/src/components/body/listComponents.tsx +79 -0
- package/src/components/context/ElementRefContext.tsx +46 -35
- package/src/components/context/PickerConfigContext.tsx +55 -40
- package/src/components/context/PickerContext.tsx +567 -92
- package/src/components/context/PickerDataContext.tsx +110 -99
- package/src/components/emoji/BaseEmojiProps.ts +5 -4
- package/src/components/emoji/ClickableEmojiButton.tsx +148 -63
- package/src/components/emoji/Emoji.tsx +24 -2
- package/src/components/emoji/EmojiImg.tsx +13 -12
- package/src/components/emoji/ExportedEmoji.tsx +5 -4
- package/src/components/emoji/NativeEmoji.tsx +19 -16
- package/src/components/emoji/ViewOnlyEmoji.tsx +55 -30
- package/src/components/emoji/emojiStyles.ts +12 -11
- package/src/components/footer/Preview.tsx +86 -91
- package/src/components/header/Header.tsx +21 -6
- package/src/components/header/Search/BtnClearSearch.tsx +69 -55
- package/src/components/header/Search/IcnSearch.tsx +21 -21
- package/src/components/header/Search/Search.tsx +77 -137
- package/src/components/header/SkinTonePicker/BtnSkinToneVariation.tsx +99 -62
- package/src/components/header/SkinTonePicker/SkinTonePicker.tsx +84 -46
- package/src/components/icons/svgIcons.ts +17 -0
- package/src/components/main/PickerMainBehaviors.tsx +163 -0
- package/src/components/main/defaultAppearance.tsx +188 -0
- package/src/components/main/labelHeight.ts +5 -0
- package/src/components/navigation/CategoryButton.tsx +83 -57
- package/src/components/navigation/CategoryNavIcon.tsx +73 -194
- package/src/components/navigation/CategoryNavigation.tsx +118 -46
- package/src/config/categoryConfig.ts +7 -3
- package/src/config/cdnUrls.ts +11 -21
- package/src/config/compareConfig.ts +128 -30
- package/src/config/config.ts +228 -24
- package/src/config/defaultPickerConfiguration.ts +7 -0
- package/src/config/mutableConfig.ts +44 -20
- package/src/config/useConfig.ts +130 -37
- package/src/data/defaultEmojiData.ts +49 -0
- package/src/data/registerDefaultEmojiData.ts +8 -0
- package/src/data-core/pickerData.ts +173 -0
- package/src/data-core/prepare.ts +178 -0
- package/src/data-core/search.ts +122 -0
- package/src/data-core/types.ts +36 -0
- package/src/data.ts +10 -0
- package/src/dataUtils/DataTypes.ts +4 -0
- package/src/dataUtils/emojiSelectors.ts +58 -63
- package/src/dataUtils/emojiUtils.ts +17 -74
- package/src/dataUtils/nativeEmojiSequenceSupport.ts +116 -0
- package/src/dataUtils/nativeEmojiSupport.ts +160 -0
- package/src/dataUtils/suggested.ts +8 -4
- package/src/dataUtils/suggestedEmojis.ts +92 -0
- package/src/env.d.ts +4 -0
- package/src/hooks/preloadEmoji.ts +3 -3
- package/src/hooks/useActiveCategoryScrollDetection.ts +10 -1
- package/src/hooks/useCategoryHeight.ts +82 -8
- package/src/hooks/useDataIdentityStabilityWarning.ts +86 -0
- package/src/hooks/useDebouncedState.ts +13 -1
- package/src/hooks/useDisallowedEmojis.ts +26 -42
- package/src/hooks/useEmojiPreviewEvents.ts +43 -10
- package/src/hooks/useEmojiVirtualization.tsx +38 -4
- package/src/hooks/useFilter.ts +85 -127
- package/src/hooks/useFocus.ts +14 -24
- package/src/hooks/useIsEmojiHidden.ts +10 -6
- package/src/hooks/useKeyboardNavigation.ts +322 -429
- package/src/hooks/useMouseDownHandlers.ts +91 -16
- package/src/hooks/useOnFocus.ts +12 -3
- package/src/hooks/useOnScroll.ts +18 -2
- package/src/hooks/useReactionsFocus.ts +118 -0
- package/src/hooks/useRegisterRegion.ts +92 -0
- package/src/hooks/useResolvedEmojiData.ts +200 -0
- package/src/hooks/useScrollCategoryIntoView.ts +74 -12
- package/src/hooks/useSearchController.ts +369 -0
- package/src/hooks/useSearchResults.ts +51 -0
- package/src/hooks/useSetVariationPicker.ts +4 -1
- package/src/index.tsx +67 -5
- package/src/primitives/CategoryNav.tsx +40 -0
- package/src/primitives/Empty.tsx +68 -0
- package/src/primitives/List.tsx +61 -0
- package/src/primitives/LoadError.tsx +38 -0
- package/src/primitives/Loading.tsx +60 -0
- package/src/primitives/Panel.tsx +47 -0
- package/src/primitives/Preview.tsx +38 -0
- package/src/primitives/Reactions.tsx +2 -0
- package/src/primitives/Root.tsx +398 -0
- package/src/primitives/Search.tsx +41 -0
- package/src/primitives/SearchInput.tsx +110 -0
- package/src/primitives/SkinTone.tsx +76 -0
- package/src/primitives/Viewport.tsx +204 -0
- package/src/primitives/appearance.tsx +7 -0
- package/src/primitives/components.tsx +30 -0
- package/src/primitives/hooks.ts +165 -0
- package/src/primitives/index.ts +94 -0
- package/src/primitives/nativeProps.ts +90 -0
- package/src/primitives/scope.tsx +109 -0
- package/src/primitives/structuralStyles.tsx +133 -0
- package/src/primitives/tokens.ts +149 -0
- package/src/primitives/types.ts +192 -0
- package/src/state/activeEmojiStore.ts +39 -0
- package/src/state/navigationRegistry.ts +209 -0
- package/src/state/regionTraversal.ts +116 -0
- package/src/svg.d.ts +2 -2
- package/src/types/exposedTypes.ts +28 -1
- package/src/virtualization/virtualizationHelpers.ts +20 -6
- package/dist/components/body/Body.d.ts +0 -2
- package/dist/components/main/PickerMain.d.ts +0 -7
- package/dist/dataUtils/alphaNumericEmojiIndex.d.ts +0 -5
- package/dist/emoji-picker-react.cjs.development.js +0 -31413
- package/dist/emoji-picker-react.cjs.development.js.map +0 -1
- package/dist/emoji-picker-react.cjs.production.min.js +0 -2
- package/dist/emoji-picker-react.cjs.production.min.js.map +0 -1
- package/dist/emoji-picker-react.esm.js +0 -31411
- package/dist/emoji-picker-react.esm.js.map +0 -1
- package/dist/hooks/useHideEmojisByUniocode.d.ts +0 -1
- package/src/components/body/Body.tsx +0 -43
- package/src/components/main/PickerMain.tsx +0 -249
- package/src/dataUtils/alphaNumericEmojiIndex.ts +0 -21
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __esm = (fn, res, err) => function __init() {
|
|
8
|
+
if (err) throw err[0];
|
|
9
|
+
try {
|
|
10
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
11
|
+
} catch (e) {
|
|
12
|
+
throw err = [e], e;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
16
|
+
try {
|
|
17
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
18
|
+
} catch (e) {
|
|
19
|
+
throw mod = 0, e;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
var __copyProps = (to, from, except, desc) => {
|
|
23
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
24
|
+
for (let key of __getOwnPropNames(from))
|
|
25
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
26
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
27
|
+
}
|
|
28
|
+
return to;
|
|
29
|
+
};
|
|
30
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
31
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
32
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
33
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
34
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
35
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
36
|
+
mod
|
|
37
|
+
));
|
|
38
|
+
|
|
39
|
+
export {
|
|
40
|
+
__esm,
|
|
41
|
+
__commonJS,
|
|
42
|
+
__toESM
|
|
43
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
require_registerDefaultEmojiData
|
|
3
|
+
} from "./chunks/chunk-FQIJ4HBW.mjs";
|
|
4
|
+
import {
|
|
5
|
+
getEmojiByUnified,
|
|
6
|
+
searchEmojis
|
|
7
|
+
} from "./chunks/chunk-46BUDQLE.mjs";
|
|
8
|
+
import "./chunks/chunk-7ZGTUZFB.mjs";
|
|
9
|
+
import {
|
|
10
|
+
__toESM
|
|
11
|
+
} from "./chunks/chunk-LO4TPPLH.mjs";
|
|
12
|
+
|
|
13
|
+
// src/data.ts
|
|
14
|
+
var import_registerDefaultEmojiData = __toESM(require_registerDefaultEmojiData());
|
|
15
|
+
export {
|
|
16
|
+
getEmojiByUnified,
|
|
17
|
+
searchEmojis
|
|
18
|
+
};
|
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
Categories,
|
|
4
|
+
CategoryNav,
|
|
5
|
+
DEFAULT_PICKER_HEIGHT,
|
|
6
|
+
DEFAULT_PICKER_WIDTH,
|
|
7
|
+
DefaultPickerConfiguration,
|
|
8
|
+
EmojiStyle,
|
|
9
|
+
Empty,
|
|
10
|
+
List,
|
|
11
|
+
LoadError,
|
|
12
|
+
Loading,
|
|
13
|
+
MutableConfigProvider,
|
|
14
|
+
Panel,
|
|
15
|
+
Preview,
|
|
16
|
+
Reactions,
|
|
17
|
+
Relative,
|
|
18
|
+
Root,
|
|
19
|
+
Search,
|
|
20
|
+
SkinTone,
|
|
21
|
+
SkinTonePickerLocation,
|
|
22
|
+
SkinTones,
|
|
23
|
+
SuggestionMode,
|
|
24
|
+
Theme,
|
|
25
|
+
ViewOnlyEmoji,
|
|
26
|
+
Viewport,
|
|
27
|
+
commonInteractionStyles,
|
|
28
|
+
compareConfig,
|
|
29
|
+
cx,
|
|
30
|
+
defaultPickerTokens,
|
|
31
|
+
emojiByUnified,
|
|
32
|
+
isPickerBehaviorProp,
|
|
33
|
+
resolveEmojiStyle,
|
|
34
|
+
resolveSkinTonePickerLocation,
|
|
35
|
+
stylesheet,
|
|
36
|
+
useDefaultAppearance,
|
|
37
|
+
useDefineMutableConfig,
|
|
38
|
+
usePreviewConfig,
|
|
39
|
+
useSearchDisabledConfig,
|
|
40
|
+
useSkinTonePickerLocationConfig,
|
|
41
|
+
useSkinTonesDisabledConfig,
|
|
42
|
+
validColumns
|
|
43
|
+
} from "./chunks/chunk-KQPOIRSC.mjs";
|
|
44
|
+
import {
|
|
45
|
+
require_registerDefaultEmojiData
|
|
46
|
+
} from "./chunks/chunk-FQIJ4HBW.mjs";
|
|
47
|
+
import "./chunks/chunk-46BUDQLE.mjs";
|
|
48
|
+
import "./chunks/chunk-7ZGTUZFB.mjs";
|
|
49
|
+
import {
|
|
50
|
+
__toESM
|
|
51
|
+
} from "./chunks/chunk-LO4TPPLH.mjs";
|
|
52
|
+
|
|
53
|
+
// src/index.tsx
|
|
54
|
+
var import_registerDefaultEmojiData = __toESM(require_registerDefaultEmojiData());
|
|
55
|
+
import * as React6 from "react";
|
|
56
|
+
|
|
57
|
+
// src/EmojiPickerReact.tsx
|
|
58
|
+
import * as React3 from "react";
|
|
59
|
+
|
|
60
|
+
// src/components/header/Header.tsx
|
|
61
|
+
import * as React from "react";
|
|
62
|
+
|
|
63
|
+
// src/hooks/useShouldShowSkinTonePicker.ts
|
|
64
|
+
function useIsSkinToneInSearch() {
|
|
65
|
+
const skinTonePickerLocationConfig = useSkinTonePickerLocationConfig();
|
|
66
|
+
return skinTonePickerLocationConfig === "SEARCH" /* SEARCH */;
|
|
67
|
+
}
|
|
68
|
+
function useIsSkinToneInPreview() {
|
|
69
|
+
const skinTonePickerLocationConfig = useSkinTonePickerLocationConfig();
|
|
70
|
+
return skinTonePickerLocationConfig === "PREVIEW" /* PREVIEW */;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// src/components/header/Header.tsx
|
|
74
|
+
function Header() {
|
|
75
|
+
const appearance = useDefaultAppearance();
|
|
76
|
+
const searchDisabled = useSearchDisabledConfig();
|
|
77
|
+
const skinTonesDisabled = useSkinTonesDisabledConfig();
|
|
78
|
+
const toneInSearch = useIsSkinToneInSearch();
|
|
79
|
+
return /* @__PURE__ */ React.createElement(
|
|
80
|
+
Relative,
|
|
81
|
+
{
|
|
82
|
+
className: cx(
|
|
83
|
+
"epr-header",
|
|
84
|
+
appearance && commonInteractionStyles.hiddenOnReactions
|
|
85
|
+
)
|
|
86
|
+
},
|
|
87
|
+
!searchDisabled && /* @__PURE__ */ React.createElement(Search, null, !skinTonesDisabled && toneInSearch && /* @__PURE__ */ React.createElement(SkinTone, null)),
|
|
88
|
+
/* @__PURE__ */ React.createElement(CategoryNav, null)
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// src/components/main/defaultAppearance.tsx
|
|
93
|
+
import * as React2 from "react";
|
|
94
|
+
function defaultRootClassName(theme, className, unstyled) {
|
|
95
|
+
if (unstyled) {
|
|
96
|
+
return cx(className);
|
|
97
|
+
}
|
|
98
|
+
return cx(
|
|
99
|
+
styles.main,
|
|
100
|
+
styles.baseVariables,
|
|
101
|
+
theme === "dark" /* DARK */ && styles.darkTheme,
|
|
102
|
+
theme === "auto" /* AUTO */ && styles.autoThemeDark,
|
|
103
|
+
className
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
function defaultRootStyle({
|
|
107
|
+
width,
|
|
108
|
+
height,
|
|
109
|
+
style,
|
|
110
|
+
columns
|
|
111
|
+
}) {
|
|
112
|
+
return {
|
|
113
|
+
// v4-compatible default dimensions; consumer style and explicit
|
|
114
|
+
// width/height props both override them. With `columns`, the width
|
|
115
|
+
// fits the columns instead.
|
|
116
|
+
...columns === void 0 && { width: getDimension(DEFAULT_PICKER_WIDTH) },
|
|
117
|
+
height: getDimension(DEFAULT_PICKER_HEIGHT),
|
|
118
|
+
...style,
|
|
119
|
+
...width !== void 0 ? { width: getDimension(width) } : {},
|
|
120
|
+
...height !== void 0 ? { height: getDimension(height) } : {}
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function getDimension(dimension) {
|
|
124
|
+
return typeof dimension === "number" ? `${dimension}px` : dimension;
|
|
125
|
+
}
|
|
126
|
+
var darkThemeBaseVariables = {
|
|
127
|
+
"--epr-dark": "#000",
|
|
128
|
+
"--epr-dark-emoji-variation-picker-bg-color": "var(--epr-dark)",
|
|
129
|
+
"--epr-dark-highlight-color": "#c0c0c0",
|
|
130
|
+
"--epr-dark-text-color": "var(--epr-highlight-color)",
|
|
131
|
+
"--epr-dark-hover-bg-color": "#363636f6",
|
|
132
|
+
"--epr-dark-hover-bg-color-reduced-opacity": "#36363680",
|
|
133
|
+
"--epr-dark-focus-bg-color": "#474747",
|
|
134
|
+
"--epr-dark-search-input-bg-color": "#333333",
|
|
135
|
+
"--epr-dark-category-label-bg-color": "#222222e6",
|
|
136
|
+
"--epr-dark-picker-border-color": "#151617",
|
|
137
|
+
"--epr-dark-bg-color": "#222222",
|
|
138
|
+
"--epr-dark-reactions-bg-color": "#22222290",
|
|
139
|
+
"--epr-dark-search-input-bg-color-active": "var(--epr-dark)",
|
|
140
|
+
"--epr-dark-emoji-variation-indicator-color": "#444",
|
|
141
|
+
"--epr-dark-category-icon-active-color": "#6AA9DD",
|
|
142
|
+
"--epr-dark-category-icon-inactive-color": "#C0C0BF",
|
|
143
|
+
"--epr-dark-skin-tone-picker-menu-color": "#22222295",
|
|
144
|
+
"--epr-dark-skin-tone-outer-border-color": "var(--epr-dark-picker-border-color)",
|
|
145
|
+
"--epr-dark-skin-tone-inner-border-color": "#00000000"
|
|
146
|
+
};
|
|
147
|
+
var DarkTheme = {
|
|
148
|
+
"--epr-emoji-variation-picker-bg-color": "var(--epr-dark-emoji-variation-picker-bg-color)",
|
|
149
|
+
"--epr-hover-bg-color-reduced-opacity": "var(--epr-dark-hover-bg-color-reduced-opacity)",
|
|
150
|
+
"--epr-highlight-color": "var(--epr-dark-highlight-color)",
|
|
151
|
+
"--epr-text-color": "var(--epr-dark-text-color)",
|
|
152
|
+
"--epr-hover-bg-color": "var(--epr-dark-hover-bg-color)",
|
|
153
|
+
"--epr-focus-bg-color": "var(--epr-dark-focus-bg-color)",
|
|
154
|
+
"--epr-search-input-bg-color": "var(--epr-dark-search-input-bg-color)",
|
|
155
|
+
"--epr-category-label-bg-color": "var(--epr-dark-category-label-bg-color)",
|
|
156
|
+
"--epr-picker-border-color": "var(--epr-dark-picker-border-color)",
|
|
157
|
+
"--epr-bg-color": "var(--epr-dark-bg-color)",
|
|
158
|
+
"--epr-reactions-bg-color": "var(--epr-dark-reactions-bg-color)",
|
|
159
|
+
"--epr-search-input-bg-color-active": "var(--epr-dark-search-input-bg-color-active)",
|
|
160
|
+
"--epr-emoji-variation-indicator-color": "var(--epr-dark-emoji-variation-indicator-color)",
|
|
161
|
+
"--epr-category-icon-active-color": "var(--epr-dark-category-icon-active-color)",
|
|
162
|
+
"--epr-category-icon-inactive-color": "var(--epr-dark-category-icon-inactive-color)",
|
|
163
|
+
"--epr-skin-tone-picker-menu-color": "var(--epr-dark-skin-tone-picker-menu-color)",
|
|
164
|
+
"--epr-skin-tone-outer-border-color": "var(--epr-dark-skin-tone-outer-border-color)",
|
|
165
|
+
"--epr-skin-tone-inner-border-color": "var(--epr-dark-skin-tone-inner-border-color)",
|
|
166
|
+
"--epr-dark-text-color": "var(--epr-highlight-color)",
|
|
167
|
+
"--epr-dark-hover-bg-color": "#363636f6",
|
|
168
|
+
"--epr-dark-hover-bg-color-reduced-opacity": "#36363680",
|
|
169
|
+
"--epr-dark-focus-bg-color": "#474747",
|
|
170
|
+
"--epr-dark-search-input-bg-color": "#333333",
|
|
171
|
+
"--epr-dark-category-label-bg-color": "#222222e6",
|
|
172
|
+
"--epr-dark-picker-border-color": "#151617",
|
|
173
|
+
"--epr-dark-bg-color": "#222222",
|
|
174
|
+
"--epr-dark-reactions-bg-color": "#22222290",
|
|
175
|
+
"--epr-dark-search-input-bg-color-active": "var(--epr-dark)",
|
|
176
|
+
"--epr-dark-emoji-variation-indicator-color": "#444",
|
|
177
|
+
"--epr-dark-category-icon-active-color": "#6AA9DD",
|
|
178
|
+
"--epr-dark-category-icon-inactive-color": "#C0C0BF",
|
|
179
|
+
"--epr-dark-skin-tone-picker-menu-color": "#22222295",
|
|
180
|
+
"--epr-dark-skin-tone-outer-border-color": "var(--epr-dark-picker-border-color)",
|
|
181
|
+
"--epr-dark-skin-tone-inner-border-color": "#00000000"
|
|
182
|
+
};
|
|
183
|
+
var styles = /* @__PURE__ */ (() => stylesheet.create({
|
|
184
|
+
main: {
|
|
185
|
+
".": ["epr-main", "EmojiPickerReact" /* emojiPicker */],
|
|
186
|
+
position: "relative",
|
|
187
|
+
display: "flex",
|
|
188
|
+
flexDirection: "column",
|
|
189
|
+
borderWidth: "1px",
|
|
190
|
+
borderStyle: "solid",
|
|
191
|
+
borderRadius: "var(--epr-picker-border-radius)",
|
|
192
|
+
borderColor: "var(--epr-picker-border-color)",
|
|
193
|
+
backgroundColor: "var(--epr-bg-color)",
|
|
194
|
+
overflow: "hidden",
|
|
195
|
+
transition: "height 0.3s ease-in-out, background-color 0.1s ease-in-out",
|
|
196
|
+
"*": {
|
|
197
|
+
boxSizing: "border-box",
|
|
198
|
+
// Overridable without a specificity fight (v4 hard-coded sans-serif).
|
|
199
|
+
fontFamily: "var(--epr-font-family, sans-serif)"
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
baseVariables: {
|
|
203
|
+
// Single-sourced from the public token preset: the default tree and
|
|
204
|
+
// bare-Root consumers share the same documented defaults. The private
|
|
205
|
+
// dark-theme values ride along (referenced only by the DarkTheme
|
|
206
|
+
// overrides below); they stay out of the shared preset so the
|
|
207
|
+
// primitives bundle keeps its separation marker scan clean.
|
|
208
|
+
"--": { ...defaultPickerTokens, ...darkThemeBaseVariables }
|
|
209
|
+
},
|
|
210
|
+
// color-scheme makes native parts (scrollbars, the search field's
|
|
211
|
+
// controls) render dark too; without it they stay light on a dark picker.
|
|
212
|
+
autoThemeDark: {
|
|
213
|
+
".": "epr-auto-theme" /* autoTheme */,
|
|
214
|
+
"@media (prefers-color-scheme: dark)": {
|
|
215
|
+
"--": DarkTheme,
|
|
216
|
+
colorScheme: "dark"
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
darkTheme: {
|
|
220
|
+
".": "epr-dark-theme" /* darkTheme */,
|
|
221
|
+
"--": DarkTheme,
|
|
222
|
+
colorScheme: "dark"
|
|
223
|
+
}
|
|
224
|
+
}))();
|
|
225
|
+
|
|
226
|
+
// src/EmojiPickerReact.tsx
|
|
227
|
+
function EmojiPicker(props) {
|
|
228
|
+
const rootInput = props;
|
|
229
|
+
const {
|
|
230
|
+
theme: legacyTheme,
|
|
231
|
+
colorScheme,
|
|
232
|
+
width,
|
|
233
|
+
height,
|
|
234
|
+
className,
|
|
235
|
+
style,
|
|
236
|
+
unstyled,
|
|
237
|
+
components,
|
|
238
|
+
open,
|
|
239
|
+
searchDisabled = false,
|
|
240
|
+
skinTonesDisabled = false,
|
|
241
|
+
skinTonePickerLocation = "SEARCH" /* SEARCH */,
|
|
242
|
+
previewConfig,
|
|
243
|
+
...rest
|
|
244
|
+
} = rootInput;
|
|
245
|
+
const theme = colorScheme ?? legacyTheme;
|
|
246
|
+
const showPreview = previewConfig?.showPreview ?? true;
|
|
247
|
+
const resolvedLocation = resolveSkinTonePickerLocation(
|
|
248
|
+
skinTonePickerLocation,
|
|
249
|
+
searchDisabled,
|
|
250
|
+
showPreview
|
|
251
|
+
);
|
|
252
|
+
const defaultConfiguration = {
|
|
253
|
+
searchDisabled,
|
|
254
|
+
skinTonesDisabled,
|
|
255
|
+
skinTonePickerLocation: resolvedLocation,
|
|
256
|
+
previewConfig,
|
|
257
|
+
// Closed, as in v4, keeps the picker's state (skin tone, search,
|
|
258
|
+
// reactions mode) and renders nothing.
|
|
259
|
+
open: open !== false
|
|
260
|
+
};
|
|
261
|
+
const { behaviorProps, unknownProps } = pickBehaviorProps(rest);
|
|
262
|
+
useUnknownPropsWarning(unknownProps);
|
|
263
|
+
return /* @__PURE__ */ React3.createElement(DefaultPickerConfiguration.Provider, { value: defaultConfiguration }, /* @__PURE__ */ React3.createElement(
|
|
264
|
+
Root,
|
|
265
|
+
{
|
|
266
|
+
appearance: unstyled ? "none" : "default",
|
|
267
|
+
components,
|
|
268
|
+
...behaviorProps,
|
|
269
|
+
className: defaultRootClassName(theme, className, unstyled),
|
|
270
|
+
style: defaultRootStyle({
|
|
271
|
+
width,
|
|
272
|
+
height,
|
|
273
|
+
style,
|
|
274
|
+
columns: validColumns(props.columns)
|
|
275
|
+
})
|
|
276
|
+
},
|
|
277
|
+
/* @__PURE__ */ React3.createElement(Reactions, null),
|
|
278
|
+
/* @__PURE__ */ React3.createElement(Panel, null, CONTENT)
|
|
279
|
+
));
|
|
280
|
+
}
|
|
281
|
+
var NATIVE_ATTRIBUTES = /* @__PURE__ */ new Set([
|
|
282
|
+
"id",
|
|
283
|
+
"title",
|
|
284
|
+
"lang",
|
|
285
|
+
"dir"
|
|
286
|
+
]);
|
|
287
|
+
function isNativeAttribute(key) {
|
|
288
|
+
return NATIVE_ATTRIBUTES.has(key) || key.startsWith("aria-") || key.startsWith("data-");
|
|
289
|
+
}
|
|
290
|
+
function pickBehaviorProps(props) {
|
|
291
|
+
const behaviorProps = {};
|
|
292
|
+
const unknown = [];
|
|
293
|
+
const values = props;
|
|
294
|
+
for (const key of Object.keys(values)) {
|
|
295
|
+
if (isPickerBehaviorProp(key) || isNativeAttribute(key)) {
|
|
296
|
+
behaviorProps[key] = values[key];
|
|
297
|
+
} else {
|
|
298
|
+
unknown.push(key);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
return { behaviorProps, unknownProps: unknown.join(", ") };
|
|
302
|
+
}
|
|
303
|
+
var useUnknownPropsWarning = process.env.NODE_ENV === "production" ? () => void 0 : useDevUnknownPropsWarning;
|
|
304
|
+
function useDevUnknownPropsWarning(unknownProps) {
|
|
305
|
+
React3.useEffect(() => {
|
|
306
|
+
if (unknownProps) {
|
|
307
|
+
console.warn(
|
|
308
|
+
`[emoji-picker-react] Ignoring unknown prop(s): ${unknownProps}. See docs/v5/MIGRATION.md for removed props.`
|
|
309
|
+
);
|
|
310
|
+
}
|
|
311
|
+
}, [unknownProps]);
|
|
312
|
+
}
|
|
313
|
+
function ContentControl() {
|
|
314
|
+
const showPreview = usePreviewConfig().showPreview;
|
|
315
|
+
const skinTonesDisabled = useSkinTonesDisabledConfig();
|
|
316
|
+
const toneInPreview = useIsSkinToneInPreview();
|
|
317
|
+
return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(Header, null), /* @__PURE__ */ React3.createElement(Viewport, null, /* @__PURE__ */ React3.createElement(List, null), /* @__PURE__ */ React3.createElement(Empty, null), /* @__PURE__ */ React3.createElement(Loading, null), /* @__PURE__ */ React3.createElement(LoadError, null)), showPreview && /* @__PURE__ */ React3.createElement(Preview, null, !skinTonesDisabled && toneInPreview && /* @__PURE__ */ React3.createElement(SkinTone, { orientation: "vertical" })));
|
|
318
|
+
}
|
|
319
|
+
var CONTENT = /* @__PURE__ */ React3.createElement(ContentControl);
|
|
320
|
+
var EmojiPickerReact_default = /* @__PURE__ */ React3.memo(EmojiPicker, compareConfig);
|
|
321
|
+
|
|
322
|
+
// src/components/ErrorBoundary.tsx
|
|
323
|
+
import * as React4 from "react";
|
|
324
|
+
var ErrorBoundary = class extends React4.Component {
|
|
325
|
+
constructor(props) {
|
|
326
|
+
super(props);
|
|
327
|
+
this.state = { hasError: false };
|
|
328
|
+
}
|
|
329
|
+
static getDerivedStateFromError() {
|
|
330
|
+
return { hasError: true };
|
|
331
|
+
}
|
|
332
|
+
componentDidCatch(error, errorInfo) {
|
|
333
|
+
console.error("Emoji Picker React failed to render:", error, errorInfo);
|
|
334
|
+
}
|
|
335
|
+
render() {
|
|
336
|
+
if (this.state.hasError) {
|
|
337
|
+
return null;
|
|
338
|
+
}
|
|
339
|
+
return this.props.children;
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
|
|
343
|
+
// src/components/emoji/ExportedEmoji.tsx
|
|
344
|
+
import * as React5 from "react";
|
|
345
|
+
function ExportedEmoji({
|
|
346
|
+
unified,
|
|
347
|
+
size = 32,
|
|
348
|
+
emojiStyle,
|
|
349
|
+
lazyLoad = false,
|
|
350
|
+
getEmojiUrl,
|
|
351
|
+
emojiUrl
|
|
352
|
+
}) {
|
|
353
|
+
if (!unified && !emojiUrl && !getEmojiUrl) {
|
|
354
|
+
return null;
|
|
355
|
+
}
|
|
356
|
+
return /* @__PURE__ */ React5.createElement(
|
|
357
|
+
ViewOnlyEmoji,
|
|
358
|
+
{
|
|
359
|
+
unified,
|
|
360
|
+
size,
|
|
361
|
+
emojiStyle: resolveEmojiStyle(emojiStyle, emojiUrl || getEmojiUrl),
|
|
362
|
+
lazyLoad,
|
|
363
|
+
getEmojiUrl: emojiUrl ? () => emojiUrl : getEmojiUrl
|
|
364
|
+
}
|
|
365
|
+
);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// src/index.tsx
|
|
369
|
+
function EmojiPicker2(props) {
|
|
370
|
+
const MutableConfigRef = useDefineMutableConfig({
|
|
371
|
+
onEmojiClick: props.onEmojiClick,
|
|
372
|
+
onReactionClick: props.onReactionClick,
|
|
373
|
+
onSkinToneChange: props.onSkinToneChange,
|
|
374
|
+
onSearchChange: props.onSearchChange,
|
|
375
|
+
onReactionsModeChange: props.onReactionsModeChange
|
|
376
|
+
});
|
|
377
|
+
return /* @__PURE__ */ React6.createElement(ErrorBoundary, null, /* @__PURE__ */ React6.createElement(MutableConfigProvider, { value: MutableConfigRef, inheritToRoot: true }, /* @__PURE__ */ React6.createElement(EmojiPickerReact_default, { ...props })));
|
|
378
|
+
}
|
|
379
|
+
export {
|
|
380
|
+
Categories,
|
|
381
|
+
ExportedEmoji as Emoji,
|
|
382
|
+
EmojiStyle,
|
|
383
|
+
SkinTonePickerLocation,
|
|
384
|
+
SkinTones,
|
|
385
|
+
SuggestionMode,
|
|
386
|
+
Theme,
|
|
387
|
+
EmojiPicker2 as default,
|
|
388
|
+
emojiByUnified
|
|
389
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
Categories,
|
|
4
|
+
CategoryNav,
|
|
5
|
+
EmojiStyle,
|
|
6
|
+
Empty,
|
|
7
|
+
List,
|
|
8
|
+
LoadError,
|
|
9
|
+
Loading,
|
|
10
|
+
Panel,
|
|
11
|
+
Preview,
|
|
12
|
+
Reactions,
|
|
13
|
+
Root,
|
|
14
|
+
Search,
|
|
15
|
+
SearchInput,
|
|
16
|
+
SkinTone,
|
|
17
|
+
SkinTonePickerLocation,
|
|
18
|
+
SkinTones,
|
|
19
|
+
SuggestionMode,
|
|
20
|
+
Theme,
|
|
21
|
+
Viewport,
|
|
22
|
+
darkPickerTokens,
|
|
23
|
+
defaultPickerTokens,
|
|
24
|
+
lightPickerTokens,
|
|
25
|
+
structuralPickerTokens,
|
|
26
|
+
useActiveEmoji,
|
|
27
|
+
useCategoryNavigation,
|
|
28
|
+
useEmojiDataState,
|
|
29
|
+
usePickerMode,
|
|
30
|
+
useSearchActions,
|
|
31
|
+
useSearchState,
|
|
32
|
+
useSkinTone
|
|
33
|
+
} from "../chunks/chunk-KQPOIRSC.mjs";
|
|
34
|
+
import "../chunks/chunk-46BUDQLE.mjs";
|
|
35
|
+
import "../chunks/chunk-LO4TPPLH.mjs";
|
|
36
|
+
export {
|
|
37
|
+
Categories,
|
|
38
|
+
CategoryNav,
|
|
39
|
+
EmojiStyle,
|
|
40
|
+
Empty,
|
|
41
|
+
List,
|
|
42
|
+
LoadError,
|
|
43
|
+
Loading,
|
|
44
|
+
Panel,
|
|
45
|
+
Preview,
|
|
46
|
+
Reactions,
|
|
47
|
+
Root,
|
|
48
|
+
Search,
|
|
49
|
+
SearchInput,
|
|
50
|
+
SkinTone,
|
|
51
|
+
SkinTonePickerLocation,
|
|
52
|
+
SkinTones,
|
|
53
|
+
SuggestionMode,
|
|
54
|
+
Theme,
|
|
55
|
+
Viewport,
|
|
56
|
+
darkPickerTokens,
|
|
57
|
+
defaultPickerTokens,
|
|
58
|
+
lightPickerTokens,
|
|
59
|
+
structuralPickerTokens,
|
|
60
|
+
useActiveEmoji,
|
|
61
|
+
useCategoryNavigation,
|
|
62
|
+
useEmojiDataState,
|
|
63
|
+
usePickerMode,
|
|
64
|
+
useSearchActions,
|
|
65
|
+
useSearchState,
|
|
66
|
+
useSkinTone
|
|
67
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { GetEmojiUrl } from '../components/emoji/BaseEmojiProps';
|
|
2
|
-
import { DataEmoji } from '../dataUtils/DataTypes';
|
|
3
|
-
import {
|
|
4
|
-
import { Dimensions } from '../virtualization/virtualizationHelpers';
|
|
5
|
-
export declare function preloadEmojiIfNeeded(emoji: undefined | DataEmoji, emojiStyles:
|
|
6
|
-
top: number;
|
|
7
|
-
} | undefined, dimensions: Dimensions, getEmojiUrl: GetEmojiUrl): void;
|
|
8
|
-
export declare function preloadEmoji(getEmojiUrl: GetEmojiUrl, emoji: undefined | DataEmoji, emojiStyle:
|
|
9
|
-
export declare const preloadedEmojs: Set<string>;
|
|
1
|
+
import { GetEmojiUrl } from '../components/emoji/BaseEmojiProps';
|
|
2
|
+
import { DataEmoji } from '../dataUtils/DataTypes';
|
|
3
|
+
import { EmojiStyleValue } from '../types/exposedTypes';
|
|
4
|
+
import { Dimensions } from '../virtualization/virtualizationHelpers';
|
|
5
|
+
export declare function preloadEmojiIfNeeded(emoji: undefined | DataEmoji, emojiStyles: EmojiStyleValue, scrollTop: number, clientHeight: number, topOffset: number, style: {
|
|
6
|
+
top: number;
|
|
7
|
+
} | undefined, dimensions: Dimensions, getEmojiUrl: GetEmojiUrl): void;
|
|
8
|
+
export declare function preloadEmoji(getEmojiUrl: GetEmojiUrl, emoji: undefined | DataEmoji, emojiStyle: EmojiStyleValue): void;
|
|
9
|
+
export declare const preloadedEmojs: Set<string>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { CategoriesConfig } from '../config/categoryConfig';
|
|
2
|
-
export declare function useActiveCategoryScrollDetection({ setActiveCategory, setVisibleCategories, categories, }: {
|
|
3
|
-
setActiveCategory: (category: string) => void;
|
|
4
|
-
setVisibleCategories: (categories: string[]) => void;
|
|
5
|
-
/**
|
|
6
|
-
* Effective category list. The merged array reference only changes when
|
|
7
|
-
* the configuration is re-merged, so the observer re-subscribes exactly
|
|
8
|
-
* when sections are added or removed — no serialization involved.
|
|
9
|
-
*/
|
|
10
|
-
categories: CategoriesConfig;
|
|
11
|
-
}): void;
|
|
1
|
+
import { CategoriesConfig } from '../config/categoryConfig';
|
|
2
|
+
export declare function useActiveCategoryScrollDetection({ setActiveCategory, setVisibleCategories, categories, }: {
|
|
3
|
+
setActiveCategory: (category: string) => void;
|
|
4
|
+
setVisibleCategories: (categories: string[]) => void;
|
|
5
|
+
/**
|
|
6
|
+
* Effective category list. The merged array reference only changes when
|
|
7
|
+
* the configuration is re-merged, so the observer re-subscribes exactly
|
|
8
|
+
* when sections are added or removed — no serialization involved.
|
|
9
|
+
*/
|
|
10
|
+
categories: CategoriesConfig;
|
|
11
|
+
}): void;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export declare function useCategoryHeight(emojiCount: number): {
|
|
2
|
-
categoryHeight: number;
|
|
3
|
-
emojisPerRow: number;
|
|
4
|
-
emojiSize: number;
|
|
5
|
-
|
|
1
|
+
export declare function useCategoryHeight(emojiCount: number): {
|
|
2
|
+
categoryHeight: number;
|
|
3
|
+
emojisPerRow: number;
|
|
4
|
+
emojiSize: number;
|
|
5
|
+
rowWidth: number;
|
|
6
|
+
} | undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function useCloseAllOpenToggles(): () => void;
|
|
2
|
-
export declare function useHasOpenToggles(): () => boolean;
|
|
1
|
+
export declare function useCloseAllOpenToggles(): () => void;
|
|
2
|
+
export declare function useHasOpenToggles(): () => boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CustomEmoji } from '../config/customEmojiConfig';
|
|
2
|
+
import type { EmojiData } from '../types/exposedTypes';
|
|
3
|
+
/**
|
|
4
|
+
* Dev-only diagnostic.
|
|
5
|
+
*
|
|
6
|
+
* Identity caching only helps when callers keep data props referentially
|
|
7
|
+
* stable. If a non-default `emojiData` (or `customEmojis`) changes identity
|
|
8
|
+
* on three consecutive committed renders, warn once that repeated identity
|
|
9
|
+
* churn defeats prepared-data caching. Behavior stays correct; this is
|
|
10
|
+
* diagnostic only. A single/occasional replacement (e.g. locale change)
|
|
11
|
+
* must not warn. No deep-compare or clone is performed.
|
|
12
|
+
*/
|
|
13
|
+
export declare const useDataIdentityStabilityWarning: (emojiData: EmojiData | undefined, customEmojis: CustomEmoji[] | undefined) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function useDebouncedState<T>(initialValue: T, delay?: number): [T, (value: T) => Promise<T>];
|
|
1
|
+
export declare function useDebouncedState<T>(initialValue: T, delay?: number): [T, (value: T) => Promise<T>];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function useDisallowMouseMove(): () => void;
|
|
2
|
-
export declare function useAllowMouseMove(): () => void;
|
|
3
|
-
export declare function useIsMouseDisallowed(): () => boolean;
|
|
4
|
-
export declare function useOnMouseMove(): void;
|
|
1
|
+
export declare function useDisallowMouseMove(): () => void;
|
|
2
|
+
export declare function useAllowMouseMove(): () => void;
|
|
3
|
+
export declare function useIsMouseDisallowed(): () => boolean;
|
|
4
|
+
export declare function useOnMouseMove(): void;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { DataEmoji } from '../dataUtils/DataTypes';
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function useIsEmojiDisallowed(): (emoji: DataEmoji) => boolean;
|
|
1
|
+
import { DataEmoji } from '../dataUtils/DataTypes';
|
|
2
|
+
export declare function useIsEmojiDisallowed(): (emoji: DataEmoji, renderedUnified?: string) => boolean;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
export declare function useEmojiPreviewEvents(
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ActiveEmojiState } from '../components/context/PickerContext';
|
|
3
|
+
export declare function useEmojiPreviewEvents(focusOnHover: boolean, setPreviewEmoji: React.Dispatch<React.SetStateAction<ActiveEmojiState>>): void;
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
import { DataEmojis } from '../dataUtils/DataTypes';
|
|
3
|
-
export declare function useEmojiVirtualization({ categoryEmojis, topOffset, onHeightReady, scrollTop, isCategoryVisible, }: {
|
|
4
|
-
categoryEmojis: DataEmojis;
|
|
5
|
-
topOffset: number;
|
|
6
|
-
onHeightReady: (height: number) => void;
|
|
7
|
-
scrollTop: number;
|
|
8
|
-
isCategoryVisible: boolean;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { DataEmojis } from '../dataUtils/DataTypes';
|
|
3
|
+
export declare function useEmojiVirtualization({ categoryEmojis, topOffset, onHeightReady, scrollTop, isCategoryVisible, positioned, }: {
|
|
4
|
+
categoryEmojis: DataEmojis;
|
|
5
|
+
topOffset: number;
|
|
6
|
+
onHeightReady: (height: number) => void;
|
|
7
|
+
scrollTop: number;
|
|
8
|
+
isCategoryVisible: boolean;
|
|
9
|
+
/** Whether topOffset is final; unmeasured sections above shift it. */
|
|
10
|
+
positioned: boolean;
|
|
11
|
+
}): {
|
|
12
|
+
virtualizedCounter: number;
|
|
13
|
+
emojis: ReactNode[];
|
|
14
|
+
dimensions: {
|
|
15
|
+
categoryHeight: number;
|
|
16
|
+
emojisPerRow: number;
|
|
17
|
+
emojiSize: number;
|
|
18
|
+
rowWidth: number;
|
|
19
|
+
} | undefined;
|
|
20
|
+
emojiCount: number;
|
|
21
|
+
};
|