@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,10 +1,10 @@
|
|
|
1
1
|
import React__default, { useState } from 'react';
|
|
2
2
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
3
3
|
import ImageRenderer from './ImageRenderer.js';
|
|
4
|
-
import {
|
|
5
|
-
import '../_rollupPluginBabelHelpers-
|
|
4
|
+
import { h as getClassName, B as isSentMessage, q as isVideoMessage, p as isGifMessage } from '../index-e6d0889d.js';
|
|
5
|
+
import '../_rollupPluginBabelHelpers-6bf18550.js';
|
|
6
6
|
import 'prop-types';
|
|
7
|
-
import '../tslib.es6-
|
|
7
|
+
import '../tslib.es6-b6e567bd.js';
|
|
8
8
|
|
|
9
9
|
function ThumbnailMessageItemBody(_a) {
|
|
10
10
|
var _b, _c;
|
package/ui/Tooltip.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { b as _toConsumableArray } from '../_rollupPluginBabelHelpers-
|
|
1
|
+
import { b as _toConsumableArray } from '../_rollupPluginBabelHelpers-6bf18550.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
5
|
-
import '../stringSet-
|
|
4
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-d0b30cd5.js';
|
|
5
|
+
import '../stringSet-2e6c1d2c.js';
|
|
6
6
|
|
|
7
7
|
function Tooltip(_ref) {
|
|
8
8
|
var className = _ref.className,
|
package/ui/TooltipWrapper.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as _slicedToArray, b as _toConsumableArray } from '../_rollupPluginBabelHelpers-
|
|
1
|
+
import { a as _slicedToArray, b as _toConsumableArray } from '../_rollupPluginBabelHelpers-6bf18550.js';
|
|
2
2
|
import React__default, { useState, useRef } from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React__default, { useContext } from 'react';
|
|
2
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
3
|
-
import {
|
|
4
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
5
|
-
import '../_rollupPluginBabelHelpers-
|
|
2
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-d0b30cd5.js';
|
|
3
|
+
import { h as getClassName } from '../index-e6d0889d.js';
|
|
4
|
+
import { a as LocalizationContext } from '../LocalizationContext-b970a73c.js';
|
|
5
|
+
import '../_rollupPluginBabelHelpers-6bf18550.js';
|
|
6
6
|
import 'prop-types';
|
|
7
|
-
import '../stringSet-
|
|
8
|
-
import '../tslib.es6-
|
|
9
|
-
import '../index-
|
|
7
|
+
import '../stringSet-2e6c1d2c.js';
|
|
8
|
+
import '../tslib.es6-b6e567bd.js';
|
|
9
|
+
import '../index-6381b534.js';
|
|
10
10
|
|
|
11
11
|
function UnknownMessageItemBody(_a) {
|
|
12
12
|
var _b;
|
package/ui/UserListItem.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { b as _toConsumableArray } from '../_rollupPluginBabelHelpers-
|
|
1
|
+
import { b as _toConsumableArray } from '../_rollupPluginBabelHelpers-6bf18550.js';
|
|
2
2
|
import React__default, { useContext } from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
|
-
import { a as UserProfileContext } from '../UserProfileContext-
|
|
5
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
4
|
+
import { a as UserProfileContext } from '../UserProfileContext-f4ff4291.js';
|
|
5
|
+
import { a as LocalizationContext } from '../LocalizationContext-b970a73c.js';
|
|
6
6
|
import Avatar from './Avatar.js';
|
|
7
7
|
import MutedAvatarOverlay from './MutedAvatarOverlay.js';
|
|
8
8
|
import Checkbox from './Checkbox.js';
|
|
9
9
|
import ConnectedUserProfile from './UserProfile.js';
|
|
10
10
|
import ContextMenu, { MenuItems } from './ContextMenu.js';
|
|
11
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
12
|
-
import '../stringSet-
|
|
13
|
-
import '../index-
|
|
14
|
-
import '../tslib.es6-
|
|
11
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-d0b30cd5.js';
|
|
12
|
+
import '../stringSet-2e6c1d2c.js';
|
|
13
|
+
import '../index-6381b534.js';
|
|
14
|
+
import '../tslib.es6-b6e567bd.js';
|
|
15
15
|
import './ImageRenderer.js';
|
|
16
16
|
import './Icon.js';
|
|
17
|
-
import '../uuid-
|
|
17
|
+
import '../uuid-0139dc21.js';
|
|
18
18
|
import '../withSendBird.js';
|
|
19
19
|
import '../sendBirdSelectors.js';
|
|
20
|
-
import '../topics-
|
|
21
|
-
import '../index-
|
|
22
|
-
import '../index-
|
|
20
|
+
import '../topics-67738aac.js';
|
|
21
|
+
import '../index-2dce3a04.js';
|
|
22
|
+
import '../index-e6d0889d.js';
|
|
23
23
|
import 'react-dom';
|
|
24
24
|
import './SortByRow.js';
|
|
25
25
|
|
package/ui/UserProfile.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import React__default, { useContext } from 'react';
|
|
2
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
2
|
+
import { a as LocalizationContext } from '../LocalizationContext-b970a73c.js';
|
|
3
3
|
import withSendbirdContext from '../withSendBird.js';
|
|
4
4
|
import { getSdk, getCreateChannel } from '../sendBirdSelectors.js';
|
|
5
5
|
import Avatar from './Avatar.js';
|
|
6
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
7
|
-
import { B as Button, a as ButtonTypes } from '../index-
|
|
8
|
-
import '../stringSet-
|
|
9
|
-
import '../index-
|
|
10
|
-
import '../_rollupPluginBabelHelpers-
|
|
11
|
-
import '../topics-
|
|
12
|
-
import '../tslib.es6-
|
|
6
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-d0b30cd5.js';
|
|
7
|
+
import { B as Button, a as ButtonTypes } from '../index-2dce3a04.js';
|
|
8
|
+
import '../stringSet-2e6c1d2c.js';
|
|
9
|
+
import '../index-6381b534.js';
|
|
10
|
+
import '../_rollupPluginBabelHelpers-6bf18550.js';
|
|
11
|
+
import '../topics-67738aac.js';
|
|
12
|
+
import '../tslib.es6-b6e567bd.js';
|
|
13
13
|
import './ImageRenderer.js';
|
|
14
14
|
import 'prop-types';
|
|
15
15
|
import './Icon.js';
|
|
16
|
-
import '../uuid-
|
|
16
|
+
import '../uuid-0139dc21.js';
|
|
17
17
|
|
|
18
18
|
function UserProfile(_a) {
|
|
19
19
|
var user = _a.user,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-
|
|
1
|
+
{"version":3,"file":"utils-04c291d8.js","sources":["../src/ui/ChannelAvatar/utils.ts"],"sourcesContent":["export const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: SendBird.OpenChannel): string => {\n if (channel && channel.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: SendBird.GroupChannel, currentUserId: string): string | Array<string> => {\n if (channel && channel.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n\n return channel && channel.members\n ? channel.members\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl)\n : [];\n};\n\n\nexport const generateDefaultAvatar = (channel: SendBird.GroupChannel): boolean => {\n if (channel && channel.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n}\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_a","profileUrl","generateDefaultAvatar"],"mappings":"AAAO,IAAMA,kBAAkB,GAAG,iDAA3B;IAEMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,OAAD;AAClC,MAAIA,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,WAAOD,OAAO,CAACC,QAAf;AACD;AACF;IAEYC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACF,OAAD,EAAiCG,aAAjC;AACpC,MAAIH,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,QAAI,CAAE,IAAIG,MAAJ,CAAW,MAAIN,kBAAf,EAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAN,EAAoE;AAClE,aAAOD,OAAO,CAACC,QAAf;AACD;AACF;;AAED,SAAOD,OAAO,IAAIA,OAAO,CAACM,OAAnB,GACHN,OAAO,CAACM,OAAR,CACCC,MADD,CACQ,UAACC,MAAD;AAAY,WAAAA,MAAM,CAACC,MAAP,KAAkBN,aAAlB;AAA+B,GADnD,EAECO,GAFD,CAEK,UAACC,EAAD;QAAGC,UAAU;AAAO,WAAAA,UAAA;AAAU,GAFnC,CADG,GAIH,EAJJ;AAKD;IAGYC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACb,OAAD;AACnC,MAAIA,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,QAAI,IAAIG,MAAJ,CAAW,MAAIN,kBAAf,EAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAJ,EAAiE;AAC/D,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-
|
|
1
|
+
{"version":3,"file":"utils-28de36e9.js","sources":["../src/ui/OpenchannelUserMessage/utils.ts"],"sourcesContent":["export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n"],"names":["copyToClipboard","text","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild"],"mappings":"IAAaA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD;AAC7B;AACA,MAAIC,MAAM,CAACC,aAAP,IAAwBD,MAAM,CAACC,aAAP,CAAqBC,OAAjD,EAA0D;AACxD;AACA;AACA,WAAOF,MAAM,CAACC,aAAP,CAAqBC,OAArB,CAA6B,MAA7B,EAAqCH,IAArC,CAAP;AACD;;AACD,MAAII,QAAQ,CAACC,qBAAT,IAAkCD,QAAQ,CAACC,qBAAT,CAA+B,MAA/B,CAAtC,EAA8E;AAC5E,QAAMC,QAAQ,GAAGF,QAAQ,CAACG,aAAT,CAAuB,UAAvB,CAAjB;AACAD,IAAAA,QAAQ,CAACE,WAAT,GAAuBR,IAAvB;AACAM,IAAAA,QAAQ,CAACG,KAAT,CAAeC,QAAf,GAA0B,OAA1B,CAH4E;;AAI5EN,IAAAA,QAAQ,CAACO,IAAT,CAAcC,WAAd,CAA0BN,QAA1B;AACAA,IAAAA,QAAQ,CAACO,MAAT;;AACA,QAAI;AACF,aAAOT,QAAQ,CAACU,WAAT,CAAqB,MAArB,CAAP,CADE;AAEH,KAFD,CAEE,OAAOC,EAAP,EAAW;AACX,aAAO,KAAP;AACD,KAJD,SAIU;AACRX,MAAAA,QAAQ,CAACO,IAAT,CAAcK,WAAd,CAA0BV,QAA1B;AACD;AACF;;AACD,SAAO,KAAP;AACD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-
|
|
1
|
+
{"version":3,"file":"utils-f5c9ef64.js","sources":["../src/utils/utils.js"],"sourcesContent":["export const noop = () => {};\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport default {\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["noop"],"mappings":"IAAaA,IAAI,GAAG,SAAPA,IAAO,GAAM;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uuid-
|
|
1
|
+
{"version":3,"file":"uuid-0139dc21.js","sources":["../src/utils/uuid.ts"],"sourcesContent":["/* eslint-disable no-bitwise */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-mixed-operators */\n// https://stackoverflow.com/a/2117523\n// used mainly for dom key generation\nexport const uuidv4 = (): string => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n});\n\nexport default uuidv4;\n"],"names":["uuidv4","replace","c","r","Math","random","v","toString"],"mappings":"AAAA;;AACA;;AACA;AACA;AACA;IACaA,MAAM,GAAG,SAATA,MAAS;AAAc,SAAA,uCAAuCC,OAAvC,CAA+C,OAA/C,EAAwD,UAACC,CAAD;AAC1F,QAAMC,CAAC,GAAGC,IAAI,CAACC,MAAL,KAAgB,EAAhB,GAAqB,CAA/B;AACA,QAAMC,CAAC,GAAGJ,CAAC,KAAK,GAAN,GAAYC,CAAZ,GAAiBA,CAAC,GAAG,GAAJ,GAAU,GAArC;AACA,WAAOG,CAAC,CAACC,QAAF,CAAW,EAAX,CAAP;AACD,GAJmC,CAAA;AAIlC;;;;"}
|
package/withSendBird.js
CHANGED
package/CHANGELOG.md
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Changelog - v3
|
|
2
|
-
|
|
3
|
-
## [3.0.0-beta.2] (April 29 2022)
|
|
4
|
-
|
|
5
|
-
Feature:
|
|
6
|
-
* Mention
|
|
7
|
-
* Add isMentionEnabled props to the <App /> and <SendbirdProvider />
|
|
8
|
-
* Add userMention into the config props of the <App /> andd <SendbirdProvider />
|
|
9
|
-
* <SendbirdProvider config={{ userMention: { maxMentionCount: 10, maxSuggestionCount: 15 } }} />
|
|
10
|
-
* maxMentionCount: A maximum count that you can mention in the message input
|
|
11
|
-
* maxSuggestionCount: A maximum user count that the SuggestedMentionList suggests for user mention
|
|
12
|
-
* Create SuggestedMentionList component under the Channel smart component
|
|
13
|
-
* Create SuggestedUserMentionItem component
|
|
14
|
-
* Create MentionUserLabel ui component
|
|
15
|
-
* Add string set
|
|
16
|
-
* MENTION_NAME__NO_NAME: '(No name)'
|
|
17
|
-
* MENTION_COUNT__OVER_LIMIT: 'You can mention up to %d times per message.'
|
|
18
|
-
Fix:
|
|
19
|
-
* Type definition file fix for TS project
|
|
20
|
-
For typescript projects, add `node_modules/@sendbird/uikit-react/index.d.ts`
|
|
21
|
-
to your `include` section in tsconfig file to get type definitions
|
|
22
|
-
|
|
23
|
-
* Move font import to top of CSS file
|
|
24
|
-
Some bundlers such as parcel throw error:
|
|
25
|
-
`@import rules must precede all rules aside from @charset and @layer statements`
|
|
26
|
-
Resolve this issue by moving the line to the top
|
|
27
|
-
|
|
28
|
-
## [3.0.0-beta] (Apr 12 2022)
|
|
29
|
-
|
|
30
|
-
This is the official beta for Sendbird UIKit for React version 3!
|
|
31
|
-
|
|
32
|
-
TLDR -> We split the old `smart-components` into modules which contian context and UI. Context contain logic and UI Components handle UI
|
|
33
|
-
|
|
34
|
-
**[Check out the v2 to v3 migration guide for details](MIGRATION_v2-to-v3.md)**
|
|
35
|
-
|
|
36
|
-
Changelog:
|
|
37
|
-
* Package should be installed using `@sendbird/uikit-react`
|
|
38
|
-
* Restructure smart-components into modules that contain a context and related UI components
|
|
39
|
-
* Export these context and UI components to allow fine-grain customization
|
|
40
|
-
* Recommend to use these context elements `useXXXXX()` and react function components to make custom components
|
|
41
|
-
* All generic UI components are available as exports
|
|
42
|
-
* Restrcuture export paths to allow better tree-shaking
|
|
43
|
-
* Example:
|
|
44
|
-
```
|
|
45
|
-
import { useChannel } from '@sendbird/uikit-react/Channel/context';
|
|
46
|
-
import ChannelUI from '@sendbird/uikit-react/Channel/components/ChannelUI';
|
|
47
|
-
```
|
|
48
|
-
* We keep older export patterns to make migration easier
|
|
49
|
-
* Retained modules - ChannelList, Channel, ChannelSettings, OpenChannel, OpenChannelSettings, MessageSearch
|
|
50
|
-
* New modules(not including context and ui of above) - CreateChannel, EditUserProfile, ui
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelListProvider-7c351968.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 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 if (channelList && typeof channelList.forEach === 'function') {\n logger.info('ChannelList - mark all channels as delivered');\n channelList.forEach((c) => c.markAsDelivered());\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}\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});\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 } = 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 { 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\n const [channelSource, setChannelSource] = useState<Sendbird.GroupChannelListQuery | null>();\n const [sdkChannelHandlerId, setSdkChannelHandlerId] = useState<string | null>(null);\n\n const { loading, currentChannel } = channelListStore;\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 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 }}>\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","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","c","markAsDelivered","pubSubHandleRemover","subscriber","s","remove","pubSubHandler","pubSub","subScriber","Map","set","topics","subscribe","msg","updatedChannel","messageId","url","initialized","loading","allChannels","currentChannel","showSettings","reducer","state","action","actions","initialState","length","currentChannels","map","filteredChannels","filter","find","filterChannelListParams","getChannelsWithUpsertedChannel","ch","nextChannel","unreadMessageCount","currentUnreadCount","isFrozen","ableAutoSelect","ChannelListContext","React","createContext","disableUserProfile","allowProfileEdit","onBeforeCreateChannel","onThemeChange","onProfileEditSuccess","queries","className","channelSource","ChannelListProvider","props","children","noop","globalStore","useSendbirdStateContext","config","stores","sdkStore","userDefinedDisableUserProfile","userDefinedRenderProfile","renderUserProfile","enableEditProfile","userFilledApplicationUserListQuery","applicationUserListQuery","sdkIntialized","_a","useReducer","channelListReducers","channelListInitialState","channelListStore","_b","useState","_c","setSdkChannelHandlerId","useEffect","channelListActions","uuidv4","removeChannelHandler","queries_","useMemo","sortedChannels","warn","before","after","getChannel","groupChannel","useChannelListContext","context","useContext"],"mappings":"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"}
|
package/README.md
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
# sendbird-uikit
|
|
2
|
-
|
|
3
|
-
[](https://github.com/sendbird/sendbird-uikit-react/tree/develop-v3)
|
|
4
|
-
[](https://reactjs.org)
|
|
5
|
-
[](https://www.typescriptlang.org/)
|
|
6
|
-
|
|
7
|
-
> React based UI kit based on sendbird javascript SDK
|
|
8
|
-
|
|
9
|
-
We are introducing a new version of the Sendbird Chat UIKit. Version 3 features a new modular architecture with more granular components that give you enhanced flexibility to customize your web and mobile apps. Check out our [migration guides](MIGRATION_v2-to-v3.md).
|
|
10
|
-
|
|
11
|
-
## Installation
|
|
12
|
-
|
|
13
|
-
`npm i @sendbird/uikit-react`
|
|
14
|
-
|
|
15
|
-
For typescript projects, add `node_modules/@sendbird/uikit-react/index.d.ts` to your `include` section in tsconfig file to get type definitions
|
|
16
|
-
|
|
17
|
-
## Getting Started
|
|
18
|
-
|
|
19
|
-
With Sendbird UI Kit React, we export these components:
|
|
20
|
-
(See `src/index.jsx`)
|
|
21
|
-
|
|
22
|
-
* SendBirdProvider - The context provider for SDK component
|
|
23
|
-
* useSendbirdStateContext - Hook to access SendBirdProvider context
|
|
24
|
-
* sendBirdSelectors - A bunch of useful selectors that can be used along with *useSendbirdStateContext*
|
|
25
|
-
|
|
26
|
-
* Channel - A UI Component where conversations happen
|
|
27
|
-
* ChannelList - A ChannelList UI component
|
|
28
|
-
* ChannelSettings - A component to handle the settings of a given channel
|
|
29
|
-
* MessageSearch - To search for a message from a Channel
|
|
30
|
-
* OpenChannel - A UI Component where open channel conversations happen
|
|
31
|
-
* OpenChannelSettings - A component to handle the settings of a given channel
|
|
32
|
-
And many more...
|
|
33
|
-
|
|
34
|
-
* App - is a full fledged app(group channel) component made by combining the above components so that you dont have to combine all the above components by hand. Also it can be used as an example for composing components to build a chat UI
|
|
35
|
-
|
|
36
|
-
> Note 1: Dont forget to import the stylesheet from the repo too
|
|
37
|
-
> Note 2: Name of some components are different from the directories they are in(example -> Channel component is from Conversation component). Please keep that in mind
|
|
38
|
-
|
|
39
|
-
### Prerequisites
|
|
40
|
-
|
|
41
|
-
You need to install:
|
|
42
|
-
* nodejs 14 LTS https://nodejs.org/en/download/
|
|
43
|
-
* npm 7 or above
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
npm 14 deprecated warnings for fsevents& chokidar@2.1.8 will be fixed when storybook is updated to webpack 5
|
|
47
|
-
https://github.com/storybookjs/storybook/issues/12425#issuecomment-723043137
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
We tried development on Mac OS / Linux systems. You might encounter problems in running `npm run build` in Windows machines
|
|
51
|
-
|
|
52
|
-
### Development
|
|
53
|
-
|
|
54
|
-
We use storybook for development and rollup for building the npm distribution(bundled JS file)
|
|
55
|
-
Make sure you have nodejs and npm installed and run
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
Make a copy of env.example and save it as .env
|
|
59
|
-
Set your appId STORYBOOK_APP_ID
|
|
60
|
-
npm install
|
|
61
|
-
npm run storybook
|
|
62
|
-
```
|
|
63
|
-
> `npm run generate-component` generates a UI component skeleton in `src/ui`
|
|
64
|
-
|
|
65
|
-
* By default, storybook opens in http://localhost:6006/
|
|
66
|
-
* Smart Components such as ChannelList, Channel, ChannelSetting, App can be found under `OTHERS`
|
|
67
|
-
* Dumb components such as inputs, buttons etc can be found under `OTHERS/UI Components` in storybook sidebar
|
|
68
|
-
* Overridden storybook configs can be found in: `./storybook`
|
|
69
|
-
|
|
70
|
-
### Build
|
|
71
|
-
|
|
72
|
-
We use rollupJS for building the production bundle script that you want to use inside your applications.
|
|
73
|
-
|
|
74
|
-
We have both esm and commonjs output
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
npm run build
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
The bundled JS code can be found in `./release`
|
|
81
|
-
The CSS is in `./release/dist/index.css`
|
|
82
|
-
|
|
83
|
-
## Running the tests
|
|
84
|
-
|
|
85
|
-
We have implemented tests for dumb ui components only. Technologies used: Jest, Enzyme and react-dom/test-utils
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
npm run test
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Lint
|
|
92
|
-
|
|
93
|
-
```
|
|
94
|
-
npm run lint
|
|
95
|
-
```
|
|
96
|
-
* .eslintrc.json lints ts files and .eslintrc.js lints js files
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
### Typescript
|
|
100
|
-
|
|
101
|
-
* We are trying to progressively move our source code to typescript - which means older JS code and newly written TS code will coxist while we migrate older JS code to TS
|
|
102
|
-
* .eslintrc.json lints ts files and .eslintrc.js lints js files
|
|
103
|
-
* Type definition file can be `src/index.d.ts` which will be copied to `/release` directory
|
|
104
|
-
|
|
105
|
-
### Creating/exporting new components
|
|
106
|
-
|
|
107
|
-
1. Define your component inside './src'
|
|
108
|
-
2. Add the following line to './src/index.js'
|
|
109
|
-
`export NewComponent from './src/location/of/NewComponent';`
|
|
110
|
-
3. Add the following line to './exports.js'
|
|
111
|
-
`NewComponent: 'src/location/of/NewComponent',`
|