@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,141 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var ui_ContextMenu = require('./ContextMenu.js');
|
|
5
|
+
var ui_Icon = require('./Icon.js');
|
|
6
|
+
var ui_IconButton = require('./IconButton.js');
|
|
7
|
+
var index = require('../index-002a349d.js');
|
|
8
|
+
var LocalizationContext = require('../LocalizationContext-3b5ce8ae.js');
|
|
9
|
+
require('../_rollupPluginBabelHelpers-e54d2387.js');
|
|
10
|
+
require('prop-types');
|
|
11
|
+
require('../index-21f31180.js');
|
|
12
|
+
require('../stringSet-f4da182b.js');
|
|
13
|
+
require('react-dom');
|
|
14
|
+
require('./SortByRow.js');
|
|
15
|
+
require('../tslib.es6-d7d0a427.js');
|
|
16
|
+
require('../index-d9439e95.js');
|
|
17
|
+
|
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
+
|
|
20
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
21
|
+
|
|
22
|
+
function MessageItemMenu(_a) {
|
|
23
|
+
var _b, _c;
|
|
24
|
+
|
|
25
|
+
var className = _a.className,
|
|
26
|
+
message = _a.message,
|
|
27
|
+
channel = _a.channel,
|
|
28
|
+
_d = _a.isByMe,
|
|
29
|
+
isByMe = _d === void 0 ? false : _d,
|
|
30
|
+
_e = _a.disabled,
|
|
31
|
+
disabled = _e === void 0 ? false : _e,
|
|
32
|
+
replyType = _a.replyType,
|
|
33
|
+
showEdit = _a.showEdit,
|
|
34
|
+
showRemove = _a.showRemove,
|
|
35
|
+
resendMessage = _a.resendMessage,
|
|
36
|
+
setQuoteMessage = _a.setQuoteMessage,
|
|
37
|
+
setSupposedHover = _a.setSupposedHover;
|
|
38
|
+
var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
|
|
39
|
+
var triggerRef = React.useRef(null);
|
|
40
|
+
var containerRef = React.useRef(null);
|
|
41
|
+
var showMenuItemCopy = index.isUserMessage(message);
|
|
42
|
+
var showMenuItemEdit = index.isUserMessage(message) && index.isSentMessage(message) && isByMe;
|
|
43
|
+
var showMenuItemResend = index.isFailedMessage(message) && ((_b = message === null || message === void 0 ? void 0 : message.isResendable) === null || _b === void 0 ? void 0 : _b.call(message)) && isByMe;
|
|
44
|
+
var showMenuItemDelete = !index.isPendingMessage(message) && isByMe;
|
|
45
|
+
/**
|
|
46
|
+
* TODO: Manage timing issue
|
|
47
|
+
* User delete pending message -> Sending message success
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
var showMenuItemReply = replyType === 'QUOTE_REPLY' && !index.isFailedMessage(message) && !index.isPendingMessage(message) && (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel()) && !((_c = channel) === null || _c === void 0 ? void 0 : _c.isBroadcast);
|
|
51
|
+
|
|
52
|
+
if (!(showMenuItemCopy || showMenuItemReply || showMenuItemEdit || showMenuItemResend || showMenuItemDelete)) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
57
|
+
className: index.getClassName([className, 'sendbird-message-item-menu']),
|
|
58
|
+
ref: containerRef
|
|
59
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu["default"], {
|
|
60
|
+
menuTrigger: function menuTrigger(toggleDropdown) {
|
|
61
|
+
return /*#__PURE__*/React__default["default"].createElement(ui_IconButton, {
|
|
62
|
+
className: "sendbird-message-item-menu__trigger",
|
|
63
|
+
ref: triggerRef,
|
|
64
|
+
width: "32px",
|
|
65
|
+
height: "32px",
|
|
66
|
+
onClick: function onClick() {
|
|
67
|
+
toggleDropdown();
|
|
68
|
+
setSupposedHover(true);
|
|
69
|
+
},
|
|
70
|
+
onBlur: function onBlur() {
|
|
71
|
+
setSupposedHover(false);
|
|
72
|
+
}
|
|
73
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
|
|
74
|
+
className: "sendbird-message-item-menu__trigger__icon",
|
|
75
|
+
type: ui_Icon.IconTypes.MORE,
|
|
76
|
+
fillColor: ui_Icon.IconColors.CONTENT_INVERSE,
|
|
77
|
+
width: "24px",
|
|
78
|
+
height: "24px"
|
|
79
|
+
}));
|
|
80
|
+
},
|
|
81
|
+
menuItems: function menuItems(close) {
|
|
82
|
+
var _a;
|
|
83
|
+
|
|
84
|
+
var closeDropdown = function closeDropdown() {
|
|
85
|
+
close();
|
|
86
|
+
setSupposedHover(false);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
return /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItems, {
|
|
90
|
+
className: "sendbird-message-item-menu__list",
|
|
91
|
+
parentRef: triggerRef,
|
|
92
|
+
parentContainRef: containerRef,
|
|
93
|
+
closeDropdown: closeDropdown,
|
|
94
|
+
openLeft: isByMe
|
|
95
|
+
}, showMenuItemCopy && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
|
|
96
|
+
className: "sendbird-message-item-menu__list__menu-item menu-item-copy",
|
|
97
|
+
onClick: function onClick() {
|
|
98
|
+
var _a;
|
|
99
|
+
|
|
100
|
+
index.copyToClipboard((_a = message) === null || _a === void 0 ? void 0 : _a.message);
|
|
101
|
+
closeDropdown();
|
|
102
|
+
}
|
|
103
|
+
}, stringSet.MESSAGE_MENU__COPY), showMenuItemReply && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
|
|
104
|
+
className: "sendbird-message-item-menu__list__menu-item menu-item-reply",
|
|
105
|
+
onClick: function onClick() {
|
|
106
|
+
setQuoteMessage(message);
|
|
107
|
+
closeDropdown();
|
|
108
|
+
},
|
|
109
|
+
disable: (message === null || message === void 0 ? void 0 : message.parentMessageId) > 0
|
|
110
|
+
}, stringSet.MESSAGE_MENU__REPLY), showMenuItemEdit && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
|
|
111
|
+
className: "sendbird-message-item-menu__list__menu-item menu-item-edit",
|
|
112
|
+
onClick: function onClick() {
|
|
113
|
+
if (!disabled) {
|
|
114
|
+
showEdit(true);
|
|
115
|
+
closeDropdown();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}, stringSet.MESSAGE_MENU__EDIT), showMenuItemResend && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
|
|
119
|
+
className: "sendbird-message-item-menu__list__menu-item menu-item-resend",
|
|
120
|
+
onClick: function onClick() {
|
|
121
|
+
if (!disabled) {
|
|
122
|
+
resendMessage(message);
|
|
123
|
+
closeDropdown();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}, stringSet.MESSAGE_MENU__RESEND), showMenuItemDelete && /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.MenuItem, {
|
|
127
|
+
className: "sendbird-message-item-menu__list__menu-item menu-item-delete",
|
|
128
|
+
onClick: function onClick() {
|
|
129
|
+
if (!disabled) {
|
|
130
|
+
showRemove(true);
|
|
131
|
+
closeDropdown();
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
disable: ((_a = message === null || message === void 0 ? void 0 : message.threadInfo) === null || _a === void 0 ? void 0 : _a.replyCount) > 0
|
|
135
|
+
}, stringSet.MESSAGE_MENU__DELETE));
|
|
136
|
+
}
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
module.exports = MessageItemMenu;
|
|
141
|
+
//# sourceMappingURL=MessageItemMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageItemMenu.js","sources":["../../../src/ui/MessageItemMenu/index.tsx"],"sourcesContent":["import React, { ReactElement, useContext, useRef } from 'react';\nimport { FileMessage, GroupChannel, OpenChannel, UserMessage } from 'sendbird';\nimport './index.scss';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport {\n getClassName,\n copyToClipboard,\n isUserMessage,\n isSentMessage,\n isFailedMessage,\n isPendingMessage,\n} from '../../utils/index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { ReplyType } from '../../index';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage | FileMessage;\n channel: GroupChannel | OpenChannel;\n isByMe?: boolean;\n disabled?: boolean;\n replyType?: ReplyType;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n setSupposedHover?: (bool: boolean) => void;\n}\n\nexport default function MessageItemMenu({\n className,\n message,\n channel,\n isByMe = false,\n disabled = false,\n replyType,\n showEdit,\n showRemove,\n resendMessage,\n setQuoteMessage,\n setSupposedHover,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const triggerRef = useRef(null);\n const containerRef = useRef(null);\n\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable?.() && isByMe);\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n /**\n * TODO: Manage timing issue\n * User delete pending message -> Sending message success\n */\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n\n if (!(showMenuItemCopy || showMenuItemReply || showMenuItemEdit || showMenuItemResend || showMenuItemDelete)) {\n return null;\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-item-menu'])}\n ref={containerRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <IconButton\n className=\"sendbird-message-item-menu__trigger\"\n ref={triggerRef}\n width=\"32px\"\n height=\"32px\"\n onClick={(): void => {\n toggleDropdown();\n setSupposedHover(true);\n }}\n onBlur={(): void => {\n setSupposedHover(false);\n }}\n >\n <Icon\n className=\"sendbird-message-item-menu__trigger__icon\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )}\n menuItems={(close: () => void): ReactElement => {\n const closeDropdown = (): void => {\n close();\n setSupposedHover(false);\n };\n return (\n <MenuItems\n className=\"sendbird-message-item-menu__list\"\n parentRef={triggerRef}\n parentContainRef={containerRef}\n closeDropdown={closeDropdown}\n openLeft={isByMe}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-copy\"\n onClick={() => {\n copyToClipboard((message as UserMessage)?.message);\n closeDropdown();\n }}\n >\n {stringSet.MESSAGE_MENU__COPY}\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-reply\"\n onClick={() => {\n setQuoteMessage(message);\n closeDropdown();\n }}\n disable={message?.parentMessageId > 0}\n >\n {stringSet.MESSAGE_MENU__REPLY}\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-edit\"\n onClick={() => {\n if (!disabled) {\n showEdit(true);\n closeDropdown();\n }\n }}\n >\n {stringSet.MESSAGE_MENU__EDIT}\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-resend\"\n onClick={() => {\n if (!disabled) {\n resendMessage(message);\n closeDropdown();\n }\n }}\n >\n {stringSet.MESSAGE_MENU__RESEND}\n </MenuItem>\n )}\n {showMenuItemDelete && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-delete\"\n onClick={() => {\n if (!disabled) {\n showRemove(true);\n closeDropdown();\n }\n }}\n disable={message?.threadInfo?.replyCount > 0}\n >\n {stringSet.MESSAGE_MENU__DELETE}\n </MenuItem>\n )}\n </MenuItems>\n );\n }}\n />\n </div>\n );\n}\n"],"names":["MessageItemMenu","_a","className","message","channel","_d","isByMe","_e","disabled","replyType","showEdit","showRemove","resendMessage","setQuoteMessage","setSupposedHover","stringSet","useContext","LocalizationContext","triggerRef","useRef","containerRef","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemReply","isGroupChannel","isBroadcast","React","getClassName","ContextMenu","toggleDropdown","IconButton","Icon","IconTypes","MORE","IconColors","CONTENT_INVERSE","close","closeDropdown","MenuItems","MenuItem","copyToClipboard","MESSAGE_MENU__COPY","parentMessageId","MESSAGE_MENU__REPLY","MESSAGE_MENU__EDIT","MESSAGE_MENU__RESEND","threadInfo","replyCount","MESSAGE_MENU__DELETE"],"mappings":";;;;;;;;;;;;;;;;;;;;;SAgCwBA,gBAAgBC;;;MACtCC,SAAS;MACTC,OAAO;MACPC,OAAO;MACPC;MAAAC,MAAM,mBAAG;MACTC;MAAAC,QAAQ,mBAAG;MACXC,SAAS;MACTC,QAAQ;MACRC,UAAU;MACVC,aAAa;MACbC,eAAe;MACfC,gBAAgB;AAER,MAAAC,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd;AACR,MAAMC,UAAU,GAAGC,YAAM,CAAC,IAAD,CAAzB;AACA,MAAMC,YAAY,GAAGD,YAAM,CAAC,IAAD,CAA3B;AAEA,MAAME,gBAAgB,GAAYC,mBAAa,CAACnB,OAAD,CAA/C;AACA,MAAMoB,gBAAgB,GAAaD,mBAAa,CAACnB,OAAD,CAAb,IAAyCqB,mBAAa,CAACrB,OAAD,CAAtD,IAAmEG,MAAtG;AACA,MAAMmB,kBAAkB,GAAaC,qBAAe,CAACvB,OAAD,CAAf,KAA4B,MAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEwB,YAAT,UAAA,iBAAA,SAAA,WAAAxB,QAA5B,KAAyDG,MAA9F;AACA,MAAMsB,kBAAkB,GAAY,CAACC,sBAAgB,CAAC1B,OAAD,CAAjB,IAA8BG,MAAlE;AACA;;;;;AAIA,MAAMwB,iBAAiB,GAAarB,SAAS,KAAK,aAAf,IAC9B,CAACiB,qBAAe,CAACvB,OAAD,CADc,IAE9B,CAAC0B,sBAAgB,CAAC1B,OAAD,CAFa,KAG7BC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE2B,cAAT,EAAA,KAA6B,EAAC,MAAC3B,OAAD,UAAA,iBAAA,SAAA,MAA2B4B,WAA5B,CAHnC;;AAKA,MAAI,EAAEX,gBAAgB,IAAIS,iBAApB,IAAyCP,gBAAzC,IAA6DE,kBAA7D,IAAmFG,kBAArF,CAAJ,EAA8G;AAC5G,WAAO,IAAP;AACD;;AACD,sBACEK;AACE,IAAA,SAAS,EAAEC,kBAAY,CAAC,CAAChC,SAAD,EAAY,4BAAZ,CAAD,CADzB;AAEE,IAAA,GAAG,EAAEkB;AAFP,kBAIEa,wCAACE,yBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAA8C,0BACzDH,wCAACI,aAAD;AACE,QAAA,SAAS,EAAC,qCADZ;AAEE,QAAA,GAAG,EAAEnB,UAFP;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAJT;AAKE,QAAA,OAAO,EAAE;AACPkB,UAAAA,cAAc;AACdtB,UAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACD,SARH;AASE,QAAA,MAAM,EAAE;AACNA,UAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD;AAXH,sBAaEmB,wCAACK,kBAAD;AACE,QAAA,SAAS,EAAC,2CADZ;AAEE,QAAA,IAAI,EAAEC,iBAAS,CAACC,IAFlB;AAGE,QAAA,SAAS,EAAEC,kBAAU,CAACC,eAHxB;AAIE,QAAA,KAAK,EAAC,MAJR;AAKE,QAAA,MAAM,EAAC;AALT,QAbF,CADyD;AAsB1D,KAvBH;AAwBE,IAAA,SAAS,EAAE,mBAACC,KAAD;;;AACT,UAAMC,aAAa,GAAG,SAAhBA,aAAgB;AACpBD,QAAAA,KAAK;AACL7B,QAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD,OAHD;;AAIA,0BACEmB,wCAACY,wBAAD;AACE,QAAA,SAAS,EAAC,kCADZ;AAEE,QAAA,SAAS,EAAE3B,UAFb;AAGE,QAAA,gBAAgB,EAAEE,YAHpB;AAIE,QAAA,aAAa,EAAEwB,aAJjB;AAKE,QAAA,QAAQ,EAAEtC;AALZ,SAOGe,gBAAgB,iBACfY,wCAACa,uBAAD;AACE,QAAA,SAAS,EAAC,4DADZ;AAEE,QAAA,OAAO,EAAE;;;AACPC,UAAAA,qBAAe,CAAC,MAAC5C,OAAD,UAAA,iBAAA,SAAA,MAA0BA,OAA3B,CAAf;AACAyC,UAAAA,aAAa;AACd;AALH,SAOG7B,SAAS,CAACiC,kBAPb,CARJ,EAkBGlB,iBAAiB,iBAChBG,wCAACa,uBAAD;AACE,QAAA,SAAS,EAAC,6DADZ;AAEE,QAAA,OAAO,EAAE;AACPjC,UAAAA,eAAe,CAACV,OAAD,CAAf;AACAyC,UAAAA,aAAa;AACd,SALH;AAME,QAAA,OAAO,EAAE,CAAAzC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE8C,eAAT,IAA2B;AANtC,SAQGlC,SAAS,CAACmC,mBARb,CAnBJ,EA8BG3B,gBAAgB,iBACfU,wCAACa,uBAAD;AACE,QAAA,SAAS,EAAC,4DADZ;AAEE,QAAA,OAAO,EAAE;AACP,cAAI,CAACtC,QAAL,EAAe;AACbE,YAAAA,QAAQ,CAAC,IAAD,CAAR;AACAkC,YAAAA,aAAa;AACd;AACF;AAPH,SASG7B,SAAS,CAACoC,kBATb,CA/BJ,EA2CG1B,kBAAkB,iBACjBQ,wCAACa,uBAAD;AACE,QAAA,SAAS,EAAC,8DADZ;AAEE,QAAA,OAAO,EAAE;AACP,cAAI,CAACtC,QAAL,EAAe;AACbI,YAAAA,aAAa,CAACT,OAAD,CAAb;AACAyC,YAAAA,aAAa;AACd;AACF;AAPH,SASG7B,SAAS,CAACqC,oBATb,CA5CJ,EAwDGxB,kBAAkB,iBACjBK,wCAACa,uBAAD;AACE,QAAA,SAAS,EAAC,8DADZ;AAEE,QAAA,OAAO,EAAE;AACP,cAAI,CAACtC,QAAL,EAAe;AACbG,YAAAA,UAAU,CAAC,IAAD,CAAV;AACAiC,YAAAA,aAAa;AACd;AACF,SAPH;AAQE,QAAA,OAAO,EAAE,CAAA,MAAAzC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEkD,UAAT,UAAA,iBAAA,SAAA,MAAqBC,UAArB,IAAkC;AAR7C,SAUGvC,SAAS,CAACwC,oBAVb,CAzDJ,CADF;AAyED;AAtGH,IAJF,CADF;AA+GD;;;;"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var ui_ContextMenu = require('./ContextMenu.js');
|
|
5
|
+
var ui_Icon = require('./Icon.js');
|
|
6
|
+
var ui_IconButton = require('./IconButton.js');
|
|
7
|
+
var ui_ImageRenderer = require('./ImageRenderer.js');
|
|
8
|
+
var ui_ReactionButton = require('./ReactionButton.js');
|
|
9
|
+
var index = require('../index-002a349d.js');
|
|
10
|
+
require('../_rollupPluginBabelHelpers-e54d2387.js');
|
|
11
|
+
require('prop-types');
|
|
12
|
+
require('../index-21f31180.js');
|
|
13
|
+
require('../stringSet-f4da182b.js');
|
|
14
|
+
require('react-dom');
|
|
15
|
+
require('./SortByRow.js');
|
|
16
|
+
require('../tslib.es6-d7d0a427.js');
|
|
17
|
+
|
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
+
|
|
20
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
21
|
+
|
|
22
|
+
function MessageItemReactionMenu(_a) {
|
|
23
|
+
var className = _a.className,
|
|
24
|
+
message = _a.message,
|
|
25
|
+
userId = _a.userId,
|
|
26
|
+
_b = _a.spaceFromTrigger,
|
|
27
|
+
spaceFromTrigger = _b === void 0 ? {} : _b,
|
|
28
|
+
emojiContainer = _a.emojiContainer,
|
|
29
|
+
toggleReaction = _a.toggleReaction,
|
|
30
|
+
setSupposedHover = _a.setSupposedHover;
|
|
31
|
+
var triggerRef = React.useRef(null);
|
|
32
|
+
var containerRef = React.useRef(null);
|
|
33
|
+
|
|
34
|
+
if (index.isPendingMessage(message) || index.isFailedMessage(message)) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
39
|
+
className: index.getClassName([className, 'sendbird-message-item-reaction-menu']),
|
|
40
|
+
ref: containerRef
|
|
41
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu["default"], {
|
|
42
|
+
menuTrigger: function menuTrigger(toggleDropdown) {
|
|
43
|
+
return /*#__PURE__*/React__default["default"].createElement(ui_IconButton, {
|
|
44
|
+
className: "sendbird-message-item-reaction-menu__trigger",
|
|
45
|
+
ref: triggerRef,
|
|
46
|
+
width: "32px",
|
|
47
|
+
height: "32px",
|
|
48
|
+
onClick: function onClick() {
|
|
49
|
+
toggleDropdown();
|
|
50
|
+
setSupposedHover(true);
|
|
51
|
+
},
|
|
52
|
+
onBlur: function onBlur() {
|
|
53
|
+
setSupposedHover(false);
|
|
54
|
+
}
|
|
55
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
|
|
56
|
+
className: "sendbird-message-item-reaction-menu__trigger__icon",
|
|
57
|
+
type: ui_Icon.IconTypes.EMOJI_MORE,
|
|
58
|
+
fillColor: ui_Icon.IconColors.CONTENT_INVERSE,
|
|
59
|
+
width: "24px",
|
|
60
|
+
height: "24px"
|
|
61
|
+
}));
|
|
62
|
+
},
|
|
63
|
+
menuItems: function menuItems(close) {
|
|
64
|
+
var closeDropdown = function closeDropdown() {
|
|
65
|
+
close();
|
|
66
|
+
setSupposedHover(false);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
return /*#__PURE__*/React__default["default"].createElement(ui_ContextMenu.EmojiListItems, {
|
|
70
|
+
parentRef: triggerRef,
|
|
71
|
+
parentContainRef: containerRef,
|
|
72
|
+
closeDropdown: closeDropdown,
|
|
73
|
+
spaceFromTrigger: spaceFromTrigger
|
|
74
|
+
}, index.getEmojiListAll(emojiContainer).map(function (emoji) {
|
|
75
|
+
var _a, _b, _c;
|
|
76
|
+
|
|
77
|
+
var isReacted = (_c = (_b = (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.filter(function (reaction) {
|
|
78
|
+
return reaction.key === emoji.key;
|
|
79
|
+
})[0]) === null || _b === void 0 ? void 0 : _b.userIds) === null || _c === void 0 ? void 0 : _c.some(function (reactorId) {
|
|
80
|
+
return reactorId === userId;
|
|
81
|
+
});
|
|
82
|
+
return /*#__PURE__*/React__default["default"].createElement(ui_ReactionButton, {
|
|
83
|
+
key: emoji.key,
|
|
84
|
+
width: "36px",
|
|
85
|
+
height: "36px",
|
|
86
|
+
selected: isReacted,
|
|
87
|
+
onClick: function onClick() {
|
|
88
|
+
closeDropdown();
|
|
89
|
+
toggleReaction(message, emoji.key, isReacted);
|
|
90
|
+
}
|
|
91
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_ImageRenderer, {
|
|
92
|
+
url: emoji.url,
|
|
93
|
+
width: "28px",
|
|
94
|
+
height: "28px",
|
|
95
|
+
placeHolder: function placeHolder(style) {
|
|
96
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
97
|
+
style: style
|
|
98
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
|
|
99
|
+
type: ui_Icon.IconTypes.QUESTION,
|
|
100
|
+
fillColor: ui_Icon.IconColors.ON_BACKGROUND_3,
|
|
101
|
+
width: "28px",
|
|
102
|
+
height: "28px"
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
}));
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
module.exports = MessageItemReactionMenu;
|
|
112
|
+
//# sourceMappingURL=MessageItemReactionMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageItemReactionMenu.js","sources":["../../../src/ui/MessageItemReactionMenu/index.tsx"],"sourcesContent":["import React, { ReactElement, useRef } from 'react';\nimport { FileMessage, UserMessage, Emoji, Reaction, EmojiContainer } from 'sendbird';\nimport './index.scss';\n\nimport ContextMenu, { EmojiListItems } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport { getClassName, getEmojiListAll, isPendingMessage, isFailedMessage } from '../../utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage | FileMessage;\n userId: string;\n spaceFromTrigger?: Record<string, unknown>;\n emojiContainer?: EmojiContainer;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setSupposedHover?: (bool: boolean) => void;\n}\n\nexport default function MessageItemReactionMenu({\n className,\n message,\n userId,\n spaceFromTrigger = {},\n emojiContainer,\n toggleReaction,\n setSupposedHover,\n}: Props): ReactElement {\n const triggerRef = useRef(null);\n const containerRef = useRef(null);\n\n if(isPendingMessage(message) || isFailedMessage(message)) {\n return null;\n }\n\n return (\n <div\n className={getClassName([className, 'sendbird-message-item-reaction-menu'])}\n ref={containerRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <IconButton\n className=\"sendbird-message-item-reaction-menu__trigger\"\n ref={triggerRef}\n width=\"32px\"\n height=\"32px\"\n onClick={(): void => {\n toggleDropdown();\n setSupposedHover(true);\n }}\n onBlur={(): void => {\n setSupposedHover(false);\n }}\n >\n <Icon\n className=\"sendbird-message-item-reaction-menu__trigger__icon\"\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )}\n menuItems={(close: () => void): ReactElement => {\n const closeDropdown = (): void => {\n close();\n setSupposedHover(false);\n };\n return (\n <EmojiListItems\n parentRef={triggerRef}\n parentContainRef={containerRef}\n closeDropdown={closeDropdown}\n spaceFromTrigger={spaceFromTrigger}\n >\n {getEmojiListAll(emojiContainer).map((emoji: Emoji): ReactElement => {\n const isReacted: boolean = message?.reactions?.\n filter((reaction: Reaction) => reaction.key === emoji.key)[0]?.userIds?.\n some((reactorId: string) => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width=\"36px\"\n height=\"36px\"\n selected={isReacted}\n onClick={() => {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n <ImageRenderer\n url={emoji.url}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style) => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n </EmojiListItems>\n );\n }}\n />\n </div>\n );\n}\n"],"names":["MessageItemReactionMenu","_a","className","message","userId","_b","spaceFromTrigger","emojiContainer","toggleReaction","setSupposedHover","triggerRef","useRef","containerRef","isPendingMessage","isFailedMessage","React","getClassName","ContextMenu","toggleDropdown","IconButton","Icon","IconTypes","EMOJI_MORE","IconColors","CONTENT_INVERSE","close","closeDropdown","EmojiListItems","getEmojiListAll","map","emoji","isReacted","reactions","filter","reaction","key","userIds","some","reactorId","ReactionButton","ImageRenderer","url","style","QUESTION","ON_BACKGROUND_3"],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('../tslib.es6-d7d0a427.js');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var ui_Avatar = require('./Avatar.js');
|
|
6
|
+
var ui_Icon = require('./Icon.js');
|
|
7
|
+
var ui_Label = require('../index-21f31180.js');
|
|
8
|
+
var LocalizationContext = require('../LocalizationContext-3b5ce8ae.js');
|
|
9
|
+
var index$1 = require('../index-0159bc57.js');
|
|
10
|
+
var index = require('../index-46522cf0.js');
|
|
11
|
+
require('./ImageRenderer.js');
|
|
12
|
+
require('../_rollupPluginBabelHelpers-e54d2387.js');
|
|
13
|
+
require('prop-types');
|
|
14
|
+
require('../uuid-ba6cc3c5.js');
|
|
15
|
+
require('../stringSet-f4da182b.js');
|
|
16
|
+
require('../index-d9439e95.js');
|
|
17
|
+
require('../index-c0693be4.js');
|
|
18
|
+
|
|
19
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
|
+
|
|
21
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
22
|
+
|
|
23
|
+
function getCreatedAt(createdAt, locale) {
|
|
24
|
+
var optionalParam = locale ? {
|
|
25
|
+
locale: locale
|
|
26
|
+
} : null;
|
|
27
|
+
|
|
28
|
+
if (!createdAt) {
|
|
29
|
+
return '';
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (index.isToday(createdAt)) {
|
|
33
|
+
return index$1.format(createdAt, 'p', optionalParam);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (index.isYesterday(createdAt)) {
|
|
37
|
+
return index.formatRelative(createdAt, new Date(), optionalParam);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return index$1.format(createdAt, 'MMM dd', optionalParam);
|
|
41
|
+
}
|
|
42
|
+
function getIconOfFileType(message) {
|
|
43
|
+
var url = message.url;
|
|
44
|
+
var fileMessageUrl = url;
|
|
45
|
+
var fileExtension = fileMessageUrl.match(/\.([^.]*?)(?=\?|#|$)/)[1];
|
|
46
|
+
|
|
47
|
+
if (/(jpg|jpeg|png)$/i.test(fileExtension)) {
|
|
48
|
+
return ui_Icon.IconTypes.PHOTO;
|
|
49
|
+
} else if (/mp4$/i.test(fileExtension)) {
|
|
50
|
+
return ui_Icon.IconTypes.PLAY;
|
|
51
|
+
} else if (/mp3/i.test(fileExtension)) {
|
|
52
|
+
return ui_Icon.IconTypes.FILE_AUDIO;
|
|
53
|
+
} else if (/gif/i.test(fileExtension)) {
|
|
54
|
+
return ui_Icon.IconTypes.GIF;
|
|
55
|
+
} else {
|
|
56
|
+
return ui_Icon.IconTypes.FILE_DOCUMENT;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function truncate(fullText, textLimit) {
|
|
60
|
+
if (fullText.length <= textLimit) return fullText;
|
|
61
|
+
var separator = '...';
|
|
62
|
+
var sepLen = separator.length;
|
|
63
|
+
var charsToShow = textLimit - sepLen;
|
|
64
|
+
var frontChars = Math.ceil(charsToShow / 2);
|
|
65
|
+
var backChars = Math.floor(charsToShow / 2);
|
|
66
|
+
return fullText.substr(0, frontChars) + separator + fullText.substr(fullText.length - backChars);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function MessageSearchFileItem(props) {
|
|
70
|
+
var className = props.className,
|
|
71
|
+
message = props.message,
|
|
72
|
+
selected = props.selected,
|
|
73
|
+
_onClick = props.onClick;
|
|
74
|
+
var createdAt = message.createdAt,
|
|
75
|
+
url = message.url,
|
|
76
|
+
name = message.name;
|
|
77
|
+
var fileMessageUrl = url;
|
|
78
|
+
var sender = message.sender || message._sender;
|
|
79
|
+
var profileUrl = sender.profileUrl,
|
|
80
|
+
nickname = sender.nickname;
|
|
81
|
+
|
|
82
|
+
var _a = LocalizationContext.useLocalization(),
|
|
83
|
+
stringSet = _a.stringSet,
|
|
84
|
+
dateLocale = _a.dateLocale;
|
|
85
|
+
|
|
86
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
87
|
+
className: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-search-file-item', selected ? 'sendbird-message-search-file-item--selected' : ''], false).join(' '),
|
|
88
|
+
onClick: function onClick(e) {
|
|
89
|
+
e.stopPropagation();
|
|
90
|
+
|
|
91
|
+
_onClick(message);
|
|
92
|
+
}
|
|
93
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
94
|
+
className: "sendbird-message-search-file-item__left"
|
|
95
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_Avatar["default"], {
|
|
96
|
+
className: "sendbird-message-search-file-item__left__sender-avatar",
|
|
97
|
+
src: profileUrl,
|
|
98
|
+
alt: "profile image",
|
|
99
|
+
width: "56px",
|
|
100
|
+
height: "56px"
|
|
101
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
102
|
+
className: "sendbird-message-search-file-item__right"
|
|
103
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
|
|
104
|
+
className: "sendbird-message-search-file-item__right__sender-name",
|
|
105
|
+
type: ui_Label.LabelTypography.SUBTITLE_2,
|
|
106
|
+
color: ui_Label.LabelColors.ONBACKGROUND_1
|
|
107
|
+
}, nickname || stringSet.NO_NAME), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
108
|
+
className: "sendbird-message-search-file-item__right__content"
|
|
109
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
110
|
+
className: "sendbird-message-search-file-item__right__content__type-icon"
|
|
111
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
|
|
112
|
+
type: getIconOfFileType(message),
|
|
113
|
+
fillColor: ui_Icon.IconColors.PRIMARY,
|
|
114
|
+
width: "18px",
|
|
115
|
+
height: "18px"
|
|
116
|
+
})), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
|
|
117
|
+
className: "sendbird-message-search-file-item__right__content__url",
|
|
118
|
+
type: ui_Label.LabelTypography.BODY_2,
|
|
119
|
+
color: ui_Label.LabelColors.ONBACKGROUND_1
|
|
120
|
+
}, truncate(name || fileMessageUrl, 28)))), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
|
|
121
|
+
className: "sendbird-message-search-file-item__message-created-at",
|
|
122
|
+
type: ui_Label.LabelTypography.CAPTION_3,
|
|
123
|
+
color: ui_Label.LabelColors.ONBACKGROUND_2
|
|
124
|
+
}, getCreatedAt(createdAt, dateLocale)), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
125
|
+
className: "sendbird-message-search-file-item__right-footer"
|
|
126
|
+
}));
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
module.exports = MessageSearchFileItem;
|
|
130
|
+
//# sourceMappingURL=MessageSearchFileItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageSearchFileItem.js","sources":["../../../src/ui/MessageSearchFileItem/utils.ts","../../../src/ui/MessageSearchFileItem/index.tsx"],"sourcesContent":["import type { Locale } from 'date-fns';\nimport format from 'date-fns/format';\nimport formatRelative from 'date-fns/formatRelative';\nimport isToday from 'date-fns/isToday';\nimport isYesterday from 'date-fns/isYesterday';\nimport { IconTypes } from '../Icon';\n\nexport function getCreatedAt(createdAt: number, locale: Locale): string {\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return formatRelative(createdAt, new Date(), optionalParam);\n }\n return format(createdAt, 'MMM dd', optionalParam);\n}\n\nexport function getIconOfFileType(message: SendbirdUIKit.ClientFileMessage): string {\n const { url } = message;\n const fileMessageUrl = url;\n const fileExtension = (fileMessageUrl.match(/\\.([^.]*?)(?=\\?|#|$)/))[1];\n\n if (/(jpg|jpeg|png)$/i.test(fileExtension)) {\n return IconTypes.PHOTO;\n } else if (/mp4$/i.test(fileExtension)) {\n return IconTypes.PLAY;\n } else if (/mp3/i.test(fileExtension)) {\n return IconTypes.FILE_AUDIO;\n } else if (/gif/i.test(fileExtension)) {\n return IconTypes.GIF;\n } else {\n return IconTypes.FILE_DOCUMENT;\n }\n}\n\nexport function truncate(fullText: string, textLimit: number): string {\n if (fullText.length <= textLimit) return fullText;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = textLimit - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullText.substr(0, frontChars) + separator + fullText.substr(fullText.length - backChars);\n}\n","import React, { ReactElement } from 'react';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport Icon, { IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { getCreatedAt, getIconOfFileType, truncate } from './utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: SendbirdUIKit.ClientFileMessage;\n selected?: boolean;\n onClick?: (message: SendbirdUIKit.ClientFileMessage) => void;\n}\n\nexport default function MessageSearchFileItem(props: Props): ReactElement {\n const {\n className,\n message,\n selected,\n onClick,\n } = props;\n const { createdAt, url, name } = message;\n const fileMessageUrl = url;\n const sender = message.sender || message._sender;\n const { profileUrl, nickname } = sender;\n const { stringSet, dateLocale } = useLocalization();\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-search-file-item',\n selected ? 'sendbird-message-search-file-item--selected' : '',\n ].join(' ')}\n onClick={(e) => {\n e.stopPropagation();\n onClick(message);\n }}\n >\n <div className=\"sendbird-message-search-file-item__left\">\n <Avatar\n className=\"sendbird-message-search-file-item__left__sender-avatar\"\n src={profileUrl}\n alt=\"profile image\"\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n <div className=\"sendbird-message-search-file-item__right\">\n <Label\n className=\"sendbird-message-search-file-item__right__sender-name\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {nickname || stringSet.NO_NAME}\n </Label>\n <div className=\"sendbird-message-search-file-item__right__content\">\n <div className=\"sendbird-message-search-file-item__right__content__type-icon\">\n <Icon\n type={getIconOfFileType(message)}\n fillColor={IconColors.PRIMARY}\n width=\"18px\"\n height=\"18px\"\n />\n </div>\n <Label\n className=\"sendbird-message-search-file-item__right__content__url\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {truncate(name || fileMessageUrl, 28)}\n </Label>\n </div>\n </div>\n <Label\n className=\"sendbird-message-search-file-item__message-created-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {getCreatedAt(createdAt, dateLocale)}\n </Label>\n <div className=\"sendbird-message-search-file-item__right-footer\" />\n </div>\n );\n}\n"],"names":["getCreatedAt","createdAt","locale","optionalParam","isToday","format","isYesterday","formatRelative","Date","getIconOfFileType","message","url","fileMessageUrl","fileExtension","match","test","IconTypes","PHOTO","PLAY","FILE_AUDIO","GIF","FILE_DOCUMENT","truncate","fullText","textLimit","length","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","MessageSearchFileItem","props","className","selected","onClick","name","sender","_sender","profileUrl","nickname","_a","useLocalization","stringSet","dateLocale","React","__spreadArray","Array","isArray","join","e","stopPropagation","Avatar","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","NO_NAME","Icon","IconColors","PRIMARY","BODY_2","CAPTION_3","ONBACKGROUND_2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;SAOgBA,aAAaC,WAAmBC;AAC9C,MAAMC,aAAa,GAAGD,MAAM,GAAG;AAAEA,IAAAA,MAAM;AAAR,GAAH,GAAgB,IAA5C;;AACA,MAAI,CAACD,SAAL,EAAgB;AACd,WAAO,EAAP;AACD;;AACD,MAAIG,aAAO,CAACH,SAAD,CAAX,EAAwB;AACtB,WAAOI,cAAM,CAACJ,SAAD,EAAY,GAAZ,EAAiBE,aAAjB,CAAb;AACD;;AACD,MAAIG,iBAAW,CAACL,SAAD,CAAf,EAA4B;AAC1B,WAAOM,oBAAc,CAACN,SAAD,EAAY,IAAIO,IAAJ,EAAZ,EAAwBL,aAAxB,CAArB;AACD;;AACD,SAAOE,cAAM,CAACJ,SAAD,EAAY,QAAZ,EAAsBE,aAAtB,CAAb;AACD;SAEeM,kBAAkBC;AACxB,MAAAC,GAAG,GAAKD,OAAO,IAAf;AACR,MAAME,cAAc,GAAGD,GAAvB;AACA,MAAME,aAAa,GAAID,cAAc,CAACE,KAAf,CAAqB,sBAArB,CAAD,CAA+C,CAA/C,CAAtB;;AAEA,MAAI,mBAAmBC,IAAnB,CAAwBF,aAAxB,CAAJ,EAA4C;AAC1C,WAAOG,iBAAS,CAACC,KAAjB;AACD,GAFD,MAEO,IAAI,QAAQF,IAAR,CAAaF,aAAb,CAAJ,EAAiC;AACtC,WAAOG,iBAAS,CAACE,IAAjB;AACD,GAFM,MAEA,IAAI,OAAOH,IAAP,CAAYF,aAAZ,CAAJ,EAAgC;AACrC,WAAOG,iBAAS,CAACG,UAAjB;AACD,GAFM,MAEA,IAAI,OAAOJ,IAAP,CAAYF,aAAZ,CAAJ,EAAgC;AACrC,WAAOG,iBAAS,CAACI,GAAjB;AACD,GAFM,MAEA;AACL,WAAOJ,iBAAS,CAACK,aAAjB;AACD;AACF;SAEeC,SAASC,UAAkBC;AACzC,MAAID,QAAQ,CAACE,MAAT,IAAmBD,SAAvB,EAAkC,OAAOD,QAAP;AAClC,MAAMG,SAAS,GAAG,KAAlB;AACA,MAAMC,MAAM,GAAGD,SAAS,CAACD,MAAzB;AACA,MAAMG,WAAW,GAAGJ,SAAS,GAAGG,MAAhC;AACA,MAAME,UAAU,GAAGC,IAAI,CAACC,IAAL,CAAUH,WAAW,GAAG,CAAxB,CAAnB;AACA,MAAMI,SAAS,GAAGF,IAAI,CAACG,KAAL,CAAWL,WAAW,GAAG,CAAzB,CAAlB;AACA,SAAOL,QAAQ,CAACW,MAAT,CAAgB,CAAhB,EAAmBL,UAAnB,IAAiCH,SAAjC,GAA6CH,QAAQ,CAACW,MAAT,CAAgBX,QAAQ,CAACE,MAAT,GAAkBO,SAAlC,CAApD;AACD;;SC/BuBG,sBAAsBC;AAE1C,MAAAC,SAAS,GAIPD,KAAK,UAJP;AAAA,MACA1B,OAAO,GAGL0B,KAAK,QAJP;AAAA,MAEAE,QAAQ,GAENF,KAAK,SAJP;AAAA,MAGAG,QAAO,GACLH,KAAK,QAJP;AAKM,MAAAnC,SAAS,GAAgBS,OAAO,UAAhC;AAAA,MAAWC,GAAG,GAAWD,OAAO,IAAhC;AAAA,MAAgB8B,IAAI,GAAK9B,OAAO,KAAhC;AACR,MAAME,cAAc,GAAGD,GAAvB;AACA,MAAM8B,MAAM,GAAG/B,OAAO,CAAC+B,MAAR,IAAkB/B,OAAO,CAACgC,OAAzC;AACQ,MAAAC,UAAU,GAAeF,MAAM,WAA/B;AAAA,MAAYG,QAAQ,GAAKH,MAAM,SAA/B;;AACF,MAAAI,KAA4BC,mCAAe,EAA3C;AAAA,MAAEC,SAAS,eAAX;AAAA,MAAaC,UAAU,gBAAvB;;AAEN,sBACEC;AACE,IAAA,SAAS,EAAEC,oDACLC,KAAK,CAACC,OAAN,CAAcf,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,WAC3C,qCACAC,QAAQ,GAAG,6CAAH,GAAmD,WAHlD,CAITe,IAJS,CAIJ,GAJI,CADb;AAME,IAAA,OAAO,EAAE,iBAACC,CAAD;AACPA,MAAAA,CAAC,CAACC,eAAF;;AACAhB,MAAAA,QAAO,CAAC7B,OAAD,CAAP;AACD;AATH,kBAWEuC;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACO,oBAAD;AACE,IAAA,SAAS,EAAC,wDADZ;AAEE,IAAA,GAAG,EAAEb,UAFP;AAGE,IAAA,GAAG,EAAC,eAHN;AAIE,IAAA,KAAK,EAAC,MAJR;AAKE,IAAA,MAAM,EAAC;AALT,IADF,CAXF,eAoBEM;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACQ,cAAD;AACE,IAAA,SAAS,EAAC,uDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACC,UAFxB;AAGE,IAAA,KAAK,EAAEC,oBAAW,CAACC;AAHrB,KAKGjB,QAAQ,IAAIG,SAAS,CAACe,OALzB,CADF,eAQEb;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACc,kBAAD;AACE,IAAA,IAAI,EAAEtD,iBAAiB,CAACC,OAAD,CADzB;AAEE,IAAA,SAAS,EAAEsD,kBAAU,CAACC,OAFxB;AAGE,IAAA,KAAK,EAAC,MAHR;AAIE,IAAA,MAAM,EAAC;AAJT,IADF,CADF,eASEhB,wCAACQ,cAAD;AACE,IAAA,SAAS,EAAC,wDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACQ,MAFxB;AAGE,IAAA,KAAK,EAAEN,oBAAW,CAACC;AAHrB,KAKGvC,QAAQ,CAACkB,IAAI,IAAI5B,cAAT,EAAyB,EAAzB,CALX,CATF,CARF,CApBF,eA8CEqC,wCAACQ,cAAD;AACE,IAAA,SAAS,EAAC,uDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACS,SAFxB;AAGE,IAAA,KAAK,EAAEP,oBAAW,CAACQ;AAHrB,KAKGpE,YAAY,CAACC,SAAD,EAAY+C,UAAZ,CALf,CA9CF,eAqDEC;AAAK,IAAA,SAAS,EAAC;AAAf,IArDF,CADF;AAyDD;;;;"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('../tslib.es6-d7d0a427.js');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var index$1 = require('../index-0159bc57.js');
|
|
6
|
+
var index = require('../index-46522cf0.js');
|
|
7
|
+
var ui_Avatar = require('./Avatar.js');
|
|
8
|
+
var ui_Label = require('../index-21f31180.js');
|
|
9
|
+
var LocalizationContext = require('../LocalizationContext-3b5ce8ae.js');
|
|
10
|
+
require('../index-d9439e95.js');
|
|
11
|
+
require('../index-c0693be4.js');
|
|
12
|
+
require('./ImageRenderer.js');
|
|
13
|
+
require('../_rollupPluginBabelHelpers-e54d2387.js');
|
|
14
|
+
require('prop-types');
|
|
15
|
+
require('./Icon.js');
|
|
16
|
+
require('../uuid-ba6cc3c5.js');
|
|
17
|
+
require('../stringSet-f4da182b.js');
|
|
18
|
+
|
|
19
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
|
+
|
|
21
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
22
|
+
|
|
23
|
+
function getCreatedAt (createdAt, locale) {
|
|
24
|
+
var optionalParam = locale ? {
|
|
25
|
+
locale: locale
|
|
26
|
+
} : null;
|
|
27
|
+
|
|
28
|
+
if (!createdAt) {
|
|
29
|
+
return '';
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (index.isToday(createdAt)) {
|
|
33
|
+
return index$1.format(createdAt, 'p', optionalParam);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (index.isYesterday(createdAt)) {
|
|
37
|
+
return index.formatRelative(createdAt, new Date(), optionalParam);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return index$1.format(createdAt, 'MMM dd', optionalParam);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function MessageSearchItem(_a) {
|
|
44
|
+
var className = _a.className,
|
|
45
|
+
message = _a.message,
|
|
46
|
+
selected = _a.selected,
|
|
47
|
+
_onClick = _a.onClick;
|
|
48
|
+
var createdAt = message.createdAt;
|
|
49
|
+
var messageText = message.message;
|
|
50
|
+
var sender = message.sender || message._sender;
|
|
51
|
+
var profileUrl = sender.profileUrl,
|
|
52
|
+
nickname = sender.nickname;
|
|
53
|
+
|
|
54
|
+
var _b = LocalizationContext.useLocalization(),
|
|
55
|
+
stringSet = _b.stringSet,
|
|
56
|
+
dateLocale = _b.dateLocale;
|
|
57
|
+
|
|
58
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
59
|
+
className: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-search-item', selected ? 'sendbird-message-search-item--selected' : ''], false).join(' '),
|
|
60
|
+
onClick: function onClick(e) {
|
|
61
|
+
e.stopPropagation();
|
|
62
|
+
|
|
63
|
+
_onClick(message);
|
|
64
|
+
}
|
|
65
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
66
|
+
className: "sendbird-message-search-item__left"
|
|
67
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_Avatar["default"], {
|
|
68
|
+
className: "sendbird-message-search-item__left__sender-avatar",
|
|
69
|
+
src: profileUrl,
|
|
70
|
+
alt: "profile image",
|
|
71
|
+
width: "56px",
|
|
72
|
+
height: "56px"
|
|
73
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
74
|
+
className: "sendbird-message-search-item__right"
|
|
75
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
|
|
76
|
+
className: "sendbird-message-search-item__right__sender-name",
|
|
77
|
+
type: ui_Label.LabelTypography.SUBTITLE_2,
|
|
78
|
+
color: ui_Label.LabelColors.ONBACKGROUND_1
|
|
79
|
+
}, nickname || stringSet.NO_NAME), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
|
|
80
|
+
className: "sendbird-message-search-item__right__message-text",
|
|
81
|
+
type: ui_Label.LabelTypography.BODY_2,
|
|
82
|
+
color: ui_Label.LabelColors.ONBACKGROUND_3
|
|
83
|
+
}, messageText), /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
|
|
84
|
+
className: "sendbird-message-search-item__right__message-created-at",
|
|
85
|
+
type: ui_Label.LabelTypography.CAPTION_3,
|
|
86
|
+
color: ui_Label.LabelColors.ONBACKGROUND_2
|
|
87
|
+
}, getCreatedAt(createdAt, dateLocale))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
88
|
+
className: "sendbird-message-search-item__right-footer"
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
module.exports = MessageSearchItem;
|
|
93
|
+
//# sourceMappingURL=MessageSearchItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageSearchItem.js","sources":["../../../src/ui/MessageSearchItem/getCreatedAt.ts","../../../src/ui/MessageSearchItem/index.tsx"],"sourcesContent":["import type { Locale } from 'date-fns';\nimport format from 'date-fns/format';\nimport formatRelative from 'date-fns/formatRelative';\nimport isToday from 'date-fns/isToday';\nimport isYesterday from 'date-fns/isYesterday';\n\n// getCreatedAt\nexport default function (createdAt: number, locale: Locale): string {\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return formatRelative(createdAt, new Date(), optionalParam);\n }\n return format(createdAt, 'MMM dd', optionalParam);\n}\n","import React from 'react';\nimport './index.scss';\nimport getCreatedAt from './getCreatedAt';\n\nimport Avatar from '../Avatar';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\ninterface Props {\n className?: string | Array<string>;\n message: SendbirdUIKit.ClientUserMessage;\n selected?: boolean;\n onClick?: (message: SendbirdUIKit.ClientMessage) => void;\n}\n\nexport default function MessageSearchItem({\n className,\n message,\n selected,\n onClick,\n}: Props): JSX.Element {\n const { createdAt } = message;\n const messageText = message.message;\n const sender = message.sender || message._sender;\n const { profileUrl, nickname } = sender;\n const { stringSet, dateLocale } = useLocalization();\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-search-item',\n selected ? 'sendbird-message-search-item--selected' : '',\n ].join(' ')}\n onClick={(e) => {\n e.stopPropagation();\n onClick(message);\n }}\n >\n <div className=\"sendbird-message-search-item__left\">\n <Avatar\n className=\"sendbird-message-search-item__left__sender-avatar\"\n src={profileUrl}\n alt=\"profile image\"\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n <div className=\"sendbird-message-search-item__right\">\n <Label\n className=\"sendbird-message-search-item__right__sender-name\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {nickname || stringSet.NO_NAME}\n </Label>\n <Label\n className=\"sendbird-message-search-item__right__message-text\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {messageText}\n </Label>\n <Label\n className=\"sendbird-message-search-item__right__message-created-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {getCreatedAt(createdAt, dateLocale)}\n </Label>\n </div>\n <div className=\"sendbird-message-search-item__right-footer\" />\n </div>\n );\n}\n"],"names":["createdAt","locale","optionalParam","isToday","format","isYesterday","formatRelative","Date","MessageSearchItem","_a","className","message","selected","onClick","messageText","sender","_sender","profileUrl","nickname","_b","useLocalization","stringSet","dateLocale","React","__spreadArray","Array","isArray","join","e","stopPropagation","Avatar","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","NO_NAME","BODY_2","ONBACKGROUND_3","CAPTION_3","ONBACKGROUND_2","getCreatedAt"],"mappings":";;;;;;;;;;;;;;;;;;;;;;uBAOyBA,WAAmBC;AAC1C,MAAMC,aAAa,GAAGD,MAAM,GAAG;AAAEA,IAAAA,MAAM;AAAR,GAAH,GAAgB,IAA5C;;AACA,MAAI,CAACD,SAAL,EAAgB;AACd,WAAO,EAAP;AACD;;AACD,MAAIG,aAAO,CAACH,SAAD,CAAX,EAAwB;AACtB,WAAOI,cAAM,CAACJ,SAAD,EAAY,GAAZ,EAAiBE,aAAjB,CAAb;AACD;;AACD,MAAIG,iBAAW,CAACL,SAAD,CAAf,EAA4B;AAC1B,WAAOM,oBAAc,CAACN,SAAD,EAAY,IAAIO,IAAJ,EAAZ,EAAwBL,aAAxB,CAArB;AACD;;AACD,SAAOE,cAAM,CAACJ,SAAD,EAAY,QAAZ,EAAsBE,aAAtB,CAAb;AACD;;SCJuBM,kBAAkBC;MACxCC,SAAS;MACTC,OAAO;MACPC,QAAQ;MACRC,QAAO;AAEC,MAAAb,SAAS,GAAKW,OAAO,UAArB;AACR,MAAMG,WAAW,GAAGH,OAAO,CAACA,OAA5B;AACA,MAAMI,MAAM,GAAGJ,OAAO,CAACI,MAAR,IAAkBJ,OAAO,CAACK,OAAzC;AACQ,MAAAC,UAAU,GAAeF,MAAM,WAA/B;AAAA,MAAYG,QAAQ,GAAKH,MAAM,SAA/B;;AACF,MAAAI,KAA4BC,mCAAe,EAA3C;AAAA,MAAEC,SAAS,eAAX;AAAA,MAAaC,UAAU,gBAAvB;;AAEN,sBACEC;AACE,IAAA,SAAS,EAAEC,oDACLC,KAAK,CAACC,OAAN,CAAchB,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,WAC3C,gCACAE,QAAQ,GAAG,wCAAH,GAA8C,WAH7C,CAITe,IAJS,CAIJ,GAJI,CADb;AAME,IAAA,OAAO,EAAE,iBAACC,CAAD;AACPA,MAAAA,CAAC,CAACC,eAAF;;AACAhB,MAAAA,QAAO,CAACF,OAAD,CAAP;AACD;AATH,kBAWEY;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACO,oBAAD;AACE,IAAA,SAAS,EAAC,mDADZ;AAEE,IAAA,GAAG,EAAEb,UAFP;AAGE,IAAA,GAAG,EAAC,eAHN;AAIE,IAAA,KAAK,EAAC,MAJR;AAKE,IAAA,MAAM,EAAC;AALT,IADF,CAXF,eAoBEM;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,wCAACQ,cAAD;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACC,UAFxB;AAGE,IAAA,KAAK,EAAEC,oBAAW,CAACC;AAHrB,KAKGjB,QAAQ,IAAIG,SAAS,CAACe,OALzB,CADF,eAQEb,wCAACQ,cAAD;AACE,IAAA,SAAS,EAAC,mDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACK,MAFxB;AAGE,IAAA,KAAK,EAAEH,oBAAW,CAACI;AAHrB,KAKGxB,WALH,CARF,eAeES,wCAACQ,cAAD;AACE,IAAA,SAAS,EAAC,yDADZ;AAEE,IAAA,IAAI,EAAEC,wBAAe,CAACO,SAFxB;AAGE,IAAA,KAAK,EAAEL,oBAAW,CAACM;AAHrB,KAKGC,YAAY,CAACzC,SAAD,EAAYsB,UAAZ,CALf,CAfF,CApBF,eA2CEC;AAAK,IAAA,SAAS,EAAC;AAAf,IA3CF,CADF;AA+CD;;;;"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var tslib_es6 = require('../tslib.es6-d7d0a427.js');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var index$1 = require('../index-0159bc57.js');
|
|
8
|
+
var ui_Icon = require('./Icon.js');
|
|
9
|
+
var ui_Label = require('../index-21f31180.js');
|
|
10
|
+
var ui_Loader = require('./Loader.js');
|
|
11
|
+
var index = require('../index-002a349d.js');
|
|
12
|
+
var LocalizationContext = require('../LocalizationContext-3b5ce8ae.js');
|
|
13
|
+
require('../index-d9439e95.js');
|
|
14
|
+
require('../_rollupPluginBabelHelpers-e54d2387.js');
|
|
15
|
+
require('prop-types');
|
|
16
|
+
require('../stringSet-f4da182b.js');
|
|
17
|
+
|
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
+
|
|
20
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
21
|
+
|
|
22
|
+
var MessageStatusTypes = index.getOutgoingMessageStates();
|
|
23
|
+
function MessageStatus(_a) {
|
|
24
|
+
var _b, _c;
|
|
25
|
+
|
|
26
|
+
var _d, _e;
|
|
27
|
+
|
|
28
|
+
var className = _a.className,
|
|
29
|
+
message = _a.message,
|
|
30
|
+
channel = _a.channel;
|
|
31
|
+
var dateLocale = LocalizationContext.useLocalization().dateLocale;
|
|
32
|
+
var status = React.useMemo(function () {
|
|
33
|
+
return index.getOutgoingMessageState(channel, message);
|
|
34
|
+
}, [(_d = channel === null || channel === void 0 ? void 0 : channel.getUnreadMemberCount) === null || _d === void 0 ? void 0 : _d.call(channel, message), (_e = channel === null || channel === void 0 ? void 0 : channel.getUndeliveredMemberCount) === null || _e === void 0 ? void 0 : _e.call(channel, message)]);
|
|
35
|
+
var showMessageStatusIcon = (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel()) && !(channel === null || channel === void 0 ? void 0 : channel.isSuper) && !(channel === null || channel === void 0 ? void 0 : channel.isPublic) && !(channel === null || channel === void 0 ? void 0 : channel.isBroadcast);
|
|
36
|
+
var iconType = (_b = {}, _b[MessageStatusTypes.SENT] = ui_Icon.IconTypes.DONE, _b[MessageStatusTypes.DELIVERED] = ui_Icon.IconTypes.DONE_ALL, _b[MessageStatusTypes.READ] = ui_Icon.IconTypes.DONE_ALL, _b[MessageStatusTypes.FAILED] = ui_Icon.IconTypes.ERROR, _b);
|
|
37
|
+
var iconColor = (_c = {}, _c[MessageStatusTypes.SENT] = ui_Icon.IconColors.SENT, _c[MessageStatusTypes.DELIVERED] = ui_Icon.IconColors.SENT, _c[MessageStatusTypes.READ] = ui_Icon.IconColors.READ, _c[MessageStatusTypes.FAILED] = ui_Icon.IconColors.ERROR, _c);
|
|
38
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
39
|
+
className: tslib_es6.__spreadArray(tslib_es6.__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-status'], false).join(' ')
|
|
40
|
+
}, status === MessageStatusTypes.PENDING ? /*#__PURE__*/React__default["default"].createElement(ui_Loader, {
|
|
41
|
+
className: "sendbird-message-status__icon " + (showMessageStatusIcon ? '' : 'hide-icon'),
|
|
42
|
+
width: "16px",
|
|
43
|
+
height: "16px"
|
|
44
|
+
}, /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
|
|
45
|
+
type: ui_Icon.IconTypes.SPINNER,
|
|
46
|
+
fillColor: ui_Icon.IconColors.PRIMARY,
|
|
47
|
+
width: "16px",
|
|
48
|
+
height: "16px"
|
|
49
|
+
})) : /*#__PURE__*/React__default["default"].createElement(ui_Icon["default"], {
|
|
50
|
+
className: "sendbird-message-status__icon " + (showMessageStatusIcon ? '' : 'hide-icon'),
|
|
51
|
+
type: iconType[status] || ui_Icon.IconTypes.ERROR,
|
|
52
|
+
fillColor: iconColor[status],
|
|
53
|
+
width: "16px",
|
|
54
|
+
height: "16px"
|
|
55
|
+
}), index.isSentStatus(status) && /*#__PURE__*/React__default["default"].createElement(ui_Label.Label, {
|
|
56
|
+
className: "sendbird-message-status__text",
|
|
57
|
+
type: ui_Label.LabelTypography.CAPTION_3,
|
|
58
|
+
color: ui_Label.LabelColors.ONBACKGROUND_2
|
|
59
|
+
}, index$1.format((message === null || message === void 0 ? void 0 : message.createdAt) || 0, 'p', {
|
|
60
|
+
locale: dateLocale
|
|
61
|
+
})));
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
exports.MessageStatusTypes = MessageStatusTypes;
|
|
65
|
+
exports["default"] = MessageStatus;
|
|
66
|
+
//# sourceMappingURL=MessageStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageStatus.js","sources":["../../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nimport {\n getOutgoingMessageState,\n getOutgoingMessageStates,\n isSentStatus,\n} from '../../utils';\nimport { FileMessage, GroupChannel, UserMessage } from 'sendbird';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nexport const MessageStatusTypes = getOutgoingMessageStates();\n\ninterface MessageStatusProps {\n className?: string;\n message: UserMessage | FileMessage;\n channel: GroupChannel;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n}: MessageStatusProps): React.ReactElement {\n const { dateLocale } = useLocalization();\n const status = useMemo(() => (\n getOutgoingMessageState(channel, message)\n ), [channel?.getUnreadMemberCount?.(message), channel?.getUndeliveredMemberCount?.(message)]);\n const showMessageStatusIcon = channel?.isGroupChannel()\n && !channel?.isSuper\n && !channel?.isPublic\n && !channel?.isBroadcast;\n const iconType = {\n [MessageStatusTypes.SENT]: IconTypes.DONE,\n [MessageStatusTypes.DELIVERED]: IconTypes.DONE_ALL,\n [MessageStatusTypes.READ]: IconTypes.DONE_ALL,\n [MessageStatusTypes.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [MessageStatusTypes.SENT]: IconColors.SENT,\n [MessageStatusTypes.DELIVERED]: IconColors.SENT,\n [MessageStatusTypes.READ]: IconColors.READ,\n [MessageStatusTypes.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === MessageStatusTypes.PENDING) ? (\n <Loader\n className={`sendbird-message-status__icon ${showMessageStatusIcon ? '' : 'hide-icon'}`}\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${showMessageStatusIcon ? '' : 'hide-icon'}`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n );\n}\n"],"names":["MessageStatusTypes","getOutgoingMessageStates","MessageStatus","_a","className","message","channel","dateLocale","useLocalization","status","useMemo","getOutgoingMessageState","getUnreadMemberCount","getUndeliveredMemberCount","showMessageStatusIcon","isGroupChannel","isSuper","isPublic","isBroadcast","iconType","_b","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","FAILED","ERROR","iconColor","_c","IconColors","React","__spreadArray","Array","isArray","join","PENDING","Loader","Icon","SPINNER","PRIMARY","isSentStatus","Label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2","format","createdAt","locale"],"mappings":"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"}
|