@kesha-antonov/react-native-chat 5.0.0 → 6.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.
Files changed (1329) hide show
  1. package/README.md +533 -179
  2. package/lib/Actions.d.ts.map +1 -1
  3. package/lib/Actions.js +121 -42
  4. package/lib/Actions.js.map +1 -1
  5. package/lib/Avatar.d.ts.map +1 -1
  6. package/lib/Avatar.js +171 -86
  7. package/lib/Avatar.js.map +1 -1
  8. package/lib/Bubble/BubbleBody.d.ts +15 -0
  9. package/lib/Bubble/BubbleBody.d.ts.map +1 -0
  10. package/lib/Bubble/BubbleBody.js +218 -0
  11. package/lib/Bubble/BubbleBody.js.map +1 -0
  12. package/lib/Bubble/BubbleContent.d.ts +23 -0
  13. package/lib/Bubble/BubbleContent.d.ts.map +1 -0
  14. package/lib/Bubble/BubbleContent.js +446 -0
  15. package/lib/Bubble/BubbleContent.js.map +1 -0
  16. package/lib/Bubble/BubbleMenu.d.ts +45 -0
  17. package/lib/Bubble/BubbleMenu.d.ts.map +1 -0
  18. package/lib/Bubble/BubbleMenu.js +289 -0
  19. package/lib/Bubble/BubbleMenu.js.map +1 -0
  20. package/lib/Bubble/BubbleMeta.d.ts +17 -0
  21. package/lib/Bubble/BubbleMeta.d.ts.map +1 -0
  22. package/lib/Bubble/BubbleMeta.js +453 -0
  23. package/lib/Bubble/BubbleMeta.js.map +1 -0
  24. package/lib/Bubble/LiftedBubble.d.ts +18 -0
  25. package/lib/Bubble/LiftedBubble.d.ts.map +1 -0
  26. package/lib/Bubble/LiftedBubble.js +109 -0
  27. package/lib/Bubble/LiftedBubble.js.map +1 -0
  28. package/lib/Bubble/PressableBubbleRow.d.ts +33 -0
  29. package/lib/Bubble/PressableBubbleRow.d.ts.map +1 -0
  30. package/lib/Bubble/PressableBubbleRow.js +172 -0
  31. package/lib/Bubble/PressableBubbleRow.js.map +1 -0
  32. package/lib/Bubble/index.d.ts +6 -0
  33. package/lib/Bubble/index.d.ts.map +1 -1
  34. package/lib/Bubble/index.js +380 -494
  35. package/lib/Bubble/index.js.map +1 -1
  36. package/lib/Bubble/layout.d.ts +47 -0
  37. package/lib/Bubble/layout.d.ts.map +1 -0
  38. package/lib/Bubble/layout.js +258 -0
  39. package/lib/Bubble/layout.js.map +1 -0
  40. package/lib/Bubble/styles.d.ts +108 -16
  41. package/lib/Bubble/styles.d.ts.map +1 -1
  42. package/lib/Bubble/styles.js +227 -107
  43. package/lib/Bubble/styles.js.map +1 -1
  44. package/lib/Bubble/types.d.ts +19 -3
  45. package/lib/Bubble/types.d.ts.map +1 -1
  46. package/lib/Bubble/types.js.map +1 -1
  47. package/lib/Chat/Chat.d.ts +5 -0
  48. package/lib/Chat/Chat.d.ts.map +1 -0
  49. package/lib/Chat/Chat.js +464 -0
  50. package/lib/Chat/Chat.js.map +1 -0
  51. package/lib/Chat/ChatBackground.d.ts +16 -0
  52. package/lib/Chat/ChatBackground.d.ts.map +1 -0
  53. package/lib/Chat/ChatBackground.js +43 -0
  54. package/lib/Chat/ChatBackground.js.map +1 -0
  55. package/lib/Chat/ChatKeyboardAvoidingView.js +19 -4
  56. package/lib/Chat/ChatKeyboardAvoidingView.js.map +1 -1
  57. package/lib/Chat/ChatMessageList.d.ts +27 -0
  58. package/lib/Chat/ChatMessageList.d.ts.map +1 -0
  59. package/lib/Chat/ChatMessageList.js +220 -0
  60. package/lib/Chat/ChatMessageList.js.map +1 -0
  61. package/lib/Chat/ChatProviders.d.ts +18 -0
  62. package/lib/Chat/ChatProviders.d.ts.map +1 -0
  63. package/lib/Chat/ChatProviders.js +87 -0
  64. package/lib/Chat/ChatProviders.js.map +1 -0
  65. package/lib/Chat/ChatSafeAreaProvider.d.ts +35 -0
  66. package/lib/Chat/ChatSafeAreaProvider.d.ts.map +1 -0
  67. package/lib/Chat/ChatSafeAreaProvider.js +123 -0
  68. package/lib/Chat/ChatSafeAreaProvider.js.map +1 -0
  69. package/lib/Chat/ChatSelectionBar.d.ts +20 -0
  70. package/lib/Chat/ChatSelectionBar.d.ts.map +1 -0
  71. package/lib/Chat/ChatSelectionBar.js +141 -0
  72. package/lib/Chat/ChatSelectionBar.js.map +1 -0
  73. package/lib/Chat/ChatWrapper.d.ts +11 -0
  74. package/lib/Chat/ChatWrapper.d.ts.map +1 -0
  75. package/lib/Chat/ChatWrapper.js +98 -0
  76. package/lib/Chat/ChatWrapper.js.map +1 -0
  77. package/lib/Chat/ComposerHost.d.ts +20 -0
  78. package/lib/Chat/ComposerHost.d.ts.map +1 -0
  79. package/lib/Chat/ComposerHost.js +118 -0
  80. package/lib/Chat/ComposerHost.js.map +1 -0
  81. package/lib/Chat/index.d.ts +1 -8
  82. package/lib/Chat/index.d.ts.map +1 -1
  83. package/lib/Chat/index.js +1 -337
  84. package/lib/Chat/index.js.map +1 -1
  85. package/lib/Chat/styles.d.ts +14 -2
  86. package/lib/Chat/styles.d.ts.map +1 -1
  87. package/lib/Chat/styles.js +19 -9
  88. package/lib/Chat/styles.js.map +1 -1
  89. package/lib/Chat/types.d.ts +145 -11
  90. package/lib/Chat/types.d.ts.map +1 -1
  91. package/lib/Chat/types.js.map +1 -1
  92. package/lib/Chat/useChatContextValue.d.ts +19 -0
  93. package/lib/Chat/useChatContextValue.d.ts.map +1 -0
  94. package/lib/Chat/useChatContextValue.js +158 -0
  95. package/lib/Chat/useChatContextValue.js.map +1 -0
  96. package/lib/Chat/useChatMedia.d.ts +22 -0
  97. package/lib/Chat/useChatMedia.d.ts.map +1 -0
  98. package/lib/Chat/useChatMedia.js +127 -0
  99. package/lib/Chat/useChatMedia.js.map +1 -0
  100. package/lib/Chat/useChatSelection.d.ts +15 -0
  101. package/lib/Chat/useChatSelection.d.ts.map +1 -0
  102. package/lib/Chat/useChatSelection.js +106 -0
  103. package/lib/Chat/useChatSelection.js.map +1 -0
  104. package/lib/Chat/useComposerHandlers.d.ts +34 -0
  105. package/lib/Chat/useComposerHandlers.d.ts.map +1 -0
  106. package/lib/Chat/useComposerHandlers.js +330 -0
  107. package/lib/Chat/useComposerHandlers.js.map +1 -0
  108. package/lib/Chat/useComposerState.d.ts +27 -0
  109. package/lib/Chat/useComposerState.d.ts.map +1 -0
  110. package/lib/Chat/useComposerState.js +272 -0
  111. package/lib/Chat/useComposerState.js.map +1 -0
  112. package/lib/Chat/useInitialLayout.d.ts +19 -0
  113. package/lib/Chat/useInitialLayout.d.ts.map +1 -0
  114. package/lib/Chat/useInitialLayout.js +70 -0
  115. package/lib/Chat/useInitialLayout.js.map +1 -0
  116. package/lib/Chat/useMessageActions.d.ts +37 -0
  117. package/lib/Chat/useMessageActions.d.ts.map +1 -0
  118. package/lib/Chat/useMessageActions.js +323 -0
  119. package/lib/Chat/useMessageActions.js.map +1 -0
  120. package/lib/Chat/useMessageNavigation.d.ts +21 -0
  121. package/lib/Chat/useMessageNavigation.d.ts.map +1 -0
  122. package/lib/Chat/useMessageNavigation.js +149 -0
  123. package/lib/Chat/useMessageNavigation.js.map +1 -0
  124. package/lib/Chat/useOptionalPeerHints.d.ts +6 -0
  125. package/lib/Chat/useOptionalPeerHints.d.ts.map +1 -0
  126. package/lib/Chat/useOptionalPeerHints.js +63 -0
  127. package/lib/Chat/useOptionalPeerHints.js.map +1 -0
  128. package/lib/Chat/useResolvedReactions.d.ts +31 -0
  129. package/lib/Chat/useResolvedReactions.d.ts.map +1 -0
  130. package/lib/Chat/useResolvedReactions.js +95 -0
  131. package/lib/Chat/useResolvedReactions.js.map +1 -0
  132. package/lib/ChatAvatar.d.ts.map +1 -1
  133. package/lib/ChatAvatar.js +229 -84
  134. package/lib/ChatAvatar.js.map +1 -1
  135. package/lib/ChatContext.js +20 -10
  136. package/lib/ChatContext.js.map +1 -1
  137. package/lib/ChatList/ChatListAvatar.d.ts +21 -0
  138. package/lib/ChatList/ChatListAvatar.d.ts.map +1 -0
  139. package/lib/ChatList/ChatListAvatar.js +178 -0
  140. package/lib/ChatList/ChatListAvatar.js.map +1 -0
  141. package/lib/ChatList/ChatListCell.d.ts +16 -0
  142. package/lib/ChatList/ChatListCell.d.ts.map +1 -0
  143. package/lib/ChatList/ChatListCell.js +506 -0
  144. package/lib/ChatList/ChatListCell.js.map +1 -0
  145. package/lib/ChatList/ChatListShimmer.d.ts +3 -0
  146. package/lib/ChatList/ChatListShimmer.d.ts.map +1 -0
  147. package/lib/ChatList/ChatListShimmer.js +235 -0
  148. package/lib/ChatList/ChatListShimmer.js.map +1 -0
  149. package/lib/ChatList/index.d.ts +16 -0
  150. package/lib/ChatList/index.d.ts.map +1 -0
  151. package/lib/ChatList/index.js +1301 -0
  152. package/lib/ChatList/index.js.map +1 -0
  153. package/lib/ChatList/types.d.ts +128 -0
  154. package/lib/ChatList/types.d.ts.map +1 -0
  155. package/lib/ChatList/types.js +2 -0
  156. package/lib/ChatList/types.js.map +1 -0
  157. package/lib/ChatList/useChatList.d.ts +30 -0
  158. package/lib/ChatList/useChatList.d.ts.map +1 -0
  159. package/lib/ChatList/useChatList.js +211 -0
  160. package/lib/ChatList/useChatList.js.map +1 -0
  161. package/lib/ChatList/utils.d.ts +28 -0
  162. package/lib/ChatList/utils.d.ts.map +1 -0
  163. package/lib/ChatList/utils.js +60 -0
  164. package/lib/ChatList/utils.js.map +1 -0
  165. package/lib/Color.js +19 -19
  166. package/lib/Color.js.map +1 -1
  167. package/lib/Composer.d.ts.map +1 -1
  168. package/lib/Composer.js +148 -70
  169. package/lib/Composer.js.map +1 -1
  170. package/lib/Constant.js +4 -4
  171. package/lib/Constant.js.map +1 -1
  172. package/lib/Day/index.d.ts.map +1 -1
  173. package/lib/Day/index.js +115 -28
  174. package/lib/Day/index.js.map +1 -1
  175. package/lib/Day/styles.d.ts +3 -3
  176. package/lib/Day/styles.d.ts.map +1 -1
  177. package/lib/Day/styles.js +20 -17
  178. package/lib/Day/styles.js.map +1 -1
  179. package/lib/Day/types.js.map +1 -1
  180. package/lib/Icons.d.ts +1 -1
  181. package/lib/Icons.d.ts.map +1 -1
  182. package/lib/Icons.js.map +1 -1
  183. package/lib/InputToolbar/FieldGroup.d.ts +28 -0
  184. package/lib/InputToolbar/FieldGroup.d.ts.map +1 -0
  185. package/lib/InputToolbar/FieldGroup.js +143 -0
  186. package/lib/InputToolbar/FieldGroup.js.map +1 -0
  187. package/lib/InputToolbar/TakePreviewBar.d.ts +17 -0
  188. package/lib/InputToolbar/TakePreviewBar.d.ts.map +1 -0
  189. package/lib/InputToolbar/TakePreviewBar.js +126 -0
  190. package/lib/InputToolbar/TakePreviewBar.js.map +1 -0
  191. package/lib/InputToolbar/animations.d.ts +105 -0
  192. package/lib/InputToolbar/animations.d.ts.map +1 -0
  193. package/lib/InputToolbar/animations.js +238 -0
  194. package/lib/InputToolbar/animations.js.map +1 -0
  195. package/lib/InputToolbar/fragments.d.ts +13 -0
  196. package/lib/InputToolbar/fragments.d.ts.map +1 -0
  197. package/lib/InputToolbar/fragments.js +207 -0
  198. package/lib/InputToolbar/fragments.js.map +1 -0
  199. package/lib/InputToolbar/index.d.ts +7 -0
  200. package/lib/InputToolbar/index.d.ts.map +1 -0
  201. package/lib/InputToolbar/index.js +444 -0
  202. package/lib/InputToolbar/index.js.map +1 -0
  203. package/lib/InputToolbar/recordingOptions.d.ts +14 -0
  204. package/lib/InputToolbar/recordingOptions.d.ts.map +1 -0
  205. package/lib/InputToolbar/recordingOptions.js +38 -0
  206. package/lib/InputToolbar/recordingOptions.js.map +1 -0
  207. package/lib/InputToolbar/styles.d.ts +118 -0
  208. package/lib/InputToolbar/styles.d.ts.map +1 -0
  209. package/lib/InputToolbar/styles.js +139 -0
  210. package/lib/InputToolbar/styles.js.map +1 -0
  211. package/lib/InputToolbar/types.d.ts +77 -0
  212. package/lib/InputToolbar/types.d.ts.map +1 -0
  213. package/lib/InputToolbar/types.js +2 -0
  214. package/lib/InputToolbar/types.js.map +1 -0
  215. package/lib/InputToolbar/useActionsFragment.d.ts +6 -0
  216. package/lib/InputToolbar/useActionsFragment.d.ts.map +1 -0
  217. package/lib/InputToolbar/useActionsFragment.js +139 -0
  218. package/lib/InputToolbar/useActionsFragment.js.map +1 -0
  219. package/lib/InputToolbar/useComposerEditing.d.ts +11 -0
  220. package/lib/InputToolbar/useComposerEditing.d.ts.map +1 -0
  221. package/lib/InputToolbar/useComposerEditing.js +116 -0
  222. package/lib/InputToolbar/useComposerEditing.js.map +1 -0
  223. package/lib/InputToolbar/useEmojiButton.d.ts +14 -0
  224. package/lib/InputToolbar/useEmojiButton.d.ts.map +1 -0
  225. package/lib/InputToolbar/useEmojiButton.js +120 -0
  226. package/lib/InputToolbar/useEmojiButton.js.map +1 -0
  227. package/lib/InputToolbar/useKeyboardInset.d.ts +9 -0
  228. package/lib/InputToolbar/useKeyboardInset.d.ts.map +1 -0
  229. package/lib/InputToolbar/useKeyboardInset.js +25 -0
  230. package/lib/InputToolbar/useKeyboardInset.js.map +1 -0
  231. package/lib/InputToolbar/useRecordMode.d.ts +19 -0
  232. package/lib/InputToolbar/useRecordMode.d.ts.map +1 -0
  233. package/lib/InputToolbar/useRecordMode.js +124 -0
  234. package/lib/InputToolbar/useRecordMode.js.map +1 -0
  235. package/lib/InputToolbar/useRecordTake.d.ts +46 -0
  236. package/lib/InputToolbar/useRecordTake.d.ts.map +1 -0
  237. package/lib/InputToolbar/useRecordTake.js +315 -0
  238. package/lib/InputToolbar/useRecordTake.js.map +1 -0
  239. package/lib/InputToolbar/useReturnAnimations.d.ts +18 -0
  240. package/lib/InputToolbar/useReturnAnimations.d.ts.map +1 -0
  241. package/lib/InputToolbar/useReturnAnimations.js +30 -0
  242. package/lib/InputToolbar/useReturnAnimations.js.map +1 -0
  243. package/lib/InputToolbar/useRightControl.d.ts +40 -0
  244. package/lib/InputToolbar/useRightControl.d.ts.map +1 -0
  245. package/lib/InputToolbar/useRightControl.js +129 -0
  246. package/lib/InputToolbar/useRightControl.js.map +1 -0
  247. package/lib/LoadEarlierMessages.d.ts +2 -0
  248. package/lib/LoadEarlierMessages.d.ts.map +1 -1
  249. package/lib/LoadEarlierMessages.js +153 -40
  250. package/lib/LoadEarlierMessages.js.map +1 -1
  251. package/lib/Message/SwipeToReply.d.ts +23 -0
  252. package/lib/Message/SwipeToReply.d.ts.map +1 -0
  253. package/lib/Message/SwipeToReply.js +337 -0
  254. package/lib/Message/SwipeToReply.js.map +1 -0
  255. package/lib/Message/index.d.ts.map +1 -1
  256. package/lib/Message/index.js +415 -176
  257. package/lib/Message/index.js.map +1 -1
  258. package/lib/Message/styles.d.ts +2 -2
  259. package/lib/Message/styles.js +14 -14
  260. package/lib/Message/styles.js.map +1 -1
  261. package/lib/Message/types.d.ts +5 -0
  262. package/lib/Message/types.d.ts.map +1 -1
  263. package/lib/Message/types.js.map +1 -1
  264. package/lib/MessageAudio.d.ts.map +1 -1
  265. package/lib/MessageAudio.js +647 -107
  266. package/lib/MessageAudio.js.map +1 -1
  267. package/lib/MessageFile.d.ts +11 -0
  268. package/lib/MessageFile.d.ts.map +1 -0
  269. package/lib/MessageFile.js +315 -0
  270. package/lib/MessageFile.js.map +1 -0
  271. package/lib/MessageImage.d.ts +2 -0
  272. package/lib/MessageImage.d.ts.map +1 -1
  273. package/lib/MessageImage.js +430 -156
  274. package/lib/MessageImage.js.map +1 -1
  275. package/lib/MessageLocation.d.ts.map +1 -1
  276. package/lib/MessageLocation.js +180 -68
  277. package/lib/MessageLocation.js.map +1 -1
  278. package/lib/MessageText.d.ts +8 -1
  279. package/lib/MessageText.d.ts.map +1 -1
  280. package/lib/MessageText.js +261 -69
  281. package/lib/MessageText.js.map +1 -1
  282. package/lib/MessageVideo/ExpoVideoPlayer.d.ts +6 -0
  283. package/lib/MessageVideo/ExpoVideoPlayer.d.ts.map +1 -0
  284. package/lib/MessageVideo/ExpoVideoPlayer.js +68 -0
  285. package/lib/MessageVideo/ExpoVideoPlayer.js.map +1 -0
  286. package/lib/MessageVideo/MirroredVideo.d.ts +17 -0
  287. package/lib/MessageVideo/MirroredVideo.d.ts.map +1 -0
  288. package/lib/MessageVideo/MirroredVideo.js +223 -0
  289. package/lib/MessageVideo/MirroredVideo.js.map +1 -0
  290. package/lib/MessageVideo/RoundNotePlayer.d.ts +4 -0
  291. package/lib/MessageVideo/RoundNotePlayer.d.ts.map +1 -0
  292. package/lib/MessageVideo/RoundNotePlayer.js +560 -0
  293. package/lib/MessageVideo/RoundNotePlayer.js.map +1 -0
  294. package/lib/MessageVideo/RoundTranscription.d.ts +27 -0
  295. package/lib/MessageVideo/RoundTranscription.d.ts.map +1 -0
  296. package/lib/MessageVideo/RoundTranscription.js +151 -0
  297. package/lib/MessageVideo/RoundTranscription.js.map +1 -0
  298. package/lib/MessageVideo/VideoTransferOverlay.d.ts +11 -0
  299. package/lib/MessageVideo/VideoTransferOverlay.d.ts.map +1 -0
  300. package/lib/MessageVideo/VideoTransferOverlay.js +88 -0
  301. package/lib/MessageVideo/VideoTransferOverlay.js.map +1 -0
  302. package/lib/MessageVideo/constants.d.ts +13 -0
  303. package/lib/MessageVideo/constants.d.ts.map +1 -0
  304. package/lib/MessageVideo/constants.js +15 -0
  305. package/lib/MessageVideo/constants.js.map +1 -0
  306. package/lib/{MessageVideo.d.ts → MessageVideo/index.d.ts} +2 -2
  307. package/lib/MessageVideo/index.d.ts.map +1 -0
  308. package/lib/MessageVideo/index.js +92 -0
  309. package/lib/MessageVideo/index.js.map +1 -0
  310. package/lib/MessageVideo/liftedMedia.d.ts +13 -0
  311. package/lib/MessageVideo/liftedMedia.d.ts.map +1 -0
  312. package/lib/MessageVideo/liftedMedia.js +106 -0
  313. package/lib/MessageVideo/liftedMedia.js.map +1 -0
  314. package/lib/MessageVideo/styles.d.ts +71 -0
  315. package/lib/MessageVideo/styles.d.ts.map +1 -0
  316. package/lib/MessageVideo/styles.js +78 -0
  317. package/lib/MessageVideo/styles.js.map +1 -0
  318. package/lib/MessageVideo/types.d.ts +27 -0
  319. package/lib/MessageVideo/types.d.ts.map +1 -0
  320. package/lib/MessageVideo/types.js +2 -0
  321. package/lib/MessageVideo/types.js.map +1 -0
  322. package/lib/MessageVideo/useNoteGrow.d.ts +16 -0
  323. package/lib/MessageVideo/useNoteGrow.d.ts.map +1 -0
  324. package/lib/MessageVideo/useNoteGrow.js +122 -0
  325. package/lib/MessageVideo/useNoteGrow.js.map +1 -0
  326. package/lib/MessageVideo/useNotePlayer.d.ts +14 -0
  327. package/lib/MessageVideo/useNotePlayer.d.ts.map +1 -0
  328. package/lib/MessageVideo/useNotePlayer.js +142 -0
  329. package/lib/MessageVideo/useNotePlayer.js.map +1 -0
  330. package/lib/MessageVideo/useRingSeek.d.ts +16 -0
  331. package/lib/MessageVideo/useRingSeek.d.ts.map +1 -0
  332. package/lib/MessageVideo/useRingSeek.js +157 -0
  333. package/lib/MessageVideo/useRingSeek.js.map +1 -0
  334. package/lib/MessageVideo/useRoundNotePlayback.d.ts +46 -0
  335. package/lib/MessageVideo/useRoundNotePlayback.d.ts.map +1 -0
  336. package/lib/MessageVideo/useRoundNotePlayback.js +508 -0
  337. package/lib/MessageVideo/useRoundNotePlayback.js.map +1 -0
  338. package/lib/MessageVideo/useSendFlightReveal.d.ts +9 -0
  339. package/lib/MessageVideo/useSendFlightReveal.d.ts.map +1 -0
  340. package/lib/MessageVideo/useSendFlightReveal.js +85 -0
  341. package/lib/MessageVideo/useSendFlightReveal.js.map +1 -0
  342. package/lib/MessageVideo/videoPlayers.d.ts +8 -0
  343. package/lib/MessageVideo/videoPlayers.d.ts.map +1 -0
  344. package/lib/MessageVideo/videoPlayers.js +33 -0
  345. package/lib/MessageVideo/videoPlayers.js.map +1 -0
  346. package/lib/MessagesContainer/components/DayAnimated/debug.js +38 -24
  347. package/lib/MessagesContainer/components/DayAnimated/debug.js.map +1 -1
  348. package/lib/MessagesContainer/components/DayAnimated/index.d.ts +1 -1
  349. package/lib/MessagesContainer/components/DayAnimated/index.d.ts.map +1 -1
  350. package/lib/MessagesContainer/components/DayAnimated/index.js +244 -112
  351. package/lib/MessagesContainer/components/DayAnimated/index.js.map +1 -1
  352. package/lib/MessagesContainer/components/DayAnimated/styles.d.ts +3 -3
  353. package/lib/MessagesContainer/components/DayAnimated/styles.js +8 -8
  354. package/lib/MessagesContainer/components/DayAnimated/styles.js.map +1 -1
  355. package/lib/MessagesContainer/components/DayAnimated/types.d.ts +4 -2
  356. package/lib/MessagesContainer/components/DayAnimated/types.d.ts.map +1 -1
  357. package/lib/MessagesContainer/components/DayAnimated/types.js.map +1 -1
  358. package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.d.ts.map +1 -1
  359. package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.js +34 -25
  360. package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.js.map +1 -1
  361. package/lib/MessagesContainer/components/Item/index.d.ts +3 -4
  362. package/lib/MessagesContainer/components/Item/index.d.ts.map +1 -1
  363. package/lib/MessagesContainer/components/Item/index.js +290 -99
  364. package/lib/MessagesContainer/components/Item/index.js.map +1 -1
  365. package/lib/MessagesContainer/components/Item/types.d.ts +5 -0
  366. package/lib/MessagesContainer/components/Item/types.d.ts.map +1 -1
  367. package/lib/MessagesContainer/components/Item/types.js.map +1 -1
  368. package/lib/MessagesContainer/components/PageDownCounter.d.ts +14 -0
  369. package/lib/MessagesContainer/components/PageDownCounter.d.ts.map +1 -0
  370. package/lib/MessagesContainer/components/PageDownCounter.js +209 -0
  371. package/lib/MessagesContainer/components/PageDownCounter.js.map +1 -0
  372. package/lib/MessagesContainer/components/ScrollToBottomButton.d.ts +21 -0
  373. package/lib/MessagesContainer/components/ScrollToBottomButton.d.ts.map +1 -0
  374. package/lib/MessagesContainer/components/ScrollToBottomButton.js +195 -0
  375. package/lib/MessagesContainer/components/ScrollToBottomButton.js.map +1 -0
  376. package/lib/MessagesContainer/components/dayLayout.d.ts +2 -2
  377. package/lib/MessagesContainer/components/dayLayout.d.ts.map +1 -1
  378. package/lib/MessagesContainer/components/dayLayout.js +18 -13
  379. package/lib/MessagesContainer/components/dayLayout.js.map +1 -1
  380. package/lib/MessagesContainer/index.d.ts.map +1 -1
  381. package/lib/MessagesContainer/index.js +361 -420
  382. package/lib/MessagesContainer/index.js.map +1 -1
  383. package/lib/MessagesContainer/listState.d.ts +18 -0
  384. package/lib/MessagesContainer/listState.d.ts.map +1 -0
  385. package/lib/MessagesContainer/listState.js +25 -0
  386. package/lib/MessagesContainer/listState.js.map +1 -0
  387. package/lib/MessagesContainer/listTransitions.d.ts +10 -0
  388. package/lib/MessagesContainer/listTransitions.d.ts.map +1 -0
  389. package/lib/MessagesContainer/listTransitions.js +12 -0
  390. package/lib/MessagesContainer/listTransitions.js.map +1 -0
  391. package/lib/MessagesContainer/pageDownReturn.d.ts +11 -0
  392. package/lib/MessagesContainer/pageDownReturn.d.ts.map +1 -0
  393. package/lib/MessagesContainer/pageDownReturn.js +9 -0
  394. package/lib/MessagesContainer/pageDownReturn.js.map +1 -0
  395. package/lib/MessagesContainer/rowConfig.d.ts +39 -0
  396. package/lib/MessagesContainer/rowConfig.d.ts.map +1 -0
  397. package/lib/MessagesContainer/rowConfig.js +161 -0
  398. package/lib/MessagesContainer/rowConfig.js.map +1 -0
  399. package/lib/MessagesContainer/rowStore.d.ts +37 -0
  400. package/lib/MessagesContainer/rowStore.d.ts.map +1 -0
  401. package/lib/MessagesContainer/rowStore.js +140 -0
  402. package/lib/MessagesContainer/rowStore.js.map +1 -0
  403. package/lib/MessagesContainer/styles.d.ts +37 -31
  404. package/lib/MessagesContainer/styles.d.ts.map +1 -1
  405. package/lib/MessagesContainer/styles.js +75 -54
  406. package/lib/MessagesContainer/styles.js.map +1 -1
  407. package/lib/MessagesContainer/types.d.ts +33 -30
  408. package/lib/MessagesContainer/types.d.ts.map +1 -1
  409. package/lib/MessagesContainer/types.js +1 -9
  410. package/lib/MessagesContainer/types.js.map +1 -1
  411. package/lib/MessagesContainer/useCellLayouts.d.ts +17 -0
  412. package/lib/MessagesContainer/useCellLayouts.d.ts.map +1 -0
  413. package/lib/MessagesContainer/useCellLayouts.js +133 -0
  414. package/lib/MessagesContainer/useCellLayouts.js.map +1 -0
  415. package/lib/MessagesContainer/useDaysPositions.d.ts +18 -0
  416. package/lib/MessagesContainer/useDaysPositions.d.ts.map +1 -0
  417. package/lib/MessagesContainer/useDaysPositions.js +109 -0
  418. package/lib/MessagesContainer/useDaysPositions.js.map +1 -0
  419. package/lib/MessagesContainer/useListChrome.d.ts +14 -0
  420. package/lib/MessagesContainer/useListChrome.d.ts.map +1 -0
  421. package/lib/MessagesContainer/useListChrome.js +176 -0
  422. package/lib/MessagesContainer/useListChrome.js.map +1 -0
  423. package/lib/MessagesContainer/useListMetrics.d.ts +32 -0
  424. package/lib/MessagesContainer/useListMetrics.d.ts.map +1 -0
  425. package/lib/MessagesContainer/useListMetrics.js +176 -0
  426. package/lib/MessagesContainer/useListMetrics.js.map +1 -0
  427. package/lib/MessagesContainer/useMessageRows.d.ts +46 -0
  428. package/lib/MessagesContainer/useMessageRows.d.ts.map +1 -0
  429. package/lib/MessagesContainer/useMessageRows.js +228 -0
  430. package/lib/MessagesContainer/useMessageRows.js.map +1 -0
  431. package/lib/MessagesContainer/usePageDownUnread.d.ts +27 -0
  432. package/lib/MessagesContainer/usePageDownUnread.d.ts.map +1 -0
  433. package/lib/MessagesContainer/usePageDownUnread.js +152 -0
  434. package/lib/MessagesContainer/usePageDownUnread.js.map +1 -0
  435. package/lib/MessagesContainer/useScrollActivity.d.ts +13 -0
  436. package/lib/MessagesContainer/useScrollActivity.d.ts.map +1 -0
  437. package/lib/MessagesContainer/useScrollActivity.js +84 -0
  438. package/lib/MessagesContainer/useScrollActivity.js.map +1 -0
  439. package/lib/MessagesContainer/useScrollToBottom.d.ts +26 -0
  440. package/lib/MessagesContainer/useScrollToBottom.d.ts.map +1 -0
  441. package/lib/MessagesContainer/useScrollToBottom.js +164 -0
  442. package/lib/MessagesContainer/useScrollToBottom.js.map +1 -0
  443. package/lib/MessagesContainer/useTapToClosePanels.d.ts +7 -0
  444. package/lib/MessagesContainer/useTapToClosePanels.d.ts.map +1 -0
  445. package/lib/MessagesContainer/useTapToClosePanels.js +55 -0
  446. package/lib/MessagesContainer/useTapToClosePanels.js.map +1 -0
  447. package/lib/MessagesContainer/viewability.d.ts +9 -0
  448. package/lib/MessagesContainer/viewability.d.ts.map +1 -0
  449. package/lib/MessagesContainer/viewability.js +110 -0
  450. package/lib/MessagesContainer/viewability.js.map +1 -0
  451. package/lib/Models.d.ts +188 -3
  452. package/lib/Models.d.ts.map +1 -1
  453. package/lib/Models.js.map +1 -1
  454. package/lib/QuickReplies.js +234 -101
  455. package/lib/QuickReplies.js.map +1 -1
  456. package/lib/Reactions/MessageReactions.d.ts +5 -0
  457. package/lib/Reactions/MessageReactions.d.ts.map +1 -1
  458. package/lib/Reactions/MessageReactions.js +359 -80
  459. package/lib/Reactions/MessageReactions.js.map +1 -1
  460. package/lib/Reactions/ReactionPicker.d.ts +5 -3
  461. package/lib/Reactions/ReactionPicker.d.ts.map +1 -1
  462. package/lib/Reactions/ReactionPicker.js +68 -82
  463. package/lib/Reactions/ReactionPicker.js.map +1 -1
  464. package/lib/Reactions/index.js +1 -0
  465. package/lib/Reactions/index.js.map +1 -1
  466. package/lib/Reactions/types.d.ts +49 -5
  467. package/lib/Reactions/types.d.ts.map +1 -1
  468. package/lib/Reactions/types.js.map +1 -1
  469. package/lib/Reply/index.js.map +1 -1
  470. package/lib/Reply/types.d.ts +19 -3
  471. package/lib/Reply/types.d.ts.map +1 -1
  472. package/lib/Reply/types.js.map +1 -1
  473. package/lib/Send.d.ts +2 -2
  474. package/lib/Send.d.ts.map +1 -1
  475. package/lib/Send.js +218 -47
  476. package/lib/Send.js.map +1 -1
  477. package/lib/SystemMessage.d.ts.map +1 -1
  478. package/lib/SystemMessage.js +106 -37
  479. package/lib/SystemMessage.js.map +1 -1
  480. package/lib/Theme.d.ts +320 -23
  481. package/lib/Theme.d.ts.map +1 -1
  482. package/lib/Theme.js +548 -119
  483. package/lib/Theme.js.map +1 -1
  484. package/lib/Time.d.ts +7 -0
  485. package/lib/Time.d.ts.map +1 -1
  486. package/lib/Time.js +122 -30
  487. package/lib/Time.js.map +1 -1
  488. package/lib/TypingIndicator/index.d.ts +9 -1
  489. package/lib/TypingIndicator/index.d.ts.map +1 -1
  490. package/lib/TypingIndicator/index.js +318 -94
  491. package/lib/TypingIndicator/index.js.map +1 -1
  492. package/lib/TypingIndicator/styles.d.ts +6 -2
  493. package/lib/TypingIndicator/styles.d.ts.map +1 -1
  494. package/lib/TypingIndicator/styles.js +22 -18
  495. package/lib/TypingIndicator/styles.js.map +1 -1
  496. package/lib/TypingIndicator/types.js.map +1 -1
  497. package/lib/attachments/AttachmentButton.d.ts +18 -0
  498. package/lib/attachments/AttachmentButton.d.ts.map +1 -0
  499. package/lib/attachments/AttachmentButton.js +110 -0
  500. package/lib/attachments/AttachmentButton.js.map +1 -0
  501. package/lib/attachments/AttachmentMenu/CaptionBar.d.ts +15 -0
  502. package/lib/attachments/AttachmentMenu/CaptionBar.d.ts.map +1 -0
  503. package/lib/attachments/AttachmentMenu/CaptionBar.js +165 -0
  504. package/lib/attachments/AttachmentMenu/CaptionBar.js.map +1 -0
  505. package/lib/attachments/AttachmentMenu/GalleryCell.d.ts +14 -0
  506. package/lib/attachments/AttachmentMenu/GalleryCell.d.ts.map +1 -0
  507. package/lib/attachments/AttachmentMenu/GalleryCell.js +267 -0
  508. package/lib/attachments/AttachmentMenu/GalleryCell.js.map +1 -0
  509. package/lib/attachments/AttachmentMenu/GalleryGrid.d.ts +18 -0
  510. package/lib/attachments/AttachmentMenu/GalleryGrid.d.ts.map +1 -0
  511. package/lib/attachments/AttachmentMenu/GalleryGrid.js +184 -0
  512. package/lib/attachments/AttachmentMenu/GalleryGrid.js.map +1 -0
  513. package/lib/attachments/AttachmentMenu/TabBar.d.ts +14 -0
  514. package/lib/attachments/AttachmentMenu/TabBar.d.ts.map +1 -0
  515. package/lib/attachments/AttachmentMenu/TabBar.js +127 -0
  516. package/lib/attachments/AttachmentMenu/TabBar.js.map +1 -0
  517. package/lib/attachments/AttachmentMenu/TabButton.d.ts +15 -0
  518. package/lib/attachments/AttachmentMenu/TabButton.d.ts.map +1 -0
  519. package/lib/attachments/AttachmentMenu/TabButton.js +219 -0
  520. package/lib/attachments/AttachmentMenu/TabButton.js.map +1 -0
  521. package/lib/attachments/AttachmentMenu/TabPanel.d.ts +17 -0
  522. package/lib/attachments/AttachmentMenu/TabPanel.d.ts.map +1 -0
  523. package/lib/attachments/AttachmentMenu/TabPanel.js +170 -0
  524. package/lib/attachments/AttachmentMenu/TabPanel.js.map +1 -0
  525. package/lib/attachments/AttachmentMenu/constants.d.ts +54 -0
  526. package/lib/attachments/AttachmentMenu/constants.d.ts.map +1 -0
  527. package/lib/attachments/AttachmentMenu/constants.js +79 -0
  528. package/lib/attachments/AttachmentMenu/constants.js.map +1 -0
  529. package/lib/attachments/AttachmentMenu/index.d.ts +16 -0
  530. package/lib/attachments/AttachmentMenu/index.d.ts.map +1 -0
  531. package/lib/attachments/AttachmentMenu/index.js +498 -0
  532. package/lib/attachments/AttachmentMenu/index.js.map +1 -0
  533. package/lib/attachments/AttachmentMenu/styles.d.ts +259 -0
  534. package/lib/attachments/AttachmentMenu/styles.d.ts.map +1 -0
  535. package/lib/attachments/AttachmentMenu/styles.js +262 -0
  536. package/lib/attachments/AttachmentMenu/styles.js.map +1 -0
  537. package/lib/attachments/AttachmentMenu/useSheetPresence.d.ts +14 -0
  538. package/lib/attachments/AttachmentMenu/useSheetPresence.d.ts.map +1 -0
  539. package/lib/attachments/AttachmentMenu/useSheetPresence.js +74 -0
  540. package/lib/attachments/AttachmentMenu/useSheetPresence.js.map +1 -0
  541. package/lib/attachments/buildMessages.d.ts +36 -0
  542. package/lib/attachments/buildMessages.d.ts.map +1 -0
  543. package/lib/attachments/buildMessages.js +192 -0
  544. package/lib/attachments/buildMessages.js.map +1 -0
  545. package/lib/attachments/gallery.d.ts +28 -0
  546. package/lib/attachments/gallery.d.ts.map +1 -0
  547. package/lib/attachments/gallery.js +245 -0
  548. package/lib/attachments/gallery.js.map +1 -0
  549. package/lib/attachments/types.d.ts +69 -0
  550. package/lib/attachments/types.d.ts.map +1 -0
  551. package/lib/attachments/types.js +2 -0
  552. package/lib/attachments/types.js.map +1 -0
  553. package/lib/colorUtils.d.ts +24 -0
  554. package/lib/colorUtils.d.ts.map +1 -0
  555. package/lib/colorUtils.js +71 -0
  556. package/lib/colorUtils.js.map +1 -0
  557. package/lib/components/AttachmentSheet.d.ts +1 -1
  558. package/lib/components/AttachmentSheet.d.ts.map +1 -1
  559. package/lib/components/AttachmentSheet.js +515 -155
  560. package/lib/components/AttachmentSheet.js.map +1 -1
  561. package/lib/components/BasicMarkdown.d.ts +7 -1
  562. package/lib/components/BasicMarkdown.d.ts.map +1 -1
  563. package/lib/components/BasicMarkdown.js +234 -184
  564. package/lib/components/BasicMarkdown.js.map +1 -1
  565. package/lib/components/BubbleBackground.d.ts +55 -0
  566. package/lib/components/BubbleBackground.d.ts.map +1 -0
  567. package/lib/components/BubbleBackground.js +513 -0
  568. package/lib/components/BubbleBackground.js.map +1 -0
  569. package/lib/components/ChatEmpty.d.ts +18 -0
  570. package/lib/components/ChatEmpty.d.ts.map +1 -0
  571. package/lib/components/ChatEmpty.js +125 -0
  572. package/lib/components/ChatEmpty.js.map +1 -0
  573. package/lib/components/ChatLoadingOverlay.d.ts +10 -0
  574. package/lib/components/ChatLoadingOverlay.d.ts.map +1 -0
  575. package/lib/components/ChatLoadingOverlay.js +89 -0
  576. package/lib/components/ChatLoadingOverlay.js.map +1 -0
  577. package/lib/components/ChatOverlay.d.ts +9 -0
  578. package/lib/components/ChatOverlay.d.ts.map +1 -0
  579. package/lib/components/ChatOverlay.js +60 -0
  580. package/lib/components/ChatOverlay.js.map +1 -0
  581. package/lib/components/ChatWallpaper.d.ts +32 -0
  582. package/lib/components/ChatWallpaper.d.ts.map +1 -0
  583. package/lib/components/ChatWallpaper.js +277 -0
  584. package/lib/components/ChatWallpaper.js.map +1 -0
  585. package/lib/components/ContextMenu/MenuCard.d.ts +21 -0
  586. package/lib/components/ContextMenu/MenuCard.d.ts.map +1 -0
  587. package/lib/components/ContextMenu/MenuCard.js +265 -0
  588. package/lib/components/ContextMenu/MenuCard.js.map +1 -0
  589. package/lib/components/ContextMenu/ReactionButton.d.ts +15 -0
  590. package/lib/components/ContextMenu/ReactionButton.d.ts.map +1 -0
  591. package/lib/components/ContextMenu/ReactionButton.js +116 -0
  592. package/lib/components/ContextMenu/ReactionButton.js.map +1 -0
  593. package/lib/components/ContextMenu/ReactionFlight.d.ts +14 -0
  594. package/lib/components/ContextMenu/ReactionFlight.d.ts.map +1 -0
  595. package/lib/components/ContextMenu/ReactionFlight.js +111 -0
  596. package/lib/components/ContextMenu/ReactionFlight.js.map +1 -0
  597. package/lib/components/ContextMenu/ReactionsBar.d.ts +35 -0
  598. package/lib/components/ContextMenu/ReactionsBar.d.ts.map +1 -0
  599. package/lib/components/ContextMenu/ReactionsBar.js +354 -0
  600. package/lib/components/ContextMenu/ReactionsBar.js.map +1 -0
  601. package/lib/components/ContextMenu/constants.d.ts +68 -0
  602. package/lib/components/ContextMenu/constants.d.ts.map +1 -0
  603. package/lib/components/ContextMenu/constants.js +105 -0
  604. package/lib/components/ContextMenu/constants.js.map +1 -0
  605. package/lib/components/ContextMenu/index.d.ts +12 -0
  606. package/lib/components/ContextMenu/index.d.ts.map +1 -0
  607. package/lib/components/ContextMenu/index.js +476 -0
  608. package/lib/components/ContextMenu/index.js.map +1 -0
  609. package/lib/components/ContextMenu/placement.d.ts +50 -0
  610. package/lib/components/ContextMenu/placement.d.ts.map +1 -0
  611. package/lib/components/ContextMenu/placement.js +117 -0
  612. package/lib/components/ContextMenu/placement.js.map +1 -0
  613. package/lib/components/ContextMenu/styles.d.ts +199 -0
  614. package/lib/components/ContextMenu/styles.d.ts.map +1 -0
  615. package/lib/components/ContextMenu/styles.js +169 -0
  616. package/lib/components/ContextMenu/styles.js.map +1 -0
  617. package/lib/components/ContextMenu/types.d.ts +62 -0
  618. package/lib/components/ContextMenu/types.d.ts.map +1 -0
  619. package/lib/components/ContextMenu/types.js +2 -0
  620. package/lib/components/ContextMenu/types.js.map +1 -0
  621. package/lib/components/ContextMenu/useExpandPanel.d.ts +11 -0
  622. package/lib/components/ContextMenu/useExpandPanel.d.ts.map +1 -0
  623. package/lib/components/ContextMenu/useExpandPanel.js +81 -0
  624. package/lib/components/ContextMenu/useExpandPanel.js.map +1 -0
  625. package/lib/components/ContextMenu/useMenuPresence.d.ts +17 -0
  626. package/lib/components/ContextMenu/useMenuPresence.d.ts.map +1 -0
  627. package/lib/components/ContextMenu/useMenuPresence.js +125 -0
  628. package/lib/components/ContextMenu/useMenuPresence.js.map +1 -0
  629. package/lib/components/FloatingRoundNote.d.ts +13 -0
  630. package/lib/components/FloatingRoundNote.d.ts.map +1 -0
  631. package/lib/components/FloatingRoundNote.js +541 -0
  632. package/lib/components/FloatingRoundNote.js.map +1 -0
  633. package/lib/components/GlassSurface.d.ts +16 -0
  634. package/lib/components/GlassSurface.d.ts.map +1 -0
  635. package/lib/components/GlassSurface.js +114 -0
  636. package/lib/components/GlassSurface.js.map +1 -0
  637. package/lib/components/Icon.js +57 -8
  638. package/lib/components/Icon.js.map +1 -1
  639. package/lib/components/LinkPreviewCard.d.ts +36 -0
  640. package/lib/components/LinkPreviewCard.d.ts.map +1 -0
  641. package/lib/components/LinkPreviewCard.js +416 -0
  642. package/lib/components/LinkPreviewCard.js.map +1 -0
  643. package/lib/components/LucideIcon.d.ts.map +1 -1
  644. package/lib/components/LucideIcon.js +103 -106
  645. package/lib/components/LucideIcon.js.map +1 -1
  646. package/lib/components/MarkdownMessageText.d.ts +17 -2
  647. package/lib/components/MarkdownMessageText.d.ts.map +1 -1
  648. package/lib/components/MarkdownMessageText.js +270 -22
  649. package/lib/components/MarkdownMessageText.js.map +1 -1
  650. package/lib/components/MediaCard.d.ts.map +1 -1
  651. package/lib/components/MediaCard.js +223 -85
  652. package/lib/components/MediaCard.js.map +1 -1
  653. package/lib/components/MediaControls.js +1094 -450
  654. package/lib/components/MediaControls.js.map +1 -1
  655. package/lib/components/MediaLoader.d.ts +21 -0
  656. package/lib/components/MediaLoader.d.ts.map +1 -0
  657. package/lib/components/MediaLoader.js +61 -0
  658. package/lib/components/MediaLoader.js.map +1 -0
  659. package/lib/components/MessageReply.d.ts +2 -2
  660. package/lib/components/MessageReply.d.ts.map +1 -1
  661. package/lib/components/MessageReply.js +266 -83
  662. package/lib/components/MessageReply.js.map +1 -1
  663. package/lib/components/MessageStatus.d.ts +23 -0
  664. package/lib/components/MessageStatus.d.ts.map +1 -0
  665. package/lib/components/MessageStatus.js +499 -0
  666. package/lib/components/MessageStatus.js.map +1 -0
  667. package/lib/components/NoteIndicators.d.ts +25 -0
  668. package/lib/components/NoteIndicators.d.ts.map +1 -0
  669. package/lib/components/NoteIndicators.js +206 -0
  670. package/lib/components/NoteIndicators.js.map +1 -0
  671. package/lib/components/NowPlayingBar.d.ts +15 -0
  672. package/lib/components/NowPlayingBar.d.ts.map +1 -0
  673. package/lib/components/NowPlayingBar.js +261 -0
  674. package/lib/components/NowPlayingBar.js.map +1 -0
  675. package/lib/components/PlayPauseIcon.d.ts +13 -0
  676. package/lib/components/PlayPauseIcon.d.ts.map +1 -0
  677. package/lib/components/PlayPauseIcon.js +187 -0
  678. package/lib/components/PlayPauseIcon.js.map +1 -0
  679. package/lib/components/PlaybackSpeedPill.d.ts +11 -0
  680. package/lib/components/PlaybackSpeedPill.d.ts.map +1 -0
  681. package/lib/components/PlaybackSpeedPill.js +350 -0
  682. package/lib/components/PlaybackSpeedPill.js.map +1 -0
  683. package/lib/components/RadialProgress.d.ts +70 -0
  684. package/lib/components/RadialProgress.d.ts.map +1 -0
  685. package/lib/components/RadialProgress.js +864 -0
  686. package/lib/components/RadialProgress.js.map +1 -0
  687. package/lib/components/RecordButton/LockPill.d.ts +27 -0
  688. package/lib/components/RecordButton/LockPill.d.ts.map +1 -0
  689. package/lib/components/RecordButton/LockPill.js +182 -0
  690. package/lib/components/RecordButton/LockPill.js.map +1 -0
  691. package/lib/components/RecordButton/ModeButton.d.ts +18 -0
  692. package/lib/components/RecordButton/ModeButton.d.ts.map +1 -0
  693. package/lib/components/RecordButton/ModeButton.js +154 -0
  694. package/lib/components/RecordButton/ModeButton.js.map +1 -0
  695. package/lib/components/RecordButton/ResumeButton.d.ts +20 -0
  696. package/lib/components/RecordButton/ResumeButton.d.ts.map +1 -0
  697. package/lib/components/RecordButton/ResumeButton.js +63 -0
  698. package/lib/components/RecordButton/ResumeButton.js.map +1 -0
  699. package/lib/components/RecordButton/Tooltips.d.ts +20 -0
  700. package/lib/components/RecordButton/Tooltips.d.ts.map +1 -0
  701. package/lib/components/RecordButton/Tooltips.js +191 -0
  702. package/lib/components/RecordButton/Tooltips.js.map +1 -0
  703. package/lib/components/RecordButton/ViewOnceButton.d.ts +16 -0
  704. package/lib/components/RecordButton/ViewOnceButton.d.ts.map +1 -0
  705. package/lib/components/RecordButton/ViewOnceButton.js +96 -0
  706. package/lib/components/RecordButton/ViewOnceButton.js.map +1 -0
  707. package/lib/components/RecordButton/constants.d.ts +52 -0
  708. package/lib/components/RecordButton/constants.d.ts.map +1 -0
  709. package/lib/components/RecordButton/constants.js +58 -0
  710. package/lib/components/RecordButton/constants.js.map +1 -0
  711. package/lib/components/RecordButton/index.d.ts +14 -0
  712. package/lib/components/RecordButton/index.d.ts.map +1 -0
  713. package/lib/components/RecordButton/index.js +382 -0
  714. package/lib/components/RecordButton/index.js.map +1 -0
  715. package/lib/components/RecordButton/styles.d.ts +155 -0
  716. package/lib/components/RecordButton/styles.d.ts.map +1 -0
  717. package/lib/components/RecordButton/styles.js +161 -0
  718. package/lib/components/RecordButton/styles.js.map +1 -0
  719. package/lib/components/RecordButton/types.d.ts +63 -0
  720. package/lib/components/RecordButton/types.d.ts.map +1 -0
  721. package/lib/components/RecordButton/types.js +2 -0
  722. package/lib/components/RecordButton/types.js.map +1 -0
  723. package/lib/components/RecordButton/useRecordGesture.d.ts +28 -0
  724. package/lib/components/RecordButton/useRecordGesture.d.ts.map +1 -0
  725. package/lib/components/RecordButton/useRecordGesture.js +263 -0
  726. package/lib/components/RecordButton/useRecordGesture.js.map +1 -0
  727. package/lib/components/RecordButton/useRecordHints.d.ts +27 -0
  728. package/lib/components/RecordButton/useRecordHints.d.ts.map +1 -0
  729. package/lib/components/RecordButton/useRecordHints.js +210 -0
  730. package/lib/components/RecordButton/useRecordHints.js.map +1 -0
  731. package/lib/components/RecordButton/useRecordSlideDistance.d.ts +3 -0
  732. package/lib/components/RecordButton/useRecordSlideDistance.d.ts.map +1 -0
  733. package/lib/components/RecordButton/useRecordSlideDistance.js +15 -0
  734. package/lib/components/RecordButton/useRecordSlideDistance.js.map +1 -0
  735. package/lib/components/RecordButton/useRecordTake.d.ts +41 -0
  736. package/lib/components/RecordButton/useRecordTake.d.ts.map +1 -0
  737. package/lib/components/RecordButton/useRecordTake.js +349 -0
  738. package/lib/components/RecordButton/useRecordTake.js.map +1 -0
  739. package/lib/components/RecordButton/useSendFlight.d.ts +25 -0
  740. package/lib/components/RecordButton/useSendFlight.d.ts.map +1 -0
  741. package/lib/components/RecordButton/useSendFlight.js +162 -0
  742. package/lib/components/RecordButton/useSendFlight.js.map +1 -0
  743. package/lib/components/RecordCircle.d.ts +92 -0
  744. package/lib/components/RecordCircle.d.ts.map +1 -0
  745. package/lib/components/RecordCircle.js +629 -0
  746. package/lib/components/RecordCircle.js.map +1 -0
  747. package/lib/components/RecordingBar.d.ts +24 -0
  748. package/lib/components/RecordingBar.d.ts.map +1 -0
  749. package/lib/components/RecordingBar.js +766 -0
  750. package/lib/components/RecordingBar.js.map +1 -0
  751. package/lib/components/ReplyPreview.js +318 -135
  752. package/lib/components/ReplyPreview.js.map +1 -1
  753. package/lib/components/SelectionBar.d.ts +17 -0
  754. package/lib/components/SelectionBar.d.ts.map +1 -0
  755. package/lib/components/SelectionBar.js +214 -0
  756. package/lib/components/SelectionBar.js.map +1 -0
  757. package/lib/components/SelectionCheckbox.d.ts +12 -0
  758. package/lib/components/SelectionCheckbox.d.ts.map +1 -0
  759. package/lib/components/SelectionCheckbox.js +104 -0
  760. package/lib/components/SelectionCheckbox.js.map +1 -0
  761. package/lib/components/SendIcon.js +60 -26
  762. package/lib/components/SendIcon.js.map +1 -1
  763. package/lib/components/ServiceSpinner.d.ts +17 -0
  764. package/lib/components/ServiceSpinner.d.ts.map +1 -0
  765. package/lib/components/ServiceSpinner.js +77 -0
  766. package/lib/components/ServiceSpinner.js.map +1 -0
  767. package/lib/components/Spinner.d.ts +18 -0
  768. package/lib/components/Spinner.d.ts.map +1 -0
  769. package/lib/components/Spinner.js +169 -0
  770. package/lib/components/Spinner.js.map +1 -0
  771. package/lib/components/StreamingCursor.js +54 -9
  772. package/lib/components/StreamingCursor.js.map +1 -1
  773. package/lib/components/Ticks.d.ts +6 -5
  774. package/lib/components/Ticks.d.ts.map +1 -1
  775. package/lib/components/Ticks.js +272 -82
  776. package/lib/components/Ticks.js.map +1 -1
  777. package/lib/components/TouchableOpacity.d.ts.map +1 -1
  778. package/lib/components/TouchableOpacity.js +154 -48
  779. package/lib/components/TouchableOpacity.js.map +1 -1
  780. package/lib/components/TranscribeButton.d.ts +45 -0
  781. package/lib/components/TranscribeButton.d.ts.map +1 -0
  782. package/lib/components/TranscribeButton.js +549 -0
  783. package/lib/components/TranscribeButton.js.map +1 -0
  784. package/lib/components/TypingStatus.d.ts +29 -0
  785. package/lib/components/TypingStatus.d.ts.map +1 -0
  786. package/lib/components/TypingStatus.js +446 -0
  787. package/lib/components/TypingStatus.js.map +1 -0
  788. package/lib/components/UnreadSeparator.d.ts +8 -0
  789. package/lib/components/UnreadSeparator.d.ts.map +1 -0
  790. package/lib/components/UnreadSeparator.js +101 -0
  791. package/lib/components/UnreadSeparator.js.map +1 -0
  792. package/lib/components/VideoNoteCapture/ProgressRing.d.ts +16 -0
  793. package/lib/components/VideoNoteCapture/ProgressRing.d.ts.map +1 -0
  794. package/lib/components/VideoNoteCapture/ProgressRing.js +75 -0
  795. package/lib/components/VideoNoteCapture/ProgressRing.js.map +1 -0
  796. package/lib/components/VideoNoteCapture/VideoNoteCaptureView.d.ts +31 -0
  797. package/lib/components/VideoNoteCapture/VideoNoteCaptureView.d.ts.map +1 -0
  798. package/lib/components/VideoNoteCapture/VideoNoteCaptureView.js +500 -0
  799. package/lib/components/VideoNoteCapture/VideoNoteCaptureView.js.map +1 -0
  800. package/lib/components/VideoNoteCapture/VideoNotePreviewView.d.ts +12 -0
  801. package/lib/components/VideoNoteCapture/VideoNotePreviewView.d.ts.map +1 -0
  802. package/lib/components/VideoNoteCapture/VideoNotePreviewView.js +105 -0
  803. package/lib/components/VideoNoteCapture/VideoNotePreviewView.js.map +1 -0
  804. package/lib/components/VideoNoteCapture/VideoNoteStage.d.ts +12 -0
  805. package/lib/components/VideoNoteCapture/VideoNoteStage.d.ts.map +1 -0
  806. package/lib/components/VideoNoteCapture/VideoNoteStage.js +95 -0
  807. package/lib/components/VideoNoteCapture/VideoNoteStage.js.map +1 -0
  808. package/lib/components/VideoNoteCapture/constants.d.ts +50 -0
  809. package/lib/components/VideoNoteCapture/constants.d.ts.map +1 -0
  810. package/lib/components/VideoNoteCapture/constants.js +53 -0
  811. package/lib/components/VideoNoteCapture/constants.js.map +1 -0
  812. package/lib/components/VideoNoteCapture/index.d.ts +3 -0
  813. package/lib/components/VideoNoteCapture/index.d.ts.map +1 -0
  814. package/lib/components/VideoNoteCapture/index.js +2 -0
  815. package/lib/components/VideoNoteCapture/index.js.map +1 -0
  816. package/lib/components/VideoNoteCapture/optional.d.ts +6 -0
  817. package/lib/components/VideoNoteCapture/optional.d.ts.map +1 -0
  818. package/lib/components/VideoNoteCapture/optional.js +15 -0
  819. package/lib/components/VideoNoteCapture/optional.js.map +1 -0
  820. package/lib/components/VideoNoteCapture/sessionState.d.ts +10 -0
  821. package/lib/components/VideoNoteCapture/sessionState.d.ts.map +1 -0
  822. package/lib/components/VideoNoteCapture/sessionState.js +19 -0
  823. package/lib/components/VideoNoteCapture/sessionState.js.map +1 -0
  824. package/lib/components/VideoNoteCapture/styles.d.ts +84 -0
  825. package/lib/components/VideoNoteCapture/styles.d.ts.map +1 -0
  826. package/lib/components/VideoNoteCapture/styles.js +86 -0
  827. package/lib/components/VideoNoteCapture/styles.js.map +1 -0
  828. package/lib/components/VideoNoteCapture/types.d.ts +54 -0
  829. package/lib/components/VideoNoteCapture/types.d.ts.map +1 -0
  830. package/lib/components/VideoNoteCapture/types.js +2 -0
  831. package/lib/components/VideoNoteCapture/types.js.map +1 -0
  832. package/lib/components/VideoNoteCapture/useRoundAnimation.d.ts +47 -0
  833. package/lib/components/VideoNoteCapture/useRoundAnimation.d.ts.map +1 -0
  834. package/lib/components/VideoNoteCapture/useRoundAnimation.js +216 -0
  835. package/lib/components/VideoNoteCapture/useRoundAnimation.js.map +1 -0
  836. package/lib/components/VideoNoteCapture/useRoundLayout.d.ts +14 -0
  837. package/lib/components/VideoNoteCapture/useRoundLayout.d.ts.map +1 -0
  838. package/lib/components/VideoNoteCapture/useRoundLayout.js +61 -0
  839. package/lib/components/VideoNoteCapture/useRoundLayout.js.map +1 -0
  840. package/lib/components/VideoNoteCapture/useVideoNoteSession.d.ts +25 -0
  841. package/lib/components/VideoNoteCapture/useVideoNoteSession.d.ts.map +1 -0
  842. package/lib/components/VideoNoteCapture/useVideoNoteSession.js +611 -0
  843. package/lib/components/VideoNoteCapture/useVideoNoteSession.js.map +1 -0
  844. package/lib/components/VideoNoteOverlay.d.ts +42 -11
  845. package/lib/components/VideoNoteOverlay.d.ts.map +1 -1
  846. package/lib/components/VideoNoteOverlay.js +722 -135
  847. package/lib/components/VideoNoteOverlay.js.map +1 -1
  848. package/lib/components/VideoNoteRecorder/LiveVideoNote.d.ts +6 -0
  849. package/lib/components/VideoNoteRecorder/LiveVideoNote.d.ts.map +1 -0
  850. package/lib/components/VideoNoteRecorder/LiveVideoNote.js +205 -0
  851. package/lib/components/VideoNoteRecorder/LiveVideoNote.js.map +1 -0
  852. package/lib/components/VideoNoteRecorder/RecorderChrome.d.ts +35 -0
  853. package/lib/components/VideoNoteRecorder/RecorderChrome.d.ts.map +1 -0
  854. package/lib/components/VideoNoteRecorder/RecorderChrome.js +350 -0
  855. package/lib/components/VideoNoteRecorder/RecorderChrome.js.map +1 -0
  856. package/lib/components/VideoNoteRecorder/UnavailableVideoNote.d.ts +10 -0
  857. package/lib/components/VideoNoteRecorder/UnavailableVideoNote.d.ts.map +1 -0
  858. package/lib/components/VideoNoteRecorder/UnavailableVideoNote.js +52 -0
  859. package/lib/components/VideoNoteRecorder/UnavailableVideoNote.js.map +1 -0
  860. package/lib/components/VideoNoteRecorder/constants.d.ts +16 -0
  861. package/lib/components/VideoNoteRecorder/constants.d.ts.map +1 -0
  862. package/lib/components/VideoNoteRecorder/constants.js +30 -0
  863. package/lib/components/VideoNoteRecorder/constants.js.map +1 -0
  864. package/lib/components/{VideoNoteRecorder.d.ts → VideoNoteRecorder/index.d.ts} +5 -10
  865. package/lib/components/VideoNoteRecorder/index.d.ts.map +1 -0
  866. package/lib/components/VideoNoteRecorder/index.js +26 -0
  867. package/lib/components/VideoNoteRecorder/index.js.map +1 -0
  868. package/lib/components/VideoNoteRecorder/styles.d.ts +159 -0
  869. package/lib/components/VideoNoteRecorder/styles.d.ts.map +1 -0
  870. package/lib/components/VideoNoteRecorder/styles.js +170 -0
  871. package/lib/components/VideoNoteRecorder/styles.js.map +1 -0
  872. package/lib/components/VideoNoteRecorder/types.d.ts +7 -0
  873. package/lib/components/VideoNoteRecorder/types.d.ts.map +1 -0
  874. package/lib/components/VideoNoteRecorder/types.js +2 -0
  875. package/lib/components/VideoNoteRecorder/types.js.map +1 -0
  876. package/lib/components/VideoNoteRecorder/useRecordingTimer.d.ts +10 -0
  877. package/lib/components/VideoNoteRecorder/useRecordingTimer.d.ts.map +1 -0
  878. package/lib/components/VideoNoteRecorder/useRecordingTimer.js +134 -0
  879. package/lib/components/VideoNoteRecorder/useRecordingTimer.js.map +1 -0
  880. package/lib/components/VideoNoteRecorder/useVideoNoteRecording.d.ts +28 -0
  881. package/lib/components/VideoNoteRecorder/useVideoNoteRecording.d.ts.map +1 -0
  882. package/lib/components/VideoNoteRecorder/useVideoNoteRecording.js +287 -0
  883. package/lib/components/VideoNoteRecorder/useVideoNoteRecording.js.map +1 -0
  884. package/lib/components/VideoNoteRecorder/visionCameraHooks.d.ts +6 -0
  885. package/lib/components/VideoNoteRecorder/visionCameraHooks.d.ts.map +1 -0
  886. package/lib/components/VideoNoteRecorder/visionCameraHooks.js +11 -0
  887. package/lib/components/VideoNoteRecorder/visionCameraHooks.js.map +1 -0
  888. package/lib/components/VideoRecordButton.d.ts +1 -1
  889. package/lib/components/VideoRecordButton.d.ts.map +1 -1
  890. package/lib/components/VideoRecordButton.js +221 -92
  891. package/lib/components/VideoRecordButton.js.map +1 -1
  892. package/lib/components/ViewOnceBadge.d.ts +23 -0
  893. package/lib/components/ViewOnceBadge.d.ts.map +1 -0
  894. package/lib/components/ViewOnceBadge.js +233 -0
  895. package/lib/components/ViewOnceBadge.js.map +1 -0
  896. package/lib/components/VoiceMessageInput/RecordedVoicePreview.d.ts +16 -0
  897. package/lib/components/VoiceMessageInput/RecordedVoicePreview.d.ts.map +1 -0
  898. package/lib/components/VoiceMessageInput/RecordedVoicePreview.js +503 -0
  899. package/lib/components/VoiceMessageInput/RecordedVoicePreview.js.map +1 -0
  900. package/lib/components/VoiceMessageInput/constants.d.ts +16 -0
  901. package/lib/components/VoiceMessageInput/constants.d.ts.map +1 -0
  902. package/lib/components/VoiceMessageInput/constants.js +22 -0
  903. package/lib/components/VoiceMessageInput/constants.js.map +1 -0
  904. package/lib/components/VoiceMessageInput/formatElapsed.d.ts +2 -0
  905. package/lib/components/VoiceMessageInput/formatElapsed.d.ts.map +1 -0
  906. package/lib/components/VoiceMessageInput/formatElapsed.js +7 -0
  907. package/lib/components/VoiceMessageInput/formatElapsed.js.map +1 -0
  908. package/lib/components/VoiceMessageInput/index.d.ts +9 -0
  909. package/lib/components/VoiceMessageInput/index.d.ts.map +1 -0
  910. package/lib/components/VoiceMessageInput/index.js +148 -0
  911. package/lib/components/VoiceMessageInput/index.js.map +1 -0
  912. package/lib/components/VoiceMessageInput/previewStyles.d.ts +77 -0
  913. package/lib/components/VoiceMessageInput/previewStyles.d.ts.map +1 -0
  914. package/lib/components/VoiceMessageInput/previewStyles.js +80 -0
  915. package/lib/components/VoiceMessageInput/previewStyles.js.map +1 -0
  916. package/lib/components/VoiceMessageInput/previewWaveform.d.ts +15 -0
  917. package/lib/components/VoiceMessageInput/previewWaveform.d.ts.map +1 -0
  918. package/lib/components/VoiceMessageInput/previewWaveform.js +27 -0
  919. package/lib/components/VoiceMessageInput/previewWaveform.js.map +1 -0
  920. package/lib/components/VoiceMessageInput/recorder.d.ts +18 -0
  921. package/lib/components/VoiceMessageInput/recorder.d.ts.map +1 -0
  922. package/lib/components/VoiceMessageInput/recorder.js +80 -0
  923. package/lib/components/VoiceMessageInput/recorder.js.map +1 -0
  924. package/lib/components/VoiceMessageInput/types.d.ts +56 -0
  925. package/lib/components/VoiceMessageInput/types.d.ts.map +1 -0
  926. package/lib/components/VoiceMessageInput/types.js +2 -0
  927. package/lib/components/VoiceMessageInput/types.js.map +1 -0
  928. package/lib/components/VoiceMessageInput/useLazyRecorder.d.ts +7 -0
  929. package/lib/components/VoiceMessageInput/useLazyRecorder.d.ts.map +1 -0
  930. package/lib/components/VoiceMessageInput/useLazyRecorder.js +61 -0
  931. package/lib/components/VoiceMessageInput/useLazyRecorder.js.map +1 -0
  932. package/lib/components/VoiceMessageInput/useStateReport.d.ts +16 -0
  933. package/lib/components/VoiceMessageInput/useStateReport.d.ts.map +1 -0
  934. package/lib/components/VoiceMessageInput/useStateReport.js +81 -0
  935. package/lib/components/VoiceMessageInput/useStateReport.js.map +1 -0
  936. package/lib/components/VoiceMessageInput/useTakePreviewActions.d.ts +34 -0
  937. package/lib/components/VoiceMessageInput/useTakePreviewActions.d.ts.map +1 -0
  938. package/lib/components/VoiceMessageInput/useTakePreviewActions.js +207 -0
  939. package/lib/components/VoiceMessageInput/useTakePreviewActions.js.map +1 -0
  940. package/lib/components/VoiceMessageInput/useVoiceTake.d.ts +25 -0
  941. package/lib/components/VoiceMessageInput/useVoiceTake.d.ts.map +1 -0
  942. package/lib/components/VoiceMessageInput/useVoiceTake.js +424 -0
  943. package/lib/components/VoiceMessageInput/useVoiceTake.js.map +1 -0
  944. package/lib/components/WaveformPlayer/Bars.d.ts +30 -0
  945. package/lib/components/WaveformPlayer/Bars.d.ts.map +1 -0
  946. package/lib/components/WaveformPlayer/Bars.js +171 -0
  947. package/lib/components/WaveformPlayer/Bars.js.map +1 -0
  948. package/lib/components/WaveformPlayer/VoiceButton.d.ts +23 -0
  949. package/lib/components/WaveformPlayer/VoiceButton.d.ts.map +1 -0
  950. package/lib/components/WaveformPlayer/VoiceButton.js +111 -0
  951. package/lib/components/WaveformPlayer/VoiceButton.js.map +1 -0
  952. package/lib/components/WaveformPlayer/WaveformTrack.d.ts +31 -0
  953. package/lib/components/WaveformPlayer/WaveformTrack.d.ts.map +1 -0
  954. package/lib/components/WaveformPlayer/WaveformTrack.js +199 -0
  955. package/lib/components/WaveformPlayer/WaveformTrack.js.map +1 -0
  956. package/lib/components/WaveformPlayer/audio.d.ts +23 -0
  957. package/lib/components/WaveformPlayer/audio.d.ts.map +1 -0
  958. package/lib/components/WaveformPlayer/audio.js +97 -0
  959. package/lib/components/WaveformPlayer/audio.js.map +1 -0
  960. package/lib/components/WaveformPlayer/index.d.ts +13 -0
  961. package/lib/components/WaveformPlayer/index.d.ts.map +1 -0
  962. package/lib/components/WaveformPlayer/index.js +475 -0
  963. package/lib/components/WaveformPlayer/index.js.map +1 -0
  964. package/lib/components/WaveformPlayer/styles.d.ts +257 -0
  965. package/lib/components/WaveformPlayer/styles.d.ts.map +1 -0
  966. package/lib/components/WaveformPlayer/styles.js +120 -0
  967. package/lib/components/WaveformPlayer/styles.js.map +1 -0
  968. package/lib/components/WaveformPlayer/types.d.ts +32 -0
  969. package/lib/components/WaveformPlayer/types.d.ts.map +1 -0
  970. package/lib/components/WaveformPlayer/types.js +2 -0
  971. package/lib/components/WaveformPlayer/types.js.map +1 -0
  972. package/lib/components/WaveformPlayer/useSendFlightReveal.d.ts +21 -0
  973. package/lib/components/WaveformPlayer/useSendFlightReveal.d.ts.map +1 -0
  974. package/lib/components/WaveformPlayer/useSendFlightReveal.js +105 -0
  975. package/lib/components/WaveformPlayer/useSendFlightReveal.js.map +1 -0
  976. package/lib/components/WaveformPlayer/useVoicePlayback.d.ts +39 -0
  977. package/lib/components/WaveformPlayer/useVoicePlayback.d.ts.map +1 -0
  978. package/lib/components/WaveformPlayer/useVoicePlayback.js +401 -0
  979. package/lib/components/WaveformPlayer/useVoicePlayback.js.map +1 -0
  980. package/lib/components/WaveformPlayer/useVoiceSource.d.ts +38 -0
  981. package/lib/components/WaveformPlayer/useVoiceSource.d.ts.map +1 -0
  982. package/lib/components/WaveformPlayer/useVoiceSource.js +244 -0
  983. package/lib/components/WaveformPlayer/useVoiceSource.js.map +1 -0
  984. package/lib/components/WaveformPlayer/useWaveformMotion.d.ts +16 -0
  985. package/lib/components/WaveformPlayer/useWaveformMotion.d.ts.map +1 -0
  986. package/lib/components/WaveformPlayer/useWaveformMotion.js +135 -0
  987. package/lib/components/WaveformPlayer/useWaveformMotion.js.map +1 -0
  988. package/lib/components/WaveformPlayer/useWaveformScrub.d.ts +16 -0
  989. package/lib/components/WaveformPlayer/useWaveformScrub.d.ts.map +1 -0
  990. package/lib/components/WaveformPlayer/useWaveformScrub.js +168 -0
  991. package/lib/components/WaveformPlayer/useWaveformScrub.js.map +1 -0
  992. package/lib/components/composerPanels.d.ts +13 -0
  993. package/lib/components/composerPanels.d.ts.map +1 -0
  994. package/lib/components/composerPanels.js +22 -0
  995. package/lib/components/composerPanels.js.map +1 -0
  996. package/lib/components/defaultMessageActions.d.ts +30 -0
  997. package/lib/components/defaultMessageActions.d.ts.map +1 -0
  998. package/lib/components/defaultMessageActions.js +124 -0
  999. package/lib/components/defaultMessageActions.js.map +1 -0
  1000. package/lib/components/earpiece.d.ts +56 -0
  1001. package/lib/components/earpiece.d.ts.map +1 -0
  1002. package/lib/components/earpiece.js +218 -0
  1003. package/lib/components/earpiece.js.map +1 -0
  1004. package/lib/components/floatingNoteMath.d.ts +66 -0
  1005. package/lib/components/floatingNoteMath.d.ts.map +1 -0
  1006. package/lib/components/floatingNoteMath.js +143 -0
  1007. package/lib/components/floatingNoteMath.js.map +1 -0
  1008. package/lib/components/haptics.d.ts +5 -0
  1009. package/lib/components/haptics.d.ts.map +1 -0
  1010. package/lib/components/haptics.js +26 -0
  1011. package/lib/components/haptics.js.map +1 -0
  1012. package/lib/components/mediaDownload.d.ts +14 -0
  1013. package/lib/components/mediaDownload.d.ts.map +1 -0
  1014. package/lib/components/mediaDownload.js +43 -0
  1015. package/lib/components/mediaDownload.js.map +1 -0
  1016. package/lib/components/mediaPalette.d.ts +7 -2
  1017. package/lib/components/mediaPalette.d.ts.map +1 -1
  1018. package/lib/components/mediaPalette.js +27 -15
  1019. package/lib/components/mediaPalette.js.map +1 -1
  1020. package/lib/components/mediaPlayback.d.ts +204 -5
  1021. package/lib/components/mediaPlayback.d.ts.map +1 -1
  1022. package/lib/components/mediaPlayback.js +746 -17
  1023. package/lib/components/mediaPlayback.js.map +1 -1
  1024. package/lib/components/mediaTransfer.d.ts +29 -0
  1025. package/lib/components/mediaTransfer.d.ts.map +1 -0
  1026. package/lib/components/mediaTransfer.js +52 -0
  1027. package/lib/components/mediaTransfer.js.map +1 -0
  1028. package/lib/components/mediaViewer/MediaViewer.d.ts +17 -0
  1029. package/lib/components/mediaViewer/MediaViewer.d.ts.map +1 -0
  1030. package/lib/components/mediaViewer/MediaViewer.js +347 -0
  1031. package/lib/components/mediaViewer/MediaViewer.js.map +1 -0
  1032. package/lib/components/mediaViewer/MediaViewerChrome.d.ts +14 -0
  1033. package/lib/components/mediaViewer/MediaViewerChrome.d.ts.map +1 -0
  1034. package/lib/components/mediaViewer/MediaViewerChrome.js +164 -0
  1035. package/lib/components/mediaViewer/MediaViewerChrome.js.map +1 -0
  1036. package/lib/components/mediaViewer/MediaViewerHost.d.ts +10 -0
  1037. package/lib/components/mediaViewer/MediaViewerHost.d.ts.map +1 -0
  1038. package/lib/components/mediaViewer/MediaViewerHost.js +76 -0
  1039. package/lib/components/mediaViewer/MediaViewerHost.js.map +1 -0
  1040. package/lib/components/mediaViewer/MediaViewerPage.d.ts +25 -0
  1041. package/lib/components/mediaViewer/MediaViewerPage.d.ts.map +1 -0
  1042. package/lib/components/mediaViewer/MediaViewerPage.js +194 -0
  1043. package/lib/components/mediaViewer/MediaViewerPage.js.map +1 -0
  1044. package/lib/components/mediaViewer/gallery.d.ts +27 -0
  1045. package/lib/components/mediaViewer/gallery.d.ts.map +1 -0
  1046. package/lib/components/mediaViewer/gallery.js +41 -0
  1047. package/lib/components/mediaViewer/gallery.js.map +1 -0
  1048. package/lib/components/messageHighlight.d.ts +41 -0
  1049. package/lib/components/messageHighlight.d.ts.map +1 -0
  1050. package/lib/components/messageHighlight.js +157 -0
  1051. package/lib/components/messageHighlight.js.map +1 -0
  1052. package/lib/components/messagePress.d.ts +14 -0
  1053. package/lib/components/messagePress.d.ts.map +1 -0
  1054. package/lib/components/messagePress.js +18 -0
  1055. package/lib/components/messagePress.js.map +1 -0
  1056. package/lib/components/messageSelection.d.ts +39 -0
  1057. package/lib/components/messageSelection.d.ts.map +1 -0
  1058. package/lib/components/messageSelection.js +135 -0
  1059. package/lib/components/messageSelection.js.map +1 -0
  1060. package/lib/components/recordingFeedback.d.ts +22 -0
  1061. package/lib/components/recordingFeedback.d.ts.map +1 -0
  1062. package/lib/components/recordingFeedback.js +80 -0
  1063. package/lib/components/recordingFeedback.js.map +1 -0
  1064. package/lib/components/recordingMeter.d.ts +19 -0
  1065. package/lib/components/recordingMeter.d.ts.map +1 -0
  1066. package/lib/components/recordingMeter.js +21 -0
  1067. package/lib/components/recordingMeter.js.map +1 -0
  1068. package/lib/components/roundNoteChrome.d.ts +107 -0
  1069. package/lib/components/roundNoteChrome.d.ts.map +1 -0
  1070. package/lib/components/roundNoteChrome.js +249 -0
  1071. package/lib/components/roundNoteChrome.js.map +1 -0
  1072. package/lib/components/roundNotePlayers.d.ts +78 -0
  1073. package/lib/components/roundNotePlayers.d.ts.map +1 -0
  1074. package/lib/components/roundNotePlayers.js +230 -0
  1075. package/lib/components/roundNotePlayers.js.map +1 -0
  1076. package/lib/components/sendFlight.d.ts +88 -0
  1077. package/lib/components/sendFlight.d.ts.map +1 -0
  1078. package/lib/components/sendFlight.js +146 -0
  1079. package/lib/components/sendFlight.js.map +1 -0
  1080. package/lib/components/viewOnce.d.ts +27 -0
  1081. package/lib/components/viewOnce.d.ts.map +1 -0
  1082. package/lib/components/viewOnce.js +168 -0
  1083. package/lib/components/viewOnce.js.map +1 -0
  1084. package/lib/components/visionCamera.d.ts +45 -0
  1085. package/lib/components/visionCamera.d.ts.map +1 -0
  1086. package/lib/components/visionCamera.js +117 -0
  1087. package/lib/components/visionCamera.js.map +1 -0
  1088. package/lib/components/voiceEditing.d.ts +34 -0
  1089. package/lib/components/voiceEditing.d.ts.map +1 -0
  1090. package/lib/components/voiceEditing.js +159 -0
  1091. package/lib/components/voiceEditing.js.map +1 -0
  1092. package/lib/components/voiceWaveform.d.ts +108 -0
  1093. package/lib/components/voiceWaveform.d.ts.map +1 -0
  1094. package/lib/components/voiceWaveform.js +165 -0
  1095. package/lib/components/voiceWaveform.js.map +1 -0
  1096. package/lib/components/wallpaperGradient.d.ts +16 -0
  1097. package/lib/components/wallpaperGradient.d.ts.map +1 -0
  1098. package/lib/components/wallpaperGradient.js +186 -0
  1099. package/lib/components/wallpaperGradient.js.map +1 -0
  1100. package/lib/components/windowInsets.d.ts +11 -0
  1101. package/lib/components/windowInsets.d.ts.map +1 -0
  1102. package/lib/components/windowInsets.js +44 -0
  1103. package/lib/components/windowInsets.js.map +1 -0
  1104. package/lib/dayjsLocales.js +15 -2
  1105. package/lib/dayjsLocales.js.map +1 -1
  1106. package/lib/emoji/EmojiGrid/BackspaceButton.d.ts +11 -0
  1107. package/lib/emoji/EmojiGrid/BackspaceButton.d.ts.map +1 -0
  1108. package/lib/emoji/EmojiGrid/BackspaceButton.js +111 -0
  1109. package/lib/emoji/EmojiGrid/BackspaceButton.js.map +1 -0
  1110. package/lib/emoji/EmojiGrid/EmojiRow.d.ts +15 -0
  1111. package/lib/emoji/EmojiGrid/EmojiRow.d.ts.map +1 -0
  1112. package/lib/emoji/EmojiGrid/EmojiRow.js +71 -0
  1113. package/lib/emoji/EmojiGrid/EmojiRow.js.map +1 -0
  1114. package/lib/emoji/EmojiGrid/Search.d.ts +29 -0
  1115. package/lib/emoji/EmojiGrid/Search.d.ts.map +1 -0
  1116. package/lib/emoji/EmojiGrid/Search.js +234 -0
  1117. package/lib/emoji/EmojiGrid/Search.js.map +1 -0
  1118. package/lib/emoji/EmojiGrid/TabStrip.d.ts +16 -0
  1119. package/lib/emoji/EmojiGrid/TabStrip.d.ts.map +1 -0
  1120. package/lib/emoji/EmojiGrid/TabStrip.js +237 -0
  1121. package/lib/emoji/EmojiGrid/TabStrip.js.map +1 -0
  1122. package/lib/emoji/EmojiGrid/TonePopup.d.ts +12 -0
  1123. package/lib/emoji/EmojiGrid/TonePopup.d.ts.map +1 -0
  1124. package/lib/emoji/EmojiGrid/TonePopup.js +137 -0
  1125. package/lib/emoji/EmojiGrid/TonePopup.js.map +1 -0
  1126. package/lib/emoji/EmojiGrid/constants.d.ts +29 -0
  1127. package/lib/emoji/EmojiGrid/constants.d.ts.map +1 -0
  1128. package/lib/emoji/EmojiGrid/constants.js +65 -0
  1129. package/lib/emoji/EmojiGrid/constants.js.map +1 -0
  1130. package/lib/emoji/EmojiGrid/index.d.ts +10 -0
  1131. package/lib/emoji/EmojiGrid/index.d.ts.map +1 -0
  1132. package/lib/emoji/EmojiGrid/index.js +450 -0
  1133. package/lib/emoji/EmojiGrid/index.js.map +1 -0
  1134. package/lib/emoji/EmojiGrid/items.d.ts +25 -0
  1135. package/lib/emoji/EmojiGrid/items.d.ts.map +1 -0
  1136. package/lib/emoji/EmojiGrid/items.js +75 -0
  1137. package/lib/emoji/EmojiGrid/items.js.map +1 -0
  1138. package/lib/emoji/EmojiGrid/styles.d.ts +181 -0
  1139. package/lib/emoji/EmojiGrid/styles.d.ts.map +1 -0
  1140. package/lib/emoji/EmojiGrid/styles.js +184 -0
  1141. package/lib/emoji/EmojiGrid/styles.js.map +1 -0
  1142. package/lib/emoji/EmojiGrid/types.d.ts +53 -0
  1143. package/lib/emoji/EmojiGrid/types.d.ts.map +1 -0
  1144. package/lib/emoji/EmojiGrid/types.js +2 -0
  1145. package/lib/emoji/EmojiGrid/types.js.map +1 -0
  1146. package/lib/emoji/EmojiGrid/useTabScroll.d.ts +19 -0
  1147. package/lib/emoji/EmojiGrid/useTabScroll.d.ts.map +1 -0
  1148. package/lib/emoji/EmojiGrid/useTabScroll.js +124 -0
  1149. package/lib/emoji/EmojiGrid/useTabScroll.js.map +1 -0
  1150. package/lib/emoji/EmojiKeyboard.d.ts +79 -0
  1151. package/lib/emoji/EmojiKeyboard.d.ts.map +1 -0
  1152. package/lib/emoji/EmojiKeyboard.js +445 -0
  1153. package/lib/emoji/EmojiKeyboard.js.map +1 -0
  1154. package/lib/emoji/defaultExpandedPicker.d.ts +5 -0
  1155. package/lib/emoji/defaultExpandedPicker.d.ts.map +1 -0
  1156. package/lib/emoji/defaultExpandedPicker.js +11 -0
  1157. package/lib/emoji/defaultExpandedPicker.js.map +1 -0
  1158. package/lib/emoji/emojiData.d.ts +2 -0
  1159. package/lib/emoji/emojiData.d.ts.map +1 -0
  1160. package/lib/emoji/emojiData.js +5 -0
  1161. package/lib/emoji/emojiData.js.map +1 -0
  1162. package/lib/emoji/emojiStore.d.ts +70 -0
  1163. package/lib/emoji/emojiStore.d.ts.map +1 -0
  1164. package/lib/emoji/emojiStore.js +246 -0
  1165. package/lib/emoji/emojiStore.js.map +1 -0
  1166. package/lib/emoji/textEditing.d.ts +20 -0
  1167. package/lib/emoji/textEditing.d.ts.map +1 -0
  1168. package/lib/emoji/textEditing.js +97 -0
  1169. package/lib/emoji/textEditing.js.map +1 -0
  1170. package/lib/emojiOnly.d.ts +11 -0
  1171. package/lib/emojiOnly.d.ts.map +1 -0
  1172. package/lib/emojiOnly.js +79 -0
  1173. package/lib/emojiOnly.js.map +1 -0
  1174. package/lib/gestures/useRowSwipe.d.ts +43 -0
  1175. package/lib/gestures/useRowSwipe.d.ts.map +1 -0
  1176. package/lib/gestures/useRowSwipe.js +74 -0
  1177. package/lib/gestures/useRowSwipe.js.map +1 -0
  1178. package/lib/hooks/useAnimatedPresence.d.ts +22 -0
  1179. package/lib/hooks/useAnimatedPresence.d.ts.map +1 -0
  1180. package/lib/hooks/useAnimatedPresence.js +97 -0
  1181. package/lib/hooks/useAnimatedPresence.js.map +1 -0
  1182. package/lib/hooks/useChatMessages.d.ts +39 -0
  1183. package/lib/hooks/useChatMessages.d.ts.map +1 -0
  1184. package/lib/hooks/useChatMessages.js +125 -0
  1185. package/lib/hooks/useChatMessages.js.map +1 -0
  1186. package/lib/hooks/useColorScheme.d.ts +7 -1
  1187. package/lib/hooks/useColorScheme.d.ts.map +1 -1
  1188. package/lib/hooks/useColorScheme.js +46 -8
  1189. package/lib/hooks/useColorScheme.js.map +1 -1
  1190. package/lib/hooks/useHasKeyboardProvider.js +18 -7
  1191. package/lib/hooks/useHasKeyboardProvider.js.map +1 -1
  1192. package/lib/hooks/useIcons.js +15 -2
  1193. package/lib/hooks/useIcons.js.map +1 -1
  1194. package/lib/hooks/useIsKeyboardVisible.js +39 -17
  1195. package/lib/hooks/useIsKeyboardVisible.js.map +1 -1
  1196. package/lib/hooks/useIsRTL.js +15 -2
  1197. package/lib/hooks/useIsRTL.js.map +1 -1
  1198. package/lib/hooks/useKeyboardVerticalOffset.d.ts +5 -3
  1199. package/lib/hooks/useKeyboardVerticalOffset.d.ts.map +1 -1
  1200. package/lib/hooks/useKeyboardVerticalOffset.js +52 -18
  1201. package/lib/hooks/useKeyboardVerticalOffset.js.map +1 -1
  1202. package/lib/hooks/useLabels.js +15 -2
  1203. package/lib/hooks/useLabels.js.map +1 -1
  1204. package/lib/hooks/useStreamingMessages.js +200 -86
  1205. package/lib/hooks/useStreamingMessages.js.map +1 -1
  1206. package/lib/hooks/useTheme.js +56 -7
  1207. package/lib/hooks/useTheme.js.map +1 -1
  1208. package/lib/hooks/useUpdateLayoutEffect.d.ts.map +1 -1
  1209. package/lib/hooks/useUpdateLayoutEffect.js +35 -11
  1210. package/lib/hooks/useUpdateLayoutEffect.js.map +1 -1
  1211. package/lib/i18n.d.ts +182 -0
  1212. package/lib/i18n.d.ts.map +1 -1
  1213. package/lib/i18n.js +121 -23
  1214. package/lib/i18n.js.map +1 -1
  1215. package/lib/index.d.ts +31 -1
  1216. package/lib/index.d.ts.map +1 -1
  1217. package/lib/index.js +18 -1
  1218. package/lib/index.js.map +1 -1
  1219. package/lib/linkParser.d.ts +2 -1
  1220. package/lib/linkParser.d.ts.map +1 -1
  1221. package/lib/linkParser.js +323 -185
  1222. package/lib/linkParser.js.map +1 -1
  1223. package/lib/locales/ar.d.ts.map +1 -1
  1224. package/lib/locales/ar.js +110 -19
  1225. package/lib/locales/ar.js.map +1 -1
  1226. package/lib/locales/de.d.ts.map +1 -1
  1227. package/lib/locales/de.js +110 -19
  1228. package/lib/locales/de.js.map +1 -1
  1229. package/lib/locales/es.d.ts.map +1 -1
  1230. package/lib/locales/es.js +110 -19
  1231. package/lib/locales/es.js.map +1 -1
  1232. package/lib/locales/fr.d.ts.map +1 -1
  1233. package/lib/locales/fr.js +110 -19
  1234. package/lib/locales/fr.js.map +1 -1
  1235. package/lib/locales/hi.d.ts.map +1 -1
  1236. package/lib/locales/hi.js +110 -19
  1237. package/lib/locales/hi.js.map +1 -1
  1238. package/lib/locales/id.d.ts.map +1 -1
  1239. package/lib/locales/id.js +110 -19
  1240. package/lib/locales/id.js.map +1 -1
  1241. package/lib/locales/index.js +19 -5
  1242. package/lib/locales/index.js.map +1 -1
  1243. package/lib/locales/it.d.ts.map +1 -1
  1244. package/lib/locales/it.js +110 -19
  1245. package/lib/locales/it.js.map +1 -1
  1246. package/lib/locales/ja.d.ts.map +1 -1
  1247. package/lib/locales/ja.js +110 -19
  1248. package/lib/locales/ja.js.map +1 -1
  1249. package/lib/locales/ko.d.ts.map +1 -1
  1250. package/lib/locales/ko.js +110 -19
  1251. package/lib/locales/ko.js.map +1 -1
  1252. package/lib/locales/nl.d.ts.map +1 -1
  1253. package/lib/locales/nl.js +110 -19
  1254. package/lib/locales/nl.js.map +1 -1
  1255. package/lib/locales/pl.d.ts.map +1 -1
  1256. package/lib/locales/pl.js +110 -19
  1257. package/lib/locales/pl.js.map +1 -1
  1258. package/lib/locales/pt.d.ts.map +1 -1
  1259. package/lib/locales/pt.js +110 -19
  1260. package/lib/locales/pt.js.map +1 -1
  1261. package/lib/locales/ru.d.ts.map +1 -1
  1262. package/lib/locales/ru.js +110 -19
  1263. package/lib/locales/ru.js.map +1 -1
  1264. package/lib/locales/tr.d.ts.map +1 -1
  1265. package/lib/locales/tr.js +110 -19
  1266. package/lib/locales/tr.js.map +1 -1
  1267. package/lib/locales/zh.d.ts.map +1 -1
  1268. package/lib/locales/zh.js +110 -19
  1269. package/lib/locales/zh.js.map +1 -1
  1270. package/lib/logging.d.ts +5 -0
  1271. package/lib/logging.d.ts.map +1 -1
  1272. package/lib/logging.js +13 -1
  1273. package/lib/logging.js.map +1 -1
  1274. package/lib/messageUtils.d.ts +19 -0
  1275. package/lib/messageUtils.d.ts.map +1 -0
  1276. package/lib/messageUtils.js +61 -0
  1277. package/lib/messageUtils.js.map +1 -0
  1278. package/lib/motion.d.ts +21 -0
  1279. package/lib/motion.d.ts.map +1 -0
  1280. package/lib/motion.js +30 -0
  1281. package/lib/motion.js.map +1 -0
  1282. package/lib/optional/index.d.ts +99 -0
  1283. package/lib/optional/index.d.ts.map +1 -0
  1284. package/lib/optional/index.js +284 -0
  1285. package/lib/optional/index.js.map +1 -0
  1286. package/lib/rtl.js +7 -5
  1287. package/lib/rtl.js.map +1 -1
  1288. package/lib/store.d.ts +40 -0
  1289. package/lib/store.d.ts.map +1 -0
  1290. package/lib/store.js +127 -0
  1291. package/lib/store.js.map +1 -0
  1292. package/lib/styles.d.ts +2 -2
  1293. package/lib/styles.d.ts.map +1 -1
  1294. package/lib/styles.js +15 -15
  1295. package/lib/styles.js.map +1 -1
  1296. package/lib/types.js +1 -0
  1297. package/lib/types.js.map +1 -1
  1298. package/lib/utils.d.ts +15 -0
  1299. package/lib/utils.d.ts.map +1 -1
  1300. package/lib/utils.js +199 -94
  1301. package/lib/utils.js.map +1 -1
  1302. package/llms.txt +133 -31
  1303. package/package.json +89 -46
  1304. package/lib/InputToolbar.d.ts +0 -49
  1305. package/lib/InputToolbar.d.ts.map +0 -1
  1306. package/lib/InputToolbar.js +0 -338
  1307. package/lib/InputToolbar.js.map +0 -1
  1308. package/lib/MessageVideo.d.ts.map +0 -1
  1309. package/lib/MessageVideo.js +0 -162
  1310. package/lib/MessageVideo.js.map +0 -1
  1311. package/lib/MessagesContainer/FlashList.d.ts +0 -9
  1312. package/lib/MessagesContainer/FlashList.d.ts.map +0 -1
  1313. package/lib/MessagesContainer/FlashList.js +0 -23
  1314. package/lib/MessagesContainer/FlashList.js.map +0 -1
  1315. package/lib/components/ContextMenu.d.ts +0 -25
  1316. package/lib/components/ContextMenu.d.ts.map +0 -1
  1317. package/lib/components/ContextMenu.js +0 -122
  1318. package/lib/components/ContextMenu.js.map +0 -1
  1319. package/lib/components/VideoNoteRecorder.d.ts.map +0 -1
  1320. package/lib/components/VideoNoteRecorder.js +0 -634
  1321. package/lib/components/VideoNoteRecorder.js.map +0 -1
  1322. package/lib/components/VoiceMessageInput.d.ts +0 -33
  1323. package/lib/components/VoiceMessageInput.d.ts.map +0 -1
  1324. package/lib/components/VoiceMessageInput.js +0 -403
  1325. package/lib/components/VoiceMessageInput.js.map +0 -1
  1326. package/lib/components/WaveformPlayer.d.ts +0 -19
  1327. package/lib/components/WaveformPlayer.d.ts.map +0 -1
  1328. package/lib/components/WaveformPlayer.js +0 -367
  1329. package/lib/components/WaveformPlayer.js.map +0 -1
@@ -0,0 +1,450 @@
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
+ import { FlatList, Platform, Pressable, Text, View } from 'react-native';
4
+ import { selectionHaptic } from '../../components/haptics';
5
+ import { useColorScheme } from '../../hooks/useColorScheme';
6
+ import { useIsRTL } from '../../hooks/useIsRTL';
7
+ import { useLabels } from '../../hooks/useLabels';
8
+ import { useTheme, useThemedStyles } from '../../hooks/useTheme';
9
+ import { emojiRecents, getEmojiCategories, withSkinTone } from '../emojiStore';
10
+ import { BackspaceButton } from './BackspaceButton';
11
+ import { CATEGORY_LABEL, GRID_PADDING_BOTTOM, GRID_PADDING_H, SEARCH_ROW } from './constants';
12
+ import { EmojiRow } from './EmojiRow';
13
+ import { buildItems, itemLength } from './items';
14
+ import { SearchField, SearchHint } from './Search';
15
+ import { createStyles } from './styles';
16
+ import { TabStrip } from './TabStrip';
17
+ import { TonePopup } from './TonePopup';
18
+ import { useTabScroll } from './useTabScroll';
19
+ /*
20
+ * The emoji grid. Only the rows on screen are rendered, each cell is a plain Text,
21
+ * and nothing animates per cell, so a screenful mounts as cheaply as a screenful of text.
22
+ */
23
+
24
+ /**
25
+ * The built-in emoji grid with its tab strip, section headers,
26
+ * search, recents and skin tones. The composer's emoji keyboard and the expanded reactions
27
+ * panel are both this component.
28
+ */
29
+ export const EmojiGrid = t0 => {
30
+ const $ = _c(114);
31
+ const {
32
+ onSelect,
33
+ variant: t1,
34
+ columns: columnsProp,
35
+ categories: categoryKeys,
36
+ isRecentsEnabled: t2,
37
+ isSearchEnabled: t3,
38
+ onBackspace,
39
+ onSearchModeChange,
40
+ bottomInset: t4
41
+ } = t0;
42
+ const variant = t1 === undefined ? "keyboard" : t1;
43
+ const isRecentsEnabled = t2 === undefined ? true : t2;
44
+ const isSearchEnabled = t3 === undefined ? true : t3;
45
+ const bottomInset = t4 === undefined ? 0 : t4;
46
+ const theme = useTheme();
47
+ const styles = useThemedStyles(createStyles);
48
+ const labels = useLabels();
49
+ const isRTL = useIsRTL();
50
+ const isDark = useColorScheme() === "dark";
51
+ const isKeyboard = variant === "keyboard";
52
+ const [width, setWidth] = useState(0);
53
+ let t5;
54
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
55
+ t5 = event => {
56
+ const next = Math.round(event.nativeEvent.layout.width);
57
+ if (next > 0) {
58
+ setWidth(previous => previous === next ? previous : next);
59
+ }
60
+ };
61
+ $[0] = t5;
62
+ } else {
63
+ t5 = $[0];
64
+ }
65
+ const onLayout = t5;
66
+ const [query, setQuery] = useState("");
67
+ const [isSearching, setIsSearching] = useState(false);
68
+ const searchInputRef = useRef(null);
69
+ const [recents, setRecents] = useState(_temp);
70
+ const [toneVersion, setToneVersion] = useState(0);
71
+ let t6;
72
+ let t7;
73
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
74
+ t6 = () => emojiRecents.subscribe(() => {
75
+ setToneVersion(_temp2);
76
+ setRecents(emojiRecents.getRecents());
77
+ });
78
+ t7 = [];
79
+ $[1] = t6;
80
+ $[2] = t7;
81
+ } else {
82
+ t6 = $[1];
83
+ t7 = $[2];
84
+ }
85
+ useEffect(t6, t7);
86
+ let t8;
87
+ if ($[3] !== categoryKeys) {
88
+ t8 = getEmojiCategories(categoryKeys);
89
+ $[3] = categoryKeys;
90
+ $[4] = t8;
91
+ } else {
92
+ t8 = $[4];
93
+ }
94
+ const categories = t8;
95
+ const hasRecents = isRecentsEnabled && recents.length > 0;
96
+ let t9;
97
+ if ($[5] !== hasRecents || $[6] !== labels) {
98
+ t9 = hasRecents ? [{
99
+ key: "recent",
100
+ label: labels.emojiRecent
101
+ }] : [];
102
+ $[5] = hasRecents;
103
+ $[6] = labels;
104
+ $[7] = t9;
105
+ } else {
106
+ t9 = $[7];
107
+ }
108
+ let t10;
109
+ if ($[8] !== categories || $[9] !== labels || $[10] !== t9) {
110
+ let t11;
111
+ if ($[12] !== labels) {
112
+ t11 = category => ({
113
+ key: category.key,
114
+ label: labels[CATEGORY_LABEL[category.key]]
115
+ });
116
+ $[12] = labels;
117
+ $[13] = t11;
118
+ } else {
119
+ t11 = $[13];
120
+ }
121
+ t10 = [...t9, ...categories.map(t11)];
122
+ $[8] = categories;
123
+ $[9] = labels;
124
+ $[10] = t9;
125
+ $[11] = t10;
126
+ } else {
127
+ t10 = $[11];
128
+ }
129
+ const tabs = t10;
130
+ const columns = columnsProp ?? Math.max(1, Math.floor(width / theme.emojiKeyboard.cellSize));
131
+ const cellSize = width > 0 ? Math.floor((width - GRID_PADDING_H * 2) / columns) : 0;
132
+ const t11 = theme.emojiKeyboard.emojiSize;
133
+ let t12;
134
+ if ($[14] !== cellSize) {
135
+ t12 = Math.round(cellSize * 0.66);
136
+ $[14] = cellSize;
137
+ $[15] = t12;
138
+ } else {
139
+ t12 = $[15];
140
+ }
141
+ const fontSize = Math.min(t11, t12);
142
+ const hasListSearch = isKeyboard && isSearchEnabled && !isSearching;
143
+ let t13;
144
+ if ($[16] !== categories || $[17] !== cellSize || $[18] !== columns || $[19] !== hasListSearch || $[20] !== hasRecents || $[21] !== isSearching || $[22] !== labels || $[23] !== query || $[24] !== recents) {
145
+ t13 = buildItems({
146
+ hasListSearch,
147
+ isSearching,
148
+ query,
149
+ hasRecents,
150
+ recents,
151
+ categories,
152
+ columns,
153
+ cellSize,
154
+ labels
155
+ });
156
+ $[16] = categories;
157
+ $[17] = cellSize;
158
+ $[18] = columns;
159
+ $[19] = hasListSearch;
160
+ $[20] = hasRecents;
161
+ $[21] = isSearching;
162
+ $[22] = labels;
163
+ $[23] = query;
164
+ $[24] = recents;
165
+ $[25] = t13;
166
+ } else {
167
+ t13 = $[25];
168
+ }
169
+ const {
170
+ items,
171
+ offsets,
172
+ firstItemOfTab
173
+ } = t13;
174
+ const {
175
+ listRef,
176
+ activeTabRef,
177
+ viewabilityConfig,
178
+ onViewableItemsChanged,
179
+ scrollToTab,
180
+ endScrub
181
+ } = useTabScroll(firstItemOfTab, offsets);
182
+ let t14;
183
+ if ($[26] !== cellSize || $[27] !== items || $[28] !== offsets) {
184
+ t14 = (_, index) => {
185
+ const length = itemLength(items[index], cellSize);
186
+ return {
187
+ length,
188
+ offset: offsets[index] ?? 0,
189
+ index
190
+ };
191
+ };
192
+ $[26] = cellSize;
193
+ $[27] = items;
194
+ $[28] = offsets;
195
+ $[29] = t14;
196
+ } else {
197
+ t14 = $[29];
198
+ }
199
+ const getItemLayout = t14;
200
+ let t15;
201
+ if ($[30] !== onSelect) {
202
+ t15 = emoji => {
203
+ emojiRecents.add(emoji);
204
+ onSelect(emoji);
205
+ };
206
+ $[30] = onSelect;
207
+ $[31] = t15;
208
+ } else {
209
+ t15 = $[31];
210
+ }
211
+ const handleSelect = t15;
212
+ const containerRef = useRef(null);
213
+ const [tonePopup, setTonePopup] = useState(null);
214
+ let t16;
215
+ if ($[32] === Symbol.for("react.memo_cache_sentinel")) {
216
+ t16 = (emoji_0, event_0) => {
217
+ const {
218
+ pageX,
219
+ pageY,
220
+ locationY
221
+ } = event_0.nativeEvent;
222
+ selectionHaptic();
223
+ containerRef.current?.measureInWindow((x, y) => {
224
+ const cellTop = pageY - y - (locationY ?? 0);
225
+ setTonePopup({
226
+ emoji: emoji_0,
227
+ x: pageX - x,
228
+ y: cellTop
229
+ });
230
+ });
231
+ };
232
+ $[32] = t16;
233
+ } else {
234
+ t16 = $[32];
235
+ }
236
+ const handleLongPress = t16;
237
+ let t17;
238
+ if ($[33] !== handleSelect || $[34] !== tonePopup) {
239
+ t17 = tone => {
240
+ const popup = tonePopup;
241
+ setTonePopup(null);
242
+ if (!popup) {
243
+ return;
244
+ }
245
+ emojiRecents.setTone(popup.emoji, tone);
246
+ handleSelect(withSkinTone(popup.emoji, tone));
247
+ };
248
+ $[33] = handleSelect;
249
+ $[34] = tonePopup;
250
+ $[35] = t17;
251
+ } else {
252
+ t17 = $[35];
253
+ }
254
+ const pickTone = t17;
255
+ let t18;
256
+ if ($[36] !== onSearchModeChange) {
257
+ t18 = () => {
258
+ setIsSearching(true);
259
+ onSearchModeChange?.(true);
260
+ if (Platform.OS !== "android") {
261
+ requestAnimationFrame(() => searchInputRef.current?.focus());
262
+ }
263
+ };
264
+ $[36] = onSearchModeChange;
265
+ $[37] = t18;
266
+ } else {
267
+ t18 = $[37];
268
+ }
269
+ const enterSearch = t18;
270
+ let t19;
271
+ if ($[38] !== onSearchModeChange) {
272
+ t19 = () => {
273
+ setIsSearching(false);
274
+ setQuery("");
275
+ searchInputRef.current?.blur();
276
+ onSearchModeChange?.(false);
277
+ };
278
+ $[38] = onSearchModeChange;
279
+ $[39] = t19;
280
+ } else {
281
+ t19 = $[39];
282
+ }
283
+ const leaveSearch = t19;
284
+ let t20;
285
+ if ($[40] !== cellSize || $[41] !== enterSearch || $[42] !== fontSize || $[43] !== handleSelect || $[44] !== isRTL || $[45] !== labels || $[46] !== styles || $[47] !== theme.emojiKeyboard.searchIcon || $[48] !== toneVersion) {
286
+ t20 = t21 => {
287
+ const {
288
+ item
289
+ } = t21;
290
+ switch (item.type) {
291
+ case "search":
292
+ {
293
+ return <Pressable onPress={enterSearch} accessibilityRole="search" accessibilityLabel={labels.emojiSearch}><SearchHint styles={styles} isRTL={isRTL} color={theme.emojiKeyboard.searchIcon} label={labels.emojiSearch} /></Pressable>;
294
+ }
295
+ case "header":
296
+ {
297
+ return <Text style={[styles.header, isRTL && styles.textRTL]} numberOfLines={1}>{item.title}</Text>;
298
+ }
299
+ case "empty":
300
+ {
301
+ return <Text style={styles.empty}>{labels.emojiNoResults}</Text>;
302
+ }
303
+ default:
304
+ {
305
+ return <EmojiRow emojis={item.emojis} cellSize={cellSize} fontSize={fontSize} isRTL={isRTL} toneVersion={toneVersion} onPress={handleSelect} onLongPress={handleLongPress} styles={styles} />;
306
+ }
307
+ }
308
+ };
309
+ $[40] = cellSize;
310
+ $[41] = enterSearch;
311
+ $[42] = fontSize;
312
+ $[43] = handleSelect;
313
+ $[44] = isRTL;
314
+ $[45] = labels;
315
+ $[46] = styles;
316
+ $[47] = theme.emojiKeyboard.searchIcon;
317
+ $[48] = toneVersion;
318
+ $[49] = t20;
319
+ } else {
320
+ t20 = $[49];
321
+ }
322
+ const renderItem = t20;
323
+ const showTabs = !isSearching && tabs.length > 1;
324
+ const showFixedSearch = isSearchEnabled && (!isKeyboard || isSearching);
325
+ let t21;
326
+ if ($[50] !== activeTabRef || $[51] !== endScrub || $[52] !== isKeyboard || $[53] !== isRTL || $[54] !== scrollToTab || $[55] !== showTabs || $[56] !== styles || $[57] !== tabs || $[58] !== theme) {
327
+ t21 = isKeyboard && showTabs && <TabStrip tabs={tabs} activeRef={activeTabRef} onPress={scrollToTab} onScrubEnd={endScrub} styles={styles} theme={theme} isRTL={isRTL} />;
328
+ $[50] = activeTabRef;
329
+ $[51] = endScrub;
330
+ $[52] = isKeyboard;
331
+ $[53] = isRTL;
332
+ $[54] = scrollToTab;
333
+ $[55] = showTabs;
334
+ $[56] = styles;
335
+ $[57] = tabs;
336
+ $[58] = theme;
337
+ $[59] = t21;
338
+ } else {
339
+ t21 = $[59];
340
+ }
341
+ let t22;
342
+ if ($[60] !== isDark || $[61] !== isKeyboard || $[62] !== isRTL || $[63] !== labels || $[64] !== leaveSearch || $[65] !== query || $[66] !== showFixedSearch || $[67] !== styles || $[68] !== theme) {
343
+ t22 = showFixedSearch && <SearchField inputRef={searchInputRef} query={query} setQuery={setQuery} setIsSearching={setIsSearching} leaveSearch={leaveSearch} isKeyboard={isKeyboard} isRTL={isRTL} isDark={isDark} styles={styles} theme={theme} labels={labels} />;
344
+ $[60] = isDark;
345
+ $[61] = isKeyboard;
346
+ $[62] = isRTL;
347
+ $[63] = labels;
348
+ $[64] = leaveSearch;
349
+ $[65] = query;
350
+ $[66] = showFixedSearch;
351
+ $[67] = styles;
352
+ $[68] = theme;
353
+ $[69] = t22;
354
+ } else {
355
+ t22 = $[69];
356
+ }
357
+ let t23;
358
+ if ($[70] !== activeTabRef || $[71] !== endScrub || $[72] !== isKeyboard || $[73] !== isRTL || $[74] !== scrollToTab || $[75] !== showTabs || $[76] !== styles || $[77] !== tabs || $[78] !== theme) {
359
+ t23 = !isKeyboard && showTabs && <TabStrip tabs={tabs} activeRef={activeTabRef} onPress={scrollToTab} onScrubEnd={endScrub} styles={styles} theme={theme} isRTL={isRTL} />;
360
+ $[70] = activeTabRef;
361
+ $[71] = endScrub;
362
+ $[72] = isKeyboard;
363
+ $[73] = isRTL;
364
+ $[74] = scrollToTab;
365
+ $[75] = showTabs;
366
+ $[76] = styles;
367
+ $[77] = tabs;
368
+ $[78] = theme;
369
+ $[79] = t23;
370
+ } else {
371
+ t23 = $[79];
372
+ }
373
+ let t24;
374
+ if ($[80] !== bottomInset || $[81] !== cellSize || $[82] !== getItemLayout || $[83] !== hasListSearch || $[84] !== items || $[85] !== listRef || $[86] !== onBackspace || $[87] !== onViewableItemsChanged || $[88] !== renderItem || $[89] !== styles.listContent || $[90] !== toneVersion || $[91] !== viewabilityConfig) {
375
+ t24 = cellSize > 0 && <FlatList key={hasListSearch ? "with-search" : "plain"} ref={listRef} data={items} keyExtractor={_temp3} renderItem={renderItem} extraData={toneVersion} getItemLayout={getItemLayout} contentOffset={hasListSearch ? {
376
+ x: 0,
377
+ y: SEARCH_ROW
378
+ } : undefined} contentContainerStyle={[styles.listContent, {
379
+ paddingBottom: (onBackspace ? GRID_PADDING_BOTTOM : 8) + bottomInset
380
+ }]} initialNumToRender={9} maxToRenderPerBatch={6} updateCellsBatchingPeriod={30} windowSize={5} removeClippedSubviews={true} keyboardShouldPersistTaps="always" keyboardDismissMode="none" viewabilityConfig={viewabilityConfig} onViewableItemsChanged={onViewableItemsChanged} showsVerticalScrollIndicator={false} />;
381
+ $[80] = bottomInset;
382
+ $[81] = cellSize;
383
+ $[82] = getItemLayout;
384
+ $[83] = hasListSearch;
385
+ $[84] = items;
386
+ $[85] = listRef;
387
+ $[86] = onBackspace;
388
+ $[87] = onViewableItemsChanged;
389
+ $[88] = renderItem;
390
+ $[89] = styles.listContent;
391
+ $[90] = toneVersion;
392
+ $[91] = viewabilityConfig;
393
+ $[92] = t24;
394
+ } else {
395
+ t24 = $[92];
396
+ }
397
+ let t25;
398
+ if ($[93] !== bottomInset || $[94] !== isRTL || $[95] !== isSearching || $[96] !== labels || $[97] !== onBackspace || $[98] !== styles || $[99] !== theme.emojiKeyboard.backspace) {
399
+ t25 = onBackspace && !isSearching && <View style={[styles.backspaceWrap, isRTL ? styles.backspaceWrapRTL : null, {
400
+ bottom: bottomInset
401
+ }]} pointerEvents="box-none"><BackspaceButton onBackspace={onBackspace} isRTL={isRTL} styles={styles} color={theme.emojiKeyboard.backspace} label={labels.backspace} /></View>;
402
+ $[93] = bottomInset;
403
+ $[94] = isRTL;
404
+ $[95] = isSearching;
405
+ $[96] = labels;
406
+ $[97] = onBackspace;
407
+ $[98] = styles;
408
+ $[99] = theme.emojiKeyboard.backspace;
409
+ $[100] = t25;
410
+ } else {
411
+ t25 = $[100];
412
+ }
413
+ let t26;
414
+ if ($[101] !== pickTone || $[102] !== styles || $[103] !== tonePopup || $[104] !== width) {
415
+ t26 = tonePopup && <TonePopup popup={tonePopup} width={width} onPick={pickTone} onClose={() => setTonePopup(null)} styles={styles} />;
416
+ $[101] = pickTone;
417
+ $[102] = styles;
418
+ $[103] = tonePopup;
419
+ $[104] = width;
420
+ $[105] = t26;
421
+ } else {
422
+ t26 = $[105];
423
+ }
424
+ let t27;
425
+ if ($[106] !== styles.container || $[107] !== t21 || $[108] !== t22 || $[109] !== t23 || $[110] !== t24 || $[111] !== t25 || $[112] !== t26) {
426
+ t27 = <View ref={containerRef} testID="emoji-grid" style={styles.container} onLayout={onLayout}>{t21}{t22}{t23}{t24}{t25}{t26}</View>;
427
+ $[106] = styles.container;
428
+ $[107] = t21;
429
+ $[108] = t22;
430
+ $[109] = t23;
431
+ $[110] = t24;
432
+ $[111] = t25;
433
+ $[112] = t26;
434
+ $[113] = t27;
435
+ } else {
436
+ t27 = $[113];
437
+ }
438
+ return t27;
439
+ };
440
+ function _temp() {
441
+ emojiRecents.sort();
442
+ return emojiRecents.getRecents();
443
+ }
444
+ function _temp2(version) {
445
+ return version + 1;
446
+ }
447
+ function _temp3(item_0) {
448
+ return item_0.key;
449
+ }
450
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","FlatList","Platform","Pressable","Text","View","selectionHaptic","useColorScheme","useIsRTL","useLabels","useTheme","useThemedStyles","emojiRecents","getEmojiCategories","withSkinTone","BackspaceButton","CATEGORY_LABEL","GRID_PADDING_BOTTOM","GRID_PADDING_H","SEARCH_ROW","EmojiRow","buildItems","itemLength","SearchField","SearchHint","createStyles","TabStrip","TonePopup","useTabScroll","EmojiGrid","t0","$","_c","onSelect","variant","t1","columns","columnsProp","categories","categoryKeys","isRecentsEnabled","t2","isSearchEnabled","t3","onBackspace","onSearchModeChange","bottomInset","t4","undefined","theme","styles","labels","isRTL","isDark","isKeyboard","width","setWidth","t5","Symbol","for","event","next","Math","round","nativeEvent","layout","previous","onLayout","query","setQuery","isSearching","setIsSearching","searchInputRef","recents","setRecents","_temp","toneVersion","setToneVersion","t6","t7","subscribe","_temp2","getRecents","t8","hasRecents","length","t9","key","label","emojiRecent","t10","t11","category","map","tabs","max","floor","emojiKeyboard","cellSize","emojiSize","t12","fontSize","min","hasListSearch","t13","items","offsets","firstItemOfTab","listRef","activeTabRef","viewabilityConfig","onViewableItemsChanged","scrollToTab","endScrub","t14","_","index","offset","getItemLayout","t15","emoji","add","handleSelect","containerRef","tonePopup","setTonePopup","t16","emoji_0","event_0","pageX","pageY","locationY","current","measureInWindow","x","y","cellTop","handleLongPress","t17","tone","popup","setTone","pickTone","t18","OS","requestAnimationFrame","focus","enterSearch","t19","blur","leaveSearch","t20","searchIcon","t21","item","type","emojiSearch","header","textRTL","title","empty","emojiNoResults","emojis","renderItem","showTabs","showFixedSearch","t22","t23","t24","listContent","_temp3","paddingBottom","t25","backspace","backspaceWrap","backspaceWrapRTL","bottom","t26","t27","container","sort","version","item_0"],"sources":["../../../src/emoji/EmojiGrid/index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport {\n FlatList,\n GestureResponderEvent,\n LayoutChangeEvent,\n ListRenderItemInfo,\n Platform,\n Pressable,\n Text,\n TextInput,\n View,\n} from 'react-native'\n\nimport { selectionHaptic } from '../../components/haptics'\nimport { useColorScheme } from '../../hooks/useColorScheme'\nimport { useIsRTL } from '../../hooks/useIsRTL'\nimport { useLabels } from '../../hooks/useLabels'\nimport { useTheme, useThemedStyles } from '../../hooks/useTheme'\nimport { emojiRecents, getEmojiCategories, withSkinTone } from '../emojiStore'\nimport { BackspaceButton } from './BackspaceButton'\nimport { CATEGORY_LABEL, GRID_PADDING_BOTTOM, GRID_PADDING_H, SEARCH_ROW } from './constants'\nimport { EmojiRow } from './EmojiRow'\nimport { buildItems, itemLength } from './items'\nimport { SearchField, SearchHint } from './Search'\nimport { createStyles } from './styles'\nimport { TabStrip } from './TabStrip'\nimport { TonePopup } from './TonePopup'\nimport { EmojiGridProps, Item, Tab, TonePopupState } from './types'\nimport { useTabScroll } from './useTabScroll'\n\nexport type { EmojiGridProps } from './types'\n\n/*\n * The emoji grid. Only the rows on screen are rendered, each cell is a plain Text,\n * and nothing animates per cell, so a screenful mounts as cheaply as a screenful of text.\n */\n\n/**\n * The built-in emoji grid with its tab strip, section headers,\n * search, recents and skin tones. The composer's emoji keyboard and the expanded reactions\n * panel are both this component.\n */\nexport const EmojiGrid = ({\n onSelect,\n variant = 'keyboard',\n columns: columnsProp,\n categories: categoryKeys,\n isRecentsEnabled = true,\n isSearchEnabled = true,\n onBackspace,\n onSearchModeChange,\n bottomInset = 0,\n}: EmojiGridProps) => {\n const theme = useTheme()\n const styles = useThemedStyles(createStyles)\n const labels = useLabels()\n const isRTL = useIsRTL()\n const isDark = useColorScheme() === 'dark'\n const isKeyboard = variant === 'keyboard'\n\n const [width, setWidth] = useState(0)\n const onLayout = useCallback((event: LayoutChangeEvent) => {\n const next = Math.round(event.nativeEvent.layout.width)\n // A hidden panel can report 0; keep the last real width so the rows stay laid out.\n if (next > 0)\n setWidth(previous => (previous === next ? previous : next))\n }, [])\n\n const [query, setQuery] = useState('')\n const [isSearching, setIsSearching] = useState(false)\n const searchInputRef = useRef<React.ComponentRef<typeof TextInput>>(null)\n\n // Recents are sorted when the panel opens, then held still while it is up (`sortEmoji`).\n const [recents, setRecents] = useState<string[]>(() => {\n emojiRecents.sort()\n return emojiRecents.getRecents()\n })\n const [toneVersion, setToneVersion] = useState(0)\n // A remembered tone changed, or the stored recents finished loading.\n useEffect(() => emojiRecents.subscribe(() => {\n setToneVersion(version => version + 1)\n setRecents(emojiRecents.getRecents())\n }), [])\n\n const categories = useMemo(() => getEmojiCategories(categoryKeys), [categoryKeys])\n const hasRecents = isRecentsEnabled && recents.length > 0\n\n const tabs = useMemo<Tab[]>(() => [\n ...(hasRecents ? [{ key: 'recent' as const, label: labels.emojiRecent }] : []),\n ...categories.map(category => ({ key: category.key, label: labels[CATEGORY_LABEL[category.key]] })),\n ], [hasRecents, categories, labels])\n\n const columns = columnsProp ?? Math.max(1, Math.floor(width / theme.emojiKeyboard.cellSize))\n const cellSize = width > 0 ? Math.floor((width - GRID_PADDING_H * 2) / columns) : 0\n const fontSize = Math.min(theme.emojiKeyboard.emojiSize, Math.round(cellSize * 0.66))\n\n // In the keyboard the search row is the first item, scrolled away under the tabs; in the\n // reactions panel (and while searching) it is a fixed header instead.\n const hasListSearch = isKeyboard && isSearchEnabled && !isSearching\n\n const { items, offsets, firstItemOfTab } = useMemo(\n () => buildItems({ hasListSearch, isSearching, query, hasRecents, recents, categories, columns, cellSize, labels }),\n [hasListSearch, isSearching, query, hasRecents, recents, categories, columns, cellSize, labels]\n )\n\n const { listRef, activeTabRef, viewabilityConfig, onViewableItemsChanged, scrollToTab, endScrub } = useTabScroll(firstItemOfTab, offsets)\n\n const getItemLayout = useCallback((_: ArrayLike<Item> | null | undefined, index: number) => {\n const length = itemLength(items[index], cellSize)\n return { length, offset: offsets[index] ?? 0, index }\n }, [items, offsets, cellSize])\n\n const handleSelect = useCallback((emoji: string) => {\n emojiRecents.add(emoji)\n onSelect(emoji)\n }, [onSelect])\n\n // Long-press on an emoji that takes a skin tone opens the tone popup above it.\n const containerRef = useRef<React.ComponentRef<typeof View>>(null)\n const [tonePopup, setTonePopup] = useState<TonePopupState | null>(null)\n const handleLongPress = useCallback((emoji: string, event: GestureResponderEvent) => {\n const { pageX, pageY, locationY } = event.nativeEvent\n selectionHaptic()\n containerRef.current?.measureInWindow((x, y) => {\n // The popup sits above the cell, whose top is the touch less its offset in the cell.\n const cellTop = pageY - y - (locationY ?? 0)\n setTonePopup({ emoji, x: pageX - x, y: cellTop })\n })\n }, [])\n const pickTone = useCallback((tone: number | null) => {\n const popup = tonePopup\n setTonePopup(null)\n if (!popup)\n return\n emojiRecents.setTone(popup.emoji, tone)\n handleSelect(withSkinTone(popup.emoji, tone))\n }, [tonePopup, handleSelect])\n\n const enterSearch = useCallback(() => {\n setIsSearching(true)\n onSearchModeChange?.(true)\n // Android does not raise the soft keyboard for a field focused in the frame it mounts in\n // (the cursor shows, the keyboard never comes), so there the field asks for focus itself\n // once it is attached, through `autoFocus`.\n if (Platform.OS !== 'android')\n requestAnimationFrame(() => searchInputRef.current?.focus())\n }, [onSearchModeChange])\n\n const leaveSearch = useCallback(() => {\n setIsSearching(false)\n setQuery('')\n searchInputRef.current?.blur()\n onSearchModeChange?.(false)\n }, [onSearchModeChange])\n\n const renderItem = useCallback(({ item }: ListRenderItemInfo<Item>) => {\n switch (item.type) {\n case 'search':\n return (\n <Pressable onPress={enterSearch} accessibilityRole='search' accessibilityLabel={labels.emojiSearch}>\n <SearchHint styles={styles} isRTL={isRTL} color={theme.emojiKeyboard.searchIcon} label={labels.emojiSearch} />\n </Pressable>\n )\n case 'header':\n return <Text style={[styles.header, isRTL && styles.textRTL]} numberOfLines={1}>{item.title}</Text>\n case 'empty':\n return <Text style={styles.empty}>{labels.emojiNoResults}</Text>\n default:\n return (\n <EmojiRow\n emojis={item.emojis}\n cellSize={cellSize}\n fontSize={fontSize}\n isRTL={isRTL}\n toneVersion={toneVersion}\n onPress={handleSelect}\n onLongPress={handleLongPress}\n styles={styles}\n />\n )\n }\n }, [enterSearch, labels, styles, isRTL, theme.emojiKeyboard.searchIcon, cellSize, fontSize, toneVersion, handleSelect, handleLongPress])\n\n const showTabs = !isSearching && tabs.length > 1\n const showFixedSearch = isSearchEnabled && (!isKeyboard || isSearching)\n\n return (\n <View ref={containerRef} testID='emoji-grid' style={styles.container} onLayout={onLayout}>\n {isKeyboard && showTabs && (\n <TabStrip tabs={tabs} activeRef={activeTabRef} onPress={scrollToTab} onScrubEnd={endScrub} styles={styles} theme={theme} isRTL={isRTL} />\n )}\n {showFixedSearch && (\n <SearchField\n inputRef={searchInputRef}\n query={query}\n setQuery={setQuery}\n setIsSearching={setIsSearching}\n leaveSearch={leaveSearch}\n isKeyboard={isKeyboard}\n isRTL={isRTL}\n isDark={isDark}\n styles={styles}\n theme={theme}\n labels={labels}\n />\n )}\n {!isKeyboard && showTabs && (\n <TabStrip tabs={tabs} activeRef={activeTabRef} onPress={scrollToTab} onScrubEnd={endScrub} styles={styles} theme={theme} isRTL={isRTL} />\n )}\n {cellSize > 0 && (\n <FlatList\n // A new list when search starts or ends, so its initial offset applies again.\n key={hasListSearch ? 'with-search' : 'plain'}\n ref={listRef}\n data={items}\n keyExtractor={item => item.key}\n renderItem={renderItem}\n extraData={toneVersion}\n getItemLayout={getItemLayout}\n contentOffset={hasListSearch ? { x: 0, y: SEARCH_ROW } : undefined}\n contentContainerStyle={[styles.listContent, { paddingBottom: (onBackspace ? GRID_PADDING_BOTTOM : 8) + bottomInset }]}\n // About one panel of rows up front, then small batches: the panel is about 7 rows tall.\n initialNumToRender={9}\n maxToRenderPerBatch={6}\n updateCellsBatchingPeriod={30}\n windowSize={5}\n removeClippedSubviews\n keyboardShouldPersistTaps='always'\n keyboardDismissMode='none'\n viewabilityConfig={viewabilityConfig}\n onViewableItemsChanged={onViewableItemsChanged}\n showsVerticalScrollIndicator={false}\n />\n )}\n {onBackspace && !isSearching && (\n <View style={[styles.backspaceWrap, isRTL ? styles.backspaceWrapRTL : null, { bottom: bottomInset }]} pointerEvents='box-none'>\n <BackspaceButton onBackspace={onBackspace} isRTL={isRTL} styles={styles} color={theme.emojiKeyboard.backspace} label={labels.backspace} />\n </View>\n )}\n {tonePopup && (\n <TonePopup popup={tonePopup} width={width} onPick={pickTone} onClose={() => setTonePopup(null)} styles={styles} />\n )}\n </View>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ import { ChatLabels } from '../../i18n';
2
+ import { getEmojiCategories } from '../emojiStore';
3
+ import { Item } from './types';
4
+ /** Every item is a fixed height, so offsets are exact and `getItemLayout` needs no measuring. */
5
+ export declare const itemLength: (item: Item | undefined, cellSize: number) => number;
6
+ /**
7
+ * The list's items - the search row, section headers and emoji rows - with each item's offset
8
+ * and the first item of each tab.
9
+ */
10
+ export declare const buildItems: ({ hasListSearch, isSearching, query, hasRecents, recents, categories, columns, cellSize, labels, }: {
11
+ hasListSearch: boolean;
12
+ isSearching: boolean;
13
+ query: string;
14
+ hasRecents: boolean;
15
+ recents: string[];
16
+ categories: ReturnType<typeof getEmojiCategories>;
17
+ columns: number;
18
+ cellSize: number;
19
+ labels: ChatLabels;
20
+ }) => {
21
+ items: Item[];
22
+ offsets: number[];
23
+ firstItemOfTab: number[];
24
+ };
25
+ //# sourceMappingURL=items.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../../src/emoji/EmojiGrid/items.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAgB,MAAM,eAAe,CAAA;AAEhE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,iGAAiG;AACjG,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,GAAG,SAAS,EAAE,UAAU,MAAM,WAC+D,CAAA;AAElI;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,oGAUxB;IACD,aAAa,EAAE,OAAO,CAAA;IACtB,WAAW,EAAE,OAAO,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;IACjD,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,UAAU,CAAA;CACnB;;;;CAsCA,CAAA"}
@@ -0,0 +1,75 @@
1
+ import { searchEmojis } from '../emojiStore';
2
+ import { CATEGORY_LABEL, HEADER_HEIGHT, SEARCH_ROW } from './constants';
3
+ /** Every item is a fixed height, so offsets are exact and `getItemLayout` needs no measuring. */
4
+ export const itemLength = (item, cellSize) => !item ? 0 : item.type === 'search' ? SEARCH_ROW : item.type === 'header' ? HEADER_HEIGHT : item.type === 'empty' ? 80 : cellSize;
5
+
6
+ /**
7
+ * The list's items - the search row, section headers and emoji rows - with each item's offset
8
+ * and the first item of each tab.
9
+ */
10
+ export const buildItems = ({
11
+ hasListSearch,
12
+ isSearching,
13
+ query,
14
+ hasRecents,
15
+ recents,
16
+ categories,
17
+ columns,
18
+ cellSize,
19
+ labels
20
+ }) => {
21
+ const list = [];
22
+ const firstOfTab = [];
23
+ const pushRows = (emojis, tab, keyPrefix) => {
24
+ for (let i = 0; i < emojis.length; i += columns) list.push({
25
+ type: 'row',
26
+ key: `${keyPrefix}-${i}`,
27
+ emojis: emojis.slice(i, i + columns),
28
+ tab
29
+ });
30
+ };
31
+ if (hasListSearch) list.push({
32
+ type: 'search',
33
+ key: 'search',
34
+ tab: 0
35
+ });
36
+ if (isSearching) {
37
+ const found = searchEmojis(query);
38
+ if (query.trim() && found.length === 0) list.push({
39
+ type: 'empty',
40
+ key: 'empty',
41
+ tab: 0
42
+ });
43
+ pushRows(found, 0, `found-${query}`);
44
+ } else {
45
+ let tab = 0;
46
+ if (hasRecents) {
47
+ firstOfTab[tab] = list.length;
48
+ pushRows(recents, tab, 'recent');
49
+ tab += 1;
50
+ }
51
+ for (const category of categories) {
52
+ firstOfTab[tab] = list.length;
53
+ list.push({
54
+ type: 'header',
55
+ key: `h-${category.key}`,
56
+ title: labels[CATEGORY_LABEL[category.key]],
57
+ tab
58
+ });
59
+ pushRows(category.emojis, tab, category.key);
60
+ tab += 1;
61
+ }
62
+ }
63
+ let offset = 0;
64
+ const itemOffsets = list.map(item => {
65
+ const start = offset;
66
+ offset += itemLength(item, cellSize);
67
+ return start;
68
+ });
69
+ return {
70
+ items: list,
71
+ offsets: itemOffsets,
72
+ firstItemOfTab: firstOfTab
73
+ };
74
+ };
75
+ //# sourceMappingURL=items.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"items.js","names":["searchEmojis","CATEGORY_LABEL","HEADER_HEIGHT","SEARCH_ROW","itemLength","item","cellSize","type","buildItems","hasListSearch","isSearching","query","hasRecents","recents","categories","columns","labels","list","firstOfTab","pushRows","emojis","tab","keyPrefix","i","length","push","key","slice","found","trim","category","title","offset","itemOffsets","map","start","items","offsets","firstItemOfTab"],"sources":["../../../src/emoji/EmojiGrid/items.ts"],"sourcesContent":["import { ChatLabels } from '../../i18n'\nimport { getEmojiCategories, searchEmojis } from '../emojiStore'\nimport { CATEGORY_LABEL, HEADER_HEIGHT, SEARCH_ROW } from './constants'\nimport { Item } from './types'\n\n/** Every item is a fixed height, so offsets are exact and `getItemLayout` needs no measuring. */\nexport const itemLength = (item: Item | undefined, cellSize: number) =>\n !item ? 0 : item.type === 'search' ? SEARCH_ROW : item.type === 'header' ? HEADER_HEIGHT : item.type === 'empty' ? 80 : cellSize\n\n/**\n * The list's items - the search row, section headers and emoji rows - with each item's offset\n * and the first item of each tab.\n */\nexport const buildItems = ({\n hasListSearch,\n isSearching,\n query,\n hasRecents,\n recents,\n categories,\n columns,\n cellSize,\n labels,\n}: {\n hasListSearch: boolean\n isSearching: boolean\n query: string\n hasRecents: boolean\n recents: string[]\n categories: ReturnType<typeof getEmojiCategories>\n columns: number\n cellSize: number\n labels: ChatLabels\n}) => {\n const list: Item[] = []\n const firstOfTab: number[] = []\n const pushRows = (emojis: string[], tab: number, keyPrefix: string) => {\n for (let i = 0; i < emojis.length; i += columns)\n list.push({ type: 'row', key: `${keyPrefix}-${i}`, emojis: emojis.slice(i, i + columns), tab })\n }\n\n if (hasListSearch)\n list.push({ type: 'search', key: 'search', tab: 0 })\n\n if (isSearching) {\n const found = searchEmojis(query)\n if (query.trim() && found.length === 0)\n list.push({ type: 'empty', key: 'empty', tab: 0 })\n pushRows(found, 0, `found-${query}`)\n } else {\n let tab = 0\n if (hasRecents) {\n firstOfTab[tab] = list.length\n pushRows(recents, tab, 'recent')\n tab += 1\n }\n for (const category of categories) {\n firstOfTab[tab] = list.length\n list.push({ type: 'header', key: `h-${category.key}`, title: labels[CATEGORY_LABEL[category.key]], tab })\n pushRows(category.emojis, tab, category.key)\n tab += 1\n }\n }\n\n let offset = 0\n const itemOffsets = list.map(item => {\n const start = offset\n offset += itemLength(item, cellSize)\n return start\n })\n return { items: list, offsets: itemOffsets, firstItemOfTab: firstOfTab }\n}\n"],"mappings":"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","ignoreList":[]}