@sendbird/uikit-react 3.0.0-beta.3 → 3.0.0-beta.4
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/CHANGELOG.md +65 -0
- package/README.md +129 -0
- package/dist/index.css +0 -2
- package/dist/index.css.map +1 -1
- package/package.json +29 -7
- package/App.js +0 -313
- package/App.js.map +0 -1
- package/Channel/components/ChannelHeader.js +0 -117
- package/Channel/components/ChannelHeader.js.map +0 -1
- package/Channel/components/ChannelUI.js +0 -179
- package/Channel/components/ChannelUI.js.map +0 -1
- package/Channel/components/FileViewer.js +0 -151
- package/Channel/components/FileViewer.js.map +0 -1
- package/Channel/components/FrozenNotification.js +0 -20
- package/Channel/components/FrozenNotification.js.map +0 -1
- package/Channel/components/Message.js +0 -355
- package/Channel/components/Message.js.map +0 -1
- package/Channel/components/MessageInput.js +0 -202
- package/Channel/components/MessageInput.js.map +0 -1
- package/Channel/components/MessageList.js +0 -239
- package/Channel/components/MessageList.js.map +0 -1
- package/Channel/components/RemoveMessageModal.js +0 -53
- package/Channel/components/RemoveMessageModal.js.map +0 -1
- package/Channel/components/SuggestedMentionList.js +0 -250
- package/Channel/components/SuggestedMentionList.js.map +0 -1
- package/Channel/components/TypingIndicator.js +0 -98
- package/Channel/components/TypingIndicator.js.map +0 -1
- package/Channel/components/UnreadCount.js +0 -41
- package/Channel/components/UnreadCount.js.map +0 -1
- package/Channel/context.js +0 -24
- package/Channel/context.js.map +0 -1
- package/Channel.js +0 -106
- package/Channel.js.map +0 -1
- package/ChannelList/components/AddChannel.js +0 -70
- package/ChannelList/components/AddChannel.js.map +0 -1
- package/ChannelList/components/ChannelListHeader.js +0 -62
- package/ChannelList/components/ChannelListHeader.js.map +0 -1
- package/ChannelList/components/ChannelListUI.js +0 -236
- package/ChannelList/components/ChannelListUI.js.map +0 -1
- package/ChannelList/components/ChannelPreview.js +0 -211
- package/ChannelList/components/ChannelPreview.js.map +0 -1
- package/ChannelList/components/ChannelPreviewAction.js +0 -131
- package/ChannelList/components/ChannelPreviewAction.js.map +0 -1
- package/ChannelList/context.js +0 -13
- package/ChannelList/context.js.map +0 -1
- package/ChannelList.js +0 -89
- package/ChannelList.js.map +0 -1
- package/ChannelListProvider-d602a166.js +0 -926
- package/ChannelListProvider-d602a166.js.map +0 -1
- package/ChannelProvider-cf8fc05a.js +0 -2114
- package/ChannelProvider-cf8fc05a.js.map +0 -1
- package/ChannelSettings/components/AdminPanel.js +0 -905
- package/ChannelSettings/components/AdminPanel.js.map +0 -1
- package/ChannelSettings/components/ChannelProfile.js +0 -102
- package/ChannelSettings/components/ChannelProfile.js.map +0 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +0 -152
- package/ChannelSettings/components/ChannelSettingsUI.js.map +0 -1
- package/ChannelSettings/components/EditDetailsModal.js +0 -154
- package/ChannelSettings/components/EditDetailsModal.js.map +0 -1
- package/ChannelSettings/components/LeaveChannel.js +0 -53
- package/ChannelSettings/components/LeaveChannel.js.map +0 -1
- package/ChannelSettings/components/UserListItem.js +0 -105
- package/ChannelSettings/components/UserListItem.js.map +0 -1
- package/ChannelSettings/components/UserPanel.js +0 -79
- package/ChannelSettings/components/UserPanel.js.map +0 -1
- package/ChannelSettings/context.js +0 -93
- package/ChannelSettings/context.js.map +0 -1
- package/ChannelSettings.js +0 -71
- package/ChannelSettings.js.map +0 -1
- package/CreateChannel/components/CreateChannelUI.js +0 -53
- package/CreateChannel/components/CreateChannelUI.js.map +0 -1
- package/CreateChannel/components/InviteMembers.js +0 -184
- package/CreateChannel/components/InviteMembers.js.map +0 -1
- package/CreateChannel/components/SelectChannelType.js +0 -131
- package/CreateChannel/components/SelectChannelType.js.map +0 -1
- package/CreateChannel/context.js +0 -8
- package/CreateChannel/context.js.map +0 -1
- package/CreateChannel.js +0 -53
- package/CreateChannel.js.map +0 -1
- package/CreateChannelProvider-3f3dafed.js +0 -53
- package/CreateChannelProvider-3f3dafed.js.map +0 -1
- package/EditUserProfile/components/EditUserProfileUI.js +0 -26
- package/EditUserProfile/components/EditUserProfileUI.js.map +0 -1
- package/EditUserProfile/context.js +0 -27
- package/EditUserProfile/context.js.map +0 -1
- package/EditUserProfile.js +0 -39
- package/EditUserProfile.js.map +0 -1
- package/LocalizationContext-b970a73c.js +0 -22
- package/LocalizationContext-b970a73c.js.map +0 -1
- package/MemberList-9d29bee4.js +0 -425
- package/MemberList-9d29bee4.js.map +0 -1
- package/MessageSearch/components/MessageSearchUI.js +0 -151
- package/MessageSearch/components/MessageSearchUI.js.map +0 -1
- package/MessageSearch/context.js +0 -392
- package/MessageSearch/context.js.map +0 -1
- package/MessageSearch.js +0 -146
- package/MessageSearch.js.map +0 -1
- package/OpenChannel/components/FrozenChannelNotification.js +0 -20
- package/OpenChannel/components/FrozenChannelNotification.js.map +0 -1
- package/OpenChannel/components/OpenChannelHeader.js +0 -78
- package/OpenChannel/components/OpenChannelHeader.js.map +0 -1
- package/OpenChannel/components/OpenChannelInput.js +0 -56
- package/OpenChannel/components/OpenChannelInput.js.map +0 -1
- package/OpenChannel/components/OpenChannelMessage.js +0 -282
- package/OpenChannel/components/OpenChannelMessage.js.map +0 -1
- package/OpenChannel/components/OpenChannelMessageList.js +0 -157
- package/OpenChannel/components/OpenChannelMessageList.js.map +0 -1
- package/OpenChannel/components/OpenChannelUI.js +0 -109
- package/OpenChannel/components/OpenChannelUI.js.map +0 -1
- package/OpenChannel/context.js +0 -14
- package/OpenChannel/context.js.map +0 -1
- package/OpenChannel.js +0 -80
- package/OpenChannel.js.map +0 -1
- package/OpenChannelProvider-821fb008.js +0 -2011
- package/OpenChannelProvider-821fb008.js.map +0 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +0 -149
- package/OpenChannelSettings/components/EditDetailsModal.js.map +0 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +0 -81
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +0 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +0 -104
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +0 -1
- package/OpenChannelSettings/components/OperatorUI.js +0 -184
- package/OpenChannelSettings/components/OperatorUI.js.map +0 -1
- package/OpenChannelSettings/components/ParticipantUI.js +0 -172
- package/OpenChannelSettings/components/ParticipantUI.js.map +0 -1
- package/OpenChannelSettings/context.js +0 -64
- package/OpenChannelSettings/context.js.map +0 -1
- package/OpenChannelSettings.js +0 -64
- package/OpenChannelSettings.js.map +0 -1
- package/SendbirdProvider.js +0 -762
- package/SendbirdProvider.js.map +0 -1
- package/UserProfileContext-f4ff4291.js +0 -38
- package/UserProfileContext-f4ff4291.js.map +0 -1
- package/_rollupPluginBabelHelpers-6bf18550.js +0 -233
- package/_rollupPluginBabelHelpers-6bf18550.js.map +0 -1
- package/actionTypes-8e320ded.js +0 -6
- package/actionTypes-8e320ded.js.map +0 -1
- package/cjs/App.js +0 -320
- package/cjs/App.js.map +0 -1
- package/cjs/Channel/components/ChannelHeader.js +0 -123
- package/cjs/Channel/components/ChannelHeader.js.map +0 -1
- package/cjs/Channel/components/ChannelUI.js +0 -185
- package/cjs/Channel/components/ChannelUI.js.map +0 -1
- package/cjs/Channel/components/FileViewer.js +0 -160
- package/cjs/Channel/components/FileViewer.js.map +0 -1
- package/cjs/Channel/components/FrozenNotification.js +0 -26
- package/cjs/Channel/components/FrozenNotification.js.map +0 -1
- package/cjs/Channel/components/Message.js +0 -361
- package/cjs/Channel/components/Message.js.map +0 -1
- package/cjs/Channel/components/MessageInput.js +0 -208
- package/cjs/Channel/components/MessageInput.js.map +0 -1
- package/cjs/Channel/components/MessageList.js +0 -245
- package/cjs/Channel/components/MessageList.js.map +0 -1
- package/cjs/Channel/components/RemoveMessageModal.js +0 -59
- package/cjs/Channel/components/RemoveMessageModal.js.map +0 -1
- package/cjs/Channel/components/SuggestedMentionList.js +0 -256
- package/cjs/Channel/components/SuggestedMentionList.js.map +0 -1
- package/cjs/Channel/components/TypingIndicator.js +0 -107
- package/cjs/Channel/components/TypingIndicator.js.map +0 -1
- package/cjs/Channel/components/UnreadCount.js +0 -47
- package/cjs/Channel/components/UnreadCount.js.map +0 -1
- package/cjs/Channel/context.js +0 -33
- package/cjs/Channel/context.js.map +0 -1
- package/cjs/Channel.js +0 -112
- package/cjs/Channel.js.map +0 -1
- package/cjs/ChannelList/components/AddChannel.js +0 -79
- package/cjs/ChannelList/components/AddChannel.js.map +0 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +0 -68
- package/cjs/ChannelList/components/ChannelListHeader.js.map +0 -1
- package/cjs/ChannelList/components/ChannelListUI.js +0 -242
- package/cjs/ChannelList/components/ChannelListUI.js.map +0 -1
- package/cjs/ChannelList/components/ChannelPreview.js +0 -217
- package/cjs/ChannelList/components/ChannelPreview.js.map +0 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +0 -138
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +0 -1
- package/cjs/ChannelList/context.js +0 -22
- package/cjs/ChannelList/context.js.map +0 -1
- package/cjs/ChannelList.js +0 -95
- package/cjs/ChannelList.js.map +0 -1
- package/cjs/ChannelListProvider-64db9f70.js +0 -938
- package/cjs/ChannelListProvider-64db9f70.js.map +0 -1
- package/cjs/ChannelProvider-5e8e33b1.js +0 -2127
- package/cjs/ChannelProvider-5e8e33b1.js.map +0 -1
- package/cjs/ChannelSettings/components/AdminPanel.js +0 -911
- package/cjs/ChannelSettings/components/AdminPanel.js.map +0 -1
- package/cjs/ChannelSettings/components/ChannelProfile.js +0 -108
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +0 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +0 -158
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +0 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +0 -160
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +0 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +0 -59
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +0 -1
- package/cjs/ChannelSettings/components/UserListItem.js +0 -111
- package/cjs/ChannelSettings/components/UserListItem.js.map +0 -1
- package/cjs/ChannelSettings/components/UserPanel.js +0 -85
- package/cjs/ChannelSettings/components/UserPanel.js.map +0 -1
- package/cjs/ChannelSettings/context.js +0 -102
- package/cjs/ChannelSettings/context.js.map +0 -1
- package/cjs/ChannelSettings.js +0 -77
- package/cjs/ChannelSettings.js.map +0 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +0 -59
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +0 -1
- package/cjs/CreateChannel/components/InviteMembers.js +0 -190
- package/cjs/CreateChannel/components/InviteMembers.js.map +0 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +0 -137
- package/cjs/CreateChannel/components/SelectChannelType.js.map +0 -1
- package/cjs/CreateChannel/context.js +0 -17
- package/cjs/CreateChannel/context.js.map +0 -1
- package/cjs/CreateChannel.js +0 -59
- package/cjs/CreateChannel.js.map +0 -1
- package/cjs/CreateChannelProvider-dcf7f906.js +0 -60
- package/cjs/CreateChannelProvider-dcf7f906.js.map +0 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +0 -32
- package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +0 -1
- package/cjs/EditUserProfile/context.js +0 -36
- package/cjs/EditUserProfile/context.js.map +0 -1
- package/cjs/EditUserProfile.js +0 -45
- package/cjs/EditUserProfile.js.map +0 -1
- package/cjs/LocalizationContext-382a9ef1.js +0 -30
- package/cjs/LocalizationContext-382a9ef1.js.map +0 -1
- package/cjs/MemberList-03a241cd.js +0 -431
- package/cjs/MemberList-03a241cd.js.map +0 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +0 -160
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +0 -1
- package/cjs/MessageSearch/context.js +0 -401
- package/cjs/MessageSearch/context.js.map +0 -1
- package/cjs/MessageSearch.js +0 -152
- package/cjs/MessageSearch.js.map +0 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +0 -26
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +0 -1
- package/cjs/OpenChannel/components/OpenChannelHeader.js +0 -84
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +0 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +0 -62
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +0 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +0 -288
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +0 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +0 -163
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +0 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +0 -115
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +0 -1
- package/cjs/OpenChannel/context.js +0 -23
- package/cjs/OpenChannel/context.js.map +0 -1
- package/cjs/OpenChannel.js +0 -86
- package/cjs/OpenChannel.js.map +0 -1
- package/cjs/OpenChannelProvider-9000ccb9.js +0 -2020
- package/cjs/OpenChannelProvider-9000ccb9.js.map +0 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +0 -155
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +0 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +0 -87
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +0 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +0 -110
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +0 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +0 -194
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +0 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +0 -178
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +0 -1
- package/cjs/OpenChannelSettings/context.js +0 -73
- package/cjs/OpenChannelSettings/context.js.map +0 -1
- package/cjs/OpenChannelSettings.js +0 -70
- package/cjs/OpenChannelSettings.js.map +0 -1
- package/cjs/SendbirdProvider.js +0 -771
- package/cjs/SendbirdProvider.js.map +0 -1
- package/cjs/UserProfileContext-0b7ef11a.js +0 -46
- package/cjs/UserProfileContext-0b7ef11a.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-6193d45d.js +0 -243
- package/cjs/_rollupPluginBabelHelpers-6193d45d.js.map +0 -1
- package/cjs/actionTypes-092bc172.js +0 -10
- package/cjs/actionTypes-092bc172.js.map +0 -1
- package/cjs/color-1816dacf.js +0 -42
- package/cjs/color-1816dacf.js.map +0 -1
- package/cjs/compareIds-e9bca8c4.js +0 -20
- package/cjs/compareIds-e9bca8c4.js.map +0 -1
- package/cjs/const-c65837c1.js +0 -22
- package/cjs/const-c65837c1.js.map +0 -1
- package/cjs/const-d9f4d880.js +0 -14
- package/cjs/const-d9f4d880.js.map +0 -1
- package/cjs/context-6ebf3379.js +0 -19
- package/cjs/context-6ebf3379.js.map +0 -1
- package/cjs/index-01072ac9.js +0 -97
- package/cjs/index-01072ac9.js.map +0 -1
- package/cjs/index-20a06ed6.js +0 -514
- package/cjs/index-20a06ed6.js.map +0 -1
- package/cjs/index-212a11f2.js +0 -722
- package/cjs/index-212a11f2.js.map +0 -1
- package/cjs/index-2faa2f93.js +0 -9
- package/cjs/index-2faa2f93.js.map +0 -1
- package/cjs/index-4f40f311.js +0 -67
- package/cjs/index-4f40f311.js.map +0 -1
- package/cjs/index-75453415.js +0 -54
- package/cjs/index-75453415.js.map +0 -1
- package/cjs/index-948426a8.js +0 -284
- package/cjs/index-948426a8.js.map +0 -1
- package/cjs/index-a2ce047a.js +0 -1880
- package/cjs/index-a2ce047a.js.map +0 -1
- package/cjs/index-d57081d1.js +0 -175
- package/cjs/index-d57081d1.js.map +0 -1
- package/cjs/index-e63da805.js +0 -130
- package/cjs/index-e63da805.js.map +0 -1
- package/cjs/index-f1971e28.js +0 -142
- package/cjs/index-f1971e28.js.map +0 -1
- package/cjs/index.css +0 -4465
- package/cjs/index.css.map +0 -1
- package/cjs/index.js +0 -162
- package/cjs/index.js.map +0 -1
- package/cjs/openChannelUtils-16f29ba2.js +0 -92
- package/cjs/openChannelUtils-16f29ba2.js.map +0 -1
- package/cjs/sendBirdSelectors.js +0 -741
- package/cjs/sendBirdSelectors.js.map +0 -1
- package/cjs/stringSet-b9ea6eef.js +0 -118
- package/cjs/stringSet-b9ea6eef.js.map +0 -1
- package/cjs/topics-11048db8.js +0 -18
- package/cjs/topics-11048db8.js.map +0 -1
- package/cjs/tslib.es6-07dd6257.js +0 -40
- package/cjs/tslib.es6-07dd6257.js.map +0 -1
- package/cjs/ui/Accordion.js +0 -74
- package/cjs/ui/Accordion.js.map +0 -1
- package/cjs/ui/AccordionGroup.js +0 -32
- package/cjs/ui/AccordionGroup.js.map +0 -1
- package/cjs/ui/AdminMessage.js +0 -44
- package/cjs/ui/AdminMessage.js.map +0 -1
- package/cjs/ui/Avatar.js +0 -226
- package/cjs/ui/Avatar.js.map +0 -1
- package/cjs/ui/Badge.js +0 -45
- package/cjs/ui/Badge.js.map +0 -1
- package/cjs/ui/Button.js +0 -17
- package/cjs/ui/Button.js.map +0 -1
- package/cjs/ui/ChannelAvatar.js +0 -59
- package/cjs/ui/ChannelAvatar.js.map +0 -1
- package/cjs/ui/ChannelPreview.js +0 -201
- package/cjs/ui/ChannelPreview.js.map +0 -1
- package/cjs/ui/ChatHeader.js +0 -145
- package/cjs/ui/ChatHeader.js.map +0 -1
- package/cjs/ui/Checkbox.js +0 -49
- package/cjs/ui/Checkbox.js.map +0 -1
- package/cjs/ui/ConnectionStatus.js +0 -34
- package/cjs/ui/ConnectionStatus.js.map +0 -1
- package/cjs/ui/ContextMenu.js +0 -431
- package/cjs/ui/ContextMenu.js.map +0 -1
- package/cjs/ui/DateSeparator.js +0 -44
- package/cjs/ui/DateSeparator.js.map +0 -1
- package/cjs/ui/Dropdown.js +0 -107
- package/cjs/ui/Dropdown.js.map +0 -1
- package/cjs/ui/EmojiReactions.js +0 -127
- package/cjs/ui/EmojiReactions.js.map +0 -1
- package/cjs/ui/FileMessageItemBody.js +0 -57
- package/cjs/ui/FileMessageItemBody.js.map +0 -1
- package/cjs/ui/FileViewer.js +0 -174
- package/cjs/ui/FileViewer.js.map +0 -1
- package/cjs/ui/Icon.js +0 -1462
- package/cjs/ui/Icon.js.map +0 -1
- package/cjs/ui/IconButton.js +0 -83
- package/cjs/ui/IconButton.js.map +0 -1
- package/cjs/ui/ImageRenderer.js +0 -138
- package/cjs/ui/ImageRenderer.js.map +0 -1
- package/cjs/ui/Input.js +0 -74
- package/cjs/ui/Input.js.map +0 -1
- package/cjs/ui/Label.js +0 -17
- package/cjs/ui/Label.js.map +0 -1
- package/cjs/ui/LinkLabel.js +0 -51
- package/cjs/ui/LinkLabel.js.map +0 -1
- package/cjs/ui/Loader.js +0 -44
- package/cjs/ui/Loader.js.map +0 -1
- package/cjs/ui/MentionUserLabel.js +0 -25
- package/cjs/ui/MentionUserLabel.js.map +0 -1
- package/cjs/ui/MessageContent.js +0 -291
- package/cjs/ui/MessageContent.js.map +0 -1
- package/cjs/ui/MessageInput.js +0 -5048
- package/cjs/ui/MessageInput.js.map +0 -1
- package/cjs/ui/MessageItemMenu.js +0 -141
- package/cjs/ui/MessageItemMenu.js.map +0 -1
- package/cjs/ui/MessageItemReactionMenu.js +0 -112
- package/cjs/ui/MessageItemReactionMenu.js.map +0 -1
- package/cjs/ui/MessageSearchFileItem.js +0 -130
- package/cjs/ui/MessageSearchFileItem.js.map +0 -1
- package/cjs/ui/MessageSearchItem.js +0 -93
- package/cjs/ui/MessageSearchItem.js.map +0 -1
- package/cjs/ui/MessageStatus.js +0 -66
- package/cjs/ui/MessageStatus.js.map +0 -1
- package/cjs/ui/Modal.js +0 -140
- package/cjs/ui/Modal.js.map +0 -1
- package/cjs/ui/MutedAvatarOverlay.js +0 -40
- package/cjs/ui/MutedAvatarOverlay.js.map +0 -1
- package/cjs/ui/OGMessageItemBody.js +0 -107
- package/cjs/ui/OGMessageItemBody.js.map +0 -1
- package/cjs/ui/OpenChannelAdminMessage.js +0 -27
- package/cjs/ui/OpenChannelAdminMessage.js.map +0 -1
- package/cjs/ui/OpenChannelAvatar.js +0 -41
- package/cjs/ui/OpenChannelAvatar.js.map +0 -1
- package/cjs/ui/OpenChannelMessageContent.js +0 -14
- package/cjs/ui/OpenChannelMessageContent.js.map +0 -1
- package/cjs/ui/OpenchannelConversationHeader.js +0 -73
- package/cjs/ui/OpenchannelConversationHeader.js.map +0 -1
- package/cjs/ui/OpenchannelFileMessage.js +0 -230
- package/cjs/ui/OpenchannelFileMessage.js.map +0 -1
- package/cjs/ui/OpenchannelOGMessage.js +0 -345
- package/cjs/ui/OpenchannelOGMessage.js.map +0 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +0 -305
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +0 -1
- package/cjs/ui/OpenchannelUserMessage.js +0 -264
- package/cjs/ui/OpenchannelUserMessage.js.map +0 -1
- package/cjs/ui/PlaceHolder.js +0 -20
- package/cjs/ui/PlaceHolder.js.map +0 -1
- package/cjs/ui/QuoteMessage.js +0 -131
- package/cjs/ui/QuoteMessage.js.map +0 -1
- package/cjs/ui/QuoteMessageInput.js +0 -99
- package/cjs/ui/QuoteMessageInput.js.map +0 -1
- package/cjs/ui/ReactionBadge.js +0 -68
- package/cjs/ui/ReactionBadge.js.map +0 -1
- package/cjs/ui/ReactionButton.js +0 -55
- package/cjs/ui/ReactionButton.js.map +0 -1
- package/cjs/ui/SortByRow.js +0 -57
- package/cjs/ui/SortByRow.js.map +0 -1
- package/cjs/ui/TextButton.js +0 -45
- package/cjs/ui/TextButton.js.map +0 -1
- package/cjs/ui/TextMessageItemBody.js +0 -62
- package/cjs/ui/TextMessageItemBody.js.map +0 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +0 -82
- package/cjs/ui/ThumbnailMessageItemBody.js.map +0 -1
- package/cjs/ui/Tooltip.js +0 -35
- package/cjs/ui/Tooltip.js.map +0 -1
- package/cjs/ui/TooltipWrapper.js +0 -65
- package/cjs/ui/TooltipWrapper.js.map +0 -1
- package/cjs/ui/UnknownMessageItemBody.js +0 -41
- package/cjs/ui/UnknownMessageItemBody.js.map +0 -1
- package/cjs/ui/UserListItem.js +0 -158
- package/cjs/ui/UserListItem.js.map +0 -1
- package/cjs/ui/UserProfile.js +0 -87
- package/cjs/ui/UserProfile.js.map +0 -1
- package/cjs/useSendbirdStateContext.js +0 -22
- package/cjs/useSendbirdStateContext.js.map +0 -1
- package/cjs/utils-3240365f.js +0 -32
- package/cjs/utils-3240365f.js.map +0 -1
- package/cjs/utils-53d332a6.js +0 -38
- package/cjs/utils-53d332a6.js.map +0 -1
- package/cjs/utils-94ae6cec.js +0 -6
- package/cjs/utils-94ae6cec.js.map +0 -1
- package/cjs/uuid-172844fb.js +0 -19
- package/cjs/uuid-172844fb.js.map +0 -1
- package/cjs/withSendBird.js +0 -35
- package/cjs/withSendBird.js.map +0 -1
- package/color-38dc84d3.js +0 -39
- package/color-38dc84d3.js.map +0 -1
- package/compareIds-f01e0c3c.js +0 -18
- package/compareIds-f01e0c3c.js.map +0 -1
- package/const-b6685801.js +0 -8
- package/const-b6685801.js.map +0 -1
- package/const-d46f09a1.js +0 -18
- package/const-d46f09a1.js.map +0 -1
- package/context-b5168bd0.js +0 -12
- package/context-b5168bd0.js.map +0 -1
- package/index-1c2588aa.js +0 -1873
- package/index-1c2588aa.js.map +0 -1
- package/index-2dce3a04.js +0 -87
- package/index-2dce3a04.js.map +0 -1
- package/index-3bd4a058.js +0 -168
- package/index-3bd4a058.js.map +0 -1
- package/index-62fd2db7.js +0 -48
- package/index-62fd2db7.js.map +0 -1
- package/index-6381b534.js +0 -512
- package/index-6381b534.js.map +0 -1
- package/index-9afb4d01.js +0 -64
- package/index-9afb4d01.js.map +0 -1
- package/index-a6675155.js +0 -280
- package/index-a6675155.js.map +0 -1
- package/index-b12b270e.js +0 -121
- package/index-b12b270e.js.map +0 -1
- package/index-d0b30cd5.js +0 -131
- package/index-d0b30cd5.js.map +0 -1
- package/index-d0fe8fe1.js +0 -7
- package/index-d0fe8fe1.js.map +0 -1
- package/index-e6d0889d.js +0 -682
- package/index-e6d0889d.js.map +0 -1
- package/index.d.ts +0 -1829
- package/index.js +0 -143
- package/index.js.map +0 -1
- package/openChannelUtils-22ed0258.js +0 -81
- package/openChannelUtils-22ed0258.js.map +0 -1
- package/sendBirdSelectors.js +0 -713
- package/sendBirdSelectors.js.map +0 -1
- package/stringSet-2e6c1d2c.js +0 -116
- package/stringSet-2e6c1d2c.js.map +0 -1
- package/topics-67738aac.js +0 -10
- package/topics-67738aac.js.map +0 -1
- package/tslib.es6-b6e567bd.js +0 -38
- package/tslib.es6-b6e567bd.js.map +0 -1
- package/ui/Accordion.js +0 -65
- package/ui/Accordion.js.map +0 -1
- package/ui/AccordionGroup.js +0 -26
- package/ui/AccordionGroup.js.map +0 -1
- package/ui/AdminMessage.js +0 -37
- package/ui/AdminMessage.js.map +0 -1
- package/ui/Avatar.js +0 -217
- package/ui/Avatar.js.map +0 -1
- package/ui/Badge.js +0 -38
- package/ui/Badge.js.map +0 -1
- package/ui/Button.js +0 -7
- package/ui/Button.js.map +0 -1
- package/ui/ChannelAvatar.js +0 -53
- package/ui/ChannelAvatar.js.map +0 -1
- package/ui/ChannelPreview.js +0 -194
- package/ui/ChannelPreview.js.map +0 -1
- package/ui/ChatHeader.js +0 -138
- package/ui/ChatHeader.js.map +0 -1
- package/ui/Checkbox.js +0 -42
- package/ui/Checkbox.js.map +0 -1
- package/ui/ConnectionStatus.js +0 -28
- package/ui/ConnectionStatus.js.map +0 -1
- package/ui/ContextMenu.js +0 -417
- package/ui/ContextMenu.js.map +0 -1
- package/ui/DateSeparator.js +0 -37
- package/ui/DateSeparator.js.map +0 -1
- package/ui/Dropdown.js +0 -97
- package/ui/Dropdown.js.map +0 -1
- package/ui/EmojiReactions.js +0 -121
- package/ui/EmojiReactions.js.map +0 -1
- package/ui/FileMessageItemBody.js +0 -51
- package/ui/FileMessageItemBody.js.map +0 -1
- package/ui/FileViewer.js +0 -164
- package/ui/FileViewer.js.map +0 -1
- package/ui/Icon.js +0 -1432
- package/ui/Icon.js.map +0 -1
- package/ui/IconButton.js +0 -76
- package/ui/IconButton.js.map +0 -1
- package/ui/ImageRenderer.js +0 -131
- package/ui/ImageRenderer.js.map +0 -1
- package/ui/Input.js +0 -64
- package/ui/Input.js.map +0 -1
- package/ui/Label.js +0 -6
- package/ui/Label.js.map +0 -1
- package/ui/LinkLabel.js +0 -40
- package/ui/LinkLabel.js.map +0 -1
- package/ui/Loader.js +0 -37
- package/ui/Loader.js.map +0 -1
- package/ui/MentionUserLabel.js +0 -19
- package/ui/MentionUserLabel.js.map +0 -1
- package/ui/MessageContent.js +0 -285
- package/ui/MessageContent.js.map +0 -1
- package/ui/MessageInput.js +0 -5040
- package/ui/MessageInput.js.map +0 -1
- package/ui/MessageItemMenu.js +0 -135
- package/ui/MessageItemMenu.js.map +0 -1
- package/ui/MessageItemReactionMenu.js +0 -106
- package/ui/MessageItemReactionMenu.js.map +0 -1
- package/ui/MessageSearchFileItem.js +0 -124
- package/ui/MessageSearchFileItem.js.map +0 -1
- package/ui/MessageSearchItem.js +0 -87
- package/ui/MessageSearchItem.js.map +0 -1
- package/ui/MessageStatus.js +0 -57
- package/ui/MessageStatus.js.map +0 -1
- package/ui/Modal.js +0 -128
- package/ui/Modal.js.map +0 -1
- package/ui/MutedAvatarOverlay.js +0 -34
- package/ui/MutedAvatarOverlay.js.map +0 -1
- package/ui/OGMessageItemBody.js +0 -101
- package/ui/OGMessageItemBody.js.map +0 -1
- package/ui/OpenChannelAdminMessage.js +0 -21
- package/ui/OpenChannelAdminMessage.js.map +0 -1
- package/ui/OpenChannelAvatar.js +0 -35
- package/ui/OpenChannelAvatar.js.map +0 -1
- package/ui/OpenChannelMessageContent.js +0 -8
- package/ui/OpenChannelMessageContent.js.map +0 -1
- package/ui/OpenchannelConversationHeader.js +0 -67
- package/ui/OpenchannelConversationHeader.js.map +0 -1
- package/ui/OpenchannelFileMessage.js +0 -224
- package/ui/OpenchannelFileMessage.js.map +0 -1
- package/ui/OpenchannelOGMessage.js +0 -339
- package/ui/OpenchannelOGMessage.js.map +0 -1
- package/ui/OpenchannelThumbnailMessage.js +0 -299
- package/ui/OpenchannelThumbnailMessage.js.map +0 -1
- package/ui/OpenchannelUserMessage.js +0 -258
- package/ui/OpenchannelUserMessage.js.map +0 -1
- package/ui/PlaceHolder.js +0 -11
- package/ui/PlaceHolder.js.map +0 -1
- package/ui/QuoteMessage.js +0 -125
- package/ui/QuoteMessage.js.map +0 -1
- package/ui/QuoteMessageInput.js +0 -93
- package/ui/QuoteMessageInput.js.map +0 -1
- package/ui/ReactionBadge.js +0 -61
- package/ui/ReactionBadge.js.map +0 -1
- package/ui/ReactionButton.js +0 -48
- package/ui/ReactionButton.js.map +0 -1
- package/ui/SortByRow.js +0 -50
- package/ui/SortByRow.js.map +0 -1
- package/ui/TextButton.js +0 -38
- package/ui/TextButton.js.map +0 -1
- package/ui/TextMessageItemBody.js +0 -56
- package/ui/TextMessageItemBody.js.map +0 -1
- package/ui/ThumbnailMessageItemBody.js +0 -76
- package/ui/ThumbnailMessageItemBody.js.map +0 -1
- package/ui/Tooltip.js +0 -28
- package/ui/Tooltip.js.map +0 -1
- package/ui/TooltipWrapper.js +0 -58
- package/ui/TooltipWrapper.js.map +0 -1
- package/ui/UnknownMessageItemBody.js +0 -35
- package/ui/UnknownMessageItemBody.js.map +0 -1
- package/ui/UserListItem.js +0 -151
- package/ui/UserListItem.js.map +0 -1
- package/ui/UserProfile.js +0 -81
- package/ui/UserProfile.js.map +0 -1
- package/useSendbirdStateContext.js +0 -20
- package/useSendbirdStateContext.js.map +0 -1
- package/utils-04c291d8.js +0 -34
- package/utils-04c291d8.js.map +0 -1
- package/utils-28de36e9.js +0 -30
- package/utils-28de36e9.js.map +0 -1
- package/utils-f5c9ef64.js +0 -4
- package/utils-f5c9ef64.js.map +0 -1
- package/uuid-0139dc21.js +0 -17
- package/uuid-0139dc21.js.map +0 -1
- package/withSendBird.js +0 -26
- package/withSendBird.js.map +0 -1
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
var index = require('../../index-4f40f311.js');
|
|
5
|
-
var Channel_context = require('../../ChannelProvider-5e8e33b1.js');
|
|
6
|
-
var ui_PlaceHolder = require('../../index-e63da805.js');
|
|
7
|
-
var ui_Icon = require('../../ui/Icon.js');
|
|
8
|
-
var Channel_components_Message = require('./Message.js');
|
|
9
|
-
var uuid = require('../../uuid-172844fb.js');
|
|
10
|
-
require('../../index-a2ce047a.js');
|
|
11
|
-
require('../../index-20a06ed6.js');
|
|
12
|
-
require('../../UserProfileContext-0b7ef11a.js');
|
|
13
|
-
require('prop-types');
|
|
14
|
-
require('../../useSendbirdStateContext.js');
|
|
15
|
-
require('../../withSendBird.js');
|
|
16
|
-
require('../../_rollupPluginBabelHelpers-6193d45d.js');
|
|
17
|
-
require('../../topics-11048db8.js');
|
|
18
|
-
require('../../index-212a11f2.js');
|
|
19
|
-
require('../../tslib.es6-07dd6257.js');
|
|
20
|
-
require('../../compareIds-e9bca8c4.js');
|
|
21
|
-
require('../../const-d9f4d880.js');
|
|
22
|
-
require('../../ui/ContextMenu.js');
|
|
23
|
-
require('../../index-f1971e28.js');
|
|
24
|
-
require('../../stringSet-b9ea6eef.js');
|
|
25
|
-
require('react-dom');
|
|
26
|
-
require('../../ui/SortByRow.js');
|
|
27
|
-
require('../../ui/ReactionButton.js');
|
|
28
|
-
require('../../ui/ImageRenderer.js');
|
|
29
|
-
require('../../ui/Loader.js');
|
|
30
|
-
require('../../LocalizationContext-382a9ef1.js');
|
|
31
|
-
require('./SuggestedMentionList.js');
|
|
32
|
-
require('../../ui/Avatar.js');
|
|
33
|
-
require('../../const-c65837c1.js');
|
|
34
|
-
require('../../ui/DateSeparator.js');
|
|
35
|
-
require('../../color-1816dacf.js');
|
|
36
|
-
require('../../ui/MessageInput.js');
|
|
37
|
-
require('stream');
|
|
38
|
-
require('../../ui/IconButton.js');
|
|
39
|
-
require('../../index-01072ac9.js');
|
|
40
|
-
require('../../ui/MentionUserLabel.js');
|
|
41
|
-
require('../../ui/MessageContent.js');
|
|
42
|
-
require('../../ui/UserProfile.js');
|
|
43
|
-
require('../../sendBirdSelectors.js');
|
|
44
|
-
require('../../ui/MessageStatus.js');
|
|
45
|
-
require('../../ui/MessageItemMenu.js');
|
|
46
|
-
require('../../ui/MessageItemReactionMenu.js');
|
|
47
|
-
require('../../ui/EmojiReactions.js');
|
|
48
|
-
require('../../ui/Tooltip.js');
|
|
49
|
-
require('../../ui/TooltipWrapper.js');
|
|
50
|
-
require('../../ui/ReactionBadge.js');
|
|
51
|
-
require('../../ui/AdminMessage.js');
|
|
52
|
-
require('../../ui/TextMessageItemBody.js');
|
|
53
|
-
require('../../index-75453415.js');
|
|
54
|
-
require('../../ui/LinkLabel.js');
|
|
55
|
-
require('../../ui/FileMessageItemBody.js');
|
|
56
|
-
require('../../ui/TextButton.js');
|
|
57
|
-
require('../../ui/ThumbnailMessageItemBody.js');
|
|
58
|
-
require('../../ui/OGMessageItemBody.js');
|
|
59
|
-
require('../../ui/UnknownMessageItemBody.js');
|
|
60
|
-
require('../../ui/QuoteMessage.js');
|
|
61
|
-
require('./FileViewer.js');
|
|
62
|
-
require('../../index-2faa2f93.js');
|
|
63
|
-
require('./RemoveMessageModal.js');
|
|
64
|
-
require('../../ui/Modal.js');
|
|
65
|
-
require('../../utils-94ae6cec.js');
|
|
66
|
-
|
|
67
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
68
|
-
|
|
69
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
70
|
-
|
|
71
|
-
var SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';
|
|
72
|
-
|
|
73
|
-
var MessageList = function MessageList(props) {
|
|
74
|
-
var renderMessage = props.renderMessage,
|
|
75
|
-
renderPlaceholderEmpty = props.renderPlaceholderEmpty,
|
|
76
|
-
renderCustomSeparator = props.renderCustomSeparator;
|
|
77
|
-
|
|
78
|
-
var _a = Channel_context.useChannel(),
|
|
79
|
-
allMessages = _a.allMessages,
|
|
80
|
-
hasMorePrev = _a.hasMorePrev,
|
|
81
|
-
setInitialTimeStamp = _a.setInitialTimeStamp,
|
|
82
|
-
setAnimatedMessageId = _a.setAnimatedMessageId,
|
|
83
|
-
setHighLightedMessageId = _a.setHighLightedMessageId,
|
|
84
|
-
useMessageGrouping = _a.useMessageGrouping,
|
|
85
|
-
scrollRef = _a.scrollRef,
|
|
86
|
-
onScrollCallback = _a.onScrollCallback,
|
|
87
|
-
onScrollDownCallback = _a.onScrollDownCallback,
|
|
88
|
-
messagesDispatcher = _a.messagesDispatcher,
|
|
89
|
-
messageActionTypes = _a.messageActionTypes,
|
|
90
|
-
currentGroupChannel = _a.currentGroupChannel;
|
|
91
|
-
|
|
92
|
-
var _b = React.useState(0),
|
|
93
|
-
scrollBottom = _b[0],
|
|
94
|
-
setScrollBottom = _b[1];
|
|
95
|
-
|
|
96
|
-
var onScroll = function onScroll(e) {
|
|
97
|
-
var element = e.target;
|
|
98
|
-
var scrollTop = element.scrollTop,
|
|
99
|
-
clientHeight = element.clientHeight,
|
|
100
|
-
scrollHeight = element.scrollHeight;
|
|
101
|
-
|
|
102
|
-
if (scrollTop === 0) {
|
|
103
|
-
if (!hasMorePrev) {
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
var nodes = scrollRef.current.querySelectorAll(SCROLL_REF_CLASS_NAME);
|
|
108
|
-
var first_1 = nodes && nodes[0];
|
|
109
|
-
onScrollCallback(function (_a) {
|
|
110
|
-
var messages = _a[0];
|
|
111
|
-
|
|
112
|
-
if (messages) {
|
|
113
|
-
// https://github.com/scabbiaza/react-scroll-position-on-updating-dom
|
|
114
|
-
// Set block to nearest to prevent unexpected scrolling from outer components
|
|
115
|
-
try {
|
|
116
|
-
first_1.scrollIntoView({
|
|
117
|
-
block: "start",
|
|
118
|
-
inline: "nearest"
|
|
119
|
-
});
|
|
120
|
-
} catch (error) {//
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
if (Channel_context.isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {
|
|
127
|
-
onScrollDownCallback(function (_a) {
|
|
128
|
-
var messages = _a[0];
|
|
129
|
-
|
|
130
|
-
if (messages) {
|
|
131
|
-
try {
|
|
132
|
-
element.scrollTop = scrollHeight - clientHeight;
|
|
133
|
-
} catch (error) {//
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
} // save the lastest scroll bottom value
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) {
|
|
141
|
-
var current = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
|
|
142
|
-
setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight);
|
|
143
|
-
} // do this later
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
setTimeout(function () {
|
|
147
|
-
// mark as read if scroll is at end
|
|
148
|
-
if (clientHeight + scrollTop === scrollHeight) {
|
|
149
|
-
messagesDispatcher({
|
|
150
|
-
type: messageActionTypes.MARK_AS_READ,
|
|
151
|
-
payload: {
|
|
152
|
-
channel: currentGroupChannel
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
currentGroupChannel.markAsRead();
|
|
156
|
-
}
|
|
157
|
-
}, 500);
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
var onClickScrollBot = function onClickScrollBot() {
|
|
161
|
-
var _a, _b, _c;
|
|
162
|
-
|
|
163
|
-
setInitialTimeStamp === null || setInitialTimeStamp === void 0 ? void 0 : setInitialTimeStamp(null);
|
|
164
|
-
setAnimatedMessageId === null || setAnimatedMessageId === void 0 ? void 0 : setAnimatedMessageId(null);
|
|
165
|
-
setHighLightedMessageId === null || setHighLightedMessageId === void 0 ? void 0 : setHighLightedMessageId(null);
|
|
166
|
-
|
|
167
|
-
if ((_a = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollTop) {
|
|
168
|
-
scrollRef.current.scrollTop = ((_b = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _b === void 0 ? void 0 : _b.scrollHeight) - ((_c = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _c === void 0 ? void 0 : _c.offsetHeight);
|
|
169
|
-
}
|
|
170
|
-
}; // Because every message components are re-rendered everytime by every scroll events
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
var memoizedAllMessages = React.useMemo(function () {
|
|
174
|
-
return allMessages.map(function (m, idx) {
|
|
175
|
-
var previousMessage = allMessages[idx - 1];
|
|
176
|
-
var nextMessage = allMessages[idx + 1];
|
|
177
|
-
|
|
178
|
-
var _a = useMessageGrouping ? Channel_context.compareMessagesForGrouping(previousMessage, m, nextMessage) : [false, false],
|
|
179
|
-
chainTop = _a[0],
|
|
180
|
-
chainBottom = _a[1];
|
|
181
|
-
|
|
182
|
-
var previousMessageCreatedAt = previousMessage === null || previousMessage === void 0 ? void 0 : previousMessage.createdAt;
|
|
183
|
-
var currentCreatedAt = m.createdAt; // https://stackoverflow.com/a/41855608
|
|
184
|
-
|
|
185
|
-
var hasSeparator = !(previousMessageCreatedAt && index.isSameDay(currentCreatedAt, previousMessageCreatedAt));
|
|
186
|
-
|
|
187
|
-
var handleScroll = function handleScroll() {
|
|
188
|
-
var current = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
|
|
189
|
-
|
|
190
|
-
if (current) {
|
|
191
|
-
var bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;
|
|
192
|
-
|
|
193
|
-
if (scrollBottom < bottom) {
|
|
194
|
-
current.scrollTop += bottom - scrollBottom;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
return /*#__PURE__*/React__default["default"].createElement(Channel_components_Message, {
|
|
200
|
-
handleScroll: handleScroll,
|
|
201
|
-
renderMessage: renderMessage,
|
|
202
|
-
message: m,
|
|
203
|
-
hasSeparator: hasSeparator,
|
|
204
|
-
chainTop: chainTop,
|
|
205
|
-
chainBottom: chainBottom,
|
|
206
|
-
renderCustomSeparator: renderCustomSeparator,
|
|
207
|
-
key: m.messageId + uuid.uuidv4()
|
|
208
|
-
});
|
|
209
|
-
});
|
|
210
|
-
}, [allMessages]);
|
|
211
|
-
|
|
212
|
-
if (allMessages.length < 1) {
|
|
213
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, (renderPlaceholderEmpty === null || renderPlaceholderEmpty === void 0 ? void 0 : renderPlaceholderEmpty()) || /*#__PURE__*/React__default["default"].createElement(ui_PlaceHolder.PlaceHolder, {
|
|
214
|
-
className: "sendbird-conversation__no-messages",
|
|
215
|
-
type: ui_PlaceHolder.PlaceHolderTypes.NO_MESSAGES
|
|
216
|
-
}));
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
220
|
-
className: "sendbird-conversation__messages"
|
|
221
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
222
|
-
className: "sendbird-conversation__scroll-container"
|
|
223
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
224
|
-
className: "sendbird-conversation__padding"
|
|
225
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
226
|
-
className: "sendbird-conversation__messages-padding",
|
|
227
|
-
ref: scrollRef,
|
|
228
|
-
onScroll: onScroll
|
|
229
|
-
}, memoizedAllMessages)), // This flag is an unmatched variable
|
|
230
|
-
scrollBottom > 1 && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
231
|
-
className: "sendbird-conversation__scroll-bottom-button",
|
|
232
|
-
onClick: onClickScrollBot,
|
|
233
|
-
onKeyDown: onClickScrollBot,
|
|
234
|
-
tabIndex: 0,
|
|
235
|
-
role: "button"
|
|
236
|
-
}, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
|
|
237
|
-
width: "24px",
|
|
238
|
-
height: "24px",
|
|
239
|
-
type: ui_Icon.IconTypes.CHEVRON_DOWN,
|
|
240
|
-
fillColor: ui_Icon.IconColors.PRIMARY
|
|
241
|
-
})));
|
|
242
|
-
};
|
|
243
|
-
|
|
244
|
-
module.exports = MessageList;
|
|
245
|
-
//# sourceMappingURL=MessageList.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MessageList.js","sources":["../../../../src/smart-components/Channel/components/MessageList/index.tsx"],"sourcesContent":["import './message-list.scss';\n\nimport React, { useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { useChannel } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { compareMessagesForGrouping } from '../../context/utils';\nimport Message from '../Message';\nimport { RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport type MessageListProps = {\n renderMessage?: (props: RenderMessageProps) => React.ReactNode;\n renderPlaceholderEmpty?: () => React.ReactNode;\n renderCustomSeparator?: () => React.ReactNode;\n};\n\nconst SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';\n\nconst MessageList: React.FC<MessageListProps> = (props: MessageListProps) => {\n const {\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n } = props;\n const {\n allMessages,\n hasMorePrev,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n useMessageGrouping,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n } = useChannel();\n const [scrollBottom, setScrollBottom] = useState(0);\n\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (scrollTop === 0) {\n if (!hasMorePrev) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll(SCROLL_REF_CLASS_NAME);\n const first = nodes && nodes[0];\n onScrollCallback(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n // Set block to nearest to prevent unexpected scrolling from outer components\n try {\n first.scrollIntoView({ block: \"start\", inline: \"nearest\" });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n element.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight)\n }\n\n // do this later\n setTimeout(() => {\n // mark as read if scroll is at end\n if (clientHeight + scrollTop === scrollHeight) {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n currentGroupChannel.markAsRead();\n }\n }, 500);\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n };\n\n // Because every message components are re-rendered everytime by every scroll events\n const memoizedAllMessages = useMemo(() => {\n return (\n allMessages.map((m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = useMessageGrouping\n ? compareMessagesForGrouping(previousMessage, m, nextMessage)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const handleScroll = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n }\n\n return (\n <Message\n handleScroll={handleScroll}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n key={m.messageId + uuidv4()}\n />\n );\n })\n );\n }, [allMessages]);\n\n if (allMessages.length < 1) {\n return (\n <>\n {\n renderPlaceholderEmpty?.() || (\n <PlaceHolder\n className=\"sendbird-conversation__no-messages\"\n type={PlaceHolderTypes.NO_MESSAGES}\n />)\n }\n </>\n );\n }\n return (\n <div className=\"sendbird-conversation__messages\">\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n {memoizedAllMessages}\n </div>\n </div>\n {\n // This flag is an unmatched variable\n (scrollBottom > 1) && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["SCROLL_REF_CLASS_NAME","MessageList","props","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","_a","useChannel","allMessages","hasMorePrev","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","useMessageGrouping","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","_b","useState","scrollBottom","setScrollBottom","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","nodes","current","querySelectorAll","first_1","messages","scrollIntoView","block","inline","error","isAboutSame","offsetHeight","setTimeout","type","MARK_AS_READ","payload","channel","markAsRead","onClickScrollBot","memoizedAllMessages","useMemo","map","m","idx","previousMessage","nextMessage","compareMessagesForGrouping","chainTop","chainBottom","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","handleScroll","bottom","React","Message","messageId","uuidv4","length","PlaceHolder","PlaceHolderTypes","NO_MESSAGES","Icon","IconTypes","CHEVRON_DOWN","IconColors","PRIMARY"],"mappings":"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"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
var ui_Modal = require('../../ui/Modal.js');
|
|
5
|
-
var ui_Button = require('../../index-01072ac9.js');
|
|
6
|
-
var LocalizationContext = require('../../LocalizationContext-382a9ef1.js');
|
|
7
|
-
var Channel_context = require('../../ChannelProvider-5e8e33b1.js');
|
|
8
|
-
require('prop-types');
|
|
9
|
-
require('react-dom');
|
|
10
|
-
require('../../index-2faa2f93.js');
|
|
11
|
-
require('../../ui/IconButton.js');
|
|
12
|
-
require('../../_rollupPluginBabelHelpers-6193d45d.js');
|
|
13
|
-
require('../../ui/Icon.js');
|
|
14
|
-
require('../../index-f1971e28.js');
|
|
15
|
-
require('../../stringSet-b9ea6eef.js');
|
|
16
|
-
require('../../utils-94ae6cec.js');
|
|
17
|
-
require('../../index-20a06ed6.js');
|
|
18
|
-
require('../../UserProfileContext-0b7ef11a.js');
|
|
19
|
-
require('../../useSendbirdStateContext.js');
|
|
20
|
-
require('../../withSendBird.js');
|
|
21
|
-
require('../../index-a2ce047a.js');
|
|
22
|
-
require('../../topics-11048db8.js');
|
|
23
|
-
require('../../index-212a11f2.js');
|
|
24
|
-
require('../../tslib.es6-07dd6257.js');
|
|
25
|
-
require('../../compareIds-e9bca8c4.js');
|
|
26
|
-
require('../../const-d9f4d880.js');
|
|
27
|
-
require('../../uuid-172844fb.js');
|
|
28
|
-
require('../../ui/ContextMenu.js');
|
|
29
|
-
require('../../ui/SortByRow.js');
|
|
30
|
-
require('../../ui/ReactionButton.js');
|
|
31
|
-
require('../../ui/ImageRenderer.js');
|
|
32
|
-
|
|
33
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
34
|
-
|
|
35
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
36
|
-
|
|
37
|
-
var RemoveMessage = function RemoveMessage(props) {
|
|
38
|
-
var _a;
|
|
39
|
-
|
|
40
|
-
var onCancel = props.onCancel,
|
|
41
|
-
message = props.message;
|
|
42
|
-
var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
|
|
43
|
-
var deleteMessage = Channel_context.useChannel().deleteMessage;
|
|
44
|
-
return /*#__PURE__*/React__default["default"].createElement(ui_Modal["default"], {
|
|
45
|
-
type: ui_Button.ButtonTypes.DANGER,
|
|
46
|
-
disabled: ((_a = message === null || message === void 0 ? void 0 : message.threadInfo) === null || _a === void 0 ? void 0 : _a.replyCount) > 0,
|
|
47
|
-
onCancel: onCancel,
|
|
48
|
-
onSubmit: function onSubmit() {
|
|
49
|
-
deleteMessage(message).then(function () {
|
|
50
|
-
onCancel();
|
|
51
|
-
});
|
|
52
|
-
},
|
|
53
|
-
submitText: stringSet.MESSAGE_MENU__DELETE,
|
|
54
|
-
titleText: stringSet.MODAL__DELETE_MESSAGE__TITLE
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
module.exports = RemoveMessage;
|
|
59
|
-
//# sourceMappingURL=RemoveMessageModal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveMessageModal.js","sources":["../../../../src/smart-components/Channel/components/RemoveMessageModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport { ButtonTypes } from '../../../ui/Button';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { useChannel } from '../context/ChannelProvider';\nimport { EveryMessage } from '../../../types';\n\nexport interface RemoveMessageProps {\n onCancel: () => void;\n message: EveryMessage;\n}\n\nconst RemoveMessage: React.FC<RemoveMessageProps> = (props: RemoveMessageProps) => {\n const {\n onCancel,\n message,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const {\n deleteMessage,\n } = useChannel();\n return (\n <Modal\n type={ButtonTypes.DANGER}\n disabled={message?.threadInfo?.replyCount > 0}\n onCancel={onCancel}\n onSubmit={() => { deleteMessage(message).then(() => {\n onCancel();\n }) }}\n submitText={stringSet.MESSAGE_MENU__DELETE}\n titleText={stringSet.MODAL__DELETE_MESSAGE__TITLE}\n />\n );\n};\n\nexport default RemoveMessage;\n"],"names":["RemoveMessage","props","onCancel","message","stringSet","useContext","LocalizationContext","deleteMessage","useChannel","React","Modal","ButtonTypes","DANGER","threadInfo","replyCount","then","MESSAGE_MENU__DELETE","MODAL__DELETE_MESSAGE__TITLE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAaMA,aAAa,GAAiC,SAA9CA,aAA8C,CAACC,KAAD;;;AAEhD,MAAAC,QAAQ,GAEND,KAAK,SAFP;AAAA,MACAE,OAAO,GACLF,KAAK,QAFP;AAGM,MAAAG,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd;AAEN,MAAAC,aAAa,GACXC,0BAAU,gBADZ;AAEF,sBACEC,wCAACC,mBAAD;AACE,IAAA,IAAI,EAAEC,qBAAW,CAACC,MADpB;AAEE,IAAA,QAAQ,EAAE,CAAA,MAAAT,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEU,UAAT,UAAA,iBAAA,SAAA,MAAqBC,UAArB,IAAkC,CAF9C;AAGE,IAAA,QAAQ,EAAEZ,QAHZ;AAIE,IAAA,QAAQ,EAAE;AAAQK,MAAAA,aAAa,CAACJ,OAAD,CAAb,CAAuBY,IAAvB,CAA4B;AAC5Cb,QAAAA,QAAQ;AACT,OAFiB;AAEd,KANN;AAOE,IAAA,UAAU,EAAEE,SAAS,CAACY,oBAPxB;AAQE,IAAA,SAAS,EAAEZ,SAAS,CAACa;AARvB,IADF;AAYD;;;;"}
|
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
var ui_Label = require('../../index-f1971e28.js');
|
|
5
|
-
var ui_Icon = require('../../ui/Icon.js');
|
|
6
|
-
var ui_Avatar = require('../../ui/Avatar.js');
|
|
7
|
-
var LocalizationContext = require('../../LocalizationContext-382a9ef1.js');
|
|
8
|
-
var Channel_context = require('../../ChannelProvider-5e8e33b1.js');
|
|
9
|
-
var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
|
|
10
|
-
var _const$1 = require('../../const-d9f4d880.js');
|
|
11
|
-
var _const = require('../../const-c65837c1.js');
|
|
12
|
-
require('../../_rollupPluginBabelHelpers-6193d45d.js');
|
|
13
|
-
require('prop-types');
|
|
14
|
-
require('../../stringSet-b9ea6eef.js');
|
|
15
|
-
require('../../tslib.es6-07dd6257.js');
|
|
16
|
-
require('../../ui/ImageRenderer.js');
|
|
17
|
-
require('../../uuid-172844fb.js');
|
|
18
|
-
require('../../index-20a06ed6.js');
|
|
19
|
-
require('../../UserProfileContext-0b7ef11a.js');
|
|
20
|
-
require('../../index-a2ce047a.js');
|
|
21
|
-
require('../../topics-11048db8.js');
|
|
22
|
-
require('../../index-212a11f2.js');
|
|
23
|
-
require('../../compareIds-e9bca8c4.js');
|
|
24
|
-
require('../../ui/ContextMenu.js');
|
|
25
|
-
require('react-dom');
|
|
26
|
-
require('../../ui/SortByRow.js');
|
|
27
|
-
require('../../ui/ReactionButton.js');
|
|
28
|
-
require('../../withSendBird.js');
|
|
29
|
-
|
|
30
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
31
|
-
|
|
32
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
33
|
-
|
|
34
|
-
function SuggestedUserMentionItem(props) {
|
|
35
|
-
var member = props.member,
|
|
36
|
-
_a = props.isFocused,
|
|
37
|
-
isFocused = _a === void 0 ? false : _a,
|
|
38
|
-
onClick = props.onClick,
|
|
39
|
-
onMouseOver = props.onMouseOver,
|
|
40
|
-
renderUserMentionItem = props.renderUserMentionItem;
|
|
41
|
-
var scrollRef = React.useRef(null);
|
|
42
|
-
var _b = React.useContext(LocalizationContext.LocalizationContext).stringSet,
|
|
43
|
-
stringSet = _b === void 0 ? {} : _b;
|
|
44
|
-
React.useEffect(function () {
|
|
45
|
-
var _a;
|
|
46
|
-
|
|
47
|
-
if (isFocused) {
|
|
48
|
-
(_a = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({
|
|
49
|
-
block: 'center',
|
|
50
|
-
inline: 'center'
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
}, [isFocused]);
|
|
54
|
-
var customMentionItem = React.useMemo(function () {
|
|
55
|
-
if (renderUserMentionItem) {
|
|
56
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
57
|
-
className: "sendbird-mention-suggest-list__user-item",
|
|
58
|
-
onClick: onClick,
|
|
59
|
-
onMouseOver: onMouseOver,
|
|
60
|
-
key: member.nickname,
|
|
61
|
-
ref: scrollRef
|
|
62
|
-
}, renderUserMentionItem({
|
|
63
|
-
user: member
|
|
64
|
-
}));
|
|
65
|
-
}
|
|
66
|
-
}, [renderUserMentionItem]);
|
|
67
|
-
|
|
68
|
-
if (customMentionItem) {
|
|
69
|
-
return customMentionItem;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
73
|
-
className: "sendbird-mention-suggest-list__user-item " + (isFocused ? 'focused' : ''),
|
|
74
|
-
onClick: onClick,
|
|
75
|
-
onMouseOver: onMouseOver,
|
|
76
|
-
key: member.nickname,
|
|
77
|
-
ref: scrollRef
|
|
78
|
-
}, /*#__PURE__*/React__default["default"].createElement(ui_Avatar["default"], {
|
|
79
|
-
className: "sendbird-mention-suggest-list__user-item__avatar",
|
|
80
|
-
src: member === null || member === void 0 ? void 0 : member.profileUrl,
|
|
81
|
-
alt: "user-profile",
|
|
82
|
-
width: "24px",
|
|
83
|
-
height: "24px"
|
|
84
|
-
}), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
|
|
85
|
-
className: "sendbird-mention-suggest-list__user-item__nickname",
|
|
86
|
-
type: ui_Label.LabelTypography.SUBTITLE_2,
|
|
87
|
-
color: (member === null || member === void 0 ? void 0 : member.nickname) ? ui_Label.LabelColors.ONBACKGROUND_1 : ui_Label.LabelColors.ONBACKGROUND_3
|
|
88
|
-
}, (member === null || member === void 0 ? void 0 : member.nickname) || (stringSet === null || stringSet === void 0 ? void 0 : stringSet.MENTION_NAME__NO_NAME)), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
|
|
89
|
-
className: "sendbird-mention-suggest-list__user-item__user-id",
|
|
90
|
-
type: ui_Label.LabelTypography.SUBTITLE_2,
|
|
91
|
-
color: ui_Label.LabelColors.ONBACKGROUND_2
|
|
92
|
-
}, member === null || member === void 0 ? void 0 : member.userId));
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
var DEBOUNCING_TIME = 300;
|
|
96
|
-
|
|
97
|
-
function SuggestedMentionList(props) {
|
|
98
|
-
var _a, _b, _c;
|
|
99
|
-
|
|
100
|
-
var _d = props.targetNickname,
|
|
101
|
-
targetNickname = _d === void 0 ? '' : _d,
|
|
102
|
-
// memberListQuery,
|
|
103
|
-
onUserItemClick = props.onUserItemClick,
|
|
104
|
-
onFocusItemChange = props.onFocusItemChange,
|
|
105
|
-
onFetchUsers = props.onFetchUsers,
|
|
106
|
-
renderUserMentionItem = props.renderUserMentionItem,
|
|
107
|
-
inputEvent = props.inputEvent,
|
|
108
|
-
_e = props.ableAddMention,
|
|
109
|
-
ableAddMention = _e === void 0 ? true : _e,
|
|
110
|
-
_f = props.maxMentionCount,
|
|
111
|
-
maxMentionCount = _f === void 0 ? _const$1.MAX_USER_MENTION_COUNT : _f,
|
|
112
|
-
_g = props.maxSuggestionCount,
|
|
113
|
-
maxSuggestionCount = _g === void 0 ? _const$1.MAX_USER_SUGGESTION_COUNT : _g;
|
|
114
|
-
|
|
115
|
-
var _h = useSendbirdStateContext(),
|
|
116
|
-
config = _h.config,
|
|
117
|
-
stores = _h.stores;
|
|
118
|
-
|
|
119
|
-
var logger = config.logger;
|
|
120
|
-
var currentUserId = ((_c = (_b = (_a = stores === null || stores === void 0 ? void 0 : stores.sdkStore) === null || _a === void 0 ? void 0 : _a.sdk) === null || _b === void 0 ? void 0 : _b.currentUser) === null || _c === void 0 ? void 0 : _c.userId) || '';
|
|
121
|
-
var currentGroupChannel = Channel_context.useChannel().currentGroupChannel;
|
|
122
|
-
var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
|
|
123
|
-
|
|
124
|
-
var _j = React.useState(null),
|
|
125
|
-
timer = _j[0],
|
|
126
|
-
setTimer = _j[1];
|
|
127
|
-
|
|
128
|
-
var _k = React.useState(''),
|
|
129
|
-
searchString = _k[0],
|
|
130
|
-
setSearchString = _k[1];
|
|
131
|
-
|
|
132
|
-
var _l = React.useState(''),
|
|
133
|
-
lastSearchString = _l[0],
|
|
134
|
-
setLastSearchString = _l[1];
|
|
135
|
-
|
|
136
|
-
var _m = React.useState(null),
|
|
137
|
-
currentUser = _m[0],
|
|
138
|
-
setCurrentUser = _m[1];
|
|
139
|
-
|
|
140
|
-
var _o = React.useState(null),
|
|
141
|
-
mouseOverUser = _o[0],
|
|
142
|
-
setMouseOverUser = _o[1];
|
|
143
|
-
|
|
144
|
-
var _p = React.useState([]),
|
|
145
|
-
currentMemberList = _p[0],
|
|
146
|
-
setCurrentMemberList = _p[1];
|
|
147
|
-
|
|
148
|
-
React.useEffect(function () {
|
|
149
|
-
clearTimeout(timer);
|
|
150
|
-
setTimer(setTimeout(function () {
|
|
151
|
-
setSearchString(targetNickname);
|
|
152
|
-
}, DEBOUNCING_TIME));
|
|
153
|
-
}, [targetNickname]);
|
|
154
|
-
React.useEffect(function () {
|
|
155
|
-
if ((inputEvent === null || inputEvent === void 0 ? void 0 : inputEvent.key) === _const.MessageInputKeys.Enter) {
|
|
156
|
-
if (currentMemberList.length > 0) {
|
|
157
|
-
onUserItemClick(currentUser);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
if ((inputEvent === null || inputEvent === void 0 ? void 0 : inputEvent.key) === _const.MessageInputKeys.ArrowUp) {
|
|
162
|
-
var currentUserIndex = currentMemberList.findIndex(function (member) {
|
|
163
|
-
return (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId);
|
|
164
|
-
});
|
|
165
|
-
|
|
166
|
-
if (0 < currentUserIndex) {
|
|
167
|
-
setCurrentUser(currentMemberList[currentUserIndex - 1]);
|
|
168
|
-
onFocusItemChange(currentMemberList[currentUserIndex - 1]);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
if ((inputEvent === null || inputEvent === void 0 ? void 0 : inputEvent.key) === _const.MessageInputKeys.ArrowDown) {
|
|
173
|
-
var currentUserIndex = currentMemberList.findIndex(function (member) {
|
|
174
|
-
return (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId);
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
if (currentUserIndex < currentMemberList.length - 1) {
|
|
178
|
-
setCurrentUser(currentMemberList[currentUserIndex + 1]);
|
|
179
|
-
onFocusItemChange(currentMemberList[currentUserIndex + 1]);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}, [inputEvent]);
|
|
183
|
-
/* Fetch member list */
|
|
184
|
-
|
|
185
|
-
React.useEffect(function () {
|
|
186
|
-
if (!currentGroupChannel || !currentGroupChannel.createMemberListQuery || !ableAddMention) {
|
|
187
|
-
logger.warning('SuggestedMentionList: Creating member list query failed');
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {
|
|
192
|
-
// Don't need to request query again
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
var query = currentGroupChannel.createMemberListQuery();
|
|
197
|
-
query.limit = maxSuggestionCount;
|
|
198
|
-
query.nicknameStartsWithFilter = searchString.slice(_const$1.USER_MENTION_TEMP_CHAR.length); // Add member list query for customization
|
|
199
|
-
|
|
200
|
-
query.next(function (memberList, error) {
|
|
201
|
-
if (error) {
|
|
202
|
-
logger.error('SuggestedMentionList: Fetching member list failed', error);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
if (memberList.length < 1) {
|
|
206
|
-
logger.info('SuggestedMentionList: Fetched member list is empty');
|
|
207
|
-
} else {
|
|
208
|
-
logger.info('SuggestedMentionList: Fetching member list succeeded', {
|
|
209
|
-
memberListQuery: query,
|
|
210
|
-
memberList: memberList
|
|
211
|
-
});
|
|
212
|
-
setCurrentUser(memberList[0]);
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
setLastSearchString(searchString);
|
|
216
|
-
onFetchUsers(memberList);
|
|
217
|
-
setCurrentMemberList(memberList.filter(function (member) {
|
|
218
|
-
return currentUserId !== (member === null || member === void 0 ? void 0 : member.userId);
|
|
219
|
-
}));
|
|
220
|
-
});
|
|
221
|
-
}, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, searchString]);
|
|
222
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
223
|
-
className: "sendbird-mention-suggest-list",
|
|
224
|
-
onMouseLeave: function onMouseLeave() {
|
|
225
|
-
if (mouseOverUser) {
|
|
226
|
-
setCurrentUser(mouseOverUser);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
}, ableAddMention && (currentMemberList === null || currentMemberList === void 0 ? void 0 : currentMemberList.map(function (member) {
|
|
230
|
-
return /*#__PURE__*/React__default["default"].createElement(SuggestedUserMentionItem, {
|
|
231
|
-
key: member === null || member === void 0 ? void 0 : member.nickname,
|
|
232
|
-
member: member,
|
|
233
|
-
isFocused: (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId),
|
|
234
|
-
onClick: function onClick() {
|
|
235
|
-
onUserItemClick(member);
|
|
236
|
-
},
|
|
237
|
-
onMouseOver: function onMouseOver() {
|
|
238
|
-
setMouseOverUser(member);
|
|
239
|
-
},
|
|
240
|
-
renderUserMentionItem: renderUserMentionItem
|
|
241
|
-
});
|
|
242
|
-
})), !ableAddMention && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
243
|
-
className: "sendbird-mention-suggest-list__notice-item"
|
|
244
|
-
}, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
|
|
245
|
-
className: "sendbird-mention-suggest-list__notice-item__icon",
|
|
246
|
-
type: ui_Icon.IconTypes.INFO,
|
|
247
|
-
fillColor: ui_Icon.IconColors.ON_BACKGROUND_2
|
|
248
|
-
}), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
|
|
249
|
-
className: "sendbird-mention-suggest-list__notice-item__text",
|
|
250
|
-
type: ui_Label.LabelTypography.SUBTITLE_2,
|
|
251
|
-
color: ui_Label.LabelColors.ONBACKGROUND_2
|
|
252
|
-
}, stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount))));
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
module.exports = SuggestedMentionList;
|
|
256
|
-
//# sourceMappingURL=SuggestedMentionList.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SuggestedMentionList.js","sources":["../../../../src/smart-components/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.tsx","../../../../src/smart-components/Channel/components/SuggestedMentionList/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport SendBird from 'sendbird';\n\ninterface SuggestedUserMentionItemProps {\n member: SendBird.User;\n isFocused?: boolean;\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n onMouseOver?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n renderUserMentionItem?: (props: { user: SendBird.User }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n onClick,\n onMouseOver,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused) {\n scrollRef?.current?.scrollIntoView({ block: 'center', inline: 'center' });\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={onClick}\n onMouseOver={onMouseOver}\n key={member.nickname}\n ref={scrollRef}\n >\n {renderUserMentionItem({ user: member })}\n </div>\n );\n }\n }, [renderUserMentionItem]);\n if (customMentionItem) {\n return customMentionItem;\n }\n return (\n <div\n className={`sendbird-mention-suggest-list__user-item ${isFocused ? 'focused' : ''}`}\n onClick={onClick}\n onMouseOver={onMouseOver}\n key={member.nickname}\n ref={scrollRef}\n >\n <Avatar\n className=\"sendbird-mention-suggest-list__user-item__avatar\"\n src={member?.profileUrl}\n alt=\"user-profile\"\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__user-item__nickname\"\n type={LabelTypography.SUBTITLE_2}\n color={member?.nickname ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3}\n >\n {member?.nickname || stringSet?.MENTION_NAME__NO_NAME}\n </Label>\n <Label\n className=\"sendbird-mention-suggest-list__user-item__user-id\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {member?.userId}\n </Label>\n </div>\n );\n}\n\nexport default SuggestedUserMentionItem;\n","import React, { useState, useEffect, useContext } from 'react';\nimport SendBird from 'sendbird';\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannel } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT, USER_MENTION_TEMP_CHAR } from '../../context/const';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\n\nexport interface SuggestedMentionListProps {\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: SendBird.User) => void;\n onFocusItemChange?: (member: SendBird.User) => void;\n onFetchUsers?: (users: Array<SendBird.User>) => void;\n renderUserMentionItem?: (props: { user: SendBird.User }) => JSX.Element;\n ableAddMention: boolean;\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n inputEvent?: React.KeyboardEvent<HTMLDivElement>;\n}\n\nconst DEBOUNCING_TIME = 300;\n\nfunction SuggestedMentionList(props: SuggestedMentionListProps): JSX.Element {\n const {\n targetNickname = '',\n // memberListQuery,\n onUserItemClick,\n onFocusItemChange,\n onFetchUsers,\n renderUserMentionItem,\n inputEvent,\n ableAddMention = true,\n maxMentionCount = MAX_USER_MENTION_COUNT,\n maxSuggestionCount = MAX_USER_SUGGESTION_COUNT,\n } = props;\n const { config, stores } = useSendbirdStateContext();\n const { logger } = config;\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId || '';\n const { currentGroupChannel } = useChannel();\n const { stringSet } = useContext(LocalizationContext);\n const [timer, setTimer] = useState(null);\n const [searchString, setSearchString] = useState('');\n const [lastSearchString, setLastSearchString] = useState('');\n const [currentUser, setCurrentUser] = useState<SendBird.User>(null);\n const [mouseOverUser, setMouseOverUser] = useState<SendBird.User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<SendBird.Member>>([]);\n\n useEffect(() => {\n clearTimeout(timer);\n setTimer(\n setTimeout(() => {\n setSearchString(targetNickname);\n }, DEBOUNCING_TIME)\n );\n }, [targetNickname]);\n\n useEffect(() => {\n if (inputEvent?.key === MessageInputKeys.Enter) {\n if (currentMemberList.length > 0) {\n onUserItemClick(currentUser);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowUp) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (0 < currentUserIndex) {\n setCurrentUser(currentMemberList[currentUserIndex - 1]);\n onFocusItemChange(currentMemberList[currentUserIndex - 1]);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowDown) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (currentUserIndex < currentMemberList.length - 1) {\n setCurrentUser(currentMemberList[currentUserIndex + 1]);\n onFocusItemChange(currentMemberList[currentUserIndex + 1]);\n }\n }\n }, [inputEvent]);\n\n /* Fetch member list */\n useEffect(() => {\n if (!currentGroupChannel || !currentGroupChannel.createMemberListQuery || !ableAddMention) {\n logger.warning('SuggestedMentionList: Creating member list query failed');\n return;\n }\n if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {\n // Don't need to request query again\n return;\n }\n\n const query = currentGroupChannel.createMemberListQuery();\n query.limit = maxSuggestionCount;\n query.nicknameStartsWithFilter = searchString.slice(USER_MENTION_TEMP_CHAR.length);\n // Add member list query for customization\n query.next((memberList, error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n if (memberList.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList });\n setCurrentUser(memberList[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(memberList);\n setCurrentMemberList(memberList.filter((member) => currentUserId !== member?.userId));\n });\n }, [currentGroupChannel?.url, searchString]);\n\n return (\n <div\n className=\"sendbird-mention-suggest-list\"\n onMouseLeave={() => {\n if (mouseOverUser) {\n setCurrentUser(mouseOverUser);\n }\n }}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.nickname}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n onClick={() => {\n onUserItemClick(member);\n }}\n onMouseOver={() => {\n setMouseOverUser(member);\n }}\n renderUserMentionItem={renderUserMentionItem}\n />\n ))\n }\n {\n !ableAddMention && (\n <div className=\"sendbird-mention-suggest-list__notice-item\">\n <Icon\n className=\"sendbird-mention-suggest-list__notice-item__icon\"\n type={IconTypes.INFO}\n fillColor={IconColors.ON_BACKGROUND_2}\n />\n <Label\n className=\"sendbird-mention-suggest-list__notice-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount)}\n </Label>\n </div>\n )\n }\n </div>\n );\n}\n\nexport default SuggestedMentionList;\n"],"names":["SuggestedUserMentionItem","props","member","_a","isFocused","onClick","onMouseOver","renderUserMentionItem","scrollRef","useRef","_b","useContext","LocalizationContext","stringSet","useEffect","current","scrollIntoView","block","inline","customMentionItem","useMemo","React","nickname","user","Avatar","profileUrl","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","userId","DEBOUNCING_TIME","SuggestedMentionList","_d","targetNickname","onUserItemClick","onFocusItemChange","onFetchUsers","inputEvent","_e","ableAddMention","_f","maxMentionCount","MAX_USER_MENTION_COUNT","_g","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_h","useSendbirdStateContext","config","stores","logger","currentUserId","sdkStore","sdk","currentUser","currentGroupChannel","useChannel","_j","useState","timer","setTimer","_k","searchString","setSearchString","_l","lastSearchString","setLastSearchString","_m","setCurrentUser","_o","mouseOverUser","setMouseOverUser","_p","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","key","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","memberList","error","info","memberListQuery","filter","url","map","Icon","IconTypes","INFO","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":"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"}
|