@sendbird/uikit-react 3.6.9 → 3.6.11-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +55 -55
- package/CHANGELOG.md +6 -2
- package/Channel/components/ChannelHeader.js +22 -22
- package/Channel/components/ChannelUI.js +48 -48
- package/Channel/components/FileViewer.js +18 -18
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +46 -44
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +34 -34
- package/Channel/components/MessageList.js +75 -46
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +22 -22
- package/Channel/components/SuggestedMentionList.js +20 -20
- package/Channel/components/TypingIndicator.js +18 -18
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +15 -15
- package/Channel/utils/compareMessagesForGrouping.js +7 -7
- package/Channel/utils/getMessagePartsInfo.js +8 -8
- package/Channel.js +48 -48
- package/ChannelList/components/AddChannel.js +16 -16
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +33 -33
- package/ChannelList/components/ChannelPreview.js +29 -29
- package/ChannelList/components/ChannelPreviewAction.js +15 -15
- package/ChannelList/context.js +9 -9
- package/ChannelList.js +33 -33
- package/{ChannelListProvider-ba11ee5f.js → ChannelListProvider-52997aa4.js} +28 -33
- package/ChannelListProvider-52997aa4.js.map +1 -0
- package/{ChannelProvider-7400e8f6.js → ChannelProvider-c675e242.js} +26 -20
- package/ChannelProvider-c675e242.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +13 -13
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/ChannelSettings/components/EditDetailsModal.js +13 -13
- package/ChannelSettings/components/LeaveChannel.js +12 -12
- package/ChannelSettings/components/ModerationPanel.js +15 -15
- package/ChannelSettings/components/UserListItem.js +11 -11
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -18
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/InviteUsers.js +14 -14
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +11 -11
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-b2487387.js → CreateChannelProvider-cc40c17f.js} +1 -1
- package/{CreateChannelProvider-b2487387.js.map → CreateChannelProvider-cc40c17f.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -11
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +11 -11
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-c9b218d4.js → LocalizationContext-1d7d5046.js} +3 -3
- package/{LocalizationContext-c9b218d4.js.map → LocalizationContext-1d7d5046.js.map} +1 -1
- package/{MediaQueryContext-532b0a77.js → MediaQueryContext-a8f216c8.js} +1 -1
- package/{MediaQueryContext-532b0a77.js.map → MediaQueryContext-a8f216c8.js.map} +1 -1
- package/{MemberList-15511dd2.js → MemberList-10f76588.js} +6 -6
- package/{MemberList-15511dd2.js.map → MemberList-10f76588.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +13 -13
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +13 -13
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +20 -20
- package/OpenChannel/components/OpenChannelMessage.js +31 -31
- package/OpenChannel/components/OpenChannelMessageList.js +34 -34
- package/OpenChannel/components/OpenChannelUI.js +34 -34
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +34 -34
- package/OpenChannelList/components/OpenChannelListUI.js +15 -15
- package/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +15 -15
- package/{OpenChannelListProvider-a79c47d4.js → OpenChannelListProvider-ea45dd27.js} +3 -3
- package/{OpenChannelListProvider-a79c47d4.js.map → OpenChannelListProvider-ea45dd27.js.map} +1 -1
- package/{OpenChannelProvider-4f21a22d.js → OpenChannelProvider-7566d5ba.js} +8 -8
- package/OpenChannelProvider-7566d5ba.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +14 -14
- package/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +18 -18
- package/{RemoveMessageModal-62276928.js → RemoveMessageModal-052a7531.js} +5 -5
- package/{RemoveMessageModal-62276928.js.map → RemoveMessageModal-052a7531.js.map} +1 -1
- package/SendbirdProvider.js +17 -17
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +38 -38
- package/Thread/components/ParentMessageInfoItem.js +25 -25
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +42 -42
- package/Thread/components/ThreadListItem.js +42 -42
- package/Thread/components/ThreadMessageInput.js +34 -34
- package/Thread/components/ThreadUI.js +47 -47
- package/Thread/context.js +12 -12
- package/Thread.js +47 -47
- package/{ThreadProvider-593b6c29.js → ThreadProvider-9c3f6dd1.js} +31 -9
- package/ThreadProvider-9c3f6dd1.js.map +1 -0
- package/{UserProfileContext-36e341fd.js → UserProfileContext-050e38d1.js} +1 -1
- package/{UserProfileContext-36e341fd.js.map → UserProfileContext-050e38d1.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +11 -11
- package/VoiceRecorder/context.js +11 -11
- package/VoiceRecorder/useVoiceRecorder.js +10 -10
- package/{WebAudioUtils-ca6a01e4.js → WebAudioUtils-feb2f826.js} +2 -2
- package/{WebAudioUtils-ca6a01e4.js.map → WebAudioUtils-feb2f826.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-ea73a031.js → _rollupPluginBabelHelpers-127d506a.js} +1 -1
- package/_rollupPluginBabelHelpers-127d506a.js.map +1 -0
- package/{actionTypes-bd59e881.js → actionTypes-6978f57c.js} +1 -1
- package/{actionTypes-bd59e881.js.map → actionTypes-6978f57c.js.map} +1 -1
- package/cjs/App.js +55 -55
- package/cjs/Channel/components/ChannelHeader.js +22 -22
- package/cjs/Channel/components/ChannelUI.js +48 -48
- package/cjs/Channel/components/FileViewer.js +18 -18
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +46 -44
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +34 -34
- package/cjs/Channel/components/MessageList.js +75 -46
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +22 -22
- package/cjs/Channel/components/SuggestedMentionList.js +20 -20
- package/cjs/Channel/components/TypingIndicator.js +18 -18
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +15 -15
- package/cjs/Channel/utils/compareMessagesForGrouping.js +7 -7
- package/cjs/Channel/utils/getMessagePartsInfo.js +8 -8
- package/cjs/Channel.js +48 -48
- package/cjs/ChannelList/components/AddChannel.js +16 -16
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +33 -33
- package/cjs/ChannelList/components/ChannelPreview.js +29 -29
- package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -15
- package/cjs/ChannelList/context.js +9 -9
- package/cjs/ChannelList.js +33 -33
- package/cjs/{ChannelListProvider-69db317f.js → ChannelListProvider-50b25757.js} +28 -33
- package/cjs/ChannelListProvider-50b25757.js.map +1 -0
- package/cjs/{ChannelProvider-2ee005bc.js → ChannelProvider-1d47dc41.js} +26 -20
- package/cjs/ChannelProvider-1d47dc41.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
- package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
- package/cjs/ChannelSettings/components/UserListItem.js +11 -11
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-1c4d626c.js → CreateChannelProvider-742f0f71.js} +1 -1
- package/cjs/{CreateChannelProvider-1c4d626c.js.map → CreateChannelProvider-742f0f71.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -11
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +11 -11
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-eb7a59da.js → LocalizationContext-9e45201f.js} +3 -3
- package/cjs/{LocalizationContext-eb7a59da.js.map → LocalizationContext-9e45201f.js.map} +1 -1
- package/cjs/{MediaQueryContext-ca045060.js → MediaQueryContext-0b9f5e79.js} +1 -1
- package/cjs/{MediaQueryContext-ca045060.js.map → MediaQueryContext-0b9f5e79.js.map} +1 -1
- package/cjs/{MemberList-eea5c64b.js → MemberList-dd79130e.js} +6 -6
- package/cjs/{MemberList-eea5c64b.js.map → MemberList-dd79130e.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +13 -13
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch.js +13 -13
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +20 -20
- package/cjs/OpenChannel/components/OpenChannelMessage.js +31 -31
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -34
- package/cjs/OpenChannel/components/OpenChannelUI.js +34 -34
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +34 -34
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +15 -15
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +15 -15
- package/cjs/{OpenChannelListProvider-25a0f74d.js → OpenChannelListProvider-0947eaab.js} +3 -3
- package/cjs/{OpenChannelListProvider-25a0f74d.js.map → OpenChannelListProvider-0947eaab.js.map} +1 -1
- package/cjs/{OpenChannelProvider-036e515e.js → OpenChannelProvider-cdb5efab.js} +8 -8
- package/cjs/OpenChannelProvider-cdb5efab.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +14 -14
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +18 -18
- package/cjs/{RemoveMessageModal-7ed24af4.js → RemoveMessageModal-ff40b635.js} +5 -5
- package/cjs/{RemoveMessageModal-7ed24af4.js.map → RemoveMessageModal-ff40b635.js.map} +1 -1
- package/cjs/SendbirdProvider.js +17 -17
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +38 -38
- package/cjs/Thread/components/ParentMessageInfoItem.js +25 -25
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +42 -42
- package/cjs/Thread/components/ThreadListItem.js +42 -42
- package/cjs/Thread/components/ThreadMessageInput.js +34 -34
- package/cjs/Thread/components/ThreadUI.js +47 -47
- package/cjs/Thread/context.js +12 -12
- package/cjs/Thread.js +47 -47
- package/cjs/{ThreadProvider-4c93de8a.js → ThreadProvider-ecea486a.js} +31 -9
- package/cjs/ThreadProvider-ecea486a.js.map +1 -0
- package/cjs/{UserProfileContext-abe57718.js → UserProfileContext-7e36a6f3.js} +1 -1
- package/cjs/{UserProfileContext-abe57718.js.map → UserProfileContext-7e36a6f3.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +11 -11
- package/cjs/VoiceRecorder/context.js +11 -11
- package/cjs/VoiceRecorder/useVoiceRecorder.js +10 -10
- package/cjs/{WebAudioUtils-348c38b8.js → WebAudioUtils-15df1d2d.js} +2 -2
- package/cjs/{WebAudioUtils-348c38b8.js.map → WebAudioUtils-15df1d2d.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-a85bd364.js → _rollupPluginBabelHelpers-32e06a4f.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-32e06a4f.js.map +1 -0
- package/cjs/{actionTypes-412ca236.js → actionTypes-266f0e4d.js} +1 -1
- package/cjs/{actionTypes-412ca236.js.map → actionTypes-266f0e4d.js.map} +1 -1
- package/cjs/{color-2f1198fc.js → color-da906a8e.js} +1 -1
- package/cjs/{color-2f1198fc.js.map → color-da906a8e.js.map} +1 -1
- package/cjs/{compareIds-89c258a0.js → compareIds-6f4238a7.js} +1 -1
- package/cjs/{compareIds-89c258a0.js.map → compareIds-6f4238a7.js.map} +1 -1
- package/cjs/{const-24d498a6.js → const-81c5b6fd.js} +1 -1
- package/cjs/{const-24d498a6.js.map → const-81c5b6fd.js.map} +1 -1
- package/cjs/{const-95881697.js → const-8a80e7a4.js} +1 -1
- package/cjs/{const-95881697.js.map → const-8a80e7a4.js.map} +1 -1
- package/cjs/{consts-2957b793.js → consts-a9e07b6c.js} +1 -1
- package/cjs/{consts-2957b793.js.map → consts-a9e07b6c.js.map} +1 -1
- package/cjs/{consts-7b830cc5.js → consts-b63bb532.js} +1 -1
- package/cjs/{consts-7b830cc5.js.map → consts-b63bb532.js.map} +1 -1
- package/cjs/{consts-dde4f05d.js → consts-cb188d77.js} +1 -1
- package/cjs/{consts-dde4f05d.js.map → consts-cb188d77.js.map} +1 -1
- package/cjs/{consts-c5d38c32.js → consts-cbf7ddd6.js} +1 -1
- package/cjs/{consts-c5d38c32.js.map → consts-cbf7ddd6.js.map} +1 -1
- package/cjs/{context-b53bf38e.js → context-827c4e18.js} +2 -2
- package/cjs/{context-b53bf38e.js.map → context-827c4e18.js.map} +1 -1
- package/cjs/dist/index.css +0 -1
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-0f229ac7.js → index-0972d3a4.js} +4 -4
- package/cjs/{index-0f229ac7.js.map → index-0972d3a4.js.map} +1 -1
- package/cjs/{index-03655429.js → index-14c60240.js} +2 -2
- package/cjs/{index-03655429.js.map → index-14c60240.js.map} +1 -1
- package/cjs/{index-c9a4a555.js → index-159278b7.js} +1 -1
- package/cjs/{index-c9a4a555.js.map → index-159278b7.js.map} +1 -1
- package/cjs/{index-de4da1f2.js → index-1f4a47f9.js} +2 -2
- package/cjs/{index-de4da1f2.js.map → index-1f4a47f9.js.map} +1 -1
- package/cjs/{index-2fd388b9.js → index-2beeddcd.js} +5 -5
- package/cjs/{index-2fd388b9.js.map → index-2beeddcd.js.map} +1 -1
- package/cjs/{index-494b5c25.js → index-2cf76116.js} +3 -3
- package/cjs/{index-494b5c25.js.map → index-2cf76116.js.map} +1 -1
- package/cjs/{index-f40c4cf0.js → index-52a2c7ef.js} +2 -2
- package/cjs/{index-f40c4cf0.js.map → index-52a2c7ef.js.map} +1 -1
- package/cjs/{index-ae51b0df.js → index-5466fdd6.js} +2 -2
- package/cjs/{index-ae51b0df.js.map → index-5466fdd6.js.map} +1 -1
- package/cjs/{index-6e0a495a.js → index-58460943.js} +3 -3
- package/cjs/{index-6e0a495a.js.map → index-58460943.js.map} +1 -1
- package/cjs/{index-910f48df.js → index-6add5824.js} +6 -6
- package/cjs/{index-910f48df.js.map → index-6add5824.js.map} +1 -1
- package/cjs/{index-613acaa0.js → index-6afd0c95.js} +3 -3
- package/cjs/{index-613acaa0.js.map → index-6afd0c95.js.map} +1 -1
- package/cjs/{index-28c0a443.js → index-750b3845.js} +4 -4
- package/cjs/{index-28c0a443.js.map → index-750b3845.js.map} +1 -1
- package/cjs/{index-f0b55959.js → index-859638a8.js} +5 -5
- package/cjs/{index-f0b55959.js.map → index-859638a8.js.map} +1 -1
- package/cjs/{index-9813a2f9.js → index-93e76826.js} +3 -3
- package/cjs/{index-9813a2f9.js.map → index-93e76826.js.map} +1 -1
- package/cjs/{index-2fbc5922.js → index-9f4d38fe.js} +4 -4
- package/cjs/{index-2fbc5922.js.map → index-9f4d38fe.js.map} +1 -1
- package/cjs/{index-0f7049fb.js → index-c6a8de13.js} +7 -7
- package/cjs/{index-0f7049fb.js.map → index-c6a8de13.js.map} +1 -1
- package/cjs/{index-5628e0c0.js → index-cb306d53.js} +1 -1
- package/cjs/{index-5628e0c0.js.map → index-cb306d53.js.map} +1 -1
- package/cjs/{index-4d39de27.js → index-d957a2b4.js} +9 -9
- package/cjs/{index-4d39de27.js.map → index-d957a2b4.js.map} +1 -1
- package/cjs/{index-967cbc91.js → index-f2228baf.js} +2 -2
- package/cjs/index-f2228baf.js.map +1 -0
- package/cjs/{index-7e10ab98.js → index-f6688c5a.js} +9 -4
- package/cjs/{index-7e10ab98.js.map → index-f6688c5a.js.map} +1 -1
- package/cjs/{index-1f796e5a.js → index-fad8e38b.js} +4 -4
- package/cjs/{index-1f796e5a.js.map → index-fad8e38b.js.map} +1 -1
- package/cjs/index.js +59 -59
- package/cjs/{index.module-5c951066.js → index.module-5c934abb.js} +1 -1
- package/cjs/{index.module-5c951066.js.map → index.module-5c934abb.js.map} +1 -1
- package/cjs/package.json +2 -2
- package/cjs/{resolvedReplyType-314fee09.js → resolvedReplyType-dabf3c08.js} +1 -1
- package/cjs/{resolvedReplyType-314fee09.js.map → resolvedReplyType-dabf3c08.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +3 -3
- package/cjs/{stringFormatterUtils-3e53394c.js → stringFormatterUtils-9b35afa3.js} +3 -3
- package/cjs/{stringFormatterUtils-3e53394c.js.map → stringFormatterUtils-9b35afa3.js.map} +1 -1
- package/cjs/{stringSet-b75b75ae.js → stringSet-42559b9c.js} +1 -1
- package/cjs/{stringSet-b75b75ae.js.map → stringSet-42559b9c.js.map} +1 -1
- package/cjs/{tokenize-42536b7a.js → tokenize-f3db7c7b.js} +2 -2
- package/cjs/{tokenize-42536b7a.js.map → tokenize-f3db7c7b.js.map} +1 -1
- package/cjs/{topics-2c35cfd7.js → topics-f8d48fd6.js} +1 -1
- package/cjs/{topics-2c35cfd7.js.map → topics-f8d48fd6.js.map} +1 -1
- package/cjs/{types-382588b3.js → types-08752342.js} +1 -1
- package/cjs/{types-382588b3.js.map → types-08752342.js.map} +1 -1
- package/cjs/ui/Accordion.js +2 -2
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +2 -2
- package/cjs/ui/Avatar.js +1 -1
- package/cjs/ui/Badge.js +4 -4
- package/cjs/ui/BottomSheet.js +4 -4
- package/cjs/ui/Button.js +2 -2
- package/cjs/ui/ChannelAvatar.js +2 -2
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +6 -6
- package/cjs/ui/DateSeparator.js +3 -3
- package/cjs/ui/EmojiReactions.js +14 -14
- package/cjs/ui/FileMessageItemBody.js +7 -7
- package/cjs/ui/FileViewer.js +12 -12
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/MentionLabel.js +11 -11
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +31 -31
- package/cjs/ui/MessageInput/hooks/usePaste.js +4 -4
- package/cjs/ui/MessageInput.js +26 -30
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +9 -9
- package/cjs/ui/MessageItemReactionMenu.js +9 -9
- package/cjs/ui/MessageSearchFileItem.js +12 -12
- package/cjs/ui/MessageSearchItem.js +8 -8
- package/cjs/ui/MessageStatus.js +11 -11
- package/cjs/ui/Modal.js +9 -9
- package/cjs/ui/OGMessageItemBody.js +14 -14
- package/cjs/ui/OpenChannelAdminMessage.js +2 -2
- package/cjs/ui/OpenChannelAvatar.js +5 -5
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +16 -16
- package/cjs/ui/OpenchannelOGMessage.js +18 -18
- package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
- package/cjs/ui/OpenchannelUserMessage.js +16 -16
- package/cjs/ui/PlaceHolder.js +5 -5
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +8 -8
- package/cjs/ui/QuoteMessageInput.js +8 -8
- package/cjs/ui/ReactionBadge.js +2 -2
- package/cjs/ui/ReactionButton.js +4 -4
- package/cjs/ui/SortByRow.js +1 -1
- package/cjs/ui/TextButton.js +1 -1
- package/cjs/ui/TextMessageItemBody.js +14 -14
- package/cjs/ui/ThreadReplies.js +5 -5
- package/cjs/ui/ThumbnailMessageItemBody.js +7 -7
- package/cjs/ui/Toggle.js +1 -1
- package/cjs/ui/Tooltip.js +2 -2
- package/cjs/ui/UnknownMessageItemBody.js +7 -7
- package/cjs/ui/UserListItem.js +11 -11
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js +11 -11
- package/cjs/ui/VoiceMessgeInput.js +7 -7
- package/cjs/ui/Word.js +11 -11
- package/cjs/{useHandleUploadFiles-84bd5a9a.js → useHandleUploadFiles-c411fe73.js} +10 -10
- package/cjs/{useHandleUploadFiles-84bd5a9a.js.map → useHandleUploadFiles-c411fe73.js.map} +1 -1
- package/cjs/{useLongPress-49aa9a49.js → useLongPress-1d936b57.js} +3 -3
- package/cjs/{useLongPress-49aa9a49.js.map → useLongPress-1d936b57.js.map} +1 -1
- package/cjs/{useSendMultipleFilesMessage-c5266ca8.js → useSendMultipleFilesMessage-68cb79a9.js} +4 -4
- package/cjs/{useSendMultipleFilesMessage-c5266ca8.js.map → useSendMultipleFilesMessage-68cb79a9.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +3 -3
- package/cjs/{utils-1e9e97b5.js → utils-4446c8a7.js} +11 -6
- package/cjs/utils-4446c8a7.js.map +1 -0
- package/cjs/{utils-4e18a724.js → utils-598f212e.js} +1 -1
- package/cjs/{utils-4e18a724.js.map → utils-598f212e.js.map} +1 -1
- package/cjs/{utils-d6285655.js → utils-86333a85.js} +3 -3
- package/cjs/{utils-d6285655.js.map → utils-86333a85.js.map} +1 -1
- package/cjs/{utils-b3e9e1b8.js → utils-b08188c3.js} +2 -2
- package/cjs/{utils-b3e9e1b8.js.map → utils-b08188c3.js.map} +1 -1
- package/cjs/{utils-8958cb75.js → utils-b5676d3d.js} +1 -1
- package/cjs/{utils-8958cb75.js.map → utils-b5676d3d.js.map} +1 -1
- package/cjs/{utils-d5a929c9.js → utils-de4ebd32.js} +1 -1
- package/cjs/{utils-d5a929c9.js.map → utils-de4ebd32.js.map} +1 -1
- package/cjs/{uuid-34728ced.js → uuid-d0dc3474.js} +1 -1
- package/cjs/{uuid-34728ced.js.map → uuid-d0dc3474.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-4cef414f.js → color-80ab0797.js} +1 -1
- package/{color-4cef414f.js.map → color-80ab0797.js.map} +1 -1
- package/{compareIds-7e93f2e7.js → compareIds-f24a9d12.js} +1 -1
- package/{compareIds-7e93f2e7.js.map → compareIds-f24a9d12.js.map} +1 -1
- package/{const-6c10846e.js → const-7d3f5989.js} +1 -1
- package/{const-6c10846e.js.map → const-7d3f5989.js.map} +1 -1
- package/{const-48ffde74.js → const-fb4ba209.js} +1 -1
- package/{const-48ffde74.js.map → const-fb4ba209.js.map} +1 -1
- package/{consts-aad4bf65.js → consts-1155d9f8.js} +1 -1
- package/{consts-aad4bf65.js.map → consts-1155d9f8.js.map} +1 -1
- package/{consts-a979689d.js → consts-5230ea9f.js} +1 -1
- package/{consts-a979689d.js.map → consts-5230ea9f.js.map} +1 -1
- package/{consts-439d56b4.js → consts-9cb946fd.js} +1 -1
- package/{consts-439d56b4.js.map → consts-9cb946fd.js.map} +1 -1
- package/{consts-bd684c8d.js → consts-a3d3287a.js} +1 -1
- package/{consts-bd684c8d.js.map → consts-a3d3287a.js.map} +1 -1
- package/{context-9946197c.js → context-b787a386.js} +2 -2
- package/{context-9946197c.js.map → context-b787a386.js.map} +1 -1
- package/dist/index.css +0 -1
- package/dist/index.css.map +1 -1
- package/{index-0a50eba0.js → index-011f0166.js} +6 -6
- package/{index-0a50eba0.js.map → index-011f0166.js.map} +1 -1
- package/{index-373d3069.js → index-0f1ca805.js} +4 -4
- package/{index-373d3069.js.map → index-0f1ca805.js.map} +1 -1
- package/{index-9083293d.js → index-1dc25336.js} +4 -4
- package/{index-9083293d.js.map → index-1dc25336.js.map} +1 -1
- package/{index-320a1756.js → index-30ccc7d1.js} +2 -2
- package/index-30ccc7d1.js.map +1 -0
- package/{index-bae83553.js → index-33ce0e5c.js} +4 -4
- package/{index-bae83553.js.map → index-33ce0e5c.js.map} +1 -1
- package/{index-6bca558b.js → index-4a754b7d.js} +7 -7
- package/{index-6bca558b.js.map → index-4a754b7d.js.map} +1 -1
- package/{index-a0bd5ef9.js → index-4c2e86ae.js} +3 -3
- package/{index-a0bd5ef9.js.map → index-4c2e86ae.js.map} +1 -1
- package/{index-1833cc50.js → index-644f4972.js} +2 -2
- package/{index-1833cc50.js.map → index-644f4972.js.map} +1 -1
- package/{index-d9b66555.js → index-6cc54ebd.js} +5 -5
- package/{index-d9b66555.js.map → index-6cc54ebd.js.map} +1 -1
- package/{index-c5cb0bb2.js → index-7d38c662.js} +4 -4
- package/{index-c5cb0bb2.js.map → index-7d38c662.js.map} +1 -1
- package/{index-825c96d3.js → index-7fdcc106.js} +3 -3
- package/{index-825c96d3.js.map → index-7fdcc106.js.map} +1 -1
- package/{index-516ad99d.js → index-8107de87.js} +1 -1
- package/{index-516ad99d.js.map → index-8107de87.js.map} +1 -1
- package/{index-2d23ff73.js → index-943e51f9.js} +9 -5
- package/{index-2d23ff73.js.map → index-943e51f9.js.map} +1 -1
- package/{index-b346dc02.js → index-b490e8af.js} +9 -9
- package/{index-b346dc02.js.map → index-b490e8af.js.map} +1 -1
- package/{index-e2afa53f.js → index-b6042797.js} +1 -1
- package/{index-e2afa53f.js.map → index-b6042797.js.map} +1 -1
- package/{index-3370a58d.js → index-bc42f0e9.js} +2 -2
- package/{index-3370a58d.js.map → index-bc42f0e9.js.map} +1 -1
- package/{index-fa19fef7.js → index-ca44517a.js} +2 -2
- package/{index-fa19fef7.js.map → index-ca44517a.js.map} +1 -1
- package/{index-44d3dac3.js → index-d32155ad.js} +5 -5
- package/{index-44d3dac3.js.map → index-d32155ad.js.map} +1 -1
- package/{index-6d0ae6a0.js → index-d8c8e716.js} +3 -3
- package/{index-6d0ae6a0.js.map → index-d8c8e716.js.map} +1 -1
- package/{index-c323f04b.js → index-dd767201.js} +3 -3
- package/{index-c323f04b.js.map → index-dd767201.js.map} +1 -1
- package/{index-526cbeea.js → index-fff2d336.js} +2 -2
- package/{index-526cbeea.js.map → index-fff2d336.js.map} +1 -1
- package/index.d.ts +9 -11
- package/index.js +59 -59
- package/{index.module-efef0194.js → index.module-0935752c.js} +1 -1
- package/{index.module-efef0194.js.map → index.module-0935752c.js.map} +1 -1
- package/package.json +2 -2
- package/{resolvedReplyType-84f1270f.js → resolvedReplyType-19c339c2.js} +1 -1
- package/{resolvedReplyType-84f1270f.js.map → resolvedReplyType-19c339c2.js.map} +1 -1
- package/sendbirdSelectors.js +3 -3
- package/{stringFormatterUtils-beea8d82.js → stringFormatterUtils-8cdfbc30.js} +3 -3
- package/{stringFormatterUtils-beea8d82.js.map → stringFormatterUtils-8cdfbc30.js.map} +1 -1
- package/{stringSet-9fe06e0d.js → stringSet-4010aa20.js} +1 -1
- package/{stringSet-9fe06e0d.js.map → stringSet-4010aa20.js.map} +1 -1
- package/{tokenize-d34eb5c6.js → tokenize-5d004ff2.js} +2 -2
- package/{tokenize-d34eb5c6.js.map → tokenize-5d004ff2.js.map} +1 -1
- package/{topics-edd6182d.js → topics-e010c6d3.js} +1 -1
- package/{topics-edd6182d.js.map → topics-e010c6d3.js.map} +1 -1
- package/{types-269fec15.js → types-933c231a.js} +1 -1
- package/{types-269fec15.js.map → types-933c231a.js.map} +1 -1
- package/ui/Accordion.js +2 -2
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +2 -2
- package/ui/Avatar.js +1 -1
- package/ui/Badge.js +4 -4
- package/ui/BottomSheet.js +4 -4
- package/ui/Button.js +2 -2
- package/ui/ChannelAvatar.js +2 -2
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +6 -6
- package/ui/DateSeparator.js +3 -3
- package/ui/EmojiReactions.js +14 -14
- package/ui/FileMessageItemBody.js +7 -7
- package/ui/FileViewer.js +12 -12
- package/ui/IconButton.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/MentionLabel.js +11 -11
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +31 -31
- package/ui/MessageInput/hooks/usePaste.js +4 -4
- package/ui/MessageInput.js +26 -30
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +9 -9
- package/ui/MessageItemReactionMenu.js +9 -9
- package/ui/MessageSearchFileItem.js +12 -12
- package/ui/MessageSearchItem.js +8 -8
- package/ui/MessageStatus.js +11 -11
- package/ui/Modal.js +9 -9
- package/ui/OGMessageItemBody.js +14 -14
- package/ui/OpenChannelAdminMessage.js +2 -2
- package/ui/OpenChannelAvatar.js +5 -5
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +16 -16
- package/ui/OpenchannelOGMessage.js +18 -18
- package/ui/OpenchannelThumbnailMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js +16 -16
- package/ui/PlaceHolder.js +5 -5
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +8 -8
- package/ui/QuoteMessageInput.js +8 -8
- package/ui/ReactionBadge.js +2 -2
- package/ui/ReactionButton.js +4 -4
- package/ui/SortByRow.js +1 -1
- package/ui/TextButton.js +1 -1
- package/ui/TextMessageItemBody.js +14 -14
- package/ui/ThreadReplies.js +5 -5
- package/ui/ThumbnailMessageItemBody.js +7 -7
- package/ui/Toggle.js +1 -1
- package/ui/Tooltip.js +2 -2
- package/ui/UnknownMessageItemBody.js +7 -7
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +11 -11
- package/ui/VoiceMessgeInput.js +7 -7
- package/ui/Word.js +11 -11
- package/{useHandleUploadFiles-210750cc.js → useHandleUploadFiles-2e10b130.js} +10 -10
- package/{useHandleUploadFiles-210750cc.js.map → useHandleUploadFiles-2e10b130.js.map} +1 -1
- package/{useLongPress-4b698dbb.js → useLongPress-ffee648f.js} +3 -3
- package/{useLongPress-4b698dbb.js.map → useLongPress-ffee648f.js.map} +1 -1
- package/{useSendMultipleFilesMessage-4a45ffbe.js → useSendMultipleFilesMessage-25198999.js} +4 -4
- package/{useSendMultipleFilesMessage-4a45ffbe.js.map → useSendMultipleFilesMessage-25198999.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +3 -3
- package/{utils-55c9df93.js → utils-1467ebd7.js} +1 -1
- package/{utils-55c9df93.js.map → utils-1467ebd7.js.map} +1 -1
- package/{utils-4d948dec.js → utils-3a10580f.js} +2 -2
- package/{utils-4d948dec.js.map → utils-3a10580f.js.map} +1 -1
- package/{utils-a184f6ea.js → utils-648f7f14.js} +1 -1
- package/{utils-a184f6ea.js.map → utils-648f7f14.js.map} +1 -1
- package/{utils-1bfac67e.js → utils-88995afe.js} +1 -1
- package/{utils-1bfac67e.js.map → utils-88995afe.js.map} +1 -1
- package/{utils-73dd35ca.js → utils-dae17f0e.js} +3 -3
- package/{utils-73dd35ca.js.map → utils-dae17f0e.js.map} +1 -1
- package/{utils-ec15538c.js → utils-dd91485e.js} +11 -6
- package/utils-dd91485e.js.map +1 -0
- package/{uuid-9094f15c.js → uuid-2e10561d.js} +1 -1
- package/{uuid-9094f15c.js.map → uuid-2e10561d.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-ba11ee5f.js.map +0 -1
- package/ChannelProvider-7400e8f6.js.map +0 -1
- package/OpenChannelProvider-4f21a22d.js.map +0 -1
- package/ThreadProvider-593b6c29.js.map +0 -1
- package/_rollupPluginBabelHelpers-ea73a031.js.map +0 -1
- package/cjs/ChannelListProvider-69db317f.js.map +0 -1
- package/cjs/ChannelProvider-2ee005bc.js.map +0 -1
- package/cjs/OpenChannelProvider-036e515e.js.map +0 -1
- package/cjs/ThreadProvider-4c93de8a.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-a85bd364.js.map +0 -1
- package/cjs/index-967cbc91.js.map +0 -1
- package/cjs/utils-1e9e97b5.js.map +0 -1
- package/index-320a1756.js.map +0 -1
- package/utils-ec15538c.js.map +0 -1
package/cjs/ui/UserListItem.js
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var UserProfileContext = require('../UserProfileContext-
|
|
5
|
-
var LocalizationContext = require('../LocalizationContext-
|
|
4
|
+
var UserProfileContext = require('../UserProfileContext-7e36a6f3.js');
|
|
5
|
+
var LocalizationContext = require('../LocalizationContext-9e45201f.js');
|
|
6
6
|
var ui_Avatar = require('./Avatar.js');
|
|
7
7
|
var ui_MutedAvatarOverlay = require('./MutedAvatarOverlay.js');
|
|
8
8
|
var ui_Checkbox = require('./Checkbox.js');
|
|
9
9
|
var ui_UserProfile = require('./UserProfile.js');
|
|
10
10
|
var ui_ContextMenu = require('./ContextMenu.js');
|
|
11
|
-
var ui_Label = require('../index-
|
|
11
|
+
var ui_Label = require('../index-52a2c7ef.js');
|
|
12
12
|
require('prop-types');
|
|
13
|
-
require('../stringSet-
|
|
14
|
-
require('../index-
|
|
13
|
+
require('../stringSet-42559b9c.js');
|
|
14
|
+
require('../index-159278b7.js');
|
|
15
15
|
require('./ImageRenderer.js');
|
|
16
16
|
require('./Icon.js');
|
|
17
|
-
require('../uuid-
|
|
17
|
+
require('../uuid-d0dc3474.js');
|
|
18
18
|
require('../sendbirdSelectors.js');
|
|
19
|
-
require('../_rollupPluginBabelHelpers-
|
|
20
|
-
require('../topics-
|
|
21
|
-
require('../utils-
|
|
19
|
+
require('../_rollupPluginBabelHelpers-32e06a4f.js');
|
|
20
|
+
require('../topics-f8d48fd6.js');
|
|
21
|
+
require('../utils-b5676d3d.js');
|
|
22
22
|
require('./Button.js');
|
|
23
23
|
require('../useSendbirdStateContext.js');
|
|
24
24
|
require('../withSendbird.js');
|
|
25
25
|
require('react-dom');
|
|
26
26
|
require('./SortByRow.js');
|
|
27
|
-
require('../index-
|
|
27
|
+
require('../index-6afd0c95.js');
|
|
28
28
|
require('../utils/message/getOutgoingMessageState.js');
|
|
29
|
-
require('../index.module-
|
|
29
|
+
require('../index.module-5c934abb.js');
|
|
30
30
|
|
|
31
31
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
32
32
|
|
package/cjs/ui/UserProfile.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var LocalizationContext = require('../LocalizationContext-
|
|
5
|
-
var UserProfileContext = require('../UserProfileContext-
|
|
4
|
+
var LocalizationContext = require('../LocalizationContext-9e45201f.js');
|
|
5
|
+
var UserProfileContext = require('../UserProfileContext-7e36a6f3.js');
|
|
6
6
|
var sendbirdSelectors = require('../sendbirdSelectors.js');
|
|
7
7
|
var ui_Avatar = require('./Avatar.js');
|
|
8
|
-
var ui_Label = require('../index-
|
|
8
|
+
var ui_Label = require('../index-52a2c7ef.js');
|
|
9
9
|
var ui_Button = require('./Button.js');
|
|
10
10
|
var useSendbirdStateContext = require('../useSendbirdStateContext.js');
|
|
11
|
-
require('../stringSet-
|
|
12
|
-
require('../index-
|
|
11
|
+
require('../stringSet-42559b9c.js');
|
|
12
|
+
require('../index-159278b7.js');
|
|
13
13
|
require('prop-types');
|
|
14
|
-
require('../_rollupPluginBabelHelpers-
|
|
15
|
-
require('../topics-
|
|
16
|
-
require('../utils-
|
|
14
|
+
require('../_rollupPluginBabelHelpers-32e06a4f.js');
|
|
15
|
+
require('../topics-f8d48fd6.js');
|
|
16
|
+
require('../utils-b5676d3d.js');
|
|
17
17
|
require('./ImageRenderer.js');
|
|
18
18
|
require('./Icon.js');
|
|
19
|
-
require('../uuid-
|
|
19
|
+
require('../uuid-d0dc3474.js');
|
|
20
20
|
require('../withSendbird.js');
|
|
21
21
|
|
|
22
22
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -8,21 +8,21 @@ var VoicePlayer_useVoicePlayer = require('../VoicePlayer/useVoicePlayer.js');
|
|
|
8
8
|
var ui_PlaybackTime = require('./PlaybackTime.js');
|
|
9
9
|
var ui_Loader = require('./Loader.js');
|
|
10
10
|
var ui_Icon = require('./Icon.js');
|
|
11
|
-
var ui_Label = require('../index-
|
|
12
|
-
var VoicePlayer_context = require('../index-
|
|
13
|
-
require('../consts-
|
|
11
|
+
var ui_Label = require('../index-52a2c7ef.js');
|
|
12
|
+
var VoicePlayer_context = require('../index-58460943.js');
|
|
13
|
+
require('../consts-b63bb532.js');
|
|
14
14
|
require('../VoiceRecorder/context.js');
|
|
15
|
-
require('../LocalizationContext-
|
|
16
|
-
require('../stringSet-
|
|
17
|
-
require('../index-
|
|
15
|
+
require('../LocalizationContext-9e45201f.js');
|
|
16
|
+
require('../stringSet-42559b9c.js');
|
|
17
|
+
require('../index-159278b7.js');
|
|
18
18
|
require('./Modal.js');
|
|
19
19
|
require('react-dom');
|
|
20
|
-
require('../utils-
|
|
21
|
-
require('../index.module-
|
|
22
|
-
require('../index-
|
|
23
|
-
require('../MediaQueryContext-
|
|
20
|
+
require('../utils-b5676d3d.js');
|
|
21
|
+
require('../index.module-5c934abb.js');
|
|
22
|
+
require('../index-cb306d53.js');
|
|
23
|
+
require('../MediaQueryContext-0b9f5e79.js');
|
|
24
24
|
require('./IconButton.js');
|
|
25
|
-
require('../_rollupPluginBabelHelpers-
|
|
25
|
+
require('../_rollupPluginBabelHelpers-32e06a4f.js');
|
|
26
26
|
require('./Button.js');
|
|
27
27
|
require('prop-types');
|
|
28
28
|
require('../useSendbirdStateContext.js');
|
|
@@ -7,14 +7,14 @@ require('./PlaybackTime.js');
|
|
|
7
7
|
require('./ProgressBar.js');
|
|
8
8
|
require('./TextButton.js');
|
|
9
9
|
require('./Icon.js');
|
|
10
|
-
require('../index-
|
|
11
|
-
require('../LocalizationContext-
|
|
12
|
-
var ui_VoiceMessgeInput = require('../index-
|
|
13
|
-
require('../consts-
|
|
10
|
+
require('../index-52a2c7ef.js');
|
|
11
|
+
require('../LocalizationContext-9e45201f.js');
|
|
12
|
+
var ui_VoiceMessgeInput = require('../index-9f4d38fe.js');
|
|
13
|
+
require('../consts-b63bb532.js');
|
|
14
14
|
require('prop-types');
|
|
15
|
-
require('../stringSet-
|
|
16
|
-
require('../color-
|
|
17
|
-
require('../index-
|
|
15
|
+
require('../stringSet-42559b9c.js');
|
|
16
|
+
require('../color-da906a8e.js');
|
|
17
|
+
require('../index-159278b7.js');
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
package/cjs/ui/Word.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var ui_Label = require('../index-
|
|
4
|
+
var ui_Label = require('../index-52a2c7ef.js');
|
|
5
5
|
var ui_LinkLabel = require('./LinkLabel.js');
|
|
6
|
-
var uuid = require('../uuid-
|
|
7
|
-
var index = require('../index-
|
|
6
|
+
var uuid = require('../uuid-d0dc3474.js');
|
|
7
|
+
var index = require('../index-6afd0c95.js');
|
|
8
8
|
var ui_MentionLabel = require('./MentionLabel.js');
|
|
9
9
|
require('prop-types');
|
|
10
|
-
require('../stringSet-
|
|
11
|
-
require('../_rollupPluginBabelHelpers-
|
|
10
|
+
require('../stringSet-42559b9c.js');
|
|
11
|
+
require('../_rollupPluginBabelHelpers-32e06a4f.js');
|
|
12
12
|
require('../utils/message/getOutgoingMessageState.js');
|
|
13
|
-
require('../index.module-
|
|
13
|
+
require('../index.module-5c934abb.js');
|
|
14
14
|
require('./ContextMenu.js');
|
|
15
15
|
require('react-dom');
|
|
16
16
|
require('./SortByRow.js');
|
|
17
17
|
require('./UserProfile.js');
|
|
18
|
-
require('../LocalizationContext-
|
|
19
|
-
require('../index-
|
|
20
|
-
require('../UserProfileContext-
|
|
18
|
+
require('../LocalizationContext-9e45201f.js');
|
|
19
|
+
require('../index-159278b7.js');
|
|
20
|
+
require('../UserProfileContext-7e36a6f3.js');
|
|
21
21
|
require('../sendbirdSelectors.js');
|
|
22
|
-
require('../topics-
|
|
23
|
-
require('../utils-
|
|
22
|
+
require('../topics-f8d48fd6.js');
|
|
23
|
+
require('../utils-b5676d3d.js');
|
|
24
24
|
require('./Avatar.js');
|
|
25
25
|
require('./ImageRenderer.js');
|
|
26
26
|
require('./Icon.js');
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
4
|
+
var LocalizationContext = require('./LocalizationContext-9e45201f.js');
|
|
5
5
|
var VoicePlayer_useVoicePlayer = require('./VoicePlayer/useVoicePlayer.js');
|
|
6
6
|
var VoiceRecorder_useVoiceRecorder = require('./VoiceRecorder/useVoiceRecorder.js');
|
|
7
|
-
var utils = require('./utils-
|
|
8
|
-
var ui_VoiceMessgeInput = require('./index-
|
|
7
|
+
var utils = require('./utils-4446c8a7.js');
|
|
8
|
+
var ui_VoiceMessgeInput = require('./index-9f4d38fe.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-
|
|
15
|
-
var index$1 = require('./index-
|
|
16
|
-
var index = require('./index-
|
|
17
|
-
require('./index-
|
|
12
|
+
var consts = require('./consts-b63bb532.js');
|
|
13
|
+
var VoicePlayer_context = require('./index-58460943.js');
|
|
14
|
+
var uuid = require('./uuid-d0dc3474.js');
|
|
15
|
+
var index$1 = require('./index-6afd0c95.js');
|
|
16
|
+
var index = require('./index-750b3845.js');
|
|
17
|
+
require('./index-52a2c7ef.js');
|
|
18
18
|
|
|
19
19
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
20
|
|
|
@@ -294,4 +294,4 @@ const useHandleUploadFiles = (_ref, _ref2) => {
|
|
|
294
294
|
|
|
295
295
|
exports.VoiceMessageInputWrapper = VoiceMessageInputWrapper;
|
|
296
296
|
exports.useHandleUploadFiles = useHandleUploadFiles;
|
|
297
|
-
//# sourceMappingURL=useHandleUploadFiles-
|
|
297
|
+
//# sourceMappingURL=useHandleUploadFiles-c411fe73.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHandleUploadFiles-84bd5a9a.js","sources":["../../src/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.tsx","../../src/modules/Channel/components/MessageInput/useHandleUploadFiles.tsx"],"sourcesContent":["import React, { useEffect, useRef, 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 { VOICE_PLAYER_STATUS } 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 uuid = useRef<string>(uuidv4()).current;\n const [audioFile, setAudioFile] = useState<File>(null);\n const [voiceInputState, setVoiceInputState] = useState<VoiceMessageInputStatus>(VoiceMessageInputStatus.READY_TO_RECORD);\n const [isSubmitted, 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 // call onSubmitClick when submit button is clicked and recorded audio file is created\n useEffect(() => {\n if (isSubmitted && audioFile) {\n onSubmitClick(audioFile, recordingTime);\n setSubmit(false);\n setAudioFile(null);\n }\n }, [isSubmitted, audioFile, recordingTime]);\n // operate which control button should be displayed\n useEffect(() => {\n if (audioFile) {\n if (recordingTime < minRecordingTime) {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n setAudioFile(null);\n } else if (playingStatus === VOICE_PLAYER_STATUS.PLAYING) {\n setVoiceInputState(VoiceMessageInputStatus.PLAYING);\n } else {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_PLAY);\n }\n }\n }, [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={() => {\n onCancelClick();\n cancel();\n stopVoicePlayer();\n }}\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","import React, { useCallback } from 'react';\n\nimport { Logger } from '../../../../lib/SendbirdState';\nimport { SendMFMFunctionType } from '../../context/hooks/useSendMultipleFilesMessage';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { SendableMessageType, isImage } from '../../../../utils';\n// TODO: get SendFileMessageFunctionType from Channel\nimport { SendFileMessageFunctionType } from '../../../Thread/context/hooks/useSendFileMessage';\nimport { useGlobalModalContext } from '../../../../hooks/useModal';\nimport { ButtonTypes } from '../../../../ui/Button';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { ModalFooter } from '../../../../ui/Modal';\n\n/**\n * The handleUploadFiles is a function sending a FileMessage and MultipleFilesMessage\n * by the received FileList from the ChangeEvent of MessageInput component.\n */\n\ninterface useHandleUploadFilesDynamicProps {\n sendFileMessage: SendFileMessageFunctionType;\n sendMultipleFilesMessage: SendMFMFunctionType;\n quoteMessage?: SendableMessageType;\n}\ninterface useHandleUploadFilesStaticProps {\n logger: Logger;\n}\nexport type HandleUploadFunctionType = (files: FileList) => void;\n\nexport const useHandleUploadFiles = ({\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage,\n}: useHandleUploadFilesDynamicProps, {\n logger,\n}: useHandleUploadFilesStaticProps): Array<HandleUploadFunctionType> => {\n const { stringSet } = useLocalization();\n const { config } = useSendbirdStateContext();\n const uikitUploadSizeLimit = config?.uikitUploadSizeLimit;\n const uikitMultipleFilesMessageLimit = config?.uikitMultipleFilesMessageLimit;\n const { openModal } = useGlobalModalContext();\n\n const handleUploadFiles = useCallback((fileList: FileList) => {\n const files: File[] = Array.from(fileList);\n\n // Validate Paremeters\n if (!sendFileMessage || !sendMultipleFilesMessage) {\n logger.warning('Channel|useHandleUploadFiles: required functions are undefined', { sendFileMessage, sendMultipleFilesMessage });\n return;\n }\n if (files.length === 0) {\n logger.warning('Channel|useHandleUploadFiles: given file list is empty.', { files });\n return;\n }\n if (files.length > uikitMultipleFilesMessageLimit) {\n logger.info(`Channel|useHandleUploadFiles: Cannot upload files more than ${uikitMultipleFilesMessageLimit}`);\n openModal({\n modalProps: {\n titleText: `Up to ${uikitMultipleFilesMessageLimit} files can be attached.`,\n hideFooter: true,\n },\n childElement: ({ closeModal }) => (\n <ModalFooter\n type={ButtonTypes.PRIMARY}\n submitText={stringSet.BUTTON__OK}\n hideCancelButton\n onCancel={closeModal}\n onSubmit={closeModal}\n />\n ),\n });\n return;\n }\n if (files.some((file: File) => file.size > uikitUploadSizeLimit)) {\n // The default value of uikitUploadSizeLimit is 26MB\n logger.info(`Channel|useHandleUploadFiles: Cannot upload file size exceeding ${uikitUploadSizeLimit}`);\n openModal({\n modalProps: {\n titleText: `The maximum size per file is ${Math.floor(uikitUploadSizeLimit / 1000000)} MB.`,\n hideFooter: true,\n },\n childElement: ({ closeModal }) => (\n <ModalFooter\n type={ButtonTypes.PRIMARY}\n submitText={stringSet.BUTTON__OK}\n hideCancelButton\n onCancel={closeModal}\n onSubmit={closeModal}\n />\n ),\n });\n return;\n }\n\n if (files.length === 1) {\n logger.info('Channel|useHandleUploadFiles: sending one file.');\n const [file] = files;\n sendFileMessage(file, quoteMessage);\n } else if (files.length > 1) {\n logger.info('Channel|useHandleUploadFiles: sending multiple files.');\n const imageFiles: Array<File> = [];\n const otherFiles: Array<File> = [];\n files.forEach((file: File) => {\n if (isImage(file.type)) {\n imageFiles.push(file);\n } else {\n otherFiles.push(file);\n }\n });\n\n if (imageFiles.length > 1) {\n sendMultipleFilesMessage(imageFiles, quoteMessage);\n } else if (imageFiles.length === 1) {\n sendFileMessage(imageFiles[0], quoteMessage);\n }\n if (otherFiles.length > 0) {\n otherFiles.forEach((file: File) => {\n sendFileMessage(file, quoteMessage);\n });\n }\n }\n }, [\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage,\n ]);\n\n return [handleUploadFiles];\n};\n"],"names":["VoiceMessageInputWrapper","_ref","_config$voiceRecord","channel","onCancelClick","onSubmitClick","uuid","useRef","uuidv4","current","audioFile","setAudioFile","useState","voiceInputState","setVoiceInputState","VoiceMessageInputStatus","READY_TO_RECORD","isSubmitted","setSubmit","isDisabled","setDisabled","showModal","setShowModal","stringSet","useLocalization","config","useSendbirdStateContext","minRecordingTime","voiceRecord","VOICE_RECORDER_DEFAULT_MIN","start","stop","cancel","recordingTime","recordingStatus","recordingLimit","useVoiceRecorder","onRecordingStarted","RECORDING","onRecordingEnded","voicePlayer","useVoicePlayer","channelUrl","url","key","play","pause","playbackTime","playingStatus","stopVoicePlayer","useEffect","isDisabledBecauseFrozen","isDisabledBecauseMuted","myRole","isFrozen","myMutedState","VOICE_PLAYER_STATUS","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","useHandleUploadFiles","_ref2","sendFileMessage","sendMultipleFilesMessage","quoteMessage","logger","uikitUploadSizeLimit","uikitMultipleFilesMessageLimit","openModal","useGlobalModalContext","handleUploadFiles","useCallback","fileList","files","Array","from","warning","length","info","modalProps","childElement","_ref3","closeModal","ModalFooter","submitText","hideCancelButton","onSubmit","some","file","Math","floor","_ref4","imageFiles","otherFiles","forEach","isImage","push"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useHandleUploadFiles-c411fe73.js","sources":["../../src/modules/Channel/components/MessageInput/VoiceMessageInputWrapper.tsx","../../src/modules/Channel/components/MessageInput/useHandleUploadFiles.tsx"],"sourcesContent":["import React, { useEffect, useRef, 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 { VOICE_PLAYER_STATUS } 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 uuid = useRef<string>(uuidv4()).current;\n const [audioFile, setAudioFile] = useState<File>(null);\n const [voiceInputState, setVoiceInputState] = useState<VoiceMessageInputStatus>(VoiceMessageInputStatus.READY_TO_RECORD);\n const [isSubmitted, 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 // call onSubmitClick when submit button is clicked and recorded audio file is created\n useEffect(() => {\n if (isSubmitted && audioFile) {\n onSubmitClick(audioFile, recordingTime);\n setSubmit(false);\n setAudioFile(null);\n }\n }, [isSubmitted, audioFile, recordingTime]);\n // operate which control button should be displayed\n useEffect(() => {\n if (audioFile) {\n if (recordingTime < minRecordingTime) {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_RECORD);\n setAudioFile(null);\n } else if (playingStatus === VOICE_PLAYER_STATUS.PLAYING) {\n setVoiceInputState(VoiceMessageInputStatus.PLAYING);\n } else {\n setVoiceInputState(VoiceMessageInputStatus.READY_TO_PLAY);\n }\n }\n }, [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={() => {\n onCancelClick();\n cancel();\n stopVoicePlayer();\n }}\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","import React, { useCallback } from 'react';\n\nimport { Logger } from '../../../../lib/SendbirdState';\nimport { SendMFMFunctionType } from '../../context/hooks/useSendMultipleFilesMessage';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { SendableMessageType, isImage } from '../../../../utils';\n// TODO: get SendFileMessageFunctionType from Channel\nimport { SendFileMessageFunctionType } from '../../../Thread/context/hooks/useSendFileMessage';\nimport { useGlobalModalContext } from '../../../../hooks/useModal';\nimport { ButtonTypes } from '../../../../ui/Button';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { ModalFooter } from '../../../../ui/Modal';\n\n/**\n * The handleUploadFiles is a function sending a FileMessage and MultipleFilesMessage\n * by the received FileList from the ChangeEvent of MessageInput component.\n */\n\ninterface useHandleUploadFilesDynamicProps {\n sendFileMessage: SendFileMessageFunctionType;\n sendMultipleFilesMessage: SendMFMFunctionType;\n quoteMessage?: SendableMessageType;\n}\ninterface useHandleUploadFilesStaticProps {\n logger: Logger;\n}\nexport type HandleUploadFunctionType = (files: FileList) => void;\n\nexport const useHandleUploadFiles = ({\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage,\n}: useHandleUploadFilesDynamicProps, {\n logger,\n}: useHandleUploadFilesStaticProps): Array<HandleUploadFunctionType> => {\n const { stringSet } = useLocalization();\n const { config } = useSendbirdStateContext();\n const uikitUploadSizeLimit = config?.uikitUploadSizeLimit;\n const uikitMultipleFilesMessageLimit = config?.uikitMultipleFilesMessageLimit;\n const { openModal } = useGlobalModalContext();\n\n const handleUploadFiles = useCallback((fileList: FileList) => {\n const files: File[] = Array.from(fileList);\n\n // Validate Paremeters\n if (!sendFileMessage || !sendMultipleFilesMessage) {\n logger.warning('Channel|useHandleUploadFiles: required functions are undefined', { sendFileMessage, sendMultipleFilesMessage });\n return;\n }\n if (files.length === 0) {\n logger.warning('Channel|useHandleUploadFiles: given file list is empty.', { files });\n return;\n }\n if (files.length > uikitMultipleFilesMessageLimit) {\n logger.info(`Channel|useHandleUploadFiles: Cannot upload files more than ${uikitMultipleFilesMessageLimit}`);\n openModal({\n modalProps: {\n titleText: `Up to ${uikitMultipleFilesMessageLimit} files can be attached.`,\n hideFooter: true,\n },\n childElement: ({ closeModal }) => (\n <ModalFooter\n type={ButtonTypes.PRIMARY}\n submitText={stringSet.BUTTON__OK}\n hideCancelButton\n onCancel={closeModal}\n onSubmit={closeModal}\n />\n ),\n });\n return;\n }\n if (files.some((file: File) => file.size > uikitUploadSizeLimit)) {\n // The default value of uikitUploadSizeLimit is 26MB\n logger.info(`Channel|useHandleUploadFiles: Cannot upload file size exceeding ${uikitUploadSizeLimit}`);\n openModal({\n modalProps: {\n titleText: `The maximum size per file is ${Math.floor(uikitUploadSizeLimit / 1000000)} MB.`,\n hideFooter: true,\n },\n childElement: ({ closeModal }) => (\n <ModalFooter\n type={ButtonTypes.PRIMARY}\n submitText={stringSet.BUTTON__OK}\n hideCancelButton\n onCancel={closeModal}\n onSubmit={closeModal}\n />\n ),\n });\n return;\n }\n\n if (files.length === 1) {\n logger.info('Channel|useHandleUploadFiles: sending one file.');\n const [file] = files;\n sendFileMessage(file, quoteMessage);\n } else if (files.length > 1) {\n logger.info('Channel|useHandleUploadFiles: sending multiple files.');\n const imageFiles: Array<File> = [];\n const otherFiles: Array<File> = [];\n files.forEach((file: File) => {\n if (isImage(file.type)) {\n imageFiles.push(file);\n } else {\n otherFiles.push(file);\n }\n });\n\n if (imageFiles.length > 1) {\n sendMultipleFilesMessage(imageFiles, quoteMessage);\n } else if (imageFiles.length === 1) {\n sendFileMessage(imageFiles[0], quoteMessage);\n }\n if (otherFiles.length > 0) {\n otherFiles.forEach((file: File) => {\n sendFileMessage(file, quoteMessage);\n });\n }\n }\n }, [\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage,\n ]);\n\n return [handleUploadFiles];\n};\n"],"names":["VoiceMessageInputWrapper","_ref","_config$voiceRecord","channel","onCancelClick","onSubmitClick","uuid","useRef","uuidv4","current","audioFile","setAudioFile","useState","voiceInputState","setVoiceInputState","VoiceMessageInputStatus","READY_TO_RECORD","isSubmitted","setSubmit","isDisabled","setDisabled","showModal","setShowModal","stringSet","useLocalization","config","useSendbirdStateContext","minRecordingTime","voiceRecord","VOICE_RECORDER_DEFAULT_MIN","start","stop","cancel","recordingTime","recordingStatus","recordingLimit","useVoiceRecorder","onRecordingStarted","RECORDING","onRecordingEnded","voicePlayer","useVoicePlayer","channelUrl","url","key","play","pause","playbackTime","playingStatus","stopVoicePlayer","useEffect","isDisabledBecauseFrozen","isDisabledBecauseMuted","myRole","isFrozen","myMutedState","VOICE_PLAYER_STATUS","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","useHandleUploadFiles","_ref2","sendFileMessage","sendMultipleFilesMessage","quoteMessage","logger","uikitUploadSizeLimit","uikitMultipleFilesMessageLimit","openModal","useGlobalModalContext","handleUploadFiles","useCallback","fileList","files","Array","from","warning","length","info","modalProps","childElement","_ref3","closeModal","ModalFooter","submitText","hideCancelButton","onSubmit","some","file","Math","floor","_ref4","imageFiles","otherFiles","forEach","isImage","push"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-
|
|
3
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-32e06a4f.js');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var MediaQueryContext = require('./MediaQueryContext-
|
|
5
|
+
var MediaQueryContext = require('./MediaQueryContext-0b9f5e79.js');
|
|
6
6
|
|
|
7
7
|
const DEFAULT_DURATION = 300;
|
|
8
8
|
function preventDefault(e) {
|
|
@@ -84,4 +84,4 @@ function useLongPress(_ref) {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
exports.useLongPress = useLongPress;
|
|
87
|
-
//# sourceMappingURL=useLongPress-
|
|
87
|
+
//# sourceMappingURL=useLongPress-1d936b57.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLongPress-
|
|
1
|
+
{"version":3,"file":"useLongPress-1d936b57.js","sources":["../../src/hooks/useLongPress.tsx"],"sourcesContent":["// thanks to: https://stackoverflow.com/questions/48048957/react-long-press-event\n/* example:\n const Component = ({ onClick }) => {\n const onLongPress = useLongPress({\n onClick: onClick,\n onLongPress: () => {\n alert('longpress');\n }\n }, {\n delay: 500,\n shouldPreventDefault: true,\n });\n return (\n <button {...onLongPress}>\n hello\n </button>\n )\n }\n*/\nimport React, {\n useState,\n useRef,\n useCallback,\n} from 'react';\nimport {\n useMediaQueryContext,\n} from '../lib/MediaQueryContext';\n\nconst DEFAULT_DURATION = 300;\n\nfunction preventDefault(e: Event) {\n if (!isTouchEvent(e)) {\n return;\n }\n\n if (e.touches.length < 2 && e.preventDefault) {\n e.preventDefault();\n }\n}\n\nexport function isTouchEvent(e: Event): e is TouchEvent {\n return e && 'touches' in e;\n}\n\ninterface PressHandlers<T> {\n onLongPress: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n onClick?: (e: React.MouseEvent<T> | React.TouchEvent<T>) => void;\n}\n\ninterface Options {\n delay?: number;\n shouldPreventDefault?: boolean;\n shouldStopPropagation?: boolean;\n}\n\ninterface UseLongPressType<T> {\n onTouchMove: (e: React.TouchEvent<T>) => void;\n onMouseDown: (e: React.MouseEvent<T>) => void;\n onTouchStart: (e: React.TouchEvent<T>) => void;\n onMouseUp: (e: React.MouseEvent<T>) => void;\n onMouseLeave: (e: React.MouseEvent<T>) => void;\n onTouchEnd: (e: React.TouchEvent<T>) => void;\n}\n\nexport default function useLongPress<T>({\n onLongPress,\n onClick,\n}: PressHandlers<T>, {\n delay = DEFAULT_DURATION,\n shouldPreventDefault = true,\n shouldStopPropagation = false,\n}: Options = {}): UseLongPressType<T> {\n const { isMobile } = useMediaQueryContext();\n const [longPressTriggered, setLongPressTriggered] = useState(false);\n const [dragTriggered, setDragTriggered] = useState(false);\n // https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype\n const timeout = useRef<ReturnType<typeof setTimeout>>();\n const target = useRef<EventTarget>();\n\n const start = useCallback((e: React.MouseEvent<T> | React.TouchEvent<T>) => {\n e.persist();\n const clonedEvent = {\n ...e,\n };\n setDragTriggered(false);\n if (shouldStopPropagation) {\n e.stopPropagation();\n }\n if (shouldPreventDefault && e.target) {\n e.target.addEventListener(\n 'touchend',\n preventDefault,\n {\n passive: false,\n },\n );\n target.current = e.target;\n }\n\n timeout.current = setTimeout(() => {\n onLongPress(clonedEvent);\n setLongPressTriggered(true);\n }, delay);\n }, [onLongPress, delay, shouldPreventDefault, shouldStopPropagation, isMobile]);\n\n const clear = useCallback((\n e: React.MouseEvent<T> | React.TouchEvent<T>,\n shouldTriggerClick = true,\n onDrag = false,\n ) => {\n if (onDrag) {\n setDragTriggered(true);\n } else {\n setDragTriggered(false);\n }\n if (timeout?.current) {\n clearTimeout(timeout.current);\n }\n if (shouldTriggerClick && !longPressTriggered && !dragTriggered) {\n onClick?.(e);\n }\n setLongPressTriggered(false);\n if (shouldPreventDefault && target.current) {\n target.current.removeEventListener('touchend', preventDefault);\n }\n }, [shouldPreventDefault, onClick, longPressTriggered, dragTriggered]);\n\n return {\n onMouseDown: (e: React.MouseEvent<T>) => start(e),\n onMouseUp: (e: React.MouseEvent<T>) => clear(e),\n onMouseLeave: (e: React.MouseEvent<T>) => clear(e, false),\n onTouchStart: (e: React.TouchEvent<T>) => start(e),\n // setDragTriggered as true on touchmove, so that next onTouchEnd is ignored\n // if we dont do it, onClick?.(e) will be triggred, see inside clear()\n onTouchMove: (e: React.TouchEvent<T>) => clear(e, false, true),\n onTouchEnd: (e: React.TouchEvent<T>) => clear(e),\n };\n}\n"],"names":["DEFAULT_DURATION","preventDefault","e","isTouchEvent","touches","length","useLongPress","_ref","onLongPress","onClick","delay","shouldPreventDefault","shouldStopPropagation","arguments","undefined","isMobile","useMediaQueryContext","longPressTriggered","setLongPressTriggered","useState","dragTriggered","setDragTriggered","timeout","useRef","target","start","useCallback","persist","clonedEvent","_objectSpread","stopPropagation","addEventListener","passive","current","setTimeout","clear","shouldTriggerClick","onDrag","clearTimeout","removeEventListener","onMouseDown","onMouseUp","onMouseLeave","onTouchStart","onTouchMove","onTouchEnd"],"mappings":"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"}
|
package/cjs/{useSendMultipleFilesMessage-c5266ca8.js → useSendMultipleFilesMessage-68cb79a9.js}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-
|
|
3
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-32e06a4f.js');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var topics = require('./topics-
|
|
6
|
-
var utils = require('./utils-
|
|
5
|
+
var topics = require('./topics-f8d48fd6.js');
|
|
6
|
+
var utils = require('./utils-4446c8a7.js');
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* pubSub is used instead of messagesDispatcher to avoid redundantly calling
|
|
@@ -106,4 +106,4 @@ const useSendMultipleFilesMessage = (_ref, _ref2) => {
|
|
|
106
106
|
};
|
|
107
107
|
|
|
108
108
|
exports.useSendMultipleFilesMessage = useSendMultipleFilesMessage;
|
|
109
|
-
//# sourceMappingURL=useSendMultipleFilesMessage-
|
|
109
|
+
//# sourceMappingURL=useSendMultipleFilesMessage-68cb79a9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSendMultipleFilesMessage-
|
|
1
|
+
{"version":3,"file":"useSendMultipleFilesMessage-68cb79a9.js","sources":["../../src/modules/Channel/context/hooks/useSendMultipleFilesMessage.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type {\n MultipleFilesMessageCreateParams,\n UploadableFileInfo,\n} from '@sendbird/chat/message';\n\nimport type { Logger } from '../../../../lib/SendbirdState';\nimport type { Nullable } from '../../../../types';\nimport PUBSUB_TOPICS from '../../../../lib/pubSub/topics';\nimport { scrollIntoLast } from '../utils';\nimport { SendableMessageType } from '../../../../utils';\n\nexport type OnBeforeSendMFMType = (\n files: Array<File>,\n quoteMessage?: SendableMessageType,\n) => MultipleFilesMessageCreateParams;\n\nexport interface UseSendMFMDynamicParams {\n currentChannel: Nullable<GroupChannel>,\n onBeforeSendMultipleFilesMessage?: OnBeforeSendMFMType,\n}\nexport interface UseSendMFMStaticParams {\n logger: Logger,\n pubSub: any,\n scrollRef?: React.RefObject<HTMLDivElement>;\n}\nexport type SendMFMFunctionType = (files: Array<File>, quoteMessage?: SendableMessageType) => void;\n\n/**\n * pubSub is used instead of messagesDispatcher to avoid redundantly calling\n * because this useSendMultipleFilesMessage is used in the Channel and Thread both\n */\nexport const useSendMultipleFilesMessage = ({\n currentChannel,\n onBeforeSendMultipleFilesMessage,\n}: UseSendMFMDynamicParams, {\n logger,\n pubSub,\n scrollRef,\n}: UseSendMFMStaticParams): Array<SendMFMFunctionType> => {\n const sendMessage = useCallback((files: Array<File>, quoteMessage?: SendableMessageType): void => {\n if (!currentChannel) {\n logger.warning('Channel: Sending MFm failed, because currentChannel is null.', { currentChannel });\n return;\n }\n if (files.length <= 1) {\n logger.warning('Channel: Sending MFM failed, because there are no multiple files.', { files });\n return;\n }\n let messageParams: MultipleFilesMessageCreateParams = {\n fileInfoList: files.map((file: File): UploadableFileInfo => ({\n file,\n fileName: file.name,\n fileSize: file.size,\n mimeType: file.type,\n })),\n };\n if (quoteMessage) {\n messageParams.isReplyToChannel = true;\n messageParams.parentMessageId = quoteMessage.messageId;\n }\n if (typeof onBeforeSendMultipleFilesMessage === 'function') {\n messageParams = onBeforeSendMultipleFilesMessage(files, quoteMessage);\n }\n logger.info('Channel: Start sending MFM', { messageParams });\n try {\n currentChannel.sendMultipleFilesMessage(messageParams)\n /**\n * We don't operate the onFileUploaded event for now\n * until we will add UI/UX for it\n */\n .onFileUploaded((requestId, index, uploadableFileInfo, error) => {\n logger.info('Channel: onFileUploaded during sending MFM', { requestId, index, error, uploadableFileInfo });\n })\n .onPending((pendingMessage) => {\n logger.info('Channel: in progress of sending MFM', { pendingMessage, fileInfoList: messageParams.fileInfoList });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_START, {\n message: {\n ...pendingMessage,\n fileInfoList: messageParams.fileInfoList.map((fileInfo) => ({\n ...fileInfo,\n url: URL.createObjectURL(fileInfo.file as File),\n })),\n },\n channel: currentChannel,\n });\n if (scrollRef) {\n setTimeout(() => scrollIntoLast(0, scrollRef));\n }\n })\n .onFailed((error, failedMessage) => {\n logger.error('Channel: Sending MFM failed.', { error, failedMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_MESSAGE_FAILED, {\n channel: currentChannel,\n message: failedMessage,\n });\n })\n .onSucceeded((succeededMessage) => {\n logger.info('Channel: Sending voice message success!', { succeededMessage });\n pubSub.publish(PUBSUB_TOPICS.SEND_FILE_MESSAGE, {\n channel: currentChannel,\n message: succeededMessage,\n });\n });\n } catch (error) {\n logger.error('Channel: Sending MFM failed.', { error });\n }\n }, [\n currentChannel,\n onBeforeSendMultipleFilesMessage,\n ]);\n return [sendMessage];\n};\n"],"names":["useSendMultipleFilesMessage","_ref","_ref2","currentChannel","onBeforeSendMultipleFilesMessage","logger","pubSub","scrollRef","sendMessage","useCallback","files","quoteMessage","warning","length","messageParams","fileInfoList","map","file","fileName","name","fileSize","size","mimeType","type","isReplyToChannel","parentMessageId","messageId","info","sendMultipleFilesMessage","onFileUploaded","requestId","index","uploadableFileInfo","error","onPending","pendingMessage","publish","PUBSUB_TOPICS","SEND_MESSAGE_START","message","_objectSpread","fileInfo","url","URL","createObjectURL","channel","setTimeout","scrollIntoLast","onFailed","failedMessage","SEND_MESSAGE_FAILED","onSucceeded","succeededMessage","SEND_FILE_MESSAGE"],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var index = require('../../index-
|
|
6
|
-
require('../../_rollupPluginBabelHelpers-
|
|
5
|
+
var index = require('../../index-6afd0c95.js');
|
|
6
|
+
require('../../_rollupPluginBabelHelpers-32e06a4f.js');
|
|
7
7
|
require('./getOutgoingMessageState.js');
|
|
8
|
-
require('../../index.module-
|
|
8
|
+
require('../../index.module-5c934abb.js');
|
|
9
9
|
|
|
10
10
|
const isVoiceMessage = index.isVoiceMessage;
|
|
11
11
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index$1 = require('./index-
|
|
4
|
-
var topics = require('./topics-
|
|
5
|
-
var index = require('./index-
|
|
3
|
+
var index$1 = require('./index-1f4a47f9.js');
|
|
4
|
+
var topics = require('./topics-f8d48fd6.js');
|
|
5
|
+
var index = require('./index-6afd0c95.js');
|
|
6
6
|
|
|
7
7
|
const RESET_MESSAGES = 'RESET_MESSAGES';
|
|
8
8
|
const FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';
|
|
@@ -61,7 +61,7 @@ const {
|
|
|
61
61
|
FAILED,
|
|
62
62
|
PENDING
|
|
63
63
|
} = index.getSendingMessageStatus();
|
|
64
|
-
const scrollToRenderedMessage = (scrollRef, initialTimeStamp) => {
|
|
64
|
+
const scrollToRenderedMessage = (scrollRef, initialTimeStamp, setIsScrolled) => {
|
|
65
65
|
try {
|
|
66
66
|
var _container$querySelec;
|
|
67
67
|
const container = scrollRef.current;
|
|
@@ -77,6 +77,8 @@ const scrollToRenderedMessage = (scrollRef, initialTimeStamp) => {
|
|
|
77
77
|
}
|
|
78
78
|
} catch (_unused) {
|
|
79
79
|
// do nothing
|
|
80
|
+
} finally {
|
|
81
|
+
setIsScrolled === null || setIsScrolled === void 0 ? void 0 : setIsScrolled(true);
|
|
80
82
|
}
|
|
81
83
|
};
|
|
82
84
|
|
|
@@ -84,18 +86,21 @@ const scrollToRenderedMessage = (scrollRef, initialTimeStamp) => {
|
|
|
84
86
|
const scrollIntoLast = function () {
|
|
85
87
|
let initialTry = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
86
88
|
let scrollRef = arguments.length > 1 ? arguments[1] : undefined;
|
|
89
|
+
let setIsScrolled = arguments.length > 2 ? arguments[2] : undefined;
|
|
87
90
|
const MAX_TRIES = 10;
|
|
88
91
|
const currentTry = initialTry;
|
|
89
92
|
if (currentTry > MAX_TRIES) {
|
|
93
|
+
setIsScrolled === null || setIsScrolled === void 0 ? void 0 : setIsScrolled(true);
|
|
90
94
|
return;
|
|
91
95
|
}
|
|
92
96
|
try {
|
|
93
97
|
const scrollDOM = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || document.querySelector('.sendbird-conversation__messages-padding');
|
|
94
98
|
// eslint-disable-next-line no-multi-assign
|
|
95
99
|
scrollDOM.scrollTop = scrollDOM.scrollHeight;
|
|
100
|
+
setIsScrolled === null || setIsScrolled === void 0 ? void 0 : setIsScrolled(true);
|
|
96
101
|
} catch (error) {
|
|
97
102
|
setTimeout(() => {
|
|
98
|
-
scrollIntoLast(currentTry + 1, scrollRef);
|
|
103
|
+
scrollIntoLast(currentTry + 1, scrollRef, setIsScrolled);
|
|
99
104
|
}, 500 * currentTry);
|
|
100
105
|
}
|
|
101
106
|
};
|
|
@@ -337,4 +342,4 @@ exports.pubSubHandler = pubSubHandler;
|
|
|
337
342
|
exports.pxToNumber = pxToNumber;
|
|
338
343
|
exports.scrollIntoLast = scrollIntoLast;
|
|
339
344
|
exports.scrollToRenderedMessage = scrollToRenderedMessage;
|
|
340
|
-
//# sourceMappingURL=utils-
|
|
345
|
+
//# sourceMappingURL=utils-4446c8a7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-4446c8a7.js","sources":["../../src/modules/Channel/context/dux/actionTypes.js","../../src/modules/Channel/context/utils.js"],"sourcesContent":["export const RESET_MESSAGES = 'RESET_MESSAGES';\n\nexport const FETCH_INITIAL_MESSAGES_START = 'FETCH_INITIAL_MESSAGES_START';\nexport const FETCH_INITIAL_MESSAGES_SUCCESS = 'FETCH_INITIAL_MESSAGES_SUCCESS';\n\nexport const FETCH_INITIAL_MESSAGES_FAILURE = 'FETCH_INITIAL_MESSAGES_FAILURE';\nexport const FETCH_PREV_MESSAGES_SUCCESS = 'FETCH_PREV_MESSAGES_SUCCESS';\nexport const FETCH_PREV_MESSAGES_FAILURE = 'FETCH_PREV_MESSAGES_FAILURE';\nexport const FETCH_NEXT_MESSAGES_SUCCESS = 'FETCH_NEXT_MESSAGES_SUCCESS';\nexport const FETCH_NEXT_MESSAGES_FAILURE = 'FETCH_NEXT_MESSAGES_FAILURE';\n\nexport const SEND_MESSAGE_START = 'SEND_MESSAGE_START';\nexport const SEND_MESSAGE_SUCESS = 'SEND_MESSAGE_SUCESS';\nexport const SEND_MESSAGE_FAILURE = 'SEND_MESSAGE_FAILURE';\n\nexport const RESEND_MESSAGE_START = 'RESEND_MESSAGE_START';\n\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_THREAD_INFO_UPDATED = 'ON_MESSAGE_THREAD_INFO_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const MARK_AS_READ = 'MARK_AS_READ';\n\nexport const ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';\nexport const SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';\n\nexport const MESSAGE_LIST_PARAMS_CHANGED = 'MESSAGE_LIST_PARAMS_CHANGED';\n","import format from 'date-fns/format';\nimport * as channelActions from './dux/actionTypes';\nimport topics from '../../../lib/pubSub/topics';\n\nimport { getSendingMessageStatus, isReadMessage } from '../../../utils';\nimport { OutgoingMessageStates } from '../../../utils/exports/getOutgoingMessageState';\n\nconst UNDEFINED = 'undefined';\nconst { SUCCEEDED, FAILED, PENDING } = getSendingMessageStatus();\n\nexport const scrollToRenderedMessage = (scrollRef, initialTimeStamp, setIsScrolled) => {\n try {\n const container = scrollRef.current;\n // scroll into the message with initialTimeStamp\n const element = container.querySelectorAll(`[data-sb-created-at=\"${initialTimeStamp}\"]`)?.[0];\n if (element) {\n // Calculate the offset of the element from the top of the container\n const containerHeight = container.offsetHeight;\n const elementHeight = element.offsetHeight;\n const elementOffset = (containerHeight - elementHeight) / 2;\n // Set the scroll position of the container to bring the element to the middle\n container.scrollTop = element.offsetTop - elementOffset;\n }\n } catch {\n // do nothing\n } finally {\n setIsScrolled?.(true);\n }\n};\n\n/* eslint-disable default-param-last */\nexport const scrollIntoLast = (initialTry = 0, scrollRef, setIsScrolled) => {\n const MAX_TRIES = 10;\n const currentTry = initialTry;\n if (currentTry > MAX_TRIES) {\n setIsScrolled?.(true);\n return;\n }\n try {\n const scrollDOM = scrollRef?.current || document.querySelector('.sendbird-conversation__messages-padding');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n setIsScrolled?.(true);\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1, scrollRef, setIsScrolled);\n }, 500 * currentTry);\n }\n};\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = ({\n channelUrl,\n pubSub,\n dispatcher,\n scrollRef,\n}) => {\n const subscriber = new Map();\n if (!pubSub || !pubSub.subscribe) return subscriber;\n subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast(0, scrollRef);\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel, message } = msg;\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_START,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_FAILED, pubSub.subscribe(topics.SEND_MESSAGE_FAILED, (msg) => {\n const { channel, message } = msg;\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_FAILURE,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast(0, scrollRef);\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.SEND_MESSAGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message, fromSelector } = msg;\n if (fromSelector && (channelUrl === channel?.url)) {\n dispatcher({\n type: channelActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n }\n }));\n subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, (msg) => {\n const { channel, messageId } = msg;\n if (channelUrl === channel?.url) {\n dispatcher({\n type: channelActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n }\n }));\n\n return subscriber;\n};\n\nexport const getParsedStatus = (message, currentGroupChannel) => {\n if (message.requestState === FAILED) {\n return OutgoingMessageStates.FAILED;\n }\n\n if (message.requestState === PENDING) {\n return OutgoingMessageStates.PENDING;\n }\n\n if (message.requestState === SUCCEEDED) {\n if (!currentGroupChannel) {\n return OutgoingMessageStates.SENT;\n }\n\n const unreadMemberCount = currentGroupChannel?.getUnreadMemberCount(message);\n if (unreadMemberCount === 0) {\n return OutgoingMessageStates.READ;\n }\n\n const isDelivered = currentGroupChannel?.getUndeliveredMemberCount(message) === 0;\n if (isDelivered) {\n return OutgoingMessageStates.DELIVERED;\n }\n\n return OutgoingMessageStates.SENT;\n }\n\n return null;\n};\n\nexport const isOperator = (groupChannel = {}) => {\n const myRole = groupChannel?.myRole;\n return myRole === 'operator';\n};\n\nexport const isDisabledBecauseFrozen = (groupChannel = {}) => {\n const isFrozen = groupChannel?.isFrozen;\n return isFrozen && !isOperator(groupChannel);\n};\n\nexport const isDisabledBecauseMuted = (groupChannel = {}) => {\n const myMutedState = groupChannel?.myMutedState;\n return myMutedState === 'muted';\n};\n\nexport const getEmojiCategoriesFromEmojiContainer = (emojiContainer = {}) => (\n emojiContainer.emojiCategories ? emojiContainer.emojiCategories : []\n);\n\nexport const getAllEmojisFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojis = [];\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n allEmojis.push(emojis[emojiIndex]);\n }\n }\n return allEmojis;\n};\n\nexport const getEmojisFromEmojiContainer = (emojiContainer = {}, emojiCategoryId = '') => (\n emojiContainer.emojiCategories\n ? emojiContainer.emojiCategories\n .filter((emojiCategory) => emojiCategory.id === emojiCategoryId)[0].emojis\n : []\n);\n\nexport const getAllEmojisMapFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojisMap = new Map();\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n const { key, url } = emojis[emojiIndex];\n allEmojisMap.set(key, url);\n }\n }\n return allEmojisMap;\n};\n\nexport const getNicknamesMapFromMembers = (members = []) => {\n const nicknamesMap = new Map();\n for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {\n const { userId, nickname } = members[memberIndex];\n nicknamesMap.set(userId, nickname);\n }\n return nicknamesMap;\n};\n\nconst getUniqueListBy = (arr, key) => [...new Map(arr.map((item) => [item[key], item])).values()];\nconst getUniqueListByMessageId = (arr) => getUniqueListBy(arr, 'messageId');\nconst sortByCreatedAt = (messages) => messages.sort((a, b) => a.createdAt - b.createdAt);\n\nexport const mergeAndSortMessages = (oldMessages, newMessages) => {\n const lastOldMessage = oldMessages[oldMessages.length - 1];\n const firstNewMessage = newMessages[0];\n // If the last message of oldMessages is older than the first message of newMessages,\n // then we can safely append newMessages to oldMessages.\n if (lastOldMessage?.createdAt < firstNewMessage?.createdAt) {\n return [...oldMessages, ...newMessages];\n }\n\n // todo: optimize this\n // If the last message of oldMessages is newer than the first message of newMessages,\n // then we need to merge the two arrays and sort them by createdAt.\n const mergedMessages = [...oldMessages, ...newMessages];\n const unique = getUniqueListByMessageId(mergedMessages);\n return sortByCreatedAt(unique);\n};\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const isSameGroup = (message, comparingMessage, currentChannel) => {\n if (!(message\n && comparingMessage\n && message.messageType\n && message.messageType !== 'admin'\n && comparingMessage.messageType\n && comparingMessage?.messageType !== 'admin'\n && message?.sender\n && comparingMessage?.sender\n && message?.createdAt\n && comparingMessage?.createdAt\n && message?.sender?.userId\n && comparingMessage?.sender?.userId\n )) {\n return false;\n }\n return (\n message?.sendingStatus === comparingMessage?.sendingStatus\n && message?.sender?.userId === comparingMessage?.sender?.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n && isReadMessage(currentChannel, message) === isReadMessage(currentChannel, comparingMessage)\n );\n};\n\nexport const hasOwnProperty = (property) => (payload) => {\n // eslint-disable-next-line no-prototype-builtins\n if (payload && payload.hasOwnProperty && payload.hasOwnProperty(property)) {\n return true;\n }\n return false;\n};\n\nexport const passUnsuccessfullMessages = (allMessages, newMessage) => {\n const { sendingStatus = UNDEFINED } = newMessage;\n if (sendingStatus === SUCCEEDED || sendingStatus === PENDING) {\n const lastIndexOfSucceededMessage = allMessages\n .map((message) => (\n message.sendingStatus\n || ((message.isAdminMessage && message.isAdminMessage()) ? SUCCEEDED : UNDEFINED)\n ))\n .lastIndexOf(SUCCEEDED);\n if (lastIndexOfSucceededMessage + 1 < allMessages.length) {\n const messages = [...allMessages];\n messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);\n return messages;\n }\n }\n return [\n ...allMessages,\n newMessage,\n ];\n};\n\nexport const pxToNumber = (px) => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n\nexport const isAboutSame = (a, b, px) => (Math.abs(a - b) <= px);\n\nexport default getParsedStatus;\n"],"names":["RESET_MESSAGES","FETCH_INITIAL_MESSAGES_START","FETCH_INITIAL_MESSAGES_SUCCESS","FETCH_INITIAL_MESSAGES_FAILURE","FETCH_PREV_MESSAGES_SUCCESS","FETCH_PREV_MESSAGES_FAILURE","FETCH_NEXT_MESSAGES_SUCCESS","FETCH_NEXT_MESSAGES_FAILURE","SEND_MESSAGE_START","SEND_MESSAGE_SUCESS","SEND_MESSAGE_FAILURE","RESEND_MESSAGE_START","ON_MESSAGE_RECEIVED","ON_MESSAGE_UPDATED","ON_MESSAGE_THREAD_INFO_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","MARK_AS_READ","ON_REACTION_UPDATED","SET_EMOJI_CONTAINER","MESSAGE_LIST_PARAMS_CHANGED","UNDEFINED","SUCCEEDED","FAILED","PENDING","getSendingMessageStatus","scrollToRenderedMessage","scrollRef","initialTimeStamp","setIsScrolled","_container$querySelec","container","current","element","querySelectorAll","containerHeight","offsetHeight","elementHeight","elementOffset","scrollTop","offsetTop","_unused","scrollIntoLast","initialTry","arguments","length","undefined","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollHeight","error","setTimeout","pubSubHandleRemover","subscriber","forEach","s","remove","_unused2","pubSubHandler","_ref","channelUrl","pubSub","dispatcher","Map","subscribe","set","topics","SEND_USER_MESSAGE","msg","channel","message","url","type","channelActions","payload","SEND_MESSAGE_FAILED","SEND_FILE_MESSAGE","UPDATE_USER_MESSAGE","fromSelector","DELETE_MESSAGE","messageId","isOperator","groupChannel","myRole","isDisabledBecauseFrozen","isFrozen","isDisabledBecauseMuted","myMutedState","getAllEmojisMapFromEmojiContainer","emojiContainer","emojiCategories","allEmojisMap","categoryIndex","emojis","emojiIndex","key","getNicknamesMapFromMembers","members","nicknamesMap","memberIndex","userId","nickname","getUniqueListBy","arr","map","item","values","getUniqueListByMessageId","sortByCreatedAt","messages","sort","a","b","createdAt","mergeAndSortMessages","oldMessages","newMessages","lastOldMessage","firstNewMessage","mergedMessages","unique","getMessageCreatedAt","format","isSameGroup","comparingMessage","currentChannel","_message$sender","_comparingMessage$sen","_message$sender2","_comparingMessage$sen2","messageType","sender","sendingStatus","isReadMessage","passUnsuccessfullMessages","allMessages","newMessage","lastIndexOfSucceededMessage","isAdminMessage","lastIndexOf","splice","pxToNumber","px","parsed","Number","parseFloat","isNaN","isAboutSame","Math","abs"],"mappings":"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"}
|