@kesha-antonov/react-native-chat 5.0.1 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +486 -179
- package/lib/Actions.d.ts.map +1 -1
- package/lib/Actions.js +121 -42
- package/lib/Actions.js.map +1 -1
- package/lib/Avatar.d.ts.map +1 -1
- package/lib/Avatar.js +171 -86
- package/lib/Avatar.js.map +1 -1
- package/lib/Bubble/BubbleBody.d.ts +15 -0
- package/lib/Bubble/BubbleBody.d.ts.map +1 -0
- package/lib/Bubble/BubbleBody.js +218 -0
- package/lib/Bubble/BubbleBody.js.map +1 -0
- package/lib/Bubble/BubbleContent.d.ts +23 -0
- package/lib/Bubble/BubbleContent.d.ts.map +1 -0
- package/lib/Bubble/BubbleContent.js +446 -0
- package/lib/Bubble/BubbleContent.js.map +1 -0
- package/lib/Bubble/BubbleMenu.d.ts +45 -0
- package/lib/Bubble/BubbleMenu.d.ts.map +1 -0
- package/lib/Bubble/BubbleMenu.js +289 -0
- package/lib/Bubble/BubbleMenu.js.map +1 -0
- package/lib/Bubble/BubbleMeta.d.ts +17 -0
- package/lib/Bubble/BubbleMeta.d.ts.map +1 -0
- package/lib/Bubble/BubbleMeta.js +453 -0
- package/lib/Bubble/BubbleMeta.js.map +1 -0
- package/lib/Bubble/LiftedBubble.d.ts +18 -0
- package/lib/Bubble/LiftedBubble.d.ts.map +1 -0
- package/lib/Bubble/LiftedBubble.js +109 -0
- package/lib/Bubble/LiftedBubble.js.map +1 -0
- package/lib/Bubble/PressableBubbleRow.d.ts +33 -0
- package/lib/Bubble/PressableBubbleRow.d.ts.map +1 -0
- package/lib/Bubble/PressableBubbleRow.js +172 -0
- package/lib/Bubble/PressableBubbleRow.js.map +1 -0
- package/lib/Bubble/index.d.ts +6 -13
- package/lib/Bubble/index.d.ts.map +1 -1
- package/lib/Bubble/index.js +379 -509
- package/lib/Bubble/index.js.map +1 -1
- package/lib/Bubble/layout.d.ts +47 -0
- package/lib/Bubble/layout.d.ts.map +1 -0
- package/lib/Bubble/layout.js +258 -0
- package/lib/Bubble/layout.js.map +1 -0
- package/lib/Bubble/styles.d.ts +108 -16
- package/lib/Bubble/styles.d.ts.map +1 -1
- package/lib/Bubble/styles.js +227 -107
- package/lib/Bubble/styles.js.map +1 -1
- package/lib/Bubble/types.d.ts +19 -3
- package/lib/Bubble/types.d.ts.map +1 -1
- package/lib/Bubble/types.js.map +1 -1
- package/lib/Chat/Chat.d.ts +5 -0
- package/lib/Chat/Chat.d.ts.map +1 -0
- package/lib/Chat/Chat.js +464 -0
- package/lib/Chat/Chat.js.map +1 -0
- package/lib/Chat/ChatBackground.d.ts +16 -0
- package/lib/Chat/ChatBackground.d.ts.map +1 -0
- package/lib/Chat/ChatBackground.js +43 -0
- package/lib/Chat/ChatBackground.js.map +1 -0
- package/lib/Chat/ChatKeyboardAvoidingView.js +19 -4
- package/lib/Chat/ChatKeyboardAvoidingView.js.map +1 -1
- package/lib/Chat/ChatMessageList.d.ts +27 -0
- package/lib/Chat/ChatMessageList.d.ts.map +1 -0
- package/lib/Chat/ChatMessageList.js +220 -0
- package/lib/Chat/ChatMessageList.js.map +1 -0
- package/lib/Chat/ChatProviders.d.ts +18 -0
- package/lib/Chat/ChatProviders.d.ts.map +1 -0
- package/lib/Chat/ChatProviders.js +87 -0
- package/lib/Chat/ChatProviders.js.map +1 -0
- package/lib/Chat/ChatSafeAreaProvider.d.ts +35 -0
- package/lib/Chat/ChatSafeAreaProvider.d.ts.map +1 -0
- package/lib/Chat/ChatSafeAreaProvider.js +123 -0
- package/lib/Chat/ChatSafeAreaProvider.js.map +1 -0
- package/lib/Chat/ChatSelectionBar.d.ts +20 -0
- package/lib/Chat/ChatSelectionBar.d.ts.map +1 -0
- package/lib/Chat/ChatSelectionBar.js +141 -0
- package/lib/Chat/ChatSelectionBar.js.map +1 -0
- package/lib/Chat/ChatWrapper.d.ts +11 -0
- package/lib/Chat/ChatWrapper.d.ts.map +1 -0
- package/lib/Chat/ChatWrapper.js +98 -0
- package/lib/Chat/ChatWrapper.js.map +1 -0
- package/lib/Chat/ComposerHost.d.ts +20 -0
- package/lib/Chat/ComposerHost.d.ts.map +1 -0
- package/lib/Chat/ComposerHost.js +118 -0
- package/lib/Chat/ComposerHost.js.map +1 -0
- package/lib/Chat/index.d.ts +1 -8
- package/lib/Chat/index.d.ts.map +1 -1
- package/lib/Chat/index.js +1 -337
- package/lib/Chat/index.js.map +1 -1
- package/lib/Chat/styles.d.ts +14 -2
- package/lib/Chat/styles.d.ts.map +1 -1
- package/lib/Chat/styles.js +19 -9
- package/lib/Chat/styles.js.map +1 -1
- package/lib/Chat/types.d.ts +145 -11
- package/lib/Chat/types.d.ts.map +1 -1
- package/lib/Chat/types.js.map +1 -1
- package/lib/Chat/useChatContextValue.d.ts +19 -0
- package/lib/Chat/useChatContextValue.d.ts.map +1 -0
- package/lib/Chat/useChatContextValue.js +158 -0
- package/lib/Chat/useChatContextValue.js.map +1 -0
- package/lib/Chat/useChatMedia.d.ts +22 -0
- package/lib/Chat/useChatMedia.d.ts.map +1 -0
- package/lib/Chat/useChatMedia.js +127 -0
- package/lib/Chat/useChatMedia.js.map +1 -0
- package/lib/Chat/useChatSelection.d.ts +15 -0
- package/lib/Chat/useChatSelection.d.ts.map +1 -0
- package/lib/Chat/useChatSelection.js +106 -0
- package/lib/Chat/useChatSelection.js.map +1 -0
- package/lib/Chat/useComposerHandlers.d.ts +34 -0
- package/lib/Chat/useComposerHandlers.d.ts.map +1 -0
- package/lib/Chat/useComposerHandlers.js +330 -0
- package/lib/Chat/useComposerHandlers.js.map +1 -0
- package/lib/Chat/useComposerState.d.ts +27 -0
- package/lib/Chat/useComposerState.d.ts.map +1 -0
- package/lib/Chat/useComposerState.js +272 -0
- package/lib/Chat/useComposerState.js.map +1 -0
- package/lib/Chat/useInitialLayout.d.ts +19 -0
- package/lib/Chat/useInitialLayout.d.ts.map +1 -0
- package/lib/Chat/useInitialLayout.js +70 -0
- package/lib/Chat/useInitialLayout.js.map +1 -0
- package/lib/Chat/useMessageActions.d.ts +37 -0
- package/lib/Chat/useMessageActions.d.ts.map +1 -0
- package/lib/Chat/useMessageActions.js +323 -0
- package/lib/Chat/useMessageActions.js.map +1 -0
- package/lib/Chat/useMessageNavigation.d.ts +21 -0
- package/lib/Chat/useMessageNavigation.d.ts.map +1 -0
- package/lib/Chat/useMessageNavigation.js +149 -0
- package/lib/Chat/useMessageNavigation.js.map +1 -0
- package/lib/Chat/useOptionalPeerHints.d.ts +6 -0
- package/lib/Chat/useOptionalPeerHints.d.ts.map +1 -0
- package/lib/Chat/useOptionalPeerHints.js +63 -0
- package/lib/Chat/useOptionalPeerHints.js.map +1 -0
- package/lib/Chat/useResolvedReactions.d.ts +31 -0
- package/lib/Chat/useResolvedReactions.d.ts.map +1 -0
- package/lib/Chat/useResolvedReactions.js +95 -0
- package/lib/Chat/useResolvedReactions.js.map +1 -0
- package/lib/ChatAvatar.d.ts.map +1 -1
- package/lib/ChatAvatar.js +229 -84
- package/lib/ChatAvatar.js.map +1 -1
- package/lib/ChatContext.js +20 -10
- package/lib/ChatContext.js.map +1 -1
- package/lib/ChatList/ChatListAvatar.d.ts +21 -0
- package/lib/ChatList/ChatListAvatar.d.ts.map +1 -0
- package/lib/ChatList/ChatListAvatar.js +178 -0
- package/lib/ChatList/ChatListAvatar.js.map +1 -0
- package/lib/ChatList/ChatListCell.d.ts +16 -0
- package/lib/ChatList/ChatListCell.d.ts.map +1 -0
- package/lib/ChatList/ChatListCell.js +506 -0
- package/lib/ChatList/ChatListCell.js.map +1 -0
- package/lib/ChatList/ChatListShimmer.d.ts +3 -0
- package/lib/ChatList/ChatListShimmer.d.ts.map +1 -0
- package/lib/ChatList/ChatListShimmer.js +235 -0
- package/lib/ChatList/ChatListShimmer.js.map +1 -0
- package/lib/ChatList/index.d.ts +16 -0
- package/lib/ChatList/index.d.ts.map +1 -0
- package/lib/ChatList/index.js +1301 -0
- package/lib/ChatList/index.js.map +1 -0
- package/lib/ChatList/types.d.ts +128 -0
- package/lib/ChatList/types.d.ts.map +1 -0
- package/lib/ChatList/types.js +2 -0
- package/lib/ChatList/types.js.map +1 -0
- package/lib/ChatList/useChatList.d.ts +30 -0
- package/lib/ChatList/useChatList.d.ts.map +1 -0
- package/lib/ChatList/useChatList.js +211 -0
- package/lib/ChatList/useChatList.js.map +1 -0
- package/lib/ChatList/utils.d.ts +28 -0
- package/lib/ChatList/utils.d.ts.map +1 -0
- package/lib/ChatList/utils.js +60 -0
- package/lib/ChatList/utils.js.map +1 -0
- package/lib/Color.js +19 -19
- package/lib/Color.js.map +1 -1
- package/lib/Composer.d.ts.map +1 -1
- package/lib/Composer.js +148 -70
- package/lib/Composer.js.map +1 -1
- package/lib/Constant.js +4 -4
- package/lib/Constant.js.map +1 -1
- package/lib/Day/index.d.ts.map +1 -1
- package/lib/Day/index.js +115 -28
- package/lib/Day/index.js.map +1 -1
- package/lib/Day/styles.d.ts +3 -3
- package/lib/Day/styles.d.ts.map +1 -1
- package/lib/Day/styles.js +20 -17
- package/lib/Day/styles.js.map +1 -1
- package/lib/Day/types.js.map +1 -1
- package/lib/Icons.d.ts +1 -1
- package/lib/Icons.d.ts.map +1 -1
- package/lib/Icons.js.map +1 -1
- package/lib/InputToolbar/FieldGroup.d.ts +28 -0
- package/lib/InputToolbar/FieldGroup.d.ts.map +1 -0
- package/lib/InputToolbar/FieldGroup.js +143 -0
- package/lib/InputToolbar/FieldGroup.js.map +1 -0
- package/lib/InputToolbar/TakePreviewBar.d.ts +17 -0
- package/lib/InputToolbar/TakePreviewBar.d.ts.map +1 -0
- package/lib/InputToolbar/TakePreviewBar.js +126 -0
- package/lib/InputToolbar/TakePreviewBar.js.map +1 -0
- package/lib/InputToolbar/animations.d.ts +105 -0
- package/lib/InputToolbar/animations.d.ts.map +1 -0
- package/lib/InputToolbar/animations.js +238 -0
- package/lib/InputToolbar/animations.js.map +1 -0
- package/lib/InputToolbar/fragments.d.ts +13 -0
- package/lib/InputToolbar/fragments.d.ts.map +1 -0
- package/lib/InputToolbar/fragments.js +207 -0
- package/lib/InputToolbar/fragments.js.map +1 -0
- package/lib/InputToolbar/index.d.ts +7 -0
- package/lib/InputToolbar/index.d.ts.map +1 -0
- package/lib/InputToolbar/index.js +444 -0
- package/lib/InputToolbar/index.js.map +1 -0
- package/lib/InputToolbar/recordingOptions.d.ts +14 -0
- package/lib/InputToolbar/recordingOptions.d.ts.map +1 -0
- package/lib/InputToolbar/recordingOptions.js +38 -0
- package/lib/InputToolbar/recordingOptions.js.map +1 -0
- package/lib/InputToolbar/styles.d.ts +118 -0
- package/lib/InputToolbar/styles.d.ts.map +1 -0
- package/lib/InputToolbar/styles.js +139 -0
- package/lib/InputToolbar/styles.js.map +1 -0
- package/lib/InputToolbar/types.d.ts +77 -0
- package/lib/InputToolbar/types.d.ts.map +1 -0
- package/lib/InputToolbar/types.js +2 -0
- package/lib/InputToolbar/types.js.map +1 -0
- package/lib/InputToolbar/useActionsFragment.d.ts +6 -0
- package/lib/InputToolbar/useActionsFragment.d.ts.map +1 -0
- package/lib/InputToolbar/useActionsFragment.js +139 -0
- package/lib/InputToolbar/useActionsFragment.js.map +1 -0
- package/lib/InputToolbar/useComposerEditing.d.ts +11 -0
- package/lib/InputToolbar/useComposerEditing.d.ts.map +1 -0
- package/lib/InputToolbar/useComposerEditing.js +116 -0
- package/lib/InputToolbar/useComposerEditing.js.map +1 -0
- package/lib/InputToolbar/useEmojiButton.d.ts +14 -0
- package/lib/InputToolbar/useEmojiButton.d.ts.map +1 -0
- package/lib/InputToolbar/useEmojiButton.js +120 -0
- package/lib/InputToolbar/useEmojiButton.js.map +1 -0
- package/lib/InputToolbar/useKeyboardInset.d.ts +9 -0
- package/lib/InputToolbar/useKeyboardInset.d.ts.map +1 -0
- package/lib/InputToolbar/useKeyboardInset.js +25 -0
- package/lib/InputToolbar/useKeyboardInset.js.map +1 -0
- package/lib/InputToolbar/useRecordMode.d.ts +19 -0
- package/lib/InputToolbar/useRecordMode.d.ts.map +1 -0
- package/lib/InputToolbar/useRecordMode.js +124 -0
- package/lib/InputToolbar/useRecordMode.js.map +1 -0
- package/lib/InputToolbar/useRecordTake.d.ts +46 -0
- package/lib/InputToolbar/useRecordTake.d.ts.map +1 -0
- package/lib/InputToolbar/useRecordTake.js +315 -0
- package/lib/InputToolbar/useRecordTake.js.map +1 -0
- package/lib/InputToolbar/useReturnAnimations.d.ts +18 -0
- package/lib/InputToolbar/useReturnAnimations.d.ts.map +1 -0
- package/lib/InputToolbar/useReturnAnimations.js +30 -0
- package/lib/InputToolbar/useReturnAnimations.js.map +1 -0
- package/lib/InputToolbar/useRightControl.d.ts +40 -0
- package/lib/InputToolbar/useRightControl.d.ts.map +1 -0
- package/lib/InputToolbar/useRightControl.js +129 -0
- package/lib/InputToolbar/useRightControl.js.map +1 -0
- package/lib/LoadEarlierMessages.d.ts +2 -0
- package/lib/LoadEarlierMessages.d.ts.map +1 -1
- package/lib/LoadEarlierMessages.js +153 -40
- package/lib/LoadEarlierMessages.js.map +1 -1
- package/lib/Message/SwipeToReply.d.ts +23 -0
- package/lib/Message/SwipeToReply.d.ts.map +1 -0
- package/lib/Message/SwipeToReply.js +337 -0
- package/lib/Message/SwipeToReply.js.map +1 -0
- package/lib/Message/index.d.ts.map +1 -1
- package/lib/Message/index.js +415 -176
- package/lib/Message/index.js.map +1 -1
- package/lib/Message/styles.d.ts +2 -2
- package/lib/Message/styles.js +14 -14
- package/lib/Message/styles.js.map +1 -1
- package/lib/Message/types.d.ts +5 -0
- package/lib/Message/types.d.ts.map +1 -1
- package/lib/Message/types.js.map +1 -1
- package/lib/MessageAudio.d.ts.map +1 -1
- package/lib/MessageAudio.js +647 -107
- package/lib/MessageAudio.js.map +1 -1
- package/lib/MessageFile.d.ts +11 -0
- package/lib/MessageFile.d.ts.map +1 -0
- package/lib/MessageFile.js +315 -0
- package/lib/MessageFile.js.map +1 -0
- package/lib/MessageImage.d.ts +2 -0
- package/lib/MessageImage.d.ts.map +1 -1
- package/lib/MessageImage.js +430 -161
- package/lib/MessageImage.js.map +1 -1
- package/lib/MessageLocation.d.ts.map +1 -1
- package/lib/MessageLocation.js +180 -68
- package/lib/MessageLocation.js.map +1 -1
- package/lib/MessageText.d.ts +8 -1
- package/lib/MessageText.d.ts.map +1 -1
- package/lib/MessageText.js +261 -69
- package/lib/MessageText.js.map +1 -1
- package/lib/MessageVideo/ExpoVideoPlayer.d.ts +6 -0
- package/lib/MessageVideo/ExpoVideoPlayer.d.ts.map +1 -0
- package/lib/MessageVideo/ExpoVideoPlayer.js +68 -0
- package/lib/MessageVideo/ExpoVideoPlayer.js.map +1 -0
- package/lib/MessageVideo/MirroredVideo.d.ts +17 -0
- package/lib/MessageVideo/MirroredVideo.d.ts.map +1 -0
- package/lib/MessageVideo/MirroredVideo.js +223 -0
- package/lib/MessageVideo/MirroredVideo.js.map +1 -0
- package/lib/MessageVideo/RoundNotePlayer.d.ts +4 -0
- package/lib/MessageVideo/RoundNotePlayer.d.ts.map +1 -0
- package/lib/MessageVideo/RoundNotePlayer.js +560 -0
- package/lib/MessageVideo/RoundNotePlayer.js.map +1 -0
- package/lib/MessageVideo/RoundTranscription.d.ts +27 -0
- package/lib/MessageVideo/RoundTranscription.d.ts.map +1 -0
- package/lib/MessageVideo/RoundTranscription.js +151 -0
- package/lib/MessageVideo/RoundTranscription.js.map +1 -0
- package/lib/MessageVideo/VideoTransferOverlay.d.ts +11 -0
- package/lib/MessageVideo/VideoTransferOverlay.d.ts.map +1 -0
- package/lib/MessageVideo/VideoTransferOverlay.js +88 -0
- package/lib/MessageVideo/VideoTransferOverlay.js.map +1 -0
- package/lib/MessageVideo/constants.d.ts +13 -0
- package/lib/MessageVideo/constants.d.ts.map +1 -0
- package/lib/MessageVideo/constants.js +15 -0
- package/lib/MessageVideo/constants.js.map +1 -0
- package/lib/{MessageVideo.d.ts → MessageVideo/index.d.ts} +2 -2
- package/lib/MessageVideo/index.d.ts.map +1 -0
- package/lib/MessageVideo/index.js +92 -0
- package/lib/MessageVideo/index.js.map +1 -0
- package/lib/MessageVideo/liftedMedia.d.ts +13 -0
- package/lib/MessageVideo/liftedMedia.d.ts.map +1 -0
- package/lib/MessageVideo/liftedMedia.js +106 -0
- package/lib/MessageVideo/liftedMedia.js.map +1 -0
- package/lib/MessageVideo/styles.d.ts +71 -0
- package/lib/MessageVideo/styles.d.ts.map +1 -0
- package/lib/MessageVideo/styles.js +78 -0
- package/lib/MessageVideo/styles.js.map +1 -0
- package/lib/MessageVideo/types.d.ts +27 -0
- package/lib/MessageVideo/types.d.ts.map +1 -0
- package/lib/MessageVideo/types.js +2 -0
- package/lib/MessageVideo/types.js.map +1 -0
- package/lib/MessageVideo/useNoteGrow.d.ts +16 -0
- package/lib/MessageVideo/useNoteGrow.d.ts.map +1 -0
- package/lib/MessageVideo/useNoteGrow.js +122 -0
- package/lib/MessageVideo/useNoteGrow.js.map +1 -0
- package/lib/MessageVideo/useNotePlayer.d.ts +14 -0
- package/lib/MessageVideo/useNotePlayer.d.ts.map +1 -0
- package/lib/MessageVideo/useNotePlayer.js +142 -0
- package/lib/MessageVideo/useNotePlayer.js.map +1 -0
- package/lib/MessageVideo/useRingSeek.d.ts +16 -0
- package/lib/MessageVideo/useRingSeek.d.ts.map +1 -0
- package/lib/MessageVideo/useRingSeek.js +157 -0
- package/lib/MessageVideo/useRingSeek.js.map +1 -0
- package/lib/MessageVideo/useRoundNotePlayback.d.ts +46 -0
- package/lib/MessageVideo/useRoundNotePlayback.d.ts.map +1 -0
- package/lib/MessageVideo/useRoundNotePlayback.js +508 -0
- package/lib/MessageVideo/useRoundNotePlayback.js.map +1 -0
- package/lib/MessageVideo/useSendFlightReveal.d.ts +9 -0
- package/lib/MessageVideo/useSendFlightReveal.d.ts.map +1 -0
- package/lib/MessageVideo/useSendFlightReveal.js +85 -0
- package/lib/MessageVideo/useSendFlightReveal.js.map +1 -0
- package/lib/MessageVideo/videoPlayers.d.ts +8 -0
- package/lib/MessageVideo/videoPlayers.d.ts.map +1 -0
- package/lib/MessageVideo/videoPlayers.js +33 -0
- package/lib/MessageVideo/videoPlayers.js.map +1 -0
- package/lib/MessagesContainer/components/DayAnimated/debug.js +38 -24
- package/lib/MessagesContainer/components/DayAnimated/debug.js.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/index.d.ts +1 -1
- package/lib/MessagesContainer/components/DayAnimated/index.d.ts.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/index.js +244 -112
- package/lib/MessagesContainer/components/DayAnimated/index.js.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/styles.d.ts +3 -3
- package/lib/MessagesContainer/components/DayAnimated/styles.js +8 -8
- package/lib/MessagesContainer/components/DayAnimated/styles.js.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/types.d.ts +4 -2
- package/lib/MessagesContainer/components/DayAnimated/types.d.ts.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/types.js.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.d.ts.map +1 -1
- package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.js +34 -25
- package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.js.map +1 -1
- package/lib/MessagesContainer/components/Item/index.d.ts +3 -4
- package/lib/MessagesContainer/components/Item/index.d.ts.map +1 -1
- package/lib/MessagesContainer/components/Item/index.js +289 -119
- package/lib/MessagesContainer/components/Item/index.js.map +1 -1
- package/lib/MessagesContainer/components/Item/types.d.ts +5 -0
- package/lib/MessagesContainer/components/Item/types.d.ts.map +1 -1
- package/lib/MessagesContainer/components/Item/types.js.map +1 -1
- package/lib/MessagesContainer/components/PageDownCounter.d.ts +14 -0
- package/lib/MessagesContainer/components/PageDownCounter.d.ts.map +1 -0
- package/lib/MessagesContainer/components/PageDownCounter.js +209 -0
- package/lib/MessagesContainer/components/PageDownCounter.js.map +1 -0
- package/lib/MessagesContainer/components/ScrollToBottomButton.d.ts +21 -0
- package/lib/MessagesContainer/components/ScrollToBottomButton.d.ts.map +1 -0
- package/lib/MessagesContainer/components/ScrollToBottomButton.js +195 -0
- package/lib/MessagesContainer/components/ScrollToBottomButton.js.map +1 -0
- package/lib/MessagesContainer/components/dayLayout.d.ts +2 -2
- package/lib/MessagesContainer/components/dayLayout.d.ts.map +1 -1
- package/lib/MessagesContainer/components/dayLayout.js +18 -13
- package/lib/MessagesContainer/components/dayLayout.js.map +1 -1
- package/lib/MessagesContainer/index.d.ts.map +1 -1
- package/lib/MessagesContainer/index.js +361 -420
- package/lib/MessagesContainer/index.js.map +1 -1
- package/lib/MessagesContainer/listState.d.ts +18 -0
- package/lib/MessagesContainer/listState.d.ts.map +1 -0
- package/lib/MessagesContainer/listState.js +25 -0
- package/lib/MessagesContainer/listState.js.map +1 -0
- package/lib/MessagesContainer/listTransitions.d.ts +10 -0
- package/lib/MessagesContainer/listTransitions.d.ts.map +1 -0
- package/lib/MessagesContainer/listTransitions.js +12 -0
- package/lib/MessagesContainer/listTransitions.js.map +1 -0
- package/lib/MessagesContainer/pageDownReturn.d.ts +11 -0
- package/lib/MessagesContainer/pageDownReturn.d.ts.map +1 -0
- package/lib/MessagesContainer/pageDownReturn.js +9 -0
- package/lib/MessagesContainer/pageDownReturn.js.map +1 -0
- package/lib/MessagesContainer/rowConfig.d.ts +39 -0
- package/lib/MessagesContainer/rowConfig.d.ts.map +1 -0
- package/lib/MessagesContainer/rowConfig.js +161 -0
- package/lib/MessagesContainer/rowConfig.js.map +1 -0
- package/lib/MessagesContainer/rowStore.d.ts +37 -0
- package/lib/MessagesContainer/rowStore.d.ts.map +1 -0
- package/lib/MessagesContainer/rowStore.js +140 -0
- package/lib/MessagesContainer/rowStore.js.map +1 -0
- package/lib/MessagesContainer/styles.d.ts +37 -31
- package/lib/MessagesContainer/styles.d.ts.map +1 -1
- package/lib/MessagesContainer/styles.js +75 -54
- package/lib/MessagesContainer/styles.js.map +1 -1
- package/lib/MessagesContainer/types.d.ts +33 -30
- package/lib/MessagesContainer/types.d.ts.map +1 -1
- package/lib/MessagesContainer/types.js +1 -9
- package/lib/MessagesContainer/types.js.map +1 -1
- package/lib/MessagesContainer/useCellLayouts.d.ts +17 -0
- package/lib/MessagesContainer/useCellLayouts.d.ts.map +1 -0
- package/lib/MessagesContainer/useCellLayouts.js +133 -0
- package/lib/MessagesContainer/useCellLayouts.js.map +1 -0
- package/lib/MessagesContainer/useDaysPositions.d.ts +18 -0
- package/lib/MessagesContainer/useDaysPositions.d.ts.map +1 -0
- package/lib/MessagesContainer/useDaysPositions.js +109 -0
- package/lib/MessagesContainer/useDaysPositions.js.map +1 -0
- package/lib/MessagesContainer/useListChrome.d.ts +14 -0
- package/lib/MessagesContainer/useListChrome.d.ts.map +1 -0
- package/lib/MessagesContainer/useListChrome.js +176 -0
- package/lib/MessagesContainer/useListChrome.js.map +1 -0
- package/lib/MessagesContainer/useListMetrics.d.ts +32 -0
- package/lib/MessagesContainer/useListMetrics.d.ts.map +1 -0
- package/lib/MessagesContainer/useListMetrics.js +176 -0
- package/lib/MessagesContainer/useListMetrics.js.map +1 -0
- package/lib/MessagesContainer/useMessageRows.d.ts +46 -0
- package/lib/MessagesContainer/useMessageRows.d.ts.map +1 -0
- package/lib/MessagesContainer/useMessageRows.js +228 -0
- package/lib/MessagesContainer/useMessageRows.js.map +1 -0
- package/lib/MessagesContainer/usePageDownUnread.d.ts +27 -0
- package/lib/MessagesContainer/usePageDownUnread.d.ts.map +1 -0
- package/lib/MessagesContainer/usePageDownUnread.js +152 -0
- package/lib/MessagesContainer/usePageDownUnread.js.map +1 -0
- package/lib/MessagesContainer/useScrollActivity.d.ts +13 -0
- package/lib/MessagesContainer/useScrollActivity.d.ts.map +1 -0
- package/lib/MessagesContainer/useScrollActivity.js +84 -0
- package/lib/MessagesContainer/useScrollActivity.js.map +1 -0
- package/lib/MessagesContainer/useScrollToBottom.d.ts +26 -0
- package/lib/MessagesContainer/useScrollToBottom.d.ts.map +1 -0
- package/lib/MessagesContainer/useScrollToBottom.js +164 -0
- package/lib/MessagesContainer/useScrollToBottom.js.map +1 -0
- package/lib/MessagesContainer/useTapToClosePanels.d.ts +7 -0
- package/lib/MessagesContainer/useTapToClosePanels.d.ts.map +1 -0
- package/lib/MessagesContainer/useTapToClosePanels.js +55 -0
- package/lib/MessagesContainer/useTapToClosePanels.js.map +1 -0
- package/lib/MessagesContainer/viewability.d.ts +9 -0
- package/lib/MessagesContainer/viewability.d.ts.map +1 -0
- package/lib/MessagesContainer/viewability.js +110 -0
- package/lib/MessagesContainer/viewability.js.map +1 -0
- package/lib/Models.d.ts +188 -3
- package/lib/Models.d.ts.map +1 -1
- package/lib/Models.js.map +1 -1
- package/lib/QuickReplies.js +234 -101
- package/lib/QuickReplies.js.map +1 -1
- package/lib/Reactions/MessageReactions.d.ts +5 -0
- package/lib/Reactions/MessageReactions.d.ts.map +1 -1
- package/lib/Reactions/MessageReactions.js +359 -80
- package/lib/Reactions/MessageReactions.js.map +1 -1
- package/lib/Reactions/ReactionPicker.d.ts +5 -3
- package/lib/Reactions/ReactionPicker.d.ts.map +1 -1
- package/lib/Reactions/ReactionPicker.js +68 -82
- package/lib/Reactions/ReactionPicker.js.map +1 -1
- package/lib/Reactions/index.js +1 -0
- package/lib/Reactions/index.js.map +1 -1
- package/lib/Reactions/types.d.ts +49 -5
- package/lib/Reactions/types.d.ts.map +1 -1
- package/lib/Reactions/types.js.map +1 -1
- package/lib/Reply/index.js.map +1 -1
- package/lib/Reply/types.d.ts +19 -3
- package/lib/Reply/types.d.ts.map +1 -1
- package/lib/Reply/types.js.map +1 -1
- package/lib/Send.d.ts +2 -2
- package/lib/Send.d.ts.map +1 -1
- package/lib/Send.js +218 -47
- package/lib/Send.js.map +1 -1
- package/lib/SystemMessage.d.ts.map +1 -1
- package/lib/SystemMessage.js +106 -37
- package/lib/SystemMessage.js.map +1 -1
- package/lib/Theme.d.ts +320 -23
- package/lib/Theme.d.ts.map +1 -1
- package/lib/Theme.js +548 -119
- package/lib/Theme.js.map +1 -1
- package/lib/Time.d.ts +7 -0
- package/lib/Time.d.ts.map +1 -1
- package/lib/Time.js +122 -30
- package/lib/Time.js.map +1 -1
- package/lib/TypingIndicator/index.d.ts +9 -1
- package/lib/TypingIndicator/index.d.ts.map +1 -1
- package/lib/TypingIndicator/index.js +318 -94
- package/lib/TypingIndicator/index.js.map +1 -1
- package/lib/TypingIndicator/styles.d.ts +6 -2
- package/lib/TypingIndicator/styles.d.ts.map +1 -1
- package/lib/TypingIndicator/styles.js +22 -18
- package/lib/TypingIndicator/styles.js.map +1 -1
- package/lib/TypingIndicator/types.js.map +1 -1
- package/lib/attachments/AttachmentButton.d.ts +18 -0
- package/lib/attachments/AttachmentButton.d.ts.map +1 -0
- package/lib/attachments/AttachmentButton.js +110 -0
- package/lib/attachments/AttachmentButton.js.map +1 -0
- package/lib/attachments/AttachmentMenu/CaptionBar.d.ts +15 -0
- package/lib/attachments/AttachmentMenu/CaptionBar.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/CaptionBar.js +165 -0
- package/lib/attachments/AttachmentMenu/CaptionBar.js.map +1 -0
- package/lib/attachments/AttachmentMenu/GalleryCell.d.ts +14 -0
- package/lib/attachments/AttachmentMenu/GalleryCell.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/GalleryCell.js +267 -0
- package/lib/attachments/AttachmentMenu/GalleryCell.js.map +1 -0
- package/lib/attachments/AttachmentMenu/GalleryGrid.d.ts +18 -0
- package/lib/attachments/AttachmentMenu/GalleryGrid.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/GalleryGrid.js +184 -0
- package/lib/attachments/AttachmentMenu/GalleryGrid.js.map +1 -0
- package/lib/attachments/AttachmentMenu/TabBar.d.ts +14 -0
- package/lib/attachments/AttachmentMenu/TabBar.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/TabBar.js +127 -0
- package/lib/attachments/AttachmentMenu/TabBar.js.map +1 -0
- package/lib/attachments/AttachmentMenu/TabButton.d.ts +15 -0
- package/lib/attachments/AttachmentMenu/TabButton.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/TabButton.js +219 -0
- package/lib/attachments/AttachmentMenu/TabButton.js.map +1 -0
- package/lib/attachments/AttachmentMenu/TabPanel.d.ts +17 -0
- package/lib/attachments/AttachmentMenu/TabPanel.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/TabPanel.js +170 -0
- package/lib/attachments/AttachmentMenu/TabPanel.js.map +1 -0
- package/lib/attachments/AttachmentMenu/constants.d.ts +54 -0
- package/lib/attachments/AttachmentMenu/constants.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/constants.js +79 -0
- package/lib/attachments/AttachmentMenu/constants.js.map +1 -0
- package/lib/attachments/AttachmentMenu/index.d.ts +16 -0
- package/lib/attachments/AttachmentMenu/index.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/index.js +498 -0
- package/lib/attachments/AttachmentMenu/index.js.map +1 -0
- package/lib/attachments/AttachmentMenu/styles.d.ts +259 -0
- package/lib/attachments/AttachmentMenu/styles.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/styles.js +262 -0
- package/lib/attachments/AttachmentMenu/styles.js.map +1 -0
- package/lib/attachments/AttachmentMenu/useSheetPresence.d.ts +14 -0
- package/lib/attachments/AttachmentMenu/useSheetPresence.d.ts.map +1 -0
- package/lib/attachments/AttachmentMenu/useSheetPresence.js +74 -0
- package/lib/attachments/AttachmentMenu/useSheetPresence.js.map +1 -0
- package/lib/attachments/buildMessages.d.ts +36 -0
- package/lib/attachments/buildMessages.d.ts.map +1 -0
- package/lib/attachments/buildMessages.js +192 -0
- package/lib/attachments/buildMessages.js.map +1 -0
- package/lib/attachments/gallery.d.ts +28 -0
- package/lib/attachments/gallery.d.ts.map +1 -0
- package/lib/attachments/gallery.js +245 -0
- package/lib/attachments/gallery.js.map +1 -0
- package/lib/attachments/types.d.ts +69 -0
- package/lib/attachments/types.d.ts.map +1 -0
- package/lib/attachments/types.js +2 -0
- package/lib/attachments/types.js.map +1 -0
- package/lib/colorUtils.d.ts +24 -0
- package/lib/colorUtils.d.ts.map +1 -0
- package/lib/colorUtils.js +71 -0
- package/lib/colorUtils.js.map +1 -0
- package/lib/components/AttachmentSheet.d.ts +1 -1
- package/lib/components/AttachmentSheet.d.ts.map +1 -1
- package/lib/components/AttachmentSheet.js +515 -155
- package/lib/components/AttachmentSheet.js.map +1 -1
- package/lib/components/BasicMarkdown.d.ts +7 -1
- package/lib/components/BasicMarkdown.d.ts.map +1 -1
- package/lib/components/BasicMarkdown.js +234 -184
- package/lib/components/BasicMarkdown.js.map +1 -1
- package/lib/components/BubbleBackground.d.ts +55 -0
- package/lib/components/BubbleBackground.d.ts.map +1 -0
- package/lib/components/BubbleBackground.js +513 -0
- package/lib/components/BubbleBackground.js.map +1 -0
- package/lib/components/ChatEmpty.d.ts +18 -0
- package/lib/components/ChatEmpty.d.ts.map +1 -0
- package/lib/components/ChatEmpty.js +125 -0
- package/lib/components/ChatEmpty.js.map +1 -0
- package/lib/components/ChatLoadingOverlay.d.ts +10 -0
- package/lib/components/ChatLoadingOverlay.d.ts.map +1 -0
- package/lib/components/ChatLoadingOverlay.js +89 -0
- package/lib/components/ChatLoadingOverlay.js.map +1 -0
- package/lib/components/ChatOverlay.d.ts +9 -0
- package/lib/components/ChatOverlay.d.ts.map +1 -0
- package/lib/components/ChatOverlay.js +60 -0
- package/lib/components/ChatOverlay.js.map +1 -0
- package/lib/components/ChatWallpaper.d.ts +32 -0
- package/lib/components/ChatWallpaper.d.ts.map +1 -0
- package/lib/components/ChatWallpaper.js +277 -0
- package/lib/components/ChatWallpaper.js.map +1 -0
- package/lib/components/ContextMenu/MenuCard.d.ts +21 -0
- package/lib/components/ContextMenu/MenuCard.d.ts.map +1 -0
- package/lib/components/ContextMenu/MenuCard.js +265 -0
- package/lib/components/ContextMenu/MenuCard.js.map +1 -0
- package/lib/components/ContextMenu/ReactionButton.d.ts +15 -0
- package/lib/components/ContextMenu/ReactionButton.d.ts.map +1 -0
- package/lib/components/ContextMenu/ReactionButton.js +116 -0
- package/lib/components/ContextMenu/ReactionButton.js.map +1 -0
- package/lib/components/ContextMenu/ReactionFlight.d.ts +14 -0
- package/lib/components/ContextMenu/ReactionFlight.d.ts.map +1 -0
- package/lib/components/ContextMenu/ReactionFlight.js +111 -0
- package/lib/components/ContextMenu/ReactionFlight.js.map +1 -0
- package/lib/components/ContextMenu/ReactionsBar.d.ts +35 -0
- package/lib/components/ContextMenu/ReactionsBar.d.ts.map +1 -0
- package/lib/components/ContextMenu/ReactionsBar.js +354 -0
- package/lib/components/ContextMenu/ReactionsBar.js.map +1 -0
- package/lib/components/ContextMenu/constants.d.ts +68 -0
- package/lib/components/ContextMenu/constants.d.ts.map +1 -0
- package/lib/components/ContextMenu/constants.js +105 -0
- package/lib/components/ContextMenu/constants.js.map +1 -0
- package/lib/components/ContextMenu/index.d.ts +12 -0
- package/lib/components/ContextMenu/index.d.ts.map +1 -0
- package/lib/components/ContextMenu/index.js +476 -0
- package/lib/components/ContextMenu/index.js.map +1 -0
- package/lib/components/ContextMenu/placement.d.ts +50 -0
- package/lib/components/ContextMenu/placement.d.ts.map +1 -0
- package/lib/components/ContextMenu/placement.js +117 -0
- package/lib/components/ContextMenu/placement.js.map +1 -0
- package/lib/components/ContextMenu/styles.d.ts +199 -0
- package/lib/components/ContextMenu/styles.d.ts.map +1 -0
- package/lib/components/ContextMenu/styles.js +169 -0
- package/lib/components/ContextMenu/styles.js.map +1 -0
- package/lib/components/ContextMenu/types.d.ts +62 -0
- package/lib/components/ContextMenu/types.d.ts.map +1 -0
- package/lib/components/ContextMenu/types.js +2 -0
- package/lib/components/ContextMenu/types.js.map +1 -0
- package/lib/components/ContextMenu/useExpandPanel.d.ts +11 -0
- package/lib/components/ContextMenu/useExpandPanel.d.ts.map +1 -0
- package/lib/components/ContextMenu/useExpandPanel.js +81 -0
- package/lib/components/ContextMenu/useExpandPanel.js.map +1 -0
- package/lib/components/ContextMenu/useMenuPresence.d.ts +17 -0
- package/lib/components/ContextMenu/useMenuPresence.d.ts.map +1 -0
- package/lib/components/ContextMenu/useMenuPresence.js +125 -0
- package/lib/components/ContextMenu/useMenuPresence.js.map +1 -0
- package/lib/components/FloatingRoundNote.d.ts +13 -0
- package/lib/components/FloatingRoundNote.d.ts.map +1 -0
- package/lib/components/FloatingRoundNote.js +541 -0
- package/lib/components/FloatingRoundNote.js.map +1 -0
- package/lib/components/GlassSurface.d.ts +16 -0
- package/lib/components/GlassSurface.d.ts.map +1 -0
- package/lib/components/GlassSurface.js +114 -0
- package/lib/components/GlassSurface.js.map +1 -0
- package/lib/components/Icon.js +57 -8
- package/lib/components/Icon.js.map +1 -1
- package/lib/components/LinkPreviewCard.d.ts +36 -0
- package/lib/components/LinkPreviewCard.d.ts.map +1 -0
- package/lib/components/LinkPreviewCard.js +416 -0
- package/lib/components/LinkPreviewCard.js.map +1 -0
- package/lib/components/LucideIcon.d.ts.map +1 -1
- package/lib/components/LucideIcon.js +103 -106
- package/lib/components/LucideIcon.js.map +1 -1
- package/lib/components/MarkdownMessageText.d.ts +17 -2
- package/lib/components/MarkdownMessageText.d.ts.map +1 -1
- package/lib/components/MarkdownMessageText.js +270 -22
- package/lib/components/MarkdownMessageText.js.map +1 -1
- package/lib/components/MediaCard.d.ts.map +1 -1
- package/lib/components/MediaCard.js +223 -85
- package/lib/components/MediaCard.js.map +1 -1
- package/lib/components/MediaControls.js +1094 -450
- package/lib/components/MediaControls.js.map +1 -1
- package/lib/components/MediaLoader.d.ts +21 -0
- package/lib/components/MediaLoader.d.ts.map +1 -0
- package/lib/components/MediaLoader.js +61 -0
- package/lib/components/MediaLoader.js.map +1 -0
- package/lib/components/MessageReply.d.ts +2 -2
- package/lib/components/MessageReply.d.ts.map +1 -1
- package/lib/components/MessageReply.js +266 -83
- package/lib/components/MessageReply.js.map +1 -1
- package/lib/components/MessageStatus.d.ts +23 -0
- package/lib/components/MessageStatus.d.ts.map +1 -0
- package/lib/components/MessageStatus.js +499 -0
- package/lib/components/MessageStatus.js.map +1 -0
- package/lib/components/NoteIndicators.d.ts +25 -0
- package/lib/components/NoteIndicators.d.ts.map +1 -0
- package/lib/components/NoteIndicators.js +206 -0
- package/lib/components/NoteIndicators.js.map +1 -0
- package/lib/components/NowPlayingBar.d.ts +15 -0
- package/lib/components/NowPlayingBar.d.ts.map +1 -0
- package/lib/components/NowPlayingBar.js +261 -0
- package/lib/components/NowPlayingBar.js.map +1 -0
- package/lib/components/PlayPauseIcon.d.ts +13 -0
- package/lib/components/PlayPauseIcon.d.ts.map +1 -0
- package/lib/components/PlayPauseIcon.js +187 -0
- package/lib/components/PlayPauseIcon.js.map +1 -0
- package/lib/components/PlaybackSpeedPill.d.ts +11 -0
- package/lib/components/PlaybackSpeedPill.d.ts.map +1 -0
- package/lib/components/PlaybackSpeedPill.js +350 -0
- package/lib/components/PlaybackSpeedPill.js.map +1 -0
- package/lib/components/RadialProgress.d.ts +70 -0
- package/lib/components/RadialProgress.d.ts.map +1 -0
- package/lib/components/RadialProgress.js +864 -0
- package/lib/components/RadialProgress.js.map +1 -0
- package/lib/components/RecordButton/LockPill.d.ts +27 -0
- package/lib/components/RecordButton/LockPill.d.ts.map +1 -0
- package/lib/components/RecordButton/LockPill.js +182 -0
- package/lib/components/RecordButton/LockPill.js.map +1 -0
- package/lib/components/RecordButton/ModeButton.d.ts +18 -0
- package/lib/components/RecordButton/ModeButton.d.ts.map +1 -0
- package/lib/components/RecordButton/ModeButton.js +154 -0
- package/lib/components/RecordButton/ModeButton.js.map +1 -0
- package/lib/components/RecordButton/ResumeButton.d.ts +20 -0
- package/lib/components/RecordButton/ResumeButton.d.ts.map +1 -0
- package/lib/components/RecordButton/ResumeButton.js +63 -0
- package/lib/components/RecordButton/ResumeButton.js.map +1 -0
- package/lib/components/RecordButton/Tooltips.d.ts +20 -0
- package/lib/components/RecordButton/Tooltips.d.ts.map +1 -0
- package/lib/components/RecordButton/Tooltips.js +191 -0
- package/lib/components/RecordButton/Tooltips.js.map +1 -0
- package/lib/components/RecordButton/ViewOnceButton.d.ts +16 -0
- package/lib/components/RecordButton/ViewOnceButton.d.ts.map +1 -0
- package/lib/components/RecordButton/ViewOnceButton.js +96 -0
- package/lib/components/RecordButton/ViewOnceButton.js.map +1 -0
- package/lib/components/RecordButton/constants.d.ts +52 -0
- package/lib/components/RecordButton/constants.d.ts.map +1 -0
- package/lib/components/RecordButton/constants.js +58 -0
- package/lib/components/RecordButton/constants.js.map +1 -0
- package/lib/components/RecordButton/index.d.ts +14 -0
- package/lib/components/RecordButton/index.d.ts.map +1 -0
- package/lib/components/RecordButton/index.js +382 -0
- package/lib/components/RecordButton/index.js.map +1 -0
- package/lib/components/RecordButton/styles.d.ts +155 -0
- package/lib/components/RecordButton/styles.d.ts.map +1 -0
- package/lib/components/RecordButton/styles.js +161 -0
- package/lib/components/RecordButton/styles.js.map +1 -0
- package/lib/components/RecordButton/types.d.ts +63 -0
- package/lib/components/RecordButton/types.d.ts.map +1 -0
- package/lib/components/RecordButton/types.js +2 -0
- package/lib/components/RecordButton/types.js.map +1 -0
- package/lib/components/RecordButton/useRecordGesture.d.ts +28 -0
- package/lib/components/RecordButton/useRecordGesture.d.ts.map +1 -0
- package/lib/components/RecordButton/useRecordGesture.js +263 -0
- package/lib/components/RecordButton/useRecordGesture.js.map +1 -0
- package/lib/components/RecordButton/useRecordHints.d.ts +27 -0
- package/lib/components/RecordButton/useRecordHints.d.ts.map +1 -0
- package/lib/components/RecordButton/useRecordHints.js +210 -0
- package/lib/components/RecordButton/useRecordHints.js.map +1 -0
- package/lib/components/RecordButton/useRecordSlideDistance.d.ts +3 -0
- package/lib/components/RecordButton/useRecordSlideDistance.d.ts.map +1 -0
- package/lib/components/RecordButton/useRecordSlideDistance.js +15 -0
- package/lib/components/RecordButton/useRecordSlideDistance.js.map +1 -0
- package/lib/components/RecordButton/useRecordTake.d.ts +41 -0
- package/lib/components/RecordButton/useRecordTake.d.ts.map +1 -0
- package/lib/components/RecordButton/useRecordTake.js +349 -0
- package/lib/components/RecordButton/useRecordTake.js.map +1 -0
- package/lib/components/RecordButton/useSendFlight.d.ts +25 -0
- package/lib/components/RecordButton/useSendFlight.d.ts.map +1 -0
- package/lib/components/RecordButton/useSendFlight.js +162 -0
- package/lib/components/RecordButton/useSendFlight.js.map +1 -0
- package/lib/components/RecordCircle.d.ts +92 -0
- package/lib/components/RecordCircle.d.ts.map +1 -0
- package/lib/components/RecordCircle.js +629 -0
- package/lib/components/RecordCircle.js.map +1 -0
- package/lib/components/RecordingBar.d.ts +24 -0
- package/lib/components/RecordingBar.d.ts.map +1 -0
- package/lib/components/RecordingBar.js +766 -0
- package/lib/components/RecordingBar.js.map +1 -0
- package/lib/components/ReplyPreview.js +318 -135
- package/lib/components/ReplyPreview.js.map +1 -1
- package/lib/components/SelectionBar.d.ts +17 -0
- package/lib/components/SelectionBar.d.ts.map +1 -0
- package/lib/components/SelectionBar.js +214 -0
- package/lib/components/SelectionBar.js.map +1 -0
- package/lib/components/SelectionCheckbox.d.ts +12 -0
- package/lib/components/SelectionCheckbox.d.ts.map +1 -0
- package/lib/components/SelectionCheckbox.js +104 -0
- package/lib/components/SelectionCheckbox.js.map +1 -0
- package/lib/components/SendIcon.js +60 -26
- package/lib/components/SendIcon.js.map +1 -1
- package/lib/components/ServiceSpinner.d.ts +17 -0
- package/lib/components/ServiceSpinner.d.ts.map +1 -0
- package/lib/components/ServiceSpinner.js +77 -0
- package/lib/components/ServiceSpinner.js.map +1 -0
- package/lib/components/Spinner.d.ts +18 -0
- package/lib/components/Spinner.d.ts.map +1 -0
- package/lib/components/Spinner.js +169 -0
- package/lib/components/Spinner.js.map +1 -0
- package/lib/components/StreamingCursor.js +54 -9
- package/lib/components/StreamingCursor.js.map +1 -1
- package/lib/components/Ticks.d.ts +6 -5
- package/lib/components/Ticks.d.ts.map +1 -1
- package/lib/components/Ticks.js +272 -82
- package/lib/components/Ticks.js.map +1 -1
- package/lib/components/TouchableOpacity.d.ts.map +1 -1
- package/lib/components/TouchableOpacity.js +153 -51
- package/lib/components/TouchableOpacity.js.map +1 -1
- package/lib/components/TranscribeButton.d.ts +45 -0
- package/lib/components/TranscribeButton.d.ts.map +1 -0
- package/lib/components/TranscribeButton.js +549 -0
- package/lib/components/TranscribeButton.js.map +1 -0
- package/lib/components/TypingStatus.d.ts +29 -0
- package/lib/components/TypingStatus.d.ts.map +1 -0
- package/lib/components/TypingStatus.js +446 -0
- package/lib/components/TypingStatus.js.map +1 -0
- package/lib/components/UnreadSeparator.d.ts +8 -0
- package/lib/components/UnreadSeparator.d.ts.map +1 -0
- package/lib/components/UnreadSeparator.js +101 -0
- package/lib/components/UnreadSeparator.js.map +1 -0
- package/lib/components/VideoNoteCapture/ProgressRing.d.ts +16 -0
- package/lib/components/VideoNoteCapture/ProgressRing.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/ProgressRing.js +75 -0
- package/lib/components/VideoNoteCapture/ProgressRing.js.map +1 -0
- package/lib/components/VideoNoteCapture/VideoNoteCaptureView.d.ts +31 -0
- package/lib/components/VideoNoteCapture/VideoNoteCaptureView.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/VideoNoteCaptureView.js +500 -0
- package/lib/components/VideoNoteCapture/VideoNoteCaptureView.js.map +1 -0
- package/lib/components/VideoNoteCapture/VideoNotePreviewView.d.ts +12 -0
- package/lib/components/VideoNoteCapture/VideoNotePreviewView.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/VideoNotePreviewView.js +105 -0
- package/lib/components/VideoNoteCapture/VideoNotePreviewView.js.map +1 -0
- package/lib/components/VideoNoteCapture/VideoNoteStage.d.ts +12 -0
- package/lib/components/VideoNoteCapture/VideoNoteStage.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/VideoNoteStage.js +95 -0
- package/lib/components/VideoNoteCapture/VideoNoteStage.js.map +1 -0
- package/lib/components/VideoNoteCapture/constants.d.ts +50 -0
- package/lib/components/VideoNoteCapture/constants.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/constants.js +53 -0
- package/lib/components/VideoNoteCapture/constants.js.map +1 -0
- package/lib/components/VideoNoteCapture/index.d.ts +3 -0
- package/lib/components/VideoNoteCapture/index.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/index.js +2 -0
- package/lib/components/VideoNoteCapture/index.js.map +1 -0
- package/lib/components/VideoNoteCapture/optional.d.ts +6 -0
- package/lib/components/VideoNoteCapture/optional.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/optional.js +15 -0
- package/lib/components/VideoNoteCapture/optional.js.map +1 -0
- package/lib/components/VideoNoteCapture/sessionState.d.ts +10 -0
- package/lib/components/VideoNoteCapture/sessionState.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/sessionState.js +19 -0
- package/lib/components/VideoNoteCapture/sessionState.js.map +1 -0
- package/lib/components/VideoNoteCapture/styles.d.ts +84 -0
- package/lib/components/VideoNoteCapture/styles.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/styles.js +86 -0
- package/lib/components/VideoNoteCapture/styles.js.map +1 -0
- package/lib/components/VideoNoteCapture/types.d.ts +54 -0
- package/lib/components/VideoNoteCapture/types.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/types.js +2 -0
- package/lib/components/VideoNoteCapture/types.js.map +1 -0
- package/lib/components/VideoNoteCapture/useRoundAnimation.d.ts +47 -0
- package/lib/components/VideoNoteCapture/useRoundAnimation.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/useRoundAnimation.js +216 -0
- package/lib/components/VideoNoteCapture/useRoundAnimation.js.map +1 -0
- package/lib/components/VideoNoteCapture/useRoundLayout.d.ts +14 -0
- package/lib/components/VideoNoteCapture/useRoundLayout.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/useRoundLayout.js +61 -0
- package/lib/components/VideoNoteCapture/useRoundLayout.js.map +1 -0
- package/lib/components/VideoNoteCapture/useVideoNoteSession.d.ts +25 -0
- package/lib/components/VideoNoteCapture/useVideoNoteSession.d.ts.map +1 -0
- package/lib/components/VideoNoteCapture/useVideoNoteSession.js +611 -0
- package/lib/components/VideoNoteCapture/useVideoNoteSession.js.map +1 -0
- package/lib/components/VideoNoteOverlay.d.ts +42 -11
- package/lib/components/VideoNoteOverlay.d.ts.map +1 -1
- package/lib/components/VideoNoteOverlay.js +722 -135
- package/lib/components/VideoNoteOverlay.js.map +1 -1
- package/lib/components/VideoNoteRecorder/LiveVideoNote.d.ts +6 -0
- package/lib/components/VideoNoteRecorder/LiveVideoNote.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/LiveVideoNote.js +205 -0
- package/lib/components/VideoNoteRecorder/LiveVideoNote.js.map +1 -0
- package/lib/components/VideoNoteRecorder/RecorderChrome.d.ts +35 -0
- package/lib/components/VideoNoteRecorder/RecorderChrome.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/RecorderChrome.js +350 -0
- package/lib/components/VideoNoteRecorder/RecorderChrome.js.map +1 -0
- package/lib/components/VideoNoteRecorder/UnavailableVideoNote.d.ts +10 -0
- package/lib/components/VideoNoteRecorder/UnavailableVideoNote.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/UnavailableVideoNote.js +52 -0
- package/lib/components/VideoNoteRecorder/UnavailableVideoNote.js.map +1 -0
- package/lib/components/VideoNoteRecorder/constants.d.ts +16 -0
- package/lib/components/VideoNoteRecorder/constants.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/constants.js +30 -0
- package/lib/components/VideoNoteRecorder/constants.js.map +1 -0
- package/lib/components/{VideoNoteRecorder.d.ts → VideoNoteRecorder/index.d.ts} +5 -10
- package/lib/components/VideoNoteRecorder/index.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/index.js +26 -0
- package/lib/components/VideoNoteRecorder/index.js.map +1 -0
- package/lib/components/VideoNoteRecorder/styles.d.ts +159 -0
- package/lib/components/VideoNoteRecorder/styles.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/styles.js +170 -0
- package/lib/components/VideoNoteRecorder/styles.js.map +1 -0
- package/lib/components/VideoNoteRecorder/types.d.ts +7 -0
- package/lib/components/VideoNoteRecorder/types.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/types.js +2 -0
- package/lib/components/VideoNoteRecorder/types.js.map +1 -0
- package/lib/components/VideoNoteRecorder/useRecordingTimer.d.ts +10 -0
- package/lib/components/VideoNoteRecorder/useRecordingTimer.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/useRecordingTimer.js +134 -0
- package/lib/components/VideoNoteRecorder/useRecordingTimer.js.map +1 -0
- package/lib/components/VideoNoteRecorder/useVideoNoteRecording.d.ts +28 -0
- package/lib/components/VideoNoteRecorder/useVideoNoteRecording.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/useVideoNoteRecording.js +287 -0
- package/lib/components/VideoNoteRecorder/useVideoNoteRecording.js.map +1 -0
- package/lib/components/VideoNoteRecorder/visionCameraHooks.d.ts +6 -0
- package/lib/components/VideoNoteRecorder/visionCameraHooks.d.ts.map +1 -0
- package/lib/components/VideoNoteRecorder/visionCameraHooks.js +11 -0
- package/lib/components/VideoNoteRecorder/visionCameraHooks.js.map +1 -0
- package/lib/components/VideoRecordButton.d.ts +1 -1
- package/lib/components/VideoRecordButton.d.ts.map +1 -1
- package/lib/components/VideoRecordButton.js +221 -92
- package/lib/components/VideoRecordButton.js.map +1 -1
- package/lib/components/ViewOnceBadge.d.ts +23 -0
- package/lib/components/ViewOnceBadge.d.ts.map +1 -0
- package/lib/components/ViewOnceBadge.js +233 -0
- package/lib/components/ViewOnceBadge.js.map +1 -0
- package/lib/components/VoiceMessageInput/RecordedVoicePreview.d.ts +16 -0
- package/lib/components/VoiceMessageInput/RecordedVoicePreview.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/RecordedVoicePreview.js +503 -0
- package/lib/components/VoiceMessageInput/RecordedVoicePreview.js.map +1 -0
- package/lib/components/VoiceMessageInput/constants.d.ts +16 -0
- package/lib/components/VoiceMessageInput/constants.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/constants.js +22 -0
- package/lib/components/VoiceMessageInput/constants.js.map +1 -0
- package/lib/components/VoiceMessageInput/formatElapsed.d.ts +2 -0
- package/lib/components/VoiceMessageInput/formatElapsed.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/formatElapsed.js +7 -0
- package/lib/components/VoiceMessageInput/formatElapsed.js.map +1 -0
- package/lib/components/VoiceMessageInput/index.d.ts +9 -0
- package/lib/components/VoiceMessageInput/index.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/index.js +148 -0
- package/lib/components/VoiceMessageInput/index.js.map +1 -0
- package/lib/components/VoiceMessageInput/previewStyles.d.ts +77 -0
- package/lib/components/VoiceMessageInput/previewStyles.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/previewStyles.js +80 -0
- package/lib/components/VoiceMessageInput/previewStyles.js.map +1 -0
- package/lib/components/VoiceMessageInput/previewWaveform.d.ts +15 -0
- package/lib/components/VoiceMessageInput/previewWaveform.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/previewWaveform.js +27 -0
- package/lib/components/VoiceMessageInput/previewWaveform.js.map +1 -0
- package/lib/components/VoiceMessageInput/recorder.d.ts +18 -0
- package/lib/components/VoiceMessageInput/recorder.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/recorder.js +80 -0
- package/lib/components/VoiceMessageInput/recorder.js.map +1 -0
- package/lib/components/VoiceMessageInput/types.d.ts +56 -0
- package/lib/components/VoiceMessageInput/types.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/types.js +2 -0
- package/lib/components/VoiceMessageInput/types.js.map +1 -0
- package/lib/components/VoiceMessageInput/useLazyRecorder.d.ts +7 -0
- package/lib/components/VoiceMessageInput/useLazyRecorder.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/useLazyRecorder.js +61 -0
- package/lib/components/VoiceMessageInput/useLazyRecorder.js.map +1 -0
- package/lib/components/VoiceMessageInput/useStateReport.d.ts +16 -0
- package/lib/components/VoiceMessageInput/useStateReport.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/useStateReport.js +81 -0
- package/lib/components/VoiceMessageInput/useStateReport.js.map +1 -0
- package/lib/components/VoiceMessageInput/useTakePreviewActions.d.ts +34 -0
- package/lib/components/VoiceMessageInput/useTakePreviewActions.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/useTakePreviewActions.js +207 -0
- package/lib/components/VoiceMessageInput/useTakePreviewActions.js.map +1 -0
- package/lib/components/VoiceMessageInput/useVoiceTake.d.ts +25 -0
- package/lib/components/VoiceMessageInput/useVoiceTake.d.ts.map +1 -0
- package/lib/components/VoiceMessageInput/useVoiceTake.js +424 -0
- package/lib/components/VoiceMessageInput/useVoiceTake.js.map +1 -0
- package/lib/components/WaveformPlayer/Bars.d.ts +30 -0
- package/lib/components/WaveformPlayer/Bars.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/Bars.js +171 -0
- package/lib/components/WaveformPlayer/Bars.js.map +1 -0
- package/lib/components/WaveformPlayer/VoiceButton.d.ts +23 -0
- package/lib/components/WaveformPlayer/VoiceButton.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/VoiceButton.js +111 -0
- package/lib/components/WaveformPlayer/VoiceButton.js.map +1 -0
- package/lib/components/WaveformPlayer/WaveformTrack.d.ts +31 -0
- package/lib/components/WaveformPlayer/WaveformTrack.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/WaveformTrack.js +199 -0
- package/lib/components/WaveformPlayer/WaveformTrack.js.map +1 -0
- package/lib/components/WaveformPlayer/audio.d.ts +23 -0
- package/lib/components/WaveformPlayer/audio.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/audio.js +97 -0
- package/lib/components/WaveformPlayer/audio.js.map +1 -0
- package/lib/components/WaveformPlayer/index.d.ts +13 -0
- package/lib/components/WaveformPlayer/index.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/index.js +475 -0
- package/lib/components/WaveformPlayer/index.js.map +1 -0
- package/lib/components/WaveformPlayer/styles.d.ts +257 -0
- package/lib/components/WaveformPlayer/styles.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/styles.js +120 -0
- package/lib/components/WaveformPlayer/styles.js.map +1 -0
- package/lib/components/WaveformPlayer/types.d.ts +32 -0
- package/lib/components/WaveformPlayer/types.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/types.js +2 -0
- package/lib/components/WaveformPlayer/types.js.map +1 -0
- package/lib/components/WaveformPlayer/useSendFlightReveal.d.ts +21 -0
- package/lib/components/WaveformPlayer/useSendFlightReveal.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/useSendFlightReveal.js +105 -0
- package/lib/components/WaveformPlayer/useSendFlightReveal.js.map +1 -0
- package/lib/components/WaveformPlayer/useVoicePlayback.d.ts +39 -0
- package/lib/components/WaveformPlayer/useVoicePlayback.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/useVoicePlayback.js +401 -0
- package/lib/components/WaveformPlayer/useVoicePlayback.js.map +1 -0
- package/lib/components/WaveformPlayer/useVoiceSource.d.ts +38 -0
- package/lib/components/WaveformPlayer/useVoiceSource.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/useVoiceSource.js +244 -0
- package/lib/components/WaveformPlayer/useVoiceSource.js.map +1 -0
- package/lib/components/WaveformPlayer/useWaveformMotion.d.ts +16 -0
- package/lib/components/WaveformPlayer/useWaveformMotion.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/useWaveformMotion.js +135 -0
- package/lib/components/WaveformPlayer/useWaveformMotion.js.map +1 -0
- package/lib/components/WaveformPlayer/useWaveformScrub.d.ts +16 -0
- package/lib/components/WaveformPlayer/useWaveformScrub.d.ts.map +1 -0
- package/lib/components/WaveformPlayer/useWaveformScrub.js +168 -0
- package/lib/components/WaveformPlayer/useWaveformScrub.js.map +1 -0
- package/lib/components/composerPanels.d.ts +13 -0
- package/lib/components/composerPanels.d.ts.map +1 -0
- package/lib/components/composerPanels.js +22 -0
- package/lib/components/composerPanels.js.map +1 -0
- package/lib/components/defaultMessageActions.d.ts +30 -0
- package/lib/components/defaultMessageActions.d.ts.map +1 -0
- package/lib/components/defaultMessageActions.js +124 -0
- package/lib/components/defaultMessageActions.js.map +1 -0
- package/lib/components/earpiece.d.ts +56 -0
- package/lib/components/earpiece.d.ts.map +1 -0
- package/lib/components/earpiece.js +218 -0
- package/lib/components/earpiece.js.map +1 -0
- package/lib/components/floatingNoteMath.d.ts +66 -0
- package/lib/components/floatingNoteMath.d.ts.map +1 -0
- package/lib/components/floatingNoteMath.js +143 -0
- package/lib/components/floatingNoteMath.js.map +1 -0
- package/lib/components/haptics.d.ts +5 -0
- package/lib/components/haptics.d.ts.map +1 -0
- package/lib/components/haptics.js +26 -0
- package/lib/components/haptics.js.map +1 -0
- package/lib/components/mediaDownload.d.ts +14 -0
- package/lib/components/mediaDownload.d.ts.map +1 -0
- package/lib/components/mediaDownload.js +43 -0
- package/lib/components/mediaDownload.js.map +1 -0
- package/lib/components/mediaPalette.d.ts +7 -2
- package/lib/components/mediaPalette.d.ts.map +1 -1
- package/lib/components/mediaPalette.js +27 -15
- package/lib/components/mediaPalette.js.map +1 -1
- package/lib/components/mediaPlayback.d.ts +204 -5
- package/lib/components/mediaPlayback.d.ts.map +1 -1
- package/lib/components/mediaPlayback.js +746 -17
- package/lib/components/mediaPlayback.js.map +1 -1
- package/lib/components/mediaTransfer.d.ts +29 -0
- package/lib/components/mediaTransfer.d.ts.map +1 -0
- package/lib/components/mediaTransfer.js +52 -0
- package/lib/components/mediaTransfer.js.map +1 -0
- package/lib/components/mediaViewer/MediaViewer.d.ts +17 -0
- package/lib/components/mediaViewer/MediaViewer.d.ts.map +1 -0
- package/lib/components/mediaViewer/MediaViewer.js +347 -0
- package/lib/components/mediaViewer/MediaViewer.js.map +1 -0
- package/lib/components/mediaViewer/MediaViewerChrome.d.ts +14 -0
- package/lib/components/mediaViewer/MediaViewerChrome.d.ts.map +1 -0
- package/lib/components/mediaViewer/MediaViewerChrome.js +164 -0
- package/lib/components/mediaViewer/MediaViewerChrome.js.map +1 -0
- package/lib/components/mediaViewer/MediaViewerHost.d.ts +10 -0
- package/lib/components/mediaViewer/MediaViewerHost.d.ts.map +1 -0
- package/lib/components/mediaViewer/MediaViewerHost.js +76 -0
- package/lib/components/mediaViewer/MediaViewerHost.js.map +1 -0
- package/lib/components/mediaViewer/MediaViewerPage.d.ts +25 -0
- package/lib/components/mediaViewer/MediaViewerPage.d.ts.map +1 -0
- package/lib/components/mediaViewer/MediaViewerPage.js +194 -0
- package/lib/components/mediaViewer/MediaViewerPage.js.map +1 -0
- package/lib/components/mediaViewer/gallery.d.ts +27 -0
- package/lib/components/mediaViewer/gallery.d.ts.map +1 -0
- package/lib/components/mediaViewer/gallery.js +41 -0
- package/lib/components/mediaViewer/gallery.js.map +1 -0
- package/lib/components/messageHighlight.d.ts +41 -0
- package/lib/components/messageHighlight.d.ts.map +1 -0
- package/lib/components/messageHighlight.js +157 -0
- package/lib/components/messageHighlight.js.map +1 -0
- package/lib/components/messagePress.d.ts +14 -0
- package/lib/components/messagePress.d.ts.map +1 -0
- package/lib/components/messagePress.js +18 -0
- package/lib/components/messagePress.js.map +1 -0
- package/lib/components/messageSelection.d.ts +39 -0
- package/lib/components/messageSelection.d.ts.map +1 -0
- package/lib/components/messageSelection.js +135 -0
- package/lib/components/messageSelection.js.map +1 -0
- package/lib/components/recordingFeedback.d.ts +22 -0
- package/lib/components/recordingFeedback.d.ts.map +1 -0
- package/lib/components/recordingFeedback.js +80 -0
- package/lib/components/recordingFeedback.js.map +1 -0
- package/lib/components/recordingMeter.d.ts +19 -0
- package/lib/components/recordingMeter.d.ts.map +1 -0
- package/lib/components/recordingMeter.js +21 -0
- package/lib/components/recordingMeter.js.map +1 -0
- package/lib/components/roundNoteChrome.d.ts +107 -0
- package/lib/components/roundNoteChrome.d.ts.map +1 -0
- package/lib/components/roundNoteChrome.js +249 -0
- package/lib/components/roundNoteChrome.js.map +1 -0
- package/lib/components/roundNotePlayers.d.ts +78 -0
- package/lib/components/roundNotePlayers.d.ts.map +1 -0
- package/lib/components/roundNotePlayers.js +230 -0
- package/lib/components/roundNotePlayers.js.map +1 -0
- package/lib/components/sendFlight.d.ts +88 -0
- package/lib/components/sendFlight.d.ts.map +1 -0
- package/lib/components/sendFlight.js +146 -0
- package/lib/components/sendFlight.js.map +1 -0
- package/lib/components/viewOnce.d.ts +27 -0
- package/lib/components/viewOnce.d.ts.map +1 -0
- package/lib/components/viewOnce.js +168 -0
- package/lib/components/viewOnce.js.map +1 -0
- package/lib/components/visionCamera.d.ts +45 -0
- package/lib/components/visionCamera.d.ts.map +1 -0
- package/lib/components/visionCamera.js +117 -0
- package/lib/components/visionCamera.js.map +1 -0
- package/lib/components/voiceEditing.d.ts +34 -0
- package/lib/components/voiceEditing.d.ts.map +1 -0
- package/lib/components/voiceEditing.js +159 -0
- package/lib/components/voiceEditing.js.map +1 -0
- package/lib/components/voiceWaveform.d.ts +108 -0
- package/lib/components/voiceWaveform.d.ts.map +1 -0
- package/lib/components/voiceWaveform.js +165 -0
- package/lib/components/voiceWaveform.js.map +1 -0
- package/lib/components/wallpaperGradient.d.ts +16 -0
- package/lib/components/wallpaperGradient.d.ts.map +1 -0
- package/lib/components/wallpaperGradient.js +186 -0
- package/lib/components/wallpaperGradient.js.map +1 -0
- package/lib/components/windowInsets.d.ts +11 -0
- package/lib/components/windowInsets.d.ts.map +1 -0
- package/lib/components/windowInsets.js +44 -0
- package/lib/components/windowInsets.js.map +1 -0
- package/lib/dayjsLocales.js +15 -2
- package/lib/dayjsLocales.js.map +1 -1
- package/lib/emoji/EmojiGrid/BackspaceButton.d.ts +11 -0
- package/lib/emoji/EmojiGrid/BackspaceButton.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/BackspaceButton.js +111 -0
- package/lib/emoji/EmojiGrid/BackspaceButton.js.map +1 -0
- package/lib/emoji/EmojiGrid/EmojiRow.d.ts +15 -0
- package/lib/emoji/EmojiGrid/EmojiRow.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/EmojiRow.js +71 -0
- package/lib/emoji/EmojiGrid/EmojiRow.js.map +1 -0
- package/lib/emoji/EmojiGrid/Search.d.ts +29 -0
- package/lib/emoji/EmojiGrid/Search.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/Search.js +234 -0
- package/lib/emoji/EmojiGrid/Search.js.map +1 -0
- package/lib/emoji/EmojiGrid/TabStrip.d.ts +16 -0
- package/lib/emoji/EmojiGrid/TabStrip.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/TabStrip.js +237 -0
- package/lib/emoji/EmojiGrid/TabStrip.js.map +1 -0
- package/lib/emoji/EmojiGrid/TonePopup.d.ts +12 -0
- package/lib/emoji/EmojiGrid/TonePopup.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/TonePopup.js +137 -0
- package/lib/emoji/EmojiGrid/TonePopup.js.map +1 -0
- package/lib/emoji/EmojiGrid/constants.d.ts +29 -0
- package/lib/emoji/EmojiGrid/constants.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/constants.js +65 -0
- package/lib/emoji/EmojiGrid/constants.js.map +1 -0
- package/lib/emoji/EmojiGrid/index.d.ts +10 -0
- package/lib/emoji/EmojiGrid/index.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/index.js +450 -0
- package/lib/emoji/EmojiGrid/index.js.map +1 -0
- package/lib/emoji/EmojiGrid/items.d.ts +25 -0
- package/lib/emoji/EmojiGrid/items.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/items.js +75 -0
- package/lib/emoji/EmojiGrid/items.js.map +1 -0
- package/lib/emoji/EmojiGrid/styles.d.ts +181 -0
- package/lib/emoji/EmojiGrid/styles.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/styles.js +184 -0
- package/lib/emoji/EmojiGrid/styles.js.map +1 -0
- package/lib/emoji/EmojiGrid/types.d.ts +53 -0
- package/lib/emoji/EmojiGrid/types.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/types.js +2 -0
- package/lib/emoji/EmojiGrid/types.js.map +1 -0
- package/lib/emoji/EmojiGrid/useTabScroll.d.ts +19 -0
- package/lib/emoji/EmojiGrid/useTabScroll.d.ts.map +1 -0
- package/lib/emoji/EmojiGrid/useTabScroll.js +124 -0
- package/lib/emoji/EmojiGrid/useTabScroll.js.map +1 -0
- package/lib/emoji/EmojiKeyboard.d.ts +79 -0
- package/lib/emoji/EmojiKeyboard.d.ts.map +1 -0
- package/lib/emoji/EmojiKeyboard.js +445 -0
- package/lib/emoji/EmojiKeyboard.js.map +1 -0
- package/lib/emoji/defaultExpandedPicker.d.ts +5 -0
- package/lib/emoji/defaultExpandedPicker.d.ts.map +1 -0
- package/lib/emoji/defaultExpandedPicker.js +11 -0
- package/lib/emoji/defaultExpandedPicker.js.map +1 -0
- package/lib/emoji/emojiData.d.ts +2 -0
- package/lib/emoji/emojiData.d.ts.map +1 -0
- package/lib/emoji/emojiData.js +5 -0
- package/lib/emoji/emojiData.js.map +1 -0
- package/lib/emoji/emojiStore.d.ts +70 -0
- package/lib/emoji/emojiStore.d.ts.map +1 -0
- package/lib/emoji/emojiStore.js +246 -0
- package/lib/emoji/emojiStore.js.map +1 -0
- package/lib/emoji/textEditing.d.ts +20 -0
- package/lib/emoji/textEditing.d.ts.map +1 -0
- package/lib/emoji/textEditing.js +97 -0
- package/lib/emoji/textEditing.js.map +1 -0
- package/lib/emojiOnly.d.ts +11 -0
- package/lib/emojiOnly.d.ts.map +1 -0
- package/lib/emojiOnly.js +79 -0
- package/lib/emojiOnly.js.map +1 -0
- package/lib/gestures/useRowSwipe.d.ts +43 -0
- package/lib/gestures/useRowSwipe.d.ts.map +1 -0
- package/lib/gestures/useRowSwipe.js +74 -0
- package/lib/gestures/useRowSwipe.js.map +1 -0
- package/lib/hooks/useAnimatedPresence.d.ts +22 -0
- package/lib/hooks/useAnimatedPresence.d.ts.map +1 -0
- package/lib/hooks/useAnimatedPresence.js +97 -0
- package/lib/hooks/useAnimatedPresence.js.map +1 -0
- package/lib/hooks/useChatMessages.d.ts +39 -0
- package/lib/hooks/useChatMessages.d.ts.map +1 -0
- package/lib/hooks/useChatMessages.js +125 -0
- package/lib/hooks/useChatMessages.js.map +1 -0
- package/lib/hooks/useColorScheme.d.ts +7 -1
- package/lib/hooks/useColorScheme.d.ts.map +1 -1
- package/lib/hooks/useColorScheme.js +46 -8
- package/lib/hooks/useColorScheme.js.map +1 -1
- package/lib/hooks/useHasKeyboardProvider.js +18 -7
- package/lib/hooks/useHasKeyboardProvider.js.map +1 -1
- package/lib/hooks/useIcons.js +15 -2
- package/lib/hooks/useIcons.js.map +1 -1
- package/lib/hooks/useIsKeyboardVisible.js +39 -17
- package/lib/hooks/useIsKeyboardVisible.js.map +1 -1
- package/lib/hooks/useIsRTL.js +15 -2
- package/lib/hooks/useIsRTL.js.map +1 -1
- package/lib/hooks/useKeyboardVerticalOffset.d.ts +5 -3
- package/lib/hooks/useKeyboardVerticalOffset.d.ts.map +1 -1
- package/lib/hooks/useKeyboardVerticalOffset.js +52 -18
- package/lib/hooks/useKeyboardVerticalOffset.js.map +1 -1
- package/lib/hooks/useLabels.js +15 -2
- package/lib/hooks/useLabels.js.map +1 -1
- package/lib/hooks/useStreamingMessages.js +200 -86
- package/lib/hooks/useStreamingMessages.js.map +1 -1
- package/lib/hooks/useTheme.js +56 -7
- package/lib/hooks/useTheme.js.map +1 -1
- package/lib/hooks/useUpdateLayoutEffect.d.ts.map +1 -1
- package/lib/hooks/useUpdateLayoutEffect.js +35 -11
- package/lib/hooks/useUpdateLayoutEffect.js.map +1 -1
- package/lib/i18n.d.ts +182 -0
- package/lib/i18n.d.ts.map +1 -1
- package/lib/i18n.js +121 -23
- package/lib/i18n.js.map +1 -1
- package/lib/index.d.ts +31 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +18 -1
- package/lib/index.js.map +1 -1
- package/lib/linkParser.js +318 -185
- package/lib/linkParser.js.map +1 -1
- package/lib/locales/ar.d.ts.map +1 -1
- package/lib/locales/ar.js +110 -19
- package/lib/locales/ar.js.map +1 -1
- package/lib/locales/de.d.ts.map +1 -1
- package/lib/locales/de.js +110 -19
- package/lib/locales/de.js.map +1 -1
- package/lib/locales/es.d.ts.map +1 -1
- package/lib/locales/es.js +110 -19
- package/lib/locales/es.js.map +1 -1
- package/lib/locales/fr.d.ts.map +1 -1
- package/lib/locales/fr.js +110 -19
- package/lib/locales/fr.js.map +1 -1
- package/lib/locales/hi.d.ts.map +1 -1
- package/lib/locales/hi.js +110 -19
- package/lib/locales/hi.js.map +1 -1
- package/lib/locales/id.d.ts.map +1 -1
- package/lib/locales/id.js +110 -19
- package/lib/locales/id.js.map +1 -1
- package/lib/locales/index.js +19 -5
- package/lib/locales/index.js.map +1 -1
- package/lib/locales/it.d.ts.map +1 -1
- package/lib/locales/it.js +110 -19
- package/lib/locales/it.js.map +1 -1
- package/lib/locales/ja.d.ts.map +1 -1
- package/lib/locales/ja.js +110 -19
- package/lib/locales/ja.js.map +1 -1
- package/lib/locales/ko.d.ts.map +1 -1
- package/lib/locales/ko.js +110 -19
- package/lib/locales/ko.js.map +1 -1
- package/lib/locales/nl.d.ts.map +1 -1
- package/lib/locales/nl.js +110 -19
- package/lib/locales/nl.js.map +1 -1
- package/lib/locales/pl.d.ts.map +1 -1
- package/lib/locales/pl.js +110 -19
- package/lib/locales/pl.js.map +1 -1
- package/lib/locales/pt.d.ts.map +1 -1
- package/lib/locales/pt.js +110 -19
- package/lib/locales/pt.js.map +1 -1
- package/lib/locales/ru.d.ts.map +1 -1
- package/lib/locales/ru.js +110 -19
- package/lib/locales/ru.js.map +1 -1
- package/lib/locales/tr.d.ts.map +1 -1
- package/lib/locales/tr.js +110 -19
- package/lib/locales/tr.js.map +1 -1
- package/lib/locales/zh.d.ts.map +1 -1
- package/lib/locales/zh.js +110 -19
- package/lib/locales/zh.js.map +1 -1
- package/lib/logging.d.ts +5 -0
- package/lib/logging.d.ts.map +1 -1
- package/lib/logging.js +13 -1
- package/lib/logging.js.map +1 -1
- package/lib/messageUtils.d.ts +19 -0
- package/lib/messageUtils.d.ts.map +1 -0
- package/lib/messageUtils.js +61 -0
- package/lib/messageUtils.js.map +1 -0
- package/lib/motion.d.ts +21 -0
- package/lib/motion.d.ts.map +1 -0
- package/lib/motion.js +30 -0
- package/lib/motion.js.map +1 -0
- package/lib/optional/index.d.ts +99 -0
- package/lib/optional/index.d.ts.map +1 -0
- package/lib/optional/index.js +284 -0
- package/lib/optional/index.js.map +1 -0
- package/lib/rtl.js +7 -5
- package/lib/rtl.js.map +1 -1
- package/lib/store.d.ts +40 -0
- package/lib/store.d.ts.map +1 -0
- package/lib/store.js +127 -0
- package/lib/store.js.map +1 -0
- package/lib/styles.d.ts +2 -2
- package/lib/styles.d.ts.map +1 -1
- package/lib/styles.js +15 -15
- package/lib/styles.js.map +1 -1
- package/lib/types.js +1 -0
- package/lib/types.js.map +1 -1
- package/lib/utils.d.ts +15 -0
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +199 -94
- package/lib/utils.js.map +1 -1
- package/llms.txt +133 -31
- package/package.json +89 -46
- package/lib/InputToolbar.d.ts +0 -49
- package/lib/InputToolbar.d.ts.map +0 -1
- package/lib/InputToolbar.js +0 -338
- package/lib/InputToolbar.js.map +0 -1
- package/lib/MessageVideo.d.ts.map +0 -1
- package/lib/MessageVideo.js +0 -162
- package/lib/MessageVideo.js.map +0 -1
- package/lib/MessagesContainer/FlashList.d.ts +0 -9
- package/lib/MessagesContainer/FlashList.d.ts.map +0 -1
- package/lib/MessagesContainer/FlashList.js +0 -23
- package/lib/MessagesContainer/FlashList.js.map +0 -1
- package/lib/components/ContextMenu.d.ts +0 -25
- package/lib/components/ContextMenu.d.ts.map +0 -1
- package/lib/components/ContextMenu.js +0 -122
- package/lib/components/ContextMenu.js.map +0 -1
- package/lib/components/VideoNoteRecorder.d.ts.map +0 -1
- package/lib/components/VideoNoteRecorder.js +0 -634
- package/lib/components/VideoNoteRecorder.js.map +0 -1
- package/lib/components/VoiceMessageInput.d.ts +0 -33
- package/lib/components/VoiceMessageInput.d.ts.map +0 -1
- package/lib/components/VoiceMessageInput.js +0 -403
- package/lib/components/VoiceMessageInput.js.map +0 -1
- package/lib/components/WaveformPlayer.d.ts +0 -19
- package/lib/components/WaveformPlayer.d.ts.map +0 -1
- package/lib/components/WaveformPlayer.js +0 -367
- package/lib/components/WaveformPlayer.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadialProgress.js","names":["React","useEffect","useRef","useState","StyleSheet","View","Animated","Easing","cancelAnimation","useAnimatedProps","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","withRepeat","withTiming","getSvg","PlayPauseIcon","svg","Svg","default","AnimatedPath","Path","createAnimatedComponent","PLAY","PAUSE","DOWNLOAD","CANCEL","NONE","ICON_CODES","play","pause","download","cancel","none","INTRINSIC","STAGE1","STAGE2","STAGE3","RADIAL_SPIN_MS","RAD_OFFSET_START","RADIAL_PROGRESS_MS","DECELERATE","out","quad","transitionDuration","from","to","spinRing","rad","value","duration","easing","linear","isPlayPause","icon","f","Math","round","arcPath","cx","cy","rx","ry","start","sweep","abs","clamped","max","min","point","deg","a","PI","cos","sin","dir","mid","line","x1","y1","x2","y2","crossLines","c","d","k","r","p","x","y","cross","ax","ay","bx","by","cx2","cy2","dx","dy","radialFrame","current","next","t","saved","progress","size","isMini","scale","animating","arrow","arrowAlpha","crossAlpha","arc","arcAlpha","glyphScale","glyphAlpha","arrowLines","arcStart","arcSweep","arcRadius","yStart","yEnd","yEnd2","yStart2","transition","y3","cur","back","p3","p1","p2","push","rotation","iconScale","alpha","inset","FallbackStroke","t0","$","_c","frame","isCross","index","color","width","style","lines","i","length","opacity","hypot","left","top","transform","rotate","atan2","t1","t2","height","borderRadius","backgroundColor","t3","styles","stroke","FallbackRing","radius","diameter","offset","ringStyle","firstHalfStyle","secondHalfStyle","borderWidth","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","halfRing","t4","ring","t5","t6","t7","half","t8","t9","t10","t11","t12","t13","t14","Symbol","for","t15","t16","t17","RadialProgress","glyphSize","undefined","code","target","previousIcon","fallbackProgress","progressSource","numericProgress","initialIcon","finished","set","value_0","get","arrowProps","crossProps","r_0","arcProps","r_1","glyphStyle","result","circleStyle","isAnimating","strokeWidth","circle","glyph","root","absoluteFill","center","t18","t19","t20","map","index_0","t21","create","overflow","alignItems","justifyContent","position"],"sources":["../../src/components/RadialProgress.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react'\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native'\nimport Animated, {\n Easing,\n SharedValue,\n cancelAnimation,\n useAnimatedProps,\n useAnimatedReaction,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated'\n\nimport { getSvg } from '../optional'\nimport { PlayPauseIcon } from './PlayPauseIcon'\n\n/*\n * The media button: a filled circle drawing a glyph and a progress arc. The geometry and\n * timings below are specified in a 48-unit box.\n */\n\nconst svg = getSvg()\nconst Svg: any = svg ? svg.Svg ?? svg.default : null\nconst AnimatedPath: any = svg?.Path ? Animated.createAnimatedComponent(svg.Path) : null\n\n/** What the button shows. */\nexport type MediaActionIcon = 'play' | 'pause' | 'download' | 'cancel' | 'none'\n\nconst PLAY = 0\nconst PAUSE = 1\nconst DOWNLOAD = 2\nconst CANCEL = 3\nconst NONE = 4\n\nconst ICON_CODES: Record<MediaActionIcon, number> = {\n play: PLAY,\n pause: PAUSE,\n download: DOWNLOAD,\n cancel: CANCEL,\n none: NONE,\n}\n\n/** The drawable's own size; everything scales by `size / 48`. */\nconst INTRINSIC = 48\n\n/** Download -> cancel runs in three stages. */\nconst STAGE1 = 0.5\nconst STAGE2 = 0.2\nconst STAGE3 = 0.3\n\n/** The arc turns once every 2.5s. */\nexport const RADIAL_SPIN_MS = 2500\n/** And starts at 112 degrees whenever the cancel icon is set. */\nconst RAD_OFFSET_START = 112\n/** Progress eases toward its target over 200ms, decelerating. */\nexport const RADIAL_PROGRESS_MS = 200\nconst DECELERATE = Easing.out(Easing.quad)\n\n/** The transition length for a pair of icons. */\nexport const transitionDuration = (from: MediaActionIcon, to: MediaActionIcon) => {\n if ((from === 'play' && to === 'pause') || (from === 'pause' && to === 'play'))\n return 300\n if (from === 'download' && to === 'cancel')\n return 400\n return 220\n}\n\n/** Restarts the ring's turn from 112 degrees. */\nconst spinRing = (rad: SharedValue<number>) => {\n rad.value = RAD_OFFSET_START\n rad.value = withRepeat(\n withTiming(RAD_OFFSET_START + 360, { duration: RADIAL_SPIN_MS, easing: Easing.linear }),\n -1,\n false\n )\n}\n\nconst isPlayPause = (icon: number) => {\n 'worklet'\n return icon === PLAY || icon === PAUSE\n}\n\nconst f = (value: number) => {\n 'worklet'\n return Math.round(value * 100) / 100\n}\n\n/** An SVG elliptical arc, Android's `drawArc(rect, start, sweep)`: degrees, clockwise from 3 o'clock. */\nexport const arcPath = (cx: number, cy: number, rx: number, ry: number, start: number, sweep: number) => {\n 'worklet'\n if (Math.abs(sweep) < 0.01)\n return ''\n\n // Two halves, so a full ring never has its ends land on the same point (which SVG\n // draws as nothing, or a dot with round caps).\n const clamped = Math.max(-360, Math.min(360, sweep))\n const point = (deg: number) => {\n const a = (deg * Math.PI) / 180\n return `${f(cx + rx * Math.cos(a))} ${f(cy + ry * Math.sin(a))}`\n }\n const dir = clamped > 0 ? 1 : 0\n const mid = start + clamped / 2\n return `M${point(start)} A${f(rx)} ${f(ry)} 0 0 ${dir} ${point(mid)} `\n + `A${f(rx)} ${f(ry)} 0 0 ${dir} ${point(start + clamped)} `\n}\n\nconst line = (x1: number, y1: number, x2: number, y2: number) => {\n 'worklet'\n return `M${f(x1)} ${f(y1)} L${f(x2)} ${f(y2)} `\n}\n\n/** The two strokes of an ✕ of half-size `d`, scaled by `k` and turned `deg` about the centre. */\nconst crossLines = (c: number, d: number, k: number, deg: number) => {\n 'worklet'\n if (d <= 0 || k <= 0)\n return []\n\n const r = (deg * Math.PI) / 180\n const cos = Math.cos(r) * k\n const sin = Math.sin(r) * k\n const p = (x: number, y: number) => [c + x * cos - y * sin, c + x * sin + y * cos]\n return [...p(-d, -d), ...p(d, d), ...p(d, -d), ...p(-d, d)]\n}\n\nconst cross = (c: number, d: number, k: number, deg: number) => {\n 'worklet'\n if (d <= 0 || k <= 0)\n return ''\n\n const r = (deg * Math.PI) / 180\n const cos = Math.cos(r) * k\n const sin = Math.sin(r) * k\n const p = (x: number, y: number) => [c + x * cos - y * sin, c + x * sin + y * cos]\n const [ax, ay] = p(-d, -d)\n const [bx, by] = p(d, d)\n const [cx2, cy2] = p(d, -d)\n const [dx, dy] = p(-d, d)\n return line(ax, ay, bx, by) + line(cx2, cy2, dx, dy)\n}\n\nexport interface RadialFrame {\n /** Download arrow strokes (and the curl it makes into the ring), and their alpha. */\n arrow: string\n arrowAlpha: number\n /** The cancel ✕, and its alpha. */\n cross: string\n crossAlpha: number\n /** The progress arc, and its alpha. */\n arc: string\n arcAlpha: number\n /** The play/pause glyph's scale and alpha. */\n glyphScale: number\n glyphAlpha: number\n /**\n * The same strokes as numbers, for drawing without react-native-svg: the arrow's straight\n * strokes and the ✕'s, as flat `x1 y1 x2 y2` runs, and the arc's start, sweep and radius.\n */\n arrowLines: number[]\n crossLines: number[]\n arcStart: number\n arcSweep: number\n arcRadius: number\n}\n\n/**\n * One frame of the media action icon for a drawable `size` across. `t` is\n * `transitionProgress` (1 at rest), `saved` the `savedTransitionProgress` the transition\n * started from, `progress` the eased `animatedDownloadProgress` and `rad` the arc's\n * `downloadRadOffset`.\n */\nexport const radialFrame = (\n current: number,\n next: number,\n t: number,\n saved: number,\n progress: number,\n rad: number,\n size: number,\n isMini: boolean\n): RadialFrame => {\n 'worklet'\n const scale = size / INTRINSIC\n const c = size / 2\n const animating = current !== next && t < 1\n const out: RadialFrame = {\n arrow: '',\n arrowAlpha: 0,\n cross: '',\n crossAlpha: 0,\n arc: '',\n arcAlpha: 0,\n glyphScale: 0,\n glyphAlpha: 0,\n arrowLines: [],\n crossLines: [],\n arcStart: 0,\n arcSweep: 0,\n arcRadius: 0,\n }\n\n // The download arrow.\n if (current === DOWNLOAD || next === DOWNLOAD) {\n const yStart = c - 9 * scale\n const yEnd = c + 9 * scale\n const yEnd2 = c + 12 * scale\n let yStart2: number\n let transition: number\n if (current === CANCEL && next === DOWNLOAD) {\n out.arrowAlpha = Math.min(1, t / 0.5)\n transition = t\n yStart2 = c + 12 * scale\n } else {\n if (next !== CANCEL && next !== DOWNLOAD) {\n out.arrowAlpha = Math.min(1, saved / 0.5) * (1 - t)\n transition = saved\n } else {\n out.arrowAlpha = 1\n transition = t\n }\n yStart2 = c + 1 * scale\n }\n\n let y1: number\n let y2: number\n let x1: number\n let x2: number\n let y3: number\n if (animating) {\n let p = transition\n if (next === DOWNLOAD || p <= STAGE1) {\n let cur: number\n let back: number\n if (next === DOWNLOAD) {\n back = transition\n cur = 1 - back\n } else {\n cur = transition / STAGE1\n back = 1 - cur\n }\n y1 = yStart + (yStart2 - yStart) * cur\n y2 = yEnd + (yEnd2 - yEnd) * cur\n x1 = c - 8 * back * scale\n x2 = c + 8 * back * scale\n y3 = y2 - 8 * back * scale\n } else {\n // The stem curls into the start of the ring, then the ✕ turns in.\n let d = 13 * scale * scale + (isMini ? 2 : 0)\n p -= STAGE1\n const p3 = p / (STAGE2 + STAGE3)\n let p1: number\n let p2: number\n if (p > STAGE2) {\n p1 = 1\n p2 = (p - STAGE2) / STAGE3\n } else {\n p1 = p / STAGE2\n p2 = 0\n }\n const start = 100 * p2\n out.arrow += arcPath(c - d / 2, yEnd2, d / 2, d / 2, start, 104 * p3 - start)\n\n y1 = yStart2 + (yEnd2 - yStart2) * p1\n y2 = y3 = yEnd2\n x1 = x2 = c\n\n if (p2 > 0) {\n d = 7 * p2 * scale\n out.cross = cross(c, d, 1, -45 * (1 - p2))\n out.crossLines = crossLines(c, d, 1, -45 * (1 - p2))\n out.crossAlpha = p2\n }\n }\n } else {\n y1 = yStart\n y2 = yEnd\n x1 = c - 8 * scale\n x2 = c + 8 * scale\n y3 = y2 - 8 * scale\n }\n if (y1 !== y2) {\n out.arrow += line(c, y1, c, y2)\n out.arrowLines.push(c, y1, c, y2)\n }\n if (x1 !== c) {\n out.arrow += line(x1, y3, c, y2) + line(x2, y3, c, y2)\n out.arrowLines.push(x1, y3, c, y2, x2, y3, c, y2)\n }\n }\n\n // The cancel ✕ and the progress ring.\n if (current === CANCEL || (current === NONE && next === CANCEL)) {\n let d: number\n let rotation = 0\n let iconScale = 1\n let alpha: number\n if (next === DOWNLOAD) {\n if (t <= STAGE3 + STAGE2) {\n const back = 1 - t / (STAGE3 + STAGE2)\n d = 7 * back * scale\n alpha = back\n } else {\n d = 0\n alpha = 0\n }\n } else if (isPlayPause(next)) {\n const back = 1 - t\n iconScale = 1 - t\n d = 7 * back * scale\n alpha = Math.min(1, back * 2)\n } else if (next === NONE) {\n const back = 1 - t\n d = 7 * scale\n alpha = back\n iconScale = back\n } else if (next === CANCEL) {\n if (current === NONE) \n iconScale = t\n else \n rotation = 45 * (1 - t)\n \n d = 7 * scale\n alpha = t\n } else {\n d = 7 * scale\n alpha = 1\n }\n if (current === next) {\n rotation = 0\n iconScale = 1\n alpha = 1\n d = 7 * scale\n }\n\n out.cross = cross(c, d, iconScale, rotation)\n out.crossLines = crossLines(c, d, iconScale, rotation)\n out.crossAlpha = alpha\n if (alpha > 0) {\n // At least 4 degrees, so a download that has not started still shows a dot.\n const sweep = Math.max(4, 360 * progress)\n const inset = isMini ? 2 : 4\n const r = c - inset\n out.arc = arcPath(c, c, r, r, rad, sweep)\n out.arcAlpha = alpha\n out.arcStart = rad\n out.arcSweep = sweep\n out.arcRadius = r\n }\n }\n\n // Play / pause, drawn by `PlayPauseIcon`; here only how much of it shows.\n if (isPlayPause(current) || isPlayPause(next)) \n if (isPlayPause(current) && isPlayPause(next)) {\n out.glyphScale = 1\n out.glyphAlpha = 1\n } else if (isPlayPause(next)) {\n out.glyphAlpha = animating ? t : 1\n // From the cancel ✕ it grows from nothing; from the arrow it is full size at half way.\n out.glyphScale = !animating\n ? 1\n : current === NONE || current === CANCEL\n ? t\n : Math.min(1, t / 0.5)\n } else {\n out.glyphAlpha = animating ? 1 - t : 0\n out.glyphScale = animating ? Math.max(0, 1 - t / 0.5) : 0\n }\n \n\n return out\n}\n\n/** One straight stroke of the frame with round caps, for drawing without react-native-svg. */\nfunction FallbackStroke ({ frame, isCross, index, color, width }: {\n frame: SharedValue<RadialFrame>\n isCross: boolean\n index: number\n color: string\n width: number\n}) {\n const style = useAnimatedStyle(() => {\n const lines = isCross ? frame.value.crossLines : frame.value.arrowLines\n const i = index * 4\n if (lines.length < i + 4)\n return { opacity: 0, width: 0 }\n\n const x1 = lines[i]\n const y1 = lines[i + 1]\n const x2 = lines[i + 2]\n const y2 = lines[i + 3]\n const length = Math.hypot(x2 - x1, y2 - y1) + width\n return {\n opacity: isCross ? frame.value.crossAlpha : frame.value.arrowAlpha,\n width: length,\n left: (x1 + x2) / 2 - length / 2,\n top: (y1 + y2) / 2 - width / 2,\n transform: [{ rotate: `${Math.atan2(y2 - y1, x2 - x1)}rad` }],\n }\n })\n return <Animated.View style={[styles.stroke, { height: width, borderRadius: width / 2, backgroundColor: color }, style]} />\n}\n\n/**\n * The progress arc without react-native-svg: two half rings, each clipped to its half of the\n * circle and turned in from the other side, and the whole turned to the arc's start.\n */\nfunction FallbackRing ({ frame, color, width, size, isMini }: {\n frame: SharedValue<RadialFrame>\n color: string\n width: number\n size: number\n isMini: boolean\n}) {\n const radius = size / 2 - (isMini ? 2 : 4)\n const diameter = radius * 2 + width\n const offset = size / 2 - diameter / 2\n // Drawn from 12 o'clock; Android's arcs start at 3.\n const ringStyle = useAnimatedStyle(() => ({\n opacity: frame.value.arcAlpha,\n transform: [{ rotate: `${frame.value.arcStart + 90}deg` }],\n }))\n const firstHalfStyle = useAnimatedStyle(() => ({\n transform: [{ rotate: `${45 + Math.min(frame.value.arcSweep, 180) - 180}deg` }],\n }))\n // Hidden until it is needed: parked on the far side, its ends sit on the clip's edge and\n // antialias into a hairline there.\n const secondHalfStyle = useAnimatedStyle(() => ({\n opacity: frame.value.arcSweep > 180 ? 1 : 0,\n transform: [{ rotate: `${45 + Math.max(frame.value.arcSweep, 180) - 180}deg` }],\n }))\n const halfRing = {\n width: diameter,\n height: diameter,\n borderRadius: diameter / 2,\n borderWidth: width,\n borderTopColor: color,\n borderRightColor: color,\n borderBottomColor: 'transparent',\n borderLeftColor: 'transparent',\n }\n return (\n <Animated.View style={[styles.ring, { left: offset, top: offset, width: diameter, height: diameter }, ringStyle]}>\n <View style={[styles.half, { left: diameter / 2, width: diameter / 2, height: diameter }]}>\n <Animated.View style={[styles.halfRing, halfRing, { left: -diameter / 2 }, firstHalfStyle]} />\n </View>\n <View style={[styles.half, { left: 0, width: diameter / 2, height: diameter }]}>\n <Animated.View style={[styles.halfRing, halfRing, { left: 0 }, secondHalfStyle]} />\n </View>\n </Animated.View>\n )\n}\n\nexport interface RadialProgressProps {\n /** The glyph. A change animates from the previous one. */\n icon: MediaActionIcon\n /**\n * Download or upload progress, 0..1, drawn as the ring while `icon` is `cancel`.\n * A shared value is followed on the UI thread without re-rendering.\n */\n progress?: number | SharedValue<number>\n /** Circle diameter: 44 for a voice note or file, 48 over a photo or video. */\n size?: number\n /** The glyph and ring. */\n color: string\n /** The filled circle behind them; omit for none. */\n backgroundColor?: string\n /** The mini variant: 2-wide strokes and a ring 2 in from the edge. */\n isMini?: boolean\n /** Glyph size of the play/pause icon. Default 18 for a 44 circle, scaled with `size`. */\n glyphSize?: number\n style?: StyleProp<ViewStyle>\n}\n\n/**\n * The media button: a filled circle with a\n * play, pause, download or cancel glyph, and while cancelable a ring that grows with\n * `progress` and turns once every 2.5s. Every animation runs on the UI thread.\n */\nexport function RadialProgress ({\n icon,\n progress = 0,\n size = 44,\n color,\n backgroundColor,\n isMini = false,\n glyphSize,\n style,\n}: RadialProgressProps) {\n const code = ICON_CODES[icon]\n const current = useSharedValue(code)\n const next = useSharedValue(code)\n const t = useSharedValue(1)\n const saved = useSharedValue(1)\n const arc = useSharedValue(0)\n const target = useSharedValue(typeof progress === 'number' ? progress : 0)\n const rad = useSharedValue(RAD_OFFSET_START)\n const previousIcon = useRef(icon)\n const fallbackProgress = useSharedValue(0)\n const progressSource = typeof progress === 'number' ? fallbackProgress : progress\n const numericProgress = typeof progress === 'number' ? progress : null\n\n const [initialIcon] = useState(icon)\n\n // The ring turns from the moment the cancel icon is set; mounted on it, too.\n useEffect(() => {\n if (initialIcon === 'cancel')\n spinRing(rad)\n\n return () => cancelAnimation(rad)\n }, [initialIcon, rad])\n\n useEffect(() => {\n const from = previousIcon.current\n if (from === icon)\n return\n\n previousIcon.current = icon\n const duration = transitionDuration(from, icon)\n // A new icon mid-transition starts from the icon being animated to.\n if (t.value < 1)\n current.value = next.value\n saved.value = t.value\n next.value = ICON_CODES[icon]\n if (icon === 'cancel') {\n arc.value = 0\n spinRing(rad)\n }\n t.value = 0\n t.value = withTiming(1, { duration, easing: Easing.linear }, finished => {\n if (!finished)\n return\n\n current.value = next.value\n if (next.value !== CANCEL)\n cancelAnimation(rad)\n })\n }, [icon, arc, current, next, rad, saved, t])\n\n // A number prop feeds the target from the JS side; a shared value from the UI thread.\n useEffect(() => {\n if (numericProgress != null)\n target.value = numericProgress\n }, [numericProgress, target])\n\n useAnimatedReaction(\n () => progressSource.value,\n value => {\n if (numericProgress == null)\n target.set(value)\n }\n )\n\n useAnimatedReaction(\n () => target.value,\n value => {\n // A drop jumps; a rise eases over 200ms from where the ring is.\n if (value <= arc.get()) {\n cancelAnimation(arc)\n arc.set(value)\n return\n }\n arc.set(withTiming(value, { duration: RADIAL_PROGRESS_MS, easing: DECELERATE }))\n }\n )\n\n // The frame is computed once per change and read by each path. The values are read here, in\n // the derived value's own worklet, so it is subscribed to all of them; the paths subscribe to\n // the derived value. Computing the frame in each of the three paths (and once more for the\n // fallback) built every SVG path string four times a frame while the ring spun.\n const frame = useDerivedValue(() =>\n radialFrame(current.value, next.value, t.value, saved.value, arc.value, rad.value, size, isMini))\n const arrowProps = useAnimatedProps(() => {\n const r = frame.value\n return { d: r.arrow || 'M0 0', opacity: r.arrowAlpha }\n })\n const crossProps = useAnimatedProps(() => {\n const r = frame.value\n return { d: r.cross || 'M0 0', opacity: r.crossAlpha }\n })\n const arcProps = useAnimatedProps(() => {\n const r = frame.value\n return { d: r.arc || 'M0 0', opacity: r.arcAlpha }\n })\n\n const glyphStyle = useAnimatedStyle(() => {\n const result = radialFrame(current.value, next.value, t.value, saved.value, 0, 0, size, isMini)\n return { opacity: result.glyphAlpha, transform: [{ scale: result.glyphScale }] }\n })\n\n // The circle fades in from no icon and out to it.\n const circleStyle = useAnimatedStyle(() => {\n const isAnimating = current.value !== next.value && t.value < 1\n if (!isAnimating)\n return { opacity: next.value === NONE ? 0 : 1 }\n if (current.value === NONE)\n return { opacity: t.value }\n return { opacity: next.value === NONE ? 1 - t.value : 1 }\n })\n\n // The stroke drops to 2 when the button is under 0.7 of its intrinsic size.\n const strokeWidth = isMini || size / INTRINSIC < 0.7 ? 2 : 3\n const circle = { width: size, height: size, borderRadius: size / 2 }\n const glyph = glyphSize ?? Math.round((18 * size) / 44)\n\n return (\n <View\n pointerEvents='none'\n style={[styles.root, circle, style]}\n >\n {backgroundColor != null && (\n <Animated.View style={[StyleSheet.absoluteFill, { backgroundColor, borderRadius: size / 2 }, circleStyle]} />\n )}\n <Animated.View style={[StyleSheet.absoluteFill, styles.center, glyphStyle]}>\n <PlayPauseIcon isPlaying={icon === 'pause'} color={color} size={glyph} />\n </Animated.View>\n {Svg && AnimatedPath && (\n <Svg width={size} height={size} style={StyleSheet.absoluteFill}>\n <AnimatedPath\n animatedProps={arrowProps}\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap='round'\n fill='none'\n />\n <AnimatedPath\n animatedProps={crossProps}\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap='round'\n fill='none'\n />\n <AnimatedPath\n animatedProps={arcProps}\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap='round'\n fill='none'\n />\n </Svg>\n )}\n {!Svg && (\n <>\n <FallbackRing frame={frame} color={color} width={strokeWidth} size={size} isMini={isMini} />\n {[0, 1, 2].map(index => (\n <FallbackStroke key={`arrow${index}`} frame={frame} isCross={false} index={index} color={color} width={strokeWidth} />\n ))}\n {[0, 1].map(index => (\n <FallbackStroke key={`cross${index}`} frame={frame} isCross index={index} color={color} width={strokeWidth} />\n ))}\n </>\n )}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: {\n overflow: 'hidden',\n },\n center: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n stroke: {\n position: 'absolute',\n },\n ring: {\n position: 'absolute',\n },\n half: {\n position: 'absolute',\n top: 0,\n overflow: 'hidden',\n },\n halfRing: {\n position: 'absolute',\n top: 0,\n },\n})\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SharedValue } from 'react-native-reanimated';
|
|
3
|
+
import { RecordButtonStyles } from './styles';
|
|
4
|
+
interface LockPillProps {
|
|
5
|
+
lockDistance: number;
|
|
6
|
+
/** How far the finger is up, capped at the lock distance. */
|
|
7
|
+
fingerUp: SharedValue<number>;
|
|
8
|
+
pauseMorph: SharedValue<number>;
|
|
9
|
+
/** The circle's entry, which the pill rises with. */
|
|
10
|
+
enter: SharedValue<number>;
|
|
11
|
+
lockHide: SharedValue<number>;
|
|
12
|
+
bob: SharedValue<number>;
|
|
13
|
+
lockedSV: SharedValue<number>;
|
|
14
|
+
lockTilt: SharedValue<number>;
|
|
15
|
+
isLocked: boolean;
|
|
16
|
+
isVideo: boolean;
|
|
17
|
+
/** Locked: the lock has become the pause button. Omitted, it is only drawn. */
|
|
18
|
+
onPause?: () => void;
|
|
19
|
+
styles: RecordButtonStyles;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The lock above the button: a padlock and an arrow while the finger can still
|
|
23
|
+
* slide up, the pause button once the take is locked.
|
|
24
|
+
*/
|
|
25
|
+
export declare function LockPill({ lockDistance, fingerUp, pauseMorph, enter, lockHide, bob, lockedSV, lockTilt, isLocked, isVideo, onPause, styles, }: LockPillProps): React.JSX.Element;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=LockPill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LockPill.d.ts","sourceRoot":"","sources":["../../../src/components/RecordButton/LockPill.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAiB,EAAE,WAAW,EAAoB,MAAM,yBAAyB,CAAA;AAMjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE7C,UAAU,aAAa;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,6DAA6D;IAC7D,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC/B,qDAAqD;IACrD,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7B,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7B,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,EAAE,kBAAkB,CAAA;CAC3B;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAE,EACxB,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,KAAK,EACL,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,aAAa,qBAkEf"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { c as _c } from "react/compiler-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Pressable, StyleSheet, View } from 'react-native';
|
|
4
|
+
import Animated, { useAnimatedStyle } from 'react-native-reanimated';
|
|
5
|
+
import { Icon } from '../Icon';
|
|
6
|
+
import { ChevronIcon, LockIcon, PauseIcon } from '../MediaControls';
|
|
7
|
+
import { entryCurve } from '../RecordCircle';
|
|
8
|
+
import { LOCK_BOB, LOCK_EXTRA_HEIGHT, LOCK_RISE, LOCK_WIDTH } from './constants';
|
|
9
|
+
/**
|
|
10
|
+
* The lock above the button: a padlock and an arrow while the finger can still
|
|
11
|
+
* slide up, the pause button once the take is locked.
|
|
12
|
+
*/
|
|
13
|
+
export function LockPill(t0) {
|
|
14
|
+
const $ = _c(38);
|
|
15
|
+
const {
|
|
16
|
+
lockDistance,
|
|
17
|
+
fingerUp,
|
|
18
|
+
pauseMorph,
|
|
19
|
+
enter,
|
|
20
|
+
lockHide,
|
|
21
|
+
bob,
|
|
22
|
+
lockedSV,
|
|
23
|
+
lockTilt,
|
|
24
|
+
isLocked,
|
|
25
|
+
isVideo,
|
|
26
|
+
onPause,
|
|
27
|
+
styles
|
|
28
|
+
} = t0;
|
|
29
|
+
const lockStyle = useAnimatedStyle(() => {
|
|
30
|
+
const moveProgress = 1 - Math.min(lockDistance, fingerUp.value) / lockDistance;
|
|
31
|
+
const unlocked = 1 - pauseMorph.value;
|
|
32
|
+
const sc = entryCurve(enter.value);
|
|
33
|
+
const scale = Math.max(0, sc * (1 - lockHide.value));
|
|
34
|
+
return {
|
|
35
|
+
height: LOCK_WIDTH + LOCK_EXTRA_HEIGHT * moveProgress * unlocked,
|
|
36
|
+
opacity: scale > 0.01 ? 1 : 0,
|
|
37
|
+
transform: [{
|
|
38
|
+
translateY: LOCK_RISE * (1 - Math.min(1, sc)) + LOCK_RISE * lockHide.value - Math.min(lockDistance, fingerUp.value) - LOCK_BOB * bob.value * moveProgress * unlocked
|
|
39
|
+
}, {
|
|
40
|
+
scale
|
|
41
|
+
}]
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
const padlockStyle = useAnimatedStyle(() => {
|
|
45
|
+
const moveProgress_0 = 1 - Math.min(lockDistance, fingerUp.value) / lockDistance;
|
|
46
|
+
const morph = pauseMorph.value;
|
|
47
|
+
const tilt = lockedSV.value > 0 ? lockTilt.value : 9 * (1 - moveProgress_0);
|
|
48
|
+
return {
|
|
49
|
+
opacity: 1 - morph,
|
|
50
|
+
transform: [{
|
|
51
|
+
rotate: `${tilt}deg`
|
|
52
|
+
}, {
|
|
53
|
+
scale: 1 - 0.5 * morph
|
|
54
|
+
}]
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
const lockArrowStyle = useAnimatedStyle(() => {
|
|
58
|
+
const moveProgress_1 = 1 - Math.min(lockDistance, fingerUp.value) / lockDistance;
|
|
59
|
+
return {
|
|
60
|
+
opacity: moveProgress_1 * (1 - pauseMorph.value)
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
const pauseIconStyle = useAnimatedStyle(() => ({
|
|
64
|
+
opacity: pauseMorph.value,
|
|
65
|
+
transform: [{
|
|
66
|
+
scale: 0.5 + 0.5 * pauseMorph.value
|
|
67
|
+
}]
|
|
68
|
+
}));
|
|
69
|
+
let t1;
|
|
70
|
+
if ($[0] !== lockStyle || $[1] !== styles.lockPill) {
|
|
71
|
+
t1 = [styles.lockPill, lockStyle];
|
|
72
|
+
$[0] = lockStyle;
|
|
73
|
+
$[1] = styles.lockPill;
|
|
74
|
+
$[2] = t1;
|
|
75
|
+
} else {
|
|
76
|
+
t1 = $[2];
|
|
77
|
+
}
|
|
78
|
+
const t2 = isLocked ? "box-none" : "none";
|
|
79
|
+
let t3;
|
|
80
|
+
if ($[3] !== styles.lockColor.color) {
|
|
81
|
+
t3 = <LockIcon color={styles.lockColor.color} size={15} />;
|
|
82
|
+
$[3] = styles.lockColor.color;
|
|
83
|
+
$[4] = t3;
|
|
84
|
+
} else {
|
|
85
|
+
t3 = $[4];
|
|
86
|
+
}
|
|
87
|
+
let t4;
|
|
88
|
+
if ($[5] !== styles.lockColor.color || $[6] !== t3) {
|
|
89
|
+
t4 = <Icon name="lock" color={styles.lockColor.color} size={15} fallback={t3} />;
|
|
90
|
+
$[5] = styles.lockColor.color;
|
|
91
|
+
$[6] = t3;
|
|
92
|
+
$[7] = t4;
|
|
93
|
+
} else {
|
|
94
|
+
t4 = $[7];
|
|
95
|
+
}
|
|
96
|
+
let t5;
|
|
97
|
+
if ($[8] !== padlockStyle || $[9] !== t4) {
|
|
98
|
+
t5 = <Animated.View style={padlockStyle}>{t4}</Animated.View>;
|
|
99
|
+
$[8] = padlockStyle;
|
|
100
|
+
$[9] = t4;
|
|
101
|
+
$[10] = t5;
|
|
102
|
+
} else {
|
|
103
|
+
t5 = $[10];
|
|
104
|
+
}
|
|
105
|
+
let t6;
|
|
106
|
+
if ($[11] !== pauseIconStyle || $[12] !== styles.lockSlotOverlay) {
|
|
107
|
+
t6 = [styles.lockSlotOverlay, pauseIconStyle];
|
|
108
|
+
$[11] = pauseIconStyle;
|
|
109
|
+
$[12] = styles.lockSlotOverlay;
|
|
110
|
+
$[13] = t6;
|
|
111
|
+
} else {
|
|
112
|
+
t6 = $[13];
|
|
113
|
+
}
|
|
114
|
+
let t7;
|
|
115
|
+
if ($[14] !== styles.lockColor.color) {
|
|
116
|
+
t7 = <PauseIcon color={styles.lockColor.color} size={14} />;
|
|
117
|
+
$[14] = styles.lockColor.color;
|
|
118
|
+
$[15] = t7;
|
|
119
|
+
} else {
|
|
120
|
+
t7 = $[15];
|
|
121
|
+
}
|
|
122
|
+
let t8;
|
|
123
|
+
if ($[16] !== t6 || $[17] !== t7) {
|
|
124
|
+
t8 = <Animated.View style={t6}>{t7}</Animated.View>;
|
|
125
|
+
$[16] = t6;
|
|
126
|
+
$[17] = t7;
|
|
127
|
+
$[18] = t8;
|
|
128
|
+
} else {
|
|
129
|
+
t8 = $[18];
|
|
130
|
+
}
|
|
131
|
+
let t9;
|
|
132
|
+
if ($[19] !== styles.lockSlot || $[20] !== t5 || $[21] !== t8) {
|
|
133
|
+
t9 = <View style={styles.lockSlot}>{t5}{t8}</View>;
|
|
134
|
+
$[19] = styles.lockSlot;
|
|
135
|
+
$[20] = t5;
|
|
136
|
+
$[21] = t8;
|
|
137
|
+
$[22] = t9;
|
|
138
|
+
} else {
|
|
139
|
+
t9 = $[22];
|
|
140
|
+
}
|
|
141
|
+
let t10;
|
|
142
|
+
if ($[23] !== styles.lockColor.color) {
|
|
143
|
+
t10 = <ChevronIcon color={styles.lockColor.color} size={12} direction="up" />;
|
|
144
|
+
$[23] = styles.lockColor.color;
|
|
145
|
+
$[24] = t10;
|
|
146
|
+
} else {
|
|
147
|
+
t10 = $[24];
|
|
148
|
+
}
|
|
149
|
+
let t11;
|
|
150
|
+
if ($[25] !== lockArrowStyle || $[26] !== t10) {
|
|
151
|
+
t11 = <Animated.View style={lockArrowStyle}>{t10}</Animated.View>;
|
|
152
|
+
$[25] = lockArrowStyle;
|
|
153
|
+
$[26] = t10;
|
|
154
|
+
$[27] = t11;
|
|
155
|
+
} else {
|
|
156
|
+
t11 = $[27];
|
|
157
|
+
}
|
|
158
|
+
let t12;
|
|
159
|
+
if ($[28] !== isLocked || $[29] !== isVideo || $[30] !== onPause) {
|
|
160
|
+
t12 = isLocked && onPause && <Pressable onPress={onPause} hitSlop={8} accessibilityRole="button" accessibilityLabel={isVideo ? "pause video recording" : "pause recording"} style={StyleSheet.absoluteFill} />;
|
|
161
|
+
$[28] = isLocked;
|
|
162
|
+
$[29] = isVideo;
|
|
163
|
+
$[30] = onPause;
|
|
164
|
+
$[31] = t12;
|
|
165
|
+
} else {
|
|
166
|
+
t12 = $[31];
|
|
167
|
+
}
|
|
168
|
+
let t13;
|
|
169
|
+
if ($[32] !== t1 || $[33] !== t11 || $[34] !== t12 || $[35] !== t2 || $[36] !== t9) {
|
|
170
|
+
t13 = <Animated.View style={t1} pointerEvents={t2}>{t9}{t11}{t12}</Animated.View>;
|
|
171
|
+
$[32] = t1;
|
|
172
|
+
$[33] = t11;
|
|
173
|
+
$[34] = t12;
|
|
174
|
+
$[35] = t2;
|
|
175
|
+
$[36] = t9;
|
|
176
|
+
$[37] = t13;
|
|
177
|
+
} else {
|
|
178
|
+
t13 = $[37];
|
|
179
|
+
}
|
|
180
|
+
return t13;
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=LockPill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LockPill.js","names":["React","Pressable","StyleSheet","View","Animated","useAnimatedStyle","Icon","ChevronIcon","LockIcon","PauseIcon","entryCurve","LOCK_BOB","LOCK_EXTRA_HEIGHT","LOCK_RISE","LOCK_WIDTH","LockPill","t0","$","_c","lockDistance","fingerUp","pauseMorph","enter","lockHide","bob","lockedSV","lockTilt","isLocked","isVideo","onPause","styles","lockStyle","moveProgress","Math","min","value","unlocked","sc","scale","max","height","opacity","transform","translateY","padlockStyle","moveProgress_0","morph","tilt","rotate","lockArrowStyle","moveProgress_1","pauseIconStyle","t1","lockPill","t2","t3","lockColor","color","t4","t5","t6","lockSlotOverlay","t7","t8","t9","lockSlot","t10","t11","t12","absoluteFill","t13"],"sources":["../../../src/components/RecordButton/LockPill.tsx"],"sourcesContent":["import React from 'react'\nimport { Pressable, StyleSheet, View } from 'react-native'\nimport Animated, { SharedValue, useAnimatedStyle } from 'react-native-reanimated'\n\nimport { Icon } from '../Icon'\nimport { ChevronIcon, LockIcon, PauseIcon } from '../MediaControls'\nimport { entryCurve } from '../RecordCircle'\nimport { LOCK_BOB, LOCK_EXTRA_HEIGHT, LOCK_RISE, LOCK_WIDTH } from './constants'\nimport { RecordButtonStyles } from './styles'\n\ninterface LockPillProps {\n lockDistance: number\n /** How far the finger is up, capped at the lock distance. */\n fingerUp: SharedValue<number>\n pauseMorph: SharedValue<number>\n /** The circle's entry, which the pill rises with. */\n enter: SharedValue<number>\n lockHide: SharedValue<number>\n bob: SharedValue<number>\n lockedSV: SharedValue<number>\n lockTilt: SharedValue<number>\n isLocked: boolean\n isVideo: boolean\n /** Locked: the lock has become the pause button. Omitted, it is only drawn. */\n onPause?: () => void\n styles: RecordButtonStyles\n}\n\n/**\n * The lock above the button: a padlock and an arrow while the finger can still\n * slide up, the pause button once the take is locked.\n */\nexport function LockPill ({\n lockDistance,\n fingerUp,\n pauseMorph,\n enter,\n lockHide,\n bob,\n lockedSV,\n lockTilt,\n isLocked,\n isVideo,\n onPause,\n styles,\n}: LockPillProps) {\n // `ControlsView`: the lock rises with the circle's entry curve, follows the\n // finger up 1:1, bobs while idle, and is 14 taller while it shows its arrow.\n const lockStyle = useAnimatedStyle(() => {\n const moveProgress = 1 - Math.min(lockDistance, fingerUp.value) / lockDistance\n const unlocked = 1 - pauseMorph.value\n const sc = entryCurve(enter.value)\n const scale = Math.max(0, sc * (1 - lockHide.value))\n return {\n height: LOCK_WIDTH + LOCK_EXTRA_HEIGHT * moveProgress * unlocked,\n opacity: scale > 0.01 ? 1 : 0,\n transform: [\n {\n translateY: LOCK_RISE * (1 - Math.min(1, sc)) + LOCK_RISE * lockHide.value -\n Math.min(lockDistance, fingerUp.value) - LOCK_BOB * bob.value * moveProgress * unlocked,\n },\n { scale },\n ],\n }\n })\n\n const padlockStyle = useAnimatedStyle(() => {\n const moveProgress = 1 - Math.min(lockDistance, fingerUp.value) / lockDistance\n const morph = pauseMorph.value\n const tilt = lockedSV.value > 0 ? lockTilt.value : 9 * (1 - moveProgress)\n return {\n opacity: 1 - morph,\n transform: [{ rotate: `${tilt}deg` }, { scale: 1 - 0.5 * morph }],\n }\n })\n\n const lockArrowStyle = useAnimatedStyle(() => {\n const moveProgress = 1 - Math.min(lockDistance, fingerUp.value) / lockDistance\n return { opacity: moveProgress * (1 - pauseMorph.value) }\n })\n\n const pauseIconStyle = useAnimatedStyle(() => ({\n opacity: pauseMorph.value,\n transform: [{ scale: 0.5 + 0.5 * pauseMorph.value }],\n }))\n\n return (\n <Animated.View style={[styles.lockPill, lockStyle]} pointerEvents={isLocked ? 'box-none' : 'none'}>\n <View style={styles.lockSlot}>\n <Animated.View style={padlockStyle}>\n <Icon name='lock' color={styles.lockColor.color} size={15} fallback={<LockIcon color={styles.lockColor.color} size={15} />} />\n </Animated.View>\n <Animated.View style={[styles.lockSlotOverlay, pauseIconStyle]}>\n <PauseIcon color={styles.lockColor.color} size={14} />\n </Animated.View>\n </View>\n <Animated.View style={lockArrowStyle}>\n <ChevronIcon color={styles.lockColor.color} size={12} direction='up' />\n </Animated.View>\n {/* Locked: the lock has become the pause button. */}\n {isLocked && onPause && (\n <Pressable\n onPress={onPause}\n hitSlop={8}\n accessibilityRole='button'\n accessibilityLabel={isVideo ? 'pause video recording' : 'pause recording'}\n style={StyleSheet.absoluteFill}\n />\n )}\n </Animated.View>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SharedValue } from 'react-native-reanimated';
|
|
3
|
+
import { RecordButtonStyles } from './styles';
|
|
4
|
+
import type { useRecordGesture } from './useRecordGesture';
|
|
5
|
+
/** Mic <-> camera: 0 shows the mic, 1 the camera, animated between on a toggle. */
|
|
6
|
+
export declare function useModeMorph(mode: 'voice' | 'video'): SharedValue<number>;
|
|
7
|
+
interface ModeButtonProps {
|
|
8
|
+
gesture: ReturnType<typeof useRecordGesture>;
|
|
9
|
+
/** 1 while the button shows, 0 while it hides under the big circle. */
|
|
10
|
+
buttonShown: SharedValue<number>;
|
|
11
|
+
modeSV: SharedValue<number>;
|
|
12
|
+
isVideo: boolean;
|
|
13
|
+
styles: RecordButtonStyles;
|
|
14
|
+
}
|
|
15
|
+
/** The 36pt button a take is held on, with its mic and camera icons. */
|
|
16
|
+
export declare function ModeButton({ gesture, buttonShown, modeSV, isVideo, styles }: ModeButtonProps): React.JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=ModeButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModeButton.d.ts","sourceRoot":"","sources":["../../../src/components/RecordButton/ModeButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,OAAiB,EAAgB,WAAW,EAAgD,MAAM,yBAAyB,CAAA;AAI3H,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAQ1D,mFAAmF;AACnF,wBAAgB,YAAY,CAAE,IAAI,EAAE,OAAO,GAAG,OAAO,uBAWpD;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;IAC5C,uEAAuE;IACvE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,kBAAkB,CAAA;CAC3B;AAED,wEAAwE;AACxE,wBAAgB,UAAU,CAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe,qBAgC7F"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { c as _c } from "react/compiler-runtime";
|
|
2
|
+
import React, { useEffect } from 'react';
|
|
3
|
+
import { GestureDetector } from 'react-native-gesture-handler';
|
|
4
|
+
import Animated, { ReduceMotion, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
5
|
+
import { Icon } from '../Icon';
|
|
6
|
+
import { CameraIcon, MicIcon } from '../MediaControls';
|
|
7
|
+
/**
|
|
8
|
+
* The idle button's icon last shown, so a remount caused by the voice / video
|
|
9
|
+
* toggle can cross-swap from the previous icon instead of snapping.
|
|
10
|
+
*/
|
|
11
|
+
let lastShownMode = null;
|
|
12
|
+
|
|
13
|
+
/** Mic <-> camera: 0 shows the mic, 1 the camera, animated between on a toggle. */
|
|
14
|
+
export function useModeMorph(mode) {
|
|
15
|
+
const $ = _c(4);
|
|
16
|
+
const isVideo = mode !== "voice";
|
|
17
|
+
const modeSV = useSharedValue(lastShownMode === null || lastShownMode === mode ? isVideo ? 1 : 0 : isVideo ? 0 : 1);
|
|
18
|
+
let t0;
|
|
19
|
+
let t1;
|
|
20
|
+
if ($[0] !== mode || $[1] !== modeSV) {
|
|
21
|
+
t0 = () => {
|
|
22
|
+
lastShownMode = mode;
|
|
23
|
+
modeSV.set(withTiming(mode === "video" ? 1 : 0, {
|
|
24
|
+
duration: 150,
|
|
25
|
+
reduceMotion: ReduceMotion.System
|
|
26
|
+
}));
|
|
27
|
+
};
|
|
28
|
+
t1 = [mode, modeSV];
|
|
29
|
+
$[0] = mode;
|
|
30
|
+
$[1] = modeSV;
|
|
31
|
+
$[2] = t0;
|
|
32
|
+
$[3] = t1;
|
|
33
|
+
} else {
|
|
34
|
+
t0 = $[2];
|
|
35
|
+
t1 = $[3];
|
|
36
|
+
}
|
|
37
|
+
useEffect(t0, t1);
|
|
38
|
+
return modeSV;
|
|
39
|
+
}
|
|
40
|
+
/** The 36pt button a take is held on, with its mic and camera icons. */
|
|
41
|
+
export function ModeButton(t0) {
|
|
42
|
+
const $ = _c(23);
|
|
43
|
+
const {
|
|
44
|
+
gesture,
|
|
45
|
+
buttonShown,
|
|
46
|
+
modeSV,
|
|
47
|
+
isVideo,
|
|
48
|
+
styles
|
|
49
|
+
} = t0;
|
|
50
|
+
const buttonStyle = useAnimatedStyle(() => ({
|
|
51
|
+
opacity: buttonShown.value,
|
|
52
|
+
transform: [{
|
|
53
|
+
scale: 0.6 + 0.4 * buttonShown.value
|
|
54
|
+
}]
|
|
55
|
+
}));
|
|
56
|
+
const micStyle = useAnimatedStyle(() => {
|
|
57
|
+
const out = Math.min(1, modeSV.value * 2);
|
|
58
|
+
return {
|
|
59
|
+
opacity: 1 - out,
|
|
60
|
+
transform: [{
|
|
61
|
+
scale: 1 - 0.9 * out
|
|
62
|
+
}]
|
|
63
|
+
};
|
|
64
|
+
});
|
|
65
|
+
const cameraStyle = useAnimatedStyle(() => {
|
|
66
|
+
const into = Math.max(0, modeSV.value * 2 - 1);
|
|
67
|
+
return {
|
|
68
|
+
opacity: into,
|
|
69
|
+
transform: [{
|
|
70
|
+
scale: 0.1 + 0.9 * into
|
|
71
|
+
}]
|
|
72
|
+
};
|
|
73
|
+
});
|
|
74
|
+
const t1 = isVideo ? "record video message" : "record voice message";
|
|
75
|
+
let t2;
|
|
76
|
+
if ($[0] !== buttonStyle || $[1] !== styles.button) {
|
|
77
|
+
t2 = [styles.button, buttonStyle];
|
|
78
|
+
$[0] = buttonStyle;
|
|
79
|
+
$[1] = styles.button;
|
|
80
|
+
$[2] = t2;
|
|
81
|
+
} else {
|
|
82
|
+
t2 = $[2];
|
|
83
|
+
}
|
|
84
|
+
let t3;
|
|
85
|
+
if ($[3] !== micStyle || $[4] !== styles.modeIcon) {
|
|
86
|
+
t3 = [styles.modeIcon, micStyle];
|
|
87
|
+
$[3] = micStyle;
|
|
88
|
+
$[4] = styles.modeIcon;
|
|
89
|
+
$[5] = t3;
|
|
90
|
+
} else {
|
|
91
|
+
t3 = $[5];
|
|
92
|
+
}
|
|
93
|
+
let t4;
|
|
94
|
+
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
95
|
+
t4 = <Icon name="mic" color="#fff" size={22} fallback={<MicIcon color="#fff" size={22} />} />;
|
|
96
|
+
$[6] = t4;
|
|
97
|
+
} else {
|
|
98
|
+
t4 = $[6];
|
|
99
|
+
}
|
|
100
|
+
let t5;
|
|
101
|
+
if ($[7] !== t3) {
|
|
102
|
+
t5 = <Animated.View style={t3}>{t4}</Animated.View>;
|
|
103
|
+
$[7] = t3;
|
|
104
|
+
$[8] = t5;
|
|
105
|
+
} else {
|
|
106
|
+
t5 = $[8];
|
|
107
|
+
}
|
|
108
|
+
let t6;
|
|
109
|
+
if ($[9] !== cameraStyle || $[10] !== styles.modeIcon) {
|
|
110
|
+
t6 = [styles.modeIcon, cameraStyle];
|
|
111
|
+
$[9] = cameraStyle;
|
|
112
|
+
$[10] = styles.modeIcon;
|
|
113
|
+
$[11] = t6;
|
|
114
|
+
} else {
|
|
115
|
+
t6 = $[11];
|
|
116
|
+
}
|
|
117
|
+
let t7;
|
|
118
|
+
if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
119
|
+
t7 = <Icon name="camera" color="#fff" size={22} fallback={<CameraIcon color="#fff" size={22} />} />;
|
|
120
|
+
$[12] = t7;
|
|
121
|
+
} else {
|
|
122
|
+
t7 = $[12];
|
|
123
|
+
}
|
|
124
|
+
let t8;
|
|
125
|
+
if ($[13] !== t6) {
|
|
126
|
+
t8 = <Animated.View style={t6}>{t7}</Animated.View>;
|
|
127
|
+
$[13] = t6;
|
|
128
|
+
$[14] = t8;
|
|
129
|
+
} else {
|
|
130
|
+
t8 = $[14];
|
|
131
|
+
}
|
|
132
|
+
let t9;
|
|
133
|
+
if ($[15] !== t1 || $[16] !== t2 || $[17] !== t5 || $[18] !== t8) {
|
|
134
|
+
t9 = <Animated.View accessibilityRole="button" accessibilityLabel={t1} style={t2}>{t5}{t8}</Animated.View>;
|
|
135
|
+
$[15] = t1;
|
|
136
|
+
$[16] = t2;
|
|
137
|
+
$[17] = t5;
|
|
138
|
+
$[18] = t8;
|
|
139
|
+
$[19] = t9;
|
|
140
|
+
} else {
|
|
141
|
+
t9 = $[19];
|
|
142
|
+
}
|
|
143
|
+
let t10;
|
|
144
|
+
if ($[20] !== gesture || $[21] !== t9) {
|
|
145
|
+
t10 = <GestureDetector gesture={gesture}>{t9}</GestureDetector>;
|
|
146
|
+
$[20] = gesture;
|
|
147
|
+
$[21] = t9;
|
|
148
|
+
$[22] = t10;
|
|
149
|
+
} else {
|
|
150
|
+
t10 = $[22];
|
|
151
|
+
}
|
|
152
|
+
return t10;
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=ModeButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModeButton.js","names":["React","useEffect","GestureDetector","Animated","ReduceMotion","useAnimatedStyle","useSharedValue","withTiming","Icon","CameraIcon","MicIcon","lastShownMode","useModeMorph","mode","$","_c","isVideo","modeSV","t0","t1","set","duration","reduceMotion","System","ModeButton","gesture","buttonShown","styles","buttonStyle","opacity","value","transform","scale","micStyle","out","Math","min","cameraStyle","into","max","t2","button","t3","modeIcon","t4","Symbol","for","t5","t6","t7","t8","t9","t10"],"sources":["../../../src/components/RecordButton/ModeButton.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport { GestureDetector } from 'react-native-gesture-handler'\nimport Animated, { ReduceMotion, SharedValue, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated'\n\nimport { Icon } from '../Icon'\nimport { CameraIcon, MicIcon } from '../MediaControls'\nimport { RecordButtonStyles } from './styles'\nimport type { useRecordGesture } from './useRecordGesture'\n\n/**\n * The idle button's icon last shown, so a remount caused by the voice / video\n * toggle can cross-swap from the previous icon instead of snapping.\n */\nlet lastShownMode: 'voice' | 'video' | null = null\n\n/** Mic <-> camera: 0 shows the mic, 1 the camera, animated between on a toggle. */\nexport function useModeMorph (mode: 'voice' | 'video') {\n const isVideo = mode !== 'voice'\n const modeSV = useSharedValue(lastShownMode === null || lastShownMode === mode ? (isVideo ? 1 : 0) : (isVideo ? 0 : 1))\n\n // Mic <-> camera: a quick scale and fade cross-swap when the mode toggles.\n useEffect(() => {\n lastShownMode = mode\n modeSV.set(withTiming(mode === 'video' ? 1 : 0, { duration: 150, reduceMotion: ReduceMotion.System }))\n }, [mode, modeSV])\n\n return modeSV\n}\n\ninterface ModeButtonProps {\n gesture: ReturnType<typeof useRecordGesture>\n /** 1 while the button shows, 0 while it hides under the big circle. */\n buttonShown: SharedValue<number>\n modeSV: SharedValue<number>\n isVideo: boolean\n styles: RecordButtonStyles\n}\n\n/** The 36pt button a take is held on, with its mic and camera icons. */\nexport function ModeButton ({ gesture, buttonShown, modeSV, isVideo, styles }: ModeButtonProps) {\n // Hidden under the big circle while a take records, back once it has left.\n const buttonStyle = useAnimatedStyle(() => ({\n opacity: buttonShown.value,\n transform: [{ scale: 0.6 + 0.4 * buttonShown.value }],\n }))\n\n const micStyle = useAnimatedStyle(() => {\n const out = Math.min(1, modeSV.value * 2)\n return { opacity: 1 - out, transform: [{ scale: 1 - 0.9 * out }] }\n })\n const cameraStyle = useAnimatedStyle(() => {\n const into = Math.max(0, modeSV.value * 2 - 1)\n return { opacity: into, transform: [{ scale: 0.1 + 0.9 * into }] }\n })\n\n return (\n <GestureDetector gesture={gesture}>\n <Animated.View\n accessibilityRole='button'\n accessibilityLabel={isVideo ? 'record video message' : 'record voice message'}\n style={[styles.button, buttonStyle]}\n >\n <Animated.View style={[styles.modeIcon, micStyle]}>\n <Icon name='mic' color='#fff' size={22} fallback={<MicIcon color='#fff' size={22} />} />\n </Animated.View>\n <Animated.View style={[styles.modeIcon, cameraStyle]}>\n <Icon name='camera' color='#fff' size={22} fallback={<CameraIcon color='#fff' size={22} />} />\n </Animated.View>\n </Animated.View>\n </GestureDetector>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RecordButtonStyles } from './styles';
|
|
3
|
+
export declare const AnimatedPressable: import("react-native-reanimated/lib/typescript/createAnimatedComponent").AnimatedComponentType<Readonly<Omit<import("react-native").PressableProps, "ref"> & {
|
|
4
|
+
ref?: React.Ref<import("react-native").PressableInstance> | undefined;
|
|
5
|
+
}>, (props: Omit<import("react-native").PressableProps, "ref"> & {
|
|
6
|
+
ref?: React.Ref<import("react-native").PressableInstance> | undefined;
|
|
7
|
+
}) => React.ReactNode, object>;
|
|
8
|
+
interface ResumeButtonProps {
|
|
9
|
+
isVideo: boolean;
|
|
10
|
+
onResume: () => void;
|
|
11
|
+
styles: RecordButtonStyles;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Previewing: the pause button turns into one that records on, its
|
|
15
|
+
* icon fading in as the bars fade out. It is
|
|
16
|
+
* drawn in the lock's own grey, not red.
|
|
17
|
+
*/
|
|
18
|
+
export declare function ResumeButton({ isVideo, onResume, styles }: ResumeButtonProps): React.JSX.Element;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=ResumeButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResumeButton.d.ts","sourceRoot":"","sources":["../../../src/components/RecordButton/ResumeButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE7C,eAAO,MAAM,iBAAiB;;;OAgC65G,CAAC;8BAhCh3G,CAAA;AAE5E,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,EAAE,kBAAkB,CAAA;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,iBAAiB,qBAkB7E"}
|