@sendbird/uikit-react 3.2.0-rc.0 → 3.2.0-rc.1
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 +82 -92
- package/App.js.map +1 -1
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +27 -26
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +20 -20
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +5 -6
- package/Channel/components/FrozenNotification.js.map +1 -1
- package/Channel/components/Message.js +33 -32
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +31 -30
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +27 -26
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +19 -19
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +34 -34
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +20 -20
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +5 -6
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +15 -15
- package/Channel.js +25 -24
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +17 -17
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +10 -10
- package/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/ChannelList/components/ChannelListUI.js +39 -39
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +48 -48
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +57 -68
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +10 -10
- package/ChannelList.js +28 -28
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-6e3b8f43.js → ChannelListProvider-368bd7f1.js} +233 -217
- package/ChannelListProvider-368bd7f1.js.map +1 -0
- package/{ChannelProvider-b8c6427f.js → ChannelProvider-59559ed8.js} +555 -522
- package/{ChannelProvider-b8c6427f.js.map → ChannelProvider-59559ed8.js.map} +1 -1
- package/ChannelSettings/components/ChannelProfile.js +16 -16
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +26 -26
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +19 -21
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +14 -16
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +78 -78
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +15 -15
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +17 -17
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +6 -6
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +20 -20
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +18 -19
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +21 -20
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +22 -22
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -14
- package/CreateChannel.js.map +1 -1
- package/{CreateChannelProvider-712526fd.js → CreateChannelProvider-9c2113ca.js} +3 -3
- package/{CreateChannelProvider-712526fd.js.map → CreateChannelProvider-9c2113ca.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +13 -13
- package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/CreateOpenChannel/context.js +11 -11
- package/CreateOpenChannel/context.js.map +1 -1
- package/CreateOpenChannel.js +9 -9
- package/CreateOpenChannel.js.map +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile/context.js +13 -13
- package/EditUserProfile/context.js.map +1 -1
- package/EditUserProfile.js +13 -13
- package/EditUserProfile.js.map +1 -1
- package/{LocalizationContext-4cefc770.js → LocalizationContext-10829cf3.js} +5 -5
- package/{LocalizationContext-4cefc770.js.map → LocalizationContext-10829cf3.js.map} +1 -1
- package/{MemberList-e4916e55.js → MemberList-e049f915.js} +34 -34
- package/{MemberList-e4916e55.js.map → MemberList-e049f915.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +17 -17
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +6 -6
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +14 -14
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +5 -6
- package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/OpenChannel/components/OpenChannelHeader.js +14 -14
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +19 -18
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +32 -31
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +27 -26
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +26 -25
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +11 -11
- package/OpenChannel.js +26 -25
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +19 -19
- package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/OpenChannelList/components/OpenChannelPreview.js +5 -6
- package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/OpenChannelList/context.js +4 -4
- package/OpenChannelList.js +12 -12
- package/OpenChannelList.js.map +1 -1
- package/{OpenChannelListProvider-845a2162.js → OpenChannelListProvider-95ce73b1.js} +4 -4
- package/{OpenChannelListProvider-845a2162.js.map → OpenChannelListProvider-95ce73b1.js.map} +1 -1
- package/{OpenChannelProvider-5f19d5d7.js → OpenChannelProvider-b360d5fe.js} +46 -46
- package/{OpenChannelProvider-5f19d5d7.js.map → OpenChannelProvider-b360d5fe.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +19 -19
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +16 -16
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +27 -27
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +87 -87
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +16 -16
- package/OpenChannelSettings/context.js +14 -14
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +20 -20
- package/OpenChannelSettings.js.map +1 -1
- package/README.md +2 -7
- package/SendbirdProvider.js +214 -251
- package/SendbirdProvider.js.map +1 -1
- package/{UserProfileContext-2e53d03a.js → UserProfileContext-beacab28.js} +6 -4
- package/{UserProfileContext-2e53d03a.js.map → UserProfileContext-beacab28.js.map} +1 -1
- package/{__bundle-bd072f34-95f6bf17.js → __bundle-c41dd401-d4ab6c10.js} +18 -4
- package/__bundle-c41dd401-d4ab6c10.js.map +1 -0
- package/_rollupPluginBabelHelpers-22c28a74.js +43 -0
- package/_rollupPluginBabelHelpers-22c28a74.js.map +1 -0
- package/actionTypes-fd0f0a6c.js +6 -0
- package/{actionTypes-517789b8.js.map → actionTypes-fd0f0a6c.js.map} +1 -1
- package/cjs/App.js +82 -92
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +27 -26
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +20 -20
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +5 -6
- package/cjs/Channel/components/FrozenNotification.js.map +1 -1
- package/cjs/Channel/components/Message.js +33 -32
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +31 -30
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +27 -26
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +19 -19
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +34 -34
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +20 -20
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +5 -6
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +15 -15
- package/cjs/Channel.js +25 -24
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +17 -17
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +10 -10
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListUI.js +39 -39
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +48 -48
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +57 -68
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +10 -10
- package/cjs/ChannelList.js +28 -28
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-781aa186.js → ChannelListProvider-dba82f83.js} +232 -216
- package/cjs/ChannelListProvider-dba82f83.js.map +1 -0
- package/cjs/{ChannelProvider-bbff4ae8.js → ChannelProvider-dd81a327.js} +559 -526
- package/cjs/{ChannelProvider-bbff4ae8.js.map → ChannelProvider-dd81a327.js.map} +1 -1
- package/cjs/ChannelSettings/components/ChannelProfile.js +16 -16
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +26 -26
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +19 -21
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +14 -16
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +78 -78
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +15 -15
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +17 -17
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +6 -6
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +20 -20
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +18 -19
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +21 -20
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +22 -22
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -14
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/{CreateChannelProvider-80c88bba.js → CreateChannelProvider-771bf00b.js} +3 -3
- package/cjs/{CreateChannelProvider-80c88bba.js.map → CreateChannelProvider-771bf00b.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +13 -13
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/cjs/CreateOpenChannel/context.js +11 -11
- package/cjs/CreateOpenChannel/context.js.map +1 -1
- package/cjs/CreateOpenChannel.js +9 -9
- package/cjs/CreateOpenChannel.js.map +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile/context.js +14 -14
- package/cjs/EditUserProfile/context.js.map +1 -1
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/EditUserProfile.js.map +1 -1
- package/cjs/{LocalizationContext-b5fd4c38.js → LocalizationContext-b051aa28.js} +5 -5
- package/cjs/{LocalizationContext-b5fd4c38.js.map → LocalizationContext-b051aa28.js.map} +1 -1
- package/cjs/{MemberList-10def668.js → MemberList-6c0cdd90.js} +34 -34
- package/cjs/{MemberList-10def668.js.map → MemberList-6c0cdd90.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +17 -17
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +6 -6
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +14 -14
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -6
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelHeader.js +14 -14
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +19 -18
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +32 -31
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +27 -26
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +26 -25
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +11 -11
- package/cjs/OpenChannel.js +26 -25
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +19 -19
- package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +5 -6
- package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +12 -12
- package/cjs/OpenChannelList.js.map +1 -1
- package/cjs/{OpenChannelListProvider-8e425873.js → OpenChannelListProvider-3eed20f7.js} +4 -4
- package/cjs/{OpenChannelListProvider-8e425873.js.map → OpenChannelListProvider-3eed20f7.js.map} +1 -1
- package/cjs/{OpenChannelProvider-39f9e794.js → OpenChannelProvider-e4f3a05c.js} +46 -46
- package/cjs/{OpenChannelProvider-39f9e794.js.map → OpenChannelProvider-e4f3a05c.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +19 -19
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +16 -16
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +27 -27
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +87 -87
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +16 -16
- package/cjs/OpenChannelSettings/context.js +14 -14
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +20 -20
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/SendbirdProvider.js +213 -250
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/{UserProfileContext-69c9649a.js → UserProfileContext-fa684629.js} +6 -4
- package/cjs/{UserProfileContext-69c9649a.js.map → UserProfileContext-fa684629.js.map} +1 -1
- package/cjs/{__bundle-bd072f34-57bee5af.js → __bundle-c41dd401-1f364afe.js} +19 -5
- package/cjs/__bundle-c41dd401-1f364afe.js.map +1 -0
- package/cjs/_rollupPluginBabelHelpers-c7da8657.js +45 -0
- package/cjs/_rollupPluginBabelHelpers-c7da8657.js.map +1 -0
- package/cjs/actionTypes-1bc31680.js +10 -0
- package/cjs/{actionTypes-17aa0989.js.map → actionTypes-1bc31680.js.map} +1 -1
- package/cjs/{color-9e293baf.js → color-8c864d64.js} +2 -2
- package/cjs/color-8c864d64.js.map +1 -0
- package/cjs/compareIds-a7236494.js +18 -0
- package/cjs/compareIds-a7236494.js.map +1 -0
- package/cjs/{const-17108318.js → const-baa5e08a.js} +1 -1
- package/cjs/const-baa5e08a.js.map +1 -0
- package/cjs/{const-955190c4.js → const-de0fa0d4.js} +1 -1
- package/cjs/{const-955190c4.js.map → const-de0fa0d4.js.map} +1 -1
- package/cjs/{context-e041c8e0.js → context-867cfd7f.js} +2 -2
- package/cjs/{context-e041c8e0.js.map → context-867cfd7f.js.map} +1 -1
- package/cjs/dist/index.css +4684 -3703
- package/cjs/dist/index.css.map +1 -1
- package/cjs/groupChannel-95ba4a71.js +11 -0
- package/cjs/groupChannel-95ba4a71.js.map +1 -0
- package/cjs/handlers/GroupChannelHandler.js +3 -3
- package/cjs/handlers/OpenChannelHandler.js +2 -2
- package/cjs/handlers/OpenChannelHandler.js.map +1 -1
- package/cjs/handlers/SessionHandler.js.map +1 -1
- package/cjs/{index-025aa556.js → index-511e268c.js} +13 -13
- package/cjs/{index-025aa556.js.map → index-511e268c.js.map} +1 -1
- package/cjs/{index-5166a415.js → index-53015903.js} +69 -80
- package/cjs/index-53015903.js.map +1 -0
- package/cjs/{index-b9b8972b.js → index-62c9ad2d.js} +14 -13
- package/cjs/{index-b9b8972b.js.map → index-62c9ad2d.js.map} +1 -1
- package/cjs/{index-1512514f.js → index-6d02996a.js} +16 -14
- package/cjs/index-6d02996a.js.map +1 -0
- package/cjs/{index-5e2b8c03.js → index-76deed83.js} +30 -30
- package/cjs/{index-5e2b8c03.js.map → index-76deed83.js.map} +1 -1
- package/cjs/{index-e9d96b00.js → index-78d342b2.js} +4 -4
- package/cjs/{index-e9d96b00.js.map → index-78d342b2.js.map} +1 -1
- package/cjs/{index-18b120dc.js → index-907bf834.js} +51 -51
- package/cjs/index-907bf834.js.map +1 -0
- package/cjs/{index-9ce5e5a9.js → index-b478bf3b.js} +18 -37
- package/cjs/index-b478bf3b.js.map +1 -0
- package/cjs/{index-c1697faa.js → index-c4369117.js} +299 -319
- package/cjs/index-c4369117.js.map +1 -0
- package/cjs/{index-550f5039.js → index-d31051df.js} +2 -2
- package/cjs/{index-550f5039.js.map → index-d31051df.js.map} +1 -1
- package/cjs/index.js +36 -35
- package/cjs/index.js.map +1 -1
- package/cjs/openChannel-4789903c.js +9 -0
- package/cjs/{openChannel-8aabbf3c.js.map → openChannel-4789903c.js.map} +1 -1
- package/cjs/{openChannelUtils-cffba1c0.js → openChannelUtils-fc2ec8df.js} +11 -11
- package/cjs/openChannelUtils-fc2ec8df.js.map +1 -0
- package/cjs/sendbirdSelectors.js +22 -22
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-be457fd7.js → stringSet-9d251780.js} +4 -4
- package/cjs/{stringSet-be457fd7.js.map → stringSet-9d251780.js.map} +1 -1
- package/cjs/topics-ac8d2b51.js +22 -0
- package/cjs/{topics-58ec1c61.js.map → topics-ac8d2b51.js.map} +1 -1
- package/cjs/{tslib.es6-36205d81.js → tslib.es6-9b1c82d5.js} +2 -2
- package/cjs/tslib.es6-9b1c82d5.js.map +1 -0
- package/cjs/ui/Accordion.js +4 -5
- package/cjs/ui/Accordion.js.map +1 -1
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AccordionGroup.js.map +1 -1
- package/cjs/ui/AdminMessage.js +3 -4
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +6 -7
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +5 -6
- package/cjs/ui/Badge.js.map +1 -1
- package/cjs/ui/Button.js +3 -4
- package/cjs/ui/Button.js.map +1 -1
- package/cjs/ui/ChannelAvatar.js +3 -4
- package/cjs/ui/ChannelAvatar.js.map +1 -1
- package/cjs/ui/Checkbox.js +1 -1
- package/cjs/ui/Checkbox.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +4 -5
- package/cjs/ui/ConnectionStatus.js.map +1 -1
- package/cjs/ui/ContextMenu.js +14 -15
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +5 -6
- package/cjs/ui/DateSeparator.js.map +1 -1
- package/cjs/ui/EmojiReactions.js +13 -14
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +6 -7
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +11 -12
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +74 -73
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +7 -7
- package/cjs/ui/IconButton.js.map +1 -1
- package/cjs/ui/ImageRenderer.js +8 -10
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +4 -5
- package/cjs/ui/Input.js.map +1 -1
- package/cjs/ui/Label.js +2 -3
- package/cjs/ui/Label.js.map +1 -1
- package/cjs/ui/LinkLabel.js +14 -13
- package/cjs/ui/LinkLabel.js.map +1 -1
- package/cjs/ui/Loader.js +1 -2
- package/cjs/ui/Loader.js.map +1 -1
- package/cjs/ui/MentionLabel.js +13 -13
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +19 -19
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +178 -19889
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +17 -18
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +12 -13
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +13 -24
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +12 -14
- package/cjs/ui/MessageSearchItem.js.map +1 -1
- package/cjs/ui/MessageStatus.js +7 -8
- package/cjs/ui/MessageStatus.js.map +1 -1
- package/cjs/ui/Modal.js +9 -10
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js +0 -1
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +11 -11
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +3 -4
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
- package/cjs/ui/OpenChannelAvatar.js +6 -7
- package/cjs/ui/OpenChannelAvatar.js.map +1 -1
- package/cjs/ui/OpenchannelConversationHeader.js +6 -7
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
- package/cjs/ui/OpenchannelFileMessage.js +24 -24
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +26 -26
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +26 -26
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +24 -24
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +6 -7
- package/cjs/ui/PlaceHolder.js.map +1 -1
- package/cjs/ui/QuoteMessage.js +10 -11
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +7 -8
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +4 -5
- package/cjs/ui/ReactionBadge.js.map +1 -1
- package/cjs/ui/ReactionButton.js +6 -6
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +8 -9
- package/cjs/ui/TextButton.js.map +1 -1
- package/cjs/ui/TextMessageItemBody.js +10 -10
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +5 -6
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Tooltip.js +3 -4
- package/cjs/ui/Tooltip.js.map +1 -1
- package/cjs/ui/TooltipWrapper.js +5 -5
- package/cjs/ui/TooltipWrapper.js.map +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +6 -7
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +17 -17
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +11 -11
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/Word.js +15 -10
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/useSendbirdStateContext.js.map +1 -1
- package/cjs/{utils-9419225c.js → utils-655acd99.js} +4 -4
- package/cjs/utils-655acd99.js.map +1 -0
- package/cjs/{utils-40fab371.js → utils-8c634fd2.js} +2 -2
- package/cjs/{utils-40fab371.js.map → utils-8c634fd2.js.map} +1 -1
- package/cjs/utils-8e6fef1c.js +6 -0
- package/cjs/{utils-09738454.js.map → utils-8e6fef1c.js.map} +1 -1
- package/cjs/{uuid-edc908ea.js → uuid-c32d01d6.js} +2 -2
- package/cjs/{uuid-edc908ea.js.map → uuid-c32d01d6.js.map} +1 -1
- package/cjs/withSendbird.js +13 -15
- package/cjs/withSendbird.js.map +1 -1
- package/{color-402a36fd.js → color-fff21001.js} +2 -2
- package/{color-402a36fd.js.map → color-fff21001.js.map} +1 -1
- package/compareIds-332d261c.js +16 -0
- package/compareIds-332d261c.js.map +1 -0
- package/{const-768ef60e.js → const-03293011.js} +1 -1
- package/const-03293011.js.map +1 -0
- package/{const-6b428cb8.js → const-78e336dd.js} +1 -1
- package/{const-6b428cb8.js.map → const-78e336dd.js.map} +1 -1
- package/{context-bd92675f.js → context-44e184de.js} +2 -2
- package/{context-bd92675f.js.map → context-44e184de.js.map} +1 -1
- package/dist/index.css +4684 -3703
- package/dist/index.css.map +1 -1
- package/groupChannel-3301a732.js +8 -0
- package/groupChannel-3301a732.js.map +1 -0
- package/handlers/GroupChannelHandler.js +3 -3
- package/handlers/OpenChannelHandler.js +3 -3
- package/handlers/OpenChannelHandler.js.map +1 -1
- package/handlers/SessionHandler.js.map +1 -1
- package/{index-3699f160.js → index-00b281a3.js} +18 -37
- package/index-00b281a3.js.map +1 -0
- package/{index-7fa0a721.js → index-3ddec9e9.js} +299 -320
- package/index-3ddec9e9.js.map +1 -0
- package/{index-f59cf800.js → index-46beca69.js} +51 -51
- package/index-46beca69.js.map +1 -0
- package/{index-726a5475.js → index-49d3a217.js} +30 -30
- package/{index-726a5475.js.map → index-49d3a217.js.map} +1 -1
- package/{index-3249f6b5.js → index-5e788130.js} +2 -2
- package/{index-3249f6b5.js.map → index-5e788130.js.map} +1 -1
- package/{index-6b896cd8.js → index-7b043ab9.js} +14 -13
- package/{index-6b896cd8.js.map → index-7b043ab9.js.map} +1 -1
- package/{index-598898d3.js → index-8bd6c997.js} +16 -14
- package/index-8bd6c997.js.map +1 -0
- package/{index-176e9ad4.js → index-940576d8.js} +69 -80
- package/index-940576d8.js.map +1 -0
- package/{index-b79c5b07.js → index-e5aab3b4.js} +13 -13
- package/{index-b79c5b07.js.map → index-e5aab3b4.js.map} +1 -1
- package/{index-a98bd600.js → index-ed8e5d48.js} +4 -4
- package/{index-a98bd600.js.map → index-ed8e5d48.js.map} +1 -1
- package/index.d.ts +1 -1
- package/index.js +36 -35
- package/index.js.map +1 -1
- package/{openChannel-8c75e1a4.js → openChannel-2aef0cd5.js} +3 -3
- package/{openChannel-8c75e1a4.js.map → openChannel-2aef0cd5.js.map} +1 -1
- package/{openChannelUtils-ecaeb7d7.js → openChannelUtils-d27d1e28.js} +11 -11
- package/openChannelUtils-d27d1e28.js.map +1 -0
- package/package.json +1 -1
- package/sendbirdSelectors.js +22 -22
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-dc330bcf.js → stringSet-804c49f3.js} +4 -4
- package/{stringSet-dc330bcf.js.map → stringSet-804c49f3.js.map} +1 -1
- package/topics-24c0f724.js +13 -0
- package/{topics-c5198349.js.map → topics-24c0f724.js.map} +1 -1
- package/{tslib.es6-cb5d77bf.js → tslib.es6-4faaa58d.js} +2 -2
- package/tslib.es6-4faaa58d.js.map +1 -0
- package/ui/Accordion.js +4 -5
- package/ui/Accordion.js.map +1 -1
- package/ui/AccordionGroup.js +2 -2
- package/ui/AccordionGroup.js.map +1 -1
- package/ui/AdminMessage.js +3 -4
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +6 -7
- package/ui/Avatar.js.map +1 -1
- package/ui/Badge.js +5 -6
- package/ui/Badge.js.map +1 -1
- package/ui/Button.js +3 -4
- package/ui/Button.js.map +1 -1
- package/ui/ChannelAvatar.js +3 -4
- package/ui/ChannelAvatar.js.map +1 -1
- package/ui/Checkbox.js +1 -1
- package/ui/Checkbox.js.map +1 -1
- package/ui/ConnectionStatus.js +4 -5
- package/ui/ConnectionStatus.js.map +1 -1
- package/ui/ContextMenu.js +14 -15
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +5 -6
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +13 -14
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +6 -7
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +11 -12
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +74 -73
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +7 -7
- package/ui/IconButton.js.map +1 -1
- package/ui/ImageRenderer.js +8 -10
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +4 -5
- package/ui/Input.js.map +1 -1
- package/ui/Label.js +2 -3
- package/ui/Label.js.map +1 -1
- package/ui/LinkLabel.js +14 -13
- package/ui/LinkLabel.js.map +1 -1
- package/ui/Loader.js +1 -2
- package/ui/Loader.js.map +1 -1
- package/ui/MentionLabel.js +13 -13
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js.map +1 -1
- package/ui/MessageContent.js +19 -19
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +178 -19889
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +17 -18
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +12 -13
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +13 -24
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +12 -14
- package/ui/MessageSearchItem.js.map +1 -1
- package/ui/MessageStatus.js +7 -8
- package/ui/MessageStatus.js.map +1 -1
- package/ui/Modal.js +9 -10
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js +0 -1
- package/ui/MutedAvatarOverlay.js.map +1 -1
- package/ui/OGMessageItemBody.js +11 -11
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +3 -4
- package/ui/OpenChannelAdminMessage.js.map +1 -1
- package/ui/OpenChannelAvatar.js +6 -7
- package/ui/OpenChannelAvatar.js.map +1 -1
- package/ui/OpenchannelConversationHeader.js +6 -7
- package/ui/OpenchannelConversationHeader.js.map +1 -1
- package/ui/OpenchannelFileMessage.js +24 -24
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +26 -26
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +26 -26
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +24 -24
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +6 -7
- package/ui/PlaceHolder.js.map +1 -1
- package/ui/QuoteMessage.js +10 -11
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +7 -8
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +4 -5
- package/ui/ReactionBadge.js.map +1 -1
- package/ui/ReactionButton.js +6 -6
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +8 -9
- package/ui/TextButton.js.map +1 -1
- package/ui/TextMessageItemBody.js +10 -10
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +5 -6
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Tooltip.js +3 -4
- package/ui/Tooltip.js.map +1 -1
- package/ui/TooltipWrapper.js +5 -5
- package/ui/TooltipWrapper.js.map +1 -1
- package/ui/UnknownMessageItemBody.js +6 -7
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +17 -17
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +11 -11
- package/ui/UserProfile.js.map +1 -1
- package/ui/Word.js +15 -10
- package/ui/Word.js.map +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/useSendbirdStateContext.js.map +1 -1
- package/{utils-330ed0b1.js → utils-28acb86e.js} +2 -2
- package/{utils-330ed0b1.js.map → utils-28acb86e.js.map} +1 -1
- package/utils-32938255.js +4 -0
- package/{utils-629876b9.js.map → utils-32938255.js.map} +1 -1
- package/{utils-8fb72715.js → utils-47a3394f.js} +4 -4
- package/utils-47a3394f.js.map +1 -0
- package/{uuid-180d497e.js → uuid-4521c466.js} +2 -2
- package/{uuid-180d497e.js.map → uuid-4521c466.js.map} +1 -1
- package/withSendbird.js +13 -15
- package/withSendbird.js.map +1 -1
- package/ChannelListProvider-6e3b8f43.js.map +0 -1
- package/__bundle-bd072f34-95f6bf17.js.map +0 -1
- package/_rollupPluginBabelHelpers-4527872e.js +0 -130
- package/_rollupPluginBabelHelpers-4527872e.js.map +0 -1
- package/actionTypes-517789b8.js +0 -6
- package/cjs/ChannelListProvider-781aa186.js.map +0 -1
- package/cjs/__bundle-bd072f34-57bee5af.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-f9e4bb55.js +0 -134
- package/cjs/_rollupPluginBabelHelpers-f9e4bb55.js.map +0 -1
- package/cjs/actionTypes-17aa0989.js +0 -10
- package/cjs/color-9e293baf.js.map +0 -1
- package/cjs/compareIds-cf626c9f.js +0 -20
- package/cjs/compareIds-cf626c9f.js.map +0 -1
- package/cjs/const-17108318.js.map +0 -1
- package/cjs/groupChannel-6d56c155.js +0 -11
- package/cjs/groupChannel-6d56c155.js.map +0 -1
- package/cjs/index-1512514f.js.map +0 -1
- package/cjs/index-18b120dc.js.map +0 -1
- package/cjs/index-5166a415.js.map +0 -1
- package/cjs/index-9ce5e5a9.js.map +0 -1
- package/cjs/index-c1697faa.js.map +0 -1
- package/cjs/openChannel-8aabbf3c.js +0 -9
- package/cjs/openChannelUtils-cffba1c0.js.map +0 -1
- package/cjs/topics-58ec1c61.js +0 -22
- package/cjs/tslib.es6-36205d81.js.map +0 -1
- package/cjs/utils-09738454.js +0 -6
- package/cjs/utils-9419225c.js.map +0 -1
- package/compareIds-31e2f55c.js +0 -18
- package/compareIds-31e2f55c.js.map +0 -1
- package/const-768ef60e.js.map +0 -1
- package/groupChannel-e2a071e1.js +0 -8
- package/groupChannel-e2a071e1.js.map +0 -1
- package/index-176e9ad4.js.map +0 -1
- package/index-3699f160.js.map +0 -1
- package/index-598898d3.js.map +0 -1
- package/index-7fa0a721.js.map +0 -1
- package/index-f59cf800.js.map +0 -1
- package/openChannelUtils-ecaeb7d7.js.map +0 -1
- package/package-lock.json +0 -25501
- package/topics-c5198349.js +0 -13
- package/tslib.es6-cb5d77bf.js.map +0 -1
- package/utils-629876b9.js +0 -4
- package/utils-8fb72715.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelUI.js","sources":["../../../src/smart-components/Channel/components/ChannelUI/index.tsx"],"sourcesContent":["import './channel-ui.scss';\n\nimport React, { useEffect, useState } from 'react';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport ConnectionStatus from '../../../../ui/ConnectionStatus';\nimport ChannelHeader from '../ChannelHeader';\nimport MessageList from '../MessageList';\nimport TypingIndicator from '../TypingIndicator';\nimport FrozenNotification from '../FrozenNotification';\nimport UnreadCount from '../UnreadCount';\nimport MessageInputWrapper from '../MessageInput';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport * as messageActionTypes from '../../context/dux/actionTypes';\n\nexport interface ChannelUIProps {\n renderPlaceholderLoader?: () => React.ReactElement;\n renderPlaceholderInvalid?: () => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderChannelHeader?: () => React.ReactElement;\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderTypingIndicator?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n}\n\nconst ChannelUI: React.FC<ChannelUIProps> = ({\n renderPlaceholderLoader,\n renderPlaceholderInvalid,\n renderPlaceholderEmpty,\n renderChannelHeader,\n renderMessage,\n renderMessageInput,\n renderTypingIndicator,\n renderCustomSeparator,\n}: ChannelUIProps) => {\n const {\n currentGroupChannel,\n channelUrl,\n isInvalid,\n unreadSince,\n loading,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n scrollRef,\n messagesDispatcher,\n } = useChannelContext();\n const [unreadCount, setUnreadCount] = useState(0);\n useEffect(() => {\n setUnreadCount(currentGroupChannel?.unreadMessageCount);\n }, [currentGroupChannel?.unreadMessageCount]);\n\n const globalStore = useSendbirdStateContext();\n const sdkError = globalStore?.stores?.sdkStore?.error;\n const logger = globalStore?.config?.logger;\n const isOnline = globalStore?.config?.isOnline;\n\n if (!channelUrl) {\n return (<div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.NO_CHANNELS} />\n )\n }\n </div>);\n }\n if (isInvalid) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n }\n </div>\n );\n }\n if (sdkError) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder\n type={PlaceHolderTypes.WRONG}\n retryToConnect={() => {\n logger.info('Channel: reconnecting');\n // reconnect();\n }}\n />\n )\n }\n </div>\n );\n }\n return (\n <div className='sendbird-conversation'>\n {\n renderChannelHeader?.() || (\n <ChannelHeader />\n )\n }\n {\n currentGroupChannel?.isFrozen && (\n <FrozenNotification />\n )\n }\n {\n unreadCount > 0 && (\n <UnreadCount\n count={unreadCount}\n time={unreadSince}\n onClick={() => {\n setUnreadCount(0);\n if (scrollRef?.current?.scrollTop) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n try {\n currentGroupChannel?.markAsRead();\n } catch {\n //\n }\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n setInitialTimeStamp(null);\n setAnimatedMessageId(null);\n setHighLightedMessageId(null);\n }}\n />\n )\n }\n {\n loading\n ? (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderLoader?.() || (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n }\n </div>\n ) : (\n <MessageList\n renderMessage={renderMessage}\n renderPlaceholderEmpty={renderPlaceholderEmpty}\n renderCustomSeparator={renderCustomSeparator}\n />\n )\n }\n <div className=\"sendbird-conversation__footer\">\n {\n renderMessageInput?.() || (\n <MessageInputWrapper />\n )\n }\n <div className=\"sendbird-conversation__footer__typing-indicator\">\n {\n renderTypingIndicator?.() || (\n <TypingIndicator />\n )\n }\n {\n !isOnline && (\n <ConnectionStatus />\n )\n }\n </div>\n </div>\n </div>\n );\n}\n\nexport default ChannelUI;\n"],"names":["ChannelUI","_a","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeparator","_f","useChannelContext","currentGroupChannel","channelUrl","isInvalid","unreadSince","loading","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","scrollRef","messagesDispatcher","_g","useState","unreadCount","setUnreadCount","useEffect","unreadMessageCount","globalStore","useSendbirdStateContext","sdkError","stores","sdkStore","error","logger","config","isOnline","React","PlaceHolderTypes","NO_CHANNELS","WRONG","info","isFrozen","current","scrollTop","scrollHeight","offsetHeight","markAsRead","type","messageActionTypes","payload","channel","LOADING"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChannelUI.js","sources":["../../../src/smart-components/Channel/components/ChannelUI/index.tsx"],"sourcesContent":["import './channel-ui.scss';\n\nimport React, { useEffect, useState } from 'react';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport ConnectionStatus from '../../../../ui/ConnectionStatus';\nimport ChannelHeader from '../ChannelHeader';\nimport MessageList from '../MessageList';\nimport TypingIndicator from '../TypingIndicator';\nimport FrozenNotification from '../FrozenNotification';\nimport UnreadCount from '../UnreadCount';\nimport MessageInputWrapper from '../MessageInput';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport * as messageActionTypes from '../../context/dux/actionTypes';\n\nexport interface ChannelUIProps {\n renderPlaceholderLoader?: () => React.ReactElement;\n renderPlaceholderInvalid?: () => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderChannelHeader?: () => React.ReactElement;\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderTypingIndicator?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n}\n\nconst ChannelUI: React.FC<ChannelUIProps> = ({\n renderPlaceholderLoader,\n renderPlaceholderInvalid,\n renderPlaceholderEmpty,\n renderChannelHeader,\n renderMessage,\n renderMessageInput,\n renderTypingIndicator,\n renderCustomSeparator,\n}: ChannelUIProps) => {\n const {\n currentGroupChannel,\n channelUrl,\n isInvalid,\n unreadSince,\n loading,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n scrollRef,\n messagesDispatcher,\n } = useChannelContext();\n const [unreadCount, setUnreadCount] = useState(0);\n useEffect(() => {\n setUnreadCount(currentGroupChannel?.unreadMessageCount);\n }, [currentGroupChannel?.unreadMessageCount]);\n\n const globalStore = useSendbirdStateContext();\n const sdkError = globalStore?.stores?.sdkStore?.error;\n const logger = globalStore?.config?.logger;\n const isOnline = globalStore?.config?.isOnline;\n\n if (!channelUrl) {\n return (<div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.NO_CHANNELS} />\n )\n }\n </div>);\n }\n if (isInvalid) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n }\n </div>\n );\n }\n if (sdkError) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder\n type={PlaceHolderTypes.WRONG}\n retryToConnect={() => {\n logger.info('Channel: reconnecting');\n // reconnect();\n }}\n />\n )\n }\n </div>\n );\n }\n return (\n <div className='sendbird-conversation'>\n {\n renderChannelHeader?.() || (\n <ChannelHeader />\n )\n }\n {\n currentGroupChannel?.isFrozen && (\n <FrozenNotification />\n )\n }\n {\n unreadCount > 0 && (\n <UnreadCount\n count={unreadCount}\n time={unreadSince}\n onClick={() => {\n setUnreadCount(0);\n if (scrollRef?.current?.scrollTop) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n try {\n currentGroupChannel?.markAsRead();\n } catch {\n //\n }\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n setInitialTimeStamp(null);\n setAnimatedMessageId(null);\n setHighLightedMessageId(null);\n }}\n />\n )\n }\n {\n loading\n ? (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderLoader?.() || (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n }\n </div>\n ) : (\n <MessageList\n renderMessage={renderMessage}\n renderPlaceholderEmpty={renderPlaceholderEmpty}\n renderCustomSeparator={renderCustomSeparator}\n />\n )\n }\n <div className=\"sendbird-conversation__footer\">\n {\n renderMessageInput?.() || (\n <MessageInputWrapper />\n )\n }\n <div className=\"sendbird-conversation__footer__typing-indicator\">\n {\n renderTypingIndicator?.() || (\n <TypingIndicator />\n )\n }\n {\n !isOnline && (\n <ConnectionStatus />\n )\n }\n </div>\n </div>\n </div>\n );\n}\n\nexport default ChannelUI;\n"],"names":["ChannelUI","_a","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeparator","_f","useChannelContext","currentGroupChannel","channelUrl","isInvalid","unreadSince","loading","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","scrollRef","messagesDispatcher","_g","useState","unreadCount","setUnreadCount","useEffect","unreadMessageCount","globalStore","useSendbirdStateContext","sdkError","_c","_b","stores","sdkStore","error","logger","_d","config","isOnline","_e","React","PlaceHolderTypes","NO_CHANNELS","WRONG","info","isFrozen","current","scrollTop","scrollHeight","offsetHeight","markAsRead","type","messageActionTypes","payload","channel","LOADING"],"mappings":"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"}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import { createPortal } from 'react-dom';
|
|
3
3
|
import Avatar from '../../ui/Avatar.js';
|
|
4
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-
|
|
4
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-7b043ab9.js';
|
|
5
5
|
import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
|
|
6
|
-
import { M as MODAL_ROOT } from '../../index-
|
|
7
|
-
import { A as isSupportedFileView, B as isVideo, C as isImage } from '../../index-
|
|
6
|
+
import { M as MODAL_ROOT } from '../../index-5e788130.js';
|
|
7
|
+
import { A as isSupportedFileView, B as isVideo, C as isImage } from '../../index-46beca69.js';
|
|
8
8
|
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
9
|
-
import { u as useChannelContext } from '../../ChannelProvider-
|
|
10
|
-
import '../../tslib.es6-
|
|
9
|
+
import { u as useChannelContext } from '../../ChannelProvider-59559ed8.js';
|
|
10
|
+
import '../../tslib.es6-4faaa58d.js';
|
|
11
11
|
import '../../ui/ImageRenderer.js';
|
|
12
|
-
import '../../uuid-
|
|
13
|
-
import '../../_rollupPluginBabelHelpers-4527872e.js';
|
|
12
|
+
import '../../uuid-4521c466.js';
|
|
14
13
|
import 'prop-types';
|
|
15
|
-
import '../../stringSet-
|
|
14
|
+
import '../../stringSet-804c49f3.js';
|
|
16
15
|
import '../../withSendbird.js';
|
|
17
|
-
import '../../
|
|
18
|
-
import '../../
|
|
19
|
-
import '../../index-
|
|
20
|
-
import '../../
|
|
21
|
-
import '../../
|
|
22
|
-
import '../../
|
|
23
|
-
import '../../
|
|
24
|
-
import '../../
|
|
16
|
+
import '../../_rollupPluginBabelHelpers-22c28a74.js';
|
|
17
|
+
import '../../UserProfileContext-beacab28.js';
|
|
18
|
+
import '../../index-3ddec9e9.js';
|
|
19
|
+
import '../../index-940576d8.js';
|
|
20
|
+
import '../../topics-24c0f724.js';
|
|
21
|
+
import '../../compareIds-332d261c.js';
|
|
22
|
+
import '../../const-78e336dd.js';
|
|
23
|
+
import '../../groupChannel-3301a732.js';
|
|
24
|
+
import '../../__bundle-c41dd401-d4ab6c10.js';
|
|
25
25
|
import '../../ui/ContextMenu.js';
|
|
26
26
|
import '../../ui/SortByRow.js';
|
|
27
27
|
import '../../ui/ReactionButton.js';
|
|
28
28
|
|
|
29
|
-
var FileViewerComponent = function
|
|
29
|
+
var FileViewerComponent = function (_a) {
|
|
30
30
|
var // sender
|
|
31
31
|
profileUrl = _a.profileUrl,
|
|
32
32
|
nickname = _a.nickname,
|
|
@@ -81,7 +81,7 @@ var FileViewerComponent = function FileViewerComponent(_a) {
|
|
|
81
81
|
fillColor: disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1,
|
|
82
82
|
height: "24px",
|
|
83
83
|
width: "24px",
|
|
84
|
-
onClick: function
|
|
84
|
+
onClick: function () {
|
|
85
85
|
if (!disableDelete) {
|
|
86
86
|
onDelete();
|
|
87
87
|
}
|
|
@@ -114,7 +114,7 @@ var FileViewerComponent = function FileViewerComponent(_a) {
|
|
|
114
114
|
}, "Unsupoprted message"))));
|
|
115
115
|
};
|
|
116
116
|
|
|
117
|
-
var FileViewer = function
|
|
117
|
+
var FileViewer = function (_a) {
|
|
118
118
|
var _b, _c, _d;
|
|
119
119
|
|
|
120
120
|
var onCancel = _a.onCancel,
|
|
@@ -139,7 +139,7 @@ var FileViewer = function FileViewer(_a) {
|
|
|
139
139
|
url: url,
|
|
140
140
|
name: name,
|
|
141
141
|
onCancel: onCancel,
|
|
142
|
-
onDelete: function
|
|
142
|
+
onDelete: function () {
|
|
143
143
|
deleteMessage(message).then(function () {
|
|
144
144
|
onCancel();
|
|
145
145
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileViewer.js","sources":["../../../src/smart-components/Channel/components/FileViewer/index.tsx"],"sourcesContent":["import React from 'react';\nimport { createPortal } from 'react-dom';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport './file-viewer.scss';\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconColors, IconTypes } from '../../../../ui/Icon';\nimport { MODAL_ROOT } from '../../../../hooks/useModal/ModalRoot';\n\nimport { isImage, isVideo, isSupportedFileView } from '../../../../utils';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { EveryMessage } from '../../../../types';\n\ntype FileViewerUIProps = {\n profileUrl: string;\n nickname: string;\n // file\n name: string;\n type: string;\n url: string;\n // others\n isByMe: boolean;\n onCancel: () => void;\n onDelete: () => void;\n disableDelete: boolean;\n};\n\nexport const FileViewerComponent: React.FC<FileViewerUIProps> = ({\n // sender\n profileUrl,\n nickname,\n // file\n name,\n type,\n url,\n // others\n isByMe,\n onCancel,\n onDelete,\n disableDelete,\n}: FileViewerUIProps) => (\n <div className=\"sendbird-fileviewer\">\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div className=\"sendbird-fileviewer__header__right\">\n {\n isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\">\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n {\n onDelete && isByMe && (\n <div className=\"sendbird-fileviewer__header__right__actions__delete\">\n <Icon\n className={disableDelete ? 'disabled' : ''}\n type={IconTypes.DELETE}\n fillColor={disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={() => { if (!disableDelete) { onDelete(); } }}\n />\n </div>\n )\n }\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={onCancel}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n <video controls className=\"sendbird-fileviewer__content__video\">\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className=\"sendbird-fileviewer__content__img\"\n />\n )\n }\n {\n !isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__content__unsupported\">\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n Unsupoprted message\n </Label>\n </div>\n )\n }\n </div>\n </div>\n);\n\ntype FileViewerProps = {\n onCancel:() => void;\n message: FileMessage;\n};\n\nconst FileViewer: React.FC<FileViewerProps> = ({ onCancel, message }: FileViewerProps) => {\n const { deleteMessage } = useChannelContext();\n const {\n sender,\n type,\n url,\n name = '',\n threadInfo,\n } = message;\n const user = useSendbirdStateContext()?.config?.userId;\n const isByMe = user === message?.sender?.userId;\n const disableDelete = threadInfo?.replyCount > 0;\n const { profileUrl, nickname = '' } = sender;\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={profileUrl}\n nickname={nickname}\n type={type}\n url={url}\n name={name}\n onCancel={onCancel}\n onDelete={() => {\n deleteMessage(message as EveryMessage).then(() => {\n onCancel();\n });\n }}\n isByMe={isByMe}\n disableDelete={disableDelete}\n />\n ),\n document.getElementById(MODAL_ROOT),\n );\n}\n\nexport default FileViewer;\n"],"names":["FileViewerComponent","_a","profileUrl","nickname","name","type","url","isByMe","onCancel","onDelete","disableDelete","React","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","IconTypes","DOWNLOAD","IconColors","ON_BACKGROUND_1","DELETE","GRAY","CLOSE","isVideo","isImage","H_1","FileViewer","message","deleteMessage","useChannelContext","sender","_e","threadInfo","user","useSendbirdStateContext","config","userId","replyCount","_f","createPortal","then","document","getElementById","MODAL_ROOT"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileViewer.js","sources":["../../../src/smart-components/Channel/components/FileViewer/index.tsx"],"sourcesContent":["import React from 'react';\nimport { createPortal } from 'react-dom';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport './file-viewer.scss';\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconColors, IconTypes } from '../../../../ui/Icon';\nimport { MODAL_ROOT } from '../../../../hooks/useModal/ModalRoot';\n\nimport { isImage, isVideo, isSupportedFileView } from '../../../../utils';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { EveryMessage } from '../../../../types';\n\ntype FileViewerUIProps = {\n profileUrl: string;\n nickname: string;\n // file\n name: string;\n type: string;\n url: string;\n // others\n isByMe: boolean;\n onCancel: () => void;\n onDelete: () => void;\n disableDelete: boolean;\n};\n\nexport const FileViewerComponent: React.FC<FileViewerUIProps> = ({\n // sender\n profileUrl,\n nickname,\n // file\n name,\n type,\n url,\n // others\n isByMe,\n onCancel,\n onDelete,\n disableDelete,\n}: FileViewerUIProps) => (\n <div className=\"sendbird-fileviewer\">\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div className=\"sendbird-fileviewer__header__right\">\n {\n isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\">\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n {\n onDelete && isByMe && (\n <div className=\"sendbird-fileviewer__header__right__actions__delete\">\n <Icon\n className={disableDelete ? 'disabled' : ''}\n type={IconTypes.DELETE}\n fillColor={disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={() => { if (!disableDelete) { onDelete(); } }}\n />\n </div>\n )\n }\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={onCancel}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n <video controls className=\"sendbird-fileviewer__content__video\">\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className=\"sendbird-fileviewer__content__img\"\n />\n )\n }\n {\n !isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__content__unsupported\">\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n Unsupoprted message\n </Label>\n </div>\n )\n }\n </div>\n </div>\n);\n\ntype FileViewerProps = {\n onCancel:() => void;\n message: FileMessage;\n};\n\nconst FileViewer: React.FC<FileViewerProps> = ({ onCancel, message }: FileViewerProps) => {\n const { deleteMessage } = useChannelContext();\n const {\n sender,\n type,\n url,\n name = '',\n threadInfo,\n } = message;\n const user = useSendbirdStateContext()?.config?.userId;\n const isByMe = user === message?.sender?.userId;\n const disableDelete = threadInfo?.replyCount > 0;\n const { profileUrl, nickname = '' } = sender;\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={profileUrl}\n nickname={nickname}\n type={type}\n url={url}\n name={name}\n onCancel={onCancel}\n onDelete={() => {\n deleteMessage(message as EveryMessage).then(() => {\n onCancel();\n });\n }}\n isByMe={isByMe}\n disableDelete={disableDelete}\n />\n ),\n document.getElementById(MODAL_ROOT),\n );\n}\n\nexport default FileViewer;\n"],"names":["FileViewerComponent","_a","profileUrl","nickname","name","type","url","isByMe","onCancel","onDelete","disableDelete","React","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","IconTypes","DOWNLOAD","IconColors","ON_BACKGROUND_1","DELETE","GRAY","CLOSE","isVideo","isImage","H_1","FileViewer","message","deleteMessage","useChannelContext","sender","_e","threadInfo","user","_c","_b","useSendbirdStateContext","config","userId","_d","replyCount","_f","createPortal","then","document","getElementById","MODAL_ROOT"],"mappings":"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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import React__default, { useContext } from 'react';
|
|
2
|
-
import { a as LocalizationContext } from '../../LocalizationContext-
|
|
3
|
-
import { L as Label, a as LabelTypography } from '../../index-
|
|
4
|
-
import '../../stringSet-
|
|
5
|
-
import '../../index-
|
|
6
|
-
import '../../_rollupPluginBabelHelpers-4527872e.js';
|
|
2
|
+
import { a as LocalizationContext } from '../../LocalizationContext-10829cf3.js';
|
|
3
|
+
import { L as Label, a as LabelTypography } from '../../index-7b043ab9.js';
|
|
4
|
+
import '../../stringSet-804c49f3.js';
|
|
5
|
+
import '../../index-940576d8.js';
|
|
7
6
|
import 'prop-types';
|
|
8
7
|
|
|
9
|
-
var FrozenNotification = function
|
|
8
|
+
var FrozenNotification = function () {
|
|
10
9
|
var stringSet = useContext(LocalizationContext).stringSet;
|
|
11
10
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
12
11
|
className: "sendbird-notification sendbird-notification--frozen"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrozenNotification.js","sources":["../../../src/smart-components/Channel/components/FrozenNotification/index.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport './frozen-notification.scss';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Label, { LabelTypography } from '../../../../ui/Label';\n\nconst FrozenNotification = (): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-notification sendbird-notification--frozen\">\n <Label\n className=\"sendbird-notification__text\"\n type={LabelTypography.CAPTION_2}\n >\n {stringSet.CHANNEL_FROZEN}\n </Label>\n </div>\n );\n}\n\nexport default FrozenNotification;\n"],"names":["FrozenNotification","stringSet","useContext","LocalizationContext","React","LabelTypography","CAPTION_2","CHANNEL_FROZEN"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FrozenNotification.js","sources":["../../../src/smart-components/Channel/components/FrozenNotification/index.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport './frozen-notification.scss';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Label, { LabelTypography } from '../../../../ui/Label';\n\nconst FrozenNotification = (): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-notification sendbird-notification--frozen\">\n <Label\n className=\"sendbird-notification__text\"\n type={LabelTypography.CAPTION_2}\n >\n {stringSet.CHANNEL_FROZEN}\n </Label>\n </div>\n );\n}\n\nexport default FrozenNotification;\n"],"names":["FrozenNotification","stringSet","useContext","LocalizationContext","React","LabelTypography","CAPTION_2","CHANNEL_FROZEN"],"mappings":";;;;;;;AAOMA,IAAAA,kBAAkB,GAAG,YAAA;AACjB,EAAA,IAAAC,SAAS,GAAKC,UAAU,CAACC,mBAAD,CAAV,UAAd,CAAA;EACR,oBACEC,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,qDAAA;AAAf,GAAA,eACEA,6BAAC,KAAD,EAAA;AACE,IAAA,SAAS,EAAC,6BADZ;IAEE,IAAI,EAAEC,eAAe,CAACC,SAAAA;AAFxB,GAAA,EAIGL,SAAS,CAACM,cAJb,CADF,CADF,CAAA;AAUD;;;;"}
|
|
@@ -1,44 +1,45 @@
|
|
|
1
|
-
import { a as __spreadArray } from '../../tslib.es6-
|
|
1
|
+
import { a as __spreadArray } from '../../tslib.es6-4faaa58d.js';
|
|
2
2
|
import React__default, { useState, useRef, useEffect, useLayoutEffect, useMemo } from 'react';
|
|
3
|
-
import { f as format } from '../../index-
|
|
3
|
+
import { f as format } from '../../index-3ddec9e9.js';
|
|
4
4
|
import SuggestedMentionList from './SuggestedMentionList.js';
|
|
5
5
|
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
6
|
-
import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from '../../ChannelProvider-
|
|
7
|
-
import { k as getClassName } from '../../index-
|
|
8
|
-
import { M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-
|
|
6
|
+
import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from '../../ChannelProvider-59559ed8.js';
|
|
7
|
+
import { k as getClassName } from '../../index-46beca69.js';
|
|
8
|
+
import { M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-78e336dd.js';
|
|
9
9
|
import DateSeparator from '../../ui/DateSeparator.js';
|
|
10
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-
|
|
10
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-7b043ab9.js';
|
|
11
11
|
import MessageInput from '../../ui/MessageInput.js';
|
|
12
12
|
import MessageContent from '../../ui/MessageContent.js';
|
|
13
13
|
import FileViewer from './FileViewer.js';
|
|
14
14
|
import RemoveMessage from './RemoveMessageModal.js';
|
|
15
|
-
import { M as MessageInputKeys } from '../../const-
|
|
16
|
-
import { u as useLocalization } from '../../LocalizationContext-
|
|
17
|
-
import '../../index-
|
|
15
|
+
import { M as MessageInputKeys } from '../../const-03293011.js';
|
|
16
|
+
import { u as useLocalization } from '../../LocalizationContext-10829cf3.js';
|
|
17
|
+
import '../../index-940576d8.js';
|
|
18
18
|
import '../../ui/Icon.js';
|
|
19
|
-
import '../../_rollupPluginBabelHelpers-4527872e.js';
|
|
20
19
|
import 'prop-types';
|
|
21
20
|
import '../../ui/Avatar.js';
|
|
22
21
|
import '../../ui/ImageRenderer.js';
|
|
23
|
-
import '../../uuid-
|
|
22
|
+
import '../../uuid-4521c466.js';
|
|
24
23
|
import '../../withSendbird.js';
|
|
25
|
-
import '../../
|
|
26
|
-
import '../../
|
|
27
|
-
import '../../
|
|
28
|
-
import '../../
|
|
29
|
-
import '../../
|
|
24
|
+
import '../../_rollupPluginBabelHelpers-22c28a74.js';
|
|
25
|
+
import '../../UserProfileContext-beacab28.js';
|
|
26
|
+
import '../../topics-24c0f724.js';
|
|
27
|
+
import '../../compareIds-332d261c.js';
|
|
28
|
+
import '../../groupChannel-3301a732.js';
|
|
29
|
+
import '../../__bundle-c41dd401-d4ab6c10.js';
|
|
30
30
|
import '../../ui/ContextMenu.js';
|
|
31
31
|
import 'react-dom';
|
|
32
32
|
import '../../ui/SortByRow.js';
|
|
33
|
-
import '../../stringSet-
|
|
33
|
+
import '../../stringSet-804c49f3.js';
|
|
34
34
|
import '../../ui/ReactionButton.js';
|
|
35
|
-
import '../../color-
|
|
35
|
+
import '../../color-fff21001.js';
|
|
36
|
+
import 'react-dom/server';
|
|
36
37
|
import '../../ui/IconButton.js';
|
|
37
38
|
import '../../ui/Button.js';
|
|
38
39
|
import '../../ui/MentionUserLabel.js';
|
|
39
40
|
import '../../ui/UserProfile.js';
|
|
40
41
|
import '../../sendbirdSelectors.js';
|
|
41
|
-
import '../../utils-
|
|
42
|
+
import '../../utils-32938255.js';
|
|
42
43
|
import '../../ui/MessageStatus.js';
|
|
43
44
|
import '../../ui/Loader.js';
|
|
44
45
|
import '../../ui/MessageItemMenu.js';
|
|
@@ -58,10 +59,10 @@ import '../../ui/ThumbnailMessageItemBody.js';
|
|
|
58
59
|
import '../../ui/OGMessageItemBody.js';
|
|
59
60
|
import '../../ui/UnknownMessageItemBody.js';
|
|
60
61
|
import '../../ui/QuoteMessage.js';
|
|
61
|
-
import '../../index-
|
|
62
|
+
import '../../index-5e788130.js';
|
|
62
63
|
import '../../ui/Modal.js';
|
|
63
64
|
|
|
64
|
-
var Message = function
|
|
65
|
+
var Message = function (props) {
|
|
65
66
|
var _a;
|
|
66
67
|
|
|
67
68
|
var message = props.message,
|
|
@@ -251,7 +252,7 @@ var Message = function Message(props) {
|
|
|
251
252
|
targetNickname: mentionNickname,
|
|
252
253
|
inputEvent: messageInputEvent,
|
|
253
254
|
renderUserMentionItem: renderUserMentionItem,
|
|
254
|
-
onUserItemClick: function
|
|
255
|
+
onUserItemClick: function (user) {
|
|
255
256
|
if (user) {
|
|
256
257
|
setMentionedUsers(__spreadArray(__spreadArray([], mentionedUsers, true), [user], false));
|
|
257
258
|
}
|
|
@@ -260,10 +261,10 @@ var Message = function Message(props) {
|
|
|
260
261
|
setSelectedUser(user);
|
|
261
262
|
setMessageInputEvent(null);
|
|
262
263
|
},
|
|
263
|
-
onFocusItemChange: function
|
|
264
|
+
onFocusItemChange: function () {
|
|
264
265
|
setMessageInputEvent(null);
|
|
265
266
|
},
|
|
266
|
-
onFetchUsers: function
|
|
267
|
+
onFetchUsers: function (users) {
|
|
267
268
|
setMentionSuggestedUsers(users);
|
|
268
269
|
},
|
|
269
270
|
ableAddMention: ableMention,
|
|
@@ -276,7 +277,7 @@ var Message = function Message(props) {
|
|
|
276
277
|
mentionSelectedUser: selectedUser,
|
|
277
278
|
isMentionEnabled: isMentionEnabled,
|
|
278
279
|
message: message,
|
|
279
|
-
onUpdateMessage: function
|
|
280
|
+
onUpdateMessage: function (_a) {
|
|
280
281
|
var messageId = _a.messageId,
|
|
281
282
|
message = _a.message,
|
|
282
283
|
mentionTemplate = _a.mentionTemplate;
|
|
@@ -288,26 +289,26 @@ var Message = function Message(props) {
|
|
|
288
289
|
});
|
|
289
290
|
setShowEdit(false);
|
|
290
291
|
},
|
|
291
|
-
onCancelEdit: function
|
|
292
|
+
onCancelEdit: function () {
|
|
292
293
|
setMentionNickname('');
|
|
293
294
|
setMentionedUsers([]);
|
|
294
295
|
setMentionedUserIds([]);
|
|
295
296
|
setMentionSuggestedUsers([]);
|
|
296
297
|
setShowEdit(false);
|
|
297
298
|
},
|
|
298
|
-
onUserMentioned: function
|
|
299
|
+
onUserMentioned: function (user) {
|
|
299
300
|
if ((selectedUser === null || selectedUser === void 0 ? void 0 : selectedUser.userId) === (user === null || user === void 0 ? void 0 : user.userId)) {
|
|
300
301
|
setSelectedUser(null);
|
|
301
302
|
setMentionNickname('');
|
|
302
303
|
}
|
|
303
304
|
},
|
|
304
|
-
onMentionStringChange: function
|
|
305
|
+
onMentionStringChange: function (mentionText) {
|
|
305
306
|
setMentionNickname(mentionText);
|
|
306
307
|
},
|
|
307
|
-
onMentionedUserIdsUpdated: function
|
|
308
|
+
onMentionedUserIdsUpdated: function (userIds) {
|
|
308
309
|
setMentionedUserIds(userIds);
|
|
309
310
|
},
|
|
310
|
-
onKeyDown: function
|
|
311
|
+
onKeyDown: function (e) {
|
|
311
312
|
if (displaySuggestedMentionList && (mentionSuggestedUsers === null || mentionSuggestedUsers === void 0 ? void 0 : mentionSuggestedUsers.length) > 0 && (e.key === MessageInputKeys.Enter && ableMention || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)) {
|
|
312
313
|
setMessageInputEvent(e);
|
|
313
314
|
return true;
|
|
@@ -350,12 +351,12 @@ var Message = function Message(props) {
|
|
|
350
351
|
setQuoteMessage: setQuoteMessage
|
|
351
352
|
}), showRemove && /*#__PURE__*/React__default.createElement(RemoveMessage, {
|
|
352
353
|
message: message,
|
|
353
|
-
onCancel: function
|
|
354
|
+
onCancel: function () {
|
|
354
355
|
return setShowRemove(false);
|
|
355
356
|
}
|
|
356
357
|
}), showFileViewer && /*#__PURE__*/React__default.createElement(FileViewer, {
|
|
357
358
|
message: message,
|
|
358
|
-
onCancel: function
|
|
359
|
+
onCancel: function () {
|
|
359
360
|
return setShowFileViewer(false);
|
|
360
361
|
}
|
|
361
362
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.js","sources":["../../../src/smart-components/Channel/components/Message/index.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\n\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT } from '../../context/const';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll: () => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderEditInput?: () => React.ReactElement;\n renderMessageContent?: () => React.ReactElement;\n};\n\nconst Message = (props: MessageUIProps): React.FC<MessageUIProps> | React.ReactElement => {\n const {\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeparator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n } = props;\n\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n userId,\n isOnline,\n isMentionEnabled,\n userMention,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || MAX_USER_MENTION_COUNT;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || MAX_USER_SUGGESTION_COUNT;\n\n const {\n initialized,\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n isReactionEnabled,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n setQuoteMessage,\n resendMessage,\n renderUserMentionItem,\n } = useChannelContext();\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const editMessageInputRef = useRef(null);\n const useMessageScrollRef = useRef(null);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentGroupChannel)\n && !isDisabledBecauseMuted(currentGroupChannel);\n const disabled = !initialized\n || isDisabledBecauseFrozen(currentGroupChannel)\n || isDisabledBecauseMuted(currentGroupChannel)\n || !isOnline;\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n useLayoutEffect(() => {\n if (highLightedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsAnimated(false);\n setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n setTimeout(() => {\n setHighLightedMessageId(0);\n }, 1600);\n }\n } else {\n setIsHighlighted(false);\n }\n }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n if (animatedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsHighlighted(false);\n setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n setTimeout(() => {\n setAnimatedMessageId(0);\n }, 1600);\n }\n } else {\n setIsAnimated(false);\n }\n }, [animatedMessageId, useMessageScrollRef.current, message.messageId]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n const renderedCustomSeparator = useMemo(() => {\n if (renderCustomSeparator) {\n return renderCustomSeparator?.({ message: message });\n }\n return null;\n }, [message, renderCustomSeparator]);\n\n if (renderedMessage) {\n return (\n <div\n ref={useMessageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message.isUserMessage()) {\n return renderEditInput?.() || (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([])\n setShowEdit(false);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n ref={useMessageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n setQuoteMessage={setQuoteMessage}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["Message","props","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeparator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","_b","config","userId","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","MAX_USER_MENTION_COUNT","maxUserSuggestionCount","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_c","useChannelContext","initialized","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","isReactionEnabled","toggleReaction","emojiContainer","nicknamesMap","setQuoteMessage","resendMessage","renderUserMentionItem","_d","useState","showEdit","setShowEdit","_e","showRemove","setShowRemove","_f","showFileViewer","setShowFileViewer","_g","isAnimated","setIsAnimated","_h","isHighlighted","setIsHighlighted","_j","mentionNickname","setMentionNickname","_k","mentionedUsers","setMentionedUsers","_l","mentionedUserIds","setMentionedUserIds","_m","messageInputEvent","setMessageInputEvent","_o","selectedUser","setSelectedUser","_p","mentionSuggestedUsers","setMentionSuggestedUsers","_q","ableMention","setAbleMention","editMessageInputRef","useRef","useMessageScrollRef","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","disabled","useEffect","filter","_a","i","indexOf","splice","useLayoutEffect","reactions","messageId","current","scrollIntoView","block","inline","setTimeout","renderedMessage","useMemo","renderedCustomSeparator","React","getClassName","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","isUserMessage","user","users","mentionTemplate","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","marginBottom","RemoveMessageModal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Message.js","sources":["../../../src/smart-components/Channel/components/Message/index.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\n\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT } from '../../context/const';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll: () => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderEditInput?: () => React.ReactElement;\n renderMessageContent?: () => React.ReactElement;\n};\n\nconst Message = (props: MessageUIProps): React.FC<MessageUIProps> | React.ReactElement => {\n const {\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeparator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n } = props;\n\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n userId,\n isOnline,\n isMentionEnabled,\n userMention,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || MAX_USER_MENTION_COUNT;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || MAX_USER_SUGGESTION_COUNT;\n\n const {\n initialized,\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n isReactionEnabled,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n setQuoteMessage,\n resendMessage,\n renderUserMentionItem,\n } = useChannelContext();\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const editMessageInputRef = useRef(null);\n const useMessageScrollRef = useRef(null);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentGroupChannel)\n && !isDisabledBecauseMuted(currentGroupChannel);\n const disabled = !initialized\n || isDisabledBecauseFrozen(currentGroupChannel)\n || isDisabledBecauseMuted(currentGroupChannel)\n || !isOnline;\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n useLayoutEffect(() => {\n if (highLightedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsAnimated(false);\n setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n setTimeout(() => {\n setHighLightedMessageId(0);\n }, 1600);\n }\n } else {\n setIsHighlighted(false);\n }\n }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n if (animatedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsHighlighted(false);\n setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n setTimeout(() => {\n setAnimatedMessageId(0);\n }, 1600);\n }\n } else {\n setIsAnimated(false);\n }\n }, [animatedMessageId, useMessageScrollRef.current, message.messageId]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n const renderedCustomSeparator = useMemo(() => {\n if (renderCustomSeparator) {\n return renderCustomSeparator?.({ message: message });\n }\n return null;\n }, [message, renderCustomSeparator]);\n\n if (renderedMessage) {\n return (\n <div\n ref={useMessageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message.isUserMessage()) {\n return renderEditInput?.() || (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([])\n setShowEdit(false);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n ref={useMessageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n setQuoteMessage={setQuoteMessage}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["Message","props","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeparator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","_b","config","userId","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","MAX_USER_MENTION_COUNT","maxUserSuggestionCount","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_c","useChannelContext","initialized","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","isReactionEnabled","toggleReaction","emojiContainer","nicknamesMap","setQuoteMessage","resendMessage","renderUserMentionItem","_d","useState","showEdit","setShowEdit","_e","showRemove","setShowRemove","_f","showFileViewer","setShowFileViewer","_g","isAnimated","setIsAnimated","_h","isHighlighted","setIsHighlighted","_j","mentionNickname","setMentionNickname","_k","mentionedUsers","setMentionedUsers","_l","mentionedUserIds","setMentionedUserIds","_m","messageInputEvent","setMessageInputEvent","_o","selectedUser","setSelectedUser","_p","mentionSuggestedUsers","setMentionSuggestedUsers","_q","ableMention","setAbleMention","editMessageInputRef","useRef","useMessageScrollRef","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","disabled","useEffect","filter","_a","i","indexOf","splice","useLayoutEffect","reactions","messageId","current","scrollIntoView","block","inline","setTimeout","renderedMessage","useMemo","renderedCustomSeparator","React","getClassName","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","isUserMessage","user","__spreadArray","users","mentionTemplate","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","marginBottom","RemoveMessageModal"],"mappings":"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"}
|