@sendbird/uikit-react 3.4.6-rc.1 → 3.4.7-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +177 -172
- package/App.js.map +1 -1
- package/Channel/components/ChannelHeader.js +44 -39
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +63 -61
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +52 -46
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +12 -9
- package/Channel/components/FrozenNotification.js.map +1 -1
- package/Channel/components/Message.js +165 -183
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +106 -113
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +128 -130
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +32 -28
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +134 -153
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +43 -42
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +18 -16
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +13 -14
- package/Channel/context.js.map +1 -1
- package/Channel.js +39 -40
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +27 -29
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +30 -21
- package/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/ChannelList/components/ChannelListUI.js +91 -98
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +70 -73
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +30 -30
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +7 -8
- package/ChannelList/context.js.map +1 -1
- package/ChannelList.js +30 -31
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-32bd4597.js → ChannelListProvider-c1d2f942.js} +160 -156
- package/ChannelListProvider-c1d2f942.js.map +1 -0
- package/{ChannelProvider-4e33aa60.js → ChannelProvider-4ab3a851.js} +429 -412
- package/ChannelProvider-4ab3a851.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +33 -37
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +45 -40
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +47 -48
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +38 -35
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +511 -556
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +69 -69
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +25 -27
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +53 -49
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +19 -18
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +24 -21
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +92 -93
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +41 -35
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +22 -20
- package/CreateChannel.js.map +1 -1
- package/CreateChannelProvider-d2188082.js +44 -0
- package/CreateChannelProvider-d2188082.js.map +1 -0
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -34
- package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/CreateOpenChannel/context.js +33 -28
- package/CreateOpenChannel/context.js.map +1 -1
- package/CreateOpenChannel.js +18 -16
- package/CreateOpenChannel.js.map +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile/context.js.map +1 -1
- package/EditUserProfile.js +18 -16
- package/EditUserProfile.js.map +1 -1
- package/LocalizationContext-9c54e783.js +20 -0
- package/{LocalizationContext-62966630.js.map → LocalizationContext-9c54e783.js.map} +1 -1
- package/MediaQueryContext-1988a4bc.js +82 -0
- package/MediaQueryContext-1988a4bc.js.map +1 -0
- package/MemberList-80ea8604.js +395 -0
- package/MemberList-80ea8604.js.map +1 -0
- package/Message/context.js +11 -10
- package/Message/context.js.map +1 -1
- package/MessageSearch/components/MessageSearchUI.js +59 -54
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +176 -165
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +45 -47
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +8 -6
- package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/OpenChannel/components/OpenChannelHeader.js +27 -22
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +32 -28
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +171 -172
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +60 -65
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +50 -48
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +32 -33
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +58 -59
- package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/OpenChannelList/components/OpenChannelPreview.js +21 -22
- package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +24 -23
- package/OpenChannelList.js.map +1 -1
- package/{OpenChannelListProvider-8be6450e.js → OpenChannelListProvider-c76663eb.js} +177 -155
- package/OpenChannelListProvider-c76663eb.js.map +1 -0
- package/OpenChannelProvider-fe3326aa.js +1883 -0
- package/{cjs/OpenChannelProvider-0bbac562.js.map → OpenChannelProvider-fe3326aa.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +46 -46
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +26 -26
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -36
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +508 -533
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/OpenChannelSettings/context.js +54 -56
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +19 -19
- package/OpenChannelSettings.js.map +1 -1
- package/RemoveMessageModal-99b5bab4.js +36 -0
- package/RemoveMessageModal-99b5bab4.js.map +1 -0
- package/SendbirdProvider.js +546 -405
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +157 -170
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +68 -62
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +22 -22
- package/Thread/components/ThreadHeader.js.map +1 -1
- package/Thread/components/ThreadList.js +82 -77
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +208 -219
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +103 -105
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +130 -116
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context/types.js +9 -9
- package/Thread/context/types.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +55 -55
- package/Thread.js.map +1 -1
- package/ThreadProvider-0a3c5f37.js +1692 -0
- package/ThreadProvider-0a3c5f37.js.map +1 -0
- package/{UserProfileContext-7083bd82.js → UserProfileContext-a8aa4c0f.js} +1 -1
- package/{UserProfileContext-7083bd82.js.map → UserProfileContext-a8aa4c0f.js.map} +1 -1
- package/{VoiceMessageInputWrapper-4479a1bd.js → VoiceMessageInputWrapper-ff160b51.js} +60 -59
- package/VoiceMessageInputWrapper-ff160b51.js.map +1 -0
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +38 -43
- package/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/VoiceRecorder/context.js +46 -45
- package/VoiceRecorder/context.js.map +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +43 -40
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/{WebAudioUtils-f57301b1.js → WebAudioUtils-5f08f354.js} +37 -37
- package/{WebAudioUtils-f57301b1.js.map → WebAudioUtils-5f08f354.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-48b56150.js → _rollupPluginBabelHelpers-b2d9bfc5.js} +2 -2
- package/_rollupPluginBabelHelpers-b2d9bfc5.js.map +1 -0
- package/{actionTypes-9badb1b4.js → actionTypes-e436fe6c.js} +2 -2
- package/{actionTypes-9badb1b4.js.map → actionTypes-e436fe6c.js.map} +1 -1
- package/cjs/App.js +177 -172
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +44 -39
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +63 -61
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +52 -46
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +12 -9
- package/cjs/Channel/components/FrozenNotification.js.map +1 -1
- package/cjs/Channel/components/Message.js +165 -183
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +106 -113
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +128 -130
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +32 -28
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +134 -153
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +43 -42
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +18 -16
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +14 -18
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel.js +39 -40
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +27 -29
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +30 -21
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListUI.js +91 -98
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +70 -73
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +30 -30
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +7 -8
- package/cjs/ChannelList/context.js.map +1 -1
- package/cjs/ChannelList.js +30 -31
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-c90e6d9b.js → ChannelListProvider-61d644da.js} +160 -156
- package/cjs/ChannelListProvider-61d644da.js.map +1 -0
- package/cjs/{ChannelProvider-6da44044.js → ChannelProvider-620bb354.js} +430 -412
- package/cjs/ChannelProvider-620bb354.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +33 -37
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -40
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -48
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +38 -35
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +511 -556
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +69 -69
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +25 -27
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +53 -49
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +19 -18
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +24 -21
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +92 -93
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +41 -35
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +22 -20
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/CreateChannelProvider-88b316a6.js +52 -0
- package/cjs/CreateChannelProvider-88b316a6.js.map +1 -0
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -34
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/cjs/CreateOpenChannel/context.js +33 -28
- package/cjs/CreateOpenChannel/context.js.map +1 -1
- package/cjs/CreateOpenChannel.js +18 -16
- package/cjs/CreateOpenChannel.js.map +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile/context.js.map +1 -1
- package/cjs/EditUserProfile.js +18 -16
- package/cjs/EditUserProfile.js.map +1 -1
- package/cjs/{LocalizationContext-4c1a8e44.js → LocalizationContext-af96cf5f.js} +9 -9
- package/cjs/{LocalizationContext-4c1a8e44.js.map → LocalizationContext-af96cf5f.js.map} +1 -1
- package/cjs/MediaQueryContext-8ec3f647.js +89 -0
- package/cjs/MediaQueryContext-8ec3f647.js.map +1 -0
- package/cjs/MemberList-7513f386.js +401 -0
- package/cjs/MemberList-7513f386.js.map +1 -0
- package/cjs/Message/context.js +11 -10
- package/cjs/Message/context.js.map +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +59 -54
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +176 -165
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +45 -47
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -22
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +32 -28
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +171 -172
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +60 -65
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +50 -48
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +32 -33
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +58 -59
- package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
- package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +24 -23
- package/cjs/OpenChannelList.js.map +1 -1
- package/cjs/OpenChannelListProvider-e78bf867.js +439 -0
- package/cjs/OpenChannelListProvider-e78bf867.js.map +1 -0
- package/cjs/OpenChannelProvider-ea1d7b37.js +1892 -0
- package/cjs/OpenChannelProvider-ea1d7b37.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +46 -46
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -26
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -36
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +508 -533
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/cjs/OpenChannelSettings/context.js +54 -56
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +19 -19
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/{RemoveMessageModal-63e870f4.js → RemoveMessageModal-15d1dcbd.js} +19 -13
- package/cjs/RemoveMessageModal-15d1dcbd.js.map +1 -0
- package/cjs/SendbirdProvider.js +546 -405
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +157 -170
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +68 -62
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +22 -22
- package/cjs/Thread/components/ThreadHeader.js.map +1 -1
- package/cjs/Thread/components/ThreadList.js +82 -77
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +208 -219
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +103 -105
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +130 -116
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context/types.js +13 -9
- package/cjs/Thread/context/types.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +55 -55
- package/cjs/Thread.js.map +1 -1
- package/cjs/ThreadProvider-572574d7.js +1701 -0
- package/cjs/ThreadProvider-572574d7.js.map +1 -0
- package/cjs/{UserProfileContext-34f6be33.js → UserProfileContext-f068b0ba.js} +1 -1
- package/cjs/{UserProfileContext-34f6be33.js.map → UserProfileContext-f068b0ba.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-770a185c.js → VoiceMessageInputWrapper-db7f2b72.js} +60 -59
- package/cjs/VoiceMessageInputWrapper-db7f2b72.js.map +1 -0
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +38 -43
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/cjs/VoiceRecorder/context.js +46 -45
- package/cjs/VoiceRecorder/context.js.map +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +43 -40
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/cjs/{WebAudioUtils-70bcccc3.js → WebAudioUtils-043bdeca.js} +37 -37
- package/cjs/{WebAudioUtils-70bcccc3.js.map → WebAudioUtils-043bdeca.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-8164e35a.js → _rollupPluginBabelHelpers-c5955c81.js} +2 -1
- package/cjs/_rollupPluginBabelHelpers-c5955c81.js.map +1 -0
- package/cjs/{actionTypes-4a2939b3.js → actionTypes-f2efbb7c.js} +2 -2
- package/cjs/{actionTypes-4a2939b3.js.map → actionTypes-f2efbb7c.js.map} +1 -1
- package/cjs/{color-f43f059a.js → color-afeb8dc2.js} +13 -12
- package/cjs/color-afeb8dc2.js.map +1 -0
- package/cjs/{compareIds-e5f7db38.js → compareIds-18b3b1d6.js} +1 -1
- package/cjs/{compareIds-e5f7db38.js.map → compareIds-18b3b1d6.js.map} +1 -1
- package/cjs/const-6691e574.js +20 -0
- package/cjs/const-6691e574.js.map +1 -0
- package/cjs/{const-611ac2dd.js → const-ab0f6056.js} +4 -4
- package/cjs/{const-611ac2dd.js.map → const-ab0f6056.js.map} +1 -1
- package/cjs/consts-6ec77e9a.js +6 -0
- package/cjs/consts-6ec77e9a.js.map +1 -0
- package/cjs/consts-a422c2f9.js +6 -0
- package/cjs/{consts-e0f44b83.js.map → consts-a422c2f9.js.map} +1 -1
- package/cjs/{consts-82dce75d.js → consts-a5382bc1.js} +18 -14
- package/cjs/{consts-82dce75d.js.map → consts-a5382bc1.js.map} +1 -1
- package/cjs/consts-bc27beff.js +6 -0
- package/cjs/{consts-d9ecf2d7.js.map → consts-bc27beff.js.map} +1 -1
- package/cjs/{context-32080e3d.js → context-60c4d3b7.js} +6 -5
- package/cjs/{context-32080e3d.js.map → context-60c4d3b7.js.map} +1 -1
- package/cjs/dist/index.css +246 -142
- package/cjs/dist/index.css.map +1 -1
- package/cjs/handlers/OpenChannelHandler.js.map +1 -1
- package/cjs/handlers/SessionHandler.js.map +1 -1
- package/cjs/index-0b344bd7.js +57 -0
- package/cjs/index-0b344bd7.js.map +1 -0
- package/cjs/{index-fc3f351f.js → index-4ee95667.js} +2 -4
- package/cjs/index-4ee95667.js.map +1 -0
- package/cjs/{index-584a87f3.js → index-68c57136.js} +1 -1
- package/cjs/{index-584a87f3.js.map → index-68c57136.js.map} +1 -1
- package/cjs/{index-6253d289.js → index-6cb4a530.js} +3 -12
- package/cjs/index-6cb4a530.js.map +1 -0
- package/cjs/{index-6295003c.js → index-73643285.js} +2 -2
- package/cjs/{index-6295003c.js.map → index-73643285.js.map} +1 -1
- package/cjs/index-76afc309.js +197 -0
- package/cjs/index-76afc309.js.map +1 -0
- package/cjs/{index-bddcf750.js → index-8049c2a3.js} +22 -15
- package/cjs/index-8049c2a3.js.map +1 -0
- package/cjs/{index-ecac7544.js → index-83d1d15e.js} +10 -30
- package/cjs/index-83d1d15e.js.map +1 -0
- package/cjs/{index-cc5b51fb.js → index-900dd19f.js} +37 -27
- package/cjs/index-900dd19f.js.map +1 -0
- package/cjs/index-9d518988.js +292 -0
- package/cjs/{index-911b358f.js.map → index-9d518988.js.map} +1 -1
- package/cjs/{index-1837f392.js → index-a50b2339.js} +50 -50
- package/cjs/index-a50b2339.js.map +1 -0
- package/cjs/{index-a9a828c4.js → index-c1de8d8f.js} +37 -39
- package/cjs/{index-a9a828c4.js.map → index-c1de8d8f.js.map} +1 -1
- package/cjs/index-ec8b6978.js +361 -0
- package/cjs/index-ec8b6978.js.map +1 -0
- package/cjs/index-f2146bae.js +563 -0
- package/cjs/index-f2146bae.js.map +1 -0
- package/cjs/{index-450c5c4a.js → index-f65677b1.js} +56 -193
- package/cjs/index-f65677b1.js.map +1 -0
- package/cjs/{index-58bddb18.js → index-ff8ea47f.js} +17 -17
- package/cjs/{index-58bddb18.js.map → index-ff8ea47f.js.map} +1 -1
- package/cjs/index.js +51 -51
- package/cjs/{index.module-d62bc038.js → index.module-9f5edc7b.js} +1 -1
- package/cjs/{index.module-d62bc038.js.map → index.module-9f5edc7b.js.map} +1 -1
- package/cjs/lame.all.js.map +1 -1
- package/cjs/sendbirdSelectors.js +319 -371
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-9717efda.js → stringSet-68748705.js} +2 -2
- package/cjs/stringSet-68748705.js.map +1 -0
- package/cjs/tokenize-d86ab0c7.js +140 -0
- package/cjs/tokenize-d86ab0c7.js.map +1 -0
- package/cjs/{topics-11bf2ffa.js → topics-825e5d42.js} +2 -2
- package/cjs/{topics-11bf2ffa.js.map → topics-825e5d42.js.map} +1 -1
- package/cjs/types-24accb8d.js +17 -0
- package/cjs/{types-997d2578.js.map → types-24accb8d.js.map} +1 -1
- package/cjs/ui/Accordion.js +19 -18
- package/cjs/ui/Accordion.js.map +1 -1
- package/cjs/ui/AccordionGroup.js +10 -11
- package/cjs/ui/AccordionGroup.js.map +1 -1
- package/cjs/ui/AdminMessage.js +10 -10
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +55 -59
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +16 -15
- package/cjs/ui/Badge.js.map +1 -1
- package/cjs/ui/BottomSheet.js +14 -10
- package/cjs/ui/BottomSheet.js.map +1 -1
- package/cjs/ui/Button.js +20 -24
- package/cjs/ui/Button.js.map +1 -1
- package/cjs/ui/ChannelAvatar.js +38 -41
- package/cjs/ui/ChannelAvatar.js.map +1 -1
- package/cjs/ui/Checkbox.js +9 -10
- package/cjs/ui/Checkbox.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +7 -5
- package/cjs/ui/ConnectionStatus.js.map +1 -1
- package/cjs/ui/ContextMenu.js +139 -135
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +12 -14
- package/cjs/ui/DateSeparator.js.map +1 -1
- package/cjs/ui/EmojiReactions.js +78 -86
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +22 -22
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +36 -35
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +16 -16
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +20 -28
- package/cjs/ui/IconButton.js.map +1 -1
- package/cjs/ui/ImageRenderer.js +33 -39
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +16 -14
- package/cjs/ui/Input.js.map +1 -1
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/LinkLabel.js.map +1 -1
- package/cjs/ui/Loader.js +10 -12
- package/cjs/ui/Loader.js.map +1 -1
- package/cjs/ui/MentionLabel.js +58 -61
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js +10 -10
- package/cjs/ui/MentionUserLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +273 -270
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +87 -79
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +70 -72
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +50 -57
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +49 -38
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +40 -32
- package/cjs/ui/MessageSearchItem.js.map +1 -1
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +52 -45
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js +10 -10
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +48 -44
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +8 -7
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
- package/cjs/ui/OpenChannelAvatar.js +18 -17
- package/cjs/ui/OpenChannelAvatar.js.map +1 -1
- package/cjs/ui/OpenchannelConversationHeader.js +17 -13
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
- package/cjs/ui/OpenchannelFileMessage.js +134 -140
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +177 -176
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +209 -214
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +159 -164
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +5 -6
- package/cjs/ui/PlaceHolder.js.map +1 -1
- package/cjs/ui/PlaybackTime.js +15 -16
- package/cjs/ui/PlaybackTime.js.map +1 -1
- package/cjs/ui/ProgressBar.js +13 -15
- package/cjs/ui/ProgressBar.js.map +1 -1
- package/cjs/ui/QuoteMessage.js +42 -38
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +27 -23
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +13 -17
- package/cjs/ui/ReactionBadge.js.map +1 -1
- package/cjs/ui/ReactionButton.js +15 -18
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +14 -14
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +13 -21
- package/cjs/ui/TextButton.js.map +1 -1
- package/cjs/ui/TextMessageItemBody.js +31 -31
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThreadReplies.js +25 -21
- package/cjs/ui/ThreadReplies.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +32 -37
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Toggle.js +202 -0
- package/cjs/ui/Toggle.js.map +1 -0
- package/cjs/ui/Tooltip.js +8 -9
- package/cjs/ui/Tooltip.js.map +1 -1
- package/cjs/ui/TooltipWrapper.js +17 -18
- package/cjs/ui/TooltipWrapper.js.map +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +19 -18
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +72 -73
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +30 -25
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/VoiceMessageItemBody.js +37 -42
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
- package/cjs/ui/VoiceMessgeInput.js +7 -8
- package/cjs/ui/VoiceMessgeInput.js.map +1 -1
- package/cjs/ui/Word.js +26 -27
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/useLongPress-d9deb354.js +83 -0
- package/cjs/{useLongPress-0b0040bb.js.map → useLongPress-d9deb354.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +2 -2
- package/cjs/useSendbirdStateContext.js.map +1 -1
- package/cjs/utils/message/getOutgoingMessageState.js +16 -14
- package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
- package/cjs/utils/message/isVoiceMessage.js +3 -3
- package/cjs/utils/message/isVoiceMessage.js.map +1 -1
- package/cjs/{utils-aeadc058.js → utils-21326993.js} +3 -3
- package/cjs/{utils-aeadc058.js.map → utils-21326993.js.map} +1 -1
- package/cjs/utils-4b74ea64.js +31 -0
- package/cjs/utils-4b74ea64.js.map +1 -0
- package/cjs/utils-7f75ad97.js +35 -0
- package/cjs/utils-7f75ad97.js.map +1 -0
- package/cjs/{utils-d40c9909.js → utils-d5176360.js} +1 -1
- package/cjs/{utils-d40c9909.js.map → utils-d5176360.js.map} +1 -1
- package/cjs/uuid-0b4ed44c.js +15 -0
- package/cjs/{uuid-d0a9c040.js.map → uuid-0b4ed44c.js.map} +1 -1
- package/cjs/withSendbird.js +15 -16
- package/cjs/withSendbird.js.map +1 -1
- package/{color-4ecee870.js → color-3bac434a.js} +5 -5
- package/{color-4ecee870.js.map → color-3bac434a.js.map} +1 -1
- package/{compareIds-bc4cf9bf.js → compareIds-1e0e668f.js} +1 -1
- package/{compareIds-bc4cf9bf.js.map → compareIds-1e0e668f.js.map} +1 -1
- package/const-5f722b91.js +13 -0
- package/const-5f722b91.js.map +1 -0
- package/{const-8a7444d1.js → const-6a07b718.js} +4 -4
- package/{const-8a7444d1.js.map → const-6a07b718.js.map} +1 -1
- package/consts-790ae3a9.js +4 -0
- package/{consts-7a61df9f.js.map → consts-790ae3a9.js.map} +1 -1
- package/consts-aadaccca.js +4 -0
- package/consts-aadaccca.js.map +1 -0
- package/consts-c9746f2b.js +27 -0
- package/{consts-96859f90.js.map → consts-c9746f2b.js.map} +1 -1
- package/consts-d4c78cc0.js +4 -0
- package/consts-d4c78cc0.js.map +1 -0
- package/context-fcbabe23.js +13 -0
- package/{context-c54bc9b4.js.map → context-fcbabe23.js.map} +1 -1
- package/dist/index.css +246 -142
- package/dist/index.css.map +1 -1
- package/handlers/OpenChannelHandler.js.map +1 -1
- package/handlers/SessionHandler.js.map +1 -1
- package/{index-adfdd634.js → index-1a3c0d72.js} +2 -4
- package/index-1a3c0d72.js.map +1 -0
- package/{index-6f66895e.js → index-2a938266.js} +1 -1
- package/{index-6f66895e.js.map → index-2a938266.js.map} +1 -1
- package/{index-c4ff34e4.js → index-3062a861.js} +3 -12
- package/index-3062a861.js.map +1 -0
- package/index-38a78d99.js +283 -0
- package/{index-47ba6604.js.map → index-38a78d99.js.map} +1 -1
- package/{index-538fa479.js → index-4111594a.js} +2 -2
- package/{index-538fa479.js.map → index-4111594a.js.map} +1 -1
- package/{index-77a24725.js → index-51bd074f.js} +37 -27
- package/index-51bd074f.js.map +1 -0
- package/{index-e5062739.js → index-59bd3da1.js} +50 -50
- package/index-59bd3da1.js.map +1 -0
- package/{index-af95f2b0.js → index-77f3d9b0.js} +17 -17
- package/{index-af95f2b0.js.map → index-77f3d9b0.js.map} +1 -1
- package/{index-3ac8a689.js → index-83600696.js} +37 -39
- package/{index-3ac8a689.js.map → index-83600696.js.map} +1 -1
- package/index-8df6bff0.js +51 -0
- package/index-8df6bff0.js.map +1 -0
- package/{index-6574e8fd.js → index-a9ddd0f5.js} +10 -30
- package/index-a9ddd0f5.js.map +1 -0
- package/index-c7cc73db.js +182 -0
- package/index-c7cc73db.js.map +1 -0
- package/{index-2ea26b17.js → index-cfd0e4c4.js} +22 -15
- package/index-cfd0e4c4.js.map +1 -0
- package/index-dbe0e004.js +520 -0
- package/index-dbe0e004.js.map +1 -0
- package/index-ef0bd198.js +354 -0
- package/index-ef0bd198.js.map +1 -0
- package/{index-5cfaecc9.js → index-f48cfdf7.js} +56 -193
- package/index-f48cfdf7.js.map +1 -0
- package/index.d.ts +38 -8
- package/index.js +51 -51
- package/{index.module-a2145ffe.js → index.module-ab8289c1.js} +1 -1
- package/{index.module-a2145ffe.js.map → index.module-ab8289c1.js.map} +1 -1
- package/lame.all.js.map +1 -1
- package/package.json +21 -3
- package/sendbirdSelectors.js +319 -371
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-e0fd81b2.js → stringSet-1f18348a.js} +2 -2
- package/stringSet-1f18348a.js.map +1 -0
- package/tokenize-63d895d3.js +135 -0
- package/tokenize-63d895d3.js.map +1 -0
- package/{topics-bc5fee43.js → topics-d8d10f83.js} +2 -2
- package/{topics-bc5fee43.js.map → topics-d8d10f83.js.map} +1 -1
- package/types-a85de720.js +15 -0
- package/{types-84207ac4.js.map → types-a85de720.js.map} +1 -1
- package/ui/Accordion.js +19 -18
- package/ui/Accordion.js.map +1 -1
- package/ui/AccordionGroup.js +10 -11
- package/ui/AccordionGroup.js.map +1 -1
- package/ui/AdminMessage.js +10 -10
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +55 -59
- package/ui/Avatar.js.map +1 -1
- package/ui/Badge.js +16 -15
- package/ui/Badge.js.map +1 -1
- package/ui/BottomSheet.js +14 -10
- package/ui/BottomSheet.js.map +1 -1
- package/ui/Button.js +20 -24
- package/ui/Button.js.map +1 -1
- package/ui/ChannelAvatar.js +38 -41
- package/ui/ChannelAvatar.js.map +1 -1
- package/ui/Checkbox.js +9 -10
- package/ui/Checkbox.js.map +1 -1
- package/ui/ConnectionStatus.js +7 -5
- package/ui/ConnectionStatus.js.map +1 -1
- package/ui/ContextMenu.js +139 -135
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +12 -14
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +78 -86
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +22 -22
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +36 -35
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +2 -2
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +20 -28
- package/ui/IconButton.js.map +1 -1
- package/ui/ImageRenderer.js +33 -39
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +16 -14
- package/ui/Input.js.map +1 -1
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/LinkLabel.js.map +1 -1
- package/ui/Loader.js +10 -12
- package/ui/Loader.js.map +1 -1
- package/ui/MentionLabel.js +58 -61
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js +10 -10
- package/ui/MentionUserLabel.js.map +1 -1
- package/ui/MessageContent.js +273 -270
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +87 -79
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +70 -72
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +50 -57
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +49 -38
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +40 -32
- package/ui/MessageSearchItem.js.map +1 -1
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +52 -45
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js +10 -10
- package/ui/MutedAvatarOverlay.js.map +1 -1
- package/ui/OGMessageItemBody.js +48 -44
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +8 -7
- package/ui/OpenChannelAdminMessage.js.map +1 -1
- package/ui/OpenChannelAvatar.js +18 -17
- package/ui/OpenChannelAvatar.js.map +1 -1
- package/ui/OpenchannelConversationHeader.js +17 -13
- package/ui/OpenchannelConversationHeader.js.map +1 -1
- package/ui/OpenchannelFileMessage.js +134 -140
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +177 -176
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +209 -214
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +159 -164
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +5 -6
- package/ui/PlaceHolder.js.map +1 -1
- package/ui/PlaybackTime.js +15 -16
- package/ui/PlaybackTime.js.map +1 -1
- package/ui/ProgressBar.js +13 -15
- package/ui/ProgressBar.js.map +1 -1
- package/ui/QuoteMessage.js +42 -38
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +27 -23
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +13 -17
- package/ui/ReactionBadge.js.map +1 -1
- package/ui/ReactionButton.js +15 -18
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +14 -14
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +13 -21
- package/ui/TextButton.js.map +1 -1
- package/ui/TextMessageItemBody.js +31 -31
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThreadReplies.js +25 -21
- package/ui/ThreadReplies.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +32 -37
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Toggle.js +191 -0
- package/ui/Toggle.js.map +1 -0
- package/ui/Tooltip.js +8 -9
- package/ui/Tooltip.js.map +1 -1
- package/ui/TooltipWrapper.js +17 -18
- package/ui/TooltipWrapper.js.map +1 -1
- package/ui/UnknownMessageItemBody.js +19 -18
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +72 -73
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +30 -25
- package/ui/UserProfile.js.map +1 -1
- package/ui/VoiceMessageItemBody.js +37 -42
- package/ui/VoiceMessageItemBody.js.map +1 -1
- package/ui/VoiceMessgeInput.js +7 -8
- package/ui/VoiceMessgeInput.js.map +1 -1
- package/ui/Word.js +26 -27
- package/ui/Word.js.map +1 -1
- package/useLongPress-8acf717c.js +81 -0
- package/{useLongPress-08d9369b.js.map → useLongPress-8acf717c.js.map} +1 -1
- package/useSendbirdStateContext.js +2 -2
- package/useSendbirdStateContext.js.map +1 -1
- package/utils/message/getOutgoingMessageState.js +9 -8
- package/utils/message/getOutgoingMessageState.js.map +1 -1
- package/utils/message/isVoiceMessage.js +3 -3
- package/utils/message/isVoiceMessage.js.map +1 -1
- package/{utils-7dc80efd.js → utils-0c09801e.js} +1 -1
- package/{utils-7dc80efd.js.map → utils-0c09801e.js.map} +1 -1
- package/utils-447a922e.js +31 -0
- package/utils-447a922e.js.map +1 -0
- package/{utils-3c97842b.js → utils-83bbfb63.js} +3 -3
- package/{utils-3c97842b.js.map → utils-83bbfb63.js.map} +1 -1
- package/utils-b57bff14.js +29 -0
- package/utils-b57bff14.js.map +1 -0
- package/uuid-48baadaf.js +13 -0
- package/{uuid-39d923b9.js.map → uuid-48baadaf.js.map} +1 -1
- package/withSendbird.js +15 -16
- package/withSendbird.js.map +1 -1
- package/ChannelListProvider-32bd4597.js.map +0 -1
- package/ChannelProvider-4e33aa60.js.map +0 -1
- package/CreateChannelProvider-96aa4ed0.js +0 -48
- package/CreateChannelProvider-96aa4ed0.js.map +0 -1
- package/LocalizationContext-62966630.js +0 -20
- package/MediaQueryContext-17146a37.js +0 -80
- package/MediaQueryContext-17146a37.js.map +0 -1
- package/MemberList-ef0a35ad.js +0 -412
- package/MemberList-ef0a35ad.js.map +0 -1
- package/OpenChannelListProvider-8be6450e.js.map +0 -1
- package/OpenChannelProvider-98df8b74.js +0 -1844
- package/OpenChannelProvider-98df8b74.js.map +0 -1
- package/RemoveMessageModal-0efd9201.js +0 -30
- package/RemoveMessageModal-0efd9201.js.map +0 -1
- package/ThreadProvider-1798360b.js +0 -1623
- package/ThreadProvider-1798360b.js.map +0 -1
- package/VoiceMessageInputWrapper-4479a1bd.js.map +0 -1
- package/_rollupPluginBabelHelpers-48b56150.js.map +0 -1
- package/cjs/ChannelListProvider-c90e6d9b.js.map +0 -1
- package/cjs/ChannelProvider-6da44044.js.map +0 -1
- package/cjs/CreateChannelProvider-ff9bb9da.js +0 -55
- package/cjs/CreateChannelProvider-ff9bb9da.js.map +0 -1
- package/cjs/MediaQueryContext-9f3958fe.js +0 -87
- package/cjs/MediaQueryContext-9f3958fe.js.map +0 -1
- package/cjs/MemberList-1ad4eda5.js +0 -418
- package/cjs/MemberList-1ad4eda5.js.map +0 -1
- package/cjs/OpenChannelListProvider-f7387ce4.js +0 -416
- package/cjs/OpenChannelListProvider-f7387ce4.js.map +0 -1
- package/cjs/OpenChannelProvider-0bbac562.js +0 -1853
- package/cjs/RemoveMessageModal-63e870f4.js.map +0 -1
- package/cjs/ThreadProvider-ca9e5e4f.js +0 -1632
- package/cjs/ThreadProvider-ca9e5e4f.js.map +0 -1
- package/cjs/VoiceMessageInputWrapper-770a185c.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-8164e35a.js.map +0 -1
- package/cjs/color-f43f059a.js.map +0 -1
- package/cjs/const-e7388711.js +0 -19
- package/cjs/const-e7388711.js.map +0 -1
- package/cjs/consts-d9ecf2d7.js +0 -6
- package/cjs/consts-e0f44b83.js +0 -6
- package/cjs/consts-f8bd3346.js +0 -6
- package/cjs/consts-f8bd3346.js.map +0 -1
- package/cjs/index-0f5a2c3b.js +0 -346
- package/cjs/index-0f5a2c3b.js.map +0 -1
- package/cjs/index-1837f392.js.map +0 -1
- package/cjs/index-450c5c4a.js.map +0 -1
- package/cjs/index-6253d289.js.map +0 -1
- package/cjs/index-911b358f.js +0 -271
- package/cjs/index-946fe9b8.js +0 -649
- package/cjs/index-946fe9b8.js.map +0 -1
- package/cjs/index-bddcf750.js.map +0 -1
- package/cjs/index-cc5b51fb.js.map +0 -1
- package/cjs/index-d217a491.js +0 -192
- package/cjs/index-d217a491.js.map +0 -1
- package/cjs/index-ecac7544.js.map +0 -1
- package/cjs/index-f2afea13.js +0 -59
- package/cjs/index-f2afea13.js.map +0 -1
- package/cjs/index-fc3f351f.js.map +0 -1
- package/cjs/stringSet-9717efda.js.map +0 -1
- package/cjs/tokenize-b42df26a.js +0 -141
- package/cjs/tokenize-b42df26a.js.map +0 -1
- package/cjs/tslib.es6-b412d11d.js +0 -97
- package/cjs/tslib.es6-b412d11d.js.map +0 -1
- package/cjs/types-997d2578.js +0 -11
- package/cjs/useLongPress-0b0040bb.js +0 -100
- package/cjs/utils-301360ec.js +0 -27
- package/cjs/utils-301360ec.js.map +0 -1
- package/cjs/utils-43d14023.js +0 -35
- package/cjs/utils-43d14023.js.map +0 -1
- package/cjs/uuid-d0a9c040.js +0 -17
- package/const-34b3294d.js +0 -13
- package/const-34b3294d.js.map +0 -1
- package/consts-165100af.js +0 -4
- package/consts-165100af.js.map +0 -1
- package/consts-7a61df9f.js +0 -4
- package/consts-81c7d9ed.js +0 -4
- package/consts-81c7d9ed.js.map +0 -1
- package/consts-96859f90.js +0 -23
- package/context-c54bc9b4.js +0 -12
- package/index-1db30515.js +0 -607
- package/index-1db30515.js.map +0 -1
- package/index-2ea26b17.js.map +0 -1
- package/index-47ba6604.js +0 -262
- package/index-5cfaecc9.js.map +0 -1
- package/index-6574e8fd.js.map +0 -1
- package/index-77a24725.js.map +0 -1
- package/index-adfdd634.js.map +0 -1
- package/index-c4ff34e4.js.map +0 -1
- package/index-df6b2fc4.js +0 -177
- package/index-df6b2fc4.js.map +0 -1
- package/index-e2834120.js +0 -339
- package/index-e2834120.js.map +0 -1
- package/index-e5062739.js.map +0 -1
- package/index-f5d419ec.js +0 -53
- package/index-f5d419ec.js.map +0 -1
- package/stringSet-e0fd81b2.js.map +0 -1
- package/tokenize-22d48b61.js +0 -136
- package/tokenize-22d48b61.js.map +0 -1
- package/tslib.es6-85bcd95d.js +0 -92
- package/tslib.es6-85bcd95d.js.map +0 -1
- package/types-84207ac4.js +0 -9
- package/useLongPress-08d9369b.js +0 -98
- package/utils-13ac01f0.js +0 -25
- package/utils-13ac01f0.js.map +0 -1
- package/utils-4aea6ebc.js +0 -31
- package/utils-4aea6ebc.js.map +0 -1
- package/uuid-39d923b9.js +0 -15
|
@@ -1,64 +1,59 @@
|
|
|
1
1
|
import { useState, useEffect } from 'react';
|
|
2
|
-
import { u as useVoicePlayerContext, A as AudioUnitDefaultValue } from '../index-
|
|
3
|
-
import { g as VOICE_PLAYER_AUDIO_ID } from '../consts-
|
|
2
|
+
import { u as useVoicePlayerContext, A as AudioUnitDefaultValue } from '../index-38a78d99.js';
|
|
3
|
+
import { g as VOICE_PLAYER_AUDIO_ID } from '../consts-c9746f2b.js';
|
|
4
4
|
import { useVoiceRecorderContext } from '../VoiceRecorder/context.js';
|
|
5
|
-
import '../
|
|
5
|
+
import '../_rollupPluginBabelHelpers-b2d9bfc5.js';
|
|
6
6
|
import '../useSendbirdStateContext.js';
|
|
7
7
|
import '../withSendbird.js';
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
if (key === void 0) {
|
|
14
|
-
key = '';
|
|
15
|
-
}
|
|
16
|
-
return "".concat(channelUrl, "-").concat(key);
|
|
9
|
+
const generateGroupKey = function () {
|
|
10
|
+
let channelUrl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
11
|
+
let key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
12
|
+
return `${channelUrl}-${key}`;
|
|
17
13
|
};
|
|
18
14
|
|
|
19
|
-
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
key =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
15
|
+
const useVoicePlayer = _ref => {
|
|
16
|
+
var _voicePlayerStore$aud;
|
|
17
|
+
let {
|
|
18
|
+
key = '',
|
|
19
|
+
channelUrl = '',
|
|
20
|
+
audioFile = null,
|
|
21
|
+
audioFileUrl = ''
|
|
22
|
+
} = _ref;
|
|
23
|
+
const [groupKey] = useState(generateGroupKey(channelUrl, key));
|
|
24
|
+
const {
|
|
25
|
+
play,
|
|
26
|
+
pause,
|
|
27
|
+
stop,
|
|
28
|
+
voicePlayerStore
|
|
29
|
+
} = useVoicePlayerContext();
|
|
30
|
+
const {
|
|
31
|
+
isRecordable
|
|
32
|
+
} = useVoiceRecorderContext();
|
|
33
|
+
const currentAudioUnit = (voicePlayerStore === null || voicePlayerStore === void 0 ? void 0 : (_voicePlayerStore$aud = voicePlayerStore.audioStorage) === null || _voicePlayerStore$aud === void 0 ? void 0 : _voicePlayerStore$aud[groupKey]) || AudioUnitDefaultValue();
|
|
34
|
+
const playVoicePlayer = () => {
|
|
38
35
|
if (!isRecordable) {
|
|
39
36
|
play === null || play === void 0 ? void 0 : play({
|
|
40
|
-
groupKey
|
|
41
|
-
audioFile
|
|
42
|
-
audioFileUrl
|
|
37
|
+
groupKey,
|
|
38
|
+
audioFile,
|
|
39
|
+
audioFileUrl
|
|
43
40
|
});
|
|
44
41
|
}
|
|
45
42
|
};
|
|
46
|
-
|
|
43
|
+
const pauseVoicePlayer = () => {
|
|
47
44
|
pause === null || pause === void 0 ? void 0 : pause(groupKey);
|
|
48
45
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
text = '';
|
|
52
|
-
}
|
|
46
|
+
const stopVoicePlayer = function () {
|
|
47
|
+
let text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
53
48
|
stop === null || stop === void 0 ? void 0 : stop(text);
|
|
54
49
|
};
|
|
55
|
-
useEffect(
|
|
56
|
-
return
|
|
57
|
-
var _a;
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
return () => {
|
|
58
52
|
if (audioFile || audioFileUrl) {
|
|
53
|
+
var _pause, _ref2;
|
|
59
54
|
// Can't get the current AudioPlayer through the React hooks(useReducer or useState) in this scope
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
const voiceAudioPlayerElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);
|
|
56
|
+
voiceAudioPlayerElement === null || voiceAudioPlayerElement === void 0 ? void 0 : (_pause = (_ref2 = voiceAudioPlayerElement).pause) === null || _pause === void 0 ? void 0 : _pause.call(_ref2);
|
|
62
57
|
}
|
|
63
58
|
};
|
|
64
59
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVoicePlayer.js","sources":["../../src/hooks/VoicePlayer/utils.ts","../../src/hooks/VoicePlayer/useVoicePlayer.tsx"],"sourcesContent":["export type GroupKey = string;\nexport const generateGroupKey = (channelUrl = '', key = ''): GroupKey => (`${channelUrl}-${key}`);\n","import { useEffect, useState } from 'react';\nimport { useVoicePlayerContext } from '.';\nimport { VOICE_PLAYER_AUDIO_ID } from '../../utils/consts';\nimport { useVoiceRecorderContext } from '../VoiceRecorder';\n\nimport { AudioUnitDefaultValue, VoicePlayerStatus } from './dux/initialState';\nimport { generateGroupKey } from './utils';\n\nexport interface UseVoicePlayerProps {\n key: string;\n channelUrl: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\n\nexport interface UseVoicePlayerContext {\n play: () => void;\n pause: () => void;\n stop: (text?: string) => void;\n playbackTime: number;\n duration: number;\n playingStatus: VoicePlayerStatus;\n}\n\nexport const useVoicePlayer = ({\n key = '',\n channelUrl = '',\n audioFile = null,\n audioFileUrl = '',\n}: UseVoicePlayerProps): UseVoicePlayerContext => {\n const [groupKey] = useState<string>(generateGroupKey(channelUrl, key));\n const {\n play,\n pause,\n stop,\n voicePlayerStore,\n } = useVoicePlayerContext();\n const { isRecordable } = useVoiceRecorderContext();\n const currentAudioUnit = voicePlayerStore?.audioStorage?.[groupKey] || AudioUnitDefaultValue();\n\n const playVoicePlayer = () => {\n if (!isRecordable) {\n play?.({\n groupKey,\n audioFile,\n audioFileUrl,\n });\n }\n };\n\n const pauseVoicePlayer = () => {\n pause?.(groupKey);\n };\n\n const stopVoicePlayer = (text = '') => {\n stop?.(text);\n };\n\n useEffect(() => {\n return () => {\n if (audioFile || audioFileUrl) {\n // Can't get the current AudioPlayer through the React hooks(useReducer or useState) in this scope\n const voiceAudioPlayerElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n (voiceAudioPlayerElement as HTMLAudioElement)?.pause?.();\n }\n }\n }, []);\n\n return ({\n play: playVoicePlayer,\n pause: pauseVoicePlayer,\n stop: stopVoicePlayer,\n playbackTime: currentAudioUnit?.playbackTime * 1000,\n duration: currentAudioUnit?.duration * 1000,\n // the unit of playbackTime and duration should be millisecond\n playingStatus: currentAudioUnit?.playingStatus,\n });\n};\n"],"names":["generateGroupKey","channelUrl","
|
|
1
|
+
{"version":3,"file":"useVoicePlayer.js","sources":["../../src/hooks/VoicePlayer/utils.ts","../../src/hooks/VoicePlayer/useVoicePlayer.tsx"],"sourcesContent":["export type GroupKey = string;\nexport const generateGroupKey = (channelUrl = '', key = ''): GroupKey => (`${channelUrl}-${key}`);\n","import { useEffect, useState } from 'react';\nimport { useVoicePlayerContext } from '.';\nimport { VOICE_PLAYER_AUDIO_ID } from '../../utils/consts';\nimport { useVoiceRecorderContext } from '../VoiceRecorder';\n\nimport { AudioUnitDefaultValue, VoicePlayerStatus } from './dux/initialState';\nimport { generateGroupKey } from './utils';\n\nexport interface UseVoicePlayerProps {\n key: string;\n channelUrl: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\n\nexport interface UseVoicePlayerContext {\n play: () => void;\n pause: () => void;\n stop: (text?: string) => void;\n playbackTime: number;\n duration: number;\n playingStatus: VoicePlayerStatus;\n}\n\nexport const useVoicePlayer = ({\n key = '',\n channelUrl = '',\n audioFile = null,\n audioFileUrl = '',\n}: UseVoicePlayerProps): UseVoicePlayerContext => {\n const [groupKey] = useState<string>(generateGroupKey(channelUrl, key));\n const {\n play,\n pause,\n stop,\n voicePlayerStore,\n } = useVoicePlayerContext();\n const { isRecordable } = useVoiceRecorderContext();\n const currentAudioUnit = voicePlayerStore?.audioStorage?.[groupKey] || AudioUnitDefaultValue();\n\n const playVoicePlayer = () => {\n if (!isRecordable) {\n play?.({\n groupKey,\n audioFile,\n audioFileUrl,\n });\n }\n };\n\n const pauseVoicePlayer = () => {\n pause?.(groupKey);\n };\n\n const stopVoicePlayer = (text = '') => {\n stop?.(text);\n };\n\n useEffect(() => {\n return () => {\n if (audioFile || audioFileUrl) {\n // Can't get the current AudioPlayer through the React hooks(useReducer or useState) in this scope\n const voiceAudioPlayerElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n (voiceAudioPlayerElement as HTMLAudioElement)?.pause?.();\n }\n }\n }, []);\n\n return ({\n play: playVoicePlayer,\n pause: pauseVoicePlayer,\n stop: stopVoicePlayer,\n playbackTime: currentAudioUnit?.playbackTime * 1000,\n duration: currentAudioUnit?.duration * 1000,\n // the unit of playbackTime and duration should be millisecond\n playingStatus: currentAudioUnit?.playingStatus,\n });\n};\n"],"names":["generateGroupKey","channelUrl","arguments","length","undefined","key","useVoicePlayer","_ref","_voicePlayerStore$aud","audioFile","audioFileUrl","groupKey","useState","play","pause","stop","voicePlayerStore","useVoicePlayerContext","isRecordable","useVoiceRecorderContext","currentAudioUnit","audioStorage","AudioUnitDefaultValue","playVoicePlayer","pauseVoicePlayer","stopVoicePlayer","text","useEffect","_pause","_ref2","voiceAudioPlayerElement","document","getElementById","VOICE_PLAYER_AUDIO_ID","call","playbackTime","duration","playingStatus"],"mappings":"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"}
|
package/VoiceRecorder/context.js
CHANGED
|
@@ -1,38 +1,42 @@
|
|
|
1
1
|
import React__default, { useState, useEffect, useCallback, useContext, createContext } from 'react';
|
|
2
|
-
import { h as VOICE_RECORDER_MIME_TYPE, i as VOICE_RECORDER_AUDIO_BITS, b as VOICE_MESSAGE_FILE_NAME, c as VOICE_MESSAGE_MIME_TYPE } from '../consts-
|
|
2
|
+
import { h as VOICE_RECORDER_MIME_TYPE, i as VOICE_RECORDER_AUDIO_BITS, b as VOICE_MESSAGE_FILE_NAME, c as VOICE_MESSAGE_MIME_TYPE } from '../consts-c9746f2b.js';
|
|
3
3
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
4
4
|
import '../withSendbird.js';
|
|
5
|
-
import '../
|
|
5
|
+
import '../_rollupPluginBabelHelpers-b2d9bfc5.js';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
// Input props of VoiceRecorder
|
|
8
|
+
|
|
9
|
+
// Output of VoiceRecorder
|
|
10
|
+
|
|
11
|
+
const noop = () => {/* noop */};
|
|
12
|
+
const VoiceRecorderContext = /*#__PURE__*/createContext({
|
|
9
13
|
start: noop,
|
|
10
14
|
stop: noop,
|
|
11
15
|
isRecordable: false
|
|
12
16
|
});
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
useEffect(
|
|
17
|
+
const VoiceRecorderProvider = props => {
|
|
18
|
+
const {
|
|
19
|
+
children
|
|
20
|
+
} = props;
|
|
21
|
+
const {
|
|
22
|
+
config
|
|
23
|
+
} = useSendbirdStateContext();
|
|
24
|
+
const {
|
|
25
|
+
logger,
|
|
26
|
+
isVoiceMessageEnabled
|
|
27
|
+
} = config;
|
|
28
|
+
const [mediaRecorder, setMediaRecorder] = useState(null);
|
|
29
|
+
const [isRecordable, setIsRecordable] = useState(false);
|
|
30
|
+
const [webAudioUtils, setWebAudioUtils] = useState(null);
|
|
31
|
+
useEffect(() => {
|
|
28
32
|
if (isVoiceMessageEnabled && !webAudioUtils) {
|
|
29
|
-
import('../WebAudioUtils-
|
|
33
|
+
import('../WebAudioUtils-5f08f354.js').then(data => {
|
|
30
34
|
setWebAudioUtils(data);
|
|
31
35
|
});
|
|
32
36
|
}
|
|
33
37
|
}, []);
|
|
34
|
-
|
|
35
|
-
var
|
|
38
|
+
const start = useCallback(eventHandler => {
|
|
39
|
+
var _navigator, _navigator$mediaDevic, _navigator$mediaDevic2;
|
|
36
40
|
if (isVoiceMessageEnabled && !webAudioUtils) {
|
|
37
41
|
logger.error('VoiceRecorder: Recording audio processor is being loaded.');
|
|
38
42
|
return;
|
|
@@ -42,48 +46,47 @@ var VoiceRecorderProvider = function (props) {
|
|
|
42
46
|
stop();
|
|
43
47
|
logger.info('VoiceRecorder: Previous mediaRecorder is stopped.');
|
|
44
48
|
}
|
|
45
|
-
(
|
|
49
|
+
(_navigator = navigator) === null || _navigator === void 0 ? void 0 : (_navigator$mediaDevic = _navigator.mediaDevices) === null || _navigator$mediaDevic === void 0 ? void 0 : (_navigator$mediaDevic2 = _navigator$mediaDevic.getUserMedia) === null || _navigator$mediaDevic2 === void 0 ? void 0 : _navigator$mediaDevic2.call(_navigator$mediaDevic, {
|
|
46
50
|
audio: true
|
|
47
|
-
}).then(
|
|
51
|
+
}).then(stream => {
|
|
48
52
|
logger.info('VoiceRecorder: Succeeded getting media stream.', stream);
|
|
49
53
|
setIsRecordable(true);
|
|
50
|
-
|
|
54
|
+
const mediaRecorder = new MediaRecorder(stream, {
|
|
51
55
|
mimeType: VOICE_RECORDER_MIME_TYPE,
|
|
52
56
|
audioBitsPerSecond: VOICE_RECORDER_AUDIO_BITS
|
|
53
57
|
});
|
|
54
|
-
mediaRecorder.ondataavailable =
|
|
55
|
-
var
|
|
58
|
+
mediaRecorder.ondataavailable = e => {
|
|
59
|
+
var _stream$getAudioTrack, _stream$getAudioTrack2, _stream$getAudioTrack3;
|
|
60
|
+
// when recording stops
|
|
56
61
|
logger.info('VoiceRecorder: Succeeded getting an available data.', e.data);
|
|
57
|
-
|
|
62
|
+
const audioFile = new File([e.data], VOICE_MESSAGE_FILE_NAME, {
|
|
58
63
|
lastModified: new Date().getTime(),
|
|
59
64
|
type: VOICE_MESSAGE_MIME_TYPE
|
|
60
65
|
});
|
|
61
|
-
webAudioUtils === null || webAudioUtils === void 0 ? void 0 : webAudioUtils.downsampleToWav(audioFile,
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
webAudioUtils === null || webAudioUtils === void 0 ? void 0 : webAudioUtils.downsampleToWav(audioFile, buffer => {
|
|
67
|
+
const mp3Buffer = webAudioUtils === null || webAudioUtils === void 0 ? void 0 : webAudioUtils.encodeMp3(buffer);
|
|
68
|
+
const mp3blob = new Blob(mp3Buffer, {
|
|
64
69
|
type: VOICE_MESSAGE_MIME_TYPE
|
|
65
70
|
});
|
|
66
|
-
|
|
71
|
+
const convertedAudioFile = new File([mp3blob], VOICE_MESSAGE_FILE_NAME, {
|
|
67
72
|
lastModified: new Date().getTime(),
|
|
68
73
|
type: VOICE_MESSAGE_MIME_TYPE
|
|
69
74
|
});
|
|
70
75
|
eventHandler === null || eventHandler === void 0 ? void 0 : eventHandler.onRecordingEnded(convertedAudioFile);
|
|
71
76
|
logger.info('VoiceRecorder: Succeeded converting audio file.', convertedAudioFile);
|
|
72
77
|
});
|
|
73
|
-
|
|
74
|
-
return track === null || track === void 0 ? void 0 : track.stop();
|
|
75
|
-
});
|
|
78
|
+
stream === null || stream === void 0 ? void 0 : (_stream$getAudioTrack = stream.getAudioTracks) === null || _stream$getAudioTrack === void 0 ? void 0 : (_stream$getAudioTrack2 = (_stream$getAudioTrack3 = _stream$getAudioTrack.call(stream)).forEach) === null || _stream$getAudioTrack2 === void 0 ? void 0 : _stream$getAudioTrack2.call(_stream$getAudioTrack3, track => track === null || track === void 0 ? void 0 : track.stop());
|
|
76
79
|
setIsRecordable(false);
|
|
77
80
|
};
|
|
78
81
|
mediaRecorder === null || mediaRecorder === void 0 ? void 0 : mediaRecorder.start();
|
|
79
82
|
setMediaRecorder(mediaRecorder);
|
|
80
83
|
eventHandler === null || eventHandler === void 0 ? void 0 : eventHandler.onRecordingStarted();
|
|
81
|
-
}).catch(
|
|
84
|
+
}).catch(err => {
|
|
82
85
|
logger.error('VoiceRecorder: Failed getting media stream.', err);
|
|
83
86
|
setMediaRecorder(null);
|
|
84
87
|
});
|
|
85
88
|
}, [mediaRecorder, webAudioUtils]);
|
|
86
|
-
|
|
89
|
+
const stop = useCallback(() => {
|
|
87
90
|
// Stop recording
|
|
88
91
|
mediaRecorder === null || mediaRecorder === void 0 ? void 0 : mediaRecorder.stop();
|
|
89
92
|
setMediaRecorder(null);
|
|
@@ -92,18 +95,16 @@ var VoiceRecorderProvider = function (props) {
|
|
|
92
95
|
}, [mediaRecorder]);
|
|
93
96
|
return /*#__PURE__*/React__default.createElement(VoiceRecorderContext.Provider, {
|
|
94
97
|
value: {
|
|
95
|
-
start
|
|
96
|
-
stop
|
|
97
|
-
isRecordable
|
|
98
|
+
start,
|
|
99
|
+
stop,
|
|
100
|
+
isRecordable
|
|
98
101
|
}
|
|
99
102
|
}, children);
|
|
100
103
|
};
|
|
101
|
-
|
|
102
|
-
return useContext(VoiceRecorderContext);
|
|
103
|
-
};
|
|
104
|
+
const useVoiceRecorderContext = () => useContext(VoiceRecorderContext);
|
|
104
105
|
var index = {
|
|
105
|
-
VoiceRecorderProvider
|
|
106
|
-
useVoiceRecorderContext
|
|
106
|
+
VoiceRecorderProvider,
|
|
107
|
+
useVoiceRecorderContext
|
|
107
108
|
};
|
|
108
109
|
|
|
109
110
|
export { VoiceRecorderProvider, index as default, useVoiceRecorderContext };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../src/hooks/VoiceRecorder/index.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_RECORDER_AUDIO_BITS,\n VOICE_RECORDER_MIME_TYPE,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// Input props of VoiceRecorder\nexport interface VoiceRecorderProps {\n children: React.ReactElement;\n}\n\nexport interface VoiceRecorderEventHandler {\n onRecordingStarted?: () => void;\n onRecordingEnded?: (props: null | File) => void;\n}\n\n// Output of VoiceRecorder\nexport interface VoiceRecorderContext {\n start: (eventHandler?: VoiceRecorderEventHandler) => void,\n stop: () => void,\n isRecordable: boolean;\n}\nconst noop = () => { /* noop */ };\nconst VoiceRecorderContext = createContext<VoiceRecorderContext>({\n start: noop,\n stop: noop,\n isRecordable: false,\n});\n\nexport const VoiceRecorderProvider = (props: VoiceRecorderProps): React.ReactElement => {\n const { children } = props;\n const { config } = useSendbirdStateContext();\n const { logger, isVoiceMessageEnabled } = config;\n const [mediaRecorder, setMediaRecorder] = useState<MediaRecorder>(null);\n const [isRecordable, setIsRecordable] = useState<boolean>(false);\n\n const [webAudioUtils, setWebAudioUtils] = useState(null);\n useEffect(() => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n import('./WebAudioUtils').then((data) => {\n setWebAudioUtils(data);\n })\n }\n }, []);\n\n const start = useCallback((eventHandler: VoiceRecorderEventHandler): void => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n logger.error('VoiceRecorder: Recording audio processor is being loaded.');\n return;\n }\n\n logger.info('VoiceRecorder: Start recording.');\n if (mediaRecorder) {\n stop();\n logger.info('VoiceRecorder: Previous mediaRecorder is stopped.');\n }\n navigator?.mediaDevices?.getUserMedia?.({ audio: true })\n .then((stream) => {\n logger.info('VoiceRecorder: Succeeded getting media stream.', stream);\n setIsRecordable(true);\n const mediaRecorder = new MediaRecorder(stream, {\n mimeType: VOICE_RECORDER_MIME_TYPE,\n audioBitsPerSecond: VOICE_RECORDER_AUDIO_BITS,\n });\n mediaRecorder.ondataavailable = (e) => { // when recording stops\n logger.info('VoiceRecorder: Succeeded getting an available data.', e.data);\n const audioFile = new File([e.data], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n webAudioUtils?.downsampleToWav(audioFile, (buffer) => {\n const mp3Buffer = webAudioUtils?.encodeMp3(buffer);\n const mp3blob = new Blob(mp3Buffer, { type: VOICE_MESSAGE_MIME_TYPE });\n const convertedAudioFile = new File([mp3blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n eventHandler?.onRecordingEnded(convertedAudioFile);\n logger.info('VoiceRecorder: Succeeded converting audio file.', convertedAudioFile);\n });\n stream?.getAudioTracks?.().forEach?.(track => track?.stop());\n setIsRecordable(false);\n };\n mediaRecorder?.start();\n setMediaRecorder(mediaRecorder);\n eventHandler?.onRecordingStarted();\n })\n .catch((err) => {\n logger.error('VoiceRecorder: Failed getting media stream.', err);\n setMediaRecorder(null);\n });\n }, [mediaRecorder, webAudioUtils]);\n\n const stop = useCallback((): void => {\n // Stop recording\n mediaRecorder?.stop();\n setMediaRecorder(null);\n setIsRecordable(false);\n logger.info('VoiceRecorder: Stop recording.');\n }, [mediaRecorder]);\n\n return (\n <VoiceRecorderContext.Provider value={{\n start,\n stop,\n isRecordable,\n }}>\n {children}\n </VoiceRecorderContext.Provider>\n )\n};\n\nexport const useVoiceRecorderContext = (): VoiceRecorderContext => useContext(VoiceRecorderContext);\n\nexport default {\n VoiceRecorderProvider,\n useVoiceRecorderContext,\n};\n"],"names":["noop","VoiceRecorderContext","createContext","start","stop","isRecordable","VoiceRecorderProvider","props","children","config","useSendbirdStateContext","logger","isVoiceMessageEnabled","
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../src/hooks/VoiceRecorder/index.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_RECORDER_AUDIO_BITS,\n VOICE_RECORDER_MIME_TYPE,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// Input props of VoiceRecorder\nexport interface VoiceRecorderProps {\n children: React.ReactElement;\n}\n\nexport interface VoiceRecorderEventHandler {\n onRecordingStarted?: () => void;\n onRecordingEnded?: (props: null | File) => void;\n}\n\n// Output of VoiceRecorder\nexport interface VoiceRecorderContext {\n start: (eventHandler?: VoiceRecorderEventHandler) => void,\n stop: () => void,\n isRecordable: boolean;\n}\nconst noop = () => { /* noop */ };\nconst VoiceRecorderContext = createContext<VoiceRecorderContext>({\n start: noop,\n stop: noop,\n isRecordable: false,\n});\n\nexport const VoiceRecorderProvider = (props: VoiceRecorderProps): React.ReactElement => {\n const { children } = props;\n const { config } = useSendbirdStateContext();\n const { logger, isVoiceMessageEnabled } = config;\n const [mediaRecorder, setMediaRecorder] = useState<MediaRecorder>(null);\n const [isRecordable, setIsRecordable] = useState<boolean>(false);\n\n const [webAudioUtils, setWebAudioUtils] = useState(null);\n useEffect(() => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n import('./WebAudioUtils').then((data) => {\n setWebAudioUtils(data);\n })\n }\n }, []);\n\n const start = useCallback((eventHandler: VoiceRecorderEventHandler): void => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n logger.error('VoiceRecorder: Recording audio processor is being loaded.');\n return;\n }\n\n logger.info('VoiceRecorder: Start recording.');\n if (mediaRecorder) {\n stop();\n logger.info('VoiceRecorder: Previous mediaRecorder is stopped.');\n }\n navigator?.mediaDevices?.getUserMedia?.({ audio: true })\n .then((stream) => {\n logger.info('VoiceRecorder: Succeeded getting media stream.', stream);\n setIsRecordable(true);\n const mediaRecorder = new MediaRecorder(stream, {\n mimeType: VOICE_RECORDER_MIME_TYPE,\n audioBitsPerSecond: VOICE_RECORDER_AUDIO_BITS,\n });\n mediaRecorder.ondataavailable = (e) => { // when recording stops\n logger.info('VoiceRecorder: Succeeded getting an available data.', e.data);\n const audioFile = new File([e.data], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n webAudioUtils?.downsampleToWav(audioFile, (buffer) => {\n const mp3Buffer = webAudioUtils?.encodeMp3(buffer);\n const mp3blob = new Blob(mp3Buffer, { type: VOICE_MESSAGE_MIME_TYPE });\n const convertedAudioFile = new File([mp3blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n eventHandler?.onRecordingEnded(convertedAudioFile);\n logger.info('VoiceRecorder: Succeeded converting audio file.', convertedAudioFile);\n });\n stream?.getAudioTracks?.().forEach?.(track => track?.stop());\n setIsRecordable(false);\n };\n mediaRecorder?.start();\n setMediaRecorder(mediaRecorder);\n eventHandler?.onRecordingStarted();\n })\n .catch((err) => {\n logger.error('VoiceRecorder: Failed getting media stream.', err);\n setMediaRecorder(null);\n });\n }, [mediaRecorder, webAudioUtils]);\n\n const stop = useCallback((): void => {\n // Stop recording\n mediaRecorder?.stop();\n setMediaRecorder(null);\n setIsRecordable(false);\n logger.info('VoiceRecorder: Stop recording.');\n }, [mediaRecorder]);\n\n return (\n <VoiceRecorderContext.Provider value={{\n start,\n stop,\n isRecordable,\n }}>\n {children}\n </VoiceRecorderContext.Provider>\n )\n};\n\nexport const useVoiceRecorderContext = (): VoiceRecorderContext => useContext(VoiceRecorderContext);\n\nexport default {\n VoiceRecorderProvider,\n useVoiceRecorderContext,\n};\n"],"names":["noop","VoiceRecorderContext","createContext","start","stop","isRecordable","VoiceRecorderProvider","props","children","config","useSendbirdStateContext","logger","isVoiceMessageEnabled","mediaRecorder","setMediaRecorder","useState","setIsRecordable","webAudioUtils","setWebAudioUtils","useEffect","then","data","useCallback","eventHandler","_navigator","_navigator$mediaDevic","_navigator$mediaDevic2","error","info","navigator","mediaDevices","getUserMedia","call","audio","stream","MediaRecorder","mimeType","VOICE_RECORDER_MIME_TYPE","audioBitsPerSecond","VOICE_RECORDER_AUDIO_BITS","ondataavailable","e","_stream$getAudioTrack","_stream$getAudioTrack2","_stream$getAudioTrack3","audioFile","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","type","VOICE_MESSAGE_MIME_TYPE","downsampleToWav","buffer","mp3Buffer","encodeMp3","mp3blob","Blob","convertedAudioFile","onRecordingEnded","getAudioTracks","forEach","track","onRecordingStarted","catch","err","React","createElement","Provider","value","useVoiceRecorderContext","useContext"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useState, useEffect, useCallback } from 'react';
|
|
2
2
|
import { useVoiceRecorderContext } from './context.js';
|
|
3
3
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
4
|
-
import '../consts-
|
|
4
|
+
import '../consts-c9746f2b.js';
|
|
5
5
|
import '../withSendbird.js';
|
|
6
|
-
import '../
|
|
6
|
+
import '../_rollupPluginBabelHelpers-b2d9bfc5.js';
|
|
7
7
|
|
|
8
8
|
// export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {
|
|
9
9
|
// /**
|
|
@@ -11,42 +11,46 @@ import '../tslib.es6-85bcd95d.js';
|
|
|
11
11
|
// * onRecordingEnded
|
|
12
12
|
// */
|
|
13
13
|
// }
|
|
14
|
-
|
|
14
|
+
const VoiceRecorderStatus = {
|
|
15
15
|
PREPARING: 'PREPARING',
|
|
16
16
|
READY_TO_RECORD: 'READY_TO_RECORD',
|
|
17
17
|
RECORDING: 'RECORDING',
|
|
18
18
|
COMPLETED: 'COMPLETED'
|
|
19
19
|
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
onRecordingStarted =
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
20
|
+
const noop = () => {/* noop */};
|
|
21
|
+
const useVoiceRecorder = _ref => {
|
|
22
|
+
let {
|
|
23
|
+
onRecordingStarted = noop,
|
|
24
|
+
onRecordingEnded = noop
|
|
25
|
+
} = _ref;
|
|
26
|
+
const {
|
|
27
|
+
config
|
|
28
|
+
} = useSendbirdStateContext();
|
|
29
|
+
const {
|
|
30
|
+
voiceRecord
|
|
31
|
+
} = config;
|
|
32
|
+
const {
|
|
33
|
+
maxRecordingTime
|
|
34
|
+
} = voiceRecord;
|
|
35
|
+
const voiceRecorder = useVoiceRecorderContext();
|
|
36
|
+
const {
|
|
37
|
+
isRecordable
|
|
38
|
+
} = voiceRecorder;
|
|
39
|
+
const [recordedFile, setRecordedFile] = useState(null);
|
|
40
|
+
const [recordingStatus, setRecordingStatus] = useState(VoiceRecorderStatus.PREPARING);
|
|
41
|
+
useEffect(() => {
|
|
38
42
|
if (isRecordable && recordingStatus === VoiceRecorderStatus.PREPARING) {
|
|
39
43
|
setRecordingStatus(VoiceRecorderStatus.READY_TO_RECORD);
|
|
40
44
|
}
|
|
41
45
|
}, [isRecordable]);
|
|
42
|
-
|
|
46
|
+
const start = useCallback(() => {
|
|
43
47
|
voiceRecorder === null || voiceRecorder === void 0 ? void 0 : voiceRecorder.start({
|
|
44
|
-
onRecordingStarted:
|
|
48
|
+
onRecordingStarted: () => {
|
|
45
49
|
setRecordingStatus(VoiceRecorderStatus.RECORDING);
|
|
46
50
|
onRecordingStarted();
|
|
47
51
|
startTimer();
|
|
48
52
|
},
|
|
49
|
-
onRecordingEnded:
|
|
53
|
+
onRecordingEnded: audioFile => {
|
|
50
54
|
setRecordingStatus(VoiceRecorderStatus.COMPLETED);
|
|
51
55
|
onRecordingEnded(audioFile);
|
|
52
56
|
setRecordedFile(audioFile);
|
|
@@ -54,25 +58,24 @@ var useVoiceRecorder = function (_a) {
|
|
|
54
58
|
}
|
|
55
59
|
});
|
|
56
60
|
}, [onRecordingStarted, onRecordingEnded]);
|
|
57
|
-
|
|
61
|
+
const stop = useCallback(() => {
|
|
58
62
|
voiceRecorder === null || voiceRecorder === void 0 ? void 0 : voiceRecorder.stop();
|
|
59
63
|
stopTimer();
|
|
60
64
|
}, [voiceRecorder]);
|
|
61
|
-
|
|
65
|
+
const cancel = useCallback(() => {
|
|
62
66
|
stop();
|
|
63
67
|
setRecordedFile(null);
|
|
64
68
|
}, [voiceRecorder]);
|
|
69
|
+
|
|
65
70
|
// Timer
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
setRecordingTime = _f[1];
|
|
69
|
-
var timer = null;
|
|
71
|
+
const [recordingTime, setRecordingTime] = useState(0);
|
|
72
|
+
let timer = null;
|
|
70
73
|
function startTimer() {
|
|
71
74
|
stopTimer();
|
|
72
75
|
setRecordingTime(0);
|
|
73
|
-
|
|
74
|
-
setRecordingTime(
|
|
75
|
-
|
|
76
|
+
const interval = setInterval(() => {
|
|
77
|
+
setRecordingTime(prevTime => {
|
|
78
|
+
const newTime = prevTime + 100;
|
|
76
79
|
if (newTime > maxRecordingTime) {
|
|
77
80
|
stopTimer();
|
|
78
81
|
}
|
|
@@ -85,18 +88,18 @@ var useVoiceRecorder = function (_a) {
|
|
|
85
88
|
clearInterval(timer);
|
|
86
89
|
timer = null;
|
|
87
90
|
}
|
|
88
|
-
useEffect(
|
|
91
|
+
useEffect(() => {
|
|
89
92
|
if (recordingTime > maxRecordingTime) {
|
|
90
93
|
stop();
|
|
91
94
|
}
|
|
92
95
|
}, [recordingTime, maxRecordingTime, stop]);
|
|
93
96
|
return {
|
|
94
|
-
start
|
|
95
|
-
stop
|
|
96
|
-
cancel
|
|
97
|
-
recordingStatus
|
|
98
|
-
recordingTime
|
|
99
|
-
recordedFile
|
|
97
|
+
start,
|
|
98
|
+
stop,
|
|
99
|
+
cancel,
|
|
100
|
+
recordingStatus,
|
|
101
|
+
recordingTime,
|
|
102
|
+
recordedFile,
|
|
100
103
|
recordingLimit: maxRecordingTime
|
|
101
104
|
};
|
|
102
105
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVoiceRecorder.js","sources":["../../src/hooks/VoiceRecorder/useVoiceRecorder.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { VoiceRecorderEventHandler, useVoiceRecorderContext } from '.';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {\n// /**\n// * onRecordingStarted\n// * onRecordingEnded\n// */\n// }\nexport const VoiceRecorderStatus = {\n PREPARING: 'PREPARING',\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoiceRecorderStatus = typeof VoiceRecorderStatus[keyof typeof VoiceRecorderStatus];\nexport interface UseVoiceRecorderContext {\n start: () => void;\n stop: () => void;\n cancel: () => void;\n recordingLimit: number;\n recordingTime: number;\n recordedFile: File;\n recordingStatus: VoiceRecorderStatus;\n}\n\nconst noop = () => { /* noop */ };\n\nexport const useVoiceRecorder = ({\n onRecordingStarted = noop,\n onRecordingEnded = noop,\n}: VoiceRecorderEventHandler): UseVoiceRecorderContext => {\n const { config } = useSendbirdStateContext();\n const { voiceRecord } = config;\n const { maxRecordingTime } = voiceRecord;\n const voiceRecorder = useVoiceRecorderContext();\n const { isRecordable } = voiceRecorder;\n\n const [recordedFile, setRecordedFile] = useState<File>(null);\n const [recordingStatus, setRecordingStatus] = useState<VoiceRecorderStatus>(VoiceRecorderStatus.PREPARING);\n useEffect(() => {\n if (isRecordable && recordingStatus === VoiceRecorderStatus.PREPARING) {\n setRecordingStatus(VoiceRecorderStatus.READY_TO_RECORD);\n }\n }, [isRecordable]);\n\n const start = useCallback(() => {\n voiceRecorder?.start({\n onRecordingStarted: () => {\n setRecordingStatus(VoiceRecorderStatus.RECORDING);\n onRecordingStarted();\n startTimer();\n },\n onRecordingEnded: (audioFile) => {\n setRecordingStatus(VoiceRecorderStatus.COMPLETED);\n onRecordingEnded(audioFile);\n setRecordedFile(audioFile);\n stopTimer();\n },\n });\n }, [onRecordingStarted, onRecordingEnded]);\n const stop = useCallback(() => {\n voiceRecorder?.stop();\n stopTimer();\n }, [voiceRecorder]);\n const cancel = useCallback(() => {\n stop();\n setRecordedFile(null);\n }, [voiceRecorder]);\n\n // Timer\n const [recordingTime, setRecordingTime] = useState<number>(0);\n let timer: ReturnType<typeof setInterval> = null;\n function startTimer() {\n stopTimer();\n setRecordingTime(0);\n const interval = setInterval(() => {\n setRecordingTime(prevTime => {\n const newTime = prevTime + 100;\n if (newTime > maxRecordingTime) {\n stopTimer();\n }\n return newTime;\n });\n }, 100);\n timer = interval;\n }\n function stopTimer() {\n clearInterval(timer);\n timer = null;\n }\n useEffect(() => {\n if (recordingTime > maxRecordingTime) {\n stop();\n }\n }, [recordingTime, maxRecordingTime, stop]);\n\n return ({\n start,\n stop,\n cancel,\n recordingStatus,\n recordingTime,\n recordedFile,\n recordingLimit: maxRecordingTime,\n });\n};\n"],"names":["VoiceRecorderStatus","PREPARING","READY_TO_RECORD","RECORDING","COMPLETED","noop","useVoiceRecorder","
|
|
1
|
+
{"version":3,"file":"useVoiceRecorder.js","sources":["../../src/hooks/VoiceRecorder/useVoiceRecorder.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { VoiceRecorderEventHandler, useVoiceRecorderContext } from '.';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {\n// /**\n// * onRecordingStarted\n// * onRecordingEnded\n// */\n// }\nexport const VoiceRecorderStatus = {\n PREPARING: 'PREPARING',\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoiceRecorderStatus = typeof VoiceRecorderStatus[keyof typeof VoiceRecorderStatus];\nexport interface UseVoiceRecorderContext {\n start: () => void;\n stop: () => void;\n cancel: () => void;\n recordingLimit: number;\n recordingTime: number;\n recordedFile: File;\n recordingStatus: VoiceRecorderStatus;\n}\n\nconst noop = () => { /* noop */ };\n\nexport const useVoiceRecorder = ({\n onRecordingStarted = noop,\n onRecordingEnded = noop,\n}: VoiceRecorderEventHandler): UseVoiceRecorderContext => {\n const { config } = useSendbirdStateContext();\n const { voiceRecord } = config;\n const { maxRecordingTime } = voiceRecord;\n const voiceRecorder = useVoiceRecorderContext();\n const { isRecordable } = voiceRecorder;\n\n const [recordedFile, setRecordedFile] = useState<File>(null);\n const [recordingStatus, setRecordingStatus] = useState<VoiceRecorderStatus>(VoiceRecorderStatus.PREPARING);\n useEffect(() => {\n if (isRecordable && recordingStatus === VoiceRecorderStatus.PREPARING) {\n setRecordingStatus(VoiceRecorderStatus.READY_TO_RECORD);\n }\n }, [isRecordable]);\n\n const start = useCallback(() => {\n voiceRecorder?.start({\n onRecordingStarted: () => {\n setRecordingStatus(VoiceRecorderStatus.RECORDING);\n onRecordingStarted();\n startTimer();\n },\n onRecordingEnded: (audioFile) => {\n setRecordingStatus(VoiceRecorderStatus.COMPLETED);\n onRecordingEnded(audioFile);\n setRecordedFile(audioFile);\n stopTimer();\n },\n });\n }, [onRecordingStarted, onRecordingEnded]);\n const stop = useCallback(() => {\n voiceRecorder?.stop();\n stopTimer();\n }, [voiceRecorder]);\n const cancel = useCallback(() => {\n stop();\n setRecordedFile(null);\n }, [voiceRecorder]);\n\n // Timer\n const [recordingTime, setRecordingTime] = useState<number>(0);\n let timer: ReturnType<typeof setInterval> = null;\n function startTimer() {\n stopTimer();\n setRecordingTime(0);\n const interval = setInterval(() => {\n setRecordingTime(prevTime => {\n const newTime = prevTime + 100;\n if (newTime > maxRecordingTime) {\n stopTimer();\n }\n return newTime;\n });\n }, 100);\n timer = interval;\n }\n function stopTimer() {\n clearInterval(timer);\n timer = null;\n }\n useEffect(() => {\n if (recordingTime > maxRecordingTime) {\n stop();\n }\n }, [recordingTime, maxRecordingTime, stop]);\n\n return ({\n start,\n stop,\n cancel,\n recordingStatus,\n recordingTime,\n recordedFile,\n recordingLimit: maxRecordingTime,\n });\n};\n"],"names":["VoiceRecorderStatus","PREPARING","READY_TO_RECORD","RECORDING","COMPLETED","noop","useVoiceRecorder","_ref","onRecordingStarted","onRecordingEnded","config","useSendbirdStateContext","voiceRecord","maxRecordingTime","voiceRecorder","useVoiceRecorderContext","isRecordable","recordedFile","setRecordedFile","useState","recordingStatus","setRecordingStatus","useEffect","start","useCallback","startTimer","audioFile","stopTimer","stop","cancel","recordingTime","setRecordingTime","timer","interval","setInterval","prevTime","newTime","clearInterval","recordingLimit"],"mappings":"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"}
|