@sendbird/uikit-react 3.2.6 → 3.3.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 +163 -71
- package/App.js.map +1 -1
- package/CHANGELOG.md +57 -0
- package/Channel/components/ChannelHeader.js +18 -43
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +28 -23
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +14 -14
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +49 -24
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +21 -16
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +30 -32
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +16 -16
- package/Channel/components/SuggestedMentionList.js +54 -48
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +14 -14
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +13 -13
- package/Channel.js +35 -24
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +28 -27
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +26 -24
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +32 -25
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +27 -27
- package/{ChannelListProvider-6596e633.js → ChannelListProvider-82fa5abc.js} +8 -8
- package/{ChannelListProvider-6596e633.js.map → ChannelListProvider-82fa5abc.js.map} +1 -1
- package/{ChannelProvider-5e995fe8.js → ChannelProvider-0c8ccbbf.js} +96 -47
- package/ChannelProvider-0c8ccbbf.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +12 -12
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/ChannelSettings/components/LeaveChannel.js +12 -12
- package/ChannelSettings/components/ModerationPanel.js +24 -19
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +13 -13
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -18
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/InviteUsers.js +14 -14
- package/CreateChannel/components/SelectChannelType.js +11 -11
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-fc0268d6.js → CreateChannelProvider-5bd3ebea.js} +1 -1
- package/{CreateChannelProvider-fc0268d6.js.map → CreateChannelProvider-5bd3ebea.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +10 -10
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-a90809c7.js → LocalizationContext-410574e8.js} +3 -3
- package/{LocalizationContext-a90809c7.js.map → LocalizationContext-410574e8.js.map} +1 -1
- package/{MediaQueryContext-280871f5.js → MediaQueryContext-53329809.js} +1 -1
- package/{MediaQueryContext-280871f5.js.map → MediaQueryContext-53329809.js.map} +1 -1
- package/{MemberList-25c34d5b.js → MemberList-35d3c304.js} +7 -6
- package/MemberList-35d3c304.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +13 -13
- package/OpenChannel/components/OpenChannelInput.js +15 -15
- package/OpenChannel/components/OpenChannelMessage.js +22 -22
- package/OpenChannel/components/OpenChannelMessageList.js +24 -24
- package/OpenChannel/components/OpenChannelUI.js +24 -24
- package/OpenChannel/context.js +9 -9
- package/OpenChannel.js +24 -24
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +4 -4
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-9b77cf19.js → OpenChannelListProvider-f58761c4.js} +3 -3
- package/{OpenChannelListProvider-9b77cf19.js.map → OpenChannelListProvider-f58761c4.js.map} +1 -1
- package/{OpenChannelProvider-911f3536.js → OpenChannelProvider-a572410e.js} +7 -7
- package/OpenChannelProvider-a572410e.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +18 -18
- package/RemoveMessageModal-13018bc9.js +31 -0
- package/RemoveMessageModal-13018bc9.js.map +1 -0
- package/SendbirdProvider.js +18 -14
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +360 -0
- package/Thread/components/ParentMessageInfo.js.map +1 -0
- package/Thread/components/ParentMessageInfoItem.js +197 -0
- package/Thread/components/ParentMessageInfoItem.js.map +1 -0
- package/Thread/components/ThreadHeader.js +61 -0
- package/Thread/components/ThreadHeader.js.map +1 -0
- package/Thread/components/ThreadList.js +139 -0
- package/Thread/components/ThreadList.js.map +1 -0
- package/Thread/components/ThreadListItem.js +522 -0
- package/Thread/components/ThreadListItem.js.map +1 -0
- package/Thread/components/ThreadMessageInput.js +193 -0
- package/Thread/components/ThreadMessageInput.js.map +1 -0
- package/Thread/components/ThreadUI.js +314 -0
- package/Thread/components/ThreadUI.js.map +1 -0
- package/Thread/context/types.js +30 -0
- package/Thread/context/types.js.map +1 -0
- package/Thread/context.js +18 -0
- package/Thread/context.js.map +1 -0
- package/Thread.js +112 -0
- package/Thread.js.map +1 -0
- package/ThreadProvider-b7452f09.js +1644 -0
- package/ThreadProvider-b7452f09.js.map +1 -0
- package/{UserProfileContext-4e70ef73.js → UserProfileContext-2af91c5b.js} +1 -1
- package/{UserProfileContext-4e70ef73.js.map → UserProfileContext-2af91c5b.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-51c9f5c3.js → _rollupPluginBabelHelpers-0df8ccf2.js} +1 -1
- package/_rollupPluginBabelHelpers-0df8ccf2.js.map +1 -0
- package/{actionTypes-3dc172c6.js → actionTypes-56bfddb6.js} +1 -1
- package/{actionTypes-3dc172c6.js.map → actionTypes-56bfddb6.js.map} +1 -1
- package/cjs/App.js +163 -71
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +20 -45
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +28 -23
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +14 -14
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +49 -24
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +21 -16
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +30 -32
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +16 -16
- package/cjs/Channel/components/SuggestedMentionList.js +54 -48
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +14 -14
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +17 -13
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel.js +35 -24
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +28 -27
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +26 -24
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +32 -25
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +27 -27
- package/cjs/{ChannelListProvider-a61b57d9.js → ChannelListProvider-2b605a05.js} +8 -8
- package/cjs/{ChannelListProvider-a61b57d9.js.map → ChannelListProvider-2b605a05.js.map} +1 -1
- package/cjs/{ChannelProvider-4dd6e426.js → ChannelProvider-0151b6ec.js} +95 -46
- package/cjs/ChannelProvider-0151b6ec.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
- package/cjs/ChannelSettings/components/ModerationPanel.js +24 -19
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +13 -13
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js +14 -14
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-29af9e9c.js → CreateChannelProvider-67a24a4a.js} +1 -1
- package/cjs/{CreateChannelProvider-29af9e9c.js.map → CreateChannelProvider-67a24a4a.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +10 -10
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-3c85c616.js → LocalizationContext-68ab5e81.js} +3 -3
- package/cjs/{LocalizationContext-3c85c616.js.map → LocalizationContext-68ab5e81.js.map} +1 -1
- package/cjs/{MediaQueryContext-c8f557d1.js → MediaQueryContext-7bd4247a.js} +1 -1
- package/cjs/{MediaQueryContext-c8f557d1.js.map → MediaQueryContext-7bd4247a.js.map} +1 -1
- package/cjs/{MemberList-0861d5f8.js → MemberList-61efd673.js} +7 -6
- package/cjs/MemberList-61efd673.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
- package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
- package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
- package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
- package/cjs/OpenChannel/context.js +9 -9
- package/cjs/OpenChannel.js +24 -24
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-934729b4.js → OpenChannelListProvider-03c75ad9.js} +3 -3
- package/cjs/{OpenChannelListProvider-934729b4.js.map → OpenChannelListProvider-03c75ad9.js.map} +1 -1
- package/cjs/{OpenChannelProvider-c05255cc.js → OpenChannelProvider-b3dacb85.js} +7 -7
- package/cjs/OpenChannelProvider-b3dacb85.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +18 -18
- package/cjs/RemoveMessageModal-22d7e167.js +37 -0
- package/cjs/RemoveMessageModal-22d7e167.js.map +1 -0
- package/cjs/SendbirdProvider.js +18 -14
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +366 -0
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -0
- package/cjs/Thread/components/ParentMessageInfoItem.js +203 -0
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -0
- package/cjs/Thread/components/ThreadHeader.js +67 -0
- package/cjs/Thread/components/ThreadHeader.js.map +1 -0
- package/cjs/Thread/components/ThreadList.js +145 -0
- package/cjs/Thread/components/ThreadList.js.map +1 -0
- package/cjs/Thread/components/ThreadListItem.js +528 -0
- package/cjs/Thread/components/ThreadListItem.js.map +1 -0
- package/cjs/Thread/components/ThreadMessageInput.js +199 -0
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -0
- package/cjs/Thread/components/ThreadUI.js +320 -0
- package/cjs/Thread/components/ThreadUI.js.map +1 -0
- package/cjs/Thread/context/types.js +32 -0
- package/cjs/Thread/context/types.js.map +1 -0
- package/cjs/Thread/context.js +27 -0
- package/cjs/Thread/context.js.map +1 -0
- package/cjs/Thread.js +118 -0
- package/cjs/Thread.js.map +1 -0
- package/cjs/ThreadProvider-06e039df.js +1653 -0
- package/cjs/ThreadProvider-06e039df.js.map +1 -0
- package/cjs/{UserProfileContext-c16bb529.js → UserProfileContext-a411f7b7.js} +1 -1
- package/cjs/{UserProfileContext-c16bb529.js.map → UserProfileContext-a411f7b7.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-23c0e950.js → _rollupPluginBabelHelpers-3886e03a.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-3886e03a.js.map +1 -0
- package/cjs/{actionTypes-d80c4fb6.js → actionTypes-898f9ec5.js} +1 -1
- package/cjs/{actionTypes-d80c4fb6.js.map → actionTypes-898f9ec5.js.map} +1 -1
- package/cjs/{color-03c2ecf2.js → color-4ed3829e.js} +1 -1
- package/cjs/{color-03c2ecf2.js.map → color-4ed3829e.js.map} +1 -1
- package/cjs/{compareIds-c670ae57.js → compareIds-fc53942c.js} +1 -1
- package/cjs/{compareIds-c670ae57.js.map → compareIds-fc53942c.js.map} +1 -1
- package/cjs/{const-fe6f002d.js → const-8a65fe1e.js} +1 -1
- package/cjs/{const-fe6f002d.js.map → const-8a65fe1e.js.map} +1 -1
- package/cjs/{const-0095baf3.js → const-d025f0a2.js} +7 -1
- package/cjs/const-d025f0a2.js.map +1 -0
- package/cjs/{context-0fb617f1.js → context-48995334.js} +2 -2
- package/cjs/{context-0fb617f1.js.map → context-48995334.js.map} +1 -1
- package/cjs/dist/index.css +1049 -196
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-607cb4ff.js → index-0cab061c.js} +1 -1
- package/cjs/{index-607cb4ff.js.map → index-0cab061c.js.map} +1 -1
- package/cjs/{index-97e2a887.js → index-2439032c.js} +9 -9
- package/cjs/index-2439032c.js.map +1 -0
- package/cjs/{index-b1a4b6f0.js → index-249ae5ae.js} +2 -2
- package/cjs/{index-b1a4b6f0.js.map → index-249ae5ae.js.map} +1 -1
- package/cjs/{index-fab17fef.js → index-311c564c.js} +4 -4
- package/cjs/{index-fab17fef.js.map → index-311c564c.js.map} +1 -1
- package/cjs/{index-0854d1ea.js → index-4a58b2e1.js} +2 -2
- package/cjs/{index-0854d1ea.js.map → index-4a58b2e1.js.map} +1 -1
- package/cjs/{index-039012c4.js → index-79006076.js} +4 -4
- package/cjs/{index-039012c4.js.map → index-79006076.js.map} +1 -1
- package/cjs/{index-1042f264.js → index-858d4ced.js} +2 -2
- package/cjs/{index-1042f264.js.map → index-858d4ced.js.map} +1 -1
- package/cjs/{index-27c6a6bc.js → index-9a71cc15.js} +2 -2
- package/cjs/{index-27c6a6bc.js.map → index-9a71cc15.js.map} +1 -1
- package/cjs/{index-475ae379.js → index-a8e6344b.js} +5 -5
- package/cjs/{index-475ae379.js.map → index-a8e6344b.js.map} +1 -1
- package/cjs/{index-1218eab2.js → index-c015580f.js} +7 -7
- package/cjs/index-c015580f.js.map +1 -0
- package/cjs/{index-1b69f7d2.js → index-f31610a5.js} +1 -1
- package/cjs/{index-1b69f7d2.js.map → index-f31610a5.js.map} +1 -1
- package/cjs/index.js +82 -68
- package/cjs/index.js.map +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-da2fe019.js → stringSet-fd892563.js} +17 -3
- package/cjs/stringSet-fd892563.js.map +1 -0
- package/cjs/{topics-fd2124f5.js → topics-6a30e46d.js} +1 -1
- package/cjs/{topics-fd2124f5.js.map → topics-6a30e46d.js.map} +1 -1
- package/cjs/tslib.es6-029d13d0.js +97 -0
- package/cjs/{tslib.es6-bce345aa.js.map → tslib.es6-029d13d0.js.map} +1 -1
- package/cjs/ui/Accordion.js +3 -3
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +3 -3
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +15 -11
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +26 -14
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +11 -8
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +15 -14
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +104 -56
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +17 -13
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +40 -16
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +9 -9
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +11 -11
- package/cjs/ui/MessageStatus.js.map +1 -1
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +11 -13
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +3 -3
- package/cjs/ui/OpenChannelAvatar.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +21 -19
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +18 -18
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +17 -17
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +16 -16
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/QuoteMessage.js +34 -16
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +11 -11
- package/cjs/ui/ThreadReplies.js +82 -0
- package/cjs/ui/ThreadReplies.js.map +1 -0
- package/cjs/ui/ThumbnailMessageItemBody.js +14 -12
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +17 -17
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +14 -12
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/Word.js +11 -11
- package/cjs/{useLongPress-698416e4.js → useLongPress-40972b66.js} +3 -3
- package/cjs/{useLongPress-698416e4.js.map → useLongPress-40972b66.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils-d43cb0c1.js +32 -0
- package/cjs/utils-d43cb0c1.js.map +1 -0
- package/cjs/{utils-8a793976.js → utils-d8127210.js} +1 -1
- package/cjs/{utils-8a793976.js.map → utils-d8127210.js.map} +1 -1
- package/cjs/{utils-557bb5d2.js → utils-db6fb27a.js} +1 -1
- package/cjs/{utils-557bb5d2.js.map → utils-db6fb27a.js.map} +1 -1
- package/cjs/{utils-0d32641e.js → utils-f90f83c1.js} +1 -1
- package/cjs/{utils-0d32641e.js.map → utils-f90f83c1.js.map} +1 -1
- package/cjs/{uuid-2a459d4b.js → uuid-de38f276.js} +1 -1
- package/cjs/{uuid-2a459d4b.js.map → uuid-de38f276.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-e740c17f.js → color-1619c1b7.js} +1 -1
- package/{color-e740c17f.js.map → color-1619c1b7.js.map} +1 -1
- package/{compareIds-e84966df.js → compareIds-bbc4e959.js} +1 -1
- package/{compareIds-e84966df.js.map → compareIds-bbc4e959.js.map} +1 -1
- package/{const-3c9680d2.js → const-0751201c.js} +1 -1
- package/{const-3c9680d2.js.map → const-0751201c.js.map} +1 -1
- package/const-6e3eaa64.js +14 -0
- package/const-6e3eaa64.js.map +1 -0
- package/{context-3adaf9b3.js → context-0ecfbd98.js} +2 -2
- package/{context-3adaf9b3.js.map → context-0ecfbd98.js.map} +1 -1
- package/dist/index.css +1049 -196
- package/dist/index.css.map +1 -1
- package/{index-8ce0c4b6.js → index-2e0b072c.js} +5 -5
- package/{index-8ce0c4b6.js.map → index-2e0b072c.js.map} +1 -1
- package/{index-873ffa33.js → index-3ade03b5.js} +4 -4
- package/{index-873ffa33.js.map → index-3ade03b5.js.map} +1 -1
- package/{index-fb4777a9.js → index-43349e3a.js} +4 -4
- package/{index-fb4777a9.js.map → index-43349e3a.js.map} +1 -1
- package/{index-ca3ba8a0.js → index-468659e6.js} +7 -7
- package/index-468659e6.js.map +1 -0
- package/{index-8d74bd4b.js → index-4e38f6d5.js} +1 -1
- package/{index-8d74bd4b.js.map → index-4e38f6d5.js.map} +1 -1
- package/{index-0fa44537.js → index-51219968.js} +2 -2
- package/{index-0fa44537.js.map → index-51219968.js.map} +1 -1
- package/{index-8e0d1cc6.js → index-51ef2190.js} +1 -1
- package/{index-8e0d1cc6.js.map → index-51ef2190.js.map} +1 -1
- package/{index-64740116.js → index-59fddbdc.js} +2 -2
- package/{index-64740116.js.map → index-59fddbdc.js.map} +1 -1
- package/{index-cfdf3b6d.js → index-7ad981b0.js} +2 -2
- package/{index-cfdf3b6d.js.map → index-7ad981b0.js.map} +1 -1
- package/{index-041c94d3.js → index-dfbeafcd.js} +2 -2
- package/{index-041c94d3.js.map → index-dfbeafcd.js.map} +1 -1
- package/{index-05c36d6c.js → index-dfc090e4.js} +9 -9
- package/index-dfc090e4.js.map +1 -0
- package/index.d.ts +230 -14
- package/index.js +82 -68
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-e413411d.js → stringSet-bd5e1130.js} +17 -3
- package/stringSet-bd5e1130.js.map +1 -0
- package/{topics-b81e5b9b.js → topics-d58e48df.js} +1 -1
- package/{topics-b81e5b9b.js.map → topics-d58e48df.js.map} +1 -1
- package/tslib.es6-0f615f78.js +92 -0
- package/{tslib.es6-e592f653.js.map → tslib.es6-0f615f78.js.map} +1 -1
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +15 -11
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +26 -14
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +11 -8
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +8 -8
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +15 -14
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MessageContent.js +104 -56
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +17 -13
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +40 -16
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +9 -9
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +11 -11
- package/ui/MessageStatus.js.map +1 -1
- package/ui/Modal.js +7 -7
- package/ui/Modal.js.map +1 -1
- package/ui/OGMessageItemBody.js +11 -13
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +21 -19
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +18 -18
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +17 -17
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +16 -16
- package/ui/PlaceHolder.js +6 -6
- package/ui/QuoteMessage.js +34 -16
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +11 -11
- package/ui/ThreadReplies.js +76 -0
- package/ui/ThreadReplies.js.map +1 -0
- package/ui/ThumbnailMessageItemBody.js +14 -12
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +17 -17
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +14 -12
- package/ui/UserProfile.js.map +1 -1
- package/ui/Word.js +11 -11
- package/{useLongPress-8cda7590.js → useLongPress-3d0759b4.js} +3 -3
- package/{useLongPress-8cda7590.js.map → useLongPress-3d0759b4.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/{utils-c2438081.js → utils-9f07eb45.js} +1 -1
- package/{utils-c2438081.js.map → utils-9f07eb45.js.map} +1 -1
- package/{utils-f95bafde.js → utils-d76efebb.js} +1 -1
- package/{utils-f95bafde.js.map → utils-d76efebb.js.map} +1 -1
- package/{utils-90964f90.js → utils-db1bf7d1.js} +1 -1
- package/{utils-90964f90.js.map → utils-db1bf7d1.js.map} +1 -1
- package/utils-e2976a74.js +30 -0
- package/utils-e2976a74.js.map +1 -0
- package/{uuid-c41826f3.js → uuid-9f76bbf8.js} +1 -1
- package/{uuid-c41826f3.js.map → uuid-9f76bbf8.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelProvider-5e995fe8.js.map +0 -1
- package/MemberList-25c34d5b.js.map +0 -1
- package/OpenChannelProvider-911f3536.js.map +0 -1
- package/_rollupPluginBabelHelpers-51c9f5c3.js.map +0 -1
- package/cjs/ChannelProvider-4dd6e426.js.map +0 -1
- package/cjs/MemberList-0861d5f8.js.map +0 -1
- package/cjs/OpenChannelProvider-c05255cc.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-23c0e950.js.map +0 -1
- package/cjs/const-0095baf3.js.map +0 -1
- package/cjs/index-1218eab2.js.map +0 -1
- package/cjs/index-97e2a887.js.map +0 -1
- package/cjs/stringSet-da2fe019.js.map +0 -1
- package/cjs/tslib.es6-bce345aa.js +0 -57
- package/const-630a8129.js +0 -8
- package/const-630a8129.js.map +0 -1
- package/index-05c36d6c.js.map +0 -1
- package/index-ca3ba8a0.js.map +0 -1
- package/stringSet-e413411d.js.map +0 -1
- package/tslib.es6-e592f653.js +0 -54
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var LocalizationContext = require('../../LocalizationContext-
|
|
4
|
+
var LocalizationContext = require('../../LocalizationContext-68ab5e81.js');
|
|
5
5
|
var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
|
|
6
|
-
var ui_Label = require('../../index-
|
|
6
|
+
var ui_Label = require('../../index-249ae5ae.js');
|
|
7
7
|
var ui_IconButton = require('../../ui/IconButton.js');
|
|
8
8
|
var ui_Avatar = require('../../ui/Avatar.js');
|
|
9
|
-
require('../../stringSet-
|
|
10
|
-
require('../../index-
|
|
9
|
+
require('../../stringSet-fd892563.js');
|
|
10
|
+
require('../../index-0cab061c.js');
|
|
11
11
|
require('../../withSendbird.js');
|
|
12
|
-
require('../../_rollupPluginBabelHelpers-
|
|
12
|
+
require('../../_rollupPluginBabelHelpers-3886e03a.js');
|
|
13
13
|
require('prop-types');
|
|
14
|
-
require('../../tslib.es6-
|
|
14
|
+
require('../../tslib.es6-029d13d0.js');
|
|
15
15
|
require('../../ui/ImageRenderer.js');
|
|
16
16
|
require('../../ui/Icon.js');
|
|
17
|
-
require('../../uuid-
|
|
17
|
+
require('../../uuid-de38f276.js');
|
|
18
18
|
|
|
19
19
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
20
|
|
|
@@ -5,67 +5,67 @@ var ChannelList_components_ChannelListHeader = require('./ChannelListHeader.js')
|
|
|
5
5
|
var ChannelList_components_AddChannel = require('./AddChannel.js');
|
|
6
6
|
var ChannelList_components_ChannelPreview = require('./ChannelPreview.js');
|
|
7
7
|
var ChannelList_components_ChannelPreviewAction = require('./ChannelPreviewAction.js');
|
|
8
|
-
var ChannelList_context = require('../../ChannelListProvider-
|
|
8
|
+
var ChannelList_context = require('../../ChannelListProvider-2b605a05.js');
|
|
9
9
|
var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
|
|
10
10
|
var EditUserProfile = require('../../EditUserProfile.js');
|
|
11
|
-
var ui_PlaceHolder = require('../../index-
|
|
12
|
-
require('../../LocalizationContext-
|
|
13
|
-
require('../../stringSet-
|
|
14
|
-
require('../../index-
|
|
15
|
-
require('../../index-
|
|
11
|
+
var ui_PlaceHolder = require('../../index-79006076.js');
|
|
12
|
+
require('../../LocalizationContext-68ab5e81.js');
|
|
13
|
+
require('../../stringSet-fd892563.js');
|
|
14
|
+
require('../../index-0cab061c.js');
|
|
15
|
+
require('../../index-249ae5ae.js');
|
|
16
16
|
require('prop-types');
|
|
17
17
|
require('../../ui/IconButton.js');
|
|
18
|
-
require('../../tslib.es6-
|
|
18
|
+
require('../../tslib.es6-029d13d0.js');
|
|
19
19
|
require('../../ui/Avatar.js');
|
|
20
20
|
require('../../ui/ImageRenderer.js');
|
|
21
21
|
require('../../ui/Icon.js');
|
|
22
|
-
require('../../uuid-
|
|
22
|
+
require('../../uuid-de38f276.js');
|
|
23
23
|
require('../../CreateChannel.js');
|
|
24
24
|
require('../../CreateChannel/components/CreateChannelUI.js');
|
|
25
|
-
require('../../CreateChannelProvider-
|
|
25
|
+
require('../../CreateChannelProvider-67a24a4a.js');
|
|
26
26
|
require('../../sendbirdSelectors.js');
|
|
27
|
-
require('../../topics-
|
|
28
|
-
require('../../utils-
|
|
27
|
+
require('../../topics-6a30e46d.js');
|
|
28
|
+
require('../../utils-db6fb27a.js');
|
|
29
29
|
require('../../CreateChannel/components/InviteUsers.js');
|
|
30
30
|
require('../../ui/Modal.js');
|
|
31
31
|
require('react-dom');
|
|
32
|
-
require('../../index-
|
|
32
|
+
require('../../index-f31610a5.js');
|
|
33
33
|
require('../../ui/Button.js');
|
|
34
|
-
require('../../MediaQueryContext-
|
|
34
|
+
require('../../MediaQueryContext-7bd4247a.js');
|
|
35
35
|
require('../../ui/UserListItem.js');
|
|
36
|
-
require('../../UserProfileContext-
|
|
36
|
+
require('../../UserProfileContext-a411f7b7.js');
|
|
37
37
|
require('../../ui/MutedAvatarOverlay.js');
|
|
38
38
|
require('../../ui/Checkbox.js');
|
|
39
39
|
require('../../ui/UserProfile.js');
|
|
40
40
|
require('../../withSendbird.js');
|
|
41
|
-
require('../../_rollupPluginBabelHelpers-
|
|
41
|
+
require('../../_rollupPluginBabelHelpers-3886e03a.js');
|
|
42
42
|
require('../../ui/ContextMenu.js');
|
|
43
43
|
require('../../ui/SortByRow.js');
|
|
44
|
-
require('../../index-
|
|
44
|
+
require('../../index-c015580f.js');
|
|
45
45
|
require('../../utils/message/getOutgoingMessageState.js');
|
|
46
46
|
require('../../CreateChannel/components/SelectChannelType.js');
|
|
47
47
|
require('../../ui/ChannelAvatar.js');
|
|
48
|
-
require('../../utils-
|
|
48
|
+
require('../../utils-f90f83c1.js');
|
|
49
49
|
require('../../ui/Badge.js');
|
|
50
|
-
require('../../index-
|
|
51
|
-
require('../../index-
|
|
52
|
-
require('../../index-
|
|
50
|
+
require('../../index-311c564c.js');
|
|
51
|
+
require('../../index-4a58b2e1.js');
|
|
52
|
+
require('../../index-858d4ced.js');
|
|
53
53
|
require('../../ui/MentionUserLabel.js');
|
|
54
54
|
require('../../ui/TextButton.js');
|
|
55
|
-
require('../../color-
|
|
55
|
+
require('../../color-4ed3829e.js');
|
|
56
56
|
require('../../Channel/components/TypingIndicator.js');
|
|
57
57
|
require('@sendbird/chat/groupChannel');
|
|
58
|
-
require('../../ChannelProvider-
|
|
59
|
-
require('../../compareIds-
|
|
60
|
-
require('../../const-
|
|
58
|
+
require('../../ChannelProvider-0151b6ec.js');
|
|
59
|
+
require('../../compareIds-fc53942c.js');
|
|
60
|
+
require('../../const-d025f0a2.js');
|
|
61
61
|
require('@sendbird/chat/message');
|
|
62
62
|
require('../../ui/ReactionButton.js');
|
|
63
63
|
require('../../ui/MessageStatus.js');
|
|
64
64
|
require('../../ui/Loader.js');
|
|
65
|
-
require('../../useLongPress-
|
|
66
|
-
require('../../index-
|
|
65
|
+
require('../../useLongPress-40972b66.js');
|
|
66
|
+
require('../../index-a8e6344b.js');
|
|
67
67
|
require('../../ui/Input.js');
|
|
68
|
-
require('../../actionTypes-
|
|
68
|
+
require('../../actionTypes-898f9ec5.js');
|
|
69
69
|
|
|
70
70
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
71
71
|
|
|
@@ -255,6 +255,7 @@ var ChannelListUI = function (props) {
|
|
|
255
255
|
}),
|
|
256
256
|
renderChannelAction: function () {
|
|
257
257
|
return /*#__PURE__*/React__default["default"].createElement(ChannelList_components_ChannelPreviewAction, {
|
|
258
|
+
channel: channel,
|
|
258
259
|
disabled: !isOnline,
|
|
259
260
|
onLeaveChannel: function () {
|
|
260
261
|
return onLeaveChannel(channel, null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelListUI.js","sources":["../../../../src/smart-components/ChannelList/components/utils.js","../../../../src/smart-components/ChannelList/components/ChannelListUI/index.tsx"],"sourcesContent":["export const createDefaultUserListQuery = ({ sdk, userFilledApplicationUserListQuery = {} }) => {\n if (sdk?.createApplicationUserListQuery) {\n const params = sdk?.createApplicationUserListQuery();\n if (userFilledApplicationUserListQuery) {\n Object.keys(userFilledApplicationUserListQuery).forEach((key) => {\n params[key] = userFilledApplicationUserListQuery[key];\n });\n }\n return params;\n }\n return null;\n};\n\nconst getApplicationAttributes = (sdk = {}) => {\n const { appInfo = {} } = sdk;\n const { applicationAttributes = [] } = appInfo;\n return applicationAttributes;\n};\n\nexport const isBroadcastChannelEnabled = (sdk = {}) => {\n const ALLOW_BROADCAST_CHANNEL = 'allow_broadcast_channel';\n const applicationAttributes = getApplicationAttributes(sdk);\n\n if (Array.isArray(applicationAttributes)) {\n return applicationAttributes.includes(ALLOW_BROADCAST_CHANNEL);\n }\n\n return false;\n};\nexport const isSuperGroupChannelEnabled = (sdk = {}) => {\n const ALLOW_SUPER_GROUP_CHANNEL = 'allow_super_group_channel';\n const applicationAttributes = getApplicationAttributes(sdk);\n\n if (Array.isArray(applicationAttributes)) {\n return applicationAttributes.includes(ALLOW_SUPER_GROUP_CHANNEL);\n }\n\n return false;\n};\n\nexport const isAboutSame = (a, b, px) => (Math.abs(a - b) <= px);\n\nexport const setChannelType = (params, type) => {\n if (type === 'broadcast') {\n // eslint-disable-next-line no-param-reassign\n params.isBroadcast = true;\n }\n if (type === 'supergroup') {\n // eslint-disable-next-line no-param-reassign\n params.isSuper = true;\n }\n return params;\n};\n\nexport const createChannel = (\n sdk,\n selectedUsers,\n onBeforeCreateChannel,\n userId,\n type = 'group',\n) => new Promise((resolve, reject) => {\n // have custom params\n if (onBeforeCreateChannel) {\n const params = onBeforeCreateChannel(selectedUsers);\n setChannelType(params, type);\n sdk.groupChannel.createChannel(params).then((groupChannel) => {\n resolve(groupChannel);\n }).catch((err) => { reject(err); });\n return;\n }\n\n const params = new sdk.GroupChannelParams();\n params.addUserIds(selectedUsers);\n params.isDistinct = false;\n\n if (userId) {\n params.operatorUserIds = [userId];\n }\n setChannelType(params, type);\n // do not have custom params\n sdk.groupChannel.createChannel(params).then((groupChannel) => {\n resolve(groupChannel);\n }).catch((err) => { resolve(err); });\n});\n\nexport default createChannel;\n","import './channel-list-ui.scss';\n\nimport React, { useState, useEffect } from 'react';\nimport type { GroupChannel, Member, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport type { User } from '@sendbird/chat';\n\nimport ChannelListHeader from '../ChannelListHeader';\nimport AddChannel from '../AddChannel';\nimport ChannelPreview from '../ChannelPreview';\nimport ChannelPreviewAction from '../ChannelPreviewAction';\nimport { useChannelListContext } from '../../context/ChannelListProvider';\nimport * as channelListActions from '../../dux/actionTypes';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport EditUserProfile from '../../../EditUserProfile';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport { isAboutSame } from '../utils';\n\nconst DELIVERY_RECIPT = 'delivery_receipt';\n\ninterface RenderChannelPreviewProps {\n channel: GroupChannel;\n onLeaveChannel(\n channel: GroupChannel,\n onLeaveChannelCb?: (c: GroupChannel) => void,\n );\n}\n\ninterface RenderUserProfileProps {\n user: Member | User;\n currentUserId: string;\n close(): void;\n}\n\nexport interface ChannelListUIProps {\n renderChannelPreview?: (props: RenderChannelPreviewProps) => React.ReactElement;\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactElement;\n renderHeader?: (props: void) => React.ReactElement;\n renderPlaceHolderError?: (props: void) => React.ReactElement;\n renderPlaceHolderLoading?: (props: void) => React.ReactElement;\n renderPlaceHolderEmptyList?: (props: void) => React.ReactElement;\n}\n\nconst ChannelListUI: React.FC<ChannelListUIProps> = (props: ChannelListUIProps) => {\n const {\n renderHeader,\n renderChannelPreview,\n renderPlaceHolderError,\n renderPlaceHolderLoading,\n renderPlaceHolderEmptyList,\n } = props;\n\n const [showProfileEdit, setShowProfileEdit] = useState(false);\n\n const {\n onThemeChange,\n allowProfileEdit,\n allChannels,\n loading,\n currentChannel,\n channelListDispatcher,\n channelSource,\n typingChannels,\n initialized,\n } = useChannelListContext();\n\n const state = useSendbirdStateContext();\n\n const sdkStore = state?.stores?.sdkStore;\n const config = state?.config;\n const {\n logger = null,\n isOnline = false,\n disableMarkAsDelivered = false,\n } = config;\n\n const sdk = sdkStore?.sdk as SendbirdGroupChat;\n const sdkError = sdkStore?.error;\n\n const [channelsTomarkAsRead, setChannelsToMarkAsRead] = useState([]);\n useEffect(() => {\n // https://stackoverflow.com/a/60907638\n let isMounted = true;\n if (channelsTomarkAsRead?.length > 0 && !disableMarkAsDelivered) {\n channelsTomarkAsRead?.forEach((c, idx) => {\n // Plan-based rate limits - minimum limit is 5 requests per second\n setTimeout(() => {\n if (isMounted) {\n c?.markAsDelivered();\n }\n }, 2000 * idx);\n });\n }\n return () => {\n isMounted = false;\n }\n }, [channelsTomarkAsRead]);\n\n return (\n <>\n <div className=\"sendbird-channel-list__header\">\n <ChannelListHeader\n renderHeader={renderHeader}\n onEdit={() => {\n if (allowProfileEdit) {\n setShowProfileEdit(true);\n }\n }}\n allowProfileEdit={allowProfileEdit}\n renderIconButton={() => (\n <AddChannel />\n )}\n />\n </div>\n {\n showProfileEdit && (\n <EditUserProfile\n onThemeChange={onThemeChange}\n onCancel={() => { setShowProfileEdit(false); }}\n onEditProfile={() => {\n setShowProfileEdit(false);\n }}\n />\n )\n }\n <div\n className=\"sendbird-channel-list__body\"\n onScroll={(e) => {\n const target = e?.target as HTMLDivElement;\n const fetchMore = isAboutSame(target.clientHeight + target.scrollTop, target.scrollHeight, 10);\n if (fetchMore && channelSource?.hasNext) {\n logger.info('ChannelList: Fetching more channels');\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_START,\n payload: null,\n });\n channelSource.next().then((channelList) => {\n logger.info('ChannelList: Fetching channels successful', channelList);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_SUCCESS,\n payload: channelList,\n });\n const canSetMarkAsDelivered = sdk?.appInfo?.premiumFeatureList\n ?.find((feature) => (feature === DELIVERY_RECIPT));\n\n if (canSetMarkAsDelivered) {\n logger.info('ChannelList: Marking all channels as read');\n // eslint-disable-next-line no-unused-expressions\n setChannelsToMarkAsRead(channelList);\n }\n }).catch((err) => {\n logger.info('ChannelList: Fetching channels failed', err);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_FAILURE,\n payload: err,\n });\n });\n }\n }}\n >\n {\n (sdkError && !loading) && (\n (renderPlaceHolderError && typeof renderPlaceHolderError === 'function') ? (\n renderPlaceHolderError?.()\n ) : (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n )\n }\n {/*\n To do: Implement windowing\n Implement windowing if you are dealing with large number of messages/channels\n https://github.com/bvaughn/react-window -> recommendation\n We hesitate to bring one more dependency to our library,\n we are planning to implement it inside the library\n */}\n <div>\n {\n allChannels && allChannels.map((channel, idx) => {\n // todo: Refactor and move this inside channel - preview\n const onLeaveChannel = (c, cb) => {\n logger.info('ChannelList: Leaving channel', c);\n c.leave()\n .then((res) => {\n logger.info('ChannelList: Leaving channel success', res);\n if (cb && typeof cb === 'function') {\n cb(res, null);\n }\n channelListDispatcher({\n type: channelListActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel?.url,\n });\n })\n .catch((err) => {\n logger.error('ChannelList: Leaving channel failed', err);\n if (cb && typeof cb === 'function') {\n cb(null, err);\n }\n });\n };\n\n const onClick = () => {\n if (!isOnline) { return; }\n logger.info('ChannelList: Clicked on channel:', channel);\n channelListDispatcher({\n type: channelListActions.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n };\n\n return (\n (renderChannelPreview)\n ? (\n // eslint-disable-next-line\n <div key={channel?.url} onClick={onClick}>\n {renderChannelPreview({ channel, onLeaveChannel })}\n </div>\n )\n : (\n <ChannelPreview\n key={channel?.url}\n tabIndex={idx}\n onClick={onClick}\n channel={channel}\n onLeaveChannel={() => onLeaveChannel(channel, null)}\n isActive={channel?.url === currentChannel?.url}\n isTyping={typingChannels?.some(({ url }) => url === channel?.url)}\n renderChannelAction={(() => (\n <ChannelPreviewAction\n disabled={!isOnline}\n onLeaveChannel={() => onLeaveChannel(channel, null)}\n />\n ))}\n />\n )\n );\n })\n }\n </div>\n {\n (!initialized && loading) && (\n (renderPlaceHolderLoading && typeof renderPlaceHolderLoading === 'function') ? (\n renderPlaceHolderLoading?.()\n ) : (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n )\n }\n {\n (initialized && allChannels?.length === 0) && (\n (renderPlaceHolderEmptyList && typeof renderPlaceHolderEmptyList === 'function') ? (\n renderPlaceHolderEmptyList?.()\n ) : (\n <PlaceHolder type={PlaceHolderTypes.NO_CHANNELS} />\n )\n )\n }\n </div>\n </>\n );\n}\n\nexport default ChannelListUI;\n"],"names":["isAboutSame","a","b","px","Math","abs","DELIVERY_RECIPT","ChannelListUI","props","renderHeader","renderChannelPreview","renderPlaceHolderError","renderPlaceHolderLoading","renderPlaceHolderEmptyList","_b","useState","showProfileEdit","setShowProfileEdit","_c","useChannelListContext","onThemeChange","allowProfileEdit","allChannels","loading","currentChannel","channelListDispatcher","channelSource","typingChannels","initialized","state","useSendbirdStateContext","sdkStore","_a","stores","config","_d","logger","_e","isOnline","_f","disableMarkAsDelivered","sdk","sdkError","error","_g","channelsTomarkAsRead","setChannelsToMarkAsRead","useEffect","isMounted","length","forEach","c","idx","setTimeout","markAsDelivered","React","ChannelListHeader","AddChannel","e","target","fetchMore","clientHeight","scrollTop","scrollHeight","hasNext","info","type","channelListActions","payload","next","then","channelList","canSetMarkAsDelivered","appInfo","premiumFeatureList","find","feature","catch","err","PlaceHolder","PlaceHolderTypes","WRONG","map","channel","onLeaveChannel","cb","leave","res","url","onClick","ChannelPreview","some","ChannelPreviewAction","LOADING","NO_CHANNELS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChannelListUI.js","sources":["../../../../src/smart-components/ChannelList/components/utils.js","../../../../src/smart-components/ChannelList/components/ChannelListUI/index.tsx"],"sourcesContent":["export const createDefaultUserListQuery = ({ sdk, userFilledApplicationUserListQuery = {} }) => {\n if (sdk?.createApplicationUserListQuery) {\n const params = sdk?.createApplicationUserListQuery();\n if (userFilledApplicationUserListQuery) {\n Object.keys(userFilledApplicationUserListQuery).forEach((key) => {\n params[key] = userFilledApplicationUserListQuery[key];\n });\n }\n return params;\n }\n return null;\n};\n\nconst getApplicationAttributes = (sdk = {}) => {\n const { appInfo = {} } = sdk;\n const { applicationAttributes = [] } = appInfo;\n return applicationAttributes;\n};\n\nexport const isBroadcastChannelEnabled = (sdk = {}) => {\n const ALLOW_BROADCAST_CHANNEL = 'allow_broadcast_channel';\n const applicationAttributes = getApplicationAttributes(sdk);\n\n if (Array.isArray(applicationAttributes)) {\n return applicationAttributes.includes(ALLOW_BROADCAST_CHANNEL);\n }\n\n return false;\n};\nexport const isSuperGroupChannelEnabled = (sdk = {}) => {\n const ALLOW_SUPER_GROUP_CHANNEL = 'allow_super_group_channel';\n const applicationAttributes = getApplicationAttributes(sdk);\n\n if (Array.isArray(applicationAttributes)) {\n return applicationAttributes.includes(ALLOW_SUPER_GROUP_CHANNEL);\n }\n\n return false;\n};\n\nexport const isAboutSame = (a, b, px) => (Math.abs(a - b) <= px);\n\nexport const setChannelType = (params, type) => {\n if (type === 'broadcast') {\n // eslint-disable-next-line no-param-reassign\n params.isBroadcast = true;\n }\n if (type === 'supergroup') {\n // eslint-disable-next-line no-param-reassign\n params.isSuper = true;\n }\n return params;\n};\n\nexport const createChannel = (\n sdk,\n selectedUsers,\n onBeforeCreateChannel,\n userId,\n type = 'group',\n) => new Promise((resolve, reject) => {\n // have custom params\n if (onBeforeCreateChannel) {\n const params = onBeforeCreateChannel(selectedUsers);\n setChannelType(params, type);\n sdk.groupChannel.createChannel(params).then((groupChannel) => {\n resolve(groupChannel);\n }).catch((err) => { reject(err); });\n return;\n }\n\n const params = new sdk.GroupChannelParams();\n params.addUserIds(selectedUsers);\n params.isDistinct = false;\n\n if (userId) {\n params.operatorUserIds = [userId];\n }\n setChannelType(params, type);\n // do not have custom params\n sdk.groupChannel.createChannel(params).then((groupChannel) => {\n resolve(groupChannel);\n }).catch((err) => { resolve(err); });\n});\n\nexport default createChannel;\n","import './channel-list-ui.scss';\n\nimport React, { useState, useEffect } from 'react';\nimport type { GroupChannel, Member, SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport type { User } from '@sendbird/chat';\n\nimport ChannelListHeader from '../ChannelListHeader';\nimport AddChannel from '../AddChannel';\nimport ChannelPreview from '../ChannelPreview';\nimport ChannelPreviewAction from '../ChannelPreviewAction';\nimport { useChannelListContext } from '../../context/ChannelListProvider';\nimport * as channelListActions from '../../dux/actionTypes';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport EditUserProfile from '../../../EditUserProfile';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport { isAboutSame } from '../utils';\n\nconst DELIVERY_RECIPT = 'delivery_receipt';\n\ninterface RenderChannelPreviewProps {\n channel: GroupChannel;\n onLeaveChannel(\n channel: GroupChannel,\n onLeaveChannelCb?: (c: GroupChannel) => void,\n );\n}\n\ninterface RenderUserProfileProps {\n user: Member | User;\n currentUserId: string;\n close(): void;\n}\n\nexport interface ChannelListUIProps {\n renderChannelPreview?: (props: RenderChannelPreviewProps) => React.ReactElement;\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactElement;\n renderHeader?: (props: void) => React.ReactElement;\n renderPlaceHolderError?: (props: void) => React.ReactElement;\n renderPlaceHolderLoading?: (props: void) => React.ReactElement;\n renderPlaceHolderEmptyList?: (props: void) => React.ReactElement;\n}\n\nconst ChannelListUI: React.FC<ChannelListUIProps> = (props: ChannelListUIProps) => {\n const {\n renderHeader,\n renderChannelPreview,\n renderPlaceHolderError,\n renderPlaceHolderLoading,\n renderPlaceHolderEmptyList,\n } = props;\n\n const [showProfileEdit, setShowProfileEdit] = useState(false);\n\n const {\n onThemeChange,\n allowProfileEdit,\n allChannels,\n loading,\n currentChannel,\n channelListDispatcher,\n channelSource,\n typingChannels,\n initialized,\n } = useChannelListContext();\n\n const state = useSendbirdStateContext();\n\n const sdkStore = state?.stores?.sdkStore;\n const config = state?.config;\n const {\n logger = null,\n isOnline = false,\n disableMarkAsDelivered = false,\n } = config;\n\n const sdk = sdkStore?.sdk as SendbirdGroupChat;\n const sdkError = sdkStore?.error;\n\n const [channelsTomarkAsRead, setChannelsToMarkAsRead] = useState([]);\n useEffect(() => {\n // https://stackoverflow.com/a/60907638\n let isMounted = true;\n if (channelsTomarkAsRead?.length > 0 && !disableMarkAsDelivered) {\n channelsTomarkAsRead?.forEach((c, idx) => {\n // Plan-based rate limits - minimum limit is 5 requests per second\n setTimeout(() => {\n if (isMounted) {\n c?.markAsDelivered();\n }\n }, 2000 * idx);\n });\n }\n return () => {\n isMounted = false;\n }\n }, [channelsTomarkAsRead]);\n\n return (\n <>\n <div className=\"sendbird-channel-list__header\">\n <ChannelListHeader\n renderHeader={renderHeader}\n onEdit={() => {\n if (allowProfileEdit) {\n setShowProfileEdit(true);\n }\n }}\n allowProfileEdit={allowProfileEdit}\n renderIconButton={() => (\n <AddChannel />\n )}\n />\n </div>\n {\n showProfileEdit && (\n <EditUserProfile\n onThemeChange={onThemeChange}\n onCancel={() => { setShowProfileEdit(false); }}\n onEditProfile={() => {\n setShowProfileEdit(false);\n }}\n />\n )\n }\n <div\n className=\"sendbird-channel-list__body\"\n onScroll={(e) => {\n const target = e?.target as HTMLDivElement;\n const fetchMore = isAboutSame(target.clientHeight + target.scrollTop, target.scrollHeight, 10);\n if (fetchMore && channelSource?.hasNext) {\n logger.info('ChannelList: Fetching more channels');\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_START,\n payload: null,\n });\n channelSource.next().then((channelList) => {\n logger.info('ChannelList: Fetching channels successful', channelList);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_SUCCESS,\n payload: channelList,\n });\n const canSetMarkAsDelivered = sdk?.appInfo?.premiumFeatureList\n ?.find((feature) => (feature === DELIVERY_RECIPT));\n\n if (canSetMarkAsDelivered) {\n logger.info('ChannelList: Marking all channels as read');\n // eslint-disable-next-line no-unused-expressions\n setChannelsToMarkAsRead(channelList);\n }\n }).catch((err) => {\n logger.info('ChannelList: Fetching channels failed', err);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_FAILURE,\n payload: err,\n });\n });\n }\n }}\n >\n {\n (sdkError && !loading) && (\n (renderPlaceHolderError && typeof renderPlaceHolderError === 'function') ? (\n renderPlaceHolderError?.()\n ) : (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n )\n }\n {/*\n To do: Implement windowing\n Implement windowing if you are dealing with large number of messages/channels\n https://github.com/bvaughn/react-window -> recommendation\n We hesitate to bring one more dependency to our library,\n we are planning to implement it inside the library\n */}\n <div>\n {\n allChannels && allChannels.map((channel, idx) => {\n // todo: Refactor and move this inside channel - preview\n const onLeaveChannel = (c, cb) => {\n logger.info('ChannelList: Leaving channel', c);\n c.leave()\n .then((res) => {\n logger.info('ChannelList: Leaving channel success', res);\n if (cb && typeof cb === 'function') {\n cb(res, null);\n }\n channelListDispatcher({\n type: channelListActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel?.url,\n });\n })\n .catch((err) => {\n logger.error('ChannelList: Leaving channel failed', err);\n if (cb && typeof cb === 'function') {\n cb(null, err);\n }\n });\n };\n\n const onClick = () => {\n if (!isOnline) { return; }\n logger.info('ChannelList: Clicked on channel:', channel);\n channelListDispatcher({\n type: channelListActions.SET_CURRENT_CHANNEL,\n payload: channel,\n });\n };\n\n return (\n (renderChannelPreview)\n ? (\n // eslint-disable-next-line\n <div key={channel?.url} onClick={onClick}>\n {renderChannelPreview({ channel, onLeaveChannel })}\n </div>\n )\n : (\n <ChannelPreview\n key={channel?.url}\n tabIndex={idx}\n onClick={onClick}\n channel={channel}\n onLeaveChannel={() => onLeaveChannel(channel, null)}\n isActive={channel?.url === currentChannel?.url}\n isTyping={typingChannels?.some(({ url }) => url === channel?.url)}\n renderChannelAction={(() => (\n <ChannelPreviewAction\n channel={channel}\n disabled={!isOnline}\n onLeaveChannel={() => onLeaveChannel(channel, null)}\n />\n ))}\n />\n )\n );\n })\n }\n </div>\n {\n (!initialized && loading) && (\n (renderPlaceHolderLoading && typeof renderPlaceHolderLoading === 'function') ? (\n renderPlaceHolderLoading?.()\n ) : (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n )\n }\n {\n (initialized && allChannels?.length === 0) && (\n (renderPlaceHolderEmptyList && typeof renderPlaceHolderEmptyList === 'function') ? (\n renderPlaceHolderEmptyList?.()\n ) : (\n <PlaceHolder type={PlaceHolderTypes.NO_CHANNELS} />\n )\n )\n }\n </div>\n </>\n );\n}\n\nexport default ChannelListUI;\n"],"names":["isAboutSame","a","b","px","Math","abs","DELIVERY_RECIPT","ChannelListUI","props","renderHeader","renderChannelPreview","renderPlaceHolderError","renderPlaceHolderLoading","renderPlaceHolderEmptyList","_b","useState","showProfileEdit","setShowProfileEdit","_c","useChannelListContext","onThemeChange","allowProfileEdit","allChannels","loading","currentChannel","channelListDispatcher","channelSource","typingChannels","initialized","state","useSendbirdStateContext","sdkStore","_a","stores","config","_d","logger","_e","isOnline","_f","disableMarkAsDelivered","sdk","sdkError","error","_g","channelsTomarkAsRead","setChannelsToMarkAsRead","useEffect","isMounted","length","forEach","c","idx","setTimeout","markAsDelivered","React","ChannelListHeader","AddChannel","e","target","fetchMore","clientHeight","scrollTop","scrollHeight","hasNext","info","type","channelListActions","payload","next","then","channelList","canSetMarkAsDelivered","appInfo","premiumFeatureList","find","feature","catch","err","PlaceHolder","PlaceHolderTypes","WRONG","map","channel","onLeaveChannel","cb","leave","res","url","onClick","ChannelPreview","some","ChannelPreviewAction","LOADING","NO_CHANNELS"],"mappings":"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"}
|
|
@@ -1,47 +1,47 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _rollupPluginBabelHelpers = require('../../_rollupPluginBabelHelpers-
|
|
4
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
3
|
+
var _rollupPluginBabelHelpers = require('../../_rollupPluginBabelHelpers-3886e03a.js');
|
|
4
|
+
var tslib_es6 = require('../../tslib.es6-029d13d0.js');
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var ui_ChannelAvatar = require('../../ui/ChannelAvatar.js');
|
|
7
7
|
var ui_Badge = require('../../ui/Badge.js');
|
|
8
8
|
var ui_Icon = require('../../ui/Icon.js');
|
|
9
|
-
var ui_Label = require('../../index-
|
|
10
|
-
var index = require('../../index-
|
|
11
|
-
var index$1 = require('../../index-
|
|
12
|
-
var index$2 = require('../../index-
|
|
9
|
+
var ui_Label = require('../../index-249ae5ae.js');
|
|
10
|
+
var index = require('../../index-311c564c.js');
|
|
11
|
+
var index$1 = require('../../index-858d4ced.js');
|
|
12
|
+
var index$2 = require('../../index-c015580f.js');
|
|
13
13
|
var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
|
|
14
|
-
var LocalizationContext = require('../../LocalizationContext-
|
|
14
|
+
var LocalizationContext = require('../../LocalizationContext-68ab5e81.js');
|
|
15
15
|
var ui_MentionUserLabel = require('../../ui/MentionUserLabel.js');
|
|
16
16
|
var ui_Modal = require('../../ui/Modal.js');
|
|
17
17
|
var ui_TextButton = require('../../ui/TextButton.js');
|
|
18
|
-
var ChannelList_context = require('../../ChannelListProvider-
|
|
18
|
+
var ChannelList_context = require('../../ChannelListProvider-2b605a05.js');
|
|
19
19
|
var Channel_components_TypingIndicator = require('../../Channel/components/TypingIndicator.js');
|
|
20
20
|
var ui_MessageStatus = require('../../ui/MessageStatus.js');
|
|
21
|
-
var MediaQueryContext = require('../../MediaQueryContext-
|
|
22
|
-
var useLongPress = require('../../useLongPress-
|
|
21
|
+
var MediaQueryContext = require('../../MediaQueryContext-7bd4247a.js');
|
|
22
|
+
var useLongPress = require('../../useLongPress-40972b66.js');
|
|
23
23
|
require('../../ui/Avatar.js');
|
|
24
24
|
require('../../ui/ImageRenderer.js');
|
|
25
|
-
require('../../uuid-
|
|
26
|
-
require('../../utils-
|
|
25
|
+
require('../../uuid-de38f276.js');
|
|
26
|
+
require('../../utils-f90f83c1.js');
|
|
27
27
|
require('prop-types');
|
|
28
|
-
require('../../stringSet-
|
|
29
|
-
require('../../index-
|
|
30
|
-
require('../../index-
|
|
28
|
+
require('../../stringSet-fd892563.js');
|
|
29
|
+
require('../../index-4a58b2e1.js');
|
|
30
|
+
require('../../index-0cab061c.js');
|
|
31
31
|
require('../../utils/message/getOutgoingMessageState.js');
|
|
32
32
|
require('../../withSendbird.js');
|
|
33
33
|
require('react-dom');
|
|
34
|
-
require('../../index-
|
|
34
|
+
require('../../index-f31610a5.js');
|
|
35
35
|
require('../../ui/Button.js');
|
|
36
36
|
require('../../ui/IconButton.js');
|
|
37
|
-
require('../../color-
|
|
37
|
+
require('../../color-4ed3829e.js');
|
|
38
38
|
require('@sendbird/chat/groupChannel');
|
|
39
|
-
require('../../topics-
|
|
40
|
-
require('../../utils-
|
|
41
|
-
require('../../UserProfileContext-
|
|
42
|
-
require('../../ChannelProvider-
|
|
43
|
-
require('../../compareIds-
|
|
44
|
-
require('../../const-
|
|
39
|
+
require('../../topics-6a30e46d.js');
|
|
40
|
+
require('../../utils-db6fb27a.js');
|
|
41
|
+
require('../../UserProfileContext-a411f7b7.js');
|
|
42
|
+
require('../../ChannelProvider-0151b6ec.js');
|
|
43
|
+
require('../../compareIds-fc53942c.js');
|
|
44
|
+
require('../../const-d025f0a2.js');
|
|
45
45
|
require('@sendbird/chat/message');
|
|
46
46
|
require('../../ui/ContextMenu.js');
|
|
47
47
|
require('../../ui/SortByRow.js');
|
|
@@ -164,7 +164,9 @@ var ChannelPreview = function (_a) {
|
|
|
164
164
|
var isMessageStatusEnabled = isMessageReceiptStatusEnabled && (((_g = channel === null || channel === void 0 ? void 0 : channel.lastMessage) === null || _g === void 0 ? void 0 : _g.messageType) === 'user' || ((_h = channel === null || channel === void 0 ? void 0 : channel.lastMessage) === null || _h === void 0 ? void 0 : _h.messageType) === 'file') && ((_k = (_j = channel === null || channel === void 0 ? void 0 : channel.lastMessage) === null || _j === void 0 ? void 0 : _j.sender) === null || _k === void 0 ? void 0 : _k.userId) === userId;
|
|
165
165
|
var onLongPress = useLongPress.useLongPress({
|
|
166
166
|
onLongPress: function () {
|
|
167
|
-
|
|
167
|
+
if (isMobile) {
|
|
168
|
+
setShowMobileLeave(true);
|
|
169
|
+
}
|
|
168
170
|
},
|
|
169
171
|
onClick: onClick
|
|
170
172
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelPreview.js","sources":["../../../../src/smart-components/ChannelList/components/ChannelPreview/utils.js","../../../../src/smart-components/ChannelList/components/ChannelPreview/index.tsx"],"sourcesContent":["import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport formatRelative from 'date-fns/formatRelative';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncateString } from '../../../../utils';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = (channel, locale) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return formatRelative(createdAt, new Date(), optionalParam);\n }\n return format(createdAt, 'MMM dd', optionalParam);\n};\n\nexport const getTotalMembers = (channel) => (\n channel?.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncateString(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (\n channel?.lastMessage\n ? getPrettyLastMessage(channel.lastMessage)\n : ''\n);\n\nexport const getChannelUnreadMessageCount = (channel) => (\n channel?.unreadMessageCount\n ? channel.unreadMessageCount\n : 0\n);\n","import './channel-preview.scss';\n\nimport React, { useState } from 'react';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport ChannelAvatar from '../../../../ui/ChannelAvatar';\nimport Badge from '../../../../ui/Badge';\nimport Icon, { IconColors, IconTypes } from '../../../../ui/Icon';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\n\nimport * as utils from './utils';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport MentionUserLabel from '../../../../ui/MentionUserLabel';\nimport Modal from '../../../../ui/Modal';\nimport TextButton from '../../../../ui/TextButton';\nimport { useChannelListContext } from '../../context/ChannelListProvider';\nimport { TypingIndicatorText } from '../../../Channel/components/TypingIndicator';\nimport MessageStatus from '../../../../ui/MessageStatus';\nimport { isEditedMessage } from '../../../../utils';\nimport { useMediaQueryContext } from '../../../../lib/MediaQueryContext';\nimport useLongPress from '../../../../hooks/useLongPress';\n\ninterface ChannelPreviewInterface {\n channel: GroupChannel;\n isActive?: boolean;\n isTyping?: boolean;\n onClick: () => void;\n onLeaveChannel?: () => void;\n renderChannelAction: (props: { channel: GroupChannel }) => React.ReactElement;\n tabIndex: number;\n}\n\nconst ChannelPreview: React.FC<ChannelPreviewInterface> = ({\n channel,\n isActive = false,\n isTyping = false,\n renderChannelAction,\n onLeaveChannel,\n onClick,\n tabIndex,\n}: ChannelPreviewInterface) => {\n const sbState = useSendbirdStateContext();\n const {\n isTypingIndicatorEnabled = false,\n isMessageReceiptStatusEnabled = false,\n } = useChannelListContext();\n const { dateLocale, stringSet } = useLocalization();\n const { isMobile } = useMediaQueryContext();\n\n const [showMobileLeave, setShowMobileLeave] = useState(false);\n\n const userId = sbState?.stores?.userStore?.user?.userId;\n const theme = sbState?.config?.theme;\n const isMentionEnabled = sbState?.config?.isMentionEnabled;\n const isFrozen = channel?.isFrozen || false;\n const isBroadcast = channel?.isBroadcast || false;\n const isChannelTyping = isTypingIndicatorEnabled && isTyping;\n const isMessageStatusEnabled = isMessageReceiptStatusEnabled\n && (channel?.lastMessage?.messageType === 'user' || channel?.lastMessage?.messageType === 'file')\n && (channel?.lastMessage as UserMessage | FileMessage)?.sender?.userId === userId;\n\n const onLongPress = useLongPress({\n onLongPress: () => {\n setShowMobileLeave(true);\n },\n onClick,\n }, {\n delay: 1000,\n });\n const channelName = utils.getChannelTitle(channel, userId, stringSet);\n return (\n <>\n <div\n className={[\n 'sendbird-channel-preview',\n isActive ? 'sendbird-channel-preview--active' : '',\n ].join(' ')}\n role=\"link\"\n tabIndex={tabIndex}\n {...(isMobile ? { ...onLongPress } : { onClick })}\n >\n <div\n className=\"sendbird-channel-preview__avatar\"\n >\n <ChannelAvatar\n channel={channel}\n userId={userId}\n theme={theme}\n />\n </div>\n <div className=\"sendbird-channel-preview__content\">\n <div className=\"sendbird-channel-preview__content__upper\">\n <div className=\"sendbird-channel-preview__content__upper__header\">\n {\n isBroadcast\n && (\n <div className=\"sendbird-channel-preview__content__upper__header__broadcast-icon\">\n <Icon\n type={IconTypes.BROADCAST}\n fillColor={IconColors.SECONDARY}\n height=\"16px\"\n width=\"16px\"\n />\n </div>\n )\n }\n <Label\n className=\"sendbird-channel-preview__content__upper__header__channel-name\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n <div>\n { channelName }\n </div>\n </Label>\n <Label\n className=\"sendbird-channel-preview__content__upper__header__total-members\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {utils.getTotalMembers(channel)}\n </Label>\n {\n isFrozen\n && (\n <div title=\"Frozen\" className=\"sendbird-channel-preview__content__upper__header__frozen-icon\">\n <Icon\n type={IconTypes.FREEZE}\n fillColor={IconColors.PRIMARY}\n height={12}\n width={12}\n />\n </div>\n )\n }\n </div>\n {\n isMessageStatusEnabled\n ? (\n <MessageStatus\n className=\"sendbird-channel-preview__content__upper__last-message-at\"\n channel={channel}\n message={channel?.lastMessage as UserMessage | FileMessage}\n />\n )\n : (\n <Label\n className=\"sendbird-channel-preview__content__upper__last-message-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {utils.getLastMessageCreatedAt(channel, dateLocale)}\n </Label>\n )\n }\n </div>\n <div className=\"sendbird-channel-preview__content__lower\">\n <Label\n className=\"sendbird-channel-preview__content__lower__last-message\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {\n isChannelTyping && (\n <TypingIndicatorText members={channel?.getTypingUsers()} />\n )\n }\n {\n !isChannelTyping && (\n utils.getLastMessage(channel) + (isEditedMessage(channel?.lastMessage as UserMessage | FileMessage) ? ` ${stringSet.MESSAGE_EDITED}` : '')\n )\n }\n </Label>\n <div className=\"sendbird-channel-preview__content__lower__unread-message-count\">\n {\n (isMentionEnabled && channel?.unreadMentionCount > 0)\n ? (\n <MentionUserLabel\n className=\"sendbird-channel-preview__content__lower__unread-message-count__mention\"\n color=\"purple\"\n >\n {'@'}\n </MentionUserLabel>\n )\n : null\n }\n {\n utils.getChannelUnreadMessageCount(channel) // return number\n ? <Badge count={utils.getChannelUnreadMessageCount(channel)} />\n : null\n }\n </div>\n </div>\n </div>\n {\n !isMobile && (\n <div\n className=\"sendbird-channel-preview__action\"\n >\n {renderChannelAction({ channel })}\n </div>\n )\n }\n </div>\n {/*\n Event from portal is transferred to parent\n If this modal goes inside channel preview, it will propogate event to\n ChannelPreview and cause many issues with click/touchEnd etc\n https://github.com/facebook/react/issues/11387#issuecomment-340019419\n */}\n {\n showMobileLeave && isMobile && (\n <Modal\n className=\"sendbird-channel-preview__leave--mobile\"\n titleText={channelName}\n hideFooter\n isCloseOnClickOutside\n onCancel={() => setShowMobileLeave(false)}\n >\n <TextButton\n onClick={() => {\n onLeaveChannel();\n setShowMobileLeave(false);\n }}\n className=\"sendbird-channel-preview__leave-label--mobile\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_PREVIEW_MOBILE_LEAVE}\n </Label>\n </TextButton>\n </Modal>\n )\n }\n </>\n );\n}\n\nexport default ChannelPreview;\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","getLastMessageCreatedAt","locale","createdAt","lastMessage","optionalParam","isToday","format","isYesterday","formatRelative","Date","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncateString","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","ChannelPreview","_a","_l","isActive","_m","isTyping","renderChannelAction","onLeaveChannel","onClick","tabIndex","sbState","useSendbirdStateContext","_o","useChannelListContext","_p","isTypingIndicatorEnabled","_q","isMessageReceiptStatusEnabled","_r","useLocalization","dateLocale","isMobile","useMediaQueryContext","_s","useState","showMobileLeave","setShowMobileLeave","_d","_b","stores","userStore","user","theme","_e","config","isMentionEnabled","_f","isFrozen","isBroadcast","isChannelTyping","isMessageStatusEnabled","_g","_h","_k","_j","sender","onLongPress","useLongPress","delay","channelName","utils","React","_extends","__assign","ChannelAvatar","Icon","IconTypes","BROADCAST","IconColors","SECONDARY","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","CAPTION_2","ONBACKGROUND_2","FREEZE","PRIMARY","MessageStatus","CAPTION_3","BODY_2","ONBACKGROUND_3","TypingIndicatorText","getTypingUsers","isEditedMessage","MESSAGE_EDITED","unreadMentionCount","MentionUserLabel","Badge","Modal","TextButton","SUBTITLE_1","CHANNEL_PREVIEW_MOBILE_LEAVE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChannelPreview.js","sources":["../../../../src/smart-components/ChannelList/components/ChannelPreview/utils.js","../../../../src/smart-components/ChannelList/components/ChannelPreview/index.tsx"],"sourcesContent":["import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport formatRelative from 'date-fns/formatRelative';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncateString } from '../../../../utils';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = (channel, locale) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return formatRelative(createdAt, new Date(), optionalParam);\n }\n return format(createdAt, 'MMM dd', optionalParam);\n};\n\nexport const getTotalMembers = (channel) => (\n channel?.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncateString(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (\n channel?.lastMessage\n ? getPrettyLastMessage(channel.lastMessage)\n : ''\n);\n\nexport const getChannelUnreadMessageCount = (channel) => (\n channel?.unreadMessageCount\n ? channel.unreadMessageCount\n : 0\n);\n","import './channel-preview.scss';\n\nimport React, { useState } from 'react';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport ChannelAvatar from '../../../../ui/ChannelAvatar';\nimport Badge from '../../../../ui/Badge';\nimport Icon, { IconColors, IconTypes } from '../../../../ui/Icon';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\n\nimport * as utils from './utils';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport MentionUserLabel from '../../../../ui/MentionUserLabel';\nimport Modal from '../../../../ui/Modal';\nimport TextButton from '../../../../ui/TextButton';\nimport { useChannelListContext } from '../../context/ChannelListProvider';\nimport { TypingIndicatorText } from '../../../Channel/components/TypingIndicator';\nimport MessageStatus from '../../../../ui/MessageStatus';\nimport { isEditedMessage } from '../../../../utils';\nimport { useMediaQueryContext } from '../../../../lib/MediaQueryContext';\nimport useLongPress from '../../../../hooks/useLongPress';\n\ninterface ChannelPreviewInterface {\n channel: GroupChannel;\n isActive?: boolean;\n isTyping?: boolean;\n onClick: () => void;\n onLeaveChannel?: () => void;\n renderChannelAction: (props: { channel: GroupChannel }) => React.ReactElement;\n tabIndex: number;\n}\n\nconst ChannelPreview: React.FC<ChannelPreviewInterface> = ({\n channel,\n isActive = false,\n isTyping = false,\n renderChannelAction,\n onLeaveChannel,\n onClick,\n tabIndex,\n}: ChannelPreviewInterface) => {\n const sbState = useSendbirdStateContext();\n const {\n isTypingIndicatorEnabled = false,\n isMessageReceiptStatusEnabled = false,\n } = useChannelListContext();\n const { dateLocale, stringSet } = useLocalization();\n const { isMobile } = useMediaQueryContext();\n\n const [showMobileLeave, setShowMobileLeave] = useState(false);\n\n const userId = sbState?.stores?.userStore?.user?.userId;\n const theme = sbState?.config?.theme;\n const isMentionEnabled = sbState?.config?.isMentionEnabled;\n const isFrozen = channel?.isFrozen || false;\n const isBroadcast = channel?.isBroadcast || false;\n const isChannelTyping = isTypingIndicatorEnabled && isTyping;\n const isMessageStatusEnabled = isMessageReceiptStatusEnabled\n && (channel?.lastMessage?.messageType === 'user' || channel?.lastMessage?.messageType === 'file')\n && (channel?.lastMessage as UserMessage | FileMessage)?.sender?.userId === userId;\n\n const onLongPress = useLongPress({\n onLongPress: () => {\n if (isMobile) {\n setShowMobileLeave(true);\n }\n },\n onClick,\n }, {\n delay: 1000,\n });\n const channelName = utils.getChannelTitle(channel, userId, stringSet);\n return (\n <>\n <div\n className={[\n 'sendbird-channel-preview',\n isActive ? 'sendbird-channel-preview--active' : '',\n ].join(' ')}\n role=\"link\"\n tabIndex={tabIndex}\n {...(isMobile ? { ...onLongPress } : { onClick })}\n >\n <div\n className=\"sendbird-channel-preview__avatar\"\n >\n <ChannelAvatar\n channel={channel}\n userId={userId}\n theme={theme}\n />\n </div>\n <div className=\"sendbird-channel-preview__content\">\n <div className=\"sendbird-channel-preview__content__upper\">\n <div className=\"sendbird-channel-preview__content__upper__header\">\n {\n isBroadcast\n && (\n <div className=\"sendbird-channel-preview__content__upper__header__broadcast-icon\">\n <Icon\n type={IconTypes.BROADCAST}\n fillColor={IconColors.SECONDARY}\n height=\"16px\"\n width=\"16px\"\n />\n </div>\n )\n }\n <Label\n className=\"sendbird-channel-preview__content__upper__header__channel-name\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n <div>\n { channelName }\n </div>\n </Label>\n <Label\n className=\"sendbird-channel-preview__content__upper__header__total-members\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {utils.getTotalMembers(channel)}\n </Label>\n {\n isFrozen\n && (\n <div title=\"Frozen\" className=\"sendbird-channel-preview__content__upper__header__frozen-icon\">\n <Icon\n type={IconTypes.FREEZE}\n fillColor={IconColors.PRIMARY}\n height={12}\n width={12}\n />\n </div>\n )\n }\n </div>\n {\n isMessageStatusEnabled\n ? (\n <MessageStatus\n className=\"sendbird-channel-preview__content__upper__last-message-at\"\n channel={channel}\n message={channel?.lastMessage as UserMessage | FileMessage}\n />\n )\n : (\n <Label\n className=\"sendbird-channel-preview__content__upper__last-message-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {utils.getLastMessageCreatedAt(channel, dateLocale)}\n </Label>\n )\n }\n </div>\n <div className=\"sendbird-channel-preview__content__lower\">\n <Label\n className=\"sendbird-channel-preview__content__lower__last-message\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {\n isChannelTyping && (\n <TypingIndicatorText members={channel?.getTypingUsers()} />\n )\n }\n {\n !isChannelTyping && (\n utils.getLastMessage(channel) + (isEditedMessage(channel?.lastMessage as UserMessage | FileMessage) ? ` ${stringSet.MESSAGE_EDITED}` : '')\n )\n }\n </Label>\n <div className=\"sendbird-channel-preview__content__lower__unread-message-count\">\n {\n (isMentionEnabled && channel?.unreadMentionCount > 0)\n ? (\n <MentionUserLabel\n className=\"sendbird-channel-preview__content__lower__unread-message-count__mention\"\n color=\"purple\"\n >\n {'@'}\n </MentionUserLabel>\n )\n : null\n }\n {\n utils.getChannelUnreadMessageCount(channel) // return number\n ? <Badge count={utils.getChannelUnreadMessageCount(channel)} />\n : null\n }\n </div>\n </div>\n </div>\n {\n !isMobile && (\n <div\n className=\"sendbird-channel-preview__action\"\n >\n {renderChannelAction({ channel })}\n </div>\n )\n }\n </div>\n {/*\n Event from portal is transferred to parent\n If this modal goes inside channel preview, it will propogate event to\n ChannelPreview and cause many issues with click/touchEnd etc\n https://github.com/facebook/react/issues/11387#issuecomment-340019419\n */}\n {\n showMobileLeave && isMobile && (\n <Modal\n className=\"sendbird-channel-preview__leave--mobile\"\n titleText={channelName}\n hideFooter\n isCloseOnClickOutside\n onCancel={() => setShowMobileLeave(false)}\n >\n <TextButton\n onClick={() => {\n onLeaveChannel();\n setShowMobileLeave(false);\n }}\n className=\"sendbird-channel-preview__leave-label--mobile\"\n >\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.CHANNEL_PREVIEW_MOBILE_LEAVE}\n </Label>\n </TextButton>\n </Modal>\n )\n }\n </>\n );\n}\n\nexport default ChannelPreview;\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","getLastMessageCreatedAt","locale","createdAt","lastMessage","optionalParam","isToday","format","isYesterday","formatRelative","Date","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncateString","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","ChannelPreview","_a","_l","isActive","_m","isTyping","renderChannelAction","onLeaveChannel","onClick","tabIndex","sbState","useSendbirdStateContext","_o","useChannelListContext","_p","isTypingIndicatorEnabled","_q","isMessageReceiptStatusEnabled","_r","useLocalization","dateLocale","isMobile","useMediaQueryContext","_s","useState","showMobileLeave","setShowMobileLeave","_d","_b","stores","userStore","user","theme","_e","config","isMentionEnabled","_f","isFrozen","isBroadcast","isChannelTyping","isMessageStatusEnabled","_g","_h","_k","_j","sender","onLongPress","useLongPress","delay","channelName","utils","React","_extends","__assign","ChannelAvatar","Icon","IconTypes","BROADCAST","IconColors","SECONDARY","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","CAPTION_2","ONBACKGROUND_2","FREEZE","PRIMARY","MessageStatus","CAPTION_3","BODY_2","ONBACKGROUND_3","TypingIndicatorText","getTypingUsers","isEditedMessage","MESSAGE_EDITED","unreadMentionCount","MentionUserLabel","Badge","Modal","TextButton","SUBTITLE_1","CHANNEL_PREVIEW_MOBILE_LEAVE"],"mappings":"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"}
|
|
@@ -2,31 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var PropTypes = require('prop-types');
|
|
5
|
-
var LocalizationContext = require('../../LocalizationContext-
|
|
5
|
+
var LocalizationContext = require('../../LocalizationContext-68ab5e81.js');
|
|
6
6
|
var ui_ContextMenu = require('../../ui/ContextMenu.js');
|
|
7
7
|
var ui_IconButton = require('../../ui/IconButton.js');
|
|
8
8
|
var ui_Icon = require('../../ui/Icon.js');
|
|
9
9
|
var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
|
|
10
|
-
var utils = require('../../utils-
|
|
10
|
+
var utils = require('../../utils-db6fb27a.js');
|
|
11
11
|
var ui_Modal = require('../../ui/Modal.js');
|
|
12
|
-
var ChannelList_context = require('../../ChannelListProvider-
|
|
13
|
-
require('../../stringSet-
|
|
14
|
-
require('../../index-
|
|
15
|
-
require('../../tslib.es6-
|
|
12
|
+
var ChannelList_context = require('../../ChannelListProvider-2b605a05.js');
|
|
13
|
+
require('../../stringSet-fd892563.js');
|
|
14
|
+
require('../../index-0cab061c.js');
|
|
15
|
+
require('../../tslib.es6-029d13d0.js');
|
|
16
16
|
require('react-dom');
|
|
17
17
|
require('../../ui/SortByRow.js');
|
|
18
|
-
require('../../uuid-
|
|
19
|
-
require('../../index-
|
|
18
|
+
require('../../uuid-de38f276.js');
|
|
19
|
+
require('../../index-c015580f.js');
|
|
20
20
|
require('../../utils/message/getOutgoingMessageState.js');
|
|
21
|
-
require('../../index-
|
|
21
|
+
require('../../index-249ae5ae.js');
|
|
22
22
|
require('../../withSendbird.js');
|
|
23
|
-
require('../../_rollupPluginBabelHelpers-
|
|
24
|
-
require('../../index-
|
|
23
|
+
require('../../_rollupPluginBabelHelpers-3886e03a.js');
|
|
24
|
+
require('../../index-f31610a5.js');
|
|
25
25
|
require('../../ui/Button.js');
|
|
26
|
-
require('../../MediaQueryContext-
|
|
26
|
+
require('../../MediaQueryContext-7bd4247a.js');
|
|
27
27
|
require('@sendbird/chat/groupChannel');
|
|
28
|
-
require('../../topics-
|
|
29
|
-
require('../../UserProfileContext-
|
|
28
|
+
require('../../topics-6a30e46d.js');
|
|
29
|
+
require('../../UserProfileContext-a411f7b7.js');
|
|
30
30
|
|
|
31
31
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
32
32
|
|
|
@@ -36,24 +36,27 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
|
36
36
|
var LeaveChannel = function (props) {
|
|
37
37
|
var _a, _b, _c;
|
|
38
38
|
|
|
39
|
-
var _d = props.
|
|
40
|
-
|
|
41
|
-
_e = props.
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
var _d = props.channel,
|
|
40
|
+
channel = _d === void 0 ? null : _d,
|
|
41
|
+
_e = props.onSubmit,
|
|
42
|
+
onSubmit = _e === void 0 ? utils.noop : _e,
|
|
43
|
+
_f = props.onCancel,
|
|
44
|
+
onCancel = _f === void 0 ? utils.noop : _f;
|
|
45
|
+
var channelFromContext = (_a = ChannelList_context.useChannelListContext()) === null || _a === void 0 ? void 0 : _a.currentChannel;
|
|
46
|
+
var leavingChannel = channel || channelFromContext;
|
|
44
47
|
var state = useSendbirdStateContext();
|
|
45
48
|
var stringSet = LocalizationContext.useLocalization().stringSet;
|
|
46
49
|
var logger = (_b = state === null || state === void 0 ? void 0 : state.config) === null || _b === void 0 ? void 0 : _b.logger;
|
|
47
50
|
var isOnline = (_c = state === null || state === void 0 ? void 0 : state.config) === null || _c === void 0 ? void 0 : _c.isOnline;
|
|
48
51
|
|
|
49
|
-
if (
|
|
52
|
+
if (leavingChannel) {
|
|
50
53
|
return /*#__PURE__*/React__default["default"].createElement(ui_Modal["default"], {
|
|
51
54
|
disabled: !isOnline,
|
|
52
55
|
onCancel: onCancel,
|
|
53
56
|
onSubmit: function () {
|
|
54
|
-
logger.info('ChannelSettings: Leaving channel',
|
|
55
|
-
|
|
56
|
-
logger.info('ChannelSettings: Leaving channel successful!',
|
|
57
|
+
logger.info('ChannelSettings: Leaving channel', leavingChannel);
|
|
58
|
+
leavingChannel === null || leavingChannel === void 0 ? void 0 : leavingChannel.leave().then(function () {
|
|
59
|
+
logger.info('ChannelSettings: Leaving channel successful!', leavingChannel);
|
|
57
60
|
onSubmit();
|
|
58
61
|
});
|
|
59
62
|
},
|
|
@@ -65,6 +68,7 @@ var LeaveChannel = function (props) {
|
|
|
65
68
|
|
|
66
69
|
function ChannelPreviewAction(_ref) {
|
|
67
70
|
let {
|
|
71
|
+
channel,
|
|
68
72
|
disabled,
|
|
69
73
|
onLeaveChannel
|
|
70
74
|
} = _ref;
|
|
@@ -114,6 +118,7 @@ function ChannelPreviewAction(_ref) {
|
|
|
114
118
|
}
|
|
115
119
|
}, stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE))
|
|
116
120
|
}), showModal && /*#__PURE__*/React__default["default"].createElement(LeaveChannel, {
|
|
121
|
+
channel: channel,
|
|
117
122
|
onSubmit: () => {
|
|
118
123
|
setShowModal(false);
|
|
119
124
|
onLeaveChannel();
|
|
@@ -123,10 +128,12 @@ function ChannelPreviewAction(_ref) {
|
|
|
123
128
|
}
|
|
124
129
|
ChannelPreviewAction.propTypes = {
|
|
125
130
|
disabled: PropTypes__default["default"].bool,
|
|
126
|
-
onLeaveChannel: PropTypes__default["default"].func.isRequired
|
|
131
|
+
onLeaveChannel: PropTypes__default["default"].func.isRequired,
|
|
132
|
+
channel: PropTypes__default["default"].shape({})
|
|
127
133
|
};
|
|
128
134
|
ChannelPreviewAction.defaultProps = {
|
|
129
|
-
disabled: false
|
|
135
|
+
disabled: false,
|
|
136
|
+
channel: null
|
|
130
137
|
};
|
|
131
138
|
|
|
132
139
|
module.exports = ChannelPreviewAction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelPreviewAction.js","sources":["../../../../src/smart-components/ChannelList/components/LeaveChannel/index.tsx","../../../../src/smart-components/ChannelList/components/ChannelPreviewAction.jsx"],"sourcesContent":["import React from 'react';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { noop } from '../../../../utils/utils';\n\nimport Modal from '../../../../ui/Modal';\nimport { useChannelListContext } from '../../context/ChannelListProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\nexport type LeaveChannelProps = {\n onSubmit: () => void;\n onCancel: () => void;\n}\n\nconst LeaveChannel: React.FC<LeaveChannelProps> = (props: LeaveChannelProps) => {\n const {\n onSubmit = noop,\n onCancel = noop,\n } = props;\n\n const
|
|
1
|
+
{"version":3,"file":"ChannelPreviewAction.js","sources":["../../../../src/smart-components/ChannelList/components/LeaveChannel/index.tsx","../../../../src/smart-components/ChannelList/components/ChannelPreviewAction.jsx"],"sourcesContent":["import React from 'react';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { noop } from '../../../../utils/utils';\n\nimport Modal from '../../../../ui/Modal';\nimport { useChannelListContext } from '../../context/ChannelListProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nexport type LeaveChannelProps = {\n channel?: GroupChannel;\n onSubmit: () => void;\n onCancel: () => void;\n}\n\nconst LeaveChannel: React.FC<LeaveChannelProps> = (props: LeaveChannelProps) => {\n const {\n channel = null,\n onSubmit = noop,\n onCancel = noop,\n } = props;\n\n const channelFromContext = useChannelListContext()?.currentChannel;\n const leavingChannel = channel || channelFromContext;\n const state = useSendbirdStateContext();\n const { stringSet } = useLocalization();\n\n const logger = state?.config?.logger;\n const isOnline = state?.config?.isOnline;\n if (leavingChannel) {\n return (\n <Modal\n disabled={!isOnline}\n onCancel={onCancel}\n onSubmit={() => {\n logger.info('ChannelSettings: Leaving channel', leavingChannel);\n leavingChannel?.leave()\n .then(() => {\n logger.info('ChannelSettings: Leaving channel successful!', leavingChannel);\n onSubmit();\n });\n }}\n submitText={stringSet.MODAL__LEAVE_CHANNEL__FOOTER}\n titleText={stringSet.MODAL__LEAVE_CHANNEL__TITLE}\n />\n );\n }\n};\n\nexport default LeaveChannel;\n","import React, {\n useState,\n useRef,\n useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../ui/ContextMenu';\nimport IconButton from '../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport LeaveChannelModal from './LeaveChannel';\n\nexport default function ChannelPreviewAction({\n channel,\n disabled,\n onLeaveChannel,\n}) {\n const parentRef = useRef(null);\n const parentContainerRef = useRef(null);\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n <div\n role=\"button\"\n style={{ display: 'inline-block' }}\n onKeyDown={(e) => { e.stopPropagation(); }}\n tabIndex={0}\n onClick={(e) => { e.stopPropagation(); }}\n ref={parentContainerRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n ref={parentRef}\n onClick={toggleDropdown}\n height=\"32px\"\n width=\"32px\"\n >\n <Icon\n type={IconTypes.MORE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={parentRef}\n parentContainRef={parentContainerRef}\n closeDropdown={closeDropdown}\n >\n <MenuItem\n onClick={() => {\n if (disabled) { return; }\n setShowModal(true);\n closeDropdown();\n }}\n >\n {stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE}\n </MenuItem>\n </MenuItems>\n )}\n />\n {\n showModal && (\n <LeaveChannelModal\n channel={channel}\n onSubmit={() => {\n setShowModal(false);\n onLeaveChannel();\n }}\n onCancel={() => setShowModal(false)}\n />\n )\n }\n </div>\n );\n}\n\nChannelPreviewAction.propTypes = {\n disabled: PropTypes.bool,\n onLeaveChannel: PropTypes.func.isRequired,\n channel: PropTypes.shape({}),\n};\n\nChannelPreviewAction.defaultProps = {\n disabled: false,\n channel: null,\n};\n"],"names":["LeaveChannel","props","_d","channel","_e","onSubmit","noop","_f","onCancel","channelFromContext","_a","useChannelListContext","currentChannel","leavingChannel","state","useSendbirdStateContext","stringSet","useLocalization","logger","_b","config","isOnline","_c","React","Modal","info","leave","then","MODAL__LEAVE_CHANNEL__FOOTER","MODAL__LEAVE_CHANNEL__TITLE","ChannelPreviewAction","disabled","onLeaveChannel","parentRef","useRef","parentContainerRef","showModal","setShowModal","useState","useContext","LocalizationContext","display","e","stopPropagation","ContextMenu","toggleDropdown","IconButton","Icon","IconTypes","MORE","IconColors","PRIMARY","closeDropdown","MenuItems","MenuItem","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","LeaveChannelModal","propTypes","PropTypes","bool","func","isRequired","shape","defaultProps"],"mappings":"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"}
|