emoji-picker-react 4.22.3 → 5.0.1

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.
Files changed (409) hide show
  1. package/README.md +331 -49
  2. package/dist/DomUtils/categoryNameFromDom.d.ts +1 -1
  3. package/dist/DomUtils/classNames.d.ts +23 -23
  4. package/dist/DomUtils/detectEmojyPartiallyBelowFold.d.ts +2 -2
  5. package/dist/DomUtils/elementPositionInRow.d.ts +5 -5
  6. package/dist/DomUtils/eventBelongsToPicker.d.ts +2 -0
  7. package/dist/DomUtils/focusElement.d.ts +5 -5
  8. package/dist/DomUtils/getActiveElement.d.ts +2 -2
  9. package/dist/DomUtils/isJsdom.d.ts +1 -0
  10. package/dist/DomUtils/isRtl.d.ts +1 -0
  11. package/dist/DomUtils/keyboardNavigation.d.ts +15 -8
  12. package/dist/DomUtils/scrollTo.d.ts +4 -5
  13. package/dist/DomUtils/selectors.d.ts +31 -35
  14. package/dist/EmojiPickerReact.d.ts +5 -5
  15. package/dist/Stylesheet/DedupedStyle.d.ts +13 -0
  16. package/dist/Stylesheet/stylesheet.d.ts +40 -37
  17. package/dist/components/ErrorBoundary.d.ts +15 -15
  18. package/dist/components/Layout/Absolute.d.ts +8 -8
  19. package/dist/components/Layout/Flex.d.ts +13 -13
  20. package/dist/components/Layout/Relative.d.ts +8 -8
  21. package/dist/components/Layout/Space.d.ts +7 -7
  22. package/dist/components/Reactions/BtnPlus.d.ts +2 -2
  23. package/dist/components/Reactions/DEFAULT_REACTIONS.d.ts +1 -1
  24. package/dist/components/Reactions/Reactions.d.ts +3 -2
  25. package/dist/components/atoms/Button.d.ts +11 -6
  26. package/dist/components/body/EmojiCategory.d.ts +13 -12
  27. package/dist/components/body/EmojiList.d.ts +7 -4
  28. package/dist/components/body/EmojiVariationPicker.d.ts +2 -2
  29. package/dist/components/body/MeasureEmoji.d.ts +2 -2
  30. package/dist/components/body/listComponents.d.ts +47 -0
  31. package/dist/components/context/ElementRefContext.d.ts +18 -16
  32. package/dist/components/context/PickerConfigContext.d.ts +14 -9
  33. package/dist/components/context/PickerContext.d.ts +57 -25
  34. package/dist/components/context/PickerDataContext.d.ts +23 -17
  35. package/dist/components/emoji/BaseEmojiProps.d.ts +14 -13
  36. package/dist/components/emoji/ClickableEmojiButton.d.ts +23 -15
  37. package/dist/components/emoji/Emoji.d.ts +18 -15
  38. package/dist/components/emoji/EmojiImg.d.ts +11 -11
  39. package/dist/components/emoji/ExportedEmoji.d.ts +11 -11
  40. package/dist/components/emoji/NativeEmoji.d.ts +6 -6
  41. package/dist/components/emoji/ViewOnlyEmoji.d.ts +3 -3
  42. package/dist/components/emoji/emojiStyles.d.ts +6 -1
  43. package/dist/components/footer/Preview.d.ts +7 -7
  44. package/dist/components/header/Header.d.ts +2 -2
  45. package/dist/components/header/Search/BtnClearSearch.d.ts +2 -2
  46. package/dist/components/header/Search/IcnSearch.d.ts +2 -2
  47. package/dist/components/header/Search/Search.d.ts +11 -3
  48. package/dist/components/header/SkinTonePicker/BtnSkinToneVariation.d.ts +12 -12
  49. package/dist/components/header/SkinTonePicker/SkinTonePicker.d.ts +11 -11
  50. package/dist/components/icons/svgIcons.d.ts +4 -0
  51. package/dist/components/main/PickerMainBehaviors.d.ts +4 -0
  52. package/dist/components/main/defaultAppearance.d.ts +12 -0
  53. package/dist/components/main/labelHeight.d.ts +1 -0
  54. package/dist/components/navigation/CategoryButton.d.ts +12 -12
  55. package/dist/components/navigation/CategoryNavIcon.d.ts +4 -4
  56. package/dist/components/navigation/CategoryNavigation.d.ts +19 -2
  57. package/dist/config/categoryConfig.d.ts +34 -34
  58. package/dist/config/cdnUrls.d.ts +2 -2
  59. package/dist/config/compareConfig.d.ts +10 -2
  60. package/dist/config/config.d.ts +166 -64
  61. package/dist/config/customEmojiConfig.d.ts +14 -14
  62. package/dist/config/defaultPickerConfiguration.d.ts +10 -0
  63. package/dist/config/mutableConfig.d.ts +32 -10
  64. package/dist/config/useConfig.d.ts +48 -36
  65. package/dist/data/defaultEmojiData.d.ts +9 -0
  66. package/dist/data/defaultEmojiData.js +40 -0
  67. package/dist/data/emojis-bn.d.mts +39 -0
  68. package/dist/data/emojis-bn.d.ts +38 -2
  69. package/dist/data/emojis-bn.js +25 -2
  70. package/dist/data/emojis-bn.mjs +2 -0
  71. package/dist/data/emojis-da.d.mts +39 -0
  72. package/dist/data/emojis-da.d.ts +38 -2
  73. package/dist/data/emojis-da.js +25 -2
  74. package/dist/data/emojis-da.mjs +2 -0
  75. package/dist/data/emojis-de.d.mts +39 -0
  76. package/dist/data/emojis-de.d.ts +38 -2
  77. package/dist/data/emojis-de.js +25 -2
  78. package/dist/data/emojis-de.mjs +2 -0
  79. package/dist/data/emojis-en-gb.d.mts +39 -0
  80. package/dist/data/emojis-en-gb.d.ts +38 -2
  81. package/dist/data/emojis-en-gb.js +25 -2
  82. package/dist/data/emojis-en-gb.mjs +2 -0
  83. package/dist/data/emojis-en.d.mts +39 -0
  84. package/dist/data/emojis-en.d.ts +38 -2
  85. package/dist/data/emojis-en.js +25 -2
  86. package/dist/data/emojis-en.mjs +2 -0
  87. package/dist/data/emojis-es-mx.d.mts +39 -0
  88. package/dist/data/emojis-es-mx.d.ts +38 -2
  89. package/dist/data/emojis-es-mx.js +25 -2
  90. package/dist/data/emojis-es-mx.mjs +2 -0
  91. package/dist/data/emojis-es.d.mts +39 -0
  92. package/dist/data/emojis-es.d.ts +38 -2
  93. package/dist/data/emojis-es.js +25 -2
  94. package/dist/data/emojis-es.mjs +2 -0
  95. package/dist/data/emojis-et.d.mts +39 -0
  96. package/dist/data/emojis-et.d.ts +38 -2
  97. package/dist/data/emojis-et.js +25 -2
  98. package/dist/data/emojis-et.mjs +2 -0
  99. package/dist/data/emojis-fi.d.mts +39 -0
  100. package/dist/data/emojis-fi.d.ts +38 -2
  101. package/dist/data/emojis-fi.js +25 -2
  102. package/dist/data/emojis-fi.mjs +2 -0
  103. package/dist/data/emojis-fr.d.mts +39 -0
  104. package/dist/data/emojis-fr.d.ts +38 -2
  105. package/dist/data/emojis-fr.js +25 -2
  106. package/dist/data/emojis-fr.mjs +2 -0
  107. package/dist/data/emojis-hi.d.mts +39 -0
  108. package/dist/data/emojis-hi.d.ts +38 -2
  109. package/dist/data/emojis-hi.js +25 -2
  110. package/dist/data/emojis-hi.mjs +2 -0
  111. package/dist/data/emojis-hu.d.mts +39 -0
  112. package/dist/data/emojis-hu.d.ts +38 -2
  113. package/dist/data/emojis-hu.js +25 -2
  114. package/dist/data/emojis-hu.mjs +2 -0
  115. package/dist/data/emojis-it.d.mts +39 -0
  116. package/dist/data/emojis-it.d.ts +38 -2
  117. package/dist/data/emojis-it.js +25 -2
  118. package/dist/data/emojis-it.mjs +2 -0
  119. package/dist/data/emojis-ja.d.mts +39 -0
  120. package/dist/data/emojis-ja.d.ts +38 -2
  121. package/dist/data/emojis-ja.js +25 -2
  122. package/dist/data/emojis-ja.mjs +2 -0
  123. package/dist/data/emojis-ko.d.mts +39 -0
  124. package/dist/data/emojis-ko.d.ts +38 -2
  125. package/dist/data/emojis-ko.js +25 -2
  126. package/dist/data/emojis-ko.mjs +2 -0
  127. package/dist/data/emojis-lt.d.mts +39 -0
  128. package/dist/data/emojis-lt.d.ts +38 -2
  129. package/dist/data/emojis-lt.js +25 -2
  130. package/dist/data/emojis-lt.mjs +2 -0
  131. package/dist/data/emojis-ms.d.mts +39 -0
  132. package/dist/data/emojis-ms.d.ts +38 -2
  133. package/dist/data/emojis-ms.js +25 -2
  134. package/dist/data/emojis-ms.mjs +2 -0
  135. package/dist/data/emojis-nb.d.mts +39 -0
  136. package/dist/data/emojis-nb.d.ts +38 -2
  137. package/dist/data/emojis-nb.js +25 -2
  138. package/dist/data/emojis-nb.mjs +2 -0
  139. package/dist/data/emojis-nl.d.mts +39 -0
  140. package/dist/data/emojis-nl.d.ts +38 -2
  141. package/dist/data/emojis-nl.js +25 -2
  142. package/dist/data/emojis-nl.mjs +2 -0
  143. package/dist/data/emojis-pl.d.mts +39 -0
  144. package/dist/data/emojis-pl.d.ts +38 -2
  145. package/dist/data/emojis-pl.js +25 -2
  146. package/dist/data/emojis-pl.mjs +2 -0
  147. package/dist/data/emojis-pt.d.mts +39 -0
  148. package/dist/data/emojis-pt.d.ts +38 -2
  149. package/dist/data/emojis-pt.js +25 -2
  150. package/dist/data/emojis-pt.mjs +2 -0
  151. package/dist/data/emojis-ru.d.mts +39 -0
  152. package/dist/data/emojis-ru.d.ts +38 -2
  153. package/dist/data/emojis-ru.js +25 -2
  154. package/dist/data/emojis-ru.mjs +2 -0
  155. package/dist/data/emojis-sv.d.mts +39 -0
  156. package/dist/data/emojis-sv.d.ts +38 -2
  157. package/dist/data/emojis-sv.js +25 -2
  158. package/dist/data/emojis-sv.mjs +2 -0
  159. package/dist/data/emojis-th.d.mts +39 -0
  160. package/dist/data/emojis-th.d.ts +38 -2
  161. package/dist/data/emojis-th.js +25 -2
  162. package/dist/data/emojis-th.mjs +2 -0
  163. package/dist/data/emojis-uk.d.mts +39 -0
  164. package/dist/data/emojis-uk.d.ts +38 -2
  165. package/dist/data/emojis-uk.js +25 -2
  166. package/dist/data/emojis-uk.mjs +2 -0
  167. package/dist/data/emojis-vi.d.mts +39 -0
  168. package/dist/data/emojis-vi.d.ts +38 -2
  169. package/dist/data/emojis-vi.js +25 -2
  170. package/dist/data/emojis-vi.mjs +2 -0
  171. package/dist/data/emojis-zh-hant.d.mts +39 -0
  172. package/dist/data/emojis-zh-hant.d.ts +38 -2
  173. package/dist/data/emojis-zh-hant.js +25 -2
  174. package/dist/data/emojis-zh-hant.mjs +2 -0
  175. package/dist/data/emojis-zh.d.mts +39 -0
  176. package/dist/data/emojis-zh.d.ts +38 -2
  177. package/dist/data/emojis-zh.js +25 -2
  178. package/dist/data/emojis-zh.mjs +2 -0
  179. package/dist/data/index.js +1 -0
  180. package/dist/data/registerDefaultEmojiData.d.ts +1 -0
  181. package/dist/data/registerDefaultEmojiData.js +3 -0
  182. package/dist/data/skinToneVariations.js +2 -2
  183. package/dist/data/skinToneVariations.ts +8 -7
  184. package/dist/data-core/pickerData.d.ts +12 -0
  185. package/dist/data-core/prepare.d.ts +23 -0
  186. package/dist/data-core/search.d.ts +13 -0
  187. package/dist/data-core/types.d.ts +23 -0
  188. package/dist/data.d.mts +72 -0
  189. package/dist/data.d.ts +72 -0
  190. package/dist/dataUtils/DataTypes.d.ts +23 -19
  191. package/dist/dataUtils/emojiSelectors.d.ts +15 -16
  192. package/dist/dataUtils/emojiUtils.d.ts +1 -12
  193. package/dist/dataUtils/nativeEmojiSequenceSupport.d.ts +10 -0
  194. package/dist/dataUtils/nativeEmojiSupport.d.ts +40 -0
  195. package/dist/dataUtils/parseNativeEmoji.d.ts +1 -1
  196. package/dist/dataUtils/suggested.d.ts +11 -11
  197. package/dist/dataUtils/suggestedEmojis.d.ts +7 -0
  198. package/dist/esm/chunks/chunk-7ZGTUZFB.mjs +8025 -0
  199. package/dist/esm/chunks/chunk-ACXAQEKG.mjs +149 -0
  200. package/dist/esm/chunks/chunk-F2KS7DCA.mjs +6735 -0
  201. package/dist/esm/chunks/chunk-L5W4PFRJ.mjs +14 -0
  202. package/dist/esm/chunks/chunk-LO4TPPLH.mjs +33 -0
  203. package/dist/esm/chunks/emojis-6L3GRBAP.mjs +7 -0
  204. package/dist/esm/data.mjs +11 -0
  205. package/dist/esm/index.mjs +279 -0
  206. package/dist/esm/primitives/index.mjs +8 -0
  207. package/dist/hooks/preloadEmoji.d.ts +5 -9
  208. package/dist/hooks/useActiveCategoryScrollDetection.d.ts +11 -11
  209. package/dist/hooks/useCategoryHeight.d.ts +7 -5
  210. package/dist/hooks/useCloseAllOpenToggles.d.ts +2 -2
  211. package/dist/hooks/useDataIdentityStabilityWarning.d.ts +13 -0
  212. package/dist/hooks/useDebouncedState.d.ts +1 -1
  213. package/dist/hooks/useDisallowMouseMove.d.ts +4 -4
  214. package/dist/hooks/useDisallowedEmojis.d.ts +2 -3
  215. package/dist/hooks/useEmojiPreviewEvents.d.ts +3 -3
  216. package/dist/hooks/useEmojiVirtualization.d.ts +22 -17
  217. package/dist/hooks/useFilter.d.ts +10 -16
  218. package/dist/hooks/useFocus.d.ts +3 -3
  219. package/dist/hooks/useInitialLoad.d.ts +2 -2
  220. package/dist/hooks/useIsEmojiHidden.d.ts +8 -8
  221. package/dist/hooks/useIsMounted.d.ts +1 -1
  222. package/dist/hooks/useIsSearchMode.d.ts +1 -1
  223. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  224. package/dist/hooks/useKeyboardNavigation.d.ts +3 -1
  225. package/dist/hooks/useMouseDownHandlers.d.ts +8 -4
  226. package/dist/hooks/useOnFocus.d.ts +1 -1
  227. package/dist/hooks/useOnScroll.d.ts +2 -2
  228. package/dist/hooks/useReactionsFocus.d.ts +1 -0
  229. package/dist/hooks/useRegisterRegion.d.ts +24 -0
  230. package/dist/hooks/useResolvedEmojiData.d.ts +37 -0
  231. package/dist/hooks/useScrollCategoryIntoView.d.ts +1 -1
  232. package/dist/hooks/useSearchController.d.ts +17 -0
  233. package/dist/hooks/useSearchResults.d.ts +8 -0
  234. package/dist/hooks/useSetVariationPicker.d.ts +2 -2
  235. package/dist/hooks/useShouldHideCustomEmojis.d.ts +1 -1
  236. package/dist/hooks/useShouldShowSkinTonePicker.d.ts +4 -4
  237. package/dist/index.d.mts +376 -0
  238. package/dist/index.d.ts +376 -9
  239. package/dist/index.js +2 -8
  240. package/dist/primitives/CategoryNav.d.ts +4 -0
  241. package/dist/primitives/Empty.d.ts +6 -0
  242. package/dist/primitives/List.d.ts +4 -0
  243. package/dist/primitives/LoadError.d.ts +8 -0
  244. package/dist/primitives/Loading.d.ts +4 -0
  245. package/dist/primitives/Panel.d.ts +3 -0
  246. package/dist/primitives/Preview.d.ts +3 -0
  247. package/dist/primitives/Reactions.d.ts +2 -0
  248. package/dist/primitives/Root.d.ts +26 -0
  249. package/dist/primitives/Search.d.ts +5 -0
  250. package/dist/primitives/SearchInput.d.ts +3 -0
  251. package/dist/primitives/SkinTone.d.ts +4 -0
  252. package/dist/primitives/Viewport.d.ts +19 -0
  253. package/dist/primitives/appearance.d.ts +3 -0
  254. package/dist/primitives/components.d.ts +27 -0
  255. package/dist/primitives/hooks.d.ts +48 -0
  256. package/dist/primitives/index.d.mts +561 -0
  257. package/dist/primitives/index.d.ts +561 -0
  258. package/dist/primitives/index.js +2 -0
  259. package/dist/primitives/nativeProps.d.ts +15 -0
  260. package/dist/primitives/scope.d.ts +13 -0
  261. package/dist/primitives/structuralStyles.d.ts +16 -0
  262. package/dist/primitives/tokens.d.ts +18 -0
  263. package/dist/primitives/types.d.ts +85 -0
  264. package/dist/state/activeEmojiStore.d.ts +7 -0
  265. package/dist/state/navigationRegistry.d.ts +61 -0
  266. package/dist/state/regionTraversal.d.ts +20 -0
  267. package/dist/typeRefinements/typeRefinements.d.ts +6 -6
  268. package/dist/types/exposedTypes.d.ts +16 -6
  269. package/dist/types/exposedTypes.js +5 -0
  270. package/dist/virtualization/virtualizationHelpers.d.ts +22 -18
  271. package/llms-full.txt +3683 -0
  272. package/llms.txt +66 -480
  273. package/package.json +180 -66
  274. package/src/DomUtils/categoryNameFromDom.ts +1 -1
  275. package/src/DomUtils/classNames.ts +1 -4
  276. package/src/DomUtils/elementPositionInRow.ts +28 -6
  277. package/src/DomUtils/eventBelongsToPicker.ts +17 -0
  278. package/src/DomUtils/getActiveElement.ts +7 -1
  279. package/src/DomUtils/isJsdom.ts +12 -0
  280. package/src/DomUtils/isRtl.ts +5 -0
  281. package/src/DomUtils/keyboardNavigation.ts +164 -144
  282. package/src/DomUtils/scrollTo.ts +20 -18
  283. package/src/DomUtils/selectors.ts +30 -127
  284. package/src/EmojiPickerReact.tsx +155 -48
  285. package/src/Stylesheet/DedupedStyle.tsx +80 -0
  286. package/src/Stylesheet/stylesheet.tsx +128 -59
  287. package/src/components/Layout/Flex.tsx +12 -11
  288. package/src/components/Reactions/BtnPlus.tsx +61 -51
  289. package/src/components/Reactions/Reactions.tsx +113 -55
  290. package/src/components/atoms/Button.tsx +18 -15
  291. package/src/components/body/EmojiCategory.tsx +77 -40
  292. package/src/components/body/EmojiList.tsx +107 -44
  293. package/src/components/body/EmojiVariationPicker.tsx +113 -66
  294. package/src/components/body/MeasureEmoji.tsx +9 -2
  295. package/src/components/body/listComponents.tsx +79 -0
  296. package/src/components/context/ElementRefContext.tsx +46 -35
  297. package/src/components/context/PickerConfigContext.tsx +55 -40
  298. package/src/components/context/PickerContext.tsx +567 -92
  299. package/src/components/context/PickerDataContext.tsx +114 -99
  300. package/src/components/emoji/BaseEmojiProps.ts +5 -4
  301. package/src/components/emoji/ClickableEmojiButton.tsx +148 -63
  302. package/src/components/emoji/Emoji.tsx +24 -2
  303. package/src/components/emoji/EmojiImg.tsx +13 -12
  304. package/src/components/emoji/ExportedEmoji.tsx +5 -4
  305. package/src/components/emoji/NativeEmoji.tsx +19 -16
  306. package/src/components/emoji/ViewOnlyEmoji.tsx +55 -30
  307. package/src/components/emoji/emojiStyles.ts +12 -11
  308. package/src/components/footer/Preview.tsx +86 -91
  309. package/src/components/header/Header.tsx +21 -6
  310. package/src/components/header/Search/BtnClearSearch.tsx +69 -55
  311. package/src/components/header/Search/IcnSearch.tsx +21 -21
  312. package/src/components/header/Search/Search.tsx +79 -137
  313. package/src/components/header/SkinTonePicker/BtnSkinToneVariation.tsx +99 -62
  314. package/src/components/header/SkinTonePicker/SkinTonePicker.tsx +84 -46
  315. package/src/components/icons/svgIcons.ts +17 -0
  316. package/src/components/main/PickerMainBehaviors.tsx +163 -0
  317. package/src/components/main/defaultAppearance.tsx +189 -0
  318. package/src/components/main/labelHeight.ts +5 -0
  319. package/src/components/navigation/CategoryButton.tsx +83 -57
  320. package/src/components/navigation/CategoryNavIcon.tsx +73 -194
  321. package/src/components/navigation/CategoryNavigation.tsx +118 -46
  322. package/src/config/categoryConfig.ts +7 -3
  323. package/src/config/cdnUrls.ts +11 -21
  324. package/src/config/compareConfig.ts +128 -30
  325. package/src/config/config.ts +228 -24
  326. package/src/config/defaultPickerConfiguration.ts +7 -0
  327. package/src/config/mutableConfig.ts +44 -20
  328. package/src/config/useConfig.ts +130 -37
  329. package/src/data/defaultEmojiData.ts +49 -0
  330. package/src/data/registerDefaultEmojiData.ts +8 -0
  331. package/src/data/skinToneVariations.ts +8 -7
  332. package/src/data-core/pickerData.ts +171 -0
  333. package/src/data-core/prepare.ts +163 -0
  334. package/src/data-core/search.ts +122 -0
  335. package/src/data-core/types.ts +36 -0
  336. package/src/data.ts +10 -0
  337. package/src/dataUtils/DataTypes.ts +4 -0
  338. package/src/dataUtils/emojiSelectors.ts +59 -63
  339. package/src/dataUtils/emojiUtils.ts +17 -74
  340. package/src/dataUtils/nativeEmojiSequenceSupport.ts +116 -0
  341. package/src/dataUtils/nativeEmojiSupport.ts +160 -0
  342. package/src/dataUtils/parseNativeEmoji.ts +3 -4
  343. package/src/dataUtils/suggested.ts +8 -4
  344. package/src/dataUtils/suggestedEmojis.ts +92 -0
  345. package/src/env.d.ts +4 -0
  346. package/src/hooks/preloadEmoji.ts +2 -47
  347. package/src/hooks/useActiveCategoryScrollDetection.ts +28 -16
  348. package/src/hooks/useCategoryHeight.ts +116 -10
  349. package/src/hooks/useDataIdentityStabilityWarning.ts +86 -0
  350. package/src/hooks/useDebouncedState.ts +13 -1
  351. package/src/hooks/useDisallowedEmojis.ts +31 -42
  352. package/src/hooks/useEmojiPreviewEvents.ts +43 -10
  353. package/src/hooks/useEmojiVirtualization.tsx +112 -52
  354. package/src/hooks/useFilter.ts +92 -132
  355. package/src/hooks/useFocus.ts +14 -24
  356. package/src/hooks/useIsEmojiHidden.ts +22 -14
  357. package/src/hooks/useKeyboardNavigation.ts +412 -432
  358. package/src/hooks/useMouseDownHandlers.ts +91 -16
  359. package/src/hooks/useOnFocus.ts +12 -3
  360. package/src/hooks/useOnScroll.ts +18 -2
  361. package/src/hooks/useReactionsFocus.ts +118 -0
  362. package/src/hooks/useRegisterRegion.ts +92 -0
  363. package/src/hooks/useResolvedEmojiData.ts +200 -0
  364. package/src/hooks/useScrollCategoryIntoView.ts +74 -12
  365. package/src/hooks/useSearchController.ts +369 -0
  366. package/src/hooks/useSearchResults.ts +51 -0
  367. package/src/hooks/useSetVariationPicker.ts +4 -1
  368. package/src/index.tsx +67 -5
  369. package/src/primitives/CategoryNav.tsx +40 -0
  370. package/src/primitives/Empty.tsx +68 -0
  371. package/src/primitives/List.tsx +61 -0
  372. package/src/primitives/LoadError.tsx +38 -0
  373. package/src/primitives/Loading.tsx +60 -0
  374. package/src/primitives/Panel.tsx +47 -0
  375. package/src/primitives/Preview.tsx +38 -0
  376. package/src/primitives/Reactions.tsx +2 -0
  377. package/src/primitives/Root.tsx +398 -0
  378. package/src/primitives/Search.tsx +41 -0
  379. package/src/primitives/SearchInput.tsx +110 -0
  380. package/src/primitives/SkinTone.tsx +76 -0
  381. package/src/primitives/Viewport.tsx +204 -0
  382. package/src/primitives/appearance.tsx +7 -0
  383. package/src/primitives/components.tsx +30 -0
  384. package/src/primitives/hooks.ts +165 -0
  385. package/src/primitives/index.ts +94 -0
  386. package/src/primitives/nativeProps.ts +90 -0
  387. package/src/primitives/scope.tsx +109 -0
  388. package/src/primitives/structuralStyles.tsx +136 -0
  389. package/src/primitives/tokens.ts +150 -0
  390. package/src/primitives/types.ts +192 -0
  391. package/src/state/activeEmojiStore.ts +39 -0
  392. package/src/state/navigationRegistry.ts +209 -0
  393. package/src/state/regionTraversal.ts +116 -0
  394. package/src/svg.d.ts +2 -2
  395. package/src/types/exposedTypes.ts +28 -1
  396. package/src/virtualization/virtualizationHelpers.ts +29 -8
  397. package/dist/components/body/Body.d.ts +0 -2
  398. package/dist/components/main/PickerMain.d.ts +0 -7
  399. package/dist/dataUtils/alphaNumericEmojiIndex.d.ts +0 -5
  400. package/dist/emoji-picker-react.cjs.development.js +0 -31413
  401. package/dist/emoji-picker-react.cjs.development.js.map +0 -1
  402. package/dist/emoji-picker-react.cjs.production.min.js +0 -2
  403. package/dist/emoji-picker-react.cjs.production.min.js.map +0 -1
  404. package/dist/emoji-picker-react.esm.js +0 -31411
  405. package/dist/emoji-picker-react.esm.js.map +0 -1
  406. package/dist/hooks/useHideEmojisByUniocode.d.ts +0 -1
  407. package/src/components/body/Body.tsx +0 -43
  408. package/src/components/main/PickerMain.tsx +0 -249
  409. package/src/dataUtils/alphaNumericEmojiIndex.ts +0 -21
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { registerDefaultEmojiData } from './defaultEmojiData';
2
+ import emojis from './emojis';
3
+ registerDefaultEmojiData(emojis);
@@ -7,10 +7,10 @@ const skinToneVariations = [
7
7
  SkinTones.MEDIUM_DARK,
8
8
  SkinTones.DARK,
9
9
  ];
10
- export const skinTonesNamed = Object.entries(SkinTones).reduce((acc, [key, value]) => {
10
+ export const skinTonesNamed = /* @__PURE__ */ (() => Object.entries(SkinTones).reduce((acc, [key, value]) => {
11
11
  acc[value] = key;
12
12
  return acc;
13
- }, {});
13
+ }, {}))();
14
14
  export const skinTonesMapped = skinToneVariations.reduce((mapped, skinTone) => Object.assign(mapped, {
15
15
  [skinTone]: skinTone,
16
16
  }), {});
@@ -9,13 +9,14 @@ const skinToneVariations = [
9
9
  SkinTones.DARK,
10
10
  ];
11
11
 
12
- export const skinTonesNamed = Object.entries(SkinTones).reduce(
13
- (acc, [key, value]) => {
14
- acc[value] = key;
15
- return acc;
16
- },
17
- {} as Record<string, string>,
18
- );
12
+ export const skinTonesNamed = /* @__PURE__ */ (() =>
13
+ Object.entries(SkinTones).reduce(
14
+ (acc, [key, value]) => {
15
+ acc[value] = key;
16
+ return acc;
17
+ },
18
+ {} as Record<string, string>,
19
+ ))();
19
20
 
20
21
  export const skinTonesMapped: Record<string, string> =
21
22
  skinToneVariations.reduce(
@@ -0,0 +1,12 @@
1
+ import type { CustomEmoji } from '../config/customEmojiConfig';
2
+ import { DataEmoji, DataEmojis } from '../dataUtils/DataTypes';
3
+ import { type EmojiData } from '../types/exposedTypes';
4
+ export interface PickerDataSnapshot {
5
+ emojiData: EmojiData;
6
+ allEmojis: DataEmojis;
7
+ allEmojisByUnified: Record<string, DataEmoji>;
8
+ customGroups: Record<string, DataEmojis>;
9
+ }
10
+ export declare function getPickerDataSnapshot(genericEmojiData?: EmojiData, customEmojis?: CustomEmoji[]): PickerDataSnapshot;
11
+ /** Test-only: expose cache state without breaking WeakMap encapsulation. */
12
+ export declare function __isSnapshotCached(genericEmojiData?: EmojiData, customEmojis?: CustomEmoji[]): boolean;
@@ -0,0 +1,23 @@
1
+ import type { EmojiData } from '../types/exposedTypes';
2
+ import type { EmojiInfo } from './types';
3
+ export interface PreparedCore {
4
+ /** Stable dataset order of canonical base records. */
5
+ readonly records: readonly EmojiInfo[];
6
+ /** Base unified -> record plus variation unified -> base record. */
7
+ readonly byUnified: ReadonlyMap<string, EmojiInfo>;
8
+ /**
9
+ * Single-character bucket: char -> base records whose joined lowercase
10
+ * names include it, in dataset order. Preserves v4's useful O(1)
11
+ * first-keystroke narrowing on top of the shared immutable core, so
12
+ * cold single-char queries never pay a full scan.
13
+ */
14
+ readonly byChar: ReadonlyMap<string, readonly EmojiInfo[]>;
15
+ /** Per-core query memo: normalized query -> matching records. */
16
+ readonly queryMemo: Map<string, readonly EmojiInfo[]>;
17
+ }
18
+ export declare function __getPrepareCount(): number;
19
+ export declare function __resetPrepareCount(): void;
20
+ export declare function __clearCoreCacheForTest(): void;
21
+ export declare function normalizeUnified(input: string): string;
22
+ export declare function normalizeQuery(input: string): string;
23
+ export declare function getPreparedCore(emojiData?: EmojiData): PreparedCore;
@@ -0,0 +1,13 @@
1
+ import type { EmojiDataOptions, EmojiInfo } from './types';
2
+ export type { EmojiDataOptions, EmojiInfo };
3
+ /**
4
+ * Lookup by base or variation unified code.
5
+ * Trims/lowercases input, returns the canonical base record or undefined.
6
+ */
7
+ export declare function getEmojiByUnified(unified: string, options?: EmojiDataOptions): EmojiInfo | undefined;
8
+ /**
9
+ * Dataset search (not a snapshot of one picker instance's visible results).
10
+ * Picker-only layers such as emojiVersion/hiddenEmojis/customEmojis are
11
+ * intentionally not applied here; they remain Root-local filters.
12
+ */
13
+ export declare function searchEmojis(query: string, options?: EmojiDataOptions): readonly EmojiInfo[];
@@ -0,0 +1,23 @@
1
+ import type { EmojiData } from '../types/exposedTypes';
2
+ export type { EmojiData };
3
+ export type EmojiInfo = Readonly<{
4
+ /** Canonical/base lowercase unified code. */
5
+ unified: string;
6
+ /** The native emoji text for `unified`, ready to insert or render. */
7
+ emoji: string;
8
+ /** Display name: the dataset's full name (the last of `names`). */
9
+ name: string;
10
+ /** Search/display names in dataset order. */
11
+ names: readonly string[];
12
+ /** Lowercase unified codes for supported variations. */
13
+ variations: readonly string[];
14
+ /** Unicode/emoji version from the dataset. */
15
+ addedIn: string;
16
+ }>;
17
+ export type EmojiDataOptions = Readonly<{
18
+ /**
19
+ * Optional dataset in the same shape accepted by the picker's emojiData prop.
20
+ * Omit for the packaged default English dataset.
21
+ */
22
+ emojiData?: EmojiData;
23
+ }>;
@@ -0,0 +1,72 @@
1
+ import * as React from 'react';
2
+
3
+ type CategoryConfig = {
4
+ category: Categories;
5
+ name: string;
6
+ icon?: React.ReactNode;
7
+ /**
8
+ * Selects a `CustomEmoji` group for `Categories.CUSTOM` entries. Each
9
+ * grouped entry renders its own section and nav tab; ungrouped entries
10
+ * share the classic customs bucket.
11
+ */
12
+ group?: string;
13
+ };
14
+ type EmojiData = {
15
+ categories: Partial<Record<Categories, CategoryConfig>>;
16
+ emojis: Record<string, DataEmoji[]>;
17
+ };
18
+ interface DataEmoji {
19
+ n: string[];
20
+ u: string;
21
+ v?: string[];
22
+ a: string;
23
+ }
24
+ declare enum Categories {
25
+ SUGGESTED = "suggested",
26
+ CUSTOM = "custom",
27
+ SMILEYS_PEOPLE = "smileys_people",
28
+ ANIMALS_NATURE = "animals_nature",
29
+ FOOD_DRINK = "food_drink",
30
+ TRAVEL_PLACES = "travel_places",
31
+ ACTIVITIES = "activities",
32
+ OBJECTS = "objects",
33
+ SYMBOLS = "symbols",
34
+ FLAGS = "flags"
35
+ }
36
+
37
+ type EmojiInfo = Readonly<{
38
+ /** Canonical/base lowercase unified code. */
39
+ unified: string;
40
+ /** The native emoji text for `unified`, ready to insert or render. */
41
+ emoji: string;
42
+ /** Display name: the dataset's full name (the last of `names`). */
43
+ name: string;
44
+ /** Search/display names in dataset order. */
45
+ names: readonly string[];
46
+ /** Lowercase unified codes for supported variations. */
47
+ variations: readonly string[];
48
+ /** Unicode/emoji version from the dataset. */
49
+ addedIn: string;
50
+ }>;
51
+ type EmojiDataOptions = Readonly<{
52
+ /**
53
+ * Optional dataset in the same shape accepted by the picker's emojiData prop.
54
+ * Omit for the packaged default English dataset.
55
+ */
56
+ emojiData?: EmojiData;
57
+ }>;
58
+
59
+ /**
60
+ * Lookup by base or variation unified code.
61
+ * Trims/lowercases input, returns the canonical base record or undefined.
62
+ */
63
+ declare function getEmojiByUnified(unified: string, options?: EmojiDataOptions): EmojiInfo | undefined;
64
+ /**
65
+ * Dataset search (not a snapshot of one picker instance's visible results).
66
+ * Picker-only layers such as emojiVersion/hiddenEmojis/customEmojis are
67
+ * intentionally not applied here; they remain Root-local filters.
68
+ */
69
+ declare function searchEmojis(query: string, options?: EmojiDataOptions): readonly EmojiInfo[];
70
+
71
+ export { getEmojiByUnified, searchEmojis };
72
+ export type { EmojiData, EmojiDataOptions, EmojiInfo };
package/dist/data.d.ts ADDED
@@ -0,0 +1,72 @@
1
+ import * as React from 'react';
2
+
3
+ type CategoryConfig = {
4
+ category: Categories;
5
+ name: string;
6
+ icon?: React.ReactNode;
7
+ /**
8
+ * Selects a `CustomEmoji` group for `Categories.CUSTOM` entries. Each
9
+ * grouped entry renders its own section and nav tab; ungrouped entries
10
+ * share the classic customs bucket.
11
+ */
12
+ group?: string;
13
+ };
14
+ type EmojiData = {
15
+ categories: Partial<Record<Categories, CategoryConfig>>;
16
+ emojis: Record<string, DataEmoji[]>;
17
+ };
18
+ interface DataEmoji {
19
+ n: string[];
20
+ u: string;
21
+ v?: string[];
22
+ a: string;
23
+ }
24
+ declare enum Categories {
25
+ SUGGESTED = "suggested",
26
+ CUSTOM = "custom",
27
+ SMILEYS_PEOPLE = "smileys_people",
28
+ ANIMALS_NATURE = "animals_nature",
29
+ FOOD_DRINK = "food_drink",
30
+ TRAVEL_PLACES = "travel_places",
31
+ ACTIVITIES = "activities",
32
+ OBJECTS = "objects",
33
+ SYMBOLS = "symbols",
34
+ FLAGS = "flags"
35
+ }
36
+
37
+ type EmojiInfo = Readonly<{
38
+ /** Canonical/base lowercase unified code. */
39
+ unified: string;
40
+ /** The native emoji text for `unified`, ready to insert or render. */
41
+ emoji: string;
42
+ /** Display name: the dataset's full name (the last of `names`). */
43
+ name: string;
44
+ /** Search/display names in dataset order. */
45
+ names: readonly string[];
46
+ /** Lowercase unified codes for supported variations. */
47
+ variations: readonly string[];
48
+ /** Unicode/emoji version from the dataset. */
49
+ addedIn: string;
50
+ }>;
51
+ type EmojiDataOptions = Readonly<{
52
+ /**
53
+ * Optional dataset in the same shape accepted by the picker's emojiData prop.
54
+ * Omit for the packaged default English dataset.
55
+ */
56
+ emojiData?: EmojiData;
57
+ }>;
58
+
59
+ /**
60
+ * Lookup by base or variation unified code.
61
+ * Trims/lowercases input, returns the canonical base record or undefined.
62
+ */
63
+ declare function getEmojiByUnified(unified: string, options?: EmojiDataOptions): EmojiInfo | undefined;
64
+ /**
65
+ * Dataset search (not a snapshot of one picker instance's visible results).
66
+ * Picker-only layers such as emojiVersion/hiddenEmojis/customEmojis are
67
+ * intentionally not applied here; they remain Root-local filters.
68
+ */
69
+ declare function searchEmojis(query: string, options?: EmojiDataOptions): readonly EmojiInfo[];
70
+
71
+ export { getEmojiByUnified, searchEmojis };
72
+ export type { EmojiData, EmojiDataOptions, EmojiInfo };
@@ -1,19 +1,23 @@
1
- import { Categories } from '../types/exposedTypes';
2
- export declare enum EmojiProperties {
3
- name = "n",
4
- unified = "u",
5
- variations = "v",
6
- added_in = "a",
7
- imgUrl = "imgUrl"
8
- }
9
- export interface DataEmoji extends WithName {
10
- [EmojiProperties.unified]: string;
11
- [EmojiProperties.variations]?: string[];
12
- [EmojiProperties.added_in]: string;
13
- [EmojiProperties.imgUrl]?: string;
14
- }
15
- export declare type DataEmojis = DataEmoji[];
16
- export declare type DataGroups = Categories;
17
- export declare type WithName = {
18
- [EmojiProperties.name]: string[];
19
- };
1
+ import { Categories } from '../types/exposedTypes';
2
+ export declare enum EmojiProperties {
3
+ name = "n",
4
+ unified = "u",
5
+ variations = "v",
6
+ added_in = "a",
7
+ imgUrl = "imgUrl"
8
+ }
9
+ export interface DataEmoji extends WithName {
10
+ /** Exact rendered identity; canonical unified remains the search identity. */
11
+ renderUnified?: string;
12
+ /** Stored recent identity when the active tone has no matching variation. */
13
+ fallbackUnified?: string;
14
+ [EmojiProperties.unified]: string;
15
+ [EmojiProperties.variations]?: string[];
16
+ [EmojiProperties.added_in]: string;
17
+ [EmojiProperties.imgUrl]?: string;
18
+ }
19
+ export type DataEmojis = DataEmoji[];
20
+ export type DataGroups = Categories;
21
+ export type WithName = {
22
+ [EmojiProperties.name]: string[];
23
+ };
@@ -1,16 +1,15 @@
1
- import { CustomEmoji } from '../config/customEmojiConfig';
2
- import { EmojiStyle, SkinTones } from '../types/exposedTypes';
3
- import { DataEmoji, DataEmojis, WithName } from './DataTypes';
4
- export declare function emojiNames(emoji: WithName): string[];
5
- export declare function addedIn(emoji: DataEmoji): number;
6
- export declare function emojiName(emoji?: WithName): string;
7
- export declare function unifiedWithoutSkinTone(unified: string): string;
8
- export declare function emojiUnified(emoji: DataEmoji, skinTone?: string): string;
9
- export declare function emojiUrlByUnified(unified: string, emojiStyle: EmojiStyle): string;
10
- export declare function emojiVariations(emoji: DataEmoji): string[];
11
- export declare function emojiHasVariations(emoji: DataEmoji): boolean;
12
- export declare function emojiVariationUnified(emoji: DataEmoji, skinTone?: string): string | undefined;
13
- export declare function emojiByUnified(unified?: string): DataEmoji | undefined;
14
- export declare const allEmojis: DataEmojis;
15
- export declare function setCustomEmojis(customEmojis: CustomEmoji[]): void;
16
- export declare function activeVariationFromUnified(unified: string): SkinTones | null;
1
+ import { EmojiStyleValue, SkinTones } from '../types/exposedTypes';
2
+ import { DataEmoji, WithName } from './DataTypes';
3
+ export declare function emojiNames(emoji: WithName): string[];
4
+ export declare function addedIn(emoji: DataEmoji): number;
5
+ export declare function emojiName(emoji?: WithName): string;
6
+ export declare function unifiedWithoutSkinTone(unified: string): string;
7
+ export declare function emojiCanonicalUnified(emoji: DataEmoji): string;
8
+ export declare function emojiUnified(emoji: DataEmoji, skinTone?: string): string;
9
+ export declare function emojiUrlByUnified(unified: string, emojiStyle: EmojiStyleValue): string;
10
+ export declare function emojiVariations(emoji: DataEmoji): string[];
11
+ export declare function emojiHasVariations(emoji: DataEmoji): boolean;
12
+ export declare function emojiVariationUnified(emoji: DataEmoji, skinTone?: string): string | undefined;
13
+ export declare function emojiByUnified(unified?: string): DataEmoji | undefined;
14
+ export declare function activeVariationFromUnified(unified: string): SkinTones | null;
15
+ export declare function skinToneFromEmoji(emoji: DataEmoji, unified: string, activeTone: SkinTones): SkinTones;
@@ -1,12 +1 @@
1
- import { EmojiStyle, SkinTones } from '../types/exposedTypes';
2
- import { DataEmoji, WithName } from './DataTypes';
3
- export declare function emojiNames(emoji: WithName): string[];
4
- export declare function addedIn(emoji: DataEmoji): number;
5
- export declare function emojiName(emoji?: WithName): string;
6
- export declare function unifiedWithoutSkinTone(unified: string): string;
7
- export declare function emojiUnified(emoji: DataEmoji, skinTone?: string): string;
8
- export declare function emojiUrlByUnified(unified: string, emojiStyle: EmojiStyle): string;
9
- export declare function emojiVariations(emoji: DataEmoji): string[];
10
- export declare function emojiHasVariations(emoji: DataEmoji): boolean;
11
- export declare function emojiVariationUnified(emoji: DataEmoji, skinTone?: string): string | undefined;
12
- export declare function activeVariationFromUnified(unified: string): SkinTones | null;
1
+ export { activeVariationFromUnified, skinToneFromEmoji, addedIn, emojiHasVariations, emojiName, emojiNames, emojiUnified, emojiCanonicalUnified, emojiUrlByUnified, emojiVariations, emojiVariationUnified, unifiedWithoutSkinTone, } from './emojiSelectors';
@@ -0,0 +1,10 @@
1
+ export declare const NATIVE_PROBE_BATCH = 64;
2
+ /** One reusable canvas and result cache per detected document/font. */
3
+ export declare function createNativeEmojiSequenceSupport(ctx: CanvasRenderingContext2D, baselineWidth: number): {
4
+ prime: (ids: Iterable<string>) => void;
5
+ supports(unified: string): boolean | null;
6
+ /** Whether an identity was probed (results may still be null). */
7
+ has: (unified: string) => boolean;
8
+ /** Frozen results so far. Unprobed identities read as undefined. */
9
+ snapshot(): (unified: string) => boolean | null | undefined;
10
+ };
@@ -0,0 +1,40 @@
1
+ import { createNativeEmojiSequenceSupport } from './nativeEmojiSequenceSupport';
2
+ export declare const DEFAULT_NATIVE_EMOJI_FONT = "\"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Segoe UI\", \"Apple Color Emoji\", \"Twemoji Mozilla\", \"Noto Color Emoji\", \"EmojiOne Color\", \"Android Emoji\"";
3
+ export type NativeEmojiProbe = ReturnType<typeof createNativeEmojiSequenceSupport>;
4
+ /**
5
+ * Platform support as filtering reads it. `supports` returns a probed
6
+ * identity's exact result (null when inconclusive, undefined when not
7
+ * probed yet); the version and flag fields predict the rest.
8
+ */
9
+ export type NativeEmojiSupport = {
10
+ supports: (unified: string) => boolean | null | undefined;
11
+ /** Emoji versions whose sample the font cannot draw. */
12
+ failedVersions: Set<number>;
13
+ countryFlags: boolean;
14
+ };
15
+ export declare const UNKNOWN_SUPPORT: {};
16
+ /**
17
+ * Probes the font synchronously, sampling versions and flags only.
18
+ * Exact sequence results accumulate on the returned probe through
19
+ * `prime`, which pickers call in background batches.
20
+ */
21
+ export declare function detectNativeEmojiSupport(fontFamily?: string, refresh?: boolean, ownerDocument?: Document | undefined): NativeEmojiProbe | typeof UNKNOWN_SUPPORT;
22
+ /**
23
+ * Whether a rendered identity should show. An exact result wins; until
24
+ * one exists, flags and emojis of a version whose sample failed are
25
+ * predicted unsupported. `addedIn` is the emoji's version, when known.
26
+ */
27
+ export declare function isNativeEmojiSupported(support: NativeEmojiSupport | null, unified: string, addedIn?: number): boolean;
28
+ /** The picker's view of a probe: frozen results, never drawing. */
29
+ /**
30
+ * The picker's view of a probe: frozen results, never drawing, plus a
31
+ * prediction for identities not checked yet. `samples` maps each emoji
32
+ * version to one emoji introduced in it. Versions are judged one by one:
33
+ * fonts often draw a newer version's single glyphs but not an older
34
+ * version's sequences.
35
+ */
36
+ export declare function nativeSupportSnapshot(probe: NativeEmojiProbe, samples: Map<number, string>): NativeEmojiSupport;
37
+ /** Test-only: forget cached probe results. */
38
+ export declare function __resetNativeEmojiSupportForTest(): void;
39
+ /** Whether a unified code is a regional-indicator country flag. */
40
+ export declare function isCountryFlagUnified(unified: string): boolean;
@@ -1 +1 @@
1
- export declare function parseNativeEmoji(unified: string): string;
1
+ export declare function parseNativeEmoji(unified: string): string;
@@ -1,11 +1,11 @@
1
- import { SkinTones, SuggestionMode } from '../types/exposedTypes';
2
- import { DataEmoji } from './DataTypes';
3
- declare type SuggestedItem = {
4
- unified: string;
5
- original: string;
6
- count: number;
7
- };
8
- declare type Suggested = SuggestedItem[];
9
- export declare function getSuggested(mode?: SuggestionMode): Suggested;
10
- export declare function setSuggested(emoji: DataEmoji, skinTone: SkinTones): void;
11
- export {};
1
+ import { SkinTones, SuggestionModeValue } from '../types/exposedTypes';
2
+ import { DataEmoji } from './DataTypes';
3
+ type SuggestedItem = {
4
+ unified: string;
5
+ original: string;
6
+ count: number;
7
+ };
8
+ type Suggested = SuggestedItem[];
9
+ export declare function getSuggested(mode?: SuggestionModeValue): Suggested;
10
+ export declare function setSuggested(emoji: DataEmoji, skinTone: SkinTones): void;
11
+ export {};
@@ -0,0 +1,7 @@
1
+ import { DataEmoji } from './DataTypes';
2
+ export declare function resolveSuggestedRenderIds(entries: readonly string[], lookup: (normalizedId: string) => DataEmoji | undefined): string[];
3
+ /**
4
+ * A lowercased unified ID, custom ID or emoji character, resolved to a
5
+ * known render identity (see resolveSuggestedRenderIds).
6
+ */
7
+ export declare function resolveEntryId(id: string, lookup: (normalizedId: string) => DataEmoji | undefined): string | undefined;