@sendbird/uikit-react 3.0.0-beta.2 → 3.0.0-beta.3
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 +46 -38
- package/App.js.map +1 -1
- package/Channel/components/ChannelHeader.js +15 -15
- package/Channel/components/ChannelUI.js +25 -25
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +14 -14
- package/Channel/components/FrozenNotification.js +5 -5
- package/Channel/components/Message.js +31 -24
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +16 -16
- package/Channel/components/MessageList.js +24 -24
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +17 -17
- package/Channel/components/SuggestedMentionList.js +15 -15
- package/Channel/components/TypingIndicator.js +16 -16
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +5 -5
- package/Channel/context.js +13 -13
- package/Channel.js +24 -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 +51 -29
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +50 -20
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +33 -25
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-7c351968.js → ChannelListProvider-d602a166.js} +92 -27
- package/ChannelListProvider-d602a166.js.map +1 -0
- package/{ChannelProvider-d5126903.js → ChannelProvider-cf8fc05a.js} +9 -9
- package/{ChannelProvider-d5126903.js.map → ChannelProvider-cf8fc05a.js.map} +1 -1
- package/ChannelSettings/components/AdminPanel.js +15 -15
- package/ChannelSettings/components/ChannelProfile.js +13 -13
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/ChannelSettings/components/EditDetailsModal.js +13 -13
- package/ChannelSettings/components/LeaveChannel.js +10 -10
- package/ChannelSettings/components/UserListItem.js +11 -11
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -18
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/InviteMembers.js +14 -14
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +3 -3
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-ddfd92e6.js → CreateChannelProvider-3f3dafed.js} +1 -1
- package/{CreateChannelProvider-ddfd92e6.js.map → CreateChannelProvider-3f3dafed.js.map} +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-b021af8f.js → LocalizationContext-b970a73c.js} +3 -3
- package/{LocalizationContext-b021af8f.js.map → LocalizationContext-b970a73c.js.map} +1 -1
- package/{MemberList-323e7517.js → MemberList-9d29bee4.js} +5 -5
- package/{MemberList-323e7517.js.map → MemberList-9d29bee4.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +5 -5
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +16 -16
- package/OpenChannel/components/OpenChannelMessage.js +21 -21
- package/OpenChannel/components/OpenChannelMessageList.js +23 -23
- package/OpenChannel/components/OpenChannelUI.js +23 -23
- package/OpenChannel/context.js +9 -9
- package/OpenChannel.js +23 -23
- package/{OpenChannelProvider-abc4ab98.js → OpenChannelProvider-821fb008.js} +7 -7
- package/{OpenChannelProvider-abc4ab98.js.map → OpenChannelProvider-821fb008.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +2 -2
- package/OpenChannelSettings.js +17 -17
- package/SendbirdProvider.js +21 -13
- package/SendbirdProvider.js.map +1 -1
- package/{UserProfileContext-daa99f9b.js → UserProfileContext-f4ff4291.js} +1 -1
- package/{UserProfileContext-daa99f9b.js.map → UserProfileContext-f4ff4291.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-8e4fae98.js → _rollupPluginBabelHelpers-6bf18550.js} +1 -1
- package/{_rollupPluginBabelHelpers-8e4fae98.js.map → _rollupPluginBabelHelpers-6bf18550.js.map} +1 -1
- package/{actionTypes-189daf51.js → actionTypes-8e320ded.js} +1 -1
- package/{actionTypes-189daf51.js.map → actionTypes-8e320ded.js.map} +1 -1
- package/cjs/App.js +46 -38
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +15 -15
- package/cjs/Channel/components/ChannelUI.js +26 -26
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +14 -14
- package/cjs/Channel/components/FrozenNotification.js +5 -5
- package/cjs/Channel/components/Message.js +31 -24
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +16 -16
- package/cjs/Channel/components/MessageList.js +24 -24
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +17 -17
- package/cjs/Channel/components/SuggestedMentionList.js +15 -15
- package/cjs/Channel/components/TypingIndicator.js +18 -15
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +5 -5
- package/cjs/Channel/context.js +13 -13
- package/cjs/Channel.js +24 -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 +51 -29
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +50 -20
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +33 -25
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-44dde549.js → ChannelListProvider-64db9f70.js} +92 -27
- package/cjs/ChannelListProvider-64db9f70.js.map +1 -0
- package/cjs/{ChannelProvider-e0aaab26.js → ChannelProvider-5e8e33b1.js} +9 -9
- package/cjs/{ChannelProvider-e0aaab26.js.map → ChannelProvider-5e8e33b1.js.map} +1 -1
- package/cjs/ChannelSettings/components/AdminPanel.js +15 -15
- package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/ChannelSettings/components/LeaveChannel.js +10 -10
- package/cjs/ChannelSettings/components/UserListItem.js +11 -11
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/InviteMembers.js +14 -14
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +3 -3
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-bdf9c39b.js → CreateChannelProvider-dcf7f906.js} +1 -1
- package/cjs/{CreateChannelProvider-bdf9c39b.js.map → CreateChannelProvider-dcf7f906.js.map} +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-3b5ce8ae.js → LocalizationContext-382a9ef1.js} +3 -3
- package/cjs/{LocalizationContext-3b5ce8ae.js.map → LocalizationContext-382a9ef1.js.map} +1 -1
- package/cjs/{MemberList-ef9e43c3.js → MemberList-03a241cd.js} +5 -5
- package/cjs/{MemberList-ef9e43c3.js.map → MemberList-03a241cd.js.map} +1 -1
- 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 +5 -5
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +16 -16
- package/cjs/OpenChannel/components/OpenChannelMessage.js +21 -21
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +23 -23
- package/cjs/OpenChannel/components/OpenChannelUI.js +23 -23
- package/cjs/OpenChannel/context.js +9 -9
- package/cjs/OpenChannel.js +23 -23
- package/cjs/{OpenChannelProvider-9ce7c998.js → OpenChannelProvider-9000ccb9.js} +7 -7
- package/cjs/{OpenChannelProvider-9ce7c998.js.map → OpenChannelProvider-9000ccb9.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +2 -2
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/SendbirdProvider.js +21 -13
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/{UserProfileContext-f0bdfbb8.js → UserProfileContext-0b7ef11a.js} +1 -1
- package/cjs/{UserProfileContext-f0bdfbb8.js.map → UserProfileContext-0b7ef11a.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-e54d2387.js → _rollupPluginBabelHelpers-6193d45d.js} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-e54d2387.js.map → _rollupPluginBabelHelpers-6193d45d.js.map} +1 -1
- package/cjs/{actionTypes-267d4c79.js → actionTypes-092bc172.js} +1 -1
- package/cjs/{actionTypes-267d4c79.js.map → actionTypes-092bc172.js.map} +1 -1
- package/cjs/{color-0f078673.js → color-1816dacf.js} +1 -1
- package/cjs/{color-0f078673.js.map → color-1816dacf.js.map} +1 -1
- package/cjs/{compareIds-176a582b.js → compareIds-e9bca8c4.js} +1 -1
- package/cjs/{compareIds-176a582b.js.map → compareIds-e9bca8c4.js.map} +1 -1
- package/cjs/{const-4bf0e8b4.js → const-c65837c1.js} +1 -1
- package/cjs/{const-4bf0e8b4.js.map → const-c65837c1.js.map} +1 -1
- package/cjs/{const-ccf192c5.js → const-d9f4d880.js} +1 -1
- package/cjs/{const-ccf192c5.js.map → const-d9f4d880.js.map} +1 -1
- package/cjs/{context-0cbe196d.js → context-6ebf3379.js} +2 -2
- package/cjs/{context-0cbe196d.js.map → context-6ebf3379.js.map} +1 -1
- package/cjs/{index-22f07209.js → index-01072ac9.js} +3 -3
- package/cjs/{index-22f07209.js.map → index-01072ac9.js.map} +1 -1
- package/cjs/{index-d9439e95.js → index-20a06ed6.js} +1 -1
- package/cjs/{index-d9439e95.js.map → index-20a06ed6.js.map} +1 -1
- package/cjs/{index-002a349d.js → index-212a11f2.js} +2 -2
- package/cjs/{index-002a349d.js.map → index-212a11f2.js.map} +1 -1
- package/cjs/{index-ed053e45.js → index-2faa2f93.js} +1 -1
- package/cjs/{index-ed053e45.js.map → index-2faa2f93.js.map} +1 -1
- package/cjs/{index-c0693be4.js → index-4f40f311.js} +2 -2
- package/cjs/{index-c0693be4.js.map → index-4f40f311.js.map} +1 -1
- package/cjs/{index-723733db.js → index-75453415.js} +4 -4
- package/cjs/{index-723733db.js.map → index-75453415.js.map} +1 -1
- package/cjs/{index-46522cf0.js → index-948426a8.js} +4 -4
- package/cjs/{index-46522cf0.js.map → index-948426a8.js.map} +1 -1
- package/cjs/{index-0159bc57.js → index-a2ce047a.js} +2 -2
- package/cjs/{index-0159bc57.js.map → index-a2ce047a.js.map} +1 -1
- package/cjs/{index-081c9614.js → index-d57081d1.js} +6 -6
- package/cjs/{index-081c9614.js.map → index-d57081d1.js.map} +1 -1
- package/cjs/{index-d4f42e73.js → index-e63da805.js} +4 -4
- package/cjs/{index-d4f42e73.js.map → index-e63da805.js.map} +1 -1
- package/cjs/{index-21f31180.js → index-f1971e28.js} +3 -3
- package/cjs/{index-21f31180.js.map → index-f1971e28.js.map} +1 -1
- package/cjs/index.css +78 -74
- package/cjs/index.css.map +1 -1
- package/cjs/index.js +36 -36
- package/cjs/{openChannelUtils-cecaf987.js → openChannelUtils-16f29ba2.js} +1 -1
- package/cjs/{openChannelUtils-cecaf987.js.map → openChannelUtils-16f29ba2.js.map} +1 -1
- package/cjs/sendBirdSelectors.js +1 -1
- package/cjs/{stringSet-f4da182b.js → stringSet-b9ea6eef.js} +1 -1
- package/cjs/{stringSet-f4da182b.js.map → stringSet-b9ea6eef.js.map} +1 -1
- package/cjs/{topics-c2c30f09.js → topics-11048db8.js} +1 -1
- package/cjs/{topics-c2c30f09.js.map → topics-11048db8.js.map} +1 -1
- package/cjs/{tslib.es6-d7d0a427.js → tslib.es6-07dd6257.js} +1 -1
- package/cjs/{tslib.es6-d7d0a427.js.map → tslib.es6-07dd6257.js.map} +1 -1
- package/cjs/ui/Accordion.js +4 -4
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +3 -3
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/Button.js +4 -4
- package/cjs/ui/ChannelAvatar.js +4 -4
- package/cjs/ui/ChannelPreview.js +12 -12
- package/cjs/ui/ChatHeader.js +8 -8
- package/cjs/ui/Checkbox.js +1 -1
- package/cjs/ui/ConnectionStatus.js +5 -5
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/Dropdown.js +3 -3
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +7 -7
- package/cjs/ui/Icon.js +1 -1
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +3 -3
- package/cjs/ui/Label.js +3 -3
- package/cjs/ui/LinkLabel.js +3 -3
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MessageContent.js +14 -14
- package/cjs/ui/MessageInput.js +10 -10
- package/cjs/ui/MessageItemMenu.js +7 -7
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +10 -10
- package/cjs/ui/MessageStatus.js +8 -8
- package/cjs/ui/Modal.js +8 -8
- package/cjs/ui/MutedAvatarOverlay.js +1 -1
- package/cjs/ui/OGMessageItemBody.js +9 -9
- package/cjs/ui/OpenChannelAdminMessage.js +4 -4
- package/cjs/ui/OpenChannelAvatar.js +7 -7
- package/cjs/ui/OpenchannelConversationHeader.js +7 -7
- package/cjs/ui/OpenchannelFileMessage.js +14 -14
- package/cjs/ui/OpenchannelOGMessage.js +14 -14
- package/cjs/ui/OpenchannelThumbnailMessage.js +13 -13
- package/cjs/ui/OpenchannelUserMessage.js +14 -14
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/QuoteMessage.js +7 -7
- package/cjs/ui/QuoteMessageInput.js +7 -7
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +1 -1
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +9 -9
- package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +7 -7
- package/cjs/ui/UserListItem.js +11 -11
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/{utils-3e73a146.js → utils-3240365f.js} +1 -1
- package/cjs/{utils-3e73a146.js.map → utils-3240365f.js.map} +1 -1
- package/cjs/{utils-b95288a8.js → utils-53d332a6.js} +1 -1
- package/cjs/{utils-b95288a8.js.map → utils-53d332a6.js.map} +1 -1
- package/cjs/{utils-c55d20dc.js → utils-94ae6cec.js} +1 -1
- package/cjs/{utils-c55d20dc.js.map → utils-94ae6cec.js.map} +1 -1
- package/cjs/{uuid-ba6cc3c5.js → uuid-172844fb.js} +1 -1
- package/cjs/{uuid-ba6cc3c5.js.map → uuid-172844fb.js.map} +1 -1
- package/cjs/withSendBird.js +1 -1
- package/{color-2863fbbe.js → color-38dc84d3.js} +1 -1
- package/{color-2863fbbe.js.map → color-38dc84d3.js.map} +1 -1
- package/{compareIds-48d87cc5.js → compareIds-f01e0c3c.js} +1 -1
- package/{compareIds-48d87cc5.js.map → compareIds-f01e0c3c.js.map} +1 -1
- package/{const-3f63e129.js → const-b6685801.js} +1 -1
- package/{const-3f63e129.js.map → const-b6685801.js.map} +1 -1
- package/{const-09c22c50.js → const-d46f09a1.js} +1 -1
- package/{const-09c22c50.js.map → const-d46f09a1.js.map} +1 -1
- package/{context-7877e5bb.js → context-b5168bd0.js} +2 -2
- package/{context-7877e5bb.js.map → context-b5168bd0.js.map} +1 -1
- package/dist/index.css +78 -74
- package/dist/index.css.map +1 -1
- package/{index-4a59a866.js → index-1c2588aa.js} +2 -2
- package/{index-4a59a866.js.map → index-1c2588aa.js.map} +1 -1
- package/{index-41a6f4f2.js → index-2dce3a04.js} +3 -3
- package/{index-41a6f4f2.js.map → index-2dce3a04.js.map} +1 -1
- package/{index-358226c7.js → index-3bd4a058.js} +6 -6
- package/{index-358226c7.js.map → index-3bd4a058.js.map} +1 -1
- package/{index-4889e530.js → index-62fd2db7.js} +4 -4
- package/{index-4889e530.js.map → index-62fd2db7.js.map} +1 -1
- package/{index-353f13f3.js → index-6381b534.js} +1 -1
- package/{index-353f13f3.js.map → index-6381b534.js.map} +1 -1
- package/{index-f119413c.js → index-9afb4d01.js} +2 -2
- package/{index-f119413c.js.map → index-9afb4d01.js.map} +1 -1
- package/{index-86b0a341.js → index-a6675155.js} +4 -4
- package/{index-86b0a341.js.map → index-a6675155.js.map} +1 -1
- package/{index-303a3b6e.js → index-b12b270e.js} +4 -4
- package/{index-303a3b6e.js.map → index-b12b270e.js.map} +1 -1
- package/{index-a611bd38.js → index-d0b30cd5.js} +3 -3
- package/{index-a611bd38.js.map → index-d0b30cd5.js.map} +1 -1
- package/{index-1fd114b0.js → index-d0fe8fe1.js} +1 -1
- package/{index-1fd114b0.js.map → index-d0fe8fe1.js.map} +1 -1
- package/{index-ad4c9e58.js → index-e6d0889d.js} +3 -3
- package/{index-ad4c9e58.js.map → index-e6d0889d.js.map} +1 -1
- package/index.d.ts +1 -1
- package/index.js +36 -36
- package/{openChannelUtils-024b797a.js → openChannelUtils-22ed0258.js} +1 -1
- package/{openChannelUtils-024b797a.js.map → openChannelUtils-22ed0258.js.map} +1 -1
- package/package.json +2 -2
- package/sendBirdSelectors.js +1 -1
- package/{stringSet-91746bf1.js → stringSet-2e6c1d2c.js} +1 -1
- package/{stringSet-91746bf1.js.map → stringSet-2e6c1d2c.js.map} +1 -1
- package/{topics-17d99dd6.js → topics-67738aac.js} +1 -1
- package/{topics-17d99dd6.js.map → topics-67738aac.js.map} +1 -1
- package/{tslib.es6-83aa13f5.js → tslib.es6-b6e567bd.js} +1 -1
- package/{tslib.es6-83aa13f5.js.map → tslib.es6-b6e567bd.js.map} +1 -1
- package/ui/Accordion.js +4 -4
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +3 -3
- package/ui/Badge.js +5 -5
- package/ui/Button.js +4 -4
- package/ui/ChannelAvatar.js +4 -4
- package/ui/ChannelPreview.js +12 -12
- package/ui/ChatHeader.js +8 -8
- package/ui/Checkbox.js +1 -1
- package/ui/ConnectionStatus.js +5 -5
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +4 -4
- package/ui/Dropdown.js +3 -3
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +7 -7
- package/ui/Icon.js +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +3 -3
- package/ui/Label.js +3 -3
- package/ui/LinkLabel.js +3 -3
- package/ui/Loader.js +1 -1
- package/ui/MessageContent.js +14 -14
- package/ui/MessageInput.js +10 -10
- package/ui/MessageItemMenu.js +7 -7
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +10 -10
- package/ui/MessageStatus.js +8 -8
- package/ui/Modal.js +8 -8
- package/ui/MutedAvatarOverlay.js +1 -1
- package/ui/OGMessageItemBody.js +9 -9
- package/ui/OpenChannelAdminMessage.js +4 -4
- package/ui/OpenChannelAvatar.js +7 -7
- package/ui/OpenchannelConversationHeader.js +7 -7
- package/ui/OpenchannelFileMessage.js +14 -14
- package/ui/OpenchannelOGMessage.js +14 -14
- package/ui/OpenchannelThumbnailMessage.js +13 -13
- package/ui/OpenchannelUserMessage.js +14 -14
- package/ui/PlaceHolder.js +6 -6
- package/ui/QuoteMessage.js +7 -7
- package/ui/QuoteMessageInput.js +7 -7
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +1 -1
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +9 -9
- package/ui/ThumbnailMessageItemBody.js +3 -3
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +7 -7
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +9 -9
- package/useSendbirdStateContext.js +1 -1
- package/{utils-7d39b941.js → utils-04c291d8.js} +1 -1
- package/{utils-7d39b941.js.map → utils-04c291d8.js.map} +1 -1
- package/{utils-5395ff17.js → utils-28de36e9.js} +1 -1
- package/{utils-5395ff17.js.map → utils-28de36e9.js.map} +1 -1
- package/{utils-9ef11656.js → utils-f5c9ef64.js} +1 -1
- package/{utils-9ef11656.js.map → utils-f5c9ef64.js.map} +1 -1
- package/{uuid-6d14d007.js → uuid-0139dc21.js} +1 -1
- package/{uuid-6d14d007.js.map → uuid-0139dc21.js.map} +1 -1
- package/withSendBird.js +1 -1
- package/CHANGELOG.md +0 -50
- package/ChannelListProvider-7c351968.js.map +0 -1
- package/README.md +0 -111
- package/cjs/ChannelListProvider-44dde549.js.map +0 -1
- package/index.css +0 -4461
- package/index.css.map +0 -1
|
@@ -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 || (!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\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 && 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 && channel.lastMessage\n ? getPrettyLastMessage(channel.lastMessage)\n : ''\n);\n\nexport const getChannelUnreadMessageCount = (channel) => (\n (channel && channel.unreadMessageCount)\n ? channel.unreadMessageCount\n : 0\n);\n","import React from 'react';\nimport SendBird from 'sendbird';\n\nimport './channel-preview.scss';\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';\n\ninterface ChannelPreviewInterface {\n channel: SendBird.GroupChannel;\n isActive?: boolean;\n onClick: () => void;\n renderChannelAction: (props: { channel: SendBird.GroupChannel }) => React.ReactNode;\n tabIndex: number;\n}\n\nconst ChannelPreview: React.FC<ChannelPreviewInterface> = ({\n channel,\n isActive = false,\n renderChannelAction,\n onClick,\n tabIndex,\n}: ChannelPreviewInterface) => {\n const sbState = useSendbirdStateContext();\n const { dateLocale, stringSet } = useLocalization();\n const userId = sbState?.stores?.userStore?.user?.userId;\n const theme = sbState?.config?.theme;\n const isMentionEnabled = sbState?.config?.isMentionEnabled;\n const { isBroadcast, isFrozen } = channel;\n return (\n <div\n className={[\n 'sendbird-channel-preview',\n isActive ? 'sendbird-channel-preview--active' : '',\n ].join(' ')}\n role=\"link\"\n onClick={onClick}\n onKeyPress={onClick}\n tabIndex={tabIndex}\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 {utils.getChannelTitle(channel, userId, stringSet)}\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 <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 </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 {utils.getLastMessage(channel)}\n </Label>\n <div className=\"sendbird-channel-preview__content__lower__unread-message-count\">\n {\n (isMentionEnabled && channel?.unreadMentionCount > 0)\n ? <MentionUserLabel color=\"purple\">@</MentionUserLabel>\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 <div\n className=\"sendbird-channel-preview__action\"\n >\n { renderChannelAction({ channel }) }\n </div>\n </div>\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","_g","isActive","renderChannelAction","onClick","tabIndex","sbState","useSendbirdStateContext","_h","useLocalization","dateLocale","stores","userStore","user","theme","config","isMentionEnabled","isBroadcast","isFrozen","React","IconTypes","BROADCAST","IconColors","SECONDARY","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","utils","CAPTION_2","ONBACKGROUND_2","FREEZE","PRIMARY","CAPTION_3","BODY_2","ONBACKGROUND_3","unreadMentionCount"],"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 || (!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\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 && 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 && channel.lastMessage\n ? getPrettyLastMessage(channel.lastMessage)\n : ''\n);\n\nexport const getChannelUnreadMessageCount = (channel) => (\n (channel && channel.unreadMessageCount)\n ? channel.unreadMessageCount\n : 0\n);\n","import React from 'react';\nimport SendBird from 'sendbird';\n\nimport './channel-preview.scss';\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 { useChannelListContext } from '../../context/ChannelListProvider';\nimport { TypingIndicatorText } from '../../../Channel/components/TypingIndicator';\nimport MessageStatus from '../../../../ui/MessageStatus';\n\ninterface ChannelPreviewInterface {\n channel: SendBird.GroupChannel;\n isActive?: boolean;\n isTyping?: boolean;\n onClick: () => void;\n renderChannelAction: (props: { channel: SendBird.GroupChannel }) => React.ReactNode;\n tabIndex: number;\n}\n\nconst ChannelPreview: React.FC<ChannelPreviewInterface> = ({\n channel,\n isActive = false,\n isTyping = false,\n renderChannelAction,\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 userId = sbState?.stores?.userStore?.user?.userId;\n const theme = sbState?.config?.theme;\n const isMentionEnabled = sbState?.config?.isMentionEnabled;\n const { isBroadcast, isFrozen } = channel;\n const isChannelTyping = isTypingIndicatorEnabled && isTyping;\n const isMessageStatusEnabled = isMessageReceiptStatusEnabled\n && (channel?.lastMessage?.messageType === 'user' || channel?.lastMessage?.messageType === 'file')\n && channel?.lastMessage?.sender?.userId === userId;\n return (\n <div\n className={[\n 'sendbird-channel-preview',\n isActive ? 'sendbird-channel-preview--active' : '',\n ].join(' ')}\n role=\"link\"\n onClick={onClick}\n onKeyPress={onClick}\n tabIndex={tabIndex}\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 {utils.getChannelTitle(channel, userId, stringSet)}\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 SendBird.UserMessage | SendBird.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?.getTypingMembers()} />\n : utils.getLastMessage(channel)\n }\n </Label>\n <div className=\"sendbird-channel-preview__content__lower__unread-message-count\">\n {\n (isMentionEnabled && channel?.unreadMentionCount > 0)\n ? <MentionUserLabel color=\"purple\">@</MentionUserLabel>\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 <div\n className=\"sendbird-channel-preview__action\"\n >\n { renderChannelAction({ channel }) }\n </div>\n </div>\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","onClick","tabIndex","sbState","useSendbirdStateContext","_o","useChannelListContext","_p","isTypingIndicatorEnabled","_q","isMessageReceiptStatusEnabled","_r","useLocalization","dateLocale","stores","userStore","user","theme","config","isMentionEnabled","isBroadcast","isFrozen","isChannelTyping","isMessageStatusEnabled","sender","React","IconTypes","BROADCAST","IconColors","SECONDARY","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","utils","CAPTION_2","ONBACKGROUND_2","FREEZE","PRIMARY","CAPTION_3","BODY_2","ONBACKGROUND_3","getTypingMembers","unreadMentionCount"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,GAA6D;AAAA,MAA5DC,OAA4D,uEAAlD,EAAkD;AAAA,MAA9CC,aAA8C;AAAA,MAA/BC,SAA+B,uEAAnBC,cAAmB;;AAC1F,MAAI,CAACH,OAAD,IAAa,CAACA,OAAO,CAACI,IAAT,IAAiB,CAACJ,OAAO,CAACK,OAA3C,EAAqD;AACnD,WAAOH,SAAS,CAACI,QAAjB;AACD;;AACD,MAAIN,OAAO,CAACI,IAAR,IAAgBJ,OAAO,CAACI,IAAR,KAAiB,eAArC,EAAsD;AACpD,WAAOJ,OAAO,CAACI,IAAf;AACD;;AACD,MAAIJ,OAAO,CAACK,OAAR,CAAgBE,MAAhB,KAA2B,CAA/B,EAAkC;AAChC,WAAOL,SAAS,CAACM,UAAjB;AACD;;AAED,SAAOR,OAAO,CAACK,OAAR,CACJI,MADI,CACG;AAAA,QAAGC,MAAH,QAAGA,MAAH;AAAA,WAAgBA,MAAM,KAAKT,aAA3B;AAAA,GADH,EAEJU,GAFI,CAEA;AAAA,QAAGC,QAAH,SAAGA,QAAH;AAAA,WAAmBA,QAAQ,IAAIV,SAAS,CAACW,OAAzC;AAAA,GAFA,EAGJC,IAHI,CAGC,IAHD,CAAP;AAID,CAfM;AAiBA,IAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACf,OAAD,EAAUgB,MAAV,EAAqB;AAAA;;AAC1D,MAAMC,SAAS,GAAGjB,OAAH,aAAGA,OAAH,+CAAGA,OAAO,CAAEkB,WAAZ,yDAAG,qBAAsBD,SAAxC;AACA,MAAME,aAAa,GAAGH,MAAM,GAAG;AAAEA,IAAAA,MAAM,EAANA;AAAF,GAAH,GAAgB,IAA5C;;AACA,MAAI,CAACC,SAAL,EAAgB;AACd,WAAO,EAAP;AACD;;AACD,MAAIG,OAAO,CAACH,SAAD,CAAX,EAAwB;AACtB,WAAOI,MAAM,CAACJ,SAAD,EAAY,GAAZ,EAAiBE,aAAjB,CAAb;AACD;;AACD,MAAIG,WAAW,CAACL,SAAD,CAAf,EAA4B;AAC1B,WAAOM,cAAc,CAACN,SAAD,EAAY,IAAIO,IAAJ,EAAZ,EAAwBL,aAAxB,CAArB;AACD;;AACD,SAAOE,MAAM,CAACJ,SAAD,EAAY,QAAZ,EAAsBE,aAAtB,CAAb;AACD,CAbM;AAeA,IAAMM,eAAe,GAAG,SAAlBA,eAAkB,CAACzB,OAAD;AAAA,SAC7BA,OAAO,IAAIA,OAAO,CAAC0B,WAAnB,GACI1B,OAAO,CAAC0B,WADZ,GAEI,CAHyB;AAAA,CAAxB;;AAMP,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAkB;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;AAC7C,MAAMC,MAAM,GAAG,EAAf;AACA,MAAQC,WAAR,GAA8BF,OAA9B,CAAQE,WAAR;AAAA,MAAqB1B,IAArB,GAA8BwB,OAA9B,CAAqBxB,IAArB;;AACA,MAAI0B,WAAW,KAAK,MAApB,EAA4B;AAC1B,WAAOC,cAAc,CAAC3B,IAAD,EAAOyB,MAAP,CAArB;AACD;;AACD,SAAOD,OAAO,CAACA,OAAf;AACD,CAPD;;AASO,IAAMI,cAAc,GAAG,SAAjBA,cAAiB,CAAChC,OAAD;AAAA,SAC5BA,OAAO,IAAIA,OAAO,CAACkB,WAAnB,GACIS,oBAAoB,CAAC3B,OAAO,CAACkB,WAAT,CADxB,GAEI,EAHwB;AAAA,CAAvB;AAMA,IAAMe,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACjC,OAAD;AAAA,SACzCA,OAAO,IAAIA,OAAO,CAACkC,kBAApB,GACIlC,OAAO,CAACkC,kBADZ,GAEI,CAHsC;AAAA,CAArC;;ICjCDC,cAAc,GAAsC,SAApDA,cAAoD,CAACC,EAAD;;;MACxDpC,OAAO;MACPqC;MAAAC,QAAQ,mBAAG;MACXC;MAAAC,QAAQ,mBAAG;MACXC,mBAAmB;MACnBC,OAAO;MACPC,QAAQ;AAER,MAAMC,OAAO,GAAGC,uBAAuB,EAAvC;;AACM,MAAAC,KAGFC,qBAAqB,EAHnB;AAAA,MACJC,gCADI;AAAA,MACJC,wBAAwB,mBAAG,UADvB;AAAA,MAEJC,qCAFI;AAAA,MAEJC,6BAA6B,mBAAG,UAF5B;;AAIA,MAAAC,KAA4BC,eAAe,EAA3C;AAAA,MAAEC,UAAU,gBAAZ;AAAA,MAAcpD,SAAS,eAAvB;;AACN,MAAMQ,MAAM,GAAG,MAAA,MAAA,MAAAkC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEW,MAAT,UAAA,iBAAA,SAAA,MAAiBC,SAAjB,UAAA,iBAAA,SAAA,MAA4BC,IAA5B,UAAA,iBAAA,SAAA,MAAkC/C,MAAjD;AACA,MAAMgD,KAAK,GAAG,MAAAd,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEe,MAAT,UAAA,iBAAA,SAAA,MAAiBD,KAA/B;AACA,MAAME,gBAAgB,GAAG,MAAAhB,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEe,MAAT,UAAA,iBAAA,SAAA,MAAiBC,gBAA1C;AACQ,MAAAC,WAAW,GAAe7D,OAAO,YAAjC;AAAA,MAAa8D,QAAQ,GAAK9D,OAAO,SAAjC;AACR,MAAM+D,eAAe,GAAGd,wBAAwB,IAAIT,QAApD;AACA,MAAMwB,sBAAsB,GAAGb,6BAA6B,KACtD,CAAA,MAAAnD,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEkB,WAAT,UAAA,iBAAA,SAAA,MAAsBY,WAAtB,MAAsC,MAAtC,IAAgD,CAAA,MAAA9B,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEkB,WAAT,UAAA,iBAAA,SAAA,MAAsBY,WAAtB,MAAsC,MADhC,CAA7B,IAE1B,CAAA,MAAA,MAAA9B,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEkB,WAAT,UAAA,iBAAA,SAAA,MAAsB+C,MAAtB,UAAA,iBAAA,SAAA,MAA8BvD,MAA9B,MAAyCA,MAF9C;AAGA,sBACEwD;AACE,IAAA,SAAS,EAAE,CACT,0BADS,EAET5B,QAAQ,GAAG,kCAAH,GAAwC,EAFvC,EAGTxB,IAHS,CAGJ,GAHI,CADb;AAKE,IAAA,IAAI,EAAC,MALP;AAME,IAAA,OAAO,EAAE4B,OANX;AAOE,IAAA,UAAU,EAAEA,OAPd;AAQE,IAAA,QAAQ,EAAEC;AARZ,kBAUEuB;AACE,IAAA,SAAS,EAAC;AADZ,kBAGEA,6BAAC,aAAD;AACE,IAAA,OAAO,EAAElE,OADX;AAEE,IAAA,MAAM,EAAEU,MAFV;AAGE,IAAA,KAAK,EAAEgD;AAHT,IAHF,CAVF,eAmBEQ;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AAAK,IAAA,SAAS,EAAC;AAAf,KAEIL,WAAW,iBAETK;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,6BAAC,IAAD;AACE,IAAA,IAAI,EAAEC,SAAS,CAACC,SADlB;AAEE,IAAA,SAAS,EAAEC,UAAU,CAACC,SAFxB;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,KAAK,EAAC;AAJR,IADF,CAJN,eAcEJ,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,gEADZ;AAEE,IAAA,IAAI,EAAEK,eAAe,CAACC,UAFxB;AAGE,IAAA,KAAK,EAAEC,WAAW,CAACC;AAHrB,KAKGC,eAAA,CAAsB3E,OAAtB,EAA+BU,MAA/B,EAAuCR,SAAvC,CALH,CAdF,eAqBEgE,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,iEADZ;AAEE,IAAA,IAAI,EAAEK,eAAe,CAACK,SAFxB;AAGE,IAAA,KAAK,EAAEH,WAAW,CAACI;AAHrB,KAKGF,eAAA,CAAsB3E,OAAtB,CALH,CArBF,EA6BI8D,QAAQ,iBAENI;AAAK,IAAA,KAAK,EAAC,QAAX;AAAoB,IAAA,SAAS,EAAC;AAA9B,kBACEA,6BAAC,IAAD;AACE,IAAA,IAAI,EAAEC,SAAS,CAACW,MADlB;AAEE,IAAA,SAAS,EAAET,UAAU,CAACU,OAFxB;AAGE,IAAA,MAAM,EAAE,EAHV;AAIE,IAAA,KAAK,EAAE;AAJT,IADF,CA/BN,CADF,EA4CIf,sBAAsB,gBAElBE,6BAAC,aAAD;AACE,IAAA,SAAS,EAAC,2DADZ;AAEE,IAAA,OAAO,EAAElE,OAFX;AAGE,IAAA,OAAO,EAAEA,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEkB;AAHpB,IAFkB,gBASlBgD,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,2DADZ;AAEE,IAAA,IAAI,EAAEK,eAAe,CAACS,SAFxB;AAGE,IAAA,KAAK,EAAEP,WAAW,CAACI;AAHrB,KAKGF,uBAAA,CAA8B3E,OAA9B,EAAuCsD,UAAvC,CALH,CArDR,CADF,eAgEEY;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,wDADZ;AAEE,IAAA,IAAI,EAAEK,eAAe,CAACU,MAFxB;AAGE,IAAA,KAAK,EAAER,WAAW,CAACS;AAHrB,KAMInB,eAAe,gBACXG,6BAAC,mBAAD;AAAqB,IAAA,OAAO,EAAElE,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEmF,gBAAT;AAA9B,IADW,GAEXR,cAAA,CAAqB3E,OAArB,CARR,CADF,eAYEkE;AAAK,IAAA,SAAS,EAAC;AAAf,KAEKN,gBAAgB,IAAI,CAAA5D,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEoF,kBAAT,IAA8B,CAAnD,gBACIlB,6BAAC,gBAAD;AAAkB,IAAA,KAAK,EAAC;AAAxB,SADJ,GAEI,IAJR,EAOIS,4BAAA,CAAmC3E,OAAnC;AAAA,iBACIkE,6BAAC,KAAD;AAAO,IAAA,KAAK,EAAES,4BAAA,CAAmC3E,OAAnC;AAAd,IADJ,GAEI,IATR,CAZF,CAhEF,CAnBF,eA6GEkE;AACE,IAAA,SAAS,EAAC;AADZ,KAGIzB,mBAAmB,CAAC;AAAEzC,IAAAA,OAAO;AAAT,GAAD,CAHvB,CA7GF,CADF;AAqHD;;;;"}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { a as _slicedToArray } from '../../_rollupPluginBabelHelpers-
|
|
1
|
+
import { a as _slicedToArray } from '../../_rollupPluginBabelHelpers-6bf18550.js';
|
|
2
2
|
import React__default, { useRef, useState, useContext } from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
|
-
import { a as LocalizationContext } from '../../LocalizationContext-
|
|
4
|
+
import { a as LocalizationContext } from '../../LocalizationContext-b970a73c.js';
|
|
5
5
|
import ContextMenu, { MenuItems, MenuItem } from '../../ui/ContextMenu.js';
|
|
6
6
|
import IconButton from '../../ui/IconButton.js';
|
|
7
7
|
import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
|
|
8
8
|
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
9
|
-
import { n as noop } from '../../utils-
|
|
9
|
+
import { n as noop } from '../../utils-f5c9ef64.js';
|
|
10
10
|
import Modal from '../../ui/Modal.js';
|
|
11
|
-
import { u as useChannelListContext } from '../../ChannelListProvider-
|
|
12
|
-
import '../../stringSet-
|
|
13
|
-
import '../../index-
|
|
14
|
-
import '../../index-
|
|
15
|
-
import '../../index-
|
|
16
|
-
import '../../tslib.es6-
|
|
11
|
+
import { u as useChannelListContext } from '../../ChannelListProvider-d602a166.js';
|
|
12
|
+
import '../../stringSet-2e6c1d2c.js';
|
|
13
|
+
import '../../index-6381b534.js';
|
|
14
|
+
import '../../index-d0b30cd5.js';
|
|
15
|
+
import '../../index-e6d0889d.js';
|
|
16
|
+
import '../../tslib.es6-b6e567bd.js';
|
|
17
17
|
import 'react-dom';
|
|
18
18
|
import '../../ui/SortByRow.js';
|
|
19
19
|
import '../../withSendBird.js';
|
|
20
|
-
import '../../index-
|
|
21
|
-
import '../../index-
|
|
22
|
-
import '../../topics-
|
|
23
|
-
import '../../uuid-
|
|
24
|
-
import '../../UserProfileContext-
|
|
20
|
+
import '../../index-d0fe8fe1.js';
|
|
21
|
+
import '../../index-2dce3a04.js';
|
|
22
|
+
import '../../topics-67738aac.js';
|
|
23
|
+
import '../../uuid-0139dc21.js';
|
|
24
|
+
import '../../UserProfileContext-f4ff4291.js';
|
|
25
25
|
|
|
26
26
|
var LeaveChannel = function LeaveChannel(props) {
|
|
27
27
|
var _a, _b, _c;
|
package/ChannelList/context.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import '../tslib.es6-
|
|
1
|
+
import '../tslib.es6-b6e567bd.js';
|
|
2
2
|
import 'react';
|
|
3
|
-
export { C as ChannelListProvider, u as useChannelListContext } from '../ChannelListProvider-
|
|
4
|
-
import '../uuid-
|
|
5
|
-
import '../utils-
|
|
6
|
-
import '../UserProfileContext-
|
|
3
|
+
export { C as ChannelListProvider, u as useChannelListContext } from '../ChannelListProvider-d602a166.js';
|
|
4
|
+
import '../uuid-0139dc21.js';
|
|
5
|
+
import '../utils-f5c9ef64.js';
|
|
6
|
+
import '../UserProfileContext-f4ff4291.js';
|
|
7
7
|
import '../useSendbirdStateContext.js';
|
|
8
|
-
import '../topics-
|
|
9
|
-
import '../_rollupPluginBabelHelpers-
|
|
10
|
-
import '../index-
|
|
8
|
+
import '../topics-67738aac.js';
|
|
9
|
+
import '../_rollupPluginBabelHelpers-6bf18550.js';
|
|
10
|
+
import '../index-e6d0889d.js';
|
|
11
11
|
import 'prop-types';
|
|
12
12
|
import '../withSendBird.js';
|
|
13
13
|
//# sourceMappingURL=context.js.map
|
package/ChannelList.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
|
-
import { C as ChannelListProvider } from './ChannelListProvider-
|
|
2
|
+
import { C as ChannelListProvider } from './ChannelListProvider-d602a166.js';
|
|
3
3
|
import ChannelListUI from './ChannelList/components/ChannelListUI.js';
|
|
4
|
-
import './tslib.es6-
|
|
5
|
-
import './topics-
|
|
6
|
-
import './uuid-
|
|
7
|
-
import './utils-
|
|
8
|
-
import './UserProfileContext-
|
|
4
|
+
import './tslib.es6-b6e567bd.js';
|
|
5
|
+
import './topics-67738aac.js';
|
|
6
|
+
import './uuid-0139dc21.js';
|
|
7
|
+
import './utils-f5c9ef64.js';
|
|
8
|
+
import './UserProfileContext-f4ff4291.js';
|
|
9
9
|
import 'prop-types';
|
|
10
10
|
import './useSendbirdStateContext.js';
|
|
11
11
|
import './withSendBird.js';
|
|
12
|
-
import './_rollupPluginBabelHelpers-
|
|
13
|
-
import './index-
|
|
12
|
+
import './_rollupPluginBabelHelpers-6bf18550.js';
|
|
13
|
+
import './index-e6d0889d.js';
|
|
14
14
|
import './ChannelList/components/ChannelListHeader.js';
|
|
15
|
-
import './LocalizationContext-
|
|
16
|
-
import './stringSet-
|
|
17
|
-
import './index-
|
|
18
|
-
import './index-
|
|
15
|
+
import './LocalizationContext-b970a73c.js';
|
|
16
|
+
import './stringSet-2e6c1d2c.js';
|
|
17
|
+
import './index-6381b534.js';
|
|
18
|
+
import './index-d0b30cd5.js';
|
|
19
19
|
import './ui/IconButton.js';
|
|
20
20
|
import './ui/Avatar.js';
|
|
21
21
|
import './ui/ImageRenderer.js';
|
|
@@ -23,13 +23,13 @@ import './ui/Icon.js';
|
|
|
23
23
|
import './ChannelList/components/AddChannel.js';
|
|
24
24
|
import './CreateChannel.js';
|
|
25
25
|
import './CreateChannel/components/CreateChannelUI.js';
|
|
26
|
-
import './CreateChannelProvider-
|
|
26
|
+
import './CreateChannelProvider-3f3dafed.js';
|
|
27
27
|
import './sendBirdSelectors.js';
|
|
28
28
|
import './CreateChannel/components/InviteMembers.js';
|
|
29
29
|
import './ui/Modal.js';
|
|
30
30
|
import 'react-dom';
|
|
31
|
-
import './index-
|
|
32
|
-
import './index-
|
|
31
|
+
import './index-d0fe8fe1.js';
|
|
32
|
+
import './index-2dce3a04.js';
|
|
33
33
|
import './ui/UserListItem.js';
|
|
34
34
|
import './ui/MutedAvatarOverlay.js';
|
|
35
35
|
import './ui/Checkbox.js';
|
|
@@ -39,21 +39,27 @@ import './ui/SortByRow.js';
|
|
|
39
39
|
import './CreateChannel/components/SelectChannelType.js';
|
|
40
40
|
import './ChannelList/components/ChannelPreview.js';
|
|
41
41
|
import './ui/ChannelAvatar.js';
|
|
42
|
-
import './utils-
|
|
42
|
+
import './utils-04c291d8.js';
|
|
43
43
|
import './ui/Badge.js';
|
|
44
|
-
import './index-
|
|
45
|
-
import './index-
|
|
46
|
-
import './index-
|
|
44
|
+
import './index-a6675155.js';
|
|
45
|
+
import './index-9afb4d01.js';
|
|
46
|
+
import './index-1c2588aa.js';
|
|
47
47
|
import './ui/MentionUserLabel.js';
|
|
48
|
+
import './Channel/components/TypingIndicator.js';
|
|
49
|
+
import './ChannelProvider-cf8fc05a.js';
|
|
50
|
+
import './compareIds-f01e0c3c.js';
|
|
51
|
+
import './const-b6685801.js';
|
|
52
|
+
import './ui/ReactionButton.js';
|
|
53
|
+
import './ui/MessageStatus.js';
|
|
54
|
+
import './ui/Loader.js';
|
|
48
55
|
import './ChannelList/components/ChannelPreviewAction.js';
|
|
49
56
|
import './EditUserProfile.js';
|
|
50
|
-
import './index-
|
|
57
|
+
import './index-3bd4a058.js';
|
|
51
58
|
import './ui/Input.js';
|
|
52
59
|
import './ui/TextButton.js';
|
|
53
|
-
import './color-
|
|
54
|
-
import './actionTypes-
|
|
55
|
-
import './index-
|
|
56
|
-
import './ui/Loader.js';
|
|
60
|
+
import './color-38dc84d3.js';
|
|
61
|
+
import './actionTypes-8e320ded.js';
|
|
62
|
+
import './index-b12b270e.js';
|
|
57
63
|
|
|
58
64
|
var ChannelList = function ChannelList(props) {
|
|
59
65
|
return /*#__PURE__*/React__default.createElement(ChannelListProvider, {
|
|
@@ -66,7 +72,9 @@ var ChannelList = function ChannelList(props) {
|
|
|
66
72
|
onChannelSelect: props === null || props === void 0 ? void 0 : props.onChannelSelect,
|
|
67
73
|
sortChannelList: props === null || props === void 0 ? void 0 : props.sortChannelList,
|
|
68
74
|
queries: props === null || props === void 0 ? void 0 : props.queries,
|
|
69
|
-
disableAutoSelect: props === null || props === void 0 ? void 0 : props.disableAutoSelect
|
|
75
|
+
disableAutoSelect: props === null || props === void 0 ? void 0 : props.disableAutoSelect,
|
|
76
|
+
isTypingIndicatorEnabled: props === null || props === void 0 ? void 0 : props.isTypingIndicatorEnabled,
|
|
77
|
+
isMessageReceiptStatusEnabled: props === null || props === void 0 ? void 0 : props.isMessageReceiptStatusEnabled
|
|
70
78
|
}, /*#__PURE__*/React__default.createElement(ChannelListUI, {
|
|
71
79
|
renderChannelPreview: props === null || props === void 0 ? void 0 : props.renderChannelPreview,
|
|
72
80
|
renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile,
|
package/ChannelList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelList.js","sources":["../src/smart-components/ChannelList/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n ChannelListProvider,\n ChannelListProviderInterface,\n} from './context/ChannelListProvider';\n\nimport ChannelListUI, { ChannelListUIProps } from './components/ChannelListUI';\n\ninterface ChannelListProps extends ChannelListProviderInterface, ChannelListUIProps {}\n\nconst ChannelList: React.FC<ChannelListProps> = (props: ChannelListProps) => {\n return (\n <ChannelListProvider\n className={props?.className}\n disableUserProfile={props?.disableUserProfile}\n allowProfileEdit={props?.allowProfileEdit}\n onBeforeCreateChannel={props?.onBeforeCreateChannel}\n onThemeChange={props?.onThemeChange}\n onProfileEditSuccess={props?.onProfileEditSuccess}\n onChannelSelect={props?.onChannelSelect}\n sortChannelList={props?.sortChannelList}\n queries={props?.queries}\n disableAutoSelect={props?.disableAutoSelect}\n >\n <ChannelListUI\n renderChannelPreview={props?.renderChannelPreview}\n renderUserProfile={props?.renderUserProfile}\n renderHeader={props?.renderHeader}\n renderPlaceHolderEmptyList={props?.renderPlaceHolderEmptyList}\n renderPlaceHolderError={props?.renderPlaceHolderError}\n renderPlaceHolderLoading={props?.renderPlaceHolderLoading}\n />\n </ChannelListProvider>\n );\n}\n\nexport default ChannelList;\n"],"names":["ChannelList","props","React","className","disableUserProfile","allowProfileEdit","onBeforeCreateChannel","onThemeChange","onProfileEditSuccess","onChannelSelect","sortChannelList","queries","disableAutoSelect","renderChannelPreview","renderUserProfile","renderHeader","renderPlaceHolderEmptyList","renderPlaceHolderError","renderPlaceHolderLoading"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChannelList.js","sources":["../src/smart-components/ChannelList/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n ChannelListProvider,\n ChannelListProviderInterface,\n} from './context/ChannelListProvider';\n\nimport ChannelListUI, { ChannelListUIProps } from './components/ChannelListUI';\n\ninterface ChannelListProps extends ChannelListProviderInterface, ChannelListUIProps {}\n\nconst ChannelList: React.FC<ChannelListProps> = (props: ChannelListProps) => {\n return (\n <ChannelListProvider\n className={props?.className}\n disableUserProfile={props?.disableUserProfile}\n allowProfileEdit={props?.allowProfileEdit}\n onBeforeCreateChannel={props?.onBeforeCreateChannel}\n onThemeChange={props?.onThemeChange}\n onProfileEditSuccess={props?.onProfileEditSuccess}\n onChannelSelect={props?.onChannelSelect}\n sortChannelList={props?.sortChannelList}\n queries={props?.queries}\n disableAutoSelect={props?.disableAutoSelect}\n isTypingIndicatorEnabled={props?.isTypingIndicatorEnabled}\n isMessageReceiptStatusEnabled={props?.isMessageReceiptStatusEnabled}\n >\n <ChannelListUI\n renderChannelPreview={props?.renderChannelPreview}\n renderUserProfile={props?.renderUserProfile}\n renderHeader={props?.renderHeader}\n renderPlaceHolderEmptyList={props?.renderPlaceHolderEmptyList}\n renderPlaceHolderError={props?.renderPlaceHolderError}\n renderPlaceHolderLoading={props?.renderPlaceHolderLoading}\n />\n </ChannelListProvider>\n );\n}\n\nexport default ChannelList;\n"],"names":["ChannelList","props","React","className","disableUserProfile","allowProfileEdit","onBeforeCreateChannel","onThemeChange","onProfileEditSuccess","onChannelSelect","sortChannelList","queries","disableAutoSelect","isTypingIndicatorEnabled","isMessageReceiptStatusEnabled","renderChannelPreview","renderUserProfile","renderHeader","renderPlaceHolderEmptyList","renderPlaceHolderError","renderPlaceHolderLoading"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUMA,WAAW,GAA+B,SAA1CA,WAA0C,CAACC,KAAD;AAC9C,sBACEC,6BAAC,mBAAD;AACE,IAAA,SAAS,EAAED,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEE,SADpB;AAEE,IAAA,kBAAkB,EAAEF,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEG,kBAF7B;AAGE,IAAA,gBAAgB,EAAEH,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEI,gBAH3B;AAIE,IAAA,qBAAqB,EAAEJ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEK,qBAJhC;AAKE,IAAA,aAAa,EAAEL,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEM,aALxB;AAME,IAAA,oBAAoB,EAAEN,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEO,oBAN/B;AAOE,IAAA,eAAe,EAAEP,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEQ,eAP1B;AAQE,IAAA,eAAe,EAAER,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAES,eAR1B;AASE,IAAA,OAAO,EAAET,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEU,OATlB;AAUE,IAAA,iBAAiB,EAAEV,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEW,iBAV5B;AAWE,IAAA,wBAAwB,EAAEX,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEY,wBAXnC;AAYE,IAAA,6BAA6B,EAAEZ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEa;AAZxC,kBAcEZ,6BAAC,aAAD;AACE,IAAA,oBAAoB,EAAED,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEc,oBAD/B;AAEE,IAAA,iBAAiB,EAAEd,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEe,iBAF5B;AAGE,IAAA,YAAY,EAAEf,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEgB,YAHvB;AAIE,IAAA,0BAA0B,EAAEhB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEiB,0BAJrC;AAKE,IAAA,sBAAsB,EAAEjB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEkB,sBALjC;AAME,IAAA,wBAAwB,EAAElB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEmB;AANnC,IAdF,CADF;AAyBD;;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { _ as __assign } from './tslib.es6-
|
|
1
|
+
import { a as __spreadArray, _ as __assign } from './tslib.es6-b6e567bd.js';
|
|
2
2
|
import React__default, { useReducer, useState, useEffect, useMemo, useContext } from 'react';
|
|
3
|
-
import { C as CREATE_CHANNEL$1, U as UPDATE_USER_MESSAGE, L as LEAVE_CHANNEL, b as SEND_MESSAGE_START } from './topics-
|
|
4
|
-
import { u as uuidv4 } from './uuid-
|
|
5
|
-
import { n as noop } from './utils-
|
|
6
|
-
import { U as UserProfileProvider } from './UserProfileContext-
|
|
3
|
+
import { C as CREATE_CHANNEL$1, U as UPDATE_USER_MESSAGE, L as LEAVE_CHANNEL, b as SEND_MESSAGE_START } from './topics-67738aac.js';
|
|
4
|
+
import { u as uuidv4 } from './uuid-0139dc21.js';
|
|
5
|
+
import { n as noop } from './utils-f5c9ef64.js';
|
|
6
|
+
import { U as UserProfileProvider } from './UserProfileContext-f4ff4291.js';
|
|
7
7
|
import useSendbirdStateContext from './useSendbirdStateContext.js';
|
|
8
|
-
import { _ as _objectSpread2, b as _toConsumableArray } from './_rollupPluginBabelHelpers-
|
|
9
|
-
import { f as filterChannelListParams, g as getChannelsWithUpsertedChannel } from './index-
|
|
8
|
+
import { _ as _objectSpread2, b as _toConsumableArray } from './_rollupPluginBabelHelpers-6bf18550.js';
|
|
9
|
+
import { f as filterChannelListParams, g as getChannelsWithUpsertedChannel } from './index-e6d0889d.js';
|
|
10
10
|
|
|
11
11
|
var RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';
|
|
12
12
|
var CREATE_CHANNEL = 'CREATE_CHANNEL';
|
|
@@ -34,6 +34,8 @@ var ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';
|
|
|
34
34
|
var CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';
|
|
35
35
|
var CHANNEL_LIST_PARAMS_UPDATED = 'CHANNEL_LIST_PARAMS_UPDATED';
|
|
36
36
|
|
|
37
|
+
var DELIVERY_RECIPT = 'delivery_receipt';
|
|
38
|
+
|
|
37
39
|
var createEventHandler = function createEventHandler(_ref) {
|
|
38
40
|
var sdk = _ref.sdk,
|
|
39
41
|
sdkChannelHandlerId = _ref.sdkChannelHandlerId,
|
|
@@ -236,6 +238,8 @@ function setupChannelList(_ref3) {
|
|
|
236
238
|
|
|
237
239
|
if (channelListQuery.hasNext) {
|
|
238
240
|
channelListQuery.next(function (response, error) {
|
|
241
|
+
var _sdk$appInfo, _sdk$appInfo$premiumF;
|
|
242
|
+
|
|
239
243
|
var swapParams = sdk.getErrorFirstCallback();
|
|
240
244
|
var channelList = response;
|
|
241
245
|
var err = error;
|
|
@@ -272,11 +276,21 @@ function setupChannelList(_ref3) {
|
|
|
272
276
|
type: INIT_CHANNELS_SUCCESS,
|
|
273
277
|
payload: sortedChannelList
|
|
274
278
|
});
|
|
279
|
+
var canSetMarkAsDelivered = sdk === null || sdk === void 0 ? void 0 : (_sdk$appInfo = sdk.appInfo) === null || _sdk$appInfo === void 0 ? void 0 : (_sdk$appInfo$premiumF = _sdk$appInfo.premiumFeatureList) === null || _sdk$appInfo$premiumF === void 0 ? void 0 : _sdk$appInfo$premiumF.find(function (feature) {
|
|
280
|
+
return feature === DELIVERY_RECIPT;
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
if (canSetMarkAsDelivered) {
|
|
284
|
+
var _channelList;
|
|
275
285
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
channelList.forEach(function (c) {
|
|
279
|
-
|
|
286
|
+
logger.info('ChannelList: Marking all channels as read'); // eslint-disable-next-line no-unused-expressions
|
|
287
|
+
|
|
288
|
+
(_channelList = channelList) === null || _channelList === void 0 ? void 0 : _channelList.forEach(function (c, idx) {
|
|
289
|
+
// Plan-based rate limits - minimum limit is 5 requests per second
|
|
290
|
+
setTimeout(function () {
|
|
291
|
+
// eslint-disable-next-line no-unused-expressions
|
|
292
|
+
sdk === null || sdk === void 0 ? void 0 : sdk.markAsDelivered(c === null || c === void 0 ? void 0 : c.url);
|
|
293
|
+
}, 300 * idx);
|
|
280
294
|
});
|
|
281
295
|
}
|
|
282
296
|
});
|
|
@@ -693,11 +707,14 @@ var ChannelListContext = /*#__PURE__*/React__default.createContext({
|
|
|
693
707
|
channelListQuery: {},
|
|
694
708
|
currentUserId: null,
|
|
695
709
|
channelListDispatcher: null,
|
|
696
|
-
channelSource: null
|
|
710
|
+
channelSource: null,
|
|
711
|
+
typingChannels: []
|
|
697
712
|
});
|
|
698
713
|
|
|
699
714
|
var ChannelListProvider = function ChannelListProvider(props) {
|
|
700
|
-
// destruct props
|
|
715
|
+
var _a; // destruct props
|
|
716
|
+
|
|
717
|
+
|
|
701
718
|
var children = props.children,
|
|
702
719
|
className = props.className,
|
|
703
720
|
disableUserProfile = props.disableUserProfile,
|
|
@@ -707,7 +724,11 @@ var ChannelListProvider = function ChannelListProvider(props) {
|
|
|
707
724
|
onThemeChange = props.onThemeChange,
|
|
708
725
|
onBeforeCreateChannel = props.onBeforeCreateChannel,
|
|
709
726
|
sortChannelList = props.sortChannelList,
|
|
710
|
-
disableAutoSelect = props.disableAutoSelect
|
|
727
|
+
disableAutoSelect = props.disableAutoSelect,
|
|
728
|
+
_b = props.isTypingIndicatorEnabled,
|
|
729
|
+
isTypingIndicatorEnabled = _b === void 0 ? null : _b,
|
|
730
|
+
_c = props.isMessageReceiptStatusEnabled,
|
|
731
|
+
isMessageReceiptStatusEnabled = _c === void 0 ? null : _c;
|
|
711
732
|
var onChannelSelect = (props === null || props === void 0 ? void 0 : props.onChannelSelect) || noop; // fetch store from <SendbirdProvider />
|
|
712
733
|
|
|
713
734
|
var globalStore = useSendbirdStateContext();
|
|
@@ -716,6 +737,8 @@ var ChannelListProvider = function ChannelListProvider(props) {
|
|
|
716
737
|
var sdkStore = stores.sdkStore;
|
|
717
738
|
var pubSub = config.pubSub,
|
|
718
739
|
logger = config.logger;
|
|
740
|
+
var isTypingIndicatorEnabledOnChannelList = config.isTypingIndicatorEnabledOnChannelList,
|
|
741
|
+
isMessageReceiptStatusEnabledOnChannelList = config.isMessageReceiptStatusEnabledOnChannelList;
|
|
719
742
|
var sdk = sdkStore.sdk; // derive some variables
|
|
720
743
|
// enable if it is true atleast once(both are flase by default)
|
|
721
744
|
|
|
@@ -726,20 +749,29 @@ var ChannelListProvider = function ChannelListProvider(props) {
|
|
|
726
749
|
var userFilledApplicationUserListQuery = queries === null || queries === void 0 ? void 0 : queries.applicationUserListQuery;
|
|
727
750
|
var sdkIntialized = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
|
|
728
751
|
|
|
729
|
-
var
|
|
730
|
-
channelListStore =
|
|
731
|
-
channelListDispatcher =
|
|
732
|
-
|
|
733
|
-
var _b = useState(),
|
|
734
|
-
channelSource = _b[0],
|
|
735
|
-
setChannelSource = _b[1];
|
|
736
|
-
|
|
737
|
-
var _c = useState(null),
|
|
738
|
-
sdkChannelHandlerId = _c[0],
|
|
739
|
-
setSdkChannelHandlerId = _c[1];
|
|
752
|
+
var _d = useReducer(reducer, channelListInitialState),
|
|
753
|
+
channelListStore = _d[0],
|
|
754
|
+
channelListDispatcher = _d[1];
|
|
740
755
|
|
|
741
756
|
var loading = channelListStore.loading,
|
|
742
757
|
currentChannel = channelListStore.currentChannel;
|
|
758
|
+
|
|
759
|
+
var _e = useState(),
|
|
760
|
+
channelSource = _e[0],
|
|
761
|
+
setChannelSource = _e[1];
|
|
762
|
+
|
|
763
|
+
var _f = useState(null),
|
|
764
|
+
sdkChannelHandlerId = _f[0],
|
|
765
|
+
setSdkChannelHandlerId = _f[1];
|
|
766
|
+
|
|
767
|
+
var _g = useState(null),
|
|
768
|
+
typingHandlerId = _g[0],
|
|
769
|
+
setTypingHandlerId = _g[1];
|
|
770
|
+
|
|
771
|
+
var _h = useState([]),
|
|
772
|
+
typingChannels = _h[0],
|
|
773
|
+
setTypingChannels = _h[1];
|
|
774
|
+
|
|
743
775
|
useEffect(function () {
|
|
744
776
|
var subscriber = pubSubHandler(pubSub, channelListDispatcher);
|
|
745
777
|
return function () {
|
|
@@ -792,6 +824,36 @@ var ChannelListProvider = function ChannelListProvider(props) {
|
|
|
792
824
|
}
|
|
793
825
|
};
|
|
794
826
|
}, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);
|
|
827
|
+
useEffect(function () {
|
|
828
|
+
if (sdk && (sdk === null || sdk === void 0 ? void 0 : sdk.ChannelHandler)) {
|
|
829
|
+
var handlerId = uuidv4();
|
|
830
|
+
var handler = new sdk.ChannelHandler();
|
|
831
|
+
|
|
832
|
+
handler.onTypingStatusUpdated = function (channel) {
|
|
833
|
+
var _a;
|
|
834
|
+
|
|
835
|
+
var typingMemberCount = (_a = channel === null || channel === void 0 ? void 0 : channel.getTypingMembers()) === null || _a === void 0 ? void 0 : _a.length;
|
|
836
|
+
var channelList = typingChannels.filter(function (ch) {
|
|
837
|
+
return ch.url !== channel.url;
|
|
838
|
+
});
|
|
839
|
+
|
|
840
|
+
if (typingMemberCount > 0) {
|
|
841
|
+
setTypingChannels(__spreadArray(__spreadArray([], channelList, true), [channel], false));
|
|
842
|
+
} else {
|
|
843
|
+
setTypingChannels(channelList);
|
|
844
|
+
}
|
|
845
|
+
};
|
|
846
|
+
|
|
847
|
+
sdk.addChannelHandler(handlerId, handler);
|
|
848
|
+
setTypingHandlerId(handlerId);
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
return function () {
|
|
852
|
+
if (sdk && sdk.removeChannelHandler) {
|
|
853
|
+
sdk.removeChannelHandler(typingHandlerId);
|
|
854
|
+
}
|
|
855
|
+
};
|
|
856
|
+
}, [(_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId]);
|
|
795
857
|
var queries_ = useMemo(function () {
|
|
796
858
|
return {
|
|
797
859
|
applicationUserListQuery: userFilledApplicationUserListQuery,
|
|
@@ -842,7 +904,10 @@ var ChannelListProvider = function ChannelListProvider(props) {
|
|
|
842
904
|
channelListDispatcher: channelListDispatcher,
|
|
843
905
|
channelSource: channelSource
|
|
844
906
|
}, channelListStore), {
|
|
845
|
-
allChannels: sortedChannels
|
|
907
|
+
allChannels: sortedChannels,
|
|
908
|
+
typingChannels: typingChannels,
|
|
909
|
+
isTypingIndicatorEnabled: isTypingIndicatorEnabled !== null ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList,
|
|
910
|
+
isMessageReceiptStatusEnabled: isMessageReceiptStatusEnabled !== null ? isMessageReceiptStatusEnabled : isMessageReceiptStatusEnabledOnChannelList
|
|
846
911
|
})
|
|
847
912
|
}, /*#__PURE__*/React__default.createElement(UserProfileProvider, {
|
|
848
913
|
disableUserProfile: userDefinedDisableUserProfile,
|
|
@@ -858,4 +923,4 @@ function useChannelListContext() {
|
|
|
858
923
|
}
|
|
859
924
|
|
|
860
925
|
export { ChannelListProvider as C, FETCH_CHANNELS_START as F, LEAVE_CHANNEL_SUCCESS as L, SET_CURRENT_CHANNEL as S, FETCH_CHANNELS_FAILURE as a, FETCH_CHANNELS_SUCCESS as b, useChannelListContext as u };
|
|
861
|
-
//# sourceMappingURL=ChannelListProvider-
|
|
926
|
+
//# sourceMappingURL=ChannelListProvider-d602a166.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChannelListProvider-d602a166.js","sources":["../src/smart-components/ChannelList/dux/actionTypes.js","../src/smart-components/ChannelList/utils.js","../src/smart-components/ChannelList/dux/initialState.js","../src/smart-components/ChannelList/dux/reducers.js","../src/smart-components/ChannelList/context/ChannelListProvider.tsx"],"sourcesContent":["export const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\nexport const UNLOAD_CHANNELS = 'UNLOAD_CHANNELS';\nexport const SET_CHANNEL_LOADING = 'SET_CHANNEL_LOADING';\nexport const SET_AUTO_SELECT_CHANNEL_ITEM = 'SET_AUTO_SELECT_CHANNEL_ITEM';\nexport const LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\n\nexport const SHOW_CHANNEL_SETTINGS = 'SHOW_CHANNEL_SETTINGS';\nexport const HIDE_CHANNEL_SETTINGS = 'HIDE_CHANNEL_SETTINGS';\n\nexport const FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';\nexport const FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';\nexport const FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';\n\nexport const INIT_CHANNELS_START = 'INIT_CHANNELS_START';\nexport const INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';\nexport const INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';\n\nexport const INVITE_MEMBERS_SUCESS = 'INVITE_MEMBERS_SUCESS';\n\nexport const ON_USER_JOINED = 'ON_USER_JOINED';\nexport const ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';\nexport const ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';\nexport const ON_USER_LEFT = 'ON_USER_LEFT';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\n\nexport const ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';\nexport const ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';\n\nexport const CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';\nexport const CHANNEL_LIST_PARAMS_UPDATED = 'CHANNEL_LIST_PARAMS_UPDATED';\n","import * as channelActions from './dux/actionTypes';\nimport * as topics from '../../lib/pubSub/topics';\n\nconst DELIVERY_RECIPT = 'delivery_receipt';\n\nconst createEventHandler = ({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n logger,\n}) => {\n const ChannelHandler = new sdk.ChannelHandler();\n\n ChannelHandler.onChannelChanged = (channel) => {\n logger.info('ChannelList: onChannelChanged', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n };\n ChannelHandler.onChannelDeleted = (channelUrl) => {\n logger.info('ChannelList: onChannelDeleted', channelUrl);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_DELETED,\n payload: channelUrl,\n });\n };\n ChannelHandler.onUserJoined = (channel) => {\n logger.info('ChannelList: onUserJoined', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_USER_JOINED,\n payload: channel,\n });\n }\n };\n ChannelHandler.onUserBanned = (channel, user) => {\n const { currentUser } = sdk;\n logger.info('Channel | useHandleChannelEvents: onUserBanned', channel);\n if (user.userId === currentUser.userId) {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: true,\n },\n });\n } else {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: false,\n },\n });\n }\n };\n ChannelHandler.onUserLeft = (channel, leftUser) => {\n const { currentUser } = sdk;\n const isMe = (currentUser.userId === leftUser.userId);\n logger.info('ChannelList: onUserLeft', channel);\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe,\n },\n });\n };\n\n ChannelHandler.onReadStatus = (channel) => {\n logger.info('ChannelList: onReadStatus', channel);\n channelListDispatcher({\n type: channelActions.ON_READ_RECEIPT_UPDATED,\n payload: channel,\n });\n };\n\n ChannelHandler.onDeliveryReceiptUpdated = (channel) => {\n logger.info('ChannelList: onDeliveryReceiptUpdated', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_DELIVERY_RECEIPT_UPDATED,\n payload: channel,\n });\n }\n };\n\n ChannelHandler.onMessageUpdated = (channel, message) => {\n if (channel.lastMessage.isEqual(message)) {\n logger.info('ChannelList: onMessageUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n }\n };\n\n ChannelHandler.onChannelHidden = (channel) => {\n logger.info('ChannelList: onChannelHidden', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_ARCHIVED,\n payload: channel,\n });\n };\n\n ChannelHandler.onChannelFrozen = (channel) => {\n logger.info('ChannelList: onChannelFrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n };\n\n ChannelHandler.onChannelUnfrozen = (channel) => {\n logger.info('ChannelList: onChannelUnfrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n };\n\n logger.info('ChannelList: Added channelHandler');\n sdk.addChannelHandler(sdkChannelHandlerId, ChannelHandler);\n};\n\nconst createChannelListQuery = ({ sdk, userFilledChannelListQuery = {} }) => {\n const channelListQuery = sdk.GroupChannel.createMyGroupChannelListQuery();\n channelListQuery.includeEmpty = false;\n channelListQuery.order = 'latest_last_message'; // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'\n channelListQuery.limit = 20; // The value of pagination limit could be set up to 100.\n\n if (userFilledChannelListQuery) {\n Object.keys(userFilledChannelListQuery).forEach((key) => {\n channelListQuery[key] = userFilledChannelListQuery[key];\n });\n }\n\n return channelListQuery;\n};\n\n/**\n * Setup event listener\n * create channel source query\n * addloading screen\n */\nfunction setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n}) {\n if (sdk && sdk.ChannelHandler) {\n createEventHandler({\n sdk,\n channelListDispatcher,\n sdkChannelHandlerId,\n logger,\n });\n } else {\n logger.console.warning('ChannelList - createEventHandler: sdk or sdk.ChannelHandler does not exist', sdk);\n }\n\n logger.info('ChannelList - creating query', { userFilledChannelListQuery });\n const channelListQuery = createChannelListQuery({ sdk, userFilledChannelListQuery });\n logger.info('ChannelList - created query', channelListQuery);\n\n setChannelSource(channelListQuery);\n\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_START,\n });\n\n if (userFilledChannelListQuery) {\n logger.info('ChannelList - setting up channelListQuery', channelListQuery);\n channelListDispatcher({\n type: channelActions.CHANNEL_LIST_PARAMS_UPDATED,\n payload: {\n channelListQuery,\n currentUserId: sdk && sdk.currentUser && sdk.currentUser.userId,\n },\n });\n }\n\n logger.info('ChannelList - fetching channels');\n if (channelListQuery.hasNext) {\n channelListQuery.next((response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let channelList = response;\n let err = error;\n if (swapParams) {\n channelList = error;\n err = response;\n }\n logger.info('ChannelList - fetched channels', channelList);\n if (err) {\n logger.error('ChannelList - couldnt fetch channels', err);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_FAILURE,\n });\n return;\n }\n // select first channel\n logger.info('ChannelList - highlight channel', channelList[0]);\n let sortedChannelList = channelList;\n if (sortChannelList && typeof sortChannelList === 'function') {\n sortedChannelList = sortChannelList(channelList);\n logger.info('ChannelList - channel list sorted', sortedChannelList);\n }\n if (!disableAutoSelect) {\n onChannelSelect(sortedChannelList[0]);\n }\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_SUCCESS,\n payload: sortedChannelList,\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 channelList?.forEach((c, idx) => {\n // Plan-based rate limits - minimum limit is 5 requests per second\n setTimeout(() => {\n // eslint-disable-next-line no-unused-expressions\n sdk?.markAsDelivered(c?.url);\n }, 300 * idx);\n });\n }\n });\n } else {\n logger.warning('ChannelList - there are no more channels');\n }\n}\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (pubSub, channelListDispatcher) => {\n const subScriber = new Map();\n if (!pubSub) return subScriber;\n subScriber.set(topics.CREATE_CHANNEL, pubSub.subscribe(topics.CREATE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: 'CREATE_CHANNEL',\n payload: channel,\n });\n }));\n\n subScriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n const updatedChannel = channel;\n if (updatedChannel?.lastMessage?.messageId === message.messageId) {\n updatedChannel.lastMessage = message;\n }\n if (channel) {\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: updatedChannel,\n });\n }\n }));\n\n subScriber.set(topics.LEAVE_CHANNEL, pubSub.subscribe(topics.LEAVE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel.url,\n });\n }));\n\n subScriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.CHANNEL_REPLACED_TO_TOP,\n payload: channel,\n });\n }));\n\n return subScriber;\n};\n\nexport default setupChannelList;\n","export default {\n // we might not need this initialized state -> should remove\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n showSettings: false,\n channelListQuery: null,\n currentUserId: '',\n disableAutoSelect: false,\n};\n","import { filterChannelListParams, getChannelsWithUpsertedChannel } from '../../../utils';\nimport * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_CHANNELS_START:\n return {\n ...state,\n loading: true,\n };\n case actions.RESET_CHANNEL_LIST:\n return initialState;\n case actions.INIT_CHANNELS_SUCCESS:\n return {\n ...state,\n initialized: true,\n loading: false,\n allChannels: action.payload,\n currentChannel: (\n !state.disableAutoSelect\n && action.payload\n && action.payload.length\n && action.payload.length > 0\n )\n ? action.payload[0]\n : null,\n };\n case actions.FETCH_CHANNELS_SUCCESS: {\n const currentChannels = state.allChannels.map((c) => c.url);\n const filteredChannels = action.payload.filter(\n ({ url }) => !(currentChannels.find((c) => c === url)),\n );\n return {\n ...state,\n allChannels: [\n ...state.allChannels,\n ...filteredChannels,\n ],\n };\n }\n case actions.CREATE_CHANNEL: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n return {\n ...state,\n currentChannel: channel,\n };\n }\n return {\n ...state,\n allChannels: [channel, ...state.allChannels.filter((ch) => ch.url !== channel.url)],\n currentChannel: channel,\n };\n }\n case actions.ON_CHANNEL_ARCHIVED: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n // TODO: Check if we have to set current channel\n }\n }\n const nextChannel = (channel.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel.url ? 1 : 0]\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n case actions.LEAVE_CHANNEL_SUCCESS:\n case actions.ON_CHANNEL_DELETED: {\n const channelUrl = action.payload;\n return {\n ...state,\n currentChannel: (channelUrl === state.currentChannel?.url)\n ? state.allChannels[0]\n : state.currentChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channelUrl),\n };\n }\n case actions.ON_USER_LEFT: {\n const { channel, isMe } = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n const filteredChannels = getChannelsWithUpsertedChannel(state.allChannels, channel);\n const nextChannel = (isMe && (channel.url === state.currentChannel?.url))\n ? filteredChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: filteredChannels,\n };\n }\n const nextChannel = (channel.url === state.currentChannel?.url)\n ? state.allChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channel.url),\n };\n }\n const filteredChannels = state.allChannels.filter((c) => !(c.url === channel.url && isMe));\n const nextChannel = (isMe && (channel.url === state.currentChannel?.url))\n ? filteredChannels[0]\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: filteredChannels,\n };\n }\n case actions.ON_USER_JOINED:\n case actions.ON_CHANNEL_CHANGED:\n case actions.ON_READ_RECEIPT_UPDATED:\n case actions.ON_DELIVERY_RECEIPT_UPDATED: {\n const { allChannels = [] } = state;\n const channel = action.payload;\n const { unreadMessageCount } = channel;\n if (!channel.lastMessage) return state;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(allChannels, channel),\n };\n }\n const nextChannel = (channel.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n allChannels: state.allChannels.filter(({ url }) => url !== channel.url),\n };\n }\n // if its only an unread message count change, dont push to top\n if (unreadMessageCount === 0) {\n const currentChannel = allChannels.find(({ url }) => url === channel.url);\n const currentUnreadCount = currentChannel && currentChannel.unreadMessageCount;\n if (currentUnreadCount === 0) {\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => (ch.url === channel.url ? channel : ch)),\n };\n }\n }\n return {\n ...state,\n allChannels: [\n channel,\n ...state.allChannels.filter(({ url }) => url !== action.payload.url),\n ],\n };\n }\n case actions.SET_CURRENT_CHANNEL:\n return {\n ...state,\n currentChannel: action.payload,\n };\n case actions.SHOW_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: true,\n };\n case actions.HIDE_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: false,\n };\n case actions.ON_LAST_MESSAGE_UPDATED:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => (\n channel.url === action.payload.url ? action.payload : channel)),\n };\n case actions.ON_CHANNEL_FROZEN: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n const nextChannel = (channel.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => {\n if (ch.url === channel.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = true;\n return ch;\n }\n return ch;\n }),\n };\n }\n case actions.ON_CHANNEL_UNFROZEN: {\n const channel = action.payload;\n if (state.channelListQuery) {\n if (filterChannelListParams(state.channelListQuery, channel, state.currentUserId)) {\n return {\n ...state,\n allChannels: getChannelsWithUpsertedChannel(state.allChannels, channel),\n };\n }\n const nextChannel = (channel.url === state.currentChannel?.url)\n ? state.allChannels[state.allChannels[0].url === channel.url ? 1 : 0]\n // if coming channel is first of channel list, current channel will be the next one\n : state.currentChannel;\n return {\n ...state,\n allChannels: state.allChannels.filter(({ url }) => url !== channel.url),\n currentChannel: state.disableAutoSelect ? null : nextChannel,\n };\n }\n return {\n ...state,\n allChannels: state.allChannels.map((ch) => {\n if (ch.url === channel.url) {\n // eslint-disable-next-line no-param-reassign\n ch.isFrozen = false;\n return ch;\n }\n return ch;\n }),\n };\n }\n case actions.CHANNEL_REPLACED_TO_TOP: {\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel.url !== action.payload.url),\n ],\n };\n }\n case actions.CHANNEL_LIST_PARAMS_UPDATED:\n return {\n ...state,\n currentUserId: action.payload.currentUserId,\n channelListQuery: action.payload.channelListQuery,\n };\n case actions.SET_AUTO_SELECT_CHANNEL_ITEM: {\n return {\n ...state,\n ableAutoSelect: action.payload,\n };\n }\n default:\n return state;\n }\n}\n","import React, {\n useState,\n useEffect,\n useContext,\n useReducer,\n useMemo,\n} from 'react';\nimport Sendbird from 'sendbird';\n\nimport { RenderUserProfileProps } from '../../../types';\n\nimport setupChannelList, {\n pubSubHandler,\n pubSubHandleRemover,\n} from '../utils';\nimport { uuidv4 } from '../../../utils/uuid';\nimport { noop } from '../../../utils/utils';\n\nimport * as channelListActions from '../dux/actionTypes';\n\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { CustomUseReducerDispatcher } from '../../../lib/SendbirdState';\nimport channelListReducers from '../dux/reducers';\nimport channelListInitialState from '../dux/initialState';\n\ninterface ApplicationUserListQuery {\n limit?: number;\n userIdsFilter?: Array<string>;\n metaDataKeyFilter?: string;\n metaDataValuesFilter?: Array<string>;\n}\n\ninterface GroupChannelListQuery {\n limit?: number;\n includeEmpty?: boolean;\n order?: 'latest_last_message' | 'chronological' | 'channel_name_alphabetical' | 'metadata_value_alphabetical';\n userIdsExactFilter?: Array<string>;\n userIdsIncludeFilter?: Array<string>;\n userIdsIncludeFilterQueryType?: 'AND' | 'OR';\n nicknameContainsFilter?: string;\n channelNameContainsFilter?: string;\n customTypesFilter?: Array<string>;\n customTypeStartsWithFilter?: string;\n channelUrlsFilter?: Array<string>;\n superChannelFilter?: 'all' | 'super' | 'nonsuper';\n publicChannelFilter?: 'all' | 'public' | 'private';\n metadataOrderKeyFilter?: string;\n memberStateFilter?: 'all' | 'joined_only' | 'invited_only' | 'invited_by_friend' | 'invited_by_non_friend';\n hiddenChannelFilter?: 'unhidden_only' | 'hidden_only' | 'hidden_allow_auto_unhide' | 'hidden_prevent_auto_unhide';\n unreadChannelFilter?: 'all' | 'unread_message';\n includeFrozen?: boolean;\n}\n\ninterface ChannelListQueries {\n applicationUserListQuery?: ApplicationUserListQuery;\n channelListQuery?: GroupChannelListQuery;\n}\n\nexport interface ChannelListProviderProps {\n allowProfileEdit?: boolean;\n onBeforeCreateChannel?(users: Array<string>): Sendbird.GroupChannelParams;\n onThemeChange?(theme: string): void;\n onProfileEditSuccess?(user: Sendbird.User): void;\n onChannelSelect?(channel: Sendbird.GroupChannel): void;\n sortChannelList?: (channels: Sendbird.GroupChannel[]) => Sendbird.GroupChannel[];\n queries?: ChannelListQueries;\n children?: React.ReactNode;\n className?: string | string[];\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;\n disableUserProfile?: boolean;\n disableAutoSelect?: boolean;\n typingChannels?: Array<Sendbird.GroupChannel>;\n isTypingIndicatorEnabled?: boolean;\n isMessageReceiptStatusEnabled?: boolean;\n}\n\nexport interface ChannelListProviderInterface extends ChannelListProviderProps {\n initialized: boolean;\n loading: boolean;\n allChannels: Sendbird.GroupChannel[];\n currentChannel: Sendbird.GroupChannel;\n showSettings: boolean;\n channelListQuery: GroupChannelListQuery;\n currentUserId: string;\n channelListDispatcher: CustomUseReducerDispatcher;\n channelSource: Sendbird.GroupChannelListQuery;\n}\n\ninterface ChannelListStoreInterface {\n initialized: boolean;\n loading: boolean;\n allChannels: Sendbird.GroupChannel[];\n currentChannel: Sendbird.GroupChannel;\n showSettings: boolean;\n channelListQuery: GroupChannelListQuery;\n currentUserId: string;\n}\n\nconst ChannelListContext = React.createContext<ChannelListProviderInterface | null>({\n disableUserProfile: true,\n allowProfileEdit: true,\n onBeforeCreateChannel: null,\n onThemeChange: null,\n onProfileEditSuccess: null,\n onChannelSelect: null,\n queries: {},\n className: null,\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n showSettings: false,\n channelListQuery: {},\n currentUserId: null,\n channelListDispatcher: null,\n channelSource: null,\n typingChannels: [],\n});\n\nconst ChannelListProvider: React.FC<ChannelListProviderProps> = (props: ChannelListProviderProps) => {\n // destruct props\n const {\n children,\n className,\n disableUserProfile,\n allowProfileEdit,\n queries,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n sortChannelList,\n disableAutoSelect,\n isTypingIndicatorEnabled = null,\n isMessageReceiptStatusEnabled = null,\n } = props;\n const onChannelSelect = props?.onChannelSelect || noop;\n\n // fetch store from <SendbirdProvider />\n const globalStore = useSendbirdStateContext();\n const { config, stores } = globalStore;\n const { sdkStore } = stores;\n const { pubSub, logger } = config;\n const {\n isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabledOnChannelList,\n } = config;\n const { sdk } = sdkStore;\n\n // derive some variables\n // enable if it is true atleast once(both are flase by default)\n const userDefinedDisableUserProfile = disableUserProfile || config?.disableUserProfile;\n const userDefinedRenderProfile = config?.renderUserProfile;\n const enableEditProfile = allowProfileEdit || config?.allowProfileEdit;\n\n const userFilledChannelListQuery = queries?.channelListQuery;\n const userFilledApplicationUserListQuery = queries?.applicationUserListQuery;\n\n const sdkIntialized = sdkStore?.initialized;\n\n const [channelListStore, channelListDispatcher] = useReducer(\n channelListReducers,\n channelListInitialState,\n ) as [ChannelListStoreInterface, CustomUseReducerDispatcher];\n const { loading, currentChannel } = channelListStore;\n\n const [channelSource, setChannelSource] = useState<Sendbird.GroupChannelListQuery | null>();\n const [sdkChannelHandlerId, setSdkChannelHandlerId] = useState<string | null>(null);\n const [typingHandlerId, setTypingHandlerId] = useState<string | null>(null);\n const [typingChannels, setTypingChannels] = useState<Array<Sendbird.GroupChannel>>([]);\n\n useEffect(() => {\n const subscriber = pubSubHandler(pubSub, channelListDispatcher);\n return () => {\n pubSubHandleRemover(subscriber);\n };\n }, [sdkIntialized]);\n\n useEffect(() => {\n channelListDispatcher({\n type: channelListActions.SET_AUTO_SELECT_CHANNEL_ITEM,\n payload: disableAutoSelect,\n });\n }, [disableAutoSelect]);\n\n useEffect(() => {\n setSdkChannelHandlerId(uuidv4);\n if (sdkIntialized) {\n logger.info('ChannelList: Setup channelHandlers');\n setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n disableAutoSelect,\n });\n } else {\n logger.info('ChannelList: Removing channelHandlers');\n // remove previous channelHandlers\n if (sdk && sdk?.removeChannelHandler) {\n sdk.removeChannelHandler(sdkChannelHandlerId);\n }\n // remove channelSource\n setChannelSource(null);\n // cleanup\n channelListDispatcher({\n type: channelListActions.RESET_CHANNEL_LIST,\n payload: null,\n });\n }\n return () => {\n logger.info('ChannelList: Removing channelHandlers');\n if (sdk && sdk.removeChannelHandler) {\n sdk.removeChannelHandler(sdkChannelHandlerId);\n }\n };\n }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);\n\n useEffect(() => {\n if (sdk && sdk?.ChannelHandler) {\n const handlerId = uuidv4()\n const handler = new sdk.ChannelHandler()\n handler.onTypingStatusUpdated = (channel) => {\n const typingMemberCount = channel?.getTypingMembers()?.length\n const channelList = typingChannels.filter(ch => ch.url !== channel.url)\n if (typingMemberCount > 0) {\n setTypingChannels([...channelList, channel])\n } else {\n setTypingChannels(channelList)\n }\n }\n sdk.addChannelHandler(handlerId, handler)\n setTypingHandlerId(handlerId)\n }\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n sdk.removeChannelHandler(typingHandlerId)\n }\n }\n }, [sdk?.currentUser?.userId]);\n\n const queries_ = useMemo(() => {\n return {\n applicationUserListQuery: userFilledApplicationUserListQuery,\n channelListQuery: userFilledChannelListQuery,\n };\n }, [\n userFilledApplicationUserListQuery,\n userFilledChannelListQuery,\n ])\n\n const { allChannels } = channelListStore;\n const sortedChannels = (sortChannelList && typeof sortChannelList === 'function')\n ? sortChannelList(allChannels)\n : allChannels;\n\n if (sortedChannels.length !== allChannels.length) {\n const warning = `ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems`;\n // eslint-disable-next-line no-console\n console.warn(warning, { before: allChannels, after: sortedChannels });\n logger.warning(warning, { before: allChannels, after: sortedChannels });\n }\n\n useEffect(() => {\n if (!sdk || !sdk.GroupChannel || !currentChannel || !currentChannel?.url) { return; }\n sdk.GroupChannel.getChannel(currentChannel.url, (groupChannel) => {\n if (groupChannel) {\n onChannelSelect(groupChannel);\n } else {\n onChannelSelect(null);\n }\n });\n }, [currentChannel?.url]);\n\n return (\n <ChannelListContext.Provider value={{\n className,\n disableUserProfile,\n queries: queries_,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n onChannelSelect,\n sortChannelList,\n loading,\n allowProfileEdit: enableEditProfile,\n channelListDispatcher,\n channelSource,\n ...channelListStore,\n allChannels: sortedChannels,\n typingChannels,\n isTypingIndicatorEnabled: (isTypingIndicatorEnabled !== null) ? isTypingIndicatorEnabled : isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabled: (isMessageReceiptStatusEnabled !== null) ? isMessageReceiptStatusEnabled : isMessageReceiptStatusEnabledOnChannelList,\n }}>\n <UserProfileProvider\n disableUserProfile={userDefinedDisableUserProfile}\n renderUserProfile={userDefinedRenderProfile}\n >\n <div className={`sendbird-channel-list ${className}`}>\n {children}\n </div>\n </UserProfileProvider>\n </ChannelListContext.Provider>\n );\n};\n\nfunction useChannelListContext(): ChannelListProviderInterface {\n const context: ChannelListProviderInterface = useContext(ChannelListContext);\n return context;\n}\n\nexport {\n ChannelListProvider,\n // ChannelListContext,\n useChannelListContext,\n};\n"],"names":["RESET_CHANNEL_LIST","CREATE_CHANNEL","SET_AUTO_SELECT_CHANNEL_ITEM","LEAVE_CHANNEL_SUCCESS","SET_CURRENT_CHANNEL","SHOW_CHANNEL_SETTINGS","HIDE_CHANNEL_SETTINGS","FETCH_CHANNELS_START","FETCH_CHANNELS_SUCCESS","FETCH_CHANNELS_FAILURE","INIT_CHANNELS_START","INIT_CHANNELS_SUCCESS","INIT_CHANNELS_FAILURE","ON_USER_JOINED","ON_CHANNEL_DELETED","ON_LAST_MESSAGE_UPDATED","ON_USER_LEFT","ON_CHANNEL_CHANGED","ON_CHANNEL_ARCHIVED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_READ_RECEIPT_UPDATED","ON_DELIVERY_RECEIPT_UPDATED","CHANNEL_REPLACED_TO_TOP","CHANNEL_LIST_PARAMS_UPDATED","DELIVERY_RECIPT","createEventHandler","sdk","sdkChannelHandlerId","channelListDispatcher","logger","ChannelHandler","onChannelChanged","channel","info","type","channelActions","payload","onChannelDeleted","channelUrl","onUserJoined","lastMessage","onUserBanned","user","currentUser","userId","isMe","onUserLeft","leftUser","onReadStatus","onDeliveryReceiptUpdated","onMessageUpdated","message","isEqual","onChannelHidden","onChannelFrozen","onChannelUnfrozen","addChannelHandler","createChannelListQuery","userFilledChannelListQuery","channelListQuery","GroupChannel","createMyGroupChannelListQuery","includeEmpty","order","limit","Object","keys","forEach","key","setupChannelList","setChannelSource","onChannelSelect","sortChannelList","disableAutoSelect","console","warning","currentUserId","hasNext","next","response","error","swapParams","getErrorFirstCallback","channelList","err","sortedChannelList","canSetMarkAsDelivered","appInfo","premiumFeatureList","find","feature","c","idx","setTimeout","markAsDelivered","url","pubSubHandleRemover","subscriber","s","remove","pubSubHandler","pubSub","subScriber","Map","set","topics","subscribe","msg","updatedChannel","messageId","initialized","loading","allChannels","currentChannel","showSettings","reducer","state","action","actions","initialState","length","currentChannels","map","filteredChannels","filter","filterChannelListParams","getChannelsWithUpsertedChannel","ch","nextChannel","unreadMessageCount","currentUnreadCount","isFrozen","ableAutoSelect","ChannelListContext","React","createContext","disableUserProfile","allowProfileEdit","onBeforeCreateChannel","onThemeChange","onProfileEditSuccess","queries","className","channelSource","typingChannels","ChannelListProvider","props","children","_b","isTypingIndicatorEnabled","_c","isMessageReceiptStatusEnabled","noop","globalStore","useSendbirdStateContext","config","stores","sdkStore","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","userDefinedDisableUserProfile","userDefinedRenderProfile","renderUserProfile","enableEditProfile","userFilledApplicationUserListQuery","applicationUserListQuery","sdkIntialized","_d","useReducer","channelListReducers","channelListInitialState","channelListStore","_e","useState","_f","setSdkChannelHandlerId","_g","typingHandlerId","setTypingHandlerId","_h","setTypingChannels","useEffect","channelListActions","uuidv4","removeChannelHandler","handlerId","handler","onTypingStatusUpdated","typingMemberCount","getTypingMembers","queries_","useMemo","sortedChannels","warn","before","after","getChannel","groupChannel","useChannelListContext","context","useContext"],"mappings":"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"}
|