@kesha-antonov/react-native-chat 5.0.1 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +485 -178
- 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,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add or remove `userId`'s `emoji` reaction on the message with `messageId`, returning a new
|
|
3
|
+
* messages array (the input is not mutated; untouched messages keep their identity).
|
|
4
|
+
*/
|
|
5
|
+
export function toggleReaction(messages, messageId, emoji, userId, {
|
|
6
|
+
maxPerUser = 3
|
|
7
|
+
} = {}) {
|
|
8
|
+
return messages.map(message => {
|
|
9
|
+
if (message._id !== messageId) return message;
|
|
10
|
+
const current = message.reactions ?? [];
|
|
11
|
+
const existing = current.find(reaction => reaction.emoji === emoji);
|
|
12
|
+
|
|
13
|
+
// Taking your own reaction back.
|
|
14
|
+
if (existing?.userIds.includes(userId)) {
|
|
15
|
+
const userIds = existing.userIds.filter(id => id !== userId);
|
|
16
|
+
return {
|
|
17
|
+
...message,
|
|
18
|
+
reactions: userIds.length === 0 ? current.filter(reaction => reaction !== existing) : current.map(reaction => reaction === existing ? {
|
|
19
|
+
...reaction,
|
|
20
|
+
userIds
|
|
21
|
+
} : reaction)
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Over the limit: drop the user from their oldest reactions first.
|
|
26
|
+
let reactions = current;
|
|
27
|
+
const own = reactions.filter(reaction => reaction.userIds.includes(userId));
|
|
28
|
+
const excess = own.length - Math.max(0, maxPerUser - 1);
|
|
29
|
+
if (excess > 0) {
|
|
30
|
+
const dropped = new Set(own.slice(0, excess));
|
|
31
|
+
reactions = reactions.map(reaction => dropped.has(reaction) ? {
|
|
32
|
+
...reaction,
|
|
33
|
+
userIds: reaction.userIds.filter(id => id !== userId)
|
|
34
|
+
} : reaction).filter(reaction => reaction.userIds.length > 0);
|
|
35
|
+
}
|
|
36
|
+
const target = reactions.find(reaction => reaction.emoji === emoji);
|
|
37
|
+
return {
|
|
38
|
+
...message,
|
|
39
|
+
reactions: target ? reactions.map(reaction => reaction === target ? {
|
|
40
|
+
...reaction,
|
|
41
|
+
userIds: [...reaction.userIds, userId]
|
|
42
|
+
} : reaction) : [...reactions, {
|
|
43
|
+
emoji,
|
|
44
|
+
userIds: [userId]
|
|
45
|
+
}]
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** Append messages at the newest end of the list. */
|
|
51
|
+
export function appendMessages(currentMessages = [], messages, isInverted = true) {
|
|
52
|
+
const list = Array.isArray(messages) ? messages : [messages];
|
|
53
|
+
return isInverted ? list.concat(currentMessages) : currentMessages.concat(list);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/** Prepend messages at the oldest end of the list. */
|
|
57
|
+
export function prependMessages(currentMessages = [], messages, isInverted = true) {
|
|
58
|
+
const list = Array.isArray(messages) ? messages : [messages];
|
|
59
|
+
return isInverted ? currentMessages.concat(list) : list.concat(currentMessages);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=messageUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageUtils.js","names":["toggleReaction","messages","messageId","emoji","userId","maxPerUser","map","message","_id","current","reactions","existing","find","reaction","userIds","includes","filter","id","length","own","excess","Math","max","dropped","Set","slice","has","target","appendMessages","currentMessages","isInverted","list","Array","isArray","concat","prependMessages"],"sources":["../src/messageUtils.ts"],"sourcesContent":["import { IMessage, MessageReaction } from './Models'\n\nexport interface ToggleReactionOptions {\n /**\n * How many different reactions one user may leave on a message. Picking another emoji past\n * the limit replaces the oldest of the user's own. Default 3, Telegram's limit; pass `1` for\n * one reaction each (a new pick replaces it), or `Infinity` for no limit.\n */\n maxPerUser?: number\n}\n\n/**\n * Add or remove `userId`'s `emoji` reaction on the message with `messageId`, returning a new\n * messages array (the input is not mutated; untouched messages keep their identity).\n */\nexport function toggleReaction<TMessage extends IMessage> (\n messages: TMessage[],\n messageId: TMessage['_id'],\n emoji: string,\n userId: string | number,\n { maxPerUser = 3 }: ToggleReactionOptions = {}\n): TMessage[] {\n return messages.map(message => {\n if (message._id !== messageId)\n return message\n\n const current: MessageReaction[] = message.reactions ?? []\n const existing = current.find(reaction => reaction.emoji === emoji)\n\n // Taking your own reaction back.\n if (existing?.userIds.includes(userId)) {\n const userIds = existing.userIds.filter(id => id !== userId)\n return {\n ...message,\n reactions: userIds.length === 0\n ? current.filter(reaction => reaction !== existing)\n : current.map(reaction => (reaction === existing ? { ...reaction, userIds } : reaction)),\n }\n }\n\n // Over the limit: drop the user from their oldest reactions first.\n let reactions = current\n const own = reactions.filter(reaction => reaction.userIds.includes(userId))\n const excess = own.length - Math.max(0, maxPerUser - 1)\n if (excess > 0) {\n const dropped = new Set(own.slice(0, excess))\n reactions = reactions\n .map(reaction => (dropped.has(reaction)\n ? { ...reaction, userIds: reaction.userIds.filter(id => id !== userId) }\n : reaction))\n .filter(reaction => reaction.userIds.length > 0)\n }\n\n const target = reactions.find(reaction => reaction.emoji === emoji)\n return {\n ...message,\n reactions: target\n ? reactions.map(reaction => (reaction === target ? { ...reaction, userIds: [...reaction.userIds, userId] } : reaction))\n : [...reactions, { emoji, userIds: [userId] }],\n }\n })\n}\n\n/** Append messages at the newest end of the list. */\nexport function appendMessages<TMessage extends IMessage> (\n currentMessages: TMessage[] = [],\n messages: TMessage[] | TMessage,\n isInverted = true\n): TMessage[] {\n const list = Array.isArray(messages) ? messages : [messages]\n return isInverted ? list.concat(currentMessages) : currentMessages.concat(list)\n}\n\n/** Prepend messages at the oldest end of the list. */\nexport function prependMessages<TMessage extends IMessage> (\n currentMessages: TMessage[] = [],\n messages: TMessage[] | TMessage,\n isInverted = true\n): TMessage[] {\n const list = Array.isArray(messages) ? messages : [messages]\n return isInverted ? currentMessages.concat(list) : list.concat(currentMessages)\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/motion.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The library's motion vocabulary (docs/ARCHITECTURE.md, rule 7). The curves are the
|
|
3
|
+
* platform's own, so a component names the curve it means instead of copying its numbers.
|
|
4
|
+
*/
|
|
5
|
+
/** `cubic-bezier(0.25, 0.1, 0.25, 1)`: the default ease. */
|
|
6
|
+
export declare const EASE_DEFAULT: import("react-native-reanimated").EasingFunctionFactory;
|
|
7
|
+
/** `cubic-bezier(0.23, 1, 0.32, 1)`: a fast start that settles softly, for things arriving. */
|
|
8
|
+
export declare const EASE_OUT_QUINT: import("react-native-reanimated").EasingFunctionFactory;
|
|
9
|
+
/** `cubic-bezier(0, 0, 0.58, 1)`: ease-out. */
|
|
10
|
+
export declare const EASE_OUT: import("react-native-reanimated").EasingFunctionFactory;
|
|
11
|
+
/** `cubic-bezier(0.42, 0, 1, 1)`: ease-in, for things leaving. */
|
|
12
|
+
export declare const EASE_IN: import("react-native-reanimated").EasingFunctionFactory;
|
|
13
|
+
/** `cubic-bezier(0.42, 0, 0.58, 1)`: ease-in-out. */
|
|
14
|
+
export declare const EASE_BOTH: import("react-native-reanimated").EasingFunctionFactory;
|
|
15
|
+
/** `cubic-bezier(0.199, 0.011, 0.279, 0.91)`: list items making way and layout changes. */
|
|
16
|
+
export declare const EASE_LAYOUT: import("react-native-reanimated").EasingFunctionFactory;
|
|
17
|
+
/** A quadratic ease-out, the platform's `DecelerateInterpolator`. */
|
|
18
|
+
export declare const DECELERATE: import("react-native-reanimated").EasingFunction;
|
|
19
|
+
/** The platform's `OvershootInterpolator(tension)`: runs past the end and settles back. */
|
|
20
|
+
export declare const overshoot: (tension: number) => (t: number) => number;
|
|
21
|
+
//# sourceMappingURL=motion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../src/motion.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,4DAA4D;AAC5D,eAAO,MAAM,YAAY,yDAAoC,CAAA;AAC7D,+FAA+F;AAC/F,eAAO,MAAM,cAAc,yDAAkC,CAAA;AAC7D,+CAA+C;AAC/C,eAAO,MAAM,QAAQ,yDAA+B,CAAA;AACpD,kEAAkE;AAClE,eAAO,MAAM,OAAO,yDAA+B,CAAA;AACnD,qDAAqD;AACrD,eAAO,MAAM,SAAS,yDAAkC,CAAA;AACxD,2FAA2F;AAC3F,eAAO,MAAM,WAAW,yDAA2C,CAAA;AACnE,qEAAqE;AACrE,eAAO,MAAM,UAAU,kDAA0B,CAAA;AAEjD,2FAA2F;AAC3F,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,MAAM,GAAG,MAAM,WAIvD,CAAA"}
|
package/lib/motion.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Easing } from 'react-native-reanimated';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The library's motion vocabulary (docs/ARCHITECTURE.md, rule 7). The curves are the
|
|
5
|
+
* platform's own, so a component names the curve it means instead of copying its numbers.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/** `cubic-bezier(0.25, 0.1, 0.25, 1)`: the default ease. */
|
|
9
|
+
export const EASE_DEFAULT = Easing.bezier(0.25, 0.1, 0.25, 1);
|
|
10
|
+
/** `cubic-bezier(0.23, 1, 0.32, 1)`: a fast start that settles softly, for things arriving. */
|
|
11
|
+
export const EASE_OUT_QUINT = Easing.bezier(0.23, 1, 0.32, 1);
|
|
12
|
+
/** `cubic-bezier(0, 0, 0.58, 1)`: ease-out. */
|
|
13
|
+
export const EASE_OUT = Easing.bezier(0, 0, 0.58, 1);
|
|
14
|
+
/** `cubic-bezier(0.42, 0, 1, 1)`: ease-in, for things leaving. */
|
|
15
|
+
export const EASE_IN = Easing.bezier(0.42, 0, 1, 1);
|
|
16
|
+
/** `cubic-bezier(0.42, 0, 0.58, 1)`: ease-in-out. */
|
|
17
|
+
export const EASE_BOTH = Easing.bezier(0.42, 0, 0.58, 1);
|
|
18
|
+
/** `cubic-bezier(0.199, 0.011, 0.279, 0.91)`: list items making way and layout changes. */
|
|
19
|
+
export const EASE_LAYOUT = Easing.bezier(0.199, 0.011, 0.279, 0.91);
|
|
20
|
+
/** A quadratic ease-out, the platform's `DecelerateInterpolator`. */
|
|
21
|
+
export const DECELERATE = Easing.out(Easing.quad);
|
|
22
|
+
|
|
23
|
+
/** The platform's `OvershootInterpolator(tension)`: runs past the end and settles back. */
|
|
24
|
+
export const overshoot = tension => t => {
|
|
25
|
+
'worklet';
|
|
26
|
+
|
|
27
|
+
const s = t - 1;
|
|
28
|
+
return s * s * ((tension + 1) * s + tension) + 1;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=motion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motion.js","names":["Easing","EASE_DEFAULT","bezier","EASE_OUT_QUINT","EASE_OUT","EASE_IN","EASE_BOTH","EASE_LAYOUT","DECELERATE","out","quad","overshoot","tension","t","s"],"sources":["../src/motion.ts"],"sourcesContent":["import { Easing } from 'react-native-reanimated'\n\n/**\n * The library's motion vocabulary (docs/ARCHITECTURE.md, rule 7). The curves are the\n * platform's own, so a component names the curve it means instead of copying its numbers.\n */\n\n/** `cubic-bezier(0.25, 0.1, 0.25, 1)`: the default ease. */\nexport const EASE_DEFAULT = Easing.bezier(0.25, 0.1, 0.25, 1)\n/** `cubic-bezier(0.23, 1, 0.32, 1)`: a fast start that settles softly, for things arriving. */\nexport const EASE_OUT_QUINT = Easing.bezier(0.23, 1, 0.32, 1)\n/** `cubic-bezier(0, 0, 0.58, 1)`: ease-out. */\nexport const EASE_OUT = Easing.bezier(0, 0, 0.58, 1)\n/** `cubic-bezier(0.42, 0, 1, 1)`: ease-in, for things leaving. */\nexport const EASE_IN = Easing.bezier(0.42, 0, 1, 1)\n/** `cubic-bezier(0.42, 0, 0.58, 1)`: ease-in-out. */\nexport const EASE_BOTH = Easing.bezier(0.42, 0, 0.58, 1)\n/** `cubic-bezier(0.199, 0.011, 0.279, 0.91)`: list items making way and layout changes. */\nexport const EASE_LAYOUT = Easing.bezier(0.199, 0.011, 0.279, 0.91)\n/** A quadratic ease-out, the platform's `DecelerateInterpolator`. */\nexport const DECELERATE = Easing.out(Easing.quad)\n\n/** The platform's `OvershootInterpolator(tension)`: runs past the end and settles back. */\nexport const overshoot = (tension: number) => (t: number) => {\n 'worklet'\n const s = t - 1\n return s * s * ((tension + 1) * s + tension) + 1\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,yBAAyB;;AAEhD;AACA;AACA;AACA;;AAEA;AACA,OAAO,MAAMC,YAAY,GAAGD,MAAM,CAACE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7D;AACA,OAAO,MAAMC,cAAc,GAAGH,MAAM,CAACE,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7D;AACA,OAAO,MAAME,QAAQ,GAAGJ,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD;AACA,OAAO,MAAMG,OAAO,GAAGL,MAAM,CAACE,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnD;AACA,OAAO,MAAMI,SAAS,GAAGN,MAAM,CAACE,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD;AACA,OAAO,MAAMK,WAAW,GAAGP,MAAM,CAACE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;AACnE;AACA,OAAO,MAAMM,UAAU,GAAGR,MAAM,CAACS,GAAG,CAACT,MAAM,CAACU,IAAI,CAAC;;AAEjD;AACA,OAAO,MAAMC,SAAS,GAAIC,OAAe,IAAMC,CAAS,IAAK;EAC3D,SAAS;;EACT,MAAMC,CAAC,GAAGD,CAAC,GAAG,CAAC;EACf,OAAOC,CAAC,GAAGA,CAAC,IAAI,CAACF,OAAO,GAAG,CAAC,IAAIE,CAAC,GAAGF,OAAO,CAAC,GAAG,CAAC;AAClD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export declare const getExpoAudio: () => any;
|
|
2
|
+
export declare const getExpoVideo: () => any;
|
|
3
|
+
export declare const getExpoBlur: () => any;
|
|
4
|
+
export declare const getExpoHaptics: () => any;
|
|
5
|
+
export declare const getExpoImagePicker: () => any;
|
|
6
|
+
export declare const getExpoDevice: () => any;
|
|
7
|
+
export declare const getExpoFileSystem: () => any;
|
|
8
|
+
export declare const getAudioApi: () => any;
|
|
9
|
+
export declare const getSvg: () => any;
|
|
10
|
+
export declare const getStreamdown: () => any;
|
|
11
|
+
export declare const getTrueSheet: () => any;
|
|
12
|
+
export declare const getAsyncStorage: () => any;
|
|
13
|
+
export declare const getExpoMediaLibrary: () => any;
|
|
14
|
+
export declare const getExpoImage: () => any;
|
|
15
|
+
export declare const getExpoDocumentPicker: () => any;
|
|
16
|
+
export declare const getExpoLocation: () => any;
|
|
17
|
+
export declare const getExpoSharing: () => any;
|
|
18
|
+
export declare const getVisionCamera: () => any;
|
|
19
|
+
/** Writes plain text to the system clipboard. */
|
|
20
|
+
export interface ClipboardAdapter {
|
|
21
|
+
setString: (text: string) => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The first clipboard that resolves: `expo-clipboard`, then
|
|
25
|
+
* `@react-native-clipboard/clipboard`, then the browser's on web. React Native's own deprecated
|
|
26
|
+
* Clipboard is not used: `require('react-native').Clipboard` warns on access, and requiring its
|
|
27
|
+
* module path warns on every app load, since React Native's Babel preset flags any deep import
|
|
28
|
+
* in the bundle whether or not it runs.
|
|
29
|
+
*/
|
|
30
|
+
export declare const getClipboard: () => ClipboardAdapter | null;
|
|
31
|
+
/**
|
|
32
|
+
* Forget every resolved module. Only for tests that swap a peer's mock between cases;
|
|
33
|
+
* an app never needs it.
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
export declare const resetOptionalModules: () => void;
|
|
37
|
+
/** Which optional features this install can offer, from the peers that resolve. */
|
|
38
|
+
export interface ChatCapabilities {
|
|
39
|
+
/** Haptic ticks on long-press, recording and swipe-to-reply (`expo-haptics`). */
|
|
40
|
+
haptics: boolean;
|
|
41
|
+
/** The "Copy" message action (`expo-clipboard` or `@react-native-clipboard/clipboard`). */
|
|
42
|
+
clipboard: boolean;
|
|
43
|
+
/** Blurred backdrop behind the context menu and the round video recorder (`expo-blur`). */
|
|
44
|
+
blur: boolean;
|
|
45
|
+
/** Lucide icons and the vector rings / morphs (`react-native-svg`). */
|
|
46
|
+
svg: boolean;
|
|
47
|
+
/** Inline voice and audio playback (`expo-audio`). */
|
|
48
|
+
audioPlayback: boolean;
|
|
49
|
+
/** Voice note waveforms, resume and trim (`react-native-audio-api`). */
|
|
50
|
+
waveform: boolean;
|
|
51
|
+
/** Hold-to-record voice notes (`expo-audio`). */
|
|
52
|
+
voiceRecording: boolean;
|
|
53
|
+
/** Inline video and round video note playback (`expo-video`). */
|
|
54
|
+
videoPlayback: boolean;
|
|
55
|
+
/** In-chat round video capture (`react-native-vision-camera` 5). */
|
|
56
|
+
roundVideoCapture: boolean;
|
|
57
|
+
/** Any video recording: in-chat capture, or the system camera (`expo-image-picker`). */
|
|
58
|
+
videoRecording: boolean;
|
|
59
|
+
/** Rich streaming markdown (`react-native-streamdown`). */
|
|
60
|
+
markdown: boolean;
|
|
61
|
+
/** Native bottom sheet for attachments (`@lodev09/react-native-true-sheet`). */
|
|
62
|
+
nativeSheet: boolean;
|
|
63
|
+
/** Emoji keyboard recents and skin tones kept across launches (`@react-native-async-storage/async-storage`). */
|
|
64
|
+
persistentEmojiRecents: boolean;
|
|
65
|
+
/** The attachment menu's in-sheet photo grid (`expo-media-library`). */
|
|
66
|
+
mediaLibrary: boolean;
|
|
67
|
+
/** The attachment menu's system photo picker and camera (`expo-image-picker`). */
|
|
68
|
+
imagePicker: boolean;
|
|
69
|
+
/** The attachment menu's File tab (`expo-document-picker`). */
|
|
70
|
+
documentPicker: boolean;
|
|
71
|
+
/** The attachment menu's Location tab (`expo-location`). */
|
|
72
|
+
location: boolean;
|
|
73
|
+
/** Opening a received file in the system share sheet (`expo-sharing`); without it, `Linking`. */
|
|
74
|
+
sharing: boolean;
|
|
75
|
+
}
|
|
76
|
+
export declare const hasHaptics: () => boolean;
|
|
77
|
+
export declare const hasBlur: () => boolean;
|
|
78
|
+
export declare const hasClipboard: () => boolean;
|
|
79
|
+
export declare const hasAudioPlayback: () => boolean;
|
|
80
|
+
export declare const hasVoiceRecording: () => boolean;
|
|
81
|
+
export declare const hasVideoPlayback: () => boolean;
|
|
82
|
+
export declare const hasAsyncStorage: () => boolean;
|
|
83
|
+
export declare const hasMediaLibrary: () => boolean;
|
|
84
|
+
export declare const hasImagePicker: () => boolean;
|
|
85
|
+
export declare const hasImagePickerCamera: () => boolean;
|
|
86
|
+
export declare const hasDocumentPicker: () => boolean;
|
|
87
|
+
export declare const hasLocation: () => boolean;
|
|
88
|
+
export declare const hasSharing: () => boolean;
|
|
89
|
+
export declare const hasRoundVideoCapture: () => boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Which optional features the installed peers allow. Resolves each peer on the first call, so
|
|
92
|
+
* call it when you need it (e.g. to build UI that matches the chat's), not at import time.
|
|
93
|
+
*
|
|
94
|
+
* ```ts
|
|
95
|
+
* const { clipboard, voiceRecording } = getChatCapabilities()
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
export declare function getChatCapabilities(): ChatCapabilities;
|
|
99
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/optional/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one place optional peer dependencies are resolved.
|
|
3
|
+
*
|
|
4
|
+
* Policy: a feature turns on by itself when its peer is installed and hides when it is not.
|
|
5
|
+
* Each getter keeps a literal `require('pkg')` inside its own `try`, in the same function -
|
|
6
|
+
* Metro needs exactly that to treat the import as optional and not fail the build when the
|
|
7
|
+
* package is absent -
|
|
8
|
+
* and resolves on first use, not when the library is imported. The result (the module, or
|
|
9
|
+
* `null`) is memoized, so a missing peer costs one failed lookup per app run.
|
|
10
|
+
*/
|
|
11
|
+
import { Platform } from 'react-native';
|
|
12
|
+
const cache = new Map();
|
|
13
|
+
|
|
14
|
+
// `load` must hold its own `try { return require('pkg') } catch {}`: Metro marks a dependency
|
|
15
|
+
// optional only when the `try` encloses the `require` inside the same function, so a `try`
|
|
16
|
+
// up here around a callback would not count and a missing package would fail the build.
|
|
17
|
+
const resolve = (name, load) => {
|
|
18
|
+
if (!cache.has(name)) cache.set(name, load() ?? null);
|
|
19
|
+
return cache.get(name);
|
|
20
|
+
};
|
|
21
|
+
export const getExpoAudio = () => resolve('expo-audio', () => {
|
|
22
|
+
try {
|
|
23
|
+
return require('expo-audio');
|
|
24
|
+
} catch {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
export const getExpoVideo = () => resolve('expo-video', () => {
|
|
29
|
+
try {
|
|
30
|
+
return require('expo-video');
|
|
31
|
+
} catch {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
export const getExpoBlur = () => resolve('expo-blur', () => {
|
|
36
|
+
try {
|
|
37
|
+
return require('expo-blur');
|
|
38
|
+
} catch {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
export const getExpoHaptics = () => resolve('expo-haptics', () => {
|
|
43
|
+
try {
|
|
44
|
+
return require('expo-haptics');
|
|
45
|
+
} catch {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
export const getExpoImagePicker = () => resolve('expo-image-picker', () => {
|
|
50
|
+
try {
|
|
51
|
+
return require('expo-image-picker');
|
|
52
|
+
} catch {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
export const getExpoDevice = () => resolve('expo-device', () => {
|
|
57
|
+
try {
|
|
58
|
+
return require('expo-device');
|
|
59
|
+
} catch {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
export const getExpoFileSystem = () => resolve('expo-file-system', () => {
|
|
64
|
+
try {
|
|
65
|
+
return require('expo-file-system');
|
|
66
|
+
} catch {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
export const getAudioApi = () => resolve('react-native-audio-api', () => {
|
|
71
|
+
try {
|
|
72
|
+
return require('react-native-audio-api');
|
|
73
|
+
} catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
export const getSvg = () => resolve('react-native-svg', () => {
|
|
78
|
+
try {
|
|
79
|
+
return require('react-native-svg');
|
|
80
|
+
} catch {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
export const getStreamdown = () => resolve('react-native-streamdown', () => {
|
|
85
|
+
try {
|
|
86
|
+
return require('react-native-streamdown');
|
|
87
|
+
} catch {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
export const getTrueSheet = () => resolve('@lodev09/react-native-true-sheet', () => {
|
|
92
|
+
try {
|
|
93
|
+
return require('@lodev09/react-native-true-sheet');
|
|
94
|
+
} catch {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
export const getAsyncStorage = () => resolve('@react-native-async-storage/async-storage', () => {
|
|
99
|
+
try {
|
|
100
|
+
return require('@react-native-async-storage/async-storage');
|
|
101
|
+
} catch {
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
// expo-media-library 58 moved the asset API used here to `expo-media-library/legacy` (the root
|
|
106
|
+
// export now throws); earlier versions only have the root.
|
|
107
|
+
export const getExpoMediaLibrary = () => resolve('expo-media-library', () => {
|
|
108
|
+
const legacy = resolve('expo-media-library/legacy', () => {
|
|
109
|
+
try {
|
|
110
|
+
return require('expo-media-library/legacy');
|
|
111
|
+
} catch {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
if (legacy?.getAssetsAsync) return legacy;
|
|
116
|
+
try {
|
|
117
|
+
return require('expo-media-library');
|
|
118
|
+
} catch {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
export const getExpoImage = () => resolve('expo-image', () => {
|
|
123
|
+
try {
|
|
124
|
+
return require('expo-image');
|
|
125
|
+
} catch {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
export const getExpoDocumentPicker = () => resolve('expo-document-picker', () => {
|
|
130
|
+
try {
|
|
131
|
+
return require('expo-document-picker');
|
|
132
|
+
} catch {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
export const getExpoLocation = () => resolve('expo-location', () => {
|
|
137
|
+
try {
|
|
138
|
+
return require('expo-location');
|
|
139
|
+
} catch {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
export const getExpoSharing = () => resolve('expo-sharing', () => {
|
|
144
|
+
try {
|
|
145
|
+
return require('expo-sharing');
|
|
146
|
+
} catch {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
// vision-camera 5 creates its native `CameraFactory` while it loads, so a JS package without the
|
|
151
|
+
// native module behind it throws here and counts as not installed.
|
|
152
|
+
export const getVisionCamera = () => resolve('react-native-vision-camera', () => {
|
|
153
|
+
try {
|
|
154
|
+
return require('react-native-vision-camera');
|
|
155
|
+
} catch {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
/** Writes plain text to the system clipboard. */
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* The first clipboard that resolves: `expo-clipboard`, then
|
|
164
|
+
* `@react-native-clipboard/clipboard`, then the browser's on web. React Native's own deprecated
|
|
165
|
+
* Clipboard is not used: `require('react-native').Clipboard` warns on access, and requiring its
|
|
166
|
+
* module path warns on every app load, since React Native's Babel preset flags any deep import
|
|
167
|
+
* in the bundle whether or not it runs.
|
|
168
|
+
*/
|
|
169
|
+
export const getClipboard = () => resolve('clipboard', () => {
|
|
170
|
+
const expoClipboard = resolve('expo-clipboard', () => {
|
|
171
|
+
try {
|
|
172
|
+
return require('expo-clipboard');
|
|
173
|
+
} catch {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
if (expoClipboard?.setStringAsync) return {
|
|
178
|
+
setString: text => {
|
|
179
|
+
expoClipboard.setStringAsync(text)?.catch?.(() => {});
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
const communityModule = resolve('@react-native-clipboard/clipboard', () => {
|
|
183
|
+
try {
|
|
184
|
+
return require('@react-native-clipboard/clipboard');
|
|
185
|
+
} catch {
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
const community = communityModule?.default ?? communityModule;
|
|
190
|
+
if (community?.setString) return {
|
|
191
|
+
setString: text => community.setString(text)
|
|
192
|
+
};
|
|
193
|
+
if (Platform.OS === 'web') {
|
|
194
|
+
const webClipboard = globalThis.navigator?.clipboard;
|
|
195
|
+
if (webClipboard?.writeText) return {
|
|
196
|
+
setString: text => {
|
|
197
|
+
webClipboard.writeText(text)?.catch?.(() => {});
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
return null;
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Forget every resolved module. Only for tests that swap a peer's mock between cases;
|
|
207
|
+
* an app never needs it.
|
|
208
|
+
* @internal
|
|
209
|
+
*/
|
|
210
|
+
export const resetOptionalModules = () => cache.clear();
|
|
211
|
+
|
|
212
|
+
/** Which optional features this install can offer, from the peers that resolve. */
|
|
213
|
+
|
|
214
|
+
export const hasHaptics = () => !!getExpoHaptics()?.impactAsync;
|
|
215
|
+
export const hasBlur = () => !!getExpoBlur()?.BlurView;
|
|
216
|
+
export const hasClipboard = () => !!getClipboard();
|
|
217
|
+
export const hasAudioPlayback = () => {
|
|
218
|
+
const audio = getExpoAudio();
|
|
219
|
+
return !!(audio?.useAudioPlayer && audio?.useAudioPlayerStatus);
|
|
220
|
+
};
|
|
221
|
+
export const hasVoiceRecording = () => {
|
|
222
|
+
const audio = getExpoAudio();
|
|
223
|
+
return !!(audio?.useAudioRecorder && audio?.RecordingPresets && audio?.AudioModule);
|
|
224
|
+
};
|
|
225
|
+
export const hasVideoPlayback = () => {
|
|
226
|
+
const video = getExpoVideo();
|
|
227
|
+
return !!(video?.VideoView && video?.useVideoPlayer);
|
|
228
|
+
};
|
|
229
|
+
export const hasAsyncStorage = () => {
|
|
230
|
+
const module = getAsyncStorage();
|
|
231
|
+
const storage = module?.default ?? module;
|
|
232
|
+
return !!(storage?.getItem && storage?.setItem);
|
|
233
|
+
};
|
|
234
|
+
export const hasMediaLibrary = () => {
|
|
235
|
+
const library = getExpoMediaLibrary();
|
|
236
|
+
return !!(library?.getAssetsAsync && library?.requestPermissionsAsync);
|
|
237
|
+
};
|
|
238
|
+
export const hasImagePicker = () => !!getExpoImagePicker()?.launchImageLibraryAsync;
|
|
239
|
+
export const hasImagePickerCamera = () => !!getExpoImagePicker()?.launchCameraAsync;
|
|
240
|
+
export const hasDocumentPicker = () => !!getExpoDocumentPicker()?.getDocumentAsync;
|
|
241
|
+
export const hasLocation = () => {
|
|
242
|
+
const location = getExpoLocation();
|
|
243
|
+
return !!(location?.getCurrentPositionAsync && location?.requestForegroundPermissionsAsync);
|
|
244
|
+
};
|
|
245
|
+
export const hasSharing = () => !!getExpoSharing()?.shareAsync;
|
|
246
|
+
export const hasRoundVideoCapture = () => {
|
|
247
|
+
const camera = getVisionCamera();
|
|
248
|
+
return !!(camera?.Camera && camera?.useVideoOutput && camera?.VisionCamera);
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Which optional features the installed peers allow. Resolves each peer on the first call, so
|
|
253
|
+
* call it when you need it (e.g. to build UI that matches the chat's), not at import time.
|
|
254
|
+
*
|
|
255
|
+
* ```ts
|
|
256
|
+
* const { clipboard, voiceRecording } = getChatCapabilities()
|
|
257
|
+
* ```
|
|
258
|
+
*/
|
|
259
|
+
export function getChatCapabilities() {
|
|
260
|
+
const svg = getSvg();
|
|
261
|
+
const roundVideoCapture = hasRoundVideoCapture();
|
|
262
|
+
return {
|
|
263
|
+
haptics: hasHaptics(),
|
|
264
|
+
clipboard: hasClipboard(),
|
|
265
|
+
blur: hasBlur(),
|
|
266
|
+
svg: !!((svg?.default ?? svg?.Svg) && svg?.Path),
|
|
267
|
+
audioPlayback: hasAudioPlayback(),
|
|
268
|
+
waveform: !!getAudioApi()?.AudioContext,
|
|
269
|
+
voiceRecording: hasVoiceRecording(),
|
|
270
|
+
videoPlayback: hasVideoPlayback(),
|
|
271
|
+
roundVideoCapture,
|
|
272
|
+
videoRecording: roundVideoCapture || !!getExpoImagePicker()?.launchCameraAsync,
|
|
273
|
+
// 0.3's `StreamdownText` also needs react-native-worklets' Bundle Mode; see MarkdownMessageText.
|
|
274
|
+
markdown: !!(getStreamdown()?.Streamdown ?? getStreamdown()?.default) || !!getStreamdown()?.StreamdownText && globalThis._WORKLETS_BUNDLE_MODE_ENABLED === true,
|
|
275
|
+
nativeSheet: !!getTrueSheet()?.TrueSheet,
|
|
276
|
+
persistentEmojiRecents: hasAsyncStorage(),
|
|
277
|
+
mediaLibrary: hasMediaLibrary(),
|
|
278
|
+
imagePicker: hasImagePicker(),
|
|
279
|
+
documentPicker: hasDocumentPicker(),
|
|
280
|
+
location: hasLocation(),
|
|
281
|
+
sharing: hasSharing()
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Platform","cache","Map","resolve","name","load","has","set","get","getExpoAudio","require","getExpoVideo","getExpoBlur","getExpoHaptics","getExpoImagePicker","getExpoDevice","getExpoFileSystem","getAudioApi","getSvg","getStreamdown","getTrueSheet","getAsyncStorage","getExpoMediaLibrary","legacy","getAssetsAsync","getExpoImage","getExpoDocumentPicker","getExpoLocation","getExpoSharing","getVisionCamera","getClipboard","expoClipboard","setStringAsync","setString","text","catch","communityModule","community","default","OS","webClipboard","globalThis","navigator","clipboard","writeText","resetOptionalModules","clear","hasHaptics","impactAsync","hasBlur","BlurView","hasClipboard","hasAudioPlayback","audio","useAudioPlayer","useAudioPlayerStatus","hasVoiceRecording","useAudioRecorder","RecordingPresets","AudioModule","hasVideoPlayback","video","VideoView","useVideoPlayer","hasAsyncStorage","module","storage","getItem","setItem","hasMediaLibrary","library","requestPermissionsAsync","hasImagePicker","launchImageLibraryAsync","hasImagePickerCamera","launchCameraAsync","hasDocumentPicker","getDocumentAsync","hasLocation","location","getCurrentPositionAsync","requestForegroundPermissionsAsync","hasSharing","shareAsync","hasRoundVideoCapture","camera","Camera","useVideoOutput","VisionCamera","getChatCapabilities","svg","roundVideoCapture","haptics","blur","Svg","Path","audioPlayback","waveform","AudioContext","voiceRecording","videoPlayback","videoRecording","markdown","Streamdown","StreamdownText","_WORKLETS_BUNDLE_MODE_ENABLED","nativeSheet","TrueSheet","persistentEmojiRecents","mediaLibrary","imagePicker","documentPicker","sharing"],"sources":["../../src/optional/index.ts"],"sourcesContent":["/**\n * The one place optional peer dependencies are resolved.\n *\n * Policy: a feature turns on by itself when its peer is installed and hides when it is not.\n * Each getter keeps a literal `require('pkg')` inside its own `try`, in the same function -\n * Metro needs exactly that to treat the import as optional and not fail the build when the\n * package is absent -\n * and resolves on first use, not when the library is imported. The result (the module, or\n * `null`) is memoized, so a missing peer costs one failed lookup per app run.\n */\nimport { Platform } from 'react-native'\n\nconst cache = new Map<string, any>()\n\n// `load` must hold its own `try { return require('pkg') } catch {}`: Metro marks a dependency\n// optional only when the `try` encloses the `require` inside the same function, so a `try`\n// up here around a callback would not count and a missing package would fail the build.\nconst resolve = (name: string, load: () => any): any => {\n if (!cache.has(name))\n cache.set(name, load() ?? null)\n\n return cache.get(name)\n}\n\nexport const getExpoAudio = (): any => resolve('expo-audio', () => {\n try {\n return require('expo-audio')\n } catch {\n return null\n }\n})\nexport const getExpoVideo = (): any => resolve('expo-video', () => {\n try {\n return require('expo-video')\n } catch {\n return null\n }\n})\nexport const getExpoBlur = (): any => resolve('expo-blur', () => {\n try {\n return require('expo-blur')\n } catch {\n return null\n }\n})\nexport const getExpoHaptics = (): any => resolve('expo-haptics', () => {\n try {\n return require('expo-haptics')\n } catch {\n return null\n }\n})\nexport const getExpoImagePicker = (): any => resolve('expo-image-picker', () => {\n try {\n return require('expo-image-picker')\n } catch {\n return null\n }\n})\nexport const getExpoDevice = (): any => resolve('expo-device', () => {\n try {\n return require('expo-device')\n } catch {\n return null\n }\n})\nexport const getExpoFileSystem = (): any => resolve('expo-file-system', () => {\n try {\n return require('expo-file-system')\n } catch {\n return null\n }\n})\nexport const getAudioApi = (): any => resolve('react-native-audio-api', () => {\n try {\n return require('react-native-audio-api')\n } catch {\n return null\n }\n})\nexport const getSvg = (): any => resolve('react-native-svg', () => {\n try {\n return require('react-native-svg')\n } catch {\n return null\n }\n})\nexport const getStreamdown = (): any => resolve('react-native-streamdown', () => {\n try {\n return require('react-native-streamdown')\n } catch {\n return null\n }\n})\nexport const getTrueSheet = (): any => resolve('@lodev09/react-native-true-sheet', () => {\n try {\n return require('@lodev09/react-native-true-sheet')\n } catch {\n return null\n }\n})\nexport const getAsyncStorage = (): any => resolve('@react-native-async-storage/async-storage', () => {\n try {\n return require('@react-native-async-storage/async-storage')\n } catch {\n return null\n }\n})\n// expo-media-library 58 moved the asset API used here to `expo-media-library/legacy` (the root\n// export now throws); earlier versions only have the root.\nexport const getExpoMediaLibrary = (): any => resolve('expo-media-library', () => {\n const legacy = resolve('expo-media-library/legacy', () => {\n try {\n return require('expo-media-library/legacy')\n } catch {\n return null\n }\n })\n if (legacy?.getAssetsAsync)\n return legacy\n try {\n return require('expo-media-library')\n } catch {\n return null\n }\n})\nexport const getExpoImage = (): any => resolve('expo-image', () => {\n try {\n return require('expo-image')\n } catch {\n return null\n }\n})\nexport const getExpoDocumentPicker = (): any => resolve('expo-document-picker', () => {\n try {\n return require('expo-document-picker')\n } catch {\n return null\n }\n})\nexport const getExpoLocation = (): any => resolve('expo-location', () => {\n try {\n return require('expo-location')\n } catch {\n return null\n }\n})\nexport const getExpoSharing = (): any => resolve('expo-sharing', () => {\n try {\n return require('expo-sharing')\n } catch {\n return null\n }\n})\n// vision-camera 5 creates its native `CameraFactory` while it loads, so a JS package without the\n// native module behind it throws here and counts as not installed.\nexport const getVisionCamera = (): any => resolve('react-native-vision-camera', () => {\n try {\n return require('react-native-vision-camera')\n } catch {\n return null\n }\n})\n\n/** Writes plain text to the system clipboard. */\nexport interface ClipboardAdapter {\n setString: (text: string) => void\n}\n\n/**\n * The first clipboard that resolves: `expo-clipboard`, then\n * `@react-native-clipboard/clipboard`, then the browser's on web. React Native's own deprecated\n * Clipboard is not used: `require('react-native').Clipboard` warns on access, and requiring its\n * module path warns on every app load, since React Native's Babel preset flags any deep import\n * in the bundle whether or not it runs.\n */\nexport const getClipboard = (): ClipboardAdapter | null => resolve('clipboard', () => {\n const expoClipboard = resolve('expo-clipboard', () => {\n try {\n return require('expo-clipboard')\n } catch {\n return null\n }\n })\n if (expoClipboard?.setStringAsync)\n return {\n setString: (text: string) => {\n expoClipboard.setStringAsync(text)?.catch?.(() => {})\n },\n }\n\n const communityModule = resolve('@react-native-clipboard/clipboard', () => {\n try {\n return require('@react-native-clipboard/clipboard')\n } catch {\n return null\n }\n })\n const community = communityModule?.default ?? communityModule\n if (community?.setString)\n return { setString: (text: string) => community.setString(text) }\n\n if (Platform.OS === 'web') {\n const webClipboard = (globalThis as any).navigator?.clipboard\n if (webClipboard?.writeText)\n return {\n setString: (text: string) => {\n webClipboard.writeText(text)?.catch?.(() => {})\n },\n }\n return null\n }\n\n return null\n})\n\n/**\n * Forget every resolved module. Only for tests that swap a peer's mock between cases;\n * an app never needs it.\n * @internal\n */\nexport const resetOptionalModules = () => cache.clear()\n\n/** Which optional features this install can offer, from the peers that resolve. */\nexport interface ChatCapabilities {\n /** Haptic ticks on long-press, recording and swipe-to-reply (`expo-haptics`). */\n haptics: boolean\n /** The \"Copy\" message action (`expo-clipboard` or `@react-native-clipboard/clipboard`). */\n clipboard: boolean\n /** Blurred backdrop behind the context menu and the round video recorder (`expo-blur`). */\n blur: boolean\n /** Lucide icons and the vector rings / morphs (`react-native-svg`). */\n svg: boolean\n /** Inline voice and audio playback (`expo-audio`). */\n audioPlayback: boolean\n /** Voice note waveforms, resume and trim (`react-native-audio-api`). */\n waveform: boolean\n /** Hold-to-record voice notes (`expo-audio`). */\n voiceRecording: boolean\n /** Inline video and round video note playback (`expo-video`). */\n videoPlayback: boolean\n /** In-chat round video capture (`react-native-vision-camera` 5). */\n roundVideoCapture: boolean\n /** Any video recording: in-chat capture, or the system camera (`expo-image-picker`). */\n videoRecording: boolean\n /** Rich streaming markdown (`react-native-streamdown`). */\n markdown: boolean\n /** Native bottom sheet for attachments (`@lodev09/react-native-true-sheet`). */\n nativeSheet: boolean\n /** Emoji keyboard recents and skin tones kept across launches (`@react-native-async-storage/async-storage`). */\n persistentEmojiRecents: boolean\n /** The attachment menu's in-sheet photo grid (`expo-media-library`). */\n mediaLibrary: boolean\n /** The attachment menu's system photo picker and camera (`expo-image-picker`). */\n imagePicker: boolean\n /** The attachment menu's File tab (`expo-document-picker`). */\n documentPicker: boolean\n /** The attachment menu's Location tab (`expo-location`). */\n location: boolean\n /** Opening a received file in the system share sheet (`expo-sharing`); without it, `Linking`. */\n sharing: boolean\n}\n\nexport const hasHaptics = () => !!getExpoHaptics()?.impactAsync\nexport const hasBlur = () => !!getExpoBlur()?.BlurView\nexport const hasClipboard = () => !!getClipboard()\nexport const hasAudioPlayback = () => {\n const audio = getExpoAudio()\n return !!(audio?.useAudioPlayer && audio?.useAudioPlayerStatus)\n}\nexport const hasVoiceRecording = () => {\n const audio = getExpoAudio()\n return !!(audio?.useAudioRecorder && audio?.RecordingPresets && audio?.AudioModule)\n}\nexport const hasVideoPlayback = () => {\n const video = getExpoVideo()\n return !!(video?.VideoView && video?.useVideoPlayer)\n}\nexport const hasAsyncStorage = () => {\n const module = getAsyncStorage()\n const storage = module?.default ?? module\n return !!(storage?.getItem && storage?.setItem)\n}\nexport const hasMediaLibrary = () => {\n const library = getExpoMediaLibrary()\n return !!(library?.getAssetsAsync && library?.requestPermissionsAsync)\n}\nexport const hasImagePicker = () => !!getExpoImagePicker()?.launchImageLibraryAsync\nexport const hasImagePickerCamera = () => !!getExpoImagePicker()?.launchCameraAsync\nexport const hasDocumentPicker = () => !!getExpoDocumentPicker()?.getDocumentAsync\nexport const hasLocation = () => {\n const location = getExpoLocation()\n return !!(location?.getCurrentPositionAsync && location?.requestForegroundPermissionsAsync)\n}\nexport const hasSharing = () => !!getExpoSharing()?.shareAsync\nexport const hasRoundVideoCapture = () => {\n const camera = getVisionCamera()\n return !!(camera?.Camera && camera?.useVideoOutput && camera?.VisionCamera)\n}\n\n/**\n * Which optional features the installed peers allow. Resolves each peer on the first call, so\n * call it when you need it (e.g. to build UI that matches the chat's), not at import time.\n *\n * ```ts\n * const { clipboard, voiceRecording } = getChatCapabilities()\n * ```\n */\nexport function getChatCapabilities (): ChatCapabilities {\n const svg = getSvg()\n const roundVideoCapture = hasRoundVideoCapture()\n return {\n haptics: hasHaptics(),\n clipboard: hasClipboard(),\n blur: hasBlur(),\n svg: !!((svg?.default ?? svg?.Svg) && svg?.Path),\n audioPlayback: hasAudioPlayback(),\n waveform: !!getAudioApi()?.AudioContext,\n voiceRecording: hasVoiceRecording(),\n videoPlayback: hasVideoPlayback(),\n roundVideoCapture,\n videoRecording: roundVideoCapture || !!getExpoImagePicker()?.launchCameraAsync,\n // 0.3's `StreamdownText` also needs react-native-worklets' Bundle Mode; see MarkdownMessageText.\n markdown: !!(getStreamdown()?.Streamdown ?? getStreamdown()?.default) ||\n (!!getStreamdown()?.StreamdownText && (globalThis as { _WORKLETS_BUNDLE_MODE_ENABLED?: boolean })._WORKLETS_BUNDLE_MODE_ENABLED === true),\n nativeSheet: !!getTrueSheet()?.TrueSheet,\n persistentEmojiRecents: hasAsyncStorage(),\n mediaLibrary: hasMediaLibrary(),\n imagePicker: hasImagePicker(),\n documentPicker: hasDocumentPicker(),\n location: hasLocation(),\n sharing: hasSharing(),\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/rtl.js
CHANGED
|
@@ -5,17 +5,20 @@
|
|
|
5
5
|
* an app-wide, native-reload-requiring switch that would be wrong to flip from a single `Chat`
|
|
6
6
|
* instance.
|
|
7
7
|
*/
|
|
8
|
+
|
|
8
9
|
/**
|
|
9
10
|
* Base language codes (BCP-47, lower-cased) that read right-to-left. Deliberately excludes
|
|
10
11
|
* ambiguous macro-codes (e.g. `ku`, whose Sorani script is RTL but whose far more common
|
|
11
12
|
* Kurmanji script is LTR) - pass `forceRTL` for those instead of relying on auto-detection.
|
|
12
13
|
*/
|
|
13
14
|
const RTL_LANGUAGES = new Set(['ar', 'he', 'fa', 'ur', 'ps', 'sd', 'ug', 'yi', 'dv']);
|
|
15
|
+
|
|
14
16
|
/** Whether a BCP-47 tag (e.g. "ar-EG", "he") names a right-to-left language. */
|
|
15
17
|
export function isRTLLocale(locale) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
const base = locale?.split('-')[0]?.toLowerCase();
|
|
19
|
+
return !!base && RTL_LANGUAGES.has(base);
|
|
18
20
|
}
|
|
21
|
+
|
|
19
22
|
/**
|
|
20
23
|
* Flip a semantic `'left' | 'right'` position to the side it should actually render on. Only
|
|
21
24
|
* ever apply this to *physical* layout (alignment, margins, corner radii) - never to a
|
|
@@ -24,8 +27,7 @@ export function isRTLLocale(locale) {
|
|
|
24
27
|
* keeps meaning "my messages" regardless of which side they render on.
|
|
25
28
|
*/
|
|
26
29
|
export function mirrorPosition(position, isRTL) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return (position === 'left' ? 'right' : 'left');
|
|
30
|
+
if (!isRTL || !position) return position;
|
|
31
|
+
return position === 'left' ? 'right' : 'left';
|
|
30
32
|
}
|
|
31
33
|
//# sourceMappingURL=rtl.js.map
|
package/lib/rtl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtl.js","
|
|
1
|
+
{"version":3,"file":"rtl.js","names":["RTL_LANGUAGES","Set","isRTLLocale","locale","base","split","toLowerCase","has","mirrorPosition","position","isRTL"],"sources":["../src/rtl.ts"],"sourcesContent":["/**\n * Right-to-left support. `isRTL` is resolved once in `Chat` (from `forceRTL`, falling back to\n * whether `locale` is a right-to-left language) and exposed via `useIsRTL()`. Components mirror\n * their own layout with it - there is no global `I18nManager.forceRTL` call here, since that is\n * an app-wide, native-reload-requiring switch that would be wrong to flip from a single `Chat`\n * instance.\n */\n\n/**\n * Base language codes (BCP-47, lower-cased) that read right-to-left. Deliberately excludes\n * ambiguous macro-codes (e.g. `ku`, whose Sorani script is RTL but whose far more common\n * Kurmanji script is LTR) - pass `forceRTL` for those instead of relying on auto-detection.\n */\nconst RTL_LANGUAGES = new Set(['ar', 'he', 'fa', 'ur', 'ps', 'sd', 'ug', 'yi', 'dv'])\n\n/** Whether a BCP-47 tag (e.g. \"ar-EG\", \"he\") names a right-to-left language. */\nexport function isRTLLocale (locale: string | undefined): boolean {\n const base = locale?.split('-')[0]?.toLowerCase()\n return !!base && RTL_LANGUAGES.has(base)\n}\n\n/**\n * Flip a semantic `'left' | 'right'` position to the side it should actually render on. Only\n * ever apply this to *physical* layout (alignment, margins, corner radii) - never to a\n * `LeftRightStyle` override keyed by message ownership (own vs. other message), which stays\n * keyed by the original, unmirrored position so a consumer's \"my messages are blue\" style\n * keeps meaning \"my messages\" regardless of which side they render on.\n */\nexport function mirrorPosition<T extends 'left' | 'right' | undefined> (position: T, isRTL: boolean): T {\n if (!isRTL || !position)\n return position\n\n return (position === 'left' ? 'right' : 'left') as T\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAMA,aAAa,GAAG,IAAIC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;;AAErF;AACA,OAAO,SAASC,WAAWA,CAAEC,MAA0B,EAAW;EAChE,MAAMC,IAAI,GAAGD,MAAM,EAAEE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAEC,WAAW,CAAC,CAAC;EACjD,OAAO,CAAC,CAACF,IAAI,IAAIJ,aAAa,CAACO,GAAG,CAACH,IAAI,CAAC;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,cAAcA,CAA0CC,QAAW,EAAEC,KAAc,EAAK;EACtG,IAAI,CAACA,KAAK,IAAI,CAACD,QAAQ,EACrB,OAAOA,QAAQ;EAEjB,OAAQA,QAAQ,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM;AAChD","ignoreList":[]}
|