@sendbird/uikit-react 3.0.0-alpha.1 → 3.0.0-beta.2
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 +305 -0
- package/App.js.map +1 -0
- package/CHANGELOG.md +50 -0
- package/Channel/components/ChannelHeader.js +117 -0
- package/Channel/components/ChannelHeader.js.map +1 -0
- package/Channel/components/ChannelUI.js +179 -0
- package/Channel/components/ChannelUI.js.map +1 -0
- package/Channel/components/FileViewer.js +151 -0
- package/Channel/components/FileViewer.js.map +1 -0
- package/Channel/components/FrozenNotification.js +20 -0
- package/Channel/components/FrozenNotification.js.map +1 -0
- package/Channel/components/Message.js +348 -0
- package/Channel/components/Message.js.map +1 -0
- package/Channel/components/MessageInput.js +202 -0
- package/Channel/components/MessageInput.js.map +1 -0
- package/Channel/components/MessageList.js +239 -0
- package/Channel/components/MessageList.js.map +1 -0
- package/Channel/components/RemoveMessageModal.js +53 -0
- package/Channel/components/RemoveMessageModal.js.map +1 -0
- package/Channel/components/SuggestedMentionList.js +250 -0
- package/Channel/components/SuggestedMentionList.js.map +1 -0
- package/Channel/components/TypingIndicator.js +98 -0
- package/Channel/components/TypingIndicator.js.map +1 -0
- package/Channel/components/UnreadCount.js +41 -0
- package/Channel/components/UnreadCount.js.map +1 -0
- package/Channel/context.js +24 -0
- package/Channel/context.js.map +1 -0
- package/Channel.js +106 -0
- package/Channel.js.map +1 -0
- package/ChannelList/components/AddChannel.js +70 -0
- package/ChannelList/components/AddChannel.js.map +1 -0
- package/ChannelList/components/ChannelListHeader.js +62 -0
- package/ChannelList/components/ChannelListHeader.js.map +1 -0
- package/ChannelList/components/ChannelListUI.js +214 -0
- package/ChannelList/components/ChannelListUI.js.map +1 -0
- package/ChannelList/components/ChannelPreview.js +181 -0
- package/ChannelList/components/ChannelPreview.js.map +1 -0
- package/ChannelList/components/ChannelPreviewAction.js +131 -0
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -0
- package/ChannelList/context.js +13 -0
- package/ChannelList/context.js.map +1 -0
- package/ChannelList.js +81 -0
- package/ChannelList.js.map +1 -0
- package/ChannelListProvider-7c351968.js +861 -0
- package/ChannelListProvider-7c351968.js.map +1 -0
- package/ChannelProvider-d5126903.js +2114 -0
- package/ChannelProvider-d5126903.js.map +1 -0
- package/ChannelSettings/components/AdminPanel.js +905 -0
- package/ChannelSettings/components/AdminPanel.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +102 -0
- package/ChannelSettings/components/ChannelProfile.js.map +1 -0
- package/ChannelSettings/components/ChannelSettingsUI.js +152 -0
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
- package/ChannelSettings/components/EditDetailsModal.js +154 -0
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -0
- package/ChannelSettings/components/LeaveChannel.js +53 -0
- package/ChannelSettings/components/LeaveChannel.js.map +1 -0
- package/ChannelSettings/components/UserListItem.js +105 -0
- package/ChannelSettings/components/UserListItem.js.map +1 -0
- package/ChannelSettings/components/UserPanel.js +79 -0
- package/ChannelSettings/components/UserPanel.js.map +1 -0
- package/ChannelSettings/context.js +93 -0
- package/ChannelSettings/context.js.map +1 -0
- package/ChannelSettings.js +71 -0
- package/ChannelSettings.js.map +1 -0
- package/CreateChannel/components/CreateChannelUI.js +53 -0
- package/CreateChannel/components/CreateChannelUI.js.map +1 -0
- package/CreateChannel/components/InviteMembers.js +184 -0
- package/CreateChannel/components/InviteMembers.js.map +1 -0
- package/CreateChannel/components/SelectChannelType.js +131 -0
- package/CreateChannel/components/SelectChannelType.js.map +1 -0
- package/CreateChannel/context.js +8 -0
- package/CreateChannel/context.js.map +1 -0
- package/CreateChannel.js +53 -0
- package/CreateChannel.js.map +1 -0
- package/CreateChannelProvider-ddfd92e6.js +53 -0
- package/CreateChannelProvider-ddfd92e6.js.map +1 -0
- package/EditUserProfile/components/EditUserProfileUI.js +26 -0
- package/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
- package/EditUserProfile/context.js +27 -0
- package/EditUserProfile/context.js.map +1 -0
- package/EditUserProfile.js +39 -0
- package/EditUserProfile.js.map +1 -0
- package/LocalizationContext-b021af8f.js +22 -0
- package/LocalizationContext-b021af8f.js.map +1 -0
- package/MemberList-323e7517.js +425 -0
- package/MemberList-323e7517.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +151 -0
- package/MessageSearch/components/MessageSearchUI.js.map +1 -0
- package/MessageSearch/context.js +392 -0
- package/MessageSearch/context.js.map +1 -0
- package/MessageSearch.js +146 -0
- package/MessageSearch.js.map +1 -0
- package/OpenChannel/components/FrozenChannelNotification.js +20 -0
- package/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
- package/OpenChannel/components/OpenChannelHeader.js +78 -0
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -0
- package/OpenChannel/components/OpenChannelInput.js +56 -0
- package/OpenChannel/components/OpenChannelInput.js.map +1 -0
- package/OpenChannel/components/OpenChannelMessage.js +282 -0
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -0
- package/OpenChannel/components/OpenChannelMessageList.js +157 -0
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
- package/OpenChannel/components/OpenChannelUI.js +109 -0
- package/OpenChannel/components/OpenChannelUI.js.map +1 -0
- package/OpenChannel/context.js +14 -0
- package/OpenChannel/context.js.map +1 -0
- package/OpenChannel.js +80 -0
- package/OpenChannel.js.map +1 -0
- package/OpenChannelProvider-abc4ab98.js +2011 -0
- package/OpenChannelProvider-abc4ab98.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +149 -0
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
- package/OpenChannelSettings/components/OpenChannelProfile.js +81 -0
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +104 -0
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
- package/OpenChannelSettings/components/OperatorUI.js +184 -0
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -0
- package/OpenChannelSettings/components/ParticipantUI.js +172 -0
- package/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
- package/OpenChannelSettings/context.js +64 -0
- package/OpenChannelSettings/context.js.map +1 -0
- package/OpenChannelSettings.js +64 -0
- package/OpenChannelSettings.js.map +1 -0
- package/README.md +111 -0
- package/SendbirdProvider.js +754 -0
- package/SendbirdProvider.js.map +1 -0
- package/UserProfileContext-daa99f9b.js +38 -0
- package/UserProfileContext-daa99f9b.js.map +1 -0
- package/_rollupPluginBabelHelpers-8e4fae98.js +233 -0
- package/_rollupPluginBabelHelpers-8e4fae98.js.map +1 -0
- package/actionTypes-189daf51.js +6 -0
- package/actionTypes-189daf51.js.map +1 -0
- package/cjs/App.js +312 -0
- package/cjs/App.js.map +1 -0
- package/cjs/Channel/components/ChannelHeader.js +123 -0
- package/cjs/Channel/components/ChannelHeader.js.map +1 -0
- package/cjs/Channel/components/ChannelUI.js +185 -0
- package/cjs/Channel/components/ChannelUI.js.map +1 -0
- package/cjs/Channel/components/FileViewer.js +160 -0
- package/cjs/Channel/components/FileViewer.js.map +1 -0
- package/cjs/Channel/components/FrozenNotification.js +26 -0
- package/cjs/Channel/components/FrozenNotification.js.map +1 -0
- package/cjs/Channel/components/Message.js +354 -0
- package/cjs/Channel/components/Message.js.map +1 -0
- package/cjs/Channel/components/MessageInput.js +208 -0
- package/cjs/Channel/components/MessageInput.js.map +1 -0
- package/cjs/Channel/components/MessageList.js +245 -0
- package/cjs/Channel/components/MessageList.js.map +1 -0
- package/cjs/Channel/components/RemoveMessageModal.js +59 -0
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -0
- package/cjs/Channel/components/SuggestedMentionList.js +256 -0
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
- package/cjs/Channel/components/TypingIndicator.js +104 -0
- package/cjs/Channel/components/TypingIndicator.js.map +1 -0
- package/cjs/Channel/components/UnreadCount.js +47 -0
- package/cjs/Channel/components/UnreadCount.js.map +1 -0
- package/cjs/Channel/context.js +33 -0
- package/cjs/Channel/context.js.map +1 -0
- package/cjs/Channel.js +112 -0
- package/cjs/Channel.js.map +1 -0
- package/cjs/ChannelList/components/AddChannel.js +79 -0
- package/cjs/ChannelList/components/AddChannel.js.map +1 -0
- package/cjs/ChannelList/components/ChannelListHeader.js +68 -0
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -0
- package/cjs/ChannelList/components/ChannelListUI.js +220 -0
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -0
- package/cjs/ChannelList/components/ChannelPreview.js +187 -0
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -0
- package/cjs/ChannelList/components/ChannelPreviewAction.js +138 -0
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -0
- package/cjs/ChannelList/context.js +22 -0
- package/cjs/ChannelList/context.js.map +1 -0
- package/cjs/ChannelList.js +87 -0
- package/cjs/ChannelList.js.map +1 -0
- package/cjs/ChannelListProvider-44dde549.js +873 -0
- package/cjs/ChannelListProvider-44dde549.js.map +1 -0
- package/cjs/ChannelProvider-e0aaab26.js +2127 -0
- package/cjs/ChannelProvider-e0aaab26.js.map +1 -0
- package/cjs/ChannelSettings/components/AdminPanel.js +911 -0
- package/cjs/ChannelSettings/components/AdminPanel.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +108 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +158 -0
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
- package/cjs/ChannelSettings/components/EditDetailsModal.js +160 -0
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -0
- package/cjs/ChannelSettings/components/LeaveChannel.js +59 -0
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -0
- package/cjs/ChannelSettings/components/UserListItem.js +111 -0
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -0
- package/cjs/ChannelSettings/components/UserPanel.js +85 -0
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -0
- package/cjs/ChannelSettings/context.js +102 -0
- package/cjs/ChannelSettings/context.js.map +1 -0
- package/cjs/ChannelSettings.js +77 -0
- package/cjs/ChannelSettings.js.map +1 -0
- package/cjs/CreateChannel/components/CreateChannelUI.js +59 -0
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -0
- package/cjs/CreateChannel/components/InviteMembers.js +190 -0
- package/cjs/CreateChannel/components/InviteMembers.js.map +1 -0
- package/cjs/CreateChannel/components/SelectChannelType.js +137 -0
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -0
- package/cjs/CreateChannel/context.js +17 -0
- package/cjs/CreateChannel/context.js.map +1 -0
- package/cjs/CreateChannel.js +59 -0
- package/cjs/CreateChannel.js.map +1 -0
- package/cjs/CreateChannelProvider-bdf9c39b.js +60 -0
- package/cjs/CreateChannelProvider-bdf9c39b.js.map +1 -0
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +32 -0
- package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
- package/cjs/EditUserProfile/context.js +36 -0
- package/cjs/EditUserProfile/context.js.map +1 -0
- package/cjs/EditUserProfile.js +45 -0
- package/cjs/EditUserProfile.js.map +1 -0
- package/cjs/LocalizationContext-3b5ce8ae.js +30 -0
- package/cjs/LocalizationContext-3b5ce8ae.js.map +1 -0
- package/cjs/MemberList-ef9e43c3.js +431 -0
- package/cjs/MemberList-ef9e43c3.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +160 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -0
- package/cjs/MessageSearch/context.js +401 -0
- package/cjs/MessageSearch/context.js.map +1 -0
- package/cjs/MessageSearch.js +152 -0
- package/cjs/MessageSearch.js.map +1 -0
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +26 -0
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelHeader.js +84 -0
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelInput.js +62 -0
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelMessage.js +288 -0
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +163 -0
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelUI.js +115 -0
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -0
- package/cjs/OpenChannel/context.js +23 -0
- package/cjs/OpenChannel/context.js.map +1 -0
- package/cjs/OpenChannel.js +86 -0
- package/cjs/OpenChannel.js.map +1 -0
- package/cjs/OpenChannelProvider-9ce7c998.js +2020 -0
- package/cjs/OpenChannelProvider-9ce7c998.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +155 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +87 -0
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +110 -0
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
- package/cjs/OpenChannelSettings/components/OperatorUI.js +194 -0
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -0
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +178 -0
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
- package/cjs/OpenChannelSettings/context.js +73 -0
- package/cjs/OpenChannelSettings/context.js.map +1 -0
- package/cjs/OpenChannelSettings.js +70 -0
- package/cjs/OpenChannelSettings.js.map +1 -0
- package/cjs/SendbirdProvider.js +763 -0
- package/cjs/SendbirdProvider.js.map +1 -0
- package/cjs/UserProfileContext-f0bdfbb8.js +46 -0
- package/cjs/UserProfileContext-f0bdfbb8.js.map +1 -0
- package/cjs/_rollupPluginBabelHelpers-e54d2387.js +243 -0
- package/cjs/_rollupPluginBabelHelpers-e54d2387.js.map +1 -0
- package/cjs/actionTypes-267d4c79.js +10 -0
- package/cjs/actionTypes-267d4c79.js.map +1 -0
- package/cjs/color-0f078673.js +42 -0
- package/cjs/color-0f078673.js.map +1 -0
- package/cjs/compareIds-176a582b.js +20 -0
- package/cjs/compareIds-176a582b.js.map +1 -0
- package/cjs/const-4bf0e8b4.js +22 -0
- package/cjs/const-4bf0e8b4.js.map +1 -0
- package/cjs/const-ccf192c5.js +14 -0
- package/cjs/const-ccf192c5.js.map +1 -0
- package/cjs/context-0cbe196d.js +19 -0
- package/cjs/context-0cbe196d.js.map +1 -0
- package/cjs/index-002a349d.js +722 -0
- package/cjs/index-002a349d.js.map +1 -0
- package/cjs/index-0159bc57.js +1880 -0
- package/cjs/index-0159bc57.js.map +1 -0
- package/cjs/index-081c9614.js +175 -0
- package/cjs/index-081c9614.js.map +1 -0
- package/cjs/index-21f31180.js +142 -0
- package/cjs/index-21f31180.js.map +1 -0
- package/cjs/index-22f07209.js +97 -0
- package/cjs/index-22f07209.js.map +1 -0
- package/cjs/index-46522cf0.js +284 -0
- package/cjs/index-46522cf0.js.map +1 -0
- package/cjs/index-723733db.js +54 -0
- package/cjs/index-723733db.js.map +1 -0
- package/cjs/index-c0693be4.js +67 -0
- package/cjs/index-c0693be4.js.map +1 -0
- package/cjs/index-d4f42e73.js +130 -0
- package/cjs/index-d4f42e73.js.map +1 -0
- package/cjs/index-d9439e95.js +514 -0
- package/cjs/index-d9439e95.js.map +1 -0
- package/cjs/index-ed053e45.js +9 -0
- package/cjs/index-ed053e45.js.map +1 -0
- package/cjs/index.css +4461 -0
- package/cjs/index.css.map +1 -0
- package/cjs/index.js +162 -0
- package/cjs/index.js.map +1 -0
- package/cjs/openChannelUtils-cecaf987.js +92 -0
- package/cjs/openChannelUtils-cecaf987.js.map +1 -0
- package/cjs/sendBirdSelectors.js +741 -0
- package/cjs/sendBirdSelectors.js.map +1 -0
- package/cjs/stringSet-f4da182b.js +118 -0
- package/cjs/stringSet-f4da182b.js.map +1 -0
- package/cjs/topics-c2c30f09.js +18 -0
- package/cjs/topics-c2c30f09.js.map +1 -0
- package/cjs/tslib.es6-d7d0a427.js +40 -0
- package/cjs/tslib.es6-d7d0a427.js.map +1 -0
- package/cjs/ui/Accordion.js +74 -0
- package/cjs/ui/Accordion.js.map +1 -0
- package/cjs/ui/AccordionGroup.js +32 -0
- package/cjs/ui/AccordionGroup.js.map +1 -0
- package/cjs/ui/AdminMessage.js +44 -0
- package/cjs/ui/AdminMessage.js.map +1 -0
- package/cjs/ui/Avatar.js +226 -0
- package/cjs/ui/Avatar.js.map +1 -0
- package/cjs/ui/Badge.js +45 -0
- package/cjs/ui/Badge.js.map +1 -0
- package/cjs/ui/Button.js +17 -0
- package/cjs/ui/Button.js.map +1 -0
- package/cjs/ui/ChannelAvatar.js +59 -0
- package/cjs/ui/ChannelAvatar.js.map +1 -0
- package/cjs/ui/ChannelPreview.js +201 -0
- package/cjs/ui/ChannelPreview.js.map +1 -0
- package/cjs/ui/ChatHeader.js +145 -0
- package/cjs/ui/ChatHeader.js.map +1 -0
- package/cjs/ui/Checkbox.js +49 -0
- package/cjs/ui/Checkbox.js.map +1 -0
- package/cjs/ui/ConnectionStatus.js +34 -0
- package/cjs/ui/ConnectionStatus.js.map +1 -0
- package/cjs/ui/ContextMenu.js +431 -0
- package/cjs/ui/ContextMenu.js.map +1 -0
- package/cjs/ui/DateSeparator.js +44 -0
- package/cjs/ui/DateSeparator.js.map +1 -0
- package/cjs/ui/Dropdown.js +107 -0
- package/cjs/ui/Dropdown.js.map +1 -0
- package/cjs/ui/EmojiReactions.js +127 -0
- package/cjs/ui/EmojiReactions.js.map +1 -0
- package/cjs/ui/FileMessageItemBody.js +57 -0
- package/cjs/ui/FileMessageItemBody.js.map +1 -0
- package/cjs/ui/FileViewer.js +174 -0
- package/cjs/ui/FileViewer.js.map +1 -0
- package/cjs/ui/Icon.js +1462 -0
- package/cjs/ui/Icon.js.map +1 -0
- package/cjs/ui/IconButton.js +83 -0
- package/cjs/ui/IconButton.js.map +1 -0
- package/cjs/ui/ImageRenderer.js +138 -0
- package/cjs/ui/ImageRenderer.js.map +1 -0
- package/cjs/ui/Input.js +74 -0
- package/cjs/ui/Input.js.map +1 -0
- package/cjs/ui/Label.js +17 -0
- package/cjs/ui/Label.js.map +1 -0
- package/cjs/ui/LinkLabel.js +51 -0
- package/cjs/ui/LinkLabel.js.map +1 -0
- package/cjs/ui/Loader.js +44 -0
- package/cjs/ui/Loader.js.map +1 -0
- package/cjs/ui/MentionUserLabel.js +25 -0
- package/cjs/ui/MentionUserLabel.js.map +1 -0
- package/cjs/ui/MessageContent.js +291 -0
- package/cjs/ui/MessageContent.js.map +1 -0
- package/cjs/ui/MessageInput.js +5048 -0
- package/cjs/ui/MessageInput.js.map +1 -0
- package/cjs/ui/MessageItemMenu.js +141 -0
- package/cjs/ui/MessageItemMenu.js.map +1 -0
- package/cjs/ui/MessageItemReactionMenu.js +112 -0
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -0
- package/cjs/ui/MessageSearchFileItem.js +130 -0
- package/cjs/ui/MessageSearchFileItem.js.map +1 -0
- package/cjs/ui/MessageSearchItem.js +93 -0
- package/cjs/ui/MessageSearchItem.js.map +1 -0
- package/cjs/ui/MessageStatus.js +66 -0
- package/cjs/ui/MessageStatus.js.map +1 -0
- package/cjs/ui/Modal.js +140 -0
- package/cjs/ui/Modal.js.map +1 -0
- package/cjs/ui/MutedAvatarOverlay.js +40 -0
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -0
- package/cjs/ui/OGMessageItemBody.js +107 -0
- package/cjs/ui/OGMessageItemBody.js.map +1 -0
- package/cjs/ui/OpenChannelAdminMessage.js +27 -0
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -0
- package/cjs/ui/OpenChannelAvatar.js +41 -0
- package/cjs/ui/OpenChannelAvatar.js.map +1 -0
- package/cjs/ui/OpenChannelMessageContent.js +14 -0
- package/cjs/ui/OpenChannelMessageContent.js.map +1 -0
- package/cjs/ui/OpenchannelConversationHeader.js +73 -0
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -0
- package/cjs/ui/OpenchannelFileMessage.js +230 -0
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -0
- package/cjs/ui/OpenchannelOGMessage.js +345 -0
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -0
- package/cjs/ui/OpenchannelThumbnailMessage.js +305 -0
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -0
- package/cjs/ui/OpenchannelUserMessage.js +264 -0
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -0
- package/cjs/ui/PlaceHolder.js +20 -0
- package/cjs/ui/PlaceHolder.js.map +1 -0
- package/cjs/ui/QuoteMessage.js +131 -0
- package/cjs/ui/QuoteMessage.js.map +1 -0
- package/cjs/ui/QuoteMessageInput.js +99 -0
- package/cjs/ui/QuoteMessageInput.js.map +1 -0
- package/cjs/ui/ReactionBadge.js +68 -0
- package/cjs/ui/ReactionBadge.js.map +1 -0
- package/cjs/ui/ReactionButton.js +55 -0
- package/cjs/ui/ReactionButton.js.map +1 -0
- package/cjs/ui/SortByRow.js +57 -0
- package/cjs/ui/SortByRow.js.map +1 -0
- package/cjs/ui/TextButton.js +45 -0
- package/cjs/ui/TextButton.js.map +1 -0
- package/cjs/ui/TextMessageItemBody.js +62 -0
- package/cjs/ui/TextMessageItemBody.js.map +1 -0
- package/cjs/ui/ThumbnailMessageItemBody.js +82 -0
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -0
- package/cjs/ui/Tooltip.js +35 -0
- package/cjs/ui/Tooltip.js.map +1 -0
- package/cjs/ui/TooltipWrapper.js +65 -0
- package/cjs/ui/TooltipWrapper.js.map +1 -0
- package/cjs/ui/UnknownMessageItemBody.js +41 -0
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -0
- package/cjs/ui/UserListItem.js +158 -0
- package/cjs/ui/UserListItem.js.map +1 -0
- package/cjs/ui/UserProfile.js +87 -0
- package/cjs/ui/UserProfile.js.map +1 -0
- package/cjs/useSendbirdStateContext.js +22 -0
- package/cjs/useSendbirdStateContext.js.map +1 -0
- package/cjs/utils-3e73a146.js +32 -0
- package/cjs/utils-3e73a146.js.map +1 -0
- package/cjs/utils-b95288a8.js +38 -0
- package/cjs/utils-b95288a8.js.map +1 -0
- package/cjs/utils-c55d20dc.js +6 -0
- package/cjs/utils-c55d20dc.js.map +1 -0
- package/cjs/uuid-ba6cc3c5.js +19 -0
- package/cjs/uuid-ba6cc3c5.js.map +1 -0
- package/cjs/withSendBird.js +35 -0
- package/cjs/withSendBird.js.map +1 -0
- package/color-2863fbbe.js +39 -0
- package/color-2863fbbe.js.map +1 -0
- package/compareIds-48d87cc5.js +18 -0
- package/compareIds-48d87cc5.js.map +1 -0
- package/const-09c22c50.js +18 -0
- package/const-09c22c50.js.map +1 -0
- package/const-3f63e129.js +8 -0
- package/const-3f63e129.js.map +1 -0
- package/context-7877e5bb.js +12 -0
- package/context-7877e5bb.js.map +1 -0
- package/dist/index.css +165 -59
- package/dist/index.css.map +1 -1
- package/index-1fd114b0.js +7 -0
- package/index-1fd114b0.js.map +1 -0
- package/index-303a3b6e.js +121 -0
- package/index-303a3b6e.js.map +1 -0
- package/index-353f13f3.js +512 -0
- package/index-353f13f3.js.map +1 -0
- package/index-358226c7.js +168 -0
- package/index-358226c7.js.map +1 -0
- package/index-41a6f4f2.js +87 -0
- package/index-41a6f4f2.js.map +1 -0
- package/index-4889e530.js +48 -0
- package/index-4889e530.js.map +1 -0
- package/index-4a59a866.js +1873 -0
- package/index-4a59a866.js.map +1 -0
- package/index-86b0a341.js +280 -0
- package/index-86b0a341.js.map +1 -0
- package/index-a611bd38.js +131 -0
- package/index-a611bd38.js.map +1 -0
- package/index-ad4c9e58.js +682 -0
- package/index-ad4c9e58.js.map +1 -0
- package/index-f119413c.js +64 -0
- package/index-f119413c.js.map +1 -0
- package/index.css +4461 -0
- package/index.css.map +1 -0
- package/index.d.ts +1829 -0
- package/index.js +38 -31
- package/index.js.map +1 -0
- package/openChannelUtils-024b797a.js +81 -0
- package/openChannelUtils-024b797a.js.map +1 -0
- package/package.json +5 -9
- package/sendBirdSelectors.js +713 -0
- package/sendBirdSelectors.js.map +1 -0
- package/stringSet-91746bf1.js +116 -0
- package/stringSet-91746bf1.js.map +1 -0
- package/topics-17d99dd6.js +10 -0
- package/topics-17d99dd6.js.map +1 -0
- package/tslib.es6-83aa13f5.js +38 -0
- package/tslib.es6-83aa13f5.js.map +1 -0
- package/ui/Accordion.js +65 -0
- package/ui/Accordion.js.map +1 -0
- package/ui/AccordionGroup.js +26 -0
- package/ui/AccordionGroup.js.map +1 -0
- package/ui/AdminMessage.js +37 -0
- package/ui/AdminMessage.js.map +1 -0
- package/ui/Avatar.js +217 -0
- package/ui/Avatar.js.map +1 -0
- package/ui/Badge.js +38 -0
- package/ui/Badge.js.map +1 -0
- package/ui/Button.js +7 -0
- package/ui/Button.js.map +1 -0
- package/ui/ChannelAvatar.js +53 -0
- package/ui/ChannelAvatar.js.map +1 -0
- package/ui/ChannelPreview.js +194 -0
- package/ui/ChannelPreview.js.map +1 -0
- package/ui/ChatHeader.js +138 -0
- package/ui/ChatHeader.js.map +1 -0
- package/ui/Checkbox.js +42 -0
- package/ui/Checkbox.js.map +1 -0
- package/ui/ConnectionStatus.js +28 -0
- package/ui/ConnectionStatus.js.map +1 -0
- package/ui/ContextMenu.js +417 -0
- package/ui/ContextMenu.js.map +1 -0
- package/ui/DateSeparator.js +37 -0
- package/ui/DateSeparator.js.map +1 -0
- package/ui/Dropdown.js +97 -0
- package/ui/Dropdown.js.map +1 -0
- package/ui/EmojiReactions.js +121 -0
- package/ui/EmojiReactions.js.map +1 -0
- package/ui/FileMessageItemBody.js +51 -0
- package/ui/FileMessageItemBody.js.map +1 -0
- package/ui/FileViewer.js +164 -0
- package/ui/FileViewer.js.map +1 -0
- package/ui/Icon.js +1432 -0
- package/ui/Icon.js.map +1 -0
- package/ui/IconButton.js +76 -0
- package/ui/IconButton.js.map +1 -0
- package/ui/ImageRenderer.js +131 -0
- package/ui/ImageRenderer.js.map +1 -0
- package/ui/Input.js +64 -0
- package/ui/Input.js.map +1 -0
- package/ui/Label.js +6 -0
- package/ui/Label.js.map +1 -0
- package/ui/LinkLabel.js +40 -0
- package/ui/LinkLabel.js.map +1 -0
- package/ui/Loader.js +37 -0
- package/ui/Loader.js.map +1 -0
- package/ui/MentionUserLabel.js +19 -0
- package/ui/MentionUserLabel.js.map +1 -0
- package/ui/MessageContent.js +285 -0
- package/ui/MessageContent.js.map +1 -0
- package/ui/MessageInput.js +5040 -0
- package/ui/MessageInput.js.map +1 -0
- package/ui/MessageItemMenu.js +135 -0
- package/ui/MessageItemMenu.js.map +1 -0
- package/ui/MessageItemReactionMenu.js +106 -0
- package/ui/MessageItemReactionMenu.js.map +1 -0
- package/ui/MessageSearchFileItem.js +124 -0
- package/ui/MessageSearchFileItem.js.map +1 -0
- package/ui/MessageSearchItem.js +87 -0
- package/ui/MessageSearchItem.js.map +1 -0
- package/ui/MessageStatus.js +57 -0
- package/ui/MessageStatus.js.map +1 -0
- package/ui/Modal.js +128 -0
- package/ui/Modal.js.map +1 -0
- package/ui/MutedAvatarOverlay.js +34 -0
- package/ui/MutedAvatarOverlay.js.map +1 -0
- package/ui/OGMessageItemBody.js +101 -0
- package/ui/OGMessageItemBody.js.map +1 -0
- package/ui/OpenChannelAdminMessage.js +21 -0
- package/ui/OpenChannelAdminMessage.js.map +1 -0
- package/ui/OpenChannelAvatar.js +35 -0
- package/ui/OpenChannelAvatar.js.map +1 -0
- package/ui/OpenChannelMessageContent.js +8 -0
- package/ui/OpenChannelMessageContent.js.map +1 -0
- package/ui/OpenchannelConversationHeader.js +67 -0
- package/ui/OpenchannelConversationHeader.js.map +1 -0
- package/ui/OpenchannelFileMessage.js +224 -0
- package/ui/OpenchannelFileMessage.js.map +1 -0
- package/ui/OpenchannelOGMessage.js +339 -0
- package/ui/OpenchannelOGMessage.js.map +1 -0
- package/ui/OpenchannelThumbnailMessage.js +299 -0
- package/ui/OpenchannelThumbnailMessage.js.map +1 -0
- package/ui/OpenchannelUserMessage.js +258 -0
- package/ui/OpenchannelUserMessage.js.map +1 -0
- package/ui/PlaceHolder.js +11 -0
- package/ui/PlaceHolder.js.map +1 -0
- package/ui/QuoteMessage.js +125 -0
- package/ui/QuoteMessage.js.map +1 -0
- package/ui/QuoteMessageInput.js +93 -0
- package/ui/QuoteMessageInput.js.map +1 -0
- package/ui/ReactionBadge.js +61 -0
- package/ui/ReactionBadge.js.map +1 -0
- package/ui/ReactionButton.js +48 -0
- package/ui/ReactionButton.js.map +1 -0
- package/ui/SortByRow.js +50 -0
- package/ui/SortByRow.js.map +1 -0
- package/ui/TextButton.js +38 -0
- package/ui/TextButton.js.map +1 -0
- package/ui/TextMessageItemBody.js +56 -0
- package/ui/TextMessageItemBody.js.map +1 -0
- package/ui/ThumbnailMessageItemBody.js +76 -0
- package/ui/ThumbnailMessageItemBody.js.map +1 -0
- package/ui/Tooltip.js +28 -0
- package/ui/Tooltip.js.map +1 -0
- package/ui/TooltipWrapper.js +58 -0
- package/ui/TooltipWrapper.js.map +1 -0
- package/ui/UnknownMessageItemBody.js +35 -0
- package/ui/UnknownMessageItemBody.js.map +1 -0
- package/ui/UserListItem.js +151 -0
- package/ui/UserListItem.js.map +1 -0
- package/ui/UserProfile.js +81 -0
- package/ui/UserProfile.js.map +1 -0
- package/useSendbirdStateContext.js +20 -0
- package/useSendbirdStateContext.js.map +1 -0
- package/utils-5395ff17.js +30 -0
- package/utils-5395ff17.js.map +1 -0
- package/utils-7d39b941.js +34 -0
- package/utils-7d39b941.js.map +1 -0
- package/utils-9ef11656.js +4 -0
- package/utils-9ef11656.js.map +1 -0
- package/uuid-6d14d007.js +17 -0
- package/uuid-6d14d007.js.map +1 -0
- package/withSendBird.js +26 -0
- package/withSendBird.js.map +1 -0
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
import { a as __spreadArray } from '../../tslib.es6-83aa13f5.js';
|
|
2
|
+
import React__default, { useState, useRef, useEffect, useLayoutEffect, useMemo } from 'react';
|
|
3
|
+
import { f as format } from '../../index-4a59a866.js';
|
|
4
|
+
import SuggestedMentionList from './SuggestedMentionList.js';
|
|
5
|
+
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
6
|
+
import { u as useChannel, a as isDisabledBecauseFrozen } from '../../ChannelProvider-d5126903.js';
|
|
7
|
+
import { d as getClassName } from '../../index-ad4c9e58.js';
|
|
8
|
+
import { M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-3f63e129.js';
|
|
9
|
+
import DateSeparator from '../../ui/DateSeparator.js';
|
|
10
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-a611bd38.js';
|
|
11
|
+
import MessageInput from '../../ui/MessageInput.js';
|
|
12
|
+
import MessageContent from '../../ui/MessageContent.js';
|
|
13
|
+
import FileViewer from './FileViewer.js';
|
|
14
|
+
import RemoveMessage from './RemoveMessageModal.js';
|
|
15
|
+
import { M as MessageInputKeys } from '../../const-09c22c50.js';
|
|
16
|
+
import { u as useLocalization } from '../../LocalizationContext-b021af8f.js';
|
|
17
|
+
import '../../index-353f13f3.js';
|
|
18
|
+
import '../../ui/Icon.js';
|
|
19
|
+
import '../../_rollupPluginBabelHelpers-8e4fae98.js';
|
|
20
|
+
import 'prop-types';
|
|
21
|
+
import '../../ui/Avatar.js';
|
|
22
|
+
import '../../ui/ImageRenderer.js';
|
|
23
|
+
import '../../uuid-6d14d007.js';
|
|
24
|
+
import '../../withSendBird.js';
|
|
25
|
+
import '../../UserProfileContext-daa99f9b.js';
|
|
26
|
+
import '../../topics-17d99dd6.js';
|
|
27
|
+
import '../../compareIds-48d87cc5.js';
|
|
28
|
+
import '../../ui/ContextMenu.js';
|
|
29
|
+
import 'react-dom';
|
|
30
|
+
import '../../ui/SortByRow.js';
|
|
31
|
+
import '../../stringSet-91746bf1.js';
|
|
32
|
+
import '../../ui/ReactionButton.js';
|
|
33
|
+
import '../../color-2863fbbe.js';
|
|
34
|
+
import 'stream';
|
|
35
|
+
import '../../ui/IconButton.js';
|
|
36
|
+
import '../../index-41a6f4f2.js';
|
|
37
|
+
import '../../ui/MentionUserLabel.js';
|
|
38
|
+
import '../../ui/UserProfile.js';
|
|
39
|
+
import '../../sendBirdSelectors.js';
|
|
40
|
+
import '../../ui/MessageStatus.js';
|
|
41
|
+
import '../../ui/Loader.js';
|
|
42
|
+
import '../../ui/MessageItemMenu.js';
|
|
43
|
+
import '../../ui/MessageItemReactionMenu.js';
|
|
44
|
+
import '../../ui/EmojiReactions.js';
|
|
45
|
+
import '../../ui/Tooltip.js';
|
|
46
|
+
import '../../ui/TooltipWrapper.js';
|
|
47
|
+
import '../../ui/ReactionBadge.js';
|
|
48
|
+
import '../../ui/AdminMessage.js';
|
|
49
|
+
import '../../ui/TextMessageItemBody.js';
|
|
50
|
+
import '../../index-4889e530.js';
|
|
51
|
+
import '../../ui/LinkLabel.js';
|
|
52
|
+
import '../../ui/FileMessageItemBody.js';
|
|
53
|
+
import '../../ui/TextButton.js';
|
|
54
|
+
import '../../ui/ThumbnailMessageItemBody.js';
|
|
55
|
+
import '../../ui/OGMessageItemBody.js';
|
|
56
|
+
import '../../ui/UnknownMessageItemBody.js';
|
|
57
|
+
import '../../ui/QuoteMessage.js';
|
|
58
|
+
import '../../index-1fd114b0.js';
|
|
59
|
+
import '../../ui/Modal.js';
|
|
60
|
+
import '../../utils-9ef11656.js';
|
|
61
|
+
|
|
62
|
+
var Message = function Message(props) {
|
|
63
|
+
var _a;
|
|
64
|
+
|
|
65
|
+
var message = props.message,
|
|
66
|
+
hasSeparator = props.hasSeparator,
|
|
67
|
+
chainTop = props.chainTop,
|
|
68
|
+
chainBottom = props.chainBottom,
|
|
69
|
+
handleScroll = props.handleScroll,
|
|
70
|
+
renderCustomSeperator = props.renderCustomSeperator,
|
|
71
|
+
renderEditInput = props.renderEditInput,
|
|
72
|
+
renderMessage = props.renderMessage,
|
|
73
|
+
renderMessageContent = props.renderMessageContent;
|
|
74
|
+
var dateLocale = useLocalization().dateLocale;
|
|
75
|
+
var globalStore = useSendbirdStateContext();
|
|
76
|
+
|
|
77
|
+
var _b = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config,
|
|
78
|
+
userId = _b.userId,
|
|
79
|
+
isOnline = _b.isOnline,
|
|
80
|
+
isMentionEnabled = _b.isMentionEnabled,
|
|
81
|
+
userMention = _b.userMention;
|
|
82
|
+
|
|
83
|
+
var maxUserMentionCount = (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount) || MAX_USER_MENTION_COUNT;
|
|
84
|
+
var maxUserSuggestionCount = (userMention === null || userMention === void 0 ? void 0 : userMention.maxSuggestionCount) || MAX_USER_SUGGESTION_COUNT;
|
|
85
|
+
|
|
86
|
+
var _c = useChannel(),
|
|
87
|
+
currentGroupChannel = _c.currentGroupChannel,
|
|
88
|
+
highLightedMessageId = _c.highLightedMessageId,
|
|
89
|
+
setHighLightedMessageId = _c.setHighLightedMessageId,
|
|
90
|
+
animatedMessageId = _c.animatedMessageId,
|
|
91
|
+
setAnimatedMessageId = _c.setAnimatedMessageId,
|
|
92
|
+
updateMessage = _c.updateMessage,
|
|
93
|
+
scrollToMessage = _c.scrollToMessage,
|
|
94
|
+
replyType = _c.replyType,
|
|
95
|
+
useReaction = _c.useReaction,
|
|
96
|
+
toggleReaction = _c.toggleReaction,
|
|
97
|
+
emojiContainer = _c.emojiContainer,
|
|
98
|
+
nicknamesMap = _c.nicknamesMap,
|
|
99
|
+
setQuoteMessage = _c.setQuoteMessage,
|
|
100
|
+
resendMessage = _c.resendMessage,
|
|
101
|
+
renderUserMentionItem = _c.renderUserMentionItem;
|
|
102
|
+
|
|
103
|
+
var _d = useState(false),
|
|
104
|
+
showEdit = _d[0],
|
|
105
|
+
setShowEdit = _d[1];
|
|
106
|
+
|
|
107
|
+
var _e = useState(false),
|
|
108
|
+
showRemove = _e[0],
|
|
109
|
+
setShowRemove = _e[1];
|
|
110
|
+
|
|
111
|
+
var _f = useState(false),
|
|
112
|
+
showFileViewer = _f[0],
|
|
113
|
+
setShowFileViewer = _f[1];
|
|
114
|
+
|
|
115
|
+
var _g = useState(false),
|
|
116
|
+
isAnimated = _g[0],
|
|
117
|
+
setIsAnimated = _g[1];
|
|
118
|
+
|
|
119
|
+
var _h = useState(false),
|
|
120
|
+
isHighlighted = _h[0],
|
|
121
|
+
setIsHighlighted = _h[1];
|
|
122
|
+
|
|
123
|
+
var _j = useState(''),
|
|
124
|
+
mentionNickname = _j[0],
|
|
125
|
+
setMentionNickname = _j[1];
|
|
126
|
+
|
|
127
|
+
var _k = useState([]),
|
|
128
|
+
mentionedUsers = _k[0],
|
|
129
|
+
setMentionedUsers = _k[1];
|
|
130
|
+
|
|
131
|
+
var _l = useState([]),
|
|
132
|
+
mentionedUserIds = _l[0],
|
|
133
|
+
setMentionedUserIds = _l[1];
|
|
134
|
+
|
|
135
|
+
var _m = useState(null),
|
|
136
|
+
messageInputEvent = _m[0],
|
|
137
|
+
setMessageInputEvent = _m[1];
|
|
138
|
+
|
|
139
|
+
var _o = useState(null),
|
|
140
|
+
selectedUser = _o[0],
|
|
141
|
+
setSelectedUser = _o[1];
|
|
142
|
+
|
|
143
|
+
var _p = useState([]),
|
|
144
|
+
mentionSuggestedUsers = _p[0],
|
|
145
|
+
setMentionSuggestedUsers = _p[1];
|
|
146
|
+
|
|
147
|
+
var _q = useState(true),
|
|
148
|
+
ableMention = _q[0],
|
|
149
|
+
setAbleMention = _q[1];
|
|
150
|
+
|
|
151
|
+
var editMessageInputRef = useRef(null);
|
|
152
|
+
var useMessageScrollRef = useRef(null);
|
|
153
|
+
var displaySuggestedMentionList = isMentionEnabled && mentionNickname.length > 0;
|
|
154
|
+
useEffect(function () {
|
|
155
|
+
if ((mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) >= maxUserMentionCount) {
|
|
156
|
+
setAbleMention(false);
|
|
157
|
+
} else {
|
|
158
|
+
setAbleMention(true);
|
|
159
|
+
}
|
|
160
|
+
}, [mentionedUsers]);
|
|
161
|
+
useEffect(function () {
|
|
162
|
+
setMentionedUsers(mentionedUsers.filter(function (_a) {
|
|
163
|
+
var userId = _a.userId;
|
|
164
|
+
var i = mentionedUserIds.indexOf(userId);
|
|
165
|
+
|
|
166
|
+
if (i < 0) {
|
|
167
|
+
return false;
|
|
168
|
+
} else {
|
|
169
|
+
mentionedUserIds.splice(i, 1);
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
}));
|
|
173
|
+
}, [mentionedUserIds]);
|
|
174
|
+
useLayoutEffect(function () {
|
|
175
|
+
handleScroll === null || handleScroll === void 0 ? void 0 : handleScroll();
|
|
176
|
+
}, [showEdit, (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.length]);
|
|
177
|
+
useLayoutEffect(function () {
|
|
178
|
+
if (highLightedMessageId === message.messageId) {
|
|
179
|
+
if (useMessageScrollRef && useMessageScrollRef.current) {
|
|
180
|
+
useMessageScrollRef.current.scrollIntoView({
|
|
181
|
+
block: 'center',
|
|
182
|
+
inline: 'center'
|
|
183
|
+
});
|
|
184
|
+
setIsAnimated(false);
|
|
185
|
+
setTimeout(function () {
|
|
186
|
+
setIsHighlighted(true);
|
|
187
|
+
}, 500);
|
|
188
|
+
setTimeout(function () {
|
|
189
|
+
setHighLightedMessageId(0);
|
|
190
|
+
}, 1600);
|
|
191
|
+
}
|
|
192
|
+
} else {
|
|
193
|
+
setIsHighlighted(false);
|
|
194
|
+
}
|
|
195
|
+
}, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);
|
|
196
|
+
useLayoutEffect(function () {
|
|
197
|
+
if (animatedMessageId === message.messageId) {
|
|
198
|
+
if (useMessageScrollRef && useMessageScrollRef.current) {
|
|
199
|
+
useMessageScrollRef.current.scrollIntoView({
|
|
200
|
+
block: 'center',
|
|
201
|
+
inline: 'center'
|
|
202
|
+
});
|
|
203
|
+
setIsHighlighted(false);
|
|
204
|
+
setTimeout(function () {
|
|
205
|
+
setIsAnimated(true);
|
|
206
|
+
}, 500);
|
|
207
|
+
setTimeout(function () {
|
|
208
|
+
setAnimatedMessageId(0);
|
|
209
|
+
}, 1600);
|
|
210
|
+
}
|
|
211
|
+
} else {
|
|
212
|
+
setIsAnimated(false);
|
|
213
|
+
}
|
|
214
|
+
}, [animatedMessageId, useMessageScrollRef.current, message.messageId]);
|
|
215
|
+
var renderedMessage = useMemo(function () {
|
|
216
|
+
return renderMessage === null || renderMessage === void 0 ? void 0 : renderMessage({
|
|
217
|
+
message: message,
|
|
218
|
+
chainTop: chainTop,
|
|
219
|
+
chainBottom: chainBottom
|
|
220
|
+
});
|
|
221
|
+
}, [message, renderMessage]);
|
|
222
|
+
|
|
223
|
+
if (renderedMessage) {
|
|
224
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
225
|
+
ref: useMessageScrollRef,
|
|
226
|
+
className: getClassName(['sendbird-msg-hoc sendbird-msg--scroll-ref', isAnimated ? 'sendbird-msg-hoc__animated' : '', isHighlighted ? 'sendbird-msg-hoc__highlighted' : ''])
|
|
227
|
+
}, // TODO: Add message instance as a function parameter
|
|
228
|
+
hasSeparator && (renderCustomSeperator === null || renderCustomSeperator === void 0 ? void 0 : renderCustomSeperator()) || /*#__PURE__*/React__default.createElement(DateSeparator, null, /*#__PURE__*/React__default.createElement(Label, {
|
|
229
|
+
type: LabelTypography.CAPTION_2,
|
|
230
|
+
color: LabelColors.ONBACKGROUND_2
|
|
231
|
+
}, format(message.createdAt, 'MMMM dd, yyyy', {
|
|
232
|
+
locale: dateLocale
|
|
233
|
+
}))), renderedMessage);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
if (showEdit && message.isUserMessage()) {
|
|
237
|
+
return (renderEditInput === null || renderEditInput === void 0 ? void 0 : renderEditInput()) || /*#__PURE__*/React__default.createElement(React__default.Fragment, null, displaySuggestedMentionList && /*#__PURE__*/React__default.createElement(SuggestedMentionList, {
|
|
238
|
+
targetNickname: mentionNickname,
|
|
239
|
+
inputEvent: messageInputEvent,
|
|
240
|
+
renderUserMentionItem: renderUserMentionItem,
|
|
241
|
+
onUserItemClick: function onUserItemClick(user) {
|
|
242
|
+
if (user) {
|
|
243
|
+
setMentionedUsers(__spreadArray(__spreadArray([], mentionedUsers, true), [user], false));
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
setMentionNickname('');
|
|
247
|
+
setSelectedUser(user);
|
|
248
|
+
setMessageInputEvent(null);
|
|
249
|
+
},
|
|
250
|
+
onFocusItemChange: function onFocusItemChange() {
|
|
251
|
+
setMessageInputEvent(null);
|
|
252
|
+
},
|
|
253
|
+
onFetchUsers: function onFetchUsers(users) {
|
|
254
|
+
setMentionSuggestedUsers(users);
|
|
255
|
+
},
|
|
256
|
+
ableAddMention: ableMention,
|
|
257
|
+
maxMentionCount: maxUserMentionCount,
|
|
258
|
+
maxSuggestionCount: maxUserSuggestionCount
|
|
259
|
+
}), /*#__PURE__*/React__default.createElement(MessageInput, {
|
|
260
|
+
isEdit: true,
|
|
261
|
+
disabled: isDisabledBecauseFrozen(currentGroupChannel),
|
|
262
|
+
ref: editMessageInputRef,
|
|
263
|
+
mentionSelectedUser: selectedUser,
|
|
264
|
+
isMentionEnabled: isMentionEnabled,
|
|
265
|
+
message: message,
|
|
266
|
+
onUpdateMessage: function onUpdateMessage(_a) {
|
|
267
|
+
var messageId = _a.messageId,
|
|
268
|
+
message = _a.message,
|
|
269
|
+
mentionTemplate = _a.mentionTemplate;
|
|
270
|
+
updateMessage({
|
|
271
|
+
messageId: messageId,
|
|
272
|
+
message: message,
|
|
273
|
+
mentionedUsers: mentionedUsers,
|
|
274
|
+
mentionTemplate: mentionTemplate
|
|
275
|
+
});
|
|
276
|
+
setShowEdit(false);
|
|
277
|
+
},
|
|
278
|
+
onCancelEdit: function onCancelEdit() {
|
|
279
|
+
setShowEdit(false);
|
|
280
|
+
},
|
|
281
|
+
onUserMentioned: function onUserMentioned(user) {
|
|
282
|
+
if ((selectedUser === null || selectedUser === void 0 ? void 0 : selectedUser.userId) === (user === null || user === void 0 ? void 0 : user.userId)) {
|
|
283
|
+
setSelectedUser(null);
|
|
284
|
+
setMentionNickname('');
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
onMentionStringChange: function onMentionStringChange(mentionText) {
|
|
288
|
+
setMentionNickname(mentionText);
|
|
289
|
+
},
|
|
290
|
+
onMentionedUserIdsUpdated: function onMentionedUserIdsUpdated(userIds) {
|
|
291
|
+
setMentionedUserIds(userIds);
|
|
292
|
+
},
|
|
293
|
+
onKeyDown: function onKeyDown(e) {
|
|
294
|
+
if (displaySuggestedMentionList && (mentionSuggestedUsers === null || mentionSuggestedUsers === void 0 ? void 0 : mentionSuggestedUsers.length) > 0 && (e.key === MessageInputKeys.Enter && ableMention || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)) {
|
|
295
|
+
setMessageInputEvent(e);
|
|
296
|
+
return true;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
return false;
|
|
300
|
+
}
|
|
301
|
+
}));
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
305
|
+
className: getClassName(['sendbird-msg-hoc sendbird-msg--scroll-ref', isAnimated ? 'sendbird-msg-hoc__animated' : '', isHighlighted ? 'sendbird-msg-hoc__highlighted' : '']),
|
|
306
|
+
style: {
|
|
307
|
+
marginBottom: '2px'
|
|
308
|
+
},
|
|
309
|
+
ref: useMessageScrollRef
|
|
310
|
+
}, hasSeparator && ((renderCustomSeperator === null || renderCustomSeperator === void 0 ? void 0 : renderCustomSeperator()) || /*#__PURE__*/React__default.createElement(DateSeparator, null, /*#__PURE__*/React__default.createElement(Label, {
|
|
311
|
+
type: LabelTypography.CAPTION_2,
|
|
312
|
+
color: LabelColors.ONBACKGROUND_2
|
|
313
|
+
}, format(message.createdAt, 'MMMM dd, yyyy', {
|
|
314
|
+
locale: dateLocale
|
|
315
|
+
})))), (renderMessageContent === null || renderMessageContent === void 0 ? void 0 : renderMessageContent()) || /*#__PURE__*/React__default.createElement(MessageContent, {
|
|
316
|
+
className: "sendbird-message-hoc__message-content",
|
|
317
|
+
userId: userId,
|
|
318
|
+
scrollToMessage: scrollToMessage,
|
|
319
|
+
channel: currentGroupChannel,
|
|
320
|
+
message: message,
|
|
321
|
+
disabled: !isOnline,
|
|
322
|
+
chainTop: chainTop,
|
|
323
|
+
chainBottom: chainBottom,
|
|
324
|
+
useReaction: useReaction,
|
|
325
|
+
replyType: replyType,
|
|
326
|
+
nicknamesMap: nicknamesMap,
|
|
327
|
+
emojiContainer: emojiContainer,
|
|
328
|
+
showEdit: setShowEdit,
|
|
329
|
+
showRemove: setShowRemove,
|
|
330
|
+
showFileViewer: setShowFileViewer,
|
|
331
|
+
resendMessage: resendMessage,
|
|
332
|
+
toggleReaction: toggleReaction,
|
|
333
|
+
setQuoteMessage: setQuoteMessage
|
|
334
|
+
}), showRemove && /*#__PURE__*/React__default.createElement(RemoveMessage, {
|
|
335
|
+
message: message,
|
|
336
|
+
onCancel: function onCancel() {
|
|
337
|
+
return setShowRemove(false);
|
|
338
|
+
}
|
|
339
|
+
}), showFileViewer && /*#__PURE__*/React__default.createElement(FileViewer, {
|
|
340
|
+
message: message,
|
|
341
|
+
onCancel: function onCancel() {
|
|
342
|
+
return setShowFileViewer(false);
|
|
343
|
+
}
|
|
344
|
+
}));
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
export { Message as default };
|
|
348
|
+
//# sourceMappingURL=Message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Message.js","sources":["../../../src/smart-components/Channel/components/Message/index.tsx"],"sourcesContent":["import React, {\n useState,\n useEffect,\n useRef,\n useLayoutEffect,\n useMemo,\n} from 'react';\nimport format from 'date-fns/format';\n\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannel } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen } from '../../context/utils';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT } from '../../context/const';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport { EveryMessage, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll: () => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactNode;\n renderCustomSeperator?: () => React.ReactNode;\n renderEditInput?: () => React.ReactNode;\n renderMessageContent?: () => React.ReactNode;\n};\n\nconst Message: React.FC<MessageUIProps> = (props: MessageUIProps) => {\n const {\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeperator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n } = props;\n\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n const {\n userId,\n isOnline,\n isMentionEnabled,\n userMention,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || MAX_USER_MENTION_COUNT;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || MAX_USER_SUGGESTION_COUNT;\n\n const {\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n useReaction,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n setQuoteMessage,\n resendMessage,\n renderUserMentionItem,\n } = useChannel();\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const editMessageInputRef = useRef(null);\n const useMessageScrollRef = useRef(null);\n\n const displaySuggestedMentionList = (isMentionEnabled && mentionNickname.length > 0);\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n useLayoutEffect(() => {\n if (highLightedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsAnimated(false);\n setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n setTimeout(() => {\n setHighLightedMessageId(0);\n }, 1600);\n }\n } else {\n setIsHighlighted(false);\n }\n }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n if (animatedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n useMessageScrollRef.current.scrollIntoView({ block: 'center', inline: 'center' });\n setIsHighlighted(false);\n setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n setTimeout(() => {\n setAnimatedMessageId(0);\n }, 1600);\n }\n } else {\n setIsAnimated(false);\n }\n }, [animatedMessageId, useMessageScrollRef.current, message.messageId]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n\n if (renderedMessage) {\n return (\n <div\n ref={useMessageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && renderCustomSeperator?.() || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n )\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message.isUserMessage()) {\n return renderEditInput?.() || (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n disabled={isDisabledBecauseFrozen(currentGroupChannel)}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n }}\n onCancelEdit={() => { setShowEdit(false); }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n ref={useMessageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderCustomSeperator?.() || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n useReaction={useReaction}\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n setQuoteMessage={setQuoteMessage}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as SendbirdUIKit.ClientFileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["Message","props","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeperator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","_b","config","userId","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","MAX_USER_MENTION_COUNT","maxUserSuggestionCount","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_c","useChannel","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","useReaction","toggleReaction","emojiContainer","nicknamesMap","setQuoteMessage","resendMessage","renderUserMentionItem","_d","useState","showEdit","setShowEdit","_e","showRemove","setShowRemove","_f","showFileViewer","setShowFileViewer","_g","isAnimated","setIsAnimated","_h","isHighlighted","setIsHighlighted","_j","mentionNickname","setMentionNickname","_k","mentionedUsers","setMentionedUsers","_l","mentionedUserIds","setMentionedUserIds","_m","messageInputEvent","setMessageInputEvent","_o","selectedUser","setSelectedUser","_p","mentionSuggestedUsers","setMentionSuggestedUsers","_q","ableMention","setAbleMention","editMessageInputRef","useRef","useMessageScrollRef","displaySuggestedMentionList","length","useEffect","filter","_a","i","indexOf","splice","useLayoutEffect","reactions","messageId","current","scrollIntoView","block","inline","setTimeout","renderedMessage","useMemo","React","getClassName","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","format","createdAt","locale","isUserMessage","user","users","isDisabledBecauseFrozen","mentionTemplate","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","marginBottom","RemoveMessageModal"],"mappings":"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"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { a as __spreadArray } from '../../tslib.es6-83aa13f5.js';
|
|
2
|
+
import React__default, { useContext, useState, useEffect } from 'react';
|
|
3
|
+
import { u as useChannel, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted, d as isOperator } from '../../ChannelProvider-d5126903.js';
|
|
4
|
+
import MessageInput from '../../ui/MessageInput.js';
|
|
5
|
+
import QuoteMessageInput from '../../ui/QuoteMessageInput.js';
|
|
6
|
+
import { a as LocalizationContext } from '../../LocalizationContext-b021af8f.js';
|
|
7
|
+
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
8
|
+
import SuggestedMentionList from './SuggestedMentionList.js';
|
|
9
|
+
import { M as MessageInputKeys } from '../../const-09c22c50.js';
|
|
10
|
+
import '../../UserProfileContext-daa99f9b.js';
|
|
11
|
+
import 'prop-types';
|
|
12
|
+
import '../../_rollupPluginBabelHelpers-8e4fae98.js';
|
|
13
|
+
import '../../index-4a59a866.js';
|
|
14
|
+
import '../../index-353f13f3.js';
|
|
15
|
+
import '../../topics-17d99dd6.js';
|
|
16
|
+
import '../../index-ad4c9e58.js';
|
|
17
|
+
import '../../compareIds-48d87cc5.js';
|
|
18
|
+
import '../../const-3f63e129.js';
|
|
19
|
+
import '../../uuid-6d14d007.js';
|
|
20
|
+
import '../../ui/ContextMenu.js';
|
|
21
|
+
import '../../index-a611bd38.js';
|
|
22
|
+
import '../../stringSet-91746bf1.js';
|
|
23
|
+
import 'react-dom';
|
|
24
|
+
import '../../ui/SortByRow.js';
|
|
25
|
+
import '../../ui/ReactionButton.js';
|
|
26
|
+
import '../../ui/ImageRenderer.js';
|
|
27
|
+
import '../../ui/Icon.js';
|
|
28
|
+
import 'stream';
|
|
29
|
+
import '../../ui/IconButton.js';
|
|
30
|
+
import '../../index-41a6f4f2.js';
|
|
31
|
+
import '../../ui/MentionUserLabel.js';
|
|
32
|
+
import '../../withSendBird.js';
|
|
33
|
+
import '../../ui/Avatar.js';
|
|
34
|
+
|
|
35
|
+
var MessageInputWrapper = function MessageInputWrapper() {
|
|
36
|
+
var _a = useChannel(),
|
|
37
|
+
currentGroupChannel = _a.currentGroupChannel,
|
|
38
|
+
initialized = _a.initialized,
|
|
39
|
+
quoteMessage = _a.quoteMessage,
|
|
40
|
+
sendMessage = _a.sendMessage,
|
|
41
|
+
sendFileMessage = _a.sendFileMessage,
|
|
42
|
+
setQuoteMessage = _a.setQuoteMessage,
|
|
43
|
+
messageInputRef = _a.messageInputRef,
|
|
44
|
+
renderUserMentionItem = _a.renderUserMentionItem;
|
|
45
|
+
|
|
46
|
+
var globalStore = useSendbirdStateContext();
|
|
47
|
+
var channel = currentGroupChannel;
|
|
48
|
+
|
|
49
|
+
var _b = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config,
|
|
50
|
+
isOnline = _b.isOnline,
|
|
51
|
+
isMentionEnabled = _b.isMentionEnabled,
|
|
52
|
+
userMention = _b.userMention;
|
|
53
|
+
|
|
54
|
+
var maxUserMentionCount = (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount) || 10;
|
|
55
|
+
var maxUserSuggestionCount = (userMention === null || userMention === void 0 ? void 0 : userMention.maxSuggestionCount) || 15;
|
|
56
|
+
var stringSet = useContext(LocalizationContext).stringSet;
|
|
57
|
+
|
|
58
|
+
var _c = useState(''),
|
|
59
|
+
mentionNickname = _c[0],
|
|
60
|
+
setMentionNickname = _c[1];
|
|
61
|
+
|
|
62
|
+
var _d = useState([]),
|
|
63
|
+
mentionedUsers = _d[0],
|
|
64
|
+
setMentionedUsers = _d[1];
|
|
65
|
+
|
|
66
|
+
var _e = useState([]),
|
|
67
|
+
mentionedUserIds = _e[0],
|
|
68
|
+
setMentionedUserIds = _e[1];
|
|
69
|
+
|
|
70
|
+
var _f = useState(null),
|
|
71
|
+
selectedUser = _f[0],
|
|
72
|
+
setSelectedUser = _f[1];
|
|
73
|
+
|
|
74
|
+
var _g = useState([]),
|
|
75
|
+
mentionSuggestedUsers = _g[0],
|
|
76
|
+
setMentionSuggestedUsers = _g[1];
|
|
77
|
+
|
|
78
|
+
var _h = useState(true),
|
|
79
|
+
ableMention = _h[0],
|
|
80
|
+
setAbleMention = _h[1];
|
|
81
|
+
|
|
82
|
+
var _j = useState(null),
|
|
83
|
+
messageInputEvent = _j[0],
|
|
84
|
+
setMessageInputEvent = _j[1];
|
|
85
|
+
|
|
86
|
+
var disabled = !initialized || isDisabledBecauseFrozen(channel) || isDisabledBecauseMuted(channel) || !isOnline;
|
|
87
|
+
var isOperator$1 = isOperator(channel);
|
|
88
|
+
var isBroadcast = channel.isBroadcast;
|
|
89
|
+
var displaySuggestedMentionList = isMentionEnabled && mentionNickname.length > 0;
|
|
90
|
+
useEffect(function () {
|
|
91
|
+
if ((mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) >= maxUserMentionCount) {
|
|
92
|
+
setAbleMention(false);
|
|
93
|
+
} else {
|
|
94
|
+
setAbleMention(true);
|
|
95
|
+
}
|
|
96
|
+
}, [mentionedUsers]);
|
|
97
|
+
useEffect(function () {
|
|
98
|
+
setMentionedUsers(mentionedUsers.filter(function (_a) {
|
|
99
|
+
var userId = _a.userId;
|
|
100
|
+
var i = mentionedUserIds.indexOf(userId);
|
|
101
|
+
|
|
102
|
+
if (i < 0) {
|
|
103
|
+
return false;
|
|
104
|
+
} else {
|
|
105
|
+
mentionedUserIds.splice(i, 1);
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
}));
|
|
109
|
+
}, [mentionedUserIds]); // broadcast channel + not operator
|
|
110
|
+
|
|
111
|
+
if (isBroadcast && !isOperator$1) {
|
|
112
|
+
return null;
|
|
113
|
+
} // other conditions
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
117
|
+
className: "sendbird-message-input-wrapper"
|
|
118
|
+
}, displaySuggestedMentionList && /*#__PURE__*/React__default.createElement(SuggestedMentionList, {
|
|
119
|
+
targetNickname: mentionNickname,
|
|
120
|
+
inputEvent: messageInputEvent,
|
|
121
|
+
renderUserMentionItem: renderUserMentionItem,
|
|
122
|
+
onUserItemClick: function onUserItemClick(user) {
|
|
123
|
+
if (user) {
|
|
124
|
+
setMentionedUsers(__spreadArray(__spreadArray([], mentionedUsers, true), [user], false));
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
setMentionNickname('');
|
|
128
|
+
setSelectedUser(user);
|
|
129
|
+
setMessageInputEvent(null);
|
|
130
|
+
},
|
|
131
|
+
onFocusItemChange: function onFocusItemChange() {
|
|
132
|
+
setMessageInputEvent(null);
|
|
133
|
+
},
|
|
134
|
+
onFetchUsers: function onFetchUsers(users) {
|
|
135
|
+
setMentionSuggestedUsers(users);
|
|
136
|
+
},
|
|
137
|
+
ableAddMention: ableMention,
|
|
138
|
+
maxMentionCount: maxUserMentionCount,
|
|
139
|
+
maxSuggestionCount: maxUserSuggestionCount
|
|
140
|
+
}), quoteMessage && /*#__PURE__*/React__default.createElement("div", {
|
|
141
|
+
className: "sendbird-message-input-wrapper__quote-message-input"
|
|
142
|
+
}, /*#__PURE__*/React__default.createElement(QuoteMessageInput, {
|
|
143
|
+
replyingMessage: quoteMessage,
|
|
144
|
+
onClose: function onClose() {
|
|
145
|
+
return setQuoteMessage(null);
|
|
146
|
+
}
|
|
147
|
+
})), /*#__PURE__*/React__default.createElement(MessageInput, {
|
|
148
|
+
className: "sendbird-message-input-wrapper__message-input",
|
|
149
|
+
channelUrl: channel === null || channel === void 0 ? void 0 : channel.url,
|
|
150
|
+
mentionSelectedUser: selectedUser,
|
|
151
|
+
isMentionEnabled: isMentionEnabled,
|
|
152
|
+
placeholder: quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER || isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED || isDisabledBecauseMuted(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED,
|
|
153
|
+
ref: messageInputRef,
|
|
154
|
+
disabled: disabled,
|
|
155
|
+
onStartTyping: function onStartTyping() {
|
|
156
|
+
channel === null || channel === void 0 ? void 0 : channel.startTyping();
|
|
157
|
+
},
|
|
158
|
+
onSendMessage: function onSendMessage(_a) {
|
|
159
|
+
var message = _a.message,
|
|
160
|
+
mentionTemplate = _a.mentionTemplate;
|
|
161
|
+
sendMessage({
|
|
162
|
+
message: message,
|
|
163
|
+
quoteMessage: quoteMessage,
|
|
164
|
+
mentionedUsers: mentionedUsers,
|
|
165
|
+
mentionTemplate: mentionTemplate
|
|
166
|
+
});
|
|
167
|
+
setMentionNickname('');
|
|
168
|
+
setMentionedUsers([]);
|
|
169
|
+
setQuoteMessage(null);
|
|
170
|
+
channel === null || channel === void 0 ? void 0 : channel.endTyping();
|
|
171
|
+
},
|
|
172
|
+
onFileUpload: function onFileUpload(file) {
|
|
173
|
+
sendFileMessage(file, quoteMessage);
|
|
174
|
+
setQuoteMessage(null);
|
|
175
|
+
},
|
|
176
|
+
onUserMentioned: function onUserMentioned(user) {
|
|
177
|
+
if ((selectedUser === null || selectedUser === void 0 ? void 0 : selectedUser.userId) === (user === null || user === void 0 ? void 0 : user.userId)) {
|
|
178
|
+
setSelectedUser(null);
|
|
179
|
+
setMentionNickname('');
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
onMentionStringChange: function onMentionStringChange(mentionText) {
|
|
183
|
+
setMentionNickname(mentionText);
|
|
184
|
+
},
|
|
185
|
+
onMentionedUserIdsUpdated: function onMentionedUserIdsUpdated(userIds) {
|
|
186
|
+
setMentionedUserIds(userIds);
|
|
187
|
+
},
|
|
188
|
+
onKeyDown: function onKeyDown(e) {
|
|
189
|
+
if (displaySuggestedMentionList && (mentionSuggestedUsers === null || mentionSuggestedUsers === void 0 ? void 0 : mentionSuggestedUsers.length) > 0 && (e.key === MessageInputKeys.Enter && ableMention || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)) {
|
|
190
|
+
setMessageInputEvent(e);
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
}));
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
var MessageInputWrapper$1 = /*#__PURE__*/React__default.forwardRef(MessageInputWrapper);
|
|
200
|
+
|
|
201
|
+
export { MessageInputWrapper$1 as default };
|
|
202
|
+
//# sourceMappingURL=MessageInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageInput.js","sources":["../../../src/smart-components/Channel/components/MessageInput/index.tsx"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\n\nimport './message-input.scss';\nimport * as utils from '../../context/utils';\n\nimport MessageInput from '../../../../ui/MessageInput';\nimport QuoteMessageInput from '../../../../ui/QuoteMessageInput';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useChannel } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\n\nconst MessageInputWrapper = (): JSX.Element => {\n const {\n currentGroupChannel,\n initialized,\n quoteMessage,\n sendMessage,\n sendFileMessage,\n setQuoteMessage,\n messageInputRef,\n renderUserMentionItem,\n } = useChannel();\n const globalStore = useSendbirdStateContext();\n const channel = currentGroupChannel;\n\n const { isOnline, isMentionEnabled, userMention } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || 10;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || 15;\n\n const { stringSet } = useContext(LocalizationContext);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const disabled = !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n const isOperator = utils.isOperator(channel);\n const { isBroadcast } = channel;\n\n const displaySuggestedMentionList = (isMentionEnabled && mentionNickname.length > 0);\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n // other conditions\n return (\n <div className=\"sendbird-message-input-wrapper\">\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n {quoteMessage && (\n <div className=\"sendbird-message-input-wrapper__quote-message-input\">\n <QuoteMessageInput\n replyingMessage={quoteMessage}\n onClose={() => setQuoteMessage(null)}\n />\n </div>\n )}\n <MessageInput\n className=\"sendbird-message-input-wrapper__message-input\"\n channelUrl={channel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n placeholder={\n (quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER)\n || (utils.isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (utils.isDisabledBecauseMuted(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED)\n }\n ref={messageInputRef}\n disabled={disabled}\n onStartTyping={() => {\n channel?.startTyping();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message,\n quoteMessage,\n mentionedUsers,\n mentionTemplate,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n setQuoteMessage(null);\n channel?.endTyping();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, quoteMessage);\n setQuoteMessage(null);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </div>\n );\n}\n\nexport default React.forwardRef(MessageInputWrapper);\n"],"names":["MessageInputWrapper","_a","useChannel","currentGroupChannel","initialized","quoteMessage","sendMessage","sendFileMessage","setQuoteMessage","messageInputRef","renderUserMentionItem","globalStore","useSendbirdStateContext","channel","_b","config","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","maxUserSuggestionCount","maxSuggestionCount","stringSet","useContext","LocalizationContext","_c","useState","mentionNickname","setMentionNickname","_d","mentionedUsers","setMentionedUsers","_e","mentionedUserIds","setMentionedUserIds","_f","selectedUser","setSelectedUser","_g","mentionSuggestedUsers","setMentionSuggestedUsers","_h","ableMention","setAbleMention","_j","messageInputEvent","setMessageInputEvent","disabled","utils","isOperator","isBroadcast","displaySuggestedMentionList","length","useEffect","filter","userId","i","indexOf","splice","React","user","users","url","MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","message","mentionTemplate","endTyping","file","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
|