@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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useContext","useEffect","useLayoutEffect","useMemo","useRef","useState","Alert","BackHandler","Pressable","StyleSheet","Text","TextInput","useColorScheme","View","GestureHandlerRootView","Touchable","Animated","Easing","FadeIn","FadeOut","LinearTransition","useAnimatedScrollHandler","useAnimatedStyle","useSharedValue","withTiming","SafeAreaInsetsContext","ChatContext","impactHaptic","Icon","normalizeColorScheme","formatLabel","resolveLabels","isRTLLocale","resolveTheme","ChatListAvatar","CHAT_LIST_ROW_HEIGHT","ChatListCell","ChatListShimmer","matchesChatQuery","sortChats","formatChatListDate","getChatPreview","getInitials","useChatList","LIST_TRANSITION","duration","easing","bezier","FAB_TIMING","FAB_SIZE","FAB_HIDDEN_OFFSET","HEADER_HEIGHT","ARCHIVE_ROW_ID","isArchiveRow","row","id","ChatList","props","$","_c","theme","darkTheme","colorScheme","colorSchemeProp","locale","labels","icons","systemColorScheme","t0","undefined","t1","t2","resolvedTheme","t3","resolvedLabels","t4","isRTL","t5","t6","t7","t8","t9","t10","t11","actionSheet","_temp2","getLocale","getIsRTL","getColorScheme","getTheme","getIcons","getLabels","context","t12","t13","styles","fill","showActionSheetWithOptions","_temp","ChatListContent","chats","user","onPressChat","onLongPressChat","onPinChats","onMuteChats","onArchiveChats","onDeleteChats","onReorderPinnedChats","onPressNewChat","isDeleteConfirmed","isSwipeEnabled","isLoading","isSortEnabled","isHeaderVisible","title","renderHeaderRight","isTopInsetApplied","isSearchEnabled","filterChat","onSearchChange","isArchiveOpen","isArchiveOpenProp","onArchiveOpenChange","renderChat","renderEmpty","listProps","style","colors","chatList","insets","topInset","top","isArchiveOpenState","setIsArchiveOpenState","isOpen","setIsArchiveOpen","Symbol","for","selectedIds","setSelectedIds","query","setQueryState","next","setQuery","isSelectionMode","length","sorted","t14","filter","_temp3","mainChats","t15","_temp4","archivedChats","t16","bb0","source","t17","t18","chat_1","chat","rows","ids","kept","some","chat_2","t19","t20","id_0","find","chat_3","map","_temp5","selectedChats","clearSelection","t21","t22","subscription","addEventListener","remove","t23","chat_5","ids_0","includes","id_1","toggleSelected","t24","chat_6","onPressRow","t25","chat_7","onLongPressRow","t26","chat_8","isArchived","onSwipeRow","t27","_temp6","_temp7","pinnedIds","canReorder","dragId","dragFrom","dragY","isDragActive","t28","from","y","isActive","drag","liftedId","setLiftedId","isSettling","setIsSettling","dropCount","setDropCount","t29","chat_11","String","onDragStart","t30","chat_12","toIndex","order","id_2","splice","id_3","index","_temp8","onDrop","t31","t32","set","timer","setTimeout","clearTimeout","t33","dragHandlersRef","t34","current","t35","chat_13","stableOnStart","t36","chat_14","toIndex_0","stableOnDrop","t37","chat_15","index_0","indexOf","count","onStart","reorderFor","t38","action","runOnSelection","t39","count_0","alert","chatListDeleteTitle","chatListDeleteManyTitle","chatListDeleteMessage","text","cancel","actionDelete","onPress","onDeleteSelected","fabOffset","lastScrollY","onScroll","event","contentOffset","delta","value","Math","abs","target","fabStyle","transform","translateY","t40","t41","item","index_1","cellProps","isSelected","onLongPress","onSwipe","isLast","reorder","isReordering","isPinned","renderItem","every","_temp9","isAllPinned","t42","_temp0","isAllMuted","headerTitle","chatListArchived","chatListTitle","t43","message","empty","color","chatListNoResults","chatListEmpty","t44","background","backgroundColor","t45","t46","headerBackground","headerText","header","paddingTop","headerBar","headerContent","cancelSelection","selectionCount","spacer","actionUnpin","actionPin","selection","chatListUnmute","chatListMute","selection_0","chatListUnarchive","chatListArchive","selection_1","chatListBack","chatListSearch","searchInput","headerTitleStart","t47","EMPTY_ROWS","t48","t49","t50","item_1","liftedCell","listContentWithFab","t51","t52","t53","_temp1","t54","absoluteFill","t55","t56","fab","fabIcon","fabWrap","chatListNewChat","t57","item_0","chat_17","isMuted","chat_16","chat_10","chat_9","chat_4","chat_0","HeaderButton","icon","label","slice","headerButton","ArchiveRow","unread","reduce","_temp10","archiveRow","pressed","archiveAvatar","name","archiveTitle","archivePreview","_temp11","join","badgeMuted","badgeText","archiveBadge","archiveBadgeText","archiveBottom","archiveContent","divider","archiveDivider","sum","unreadCount","create","flex","zIndex","height","flexDirection","alignItems","paddingHorizontal","width","justifyContent","flexShrink","fontSize","fontWeight","marginStart","textAlign","paddingBottom","marginTop","position","end","bottom","borderRadius","boxShadow","start","paddingEnd","minWidth","hairlineWidth"],"sources":["../../src/ChatList/index.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'\nimport {\n Alert,\n BackHandler,\n Pressable,\n StyleSheet,\n Text,\n TextInput,\n useColorScheme,\n View,\n} from 'react-native'\nimport { GestureHandlerRootView, Touchable } from 'react-native-gesture-handler'\nimport Animated, {\n Easing,\n FadeIn,\n FadeOut,\n LinearTransition,\n useAnimatedScrollHandler,\n useAnimatedStyle,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated'\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context'\n\nimport { ChatContext, IChatContext } from '../ChatContext'\nimport { impactHaptic } from '../components/haptics'\nimport { Icon } from '../components/Icon'\nimport { normalizeColorScheme } from '../hooks/useColorScheme'\nimport { formatLabel, resolveLabels } from '../i18n'\nimport { IconName } from '../Icons'\nimport { isRTLLocale } from '../rtl'\nimport { ChatTheme, resolveTheme } from '../Theme'\nimport { ChatListAvatar } from './ChatListAvatar'\nimport { CHAT_LIST_ROW_HEIGHT, ChatListCell } from './ChatListCell'\nimport { ChatListShimmer } from './ChatListShimmer'\nimport { ChatListDrag, ChatListItem, ChatListProps, ChatListReorder } from './types'\nimport { matchesChatQuery, sortChats } from './utils'\n\nexport * from './types'\nexport { ChatListAvatar } from './ChatListAvatar'\nexport { ChatListCell, CHAT_LIST_ROW_HEIGHT } from './ChatListCell'\nexport { ChatListShimmer } from './ChatListShimmer'\nexport { formatChatListDate, getChatPreview, getInitials, matchesChatQuery, sortChats } from './utils'\nexport { useChatList } from './useChatList'\n\n/** Rows move over 250ms on bezier(0.199, 0.011, 0.279, 0.91). */\nconst LIST_TRANSITION = LinearTransition.duration(250).easing(Easing.bezier(0.199, 0.011, 0.279, 0.91))\n/** The new-chat button hides and shows over 380ms on an ease-out-quint curve... */\nconst FAB_TIMING = { duration: 380, easing: Easing.bezier(0.23, 1, 0.32, 1) }\n/** ...moving its size, its 14 margin and 40 more. */\nconst FAB_SIZE = 48\nconst FAB_HIDDEN_OFFSET = FAB_SIZE + 14 + 40\nconst HEADER_HEIGHT = 56\n\nconst ARCHIVE_ROW_ID = '__chat-list-archive__'\ntype Row<TChat> = TChat | { id: typeof ARCHIVE_ROW_ID }\n\nconst isArchiveRow = <TChat, >(row: Row<TChat>): row is { id: typeof ARCHIVE_ROW_ID } =>\n (row as { id: unknown }).id === ARCHIVE_ROW_ID\n\n/**\n * A list of chats with everything a messenger's main screen has: a header with search and a\n * selection bar (pin, mute, archive, delete), an \"Archived Chats\" folder, swipe to archive,\n * pinned chats you can drag into order, unread counters, typing and drafts, a loading\n * placeholder and a new-chat button. Feed it your chats and wire the callbacks to your backend.\n */\nexport function ChatList<TChat extends ChatListItem = ChatListItem> (props: ChatListProps<TChat>) {\n const {\n theme,\n darkTheme,\n colorScheme: colorSchemeProp,\n locale,\n labels,\n icons,\n } = props\n const systemColorScheme = useColorScheme()\n const colorScheme = normalizeColorScheme(colorSchemeProp !== undefined ? colorSchemeProp : systemColorScheme)\n const resolvedTheme = useMemo(() => resolveTheme(colorScheme, theme, darkTheme), [colorScheme, theme, darkTheme])\n const resolvedLabels = useMemo(() => resolveLabels(locale, labels), [locale, labels])\n const isRTL = useMemo(() => isRTLLocale(locale), [locale])\n const context = useMemo<IChatContext>(() => ({\n actionSheet: () => ({ showActionSheetWithOptions: () => {} }),\n getLocale: () => locale ?? 'en',\n getIsRTL: () => isRTL,\n getColorScheme: () => colorScheme,\n getTheme: () => resolvedTheme,\n getIcons: () => icons,\n getLabels: () => resolvedLabels,\n }), [locale, isRTL, colorScheme, resolvedTheme, icons, resolvedLabels])\n\n return (\n <GestureHandlerRootView style={styles.fill}>\n <ChatContext.Provider value={context}>\n <ChatListContent<TChat> {...props} resolvedTheme={resolvedTheme} />\n </ChatContext.Provider>\n </GestureHandlerRootView>\n )\n}\n\nfunction ChatListContent<TChat extends ChatListItem> ({\n chats,\n user,\n onPressChat,\n onLongPressChat,\n onPinChats,\n onMuteChats,\n onArchiveChats,\n onDeleteChats,\n onReorderPinnedChats,\n onPressNewChat,\n isDeleteConfirmed = true,\n isSwipeEnabled = true,\n isLoading = false,\n isSortEnabled = true,\n isHeaderVisible = true,\n title,\n renderHeaderRight,\n isTopInsetApplied = true,\n isSearchEnabled = true,\n filterChat = matchesChatQuery,\n onSearchChange,\n isArchiveOpen: isArchiveOpenProp,\n onArchiveOpenChange,\n renderChat,\n renderEmpty,\n listProps,\n style,\n resolvedTheme,\n}: ChatListProps<TChat> & { resolvedTheme: ChatTheme }) {\n const colors = resolvedTheme.chatList\n const { getLabels } = useContext(ChatContext)\n const labels = getLabels!()!\n const insets = useContext(SafeAreaInsetsContext)\n const topInset = isHeaderVisible && isTopInsetApplied ? insets?.top ?? 0 : 0\n\n const [isArchiveOpenState, setIsArchiveOpenState] = useState(false)\n const isArchiveOpen = isArchiveOpenProp ?? isArchiveOpenState\n const setIsArchiveOpen = useCallback((isOpen: boolean) => {\n setIsArchiveOpenState(isOpen)\n onArchiveOpenChange?.(isOpen)\n }, [onArchiveOpenChange])\n\n const [selectedIds, setSelectedIds] = useState<TChat['id'][]>([])\n const [query, setQueryState] = useState<string | null>(null)\n const setQuery = useCallback((next: string | null) => {\n setQueryState(next)\n onSearchChange?.(next)\n }, [onSearchChange])\n const isSelectionMode = selectedIds.length > 0\n\n const sorted = useMemo(() => (isSortEnabled ? sortChats(chats) : chats), [chats, isSortEnabled])\n const mainChats = useMemo(() => sorted.filter(chat => !chat.isArchived), [sorted])\n const archivedChats = useMemo(() => sorted.filter(chat => chat.isArchived), [sorted])\n\n const rows = useMemo<Row<TChat>[]>(() => {\n const source = isArchiveOpen ? archivedChats : mainChats\n if (query)\n return source.filter(chat => filterChat(chat, query))\n // The archive sits on top of the list as a folder row.\n if (!isArchiveOpen && archivedChats.length)\n return [{ id: ARCHIVE_ROW_ID }, ...source]\n return source\n }, [isArchiveOpen, archivedChats, mainChats, query, filterChat])\n\n // Selected chats that are gone (deleted, or moved by an action) drop out of the selection.\n useEffect(() => {\n setSelectedIds(ids => {\n const kept = ids.filter(id => chats.some(chat => chat.id === id))\n return kept.length === ids.length ? ids : kept\n })\n }, [chats])\n const selectedChats = useMemo(\n () => selectedIds.map(id => chats.find(chat => chat.id === id)).filter((chat): chat is TChat => !!chat),\n [selectedIds, chats]\n )\n const clearSelection = useCallback(() => setSelectedIds([]), [])\n\n // Android's back closes selection, search and the archive before leaving the screen.\n useEffect(() => {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n if (isSelectionMode)\n clearSelection()\n else if (query !== null)\n setQuery(null)\n else if (isArchiveOpen)\n setIsArchiveOpen(false)\n else\n return false\n return true\n })\n return () => subscription.remove()\n }, [isSelectionMode, query, isArchiveOpen, clearSelection, setQuery, setIsArchiveOpen])\n\n const toggleSelected = useCallback((chat: TChat) => {\n setSelectedIds(ids => (ids.includes(chat.id) ? ids.filter(id => id !== chat.id) : [...ids, chat.id]))\n }, [])\n\n const onPressRow = useCallback((chat: TChat) => {\n if (isSelectionMode) {\n toggleSelected(chat)\n return\n }\n onPressChat?.(chat)\n }, [isSelectionMode, onPressChat, toggleSelected])\n\n // A long-press selects the chat instead of opening a menu.\n const onLongPressRow = useCallback((chat: TChat) => {\n if (onLongPressChat) {\n onLongPressChat(chat)\n return\n }\n impactHaptic('Medium')\n toggleSelected(chat)\n }, [onLongPressChat, toggleSelected])\n\n const onSwipeRow = useCallback((chat: TChat) => {\n onArchiveChats?.([chat], !chat.isArchived)\n }, [onArchiveChats])\n\n // Pinned chats in the main list can be dragged into a new order.\n const pinnedIds = useMemo(() => mainChats.filter(chat => chat.isPinned).map(chat => chat.id), [mainChats])\n const canReorder = !!onReorderPinnedChats && !isArchiveOpen && !query\n const dragId = useSharedValue('')\n const dragFrom = useSharedValue(0)\n const dragY = useSharedValue(0)\n const isDragActive = useSharedValue(false)\n const drag = useMemo<ChatListDrag>(() => ({ id: dragId, from: dragFrom, y: dragY, isActive: isDragActive }), [dragId, dragFrom, dragY, isDragActive])\n // While a row is lifted, and for the frame it lands in, the list does not animate its own\n // layout: the rows are already where the new order puts them.\n const [liftedId, setLiftedId] = useState<string | null>(null)\n const [isSettling, setIsSettling] = useState(false)\n const [dropCount, setDropCount] = useState(0)\n\n const onDragStart = useCallback((chat: TChat) => {\n setLiftedId(String(chat.id))\n setIsSettling(true)\n if (!selectedIds.includes(chat.id)) {\n impactHaptic('Medium')\n toggleSelected(chat)\n }\n }, [selectedIds, toggleSelected])\n\n const onDrop = useCallback((chat: TChat, toIndex: number) => {\n const order = pinnedIds.filter(id => id !== chat.id)\n order.splice(toIndex, 0, chat.id)\n if (order.some((id, index) => id !== pinnedIds[index]))\n onReorderPinnedChats?.(order)\n setLiftedId(null)\n setDropCount(count => count + 1)\n }, [pinnedIds, onReorderPinnedChats])\n\n // Committed with the new order: the rows drop their offsets in the same frame.\n useLayoutEffect(() => {\n if (!dropCount)\n return\n isDragActive.set(false)\n dragY.set(0)\n dragId.set('')\n const timer = setTimeout(() => setIsSettling(false), 50)\n return () => clearTimeout(timer)\n }, [dropCount, isDragActive, dragY, dragId])\n\n // Stable handlers for the rows (which only re-render when what they show changes).\n const dragHandlersRef = useRef({ onDragStart, onDrop })\n useLayoutEffect(() => {\n dragHandlersRef.current = { onDragStart, onDrop }\n })\n const stableOnStart = useCallback((chat: TChat) => dragHandlersRef.current.onDragStart(chat), [])\n const stableOnDrop = useCallback((chat: TChat, toIndex: number) => dragHandlersRef.current.onDrop(chat, toIndex), [])\n\n const reorderFor = useCallback((chat: TChat): ChatListReorder<TChat> | undefined => {\n const index = pinnedIds.indexOf(chat.id)\n if (!canReorder || index < 0)\n return undefined\n return { index, count: pinnedIds.length, drag, onStart: stableOnStart, onDrop: stableOnDrop }\n }, [pinnedIds, canReorder, drag, stableOnStart, stableOnDrop])\n\n const runOnSelection = useCallback((action: (selection: TChat[]) => void) => {\n action(selectedChats)\n clearSelection()\n }, [selectedChats, clearSelection])\n\n const onDeleteSelected = useCallback(() => {\n if (!onDeleteChats)\n return\n if (!isDeleteConfirmed) {\n runOnSelection(onDeleteChats)\n return\n }\n const count = selectedChats.length\n Alert.alert(\n count === 1 ? labels.chatListDeleteTitle : formatLabel(labels.chatListDeleteManyTitle, { count }),\n labels.chatListDeleteMessage,\n [\n { text: labels.cancel, style: 'cancel' },\n { text: labels.actionDelete, style: 'destructive', onPress: () => runOnSelection(onDeleteChats) },\n ]\n )\n }, [onDeleteChats, isDeleteConfirmed, selectedChats.length, labels, runOnSelection])\n\n // The new-chat button hides while you scroll down the list and comes back on the way up.\n const fabOffset = useSharedValue(0)\n const lastScrollY = useSharedValue(0)\n const onScroll = useAnimatedScrollHandler(event => {\n const y = event.contentOffset.y\n const delta = y - lastScrollY.value\n lastScrollY.value = y\n if (Math.abs(delta) < 2)\n return\n const target = delta > 0 && y > CHAT_LIST_ROW_HEIGHT ? FAB_HIDDEN_OFFSET : 0\n if (target !== fabOffset.value)\n fabOffset.value = withTiming(target, FAB_TIMING)\n })\n const fabStyle = useAnimatedStyle(() => ({ transform: [{ translateY: fabOffset.value }] }))\n\n const renderItem = useCallback(({ item, index }: { item: Row<TChat>, index: number }) => {\n if (isArchiveRow(item))\n return <ArchiveRow chats={archivedChats} onPress={() => setIsArchiveOpen(true)} />\n const cellProps = {\n chat: item,\n user,\n isSelected: selectedIds.includes(item.id),\n isSelectionMode,\n onPress: onPressRow,\n onLongPress: onLongPressRow,\n onSwipe: onArchiveChats && isSwipeEnabled ? onSwipeRow : undefined,\n isLast: index === rows.length - 1,\n reorder: reorderFor(item),\n isReordering: isSelectionMode && canReorder && pinnedIds.length > 1 && !!item.isPinned,\n }\n return renderChat ? <>{renderChat(cellProps)}</> : <ChatListCell<TChat> {...cellProps} />\n }, [archivedChats, setIsArchiveOpen, user, selectedIds, isSelectionMode, onPressRow, onLongPressRow, onArchiveChats, isSwipeEnabled, onSwipeRow, rows.length, reorderFor, canReorder, pinnedIds.length, renderChat])\n\n const isAllPinned = selectedChats.length > 0 && selectedChats.every(chat => chat.isPinned)\n const isAllMuted = selectedChats.length > 0 && selectedChats.every(chat => chat.isMuted)\n const headerTitle = isArchiveOpen ? labels.chatListArchived : title ?? labels.chatListTitle\n\n const empty = renderEmpty\n ? <>{renderEmpty(!!query)}</>\n : <Text style={[styles.empty, { color: colors.message }]}>{query ? labels.chatListNoResults : labels.chatListEmpty}</Text>\n\n return (\n <View style={[styles.fill, { backgroundColor: colors.background }, style]}>\n {isHeaderVisible && (\n <View style={[styles.header, { paddingTop: topInset, backgroundColor: colors.headerBackground }]}>\n <View style={styles.headerBar}>\n {isSelectionMode\n ? (\n <Animated.View key='selection' entering={FadeIn.duration(150)} exiting={FadeOut.duration(150)} style={styles.headerContent}>\n <HeaderButton icon='close' color={colors.headerText} onPress={clearSelection} label={labels.cancelSelection} />\n <Text style={[styles.headerTitle, styles.selectionCount, { color: colors.headerText }]}>{selectedIds.length}</Text>\n <View style={styles.spacer} />\n {onPinChats && !isArchiveOpen && (\n <HeaderButton\n icon={isAllPinned ? 'pinOff' : 'pushpin'}\n color={colors.headerText}\n label={isAllPinned ? labels.actionUnpin : labels.actionPin}\n onPress={() => runOnSelection(selection => onPinChats(selection, !isAllPinned))}\n />\n )}\n {onMuteChats && (\n <HeaderButton\n icon={isAllMuted ? 'unmute' : 'mute'}\n color={colors.headerText}\n label={isAllMuted ? labels.chatListUnmute : labels.chatListMute}\n onPress={() => runOnSelection(selection => onMuteChats(selection, !isAllMuted))}\n />\n )}\n {onArchiveChats && (\n <HeaderButton\n icon={isArchiveOpen ? 'unarchive' : 'archive'}\n color={colors.headerText}\n label={isArchiveOpen ? labels.chatListUnarchive : labels.chatListArchive}\n onPress={() => runOnSelection(selection => onArchiveChats(selection, !isArchiveOpen))}\n />\n )}\n {onDeleteChats && (\n <HeaderButton icon='trash' color={colors.headerText} label={labels.actionDelete} onPress={onDeleteSelected} />\n )}\n </Animated.View>\n )\n : query !== null\n ? (\n <Animated.View key='search' entering={FadeIn.duration(150)} exiting={FadeOut.duration(150)} style={styles.headerContent}>\n <HeaderButton icon='arrowLeft' color={colors.headerText} onPress={() => setQuery(null)} label={labels.chatListBack} />\n <TextInput\n autoFocus\n value={query}\n onChangeText={setQuery}\n placeholder={labels.chatListSearch}\n placeholderTextColor={colors.message}\n style={[styles.searchInput, { color: colors.headerText }]}\n returnKeyType='search'\n />\n </Animated.View>\n )\n : (\n <Animated.View key={isArchiveOpen ? 'archive' : 'main'} entering={FadeIn.duration(150)} exiting={FadeOut.duration(150)} style={styles.headerContent}>\n {isArchiveOpen && <HeaderButton icon='arrowLeft' color={colors.headerText} onPress={() => setIsArchiveOpen(false)} label={labels.chatListBack} />}\n <Text style={[styles.headerTitle, !isArchiveOpen && styles.headerTitleStart, { color: colors.headerText }]} numberOfLines={1}>\n {headerTitle}\n </Text>\n <View style={styles.spacer} />\n {renderHeaderRight?.()}\n {isSearchEnabled && <HeaderButton icon='search' color={colors.headerText} onPress={() => setQuery('')} label={labels.chatListSearch} />}\n </Animated.View>\n )}\n </View>\n </View>\n )}\n\n <View style={styles.fill}>\n <Animated.FlatList<Row<TChat>>\n data={isLoading ? EMPTY_ROWS as Row<TChat>[] : rows}\n keyExtractor={item => String(item.id)}\n renderItem={renderItem}\n itemLayoutAnimation={isSettling ? undefined : LIST_TRANSITION}\n extraData={liftedId}\n // The lifted row passes over the rows below it too.\n CellRendererComponentStyle={({ item }: { item: Row<TChat> }) => (String(item.id) === liftedId ? styles.liftedCell : undefined)}\n onScroll={onScroll}\n scrollEventThrottle={16}\n keyboardShouldPersistTaps='handled'\n contentContainerStyle={onPressNewChat ? styles.listContentWithFab : undefined}\n ListEmptyComponent={isLoading ? undefined : empty}\n {...listProps as object}\n />\n {isLoading && (\n // The rows fade in over the placeholder.\n <Animated.View exiting={FadeOut.duration(150)} style={StyleSheet.absoluteFill} pointerEvents='none'>\n <ChatListShimmer />\n </Animated.View>\n )}\n </View>\n\n {onPressNewChat && !isArchiveOpen && !isSelectionMode && (\n <Animated.View entering={FadeIn.duration(200)} exiting={FadeOut.duration(200)} style={[styles.fabWrap, fabStyle]}>\n <Touchable\n style={[styles.fab, { backgroundColor: colors.fab }]}\n activeScale={0.9}\n onPress={onPressNewChat}\n accessibilityRole='button'\n accessibilityLabel={labels.chatListNewChat}\n >\n <Icon name='pencil' size={24} color={colors.fabIcon} fallback={<Text style={{ color: colors.fabIcon }}>+</Text>} />\n </Touchable>\n </Animated.View>\n )}\n </View>\n )\n}\n\nfunction HeaderButton ({ icon, color, label, onPress }: { icon: IconName, color: string, label: string, onPress: () => void }) {\n return (\n <Pressable onPress={onPress} hitSlop={4} style={styles.headerButton} accessibilityRole='button' accessibilityLabel={label}>\n <Icon name={icon} size={24} color={color} fallback={<Text style={{ color }}>{label.slice(0, 1)}</Text>} />\n </Pressable>\n )\n}\n\n/** The \"Archived Chats\" folder row: a grey archive avatar and the names inside. */\nfunction ArchiveRow ({ chats, onPress }: { chats: ChatListItem[], onPress: () => void }) {\n const { getTheme, getLabels } = useContext(ChatContext)\n const colors = getTheme!()!.chatList\n const labels = getLabels!()!\n const unread = chats.reduce((sum, chat) => sum + (chat.unreadCount ?? 0), 0)\n\n return (\n <Touchable\n style={[styles.archiveRow, { backgroundColor: colors.background }]}\n underlayColor={colors.pressed}\n activeUnderlayOpacity={1}\n onPress={onPress}\n accessibilityRole='button'\n accessibilityLabel={labels.chatListArchived}\n >\n <View style={styles.archiveAvatar}>\n <ChatListAvatar id='archive' title={labels.chatListArchived} size={52} isArchive />\n </View>\n <View style={styles.archiveContent}>\n <Text style={[styles.archiveTitle, { color: colors.name }]} numberOfLines={1}>{labels.chatListArchived}</Text>\n <View style={styles.archiveBottom}>\n <Text style={[styles.archivePreview, { color: colors.message }]} numberOfLines={1}>\n {chats.map(chat => chat.title).join(', ')}\n </Text>\n {unread > 0 && (\n <View style={[styles.archiveBadge, { backgroundColor: colors.badgeMuted }]}>\n <Text style={[styles.archiveBadgeText, { color: colors.badgeText }]}>{unread}</Text>\n </View>\n )}\n </View>\n </View>\n <View style={[styles.archiveDivider, { backgroundColor: colors.divider }]} />\n </Touchable>\n )\n}\n\nconst EMPTY_ROWS: unknown[] = []\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n liftedCell: {\n zIndex: 1,\n },\n header: {\n zIndex: 1,\n },\n headerBar: {\n height: HEADER_HEIGHT,\n },\n headerContent: {\n ...StyleSheet.absoluteFill,\n flexDirection: 'row',\n alignItems: 'center',\n paddingHorizontal: 4,\n },\n headerButton: {\n width: 48,\n height: 48,\n alignItems: 'center',\n justifyContent: 'center',\n },\n headerTitle: {\n flexShrink: 1,\n fontSize: 20,\n fontWeight: '500',\n marginStart: 8,\n },\n headerTitleStart: {\n marginStart: 14,\n },\n selectionCount: {\n fontSize: 18,\n marginStart: 14,\n },\n spacer: {\n flex: 1,\n },\n searchInput: {\n flex: 1,\n fontSize: 18,\n marginStart: 8,\n textAlign: 'auto',\n },\n listContentWithFab: {\n paddingBottom: FAB_SIZE + 40,\n },\n empty: {\n textAlign: 'center',\n marginTop: 48,\n fontSize: 15,\n },\n // 20 from the end, 14 from the bottom.\n fabWrap: {\n position: 'absolute',\n end: 20,\n bottom: 14,\n },\n fab: {\n width: FAB_SIZE,\n height: FAB_SIZE,\n borderRadius: FAB_SIZE / 2,\n alignItems: 'center',\n justifyContent: 'center',\n boxShadow: '0 1px 2px rgba(0, 0, 0, 0.2)',\n },\n archiveRow: {\n height: CHAT_LIST_ROW_HEIGHT,\n flexDirection: 'row',\n },\n archiveAvatar: {\n position: 'absolute',\n start: 11,\n top: 9,\n },\n archiveContent: {\n flex: 1,\n marginStart: 76,\n paddingEnd: 15,\n },\n archiveTitle: {\n marginTop: 14,\n height: 19,\n fontSize: 16,\n fontWeight: '500',\n textAlign: 'left',\n },\n archiveBottom: {\n marginTop: 5,\n height: 20.666,\n flexDirection: 'row',\n alignItems: 'center',\n },\n archivePreview: {\n flex: 1,\n fontSize: 15,\n textAlign: 'left',\n },\n archiveBadge: {\n minWidth: 20.666,\n height: 20.666,\n borderRadius: 11.5,\n paddingHorizontal: 6.333,\n marginStart: 6,\n alignItems: 'center',\n justifyContent: 'center',\n },\n archiveBadgeText: {\n fontSize: 13,\n fontWeight: '500',\n },\n archiveDivider: {\n position: 'absolute',\n start: 72,\n end: 0,\n bottom: 0,\n height: StyleSheet.hairlineWidth,\n },\n})\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ColorSchemeName, FlatListProps, StyleProp, ViewStyle } from 'react-native';
|
|
3
|
+
import { SharedValue } from 'react-native-reanimated';
|
|
4
|
+
import { TypingAction } from '../components/TypingStatus';
|
|
5
|
+
import { ChatLabels } from '../i18n';
|
|
6
|
+
import { ChatIcons } from '../Icons';
|
|
7
|
+
import { IMessage, User } from '../Models';
|
|
8
|
+
import { PartialChatTheme } from '../Theme';
|
|
9
|
+
/** What a chat is: a one-to-one chat, a group (its rows name the sender) or a channel. */
|
|
10
|
+
export type ChatListItemKind = 'private' | 'group' | 'channel';
|
|
11
|
+
/**
|
|
12
|
+
* One chat in a `ChatList`: map your backend's conversations onto this. Everything but `id` and
|
|
13
|
+
* `title` is optional, and each field turns on the part of the row that draws it.
|
|
14
|
+
*/
|
|
15
|
+
export interface ChatListItem {
|
|
16
|
+
id: string | number;
|
|
17
|
+
title: string;
|
|
18
|
+
kind?: ChatListItemKind;
|
|
19
|
+
/** A photo URL; initials on a per-chat color otherwise. */
|
|
20
|
+
avatar?: string;
|
|
21
|
+
/** The newest message: its preview, time and (when it is yours) its sent / read checks. */
|
|
22
|
+
lastMessage?: IMessage;
|
|
23
|
+
unreadCount?: number;
|
|
24
|
+
isPinned?: boolean;
|
|
25
|
+
isMuted?: boolean;
|
|
26
|
+
isArchived?: boolean;
|
|
27
|
+
isVerified?: boolean;
|
|
28
|
+
/** The green dot on the avatar. */
|
|
29
|
+
isOnline?: boolean;
|
|
30
|
+
/** An unsent draft, shown in place of the last message. */
|
|
31
|
+
draft?: string;
|
|
32
|
+
/** Who is typing right now; shown in place of the last message. */
|
|
33
|
+
typingUsers?: User[];
|
|
34
|
+
/** What they are doing, when not typing: recording a note, sending media... */
|
|
35
|
+
typingAction?: TypingAction;
|
|
36
|
+
}
|
|
37
|
+
/** The props a custom `renderChat` receives: the built-in row's own. */
|
|
38
|
+
export interface ChatListCellProps<TChat extends ChatListItem = ChatListItem> {
|
|
39
|
+
chat: TChat;
|
|
40
|
+
/** You, for "You:" and the checks on your own last message. */
|
|
41
|
+
user?: User;
|
|
42
|
+
isSelected: boolean;
|
|
43
|
+
isSelectionMode: boolean;
|
|
44
|
+
onPress: (chat: TChat) => void;
|
|
45
|
+
onLongPress: (chat: TChat) => void;
|
|
46
|
+
/** Swipe towards the start edge to archive (or unarchive); omitted turns the swipe off. */
|
|
47
|
+
onSwipe?: (chat: TChat) => void;
|
|
48
|
+
isLast?: boolean;
|
|
49
|
+
/** Set on a pinned chat when pinned chats can be reordered. */
|
|
50
|
+
reorder?: ChatListReorder<TChat>;
|
|
51
|
+
/** Selecting with more than one chat pinned: pinned rows show a reorder handle. */
|
|
52
|
+
isReordering?: boolean;
|
|
53
|
+
}
|
|
54
|
+
/** A pinned row's part in a drag. */
|
|
55
|
+
export interface ChatListReorder<TChat extends ChatListItem = ChatListItem> {
|
|
56
|
+
index: number;
|
|
57
|
+
count: number;
|
|
58
|
+
drag: ChatListDrag;
|
|
59
|
+
onStart: (chat: TChat) => void;
|
|
60
|
+
onDrop: (chat: TChat, toIndex: number) => void;
|
|
61
|
+
}
|
|
62
|
+
/** The drag in progress, shared by every pinned row (UI-thread values). */
|
|
63
|
+
export interface ChatListDrag {
|
|
64
|
+
id: SharedValue<string>;
|
|
65
|
+
from: SharedValue<number>;
|
|
66
|
+
y: SharedValue<number>;
|
|
67
|
+
isActive: SharedValue<boolean>;
|
|
68
|
+
}
|
|
69
|
+
export interface ChatListProps<TChat extends ChatListItem = ChatListItem> {
|
|
70
|
+
/** Every chat, archived ones included. Sorted for you unless `isSortEnabled` is false. */
|
|
71
|
+
chats: TChat[];
|
|
72
|
+
/** You: "You:" in groups and the checks on your own last messages. */
|
|
73
|
+
user?: User;
|
|
74
|
+
onPressChat?: (chat: TChat) => void;
|
|
75
|
+
/** Replaces the default long-press, which selects the chat. */
|
|
76
|
+
onLongPressChat?: (chat: TChat) => void;
|
|
77
|
+
/** Pin / unpin from the selection bar. Pinned chats come first, in the order of `chats`. */
|
|
78
|
+
onPinChats?: (chats: TChat[], isPinned: boolean) => void;
|
|
79
|
+
/** Mute / unmute from the selection bar. */
|
|
80
|
+
onMuteChats?: (chats: TChat[], isMuted: boolean) => void;
|
|
81
|
+
/** Archive / unarchive from the selection bar and by swiping a row. */
|
|
82
|
+
onArchiveChats?: (chats: TChat[], isArchived: boolean) => void;
|
|
83
|
+
/** Delete from the selection bar, after a confirmation (see `isDeleteConfirmed`). */
|
|
84
|
+
onDeleteChats?: (chats: TChat[]) => void;
|
|
85
|
+
/** Turns on dragging pinned chats into a new order; called with the pinned ids in it. */
|
|
86
|
+
onReorderPinnedChats?: (ids: TChat['id'][]) => void;
|
|
87
|
+
/** Shows the round new-chat button. */
|
|
88
|
+
onPressNewChat?: () => void;
|
|
89
|
+
/** Ask before deleting. Default true. */
|
|
90
|
+
isDeleteConfirmed?: boolean;
|
|
91
|
+
/** Swipe a row to archive it (needs `onArchiveChats`). Default true. */
|
|
92
|
+
isSwipeEnabled?: boolean;
|
|
93
|
+
/** Shows the loading placeholder instead of the rows. */
|
|
94
|
+
isLoading?: boolean;
|
|
95
|
+
/** Pinned first, in the order given, then the rest by their newest message. Default true. */
|
|
96
|
+
isSortEnabled?: boolean;
|
|
97
|
+
/** The built-in header (title, search, selection actions). Default true. */
|
|
98
|
+
isHeaderVisible?: boolean;
|
|
99
|
+
/** Header title. Default the `chatListTitle` label. */
|
|
100
|
+
title?: string;
|
|
101
|
+
/** Extra header buttons, before the search button. */
|
|
102
|
+
renderHeaderRight?: () => React.ReactNode;
|
|
103
|
+
/** Pads the header below the status bar. Default true. */
|
|
104
|
+
isTopInsetApplied?: boolean;
|
|
105
|
+
/** The header's search button. Default true. */
|
|
106
|
+
isSearchEnabled?: boolean;
|
|
107
|
+
/** Which chats a query keeps. Default: the title or the last message contains it. */
|
|
108
|
+
filterChat?: (chat: TChat, query: string) => boolean;
|
|
109
|
+
/** Called as the query changes (for a server-side search, also pass `filterChat={() => true}`). */
|
|
110
|
+
onSearchChange?: (query: string | null) => void;
|
|
111
|
+
/** Shows the archived chats instead of the main list; controlled when set. */
|
|
112
|
+
isArchiveOpen?: boolean;
|
|
113
|
+
onArchiveOpenChange?: (isOpen: boolean) => void;
|
|
114
|
+
/** Replaces a row; `ChatListCell` is the built-in one. */
|
|
115
|
+
renderChat?: (props: ChatListCellProps<TChat>) => React.ReactNode;
|
|
116
|
+
/** Replaces the empty-list text. */
|
|
117
|
+
renderEmpty?: (isSearching: boolean) => React.ReactNode;
|
|
118
|
+
/** Passed to the FlatList (e.g. `onEndReached` for paging, `refreshControl`). */
|
|
119
|
+
listProps?: Partial<FlatListProps<TChat>>;
|
|
120
|
+
style?: StyleProp<ViewStyle>;
|
|
121
|
+
theme?: PartialChatTheme;
|
|
122
|
+
darkTheme?: PartialChatTheme;
|
|
123
|
+
colorScheme?: ColorSchemeName;
|
|
124
|
+
locale?: string;
|
|
125
|
+
labels?: Partial<ChatLabels>;
|
|
126
|
+
icons?: ChatIcons;
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ChatList/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/ChatList/types.ts"],"sourcesContent":["import React from 'react'\nimport { ColorSchemeName, FlatListProps, StyleProp, ViewStyle } from 'react-native'\nimport { SharedValue } from 'react-native-reanimated'\n\nimport { TypingAction } from '../components/TypingStatus'\nimport { ChatLabels } from '../i18n'\nimport { ChatIcons } from '../Icons'\nimport { IMessage, User } from '../Models'\nimport { PartialChatTheme } from '../Theme'\n\n/** What a chat is: a one-to-one chat, a group (its rows name the sender) or a channel. */\nexport type ChatListItemKind = 'private' | 'group' | 'channel'\n\n/**\n * One chat in a `ChatList`: map your backend's conversations onto this. Everything but `id` and\n * `title` is optional, and each field turns on the part of the row that draws it.\n */\nexport interface ChatListItem {\n id: string | number\n title: string\n kind?: ChatListItemKind\n /** A photo URL; initials on a per-chat color otherwise. */\n avatar?: string\n /** The newest message: its preview, time and (when it is yours) its sent / read checks. */\n lastMessage?: IMessage\n unreadCount?: number\n isPinned?: boolean\n isMuted?: boolean\n isArchived?: boolean\n isVerified?: boolean\n /** The green dot on the avatar. */\n isOnline?: boolean\n /** An unsent draft, shown in place of the last message. */\n draft?: string\n /** Who is typing right now; shown in place of the last message. */\n typingUsers?: User[]\n /** What they are doing, when not typing: recording a note, sending media... */\n typingAction?: TypingAction\n}\n\n/** The props a custom `renderChat` receives: the built-in row's own. */\nexport interface ChatListCellProps<TChat extends ChatListItem = ChatListItem> {\n chat: TChat\n /** You, for \"You:\" and the checks on your own last message. */\n user?: User\n isSelected: boolean\n isSelectionMode: boolean\n onPress: (chat: TChat) => void\n onLongPress: (chat: TChat) => void\n /** Swipe towards the start edge to archive (or unarchive); omitted turns the swipe off. */\n onSwipe?: (chat: TChat) => void\n isLast?: boolean\n /** Set on a pinned chat when pinned chats can be reordered. */\n reorder?: ChatListReorder<TChat>\n /** Selecting with more than one chat pinned: pinned rows show a reorder handle. */\n isReordering?: boolean\n}\n\n/** A pinned row's part in a drag. */\nexport interface ChatListReorder<TChat extends ChatListItem = ChatListItem> {\n index: number\n count: number\n drag: ChatListDrag\n onStart: (chat: TChat) => void\n onDrop: (chat: TChat, toIndex: number) => void\n}\n\n/** The drag in progress, shared by every pinned row (UI-thread values). */\nexport interface ChatListDrag {\n id: SharedValue<string>\n from: SharedValue<number>\n y: SharedValue<number>\n isActive: SharedValue<boolean>\n}\n\nexport interface ChatListProps<TChat extends ChatListItem = ChatListItem> {\n /** Every chat, archived ones included. Sorted for you unless `isSortEnabled` is false. */\n chats: TChat[]\n /** You: \"You:\" in groups and the checks on your own last messages. */\n user?: User\n onPressChat?: (chat: TChat) => void\n /** Replaces the default long-press, which selects the chat. */\n onLongPressChat?: (chat: TChat) => void\n\n /** Pin / unpin from the selection bar. Pinned chats come first, in the order of `chats`. */\n onPinChats?: (chats: TChat[], isPinned: boolean) => void\n /** Mute / unmute from the selection bar. */\n onMuteChats?: (chats: TChat[], isMuted: boolean) => void\n /** Archive / unarchive from the selection bar and by swiping a row. */\n onArchiveChats?: (chats: TChat[], isArchived: boolean) => void\n /** Delete from the selection bar, after a confirmation (see `isDeleteConfirmed`). */\n onDeleteChats?: (chats: TChat[]) => void\n /** Turns on dragging pinned chats into a new order; called with the pinned ids in it. */\n onReorderPinnedChats?: (ids: TChat['id'][]) => void\n /** Shows the round new-chat button. */\n onPressNewChat?: () => void\n /** Ask before deleting. Default true. */\n isDeleteConfirmed?: boolean\n /** Swipe a row to archive it (needs `onArchiveChats`). Default true. */\n isSwipeEnabled?: boolean\n\n /** Shows the loading placeholder instead of the rows. */\n isLoading?: boolean\n /** Pinned first, in the order given, then the rest by their newest message. Default true. */\n isSortEnabled?: boolean\n\n /** The built-in header (title, search, selection actions). Default true. */\n isHeaderVisible?: boolean\n /** Header title. Default the `chatListTitle` label. */\n title?: string\n /** Extra header buttons, before the search button. */\n renderHeaderRight?: () => React.ReactNode\n /** Pads the header below the status bar. Default true. */\n isTopInsetApplied?: boolean\n\n /** The header's search button. Default true. */\n isSearchEnabled?: boolean\n /** Which chats a query keeps. Default: the title or the last message contains it. */\n filterChat?: (chat: TChat, query: string) => boolean\n /** Called as the query changes (for a server-side search, also pass `filterChat={() => true}`). */\n onSearchChange?: (query: string | null) => void\n\n /** Shows the archived chats instead of the main list; controlled when set. */\n isArchiveOpen?: boolean\n onArchiveOpenChange?: (isOpen: boolean) => void\n\n /** Replaces a row; `ChatListCell` is the built-in one. */\n renderChat?: (props: ChatListCellProps<TChat>) => React.ReactNode\n /** Replaces the empty-list text. */\n renderEmpty?: (isSearching: boolean) => React.ReactNode\n /** Passed to the FlatList (e.g. `onEndReached` for paging, `refreshControl`). */\n listProps?: Partial<FlatListProps<TChat>>\n style?: StyleProp<ViewStyle>\n\n theme?: PartialChatTheme\n darkTheme?: PartialChatTheme\n colorScheme?: ColorSchemeName\n locale?: string\n labels?: Partial<ChatLabels>\n icons?: ChatIcons\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IMessage } from '../Models';
|
|
2
|
+
import { ChatListItem } from './types';
|
|
3
|
+
type Id = ChatListItem['id'];
|
|
4
|
+
/**
|
|
5
|
+
* Local state for a `ChatList`: the chats plus handlers for every list action, ready to spread
|
|
6
|
+
* onto the list. Use it for prototypes, or as the store in front of your backend: call your API
|
|
7
|
+
* in the handlers you wrap, and feed server updates through `upsertChat` / `receiveMessage`.
|
|
8
|
+
*
|
|
9
|
+
* ```tsx
|
|
10
|
+
* const list = useChatList(initialChats)
|
|
11
|
+
* <ChatList chats={list.chats} user={me} {...list.handlers} onPressChat={openChat} />
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function useChatList<TChat extends ChatListItem = ChatListItem>(initialChats?: TChat[]): {
|
|
15
|
+
chats: TChat[];
|
|
16
|
+
setChats: import("react").Dispatch<import("react").SetStateAction<TChat[]>>;
|
|
17
|
+
handlers: {
|
|
18
|
+
onPinChats: (selection: TChat[], isPinned: boolean) => void;
|
|
19
|
+
onMuteChats: (selection: TChat[], isMuted: boolean) => void;
|
|
20
|
+
onArchiveChats: (selection: TChat[], isArchived: boolean) => void;
|
|
21
|
+
onDeleteChats: (selection: TChat[]) => void;
|
|
22
|
+
onReorderPinnedChats: (ids: Id[]) => void;
|
|
23
|
+
};
|
|
24
|
+
upsertChat: (chat: TChat) => void;
|
|
25
|
+
updateChat: (id: Id, change: Partial<TChat>) => void;
|
|
26
|
+
receiveMessage: (id: Id, message: IMessage, isRead?: boolean) => void;
|
|
27
|
+
markRead: (id: Id) => void;
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=useChatList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatList.d.ts","sourceRoot":"","sources":["../../src/ChatList/useChatList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;AAE5B;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,SAAS,YAAY,GAAG,YAAY,EAAG,YAAY,GAAE,KAAK,EAAO;;;;gCASrD,KAAK,EAAE,YAAY,OAAO;iCASzB,KAAK,EAAE,WAAW,OAAO;oCAItB,KAAK,EAAE,cAAc,OAAO;mCAI7B,KAAK,EAAE;oCAMN,EAAE,EAAE;;uBAUb,KAAK;qBAmBP,EAAE,UAAU,OAAO,CAAC,KAAK,CAAC;yBAZtB,EAAE,WAAW,QAAQ;mBAQ3B,EAAE;EAiBrC"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { c as _c } from "react/compiler-runtime";
|
|
2
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Local state for a `ChatList`: the chats plus handlers for every list action, ready to spread
|
|
5
|
+
* onto the list. Use it for prototypes, or as the store in front of your backend: call your API
|
|
6
|
+
* in the handlers you wrap, and feed server updates through `upsertChat` / `receiveMessage`.
|
|
7
|
+
*
|
|
8
|
+
* ```tsx
|
|
9
|
+
* const list = useChatList(initialChats)
|
|
10
|
+
* <ChatList chats={list.chats} user={me} {...list.handlers} onPressChat={openChat} />
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export function useChatList(t0) {
|
|
14
|
+
const $ = _c(15);
|
|
15
|
+
let t1;
|
|
16
|
+
if ($[0] !== t0) {
|
|
17
|
+
t1 = t0 === undefined ? [] : t0;
|
|
18
|
+
$[0] = t0;
|
|
19
|
+
$[1] = t1;
|
|
20
|
+
} else {
|
|
21
|
+
t1 = $[1];
|
|
22
|
+
}
|
|
23
|
+
const initialChats = t1;
|
|
24
|
+
const [chats, setChats] = useState(initialChats);
|
|
25
|
+
let t2;
|
|
26
|
+
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
27
|
+
t2 = (ids, change) => {
|
|
28
|
+
const wanted = new Set(ids);
|
|
29
|
+
setChats(current => current.map(chat => wanted.has(chat.id) ? change(chat) : chat));
|
|
30
|
+
};
|
|
31
|
+
$[2] = t2;
|
|
32
|
+
} else {
|
|
33
|
+
t2 = $[2];
|
|
34
|
+
}
|
|
35
|
+
const patch = t2;
|
|
36
|
+
let t3;
|
|
37
|
+
if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
38
|
+
t3 = (selection, isPinned) => {
|
|
39
|
+
const ids_0 = new Set(selection.map(_temp));
|
|
40
|
+
setChats(current_0 => {
|
|
41
|
+
const changed = current_0.filter(chat_1 => ids_0.has(chat_1.id)).map(chat_2 => ({
|
|
42
|
+
...chat_2,
|
|
43
|
+
isPinned
|
|
44
|
+
}));
|
|
45
|
+
const rest = current_0.filter(chat_3 => !ids_0.has(chat_3.id));
|
|
46
|
+
return isPinned ? [...changed, ...rest] : [...rest, ...changed];
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
$[3] = t3;
|
|
50
|
+
} else {
|
|
51
|
+
t3 = $[3];
|
|
52
|
+
}
|
|
53
|
+
const onPinChats = t3;
|
|
54
|
+
let t4;
|
|
55
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
56
|
+
t4 = (selection_0, isMuted) => {
|
|
57
|
+
patch(selection_0.map(_temp2), chat_5 => ({
|
|
58
|
+
...chat_5,
|
|
59
|
+
isMuted
|
|
60
|
+
}));
|
|
61
|
+
};
|
|
62
|
+
$[4] = t4;
|
|
63
|
+
} else {
|
|
64
|
+
t4 = $[4];
|
|
65
|
+
}
|
|
66
|
+
const onMuteChats = t4;
|
|
67
|
+
let t5;
|
|
68
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
69
|
+
t5 = (selection_1, isArchived) => {
|
|
70
|
+
patch(selection_1.map(_temp3), chat_7 => ({
|
|
71
|
+
...chat_7,
|
|
72
|
+
isArchived,
|
|
73
|
+
isPinned: isArchived ? false : chat_7.isPinned
|
|
74
|
+
}));
|
|
75
|
+
};
|
|
76
|
+
$[5] = t5;
|
|
77
|
+
} else {
|
|
78
|
+
t5 = $[5];
|
|
79
|
+
}
|
|
80
|
+
const onArchiveChats = t5;
|
|
81
|
+
let t6;
|
|
82
|
+
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
83
|
+
t6 = selection_2 => {
|
|
84
|
+
const ids_1 = new Set(selection_2.map(_temp4));
|
|
85
|
+
setChats(current_1 => current_1.filter(chat_9 => !ids_1.has(chat_9.id)));
|
|
86
|
+
};
|
|
87
|
+
$[6] = t6;
|
|
88
|
+
} else {
|
|
89
|
+
t6 = $[6];
|
|
90
|
+
}
|
|
91
|
+
const onDeleteChats = t6;
|
|
92
|
+
let t7;
|
|
93
|
+
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
94
|
+
t7 = ids_2 => {
|
|
95
|
+
setChats(current_2 => {
|
|
96
|
+
const byId = new Map(current_2.map(_temp5));
|
|
97
|
+
const pinned = ids_2.map(id => byId.get(id)).filter(_temp6);
|
|
98
|
+
const moved = new Set(ids_2);
|
|
99
|
+
return [...pinned, ...current_2.filter(chat_12 => !moved.has(chat_12.id))];
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
$[7] = t7;
|
|
103
|
+
} else {
|
|
104
|
+
t7 = $[7];
|
|
105
|
+
}
|
|
106
|
+
const onReorderPinnedChats = t7;
|
|
107
|
+
let t8;
|
|
108
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
109
|
+
t8 = chat_13 => {
|
|
110
|
+
setChats(current_3 => current_3.some(other_0 => other_0.id === chat_13.id) ? current_3.map(other => other.id === chat_13.id ? chat_13 : other) : [...current_3, chat_13]);
|
|
111
|
+
};
|
|
112
|
+
$[8] = t8;
|
|
113
|
+
} else {
|
|
114
|
+
t8 = $[8];
|
|
115
|
+
}
|
|
116
|
+
const upsertChat = t8;
|
|
117
|
+
let t9;
|
|
118
|
+
if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
|
|
119
|
+
t9 = (id_0, message, t10) => {
|
|
120
|
+
const isRead = t10 === undefined ? false : t10;
|
|
121
|
+
patch([id_0], chat_14 => ({
|
|
122
|
+
...chat_14,
|
|
123
|
+
lastMessage: message,
|
|
124
|
+
unreadCount: isRead ? chat_14.unreadCount ?? 0 : (chat_14.unreadCount ?? 0) + 1
|
|
125
|
+
}));
|
|
126
|
+
};
|
|
127
|
+
$[9] = t9;
|
|
128
|
+
} else {
|
|
129
|
+
t9 = $[9];
|
|
130
|
+
}
|
|
131
|
+
const receiveMessage = t9;
|
|
132
|
+
let t10;
|
|
133
|
+
if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
|
|
134
|
+
t10 = id_1 => {
|
|
135
|
+
patch([id_1], _temp7);
|
|
136
|
+
};
|
|
137
|
+
$[10] = t10;
|
|
138
|
+
} else {
|
|
139
|
+
t10 = $[10];
|
|
140
|
+
}
|
|
141
|
+
const markRead = t10;
|
|
142
|
+
let t11;
|
|
143
|
+
if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
|
|
144
|
+
t11 = (id_2, change_0) => {
|
|
145
|
+
patch([id_2], chat_16 => ({
|
|
146
|
+
...chat_16,
|
|
147
|
+
...change_0
|
|
148
|
+
}));
|
|
149
|
+
};
|
|
150
|
+
$[11] = t11;
|
|
151
|
+
} else {
|
|
152
|
+
t11 = $[11];
|
|
153
|
+
}
|
|
154
|
+
const updateChat = t11;
|
|
155
|
+
let t12;
|
|
156
|
+
if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
157
|
+
t12 = {
|
|
158
|
+
onPinChats,
|
|
159
|
+
onMuteChats,
|
|
160
|
+
onArchiveChats,
|
|
161
|
+
onDeleteChats,
|
|
162
|
+
onReorderPinnedChats
|
|
163
|
+
};
|
|
164
|
+
$[12] = t12;
|
|
165
|
+
} else {
|
|
166
|
+
t12 = $[12];
|
|
167
|
+
}
|
|
168
|
+
const handlers = t12;
|
|
169
|
+
let t13;
|
|
170
|
+
if ($[13] !== chats) {
|
|
171
|
+
t13 = {
|
|
172
|
+
chats,
|
|
173
|
+
setChats,
|
|
174
|
+
handlers,
|
|
175
|
+
upsertChat,
|
|
176
|
+
updateChat,
|
|
177
|
+
receiveMessage,
|
|
178
|
+
markRead
|
|
179
|
+
};
|
|
180
|
+
$[13] = chats;
|
|
181
|
+
$[14] = t13;
|
|
182
|
+
} else {
|
|
183
|
+
t13 = $[14];
|
|
184
|
+
}
|
|
185
|
+
return t13;
|
|
186
|
+
}
|
|
187
|
+
function _temp7(chat_15) {
|
|
188
|
+
return {
|
|
189
|
+
...chat_15,
|
|
190
|
+
unreadCount: 0
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
function _temp6(chat_11) {
|
|
194
|
+
return !!chat_11;
|
|
195
|
+
}
|
|
196
|
+
function _temp5(chat_10) {
|
|
197
|
+
return [chat_10.id, chat_10];
|
|
198
|
+
}
|
|
199
|
+
function _temp4(chat_8) {
|
|
200
|
+
return chat_8.id;
|
|
201
|
+
}
|
|
202
|
+
function _temp3(chat_6) {
|
|
203
|
+
return chat_6.id;
|
|
204
|
+
}
|
|
205
|
+
function _temp2(chat_4) {
|
|
206
|
+
return chat_4.id;
|
|
207
|
+
}
|
|
208
|
+
function _temp(chat_0) {
|
|
209
|
+
return chat_0.id;
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=useChatList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatList.js","names":["useCallback","useMemo","useState","useChatList","t0","$","_c","t1","undefined","initialChats","chats","setChats","t2","Symbol","for","ids","change","wanted","Set","current","map","chat","has","id","patch","t3","selection","isPinned","ids_0","_temp","current_0","changed","filter","chat_1","chat_2","rest","chat_3","onPinChats","t4","selection_0","isMuted","_temp2","chat_5","onMuteChats","t5","selection_1","isArchived","_temp3","chat_7","onArchiveChats","t6","selection_2","ids_1","_temp4","current_1","chat_9","onDeleteChats","t7","ids_2","current_2","byId","Map","_temp5","pinned","get","_temp6","moved","chat_12","onReorderPinnedChats","t8","chat_13","current_3","some","other_0","other","upsertChat","t9","id_0","message","t10","isRead","chat_14","lastMessage","unreadCount","receiveMessage","id_1","_temp7","markRead","t11","id_2","change_0","chat_16","updateChat","t12","handlers","t13","chat_15","chat_11","chat_10","chat_8","chat_6","chat_4","chat_0"],"sources":["../../src/ChatList/useChatList.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\n\nimport { IMessage } from '../Models'\nimport { ChatListItem } from './types'\n\ntype Id = ChatListItem['id']\n\n/**\n * Local state for a `ChatList`: the chats plus handlers for every list action, ready to spread\n * onto the list. Use it for prototypes, or as the store in front of your backend: call your API\n * in the handlers you wrap, and feed server updates through `upsertChat` / `receiveMessage`.\n *\n * ```tsx\n * const list = useChatList(initialChats)\n * <ChatList chats={list.chats} user={me} {...list.handlers} onPressChat={openChat} />\n * ```\n */\nexport function useChatList<TChat extends ChatListItem = ChatListItem> (initialChats: TChat[] = []) {\n const [chats, setChats] = useState<TChat[]>(initialChats)\n\n const patch = useCallback((ids: Id[], change: (chat: TChat) => TChat) => {\n const wanted = new Set(ids)\n setChats(current => current.map(chat => (wanted.has(chat.id) ? change(chat) : chat)))\n }, [])\n\n /** Pinning moves a chat to the top of the pinned ones; archiving unpins. */\n const onPinChats = useCallback((selection: TChat[], isPinned: boolean) => {\n const ids = new Set(selection.map(chat => chat.id))\n setChats(current => {\n const changed = current.filter(chat => ids.has(chat.id)).map(chat => ({ ...chat, isPinned }))\n const rest = current.filter(chat => !ids.has(chat.id))\n return isPinned ? [...changed, ...rest] : [...rest, ...changed]\n })\n }, [])\n\n const onMuteChats = useCallback((selection: TChat[], isMuted: boolean) => {\n patch(selection.map(chat => chat.id), chat => ({ ...chat, isMuted }))\n }, [patch])\n\n const onArchiveChats = useCallback((selection: TChat[], isArchived: boolean) => {\n patch(selection.map(chat => chat.id), chat => ({ ...chat, isArchived, isPinned: isArchived ? false : chat.isPinned }))\n }, [patch])\n\n const onDeleteChats = useCallback((selection: TChat[]) => {\n const ids = new Set(selection.map(chat => chat.id))\n setChats(current => current.filter(chat => !ids.has(chat.id)))\n }, [])\n\n /** Puts the pinned chats in the dragged order. */\n const onReorderPinnedChats = useCallback((ids: Id[]) => {\n setChats(current => {\n const byId = new Map(current.map(chat => [chat.id, chat]))\n const pinned = ids.map(id => byId.get(id)).filter((chat): chat is TChat => !!chat)\n const moved = new Set(ids)\n return [...pinned, ...current.filter(chat => !moved.has(chat.id))]\n })\n }, [])\n\n /** Adds a chat, or replaces the one with the same id. */\n const upsertChat = useCallback((chat: TChat) => {\n setChats(current => current.some(other => other.id === chat.id)\n ? current.map(other => (other.id === chat.id ? chat : other))\n : [...current, chat])\n }, [])\n\n /** A new message in a chat: it becomes the last message, and counts as unread unless `isRead`. */\n const receiveMessage = useCallback((id: Id, message: IMessage, isRead = false) => {\n patch([id], chat => ({\n ...chat,\n lastMessage: message,\n unreadCount: isRead ? chat.unreadCount ?? 0 : (chat.unreadCount ?? 0) + 1,\n }))\n }, [patch])\n\n const markRead = useCallback((id: Id) => {\n patch([id], chat => ({ ...chat, unreadCount: 0 }))\n }, [patch])\n\n const updateChat = useCallback((id: Id, change: Partial<TChat>) => {\n patch([id], chat => ({ ...chat, ...change }))\n }, [patch])\n\n const handlers = useMemo(() => ({\n onPinChats,\n onMuteChats,\n onArchiveChats,\n onDeleteChats,\n onReorderPinnedChats,\n }), [onPinChats, onMuteChats, onArchiveChats, onDeleteChats, onReorderPinnedChats])\n\n return { chats, setChats, handlers, upsertChat, updateChat, receiveMessage, markRead }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ChatLabels } from '../i18n';
|
|
2
|
+
import { User } from '../Models';
|
|
3
|
+
import { ChatListItem } from './types';
|
|
4
|
+
/** Pinned chats first, in the order given, then the rest by their newest message. */
|
|
5
|
+
export declare function sortChats<TChat extends ChatListItem>(chats: TChat[]): TChat[];
|
|
6
|
+
/** The default search: the title or the last message's text contains the query. */
|
|
7
|
+
export declare function matchesChatQuery(chat: ChatListItem, query: string): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* The time on a row: the time today, the weekday within a week, the day and month this year,
|
|
10
|
+
* and the full date before that.
|
|
11
|
+
*/
|
|
12
|
+
export declare function formatChatListDate(date: Date | number, locale?: string): string;
|
|
13
|
+
/** Initials: the first letters of the first two words. */
|
|
14
|
+
export declare function getInitials(title: string | undefined): string;
|
|
15
|
+
export interface ChatPreview {
|
|
16
|
+
/** "You: " or "Anna: " in groups. */
|
|
17
|
+
prefix?: string;
|
|
18
|
+
/** "Photo", "Voice message"... when the message has no text. */
|
|
19
|
+
attachment?: string;
|
|
20
|
+
text: string;
|
|
21
|
+
/** A photo's thumbnail, drawn before the text. */
|
|
22
|
+
thumbnail?: string;
|
|
23
|
+
}
|
|
24
|
+
/** Markdown as plain text, for a one-line preview: links keep their text, markers go. */
|
|
25
|
+
export declare function stripMarkdown(text: string): string;
|
|
26
|
+
/** The second line of a row for its newest message. */
|
|
27
|
+
export declare function getChatPreview(chat: ChatListItem, labels: ChatLabels, user?: User): ChatPreview;
|
|
28
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/ChatList/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAY,IAAI,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAItC,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,KAAK,SAAS,YAAY,EAAG,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAM9E;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAM5E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAUhF;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI9D;AAED,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID,yFAAyF;AACzF,wBAAgB,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,WAAW,CA8BhG"}
|