@sendbird/uikit-react 3.4.0 → 3.4.1-rc.0
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 +40 -40
- package/CHANGELOG.md +22 -0
- package/Channel/components/ChannelHeader.js +30 -28
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +42 -94
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +15 -15
- package/Channel/components/FrozenNotification.js +8 -6
- package/Channel/components/FrozenNotification.js.map +1 -1
- package/Channel/components/Message.js +162 -132
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +23 -23
- package/Channel/components/MessageList.js +169 -95
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +17 -17
- package/Channel/components/SuggestedMentionList.js +17 -17
- package/Channel/components/TypingIndicator.js +15 -15
- package/Channel/components/UnreadCount.js +14 -17
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +14 -14
- package/Channel.js +34 -34
- package/ChannelList/components/AddChannel.js +22 -17
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +29 -29
- package/ChannelList/components/ChannelPreview.js +28 -28
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +29 -29
- package/{ChannelListProvider-442bea80.js → ChannelListProvider-9f51ca7a.js} +8 -8
- package/{ChannelListProvider-442bea80.js.map → ChannelListProvider-9f51ca7a.js.map} +1 -1
- package/{ChannelProvider-43d68897.js → ChannelProvider-19d75ee9.js} +13 -12
- package/ChannelProvider-19d75ee9.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +12 -12
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/ChannelSettings/components/LeaveChannel.js +12 -12
- package/ChannelSettings/components/ModerationPanel.js +15 -15
- package/ChannelSettings/components/UserListItem.js +11 -11
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -18
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/InviteUsers.js +14 -14
- package/CreateChannel/components/SelectChannelType.js +11 -11
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-62afdf07.js → CreateChannelProvider-4a26fc5d.js} +1 -1
- package/{CreateChannelProvider-62afdf07.js.map → CreateChannelProvider-4a26fc5d.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +10 -10
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-83ddce67.js → LocalizationContext-646420ca.js} +3 -3
- package/{LocalizationContext-83ddce67.js.map → LocalizationContext-646420ca.js.map} +1 -1
- package/{MediaQueryContext-010e9df0.js → MediaQueryContext-1441c35c.js} +1 -1
- package/{MediaQueryContext-010e9df0.js.map → MediaQueryContext-1441c35c.js.map} +1 -1
- package/{MemberList-299e055b.js → MemberList-e1088d7b.js} +5 -5
- package/{MemberList-299e055b.js.map → MemberList-e1088d7b.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +12 -12
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +12 -12
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +13 -13
- package/OpenChannel/components/OpenChannelInput.js +15 -15
- package/OpenChannel/components/OpenChannelMessage.js +26 -22
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +24 -24
- package/OpenChannel/components/OpenChannelUI.js +24 -24
- package/OpenChannel/context.js +9 -9
- package/OpenChannel.js +24 -24
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +4 -4
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-2d811cef.js → OpenChannelListProvider-76b2bc47.js} +3 -3
- package/{OpenChannelListProvider-2d811cef.js.map → OpenChannelListProvider-76b2bc47.js.map} +1 -1
- package/{OpenChannelProvider-7aef2b42.js → OpenChannelProvider-de0549fc.js} +7 -7
- package/{OpenChannelProvider-7aef2b42.js.map → OpenChannelProvider-de0549fc.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +18 -18
- package/{RemoveMessageModal-1ca08354.js → RemoveMessageModal-c25f1f20.js} +3 -3
- package/{RemoveMessageModal-1ca08354.js.map → RemoveMessageModal-c25f1f20.js.map} +1 -1
- package/SendbirdProvider.js +12 -12
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +24 -24
- package/Thread/components/ParentMessageInfoItem.js +16 -16
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +27 -27
- package/Thread/components/ThreadListItem.js +39 -38
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +24 -24
- package/Thread/components/ThreadUI.js +31 -31
- package/Thread/context.js +9 -9
- package/Thread.js +31 -31
- package/{ThreadProvider-94605d33.js → ThreadProvider-0ebc9c60.js} +7 -7
- package/{ThreadProvider-94605d33.js.map → ThreadProvider-0ebc9c60.js.map} +1 -1
- package/{UserProfileContext-236a8db5.js → UserProfileContext-eb7f4891.js} +1 -1
- package/{UserProfileContext-236a8db5.js.map → UserProfileContext-eb7f4891.js.map} +1 -1
- package/{VoiceMessageInputWrapper-8d50dc6c.js → VoiceMessageInputWrapper-c0ac4f9c.js} +7 -7
- package/{VoiceMessageInputWrapper-8d50dc6c.js.map → VoiceMessageInputWrapper-c0ac4f9c.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +3 -3
- package/VoiceRecorder/context.js +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/{_rollupPluginBabelHelpers-b0efb0e7.js → _rollupPluginBabelHelpers-5827233e.js} +1 -1
- package/_rollupPluginBabelHelpers-5827233e.js.map +1 -0
- package/{actionTypes-42a0e7a6.js → actionTypes-42080a5c.js} +1 -1
- package/{actionTypes-42a0e7a6.js.map → actionTypes-42080a5c.js.map} +1 -1
- package/cjs/App.js +40 -40
- package/cjs/Channel/components/ChannelHeader.js +30 -28
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +41 -93
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +15 -15
- package/cjs/Channel/components/FrozenNotification.js +8 -6
- package/cjs/Channel/components/FrozenNotification.js.map +1 -1
- package/cjs/Channel/components/Message.js +161 -131
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +23 -23
- package/cjs/Channel/components/MessageList.js +168 -94
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +17 -17
- package/cjs/Channel/components/SuggestedMentionList.js +17 -17
- package/cjs/Channel/components/TypingIndicator.js +15 -15
- package/cjs/Channel/components/UnreadCount.js +14 -17
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +14 -14
- package/cjs/Channel.js +34 -34
- package/cjs/ChannelList/components/AddChannel.js +22 -17
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +29 -29
- package/cjs/ChannelList/components/ChannelPreview.js +28 -28
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +29 -29
- package/cjs/{ChannelListProvider-c2da1fdd.js → ChannelListProvider-f0ae2b2b.js} +8 -8
- package/cjs/{ChannelListProvider-c2da1fdd.js.map → ChannelListProvider-f0ae2b2b.js.map} +1 -1
- package/cjs/{ChannelProvider-d207316d.js → ChannelProvider-7a4dc56f.js} +12 -12
- package/cjs/ChannelProvider-7a4dc56f.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
- package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
- package/cjs/ChannelSettings/components/UserListItem.js +11 -11
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js +14 -14
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-02349744.js → CreateChannelProvider-f93f94ce.js} +1 -1
- package/cjs/{CreateChannelProvider-02349744.js.map → CreateChannelProvider-f93f94ce.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +10 -10
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-a60a75a7.js → LocalizationContext-c7dba320.js} +3 -3
- package/cjs/{LocalizationContext-a60a75a7.js.map → LocalizationContext-c7dba320.js.map} +1 -1
- package/cjs/{MediaQueryContext-5d0a1ebc.js → MediaQueryContext-c21176c2.js} +1 -1
- package/cjs/{MediaQueryContext-5d0a1ebc.js.map → MediaQueryContext-c21176c2.js.map} +1 -1
- package/cjs/{MemberList-4c6bb907.js → MemberList-8beacafe.js} +5 -5
- package/cjs/{MemberList-4c6bb907.js.map → MemberList-8beacafe.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +12 -12
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
- package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
- package/cjs/OpenChannel/components/OpenChannelMessage.js +26 -22
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
- package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
- package/cjs/OpenChannel/context.js +9 -9
- package/cjs/OpenChannel.js +24 -24
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-5a949d98.js → OpenChannelListProvider-be9e4a7a.js} +3 -3
- package/cjs/{OpenChannelListProvider-5a949d98.js.map → OpenChannelListProvider-be9e4a7a.js.map} +1 -1
- package/cjs/{OpenChannelProvider-7c843439.js → OpenChannelProvider-48f2c689.js} +7 -7
- package/cjs/{OpenChannelProvider-7c843439.js.map → OpenChannelProvider-48f2c689.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +18 -18
- package/cjs/{RemoveMessageModal-a069ff52.js → RemoveMessageModal-a2906376.js} +3 -3
- package/cjs/{RemoveMessageModal-a069ff52.js.map → RemoveMessageModal-a2906376.js.map} +1 -1
- package/cjs/SendbirdProvider.js +12 -12
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +24 -24
- package/cjs/Thread/components/ParentMessageInfoItem.js +16 -16
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +27 -27
- package/cjs/Thread/components/ThreadListItem.js +39 -38
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +24 -24
- package/cjs/Thread/components/ThreadUI.js +31 -31
- package/cjs/Thread/context.js +9 -9
- package/cjs/Thread.js +31 -31
- package/cjs/{ThreadProvider-66fcc519.js → ThreadProvider-c69173ee.js} +7 -7
- package/cjs/{ThreadProvider-66fcc519.js.map → ThreadProvider-c69173ee.js.map} +1 -1
- package/cjs/{UserProfileContext-2ec6891e.js → UserProfileContext-55f0e6bb.js} +1 -1
- package/cjs/{UserProfileContext-2ec6891e.js.map → UserProfileContext-55f0e6bb.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-289e18f6.js → VoiceMessageInputWrapper-1f621f96.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-289e18f6.js.map → VoiceMessageInputWrapper-1f621f96.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
- package/cjs/VoiceRecorder/context.js +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/cjs/{_rollupPluginBabelHelpers-24f49f41.js → _rollupPluginBabelHelpers-53067984.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-53067984.js.map +1 -0
- package/cjs/{actionTypes-31463602.js → actionTypes-6116824d.js} +1 -1
- package/cjs/{actionTypes-31463602.js.map → actionTypes-6116824d.js.map} +1 -1
- package/cjs/{color-7144c59e.js → color-9ec8fac6.js} +1 -1
- package/cjs/{color-7144c59e.js.map → color-9ec8fac6.js.map} +1 -1
- package/cjs/{compareIds-b3e3cffc.js → compareIds-d6461851.js} +1 -1
- package/cjs/{compareIds-b3e3cffc.js.map → compareIds-d6461851.js.map} +1 -1
- package/cjs/{const-21424d05.js → const-1f3d1ae1.js} +1 -1
- package/cjs/{const-21424d05.js.map → const-1f3d1ae1.js.map} +1 -1
- package/cjs/{const-d6a997ec.js → const-3d3ea5a6.js} +3 -1
- package/cjs/const-3d3ea5a6.js.map +1 -0
- package/cjs/{consts-47e4d487.js → consts-a7f5f91d.js} +1 -1
- package/cjs/{consts-47e4d487.js.map → consts-a7f5f91d.js.map} +1 -1
- package/cjs/{context-8cb8affd.js → context-5374df4e.js} +2 -2
- package/cjs/{context-8cb8affd.js.map → context-5374df4e.js.map} +1 -1
- package/cjs/dist/index.css +161 -141
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-a1b754e9.js → index-082ae73e.js} +7 -7
- package/cjs/{index-a1b754e9.js.map → index-082ae73e.js.map} +1 -1
- package/cjs/{index-31f28d2f.js → index-4dc4e6b5.js} +4 -4
- package/cjs/{index-31f28d2f.js.map → index-4dc4e6b5.js.map} +1 -1
- package/cjs/{index-4c8c854d.js → index-5993f1e6.js} +3 -3
- package/cjs/{index-4c8c854d.js.map → index-5993f1e6.js.map} +1 -1
- package/cjs/{index-62b0b176.js → index-5fef7cd4.js} +7 -7
- package/cjs/{index-62b0b176.js.map → index-5fef7cd4.js.map} +1 -1
- package/cjs/{index-a3f2fc1e.js → index-7ee2031a.js} +3 -3
- package/cjs/{index-a3f2fc1e.js.map → index-7ee2031a.js.map} +1 -1
- package/cjs/{index-e97ad39a.js → index-84e17bfc.js} +2 -2
- package/cjs/{index-e97ad39a.js.map → index-84e17bfc.js.map} +1 -1
- package/cjs/{index-c65779c7.js → index-8e745dca.js} +2 -2
- package/cjs/{index-c65779c7.js.map → index-8e745dca.js.map} +1 -1
- package/cjs/{index-4678a454.js → index-9d41d610.js} +1 -1
- package/cjs/{index-4678a454.js.map → index-9d41d610.js.map} +1 -1
- package/cjs/{index-8ea5c90b.js → index-b583b8df.js} +5 -5
- package/cjs/{index-8ea5c90b.js.map → index-b583b8df.js.map} +1 -1
- package/cjs/{index-c77b4d21.js → index-bb8788c1.js} +2 -2
- package/cjs/{index-c77b4d21.js.map → index-bb8788c1.js.map} +1 -1
- package/cjs/{index-dbe73222.js → index-dbfa9e30.js} +4 -4
- package/cjs/{index-dbe73222.js.map → index-dbfa9e30.js.map} +1 -1
- package/cjs/{index-7f8189a8.js → index-e2cb4259.js} +2 -2
- package/cjs/{index-7f8189a8.js.map → index-e2cb4259.js.map} +1 -1
- package/cjs/{index-254f336f.js → index-ef4ab52a.js} +7 -5
- package/cjs/index-ef4ab52a.js.map +1 -0
- package/cjs/{index-987764bd.js → index-f0738051.js} +1 -1
- package/cjs/{index-987764bd.js.map → index-f0738051.js.map} +1 -1
- package/cjs/index.js +44 -44
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-4ee01b87.js → stringSet-39f04718.js} +1 -1
- package/cjs/{stringSet-4ee01b87.js.map → stringSet-39f04718.js.map} +1 -1
- package/cjs/{topics-022da857.js → topics-5606f43e.js} +1 -1
- package/cjs/{topics-022da857.js.map → topics-5606f43e.js.map} +1 -1
- package/cjs/{tslib.es6-e6498d62.js → tslib.es6-aab6b54f.js} +1 -1
- package/cjs/{tslib.es6-e6498d62.js.map → tslib.es6-aab6b54f.js.map} +1 -1
- package/cjs/{types-aeca242a.js → types-45b8cd42.js} +1 -1
- package/cjs/{types-aeca242a.js.map → types-45b8cd42.js.map} +1 -1
- package/cjs/ui/Accordion.js +3 -3
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +3 -3
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +7 -6
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +11 -11
- package/cjs/ui/MessageContent.js +35 -34
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +9 -9
- package/cjs/ui/MessageItemMenu.js +11 -11
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/OGMessageItemBody.js +11 -11
- package/cjs/ui/OpenChannelAdminMessage.js +3 -3
- package/cjs/ui/OpenChannelAvatar.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +33 -27
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +32 -30
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +35 -29
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +32 -30
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +11 -11
- package/cjs/ui/ThreadReplies.js +6 -6
- package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +11 -11
- package/cjs/ui/UserProfile.js +10 -10
- package/cjs/ui/VoiceMessageItemBody.js +5 -5
- package/cjs/ui/VoiceMessgeInput.js +8 -8
- package/cjs/ui/Word.js +11 -11
- package/cjs/{useLongPress-322218d9.js → useLongPress-9261da40.js} +3 -3
- package/cjs/{useLongPress-322218d9.js.map → useLongPress-9261da40.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-eb7febed.js → utils-1575dcd5.js} +1 -1
- package/cjs/{utils-eb7febed.js.map → utils-1575dcd5.js.map} +1 -1
- package/cjs/{utils-642928b9.js → utils-5ee973c5.js} +2 -2
- package/cjs/{utils-642928b9.js.map → utils-5ee973c5.js.map} +1 -1
- package/cjs/{utils-37fca8a6.js → utils-67a9f818.js} +1 -1
- package/cjs/{utils-37fca8a6.js.map → utils-67a9f818.js.map} +1 -1
- package/cjs/{utils-c95c0536.js → utils-acf605ed.js} +1 -1
- package/cjs/{utils-c95c0536.js.map → utils-acf605ed.js.map} +1 -1
- package/cjs/{uuid-74ed3d6f.js → uuid-7daa634b.js} +1 -1
- package/cjs/{uuid-74ed3d6f.js.map → uuid-7daa634b.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-1e2ee795.js → color-9754a8a3.js} +1 -1
- package/{color-1e2ee795.js.map → color-9754a8a3.js.map} +1 -1
- package/{compareIds-5ccbddc5.js → compareIds-5ff919a8.js} +1 -1
- package/{compareIds-5ccbddc5.js.map → compareIds-5ff919a8.js.map} +1 -1
- package/{const-8faafb2e.js → const-21dcd857.js} +3 -2
- package/const-21dcd857.js.map +1 -0
- package/{const-dc9e776d.js → const-7588ac16.js} +1 -1
- package/{const-dc9e776d.js.map → const-7588ac16.js.map} +1 -1
- package/{consts-36a3e18c.js → consts-20a8f693.js} +1 -1
- package/{consts-36a3e18c.js.map → consts-20a8f693.js.map} +1 -1
- package/{context-7f6e48a4.js → context-01308b37.js} +2 -2
- package/{context-7f6e48a4.js.map → context-01308b37.js.map} +1 -1
- package/dist/index.css +161 -141
- package/dist/index.css.map +1 -1
- package/{index-34aa10d1.js → index-100b143d.js} +2 -2
- package/{index-34aa10d1.js.map → index-100b143d.js.map} +1 -1
- package/{index-3fb2524a.js → index-1a8fa4cd.js} +4 -4
- package/{index-3fb2524a.js.map → index-1a8fa4cd.js.map} +1 -1
- package/{index-ba7daf9f.js → index-1de84663.js} +3 -3
- package/{index-ba7daf9f.js.map → index-1de84663.js.map} +1 -1
- package/{index-33f2cf64.js → index-2e23c452.js} +2 -2
- package/{index-33f2cf64.js.map → index-2e23c452.js.map} +1 -1
- package/{index-28d6891b.js → index-3e5cbf80.js} +7 -7
- package/{index-28d6891b.js.map → index-3e5cbf80.js.map} +1 -1
- package/{index-5f7a15e3.js → index-44342614.js} +1 -1
- package/{index-5f7a15e3.js.map → index-44342614.js.map} +1 -1
- package/{index-ece24db0.js → index-561ddd27.js} +2 -2
- package/{index-ece24db0.js.map → index-561ddd27.js.map} +1 -1
- package/{index-5eb9a836.js → index-5e057577.js} +1 -1
- package/{index-5eb9a836.js.map → index-5e057577.js.map} +1 -1
- package/{index-ba245747.js → index-82382d4a.js} +5 -5
- package/{index-ba245747.js.map → index-82382d4a.js.map} +1 -1
- package/{index-a66bf2c0.js → index-9e5cf819.js} +4 -4
- package/{index-a66bf2c0.js.map → index-9e5cf819.js.map} +1 -1
- package/{index-5258ee05.js → index-aa29a843.js} +2 -2
- package/{index-5258ee05.js.map → index-aa29a843.js.map} +1 -1
- package/{index-7e47ba7d.js → index-cebb1db7.js} +7 -5
- package/index-cebb1db7.js.map +1 -0
- package/{index-25d0ba0b.js → index-dc672161.js} +7 -7
- package/{index-25d0ba0b.js.map → index-dc672161.js.map} +1 -1
- package/{index-87ea8714.js → index-dd2a9d44.js} +3 -3
- package/{index-87ea8714.js.map → index-dd2a9d44.js.map} +1 -1
- package/index.d.ts +30 -22
- package/index.js +44 -44
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-44be1369.js → stringSet-ea4aeced.js} +1 -1
- package/{stringSet-44be1369.js.map → stringSet-ea4aeced.js.map} +1 -1
- package/{topics-3f0db840.js → topics-2b0b1403.js} +1 -1
- package/{topics-3f0db840.js.map → topics-2b0b1403.js.map} +1 -1
- package/{tslib.es6-d163c646.js → tslib.es6-ca21063f.js} +1 -1
- package/{tslib.es6-d163c646.js.map → tslib.es6-ca21063f.js.map} +1 -1
- package/{types-490489b7.js → types-d5ea9376.js} +1 -1
- package/{types-490489b7.js.map → types-d5ea9376.js.map} +1 -1
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +7 -6
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +11 -11
- package/ui/MessageContent.js +35 -34
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +9 -9
- package/ui/MessageItemMenu.js +11 -11
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +11 -11
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +33 -27
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +32 -30
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +35 -29
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +32 -30
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +6 -6
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +11 -11
- package/ui/ThreadReplies.js +6 -6
- package/ui/ThumbnailMessageItemBody.js +2 -2
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +10 -10
- package/ui/VoiceMessageItemBody.js +5 -5
- package/ui/VoiceMessgeInput.js +8 -8
- package/ui/Word.js +11 -11
- package/{useLongPress-a05b8d13.js → useLongPress-0dccc5ca.js} +3 -3
- package/{useLongPress-a05b8d13.js.map → useLongPress-0dccc5ca.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-e96969ad.js → utils-2088448e.js} +1 -1
- package/{utils-e96969ad.js.map → utils-2088448e.js.map} +1 -1
- package/{utils-49a0dde3.js → utils-3f271584.js} +1 -1
- package/{utils-49a0dde3.js.map → utils-3f271584.js.map} +1 -1
- package/{utils-3a9b2a5b.js → utils-a4003ad3.js} +1 -1
- package/{utils-3a9b2a5b.js.map → utils-a4003ad3.js.map} +1 -1
- package/{utils-14105f2b.js → utils-a9e361cf.js} +2 -2
- package/{utils-14105f2b.js.map → utils-a9e361cf.js.map} +1 -1
- package/{uuid-bf5599d8.js → uuid-e2d2f65c.js} +1 -1
- package/{uuid-bf5599d8.js.map → uuid-e2d2f65c.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelProvider-43d68897.js.map +0 -1
- package/_rollupPluginBabelHelpers-b0efb0e7.js.map +0 -1
- package/cjs/ChannelProvider-d207316d.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-24f49f41.js.map +0 -1
- package/cjs/const-d6a997ec.js.map +0 -1
- package/cjs/index-254f336f.js.map +0 -1
- package/const-8faafb2e.js.map +0 -1
- package/index-7e47ba7d.js.map +0 -1
package/ui/MessageContent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageContent.js","sources":["../../src/ui/MobileMenu/MobileContextMenu.tsx","../../src/ui/MobileMenu/MobileBottomSheet.tsx","../../src/ui/MobileMenu/index.tsx","../../src/ui/MessageContent/index.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseMenuProps } from './types';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\n\nimport {\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n} from '../../utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography } from '../Label';\n\nconst MobileContextMenu: React.FunctionComponent<BaseMenuProps> = (props: BaseMenuProps) => {\n const {\n hideMenu,\n channel,\n message,\n replyType,\n userId,\n resendMessage,\n showEdit,\n showRemove,\n setQuoteMessage,\n parentRef,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\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 const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message);\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-message__mobile-context-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-copy\"\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n setQuoteMessage(message);\n }}\n disable={message?.parentMessageId > 0}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__REPLY}\n </Label>\n <Icon\n type={IconTypes.REPLY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-edit\"\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__EDIT}\n </Label>\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-resend\"\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__RESEND}\n </Label>\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDelete && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-delete\"\n onClick={() => {\n hideMenu();\n showRemove(true);\n }}\n disable={message?.threadInfo?.replyCount > 0}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__DELETE}\n </Label>\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDownload && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-save\"\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__contextmenu--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__SAVE}\n </Label>\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </a>\n </MenuItem>\n )}\n </MenuItems>\n )}\n />\n );\n};\n\nexport default MobileContextMenu;\n","import type { Emoji } from '@sendbird/chat';\nimport { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport React, { useState } from 'react';\n\nimport type { MobileBottomSheetProps } from './types';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport {\n getEmojiListAll,\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n} from '../../utils';\nimport BottomSheet from '../BottomSheet';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nconst EMOJI_SIZE = 38;\n\nconst MobileBottomSheet: React.FunctionComponent<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n hideMenu,\n channel,\n emojiContainer,\n message,\n replyType,\n userId,\n resendMessage,\n toggleReaction,\n isReactionEnabled,\n showEdit,\n showRemove,\n setQuoteMessage,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\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 const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message);\n const showReaction: boolean = !isFailedMessage(message) && !isPendingMessage(message) && isReactionEnabled;\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const disableReaction = message?.parentMessageId > 0;\n\n const fileMessage = message as FileMessage;\n const maxEmojisPerRow = Math.floor(window?.innerWidth / EMOJI_SIZE) - 1;\n const [showEmojisOnly, setShowEmojisOnly] = useState<boolean>(false);\n const emojis = getEmojiListAll(emojiContainer);\n // calculate max emojis that can be shown in screen\n const visibleEmojis = showEmojisOnly\n ? emojis\n : emojis?.slice(0, maxEmojisPerRow);\n const canShowMoreEmojis = emojis.length > maxEmojisPerRow;\n return (\n <BottomSheet onBackdropClick={hideMenu}>\n <div className='sendbird-message__bottomsheet'>\n {\n showReaction && (\n <div className='sendbird-message__bottomsheet-reactions'>\n <ul\n className=\"sendbird-message__bottomsheet-reaction-bar\"\n >\n <div\n className={`\n sendbird-message__bottomsheet-reaction-bar__row\n ${showEmojisOnly ? 'sendbird-message__bottomsheet-reaction-bar__all' : ''}\n `}\n >\n {visibleEmojis.map((emoji: Emoji): React.ReactElement => {\n const isReacted: boolean = message?.reactions\n ?.filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]\n ?.userIds\n ?.some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width={`${EMOJI_SIZE}px`}\n height={`${EMOJI_SIZE}px`}\n selected={isReacted}\n onClick={(): void => {\n hideMenu();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\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 {\n canShowMoreEmojis && !showEmojisOnly && (\n <ReactionButton\n key=\"emoji_more\"\n width=\"38px\"\n height=\"38px\"\n onClick={(): void => {\n setShowEmojisOnly(true);\n }}\n >\n <ImageRenderer\n url={''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): React.ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n )\n }\n </div>\n </ul>\n </div>\n )\n }\n {\n !showEmojisOnly && (\n <div className='sendbird-message__bottomsheet--actions'>\n {showMenuItemCopy && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n </div>\n )}\n {\n showMenuItemEdit && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__EDIT}\n </Label>\n </div>\n )\n }\n {\n showMenuItemResend && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__RESEND}\n </Label>\n </div>\n )\n }\n {\n showMenuItemReply && (\n\n <div\n className={`sendbird-message__bottomsheet--action\n ${disableReaction ? 'sendbird-message__bottomsheet--action-disabled': ''}\n `}\n role=\"menuitem\"\n aria-disabled={disableReaction ? true : false}\n onClick={() => {\n if(!disableReaction) {\n hideMenu();\n setQuoteMessage(message);\n }\n }}\n >\n <Icon\n type={IconTypes.REPLY}\n fillColor={disableReaction\n ? IconColors.ON_BACKGROUND_3\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={disableReaction && LabelColors.ONBACKGROUND_4}\n >\n {stringSet?.MESSAGE_MENU__REPLY}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDelete && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showRemove(true);\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__DELETE}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDownload && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__bottomsheet--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__SAVE}\n </Label>\n </a>\n </div>\n )\n }\n </div>\n )\n }\n </div>\n </BottomSheet>\n );\n};\n\nexport default MobileBottomSheet;\n","import './mobile-menu.scss';\n\nimport React from 'react';\nimport MobileContextMenu from './MobileContextMenu';\nimport MobileBottomSheet from './MobileBottomSheet';\nimport type { MobileBottomSheetProps } from './types';\n\nconst MobileMenu: React.FC<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n message,\n hideMenu,\n userId,\n channel,\n isReactionEnabled = false,\n isByMe,\n replyType,\n disabled,\n showRemove,\n showEdit,\n resendMessage,\n setQuoteMessage,\n emojiContainer,\n toggleReaction,\n parentRef,\n } = props;\n return (\n <>\n {\n isReactionEnabled\n ? (\n <MobileBottomSheet\n channel={channel}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n showEdit={showEdit}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n isReactionEnabled={isReactionEnabled}\n />\n ): (\n <MobileContextMenu\n channel={channel}\n userId={userId}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n showEdit={showEdit}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n parentRef={parentRef}\n />\n )\n }\n </>\n );\n};\n\nexport default MobileMenu;\n","import React, {\n ReactElement,\n useContext,\n useRef,\n useState,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport UserProfile from '../UserProfile';\nimport MessageStatus from '../MessageStatus';\nimport MessageItemMenu from '../MessageItemMenu';\nimport MessageItemReactionMenu from '../MessageItemReactionMenu';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport EmojiReactions from '../EmojiReactions';\n\nimport ClientAdminMessage from '../AdminMessage';\nimport TextMessageItemBody from '../TextMessageItemBody';\nimport FileMessageItemBody from '../FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../ThumbnailMessageItemBody';\nimport OGMessageItemBody from '../OGMessageItemBody';\nimport UnknownMessageItemBody from '../UnknownMessageItemBody';\nimport QuoteMessage from '../QuoteMessage';\n\nimport {\n getClassName,\n getUIKitMessageTypes,\n getUIKitMessageType,\n isTextMessage,\n isOGMessage,\n isThumbnailMessage,\n getSenderName,\n isSentMessage,\n isVoiceMessage,\n} from '../../utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { ReplyType } from '../../index.js';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { AdminMessage, FileMessage, Sender, UserMessage } from '@sendbird/chat/message';\nimport useLongPress from '../../hooks/useLongPress';\nimport MobileMenu from '../MobileMenu';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport ThreadReplies from '../ThreadReplies';\nimport { ThreadReplySelectType } from '../../smart-components/Channel/context/const';\nimport VoiceMessageItemBody from '../VoiceMessageItemBody';\n\n// should initialize in UserProfileContext.jsx\nexport interface UserProfileContextInterface {\n disableUserProfile: boolean;\n isOpenChannel: boolean;\n renderUserProfile?: (props: { user: Sender, close: () => void }) => React.ReactElement,\n}\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n channel: GroupChannel;\n message: AdminMessage | UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n threadReplySelectType?: ThreadReplySelectType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n scrollToMessage?: (createdAt: number, messageId: number) => void;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => Promise<UserMessage | FileMessage>;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n onQuoteMessageClick?: (props: { message: UserMessage | FileMessage }) => void;\n}\nexport default function MessageContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n threadReplySelectType,\n nicknamesMap,\n emojiContainer,\n scrollToMessage,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n setQuoteMessage,\n onReplyInThread,\n onQuoteMessageClick,\n}: Props): ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const { config } = useSendbirdStateContext?.() || {};\n const { disableUserProfile, renderUserProfile }: UserProfileContextInterface = useContext(UserProfileContext);\n const avatarRef = useRef(null);\n const contentRef = useRef(null);\n const { isMobile } = useMediaQueryContext();\n const [showMenu, setShowMenu] = useState(false);\n const [mouseHover, setMouseHover] = useState(false);\n const [supposedHover, setSupposedHover] = useState(false);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const isByMeClassName = isByMe ? 'outgoing' : 'incoming';\n const chainTopClassName = chainTop ? 'chain-top' : '';\n const isReactionEnabledClassName = isReactionEnabled ? 'use-reactions' : '';\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const useReplyingClassName = useReplying ? 'use-quote' : '';\n\n // Thread replies\n const displayThreadReplies = message?.threadInfo?.replyCount > 0 && replyType === 'THREAD';\n\n // onMouseDown: (e: React.MouseEvent<T>) => void;\n // onTouchStart: (e: React.TouchEvent<T>) => void;\n // onMouseUp: (e: React.MouseEvent<T>) => void;\n // onMouseLeave: (e: React.MouseEvent<T>) => void;\n // onTouchEnd: (e: React.TouchEvent<T>) => void;\n const longPress = useLongPress({\n onLongPress: () => {\n if (isMobile) {\n setShowMenu(true);\n }\n },\n onClick: () => {\n // @ts-ignore\n if (isMobile && isThumbnailMessage(message) && isSentMessage(message)) {\n showFileViewer(true);\n }\n },\n }, {\n delay: 300,\n });\n\n if (message?.isAdminMessage?.() || message?.messageType === 'admin') {\n return (<ClientAdminMessage message={message as AdminMessage} />);\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-content', isByMeClassName])}\n onMouseOver={() => setMouseHover(true)}\n onMouseLeave={() => setMouseHover(false)}\n >\n {/* left */}\n <div className={getClassName(['sendbird-message-content__left', isReactionEnabledClassName, isByMeClassName, useReplyingClassName])}>\n {(!isByMe && !chainBottom) && (\n /** user profile */\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <Avatar\n className={`sendbird-message-content__left__avatar ${displayThreadReplies ? 'use-thread-replies' : ''}`}\n // @ts-ignore\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n // TODO: Divide getting profileUrl logic to utils\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={(): void => { if (!disableUserProfile) toggleDropdown() }}\n />\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n // @ts-ignore\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n // @ts-ignore\n : (<UserProfile user={message.sender} onSuccess={closeDropdown} />)\n }\n </MenuItems>\n )}\n />\n )}\n {/* outgoing menu */}\n {isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', isReactionEnabledClassName, supposedHoverClassName, isByMeClassName])}>\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n {/* middle */}\n <div\n className=\"sendbird-message-content__middle\"\n {...(isMobile ? { ...longPress } : {})}\n ref={contentRef}\n >\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-message-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n // @ts-ignore\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n {/* quote message */}\n {(useReplying) ? (\n <div className={getClassName(['sendbird-message-content__middle__quote-message', isByMe ? 'outgoing' : 'incoming', useReplyingClassName])}>\n <QuoteMessage\n message={message as UserMessage | FileMessage}\n userId={userId}\n isByMe={isByMe}\n isUnavailable={(replyType === 'THREAD' && (channel?.joinedAt * 1000) > message?.parentMessage?.createdAt)}\n onClick={() => {\n if (replyType === 'THREAD' && threadReplySelectType === ThreadReplySelectType.THREAD) {\n onQuoteMessageClick?.({ message: message as UserMessage | FileMessage });\n }\n if (\n (replyType === 'QUOTE_REPLY' || (replyType === 'THREAD' && threadReplySelectType === ThreadReplySelectType.PARENT))\n && message?.parentMessage?.createdAt && message?.parentMessageId\n ) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n ) : null}\n {/* container: message item body + emoji reactions */}\n <div className={getClassName(['sendbird-message-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-message-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {isVoiceMessage(message as FileMessage) && (\n <VoiceMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n channelUrl={channel?.url}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n showFileViewer={showFileViewer}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {/* reactions */}\n {(isReactionEnabled && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-message-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n mouseHover ? 'mouse-hover' : '',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\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 {/* thread replies */}\n {displayThreadReplies && (\n <ThreadReplies\n className=\"sendbird-message-content__middle__thread-replies\"\n threadInfo={message?.threadInfo}\n onClick={() => onReplyInThread?.({ message: message as UserMessage | FileMessage })}\n />\n )}\n </div>\n {/* right */}\n <div className={getClassName(['sendbird-message-content__right', chainTopClassName, isReactionEnabledClassName, useReplyingClassName])}>\n {/* incoming menu */}\n {!isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', chainTopClassName, supposedHoverClassName, isByMeClassName])}>\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n )}\n </div>\n {\n showMenu && (\n message?.isUserMessage?.() || message?.isFileMessage?.()\n ) && (\n <MobileMenu\n parentRef={contentRef}\n channel={channel}\n hideMenu={() => { setShowMenu(false) }}\n message={message}\n isReactionEnabled={isReactionEnabled}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n toggleReaction={toggleReaction}\n showEdit={showEdit}\n />\n )\n }\n </div>\n );\n}\n"],"names":["MobileContextMenu","props","hideMenu","channel","message","replyType","userId","resendMessage","showEdit","showRemove","setQuoteMessage","parentRef","isByMe","_a","sender","stringSet","useLocalization","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemDownload","isFileMessage","showMenuItemReply","isGroupChannel","isBroadcast","fileMessage","React","copyToClipboard","LabelTypography","SUBTITLE_1","MESSAGE_MENU__COPY","IconTypes","COPY","IconColors","PRIMARY","parentMessageId","MESSAGE_MENU__REPLY","REPLY","MESSAGE_MENU__EDIT","EDIT","MESSAGE_MENU__RESEND","REFRESH","threadInfo","replyCount","MESSAGE_MENU__DELETE","DELETE","url","MESSAGE_MENU__SAVE","DOWNLOAD","EMOJI_SIZE","MobileBottomSheet","emojiContainer","toggleReaction","isReactionEnabled","showReaction","disableReaction","maxEmojisPerRow","Math","floor","window","innerWidth","_b","useState","showEmojisOnly","setShowEmojisOnly","emojis","getEmojiListAll","visibleEmojis","slice","canShowMoreEmojis","length","map","emoji","isReacted","_c","reactions","filter","reaction","key","userIds","some","reactorId","concat","style","QUESTION","ON_BACKGROUND_3","EMOJI_MORE","LabelColors","ONBACKGROUND_4","MobileMenu","disabled","MessageContent","className","_l","_m","chainTop","_o","chainBottom","_p","_q","disableQuoteMessage","threadReplySelectType","nicknamesMap","scrollToMessage","showFileViewer","onReplyInThread","onQuoteMessageClick","messageTypes","getUIKitMessageTypes","dateLocale","config","useSendbirdStateContext","_r","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","contentRef","isMobile","useMediaQueryContext","_s","showMenu","setShowMenu","_t","mouseHover","setMouseHover","_u","supposedHover","setSupposedHover","sendingStatus","isByMeClassName","chainTopClassName","isReactionEnabledClassName","supposedHoverClassName","useReplying","parentMessage","useReplyingClassName","displayThreadReplies","longPress","useLongPress","onLongPress","onClick","isThumbnailMessage","delay","isAdminMessage","_d","call","messageType","ClientAdminMessage","getClassName","toggleDropdown","members","find","member","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","ThreadReplySelectType","THREAD","PARENT","createdAt","__assign","CAPTION_2","ONBACKGROUND_2","_e","nickname","getSenderName","joinedAt","_g","isTextMessage","isMentionEnabled","isOGMessage","getUIKitMessageType","FILE","isVoiceMessage","UNKNOWN","_h","CAPTION_3","format","locale","_j","_k"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageContent.js","sources":["../../src/ui/MobileMenu/MobileContextMenu.tsx","../../src/ui/MobileMenu/MobileBottomSheet.tsx","../../src/ui/MobileMenu/index.tsx","../../src/ui/MessageContent/index.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseMenuProps } from './types';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\n\nimport {\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n} from '../../utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography } from '../Label';\n\nconst MobileContextMenu: React.FunctionComponent<BaseMenuProps> = (props: BaseMenuProps) => {\n const {\n hideMenu,\n channel,\n message,\n replyType,\n userId,\n resendMessage,\n showEdit,\n showRemove,\n setQuoteMessage,\n parentRef,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\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 const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message);\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-message__mobile-context-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-copy\"\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n setQuoteMessage(message);\n }}\n disable={message?.parentMessageId > 0}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__REPLY}\n </Label>\n <Icon\n type={IconTypes.REPLY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-edit\"\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__EDIT}\n </Label>\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-resend\"\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__RESEND}\n </Label>\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDelete && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-delete\"\n onClick={() => {\n hideMenu();\n showRemove(true);\n }}\n disable={message?.threadInfo?.replyCount > 0}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__DELETE}\n </Label>\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDownload && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-save\"\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__contextmenu--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__SAVE}\n </Label>\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </a>\n </MenuItem>\n )}\n </MenuItems>\n )}\n />\n );\n};\n\nexport default MobileContextMenu;\n","import type { Emoji } from '@sendbird/chat';\nimport { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport React, { useState } from 'react';\n\nimport type { MobileBottomSheetProps } from './types';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport {\n getEmojiListAll,\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n} from '../../utils';\nimport BottomSheet from '../BottomSheet';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nconst EMOJI_SIZE = 38;\n\nconst MobileBottomSheet: React.FunctionComponent<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n hideMenu,\n channel,\n emojiContainer,\n message,\n replyType,\n userId,\n resendMessage,\n toggleReaction,\n isReactionEnabled,\n showEdit,\n showRemove,\n setQuoteMessage,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\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 const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message);\n const showReaction: boolean = !isFailedMessage(message) && !isPendingMessage(message) && isReactionEnabled;\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const disableReaction = message?.parentMessageId > 0;\n\n const fileMessage = message as FileMessage;\n const maxEmojisPerRow = Math.floor(window?.innerWidth / EMOJI_SIZE) - 1;\n const [showEmojisOnly, setShowEmojisOnly] = useState<boolean>(false);\n const emojis = getEmojiListAll(emojiContainer);\n // calculate max emojis that can be shown in screen\n const visibleEmojis = showEmojisOnly\n ? emojis\n : emojis?.slice(0, maxEmojisPerRow);\n const canShowMoreEmojis = emojis.length > maxEmojisPerRow;\n return (\n <BottomSheet onBackdropClick={hideMenu}>\n <div className='sendbird-message__bottomsheet'>\n {\n showReaction && (\n <div className='sendbird-message__bottomsheet-reactions'>\n <ul\n className=\"sendbird-message__bottomsheet-reaction-bar\"\n >\n <div\n className={`\n sendbird-message__bottomsheet-reaction-bar__row\n ${showEmojisOnly ? 'sendbird-message__bottomsheet-reaction-bar__all' : ''}\n `}\n >\n {visibleEmojis.map((emoji: Emoji): React.ReactElement => {\n const isReacted: boolean = message?.reactions\n ?.filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]\n ?.userIds\n ?.some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width={`${EMOJI_SIZE}px`}\n height={`${EMOJI_SIZE}px`}\n selected={isReacted}\n onClick={(): void => {\n hideMenu();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\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 {\n canShowMoreEmojis && !showEmojisOnly && (\n <ReactionButton\n key=\"emoji_more\"\n width=\"38px\"\n height=\"38px\"\n onClick={(): void => {\n setShowEmojisOnly(true);\n }}\n >\n <ImageRenderer\n url={''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): React.ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n )\n }\n </div>\n </ul>\n </div>\n )\n }\n {\n !showEmojisOnly && (\n <div className='sendbird-message__bottomsheet--actions'>\n {showMenuItemCopy && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n </div>\n )}\n {\n showMenuItemEdit && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__EDIT}\n </Label>\n </div>\n )\n }\n {\n showMenuItemResend && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__RESEND}\n </Label>\n </div>\n )\n }\n {\n showMenuItemReply && (\n\n <div\n className={`sendbird-message__bottomsheet--action\n ${disableReaction ? 'sendbird-message__bottomsheet--action-disabled': ''}\n `}\n role=\"menuitem\"\n aria-disabled={disableReaction ? true : false}\n onClick={() => {\n if(!disableReaction) {\n hideMenu();\n setQuoteMessage(message);\n }\n }}\n >\n <Icon\n type={IconTypes.REPLY}\n fillColor={disableReaction\n ? IconColors.ON_BACKGROUND_3\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={disableReaction && LabelColors.ONBACKGROUND_4}\n >\n {stringSet?.MESSAGE_MENU__REPLY}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDelete && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showRemove(true);\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__DELETE}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDownload && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__bottomsheet--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__SAVE}\n </Label>\n </a>\n </div>\n )\n }\n </div>\n )\n }\n </div>\n </BottomSheet>\n );\n};\n\nexport default MobileBottomSheet;\n","import './mobile-menu.scss';\n\nimport React from 'react';\nimport MobileContextMenu from './MobileContextMenu';\nimport MobileBottomSheet from './MobileBottomSheet';\nimport type { MobileBottomSheetProps } from './types';\n\nconst MobileMenu: React.FC<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n message,\n hideMenu,\n userId,\n channel,\n isReactionEnabled = false,\n isByMe,\n replyType,\n disabled,\n showRemove,\n showEdit,\n resendMessage,\n setQuoteMessage,\n emojiContainer,\n toggleReaction,\n parentRef,\n } = props;\n return (\n <>\n {\n isReactionEnabled\n ? (\n <MobileBottomSheet\n channel={channel}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n showEdit={showEdit}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n isReactionEnabled={isReactionEnabled}\n />\n ): (\n <MobileContextMenu\n channel={channel}\n userId={userId}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n showEdit={showEdit}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n parentRef={parentRef}\n />\n )\n }\n </>\n );\n};\n\nexport default MobileMenu;\n","import React, {\n ReactElement,\n useContext,\n useRef,\n useState,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport UserProfile from '../UserProfile';\nimport MessageStatus from '../MessageStatus';\nimport MessageItemMenu from '../MessageItemMenu';\nimport MessageItemReactionMenu from '../MessageItemReactionMenu';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport EmojiReactions from '../EmojiReactions';\n\nimport ClientAdminMessage from '../AdminMessage';\nimport TextMessageItemBody from '../TextMessageItemBody';\nimport FileMessageItemBody from '../FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../ThumbnailMessageItemBody';\nimport OGMessageItemBody from '../OGMessageItemBody';\nimport UnknownMessageItemBody from '../UnknownMessageItemBody';\nimport QuoteMessage from '../QuoteMessage';\n\nimport {\n getClassName,\n getUIKitMessageTypes,\n getUIKitMessageType,\n isTextMessage,\n isOGMessage,\n isThumbnailMessage,\n getSenderName,\n isSentMessage,\n isVoiceMessage,\n} from '../../utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { ReplyType } from '../../index.js';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { AdminMessage, FileMessage, Sender, UserMessage } from '@sendbird/chat/message';\nimport useLongPress from '../../hooks/useLongPress';\nimport MobileMenu from '../MobileMenu';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport ThreadReplies from '../ThreadReplies';\nimport { ThreadReplySelectType } from '../../smart-components/Channel/context/const';\nimport VoiceMessageItemBody from '../VoiceMessageItemBody';\n\n// should initialize in UserProfileContext.jsx\nexport interface UserProfileContextInterface {\n disableUserProfile: boolean;\n isOpenChannel: boolean;\n renderUserProfile?: (props: { user: Sender, close: () => void }) => React.ReactElement,\n}\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n channel: GroupChannel;\n message: AdminMessage | UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n threadReplySelectType?: ThreadReplySelectType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n scrollToMessage?: (createdAt: number, messageId: number) => void;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => Promise<UserMessage | FileMessage>;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n onQuoteMessageClick?: (props: { message: UserMessage | FileMessage }) => void;\n}\nexport default function MessageContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n threadReplySelectType,\n nicknamesMap,\n emojiContainer,\n scrollToMessage,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n setQuoteMessage,\n onReplyInThread,\n onQuoteMessageClick,\n}: Props): ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const { config } = useSendbirdStateContext?.() || {};\n const { disableUserProfile, renderUserProfile }: UserProfileContextInterface = useContext(UserProfileContext);\n const avatarRef = useRef(null);\n const contentRef = useRef(null);\n const { isMobile } = useMediaQueryContext();\n const [showMenu, setShowMenu] = useState(false);\n const [mouseHover, setMouseHover] = useState(false);\n const [supposedHover, setSupposedHover] = useState(false);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const isByMeClassName = isByMe ? 'outgoing' : 'incoming';\n const chainTopClassName = chainTop ? 'chain-top' : '';\n const isReactionEnabledInChannel = isReactionEnabled && !channel?.isEphemeral;\n const isReactionEnabledClassName = isReactionEnabledInChannel ? 'use-reactions' : '';\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const useReplyingClassName = useReplying ? 'use-quote' : '';\n\n // Thread replies\n const displayThreadReplies = message?.threadInfo?.replyCount > 0 && replyType === 'THREAD';\n\n // onMouseDown: (e: React.MouseEvent<T>) => void;\n // onTouchStart: (e: React.TouchEvent<T>) => void;\n // onMouseUp: (e: React.MouseEvent<T>) => void;\n // onMouseLeave: (e: React.MouseEvent<T>) => void;\n // onTouchEnd: (e: React.TouchEvent<T>) => void;\n const longPress = useLongPress({\n onLongPress: () => {\n if (isMobile) {\n setShowMenu(true);\n }\n },\n onClick: () => {\n // @ts-ignore\n if (isMobile && isThumbnailMessage(message) && isSentMessage(message)) {\n showFileViewer(true);\n }\n },\n }, {\n delay: 300,\n });\n\n if (message?.isAdminMessage?.() || message?.messageType === 'admin') {\n return (<ClientAdminMessage message={message as AdminMessage} />);\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-content', isByMeClassName])}\n onMouseOver={() => setMouseHover(true)}\n onMouseLeave={() => setMouseHover(false)}\n >\n {/* left */}\n <div className={getClassName(['sendbird-message-content__left', isReactionEnabledClassName, isByMeClassName, useReplyingClassName])}>\n {(!isByMe && !chainBottom) && (\n /** user profile */\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <Avatar\n className={`sendbird-message-content__left__avatar ${displayThreadReplies ? 'use-thread-replies' : ''}`}\n // @ts-ignore\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n // TODO: Divide getting profileUrl logic to utils\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={(): void => { if (!disableUserProfile) toggleDropdown() }}\n />\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n // @ts-ignore\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n // @ts-ignore\n : (<UserProfile user={message.sender} onSuccess={closeDropdown} />)\n }\n </MenuItems>\n )}\n />\n )}\n {/* outgoing menu */}\n {isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', isReactionEnabledClassName, supposedHoverClassName, isByMeClassName])}>\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n {/* middle */}\n <div\n className=\"sendbird-message-content__middle\"\n {...(isMobile ? { ...longPress } : {})}\n ref={contentRef}\n >\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-message-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n // @ts-ignore\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n {/* quote message */}\n {(useReplying) ? (\n <div className={getClassName(['sendbird-message-content__middle__quote-message', isByMe ? 'outgoing' : 'incoming', useReplyingClassName])}>\n <QuoteMessage\n message={message as UserMessage | FileMessage}\n userId={userId}\n isByMe={isByMe}\n isUnavailable={(replyType === 'THREAD' && (channel?.joinedAt * 1000) > message?.parentMessage?.createdAt)}\n onClick={() => {\n if (replyType === 'THREAD' && threadReplySelectType === ThreadReplySelectType.THREAD) {\n onQuoteMessageClick?.({ message: message as UserMessage | FileMessage });\n }\n if (\n (replyType === 'QUOTE_REPLY' || (replyType === 'THREAD' && threadReplySelectType === ThreadReplySelectType.PARENT))\n && message?.parentMessage?.createdAt && message?.parentMessageId\n ) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n ) : null}\n {/* container: message item body + emoji reactions */}\n <div className={getClassName(['sendbird-message-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-message-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {isVoiceMessage(message as FileMessage) && (\n <VoiceMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n channelUrl={channel?.url}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabledInChannel}\n showFileViewer={showFileViewer}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {/* reactions */}\n {(isReactionEnabledInChannel && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-message-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n mouseHover ? 'mouse-hover' : '',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\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 {/* thread replies */}\n {displayThreadReplies && (\n <ThreadReplies\n className=\"sendbird-message-content__middle__thread-replies\"\n threadInfo={message?.threadInfo}\n onClick={() => onReplyInThread?.({ message: message as UserMessage | FileMessage })}\n />\n )}\n </div>\n {/* right */}\n <div className={getClassName(['sendbird-message-content__right', chainTopClassName, isReactionEnabledClassName, useReplyingClassName])}>\n {/* incoming menu */}\n {!isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', chainTopClassName, supposedHoverClassName, isByMeClassName])}>\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n )}\n </div>\n {\n showMenu && (\n message?.isUserMessage?.() || message?.isFileMessage?.()\n ) && (\n <MobileMenu\n parentRef={contentRef}\n channel={channel}\n hideMenu={() => { setShowMenu(false) }}\n message={message}\n isReactionEnabled={isReactionEnabledInChannel}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n toggleReaction={toggleReaction}\n showEdit={showEdit}\n />\n )\n }\n </div>\n );\n}\n"],"names":["MobileContextMenu","props","hideMenu","channel","message","replyType","userId","resendMessage","showEdit","showRemove","setQuoteMessage","parentRef","isByMe","_a","sender","stringSet","useLocalization","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemDownload","isFileMessage","showMenuItemReply","isGroupChannel","isBroadcast","fileMessage","React","copyToClipboard","LabelTypography","SUBTITLE_1","MESSAGE_MENU__COPY","IconTypes","COPY","IconColors","PRIMARY","parentMessageId","MESSAGE_MENU__REPLY","REPLY","MESSAGE_MENU__EDIT","EDIT","MESSAGE_MENU__RESEND","REFRESH","threadInfo","replyCount","MESSAGE_MENU__DELETE","DELETE","url","MESSAGE_MENU__SAVE","DOWNLOAD","EMOJI_SIZE","MobileBottomSheet","emojiContainer","toggleReaction","isReactionEnabled","showReaction","disableReaction","maxEmojisPerRow","Math","floor","window","innerWidth","_b","useState","showEmojisOnly","setShowEmojisOnly","emojis","getEmojiListAll","visibleEmojis","slice","canShowMoreEmojis","length","map","emoji","isReacted","_c","reactions","filter","reaction","key","userIds","some","reactorId","concat","style","QUESTION","ON_BACKGROUND_3","EMOJI_MORE","LabelColors","ONBACKGROUND_4","MobileMenu","disabled","MessageContent","className","_l","_m","chainTop","_o","chainBottom","_p","_q","disableQuoteMessage","threadReplySelectType","nicknamesMap","scrollToMessage","showFileViewer","onReplyInThread","onQuoteMessageClick","messageTypes","getUIKitMessageTypes","dateLocale","config","useSendbirdStateContext","_r","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","contentRef","isMobile","useMediaQueryContext","_s","showMenu","setShowMenu","_t","mouseHover","setMouseHover","_u","supposedHover","setSupposedHover","sendingStatus","isByMeClassName","chainTopClassName","isReactionEnabledInChannel","isEphemeral","isReactionEnabledClassName","supposedHoverClassName","useReplying","parentMessage","useReplyingClassName","displayThreadReplies","longPress","useLongPress","onLongPress","onClick","isThumbnailMessage","delay","isAdminMessage","_d","call","messageType","ClientAdminMessage","getClassName","toggleDropdown","members","find","member","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","ThreadReplySelectType","THREAD","PARENT","createdAt","__assign","CAPTION_2","ONBACKGROUND_2","_e","nickname","getSenderName","joinedAt","_g","isTextMessage","isMentionEnabled","isOGMessage","getUIKitMessageType","FILE","isVoiceMessage","UNKNOWN","_h","CAPTION_3","format","locale","_j","_k"],"mappings":"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"}
|
package/ui/MessageInput.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { _ as _objectSpread2 } from '../_rollupPluginBabelHelpers-
|
|
1
|
+
import { _ as _objectSpread2 } from '../_rollupPluginBabelHelpers-5827233e.js';
|
|
2
2
|
import React__default, { useContext, useRef, useState, useMemo, useEffect, useCallback } from 'react';
|
|
3
3
|
import { renderToString } from 'react-dom/server';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
-
import { N as NodeTypes, M as MessageInputKeys, a as NodeNames } from '../const-
|
|
6
|
-
import { U as USER_MENTION_TEMP_CHAR } from '../const-
|
|
5
|
+
import { N as NodeTypes, M as MessageInputKeys, a as NodeNames } from '../const-7588ac16.js';
|
|
6
|
+
import { U as USER_MENTION_TEMP_CHAR } from '../const-21dcd857.js';
|
|
7
7
|
import IconButton from './IconButton.js';
|
|
8
8
|
import Button, { ButtonTypes, ButtonSizes } from './Button.js';
|
|
9
9
|
import MentionUserLabel from './MentionUserLabel.js';
|
|
10
10
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
11
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
12
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
13
|
-
import { k as convertWordToStringObj, S as StringObjType, l as arrayEqual, j as getClassName } from '../index-
|
|
14
|
-
import '../tslib.es6-
|
|
15
|
-
import '../stringSet-
|
|
16
|
-
import '../index-
|
|
11
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-aa29a843.js';
|
|
12
|
+
import { a as LocalizationContext } from '../LocalizationContext-646420ca.js';
|
|
13
|
+
import { k as convertWordToStringObj, S as StringObjType, l as arrayEqual, j as getClassName } from '../index-100b143d.js';
|
|
14
|
+
import '../tslib.es6-ca21063f.js';
|
|
15
|
+
import '../stringSet-ea4aeced.js';
|
|
16
|
+
import '../index-5e057577.js';
|
|
17
17
|
import '../utils/message/getOutgoingMessageState.js';
|
|
18
18
|
|
|
19
19
|
// https://davidwalsh.name/javascript-debounce-function
|
package/ui/MessageItemMenu.js
CHANGED
|
@@ -2,18 +2,18 @@ import React__default, { useContext, useRef } from 'react';
|
|
|
2
2
|
import ContextMenu, { MenuItems, MenuItem } from './ContextMenu.js';
|
|
3
3
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
4
4
|
import IconButton from './IconButton.js';
|
|
5
|
-
import { s as isUserMessage, v as isSentMessage, w as isFailedMessage, x as isPendingMessage, j as getClassName, y as copyToClipboard } from '../index-
|
|
6
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
7
|
-
import { R as Role } from '../types-
|
|
8
|
-
import '../tslib.es6-
|
|
5
|
+
import { s as isUserMessage, v as isSentMessage, w as isFailedMessage, x as isPendingMessage, j as getClassName, y as copyToClipboard } from '../index-100b143d.js';
|
|
6
|
+
import { a as LocalizationContext } from '../LocalizationContext-646420ca.js';
|
|
7
|
+
import { R as Role } from '../types-d5ea9376.js';
|
|
8
|
+
import '../tslib.es6-ca21063f.js';
|
|
9
9
|
import 'react-dom';
|
|
10
10
|
import './SortByRow.js';
|
|
11
|
-
import '../uuid-
|
|
12
|
-
import '../index-
|
|
11
|
+
import '../uuid-e2d2f65c.js';
|
|
12
|
+
import '../index-aa29a843.js';
|
|
13
13
|
import 'prop-types';
|
|
14
|
-
import '../stringSet-
|
|
14
|
+
import '../stringSet-ea4aeced.js';
|
|
15
15
|
import '../utils/message/getOutgoingMessageState.js';
|
|
16
|
-
import '../index-
|
|
16
|
+
import '../index-5e057577.js';
|
|
17
17
|
|
|
18
18
|
function MessageItemMenu(_a) {
|
|
19
19
|
var _b;
|
|
@@ -40,16 +40,16 @@ function MessageItemMenu(_a) {
|
|
|
40
40
|
var triggerRef = useRef(null);
|
|
41
41
|
var containerRef = useRef(null);
|
|
42
42
|
var showMenuItemCopy = isUserMessage(message);
|
|
43
|
-
var showMenuItemEdit = isUserMessage(message) && isSentMessage(message) && isByMe;
|
|
43
|
+
var showMenuItemEdit = !(channel === null || channel === void 0 ? void 0 : channel.isEphemeral) && isUserMessage(message) && isSentMessage(message) && isByMe;
|
|
44
44
|
var showMenuItemResend = isFailedMessage(message) && (message === null || message === void 0 ? void 0 : message.isResendable) && isByMe;
|
|
45
|
-
var showMenuItemDelete = !isPendingMessage(message) && isByMe;
|
|
45
|
+
var showMenuItemDelete = !(channel === null || channel === void 0 ? void 0 : channel.isEphemeral) && !isPendingMessage(message) && isByMe;
|
|
46
46
|
var showMenuItemOpenInChannel = onMoveToParentMessage !== null;
|
|
47
47
|
/**
|
|
48
48
|
* TODO: Manage timing issue
|
|
49
49
|
* User delete pending message -> Sending message success
|
|
50
50
|
*/
|
|
51
51
|
|
|
52
|
-
var isReplyTypeEnabled = !isFailedMessage(message) && !isPendingMessage(message) && ((_b = channel === null || channel === void 0 ? void 0 : channel.isGroupChannel) === null || _b === void 0 ? void 0 : _b.call(channel)) && ((channel === null || channel === void 0 ? void 0 : channel.isBroadcast) && (channel === null || channel === void 0 ? void 0 : channel.myRole) === Role.OPERATOR || !(channel === null || channel === void 0 ? void 0 : channel.isBroadcast));
|
|
52
|
+
var isReplyTypeEnabled = !isFailedMessage(message) && !isPendingMessage(message) && ((_b = channel === null || channel === void 0 ? void 0 : channel.isGroupChannel) === null || _b === void 0 ? void 0 : _b.call(channel)) && !(channel === null || channel === void 0 ? void 0 : channel.isEphemeral) && ((channel === null || channel === void 0 ? void 0 : channel.isBroadcast) && (channel === null || channel === void 0 ? void 0 : channel.myRole) === Role.OPERATOR || !(channel === null || channel === void 0 ? void 0 : channel.isBroadcast));
|
|
53
53
|
var showMenuItemReply = isReplyTypeEnabled && replyType === 'QUOTE_REPLY';
|
|
54
54
|
var showMenuItemThread = isReplyTypeEnabled && replyType === 'THREAD' && !(message === null || message === void 0 ? void 0 : message.parentMessageId) && onReplyInThread;
|
|
55
55
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageItemMenu.js","sources":["../../src/ui/MessageItemMenu/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useRef } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\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';\nimport { Role } from '../../lib/types';\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 disableDeleteMessage?: boolean;\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 onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n onMoveToParentMessage?: () => void;\n}\n\nexport default function MessageItemMenu({\n className,\n message,\n channel,\n isByMe = false,\n disabled = false,\n replyType,\n disableDeleteMessage = null,\n showEdit,\n showRemove,\n resendMessage,\n setQuoteMessage,\n setSupposedHover,\n onReplyInThread,\n onMoveToParentMessage = null,\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 const showMenuItemOpenInChannel: boolean = onMoveToParentMessage !== null;\n /**\n * TODO: Manage timing issue\n * User delete pending message -> Sending message success\n */\n const isReplyTypeEnabled = !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel?.()\n && (\n ((channel as GroupChannel)?.isBroadcast && channel?.myRole === Role.OPERATOR)\n || !(channel as GroupChannel)?.isBroadcast\n ));\n const showMenuItemReply = isReplyTypeEnabled && replyType === 'QUOTE_REPLY';\n const showMenuItemThread = isReplyTypeEnabled && replyType === 'THREAD' && !message?.parentMessageId && onReplyInThread;\n\n if (!(showMenuItemCopy\n || showMenuItemReply\n || showMenuItemThread\n || showMenuItemOpenInChannel\n || showMenuItemEdit\n || showMenuItemResend\n || showMenuItemDelete\n )) {\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 {showMenuItemThread && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-thread\"\n onClick={() => {\n onReplyInThread?.({ message });\n closeDropdown();\n }}\n >\n {stringSet.MESSAGE_MENU__THREAD}\n </MenuItem>\n )}\n {showMenuItemOpenInChannel && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-open-channel\"\n onClick={() => {\n onMoveToParentMessage?.();\n closeDropdown();\n }}\n >\n {stringSet.MESSAGE_MENU__OPEN_IN_CHANNEL}\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={\n typeof disableDeleteMessage === 'boolean'\n ? disableDeleteMessage\n : message?.threadInfo?.replyCount > 0\n }\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","_c","isByMe","_d","disabled","replyType","_e","disableDeleteMessage","showEdit","showRemove","resendMessage","setQuoteMessage","setSupposedHover","onReplyInThread","_f","onMoveToParentMessage","stringSet","useContext","LocalizationContext","triggerRef","useRef","containerRef","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemOpenInChannel","isReplyTypeEnabled","isGroupChannel","_b","call","isBroadcast","myRole","Role","OPERATOR","showMenuItemReply","showMenuItemThread","parentMessageId","React","getClassName","toggleDropdown","IconTypes","MORE","IconColors","CONTENT_INVERSE","close","closeDropdown","copyToClipboard","MESSAGE_MENU__COPY","MESSAGE_MENU__REPLY","MESSAGE_MENU__THREAD","MESSAGE_MENU__OPEN_IN_CHANNEL","MESSAGE_MENU__EDIT","MESSAGE_MENU__RESEND","threadInfo","replyCount","MESSAGE_MENU__DELETE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageItemMenu.js","sources":["../../src/ui/MessageItemMenu/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useRef } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\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';\nimport { Role } from '../../lib/types';\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 disableDeleteMessage?: boolean;\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 onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n onMoveToParentMessage?: () => void;\n}\n\nexport default function MessageItemMenu({\n className,\n message,\n channel,\n isByMe = false,\n disabled = false,\n replyType,\n disableDeleteMessage = null,\n showEdit,\n showRemove,\n resendMessage,\n setQuoteMessage,\n setSupposedHover,\n onReplyInThread,\n onMoveToParentMessage = null,\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 = (!channel?.isEphemeral && isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n const showMenuItemDelete: boolean = !channel?.isEphemeral && !isPendingMessage(message) && isByMe;\n const showMenuItemOpenInChannel: boolean = onMoveToParentMessage !== null;\n /**\n * TODO: Manage timing issue\n * User delete pending message -> Sending message success\n */\n const isReplyTypeEnabled = !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel?.()\n && !channel?.isEphemeral\n && (\n ((channel as GroupChannel)?.isBroadcast && channel?.myRole === Role.OPERATOR)\n || !(channel as GroupChannel)?.isBroadcast\n ));\n const showMenuItemReply = isReplyTypeEnabled && replyType === 'QUOTE_REPLY';\n const showMenuItemThread = isReplyTypeEnabled && replyType === 'THREAD' && !message?.parentMessageId && onReplyInThread;\n\n if (!(showMenuItemCopy\n || showMenuItemReply\n || showMenuItemThread\n || showMenuItemOpenInChannel\n || showMenuItemEdit\n || showMenuItemResend\n || showMenuItemDelete\n )) {\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 {showMenuItemThread && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-thread\"\n onClick={() => {\n onReplyInThread?.({ message });\n closeDropdown();\n }}\n >\n {stringSet.MESSAGE_MENU__THREAD}\n </MenuItem>\n )}\n {showMenuItemOpenInChannel && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-open-channel\"\n onClick={() => {\n onMoveToParentMessage?.();\n closeDropdown();\n }}\n >\n {stringSet.MESSAGE_MENU__OPEN_IN_CHANNEL}\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={\n typeof disableDeleteMessage === 'boolean'\n ? disableDeleteMessage\n : message?.threadInfo?.replyCount > 0\n }\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","_c","isByMe","_d","disabled","replyType","_e","disableDeleteMessage","showEdit","showRemove","resendMessage","setQuoteMessage","setSupposedHover","onReplyInThread","_f","onMoveToParentMessage","stringSet","useContext","LocalizationContext","triggerRef","useRef","containerRef","showMenuItemCopy","isUserMessage","showMenuItemEdit","isEphemeral","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemOpenInChannel","isReplyTypeEnabled","isGroupChannel","_b","call","isBroadcast","myRole","Role","OPERATOR","showMenuItemReply","showMenuItemThread","parentMessageId","React","getClassName","toggleDropdown","IconTypes","MORE","IconColors","CONTENT_INVERSE","close","closeDropdown","copyToClipboard","MESSAGE_MENU__COPY","MESSAGE_MENU__REPLY","MESSAGE_MENU__THREAD","MESSAGE_MENU__OPEN_IN_CHANNEL","MESSAGE_MENU__EDIT","MESSAGE_MENU__RESEND","threadInfo","replyCount","MESSAGE_MENU__DELETE"],"mappings":"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"}
|
|
@@ -4,14 +4,14 @@ import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
|
4
4
|
import IconButton from './IconButton.js';
|
|
5
5
|
import ImageRenderer from './ImageRenderer.js';
|
|
6
6
|
import ReactionButton from './ReactionButton.js';
|
|
7
|
-
import { x as isPendingMessage, w as isFailedMessage, j as getClassName, z as getEmojiListAll } from '../index-
|
|
8
|
-
import '../tslib.es6-
|
|
7
|
+
import { x as isPendingMessage, w as isFailedMessage, j as getClassName, z as getEmojiListAll } from '../index-100b143d.js';
|
|
8
|
+
import '../tslib.es6-ca21063f.js';
|
|
9
9
|
import 'react-dom';
|
|
10
10
|
import './SortByRow.js';
|
|
11
|
-
import '../uuid-
|
|
12
|
-
import '../index-
|
|
11
|
+
import '../uuid-e2d2f65c.js';
|
|
12
|
+
import '../index-aa29a843.js';
|
|
13
13
|
import 'prop-types';
|
|
14
|
-
import '../stringSet-
|
|
14
|
+
import '../stringSet-ea4aeced.js';
|
|
15
15
|
import '../utils/message/getOutgoingMessageState.js';
|
|
16
16
|
|
|
17
17
|
function MessageItemReactionMenu(_a) {
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { a as __spreadArray } from '../tslib.es6-
|
|
1
|
+
import { a as __spreadArray } from '../tslib.es6-ca21063f.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import Avatar from './Avatar.js';
|
|
4
4
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
5
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
6
|
-
import { u as useLocalization } from '../LocalizationContext-
|
|
7
|
-
import { f as format } from '../index-
|
|
8
|
-
import { i as isToday, a as isYesterday, b as isThisYear } from '../index-
|
|
9
|
-
import { d as isVoiceMessage } from '../index-
|
|
5
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-aa29a843.js';
|
|
6
|
+
import { u as useLocalization } from '../LocalizationContext-646420ca.js';
|
|
7
|
+
import { f as format } from '../index-2e23c452.js';
|
|
8
|
+
import { i as isToday, a as isYesterday, b as isThisYear } from '../index-dd2a9d44.js';
|
|
9
|
+
import { d as isVoiceMessage } from '../index-100b143d.js';
|
|
10
10
|
import './ImageRenderer.js';
|
|
11
|
-
import '../uuid-
|
|
11
|
+
import '../uuid-e2d2f65c.js';
|
|
12
12
|
import 'prop-types';
|
|
13
|
-
import '../stringSet-
|
|
14
|
-
import '../index-
|
|
15
|
-
import '../index-
|
|
13
|
+
import '../stringSet-ea4aeced.js';
|
|
14
|
+
import '../index-5e057577.js';
|
|
15
|
+
import '../index-561ddd27.js';
|
|
16
16
|
import '../utils/message/getOutgoingMessageState.js';
|
|
17
17
|
|
|
18
18
|
function getCreatedAt(_a) {
|