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
@@ -1,13 +1,14 @@
1
- import { CustomEmoji } from '../../config/customEmojiConfig';
2
- import { DataEmoji } from '../../dataUtils/DataTypes';
3
- import { EmojiStyle } from '../../types/exposedTypes';
4
- export declare type BaseEmojiProps = {
5
- emoji?: DataEmoji | CustomEmoji;
6
- emojiStyle: EmojiStyle;
7
- unified: string;
8
- size?: number;
9
- lazyLoad?: boolean;
10
- getEmojiUrl?: GetEmojiUrl;
11
- className?: string;
12
- };
13
- export declare type GetEmojiUrl = (unified: string, style: EmojiStyle) => string;
1
+ import { CustomEmoji } from '../../config/customEmojiConfig';
2
+ import { DataEmoji } from '../../dataUtils/DataTypes';
3
+ import { EmojiStyleValue } from '../../types/exposedTypes';
4
+ export type BaseEmojiProps = {
5
+ emoji?: DataEmoji | CustomEmoji;
6
+ emojiStyle: EmojiStyleValue;
7
+ unified: string;
8
+ /** Pixels, or any CSS length (e.g. a `var(--epr-*)` token). */
9
+ size?: number | string;
10
+ lazyLoad?: boolean;
11
+ getEmojiUrl?: GetEmojiUrl;
12
+ className?: string;
13
+ };
14
+ export type GetEmojiUrl = (unified: string, style: EmojiStyleValue) => string;
@@ -1,15 +1,23 @@
1
- import * as React from 'react';
2
- declare type ClickableEmojiButtonProps = Readonly<{
3
- hidden?: boolean;
4
- showVariations?: boolean;
5
- hiddenOnSearch?: boolean;
6
- emojiNames: string[];
7
- children: React.ReactNode;
8
- hasVariations: boolean;
9
- unified?: string;
10
- noBackground?: boolean;
11
- className?: string;
12
- style?: React.CSSProperties;
13
- }>;
14
- export declare function ClickableEmojiButton({ emojiNames, unified, hidden, hiddenOnSearch, showVariations, hasVariations, children, className, noBackground, style, }: ClickableEmojiButtonProps): JSX.Element;
15
- export {};
1
+ import * as React from 'react';
2
+ import { EmojiRenderProps, ListEmoji } from '../body/listComponents';
3
+ type ClickableEmojiButtonProps = Readonly<{
4
+ hidden?: boolean;
5
+ showVariations?: boolean;
6
+ hiddenOnSearch?: boolean;
7
+ emojiNames: string[];
8
+ children: React.ReactNode;
9
+ hasVariations: boolean;
10
+ unified?: string;
11
+ noBackground?: boolean;
12
+ className?: string;
13
+ style?: React.CSSProperties;
14
+ tabIndex?: number;
15
+ /** Consumer cell (List `components.Emoji`) replacing the default button. */
16
+ as?: React.ComponentType<EmojiRenderProps>;
17
+ emojiInfo?: Omit<ListEmoji, 'isActive'>;
18
+ /** `gridcell` inside the emoji grid; native button role elsewhere. */
19
+ role?: 'gridcell';
20
+ index?: number;
21
+ }>;
22
+ export declare function ClickableEmojiButton({ emojiNames, unified, hidden, hiddenOnSearch, showVariations, hasVariations, children, className, noBackground, style, tabIndex, as: Custom, emojiInfo, role, index, }: ClickableEmojiButtonProps): React.JSX.Element;
23
+ export {};
@@ -1,15 +1,18 @@
1
- import * as React from 'react';
2
- import { DataEmoji } from '../../dataUtils/DataTypes';
3
- import { BaseEmojiProps } from './BaseEmojiProps';
4
- declare type ClickableEmojiProps = Readonly<BaseEmojiProps & {
5
- hidden?: boolean;
6
- showVariations?: boolean;
7
- hiddenOnSearch?: boolean;
8
- emoji: DataEmoji;
9
- className?: string;
10
- buttonClassName?: string;
11
- noBackground?: boolean;
12
- style?: React.CSSProperties;
13
- }>;
14
- export declare function ClickableEmoji({ emoji, unified, hidden, hiddenOnSearch, emojiStyle, showVariations, size, lazyLoad, getEmojiUrl, className, buttonClassName, noBackground, style, }: ClickableEmojiProps): JSX.Element;
15
- export {};
1
+ import * as React from 'react';
2
+ import { DataEmoji } from '../../dataUtils/DataTypes';
3
+ import { BaseEmojiProps } from './BaseEmojiProps';
4
+ type ClickableEmojiProps = Readonly<BaseEmojiProps & {
5
+ hidden?: boolean;
6
+ showVariations?: boolean;
7
+ hiddenOnSearch?: boolean;
8
+ emoji: DataEmoji;
9
+ className?: string;
10
+ buttonClassName?: string;
11
+ noBackground?: boolean;
12
+ style?: React.CSSProperties;
13
+ tabIndex?: number;
14
+ role?: 'gridcell';
15
+ index?: number;
16
+ }>;
17
+ export declare function ClickableEmoji({ emoji, unified, hidden, hiddenOnSearch, emojiStyle, showVariations, size, lazyLoad, getEmojiUrl, className, buttonClassName, noBackground, style, tabIndex, role, index, }: ClickableEmojiProps): React.JSX.Element;
18
+ export {};
@@ -1,11 +1,11 @@
1
- import * as React from 'react';
2
- import { EmojiStyle } from '../../types/exposedTypes';
3
- export declare function EmojiImg({ emojiName, style, lazyLoad, imgUrl, onError, className, }: {
4
- emojiName: string;
5
- emojiStyle: EmojiStyle;
6
- style: React.CSSProperties;
7
- lazyLoad?: boolean;
8
- imgUrl: string;
9
- onError: () => void;
10
- className?: string;
11
- }): JSX.Element;
1
+ import * as React from 'react';
2
+ import { EmojiStyleValue } from '../../types/exposedTypes';
3
+ export declare function EmojiImg({ emojiName, style, lazyLoad, imgUrl, onError, className, }: {
4
+ emojiName: string;
5
+ emojiStyle: EmojiStyleValue;
6
+ style: React.CSSProperties;
7
+ lazyLoad?: boolean;
8
+ imgUrl: string;
9
+ onError: () => void;
10
+ className?: string;
11
+ }): React.JSX.Element;
@@ -1,11 +1,11 @@
1
- /// <reference types="react" />
2
- import { EmojiStyle } from '../../types/exposedTypes';
3
- import { GetEmojiUrl } from './BaseEmojiProps';
4
- export declare function ExportedEmoji({ unified, size, emojiStyle, lazyLoad, getEmojiUrl, emojiUrl, }: {
5
- unified: string;
6
- emojiStyle?: EmojiStyle;
7
- size?: number;
8
- lazyLoad?: boolean;
9
- getEmojiUrl?: GetEmojiUrl;
10
- emojiUrl?: string;
11
- }): JSX.Element | null;
1
+ import * as React from 'react';
2
+ import { EmojiStyleValue } from '../../types/exposedTypes';
3
+ import { GetEmojiUrl } from './BaseEmojiProps';
4
+ export declare function ExportedEmoji({ unified, size, emojiStyle, lazyLoad, getEmojiUrl, emojiUrl, }: {
5
+ unified: string;
6
+ emojiStyle?: EmojiStyleValue;
7
+ size?: number;
8
+ lazyLoad?: boolean;
9
+ getEmojiUrl?: GetEmojiUrl;
10
+ emojiUrl?: string;
11
+ }): React.JSX.Element | null;
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
2
- export declare function NativeEmoji({ unified, style, className, }: {
3
- unified: string;
4
- style: React.CSSProperties;
5
- className?: string;
6
- }): JSX.Element;
1
+ import * as React from 'react';
2
+ export declare function NativeEmoji({ unified, style, className, }: {
3
+ unified: string;
4
+ style: React.CSSProperties;
5
+ className?: string;
6
+ }): React.JSX.Element;
@@ -1,3 +1,3 @@
1
- /// <reference types="react" />
2
- import { BaseEmojiProps } from './BaseEmojiProps';
3
- export declare function ViewOnlyEmoji({ emoji, unified, emojiStyle, size, lazyLoad, getEmojiUrl, className, }: BaseEmojiProps): JSX.Element | null;
1
+ import * as React from 'react';
2
+ import { BaseEmojiProps } from './BaseEmojiProps';
3
+ export declare function ViewOnlyEmoji({ emoji, unified, emojiStyle, size, lazyLoad, getEmojiUrl, className, }: BaseEmojiProps): React.JSX.Element | null;
@@ -1 +1,6 @@
1
- export declare const emojiStyles: Record<never, Set<string>>;
1
+ export declare const emojiStyles: {
2
+ external: Set<string>;
3
+ common: Set<string>;
4
+ } & {
5
+ [x: string]: Set<string>;
6
+ };
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
2
- export declare function Preview(): JSX.Element | null;
3
- export declare function PreviewBody(): JSX.Element;
4
- export declare type PreviewEmoji = null | {
5
- unified: string;
6
- originalUnified: string;
7
- };
1
+ import * as React from 'react';
2
+ import { ActiveEmojiState } from '../context/PickerContext';
3
+ export declare function Preview({ children }: {
4
+ children?: React.ReactNode;
5
+ }): React.JSX.Element;
6
+ export declare function PreviewBody(): React.JSX.Element | null;
7
+ export type PreviewEmoji = ActiveEmojiState;
@@ -1,2 +1,2 @@
1
- /// <reference types="react" />
2
- export declare function Header(): JSX.Element;
1
+ import * as React from 'react';
2
+ export declare function Header(): React.JSX.Element;
@@ -1,2 +1,2 @@
1
- /// <reference types="react" />
2
- export declare function BtnClearSearch(): JSX.Element;
1
+ import * as React from 'react';
2
+ export declare function BtnClearSearch(): React.JSX.Element;
@@ -1,2 +1,2 @@
1
- /// <reference types="react" />
2
- export declare function IcnSearch(): JSX.Element;
1
+ import * as React from 'react';
2
+ export declare function IcnSearch(): React.JSX.Element;
@@ -1,3 +1,11 @@
1
- /// <reference types="react" />
2
- export declare function SearchContainer(): JSX.Element | null;
3
- export declare function Search(): JSX.Element;
1
+ import * as React from 'react';
2
+ import type { SearchProps } from '../../../primitives/types';
3
+ export declare function SearchContainer({ children, inputProps, inputRef, }?: {
4
+ inputProps?: SearchProps['inputProps'];
5
+ inputRef?: SearchProps['inputRef'];
6
+ children?: React.ReactNode;
7
+ }): React.JSX.Element;
8
+ export declare function Search({ inputProps, inputRef, }?: {
9
+ inputProps?: SearchProps['inputProps'];
10
+ inputRef?: SearchProps['inputRef'];
11
+ }): React.JSX.Element;
@@ -1,12 +1,12 @@
1
- import * as React from 'react';
2
- import { SkinTones } from '../../../types/exposedTypes';
3
- declare type Props = {
4
- isOpen: boolean;
5
- onClick: () => void;
6
- isActive: boolean;
7
- skinToneVariation: SkinTones;
8
- style?: React.CSSProperties;
9
- tabIndex?: number;
10
- };
11
- export declare function BtnSkinToneVariation({ isOpen, onClick, isActive, skinToneVariation, style, tabIndex, }: Props): JSX.Element;
12
- export {};
1
+ import * as React from 'react';
2
+ import { SkinTones } from '../../../types/exposedTypes';
3
+ type Props = {
4
+ isOpen: boolean;
5
+ onClick: () => void;
6
+ isActive: boolean;
7
+ skinToneVariation: SkinTones;
8
+ style?: React.CSSProperties;
9
+ tabIndex?: number;
10
+ };
11
+ export declare function BtnSkinToneVariation({ isOpen, onClick, isActive, skinToneVariation, style, tabIndex, }: Props): React.JSX.Element;
12
+ export {};
@@ -1,11 +1,11 @@
1
- /// <reference types="react" />
2
- declare type Props = {
3
- direction?: SkinTonePickerDirection;
4
- };
5
- export declare function SkinTonePickerMenu(): JSX.Element;
6
- export declare function SkinTonePicker({ direction, }: Props): JSX.Element | null;
7
- export declare enum SkinTonePickerDirection {
8
- VERTICAL = "epr-vertical",
9
- HORIZONTAL = "epr-horizontal"
10
- }
11
- export {};
1
+ import * as React from 'react';
2
+ type Props = {
3
+ direction?: SkinTonePickerDirection;
4
+ };
5
+ export declare function SkinTonePickerMenu(): React.JSX.Element;
6
+ export declare function SkinTonePicker({ direction, }: Props): React.JSX.Element | null;
7
+ export declare enum SkinTonePickerDirection {
8
+ VERTICAL = "epr-vertical",
9
+ HORIZONTAL = "epr-horizontal"
10
+ }
11
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare const PLUS_ICON = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20px' height='80px' viewBox='0 0 20 80'%3E%3Cpath fill='%23868686' d='M5.7,10.4c0,.1,.1,.3,.2,.4C6,10.9,6.1,11,6.3,11h3.4v3.4c0,.1,.1,.3,.2,.4c.1,.1,.2,.2,.4,.2c.3,0,.5-.2,.5-.5v-3.4h3.4c.3,0,.5-.2,.5-.5s-.2-.5-.5-.5h-3.4V6.7c0-.3-.2-.5-.5-.5C9.8,6,9.6,6.2,9.6,6.5v3.4H6.2C5.9,9.9,5.7,10.1,5.7,10.4L5.7,10.4z'/%3E%3Cpath fill='%233371B7' d='M5.7,30.4c0,.1,.1,.3,.2,.4S6.1,31,6.3,31h3.4v3.4c0,.1,.1,.3,.2,.4c.1,.1,.2,.2,.4,.2c.3,0,.5-.2,.5-.5v-3.4h3.4c.3,0,.5-.2,.5-.5s-.2-.5-.5-.5h-3.4v-3.4c0-.3-.2-.5-.5-.5s-.5,.2-.5,.5v3.4H6.2C5.9,29.9,5.7,30.1,5.7,30.4L5.7,30.4z'/%3E%3Cpath fill='%23C0C0BF' d='M5.7,50.4c0,.1,.1,.3,.2,.4C6,50.9,6.1,51,6.3,51h3.4v3.4c0,.1,.1,.3,.2,.4c.1,.1,.2,.2,.4,.2c.3,0,.5-.2,.5-.5v-3.4h3.4c.3,0,.5-.2,.5-.5s-.2-.5-.5-.5h-3.4v-3.4c0-.3-.2-.5-.5-.5s-.5,.2-.5,.5v3.4H6.2C5.9,49.9,5.7,50.1,5.7,50.4L5.7,50.4z'/%3E%3Cpath fill='%236AA9DD' d='M5.7,70.4c0,.1,.1,.3,.2,.4S6.1,71,6.3,71h3.4v3.4c0,.1,.1,.3,.2,.4c.1,.1,.2,.2,.4,.2c.3,0,.5-.2,.5-.5v-3.4h3.4c.3,0,.5-.2,.5-.5s-.2-.5-.5-.5h-3.4v-3.4c0-.3-.2-.5-.5-.5s-.5,.2-.5,.5v3.4H6.4C5.9,69.9,5.7,70.1,5.7,70.4L5.7,70.4z'/%3E%3C/svg%3E";
2
+ export declare const TRIANGLE_ICON = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50px' height='15px' viewBox='0 0 50 15'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' stroke='%23E8E7E7' stroke-miterlimit='10' d='M1.86-.43l9.83,11.53c.59,.69,1.56,.69,2.14,0l9.83-11.53'/%3E%3Cpath fill='%23010202' stroke='%23151617' stroke-miterlimit='10' d='M26.86-.43l9.83,11.53c.59,.69,1.56,.69,2.14,0l9.83-11.53'/%3E%3C/g%3E%3C/svg%3E";
3
+ export declare const MAGNIFIER_ICON = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20px' height='40px' viewBox='0 0 20 40'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' fill='%23868686' d='M12,8.81c0,2.08-1.68,3.76-3.76,3.76c-2.08,0-3.76-1.68-3.76-3.76c0-2.08,1.68-3.76,3.76-3.76C10.32,5.05,12,6.73,12,8.81zM11.23,12.72c-.83,.64-1.87,1.01-2.99,1.01c-2.72,0-4.92-2.2-4.92-4.92c0-2.72,2.2-4.92,4.92-4.92c2.72,0,4.92,2.2,4.92,4.92c0,1.13-.38,2.16-1.01,2.99l3.94,3.93c.25,.25,.25,.66,0,.92c-.25,.25-.66,.25-.92,0L11.23,12.72z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' fill='%23C0C0BF' d='M12,28.81c0,2.08-1.68,3.76-3.76,3.76c-2.08,0-3.76-1.68-3.76-3.76c0-2.08,1.68-3.76,3.76-3.76C10.32,25.05,12,26.73,12,28.81zM11.23,32.72c-.83,.64-1.87,1.01-2.99,1.01c-2.72,0-4.92-2.2-4.92-4.92c0-2.72,2.2-4.92,4.92-4.92c2.72,0,4.92,2.2,4.92,4.92c0,1.13-.38,2.16-1.01,2.99l3.94,3.93c.25,.25,.25,.66,0,.92c-.25,.25-.66,.25-.92,0L11.23,32.72z'/%3E%3C/svg%3E";
4
+ export declare const TIMES_ICON = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20px' height='80px' viewBox='0 0 20 80'%3E%3Cpath fill='%23868686' d='M6.98,13.59c.1,.1,.24,.15,.37,.15s.27-.05,.37-.15l2.42-2.42l2.43,2.43c.1,.1,.24,.15,.37,.15c.14,0,.27-.05,.37-.15c.21-.21,.21-.54,0-.75l-2.43-2.43L13.32,8c.21-.21,.21-.54,0-.75c-.21-.21-.54-.21-.75,0l-2.42,2.42L7.74,7.27c-.21-.21-.54-.21-.75,0c-.21,.21-.21,.54,0,.75l2.41,2.41l-2.42,2.42C6.77,13.05,6.77,13.39,6.98,13.59L6.98,13.59z'/%3E%3Cpath fill='%23868686' d='M10.15,18.43c4.41,0,8-3.59,8-8c0-4.41-3.59-8-8-8c-4.41,0-8,3.59-8,8C2.15,14.84,5.74,18.43,10.15,18.43zM10.15,3.49c3.83,0,6.94,3.11,6.94,6.94c0,3.83-3.11,6.94-6.94,6.94c-3.83,0-6.94-3.11-6.94-6.94C3.21,6.6,6.33,3.49,10.15,3.49L10.15,3.49z'/%3E%3Cpath fill='%233371B7' d='M6.98,33.59c.1,.1,.24,.15,.37,.15s.27-.05,.37-.15l2.42-2.42l2.43,2.43c.1,.1,.24,.15,.37,.15c.14,0,.27-.05,.37-.15c.21-.21,.21-.54,0-.75l-2.43-2.43L13.32,28c.21-.21,.21-.54,0-.75c-.21-.21-.54-.21-.75,0l-2.42,2.42l-2.41-2.41c-.21-.21-.54-.21-.75,0c-.21,.21-.21,.54,0,.75l2.41,2.41l-2.42,2.42C6.77,33.05,6.77,33.39,6.98,33.59L6.98,33.59z'/%3E%3Cpath fill='%233371B7' d='M10.15,38.43c4.41,0,8-3.59,8-8c0-4.41-3.59-8-8-8c-4.41,0-8,3.59-8,8C2.15,34.84,5.74,38.43,10.15,38.43zM10.15,23.49c3.83,0,6.94,3.11,6.94,6.94c0,3.83-3.11,6.94-6.94,6.94c-3.83,0-6.94-3.11-6.94-6.94C3.21,26.6,6.33,23.49,10.15,23.49L10.15,23.49z'/%3E%3Cpath fill='%23C0C0BF' d='M6.98,53.59c.1,.1,.24,.15,.37,.15s.27-.05,.37-.15l2.42-2.42l2.43,2.43c.1,.1,.24,.15,.37,.15c.14,0,.27-.05,.37-.15c.21-.21,.21-.54,0-.75l-2.43-2.43L13.32,48c.21-.21,.21-.54,0-.75c-.21-.21-.54-.21-.75,0l-2.42,2.42l-2.41-2.41c-.21-.21-.54-.21-.75,0c-.21,.21-.21,.54,0,.75l2.41,2.41l-2.42,2.42C6.77,53.05,6.77,53.39,6.98,53.59L6.98,53.59z'/%3E%3Cpath fill='%23C0C0BF' d='M10.15,58.43c4.41,0,8-3.59,8-8c0-4.41-3.59-8-8-8c-4.41,0-8,3.59-8,8C2.15,54.84,5.74,58.43,10.15,58.43zM10.15,43.49c3.83,0,6.94,3.11,6.94,6.94c0,3.83-3.11,6.94-6.94,6.94c-3.83,0-6.94-3.11-6.94-6.94C3.21,46.6,6.33,43.49,10.15,43.49L10.15,43.49z'/%3E%3Cpath fill='%236AA9DD' d='M6.98,73.59c.1,.1,.24,.15,.37,.15s.27-.05,.37-.15l2.42-2.42l2.43,2.43c.1,.1,.24,.15,.37,.15c.14,0,.27-.05,.37-.15c.21-.21,.21-.54,0-.75l-2.43-2.43L13.32,68c.21-.21,.21-.54,0-.75c-.21-.21-.54-.21-.75,0l-2.42,2.42l-2.41-2.41c-.21-.21-.54-.21-.75,0c-.21,.21-.21,.54,0,.75l2.41,2.41l-2.42,2.42C6.77,73.05,6.77,73.39,6.98,73.59L6.98,73.59z'/%3E%3Cpath fill='%236AA9DD' d='M10.15,78.43c4.41,0,8-3.59,8-8c0-4.41-3.59-8-8-8c-4.41,0-8,3.59-8,8C2.15,74.84,5.74,78.43,10.15,78.43zM10.15,63.49c3.83,0,6.94,3.11,6.94,6.94c0,3.83-3.11,6.94-6.94,6.94c-3.83,0-6.94-3.11-6.94-6.94C3.21,66.6,6.33,63.49,10.15,63.49L10.15,63.49z'/%3E%3C/svg%3E";
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ export declare function SearchSync(): null;
3
+ export declare const ReactionsModeObserver: React.NamedExoticComponent<object>;
4
+ export declare const NavigationInvalidation: React.NamedExoticComponent<object>;
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { ThemeValue } from '../../types/exposedTypes';
3
+ export declare function DefaultAppearance({ children }: {
4
+ children: React.ReactNode;
5
+ }): React.JSX.Element;
6
+ export declare function defaultRootClassName(theme: ThemeValue | undefined, className?: string, unstyled?: boolean): string;
7
+ export declare function defaultRootStyle({ width, height, style, columns, }: {
8
+ width: string | number | undefined;
9
+ height: string | number | undefined;
10
+ style: React.CSSProperties | undefined;
11
+ columns?: number;
12
+ }): React.CSSProperties;
@@ -0,0 +1 @@
1
+ export declare const DEFAULT_LABEL_HEIGHT = 40;
@@ -1,12 +1,12 @@
1
- import * as React from 'react';
2
- import { CategoryConfig } from '../../types/exposedTypes';
3
- declare type Props = {
4
- isActiveCategory: boolean;
5
- category: string;
6
- allowNavigation: boolean;
7
- onClick: () => void;
8
- categoryConfig: CategoryConfig;
9
- customIcon?: React.ReactNode;
10
- };
11
- export declare function CategoryButton({ isActiveCategory, category, allowNavigation, categoryConfig, onClick, customIcon, }: Props): JSX.Element;
12
- export {};
1
+ import * as React from 'react';
2
+ import { CategoryConfig } from '../../types/exposedTypes';
3
+ type Props = {
4
+ isActiveCategory: boolean;
5
+ category: string;
6
+ allowNavigation: boolean;
7
+ onClick: () => void;
8
+ categoryConfig: CategoryConfig;
9
+ customIcon?: React.ReactNode;
10
+ };
11
+ export declare function CategoryButton({ isActiveCategory, category, allowNavigation, categoryConfig, onClick, customIcon, }: Props): React.JSX.Element;
12
+ export {};
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
2
- export declare function CategoryNavIcon({ category }: {
3
- category: string;
4
- }): JSX.Element;
1
+ import * as React from 'react';
2
+ export declare function CategoryNavIcon({ category }: {
3
+ category: string;
4
+ }): React.JSX.Element;
@@ -1,2 +1,19 @@
1
- /// <reference types="react" />
2
- export declare function CategoryNavigation(): JSX.Element | null;
1
+ import * as React from 'react';
2
+ export declare function ActiveCategoryProvider({ children, }: {
3
+ children: React.ReactNode;
4
+ }): React.JSX.Element;
5
+ export declare function useActiveCategory(): {
6
+ activeCategory: string | null;
7
+ setActiveCategory: (category: string | null) => void;
8
+ };
9
+ /**
10
+ * Scroll a section to the top and highlight its tab. The highlight is set
11
+ * explicitly: trailing sections too short to reach the viewport top would
12
+ * otherwise leave an earlier section active.
13
+ */
14
+ export declare function useJumpToCategory(): (categoryId: string) => void;
15
+ export declare function useVisibleCategoryConfigs(): import("../../types/exposedTypes").CategoryConfig[];
16
+ export type NavOrientation = 'horizontal' | 'vertical';
17
+ export declare function CategoryNavigation({ orientation, }?: {
18
+ orientation?: NavOrientation;
19
+ }): React.JSX.Element | null;
@@ -1,34 +1,34 @@
1
- import { Categories, CategoryConfig, EmojiData, SuggestionMode } from '../types/exposedTypes';
2
- import { CustomEmoji } from './customEmojiConfig';
3
- export { Categories };
4
- export declare const SuggestedRecent: CategoryConfig;
5
- export declare type CustomCategoryConfig = {
6
- category: Categories.CUSTOM;
7
- name: string;
8
- /**
9
- * Selects the `CustomEmoji` group rendered in this section. Each entry
10
- * may carry its own `name` and `icon`, so multiple custom sections can
11
- * coexist — each placed wherever its entry sits in `categories`.
12
- * Entries without a group share the ungrouped customs bucket.
13
- */
14
- group?: string;
15
- };
16
- /**
17
- * Stable identity for a category entry. Custom groups are namespaced so
18
- * duplicate `{ category: CUSTOM }` configs no longer collide in React
19
- * keys, scroll targets, and active-tab detection.
20
- */
21
- export declare function categoryIdFromCategoryConfig(categoryConfig: CategoryConfig): string;
22
- /**
23
- * The `CustomEmoji` group rendered by a category entry, if any.
24
- */
25
- export declare function customGroupFromCategoryConfig(categoryConfig: CategoryConfig): string | undefined;
26
- export declare function baseCategoriesConfig(modifiers?: Record<Categories, CategoryConfig>): CategoriesConfig;
27
- export declare function categoryFromCategoryConfig(category: CategoryConfig): Categories;
28
- export declare function categoryNameFromCategoryConfig(category: CategoryConfig): string;
29
- export declare type CategoriesConfig = CategoryConfig[];
30
- export declare type UserCategoryConfig = Array<Categories | CategoryConfig>;
31
- export declare function mergeCategoriesConfig(userCategoriesConfig?: UserCategoryConfig, modifiers?: CategoryConfigModifiers, emojiData?: EmojiData, customEmojis?: CustomEmoji[]): CategoriesConfig;
32
- declare type CategoryConfigModifiers = {
33
- suggestionMode?: SuggestionMode;
34
- };
1
+ import { Categories, CategoryConfig, EmojiData, SuggestionModeValue } from '../types/exposedTypes';
2
+ import { CustomEmoji } from './customEmojiConfig';
3
+ export { Categories };
4
+ export declare const SuggestedRecent: CategoryConfig;
5
+ export type CustomCategoryConfig = {
6
+ category: Categories.CUSTOM;
7
+ name: string;
8
+ /**
9
+ * Selects the `CustomEmoji` group rendered in this section. Each entry
10
+ * may carry its own `name` and `icon`, so multiple custom sections can
11
+ * coexist — each placed wherever its entry sits in `categories`.
12
+ * Entries without a group share the ungrouped customs bucket.
13
+ */
14
+ group?: string;
15
+ };
16
+ /**
17
+ * Stable identity for a category entry. Custom groups are namespaced so
18
+ * duplicate `{ category: CUSTOM }` configs no longer collide in React
19
+ * keys, scroll targets, and active-tab detection.
20
+ */
21
+ export declare function categoryIdFromCategoryConfig(categoryConfig: CategoryConfig): string;
22
+ /**
23
+ * The `CustomEmoji` group rendered by a category entry, if any.
24
+ */
25
+ export declare function customGroupFromCategoryConfig(categoryConfig: CategoryConfig): string | undefined;
26
+ export declare function baseCategoriesConfig(modifiers?: Record<Categories, CategoryConfig>): CategoriesConfig;
27
+ export declare function categoryFromCategoryConfig(category: CategoryConfig): Categories;
28
+ export declare function categoryNameFromCategoryConfig(category: CategoryConfig): string;
29
+ export type CategoriesConfig = CategoryConfig[];
30
+ export type UserCategoryConfig = Array<Categories | CategoryConfig>;
31
+ export declare function mergeCategoriesConfig(userCategoriesConfig?: UserCategoryConfig, modifiers?: CategoryConfigModifiers, emojiData?: EmojiData, customEmojis?: CustomEmoji[]): CategoriesConfig;
32
+ type CategoryConfigModifiers = {
33
+ suggestionMode?: SuggestionModeValue;
34
+ };
@@ -1,2 +1,2 @@
1
- import { EmojiStyle } from '../types/exposedTypes';
2
- export declare function cdnUrl(emojiStyle: EmojiStyle): string;
1
+ import { EmojiStyleValue } from '../types/exposedTypes';
2
+ export declare function cdnUrl(emojiStyle: EmojiStyleValue): string;
@@ -1,2 +1,10 @@
1
- import { PickerConfig } from './config';
2
- export declare function compareConfig(prev: PickerConfig, next: PickerConfig): boolean;
1
+ import { PickerConfig } from './config';
2
+ /**
3
+ * Content equality over every config key. Iterating the union of keys
4
+ * (rather than a hand-maintained list) means a prop added later is
5
+ * compared by default instead of being silently ignored after mount —
6
+ * which is how `reactions`, `previewConfig`, `hiddenEmojis`,
7
+ * `allowExpandReactions`, `categoryIcons`, `getEmojiUrl` and `nonce`
8
+ * updates used to be dropped.
9
+ */
10
+ export declare function compareConfig(prev: PickerConfig, next: PickerConfig): boolean;