@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
|
@@ -12,14 +12,12 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
|
12
12
|
* user profile goes deep inside the component tree
|
|
13
13
|
* use this context as a short circuit to send in values
|
|
14
14
|
*/
|
|
15
|
-
|
|
16
15
|
const UserProfileContext = /*#__PURE__*/React__default["default"].createContext({
|
|
17
16
|
disableUserProfile: true,
|
|
18
17
|
isOpenChannel: false,
|
|
19
18
|
renderUserProfile: null,
|
|
20
19
|
onUserProfileMessage: null
|
|
21
20
|
});
|
|
22
|
-
|
|
23
21
|
const UserProfileProvider = props => {
|
|
24
22
|
const {
|
|
25
23
|
children
|
|
@@ -28,7 +26,6 @@ const UserProfileProvider = props => {
|
|
|
28
26
|
value: props
|
|
29
27
|
}, children);
|
|
30
28
|
};
|
|
31
|
-
|
|
32
29
|
UserProfileProvider.propTypes = {
|
|
33
30
|
children: PropTypes__default["default"].oneOfType([PropTypes__default["default"].element, PropTypes__default["default"].arrayOf(PropTypes__default["default"].element), PropTypes__default["default"].any]).isRequired,
|
|
34
31
|
// eslint-disable-next-line react/no-unused-prop-types
|
|
@@ -49,4 +46,4 @@ UserProfileProvider.defaultProps = {
|
|
|
49
46
|
|
|
50
47
|
exports.UserProfileContext = UserProfileContext;
|
|
51
48
|
exports.UserProfileProvider = UserProfileProvider;
|
|
52
|
-
//# sourceMappingURL=UserProfileContext-
|
|
49
|
+
//# sourceMappingURL=UserProfileContext-ce0c283c.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserProfileContext-
|
|
1
|
+
{"version":3,"file":"UserProfileContext-ce0c283c.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,yBAAK,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,yBAAA,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,6BAAS,CAACC,SAAS,CAAC,CAC5BD,6BAAS,CAACE,OAAO,EACjBF,6BAAS,CAACG,OAAO,CAACH,6BAAS,CAACE,OAAO,CAAC,EACpCF,6BAAS,CAACI,GAAG,CACd,CAAC,CAACC,UAAU;AACb;EACAf,aAAa,EAAEU,6BAAS,CAACM,IAAI;AAC7B;EACAjB,kBAAkB,EAAEW,6BAAS,CAACM,IAAI;AAClC;EACAf,iBAAiB,EAAES,6BAAS,CAACO,IAAI;AACjC;EACAf,oBAAoB,EAAEQ,6BAAS,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,17 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
4
|
+
var LocalizationContext = require('./LocalizationContext-e4a874cf.js');
|
|
5
5
|
var VoicePlayer_useVoicePlayer = require('./VoicePlayer/useVoicePlayer.js');
|
|
6
6
|
var VoiceRecorder_useVoiceRecorder = require('./VoiceRecorder/useVoiceRecorder.js');
|
|
7
|
-
var Channel_context = require('./ChannelProvider-
|
|
8
|
-
var ui_VoiceMessgeInput = require('./index-
|
|
7
|
+
var Channel_context = require('./ChannelProvider-473548f7.js');
|
|
8
|
+
var ui_VoiceMessgeInput = require('./index-3d08adec.js');
|
|
9
9
|
var ui_Modal = require('./ui/Modal.js');
|
|
10
10
|
var ui_Button = require('./ui/Button.js');
|
|
11
11
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
12
|
-
var consts = require('./consts-
|
|
13
|
-
var VoicePlayer_context = require('./index-
|
|
14
|
-
var uuid = require('./uuid-
|
|
12
|
+
var consts = require('./consts-b8c0be49.js');
|
|
13
|
+
var VoicePlayer_context = require('./index-ba9683ca.js');
|
|
14
|
+
var uuid = require('./uuid-f23c161c.js');
|
|
15
15
|
|
|
16
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
17
|
|
|
@@ -19,63 +19,53 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
19
19
|
|
|
20
20
|
var VoiceMessageInputWrapper = function (_a) {
|
|
21
21
|
var _b;
|
|
22
|
-
|
|
23
22
|
var channel = _a.channel,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
onCancelClick = _a.onCancelClick,
|
|
24
|
+
onSubmitClick = _a.onSubmitClick;
|
|
27
25
|
var _c = React.useState(null),
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
audioFile = _c[0],
|
|
27
|
+
setAudioFile = _c[1];
|
|
31
28
|
var uuid$1 = React.useState(uuid.uuidv4())[0];
|
|
32
|
-
|
|
33
29
|
var _d = React.useState(ui_VoiceMessgeInput.VoiceMessageInputStatus.READY_TO_RECORD),
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
voiceInputState = _d[0],
|
|
31
|
+
setVoiceInputState = _d[1];
|
|
37
32
|
var _e = React.useState(false),
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
isSubmited = _e[0],
|
|
34
|
+
setSubmit = _e[1];
|
|
41
35
|
var _f = React.useState(false),
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
isDisabled = _f[0],
|
|
37
|
+
setDisabled = _f[1];
|
|
45
38
|
var _g = React.useState(false),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
39
|
+
showModal = _g[0],
|
|
40
|
+
setShowModal = _g[1];
|
|
49
41
|
var stringSet = LocalizationContext.useLocalization().stringSet;
|
|
50
42
|
var config = useSendbirdStateContext().config;
|
|
51
43
|
var minRecordingTime = ((_b = config === null || config === void 0 ? void 0 : config.voiceRecord) === null || _b === void 0 ? void 0 : _b.minRecordingTime) || consts.VOICE_RECORDER_DEFAULT_MIN;
|
|
52
|
-
|
|
53
44
|
var _h = VoiceRecorder_useVoiceRecorder.useVoiceRecorder({
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
45
|
+
onRecordingStarted: function () {
|
|
46
|
+
setVoiceInputState(ui_VoiceMessgeInput.VoiceMessageInputStatus.RECORDING);
|
|
47
|
+
},
|
|
48
|
+
onRecordingEnded: function (audioFile) {
|
|
49
|
+
setAudioFile(audioFile);
|
|
50
|
+
}
|
|
51
|
+
}),
|
|
52
|
+
start = _h.start,
|
|
53
|
+
stop = _h.stop,
|
|
54
|
+
cancel = _h.cancel,
|
|
55
|
+
recordingTime = _h.recordingTime,
|
|
56
|
+
recordingStatus = _h.recordingStatus,
|
|
57
|
+
recordingLimit = _h.recordingLimit;
|
|
68
58
|
var voicePlayer = VoicePlayer_useVoicePlayer.useVoicePlayer({
|
|
69
59
|
channelUrl: channel === null || channel === void 0 ? void 0 : channel.url,
|
|
70
60
|
key: uuid$1,
|
|
71
61
|
audioFile: audioFile
|
|
72
62
|
});
|
|
73
63
|
var play = voicePlayer.play,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
var stopVoicePlayer = voicePlayer.stop;
|
|
78
|
-
|
|
64
|
+
pause = voicePlayer.pause,
|
|
65
|
+
playbackTime = voicePlayer.playbackTime,
|
|
66
|
+
playingStatus = voicePlayer.playingStatus;
|
|
67
|
+
var stopVoicePlayer = voicePlayer.stop;
|
|
68
|
+
// disabled state: muted & frozen
|
|
79
69
|
React.useEffect(function () {
|
|
80
70
|
if (Channel_context.isDisabledBecauseFrozen(channel) || Channel_context.isDisabledBecauseMuted(channel)) {
|
|
81
71
|
setDisabled(true);
|
|
@@ -127,7 +117,6 @@ var VoiceMessageInputWrapper = function (_a) {
|
|
|
127
117
|
start();
|
|
128
118
|
break;
|
|
129
119
|
}
|
|
130
|
-
|
|
131
120
|
case ui_VoiceMessgeInput.VoiceMessageInputStatus.RECORDING:
|
|
132
121
|
{
|
|
133
122
|
if (recordingTime >= minRecordingTime && !isDisabled) {
|
|
@@ -140,16 +129,13 @@ var VoiceMessageInputWrapper = function (_a) {
|
|
|
140
129
|
cancel();
|
|
141
130
|
setVoiceInputState(ui_VoiceMessgeInput.VoiceMessageInputStatus.READY_TO_RECORD);
|
|
142
131
|
}
|
|
143
|
-
|
|
144
132
|
break;
|
|
145
133
|
}
|
|
146
|
-
|
|
147
134
|
case ui_VoiceMessgeInput.VoiceMessageInputStatus.READY_TO_PLAY:
|
|
148
135
|
{
|
|
149
136
|
play();
|
|
150
137
|
break;
|
|
151
138
|
}
|
|
152
|
-
|
|
153
139
|
case ui_VoiceMessgeInput.VoiceMessageInputStatus.PLAYING:
|
|
154
140
|
{
|
|
155
141
|
pause();
|
|
@@ -180,4 +166,4 @@ var VoiceMessageInputWrapper = function (_a) {
|
|
|
180
166
|
};
|
|
181
167
|
|
|
182
168
|
exports.VoiceMessageInputWrapper = VoiceMessageInputWrapper;
|
|
183
|
-
//# sourceMappingURL=VoiceMessageInputWrapper-
|
|
169
|
+
//# sourceMappingURL=VoiceMessageInputWrapper-88ad4670.js.map
|
package/cjs/{VoiceMessageInputWrapper-3b5db880.js.map → VoiceMessageInputWrapper-88ad4670.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceMessageInputWrapper-3b5db880.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","VoiceMessageInput","VoiceRecorderStatus","COMPLETED","type","Modal","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_MUTED","MODAL__VOICE_MESSAGE_INPUT_DISABLED__TITLE_FROZEN","Button","ButtonTypes","PRIMARY","ButtonSizes","BIG","BUTTON__OK"],"mappings":";;;;;;;;;;;;;;;;;;;AAwBaA,IAAAA,wBAAwB,GAAG,UAACC,EAAD,EAIR;;;AAH9B,EAAA,IAAAC,OAAO,aAAP;AAAA,MACAC,aAAa,GAAAF,EAAA,CAAAE,aADb;AAAA,MAEAC,aAAa,GAAAH,EAAA,CAAAG,aAFb,CAAA;;AAIM,EAAA,IAAAC,EAAA,GAA4BC,cAAQ,CAAO,IAAP,CAApC;AAAA,MAACC,SAAS,GAAAF,EAAA,CAAA,CAAA,CAAV;AAAA,MAAYG,YAAY,GAAAH,EAAA,CAAA,CAAA,CAAxB,CAAA;;EACC,IAAAI,MAAI,GAAIH,cAAQ,CAASI,WAAM,EAAf,CAAR,EAAA,CAAR,CAAA;;AACD,EAAA,IAAAC,EAAwC,GAAAL,cAAQ,CAA0BM,2CAAuB,CAACC,eAAlD,CAAhD;AAAA,MAACC,eAAe,GAAAH,EAAA,CAAA,CAAA,CAAhB;AAAA,MAAkBI,kBAAkB,QAApC,CAAA;;AACA,EAAA,IAAAC,EAAA,GAA0BV,cAAQ,CAAC,KAAD,CAAlC;AAAA,MAACW,UAAU,GAAAD,EAAA,CAAA,CAAA,CAAX;AAAA,MAAaE,SAAS,GAAAF,EAAA,CAAA,CAAA,CAAtB,CAAA;;AACA,EAAA,IAAAG,EAAA,GAA4Bb,cAAQ,CAAC,KAAD,CAApC;AAAA,MAACc,UAAU,GAAAD,EAAA,CAAA,CAAA,CAAX;AAAA,MAAaE,WAAW,GAAAF,EAAA,CAAA,CAAA,CAAxB,CAAA;;AACA,EAAA,IAAAG,EAAA,GAA4BhB,cAAQ,CAAC,KAAD,CAApC;AAAA,MAACiB,SAAS,GAAAD,EAAA,CAAA,CAAA,CAAV;AAAA,MAAYE,YAAY,GAAAF,EAAA,CAAA,CAAA,CAAxB,CAAA;;AACE,EAAA,IAAAG,SAAS,GAAKC,mCAAe,EAAA,UAA7B,CAAA;AACA,EAAA,IAAAC,MAAM,GAAKC,uBAAuB,EAAA,OAAlC,CAAA;AACR,EAAA,IAAMC,gBAAgB,GAAG,CAAA,CAAAC,EAAA,GAAAH,MAAM,KAAN,IAAA,IAAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAM,CAAEI,WAAR,MAAmB,IAAnB,IAAmBD,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmBA,EAAA,CAAED,gBAArB,KAAyCG,iCAAlE,CAAA;;EACM,IAAAC,EAAA,GAOFC,+CAAgB,CAAC;AACnBC,IAAAA,kBAAkB,EAAE,YAAA;AAClBpB,MAAAA,kBAAkB,CAACH,2CAAuB,CAACwB,SAAzB,CAAlB,CAAA;KAFiB;IAInBC,gBAAgB,EAAE,UAAC9B,SAAD,EAAU;MAC1BC,YAAY,CAACD,SAAD,CAAZ,CAAA;AACD,KAAA;AANkB,GAAD,CAPd;AAAA,MACJ+B,KAAK,GAAAL,EAAA,CAAAK,KADD;AAAA,MAEJC,IAAI,GAAAN,EAAA,CAAAM,IAFA;AAAA,MAGJC,MAAM,GAAAP,EAAA,CAAAO,MAHF;AAAA,MAIJC,aAAa,mBAJT;AAAA,MAKJC,eAAe,qBALX;AAAA,MAMJC,cAAc,oBANV,CAAA;;EAeN,IAAMC,WAAW,GAAGC,yCAAc,CAAC;AACjCC,IAAAA,UAAU,EAAE5C,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE6C,GADY;AAEjCC,IAAAA,GAAG,EAAEvC,MAF4B;AAGjCF,IAAAA,SAAS,EAAEA,SAAAA;AAHsB,GAAD,CAAlC,CAAA;AAME,EAAA,IAAA0C,IAAI,GAIFL,WAAW,KAJb;AAAA,MACAM,KAAK,GAGHN,WAAW,CAAAM,KAJb;AAAA,MAEAC,YAAY,GAEVP,WAAW,CAFDO,YAFZ;AAAA,MAGAC,aAAa,GACXR,WAAW,cAJb,CAAA;AAKF,EAAA,IAAMS,eAAe,GAAGT,WAAW,CAACL,IAApC,CApC8B;;AAuC9Be,EAAAA,eAAS,CAAC,YAAA;IACR,IAAIC,uCAAuB,CAACrD,OAAD,CAAvB,IAAoCsD,sCAAsB,CAACtD,OAAD,CAA9D,EAAyE;MACvEmB,WAAW,CAAC,IAAD,CAAX,CAAA;AACD,KAFD,MAEO;MACLA,WAAW,CAAC,KAAD,CAAX,CAAA;AACD,KAAA;GALM,EAMN,CAACnB,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEuD,MAAV,EAAkBvD,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEwD,QAA3B,EAAqCxD,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEyD,YAA9C,CANM,CAAT,CAAA;AAQAL,EAAAA,eAAS,CAAC,YAAA;IACR,IAAIrC,UAAU,IAAIV,SAAlB,EAA6B;AAC3BH,MAAAA,aAAa,CAACG,SAAD,EAAYkC,aAAZ,CAAb,CAAA;MACAvB,SAAS,CAAC,KAAD,CAAT,CAAA;MACAV,YAAY,CAAC,IAAD,CAAZ,CAAA;AACD,KAAA;GALM,EAMN,CAACS,UAAD,EAAaV,SAAb,EAAwBkC,aAAxB,CANM,CAAT,CAAA;AAOAa,EAAAA,eAAS,CAAC,YAAA;AACR,IAAA,IAAI/C,SAAJ,EAAe;MACb,IAAIkC,aAAa,GAAGZ,gBAApB,EAAsC;AACpCd,QAAAA,kBAAkB,CAACH,2CAAuB,CAACC,eAAzB,CAAlB,CAAA;QACAL,YAAY,CAAC,IAAD,CAAZ,CAAA;AACD,OAHD,MAGO,IAAI4C,aAAa,KAAKQ,qCAAiB,CAACC,OAAxC,EAAiD;AACtD9C,QAAAA,kBAAkB,CAACH,2CAAuB,CAACiD,OAAzB,CAAlB,CAAA;AACD,OAFM,MAEA;AACL9C,QAAAA,kBAAkB,CAACH,2CAAuB,CAACkD,aAAzB,CAAlB,CAAA;AACD,OAAA;AACF,KAAA;GAVM,EAWN,CAAC7C,UAAD,EAAaV,SAAb,EAAwBkC,aAAxB,EAAuCW,aAAvC,CAXM,CAAT,CAAA;EAaA,oBACEW,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,sCAAA;AAAf,GAAA,eACEA,wCAACC,qCAAD,EAAA;IACE,YAAY,EAAEtB,eAAe,KAAKuB,kDAAmB,CAACC,SAAxC,GAAoDf,YAApD,GAAmEV,aADnF;IAEE,YAAY,EAAEC,eAAe,KAAKuB,kDAAmB,CAACC,SAAxC,GAAoDzB,aAApD,GAAoEE,cAFpF;AAGE,IAAA,WAAW,EAAE7B,eAHf;AAIE,IAAA,aAAa,EAAEX,aAJjB;AAKE,IAAA,aAAa,EAAE,YAAA;AACb,MAAA,IAAIiB,UAAJ,EAAgB;QACdI,YAAY,CAAC,IAAD,CAAZ,CAAA;AACAT,QAAAA,kBAAkB,CAACH,2CAAuB,CAACC,eAAzB,CAAlB,CAAA;AACD,OAHD,MAGO;QACL0B,IAAI,EAAA,CAAA;QACJW,KAAK,EAAA,CAAA;QACLhC,SAAS,CAAC,IAAD,CAAT,CAAA;AACD,OAAA;KAbL;IAeE,cAAc,EAAE,UAACiD,IAAD,EAAK;AACnB,MAAA,QAAQA,IAAR;QACE,KAAKvD,2CAAuB,CAACC,eAA7B;AAA8C,UAAA;YAC5CwC,eAAe,EAAA,CAAA;YACff,KAAK,EAAA,CAAA;AACL,YAAA,MAAA;AACD,WAAA;;QACD,KAAK1B,2CAAuB,CAACwB,SAA7B;AAAwC,UAAA;AACtC,YAAA,IAAIK,aAAa,IAAIZ,gBAAjB,IAAqC,CAACT,UAA1C,EAAsD;cACpDmB,IAAI,EAAA,CAAA;aADN,MAEO,IAAInB,UAAJ,EAAgB;cACrBoB,MAAM,EAAA,CAAA;cACNhB,YAAY,CAAC,IAAD,CAAZ,CAAA;AACAT,cAAAA,kBAAkB,CAACH,2CAAuB,CAACC,eAAzB,CAAlB,CAAA;AACD,aAJM,MAIA;cACL2B,MAAM,EAAA,CAAA;AACNzB,cAAAA,kBAAkB,CAACH,2CAAuB,CAACC,eAAzB,CAAlB,CAAA;AACD,aAAA;;AACD,YAAA,MAAA;AACD,WAAA;;QACD,KAAKD,2CAAuB,CAACkD,aAA7B;AAA4C,UAAA;YAC1Cb,IAAI,EAAA,CAAA;AACJ,YAAA,MAAA;AACD,WAAA;;QACD,KAAKrC,2CAAuB,CAACiD,OAA7B;AAAsC,UAAA;YACpCX,KAAK,EAAA,CAAA;AACL,YAAA,MAAA;AACD,WAAA;AA1BH,OAAA;AA4BD,KAAA;AA5CH,GAAA,CADF,EAgDI3B,SAAS,iBACPwC,yBAAA,CAAA,aAAA,CAACK,mBAAD,EAAA;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,IAAA,SAAS,EAAEZ,sCAAsB,CAACtD,OAAD,CAAtB,GACPuB,SAAS,CAAC4C,gDADH,GAEP5C,SAAS,CAAC6C,iDAJhB;AAME,IAAA,UAAU,EANZ,IAAA;AAOE,IAAA,qBAAqB,EAPvB,IAAA;AAQE,IAAA,QAAQ,EAAE,YAAA;MACR9C,YAAY,CAAC,KAAD,CAAZ,CAAA;MACArB,aAAa,EAAA,CAAA;AACd,KAAA;GAED,eAAA4D,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,kDAAA;AAAf,GAAA,eACEA,wCAACQ,oBAAD,EAAA;AACE,IAAA,SAAS,EAAC,6DADZ;IAEE,IAAI,EAAEC,qBAAW,CAACC,OAFpB;IAGE,IAAI,EAAEC,qBAAW,CAACC,GAHpB;AAIE,IAAA,OAAO,EAAE,YAAA;MACPnD,YAAY,CAAC,KAAD,CAAZ,CAAA;MACArB,aAAa,EAAA,CAAA;AACd,KAAA;AAPH,GAAA,EASGsB,SAAS,CAACmD,UATb,CADF,CAbF,CAjDN,CADF,CAAA;AAiFD;;;;"}
|
|
1
|
+
{"version":3,"file":"VoiceMessageInputWrapper-88ad4670.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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"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
require('react');
|
|
6
|
-
var VoicePlayer_context = require('../index-
|
|
7
|
-
require('../consts-
|
|
6
|
+
var VoicePlayer_context = require('../index-ba9683ca.js');
|
|
7
|
+
require('../consts-b8c0be49.js');
|
|
8
8
|
require('../useSendbirdStateContext.js');
|
|
9
|
-
require('../tslib.es6-
|
|
9
|
+
require('../tslib.es6-67bdb021.js');
|
|
10
10
|
require('../withSendbird.js');
|
|
11
11
|
|
|
12
12
|
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var VoicePlayer_context = require('../index-
|
|
7
|
-
var consts = require('../consts-
|
|
6
|
+
var VoicePlayer_context = require('../index-ba9683ca.js');
|
|
7
|
+
var consts = require('../consts-b8c0be49.js');
|
|
8
8
|
var VoiceRecorder_context = require('../VoiceRecorder/context.js');
|
|
9
|
-
require('../tslib.es6-
|
|
9
|
+
require('../tslib.es6-67bdb021.js');
|
|
10
10
|
require('../useSendbirdStateContext.js');
|
|
11
11
|
require('../withSendbird.js');
|
|
12
12
|
require('../lame.all.js');
|
|
@@ -15,36 +15,30 @@ var generateGroupKey = function (channelUrl, key) {
|
|
|
15
15
|
if (channelUrl === void 0) {
|
|
16
16
|
channelUrl = '';
|
|
17
17
|
}
|
|
18
|
-
|
|
19
18
|
if (key === void 0) {
|
|
20
19
|
key = '';
|
|
21
20
|
}
|
|
22
|
-
|
|
23
21
|
return "".concat(channelUrl, "-").concat(key);
|
|
24
22
|
};
|
|
25
23
|
|
|
26
24
|
var useVoicePlayer = function (_a) {
|
|
27
25
|
var _b;
|
|
28
|
-
|
|
29
26
|
var _c = _a.key,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
27
|
+
key = _c === void 0 ? '' : _c,
|
|
28
|
+
_d = _a.channelUrl,
|
|
29
|
+
channelUrl = _d === void 0 ? '' : _d,
|
|
30
|
+
_e = _a.audioFile,
|
|
31
|
+
audioFile = _e === void 0 ? null : _e,
|
|
32
|
+
_f = _a.audioFileUrl,
|
|
33
|
+
audioFileUrl = _f === void 0 ? '' : _f;
|
|
37
34
|
var groupKey = React.useState(generateGroupKey(channelUrl, key))[0];
|
|
38
|
-
|
|
39
35
|
var _g = VoicePlayer_context.useVoicePlayerContext(),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
play = _g.play,
|
|
37
|
+
pause = _g.pause,
|
|
38
|
+
stop = _g.stop,
|
|
39
|
+
voicePlayerStore = _g.voicePlayerStore;
|
|
45
40
|
var isRecordable = VoiceRecorder_context.useVoiceRecorderContext().isRecordable;
|
|
46
41
|
var currentAudioUnit = ((_b = voicePlayerStore === null || voicePlayerStore === void 0 ? void 0 : voicePlayerStore.audioStorage) === null || _b === void 0 ? void 0 : _b[groupKey]) || VoicePlayer_context.AudioUnitDefaultValue();
|
|
47
|
-
|
|
48
42
|
var playVoicePlayer = function () {
|
|
49
43
|
if (!isRecordable) {
|
|
50
44
|
play === null || play === void 0 ? void 0 : play({
|
|
@@ -54,23 +48,18 @@ var useVoicePlayer = function (_a) {
|
|
|
54
48
|
});
|
|
55
49
|
}
|
|
56
50
|
};
|
|
57
|
-
|
|
58
51
|
var pauseVoicePlayer = function () {
|
|
59
52
|
pause === null || pause === void 0 ? void 0 : pause(groupKey);
|
|
60
53
|
};
|
|
61
|
-
|
|
62
54
|
var stopVoicePlayer = function (text) {
|
|
63
55
|
if (text === void 0) {
|
|
64
56
|
text = '';
|
|
65
57
|
}
|
|
66
|
-
|
|
67
58
|
stop === null || stop === void 0 ? void 0 : stop(text);
|
|
68
59
|
};
|
|
69
|
-
|
|
70
60
|
React.useEffect(function () {
|
|
71
61
|
return function () {
|
|
72
62
|
var _a;
|
|
73
|
-
|
|
74
63
|
if (audioFile || audioFileUrl) {
|
|
75
64
|
// Can't get the current AudioPlayer through the React hooks(useReducer or useState) in this scope
|
|
76
65
|
var voiceAudioPlayerElement = document.getElementById(consts.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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"}
|
|
@@ -4,17 +4,16 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var lame_all = require('../lame.all.js');
|
|
7
|
-
var consts = require('../consts-
|
|
7
|
+
var consts = require('../consts-b8c0be49.js');
|
|
8
8
|
var useSendbirdStateContext = require('../useSendbirdStateContext.js');
|
|
9
9
|
require('../withSendbird.js');
|
|
10
|
-
require('../tslib.es6-
|
|
10
|
+
require('../tslib.es6-67bdb021.js');
|
|
11
11
|
|
|
12
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
13
|
|
|
14
14
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
15
|
|
|
16
16
|
// Thanks to https://codesandbox.io/s/media-recorder-api-downsampling-16k-mp3-encode-using-lame-js-forked-n1pblw
|
|
17
|
-
|
|
18
17
|
function encodeMp3(arrayBuffer) {
|
|
19
18
|
var wav = lame_all.WavHeader.readHeader(new DataView(arrayBuffer));
|
|
20
19
|
var dataView = new Int16Array(arrayBuffer, wav.dataOffset, wav.dataLen / 2);
|
|
@@ -22,42 +21,34 @@ function encodeMp3(arrayBuffer) {
|
|
|
22
21
|
var maxSamples = 1152;
|
|
23
22
|
var samplesLeft = wav.channels === 1 ? dataView : new Int16Array(wav.dataLen / (2 * wav.channels));
|
|
24
23
|
var samplesRight = wav.channels === 2 ? new Int16Array(wav.dataLen / (2 * wav.channels)) : undefined;
|
|
25
|
-
|
|
26
24
|
if (wav.channels > 1) {
|
|
27
25
|
for (var j = 0; j < samplesLeft.length; j++) {
|
|
28
26
|
samplesLeft[j] = dataView[j * 2];
|
|
29
27
|
samplesRight[j] = dataView[j * 2 + 1];
|
|
30
28
|
}
|
|
31
29
|
}
|
|
32
|
-
|
|
33
30
|
var dataBuffer = [];
|
|
34
31
|
var remaining = samplesLeft.length;
|
|
35
|
-
|
|
36
32
|
for (var i = 0; remaining >= maxSamples; i += maxSamples) {
|
|
37
33
|
var left = samplesLeft.subarray(i, i + maxSamples);
|
|
38
34
|
var right = void 0;
|
|
39
|
-
|
|
40
35
|
if (samplesRight) {
|
|
41
36
|
right = samplesRight.subarray(i, i + maxSamples);
|
|
42
37
|
}
|
|
43
|
-
|
|
44
38
|
var mp3buf = mp3Encoder.encodeBuffer(left, right);
|
|
45
39
|
dataBuffer.push(new Int8Array(mp3buf));
|
|
46
40
|
remaining -= maxSamples;
|
|
47
41
|
}
|
|
48
|
-
|
|
49
42
|
var mp3Lastbuf = mp3Encoder.flush();
|
|
50
43
|
dataBuffer.push(new Int8Array(mp3Lastbuf));
|
|
51
44
|
return dataBuffer;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
45
|
+
}
|
|
46
|
+
// Convert audioFile to arrayBuffer, because Mp3Encoder requires a parameter of ArrayBuffer type
|
|
55
47
|
function downsampleToWav(file, callback) {
|
|
56
48
|
//Browser compatibility
|
|
57
49
|
// https://caniuse.com/?search=AudioContext
|
|
58
50
|
var audioCtx = new AudioContext();
|
|
59
51
|
var fileReader = new FileReader();
|
|
60
|
-
|
|
61
52
|
fileReader.onload = function (ev) {
|
|
62
53
|
// Decode audio
|
|
63
54
|
audioCtx.decodeAudioData(ev.target.result, function (buffer) {
|
|
@@ -68,17 +59,14 @@ function downsampleToWav(file, callback) {
|
|
|
68
59
|
soundSource.buffer = buffer;
|
|
69
60
|
soundSource.connect(offlineAudioCtx.destination);
|
|
70
61
|
var reader = new FileReader();
|
|
71
|
-
|
|
72
62
|
reader.onload = function () {
|
|
73
63
|
var renderCompleteHandler = function (evt) {
|
|
74
64
|
var renderedBuffer = usingWebkit ? evt.renderedBuffer : evt;
|
|
75
65
|
var buffer = bufferToWav(renderedBuffer, renderedBuffer.length);
|
|
76
|
-
|
|
77
66
|
if (callback) {
|
|
78
67
|
callback(buffer);
|
|
79
68
|
}
|
|
80
69
|
};
|
|
81
|
-
|
|
82
70
|
if (usingWebkit) {
|
|
83
71
|
offlineAudioCtx.oncomplete = renderCompleteHandler;
|
|
84
72
|
offlineAudioCtx.startRendering();
|
|
@@ -88,15 +76,12 @@ function downsampleToWav(file, callback) {
|
|
|
88
76
|
});
|
|
89
77
|
}
|
|
90
78
|
};
|
|
91
|
-
|
|
92
79
|
reader.readAsArrayBuffer(file);
|
|
93
80
|
soundSource.start(0);
|
|
94
81
|
});
|
|
95
82
|
};
|
|
96
|
-
|
|
97
83
|
fileReader.readAsArrayBuffer(file);
|
|
98
84
|
}
|
|
99
|
-
|
|
100
85
|
function bufferToWav(abuffer, len) {
|
|
101
86
|
var numOfChan = abuffer.numberOfChannels;
|
|
102
87
|
var length = len * numOfChan * 2 + 44;
|
|
@@ -106,57 +91,39 @@ function bufferToWav(abuffer, len) {
|
|
|
106
91
|
var i = 0;
|
|
107
92
|
var sample;
|
|
108
93
|
var offset = 0;
|
|
109
|
-
var pos = 0;
|
|
110
|
-
|
|
94
|
+
var pos = 0;
|
|
95
|
+
// write WAVE header
|
|
111
96
|
setUint32(0x46464952); // "RIFF"
|
|
112
|
-
|
|
113
97
|
setUint32(length - 8); // file length - 8
|
|
114
|
-
|
|
115
98
|
setUint32(0x45564157); // "WAVE"
|
|
116
|
-
|
|
117
99
|
setUint32(0x20746d66); // "fmt " chunk
|
|
118
|
-
|
|
119
100
|
setUint32(16); // length = 16
|
|
120
|
-
|
|
121
101
|
setUint16(1); // PCM (uncompressed)
|
|
122
|
-
|
|
123
102
|
setUint16(numOfChan);
|
|
124
103
|
setUint32(abuffer.sampleRate);
|
|
125
104
|
setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec
|
|
126
|
-
|
|
127
105
|
setUint16(numOfChan * 2); // block-align
|
|
128
|
-
|
|
129
106
|
setUint16(16); // 16-bit (hardcoded in this demo)
|
|
130
|
-
|
|
131
107
|
setUint32(0x61746164); // "data" - chunk
|
|
132
|
-
|
|
133
108
|
setUint32(length - pos - 4); // chunk length
|
|
134
109
|
// write interleaved data
|
|
135
|
-
|
|
136
110
|
for (i = 0; i < abuffer.numberOfChannels; i++) channels.push(abuffer.getChannelData(i));
|
|
137
|
-
|
|
138
111
|
while (pos < length) {
|
|
139
112
|
for (i = 0; i < numOfChan; i++) {
|
|
140
113
|
// interleave channels
|
|
141
114
|
sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp
|
|
142
|
-
|
|
143
115
|
sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int
|
|
144
|
-
|
|
145
116
|
view.setInt16(pos, sample, true); // write 16-bit sample
|
|
146
|
-
|
|
147
117
|
pos += 2;
|
|
148
118
|
}
|
|
149
|
-
|
|
150
119
|
offset++; // next source sample
|
|
151
120
|
}
|
|
152
121
|
|
|
153
122
|
return buffer;
|
|
154
|
-
|
|
155
123
|
function setUint16(data) {
|
|
156
124
|
view.setUint16(pos, data, true);
|
|
157
125
|
pos += 2;
|
|
158
126
|
}
|
|
159
|
-
|
|
160
127
|
function setUint32(data) {
|
|
161
128
|
view.setUint32(pos, data, true);
|
|
162
129
|
pos += 4;
|
|
@@ -164,7 +131,6 @@ function bufferToWav(abuffer, len) {
|
|
|
164
131
|
}
|
|
165
132
|
|
|
166
133
|
var noop = function () {};
|
|
167
|
-
|
|
168
134
|
var VoiceRecorderContext = /*#__PURE__*/React.createContext({
|
|
169
135
|
start: noop,
|
|
170
136
|
stop: noop,
|
|
@@ -174,25 +140,19 @@ var VoiceRecorderProvider = function (props) {
|
|
|
174
140
|
var children = props.children;
|
|
175
141
|
var config = useSendbirdStateContext().config;
|
|
176
142
|
var logger = config.logger;
|
|
177
|
-
|
|
178
143
|
var _a = React.useState(null),
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
144
|
+
mediaRecorder = _a[0],
|
|
145
|
+
setMediaRecorder = _a[1];
|
|
182
146
|
var _b = React.useState(false),
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
147
|
+
isRecordable = _b[0],
|
|
148
|
+
setIsRecordable = _b[1];
|
|
186
149
|
var start = React.useCallback(function (eventHandler) {
|
|
187
150
|
var _a, _b;
|
|
188
|
-
|
|
189
151
|
logger.info('VoiceRecorder: Start recording.');
|
|
190
|
-
|
|
191
152
|
if (mediaRecorder) {
|
|
192
153
|
stop();
|
|
193
154
|
logger.info('VoiceRecorder: Previous mediaRecorder is stopped.');
|
|
194
155
|
}
|
|
195
|
-
|
|
196
156
|
(_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, {
|
|
197
157
|
audio: true
|
|
198
158
|
}).then(function (stream) {
|
|
@@ -202,10 +162,8 @@ var VoiceRecorderProvider = function (props) {
|
|
|
202
162
|
mimeType: consts.VOICE_RECORDER_MIME_TYPE,
|
|
203
163
|
audioBitsPerSecond: consts.VOICE_RECORDER_AUDIO_BITS
|
|
204
164
|
});
|
|
205
|
-
|
|
206
165
|
mediaRecorder.ondataavailable = function (e) {
|
|
207
166
|
var _a, _b, _c;
|
|
208
|
-
|
|
209
167
|
logger.info('VoiceRecorder: Succeeded getting an available data.', e.data);
|
|
210
168
|
var audioFile = new File([e.data], consts.VOICE_MESSAGE_FILE_NAME, {
|
|
211
169
|
lastModified: new Date().getTime(),
|
|
@@ -228,7 +186,6 @@ var VoiceRecorderProvider = function (props) {
|
|
|
228
186
|
});
|
|
229
187
|
setIsRecordable(false);
|
|
230
188
|
};
|
|
231
|
-
|
|
232
189
|
mediaRecorder === null || mediaRecorder === void 0 ? void 0 : mediaRecorder.start();
|
|
233
190
|
setMediaRecorder(mediaRecorder);
|
|
234
191
|
eventHandler === null || eventHandler === void 0 ? void 0 : eventHandler.onRecordingStarted();
|