@sendbird/uikit-react 3.0.0-beta.4 → 3.0.0-beta.5
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 +313 -0
- package/App.js.map +1 -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 +355 -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 +236 -0
- package/ChannelList/components/ChannelListUI.js.map +1 -0
- package/ChannelList/components/ChannelPreview.js +211 -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 +89 -0
- package/ChannelList.js.map +1 -0
- package/ChannelListProvider-a7bdd63a.js +923 -0
- package/ChannelListProvider-a7bdd63a.js.map +1 -0
- package/ChannelProvider-923b58df.js +2114 -0
- package/ChannelProvider-923b58df.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-e491613f.js +53 -0
- package/CreateChannelProvider-e491613f.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-0e05ddca.js +22 -0
- package/LocalizationContext-0e05ddca.js.map +1 -0
- package/MemberList-ed7da941.js +425 -0
- package/MemberList-ed7da941.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-45a848a3.js +2011 -0
- package/OpenChannelProvider-45a848a3.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/SendbirdProvider.js +762 -0
- package/SendbirdProvider.js.map +1 -0
- package/UserProfileContext-90704c73.js +38 -0
- package/UserProfileContext-90704c73.js.map +1 -0
- package/_rollupPluginBabelHelpers-c7eeba03.js +233 -0
- package/_rollupPluginBabelHelpers-c7eeba03.js.map +1 -0
- package/actionTypes-e0f4e19c.js +6 -0
- package/actionTypes-e0f4e19c.js.map +1 -0
- package/cjs/App.js +320 -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 +361 -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 +107 -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 +242 -0
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -0
- package/cjs/ChannelList/components/ChannelPreview.js +217 -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 +23 -0
- package/cjs/ChannelList/context.js.map +1 -0
- package/cjs/ChannelList.js +95 -0
- package/cjs/ChannelList.js.map +1 -0
- package/cjs/ChannelListProvider-01864e22.js +936 -0
- package/cjs/ChannelListProvider-01864e22.js.map +1 -0
- package/cjs/ChannelProvider-3ef2a755.js +2127 -0
- package/cjs/ChannelProvider-3ef2a755.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-0d01dcbf.js +60 -0
- package/cjs/CreateChannelProvider-0d01dcbf.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-4c0a4a70.js +30 -0
- package/cjs/LocalizationContext-4c0a4a70.js.map +1 -0
- package/cjs/MemberList-b917d2b8.js +431 -0
- package/cjs/MemberList-b917d2b8.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-862a55ec.js +2020 -0
- package/cjs/OpenChannelProvider-862a55ec.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 +771 -0
- package/cjs/SendbirdProvider.js.map +1 -0
- package/cjs/UserProfileContext-0081d7b2.js +46 -0
- package/cjs/UserProfileContext-0081d7b2.js.map +1 -0
- package/cjs/_rollupPluginBabelHelpers-08d1d0ec.js +243 -0
- package/cjs/_rollupPluginBabelHelpers-08d1d0ec.js.map +1 -0
- package/cjs/actionTypes-03bdd863.js +10 -0
- package/cjs/actionTypes-03bdd863.js.map +1 -0
- package/cjs/color-37edcf95.js +42 -0
- package/cjs/color-37edcf95.js.map +1 -0
- package/cjs/compareIds-1cb14940.js +20 -0
- package/cjs/compareIds-1cb14940.js.map +1 -0
- package/cjs/const-21636adb.js +22 -0
- package/cjs/const-21636adb.js.map +1 -0
- package/cjs/const-64185108.js +14 -0
- package/cjs/const-64185108.js.map +1 -0
- package/cjs/context-8f183eb3.js +19 -0
- package/cjs/context-8f183eb3.js.map +1 -0
- package/cjs/index-1a6c1893.js +9 -0
- package/cjs/index-1a6c1893.js.map +1 -0
- package/cjs/index-23c51d89.js +67 -0
- package/cjs/index-23c51d89.js.map +1 -0
- package/cjs/index-30e8e785.js +142 -0
- package/cjs/index-30e8e785.js.map +1 -0
- package/cjs/index-4e4d7494.js +514 -0
- package/cjs/index-4e4d7494.js.map +1 -0
- package/cjs/index-630f8d1b.js +97 -0
- package/cjs/index-630f8d1b.js.map +1 -0
- package/cjs/index-6d82098c.js +130 -0
- package/cjs/index-6d82098c.js.map +1 -0
- package/cjs/index-7532e1ca.js +284 -0
- package/cjs/index-7532e1ca.js.map +1 -0
- package/cjs/index-8479199c.js +175 -0
- package/cjs/index-8479199c.js.map +1 -0
- package/cjs/index-94e8cf13.js +54 -0
- package/cjs/index-94e8cf13.js.map +1 -0
- package/cjs/index-a40d57a5.js +722 -0
- package/cjs/index-a40d57a5.js.map +1 -0
- package/cjs/index-dcd38046.js +1880 -0
- package/cjs/index-dcd38046.js.map +1 -0
- package/cjs/index.css +4463 -0
- package/cjs/index.css.map +1 -0
- package/cjs/index.js +162 -0
- package/cjs/index.js.map +1 -0
- package/cjs/openChannelUtils-46a3a403.js +92 -0
- package/cjs/openChannelUtils-46a3a403.js.map +1 -0
- package/cjs/sendBirdSelectors.js +741 -0
- package/cjs/sendBirdSelectors.js.map +1 -0
- package/cjs/stringSet-d9121aa6.js +118 -0
- package/cjs/stringSet-d9121aa6.js.map +1 -0
- package/cjs/topics-4fc933cb.js +18 -0
- package/cjs/topics-4fc933cb.js.map +1 -0
- package/cjs/tslib.es6-571bbfc9.js +40 -0
- package/cjs/tslib.es6-571bbfc9.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-63225dc9.js +32 -0
- package/cjs/utils-63225dc9.js.map +1 -0
- package/cjs/utils-b88eb3e0.js +6 -0
- package/cjs/utils-b88eb3e0.js.map +1 -0
- package/cjs/utils-f734965d.js +38 -0
- package/cjs/utils-f734965d.js.map +1 -0
- package/cjs/uuid-086f0c34.js +19 -0
- package/cjs/uuid-086f0c34.js.map +1 -0
- package/cjs/withSendBird.js +35 -0
- package/cjs/withSendBird.js.map +1 -0
- package/color-a3d3742c.js +39 -0
- package/color-a3d3742c.js.map +1 -0
- package/compareIds-2bfd667a.js +18 -0
- package/compareIds-2bfd667a.js.map +1 -0
- package/const-9f83647a.js +18 -0
- package/const-9f83647a.js.map +1 -0
- package/const-a8df15de.js +8 -0
- package/const-a8df15de.js.map +1 -0
- package/context-ae164d45.js +12 -0
- package/context-ae164d45.js.map +1 -0
- package/index-03baba6a.js +682 -0
- package/index-03baba6a.js.map +1 -0
- package/index-13eb0f5e.js +48 -0
- package/index-13eb0f5e.js.map +1 -0
- package/index-29563598.js +64 -0
- package/index-29563598.js.map +1 -0
- package/index-2c56786f.js +1873 -0
- package/index-2c56786f.js.map +1 -0
- package/index-80e330a9.js +7 -0
- package/index-80e330a9.js.map +1 -0
- package/index-89f5a4ba.js +168 -0
- package/index-89f5a4ba.js.map +1 -0
- package/index-d7840fad.js +280 -0
- package/index-d7840fad.js.map +1 -0
- package/index-df459121.js +121 -0
- package/index-df459121.js.map +1 -0
- package/index-e1b93b3a.js +131 -0
- package/index-e1b93b3a.js.map +1 -0
- package/index-e7c0bc26.js +512 -0
- package/index-e7c0bc26.js.map +1 -0
- package/index-f78ebc31.js +87 -0
- package/index-f78ebc31.js.map +1 -0
- package/index.css +4463 -0
- package/index.css.map +1 -0
- package/index.d.ts +1830 -0
- package/index.js +143 -0
- package/index.js.map +1 -0
- package/openChannelUtils-ae1d6038.js +81 -0
- package/openChannelUtils-ae1d6038.js.map +1 -0
- package/package.json +7 -29
- package/sendBirdSelectors.js +713 -0
- package/sendBirdSelectors.js.map +1 -0
- package/stringSet-6c9c68ae.js +116 -0
- package/stringSet-6c9c68ae.js.map +1 -0
- package/topics-d347c996.js +10 -0
- package/topics-d347c996.js.map +1 -0
- package/tslib.es6-61821688.js +38 -0
- package/tslib.es6-61821688.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-4e85584a.js +4 -0
- package/utils-4e85584a.js.map +1 -0
- package/utils-5e25aca3.js +34 -0
- package/utils-5e25aca3.js.map +1 -0
- package/utils-aed86fb8.js +30 -0
- package/utils-aed86fb8.js.map +1 -0
- package/uuid-6e6389e2.js +17 -0
- package/uuid-6e6389e2.js.map +1 -0
- package/withSendBird.js +26 -0
- package/withSendBird.js.map +1 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import React__default, { useContext, useRef } from 'react';
|
|
2
|
+
import ContextMenu, { MenuItems, MenuItem } from './ContextMenu.js';
|
|
3
|
+
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
4
|
+
import IconButton from './IconButton.js';
|
|
5
|
+
import { r as isUserMessage, B as isSentMessage, C as isFailedMessage, D as isPendingMessage, h as getClassName, E as copyToClipboard } from '../index-03baba6a.js';
|
|
6
|
+
import { a as LocalizationContext } from '../LocalizationContext-0e05ddca.js';
|
|
7
|
+
import '../_rollupPluginBabelHelpers-c7eeba03.js';
|
|
8
|
+
import 'prop-types';
|
|
9
|
+
import '../index-e1b93b3a.js';
|
|
10
|
+
import '../stringSet-6c9c68ae.js';
|
|
11
|
+
import 'react-dom';
|
|
12
|
+
import './SortByRow.js';
|
|
13
|
+
import '../tslib.es6-61821688.js';
|
|
14
|
+
import '../index-e7c0bc26.js';
|
|
15
|
+
|
|
16
|
+
function MessageItemMenu(_a) {
|
|
17
|
+
var _b, _c;
|
|
18
|
+
|
|
19
|
+
var className = _a.className,
|
|
20
|
+
message = _a.message,
|
|
21
|
+
channel = _a.channel,
|
|
22
|
+
_d = _a.isByMe,
|
|
23
|
+
isByMe = _d === void 0 ? false : _d,
|
|
24
|
+
_e = _a.disabled,
|
|
25
|
+
disabled = _e === void 0 ? false : _e,
|
|
26
|
+
replyType = _a.replyType,
|
|
27
|
+
showEdit = _a.showEdit,
|
|
28
|
+
showRemove = _a.showRemove,
|
|
29
|
+
resendMessage = _a.resendMessage,
|
|
30
|
+
setQuoteMessage = _a.setQuoteMessage,
|
|
31
|
+
setSupposedHover = _a.setSupposedHover;
|
|
32
|
+
var stringSet = useContext(LocalizationContext).stringSet;
|
|
33
|
+
var triggerRef = useRef(null);
|
|
34
|
+
var containerRef = useRef(null);
|
|
35
|
+
var showMenuItemCopy = isUserMessage(message);
|
|
36
|
+
var showMenuItemEdit = isUserMessage(message) && isSentMessage(message) && isByMe;
|
|
37
|
+
var showMenuItemResend = isFailedMessage(message) && ((_b = message === null || message === void 0 ? void 0 : message.isResendable) === null || _b === void 0 ? void 0 : _b.call(message)) && isByMe;
|
|
38
|
+
var showMenuItemDelete = !isPendingMessage(message) && isByMe;
|
|
39
|
+
/**
|
|
40
|
+
* TODO: Manage timing issue
|
|
41
|
+
* User delete pending message -> Sending message success
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
var showMenuItemReply = replyType === 'QUOTE_REPLY' && !isFailedMessage(message) && !isPendingMessage(message) && (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel()) && !((_c = channel) === null || _c === void 0 ? void 0 : _c.isBroadcast);
|
|
45
|
+
|
|
46
|
+
if (!(showMenuItemCopy || showMenuItemReply || showMenuItemEdit || showMenuItemResend || showMenuItemDelete)) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
51
|
+
className: getClassName([className, 'sendbird-message-item-menu']),
|
|
52
|
+
ref: containerRef
|
|
53
|
+
}, /*#__PURE__*/React__default.createElement(ContextMenu, {
|
|
54
|
+
menuTrigger: function menuTrigger(toggleDropdown) {
|
|
55
|
+
return /*#__PURE__*/React__default.createElement(IconButton, {
|
|
56
|
+
className: "sendbird-message-item-menu__trigger",
|
|
57
|
+
ref: triggerRef,
|
|
58
|
+
width: "32px",
|
|
59
|
+
height: "32px",
|
|
60
|
+
onClick: function onClick() {
|
|
61
|
+
toggleDropdown();
|
|
62
|
+
setSupposedHover(true);
|
|
63
|
+
},
|
|
64
|
+
onBlur: function onBlur() {
|
|
65
|
+
setSupposedHover(false);
|
|
66
|
+
}
|
|
67
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
68
|
+
className: "sendbird-message-item-menu__trigger__icon",
|
|
69
|
+
type: IconTypes.MORE,
|
|
70
|
+
fillColor: IconColors.CONTENT_INVERSE,
|
|
71
|
+
width: "24px",
|
|
72
|
+
height: "24px"
|
|
73
|
+
}));
|
|
74
|
+
},
|
|
75
|
+
menuItems: function menuItems(close) {
|
|
76
|
+
var _a;
|
|
77
|
+
|
|
78
|
+
var closeDropdown = function closeDropdown() {
|
|
79
|
+
close();
|
|
80
|
+
setSupposedHover(false);
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
return /*#__PURE__*/React__default.createElement(MenuItems, {
|
|
84
|
+
className: "sendbird-message-item-menu__list",
|
|
85
|
+
parentRef: triggerRef,
|
|
86
|
+
parentContainRef: containerRef,
|
|
87
|
+
closeDropdown: closeDropdown,
|
|
88
|
+
openLeft: isByMe
|
|
89
|
+
}, showMenuItemCopy && /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
90
|
+
className: "sendbird-message-item-menu__list__menu-item menu-item-copy",
|
|
91
|
+
onClick: function onClick() {
|
|
92
|
+
var _a;
|
|
93
|
+
|
|
94
|
+
copyToClipboard((_a = message) === null || _a === void 0 ? void 0 : _a.message);
|
|
95
|
+
closeDropdown();
|
|
96
|
+
}
|
|
97
|
+
}, stringSet.MESSAGE_MENU__COPY), showMenuItemReply && /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
98
|
+
className: "sendbird-message-item-menu__list__menu-item menu-item-reply",
|
|
99
|
+
onClick: function onClick() {
|
|
100
|
+
setQuoteMessage(message);
|
|
101
|
+
closeDropdown();
|
|
102
|
+
},
|
|
103
|
+
disable: (message === null || message === void 0 ? void 0 : message.parentMessageId) > 0
|
|
104
|
+
}, stringSet.MESSAGE_MENU__REPLY), showMenuItemEdit && /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
105
|
+
className: "sendbird-message-item-menu__list__menu-item menu-item-edit",
|
|
106
|
+
onClick: function onClick() {
|
|
107
|
+
if (!disabled) {
|
|
108
|
+
showEdit(true);
|
|
109
|
+
closeDropdown();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}, stringSet.MESSAGE_MENU__EDIT), showMenuItemResend && /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
113
|
+
className: "sendbird-message-item-menu__list__menu-item menu-item-resend",
|
|
114
|
+
onClick: function onClick() {
|
|
115
|
+
if (!disabled) {
|
|
116
|
+
resendMessage(message);
|
|
117
|
+
closeDropdown();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}, stringSet.MESSAGE_MENU__RESEND), showMenuItemDelete && /*#__PURE__*/React__default.createElement(MenuItem, {
|
|
121
|
+
className: "sendbird-message-item-menu__list__menu-item menu-item-delete",
|
|
122
|
+
onClick: function onClick() {
|
|
123
|
+
if (!disabled) {
|
|
124
|
+
showRemove(true);
|
|
125
|
+
closeDropdown();
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
disable: ((_a = message === null || message === void 0 ? void 0 : message.threadInfo) === null || _a === void 0 ? void 0 : _a.replyCount) > 0
|
|
129
|
+
}, stringSet.MESSAGE_MENU__DELETE));
|
|
130
|
+
}
|
|
131
|
+
}));
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export { MessageItemMenu as default };
|
|
135
|
+
//# 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","toggleDropdown","IconTypes","MORE","IconColors","CONTENT_INVERSE","close","closeDropdown","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,UAAU,CAACC,mBAAD,CAAV,UAAd;AACR,MAAMC,UAAU,GAAGC,MAAM,CAAC,IAAD,CAAzB;AACA,MAAMC,YAAY,GAAGD,MAAM,CAAC,IAAD,CAA3B;AAEA,MAAME,gBAAgB,GAAYC,aAAa,CAACnB,OAAD,CAA/C;AACA,MAAMoB,gBAAgB,GAAaD,aAAa,CAACnB,OAAD,CAAb,IAAyCqB,aAAa,CAACrB,OAAD,CAAtD,IAAmEG,MAAtG;AACA,MAAMmB,kBAAkB,GAAaC,eAAe,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,gBAAgB,CAAC1B,OAAD,CAAjB,IAA8BG,MAAlE;AACA;;;;;AAIA,MAAMwB,iBAAiB,GAAarB,SAAS,KAAK,aAAf,IAC9B,CAACiB,eAAe,CAACvB,OAAD,CADc,IAE9B,CAAC0B,gBAAgB,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,YAAY,CAAC,CAAChC,SAAD,EAAY,4BAAZ,CAAD,CADzB;AAEE,IAAA,GAAG,EAAEkB;AAFP,kBAIEa,6BAAC,WAAD;AACE,IAAA,WAAW,EAAE,qBAACE,cAAD;AAA8C,0BACzDF,6BAAC,UAAD;AACE,QAAA,SAAS,EAAC,qCADZ;AAEE,QAAA,GAAG,EAAEf,UAFP;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAJT;AAKE,QAAA,OAAO,EAAE;AACPiB,UAAAA,cAAc;AACdrB,UAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACD,SARH;AASE,QAAA,MAAM,EAAE;AACNA,UAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD;AAXH,sBAaEmB,6BAAC,IAAD;AACE,QAAA,SAAS,EAAC,2CADZ;AAEE,QAAA,IAAI,EAAEG,SAAS,CAACC,IAFlB;AAGE,QAAA,SAAS,EAAEC,UAAU,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;AACL1B,QAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD,OAHD;;AAIA,0BACEmB,6BAAC,SAAD;AACE,QAAA,SAAS,EAAC,kCADZ;AAEE,QAAA,SAAS,EAAEf,UAFb;AAGE,QAAA,gBAAgB,EAAEE,YAHpB;AAIE,QAAA,aAAa,EAAEqB,aAJjB;AAKE,QAAA,QAAQ,EAAEnC;AALZ,SAOGe,gBAAgB,iBACfY,6BAAC,QAAD;AACE,QAAA,SAAS,EAAC,4DADZ;AAEE,QAAA,OAAO,EAAE;;;AACPS,UAAAA,eAAe,CAAC,MAACvC,OAAD,UAAA,iBAAA,SAAA,MAA0BA,OAA3B,CAAf;AACAsC,UAAAA,aAAa;AACd;AALH,SAOG1B,SAAS,CAAC4B,kBAPb,CARJ,EAkBGb,iBAAiB,iBAChBG,6BAAC,QAAD;AACE,QAAA,SAAS,EAAC,6DADZ;AAEE,QAAA,OAAO,EAAE;AACPpB,UAAAA,eAAe,CAACV,OAAD,CAAf;AACAsC,UAAAA,aAAa;AACd,SALH;AAME,QAAA,OAAO,EAAE,CAAAtC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEyC,eAAT,IAA2B;AANtC,SAQG7B,SAAS,CAAC8B,mBARb,CAnBJ,EA8BGtB,gBAAgB,iBACfU,6BAAC,QAAD;AACE,QAAA,SAAS,EAAC,4DADZ;AAEE,QAAA,OAAO,EAAE;AACP,cAAI,CAACzB,QAAL,EAAe;AACbE,YAAAA,QAAQ,CAAC,IAAD,CAAR;AACA+B,YAAAA,aAAa;AACd;AACF;AAPH,SASG1B,SAAS,CAAC+B,kBATb,CA/BJ,EA2CGrB,kBAAkB,iBACjBQ,6BAAC,QAAD;AACE,QAAA,SAAS,EAAC,8DADZ;AAEE,QAAA,OAAO,EAAE;AACP,cAAI,CAACzB,QAAL,EAAe;AACbI,YAAAA,aAAa,CAACT,OAAD,CAAb;AACAsC,YAAAA,aAAa;AACd;AACF;AAPH,SASG1B,SAAS,CAACgC,oBATb,CA5CJ,EAwDGnB,kBAAkB,iBACjBK,6BAAC,QAAD;AACE,QAAA,SAAS,EAAC,8DADZ;AAEE,QAAA,OAAO,EAAE;AACP,cAAI,CAACzB,QAAL,EAAe;AACbG,YAAAA,UAAU,CAAC,IAAD,CAAV;AACA8B,YAAAA,aAAa;AACd;AACF,SAPH;AAQE,QAAA,OAAO,EAAE,CAAA,MAAAtC,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAE6C,UAAT,UAAA,iBAAA,SAAA,MAAqBC,UAArB,IAAkC;AAR7C,SAUGlC,SAAS,CAACmC,oBAVb,CAzDJ,CADF;AAyED;AAtGH,IAJF,CADF;AA+GD;;;;"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import React__default, { useRef } from 'react';
|
|
2
|
+
import ContextMenu, { EmojiListItems } from './ContextMenu.js';
|
|
3
|
+
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
4
|
+
import IconButton from './IconButton.js';
|
|
5
|
+
import ImageRenderer from './ImageRenderer.js';
|
|
6
|
+
import ReactionButton from './ReactionButton.js';
|
|
7
|
+
import { D as isPendingMessage, C as isFailedMessage, h as getClassName, F as getEmojiListAll } from '../index-03baba6a.js';
|
|
8
|
+
import '../_rollupPluginBabelHelpers-c7eeba03.js';
|
|
9
|
+
import 'prop-types';
|
|
10
|
+
import '../index-e1b93b3a.js';
|
|
11
|
+
import '../stringSet-6c9c68ae.js';
|
|
12
|
+
import 'react-dom';
|
|
13
|
+
import './SortByRow.js';
|
|
14
|
+
import '../tslib.es6-61821688.js';
|
|
15
|
+
|
|
16
|
+
function MessageItemReactionMenu(_a) {
|
|
17
|
+
var className = _a.className,
|
|
18
|
+
message = _a.message,
|
|
19
|
+
userId = _a.userId,
|
|
20
|
+
_b = _a.spaceFromTrigger,
|
|
21
|
+
spaceFromTrigger = _b === void 0 ? {} : _b,
|
|
22
|
+
emojiContainer = _a.emojiContainer,
|
|
23
|
+
toggleReaction = _a.toggleReaction,
|
|
24
|
+
setSupposedHover = _a.setSupposedHover;
|
|
25
|
+
var triggerRef = useRef(null);
|
|
26
|
+
var containerRef = useRef(null);
|
|
27
|
+
|
|
28
|
+
if (isPendingMessage(message) || isFailedMessage(message)) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
33
|
+
className: getClassName([className, 'sendbird-message-item-reaction-menu']),
|
|
34
|
+
ref: containerRef
|
|
35
|
+
}, /*#__PURE__*/React__default.createElement(ContextMenu, {
|
|
36
|
+
menuTrigger: function menuTrigger(toggleDropdown) {
|
|
37
|
+
return /*#__PURE__*/React__default.createElement(IconButton, {
|
|
38
|
+
className: "sendbird-message-item-reaction-menu__trigger",
|
|
39
|
+
ref: triggerRef,
|
|
40
|
+
width: "32px",
|
|
41
|
+
height: "32px",
|
|
42
|
+
onClick: function onClick() {
|
|
43
|
+
toggleDropdown();
|
|
44
|
+
setSupposedHover(true);
|
|
45
|
+
},
|
|
46
|
+
onBlur: function onBlur() {
|
|
47
|
+
setSupposedHover(false);
|
|
48
|
+
}
|
|
49
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
50
|
+
className: "sendbird-message-item-reaction-menu__trigger__icon",
|
|
51
|
+
type: IconTypes.EMOJI_MORE,
|
|
52
|
+
fillColor: IconColors.CONTENT_INVERSE,
|
|
53
|
+
width: "24px",
|
|
54
|
+
height: "24px"
|
|
55
|
+
}));
|
|
56
|
+
},
|
|
57
|
+
menuItems: function menuItems(close) {
|
|
58
|
+
var closeDropdown = function closeDropdown() {
|
|
59
|
+
close();
|
|
60
|
+
setSupposedHover(false);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
return /*#__PURE__*/React__default.createElement(EmojiListItems, {
|
|
64
|
+
parentRef: triggerRef,
|
|
65
|
+
parentContainRef: containerRef,
|
|
66
|
+
closeDropdown: closeDropdown,
|
|
67
|
+
spaceFromTrigger: spaceFromTrigger
|
|
68
|
+
}, getEmojiListAll(emojiContainer).map(function (emoji) {
|
|
69
|
+
var _a, _b, _c;
|
|
70
|
+
|
|
71
|
+
var isReacted = (_c = (_b = (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.filter(function (reaction) {
|
|
72
|
+
return reaction.key === emoji.key;
|
|
73
|
+
})[0]) === null || _b === void 0 ? void 0 : _b.userIds) === null || _c === void 0 ? void 0 : _c.some(function (reactorId) {
|
|
74
|
+
return reactorId === userId;
|
|
75
|
+
});
|
|
76
|
+
return /*#__PURE__*/React__default.createElement(ReactionButton, {
|
|
77
|
+
key: emoji.key,
|
|
78
|
+
width: "36px",
|
|
79
|
+
height: "36px",
|
|
80
|
+
selected: isReacted,
|
|
81
|
+
onClick: function onClick() {
|
|
82
|
+
closeDropdown();
|
|
83
|
+
toggleReaction(message, emoji.key, isReacted);
|
|
84
|
+
}
|
|
85
|
+
}, /*#__PURE__*/React__default.createElement(ImageRenderer, {
|
|
86
|
+
url: emoji.url,
|
|
87
|
+
width: "28px",
|
|
88
|
+
height: "28px",
|
|
89
|
+
placeHolder: function placeHolder(style) {
|
|
90
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
91
|
+
style: style
|
|
92
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
93
|
+
type: IconTypes.QUESTION,
|
|
94
|
+
fillColor: IconColors.ON_BACKGROUND_3,
|
|
95
|
+
width: "28px",
|
|
96
|
+
height: "28px"
|
|
97
|
+
}));
|
|
98
|
+
}
|
|
99
|
+
}));
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export { MessageItemReactionMenu as default };
|
|
106
|
+
//# 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","toggleDropdown","IconTypes","EMOJI_MORE","IconColors","CONTENT_INVERSE","close","closeDropdown","getEmojiListAll","map","emoji","isReacted","reactions","filter","reaction","key","userIds","some","reactorId","url","style","QUESTION","ON_BACKGROUND_3"],"mappings":";;;;;;;;;;;;;;;SAqBwBA,wBAAwBC;MAC9CC,SAAS;MACTC,OAAO;MACPC,MAAM;MACNC;MAAAC,gBAAgB,mBAAG;MACnBC,cAAc;MACdC,cAAc;MACdC,gBAAgB;AAEhB,MAAMC,UAAU,GAAGC,MAAM,CAAC,IAAD,CAAzB;AACA,MAAMC,YAAY,GAAGD,MAAM,CAAC,IAAD,CAA3B;;AAEA,MAAGE,gBAAgB,CAACV,OAAD,CAAhB,IAA6BW,eAAe,CAACX,OAAD,CAA/C,EAA0D;AACxD,WAAO,IAAP;AACD;;AAED,sBACEY;AACE,IAAA,SAAS,EAAEC,YAAY,CAAC,CAACd,SAAD,EAAY,qCAAZ,CAAD,CADzB;AAEE,IAAA,GAAG,EAAEU;AAFP,kBAIEG,6BAAC,WAAD;AACE,IAAA,WAAW,EAAE,qBAACE,cAAD;AAA8C,0BACzDF,6BAAC,UAAD;AACE,QAAA,SAAS,EAAC,8CADZ;AAEE,QAAA,GAAG,EAAEL,UAFP;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAJT;AAKE,QAAA,OAAO,EAAE;AACPO,UAAAA,cAAc;AACdR,UAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACD,SARH;AASE,QAAA,MAAM,EAAE;AACNA,UAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD;AAXH,sBAaEM,6BAAC,IAAD;AACE,QAAA,SAAS,EAAC,oDADZ;AAEE,QAAA,IAAI,EAAEG,SAAS,CAACC,UAFlB;AAGE,QAAA,SAAS,EAAEC,UAAU,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;AACLb,QAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD,OAHD;;AAIA,0BACEM,6BAAC,cAAD;AACE,QAAA,SAAS,EAAEL,UADb;AAEE,QAAA,gBAAgB,EAAEE,YAFpB;AAGE,QAAA,aAAa,EAAEW,aAHjB;AAIE,QAAA,gBAAgB,EAAEjB;AAJpB,SAMGkB,eAAe,CAACjB,cAAD,CAAf,CAAgCkB,GAAhC,CAAoC,UAACC,KAAD;;;AACnC,YAAMC,SAAS,GAAY,MAAA,MAAA,MAAAxB,OAAO,SAAP,IAAAA,OAAO,WAAP,SAAA,GAAAA,OAAO,CAAEyB,SAAT,UAAA,iBAAA,SAAA,MACzBC,OAAO,UAACC,QAAD;AAAwB,iBAAAA,QAAQ,CAACC,GAAT,KAAiBL,KAAK,CAACK,GAAvB;AAA0B,WAAE,EADlC,UAAA,iBAAA,SAAA,MACsCC,OADtC,UAAA,iBAAA,SAAA,MAEzBC,KAAK,UAACC,SAAD;AAAuB,iBAAAA,SAAS,KAAK9B,MAAd;AAAoB,UAFlD;AAGA,4BACEW,6BAAC,cAAD;AACE,UAAA,GAAG,EAAEW,KAAK,CAACK,GADb;AAEE,UAAA,KAAK,EAAC,MAFR;AAGE,UAAA,MAAM,EAAC,MAHT;AAIE,UAAA,QAAQ,EAAEJ,SAJZ;AAKE,UAAA,OAAO,EAAE;AACPJ,YAAAA,aAAa;AACbf,YAAAA,cAAc,CAACL,OAAD,EAAUuB,KAAK,CAACK,GAAhB,EAAqBJ,SAArB,CAAd;AACD;AARH,wBAUEZ,6BAAC,aAAD;AACE,UAAA,GAAG,EAAEW,KAAK,CAACS,GADb;AAEE,UAAA,KAAK,EAAC,MAFR;AAGE,UAAA,MAAM,EAAC,MAHT;AAIE,UAAA,WAAW,EAAE,qBAACC,KAAD;AAAW,gCACtBrB;AAAK,cAAA,KAAK,EAAEqB;AAAZ,4BACErB,6BAAC,IAAD;AACE,cAAA,IAAI,EAAEG,SAAS,CAACmB,QADlB;AAEE,cAAA,SAAS,EAAEjB,UAAU,CAACkB,eAFxB;AAGE,cAAA,KAAK,EAAC,MAHR;AAIE,cAAA,MAAM,EAAC;AAJT,cADF,CADsB;AASvB;AAbH,UAVF,CADF;AA4BD,OAhCA,CANH,CADF;AA0CD;AAvEH,IAJF,CADF;AAgFD;;;;"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { a as __spreadArray } from '../tslib.es6-61821688.js';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import Avatar from './Avatar.js';
|
|
4
|
+
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
5
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-e1b93b3a.js';
|
|
6
|
+
import { u as useLocalization } from '../LocalizationContext-0e05ddca.js';
|
|
7
|
+
import { f as format } from '../index-2c56786f.js';
|
|
8
|
+
import { i as isToday, a as isYesterday, f as formatRelative } from '../index-d7840fad.js';
|
|
9
|
+
import './ImageRenderer.js';
|
|
10
|
+
import '../_rollupPluginBabelHelpers-c7eeba03.js';
|
|
11
|
+
import 'prop-types';
|
|
12
|
+
import '../uuid-6e6389e2.js';
|
|
13
|
+
import '../stringSet-6c9c68ae.js';
|
|
14
|
+
import '../index-e7c0bc26.js';
|
|
15
|
+
import '../index-29563598.js';
|
|
16
|
+
|
|
17
|
+
function getCreatedAt(createdAt, locale) {
|
|
18
|
+
var optionalParam = locale ? {
|
|
19
|
+
locale: locale
|
|
20
|
+
} : null;
|
|
21
|
+
|
|
22
|
+
if (!createdAt) {
|
|
23
|
+
return '';
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (isToday(createdAt)) {
|
|
27
|
+
return format(createdAt, 'p', optionalParam);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (isYesterday(createdAt)) {
|
|
31
|
+
return formatRelative(createdAt, new Date(), optionalParam);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return format(createdAt, 'MMM dd', optionalParam);
|
|
35
|
+
}
|
|
36
|
+
function getIconOfFileType(message) {
|
|
37
|
+
var url = message.url;
|
|
38
|
+
var fileMessageUrl = url;
|
|
39
|
+
var fileExtension = fileMessageUrl.match(/\.([^.]*?)(?=\?|#|$)/)[1];
|
|
40
|
+
|
|
41
|
+
if (/(jpg|jpeg|png)$/i.test(fileExtension)) {
|
|
42
|
+
return IconTypes.PHOTO;
|
|
43
|
+
} else if (/mp4$/i.test(fileExtension)) {
|
|
44
|
+
return IconTypes.PLAY;
|
|
45
|
+
} else if (/mp3/i.test(fileExtension)) {
|
|
46
|
+
return IconTypes.FILE_AUDIO;
|
|
47
|
+
} else if (/gif/i.test(fileExtension)) {
|
|
48
|
+
return IconTypes.GIF;
|
|
49
|
+
} else {
|
|
50
|
+
return IconTypes.FILE_DOCUMENT;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function truncate(fullText, textLimit) {
|
|
54
|
+
if (fullText.length <= textLimit) return fullText;
|
|
55
|
+
var separator = '...';
|
|
56
|
+
var sepLen = separator.length;
|
|
57
|
+
var charsToShow = textLimit - sepLen;
|
|
58
|
+
var frontChars = Math.ceil(charsToShow / 2);
|
|
59
|
+
var backChars = Math.floor(charsToShow / 2);
|
|
60
|
+
return fullText.substr(0, frontChars) + separator + fullText.substr(fullText.length - backChars);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function MessageSearchFileItem(props) {
|
|
64
|
+
var className = props.className,
|
|
65
|
+
message = props.message,
|
|
66
|
+
selected = props.selected,
|
|
67
|
+
_onClick = props.onClick;
|
|
68
|
+
var createdAt = message.createdAt,
|
|
69
|
+
url = message.url,
|
|
70
|
+
name = message.name;
|
|
71
|
+
var fileMessageUrl = url;
|
|
72
|
+
var sender = message.sender || message._sender;
|
|
73
|
+
var profileUrl = sender.profileUrl,
|
|
74
|
+
nickname = sender.nickname;
|
|
75
|
+
|
|
76
|
+
var _a = useLocalization(),
|
|
77
|
+
stringSet = _a.stringSet,
|
|
78
|
+
dateLocale = _a.dateLocale;
|
|
79
|
+
|
|
80
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
81
|
+
className: __spreadArray(__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-search-file-item', selected ? 'sendbird-message-search-file-item--selected' : ''], false).join(' '),
|
|
82
|
+
onClick: function onClick(e) {
|
|
83
|
+
e.stopPropagation();
|
|
84
|
+
|
|
85
|
+
_onClick(message);
|
|
86
|
+
}
|
|
87
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
88
|
+
className: "sendbird-message-search-file-item__left"
|
|
89
|
+
}, /*#__PURE__*/React__default.createElement(Avatar, {
|
|
90
|
+
className: "sendbird-message-search-file-item__left__sender-avatar",
|
|
91
|
+
src: profileUrl,
|
|
92
|
+
alt: "profile image",
|
|
93
|
+
width: "56px",
|
|
94
|
+
height: "56px"
|
|
95
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
96
|
+
className: "sendbird-message-search-file-item__right"
|
|
97
|
+
}, /*#__PURE__*/React__default.createElement(Label, {
|
|
98
|
+
className: "sendbird-message-search-file-item__right__sender-name",
|
|
99
|
+
type: LabelTypography.SUBTITLE_2,
|
|
100
|
+
color: LabelColors.ONBACKGROUND_1
|
|
101
|
+
}, nickname || stringSet.NO_NAME), /*#__PURE__*/React__default.createElement("div", {
|
|
102
|
+
className: "sendbird-message-search-file-item__right__content"
|
|
103
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
104
|
+
className: "sendbird-message-search-file-item__right__content__type-icon"
|
|
105
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
106
|
+
type: getIconOfFileType(message),
|
|
107
|
+
fillColor: IconColors.PRIMARY,
|
|
108
|
+
width: "18px",
|
|
109
|
+
height: "18px"
|
|
110
|
+
})), /*#__PURE__*/React__default.createElement(Label, {
|
|
111
|
+
className: "sendbird-message-search-file-item__right__content__url",
|
|
112
|
+
type: LabelTypography.BODY_2,
|
|
113
|
+
color: LabelColors.ONBACKGROUND_1
|
|
114
|
+
}, truncate(name || fileMessageUrl, 28)))), /*#__PURE__*/React__default.createElement(Label, {
|
|
115
|
+
className: "sendbird-message-search-file-item__message-created-at",
|
|
116
|
+
type: LabelTypography.CAPTION_3,
|
|
117
|
+
color: LabelColors.ONBACKGROUND_2
|
|
118
|
+
}, getCreatedAt(createdAt, dateLocale)), /*#__PURE__*/React__default.createElement("div", {
|
|
119
|
+
className: "sendbird-message-search-file-item__right-footer"
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export { MessageSearchFileItem as default };
|
|
124
|
+
//# 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","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","NO_NAME","IconColors","PRIMARY","BODY_2","CAPTION_3","ONBACKGROUND_2"],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { a as __spreadArray } from '../tslib.es6-61821688.js';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { f as format } from '../index-2c56786f.js';
|
|
4
|
+
import { i as isToday, a as isYesterday, f as formatRelative } from '../index-d7840fad.js';
|
|
5
|
+
import Avatar from './Avatar.js';
|
|
6
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-e1b93b3a.js';
|
|
7
|
+
import { u as useLocalization } from '../LocalizationContext-0e05ddca.js';
|
|
8
|
+
import '../index-e7c0bc26.js';
|
|
9
|
+
import '../index-29563598.js';
|
|
10
|
+
import './ImageRenderer.js';
|
|
11
|
+
import '../_rollupPluginBabelHelpers-c7eeba03.js';
|
|
12
|
+
import 'prop-types';
|
|
13
|
+
import './Icon.js';
|
|
14
|
+
import '../uuid-6e6389e2.js';
|
|
15
|
+
import '../stringSet-6c9c68ae.js';
|
|
16
|
+
|
|
17
|
+
function getCreatedAt (createdAt, locale) {
|
|
18
|
+
var optionalParam = locale ? {
|
|
19
|
+
locale: locale
|
|
20
|
+
} : null;
|
|
21
|
+
|
|
22
|
+
if (!createdAt) {
|
|
23
|
+
return '';
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (isToday(createdAt)) {
|
|
27
|
+
return format(createdAt, 'p', optionalParam);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (isYesterday(createdAt)) {
|
|
31
|
+
return formatRelative(createdAt, new Date(), optionalParam);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return format(createdAt, 'MMM dd', optionalParam);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function MessageSearchItem(_a) {
|
|
38
|
+
var className = _a.className,
|
|
39
|
+
message = _a.message,
|
|
40
|
+
selected = _a.selected,
|
|
41
|
+
_onClick = _a.onClick;
|
|
42
|
+
var createdAt = message.createdAt;
|
|
43
|
+
var messageText = message.message;
|
|
44
|
+
var sender = message.sender || message._sender;
|
|
45
|
+
var profileUrl = sender.profileUrl,
|
|
46
|
+
nickname = sender.nickname;
|
|
47
|
+
|
|
48
|
+
var _b = useLocalization(),
|
|
49
|
+
stringSet = _b.stringSet,
|
|
50
|
+
dateLocale = _b.dateLocale;
|
|
51
|
+
|
|
52
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
53
|
+
className: __spreadArray(__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-search-item', selected ? 'sendbird-message-search-item--selected' : ''], false).join(' '),
|
|
54
|
+
onClick: function onClick(e) {
|
|
55
|
+
e.stopPropagation();
|
|
56
|
+
|
|
57
|
+
_onClick(message);
|
|
58
|
+
}
|
|
59
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
60
|
+
className: "sendbird-message-search-item__left"
|
|
61
|
+
}, /*#__PURE__*/React__default.createElement(Avatar, {
|
|
62
|
+
className: "sendbird-message-search-item__left__sender-avatar",
|
|
63
|
+
src: profileUrl,
|
|
64
|
+
alt: "profile image",
|
|
65
|
+
width: "56px",
|
|
66
|
+
height: "56px"
|
|
67
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
68
|
+
className: "sendbird-message-search-item__right"
|
|
69
|
+
}, /*#__PURE__*/React__default.createElement(Label, {
|
|
70
|
+
className: "sendbird-message-search-item__right__sender-name",
|
|
71
|
+
type: LabelTypography.SUBTITLE_2,
|
|
72
|
+
color: LabelColors.ONBACKGROUND_1
|
|
73
|
+
}, nickname || stringSet.NO_NAME), /*#__PURE__*/React__default.createElement(Label, {
|
|
74
|
+
className: "sendbird-message-search-item__right__message-text",
|
|
75
|
+
type: LabelTypography.BODY_2,
|
|
76
|
+
color: LabelColors.ONBACKGROUND_3
|
|
77
|
+
}, messageText), /*#__PURE__*/React__default.createElement(Label, {
|
|
78
|
+
className: "sendbird-message-search-item__right__message-created-at",
|
|
79
|
+
type: LabelTypography.CAPTION_3,
|
|
80
|
+
color: LabelColors.ONBACKGROUND_2
|
|
81
|
+
}, getCreatedAt(createdAt, dateLocale))), /*#__PURE__*/React__default.createElement("div", {
|
|
82
|
+
className: "sendbird-message-search-item__right-footer"
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export { MessageSearchItem as default };
|
|
87
|
+
//# 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","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,OAAO,CAACH,SAAD,CAAX,EAAwB;AACtB,WAAOI,MAAM,CAACJ,SAAD,EAAY,GAAZ,EAAiBE,aAAjB,CAAb;AACD;;AACD,MAAIG,WAAW,CAACL,SAAD,CAAf,EAA4B;AAC1B,WAAOM,cAAc,CAACN,SAAD,EAAY,IAAIO,IAAJ,EAAZ,EAAwBL,aAAxB,CAArB;AACD;;AACD,SAAOE,MAAM,CAACJ,SAAD,EAAY,QAAZ,EAAsBE,aAAtB,CAAb;AACD;;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,eAAe,EAA3C;AAAA,MAAEC,SAAS,eAAX;AAAA,MAAaC,UAAU,gBAAvB;;AAEN,sBACEC;AACE,IAAA,SAAS,EAAEC,gCACLC,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,6BAAC,MAAD;AACE,IAAA,SAAS,EAAC,mDADZ;AAEE,IAAA,GAAG,EAAEN,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,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAEO,eAAe,CAACC,UAFxB;AAGE,IAAA,KAAK,EAAEC,WAAW,CAACC;AAHrB,KAKGf,QAAQ,IAAIG,SAAS,CAACa,OALzB,CADF,eAQEX,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,mDADZ;AAEE,IAAA,IAAI,EAAEO,eAAe,CAACK,MAFxB;AAGE,IAAA,KAAK,EAAEH,WAAW,CAACI;AAHrB,KAKGtB,WALH,CARF,eAeES,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,yDADZ;AAEE,IAAA,IAAI,EAAEO,eAAe,CAACO,SAFxB;AAGE,IAAA,KAAK,EAAEL,WAAW,CAACM;AAHrB,KAKGC,YAAY,CAACvC,SAAD,EAAYsB,UAAZ,CALf,CAfF,CApBF,eA2CEC;AAAK,IAAA,SAAS,EAAC;AAAf,IA3CF,CADF;AA+CD;;;;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { a as __spreadArray } from '../tslib.es6-61821688.js';
|
|
2
|
+
import React__default, { useMemo } from 'react';
|
|
3
|
+
import { f as format } from '../index-2c56786f.js';
|
|
4
|
+
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
5
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-e1b93b3a.js';
|
|
6
|
+
import Loader from './Loader.js';
|
|
7
|
+
import { a as getOutgoingMessageStates, d as getOutgoingMessageState, e as isSentStatus } from '../index-03baba6a.js';
|
|
8
|
+
import { u as useLocalization } from '../LocalizationContext-0e05ddca.js';
|
|
9
|
+
import '../index-e7c0bc26.js';
|
|
10
|
+
import '../_rollupPluginBabelHelpers-c7eeba03.js';
|
|
11
|
+
import 'prop-types';
|
|
12
|
+
import '../stringSet-6c9c68ae.js';
|
|
13
|
+
|
|
14
|
+
var MessageStatusTypes = getOutgoingMessageStates();
|
|
15
|
+
function MessageStatus(_a) {
|
|
16
|
+
var _b, _c;
|
|
17
|
+
|
|
18
|
+
var _d, _e;
|
|
19
|
+
|
|
20
|
+
var className = _a.className,
|
|
21
|
+
message = _a.message,
|
|
22
|
+
channel = _a.channel;
|
|
23
|
+
var dateLocale = useLocalization().dateLocale;
|
|
24
|
+
var status = useMemo(function () {
|
|
25
|
+
return getOutgoingMessageState(channel, message);
|
|
26
|
+
}, [(_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)]);
|
|
27
|
+
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);
|
|
28
|
+
var iconType = (_b = {}, _b[MessageStatusTypes.SENT] = IconTypes.DONE, _b[MessageStatusTypes.DELIVERED] = IconTypes.DONE_ALL, _b[MessageStatusTypes.READ] = IconTypes.DONE_ALL, _b[MessageStatusTypes.FAILED] = IconTypes.ERROR, _b);
|
|
29
|
+
var iconColor = (_c = {}, _c[MessageStatusTypes.SENT] = IconColors.SENT, _c[MessageStatusTypes.DELIVERED] = IconColors.SENT, _c[MessageStatusTypes.READ] = IconColors.READ, _c[MessageStatusTypes.FAILED] = IconColors.ERROR, _c);
|
|
30
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
31
|
+
className: __spreadArray(__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-status'], false).join(' ')
|
|
32
|
+
}, status === MessageStatusTypes.PENDING ? /*#__PURE__*/React__default.createElement(Loader, {
|
|
33
|
+
className: "sendbird-message-status__icon " + (showMessageStatusIcon ? '' : 'hide-icon'),
|
|
34
|
+
width: "16px",
|
|
35
|
+
height: "16px"
|
|
36
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
37
|
+
type: IconTypes.SPINNER,
|
|
38
|
+
fillColor: IconColors.PRIMARY,
|
|
39
|
+
width: "16px",
|
|
40
|
+
height: "16px"
|
|
41
|
+
})) : /*#__PURE__*/React__default.createElement(Icon, {
|
|
42
|
+
className: "sendbird-message-status__icon " + (showMessageStatusIcon ? '' : 'hide-icon'),
|
|
43
|
+
type: iconType[status] || IconTypes.ERROR,
|
|
44
|
+
fillColor: iconColor[status],
|
|
45
|
+
width: "16px",
|
|
46
|
+
height: "16px"
|
|
47
|
+
}), isSentStatus(status) && /*#__PURE__*/React__default.createElement(Label, {
|
|
48
|
+
className: "sendbird-message-status__text",
|
|
49
|
+
type: LabelTypography.CAPTION_3,
|
|
50
|
+
color: LabelColors.ONBACKGROUND_2
|
|
51
|
+
}, format((message === null || message === void 0 ? void 0 : message.createdAt) || 0, 'p', {
|
|
52
|
+
locale: dateLocale
|
|
53
|
+
})));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { MessageStatusTypes, MessageStatus as default };
|
|
57
|
+
//# 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","SPINNER","PRIMARY","isSentStatus","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2","format","createdAt","locale"],"mappings":"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"}
|