@sendbird/uikit-react 3.4.5 → 3.4.6-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/.yarn/install-state.gz +0 -0
- package/App.js +102 -127
- package/App.js.map +1 -1
- package/Channel/components/ChannelHeader.js +25 -26
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +52 -58
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +36 -37
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +5 -5
- package/Channel/components/FrozenNotification.js.map +1 -1
- package/Channel/components/Message.js +96 -127
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +67 -86
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +90 -117
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +20 -21
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +53 -77
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +19 -33
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +9 -10
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +14 -14
- package/Channel.js +37 -37
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +19 -23
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +14 -18
- package/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/ChannelList/components/ChannelListUI.js +50 -64
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +42 -48
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +19 -22
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +30 -30
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-10fe7340.js → ChannelListProvider-b7ce527e.js} +77 -172
- package/ChannelListProvider-b7ce527e.js.map +1 -0
- package/{ChannelProvider-4ac82784.js → ChannelProvider-cd9afff3.js} +184 -339
- package/{ChannelProvider-4ac82784.js.map → ChannelProvider-cd9afff3.js.map} +1 -1
- package/ChannelSettings/components/ChannelProfile.js +13 -21
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +24 -31
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +20 -29
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +18 -26
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +66 -109
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +21 -21
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +15 -18
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +22 -30
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +17 -17
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +17 -19
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +32 -55
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +11 -17
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +18 -18
- package/CreateChannel.js.map +1 -1
- package/{CreateChannelProvider-11045f46.js → CreateChannelProvider-d7e8a10f.js} +9 -16
- package/{CreateChannelProvider-11045f46.js.map → CreateChannelProvider-d7e8a10f.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +17 -25
- package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/CreateOpenChannel/context.js +7 -12
- package/CreateOpenChannel/context.js.map +1 -1
- package/CreateOpenChannel.js +14 -14
- package/CreateOpenChannel.js.map +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile/context.js +0 -2
- package/EditUserProfile/context.js.map +1 -1
- package/EditUserProfile.js +14 -14
- package/EditUserProfile.js.map +1 -1
- package/{LocalizationContext-654ae04f.js → LocalizationContext-43b10f97.js} +3 -5
- package/{LocalizationContext-654ae04f.js.map → LocalizationContext-43b10f97.js.map} +1 -1
- package/{MediaQueryContext-e791a4d1.js → MediaQueryContext-f2df2472.js} +8 -18
- package/MediaQueryContext-f2df2472.js.map +1 -0
- package/{MemberList-6f3c8288.js → MemberList-70806978.js} +35 -68
- package/{MemberList-6f3c8288.js.map → MemberList-70806978.js.map} +1 -1
- package/Message/context.js +3 -7
- package/Message/context.js.map +1 -1
- package/MessageSearch/components/MessageSearchUI.js +33 -47
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +44 -79
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +25 -35
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/OpenChannel/components/OpenChannelHeader.js +16 -18
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +25 -28
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +45 -70
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +49 -61
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +41 -47
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +30 -30
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +31 -45
- package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/OpenChannelList/components/OpenChannelPreview.js +7 -7
- 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-eb189b41.js → OpenChannelListProvider-22244a14.js} +36 -65
- package/{OpenChannelListProvider-eb189b41.js.map → OpenChannelListProvider-22244a14.js.map} +1 -1
- package/{OpenChannelProvider-e418b369.js → OpenChannelProvider-36270182.js} +136 -292
- package/{OpenChannelProvider-e418b369.js.map → OpenChannelProvider-36270182.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +23 -31
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +14 -18
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -27
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +58 -110
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +15 -26
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +17 -17
- package/OpenChannelSettings.js.map +1 -1
- package/README.md +25 -5
- package/{RemoveMessageModal-938b400d.js → RemoveMessageModal-d0a5c64c.js} +5 -6
- package/{RemoveMessageModal-938b400d.js.map → RemoveMessageModal-d0a5c64c.js.map} +1 -1
- package/SendbirdProvider.js +129 -186
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +80 -108
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +33 -40
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +10 -11
- package/Thread/components/ThreadHeader.js.map +1 -1
- package/Thread/components/ThreadList.js +43 -52
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +119 -147
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +65 -82
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +74 -93
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context/types.js +0 -5
- package/Thread/context/types.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +55 -54
- package/Thread.js.map +1 -1
- package/{ThreadProvider-faf3df5d.js → ThreadProvider-533e9025.js} +162 -280
- package/{ThreadProvider-faf3df5d.js.map → ThreadProvider-533e9025.js.map} +1 -1
- package/{UserProfileContext-1996d4d2.js → UserProfileContext-12b6fabf.js} +1 -4
- package/{UserProfileContext-1996d4d2.js.map → UserProfileContext-12b6fabf.js.map} +1 -1
- package/{VoiceMessageInputWrapper-59373f20.js → VoiceMessageInputWrapper-c74412de.js} +37 -51
- package/{VoiceMessageInputWrapper-59373f20.js.map → VoiceMessageInputWrapper-c74412de.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +14 -25
- package/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/VoiceRecorder/context.js +10 -53
- package/VoiceRecorder/context.js.map +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +14 -25
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/{_rollupPluginBabelHelpers-e908c50d.js → _rollupPluginBabelHelpers-3756a6a3.js} +16 -10
- package/_rollupPluginBabelHelpers-3756a6a3.js.map +1 -0
- package/{actionTypes-ee7f96a9.js → actionTypes-f6400d21.js} +1 -1
- package/{actionTypes-ee7f96a9.js.map → actionTypes-f6400d21.js.map} +1 -1
- package/cjs/App.js +102 -127
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +25 -26
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +52 -58
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +36 -37
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +5 -5
- package/cjs/Channel/components/FrozenNotification.js.map +1 -1
- package/cjs/Channel/components/Message.js +96 -127
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +67 -86
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +90 -117
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +20 -21
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +53 -77
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +19 -33
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +9 -10
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +14 -14
- package/cjs/Channel.js +37 -37
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +19 -23
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +14 -18
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListUI.js +50 -64
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +42 -48
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +19 -22
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +30 -30
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-d4f91fc4.js → ChannelListProvider-d8f65b18.js} +77 -172
- package/cjs/ChannelListProvider-d8f65b18.js.map +1 -0
- package/cjs/{ChannelProvider-af0b997c.js → ChannelProvider-473548f7.js} +184 -339
- package/cjs/{ChannelProvider-af0b997c.js.map → ChannelProvider-473548f7.js.map} +1 -1
- package/cjs/ChannelSettings/components/ChannelProfile.js +13 -21
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +24 -31
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +20 -29
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +18 -26
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +66 -109
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +21 -21
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +15 -18
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +22 -30
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +17 -17
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +17 -19
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +32 -55
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -17
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +18 -18
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/{CreateChannelProvider-c4ad28a8.js → CreateChannelProvider-387290bb.js} +9 -16
- package/cjs/{CreateChannelProvider-c4ad28a8.js.map → CreateChannelProvider-387290bb.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +17 -25
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/cjs/CreateOpenChannel/context.js +7 -12
- package/cjs/CreateOpenChannel/context.js.map +1 -1
- package/cjs/CreateOpenChannel.js +14 -14
- package/cjs/CreateOpenChannel.js.map +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile/context.js +0 -2
- package/cjs/EditUserProfile/context.js.map +1 -1
- package/cjs/EditUserProfile.js +14 -14
- package/cjs/EditUserProfile.js.map +1 -1
- package/cjs/{LocalizationContext-01fceac0.js → LocalizationContext-e4a874cf.js} +3 -5
- package/cjs/{LocalizationContext-01fceac0.js.map → LocalizationContext-e4a874cf.js.map} +1 -1
- package/cjs/{MediaQueryContext-4978c777.js → MediaQueryContext-fcd92c17.js} +8 -18
- package/cjs/MediaQueryContext-fcd92c17.js.map +1 -0
- package/cjs/{MemberList-5c05b62f.js → MemberList-dbd3a4b4.js} +35 -68
- package/cjs/{MemberList-5c05b62f.js.map → MemberList-dbd3a4b4.js.map} +1 -1
- package/cjs/Message/context.js +3 -7
- package/cjs/Message/context.js.map +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +33 -47
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +44 -79
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +25 -35
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelHeader.js +16 -18
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +25 -28
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +45 -70
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +49 -61
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +41 -47
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +30 -30
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +31 -45
- package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +7 -7
- 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-3be4b8a5.js → OpenChannelListProvider-89659c0b.js} +36 -65
- package/cjs/{OpenChannelListProvider-3be4b8a5.js.map → OpenChannelListProvider-89659c0b.js.map} +1 -1
- package/cjs/{OpenChannelProvider-56af9a0e.js → OpenChannelProvider-3d3d606e.js} +136 -292
- package/cjs/{OpenChannelProvider-56af9a0e.js.map → OpenChannelProvider-3d3d606e.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +23 -31
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +14 -18
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -27
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +58 -110
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +15 -26
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/{RemoveMessageModal-31ff9edc.js → RemoveMessageModal-21a7c6ac.js} +5 -6
- package/cjs/{RemoveMessageModal-31ff9edc.js.map → RemoveMessageModal-21a7c6ac.js.map} +1 -1
- package/cjs/SendbirdProvider.js +129 -186
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +80 -108
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +33 -40
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +10 -11
- package/cjs/Thread/components/ThreadHeader.js.map +1 -1
- package/cjs/Thread/components/ThreadList.js +43 -52
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +119 -147
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +65 -82
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +74 -93
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context/types.js +0 -5
- package/cjs/Thread/context/types.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +55 -54
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-12784adf.js → ThreadProvider-572d67c0.js} +162 -280
- package/cjs/{ThreadProvider-12784adf.js.map → ThreadProvider-572d67c0.js.map} +1 -1
- package/cjs/{UserProfileContext-c4642438.js → UserProfileContext-ce0c283c.js} +1 -4
- package/cjs/{UserProfileContext-c4642438.js.map → UserProfileContext-ce0c283c.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-3b5db880.js → VoiceMessageInputWrapper-88ad4670.js} +37 -51
- package/cjs/{VoiceMessageInputWrapper-3b5db880.js.map → VoiceMessageInputWrapper-88ad4670.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +14 -25
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/cjs/VoiceRecorder/context.js +10 -53
- package/cjs/VoiceRecorder/context.js.map +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +14 -25
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/cjs/{_rollupPluginBabelHelpers-994cd1da.js → _rollupPluginBabelHelpers-6ab4baac.js} +16 -10
- package/cjs/_rollupPluginBabelHelpers-6ab4baac.js.map +1 -0
- package/cjs/{actionTypes-38d53eaf.js → actionTypes-1b068888.js} +1 -1
- package/cjs/{actionTypes-38d53eaf.js.map → actionTypes-1b068888.js.map} +1 -1
- package/cjs/{color-8f9fe57f.js → color-168c1d53.js} +1 -10
- package/cjs/color-168c1d53.js.map +1 -0
- package/cjs/{compareIds-b77b66f3.js → compareIds-441b4983.js} +4 -5
- package/cjs/compareIds-441b4983.js.map +1 -0
- package/cjs/{const-e03cb4c1.js → const-0273bf9e.js} +1 -2
- package/cjs/{const-e03cb4c1.js.map → const-0273bf9e.js.map} +1 -1
- package/cjs/{const-35f8be84.js → const-cf4cec6a.js} +1 -1
- package/cjs/{const-35f8be84.js.map → const-cf4cec6a.js.map} +1 -1
- package/cjs/{consts-b29bd4d5.js → consts-2e23914f.js} +1 -1
- package/cjs/{consts-b29bd4d5.js.map → consts-2e23914f.js.map} +1 -1
- package/cjs/{consts-956b1221.js → consts-472d9347.js} +1 -1
- package/cjs/{consts-956b1221.js.map → consts-472d9347.js.map} +1 -1
- package/cjs/{consts-69fc20be.js → consts-b8c0be49.js} +8 -11
- package/cjs/{consts-69fc20be.js.map → consts-b8c0be49.js.map} +1 -1
- package/cjs/{consts-aabb33e0.js → consts-e193b1b8.js} +1 -1
- package/cjs/{consts-aabb33e0.js.map → consts-e193b1b8.js.map} +1 -1
- package/cjs/{context-d9e248df.js → context-d718fff1.js} +2 -2
- package/cjs/{context-d9e248df.js.map → context-d718fff1.js.map} +1 -1
- package/cjs/dist/index.css +55 -55
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-26a1e861.js → index-0e43cd69.js} +2 -22
- package/cjs/{index-26a1e861.js.map → index-0e43cd69.js.map} +1 -1
- package/cjs/{index-603c2a7c.js → index-3a7584a0.js} +4 -7
- package/cjs/{index-603c2a7c.js.map → index-3a7584a0.js.map} +1 -1
- package/cjs/{index-1e57cbdb.js → index-3d08adec.js} +17 -33
- package/cjs/{index-1e57cbdb.js.map → index-3d08adec.js.map} +1 -1
- package/cjs/{index-e3f00fd1.js → index-44341b78.js} +3 -6
- package/cjs/index-44341b78.js.map +1 -0
- package/cjs/{index-1f02e60f.js → index-47105c4f.js} +2 -2
- package/cjs/index-47105c4f.js.map +1 -0
- package/cjs/{index-aa908fcf.js → index-4894fc55.js} +13 -32
- package/cjs/index-4894fc55.js.map +1 -0
- package/cjs/{index-72fd0294.js → index-5075f3b2.js} +26 -130
- package/cjs/index-5075f3b2.js.map +1 -0
- package/cjs/{index-aeba3b06.js → index-630f7132.js} +11 -12
- package/cjs/{index-aeba3b06.js.map → index-630f7132.js.map} +1 -1
- package/cjs/{index-36aaf992.js → index-813deccc.js} +1 -1
- package/cjs/{index-36aaf992.js.map → index-813deccc.js.map} +1 -1
- package/cjs/{index-7c5d21c4.js → index-903c0f93.js} +3 -24
- package/cjs/index-903c0f93.js.map +1 -0
- package/cjs/{index-b9fbe704.js → index-9dd8a18a.js} +18 -26
- package/cjs/index-9dd8a18a.js.map +1 -0
- package/cjs/{index-d41db9c1.js → index-b2e4a79e.js} +30 -44
- package/cjs/{index-d41db9c1.js.map → index-b2e4a79e.js.map} +1 -1
- package/cjs/{index-c825cf5b.js → index-ba9683ca.js} +21 -52
- package/cjs/{index-c825cf5b.js.map → index-ba9683ca.js.map} +1 -1
- package/cjs/{index-a7fa406f.js → index-d3b05e98.js} +23 -27
- package/cjs/{index-a7fa406f.js.map → index-d3b05e98.js.map} +1 -1
- package/cjs/{index-959a4ab1.js → index-f2d71843.js} +30 -113
- package/cjs/index-f2d71843.js.map +1 -0
- package/cjs/index.js +48 -48
- package/cjs/lame.all.js.map +1 -1
- package/cjs/sendbirdSelectors.js +36 -94
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-7330b627.js → stringSet-76f7df68.js} +2 -1
- package/cjs/stringSet-76f7df68.js.map +1 -0
- package/cjs/{tokenize-a5a20ef3.js → tokenize-5071d1a6.js} +15 -22
- package/cjs/{tokenize-a5a20ef3.js.map → tokenize-5071d1a6.js.map} +1 -1
- package/cjs/{topics-7547922a.js → topics-f70c5e0f.js} +1 -1
- package/cjs/{topics-7547922a.js.map → topics-f70c5e0f.js.map} +1 -1
- package/cjs/tslib.es6-67bdb021.js +176 -0
- package/cjs/tslib.es6-67bdb021.js.map +1 -0
- package/cjs/{types-7daeb4a1.js → types-43ef9367.js} +1 -1
- package/cjs/{types-7daeb4a1.js.map → types-43ef9367.js.map} +1 -1
- package/cjs/ui/Accordion.js +12 -16
- package/cjs/ui/Accordion.js.map +1 -1
- package/cjs/ui/AccordionGroup.js +6 -8
- package/cjs/ui/AccordionGroup.js.map +1 -1
- package/cjs/ui/AdminMessage.js +5 -8
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +23 -41
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +9 -9
- package/cjs/ui/Badge.js.map +1 -1
- package/cjs/ui/BottomSheet.js +5 -7
- package/cjs/ui/BottomSheet.js.map +1 -1
- package/cjs/ui/Button.js +13 -24
- package/cjs/ui/Button.js.map +1 -1
- package/cjs/ui/ChannelAvatar.js +9 -9
- package/cjs/ui/ChannelAvatar.js.map +1 -1
- package/cjs/ui/Checkbox.js +6 -8
- package/cjs/ui/Checkbox.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ConnectionStatus.js.map +1 -1
- package/cjs/ui/ContextMenu.js +40 -86
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +9 -9
- package/cjs/ui/DateSeparator.js.map +1 -1
- package/cjs/ui/EmojiReactions.js +19 -24
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +15 -16
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +22 -23
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +0 -241
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +19 -22
- package/cjs/ui/IconButton.js.map +1 -1
- package/cjs/ui/ImageRenderer.js +27 -30
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +8 -10
- package/cjs/ui/Input.js.map +1 -1
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +4 -3
- package/cjs/ui/LinkLabel.js.map +1 -1
- package/cjs/ui/Loader.js +7 -7
- package/cjs/ui/Loader.js.map +1 -1
- package/cjs/ui/MentionLabel.js +16 -22
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js +7 -7
- package/cjs/ui/MentionUserLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +117 -136
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +71 -124
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +25 -31
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +12 -16
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +21 -29
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +18 -24
- package/cjs/ui/MessageSearchItem.js.map +1 -1
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +33 -34
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js +3 -3
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +26 -30
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +4 -4
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
- package/cjs/ui/OpenChannelAvatar.js +11 -11
- package/cjs/ui/OpenChannelAvatar.js.map +1 -1
- package/cjs/ui/OpenchannelConversationHeader.js +10 -10
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
- package/cjs/ui/OpenchannelFileMessage.js +31 -44
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +38 -53
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +36 -46
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +39 -49
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/PlaybackTime.js +8 -8
- package/cjs/ui/PlaybackTime.js.map +1 -1
- package/cjs/ui/ProgressBar.js +8 -8
- package/cjs/ui/ProgressBar.js.map +1 -1
- package/cjs/ui/QuoteMessage.js +16 -20
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +8 -11
- 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 +8 -8
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +7 -11
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +12 -12
- package/cjs/ui/TextButton.js.map +1 -1
- package/cjs/ui/TextMessageItemBody.js +22 -24
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThreadReplies.js +10 -11
- package/cjs/ui/ThreadReplies.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +15 -18
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Tooltip.js +6 -6
- package/cjs/ui/Tooltip.js.map +1 -1
- package/cjs/ui/TooltipWrapper.js +6 -8
- package/cjs/ui/TooltipWrapper.js.map +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +13 -14
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +27 -26
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +15 -17
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/VoiceMessageItemBody.js +24 -31
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
- package/cjs/ui/VoiceMessgeInput.js +8 -8
- package/cjs/ui/Word.js +18 -29
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/{useLongPress-3e3b1188.js → useLongPress-3582b310.js} +13 -31
- package/cjs/{useLongPress-3e3b1188.js.map → useLongPress-3582b310.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -2
- package/cjs/useSendbirdStateContext.js.map +1 -1
- package/cjs/utils/message/getOutgoingMessageState.js +0 -7
- package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-e4cd6a0c.js → utils-1ebf89f9.js} +1 -5
- package/cjs/{utils-e4cd6a0c.js.map → utils-1ebf89f9.js.map} +1 -1
- package/cjs/{utils-5905fc1a.js → utils-39a3f99e.js} +1 -4
- package/cjs/utils-39a3f99e.js.map +1 -0
- package/cjs/{utils-de779857.js → utils-39eb2189.js} +2 -7
- package/cjs/utils-39eb2189.js.map +1 -0
- package/cjs/{utils-5ca88bb6.js → utils-fdfc9b0a.js} +1 -1
- package/cjs/{utils-5ca88bb6.js.map → utils-fdfc9b0a.js.map} +1 -1
- package/cjs/{uuid-26b61f16.js → uuid-f23c161c.js} +1 -3
- package/cjs/{uuid-26b61f16.js.map → uuid-f23c161c.js.map} +1 -1
- package/cjs/withSendbird.js +5 -7
- package/cjs/withSendbird.js.map +1 -1
- package/{color-f6e2214f.js → color-e54d3ed7.js} +1 -10
- package/{color-f6e2214f.js.map → color-e54d3ed7.js.map} +1 -1
- package/{compareIds-d958887d.js → compareIds-3e30a438.js} +4 -5
- package/compareIds-3e30a438.js.map +1 -0
- package/{const-c7334190.js → const-48a3200e.js} +1 -1
- package/{const-c7334190.js.map → const-48a3200e.js.map} +1 -1
- package/{const-735bcf5b.js → const-71bd6867.js} +1 -2
- package/{const-735bcf5b.js.map → const-71bd6867.js.map} +1 -1
- package/{consts-9422accf.js → consts-30f09302.js} +8 -11
- package/{consts-9422accf.js.map → consts-30f09302.js.map} +1 -1
- package/{consts-8f50899e.js → consts-4b1e008b.js} +1 -1
- package/{consts-8f50899e.js.map → consts-4b1e008b.js.map} +1 -1
- package/{consts-12512664.js → consts-665331c7.js} +1 -1
- package/{consts-12512664.js.map → consts-665331c7.js.map} +1 -1
- package/{consts-ddb92249.js → consts-e4e1a8fc.js} +1 -1
- package/{consts-ddb92249.js.map → consts-e4e1a8fc.js.map} +1 -1
- package/{context-7465b898.js → context-993ee0c3.js} +2 -2
- package/{context-7465b898.js.map → context-993ee0c3.js.map} +1 -1
- package/dist/index.css +55 -55
- package/dist/index.css.map +1 -1
- package/{index-cf141ad7.js → index-0f373e79.js} +3 -24
- package/index-0f373e79.js.map +1 -0
- package/{index-63e7b57b.js → index-10377bc5.js} +18 -26
- package/index-10377bc5.js.map +1 -0
- package/{index-9626a87e.js → index-207577d6.js} +21 -52
- package/{index-9626a87e.js.map → index-207577d6.js.map} +1 -1
- package/{index-6e33b2e0.js → index-2932882f.js} +3 -6
- package/index-2932882f.js.map +1 -0
- package/{index-12c44496.js → index-5c20d787.js} +1 -1
- package/{index-12c44496.js.map → index-5c20d787.js.map} +1 -1
- package/{index-437c0f3c.js → index-88523047.js} +30 -44
- package/{index-437c0f3c.js.map → index-88523047.js.map} +1 -1
- package/{index-aced8439.js → index-8a52a6f4.js} +30 -113
- package/index-8a52a6f4.js.map +1 -0
- package/{index-8e901b57.js → index-8f0ae983.js} +2 -22
- package/{index-8e901b57.js.map → index-8f0ae983.js.map} +1 -1
- package/{index-4c3eaeb7.js → index-95f0372d.js} +2 -2
- package/index-95f0372d.js.map +1 -0
- package/{index-a52a0b76.js → index-a90edcd2.js} +13 -32
- package/index-a90edcd2.js.map +1 -0
- package/{index-47d179f2.js → index-c77693d8.js} +23 -27
- package/{index-47d179f2.js.map → index-c77693d8.js.map} +1 -1
- package/{index-ace292c2.js → index-cc626895.js} +4 -7
- package/{index-ace292c2.js.map → index-cc626895.js.map} +1 -1
- package/{index-83ae3ffe.js → index-cd1a9173.js} +26 -130
- package/index-cd1a9173.js.map +1 -0
- package/{index-7b8ea67e.js → index-d75ba9c0.js} +17 -33
- package/{index-7b8ea67e.js.map → index-d75ba9c0.js.map} +1 -1
- package/{index-0ecbda20.js → index-ec8cbdfb.js} +11 -12
- package/{index-0ecbda20.js.map → index-ec8cbdfb.js.map} +1 -1
- package/index.d.ts +1 -1
- package/index.js +48 -48
- package/lame.all.js.map +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +36 -94
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-7c7d84fc.js → stringSet-2d42f6ff.js} +2 -1
- package/stringSet-2d42f6ff.js.map +1 -0
- package/{tokenize-8f238f49.js → tokenize-cd9c48bb.js} +15 -22
- package/{tokenize-8f238f49.js.map → tokenize-cd9c48bb.js.map} +1 -1
- package/{topics-4697c2b3.js → topics-6d4bf2ed.js} +1 -1
- package/{topics-4697c2b3.js.map → topics-6d4bf2ed.js.map} +1 -1
- package/tslib.es6-5180f9d1.js +171 -0
- package/tslib.es6-5180f9d1.js.map +1 -0
- package/{types-41ea68c8.js → types-2fb5793c.js} +1 -1
- package/{types-41ea68c8.js.map → types-2fb5793c.js.map} +1 -1
- package/ui/Accordion.js +12 -16
- package/ui/Accordion.js.map +1 -1
- package/ui/AccordionGroup.js +6 -8
- package/ui/AccordionGroup.js.map +1 -1
- package/ui/AdminMessage.js +5 -8
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +23 -41
- package/ui/Avatar.js.map +1 -1
- package/ui/Badge.js +9 -9
- package/ui/Badge.js.map +1 -1
- package/ui/BottomSheet.js +5 -7
- package/ui/BottomSheet.js.map +1 -1
- package/ui/Button.js +13 -24
- package/ui/Button.js.map +1 -1
- package/ui/ChannelAvatar.js +9 -9
- package/ui/ChannelAvatar.js.map +1 -1
- package/ui/Checkbox.js +6 -8
- package/ui/Checkbox.js.map +1 -1
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ConnectionStatus.js.map +1 -1
- package/ui/ContextMenu.js +40 -86
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +9 -9
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +19 -24
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +15 -16
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +22 -23
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +0 -241
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +19 -22
- package/ui/IconButton.js.map +1 -1
- package/ui/ImageRenderer.js +27 -30
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +8 -10
- package/ui/Input.js.map +1 -1
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +4 -3
- package/ui/LinkLabel.js.map +1 -1
- package/ui/Loader.js +7 -7
- package/ui/Loader.js.map +1 -1
- package/ui/MentionLabel.js +16 -22
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js +7 -7
- package/ui/MentionUserLabel.js.map +1 -1
- package/ui/MessageContent.js +117 -136
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +71 -124
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +25 -31
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +12 -16
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +21 -29
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +18 -24
- package/ui/MessageSearchItem.js.map +1 -1
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +33 -34
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js +3 -3
- package/ui/MutedAvatarOverlay.js.map +1 -1
- package/ui/OGMessageItemBody.js +26 -30
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +4 -4
- package/ui/OpenChannelAdminMessage.js.map +1 -1
- package/ui/OpenChannelAvatar.js +11 -11
- package/ui/OpenChannelAvatar.js.map +1 -1
- package/ui/OpenchannelConversationHeader.js +10 -10
- package/ui/OpenchannelConversationHeader.js.map +1 -1
- package/ui/OpenchannelFileMessage.js +31 -44
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +38 -53
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +36 -46
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +39 -49
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +6 -6
- package/ui/PlaybackTime.js +8 -8
- package/ui/PlaybackTime.js.map +1 -1
- package/ui/ProgressBar.js +8 -8
- package/ui/ProgressBar.js.map +1 -1
- package/ui/QuoteMessage.js +16 -20
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +8 -11
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +13 -17
- package/ui/ReactionBadge.js.map +1 -1
- package/ui/ReactionButton.js +8 -8
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +7 -11
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +12 -12
- package/ui/TextButton.js.map +1 -1
- package/ui/TextMessageItemBody.js +22 -24
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThreadReplies.js +10 -11
- package/ui/ThreadReplies.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +15 -18
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Tooltip.js +6 -6
- package/ui/Tooltip.js.map +1 -1
- package/ui/TooltipWrapper.js +6 -8
- package/ui/TooltipWrapper.js.map +1 -1
- package/ui/UnknownMessageItemBody.js +13 -14
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +27 -26
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +15 -17
- package/ui/UserProfile.js.map +1 -1
- package/ui/VoiceMessageItemBody.js +24 -31
- package/ui/VoiceMessageItemBody.js.map +1 -1
- package/ui/VoiceMessgeInput.js +8 -8
- package/ui/Word.js +18 -29
- package/ui/Word.js.map +1 -1
- package/{useLongPress-e2570976.js → useLongPress-c1a00d6e.js} +13 -31
- package/{useLongPress-e2570976.js.map → useLongPress-c1a00d6e.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -2
- package/useSendbirdStateContext.js.map +1 -1
- package/utils/message/getOutgoingMessageState.js +0 -7
- package/utils/message/getOutgoingMessageState.js.map +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-4942106c.js → utils-3c726d0f.js} +2 -7
- package/utils-3c726d0f.js.map +1 -0
- package/{utils-3d03001e.js → utils-4c1f97d4.js} +1 -5
- package/{utils-3d03001e.js.map → utils-4c1f97d4.js.map} +1 -1
- package/{utils-12a3467f.js → utils-760413c9.js} +1 -4
- package/utils-760413c9.js.map +1 -0
- package/{utils-04bd857d.js → utils-a7563986.js} +1 -1
- package/{utils-04bd857d.js.map → utils-a7563986.js.map} +1 -1
- package/{uuid-31c6ecb2.js → uuid-368c5040.js} +1 -3
- package/{uuid-31c6ecb2.js.map → uuid-368c5040.js.map} +1 -1
- package/withSendbird.js +5 -7
- package/withSendbird.js.map +1 -1
- package/ChannelListProvider-10fe7340.js.map +0 -1
- package/MediaQueryContext-e791a4d1.js.map +0 -1
- package/_rollupPluginBabelHelpers-e908c50d.js.map +0 -1
- package/cjs/ChannelListProvider-d4f91fc4.js.map +0 -1
- package/cjs/MediaQueryContext-4978c777.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-994cd1da.js.map +0 -1
- package/cjs/color-8f9fe57f.js.map +0 -1
- package/cjs/compareIds-b77b66f3.js.map +0 -1
- package/cjs/index-1f02e60f.js.map +0 -1
- package/cjs/index-72fd0294.js.map +0 -1
- package/cjs/index-7c5d21c4.js.map +0 -1
- package/cjs/index-959a4ab1.js.map +0 -1
- package/cjs/index-aa908fcf.js.map +0 -1
- package/cjs/index-b9fbe704.js.map +0 -1
- package/cjs/index-e3f00fd1.js.map +0 -1
- package/cjs/stringSet-7330b627.js.map +0 -1
- package/cjs/tslib.es6-ee1122c5.js +0 -97
- package/cjs/tslib.es6-ee1122c5.js.map +0 -1
- package/cjs/utils-5905fc1a.js.map +0 -1
- package/cjs/utils-de779857.js.map +0 -1
- package/compareIds-d958887d.js.map +0 -1
- package/index-4c3eaeb7.js.map +0 -1
- package/index-63e7b57b.js.map +0 -1
- package/index-6e33b2e0.js.map +0 -1
- package/index-83ae3ffe.js.map +0 -1
- package/index-a52a0b76.js.map +0 -1
- package/index-aced8439.js.map +0 -1
- package/index-cf141ad7.js.map +0 -1
- package/stringSet-7c7d84fc.js.map +0 -1
- package/tslib.es6-209c9f08.js +0 -92
- package/tslib.es6-209c9f08.js.map +0 -1
- package/utils-12a3467f.js.map +0 -1
- package/utils-4942106c.js.map +0 -1
|
@@ -5,14 +5,12 @@ import PropTypes from 'prop-types';
|
|
|
5
5
|
* user profile goes deep inside the component tree
|
|
6
6
|
* use this context as a short circuit to send in values
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
8
|
const UserProfileContext = /*#__PURE__*/React__default.createContext({
|
|
10
9
|
disableUserProfile: true,
|
|
11
10
|
isOpenChannel: false,
|
|
12
11
|
renderUserProfile: null,
|
|
13
12
|
onUserProfileMessage: null
|
|
14
13
|
});
|
|
15
|
-
|
|
16
14
|
const UserProfileProvider = props => {
|
|
17
15
|
const {
|
|
18
16
|
children
|
|
@@ -21,7 +19,6 @@ const UserProfileProvider = props => {
|
|
|
21
19
|
value: props
|
|
22
20
|
}, children);
|
|
23
21
|
};
|
|
24
|
-
|
|
25
22
|
UserProfileProvider.propTypes = {
|
|
26
23
|
children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element), PropTypes.any]).isRequired,
|
|
27
24
|
// eslint-disable-next-line react/no-unused-prop-types
|
|
@@ -41,4 +38,4 @@ UserProfileProvider.defaultProps = {
|
|
|
41
38
|
};
|
|
42
39
|
|
|
43
40
|
export { UserProfileProvider as U, UserProfileContext as a };
|
|
44
|
-
//# sourceMappingURL=UserProfileContext-
|
|
41
|
+
//# sourceMappingURL=UserProfileContext-12b6fabf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserProfileContext-
|
|
1
|
+
{"version":3,"file":"UserProfileContext-12b6fabf.js","sources":["../src/lib/UserProfileContext.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * user profile goes deep inside the component tree\n * use this context as a short circuit to send in values\n */\nconst UserProfileContext = React.createContext({\n disableUserProfile: true,\n isOpenChannel: false,\n renderUserProfile: null,\n onUserProfileMessage: null,\n});\n\nconst UserProfileProvider = (props) => {\n const { children } = props;\n return (\n <UserProfileContext.Provider value={props}>\n {children}\n </UserProfileContext.Provider>\n );\n};\n\nUserProfileProvider.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.any,\n ]).isRequired,\n // eslint-disable-next-line react/no-unused-prop-types\n isOpenChannel: PropTypes.bool,\n // eslint-disable-next-line react/no-unused-prop-types\n disableUserProfile: PropTypes.bool,\n // eslint-disable-next-line react/no-unused-prop-types\n renderUserProfile: PropTypes.func,\n // eslint-disable-next-line react/no-unused-prop-types\n onUserProfileMessage: PropTypes.func,\n};\n\nUserProfileProvider.defaultProps = {\n isOpenChannel: false,\n disableUserProfile: false,\n renderUserProfile: null,\n onUserProfileMessage: null,\n};\n\nexport { UserProfileContext, UserProfileProvider };\n"],"names":["UserProfileContext","React","createContext","disableUserProfile","isOpenChannel","renderUserProfile","onUserProfileMessage","UserProfileProvider","props","children","createElement","Provider","value","propTypes","PropTypes","oneOfType","element","arrayOf","any","isRequired","bool","func","defaultProps"],"mappings":";;;AAGA;AACA;AACA;AACA;AACA,MAAMA,kBAAkB,gBAAGC,cAAK,CAACC,aAAa,CAAC;AAC7CC,EAAAA,kBAAkB,EAAE,IAAI;AACxBC,EAAAA,aAAa,EAAE,KAAK;AACpBC,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,oBAAoB,EAAE,IAAA;AACxB,CAAC,EAAC;AAEIC,MAAAA,mBAAmB,GAAIC,KAAK,IAAK;EACrC,MAAM;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAGD,KAAK,CAAA;AAC1B,EAAA,oBACEP,cAAA,CAAAS,aAAA,CAACV,kBAAkB,CAACW,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEJ,KAAAA;AAAM,GAAA,EACvCC,QAAQ,CACmB,CAAA;AAElC,EAAC;AAEDF,mBAAmB,CAACM,SAAS,GAAG;EAC9BJ,QAAQ,EAAEK,SAAS,CAACC,SAAS,CAAC,CAC5BD,SAAS,CAACE,OAAO,EACjBF,SAAS,CAACG,OAAO,CAACH,SAAS,CAACE,OAAO,CAAC,EACpCF,SAAS,CAACI,GAAG,CACd,CAAC,CAACC,UAAU;AACb;EACAf,aAAa,EAAEU,SAAS,CAACM,IAAI;AAC7B;EACAjB,kBAAkB,EAAEW,SAAS,CAACM,IAAI;AAClC;EACAf,iBAAiB,EAAES,SAAS,CAACO,IAAI;AACjC;EACAf,oBAAoB,EAAEQ,SAAS,CAACO,IAAAA;AAClC,CAAC,CAAA;AAEDd,mBAAmB,CAACe,YAAY,GAAG;AACjClB,EAAAA,aAAa,EAAE,KAAK;AACpBD,EAAAA,kBAAkB,EAAE,KAAK;AACzBE,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,oBAAoB,EAAE,IAAA;AACxB,CAAC;;;;"}
|
|
@@ -1,75 +1,65 @@
|
|
|
1
1
|
import React__default, { useState, useEffect } from 'react';
|
|
2
|
-
import { u as useLocalization } from './LocalizationContext-
|
|
2
|
+
import { u as useLocalization } from './LocalizationContext-43b10f97.js';
|
|
3
3
|
import { useVoicePlayer } from './VoicePlayer/useVoicePlayer.js';
|
|
4
4
|
import { useVoiceRecorder, VoiceRecorderStatus } from './VoiceRecorder/useVoiceRecorder.js';
|
|
5
|
-
import { a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from './ChannelProvider-
|
|
6
|
-
import { V as VoiceMessageInputStatus, a as VoiceMessageInput } from './index-
|
|
5
|
+
import { a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from './ChannelProvider-cd9afff3.js';
|
|
6
|
+
import { V as VoiceMessageInputStatus, a as VoiceMessageInput } from './index-d75ba9c0.js';
|
|
7
7
|
import Modal from './ui/Modal.js';
|
|
8
8
|
import Button, { ButtonTypes, ButtonSizes } from './ui/Button.js';
|
|
9
9
|
import useSendbirdStateContext from './useSendbirdStateContext.js';
|
|
10
|
-
import { a as VOICE_RECORDER_DEFAULT_MIN } from './consts-
|
|
11
|
-
import { a as VoicePlayerStatus } from './index-
|
|
12
|
-
import { u as uuidv4 } from './uuid-
|
|
10
|
+
import { a as VOICE_RECORDER_DEFAULT_MIN } from './consts-30f09302.js';
|
|
11
|
+
import { a as VoicePlayerStatus } from './index-207577d6.js';
|
|
12
|
+
import { u as uuidv4 } from './uuid-368c5040.js';
|
|
13
13
|
|
|
14
14
|
var VoiceMessageInputWrapper = function (_a) {
|
|
15
15
|
var _b;
|
|
16
|
-
|
|
17
16
|
var channel = _a.channel,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
onCancelClick = _a.onCancelClick,
|
|
18
|
+
onSubmitClick = _a.onSubmitClick;
|
|
21
19
|
var _c = useState(null),
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
audioFile = _c[0],
|
|
21
|
+
setAudioFile = _c[1];
|
|
25
22
|
var uuid = useState(uuidv4())[0];
|
|
26
|
-
|
|
27
23
|
var _d = useState(VoiceMessageInputStatus.READY_TO_RECORD),
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
voiceInputState = _d[0],
|
|
25
|
+
setVoiceInputState = _d[1];
|
|
31
26
|
var _e = useState(false),
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
isSubmited = _e[0],
|
|
28
|
+
setSubmit = _e[1];
|
|
35
29
|
var _f = useState(false),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
30
|
+
isDisabled = _f[0],
|
|
31
|
+
setDisabled = _f[1];
|
|
39
32
|
var _g = useState(false),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
showModal = _g[0],
|
|
34
|
+
setShowModal = _g[1];
|
|
43
35
|
var stringSet = useLocalization().stringSet;
|
|
44
36
|
var config = useSendbirdStateContext().config;
|
|
45
37
|
var minRecordingTime = ((_b = config === null || config === void 0 ? void 0 : config.voiceRecord) === null || _b === void 0 ? void 0 : _b.minRecordingTime) || VOICE_RECORDER_DEFAULT_MIN;
|
|
46
|
-
|
|
47
38
|
var _h = useVoiceRecorder({
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
39
|
+
onRecordingStarted: function () {
|
|
40
|
+
setVoiceInputState(VoiceMessageInputStatus.RECORDING);
|
|
41
|
+
},
|
|
42
|
+
onRecordingEnded: function (audioFile) {
|
|
43
|
+
setAudioFile(audioFile);
|
|
44
|
+
}
|
|
45
|
+
}),
|
|
46
|
+
start = _h.start,
|
|
47
|
+
stop = _h.stop,
|
|
48
|
+
cancel = _h.cancel,
|
|
49
|
+
recordingTime = _h.recordingTime,
|
|
50
|
+
recordingStatus = _h.recordingStatus,
|
|
51
|
+
recordingLimit = _h.recordingLimit;
|
|
62
52
|
var voicePlayer = useVoicePlayer({
|
|
63
53
|
channelUrl: channel === null || channel === void 0 ? void 0 : channel.url,
|
|
64
54
|
key: uuid,
|
|
65
55
|
audioFile: audioFile
|
|
66
56
|
});
|
|
67
57
|
var play = voicePlayer.play,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
var stopVoicePlayer = voicePlayer.stop;
|
|
72
|
-
|
|
58
|
+
pause = voicePlayer.pause,
|
|
59
|
+
playbackTime = voicePlayer.playbackTime,
|
|
60
|
+
playingStatus = voicePlayer.playingStatus;
|
|
61
|
+
var stopVoicePlayer = voicePlayer.stop;
|
|
62
|
+
// disabled state: muted & frozen
|
|
73
63
|
useEffect(function () {
|
|
74
64
|
if (isDisabledBecauseFrozen(channel) || isDisabledBecauseMuted(channel)) {
|
|
75
65
|
setDisabled(true);
|
|
@@ -121,7 +111,6 @@ var VoiceMessageInputWrapper = function (_a) {
|
|
|
121
111
|
start();
|
|
122
112
|
break;
|
|
123
113
|
}
|
|
124
|
-
|
|
125
114
|
case VoiceMessageInputStatus.RECORDING:
|
|
126
115
|
{
|
|
127
116
|
if (recordingTime >= minRecordingTime && !isDisabled) {
|
|
@@ -134,16 +123,13 @@ var VoiceMessageInputWrapper = function (_a) {
|
|
|
134
123
|
cancel();
|
|
135
124
|
setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);
|
|
136
125
|
}
|
|
137
|
-
|
|
138
126
|
break;
|
|
139
127
|
}
|
|
140
|
-
|
|
141
128
|
case VoiceMessageInputStatus.READY_TO_PLAY:
|
|
142
129
|
{
|
|
143
130
|
play();
|
|
144
131
|
break;
|
|
145
132
|
}
|
|
146
|
-
|
|
147
133
|
case VoiceMessageInputStatus.PLAYING:
|
|
148
134
|
{
|
|
149
135
|
pause();
|
|
@@ -174,4 +160,4 @@ var VoiceMessageInputWrapper = function (_a) {
|
|
|
174
160
|
};
|
|
175
161
|
|
|
176
162
|
export { VoiceMessageInputWrapper as V };
|
|
177
|
-
//# sourceMappingURL=VoiceMessageInputWrapper-
|
|
163
|
+
//# sourceMappingURL=VoiceMessageInputWrapper-c74412de.js.map
|
package/{VoiceMessageInputWrapper-59373f20.js.map → VoiceMessageInputWrapper-c74412de.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceMessageInputWrapper-59373f20.js","sources":["../src/smart-components/Channel/components/MessageInput/VoiceMessageInputWrapper.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport './voice-message-wrapper.scss';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { useVoicePlayer } from '../../../../hooks/VoicePlayer/useVoicePlayer';\nimport { useVoiceRecorder, VoiceRecorderStatus } from '../../../../hooks/VoiceRecorder/useVoiceRecorder';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\n\nimport { VoiceMessageInput } from '../../../../ui/VoiceMessageInput';\nimport { VoiceMessageInputStatus } from '../../../../ui/VoiceMessageInput/types';\nimport Modal from '../../../../ui/Modal';\nimport Button, { ButtonSizes, ButtonTypes } from '../../../../ui/Button';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { VOICE_RECORDER_DEFAULT_MIN } from '../../../../utils/consts';\nimport { VoicePlayerStatus } from '../../../../hooks/VoicePlayer/dux/initialState';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport interface VoiceMessageInputWrapperProps {\n channel?: GroupChannel;\n onCancelClick?: () => void;\n onSubmitClick?: (file: File, duration: number) => void;\n}\n\nexport const VoiceMessageInputWrapper = ({\n channel,\n onCancelClick,\n onSubmitClick,\n}: VoiceMessageInputWrapperProps): React.ReactElement => {\n const [audioFile, setAudioFile] = useState<File>(null);\n const [uuid] = useState<string>(uuidv4());\n const [voiceInputState, setVoiceInputState] = useState<VoiceMessageInputStatus>(VoiceMessageInputStatus.READY_TO_RECORD);\n const [isSubmited, setSubmit] = useState(false);\n const [isDisabled, setDisabled] = useState(false);\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useLocalization();\n const { config } = useSendbirdStateContext();\n const minRecordingTime = config?.voiceRecord?.minRecordingTime || VOICE_RECORDER_DEFAULT_MIN;\n const {\n start,\n stop,\n cancel,\n recordingTime,\n recordingStatus,\n recordingLimit,\n } = useVoiceRecorder({\n onRecordingStarted: () => {\n setVoiceInputState(VoiceMessageInputStatus.RECORDING);\n },\n onRecordingEnded: (audioFile) => {\n setAudioFile(audioFile);\n },\n });\n const voicePlayer = useVoicePlayer({\n channelUrl: channel?.url,\n key: uuid,\n audioFile: audioFile,\n });\n const {\n play,\n pause,\n playbackTime,\n playingStatus,\n } = voicePlayer;\n const stopVoicePlayer = voicePlayer.stop;\n\n // disabled state: muted & frozen\n useEffect(() => {\n if (isDisabledBecauseFrozen(channel) || isDisabledBecauseMuted(channel)) {\n setDisabled(true);\n } else {\n setDisabled(false);\n }\n }, [channel?.myRole, channel?.isFrozen, channel?.myMutedState]);\n\n useEffect(() => {\n if (isSubmited && audioFile) {\n onSubmitClick(audioFile, recordingTime);\n setSubmit(false);\n setAudioFile(null);\n }\n }, [isSubmited, audioFile, recordingTime]);\n useEffect(() => {\n if (audioFile) {\n if (recordingTime < minRecordingTime) {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n setAudioFile(null);\n } else if (playingStatus === VoicePlayerStatus.PLAYING) {\n setVoiceInputState(VoiceMessageInputStatus.PLAYING);\n } else {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_PLAY);\n }\n }\n }, [isSubmited, audioFile, recordingTime, playingStatus]);\n\n return (\n <div className=\"sendbird-voice-message-input-wrapper\">\n <VoiceMessageInput\n currentValue={recordingStatus === VoiceRecorderStatus.COMPLETED ? playbackTime : recordingTime}\n maximumValue={recordingStatus === VoiceRecorderStatus.COMPLETED ? recordingTime : recordingLimit}\n currentType={voiceInputState}\n onCancelClick={onCancelClick}\n onSubmitClick={() => {\n if (isDisabled) {\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n stop();\n pause();\n setSubmit(true);\n }\n }}\n onControlClick={(type) => {\n switch (type) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n stopVoicePlayer();\n start();\n break;\n }\n case VoiceMessageInputStatus.RECORDING: {\n if (recordingTime >= minRecordingTime && !isDisabled) {\n stop();\n } else if (isDisabled) {\n cancel();\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n cancel();\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n }\n break;\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n play();\n break;\n }\n case VoiceMessageInputStatus.PLAYING: {\n pause();\n break;\n }\n }\n }}\n />\n {\n showModal && (\n <Modal\n className=\"sendbird-voice-message-input-wrapper-alert\"\n titleText={isDisabledBecauseMuted(channel)\n ? stringSet.MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED\n : stringSet.MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN\n }\n hideFooter\n isCloseOnClickOutside\n onCancel={() => {\n setShowModal(false);\n onCancelClick();\n }}\n >\n <div className=\"sendbird-voice-message-input-wrapper-alert__body\">\n <Button\n className=\"sendbird-voice-message-input-wrapper-alert__body__ok-button\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.BIG}\n onClick={() => {\n setShowModal(false);\n onCancelClick();\n }}\n >\n {stringSet.BUTTON__OK}\n </Button>\n </div>\n </Modal>\n )\n }\n </div>\n );\n};\n\nexport default VoiceMessageInputWrapper;\n"],"names":["VoiceMessageInputWrapper","_a","channel","onCancelClick","onSubmitClick","_c","useState","audioFile","setAudioFile","uuid","uuidv4","_d","VoiceMessageInputStatus","READY_TO_RECORD","voiceInputState","setVoiceInputState","_e","isSubmited","setSubmit","_f","isDisabled","setDisabled","_g","showModal","setShowModal","stringSet","useLocalization","config","useSendbirdStateContext","minRecordingTime","_b","voiceRecord","VOICE_RECORDER_DEFAULT_MIN","_h","useVoiceRecorder","onRecordingStarted","RECORDING","onRecordingEnded","start","stop","cancel","recordingTime","recordingStatus","recordingLimit","voicePlayer","useVoicePlayer","channelUrl","url","key","play","pause","playbackTime","playingStatus","stopVoicePlayer","useEffect","isDisabledBecauseFrozen","isDisabledBecauseMuted","myRole","isFrozen","myMutedState","VoicePlayerStatus","PLAYING","READY_TO_PLAY","React","VoiceRecorderStatus","COMPLETED","type","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN","ButtonTypes","PRIMARY","ButtonSizes","BIG","BUTTON__OK"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VoiceMessageInputWrapper-c74412de.js","sources":["../src/smart-components/Channel/components/MessageInput/VoiceMessageInputWrapper.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport './voice-message-wrapper.scss';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { useVoicePlayer } from '../../../../hooks/VoicePlayer/useVoicePlayer';\nimport { useVoiceRecorder, VoiceRecorderStatus } from '../../../../hooks/VoiceRecorder/useVoiceRecorder';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\n\nimport { VoiceMessageInput } from '../../../../ui/VoiceMessageInput';\nimport { VoiceMessageInputStatus } from '../../../../ui/VoiceMessageInput/types';\nimport Modal from '../../../../ui/Modal';\nimport Button, { ButtonSizes, ButtonTypes } from '../../../../ui/Button';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { VOICE_RECORDER_DEFAULT_MIN } from '../../../../utils/consts';\nimport { VoicePlayerStatus } from '../../../../hooks/VoicePlayer/dux/initialState';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport interface VoiceMessageInputWrapperProps {\n channel?: GroupChannel;\n onCancelClick?: () => void;\n onSubmitClick?: (file: File, duration: number) => void;\n}\n\nexport const VoiceMessageInputWrapper = ({\n channel,\n onCancelClick,\n onSubmitClick,\n}: VoiceMessageInputWrapperProps): React.ReactElement => {\n const [audioFile, setAudioFile] = useState<File>(null);\n const [uuid] = useState<string>(uuidv4());\n const [voiceInputState, setVoiceInputState] = useState<VoiceMessageInputStatus>(VoiceMessageInputStatus.READY_TO_RECORD);\n const [isSubmited, setSubmit] = useState(false);\n const [isDisabled, setDisabled] = useState(false);\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useLocalization();\n const { config } = useSendbirdStateContext();\n const minRecordingTime = config?.voiceRecord?.minRecordingTime || VOICE_RECORDER_DEFAULT_MIN;\n const {\n start,\n stop,\n cancel,\n recordingTime,\n recordingStatus,\n recordingLimit,\n } = useVoiceRecorder({\n onRecordingStarted: () => {\n setVoiceInputState(VoiceMessageInputStatus.RECORDING);\n },\n onRecordingEnded: (audioFile) => {\n setAudioFile(audioFile);\n },\n });\n const voicePlayer = useVoicePlayer({\n channelUrl: channel?.url,\n key: uuid,\n audioFile: audioFile,\n });\n const {\n play,\n pause,\n playbackTime,\n playingStatus,\n } = voicePlayer;\n const stopVoicePlayer = voicePlayer.stop;\n\n // disabled state: muted & frozen\n useEffect(() => {\n if (isDisabledBecauseFrozen(channel) || isDisabledBecauseMuted(channel)) {\n setDisabled(true);\n } else {\n setDisabled(false);\n }\n }, [channel?.myRole, channel?.isFrozen, channel?.myMutedState]);\n\n useEffect(() => {\n if (isSubmited && audioFile) {\n onSubmitClick(audioFile, recordingTime);\n setSubmit(false);\n setAudioFile(null);\n }\n }, [isSubmited, audioFile, recordingTime]);\n useEffect(() => {\n if (audioFile) {\n if (recordingTime < minRecordingTime) {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n setAudioFile(null);\n } else if (playingStatus === VoicePlayerStatus.PLAYING) {\n setVoiceInputState(VoiceMessageInputStatus.PLAYING);\n } else {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_PLAY);\n }\n }\n }, [isSubmited, audioFile, recordingTime, playingStatus]);\n\n return (\n <div className=\"sendbird-voice-message-input-wrapper\">\n <VoiceMessageInput\n currentValue={recordingStatus === VoiceRecorderStatus.COMPLETED ? playbackTime : recordingTime}\n maximumValue={recordingStatus === VoiceRecorderStatus.COMPLETED ? recordingTime : recordingLimit}\n currentType={voiceInputState}\n onCancelClick={onCancelClick}\n onSubmitClick={() => {\n if (isDisabled) {\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n stop();\n pause();\n setSubmit(true);\n }\n }}\n onControlClick={(type) => {\n switch (type) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n stopVoicePlayer();\n start();\n break;\n }\n case VoiceMessageInputStatus.RECORDING: {\n if (recordingTime >= minRecordingTime && !isDisabled) {\n stop();\n } else if (isDisabled) {\n cancel();\n setShowModal(true);\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n } else {\n cancel();\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n }\n break;\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n play();\n break;\n }\n case VoiceMessageInputStatus.PLAYING: {\n pause();\n break;\n }\n }\n }}\n />\n {\n showModal && (\n <Modal\n className=\"sendbird-voice-message-input-wrapper-alert\"\n titleText={isDisabledBecauseMuted(channel)\n ? stringSet.MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED\n : stringSet.MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN\n }\n hideFooter\n isCloseOnClickOutside\n onCancel={() => {\n setShowModal(false);\n onCancelClick();\n }}\n >\n <div className=\"sendbird-voice-message-input-wrapper-alert__body\">\n <Button\n className=\"sendbird-voice-message-input-wrapper-alert__body__ok-button\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.BIG}\n onClick={() => {\n setShowModal(false);\n onCancelClick();\n }}\n >\n {stringSet.BUTTON__OK}\n </Button>\n </div>\n </Modal>\n )\n }\n </div>\n );\n};\n\nexport default VoiceMessageInputWrapper;\n"],"names":["VoiceMessageInputWrapper","_a","channel","onCancelClick","onSubmitClick","_c","useState","audioFile","setAudioFile","uuid","uuidv4","_d","VoiceMessageInputStatus","READY_TO_RECORD","voiceInputState","setVoiceInputState","_e","isSubmited","setSubmit","_f","isDisabled","setDisabled","_g","showModal","setShowModal","stringSet","useLocalization","config","useSendbirdStateContext","minRecordingTime","_b","voiceRecord","VOICE_RECORDER_DEFAULT_MIN","_h","useVoiceRecorder","onRecordingStarted","RECORDING","onRecordingEnded","start","stop","cancel","recordingTime","recordingStatus","recordingLimit","voicePlayer","useVoicePlayer","channelUrl","url","key","play","pause","playbackTime","playingStatus","stopVoicePlayer","useEffect","isDisabledBecauseFrozen","isDisabledBecauseMuted","myRole","isFrozen","myMutedState","VoicePlayerStatus","PLAYING","READY_TO_PLAY","React","createElement","className","VoiceMessageInput","currentValue","VoiceRecorderStatus","COMPLETED","maximumValue","currentType","onControlClick","type","Modal","titleText","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN","hideFooter","isCloseOnClickOutside","onCancel","Button","ButtonTypes","PRIMARY","size","ButtonSizes","BIG","onClick","BUTTON__OK"],"mappings":"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"}
|
package/VoicePlayer/context.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
-
export { V as VoicePlayerProvider, u as useVoicePlayerContext } from '../index-
|
|
3
|
-
import '../consts-
|
|
2
|
+
export { V as VoicePlayerProvider, u as useVoicePlayerContext } from '../index-207577d6.js';
|
|
3
|
+
import '../consts-30f09302.js';
|
|
4
4
|
import '../useSendbirdStateContext.js';
|
|
5
|
-
import '../tslib.es6-
|
|
5
|
+
import '../tslib.es6-5180f9d1.js';
|
|
6
6
|
import '../withSendbird.js';
|
|
7
7
|
//# sourceMappingURL=context.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
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-207577d6.js';
|
|
3
|
+
import { g as VOICE_PLAYER_AUDIO_ID } from '../consts-30f09302.js';
|
|
4
4
|
import { useVoiceRecorderContext } from '../VoiceRecorder/context.js';
|
|
5
|
-
import '../tslib.es6-
|
|
5
|
+
import '../tslib.es6-5180f9d1.js';
|
|
6
6
|
import '../useSendbirdStateContext.js';
|
|
7
7
|
import '../withSendbird.js';
|
|
8
8
|
import '../lame.all.js';
|
|
@@ -11,36 +11,30 @@ var generateGroupKey = function (channelUrl, key) {
|
|
|
11
11
|
if (channelUrl === void 0) {
|
|
12
12
|
channelUrl = '';
|
|
13
13
|
}
|
|
14
|
-
|
|
15
14
|
if (key === void 0) {
|
|
16
15
|
key = '';
|
|
17
16
|
}
|
|
18
|
-
|
|
19
17
|
return "".concat(channelUrl, "-").concat(key);
|
|
20
18
|
};
|
|
21
19
|
|
|
22
20
|
var useVoicePlayer = function (_a) {
|
|
23
21
|
var _b;
|
|
24
|
-
|
|
25
22
|
var _c = _a.key,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
key = _c === void 0 ? '' : _c,
|
|
24
|
+
_d = _a.channelUrl,
|
|
25
|
+
channelUrl = _d === void 0 ? '' : _d,
|
|
26
|
+
_e = _a.audioFile,
|
|
27
|
+
audioFile = _e === void 0 ? null : _e,
|
|
28
|
+
_f = _a.audioFileUrl,
|
|
29
|
+
audioFileUrl = _f === void 0 ? '' : _f;
|
|
33
30
|
var groupKey = useState(generateGroupKey(channelUrl, key))[0];
|
|
34
|
-
|
|
35
31
|
var _g = useVoicePlayerContext(),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
play = _g.play,
|
|
33
|
+
pause = _g.pause,
|
|
34
|
+
stop = _g.stop,
|
|
35
|
+
voicePlayerStore = _g.voicePlayerStore;
|
|
41
36
|
var isRecordable = useVoiceRecorderContext().isRecordable;
|
|
42
37
|
var currentAudioUnit = ((_b = voicePlayerStore === null || voicePlayerStore === void 0 ? void 0 : voicePlayerStore.audioStorage) === null || _b === void 0 ? void 0 : _b[groupKey]) || AudioUnitDefaultValue();
|
|
43
|
-
|
|
44
38
|
var playVoicePlayer = function () {
|
|
45
39
|
if (!isRecordable) {
|
|
46
40
|
play === null || play === void 0 ? void 0 : play({
|
|
@@ -50,23 +44,18 @@ var useVoicePlayer = function (_a) {
|
|
|
50
44
|
});
|
|
51
45
|
}
|
|
52
46
|
};
|
|
53
|
-
|
|
54
47
|
var pauseVoicePlayer = function () {
|
|
55
48
|
pause === null || pause === void 0 ? void 0 : pause(groupKey);
|
|
56
49
|
};
|
|
57
|
-
|
|
58
50
|
var stopVoicePlayer = function (text) {
|
|
59
51
|
if (text === void 0) {
|
|
60
52
|
text = '';
|
|
61
53
|
}
|
|
62
|
-
|
|
63
54
|
stop === null || stop === void 0 ? void 0 : stop(text);
|
|
64
55
|
};
|
|
65
|
-
|
|
66
56
|
useEffect(function () {
|
|
67
57
|
return function () {
|
|
68
58
|
var _a;
|
|
69
|
-
|
|
70
59
|
if (audioFile || audioFileUrl) {
|
|
71
60
|
// Can't get the current AudioPlayer through the React hooks(useReducer or useState) in this scope
|
|
72
61
|
var voiceAudioPlayerElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);
|
|
@@ -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","key","concat","useVoicePlayer","_a","_c","_d","_e","audioFile","_f","audioFileUrl","groupKey","useState","_g","useVoicePlayerContext","play","pause","stop","voicePlayerStore","isRecordable","useVoiceRecorderContext","currentAudioUnit","_b","audioStorage","AudioUnitDefaultValue","playVoicePlayer","pauseVoicePlayer","stopVoicePlayer","text","useEffect","voiceAudioPlayerElement","document","getElementById","VOICE_PLAYER_AUDIO_ID","playbackTime","duration","playingStatus"],"mappings":";;;;;;;;;AACO,IAAMA,gBAAgB,GAAG,UAACC,
|
|
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","key","concat","useVoicePlayer","_a","_c","_d","_e","audioFile","_f","audioFileUrl","groupKey","useState","_g","useVoicePlayerContext","play","pause","stop","voicePlayerStore","isRecordable","useVoiceRecorderContext","currentAudioUnit","_b","audioStorage","AudioUnitDefaultValue","playVoicePlayer","pauseVoicePlayer","stopVoicePlayer","text","useEffect","voiceAudioPlayerElement","document","getElementById","VOICE_PLAYER_AUDIO_ID","playbackTime","duration","playingStatus"],"mappings":"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"}
|
package/VoiceRecorder/context.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import React__default, { useState, useCallback, useContext, createContext } from 'react';
|
|
2
2
|
import { WavHeader as $dd7ee3788d91dcb8$export$cb948f2d6837f136, Mp3Encoder as $dd7ee3788d91dcb8$export$9ca5d136ebf61cf2 } from '../lame.all.js';
|
|
3
|
-
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-
|
|
3
|
+
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-30f09302.js';
|
|
4
4
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
5
5
|
import '../withSendbird.js';
|
|
6
|
-
import '../tslib.es6-
|
|
6
|
+
import '../tslib.es6-5180f9d1.js';
|
|
7
7
|
|
|
8
8
|
// Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw
|
|
9
|
-
|
|
10
9
|
function encodeMp3(arrayBuffer) {
|
|
11
10
|
var wav = $dd7ee3788d91dcb8$export$cb948f2d6837f136.readHeader(new DataView(arrayBuffer));
|
|
12
11
|
var dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);
|
|
@@ -14,42 +13,34 @@ function encodeMp3(arrayBuffer) {
|
|
|
14
13
|
var maxSamples = 1152;
|
|
15
14
|
var samplesLeft = wav.channels === 1 ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));
|
|
16
15
|
var samplesRight = wav.channels === 2 ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;
|
|
17
|
-
|
|
18
16
|
if (wav.channels > 1) {
|
|
19
17
|
for (var j = 0; j < samplesLeft.length; j++) {
|
|
20
18
|
samplesLeft[j] = dataView[j * 2];
|
|
21
19
|
samplesRight[j] = dataView[j * 2 + 1];
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
|
-
|
|
25
22
|
var dataBuffer = [];
|
|
26
23
|
var remaining = samplesLeft.length;
|
|
27
|
-
|
|
28
24
|
for (var i = 0; remaining >= maxSamples; i += maxSamples) {
|
|
29
25
|
var left = samplesLeft.subarray(i, i + maxSamples);
|
|
30
26
|
var right = void 0;
|
|
31
|
-
|
|
32
27
|
if (samplesRight) {
|
|
33
28
|
right = samplesRight.subarray(i, i + maxSamples);
|
|
34
29
|
}
|
|
35
|
-
|
|
36
30
|
var mp3buf = mp3Encoder.encodeBuffer(left, right);
|
|
37
31
|
dataBuffer.push(new Int8Array(mp3buf));
|
|
38
32
|
remaining -= maxSamples;
|
|
39
33
|
}
|
|
40
|
-
|
|
41
34
|
var mp3Lastbuf = mp3Encoder.flush();
|
|
42
35
|
dataBuffer.push(new Int8Array(mp3Lastbuf));
|
|
43
36
|
return dataBuffer;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
}
|
|
38
|
+
// Convert audioFile to arrayBuffer, because Mp3Encoder requires a parameter of ArrayBuffer type
|
|
47
39
|
function downsampleToWav(file, callback) {
|
|
48
40
|
//Browser compatibility
|
|
49
41
|
// https://caniuse.com/?search=AudioContext
|
|
50
42
|
var audioCtx = new AudioContext();
|
|
51
43
|
var fileReader = new FileReader();
|
|
52
|
-
|
|
53
44
|
fileReader.onload = function (ev) {
|
|
54
45
|
// Decode audio
|
|
55
46
|
audioCtx.decodeAudioData(ev.target.result, function (buffer) {
|
|
@@ -60,17 +51,14 @@ function downsampleToWav(file, callback) {
|
|
|
60
51
|
soundSource.buffer = buffer;
|
|
61
52
|
soundSource.connect(offlineAudioCtx.destination);
|
|
62
53
|
var reader = new FileReader();
|
|
63
|
-
|
|
64
54
|
reader.onload = function () {
|
|
65
55
|
var renderCompleteHandler = function (evt) {
|
|
66
56
|
var renderedBuffer = usingWebkit ? evt.renderedBuffer : evt;
|
|
67
57
|
var buffer = bufferToWav(renderedBuffer, renderedBuffer.length);
|
|
68
|
-
|
|
69
58
|
if (callback) {
|
|
70
59
|
callback(buffer);
|
|
71
60
|
}
|
|
72
61
|
};
|
|
73
|
-
|
|
74
62
|
if (usingWebkit) {
|
|
75
63
|
offlineAudioCtx.oncomplete = renderCompleteHandler;
|
|
76
64
|
offlineAudioCtx.startRendering();
|
|
@@ -80,15 +68,12 @@ function downsampleToWav(file, callback) {
|
|
|
80
68
|
});
|
|
81
69
|
}
|
|
82
70
|
};
|
|
83
|
-
|
|
84
71
|
reader.readAsArrayBuffer(file);
|
|
85
72
|
soundSource.start(0);
|
|
86
73
|
});
|
|
87
74
|
};
|
|
88
|
-
|
|
89
75
|
fileReader.readAsArrayBuffer(file);
|
|
90
76
|
}
|
|
91
|
-
|
|
92
77
|
function bufferToWav(abuffer, len) {
|
|
93
78
|
var numOfChan = abuffer.numberOfChannels;
|
|
94
79
|
var length = len * numOfChan * 2 + 44;
|
|
@@ -98,57 +83,39 @@ function bufferToWav(abuffer, len) {
|
|
|
98
83
|
var i = 0;
|
|
99
84
|
var sample;
|
|
100
85
|
var offset = 0;
|
|
101
|
-
var pos = 0;
|
|
102
|
-
|
|
86
|
+
var pos = 0;
|
|
87
|
+
// write WAVE header
|
|
103
88
|
setUint32(0x46464952); // "RIFF"
|
|
104
|
-
|
|
105
89
|
setUint32(length - 8); // file length - 8
|
|
106
|
-
|
|
107
90
|
setUint32(0x45564157); // "WAVE"
|
|
108
|
-
|
|
109
91
|
setUint32(0x20746d66); // "fmt " chunk
|
|
110
|
-
|
|
111
92
|
setUint32(16); // length = 16
|
|
112
|
-
|
|
113
93
|
setUint16(1); // PCM (uncompressed)
|
|
114
|
-
|
|
115
94
|
setUint16(numOfChan);
|
|
116
95
|
setUint32(abuffer.sampleRate);
|
|
117
96
|
setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec
|
|
118
|
-
|
|
119
97
|
setUint16(numOfChan * 2); // block-align
|
|
120
|
-
|
|
121
98
|
setUint16(16); // 16-bit (hardcoded in this demo)
|
|
122
|
-
|
|
123
99
|
setUint32(0x61746164); // "data" - chunk
|
|
124
|
-
|
|
125
100
|
setUint32(length - pos - 4); // chunk length
|
|
126
101
|
// write interleaved data
|
|
127
|
-
|
|
128
102
|
for (i = 0; i < abuffer.numberOfChannels; i++) channels.push(abuffer.getChannelData(i));
|
|
129
|
-
|
|
130
103
|
while (pos < length) {
|
|
131
104
|
for (i = 0; i < numOfChan; i++) {
|
|
132
105
|
// interleave channels
|
|
133
106
|
sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp
|
|
134
|
-
|
|
135
107
|
sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int
|
|
136
|
-
|
|
137
108
|
view.setInt16(pos, sample, true); // write 16-bit sample
|
|
138
|
-
|
|
139
109
|
pos += 2;
|
|
140
110
|
}
|
|
141
|
-
|
|
142
111
|
offset++; // next source sample
|
|
143
112
|
}
|
|
144
113
|
|
|
145
114
|
return buffer;
|
|
146
|
-
|
|
147
115
|
function setUint16(data) {
|
|
148
116
|
view.setUint16(pos, data, true);
|
|
149
117
|
pos += 2;
|
|
150
118
|
}
|
|
151
|
-
|
|
152
119
|
function setUint32(data) {
|
|
153
120
|
view.setUint32(pos, data, true);
|
|
154
121
|
pos += 4;
|
|
@@ -156,7 +123,6 @@ function bufferToWav(abuffer, len) {
|
|
|
156
123
|
}
|
|
157
124
|
|
|
158
125
|
var noop = function () {};
|
|
159
|
-
|
|
160
126
|
var VoiceRecorderContext = /*#__PURE__*/createContext({
|
|
161
127
|
start: noop,
|
|
162
128
|
stop: noop,
|
|
@@ -166,25 +132,19 @@ var VoiceRecorderProvider = function (props) {
|
|
|
166
132
|
var children = props.children;
|
|
167
133
|
var config = useSendbirdStateContext().config;
|
|
168
134
|
var logger = config.logger;
|
|
169
|
-
|
|
170
135
|
var _a = useState(null),
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
136
|
+
mediaRecorder = _a[0],
|
|
137
|
+
setMediaRecorder = _a[1];
|
|
174
138
|
var _b = useState(false),
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
139
|
+
isRecordable = _b[0],
|
|
140
|
+
setIsRecordable = _b[1];
|
|
178
141
|
var start = useCallback(function (eventHandler) {
|
|
179
142
|
var _a, _b;
|
|
180
|
-
|
|
181
143
|
logger.info('VoiceRecorder: Start recording.');
|
|
182
|
-
|
|
183
144
|
if (mediaRecorder) {
|
|
184
145
|
stop();
|
|
185
146
|
logger.info('VoiceRecorder: Previous mediaRecorder is stopped.');
|
|
186
147
|
}
|
|
187
|
-
|
|
188
148
|
(_b = (_a = navigator === null || navigator === void 0 ? void 0 : navigator.mediaDevices) === null || _a === void 0 ? void 0 : _a.getUserMedia) === null || _b === void 0 ? void 0 : _b.call(_a, {
|
|
189
149
|
audio: true
|
|
190
150
|
}).then(function (stream) {
|
|
@@ -194,10 +154,8 @@ var VoiceRecorderProvider = function (props) {
|
|
|
194
154
|
mimeType: VOICE_RECORDER_MIME_TYPE,
|
|
195
155
|
audioBitsPerSecond: VOICE_RECORDER_AUDIO_BITS
|
|
196
156
|
});
|
|
197
|
-
|
|
198
157
|
mediaRecorder.ondataavailable = function (e) {
|
|
199
158
|
var _a, _b, _c;
|
|
200
|
-
|
|
201
159
|
logger.info('VoiceRecorder: Succeeded getting an available data.', e.data);
|
|
202
160
|
var audioFile = new File([e.data], VOICE_MESSAGE_FILE_NAME, {
|
|
203
161
|
lastModified: new Date().getTime(),
|
|
@@ -220,7 +178,6 @@ var VoiceRecorderProvider = function (props) {
|
|
|
220
178
|
});
|
|
221
179
|
setIsRecordable(false);
|
|
222
180
|
};
|
|
223
|
-
|
|
224
181
|
mediaRecorder === null || mediaRecorder === void 0 ? void 0 : mediaRecorder.start();
|
|
225
182
|
setMediaRecorder(mediaRecorder);
|
|
226
183
|
eventHandler === null || eventHandler === void 0 ? void 0 : eventHandler.onRecordingStarted();
|