@sendbird/uikit-react 3.4.9 → 3.5.0-feature-config-rc-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 +81 -62
- package/App.js.map +1 -1
- package/Channel/components/ChannelHeader.js +19 -18
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +44 -43
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +15 -14
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +38 -36
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +31 -29
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +38 -37
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +17 -16
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +17 -16
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +15 -14
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +12 -11
- package/Channel/context.js.map +1 -1
- package/Channel.js +42 -41
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +30 -29
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +26 -25
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +13 -13
- package/ChannelList/context.js +7 -7
- package/ChannelList.js +30 -29
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-21425002.js → ChannelListProvider-e9b9d9dc.js} +7 -7
- package/{ChannelListProvider-21425002.js.map → ChannelListProvider-e9b9d9dc.js.map} +1 -1
- package/{ChannelProvider-910bbc1f.js → ChannelProvider-e1ddeda2.js} +52 -30
- package/ChannelProvider-e1ddeda2.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js +11 -11
- package/ChannelSettings/components/ModerationPanel.js +14 -14
- package/ChannelSettings/components/UserListItem.js +10 -10
- package/ChannelSettings/components/UserPanel.js +13 -13
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +17 -17
- package/CreateChannel/components/CreateChannelUI.js +13 -13
- package/CreateChannel/components/InviteUsers.js +13 -13
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +13 -13
- package/{CreateChannelProvider-11c8b9a3.js → CreateChannelProvider-8c7aa9d6.js} +1 -1
- package/{CreateChannelProvider-11c8b9a3.js.map → CreateChannelProvider-8c7aa9d6.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +9 -9
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile.js +12 -12
- package/{LocalizationContext-076d6d2e.js → LocalizationContext-2a605cc6.js} +3 -3
- package/{LocalizationContext-076d6d2e.js.map → LocalizationContext-2a605cc6.js.map} +1 -1
- package/{MediaQueryContext-11f0e43f.js → MediaQueryContext-9a1ce18e.js} +2 -2
- package/MediaQueryContext-9a1ce18e.js.map +1 -0
- package/{MemberList-061d186f.js → MemberList-f74830e4.js} +8 -6
- package/{cjs/MemberList-c886fbc9.js.map → MemberList-f74830e4.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +22 -20
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +37 -32
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/OpenChannel/components/OpenChannelUI.js +31 -31
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +33 -33
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-426cfb39.js → OpenChannelListProvider-1674b977.js} +3 -3
- package/{OpenChannelListProvider-426cfb39.js.map → OpenChannelListProvider-1674b977.js.map} +1 -1
- package/{OpenChannelProvider-d3a850e3.js → OpenChannelProvider-c1097360.js} +7 -7
- package/{OpenChannelProvider-d3a850e3.js.map → OpenChannelProvider-c1097360.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +17 -17
- package/{RemoveMessageModal-78e395ad.js → RemoveMessageModal-103c3502.js} +3 -3
- package/{RemoveMessageModal-78e395ad.js.map → RemoveMessageModal-103c3502.js.map} +1 -1
- package/SendbirdProvider.js +69 -217
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +35 -32
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +23 -21
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +36 -35
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +44 -38
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +32 -30
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +40 -39
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +40 -39
- package/Thread.js.map +1 -1
- package/{ThreadProvider-3a4a4db0.js → ThreadProvider-1799dbab.js} +10 -10
- package/ThreadProvider-1799dbab.js.map +1 -0
- package/{UserProfileContext-9cfbab4d.js → UserProfileContext-cf8bb199.js} +1 -1
- package/{UserProfileContext-9cfbab4d.js.map → UserProfileContext-cf8bb199.js.map} +1 -1
- package/{VoiceMessageInputWrapper-dc459df1.js → VoiceMessageInputWrapper-276b625e.js} +8 -7
- package/VoiceMessageInputWrapper-276b625e.js.map +1 -0
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +15 -3
- package/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/VoiceRecorder/context.js +42 -4
- package/VoiceRecorder/context.js.map +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +14 -2
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/{WebAudioUtils-6df19fcc.js → WebAudioUtils-b2c9fae9.js} +1 -1
- package/{WebAudioUtils-6df19fcc.js.map → WebAudioUtils-b2c9fae9.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-6bb0305c.js → _rollupPluginBabelHelpers-34fc6689.js} +1 -1
- package/_rollupPluginBabelHelpers-34fc6689.js.map +1 -0
- package/{actionTypes-ce6caec1.js → actionTypes-3f51c08a.js} +1 -1
- package/{actionTypes-ce6caec1.js.map → actionTypes-3f51c08a.js.map} +1 -1
- package/cjs/App.js +81 -62
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +19 -18
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +44 -43
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +15 -14
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +38 -36
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +31 -29
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +38 -37
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +17 -16
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +17 -16
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +15 -14
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +12 -12
- package/cjs/Channel.js +42 -41
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +30 -29
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +26 -25
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +13 -13
- package/cjs/ChannelList/context.js +7 -7
- package/cjs/ChannelList.js +30 -29
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-6f1b6689.js → ChannelListProvider-26cc6944.js} +7 -7
- package/cjs/{ChannelListProvider-6f1b6689.js.map → ChannelListProvider-26cc6944.js.map} +1 -1
- package/cjs/{ChannelProvider-da7b08a1.js → ChannelProvider-54bb28cc.js} +51 -30
- package/cjs/ChannelProvider-54bb28cc.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
- package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
- package/cjs/ChannelSettings/components/UserListItem.js +10 -10
- package/cjs/ChannelSettings/components/UserPanel.js +13 -13
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +17 -17
- package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
- package/cjs/CreateChannel/components/InviteUsers.js +13 -13
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +13 -13
- package/cjs/{CreateChannelProvider-2f105a5c.js → CreateChannelProvider-8c106973.js} +1 -1
- package/cjs/{CreateChannelProvider-2f105a5c.js.map → CreateChannelProvider-8c106973.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +9 -9
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile.js +12 -12
- package/cjs/{LocalizationContext-df436a16.js → LocalizationContext-bdc95952.js} +3 -3
- package/cjs/{LocalizationContext-df436a16.js.map → LocalizationContext-bdc95952.js.map} +1 -1
- package/cjs/{MediaQueryContext-f1e8fdbc.js → MediaQueryContext-28b81968.js} +2 -2
- package/cjs/MediaQueryContext-28b81968.js.map +1 -0
- package/cjs/{MemberList-c886fbc9.js → MemberList-5f5ab063.js} +8 -6
- package/cjs/MemberList-5f5ab063.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +22 -20
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +37 -32
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +33 -33
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-b7914f1a.js → OpenChannelListProvider-da4fd54b.js} +3 -3
- package/cjs/{OpenChannelListProvider-b7914f1a.js.map → OpenChannelListProvider-da4fd54b.js.map} +1 -1
- package/cjs/{OpenChannelProvider-b431f910.js → OpenChannelProvider-c6295ecd.js} +7 -7
- package/cjs/{OpenChannelProvider-b431f910.js.map → OpenChannelProvider-c6295ecd.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/{RemoveMessageModal-bcf3c6fe.js → RemoveMessageModal-f4d8af47.js} +3 -3
- package/cjs/{RemoveMessageModal-bcf3c6fe.js.map → RemoveMessageModal-f4d8af47.js.map} +1 -1
- package/cjs/SendbirdProvider.js +70 -218
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +35 -32
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +23 -21
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +36 -35
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +44 -38
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +32 -30
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +40 -39
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +40 -39
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-654b9db0.js → ThreadProvider-17ad9d05.js} +10 -10
- package/cjs/ThreadProvider-17ad9d05.js.map +1 -0
- package/cjs/{UserProfileContext-0c255fa6.js → UserProfileContext-27a5718b.js} +1 -1
- package/cjs/{UserProfileContext-0c255fa6.js.map → UserProfileContext-27a5718b.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-2aaed45b.js → VoiceMessageInputWrapper-1100905a.js} +8 -7
- package/cjs/VoiceMessageInputWrapper-1100905a.js.map +1 -0
- package/cjs/VoicePlayer/context.js +4 -3
- package/cjs/VoicePlayer/context.js.map +1 -1
- package/cjs/VoicePlayer/useVoicePlayer.js +15 -3
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/cjs/VoiceRecorder/context.js +42 -4
- package/cjs/VoiceRecorder/context.js.map +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +14 -2
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/cjs/{WebAudioUtils-58f47b3f.js → WebAudioUtils-cd45fa51.js} +1 -1
- package/cjs/{WebAudioUtils-58f47b3f.js.map → WebAudioUtils-cd45fa51.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-5fad415d.js → _rollupPluginBabelHelpers-d68672d6.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-d68672d6.js.map +1 -0
- package/cjs/{actionTypes-6cbf2054.js → actionTypes-bf093246.js} +1 -1
- package/cjs/{actionTypes-6cbf2054.js.map → actionTypes-bf093246.js.map} +1 -1
- package/cjs/{color-026d07a6.js → color-bb9924cb.js} +1 -1
- package/cjs/{color-026d07a6.js.map → color-bb9924cb.js.map} +1 -1
- package/cjs/{compareIds-f064c47d.js → compareIds-96cdd2a0.js} +1 -1
- package/cjs/{compareIds-f064c47d.js.map → compareIds-96cdd2a0.js.map} +1 -1
- package/cjs/{const-692d0039.js → const-44ddbe54.js} +1 -1
- package/cjs/{const-692d0039.js.map → const-44ddbe54.js.map} +1 -1
- package/cjs/{const-0a12bf51.js → const-73fbd467.js} +1 -1
- package/cjs/{const-0a12bf51.js.map → const-73fbd467.js.map} +1 -1
- package/cjs/{consts-f0dc64d0.js → consts-2dfc1883.js} +1 -1
- package/cjs/{consts-f0dc64d0.js.map → consts-2dfc1883.js.map} +1 -1
- package/cjs/{consts-2f667487.js → consts-40680de5.js} +1 -1
- package/cjs/{consts-2f667487.js.map → consts-40680de5.js.map} +1 -1
- package/cjs/{consts-25fc4351.js → consts-4fbdb1d6.js} +1 -1
- package/cjs/{consts-25fc4351.js.map → consts-4fbdb1d6.js.map} +1 -1
- package/cjs/{consts-297fdae1.js → consts-ccfad912.js} +1 -1
- package/cjs/{consts-297fdae1.js.map → consts-ccfad912.js.map} +1 -1
- package/cjs/{context-ec9b8da1.js → context-cdc5a8dd.js} +2 -2
- package/cjs/{context-ec9b8da1.js.map → context-cdc5a8dd.js.map} +1 -1
- package/cjs/dist/index.css +737 -732
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-a715eaef.js → index-0d4b8939.js} +2 -2
- package/cjs/{index-a715eaef.js.map → index-0d4b8939.js.map} +1 -1
- package/cjs/{index-162396f5.js → index-1ee86976.js} +3 -3
- package/cjs/{index-162396f5.js.map → index-1ee86976.js.map} +1 -1
- package/cjs/{index-9b38e167.js → index-2044d323.js} +4 -4
- package/cjs/{index-9b38e167.js.map → index-2044d323.js.map} +1 -1
- package/cjs/{index-80fc14fe.js → index-4ff12eb9.js} +2 -2
- package/cjs/{index-80fc14fe.js.map → index-4ff12eb9.js.map} +1 -1
- package/cjs/{index-606495e5.js → index-6d959b4d.js} +5 -5
- package/cjs/{index-606495e5.js.map → index-6d959b4d.js.map} +1 -1
- package/cjs/{index-0f42efcf.js → index-71def451.js} +1 -1
- package/cjs/{index-0f42efcf.js.map → index-71def451.js.map} +1 -1
- package/cjs/{index-dd9bc361.js → index-77c91851.js} +1 -1
- package/cjs/{index-dd9bc361.js.map → index-77c91851.js.map} +1 -1
- package/cjs/{index-33b67e46.js → index-7a9d2024.js} +3 -5
- package/cjs/index-7a9d2024.js.map +1 -0
- package/cjs/{index-0bd8e5f3.js → index-7b19a3f7.js} +6 -6
- package/cjs/{index-0bd8e5f3.js.map → index-7b19a3f7.js.map} +1 -1
- package/cjs/{index-6e05ddef.js → index-89314643.js} +35 -20
- package/cjs/index-89314643.js.map +1 -0
- package/cjs/{index-450be53e.js → index-adcca875.js} +4 -4
- package/cjs/{index-450be53e.js.map → index-adcca875.js.map} +1 -1
- package/cjs/{index-45cee454.js → index-b1485c4a.js} +2 -2
- package/cjs/{index-45cee454.js.map → index-b1485c4a.js.map} +1 -1
- package/cjs/{index-21392a2e.js → index-b6a49cba.js} +3 -3
- package/cjs/{index-21392a2e.js.map → index-b6a49cba.js.map} +1 -1
- package/cjs/{index-4881e776.js → index-ca51d316.js} +6 -6
- package/cjs/{index-4881e776.js.map → index-ca51d316.js.map} +1 -1
- package/cjs/{index-12ce8274.js → index-dada883d.js} +62 -24
- package/cjs/index-dada883d.js.map +1 -0
- package/cjs/{index-c89616c9.js → index-e766176d.js} +2 -2
- package/cjs/{index-c89616c9.js.map → index-e766176d.js.map} +1 -1
- package/cjs/{index-bf4e62fb.js → index-f7b329d2.js} +2 -2
- package/cjs/{index-bf4e62fb.js.map → index-f7b329d2.js.map} +1 -1
- package/cjs/index.js +58 -56
- package/cjs/index.js.map +1 -1
- package/cjs/{index.module-e5552393.js → index.module-3e11d4a7.js} +1 -1
- package/cjs/{index.module-e5552393.js.map → index.module-3e11d4a7.js.map} +1 -1
- package/cjs/resolvedReplyType-42ff3f75.js +32 -0
- package/cjs/resolvedReplyType-42ff3f75.js.map +1 -0
- package/cjs/sendbirdSelectors.js +3 -3
- package/cjs/{stringSet-d7f78de0.js → stringSet-0cddd94a.js} +3 -1
- package/cjs/stringSet-0cddd94a.js.map +1 -0
- package/cjs/{tokenize-595877b4.js → tokenize-75ed25db.js} +2 -2
- package/cjs/{tokenize-595877b4.js.map → tokenize-75ed25db.js.map} +1 -1
- package/cjs/{topics-2431bb78.js → topics-3e3eb86d.js} +1 -1
- package/cjs/{topics-2431bb78.js.map → topics-3e3eb86d.js.map} +1 -1
- package/cjs/{types-ef51254c.js → types-2138565d.js} +1 -1
- package/cjs/types-2138565d.js.map +1 -0
- package/cjs/ui/Accordion.js +2 -2
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +2 -2
- package/cjs/ui/Avatar.js +1 -1
- package/cjs/ui/Badge.js +4 -4
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +2 -2
- package/cjs/ui/ChannelAvatar.js +2 -2
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +3 -3
- package/cjs/ui/EmojiReactions.js +13 -13
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/MentionLabel.js +10 -10
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +35 -33
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +70 -17
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +8 -8
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +8 -8
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/OGMessageItemBody.js +14 -14
- package/cjs/ui/OpenChannelAdminMessage.js +2 -2
- package/cjs/ui/OpenChannelAvatar.js +5 -5
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +17 -17
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +21 -21
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +20 -21
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +5 -5
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +7 -7
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +2 -2
- package/cjs/ui/ReactionButton.js +4 -4
- package/cjs/ui/SortByRow.js +1 -1
- package/cjs/ui/TextButton.js +1 -1
- package/cjs/ui/TextMessageItemBody.js +14 -14
- package/cjs/ui/ThreadReplies.js +5 -5
- package/cjs/ui/ThumbnailMessageItemBody.js +6 -13
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Toggle.js +1 -1
- package/cjs/ui/Tooltip.js +2 -2
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +10 -10
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js +17 -6
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
- package/cjs/ui/VoiceMessgeInput.js +7 -7
- package/cjs/ui/Word.js +10 -10
- package/cjs/{useDirtyGetMentions-cc7de01f.js → useDirtyGetMentions-9945a1c0.js} +1 -1
- package/cjs/{useDirtyGetMentions-cc7de01f.js.map → useDirtyGetMentions-9945a1c0.js.map} +1 -1
- package/cjs/{useLongPress-68ad7161.js → useLongPress-5174fd42.js} +3 -3
- package/cjs/{useLongPress-68ad7161.js.map → useLongPress-5174fd42.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-53aa911b.js → utils-2ef71eef.js} +1 -1
- package/cjs/{utils-53aa911b.js.map → utils-2ef71eef.js.map} +1 -1
- package/cjs/{utils-279e7553.js → utils-37a5dfde.js} +1 -1
- package/cjs/{utils-279e7553.js.map → utils-37a5dfde.js.map} +1 -1
- package/cjs/{utils-080f7835.js → utils-a7008e7b.js} +2 -2
- package/cjs/{utils-080f7835.js.map → utils-a7008e7b.js.map} +1 -1
- package/cjs/{utils-58e012fb.js → utils-f1c0d384.js} +1 -1
- package/cjs/{utils-58e012fb.js.map → utils-f1c0d384.js.map} +1 -1
- package/cjs/{uuid-2953f4dd.js → uuid-075367f7.js} +1 -1
- package/cjs/{uuid-2953f4dd.js.map → uuid-075367f7.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-879cc347.js → color-85cde5a7.js} +1 -1
- package/{color-879cc347.js.map → color-85cde5a7.js.map} +1 -1
- package/{compareIds-defe2bb3.js → compareIds-3e3591cb.js} +1 -1
- package/{compareIds-defe2bb3.js.map → compareIds-3e3591cb.js.map} +1 -1
- package/{const-b3f02313.js → const-2109eff9.js} +1 -1
- package/{const-b3f02313.js.map → const-2109eff9.js.map} +1 -1
- package/{const-221c6a89.js → const-91fefb8e.js} +1 -1
- package/{const-221c6a89.js.map → const-91fefb8e.js.map} +1 -1
- package/{consts-81544e52.js → consts-b6194fdf.js} +1 -1
- package/{consts-81544e52.js.map → consts-b6194fdf.js.map} +1 -1
- package/{consts-95d8566e.js → consts-bd5c0783.js} +1 -1
- package/{consts-95d8566e.js.map → consts-bd5c0783.js.map} +1 -1
- package/{consts-c41580ae.js → consts-d9de055a.js} +1 -1
- package/{consts-c41580ae.js.map → consts-d9de055a.js.map} +1 -1
- package/{consts-ff014656.js → consts-fafa501c.js} +1 -1
- package/{consts-ff014656.js.map → consts-fafa501c.js.map} +1 -1
- package/{context-63cbe5bd.js → context-b6e563d1.js} +2 -2
- package/{context-63cbe5bd.js.map → context-b6e563d1.js.map} +1 -1
- package/dist/index.css +737 -732
- package/dist/index.css.map +1 -1
- package/{index-cef1cfff.js → index-10472187.js} +3 -3
- package/{index-cef1cfff.js.map → index-10472187.js.map} +1 -1
- package/{index-fb8a5bc3.js → index-1a6d4397.js} +5 -5
- package/{index-fb8a5bc3.js.map → index-1a6d4397.js.map} +1 -1
- package/{index-f7ec60a8.js → index-2f7c2c8a.js} +2 -2
- package/{index-f7ec60a8.js.map → index-2f7c2c8a.js.map} +1 -1
- package/{index-2c3e11ea.js → index-31eb43c8.js} +4 -4
- package/{index-2c3e11ea.js.map → index-31eb43c8.js.map} +1 -1
- package/{index-99aabd9e.js → index-3515f8f3.js} +1 -1
- package/{index-99aabd9e.js.map → index-3515f8f3.js.map} +1 -1
- package/{index-7eb65acf.js → index-39f0a98e.js} +4 -5
- package/index-39f0a98e.js.map +1 -0
- package/{index-e6e562c5.js → index-3a6d5e45.js} +4 -4
- package/{index-e6e562c5.js.map → index-3a6d5e45.js.map} +1 -1
- package/{index-eaf0d65b.js → index-76929e40.js} +6 -6
- package/{index-eaf0d65b.js.map → index-76929e40.js.map} +1 -1
- package/{index-63949de5.js → index-8fb5d71a.js} +2 -2
- package/{index-63949de5.js.map → index-8fb5d71a.js.map} +1 -1
- package/{index-9e49ffe3.js → index-94ed0e50.js} +2 -2
- package/{index-9e49ffe3.js.map → index-94ed0e50.js.map} +1 -1
- package/{index-aca30408.js → index-9730aae6.js} +35 -20
- package/index-9730aae6.js.map +1 -0
- package/{index-38e61c64.js → index-a27543ed.js} +1 -1
- package/{index-38e61c64.js.map → index-a27543ed.js.map} +1 -1
- package/{index-fe932783.js → index-b05a5803.js} +2 -2
- package/{index-fe932783.js.map → index-b05a5803.js.map} +1 -1
- package/{index-306bc4ab.js → index-bbf4f597.js} +3 -3
- package/{index-306bc4ab.js.map → index-bbf4f597.js.map} +1 -1
- package/{index-5c1b672d.js → index-bf4f0a7e.js} +6 -6
- package/{index-5c1b672d.js.map → index-bf4f0a7e.js.map} +1 -1
- package/{index-5c985608.js → index-c54a357d.js} +62 -25
- package/index-c54a357d.js.map +1 -0
- package/{index-7cdd58b8.js → index-d847ae45.js} +2 -2
- package/{index-7cdd58b8.js.map → index-d847ae45.js.map} +1 -1
- package/index.d.ts +7 -3
- package/index.js +58 -56
- package/index.js.map +1 -1
- package/{index.module-54d57ec3.js → index.module-9faf1703.js} +1 -1
- package/{index.module-54d57ec3.js.map → index.module-9faf1703.js.map} +1 -1
- package/package.json +3 -2
- package/resolvedReplyType-f5cc6c0b.js +29 -0
- package/resolvedReplyType-f5cc6c0b.js.map +1 -0
- package/sendbirdSelectors.js +3 -3
- package/{stringSet-13bbd4a2.js → stringSet-d0b92983.js} +3 -1
- package/stringSet-d0b92983.js.map +1 -0
- package/{tokenize-c40f2b57.js → tokenize-fd0af52f.js} +2 -2
- package/{tokenize-c40f2b57.js.map → tokenize-fd0af52f.js.map} +1 -1
- package/{topics-b2b77fb9.js → topics-8aa96837.js} +1 -1
- package/{topics-b2b77fb9.js.map → topics-8aa96837.js.map} +1 -1
- package/{types-4ff4177c.js → types-7f0754fd.js} +1 -1
- package/types-7f0754fd.js.map +1 -0
- package/ui/Accordion.js +2 -2
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +2 -2
- package/ui/Avatar.js +1 -1
- package/ui/Badge.js +4 -4
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +2 -2
- package/ui/ChannelAvatar.js +2 -2
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +3 -3
- package/ui/EmojiReactions.js +13 -13
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- package/ui/IconButton.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/MentionLabel.js +10 -10
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +35 -33
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +71 -18
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +8 -8
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +8 -8
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +14 -14
- package/ui/OpenChannelAdminMessage.js +2 -2
- package/ui/OpenChannelAvatar.js +5 -5
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +17 -17
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +21 -21
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +16 -16
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +20 -21
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +5 -5
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +7 -7
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +2 -2
- package/ui/ReactionButton.js +4 -4
- package/ui/SortByRow.js +1 -1
- package/ui/TextButton.js +1 -1
- package/ui/TextMessageItemBody.js +14 -14
- package/ui/ThreadReplies.js +5 -5
- package/ui/ThumbnailMessageItemBody.js +6 -13
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Toggle.js +1 -1
- package/ui/Tooltip.js +2 -2
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +10 -10
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +17 -6
- package/ui/VoiceMessageItemBody.js.map +1 -1
- package/ui/VoiceMessgeInput.js +7 -7
- package/ui/Word.js +10 -10
- package/{useDirtyGetMentions-aa730e2c.js → useDirtyGetMentions-5b631226.js} +1 -1
- package/{useDirtyGetMentions-aa730e2c.js.map → useDirtyGetMentions-5b631226.js.map} +1 -1
- package/{useLongPress-1303953d.js → useLongPress-700ef78f.js} +3 -3
- package/{useLongPress-1303953d.js.map → useLongPress-700ef78f.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-4bbbca2c.js → utils-0e2c993e.js} +1 -1
- package/{utils-4bbbca2c.js.map → utils-0e2c993e.js.map} +1 -1
- package/{utils-d86ad6ab.js → utils-6763f910.js} +1 -1
- package/{utils-d86ad6ab.js.map → utils-6763f910.js.map} +1 -1
- package/{utils-a2009c36.js → utils-8c4a9896.js} +1 -1
- package/{utils-a2009c36.js.map → utils-8c4a9896.js.map} +1 -1
- package/{utils-30d3ca65.js → utils-9de25bcb.js} +2 -2
- package/{utils-30d3ca65.js.map → utils-9de25bcb.js.map} +1 -1
- package/{uuid-1adedf62.js → uuid-eadf9a09.js} +1 -1
- package/{uuid-1adedf62.js.map → uuid-eadf9a09.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelProvider-910bbc1f.js.map +0 -1
- package/MediaQueryContext-11f0e43f.js.map +0 -1
- package/MemberList-061d186f.js.map +0 -1
- package/ThreadProvider-3a4a4db0.js.map +0 -1
- package/VoiceMessageInputWrapper-dc459df1.js.map +0 -1
- package/_rollupPluginBabelHelpers-6bb0305c.js.map +0 -1
- package/cjs/ChannelProvider-da7b08a1.js.map +0 -1
- package/cjs/MediaQueryContext-f1e8fdbc.js.map +0 -1
- package/cjs/ThreadProvider-654b9db0.js.map +0 -1
- package/cjs/VoiceMessageInputWrapper-2aaed45b.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-5fad415d.js.map +0 -1
- package/cjs/index-12ce8274.js.map +0 -1
- package/cjs/index-33b67e46.js.map +0 -1
- package/cjs/index-6e05ddef.js.map +0 -1
- package/cjs/stringSet-d7f78de0.js.map +0 -1
- package/cjs/types-ef51254c.js.map +0 -1
- package/index-5c985608.js.map +0 -1
- package/index-7eb65acf.js.map +0 -1
- package/index-aca30408.js.map +0 -1
- package/stringSet-13bbd4a2.js.map +0 -1
- package/types-4ff4177c.js.map +0 -1
|
@@ -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 BROWSER_SUPPORT_MIME_TYPE_LIST,\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_RECORDER_AUDIO_BITS,\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 Context = 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 browserSupportMimeType = BROWSER_SUPPORT_MIME_TYPE_LIST.find((mimeType) => MediaRecorder.isTypeSupported(mimeType)) ?? '';\n if (!browserSupportMimeType) {\n logger.error('VoiceRecorder: Browser does not support mimeType', { mimmeTypes: BROWSER_SUPPORT_MIME_TYPE_LIST });\n }\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: browserSupportMimeType,\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 <Context.Provider value={{\n start,\n stop,\n isRecordable,\n }}>\n {children}\n </Context.Provider>\n );\n};\n\nexport const useVoiceRecorderContext = (): VoiceRecorderContext => useContext(Context);\n\nexport default {\n VoiceRecorderProvider,\n useVoiceRecorderContext,\n};\n"],"names":["noop","Context","createContext","start","stop","isRecordable","VoiceRecorderProvider","props","_BROWSER_SUPPORT_MIME","children","config","useSendbirdStateContext","logger","isVoiceMessageEnabled","mediaRecorder","setMediaRecorder","useState","setIsRecordable","browserSupportMimeType","BROWSER_SUPPORT_MIME_TYPE_LIST","find","mimeType","MediaRecorder","isTypeSupported","error","mimmeTypes","webAudioUtils","setWebAudioUtils","useEffect","then","data","useCallback","eventHandler","_navigator","_navigator$mediaDevic","_navigator$mediaDevic2","info","navigator","mediaDevices","getUserMedia","call","audio","stream","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
|
+
{"version":3,"file":"context.js","sources":["../../src/hooks/VoiceRecorder/index.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\n\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Modal from '../../ui/Modal';\nimport {\n BROWSER_SUPPORT_MIME_TYPE_LIST,\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_RECORDER_AUDIO_BITS,\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 Context = 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 const [permissionWarning, setPermissionWarning] = useState<boolean>(false);\n const { stringSet } = useLocalization();\n\n const checkPermission = () => {\n try {\n // Type '\"microphone\"' is not assignable to type 'PermissionName'.ts(2322)\n // this is typescript issue\n // https://github.com/microsoft/TypeScript/issues/33923\n // @ts-expect-error\n navigator.permissions.query({ name: 'microphone' }).then((result) => {\n if (result.state === 'denied') {\n logger.warning('VoiceRecorder: Permission denied.');\n setPermissionWarning(true);\n }\n });\n } catch (error) {\n logger.warning('VoiceRecorder: Failed to check permission.', error);\n }\n };\n\n const browserSupportMimeType = BROWSER_SUPPORT_MIME_TYPE_LIST.find((mimeType) => MediaRecorder.isTypeSupported(mimeType)) ?? '';\n if (!browserSupportMimeType) {\n logger.error('VoiceRecorder: Browser does not support mimeType', { mimmeTypes: BROWSER_SUPPORT_MIME_TYPE_LIST });\n }\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 checkPermission();\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: browserSupportMimeType,\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 <Context.Provider value={{\n start,\n stop,\n isRecordable,\n }}>\n {children}\n {\n permissionWarning && (\n <Modal\n hideFooter\n onCancel={() => setPermissionWarning(false)}\n >\n <>{stringSet.VOICE_RECORDING_PERMISSION_DENIED}</>\n </Modal>\n )\n }\n </Context.Provider>\n );\n};\n\nexport const useVoiceRecorderContext = (): VoiceRecorderContext => useContext(Context);\n\nexport default {\n VoiceRecorderProvider,\n useVoiceRecorderContext,\n};\n"],"names":["noop","Context","createContext","start","stop","isRecordable","VoiceRecorderProvider","props","_BROWSER_SUPPORT_MIME","children","config","useSendbirdStateContext","logger","isVoiceMessageEnabled","mediaRecorder","setMediaRecorder","useState","setIsRecordable","permissionWarning","setPermissionWarning","stringSet","useLocalization","checkPermission","navigator","permissions","query","name","then","result","state","warning","error","browserSupportMimeType","BROWSER_SUPPORT_MIME_TYPE_LIST","find","mimeType","MediaRecorder","isTypeSupported","mimmeTypes","webAudioUtils","setWebAudioUtils","useEffect","data","useCallback","eventHandler","_navigator","_navigator$mediaDevic","_navigator$mediaDevic2","info","mediaDevices","getUserMedia","call","audio","stream","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","Modal","hideFooter","onCancel","Fragment","VOICE_RECORDING_PERMISSION_DENIED","useVoiceRecorderContext","useContext"],"mappings":"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"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
import { useState, useEffect, useCallback } from 'react';
|
|
2
2
|
import { useVoiceRecorderContext } from './context.js';
|
|
3
3
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
4
|
-
import '../
|
|
4
|
+
import '../LocalizationContext-2a605cc6.js';
|
|
5
|
+
import '../stringSet-d0b92983.js';
|
|
6
|
+
import '../index-3515f8f3.js';
|
|
7
|
+
import '../ui/Modal.js';
|
|
8
|
+
import 'react-dom';
|
|
9
|
+
import '../index-a27543ed.js';
|
|
10
|
+
import '../ui/Button.js';
|
|
11
|
+
import '../index-8fb5d71a.js';
|
|
12
|
+
import 'prop-types';
|
|
13
|
+
import '../ui/Icon.js';
|
|
14
|
+
import '../ui/IconButton.js';
|
|
15
|
+
import '../_rollupPluginBabelHelpers-34fc6689.js';
|
|
16
|
+
import '../MediaQueryContext-9a1ce18e.js';
|
|
17
|
+
import '../consts-bd5c0783.js';
|
|
5
18
|
import '../withSendbird.js';
|
|
6
|
-
import '../_rollupPluginBabelHelpers-6bb0305c.js';
|
|
7
19
|
|
|
8
20
|
// export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {
|
|
9
21
|
// /**
|
|
@@ -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// }\n/* eslint-disable no-redeclare */\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":"
|
|
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// }\n/* eslint-disable no-redeclare */\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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebAudioUtils-6df19fcc.js","sources":["../src/hooks/VoiceRecorder/WebAudioUtils.ts"],"sourcesContent":["// Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw\nimport { WavHeader, Mp3Encoder } from '../../_externals/lamejs/lame.all';\n\nfunction encodeMp3(arrayBuffer: ArrayBuffer): WavHeader {\n const wav = WavHeader.readHeader(new DataView(arrayBuffer));\n const dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);\n const mp3Encoder = new Mp3Encoder(wav.channels, wav.sampleRate, 128);\n const maxSamples = 1152;\n\n const samplesLeft = (wav.channels === 1) ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));\n const samplesRight = (wav.channels === 2) ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;\n\n if (wav.channels > 1) {\n for (let j = 0; j < samplesLeft.length; j++) {\n samplesLeft[j] = dataView[j * 2];\n samplesRight[j] = dataView[j * 2 + 1];\n }\n }\n\n const dataBuffer = [];\n let remaining = samplesLeft.length;\n for (let i = 0; remaining >= maxSamples; i += maxSamples) {\n const left = samplesLeft.subarray(i, i + maxSamples);\n let right;\n if (samplesRight) {\n right = samplesRight.subarray(i, i + maxSamples);\n }\n const mp3buf = mp3Encoder.encodeBuffer(left, right);\n dataBuffer.push(new Int8Array(mp3buf));\n remaining -= maxSamples;\n }\n\n const mp3Lastbuf = mp3Encoder.flush();\n dataBuffer.push(new Int8Array(mp3Lastbuf));\n return dataBuffer;\n}\n\n// Convert audioFile to arrayBuffer, because Mp3Encoder requires a parameter of ArrayBuffer type\nfunction downsampleToWav(file: File, callback: (buffer: ArrayBuffer) => void): void {\n // Browser compatibility\n // https://caniuse.com/?search=AudioContext\n const audioCtx = new AudioContext();\n const fileReader = new FileReader();\n fileReader.onload = function (ev) {\n // Decode audio\n audioCtx.decodeAudioData(ev.target.result as ArrayBuffer, (buffer) => {\n // this is where you down sample the audio, usually is 44100 samples per second\n const usingWebkit = !window.OfflineAudioContext;\n const offlineAudioCtx = new OfflineAudioContext(1, 16000 * buffer.duration, 16000);\n\n const soundSource = offlineAudioCtx.createBufferSource();\n soundSource.buffer = buffer;\n soundSource.connect(offlineAudioCtx.destination);\n\n const reader = new FileReader();\n reader.onload = function () {\n const renderCompleteHandler = (evt): void => {\n const renderedBuffer = usingWebkit ? evt.renderedBuffer : evt;\n const buffer = bufferToWav(renderedBuffer, renderedBuffer.length);\n if (callback) {\n callback(buffer);\n }\n };\n if (usingWebkit) {\n offlineAudioCtx.oncomplete = renderCompleteHandler;\n offlineAudioCtx.startRendering();\n } else {\n offlineAudioCtx\n .startRendering()\n .then(renderCompleteHandler)\n // eslint-disable-next-line no-console\n .catch((err) => console.warn(err));\n }\n };\n reader.readAsArrayBuffer(file);\n soundSource.start(0);\n });\n };\n fileReader.readAsArrayBuffer(file);\n}\n\nfunction bufferToWav(abuffer, len) {\n const numOfChan = abuffer.numberOfChannels;\n const length = len * numOfChan * 2 + 44;\n const buffer = new ArrayBuffer(length);\n const view = new DataView(buffer);\n const channels = [];\n let i = 0;\n let sample;\n let offset = 0;\n let pos = 0;\n\n // write WAVE header\n setUint32(0x46464952); // \"RIFF\"\n setUint32(length - 8); // file length - 8\n setUint32(0x45564157); // \"WAVE\"\n setUint32(0x20746d66); // \"fmt \" chunk\n setUint32(16); // length = 16\n setUint16(1); // PCM (uncompressed)\n setUint16(numOfChan);\n setUint32(abuffer.sampleRate);\n setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec\n setUint16(numOfChan * 2); // block-align\n setUint16(16); // 16-bit (hardcoded in this demo)\n setUint32(0x61746164); // \"data\" - chunk\n setUint32(length - pos - 4); // chunk length\n // write interleaved data\n for (i = 0; i < abuffer.numberOfChannels; i++)\n channels.push(abuffer.getChannelData(i));\n\n while (pos < length) {\n for (i = 0; i < numOfChan; i++) {\n // interleave channels\n sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp\n sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int\n view.setInt16(pos, sample, true); // write 16-bit sample\n pos += 2;\n }\n offset++; // next source sample\n }\n\n return buffer;\n\n function setUint16(data) {\n view.setUint16(pos, data, true);\n pos += 2;\n }\n\n function setUint32(data) {\n view.setUint32(pos, data, true);\n pos += 4;\n }\n}\n\nexport { downsampleToWav, encodeMp3 };\n"],"names":["encodeMp3","arrayBuffer","wav","WavHeader","readHeader","DataView","dataView","Int16Array","dataOffset","dataLen","mp3Encoder","Mp3Encoder","channels","sampleRate","maxSamples","samplesLeft","samplesRight","undefined","j","length","dataBuffer","remaining","i","left","subarray","right","mp3buf","encodeBuffer","push","Int8Array","mp3Lastbuf","flush","downsampleToWav","file","callback","audioCtx","AudioContext","fileReader","FileReader","onload","ev","decodeAudioData","target","result","buffer","usingWebkit","window","OfflineAudioContext","offlineAudioCtx","duration","soundSource","createBufferSource","connect","destination","reader","renderCompleteHandler","evt","renderedBuffer","bufferToWav","oncomplete","startRendering","then","catch","err","console","warn","readAsArrayBuffer","start","abuffer","len","numOfChan","numberOfChannels","ArrayBuffer","view","sample","offset","pos","setUint32","setUint16","getChannelData","Math","max","min","setInt16","data"],"mappings":";;AAAA;AAGA,SAASA,SAASA,CAACC,WAAwB,EAAa;EACtD,MAAMC,GAAG,GAAGC,yCAAS,CAACC,UAAU,CAAC,IAAIC,QAAQ,CAACJ,WAAW,CAAC,CAAC,CAAA;AAC3D,EAAA,MAAMK,QAAQ,GAAG,IAAIC,UAAU,CAACN,WAAW,EAAEC,GAAG,CAACM,UAAU,EAAEN,GAAG,CAACO,OAAO,GAAG,CAAC,CAAC,CAAA;AAC7E,EAAA,MAAMC,UAAU,GAAG,IAAIC,yCAAU,CAACT,GAAG,CAACU,QAAQ,EAAEV,GAAG,CAACW,UAAU,EAAE,GAAG,CAAC,CAAA;EACpE,MAAMC,UAAU,GAAG,IAAI,CAAA;EAEvB,MAAMC,WAAW,GAAIb,GAAG,CAACU,QAAQ,KAAK,CAAC,GAAIN,QAAQ,GAAG,IAAIC,UAAU,CAACL,GAAG,CAACO,OAAO,IAAI,CAAC,GAAGP,GAAG,CAACU,QAAQ,CAAC,CAAC,CAAA;EACtG,MAAMI,YAAY,GAAId,GAAG,CAACU,QAAQ,KAAK,CAAC,GAAI,IAAIL,UAAU,CAACL,GAAG,CAACO,OAAO,IAAI,CAAC,GAAGP,GAAG,CAACU,QAAQ,CAAC,CAAC,GAAGK,SAAS,CAAA;AAExG,EAAA,IAAIf,GAAG,CAACU,QAAQ,GAAG,CAAC,EAAE;AACpB,IAAA,KAAK,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,WAAW,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;MAC3CH,WAAW,CAACG,CAAC,CAAC,GAAGZ,QAAQ,CAACY,CAAC,GAAG,CAAC,CAAC,CAAA;MAChCF,YAAY,CAACE,CAAC,CAAC,GAAGZ,QAAQ,CAACY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AACvC,KAAA;AACF,GAAA;EAEA,MAAME,UAAU,GAAG,EAAE,CAAA;AACrB,EAAA,IAAIC,SAAS,GAAGN,WAAW,CAACI,MAAM,CAAA;AAClC,EAAA,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAED,SAAS,IAAIP,UAAU,EAAEQ,CAAC,IAAIR,UAAU,EAAE;IACxD,MAAMS,IAAI,GAAGR,WAAW,CAACS,QAAQ,CAACF,CAAC,EAAEA,CAAC,GAAGR,UAAU,CAAC,CAAA;AACpD,IAAA,IAAIW,KAAK,CAAA;AACT,IAAA,IAAIT,YAAY,EAAE;MAChBS,KAAK,GAAGT,YAAY,CAACQ,QAAQ,CAACF,CAAC,EAAEA,CAAC,GAAGR,UAAU,CAAC,CAAA;AAClD,KAAA;IACA,MAAMY,MAAM,GAAGhB,UAAU,CAACiB,YAAY,CAACJ,IAAI,EAAEE,KAAK,CAAC,CAAA;IACnDL,UAAU,CAACQ,IAAI,CAAC,IAAIC,SAAS,CAACH,MAAM,CAAC,CAAC,CAAA;AACtCL,IAAAA,SAAS,IAAIP,UAAU,CAAA;AACzB,GAAA;AAEA,EAAA,MAAMgB,UAAU,GAAGpB,UAAU,CAACqB,KAAK,EAAE,CAAA;EACrCX,UAAU,CAACQ,IAAI,CAAC,IAAIC,SAAS,CAACC,UAAU,CAAC,CAAC,CAAA;AAC1C,EAAA,OAAOV,UAAU,CAAA;AACnB,CAAA;;AAEA;AACA,SAASY,eAAeA,CAACC,IAAU,EAAEC,QAAuC,EAAQ;AAClF;AACA;AACA,EAAA,MAAMC,QAAQ,GAAG,IAAIC,YAAY,EAAE,CAAA;AACnC,EAAA,MAAMC,UAAU,GAAG,IAAIC,UAAU,EAAE,CAAA;AACnCD,EAAAA,UAAU,CAACE,MAAM,GAAG,UAAUC,EAAE,EAAE;AAChC;IACAL,QAAQ,CAACM,eAAe,CAACD,EAAE,CAACE,MAAM,CAACC,MAAM,EAAkBC,MAAM,IAAK;AACpE;AACA,MAAA,MAAMC,WAAW,GAAG,CAACC,MAAM,CAACC,mBAAmB,CAAA;AAC/C,MAAA,MAAMC,eAAe,GAAG,IAAID,mBAAmB,CAAC,CAAC,EAAE,KAAK,GAAGH,MAAM,CAACK,QAAQ,EAAE,KAAK,CAAC,CAAA;AAElF,MAAA,MAAMC,WAAW,GAAGF,eAAe,CAACG,kBAAkB,EAAE,CAAA;MACxDD,WAAW,CAACN,MAAM,GAAGA,MAAM,CAAA;AAC3BM,MAAAA,WAAW,CAACE,OAAO,CAACJ,eAAe,CAACK,WAAW,CAAC,CAAA;AAEhD,MAAA,MAAMC,MAAM,GAAG,IAAIhB,UAAU,EAAE,CAAA;MAC/BgB,MAAM,CAACf,MAAM,GAAG,YAAY;QAC1B,MAAMgB,qBAAqB,GAAIC,GAAG,IAAW;UAC3C,MAAMC,cAAc,GAAGZ,WAAW,GAAGW,GAAG,CAACC,cAAc,GAAGD,GAAG,CAAA;UAC7D,MAAMZ,MAAM,GAAGc,WAAW,CAACD,cAAc,EAAEA,cAAc,CAACtC,MAAM,CAAC,CAAA;AACjE,UAAA,IAAIe,QAAQ,EAAE;YACZA,QAAQ,CAACU,MAAM,CAAC,CAAA;AAClB,WAAA;SACD,CAAA;AACD,QAAA,IAAIC,WAAW,EAAE;UACfG,eAAe,CAACW,UAAU,GAAGJ,qBAAqB,CAAA;UAClDP,eAAe,CAACY,cAAc,EAAE,CAAA;AAClC,SAAC,MAAM;AACLZ,UAAAA,eAAe,CACZY,cAAc,EAAE,CAChBC,IAAI,CAACN,qBAAqB,CAAA;AAC3B;WACCO,KAAK,CAAEC,GAAG,IAAKC,OAAO,CAACC,IAAI,CAACF,GAAG,CAAC,CAAC,CAAA;AACtC,SAAA;OACD,CAAA;AACDT,MAAAA,MAAM,CAACY,iBAAiB,CAACjC,IAAI,CAAC,CAAA;AAC9BiB,MAAAA,WAAW,CAACiB,KAAK,CAAC,CAAC,CAAC,CAAA;AACtB,KAAC,CAAC,CAAA;GACH,CAAA;AACD9B,EAAAA,UAAU,CAAC6B,iBAAiB,CAACjC,IAAI,CAAC,CAAA;AACpC,CAAA;AAEA,SAASyB,WAAWA,CAACU,OAAO,EAAEC,GAAG,EAAE;AACjC,EAAA,MAAMC,SAAS,GAAGF,OAAO,CAACG,gBAAgB,CAAA;EAC1C,MAAMpD,MAAM,GAAGkD,GAAG,GAAGC,SAAS,GAAG,CAAC,GAAG,EAAE,CAAA;AACvC,EAAA,MAAM1B,MAAM,GAAG,IAAI4B,WAAW,CAACrD,MAAM,CAAC,CAAA;AACtC,EAAA,MAAMsD,IAAI,GAAG,IAAIpE,QAAQ,CAACuC,MAAM,CAAC,CAAA;EACjC,MAAMhC,QAAQ,GAAG,EAAE,CAAA;EACnB,IAAIU,CAAC,GAAG,CAAC,CAAA;AACT,EAAA,IAAIoD,MAAM,CAAA;EACV,IAAIC,MAAM,GAAG,CAAC,CAAA;EACd,IAAIC,GAAG,GAAG,CAAC,CAAA;;AAEX;AACAC,EAAAA,SAAS,CAAC,UAAU,CAAC,CAAC;AACtBA,EAAAA,SAAS,CAAC1D,MAAM,GAAG,CAAC,CAAC,CAAC;AACtB0D,EAAAA,SAAS,CAAC,UAAU,CAAC,CAAC;AACtBA,EAAAA,SAAS,CAAC,UAAU,CAAC,CAAC;AACtBA,EAAAA,SAAS,CAAC,EAAE,CAAC,CAAC;AACdC,EAAAA,SAAS,CAAC,CAAC,CAAC,CAAC;EACbA,SAAS,CAACR,SAAS,CAAC,CAAA;AACpBO,EAAAA,SAAS,CAACT,OAAO,CAACvD,UAAU,CAAC,CAAA;EAC7BgE,SAAS,CAACT,OAAO,CAACvD,UAAU,GAAG,CAAC,GAAGyD,SAAS,CAAC,CAAC;AAC9CQ,EAAAA,SAAS,CAACR,SAAS,GAAG,CAAC,CAAC,CAAC;AACzBQ,EAAAA,SAAS,CAAC,EAAE,CAAC,CAAC;AACdD,EAAAA,SAAS,CAAC,UAAU,CAAC,CAAC;EACtBA,SAAS,CAAC1D,MAAM,GAAGyD,GAAG,GAAG,CAAC,CAAC,CAAC;AAC5B;EACA,KAAKtD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG8C,OAAO,CAACG,gBAAgB,EAAEjD,CAAC,EAAE,EAC3CV,QAAQ,CAACgB,IAAI,CAACwC,OAAO,CAACW,cAAc,CAACzD,CAAC,CAAC,CAAC,CAAA;EAE1C,OAAOsD,GAAG,GAAGzD,MAAM,EAAE;IACnB,KAAKG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgD,SAAS,EAAEhD,CAAC,EAAE,EAAE;AAC9B;MACAoD,MAAM,GAAGM,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEtE,QAAQ,CAACU,CAAC,CAAC,CAACqD,MAAM,CAAC,CAAC,CAAC,CAAC;AACxDD,MAAAA,MAAM,GAAG,CAAC,GAAG,GAAGA,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,KAAK,GAAGA,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC;MAClED,IAAI,CAACU,QAAQ,CAACP,GAAG,EAAEF,MAAM,EAAE,IAAI,CAAC,CAAC;AACjCE,MAAAA,GAAG,IAAI,CAAC,CAAA;AACV,KAAA;IACAD,MAAM,EAAE,CAAC;AACX,GAAA;;AAEA,EAAA,OAAO/B,MAAM,CAAA;EAEb,SAASkC,SAASA,CAACM,IAAI,EAAE;IACvBX,IAAI,CAACK,SAAS,CAACF,GAAG,EAAEQ,IAAI,EAAE,IAAI,CAAC,CAAA;AAC/BR,IAAAA,GAAG,IAAI,CAAC,CAAA;AACV,GAAA;EAEA,SAASC,SAASA,CAACO,IAAI,EAAE;IACvBX,IAAI,CAACI,SAAS,CAACD,GAAG,EAAEQ,IAAI,EAAE,IAAI,CAAC,CAAA;AAC/BR,IAAAA,GAAG,IAAI,CAAC,CAAA;AACV,GAAA;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"WebAudioUtils-b2c9fae9.js","sources":["../src/hooks/VoiceRecorder/WebAudioUtils.ts"],"sourcesContent":["// Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw\nimport { WavHeader, Mp3Encoder } from '../../_externals/lamejs/lame.all';\n\nfunction encodeMp3(arrayBuffer: ArrayBuffer): WavHeader {\n const wav = WavHeader.readHeader(new DataView(arrayBuffer));\n const dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);\n const mp3Encoder = new Mp3Encoder(wav.channels, wav.sampleRate, 128);\n const maxSamples = 1152;\n\n const samplesLeft = (wav.channels === 1) ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));\n const samplesRight = (wav.channels === 2) ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;\n\n if (wav.channels > 1) {\n for (let j = 0; j < samplesLeft.length; j++) {\n samplesLeft[j] = dataView[j * 2];\n samplesRight[j] = dataView[j * 2 + 1];\n }\n }\n\n const dataBuffer = [];\n let remaining = samplesLeft.length;\n for (let i = 0; remaining >= maxSamples; i += maxSamples) {\n const left = samplesLeft.subarray(i, i + maxSamples);\n let right;\n if (samplesRight) {\n right = samplesRight.subarray(i, i + maxSamples);\n }\n const mp3buf = mp3Encoder.encodeBuffer(left, right);\n dataBuffer.push(new Int8Array(mp3buf));\n remaining -= maxSamples;\n }\n\n const mp3Lastbuf = mp3Encoder.flush();\n dataBuffer.push(new Int8Array(mp3Lastbuf));\n return dataBuffer;\n}\n\n// Convert audioFile to arrayBuffer, because Mp3Encoder requires a parameter of ArrayBuffer type\nfunction downsampleToWav(file: File, callback: (buffer: ArrayBuffer) => void): void {\n // Browser compatibility\n // https://caniuse.com/?search=AudioContext\n const audioCtx = new AudioContext();\n const fileReader = new FileReader();\n fileReader.onload = function (ev) {\n // Decode audio\n audioCtx.decodeAudioData(ev.target.result as ArrayBuffer, (buffer) => {\n // this is where you down sample the audio, usually is 44100 samples per second\n const usingWebkit = !window.OfflineAudioContext;\n const offlineAudioCtx = new OfflineAudioContext(1, 16000 * buffer.duration, 16000);\n\n const soundSource = offlineAudioCtx.createBufferSource();\n soundSource.buffer = buffer;\n soundSource.connect(offlineAudioCtx.destination);\n\n const reader = new FileReader();\n reader.onload = function () {\n const renderCompleteHandler = (evt): void => {\n const renderedBuffer = usingWebkit ? evt.renderedBuffer : evt;\n const buffer = bufferToWav(renderedBuffer, renderedBuffer.length);\n if (callback) {\n callback(buffer);\n }\n };\n if (usingWebkit) {\n offlineAudioCtx.oncomplete = renderCompleteHandler;\n offlineAudioCtx.startRendering();\n } else {\n offlineAudioCtx\n .startRendering()\n .then(renderCompleteHandler)\n // eslint-disable-next-line no-console\n .catch((err) => console.warn(err));\n }\n };\n reader.readAsArrayBuffer(file);\n soundSource.start(0);\n });\n };\n fileReader.readAsArrayBuffer(file);\n}\n\nfunction bufferToWav(abuffer, len) {\n const numOfChan = abuffer.numberOfChannels;\n const length = len * numOfChan * 2 + 44;\n const buffer = new ArrayBuffer(length);\n const view = new DataView(buffer);\n const channels = [];\n let i = 0;\n let sample;\n let offset = 0;\n let pos = 0;\n\n // write WAVE header\n setUint32(0x46464952); // \"RIFF\"\n setUint32(length - 8); // file length - 8\n setUint32(0x45564157); // \"WAVE\"\n setUint32(0x20746d66); // \"fmt \" chunk\n setUint32(16); // length = 16\n setUint16(1); // PCM (uncompressed)\n setUint16(numOfChan);\n setUint32(abuffer.sampleRate);\n setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec\n setUint16(numOfChan * 2); // block-align\n setUint16(16); // 16-bit (hardcoded in this demo)\n setUint32(0x61746164); // \"data\" - chunk\n setUint32(length - pos - 4); // chunk length\n // write interleaved data\n for (i = 0; i < abuffer.numberOfChannels; i++)\n channels.push(abuffer.getChannelData(i));\n\n while (pos < length) {\n for (i = 0; i < numOfChan; i++) {\n // interleave channels\n sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp\n sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int\n view.setInt16(pos, sample, true); // write 16-bit sample\n pos += 2;\n }\n offset++; // next source sample\n }\n\n return buffer;\n\n function setUint16(data) {\n view.setUint16(pos, data, true);\n pos += 2;\n }\n\n function setUint32(data) {\n view.setUint32(pos, data, true);\n pos += 4;\n }\n}\n\nexport { downsampleToWav, encodeMp3 };\n"],"names":["encodeMp3","arrayBuffer","wav","WavHeader","readHeader","DataView","dataView","Int16Array","dataOffset","dataLen","mp3Encoder","Mp3Encoder","channels","sampleRate","maxSamples","samplesLeft","samplesRight","undefined","j","length","dataBuffer","remaining","i","left","subarray","right","mp3buf","encodeBuffer","push","Int8Array","mp3Lastbuf","flush","downsampleToWav","file","callback","audioCtx","AudioContext","fileReader","FileReader","onload","ev","decodeAudioData","target","result","buffer","usingWebkit","window","OfflineAudioContext","offlineAudioCtx","duration","soundSource","createBufferSource","connect","destination","reader","renderCompleteHandler","evt","renderedBuffer","bufferToWav","oncomplete","startRendering","then","catch","err","console","warn","readAsArrayBuffer","start","abuffer","len","numOfChan","numberOfChannels","ArrayBuffer","view","sample","offset","pos","setUint32","setUint16","getChannelData","Math","max","min","setInt16","data"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_rollupPluginBabelHelpers-34fc6689.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionTypes-
|
|
1
|
+
{"version":3,"file":"actionTypes-3f51c08a.js","sources":["../src/lib/dux/user/actionTypes.ts"],"sourcesContent":["import { User } from '@sendbird/chat';\nimport { CreateAction } from '../../../utils/typeHelpers/reducers/createAction';\n\nexport const USER_ACTIONS = {\n INIT_USER: 'INIT_USER',\n RESET_USER: 'RESET_USER',\n UPDATE_USER_INFO: 'UPDATE_USER_INFO',\n} as const;\n\ntype USER_PAYLOAD_TYPES = {\n [USER_ACTIONS.INIT_USER]: User,\n [USER_ACTIONS.RESET_USER]: null,\n [USER_ACTIONS.UPDATE_USER_INFO]: User,\n};\n\nexport type UserActionTypes = CreateAction<USER_PAYLOAD_TYPES>;\n"],"names":["USER_ACTIONS","INIT_USER","RESET_USER","UPDATE_USER_INFO"],"mappings":"AAGO,MAAMA,YAAY,GAAG;AAC1BC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,gBAAgB,EAAE,kBAAA;AACpB;;;;"}
|
package/cjs/App.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var PropTypes = require('prop-types');
|
|
5
5
|
var SendbirdProvider = require('./SendbirdProvider.js');
|
|
6
|
-
var MediaQueryContext = require('./MediaQueryContext-
|
|
6
|
+
var MediaQueryContext = require('./MediaQueryContext-28b81968.js');
|
|
7
7
|
var ChannelList = require('./ChannelList.js');
|
|
8
8
|
var Channel = require('./Channel.js');
|
|
9
9
|
var ChannelSettings = require('./ChannelSettings.js');
|
|
@@ -11,43 +11,45 @@ var MessageSearch = require('./MessageSearch.js');
|
|
|
11
11
|
var Thread = require('./Thread.js');
|
|
12
12
|
var groupChannel = require('@sendbird/chat/groupChannel');
|
|
13
13
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
14
|
-
var uuid = require('./uuid-
|
|
15
|
-
var
|
|
16
|
-
require('./
|
|
14
|
+
var uuid = require('./uuid-075367f7.js');
|
|
15
|
+
var VoicePlayer_context = require('./index-dada883d.js');
|
|
16
|
+
var consts = require('./consts-ccfad912.js');
|
|
17
|
+
require('./_rollupPluginBabelHelpers-d68672d6.js');
|
|
17
18
|
require('./withSendbird.js');
|
|
18
19
|
require('css-vars-ponyfill');
|
|
19
|
-
require('./index.module-
|
|
20
|
-
require('./actionTypes-
|
|
20
|
+
require('./index.module-3e11d4a7.js');
|
|
21
|
+
require('./actionTypes-bf093246.js');
|
|
21
22
|
require('@sendbird/chat');
|
|
22
23
|
require('@sendbird/chat/openChannel');
|
|
23
|
-
require('./index-
|
|
24
|
+
require('./index-7a9d2024.js');
|
|
24
25
|
require('./utils/message/getOutgoingMessageState.js');
|
|
25
|
-
require('
|
|
26
|
+
require('@sendbird/uikit-tools');
|
|
26
27
|
require('./VoiceRecorder/context.js');
|
|
27
|
-
require('./LocalizationContext-
|
|
28
|
-
require('./stringSet-
|
|
29
|
-
require('./index-
|
|
30
|
-
require('./
|
|
31
|
-
require('
|
|
32
|
-
require('./
|
|
33
|
-
require('./
|
|
28
|
+
require('./LocalizationContext-bdc95952.js');
|
|
29
|
+
require('./stringSet-0cddd94a.js');
|
|
30
|
+
require('./index-71def451.js');
|
|
31
|
+
require('./ui/Modal.js');
|
|
32
|
+
require('react-dom');
|
|
33
|
+
require('./index-77c91851.js');
|
|
34
|
+
require('./ui/Button.js');
|
|
35
|
+
require('./index-e766176d.js');
|
|
36
|
+
require('./ui/Icon.js');
|
|
37
|
+
require('./ui/IconButton.js');
|
|
38
|
+
require('./resolvedReplyType-42ff3f75.js');
|
|
39
|
+
require('./ChannelListProvider-26cc6944.js');
|
|
40
|
+
require('./topics-3e3eb86d.js');
|
|
41
|
+
require('./utils-37a5dfde.js');
|
|
42
|
+
require('./UserProfileContext-27a5718b.js');
|
|
34
43
|
require('./ChannelList/components/ChannelListUI.js');
|
|
35
44
|
require('./ChannelList/components/ChannelListHeader.js');
|
|
36
|
-
require('./index-c89616c9.js');
|
|
37
45
|
require('./ui/Avatar.js');
|
|
38
46
|
require('./ui/ImageRenderer.js');
|
|
39
|
-
require('./ui/Icon.js');
|
|
40
47
|
require('./ChannelList/components/AddChannel.js');
|
|
41
|
-
require('./ui/IconButton.js');
|
|
42
48
|
require('./CreateChannel.js');
|
|
43
49
|
require('./CreateChannel/components/CreateChannelUI.js');
|
|
44
|
-
require('./CreateChannelProvider-
|
|
50
|
+
require('./CreateChannelProvider-8c106973.js');
|
|
45
51
|
require('./sendbirdSelectors.js');
|
|
46
52
|
require('./CreateChannel/components/InviteUsers.js');
|
|
47
|
-
require('./ui/Modal.js');
|
|
48
|
-
require('react-dom');
|
|
49
|
-
require('./index-dd9bc361.js');
|
|
50
|
-
require('./ui/Button.js');
|
|
51
53
|
require('./ui/UserListItem.js');
|
|
52
54
|
require('./ui/MutedAvatarOverlay.js');
|
|
53
55
|
require('./ui/Checkbox.js');
|
|
@@ -57,47 +59,47 @@ require('./ui/SortByRow.js');
|
|
|
57
59
|
require('./CreateChannel/components/SelectChannelType.js');
|
|
58
60
|
require('./ChannelList/components/ChannelPreview.js');
|
|
59
61
|
require('./ui/ChannelAvatar.js');
|
|
60
|
-
require('./utils-
|
|
62
|
+
require('./utils-f1c0d384.js');
|
|
61
63
|
require('./ui/Badge.js');
|
|
62
|
-
require('./index-
|
|
63
|
-
require('./index-
|
|
64
|
+
require('./index-ca51d316.js');
|
|
65
|
+
require('./index-f7b329d2.js');
|
|
64
66
|
require('./ui/Loader.js');
|
|
65
|
-
require('./index-
|
|
66
|
-
require('./index-
|
|
67
|
+
require('./index-b6a49cba.js');
|
|
68
|
+
require('./index-4ff12eb9.js');
|
|
67
69
|
require('./ui/MentionUserLabel.js');
|
|
68
|
-
require('./consts-
|
|
70
|
+
require('./consts-40680de5.js');
|
|
69
71
|
require('./ui/TextButton.js');
|
|
70
|
-
require('./color-
|
|
72
|
+
require('./color-bb9924cb.js');
|
|
71
73
|
require('./Channel/components/TypingIndicator.js');
|
|
72
|
-
require('./ChannelProvider-
|
|
73
|
-
require('./
|
|
74
|
-
require('./
|
|
74
|
+
require('./ChannelProvider-54bb28cc.js');
|
|
75
|
+
require('./const-44ddbe54.js');
|
|
76
|
+
require('./compareIds-96cdd2a0.js');
|
|
75
77
|
require('@sendbird/chat/message');
|
|
76
|
-
require('./useLongPress-
|
|
78
|
+
require('./useLongPress-5174fd42.js');
|
|
77
79
|
require('./ChannelList/components/ChannelPreviewAction.js');
|
|
78
80
|
require('./EditUserProfile.js');
|
|
79
|
-
require('./index-
|
|
81
|
+
require('./index-6d959b4d.js');
|
|
80
82
|
require('./ui/Input.js');
|
|
81
|
-
require('./index-
|
|
83
|
+
require('./index-1ee86976.js');
|
|
82
84
|
require('./Channel/components/ChannelUI.js');
|
|
83
85
|
require('./ui/ConnectionStatus.js');
|
|
84
86
|
require('./Channel/components/ChannelHeader.js');
|
|
85
|
-
require('./utils-
|
|
87
|
+
require('./utils-a7008e7b.js');
|
|
86
88
|
require('./Channel/components/MessageList.js');
|
|
87
89
|
require('./Channel/components/Message.js');
|
|
88
90
|
require('./Channel/components/SuggestedMentionList.js');
|
|
89
|
-
require('./const-
|
|
90
|
-
require('./ThreadProvider-
|
|
91
|
+
require('./const-73fbd467.js');
|
|
92
|
+
require('./ThreadProvider-17ad9d05.js');
|
|
91
93
|
require('./Thread/context/types.js');
|
|
92
94
|
require('./ui/DateSeparator.js');
|
|
93
95
|
require('./ui/MessageInput.js');
|
|
94
96
|
require('dompurify');
|
|
95
|
-
require('./consts-
|
|
96
|
-
require('./consts-
|
|
97
|
-
require('./tokenize-
|
|
97
|
+
require('./consts-2dfc1883.js');
|
|
98
|
+
require('./consts-4fbdb1d6.js');
|
|
99
|
+
require('./tokenize-75ed25db.js');
|
|
98
100
|
require('./ui/MessageContent.js');
|
|
99
101
|
require('./ui/MessageItemMenu.js');
|
|
100
|
-
require('./types-
|
|
102
|
+
require('./types-2138565d.js');
|
|
101
103
|
require('./ui/MessageItemReactionMenu.js');
|
|
102
104
|
require('./ui/ReactionButton.js');
|
|
103
105
|
require('./ui/EmojiReactions.js');
|
|
@@ -108,7 +110,7 @@ require('./ui/TooltipWrapper.js');
|
|
|
108
110
|
require('./Message/context.js');
|
|
109
111
|
require('./ui/AdminMessage.js');
|
|
110
112
|
require('./ui/TextMessageItemBody.js');
|
|
111
|
-
require('./index-
|
|
113
|
+
require('./index-adcca875.js');
|
|
112
114
|
require('./ui/MentionLabel.js');
|
|
113
115
|
require('./ui/LinkLabel.js');
|
|
114
116
|
require('./ui/FileMessageItemBody.js');
|
|
@@ -116,7 +118,7 @@ require('./ui/ThumbnailMessageItemBody.js');
|
|
|
116
118
|
require('./ui/OGMessageItemBody.js');
|
|
117
119
|
require('./ui/UnknownMessageItemBody.js');
|
|
118
120
|
require('./ui/QuoteMessage.js');
|
|
119
|
-
require('./index-
|
|
121
|
+
require('./index-89314643.js');
|
|
120
122
|
require('./ui/ThreadReplies.js');
|
|
121
123
|
require('./ui/VoiceMessageItemBody.js');
|
|
122
124
|
require('./ui/ProgressBar.js');
|
|
@@ -124,15 +126,15 @@ require('./VoicePlayer/useVoicePlayer.js');
|
|
|
124
126
|
require('./ui/PlaybackTime.js');
|
|
125
127
|
require('./Channel/components/FileViewer.js');
|
|
126
128
|
require('./Channel/components/RemoveMessageModal.js');
|
|
127
|
-
require('./index-
|
|
128
|
-
require('./useDirtyGetMentions-
|
|
129
|
+
require('./index-0d4b8939.js');
|
|
130
|
+
require('./useDirtyGetMentions-9945a1c0.js');
|
|
129
131
|
require('./Channel/components/UnreadCount.js');
|
|
130
132
|
require('./Channel/components/FrozenNotification.js');
|
|
131
133
|
require('./Channel/components/MessageInput.js');
|
|
132
134
|
require('./ui/QuoteMessageInput.js');
|
|
133
|
-
require('./VoiceMessageInputWrapper-
|
|
135
|
+
require('./VoiceMessageInputWrapper-1100905a.js');
|
|
134
136
|
require('./VoiceRecorder/useVoiceRecorder.js');
|
|
135
|
-
require('./index-
|
|
137
|
+
require('./index-2044d323.js');
|
|
136
138
|
require('./ChannelSettings/components/ChannelSettingsUI.js');
|
|
137
139
|
require('./ChannelSettings/context.js');
|
|
138
140
|
require('./ChannelSettings/components/ChannelProfile.js');
|
|
@@ -140,10 +142,10 @@ require('./ChannelSettings/components/EditDetailsModal.js');
|
|
|
140
142
|
require('./ChannelSettings/components/ModerationPanel.js');
|
|
141
143
|
require('./ui/Accordion.js');
|
|
142
144
|
require('./ui/AccordionGroup.js');
|
|
143
|
-
require('./context-
|
|
145
|
+
require('./context-cdc5a8dd.js');
|
|
144
146
|
require('./ui/Toggle.js');
|
|
145
147
|
require('./ChannelSettings/components/UserListItem.js');
|
|
146
|
-
require('./MemberList-
|
|
148
|
+
require('./MemberList-5f5ab063.js');
|
|
147
149
|
require('./ChannelSettings/components/LeaveChannel.js');
|
|
148
150
|
require('./ChannelSettings/components/UserPanel.js');
|
|
149
151
|
require('./MessageSearch/components/MessageSearchUI.js');
|
|
@@ -152,7 +154,7 @@ require('./ui/MessageSearchItem.js');
|
|
|
152
154
|
require('./ui/MessageSearchFileItem.js');
|
|
153
155
|
require('./Thread/components/ThreadUI.js');
|
|
154
156
|
require('./Thread/components/ParentMessageInfo.js');
|
|
155
|
-
require('./RemoveMessageModal-
|
|
157
|
+
require('./RemoveMessageModal-f4d8af47.js');
|
|
156
158
|
require('./Thread/components/ParentMessageInfoItem.js');
|
|
157
159
|
require('./ui/FileViewer.js');
|
|
158
160
|
require('./Thread/components/ThreadHeader.js');
|
|
@@ -346,6 +348,9 @@ const MobileLayout = props => {
|
|
|
346
348
|
const store = useSendbirdStateContext();
|
|
347
349
|
const sdk = store === null || store === void 0 ? void 0 : (_store$stores = store.stores) === null || _store$stores === void 0 ? void 0 : (_store$stores$sdkStor = _store$stores.sdkStore) === null || _store$stores$sdkStor === void 0 ? void 0 : _store$stores$sdkStor.sdk;
|
|
348
350
|
const userId = store === null || store === void 0 ? void 0 : (_store$config = store.config) === null || _store$config === void 0 ? void 0 : _store$config.userId;
|
|
351
|
+
const {
|
|
352
|
+
pause
|
|
353
|
+
} = VoicePlayer_context.useVoicePlayerContext();
|
|
349
354
|
const goToMessage = (message, timeoutCb) => {
|
|
350
355
|
setStartingPoint === null || setStartingPoint === void 0 ? void 0 : setStartingPoint((message === null || message === void 0 ? void 0 : message.createdAt) || null);
|
|
351
356
|
setTimeout(() => {
|
|
@@ -386,6 +391,14 @@ const MobileLayout = props => {
|
|
|
386
391
|
sdk === null || sdk === void 0 ? void 0 : (_sdk$groupChannel3 = sdk.groupChannel) === null || _sdk$groupChannel3 === void 0 ? void 0 : (_sdk$groupChannel3$re = _sdk$groupChannel3.removeGroupChannelHandler) === null || _sdk$groupChannel3$re === void 0 ? void 0 : _sdk$groupChannel3$re.call(_sdk$groupChannel3, handlerId);
|
|
387
392
|
};
|
|
388
393
|
}, [sdk]);
|
|
394
|
+
|
|
395
|
+
// if currentChannel is changed while on Thread
|
|
396
|
+
// then change panel type to CHANNEL
|
|
397
|
+
React.useEffect(() => {
|
|
398
|
+
if (panel === PANELS.THREAD) {
|
|
399
|
+
setPanel(PANELS.CHANNEL);
|
|
400
|
+
}
|
|
401
|
+
}, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url]);
|
|
389
402
|
return /*#__PURE__*/React__default["default"].createElement("div", null, panel === PANELS.CHANNEL_LIST && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
390
403
|
className: "sb_mobile__panelwrap"
|
|
391
404
|
}, /*#__PURE__*/React__default["default"].createElement(ChannelList, {
|
|
@@ -408,6 +421,7 @@ const MobileLayout = props => {
|
|
|
408
421
|
},
|
|
409
422
|
onBackClick: () => {
|
|
410
423
|
setPanel(PANELS.CHANNEL_LIST);
|
|
424
|
+
pause(VoicePlayer_context.ALL);
|
|
411
425
|
},
|
|
412
426
|
isReactionEnabled: isReactionEnabled,
|
|
413
427
|
showSearchIcon: showSearchIcon,
|
|
@@ -467,6 +481,7 @@ const MobileLayout = props => {
|
|
|
467
481
|
message: threadTargetMessage,
|
|
468
482
|
onHeaderActionClick: () => {
|
|
469
483
|
setPanel(PANELS.CHANNEL);
|
|
484
|
+
pause(VoicePlayer_context.ALL);
|
|
470
485
|
},
|
|
471
486
|
onMoveToParentMessage: _ref3 => {
|
|
472
487
|
let {
|
|
@@ -610,7 +625,8 @@ function App(props) {
|
|
|
610
625
|
},
|
|
611
626
|
isTypingIndicatorEnabledOnChannelList: isTypingIndicatorEnabledOnChannelList,
|
|
612
627
|
isMessageReceiptStatusEnabledOnChannelList: isMessageReceiptStatusEnabledOnChannelList,
|
|
613
|
-
replyType: replyType
|
|
628
|
+
replyType: replyType,
|
|
629
|
+
showSearchIcon: showSearchIcon
|
|
614
630
|
}, /*#__PURE__*/React__default["default"].createElement(AppLayout, {
|
|
615
631
|
isReactionEnabled: isReactionEnabled,
|
|
616
632
|
replyType: replyType,
|
|
@@ -633,7 +649,7 @@ App.propTypes = {
|
|
|
633
649
|
userListQuery: PropTypes__default["default"].func,
|
|
634
650
|
nickname: PropTypes__default["default"].string,
|
|
635
651
|
profileUrl: PropTypes__default["default"].string,
|
|
636
|
-
breakpoint: PropTypes__default["default"].string,
|
|
652
|
+
breakpoint: PropTypes__default["default"].oneOf([PropTypes__default["default"].string, PropTypes__default["default"].bool]),
|
|
637
653
|
allowProfileEdit: PropTypes__default["default"].bool,
|
|
638
654
|
disableUserProfile: PropTypes__default["default"].bool,
|
|
639
655
|
disableMarkAsDelivered: PropTypes__default["default"].bool,
|
|
@@ -678,26 +694,29 @@ App.defaultProps = {
|
|
|
678
694
|
dateLocale: null,
|
|
679
695
|
allowProfileEdit: false,
|
|
680
696
|
onProfileEditSuccess: null,
|
|
681
|
-
disableUserProfile: false,
|
|
682
697
|
disableMarkAsDelivered: false,
|
|
683
|
-
showSearchIcon: false,
|
|
684
698
|
renderUserProfile: null,
|
|
685
699
|
config: {},
|
|
686
|
-
isReactionEnabled: true,
|
|
687
|
-
isMentionEnabled: false,
|
|
688
|
-
isVoiceMessageEnabled: true,
|
|
689
700
|
voiceRecord: {
|
|
690
701
|
maxRecordingTime: consts.VOICE_RECORDER_DEFAULT_MAX,
|
|
691
702
|
minRecordingTime: consts.VOICE_RECORDER_DEFAULT_MIN
|
|
692
703
|
},
|
|
693
|
-
replyType: 'NONE',
|
|
694
704
|
isMessageGroupingEnabled: true,
|
|
695
705
|
stringSet: null,
|
|
696
706
|
colorSet: null,
|
|
697
707
|
imageCompression: {},
|
|
698
708
|
disableAutoSelect: false,
|
|
699
|
-
|
|
700
|
-
|
|
709
|
+
// The below configs are duplicates of the Dashboard UIKit Configs.
|
|
710
|
+
// Since their default values will be set in the Sendbird component,
|
|
711
|
+
// we don't need to set them here.
|
|
712
|
+
showSearchIcon: undefined,
|
|
713
|
+
isMentionEnabled: undefined,
|
|
714
|
+
isReactionEnabled: undefined,
|
|
715
|
+
replyType: undefined,
|
|
716
|
+
disableUserProfile: undefined,
|
|
717
|
+
isVoiceMessageEnabled: undefined,
|
|
718
|
+
isTypingIndicatorEnabledOnChannelList: undefined,
|
|
719
|
+
isMessageReceiptStatusEnabledOnChannelList: undefined
|
|
701
720
|
};
|
|
702
721
|
|
|
703
722
|
module.exports = App;
|