@kesha-antonov/react-native-chat 5.0.1 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +486 -179
- package/lib/Actions.d.ts.map +1 -1
- package/lib/Actions.js +121 -42
- package/lib/Actions.js.map +1 -1
- package/lib/Avatar.d.ts.map +1 -1
- package/lib/Avatar.js +171 -86
- package/lib/Avatar.js.map +1 -1
- package/lib/Bubble/BubbleBody.d.ts +15 -0
- package/lib/Bubble/BubbleBody.d.ts.map +1 -0
- package/lib/Bubble/BubbleBody.js +218 -0
- package/lib/Bubble/BubbleBody.js.map +1 -0
- package/lib/Bubble/BubbleContent.d.ts +23 -0
- package/lib/Bubble/BubbleContent.d.ts.map +1 -0
- package/lib/Bubble/BubbleContent.js +446 -0
- package/lib/Bubble/BubbleContent.js.map +1 -0
- package/lib/Bubble/BubbleMenu.d.ts +45 -0
- package/lib/Bubble/BubbleMenu.d.ts.map +1 -0
- package/lib/Bubble/BubbleMenu.js +289 -0
- package/lib/Bubble/BubbleMenu.js.map +1 -0
- package/lib/Bubble/BubbleMeta.d.ts +17 -0
- package/lib/Bubble/BubbleMeta.d.ts.map +1 -0
- package/lib/Bubble/BubbleMeta.js +453 -0
- package/lib/Bubble/BubbleMeta.js.map +1 -0
- package/lib/Bubble/LiftedBubble.d.ts +18 -0
- package/lib/Bubble/LiftedBubble.d.ts.map +1 -0
- package/lib/Bubble/LiftedBubble.js +109 -0
- package/lib/Bubble/LiftedBubble.js.map +1 -0
- package/lib/Bubble/PressableBubbleRow.d.ts +33 -0
- package/lib/Bubble/PressableBubbleRow.d.ts.map +1 -0
- package/lib/Bubble/PressableBubbleRow.js +172 -0
- package/lib/Bubble/PressableBubbleRow.js.map +1 -0
- package/lib/Bubble/index.d.ts +6 -13
- package/lib/Bubble/index.d.ts.map +1 -1
- package/lib/Bubble/index.js +379 -509
- package/lib/Bubble/index.js.map +1 -1
- package/lib/Bubble/layout.d.ts +47 -0
- package/lib/Bubble/layout.d.ts.map +1 -0
- package/lib/Bubble/layout.js +258 -0
- package/lib/Bubble/layout.js.map +1 -0
- package/lib/Bubble/styles.d.ts +108 -16
- package/lib/Bubble/styles.d.ts.map +1 -1
- package/lib/Bubble/styles.js +227 -107
- package/lib/Bubble/styles.js.map +1 -1
- package/lib/Bubble/types.d.ts +19 -3
- package/lib/Bubble/types.d.ts.map +1 -1
- package/lib/Bubble/types.js.map +1 -1
- package/lib/Chat/Chat.d.ts +5 -0
- package/lib/Chat/Chat.d.ts.map +1 -0
- package/lib/Chat/Chat.js +464 -0
- package/lib/Chat/Chat.js.map +1 -0
- package/lib/Chat/ChatBackground.d.ts +16 -0
- package/lib/Chat/ChatBackground.d.ts.map +1 -0
- package/lib/Chat/ChatBackground.js +43 -0
- package/lib/Chat/ChatBackground.js.map +1 -0
- package/lib/Chat/ChatKeyboardAvoidingView.js +19 -4
- package/lib/Chat/ChatKeyboardAvoidingView.js.map +1 -1
- package/lib/Chat/ChatMessageList.d.ts +27 -0
- package/lib/Chat/ChatMessageList.d.ts.map +1 -0
- package/lib/Chat/ChatMessageList.js +220 -0
- package/lib/Chat/ChatMessageList.js.map +1 -0
- package/lib/Chat/ChatProviders.d.ts +18 -0
- package/lib/Chat/ChatProviders.d.ts.map +1 -0
- package/lib/Chat/ChatProviders.js +87 -0
- package/lib/Chat/ChatProviders.js.map +1 -0
- package/lib/Chat/ChatSafeAreaProvider.d.ts +35 -0
- package/lib/Chat/ChatSafeAreaProvider.d.ts.map +1 -0
- package/lib/Chat/ChatSafeAreaProvider.js +123 -0
- package/lib/Chat/ChatSafeAreaProvider.js.map +1 -0
- package/lib/Chat/ChatSelectionBar.d.ts +20 -0
- package/lib/Chat/ChatSelectionBar.d.ts.map +1 -0
- package/lib/Chat/ChatSelectionBar.js +141 -0
- package/lib/Chat/ChatSelectionBar.js.map +1 -0
- package/lib/Chat/ChatWrapper.d.ts +11 -0
- package/lib/Chat/ChatWrapper.d.ts.map +1 -0
- package/lib/Chat/ChatWrapper.js +98 -0
- package/lib/Chat/ChatWrapper.js.map +1 -0
- package/lib/Chat/ComposerHost.d.ts +20 -0
- package/lib/Chat/ComposerHost.d.ts.map +1 -0
- package/lib/Chat/ComposerHost.js +118 -0
- package/lib/Chat/ComposerHost.js.map +1 -0
- package/lib/Chat/index.d.ts +1 -8
- package/lib/Chat/index.d.ts.map +1 -1
- package/lib/Chat/index.js +1 -337
- package/lib/Chat/index.js.map +1 -1
- package/lib/Chat/styles.d.ts +14 -2
- package/lib/Chat/styles.d.ts.map +1 -1
- package/lib/Chat/styles.js +19 -9
- package/lib/Chat/styles.js.map +1 -1
- package/lib/Chat/types.d.ts +145 -11
- package/lib/Chat/types.d.ts.map +1 -1
- package/lib/Chat/types.js.map +1 -1
- package/lib/Chat/useChatContextValue.d.ts +19 -0
- package/lib/Chat/useChatContextValue.d.ts.map +1 -0
- package/lib/Chat/useChatContextValue.js +158 -0
- package/lib/Chat/useChatContextValue.js.map +1 -0
- package/lib/Chat/useChatMedia.d.ts +22 -0
- package/lib/Chat/useChatMedia.d.ts.map +1 -0
- package/lib/Chat/useChatMedia.js +127 -0
- package/lib/Chat/useChatMedia.js.map +1 -0
- package/lib/Chat/useChatSelection.d.ts +15 -0
- package/lib/Chat/useChatSelection.d.ts.map +1 -0
- package/lib/Chat/useChatSelection.js +106 -0
- package/lib/Chat/useChatSelection.js.map +1 -0
- package/lib/Chat/useComposerHandlers.d.ts +34 -0
- package/lib/Chat/useComposerHandlers.d.ts.map +1 -0
- package/lib/Chat/useComposerHandlers.js +330 -0
- package/lib/Chat/useComposerHandlers.js.map +1 -0
- package/lib/Chat/useComposerState.d.ts +27 -0
- package/lib/Chat/useComposerState.d.ts.map +1 -0
- package/lib/Chat/useComposerState.js +272 -0
- package/lib/Chat/useComposerState.js.map +1 -0
- package/lib/Chat/useInitialLayout.d.ts +19 -0
- package/lib/Chat/useInitialLayout.d.ts.map +1 -0
- package/lib/Chat/useInitialLayout.js +70 -0
- package/lib/Chat/useInitialLayout.js.map +1 -0
- package/lib/Chat/useMessageActions.d.ts +37 -0
- package/lib/Chat/useMessageActions.d.ts.map +1 -0
- package/lib/Chat/useMessageActions.js +323 -0
- package/lib/Chat/useMessageActions.js.map +1 -0
- package/lib/Chat/useMessageNavigation.d.ts +21 -0
- package/lib/Chat/useMessageNavigation.d.ts.map +1 -0
- package/lib/Chat/useMessageNavigation.js +149 -0
- package/lib/Chat/useMessageNavigation.js.map +1 -0
- package/lib/Chat/useOptionalPeerHints.d.ts +6 -0
- package/lib/Chat/useOptionalPeerHints.d.ts.map +1 -0
- package/lib/Chat/useOptionalPeerHints.js +63 -0
- package/lib/Chat/useOptionalPeerHints.js.map +1 -0
- package/lib/Chat/useResolvedReactions.d.ts +31 -0
- package/lib/Chat/useResolvedReactions.d.ts.map +1 -0
- package/lib/Chat/useResolvedReactions.js +95 -0
- package/lib/Chat/useResolvedReactions.js.map +1 -0
- package/lib/ChatAvatar.d.ts.map +1 -1
- package/lib/ChatAvatar.js +229 -84
- package/lib/ChatAvatar.js.map +1 -1
- package/lib/ChatContext.js +20 -10
- package/lib/ChatContext.js.map +1 -1
- package/lib/ChatList/ChatListAvatar.d.ts +21 -0
- package/lib/ChatList/ChatListAvatar.d.ts.map +1 -0
- package/lib/ChatList/ChatListAvatar.js +178 -0
- package/lib/ChatList/ChatListAvatar.js.map +1 -0
- package/lib/ChatList/ChatListCell.d.ts +16 -0
- package/lib/ChatList/ChatListCell.d.ts.map +1 -0
- package/lib/ChatList/ChatListCell.js +506 -0
- package/lib/ChatList/ChatListCell.js.map +1 -0
- package/lib/ChatList/ChatListShimmer.d.ts +3 -0
- package/lib/ChatList/ChatListShimmer.d.ts.map +1 -0
- package/lib/ChatList/ChatListShimmer.js +235 -0
- package/lib/ChatList/ChatListShimmer.js.map +1 -0
- package/lib/ChatList/index.d.ts +16 -0
- package/lib/ChatList/index.d.ts.map +1 -0
- package/lib/ChatList/index.js +1301 -0
- package/lib/ChatList/index.js.map +1 -0
- package/lib/ChatList/types.d.ts +128 -0
- package/lib/ChatList/types.d.ts.map +1 -0
- package/lib/ChatList/types.js +2 -0
- package/lib/ChatList/types.js.map +1 -0
- package/lib/ChatList/useChatList.d.ts +30 -0
- package/lib/ChatList/useChatList.d.ts.map +1 -0
- package/lib/ChatList/useChatList.js +211 -0
- package/lib/ChatList/useChatList.js.map +1 -0
- package/lib/ChatList/utils.d.ts +28 -0
- package/lib/ChatList/utils.d.ts.map +1 -0
- package/lib/ChatList/utils.js +60 -0
- package/lib/ChatList/utils.js.map +1 -0
- package/lib/Color.js +19 -19
- package/lib/Color.js.map +1 -1
- package/lib/Composer.d.ts.map +1 -1
- package/lib/Composer.js +148 -70
- package/lib/Composer.js.map +1 -1
- package/lib/Constant.js +4 -4
- package/lib/Constant.js.map +1 -1
- package/lib/Day/index.d.ts.map +1 -1
- package/lib/Day/index.js +115 -28
- package/lib/Day/index.js.map +1 -1
- package/lib/Day/styles.d.ts +3 -3
- package/lib/Day/styles.d.ts.map +1 -1
- package/lib/Day/styles.js +20 -17
- package/lib/Day/styles.js.map +1 -1
- package/lib/Day/types.js.map +1 -1
- package/lib/Icons.d.ts +1 -1
- package/lib/Icons.d.ts.map +1 -1
- package/lib/Icons.js.map +1 -1
- package/lib/InputToolbar/FieldGroup.d.ts +28 -0
- package/lib/InputToolbar/FieldGroup.d.ts.map +1 -0
- package/lib/InputToolbar/FieldGroup.js +143 -0
- package/lib/InputToolbar/FieldGroup.js.map +1 -0
- package/lib/InputToolbar/TakePreviewBar.d.ts +17 -0
- package/lib/InputToolbar/TakePreviewBar.d.ts.map +1 -0
- package/lib/InputToolbar/TakePreviewBar.js +126 -0
- package/lib/InputToolbar/TakePreviewBar.js.map +1 -0
- package/lib/InputToolbar/animations.d.ts +105 -0
- package/lib/InputToolbar/animations.d.ts.map +1 -0
- package/lib/InputToolbar/animations.js +238 -0
- package/lib/InputToolbar/animations.js.map +1 -0
- package/lib/InputToolbar/fragments.d.ts +13 -0
- package/lib/InputToolbar/fragments.d.ts.map +1 -0
- package/lib/InputToolbar/fragments.js +207 -0
- package/lib/InputToolbar/fragments.js.map +1 -0
- package/lib/InputToolbar/index.d.ts +7 -0
- package/lib/InputToolbar/index.d.ts.map +1 -0
- package/lib/InputToolbar/index.js +444 -0
- package/lib/InputToolbar/index.js.map +1 -0
- package/lib/InputToolbar/recordingOptions.d.ts +14 -0
- package/lib/InputToolbar/recordingOptions.d.ts.map +1 -0
- package/lib/InputToolbar/recordingOptions.js +38 -0
- package/lib/InputToolbar/recordingOptions.js.map +1 -0
- package/lib/InputToolbar/styles.d.ts +118 -0
- package/lib/InputToolbar/styles.d.ts.map +1 -0
- package/lib/InputToolbar/styles.js +139 -0
- package/lib/InputToolbar/styles.js.map +1 -0
- package/lib/InputToolbar/types.d.ts +77 -0
- package/lib/InputToolbar/types.d.ts.map +1 -0
- package/lib/InputToolbar/types.js +2 -0
- package/lib/InputToolbar/types.js.map +1 -0
- package/lib/InputToolbar/useActionsFragment.d.ts +6 -0
- package/lib/InputToolbar/useActionsFragment.d.ts.map +1 -0
- package/lib/InputToolbar/useActionsFragment.js +139 -0
- package/lib/InputToolbar/useActionsFragment.js.map +1 -0
- package/lib/InputToolbar/useComposerEditing.d.ts +11 -0
- package/lib/InputToolbar/useComposerEditing.d.ts.map +1 -0
- package/lib/InputToolbar/useComposerEditing.js +116 -0
- package/lib/InputToolbar/useComposerEditing.js.map +1 -0
- package/lib/InputToolbar/useEmojiButton.d.ts +14 -0
- package/lib/InputToolbar/useEmojiButton.d.ts.map +1 -0
- package/lib/InputToolbar/useEmojiButton.js +120 -0
- package/lib/InputToolbar/useEmojiButton.js.map +1 -0
- package/lib/InputToolbar/useKeyboardInset.d.ts +9 -0
- package/lib/InputToolbar/useKeyboardInset.d.ts.map +1 -0
- package/lib/InputToolbar/useKeyboardInset.js +25 -0
- package/lib/InputToolbar/useKeyboardInset.js.map +1 -0
- package/lib/InputToolbar/useRecordMode.d.ts +19 -0
- package/lib/InputToolbar/useRecordMode.d.ts.map +1 -0
- package/lib/InputToolbar/useRecordMode.js +124 -0
- package/lib/InputToolbar/useRecordMode.js.map +1 -0
- package/lib/InputToolbar/useRecordTake.d.ts +46 -0
- package/lib/InputToolbar/useRecordTake.d.ts.map +1 -0
- package/lib/InputToolbar/useRecordTake.js +315 -0
- package/lib/InputToolbar/useRecordTake.js.map +1 -0
- package/lib/InputToolbar/useReturnAnimations.d.ts +18 -0
- package/lib/InputToolbar/useReturnAnimations.d.ts.map +1 -0
- package/lib/InputToolbar/useReturnAnimations.js +30 -0
- package/lib/InputToolbar/useReturnAnimations.js.map +1 -0
- package/lib/InputToolbar/useRightControl.d.ts +40 -0
- package/lib/InputToolbar/useRightControl.d.ts.map +1 -0
- package/lib/InputToolbar/useRightControl.js +129 -0
- package/lib/InputToolbar/useRightControl.js.map +1 -0
- package/lib/LoadEarlierMessages.d.ts +2 -0
- package/lib/LoadEarlierMessages.d.ts.map +1 -1
- package/lib/LoadEarlierMessages.js +153 -40
- package/lib/LoadEarlierMessages.js.map +1 -1
- package/lib/Message/SwipeToReply.d.ts +23 -0
- package/lib/Message/SwipeToReply.d.ts.map +1 -0
- package/lib/Message/SwipeToReply.js +337 -0
- package/lib/Message/SwipeToReply.js.map +1 -0
- package/lib/Message/index.d.ts.map +1 -1
- package/lib/Message/index.js +415 -176
- package/lib/Message/index.js.map +1 -1
- package/lib/Message/styles.d.ts +2 -2
- package/lib/Message/styles.js +14 -14
- package/lib/Message/styles.js.map +1 -1
- package/lib/Message/types.d.ts +5 -0
- package/lib/Message/types.d.ts.map +1 -1
- package/lib/Message/types.js.map +1 -1
- package/lib/MessageAudio.d.ts.map +1 -1
- package/lib/MessageAudio.js +647 -107
- package/lib/MessageAudio.js.map +1 -1
- package/lib/MessageFile.d.ts +11 -0
- package/lib/MessageFile.d.ts.map +1 -0
- package/lib/MessageFile.js +315 -0
- package/lib/MessageFile.js.map +1 -0
- package/lib/MessageImage.d.ts +2 -0
- package/lib/MessageImage.d.ts.map +1 -1
- package/lib/MessageImage.js +430 -161
- package/lib/MessageImage.js.map +1 -1
- package/lib/MessageLocation.d.ts.map +1 -1
- package/lib/MessageLocation.js +180 -68
- package/lib/MessageLocation.js.map +1 -1
- package/lib/MessageText.d.ts +8 -1
- package/lib/MessageText.d.ts.map +1 -1
- package/lib/MessageText.js +261 -69
- package/lib/MessageText.js.map +1 -1
- package/lib/MessageVideo/ExpoVideoPlayer.d.ts +6 -0
- package/lib/MessageVideo/ExpoVideoPlayer.d.ts.map +1 -0
- package/lib/MessageVideo/ExpoVideoPlayer.js +68 -0
- package/lib/MessageVideo/ExpoVideoPlayer.js.map +1 -0
- package/lib/MessageVideo/MirroredVideo.d.ts +17 -0
- package/lib/MessageVideo/MirroredVideo.d.ts.map +1 -0
- package/lib/MessageVideo/MirroredVideo.js +223 -0
- package/lib/MessageVideo/MirroredVideo.js.map +1 -0
- package/lib/MessageVideo/RoundNotePlayer.d.ts +4 -0
- package/lib/MessageVideo/RoundNotePlayer.d.ts.map +1 -0
- package/lib/MessageVideo/RoundNotePlayer.js +560 -0
- package/lib/MessageVideo/RoundNotePlayer.js.map +1 -0
- package/lib/MessageVideo/RoundTranscription.d.ts +27 -0
- package/lib/MessageVideo/RoundTranscription.d.ts.map +1 -0
- package/lib/MessageVideo/RoundTranscription.js +151 -0
- package/lib/MessageVideo/RoundTranscription.js.map +1 -0
- package/lib/MessageVideo/VideoTransferOverlay.d.ts +11 -0
- package/lib/MessageVideo/VideoTransferOverlay.d.ts.map +1 -0
- package/lib/MessageVideo/VideoTransferOverlay.js +88 -0
- package/lib/MessageVideo/VideoTransferOverlay.js.map +1 -0
- package/lib/MessageVideo/constants.d.ts +13 -0
- package/lib/MessageVideo/constants.d.ts.map +1 -0
- package/lib/MessageVideo/constants.js +15 -0
- package/lib/MessageVideo/constants.js.map +1 -0
- package/lib/{MessageVideo.d.ts → MessageVideo/index.d.ts} +2 -2
- package/lib/MessageVideo/index.d.ts.map +1 -0
- package/lib/MessageVideo/index.js +92 -0
- package/lib/MessageVideo/index.js.map +1 -0
- package/lib/MessageVideo/liftedMedia.d.ts +13 -0
- package/lib/MessageVideo/liftedMedia.d.ts.map +1 -0
- package/lib/MessageVideo/liftedMedia.js +106 -0
- package/lib/MessageVideo/liftedMedia.js.map +1 -0
- package/lib/MessageVideo/styles.d.ts +71 -0
- package/lib/MessageVideo/styles.d.ts.map +1 -0
- package/lib/MessageVideo/styles.js +78 -0
- package/lib/MessageVideo/styles.js.map +1 -0
- package/lib/MessageVideo/types.d.ts +27 -0
- package/lib/MessageVideo/types.d.ts.map +1 -0
- package/lib/MessageVideo/types.js +2 -0
- package/lib/MessageVideo/types.js.map +1 -0
- package/lib/MessageVideo/useNoteGrow.d.ts +16 -0
- package/lib/MessageVideo/useNoteGrow.d.ts.map +1 -0
- package/lib/MessageVideo/useNoteGrow.js +122 -0
- package/lib/MessageVideo/useNoteGrow.js.map +1 -0
- package/lib/MessageVideo/useNotePlayer.d.ts +14 -0
- package/lib/MessageVideo/useNotePlayer.d.ts.map +1 -0
- package/lib/MessageVideo/useNotePlayer.js +142 -0
- package/lib/MessageVideo/useNotePlayer.js.map +1 -0
- package/lib/MessageVideo/useRingSeek.d.ts +16 -0
- package/lib/MessageVideo/useRingSeek.d.ts.map +1 -0
- package/lib/MessageVideo/useRingSeek.js +157 -0
- package/lib/MessageVideo/useRingSeek.js.map +1 -0
- package/lib/MessageVideo/useRoundNotePlayback.d.ts +46 -0
- package/lib/MessageVideo/useRoundNotePlayback.d.ts.map +1 -0
- package/lib/MessageVideo/useRoundNotePlayback.js +508 -0
- package/lib/MessageVideo/useRoundNotePlayback.js.map +1 -0
- package/lib/MessageVideo/useSendFlightReveal.d.ts +9 -0
- package/lib/MessageVideo/useSendFlightReveal.d.ts.map +1 -0
- package/lib/MessageVideo/useSendFlightReveal.js +85 -0
- package/lib/MessageVideo/useSendFlightReveal.js.map +1 -0
- package/lib/MessageVideo/videoPlayers.d.ts +8 -0
- package/lib/MessageVideo/videoPlayers.d.ts.map +1 -0
- package/lib/MessageVideo/videoPlayers.js +33 -0
- package/lib/MessageVideo/videoPlayers.js.map +1 -0
- package/lib/MessagesContainer/components/DayAnimated/debug.js +38 -24
- package/lib/MessagesContainer/components/DayAnimated/debug.js.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/index.d.ts +1 -1
- package/lib/MessagesContainer/components/DayAnimated/index.d.ts.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/index.js +244 -112
- package/lib/MessagesContainer/components/DayAnimated/index.js.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/styles.d.ts +3 -3
- package/lib/MessagesContainer/components/DayAnimated/styles.js +8 -8
- package/lib/MessagesContainer/components/DayAnimated/styles.js.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/types.d.ts +4 -2
- package/lib/MessagesContainer/components/DayAnimated/types.d.ts.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/types.js.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.d.ts.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.js +34 -25
- package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.js.map +1 -1
- package/lib/MessagesContainer/components/Item/index.d.ts +3 -4
- package/lib/MessagesContainer/components/Item/index.d.ts.map +1 -1
- package/lib/MessagesContainer/components/Item/index.js +289 -119
- package/lib/MessagesContainer/components/Item/index.js.map +1 -1
- package/lib/MessagesContainer/components/Item/types.d.ts +5 -0
- package/lib/MessagesContainer/components/Item/types.d.ts.map +1 -1
- package/lib/MessagesContainer/components/Item/types.js.map +1 -1
- package/lib/MessagesContainer/components/PageDownCounter.d.ts +14 -0
- package/lib/MessagesContainer/components/PageDownCounter.d.ts.map +1 -0
- package/lib/MessagesContainer/components/PageDownCounter.js +209 -0
- package/lib/MessagesContainer/components/PageDownCounter.js.map +1 -0
- package/lib/MessagesContainer/components/ScrollToBottomButton.d.ts +21 -0
- package/lib/MessagesContainer/components/ScrollToBottomButton.d.ts.map +1 -0
- package/lib/MessagesContainer/components/ScrollToBottomButton.js +195 -0
- package/lib/MessagesContainer/components/ScrollToBottomButton.js.map +1 -0
- package/lib/MessagesContainer/components/dayLayout.d.ts +2 -2
- package/lib/MessagesContainer/components/dayLayout.d.ts.map +1 -1
- package/lib/MessagesContainer/components/dayLayout.js +18 -13
- package/lib/MessagesContainer/components/dayLayout.js.map +1 -1
- package/lib/MessagesContainer/index.d.ts.map +1 -1
- package/lib/MessagesContainer/index.js +361 -420
- package/lib/MessagesContainer/index.js.map +1 -1
- package/lib/MessagesContainer/listState.d.ts +18 -0
- package/lib/MessagesContainer/listState.d.ts.map +1 -0
- package/lib/MessagesContainer/listState.js +25 -0
- package/lib/MessagesContainer/listState.js.map +1 -0
- package/lib/MessagesContainer/listTransitions.d.ts +10 -0
- package/lib/MessagesContainer/listTransitions.d.ts.map +1 -0
- package/lib/MessagesContainer/listTransitions.js +12 -0
- package/lib/MessagesContainer/listTransitions.js.map +1 -0
- package/lib/MessagesContainer/pageDownReturn.d.ts +11 -0
- package/lib/MessagesContainer/pageDownReturn.d.ts.map +1 -0
- package/lib/MessagesContainer/pageDownReturn.js +9 -0
- package/lib/MessagesContainer/pageDownReturn.js.map +1 -0
- package/lib/MessagesContainer/rowConfig.d.ts +39 -0
- package/lib/MessagesContainer/rowConfig.d.ts.map +1 -0
- package/lib/MessagesContainer/rowConfig.js +161 -0
- package/lib/MessagesContainer/rowConfig.js.map +1 -0
- package/lib/MessagesContainer/rowStore.d.ts +37 -0
- package/lib/MessagesContainer/rowStore.d.ts.map +1 -0
- package/lib/MessagesContainer/rowStore.js +140 -0
- package/lib/MessagesContainer/rowStore.js.map +1 -0
- package/lib/MessagesContainer/styles.d.ts +37 -31
- package/lib/MessagesContainer/styles.d.ts.map +1 -1
- package/lib/MessagesContainer/styles.js +75 -54
- package/lib/MessagesContainer/styles.js.map +1 -1
- package/lib/MessagesContainer/types.d.ts +33 -30
- package/lib/MessagesContainer/types.d.ts.map +1 -1
- package/lib/MessagesContainer/types.js +1 -9
- package/lib/MessagesContainer/types.js.map +1 -1
- package/lib/MessagesContainer/useCellLayouts.d.ts +17 -0
- package/lib/MessagesContainer/useCellLayouts.d.ts.map +1 -0
- package/lib/MessagesContainer/useCellLayouts.js +133 -0
- package/lib/MessagesContainer/useCellLayouts.js.map +1 -0
- package/lib/MessagesContainer/useDaysPositions.d.ts +18 -0
- package/lib/MessagesContainer/useDaysPositions.d.ts.map +1 -0
- package/lib/MessagesContainer/useDaysPositions.js +109 -0
- package/lib/MessagesContainer/useDaysPositions.js.map +1 -0
- package/lib/MessagesContainer/useListChrome.d.ts +14 -0
- package/lib/MessagesContainer/useListChrome.d.ts.map +1 -0
- package/lib/MessagesContainer/useListChrome.js +176 -0
- package/lib/MessagesContainer/useListChrome.js.map +1 -0
- package/lib/MessagesContainer/useListMetrics.d.ts +32 -0
- package/lib/MessagesContainer/useListMetrics.d.ts.map +1 -0
- package/lib/MessagesContainer/useListMetrics.js +176 -0
- package/lib/MessagesContainer/useListMetrics.js.map +1 -0
- package/lib/MessagesContainer/useMessageRows.d.ts +46 -0
- package/lib/MessagesContainer/useMessageRows.d.ts.map +1 -0
- package/lib/MessagesContainer/useMessageRows.js +228 -0
- package/lib/MessagesContainer/useMessageRows.js.map +1 -0
- package/lib/MessagesContainer/usePageDownUnread.d.ts +27 -0
- package/lib/MessagesContainer/usePageDownUnread.d.ts.map +1 -0
- package/lib/MessagesContainer/usePageDownUnread.js +152 -0
- package/lib/MessagesContainer/usePageDownUnread.js.map +1 -0
- package/lib/MessagesContainer/useScrollActivity.d.ts +13 -0
- package/lib/MessagesContainer/useScrollActivity.d.ts.map +1 -0
- package/lib/MessagesContainer/useScrollActivity.js +84 -0
- package/lib/MessagesContainer/useScrollActivity.js.map +1 -0
- package/lib/MessagesContainer/useScrollToBottom.d.ts +26 -0
- package/lib/MessagesContainer/useScrollToBottom.d.ts.map +1 -0
- package/lib/MessagesContainer/useScrollToBottom.js +164 -0
- package/lib/MessagesContainer/useScrollToBottom.js.map +1 -0
- package/lib/MessagesContainer/useTapToClosePanels.d.ts +7 -0
- package/lib/MessagesContainer/useTapToClosePanels.d.ts.map +1 -0
- package/lib/MessagesContainer/useTapToClosePanels.js +55 -0
- package/lib/MessagesContainer/useTapToClosePanels.js.map +1 -0
- package/lib/MessagesContainer/viewability.d.ts +9 -0
- package/lib/MessagesContainer/viewability.d.ts.map +1 -0
- package/lib/MessagesContainer/viewability.js +110 -0
- package/lib/MessagesContainer/viewability.js.map +1 -0
- package/lib/Models.d.ts +188 -3
- package/lib/Models.d.ts.map +1 -1
- package/lib/Models.js.map +1 -1
- package/lib/QuickReplies.js +234 -101
- package/lib/QuickReplies.js.map +1 -1
- package/lib/Reactions/MessageReactions.d.ts +5 -0
- package/lib/Reactions/MessageReactions.d.ts.map +1 -1
- package/lib/Reactions/MessageReactions.js +359 -80
- package/lib/Reactions/MessageReactions.js.map +1 -1
- package/lib/Reactions/ReactionPicker.d.ts +5 -3
- package/lib/Reactions/ReactionPicker.d.ts.map +1 -1
- package/lib/Reactions/ReactionPicker.js +68 -82
- package/lib/Reactions/ReactionPicker.js.map +1 -1
- package/lib/Reactions/index.js +1 -0
- package/lib/Reactions/index.js.map +1 -1
- package/lib/Reactions/types.d.ts +49 -5
- package/lib/Reactions/types.d.ts.map +1 -1
- package/lib/Reactions/types.js.map +1 -1
- package/lib/Reply/index.js.map +1 -1
- package/lib/Reply/types.d.ts +19 -3
- package/lib/Reply/types.d.ts.map +1 -1
- package/lib/Reply/types.js.map +1 -1
- package/lib/Send.d.ts +2 -2
- package/lib/Send.d.ts.map +1 -1
- package/lib/Send.js +218 -47
- package/lib/Send.js.map +1 -1
- package/lib/SystemMessage.d.ts.map +1 -1
- package/lib/SystemMessage.js +106 -37
- package/lib/SystemMessage.js.map +1 -1
- package/lib/Theme.d.ts +320 -23
- package/lib/Theme.d.ts.map +1 -1
- package/lib/Theme.js +548 -119
- package/lib/Theme.js.map +1 -1
- package/lib/Time.d.ts +7 -0
- package/lib/Time.d.ts.map +1 -1
- package/lib/Time.js +122 -30
- package/lib/Time.js.map +1 -1
- package/lib/TypingIndicator/index.d.ts +9 -1
- package/lib/TypingIndicator/index.d.ts.map +1 -1
- package/lib/TypingIndicator/index.js +318 -94
- package/lib/TypingIndicator/index.js.map +1 -1
- package/lib/TypingIndicator/styles.d.ts +6 -2
- package/lib/TypingIndicator/styles.d.ts.map +1 -1
- package/lib/TypingIndicator/styles.js +22 -18
- package/lib/TypingIndicator/styles.js.map +1 -1
- package/lib/TypingIndicator/types.js.map +1 -1
- package/lib/attachments/AttachmentButton.d.ts +18 -0
- package/lib/attachments/AttachmentButton.d.ts.map +1 -0
- package/lib/attachments/AttachmentButton.js +110 -0
- package/lib/attachments/AttachmentButton.js.map +1 -0
- package/lib/attachments/AttachmentMenu/CaptionBar.d.ts +15 -0
- package/lib/attachments/AttachmentMenu/CaptionBar.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/CaptionBar.js +165 -0
- package/lib/attachments/AttachmentMenu/CaptionBar.js.map +1 -0
- package/lib/attachments/AttachmentMenu/GalleryCell.d.ts +14 -0
- package/lib/attachments/AttachmentMenu/GalleryCell.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/GalleryCell.js +267 -0
- package/lib/attachments/AttachmentMenu/GalleryCell.js.map +1 -0
- package/lib/attachments/AttachmentMenu/GalleryGrid.d.ts +18 -0
- package/lib/attachments/AttachmentMenu/GalleryGrid.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/GalleryGrid.js +184 -0
- package/lib/attachments/AttachmentMenu/GalleryGrid.js.map +1 -0
- package/lib/attachments/AttachmentMenu/TabBar.d.ts +14 -0
- package/lib/attachments/AttachmentMenu/TabBar.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/TabBar.js +127 -0
- package/lib/attachments/AttachmentMenu/TabBar.js.map +1 -0
- package/lib/attachments/AttachmentMenu/TabButton.d.ts +15 -0
- package/lib/attachments/AttachmentMenu/TabButton.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/TabButton.js +219 -0
- package/lib/attachments/AttachmentMenu/TabButton.js.map +1 -0
- package/lib/attachments/AttachmentMenu/TabPanel.d.ts +17 -0
- package/lib/attachments/AttachmentMenu/TabPanel.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/TabPanel.js +170 -0
- package/lib/attachments/AttachmentMenu/TabPanel.js.map +1 -0
- package/lib/attachments/AttachmentMenu/constants.d.ts +54 -0
- package/lib/attachments/AttachmentMenu/constants.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/constants.js +79 -0
- package/lib/attachments/AttachmentMenu/constants.js.map +1 -0
- package/lib/attachments/AttachmentMenu/index.d.ts +16 -0
- package/lib/attachments/AttachmentMenu/index.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/index.js +498 -0
- package/lib/attachments/AttachmentMenu/index.js.map +1 -0
- package/lib/attachments/AttachmentMenu/styles.d.ts +259 -0
- package/lib/attachments/AttachmentMenu/styles.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/styles.js +262 -0
- package/lib/attachments/AttachmentMenu/styles.js.map +1 -0
- package/lib/attachments/AttachmentMenu/useSheetPresence.d.ts +14 -0
- package/lib/attachments/AttachmentMenu/useSheetPresence.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/useSheetPresence.js +74 -0
- package/lib/attachments/AttachmentMenu/useSheetPresence.js.map +1 -0
- package/lib/attachments/buildMessages.d.ts +36 -0
- package/lib/attachments/buildMessages.d.ts.map +1 -0
- package/lib/attachments/buildMessages.js +192 -0
- package/lib/attachments/buildMessages.js.map +1 -0
- package/lib/attachments/gallery.d.ts +28 -0
- package/lib/attachments/gallery.d.ts.map +1 -0
- package/lib/attachments/gallery.js +245 -0
- package/lib/attachments/gallery.js.map +1 -0
- package/lib/attachments/types.d.ts +69 -0
- package/lib/attachments/types.d.ts.map +1 -0
- package/lib/attachments/types.js +2 -0
- package/lib/attachments/types.js.map +1 -0
- package/lib/colorUtils.d.ts +24 -0
- package/lib/colorUtils.d.ts.map +1 -0
- package/lib/colorUtils.js +71 -0
- package/lib/colorUtils.js.map +1 -0
- package/lib/components/AttachmentSheet.d.ts +1 -1
- package/lib/components/AttachmentSheet.d.ts.map +1 -1
- package/lib/components/AttachmentSheet.js +515 -155
- package/lib/components/AttachmentSheet.js.map +1 -1
- package/lib/components/BasicMarkdown.d.ts +7 -1
- package/lib/components/BasicMarkdown.d.ts.map +1 -1
- package/lib/components/BasicMarkdown.js +234 -184
- package/lib/components/BasicMarkdown.js.map +1 -1
- package/lib/components/BubbleBackground.d.ts +55 -0
- package/lib/components/BubbleBackground.d.ts.map +1 -0
- package/lib/components/BubbleBackground.js +513 -0
- package/lib/components/BubbleBackground.js.map +1 -0
- package/lib/components/ChatEmpty.d.ts +18 -0
- package/lib/components/ChatEmpty.d.ts.map +1 -0
- package/lib/components/ChatEmpty.js +125 -0
- package/lib/components/ChatEmpty.js.map +1 -0
- package/lib/components/ChatLoadingOverlay.d.ts +10 -0
- package/lib/components/ChatLoadingOverlay.d.ts.map +1 -0
- package/lib/components/ChatLoadingOverlay.js +89 -0
- package/lib/components/ChatLoadingOverlay.js.map +1 -0
- package/lib/components/ChatOverlay.d.ts +9 -0
- package/lib/components/ChatOverlay.d.ts.map +1 -0
- package/lib/components/ChatOverlay.js +60 -0
- package/lib/components/ChatOverlay.js.map +1 -0
- package/lib/components/ChatWallpaper.d.ts +32 -0
- package/lib/components/ChatWallpaper.d.ts.map +1 -0
- package/lib/components/ChatWallpaper.js +277 -0
- package/lib/components/ChatWallpaper.js.map +1 -0
- package/lib/components/ContextMenu/MenuCard.d.ts +21 -0
- package/lib/components/ContextMenu/MenuCard.d.ts.map +1 -0
- package/lib/components/ContextMenu/MenuCard.js +265 -0
- package/lib/components/ContextMenu/MenuCard.js.map +1 -0
- package/lib/components/ContextMenu/ReactionButton.d.ts +15 -0
- package/lib/components/ContextMenu/ReactionButton.d.ts.map +1 -0
- package/lib/components/ContextMenu/ReactionButton.js +116 -0
- package/lib/components/ContextMenu/ReactionButton.js.map +1 -0
- package/lib/components/ContextMenu/ReactionFlight.d.ts +14 -0
- package/lib/components/ContextMenu/ReactionFlight.d.ts.map +1 -0
- package/lib/components/ContextMenu/ReactionFlight.js +111 -0
- package/lib/components/ContextMenu/ReactionFlight.js.map +1 -0
- package/lib/components/ContextMenu/ReactionsBar.d.ts +35 -0
- package/lib/components/ContextMenu/ReactionsBar.d.ts.map +1 -0
- package/lib/components/ContextMenu/ReactionsBar.js +354 -0
- package/lib/components/ContextMenu/ReactionsBar.js.map +1 -0
- package/lib/components/ContextMenu/constants.d.ts +68 -0
- package/lib/components/ContextMenu/constants.d.ts.map +1 -0
- package/lib/components/ContextMenu/constants.js +105 -0
- package/lib/components/ContextMenu/constants.js.map +1 -0
- package/lib/components/ContextMenu/index.d.ts +12 -0
- package/lib/components/ContextMenu/index.d.ts.map +1 -0
- package/lib/components/ContextMenu/index.js +476 -0
- package/lib/components/ContextMenu/index.js.map +1 -0
- package/lib/components/ContextMenu/placement.d.ts +50 -0
- package/lib/components/ContextMenu/placement.d.ts.map +1 -0
- package/lib/components/ContextMenu/placement.js +117 -0
- package/lib/components/ContextMenu/placement.js.map +1 -0
- package/lib/components/ContextMenu/styles.d.ts +199 -0
- package/lib/components/ContextMenu/styles.d.ts.map +1 -0
- package/lib/components/ContextMenu/styles.js +169 -0
- package/lib/components/ContextMenu/styles.js.map +1 -0
- package/lib/components/ContextMenu/types.d.ts +62 -0
- package/lib/components/ContextMenu/types.d.ts.map +1 -0
- package/lib/components/ContextMenu/types.js +2 -0
- package/lib/components/ContextMenu/types.js.map +1 -0
- package/lib/components/ContextMenu/useExpandPanel.d.ts +11 -0
- package/lib/components/ContextMenu/useExpandPanel.d.ts.map +1 -0
- package/lib/components/ContextMenu/useExpandPanel.js +81 -0
- package/lib/components/ContextMenu/useExpandPanel.js.map +1 -0
- package/lib/components/ContextMenu/useMenuPresence.d.ts +17 -0
- package/lib/components/ContextMenu/useMenuPresence.d.ts.map +1 -0
- package/lib/components/ContextMenu/useMenuPresence.js +125 -0
- package/lib/components/ContextMenu/useMenuPresence.js.map +1 -0
- package/lib/components/FloatingRoundNote.d.ts +13 -0
- package/lib/components/FloatingRoundNote.d.ts.map +1 -0
- package/lib/components/FloatingRoundNote.js +541 -0
- package/lib/components/FloatingRoundNote.js.map +1 -0
- package/lib/components/GlassSurface.d.ts +16 -0
- package/lib/components/GlassSurface.d.ts.map +1 -0
- package/lib/components/GlassSurface.js +114 -0
- package/lib/components/GlassSurface.js.map +1 -0
- package/lib/components/Icon.js +57 -8
- package/lib/components/Icon.js.map +1 -1
- package/lib/components/LinkPreviewCard.d.ts +36 -0
- package/lib/components/LinkPreviewCard.d.ts.map +1 -0
- package/lib/components/LinkPreviewCard.js +416 -0
- package/lib/components/LinkPreviewCard.js.map +1 -0
- package/lib/components/LucideIcon.d.ts.map +1 -1
- package/lib/components/LucideIcon.js +103 -106
- package/lib/components/LucideIcon.js.map +1 -1
- package/lib/components/MarkdownMessageText.d.ts +17 -2
- package/lib/components/MarkdownMessageText.d.ts.map +1 -1
- package/lib/components/MarkdownMessageText.js +270 -22
- package/lib/components/MarkdownMessageText.js.map +1 -1
- package/lib/components/MediaCard.d.ts.map +1 -1
- package/lib/components/MediaCard.js +223 -85
- package/lib/components/MediaCard.js.map +1 -1
- package/lib/components/MediaControls.js +1094 -450
- package/lib/components/MediaControls.js.map +1 -1
- package/lib/components/MediaLoader.d.ts +21 -0
- package/lib/components/MediaLoader.d.ts.map +1 -0
- package/lib/components/MediaLoader.js +61 -0
- package/lib/components/MediaLoader.js.map +1 -0
- package/lib/components/MessageReply.d.ts +2 -2
- package/lib/components/MessageReply.d.ts.map +1 -1
- package/lib/components/MessageReply.js +266 -83
- package/lib/components/MessageReply.js.map +1 -1
- package/lib/components/MessageStatus.d.ts +23 -0
- package/lib/components/MessageStatus.d.ts.map +1 -0
- package/lib/components/MessageStatus.js +499 -0
- package/lib/components/MessageStatus.js.map +1 -0
- package/lib/components/NoteIndicators.d.ts +25 -0
- package/lib/components/NoteIndicators.d.ts.map +1 -0
- package/lib/components/NoteIndicators.js +206 -0
- package/lib/components/NoteIndicators.js.map +1 -0
- package/lib/components/NowPlayingBar.d.ts +15 -0
- package/lib/components/NowPlayingBar.d.ts.map +1 -0
- package/lib/components/NowPlayingBar.js +261 -0
- package/lib/components/NowPlayingBar.js.map +1 -0
- package/lib/components/PlayPauseIcon.d.ts +13 -0
- package/lib/components/PlayPauseIcon.d.ts.map +1 -0
- package/lib/components/PlayPauseIcon.js +187 -0
- package/lib/components/PlayPauseIcon.js.map +1 -0
- package/lib/components/PlaybackSpeedPill.d.ts +11 -0
- package/lib/components/PlaybackSpeedPill.d.ts.map +1 -0
- package/lib/components/PlaybackSpeedPill.js +350 -0
- package/lib/components/PlaybackSpeedPill.js.map +1 -0
- package/lib/components/RadialProgress.d.ts +70 -0
- package/lib/components/RadialProgress.d.ts.map +1 -0
- package/lib/components/RadialProgress.js +864 -0
- package/lib/components/RadialProgress.js.map +1 -0
- package/lib/components/RecordButton/LockPill.d.ts +27 -0
- package/lib/components/RecordButton/LockPill.d.ts.map +1 -0
- package/lib/components/RecordButton/LockPill.js +182 -0
- package/lib/components/RecordButton/LockPill.js.map +1 -0
- package/lib/components/RecordButton/ModeButton.d.ts +18 -0
- package/lib/components/RecordButton/ModeButton.d.ts.map +1 -0
- package/lib/components/RecordButton/ModeButton.js +154 -0
- package/lib/components/RecordButton/ModeButton.js.map +1 -0
- package/lib/components/RecordButton/ResumeButton.d.ts +20 -0
- package/lib/components/RecordButton/ResumeButton.d.ts.map +1 -0
- package/lib/components/RecordButton/ResumeButton.js +63 -0
- package/lib/components/RecordButton/ResumeButton.js.map +1 -0
- package/lib/components/RecordButton/Tooltips.d.ts +20 -0
- package/lib/components/RecordButton/Tooltips.d.ts.map +1 -0
- package/lib/components/RecordButton/Tooltips.js +191 -0
- package/lib/components/RecordButton/Tooltips.js.map +1 -0
- package/lib/components/RecordButton/ViewOnceButton.d.ts +16 -0
- package/lib/components/RecordButton/ViewOnceButton.d.ts.map +1 -0
- package/lib/components/RecordButton/ViewOnceButton.js +96 -0
- package/lib/components/RecordButton/ViewOnceButton.js.map +1 -0
- package/lib/components/RecordButton/constants.d.ts +52 -0
- package/lib/components/RecordButton/constants.d.ts.map +1 -0
- package/lib/components/RecordButton/constants.js +58 -0
- package/lib/components/RecordButton/constants.js.map +1 -0
- package/lib/components/RecordButton/index.d.ts +14 -0
- package/lib/components/RecordButton/index.d.ts.map +1 -0
- package/lib/components/RecordButton/index.js +382 -0
- package/lib/components/RecordButton/index.js.map +1 -0
- package/lib/components/RecordButton/styles.d.ts +155 -0
- package/lib/components/RecordButton/styles.d.ts.map +1 -0
- package/lib/components/RecordButton/styles.js +161 -0
- package/lib/components/RecordButton/styles.js.map +1 -0
- package/lib/components/RecordButton/types.d.ts +63 -0
- package/lib/components/RecordButton/types.d.ts.map +1 -0
- package/lib/components/RecordButton/types.js +2 -0
- package/lib/components/RecordButton/types.js.map +1 -0
- package/lib/components/RecordButton/useRecordGesture.d.ts +28 -0
- package/lib/components/RecordButton/useRecordGesture.d.ts.map +1 -0
- package/lib/components/RecordButton/useRecordGesture.js +263 -0
- package/lib/components/RecordButton/useRecordGesture.js.map +1 -0
- package/lib/components/RecordButton/useRecordHints.d.ts +27 -0
- package/lib/components/RecordButton/useRecordHints.d.ts.map +1 -0
- package/lib/components/RecordButton/useRecordHints.js +210 -0
- package/lib/components/RecordButton/useRecordHints.js.map +1 -0
- package/lib/components/RecordButton/useRecordSlideDistance.d.ts +3 -0
- package/lib/components/RecordButton/useRecordSlideDistance.d.ts.map +1 -0
- package/lib/components/RecordButton/useRecordSlideDistance.js +15 -0
- package/lib/components/RecordButton/useRecordSlideDistance.js.map +1 -0
- package/lib/components/RecordButton/useRecordTake.d.ts +41 -0
- package/lib/components/RecordButton/useRecordTake.d.ts.map +1 -0
- package/lib/components/RecordButton/useRecordTake.js +349 -0
- package/lib/components/RecordButton/useRecordTake.js.map +1 -0
- package/lib/components/RecordButton/useSendFlight.d.ts +25 -0
- package/lib/components/RecordButton/useSendFlight.d.ts.map +1 -0
- package/lib/components/RecordButton/useSendFlight.js +162 -0
- package/lib/components/RecordButton/useSendFlight.js.map +1 -0
- package/lib/components/RecordCircle.d.ts +92 -0
- package/lib/components/RecordCircle.d.ts.map +1 -0
- package/lib/components/RecordCircle.js +629 -0
- package/lib/components/RecordCircle.js.map +1 -0
- package/lib/components/RecordingBar.d.ts +24 -0
- package/lib/components/RecordingBar.d.ts.map +1 -0
- package/lib/components/RecordingBar.js +766 -0
- package/lib/components/RecordingBar.js.map +1 -0
- package/lib/components/ReplyPreview.js +318 -135
- package/lib/components/ReplyPreview.js.map +1 -1
- package/lib/components/SelectionBar.d.ts +17 -0
- package/lib/components/SelectionBar.d.ts.map +1 -0
- package/lib/components/SelectionBar.js +214 -0
- package/lib/components/SelectionBar.js.map +1 -0
- package/lib/components/SelectionCheckbox.d.ts +12 -0
- package/lib/components/SelectionCheckbox.d.ts.map +1 -0
- package/lib/components/SelectionCheckbox.js +104 -0
- package/lib/components/SelectionCheckbox.js.map +1 -0
- package/lib/components/SendIcon.js +60 -26
- package/lib/components/SendIcon.js.map +1 -1
- package/lib/components/ServiceSpinner.d.ts +17 -0
- package/lib/components/ServiceSpinner.d.ts.map +1 -0
- package/lib/components/ServiceSpinner.js +77 -0
- package/lib/components/ServiceSpinner.js.map +1 -0
- package/lib/components/Spinner.d.ts +18 -0
- package/lib/components/Spinner.d.ts.map +1 -0
- package/lib/components/Spinner.js +169 -0
- package/lib/components/Spinner.js.map +1 -0
- package/lib/components/StreamingCursor.js +54 -9
- package/lib/components/StreamingCursor.js.map +1 -1
- package/lib/components/Ticks.d.ts +6 -5
- package/lib/components/Ticks.d.ts.map +1 -1
- package/lib/components/Ticks.js +272 -82
- package/lib/components/Ticks.js.map +1 -1
- package/lib/components/TouchableOpacity.d.ts.map +1 -1
- package/lib/components/TouchableOpacity.js +153 -51
- package/lib/components/TouchableOpacity.js.map +1 -1
- package/lib/components/TranscribeButton.d.ts +45 -0
- package/lib/components/TranscribeButton.d.ts.map +1 -0
- package/lib/components/TranscribeButton.js +549 -0
- package/lib/components/TranscribeButton.js.map +1 -0
- package/lib/components/TypingStatus.d.ts +29 -0
- package/lib/components/TypingStatus.d.ts.map +1 -0
- package/lib/components/TypingStatus.js +446 -0
- package/lib/components/TypingStatus.js.map +1 -0
- package/lib/components/UnreadSeparator.d.ts +8 -0
- package/lib/components/UnreadSeparator.d.ts.map +1 -0
- package/lib/components/UnreadSeparator.js +101 -0
- package/lib/components/UnreadSeparator.js.map +1 -0
- package/lib/components/VideoNoteCapture/ProgressRing.d.ts +16 -0
- package/lib/components/VideoNoteCapture/ProgressRing.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/ProgressRing.js +75 -0
- package/lib/components/VideoNoteCapture/ProgressRing.js.map +1 -0
- package/lib/components/VideoNoteCapture/VideoNoteCaptureView.d.ts +31 -0
- package/lib/components/VideoNoteCapture/VideoNoteCaptureView.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/VideoNoteCaptureView.js +500 -0
- package/lib/components/VideoNoteCapture/VideoNoteCaptureView.js.map +1 -0
- package/lib/components/VideoNoteCapture/VideoNotePreviewView.d.ts +12 -0
- package/lib/components/VideoNoteCapture/VideoNotePreviewView.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/VideoNotePreviewView.js +105 -0
- package/lib/components/VideoNoteCapture/VideoNotePreviewView.js.map +1 -0
- package/lib/components/VideoNoteCapture/VideoNoteStage.d.ts +12 -0
- package/lib/components/VideoNoteCapture/VideoNoteStage.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/VideoNoteStage.js +95 -0
- package/lib/components/VideoNoteCapture/VideoNoteStage.js.map +1 -0
- package/lib/components/VideoNoteCapture/constants.d.ts +50 -0
- package/lib/components/VideoNoteCapture/constants.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/constants.js +53 -0
- package/lib/components/VideoNoteCapture/constants.js.map +1 -0
- package/lib/components/VideoNoteCapture/index.d.ts +3 -0
- package/lib/components/VideoNoteCapture/index.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/index.js +2 -0
- package/lib/components/VideoNoteCapture/index.js.map +1 -0
- package/lib/components/VideoNoteCapture/optional.d.ts +6 -0
- package/lib/components/VideoNoteCapture/optional.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/optional.js +15 -0
- package/lib/components/VideoNoteCapture/optional.js.map +1 -0
- package/lib/components/VideoNoteCapture/sessionState.d.ts +10 -0
- package/lib/components/VideoNoteCapture/sessionState.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/sessionState.js +19 -0
- package/lib/components/VideoNoteCapture/sessionState.js.map +1 -0
- package/lib/components/VideoNoteCapture/styles.d.ts +84 -0
- package/lib/components/VideoNoteCapture/styles.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/styles.js +86 -0
- package/lib/components/VideoNoteCapture/styles.js.map +1 -0
- package/lib/components/VideoNoteCapture/types.d.ts +54 -0
- package/lib/components/VideoNoteCapture/types.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/types.js +2 -0
- package/lib/components/VideoNoteCapture/types.js.map +1 -0
- package/lib/components/VideoNoteCapture/useRoundAnimation.d.ts +47 -0
- package/lib/components/VideoNoteCapture/useRoundAnimation.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/useRoundAnimation.js +216 -0
- package/lib/components/VideoNoteCapture/useRoundAnimation.js.map +1 -0
- package/lib/components/VideoNoteCapture/useRoundLayout.d.ts +14 -0
- package/lib/components/VideoNoteCapture/useRoundLayout.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/useRoundLayout.js +61 -0
- package/lib/components/VideoNoteCapture/useRoundLayout.js.map +1 -0
- package/lib/components/VideoNoteCapture/useVideoNoteSession.d.ts +25 -0
- package/lib/components/VideoNoteCapture/useVideoNoteSession.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/useVideoNoteSession.js +611 -0
- package/lib/components/VideoNoteCapture/useVideoNoteSession.js.map +1 -0
- package/lib/components/VideoNoteOverlay.d.ts +42 -11
- package/lib/components/VideoNoteOverlay.d.ts.map +1 -1
- package/lib/components/VideoNoteOverlay.js +722 -135
- package/lib/components/VideoNoteOverlay.js.map +1 -1
- package/lib/components/VideoNoteRecorder/LiveVideoNote.d.ts +6 -0
- package/lib/components/VideoNoteRecorder/LiveVideoNote.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/LiveVideoNote.js +205 -0
- package/lib/components/VideoNoteRecorder/LiveVideoNote.js.map +1 -0
- package/lib/components/VideoNoteRecorder/RecorderChrome.d.ts +35 -0
- package/lib/components/VideoNoteRecorder/RecorderChrome.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/RecorderChrome.js +350 -0
- package/lib/components/VideoNoteRecorder/RecorderChrome.js.map +1 -0
- package/lib/components/VideoNoteRecorder/UnavailableVideoNote.d.ts +10 -0
- package/lib/components/VideoNoteRecorder/UnavailableVideoNote.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/UnavailableVideoNote.js +52 -0
- package/lib/components/VideoNoteRecorder/UnavailableVideoNote.js.map +1 -0
- package/lib/components/VideoNoteRecorder/constants.d.ts +16 -0
- package/lib/components/VideoNoteRecorder/constants.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/constants.js +30 -0
- package/lib/components/VideoNoteRecorder/constants.js.map +1 -0
- package/lib/components/{VideoNoteRecorder.d.ts → VideoNoteRecorder/index.d.ts} +5 -10
- package/lib/components/VideoNoteRecorder/index.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/index.js +26 -0
- package/lib/components/VideoNoteRecorder/index.js.map +1 -0
- package/lib/components/VideoNoteRecorder/styles.d.ts +159 -0
- package/lib/components/VideoNoteRecorder/styles.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/styles.js +170 -0
- package/lib/components/VideoNoteRecorder/styles.js.map +1 -0
- package/lib/components/VideoNoteRecorder/types.d.ts +7 -0
- package/lib/components/VideoNoteRecorder/types.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/types.js +2 -0
- package/lib/components/VideoNoteRecorder/types.js.map +1 -0
- package/lib/components/VideoNoteRecorder/useRecordingTimer.d.ts +10 -0
- package/lib/components/VideoNoteRecorder/useRecordingTimer.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/useRecordingTimer.js +134 -0
- package/lib/components/VideoNoteRecorder/useRecordingTimer.js.map +1 -0
- package/lib/components/VideoNoteRecorder/useVideoNoteRecording.d.ts +28 -0
- package/lib/components/VideoNoteRecorder/useVideoNoteRecording.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/useVideoNoteRecording.js +287 -0
- package/lib/components/VideoNoteRecorder/useVideoNoteRecording.js.map +1 -0
- package/lib/components/VideoNoteRecorder/visionCameraHooks.d.ts +6 -0
- package/lib/components/VideoNoteRecorder/visionCameraHooks.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/visionCameraHooks.js +11 -0
- package/lib/components/VideoNoteRecorder/visionCameraHooks.js.map +1 -0
- package/lib/components/VideoRecordButton.d.ts +1 -1
- package/lib/components/VideoRecordButton.d.ts.map +1 -1
- package/lib/components/VideoRecordButton.js +221 -92
- package/lib/components/VideoRecordButton.js.map +1 -1
- package/lib/components/ViewOnceBadge.d.ts +23 -0
- package/lib/components/ViewOnceBadge.d.ts.map +1 -0
- package/lib/components/ViewOnceBadge.js +233 -0
- package/lib/components/ViewOnceBadge.js.map +1 -0
- package/lib/components/VoiceMessageInput/RecordedVoicePreview.d.ts +16 -0
- package/lib/components/VoiceMessageInput/RecordedVoicePreview.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/RecordedVoicePreview.js +503 -0
- package/lib/components/VoiceMessageInput/RecordedVoicePreview.js.map +1 -0
- package/lib/components/VoiceMessageInput/constants.d.ts +16 -0
- package/lib/components/VoiceMessageInput/constants.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/constants.js +22 -0
- package/lib/components/VoiceMessageInput/constants.js.map +1 -0
- package/lib/components/VoiceMessageInput/formatElapsed.d.ts +2 -0
- package/lib/components/VoiceMessageInput/formatElapsed.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/formatElapsed.js +7 -0
- package/lib/components/VoiceMessageInput/formatElapsed.js.map +1 -0
- package/lib/components/VoiceMessageInput/index.d.ts +9 -0
- package/lib/components/VoiceMessageInput/index.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/index.js +148 -0
- package/lib/components/VoiceMessageInput/index.js.map +1 -0
- package/lib/components/VoiceMessageInput/previewStyles.d.ts +77 -0
- package/lib/components/VoiceMessageInput/previewStyles.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/previewStyles.js +80 -0
- package/lib/components/VoiceMessageInput/previewStyles.js.map +1 -0
- package/lib/components/VoiceMessageInput/previewWaveform.d.ts +15 -0
- package/lib/components/VoiceMessageInput/previewWaveform.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/previewWaveform.js +27 -0
- package/lib/components/VoiceMessageInput/previewWaveform.js.map +1 -0
- package/lib/components/VoiceMessageInput/recorder.d.ts +18 -0
- package/lib/components/VoiceMessageInput/recorder.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/recorder.js +80 -0
- package/lib/components/VoiceMessageInput/recorder.js.map +1 -0
- package/lib/components/VoiceMessageInput/types.d.ts +56 -0
- package/lib/components/VoiceMessageInput/types.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/types.js +2 -0
- package/lib/components/VoiceMessageInput/types.js.map +1 -0
- package/lib/components/VoiceMessageInput/useLazyRecorder.d.ts +7 -0
- package/lib/components/VoiceMessageInput/useLazyRecorder.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/useLazyRecorder.js +61 -0
- package/lib/components/VoiceMessageInput/useLazyRecorder.js.map +1 -0
- package/lib/components/VoiceMessageInput/useStateReport.d.ts +16 -0
- package/lib/components/VoiceMessageInput/useStateReport.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/useStateReport.js +81 -0
- package/lib/components/VoiceMessageInput/useStateReport.js.map +1 -0
- package/lib/components/VoiceMessageInput/useTakePreviewActions.d.ts +34 -0
- package/lib/components/VoiceMessageInput/useTakePreviewActions.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/useTakePreviewActions.js +207 -0
- package/lib/components/VoiceMessageInput/useTakePreviewActions.js.map +1 -0
- package/lib/components/VoiceMessageInput/useVoiceTake.d.ts +25 -0
- package/lib/components/VoiceMessageInput/useVoiceTake.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/useVoiceTake.js +424 -0
- package/lib/components/VoiceMessageInput/useVoiceTake.js.map +1 -0
- package/lib/components/WaveformPlayer/Bars.d.ts +30 -0
- package/lib/components/WaveformPlayer/Bars.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/Bars.js +171 -0
- package/lib/components/WaveformPlayer/Bars.js.map +1 -0
- package/lib/components/WaveformPlayer/VoiceButton.d.ts +23 -0
- package/lib/components/WaveformPlayer/VoiceButton.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/VoiceButton.js +111 -0
- package/lib/components/WaveformPlayer/VoiceButton.js.map +1 -0
- package/lib/components/WaveformPlayer/WaveformTrack.d.ts +31 -0
- package/lib/components/WaveformPlayer/WaveformTrack.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/WaveformTrack.js +199 -0
- package/lib/components/WaveformPlayer/WaveformTrack.js.map +1 -0
- package/lib/components/WaveformPlayer/audio.d.ts +23 -0
- package/lib/components/WaveformPlayer/audio.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/audio.js +97 -0
- package/lib/components/WaveformPlayer/audio.js.map +1 -0
- package/lib/components/WaveformPlayer/index.d.ts +13 -0
- package/lib/components/WaveformPlayer/index.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/index.js +475 -0
- package/lib/components/WaveformPlayer/index.js.map +1 -0
- package/lib/components/WaveformPlayer/styles.d.ts +257 -0
- package/lib/components/WaveformPlayer/styles.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/styles.js +120 -0
- package/lib/components/WaveformPlayer/styles.js.map +1 -0
- package/lib/components/WaveformPlayer/types.d.ts +32 -0
- package/lib/components/WaveformPlayer/types.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/types.js +2 -0
- package/lib/components/WaveformPlayer/types.js.map +1 -0
- package/lib/components/WaveformPlayer/useSendFlightReveal.d.ts +21 -0
- package/lib/components/WaveformPlayer/useSendFlightReveal.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/useSendFlightReveal.js +105 -0
- package/lib/components/WaveformPlayer/useSendFlightReveal.js.map +1 -0
- package/lib/components/WaveformPlayer/useVoicePlayback.d.ts +39 -0
- package/lib/components/WaveformPlayer/useVoicePlayback.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/useVoicePlayback.js +401 -0
- package/lib/components/WaveformPlayer/useVoicePlayback.js.map +1 -0
- package/lib/components/WaveformPlayer/useVoiceSource.d.ts +38 -0
- package/lib/components/WaveformPlayer/useVoiceSource.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/useVoiceSource.js +244 -0
- package/lib/components/WaveformPlayer/useVoiceSource.js.map +1 -0
- package/lib/components/WaveformPlayer/useWaveformMotion.d.ts +16 -0
- package/lib/components/WaveformPlayer/useWaveformMotion.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/useWaveformMotion.js +135 -0
- package/lib/components/WaveformPlayer/useWaveformMotion.js.map +1 -0
- package/lib/components/WaveformPlayer/useWaveformScrub.d.ts +16 -0
- package/lib/components/WaveformPlayer/useWaveformScrub.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/useWaveformScrub.js +168 -0
- package/lib/components/WaveformPlayer/useWaveformScrub.js.map +1 -0
- package/lib/components/composerPanels.d.ts +13 -0
- package/lib/components/composerPanels.d.ts.map +1 -0
- package/lib/components/composerPanels.js +22 -0
- package/lib/components/composerPanels.js.map +1 -0
- package/lib/components/defaultMessageActions.d.ts +30 -0
- package/lib/components/defaultMessageActions.d.ts.map +1 -0
- package/lib/components/defaultMessageActions.js +124 -0
- package/lib/components/defaultMessageActions.js.map +1 -0
- package/lib/components/earpiece.d.ts +56 -0
- package/lib/components/earpiece.d.ts.map +1 -0
- package/lib/components/earpiece.js +218 -0
- package/lib/components/earpiece.js.map +1 -0
- package/lib/components/floatingNoteMath.d.ts +66 -0
- package/lib/components/floatingNoteMath.d.ts.map +1 -0
- package/lib/components/floatingNoteMath.js +143 -0
- package/lib/components/floatingNoteMath.js.map +1 -0
- package/lib/components/haptics.d.ts +5 -0
- package/lib/components/haptics.d.ts.map +1 -0
- package/lib/components/haptics.js +26 -0
- package/lib/components/haptics.js.map +1 -0
- package/lib/components/mediaDownload.d.ts +14 -0
- package/lib/components/mediaDownload.d.ts.map +1 -0
- package/lib/components/mediaDownload.js +43 -0
- package/lib/components/mediaDownload.js.map +1 -0
- package/lib/components/mediaPalette.d.ts +7 -2
- package/lib/components/mediaPalette.d.ts.map +1 -1
- package/lib/components/mediaPalette.js +27 -15
- package/lib/components/mediaPalette.js.map +1 -1
- package/lib/components/mediaPlayback.d.ts +204 -5
- package/lib/components/mediaPlayback.d.ts.map +1 -1
- package/lib/components/mediaPlayback.js +746 -17
- package/lib/components/mediaPlayback.js.map +1 -1
- package/lib/components/mediaTransfer.d.ts +29 -0
- package/lib/components/mediaTransfer.d.ts.map +1 -0
- package/lib/components/mediaTransfer.js +52 -0
- package/lib/components/mediaTransfer.js.map +1 -0
- package/lib/components/mediaViewer/MediaViewer.d.ts +17 -0
- package/lib/components/mediaViewer/MediaViewer.d.ts.map +1 -0
- package/lib/components/mediaViewer/MediaViewer.js +347 -0
- package/lib/components/mediaViewer/MediaViewer.js.map +1 -0
- package/lib/components/mediaViewer/MediaViewerChrome.d.ts +14 -0
- package/lib/components/mediaViewer/MediaViewerChrome.d.ts.map +1 -0
- package/lib/components/mediaViewer/MediaViewerChrome.js +164 -0
- package/lib/components/mediaViewer/MediaViewerChrome.js.map +1 -0
- package/lib/components/mediaViewer/MediaViewerHost.d.ts +10 -0
- package/lib/components/mediaViewer/MediaViewerHost.d.ts.map +1 -0
- package/lib/components/mediaViewer/MediaViewerHost.js +76 -0
- package/lib/components/mediaViewer/MediaViewerHost.js.map +1 -0
- package/lib/components/mediaViewer/MediaViewerPage.d.ts +25 -0
- package/lib/components/mediaViewer/MediaViewerPage.d.ts.map +1 -0
- package/lib/components/mediaViewer/MediaViewerPage.js +194 -0
- package/lib/components/mediaViewer/MediaViewerPage.js.map +1 -0
- package/lib/components/mediaViewer/gallery.d.ts +27 -0
- package/lib/components/mediaViewer/gallery.d.ts.map +1 -0
- package/lib/components/mediaViewer/gallery.js +41 -0
- package/lib/components/mediaViewer/gallery.js.map +1 -0
- package/lib/components/messageHighlight.d.ts +41 -0
- package/lib/components/messageHighlight.d.ts.map +1 -0
- package/lib/components/messageHighlight.js +157 -0
- package/lib/components/messageHighlight.js.map +1 -0
- package/lib/components/messagePress.d.ts +14 -0
- package/lib/components/messagePress.d.ts.map +1 -0
- package/lib/components/messagePress.js +18 -0
- package/lib/components/messagePress.js.map +1 -0
- package/lib/components/messageSelection.d.ts +39 -0
- package/lib/components/messageSelection.d.ts.map +1 -0
- package/lib/components/messageSelection.js +135 -0
- package/lib/components/messageSelection.js.map +1 -0
- package/lib/components/recordingFeedback.d.ts +22 -0
- package/lib/components/recordingFeedback.d.ts.map +1 -0
- package/lib/components/recordingFeedback.js +80 -0
- package/lib/components/recordingFeedback.js.map +1 -0
- package/lib/components/recordingMeter.d.ts +19 -0
- package/lib/components/recordingMeter.d.ts.map +1 -0
- package/lib/components/recordingMeter.js +21 -0
- package/lib/components/recordingMeter.js.map +1 -0
- package/lib/components/roundNoteChrome.d.ts +107 -0
- package/lib/components/roundNoteChrome.d.ts.map +1 -0
- package/lib/components/roundNoteChrome.js +249 -0
- package/lib/components/roundNoteChrome.js.map +1 -0
- package/lib/components/roundNotePlayers.d.ts +78 -0
- package/lib/components/roundNotePlayers.d.ts.map +1 -0
- package/lib/components/roundNotePlayers.js +230 -0
- package/lib/components/roundNotePlayers.js.map +1 -0
- package/lib/components/sendFlight.d.ts +88 -0
- package/lib/components/sendFlight.d.ts.map +1 -0
- package/lib/components/sendFlight.js +146 -0
- package/lib/components/sendFlight.js.map +1 -0
- package/lib/components/viewOnce.d.ts +27 -0
- package/lib/components/viewOnce.d.ts.map +1 -0
- package/lib/components/viewOnce.js +168 -0
- package/lib/components/viewOnce.js.map +1 -0
- package/lib/components/visionCamera.d.ts +45 -0
- package/lib/components/visionCamera.d.ts.map +1 -0
- package/lib/components/visionCamera.js +117 -0
- package/lib/components/visionCamera.js.map +1 -0
- package/lib/components/voiceEditing.d.ts +34 -0
- package/lib/components/voiceEditing.d.ts.map +1 -0
- package/lib/components/voiceEditing.js +159 -0
- package/lib/components/voiceEditing.js.map +1 -0
- package/lib/components/voiceWaveform.d.ts +108 -0
- package/lib/components/voiceWaveform.d.ts.map +1 -0
- package/lib/components/voiceWaveform.js +165 -0
- package/lib/components/voiceWaveform.js.map +1 -0
- package/lib/components/wallpaperGradient.d.ts +16 -0
- package/lib/components/wallpaperGradient.d.ts.map +1 -0
- package/lib/components/wallpaperGradient.js +186 -0
- package/lib/components/wallpaperGradient.js.map +1 -0
- package/lib/components/windowInsets.d.ts +11 -0
- package/lib/components/windowInsets.d.ts.map +1 -0
- package/lib/components/windowInsets.js +44 -0
- package/lib/components/windowInsets.js.map +1 -0
- package/lib/dayjsLocales.js +15 -2
- package/lib/dayjsLocales.js.map +1 -1
- package/lib/emoji/EmojiGrid/BackspaceButton.d.ts +11 -0
- package/lib/emoji/EmojiGrid/BackspaceButton.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/BackspaceButton.js +111 -0
- package/lib/emoji/EmojiGrid/BackspaceButton.js.map +1 -0
- package/lib/emoji/EmojiGrid/EmojiRow.d.ts +15 -0
- package/lib/emoji/EmojiGrid/EmojiRow.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/EmojiRow.js +71 -0
- package/lib/emoji/EmojiGrid/EmojiRow.js.map +1 -0
- package/lib/emoji/EmojiGrid/Search.d.ts +29 -0
- package/lib/emoji/EmojiGrid/Search.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/Search.js +234 -0
- package/lib/emoji/EmojiGrid/Search.js.map +1 -0
- package/lib/emoji/EmojiGrid/TabStrip.d.ts +16 -0
- package/lib/emoji/EmojiGrid/TabStrip.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/TabStrip.js +237 -0
- package/lib/emoji/EmojiGrid/TabStrip.js.map +1 -0
- package/lib/emoji/EmojiGrid/TonePopup.d.ts +12 -0
- package/lib/emoji/EmojiGrid/TonePopup.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/TonePopup.js +137 -0
- package/lib/emoji/EmojiGrid/TonePopup.js.map +1 -0
- package/lib/emoji/EmojiGrid/constants.d.ts +29 -0
- package/lib/emoji/EmojiGrid/constants.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/constants.js +65 -0
- package/lib/emoji/EmojiGrid/constants.js.map +1 -0
- package/lib/emoji/EmojiGrid/index.d.ts +10 -0
- package/lib/emoji/EmojiGrid/index.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/index.js +450 -0
- package/lib/emoji/EmojiGrid/index.js.map +1 -0
- package/lib/emoji/EmojiGrid/items.d.ts +25 -0
- package/lib/emoji/EmojiGrid/items.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/items.js +75 -0
- package/lib/emoji/EmojiGrid/items.js.map +1 -0
- package/lib/emoji/EmojiGrid/styles.d.ts +181 -0
- package/lib/emoji/EmojiGrid/styles.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/styles.js +184 -0
- package/lib/emoji/EmojiGrid/styles.js.map +1 -0
- package/lib/emoji/EmojiGrid/types.d.ts +53 -0
- package/lib/emoji/EmojiGrid/types.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/types.js +2 -0
- package/lib/emoji/EmojiGrid/types.js.map +1 -0
- package/lib/emoji/EmojiGrid/useTabScroll.d.ts +19 -0
- package/lib/emoji/EmojiGrid/useTabScroll.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/useTabScroll.js +124 -0
- package/lib/emoji/EmojiGrid/useTabScroll.js.map +1 -0
- package/lib/emoji/EmojiKeyboard.d.ts +79 -0
- package/lib/emoji/EmojiKeyboard.d.ts.map +1 -0
- package/lib/emoji/EmojiKeyboard.js +445 -0
- package/lib/emoji/EmojiKeyboard.js.map +1 -0
- package/lib/emoji/defaultExpandedPicker.d.ts +5 -0
- package/lib/emoji/defaultExpandedPicker.d.ts.map +1 -0
- package/lib/emoji/defaultExpandedPicker.js +11 -0
- package/lib/emoji/defaultExpandedPicker.js.map +1 -0
- package/lib/emoji/emojiData.d.ts +2 -0
- package/lib/emoji/emojiData.d.ts.map +1 -0
- package/lib/emoji/emojiData.js +5 -0
- package/lib/emoji/emojiData.js.map +1 -0
- package/lib/emoji/emojiStore.d.ts +70 -0
- package/lib/emoji/emojiStore.d.ts.map +1 -0
- package/lib/emoji/emojiStore.js +246 -0
- package/lib/emoji/emojiStore.js.map +1 -0
- package/lib/emoji/textEditing.d.ts +20 -0
- package/lib/emoji/textEditing.d.ts.map +1 -0
- package/lib/emoji/textEditing.js +97 -0
- package/lib/emoji/textEditing.js.map +1 -0
- package/lib/emojiOnly.d.ts +11 -0
- package/lib/emojiOnly.d.ts.map +1 -0
- package/lib/emojiOnly.js +79 -0
- package/lib/emojiOnly.js.map +1 -0
- package/lib/gestures/useRowSwipe.d.ts +43 -0
- package/lib/gestures/useRowSwipe.d.ts.map +1 -0
- package/lib/gestures/useRowSwipe.js +74 -0
- package/lib/gestures/useRowSwipe.js.map +1 -0
- package/lib/hooks/useAnimatedPresence.d.ts +22 -0
- package/lib/hooks/useAnimatedPresence.d.ts.map +1 -0
- package/lib/hooks/useAnimatedPresence.js +97 -0
- package/lib/hooks/useAnimatedPresence.js.map +1 -0
- package/lib/hooks/useChatMessages.d.ts +39 -0
- package/lib/hooks/useChatMessages.d.ts.map +1 -0
- package/lib/hooks/useChatMessages.js +125 -0
- package/lib/hooks/useChatMessages.js.map +1 -0
- package/lib/hooks/useColorScheme.d.ts +7 -1
- package/lib/hooks/useColorScheme.d.ts.map +1 -1
- package/lib/hooks/useColorScheme.js +46 -8
- package/lib/hooks/useColorScheme.js.map +1 -1
- package/lib/hooks/useHasKeyboardProvider.js +18 -7
- package/lib/hooks/useHasKeyboardProvider.js.map +1 -1
- package/lib/hooks/useIcons.js +15 -2
- package/lib/hooks/useIcons.js.map +1 -1
- package/lib/hooks/useIsKeyboardVisible.js +39 -17
- package/lib/hooks/useIsKeyboardVisible.js.map +1 -1
- package/lib/hooks/useIsRTL.js +15 -2
- package/lib/hooks/useIsRTL.js.map +1 -1
- package/lib/hooks/useKeyboardVerticalOffset.d.ts +5 -3
- package/lib/hooks/useKeyboardVerticalOffset.d.ts.map +1 -1
- package/lib/hooks/useKeyboardVerticalOffset.js +52 -18
- package/lib/hooks/useKeyboardVerticalOffset.js.map +1 -1
- package/lib/hooks/useLabels.js +15 -2
- package/lib/hooks/useLabels.js.map +1 -1
- package/lib/hooks/useStreamingMessages.js +200 -86
- package/lib/hooks/useStreamingMessages.js.map +1 -1
- package/lib/hooks/useTheme.js +56 -7
- package/lib/hooks/useTheme.js.map +1 -1
- package/lib/hooks/useUpdateLayoutEffect.d.ts.map +1 -1
- package/lib/hooks/useUpdateLayoutEffect.js +35 -11
- package/lib/hooks/useUpdateLayoutEffect.js.map +1 -1
- package/lib/i18n.d.ts +182 -0
- package/lib/i18n.d.ts.map +1 -1
- package/lib/i18n.js +121 -23
- package/lib/i18n.js.map +1 -1
- package/lib/index.d.ts +31 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +18 -1
- package/lib/index.js.map +1 -1
- package/lib/linkParser.js +318 -185
- package/lib/linkParser.js.map +1 -1
- package/lib/locales/ar.d.ts.map +1 -1
- package/lib/locales/ar.js +110 -19
- package/lib/locales/ar.js.map +1 -1
- package/lib/locales/de.d.ts.map +1 -1
- package/lib/locales/de.js +110 -19
- package/lib/locales/de.js.map +1 -1
- package/lib/locales/es.d.ts.map +1 -1
- package/lib/locales/es.js +110 -19
- package/lib/locales/es.js.map +1 -1
- package/lib/locales/fr.d.ts.map +1 -1
- package/lib/locales/fr.js +110 -19
- package/lib/locales/fr.js.map +1 -1
- package/lib/locales/hi.d.ts.map +1 -1
- package/lib/locales/hi.js +110 -19
- package/lib/locales/hi.js.map +1 -1
- package/lib/locales/id.d.ts.map +1 -1
- package/lib/locales/id.js +110 -19
- package/lib/locales/id.js.map +1 -1
- package/lib/locales/index.js +19 -5
- package/lib/locales/index.js.map +1 -1
- package/lib/locales/it.d.ts.map +1 -1
- package/lib/locales/it.js +110 -19
- package/lib/locales/it.js.map +1 -1
- package/lib/locales/ja.d.ts.map +1 -1
- package/lib/locales/ja.js +110 -19
- package/lib/locales/ja.js.map +1 -1
- package/lib/locales/ko.d.ts.map +1 -1
- package/lib/locales/ko.js +110 -19
- package/lib/locales/ko.js.map +1 -1
- package/lib/locales/nl.d.ts.map +1 -1
- package/lib/locales/nl.js +110 -19
- package/lib/locales/nl.js.map +1 -1
- package/lib/locales/pl.d.ts.map +1 -1
- package/lib/locales/pl.js +110 -19
- package/lib/locales/pl.js.map +1 -1
- package/lib/locales/pt.d.ts.map +1 -1
- package/lib/locales/pt.js +110 -19
- package/lib/locales/pt.js.map +1 -1
- package/lib/locales/ru.d.ts.map +1 -1
- package/lib/locales/ru.js +110 -19
- package/lib/locales/ru.js.map +1 -1
- package/lib/locales/tr.d.ts.map +1 -1
- package/lib/locales/tr.js +110 -19
- package/lib/locales/tr.js.map +1 -1
- package/lib/locales/zh.d.ts.map +1 -1
- package/lib/locales/zh.js +110 -19
- package/lib/locales/zh.js.map +1 -1
- package/lib/logging.d.ts +5 -0
- package/lib/logging.d.ts.map +1 -1
- package/lib/logging.js +13 -1
- package/lib/logging.js.map +1 -1
- package/lib/messageUtils.d.ts +19 -0
- package/lib/messageUtils.d.ts.map +1 -0
- package/lib/messageUtils.js +61 -0
- package/lib/messageUtils.js.map +1 -0
- package/lib/motion.d.ts +21 -0
- package/lib/motion.d.ts.map +1 -0
- package/lib/motion.js +30 -0
- package/lib/motion.js.map +1 -0
- package/lib/optional/index.d.ts +99 -0
- package/lib/optional/index.d.ts.map +1 -0
- package/lib/optional/index.js +284 -0
- package/lib/optional/index.js.map +1 -0
- package/lib/rtl.js +7 -5
- package/lib/rtl.js.map +1 -1
- package/lib/store.d.ts +40 -0
- package/lib/store.d.ts.map +1 -0
- package/lib/store.js +127 -0
- package/lib/store.js.map +1 -0
- package/lib/styles.d.ts +2 -2
- package/lib/styles.d.ts.map +1 -1
- package/lib/styles.js +15 -15
- package/lib/styles.js.map +1 -1
- package/lib/types.js +1 -0
- package/lib/types.js.map +1 -1
- package/lib/utils.d.ts +15 -0
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +199 -94
- package/lib/utils.js.map +1 -1
- package/llms.txt +133 -31
- package/package.json +89 -46
- package/lib/InputToolbar.d.ts +0 -49
- package/lib/InputToolbar.d.ts.map +0 -1
- package/lib/InputToolbar.js +0 -338
- package/lib/InputToolbar.js.map +0 -1
- package/lib/MessageVideo.d.ts.map +0 -1
- package/lib/MessageVideo.js +0 -162
- package/lib/MessageVideo.js.map +0 -1
- package/lib/MessagesContainer/FlashList.d.ts +0 -9
- package/lib/MessagesContainer/FlashList.d.ts.map +0 -1
- package/lib/MessagesContainer/FlashList.js +0 -23
- package/lib/MessagesContainer/FlashList.js.map +0 -1
- package/lib/components/ContextMenu.d.ts +0 -25
- package/lib/components/ContextMenu.d.ts.map +0 -1
- package/lib/components/ContextMenu.js +0 -122
- package/lib/components/ContextMenu.js.map +0 -1
- package/lib/components/VideoNoteRecorder.d.ts.map +0 -1
- package/lib/components/VideoNoteRecorder.js +0 -634
- package/lib/components/VideoNoteRecorder.js.map +0 -1
- package/lib/components/VoiceMessageInput.d.ts +0 -33
- package/lib/components/VoiceMessageInput.d.ts.map +0 -1
- package/lib/components/VoiceMessageInput.js +0 -403
- package/lib/components/VoiceMessageInput.js.map +0 -1
- package/lib/components/WaveformPlayer.d.ts +0 -19
- package/lib/components/WaveformPlayer.d.ts.map +0 -1
- package/lib/components/WaveformPlayer.js +0 -367
- 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":[]}
|