@sendbird/uikit-react 3.4.4 → 3.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +47 -42
- package/App.js.map +1 -1
- package/CHANGELOG.md +80 -0
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelUI.js +39 -35
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +15 -15
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +43 -39
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +27 -24
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +65 -62
- 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 +4 -4
- package/Channel/context.js +14 -14
- package/Channel.js +40 -35
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +15 -15
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +40 -62
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +26 -26
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +30 -30
- package/{ChannelListProvider-3c107fc7.js → ChannelListProvider-10fe7340.js} +18 -12
- package/ChannelListProvider-10fe7340.js.map +1 -0
- package/{ChannelProvider-28639e83.js → ChannelProvider-4ac82784.js} +32 -32
- package/ChannelProvider-4ac82784.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js +11 -11
- package/ChannelSettings/components/ModerationPanel.js +14 -14
- package/ChannelSettings/components/UserListItem.js +10 -10
- package/ChannelSettings/components/UserPanel.js +13 -13
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +17 -17
- package/CreateChannel/components/CreateChannelUI.js +13 -13
- package/CreateChannel/components/InviteUsers.js +13 -13
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +13 -13
- package/{CreateChannelProvider-09772304.js → CreateChannelProvider-11045f46.js} +1 -1
- package/{CreateChannelProvider-09772304.js.map → CreateChannelProvider-11045f46.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +9 -9
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile.js +12 -12
- package/{LocalizationContext-ef72d4b1.js → LocalizationContext-654ae04f.js} +3 -3
- package/{LocalizationContext-ef72d4b1.js.map → LocalizationContext-654ae04f.js.map} +1 -1
- package/{MediaQueryContext-683c7242.js → MediaQueryContext-e791a4d1.js} +1 -1
- package/{MediaQueryContext-683c7242.js.map → MediaQueryContext-e791a4d1.js.map} +1 -1
- package/{MemberList-0bc3ff4a.js → MemberList-6f3c8288.js} +5 -5
- package/{MemberList-0bc3ff4a.js.map → MemberList-6f3c8288.js.map} +1 -1
- package/Message/context.js +30 -0
- package/Message/context.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +19 -16
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +28 -24
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +58 -38
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +31 -27
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +31 -27
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-e5246224.js → OpenChannelListProvider-eb189b41.js} +3 -3
- package/{OpenChannelListProvider-e5246224.js.map → OpenChannelListProvider-eb189b41.js.map} +1 -1
- package/{OpenChannelProvider-c5952f33.js → OpenChannelProvider-e418b369.js} +7 -7
- package/{OpenChannelProvider-c5952f33.js.map → OpenChannelProvider-e418b369.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +17 -17
- package/README.md +3 -2
- package/{RemoveMessageModal-63a8b079.js → RemoveMessageModal-938b400d.js} +3 -3
- package/{RemoveMessageModal-63a8b079.js.map → RemoveMessageModal-938b400d.js.map} +1 -1
- package/SendbirdProvider.js +93 -14
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +32 -28
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +43 -45
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +48 -36
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +34 -30
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +28 -25
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +66 -58
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +44 -40
- package/Thread.js.map +1 -1
- package/{ThreadProvider-435a6f11.js → ThreadProvider-faf3df5d.js} +7 -7
- package/{ThreadProvider-435a6f11.js.map → ThreadProvider-faf3df5d.js.map} +1 -1
- package/{UserProfileContext-5d7c5f9f.js → UserProfileContext-1996d4d2.js} +1 -1
- package/{UserProfileContext-5d7c5f9f.js.map → UserProfileContext-1996d4d2.js.map} +1 -1
- package/{VoiceMessageInputWrapper-8a9dda68.js → VoiceMessageInputWrapper-59373f20.js} +7 -7
- package/{VoiceMessageInputWrapper-8a9dda68.js.map → VoiceMessageInputWrapper-59373f20.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +3 -3
- package/VoiceRecorder/context.js +2 -2
- package/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/{_rollupPluginBabelHelpers-37cba0d6.js → _rollupPluginBabelHelpers-e908c50d.js} +1 -1
- package/_rollupPluginBabelHelpers-e908c50d.js.map +1 -0
- package/{actionTypes-80e9dbe4.js → actionTypes-ee7f96a9.js} +1 -1
- package/{actionTypes-80e9dbe4.js.map → actionTypes-ee7f96a9.js.map} +1 -1
- package/cjs/App.js +47 -42
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelUI.js +39 -35
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +15 -15
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +43 -39
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +27 -24
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +65 -62
- 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 +4 -4
- package/cjs/Channel/context.js +14 -14
- package/cjs/Channel.js +40 -35
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +15 -15
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +39 -61
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +26 -26
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +30 -30
- package/cjs/{ChannelListProvider-b7ffadf7.js → ChannelListProvider-d4f91fc4.js} +18 -12
- package/cjs/ChannelListProvider-d4f91fc4.js.map +1 -0
- package/cjs/{ChannelProvider-b963c72c.js → ChannelProvider-af0b997c.js} +32 -32
- package/cjs/ChannelProvider-af0b997c.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
- package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
- package/cjs/ChannelSettings/components/UserListItem.js +10 -10
- package/cjs/ChannelSettings/components/UserPanel.js +13 -13
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +17 -17
- package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
- package/cjs/CreateChannel/components/InviteUsers.js +13 -13
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +13 -13
- package/cjs/{CreateChannelProvider-ea54c83b.js → CreateChannelProvider-c4ad28a8.js} +1 -1
- package/cjs/{CreateChannelProvider-ea54c83b.js.map → CreateChannelProvider-c4ad28a8.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +9 -9
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile.js +12 -12
- package/cjs/{LocalizationContext-4822793b.js → LocalizationContext-01fceac0.js} +3 -3
- package/cjs/{LocalizationContext-4822793b.js.map → LocalizationContext-01fceac0.js.map} +1 -1
- package/cjs/{MediaQueryContext-b83880cc.js → MediaQueryContext-4978c777.js} +1 -1
- package/cjs/{MediaQueryContext-b83880cc.js.map → MediaQueryContext-4978c777.js.map} +1 -1
- package/cjs/{MemberList-4cfc05a3.js → MemberList-5c05b62f.js} +5 -5
- package/cjs/{MemberList-4cfc05a3.js.map → MemberList-5c05b62f.js.map} +1 -1
- package/cjs/Message/context.js +39 -0
- package/cjs/Message/context.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +19 -16
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +28 -24
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +58 -38
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +31 -27
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +31 -27
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-9fc6f344.js → OpenChannelListProvider-3be4b8a5.js} +3 -3
- package/cjs/{OpenChannelListProvider-9fc6f344.js.map → OpenChannelListProvider-3be4b8a5.js.map} +1 -1
- package/cjs/{OpenChannelProvider-64fb7652.js → OpenChannelProvider-56af9a0e.js} +7 -7
- package/cjs/{OpenChannelProvider-64fb7652.js.map → OpenChannelProvider-56af9a0e.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/{RemoveMessageModal-00de23ec.js → RemoveMessageModal-31ff9edc.js} +3 -3
- package/cjs/{RemoveMessageModal-00de23ec.js.map → RemoveMessageModal-31ff9edc.js.map} +1 -1
- package/cjs/SendbirdProvider.js +92 -13
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +32 -28
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +42 -44
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +48 -36
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +34 -30
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +28 -25
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +67 -59
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +44 -40
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-93f2b7e5.js → ThreadProvider-12784adf.js} +7 -7
- package/cjs/{ThreadProvider-93f2b7e5.js.map → ThreadProvider-12784adf.js.map} +1 -1
- package/cjs/{UserProfileContext-7bc4eec4.js → UserProfileContext-c4642438.js} +1 -1
- package/cjs/{UserProfileContext-7bc4eec4.js.map → UserProfileContext-c4642438.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-82c8ef13.js → VoiceMessageInputWrapper-3b5db880.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-82c8ef13.js.map → VoiceMessageInputWrapper-3b5db880.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
- package/cjs/VoiceRecorder/context.js +2 -2
- package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/cjs/{_rollupPluginBabelHelpers-1218aafb.js → _rollupPluginBabelHelpers-994cd1da.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-994cd1da.js.map +1 -0
- package/cjs/{actionTypes-f186c4dd.js → actionTypes-38d53eaf.js} +1 -1
- package/cjs/{actionTypes-f186c4dd.js.map → actionTypes-38d53eaf.js.map} +1 -1
- package/cjs/{color-937f65ad.js → color-8f9fe57f.js} +1 -1
- package/cjs/{color-937f65ad.js.map → color-8f9fe57f.js.map} +1 -1
- package/cjs/{compareIds-3d732a01.js → compareIds-b77b66f3.js} +1 -1
- package/cjs/{compareIds-3d732a01.js.map → compareIds-b77b66f3.js.map} +1 -1
- package/cjs/{const-44ac2c14.js → const-35f8be84.js} +1 -1
- package/cjs/{const-44ac2c14.js.map → const-35f8be84.js.map} +1 -1
- package/cjs/{const-73aa22ac.js → const-e03cb4c1.js} +1 -1
- package/cjs/{const-73aa22ac.js.map → const-e03cb4c1.js.map} +1 -1
- package/cjs/{consts-2b0eaee0.js → consts-69fc20be.js} +1 -1
- package/cjs/{consts-2b0eaee0.js.map → consts-69fc20be.js.map} +1 -1
- package/cjs/consts-956b1221.js +6 -0
- package/cjs/consts-956b1221.js.map +1 -0
- package/cjs/consts-aabb33e0.js +6 -0
- package/cjs/consts-aabb33e0.js.map +1 -0
- package/cjs/{consts-11872691.js → consts-b29bd4d5.js} +1 -1
- package/cjs/{consts-11872691.js.map → consts-b29bd4d5.js.map} +1 -1
- package/cjs/{context-7e270322.js → context-d9e248df.js} +2 -2
- package/cjs/{context-7e270322.js.map → context-d9e248df.js.map} +1 -1
- package/cjs/dist/index.css +89 -81
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-a867516a.js → index-1e57cbdb.js} +4 -4
- package/cjs/{index-a867516a.js.map → index-1e57cbdb.js.map} +1 -1
- package/cjs/{index-f78cff63.js → index-1f02e60f.js} +2 -2
- package/cjs/{index-f78cff63.js.map → index-1f02e60f.js.map} +1 -1
- package/cjs/{index-7207d339.js → index-26a1e861.js} +11 -5
- package/cjs/index-26a1e861.js.map +1 -0
- package/cjs/{index-57989185.js → index-36aaf992.js} +1 -1
- package/cjs/{index-57989185.js.map → index-36aaf992.js.map} +1 -1
- package/cjs/index-603c2a7c.js +63 -0
- package/cjs/index-603c2a7c.js.map +1 -0
- package/cjs/{index-2f2f3e43.js → index-72fd0294.js} +8 -2
- package/cjs/index-72fd0294.js.map +1 -0
- package/cjs/{index-1151a507.js → index-7c5d21c4.js} +1 -1
- package/cjs/{index-1151a507.js.map → index-7c5d21c4.js.map} +1 -1
- package/cjs/{index-cfff5dbb.js → index-959a4ab1.js} +2 -2
- package/cjs/{index-cfff5dbb.js.map → index-959a4ab1.js.map} +1 -1
- package/cjs/{index-f52caf82.js → index-a7fa406f.js} +2 -2
- package/cjs/{index-f52caf82.js.map → index-a7fa406f.js.map} +1 -1
- package/cjs/{index-aaa65319.js → index-aa908fcf.js} +7 -7
- package/cjs/{index-aaa65319.js.map → index-aa908fcf.js.map} +1 -1
- package/cjs/{index-a5fad93c.js → index-aeba3b06.js} +4 -4
- package/cjs/{index-a5fad93c.js.map → index-aeba3b06.js.map} +1 -1
- package/cjs/{index-c7ff34af.js → index-b9fbe704.js} +5 -5
- package/cjs/{index-c7ff34af.js.map → index-b9fbe704.js.map} +1 -1
- package/cjs/{index-e9d3a5d6.js → index-c825cf5b.js} +3 -3
- package/cjs/{index-e9d3a5d6.js.map → index-c825cf5b.js.map} +1 -1
- package/cjs/{index-3f30ab14.js → index-d41db9c1.js} +7 -7
- package/cjs/{index-3f30ab14.js.map → index-d41db9c1.js.map} +1 -1
- package/cjs/{index-20fc629b.js → index-e3f00fd1.js} +3 -3
- package/cjs/{index-20fc629b.js.map → index-e3f00fd1.js.map} +1 -1
- package/cjs/index.js +55 -51
- package/cjs/index.js.map +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-7f49973c.js → stringSet-7330b627.js} +1 -1
- package/cjs/{stringSet-7f49973c.js.map → stringSet-7330b627.js.map} +1 -1
- package/cjs/tokenize-a5a20ef3.js +134 -0
- package/cjs/tokenize-a5a20ef3.js.map +1 -0
- package/cjs/{topics-9d6a6d36.js → topics-7547922a.js} +1 -1
- package/cjs/{topics-9d6a6d36.js.map → topics-7547922a.js.map} +1 -1
- package/cjs/{tslib.es6-46c08a06.js → tslib.es6-ee1122c5.js} +1 -1
- package/cjs/{tslib.es6-46c08a06.js.map → tslib.es6-ee1122c5.js.map} +1 -1
- package/cjs/{types-31b11c88.js → types-7daeb4a1.js} +1 -1
- package/cjs/types-7daeb4a1.js.map +1 -0
- 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 +5 -5
- 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 +12 -11
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +29 -25
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +81 -52
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +8 -8
- 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 +26 -32
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- 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 +16 -16
- package/cjs/ui/OpenchannelOGMessage.js +48 -64
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
- package/cjs/ui/OpenchannelUserMessage.js +16 -16
- 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 +25 -30
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- 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 +10 -10
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js +5 -5
- package/cjs/ui/VoiceMessgeInput.js +8 -8
- package/cjs/ui/Word.js +15 -10
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/{useLongPress-839c53cb.js → useLongPress-3e3b1188.js} +3 -3
- package/cjs/{useLongPress-839c53cb.js.map → useLongPress-3e3b1188.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-dae078f4.js → utils-5905fc1a.js} +1 -1
- package/cjs/{utils-dae078f4.js.map → utils-5905fc1a.js.map} +1 -1
- package/cjs/{utils-7d2c966a.js → utils-5ca88bb6.js} +1 -1
- package/cjs/{utils-7d2c966a.js.map → utils-5ca88bb6.js.map} +1 -1
- package/cjs/{utils-9fc9438c.js → utils-de779857.js} +2 -2
- package/cjs/{utils-9fc9438c.js.map → utils-de779857.js.map} +1 -1
- package/cjs/{utils-41bb82dc.js → utils-e4cd6a0c.js} +1 -1
- package/cjs/{utils-41bb82dc.js.map → utils-e4cd6a0c.js.map} +1 -1
- package/cjs/{uuid-8454abf3.js → uuid-26b61f16.js} +1 -1
- package/cjs/{uuid-8454abf3.js.map → uuid-26b61f16.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-e5d40073.js → color-f6e2214f.js} +1 -1
- package/{color-e5d40073.js.map → color-f6e2214f.js.map} +1 -1
- package/{compareIds-148644b4.js → compareIds-d958887d.js} +1 -1
- package/{compareIds-148644b4.js.map → compareIds-d958887d.js.map} +1 -1
- package/{const-bf594206.js → const-735bcf5b.js} +1 -1
- package/{const-bf594206.js.map → const-735bcf5b.js.map} +1 -1
- package/{const-bba4efc9.js → const-c7334190.js} +1 -1
- package/{const-bba4efc9.js.map → const-c7334190.js.map} +1 -1
- package/consts-12512664.js +4 -0
- package/consts-12512664.js.map +1 -0
- package/consts-8f50899e.js +4 -0
- package/consts-8f50899e.js.map +1 -0
- package/{consts-b3042213.js → consts-9422accf.js} +1 -1
- package/{consts-b3042213.js.map → consts-9422accf.js.map} +1 -1
- package/{consts-f9543b99.js → consts-ddb92249.js} +1 -1
- package/{consts-f9543b99.js.map → consts-ddb92249.js.map} +1 -1
- package/{context-e82cf2c4.js → context-7465b898.js} +2 -2
- package/{context-e82cf2c4.js.map → context-7465b898.js.map} +1 -1
- package/dist/index.css +89 -81
- package/dist/index.css.map +1 -1
- package/{index-86cb1c98.js → index-0ecbda20.js} +4 -4
- package/{index-86cb1c98.js.map → index-0ecbda20.js.map} +1 -1
- package/{index-e3d008b9.js → index-12c44496.js} +1 -1
- package/{index-e3d008b9.js.map → index-12c44496.js.map} +1 -1
- package/{index-253052c7.js → index-437c0f3c.js} +7 -7
- package/{index-253052c7.js.map → index-437c0f3c.js.map} +1 -1
- package/{index-90365474.js → index-47d179f2.js} +2 -2
- package/{index-90365474.js.map → index-47d179f2.js.map} +1 -1
- package/{index-1dfb77d4.js → index-4c3eaeb7.js} +2 -2
- package/{index-1dfb77d4.js.map → index-4c3eaeb7.js.map} +1 -1
- package/{index-113d122f.js → index-63e7b57b.js} +5 -5
- package/{index-113d122f.js.map → index-63e7b57b.js.map} +1 -1
- package/{index-9a413f89.js → index-6e33b2e0.js} +3 -3
- package/{index-9a413f89.js.map → index-6e33b2e0.js.map} +1 -1
- package/{index-e571f56c.js → index-7b8ea67e.js} +4 -4
- package/{index-e571f56c.js.map → index-7b8ea67e.js.map} +1 -1
- package/{index-556999ef.js → index-83ae3ffe.js} +8 -3
- package/index-83ae3ffe.js.map +1 -0
- package/{index-2c0ab386.js → index-8e901b57.js} +11 -5
- package/index-8e901b57.js.map +1 -0
- package/{index-e1cff2ff.js → index-9626a87e.js} +3 -3
- package/{index-e1cff2ff.js.map → index-9626a87e.js.map} +1 -1
- package/{index-5be5af6d.js → index-a52a0b76.js} +7 -7
- package/{index-5be5af6d.js.map → index-a52a0b76.js.map} +1 -1
- package/index-ace292c2.js +57 -0
- package/index-ace292c2.js.map +1 -0
- package/{index-97a2ff37.js → index-aced8439.js} +2 -2
- package/{index-97a2ff37.js.map → index-aced8439.js.map} +1 -1
- package/{index-18c2f8d4.js → index-cf141ad7.js} +1 -1
- package/{index-18c2f8d4.js.map → index-cf141ad7.js.map} +1 -1
- package/index.d.ts +28 -1
- package/index.js +55 -51
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-273bec27.js → stringSet-7c7d84fc.js} +1 -1
- package/{stringSet-273bec27.js.map → stringSet-7c7d84fc.js.map} +1 -1
- package/tokenize-8f238f49.js +130 -0
- package/tokenize-8f238f49.js.map +1 -0
- package/{topics-df7f51d4.js → topics-4697c2b3.js} +1 -1
- package/{topics-df7f51d4.js.map → topics-4697c2b3.js.map} +1 -1
- package/{tslib.es6-1aaf3795.js → tslib.es6-209c9f08.js} +1 -1
- package/{tslib.es6-1aaf3795.js.map → tslib.es6-209c9f08.js.map} +1 -1
- package/{types-ed183627.js → types-41ea68c8.js} +1 -1
- package/types-41ea68c8.js.map +1 -0
- 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 +5 -5
- 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 +12 -11
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +29 -25
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +81 -52
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +8 -8
- 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 +26 -32
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +16 -16
- package/ui/OpenchannelOGMessage.js +48 -64
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js +16 -16
- 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 +25 -30
- package/ui/TextMessageItemBody.js.map +1 -1
- 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 +10 -10
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +5 -5
- package/ui/VoiceMessgeInput.js +8 -8
- package/ui/Word.js +15 -10
- package/ui/Word.js.map +1 -1
- package/{useLongPress-1ae5a380.js → useLongPress-e2570976.js} +3 -3
- package/{useLongPress-1ae5a380.js.map → useLongPress-e2570976.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-99c30ef6.js → utils-04bd857d.js} +1 -1
- package/{utils-99c30ef6.js.map → utils-04bd857d.js.map} +1 -1
- package/{utils-25614c42.js → utils-12a3467f.js} +1 -1
- package/{utils-25614c42.js.map → utils-12a3467f.js.map} +1 -1
- package/{utils-09901477.js → utils-3d03001e.js} +1 -1
- package/{utils-09901477.js.map → utils-3d03001e.js.map} +1 -1
- package/{utils-1b97d8ea.js → utils-4942106c.js} +2 -2
- package/{utils-1b97d8ea.js.map → utils-4942106c.js.map} +1 -1
- package/{uuid-29207f65.js → uuid-31c6ecb2.js} +1 -1
- package/{uuid-29207f65.js.map → uuid-31c6ecb2.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-3c107fc7.js.map +0 -1
- package/ChannelProvider-28639e83.js.map +0 -1
- package/_rollupPluginBabelHelpers-37cba0d6.js.map +0 -1
- package/cjs/ChannelListProvider-b7ffadf7.js.map +0 -1
- package/cjs/ChannelProvider-b963c72c.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-1218aafb.js.map +0 -1
- package/cjs/index-2f2f3e43.js.map +0 -1
- package/cjs/index-7207d339.js.map +0 -1
- package/cjs/types-31b11c88.js.map +0 -1
- package/index-2c0ab386.js.map +0 -1
- package/index-556999ef.js.map +0 -1
- package/types-ed183627.js.map +0 -1
|
@@ -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 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","ContextMenu","MenuItems","MenuItem","copyToClipboard","Label","LabelTypography","SUBTITLE_1","MESSAGE_MENU__COPY","Icon","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","BottomSheet","map","emoji","isReacted","_c","reactions","filter","reaction","key","userIds","some","reactorId","ReactionButton","concat","ImageRenderer","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","Avatar","members","find","member","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","UserProfile","MessageItemMenu","ThreadReplySelectType","THREAD","PARENT","createdAt","MessageItemReactionMenu","_extends","__assign","CAPTION_2","ONBACKGROUND_2","_e","nickname","getSenderName","QuoteMessage","joinedAt","_g","MessageStatus","isTextMessage","TextMessageItemBody","isMentionEnabled","isOGMessage","OGMessageItemBody","getUIKitMessageType","FILE","FileMessageItemBody","isVoiceMessage","VoiceMessageItemBody","ThumbnailMessageItemBody","UNKNOWN","UnknownMessageItemBody","_h","EmojiReactions","CAPTION_3","format","locale","ThreadReplies","_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","ContextMenu","MenuItems","MenuItem","copyToClipboard","Label","LabelTypography","SUBTITLE_1","MESSAGE_MENU__COPY","Icon","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","BottomSheet","map","emoji","isReacted","_c","reactions","filter","reaction","key","userIds","some","reactorId","ReactionButton","concat","ImageRenderer","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","Avatar","members","find","member","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","UserProfile","MessageItemMenu","ThreadReplySelectType","THREAD","PARENT","createdAt","MessageItemReactionMenu","_extends","__assign","CAPTION_2","ONBACKGROUND_2","_e","nickname","getSenderName","QuoteMessage","joinedAt","_g","MessageStatus","isTextMessage","TextMessageItemBody","isMentionEnabled","isOGMessage","OGMessageItemBody","getUIKitMessageType","FILE","FileMessageItemBody","isVoiceMessage","VoiceMessageItemBody","ThumbnailMessageItemBody","UNKNOWN","UnknownMessageItemBody","_h","EmojiReactions","CAPTION_3","format","locale","ThreadReplies","_j","_k"],"mappings":"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"}
|
package/cjs/ui/MessageInput.js
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _rollupPluginBabelHelpers = require('../_rollupPluginBabelHelpers-
|
|
3
|
+
var _rollupPluginBabelHelpers = require('../_rollupPluginBabelHelpers-994cd1da.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var PropTypes = require('prop-types');
|
|
6
|
-
var _const$1 = require('../const-
|
|
7
|
-
var _const = require('../const-
|
|
6
|
+
var _const$1 = require('../const-35f8be84.js');
|
|
7
|
+
var _const = require('../const-e03cb4c1.js');
|
|
8
8
|
var ui_IconButton = require('./IconButton.js');
|
|
9
9
|
var ui_Button = require('./Button.js');
|
|
10
|
-
var tslib_es6 = require('../tslib.es6-
|
|
10
|
+
var tslib_es6 = require('../tslib.es6-ee1122c5.js');
|
|
11
11
|
var DOMPurify = require('dompurify');
|
|
12
|
-
var consts = require('../consts-
|
|
12
|
+
var consts = require('../consts-b29bd4d5.js');
|
|
13
13
|
var ui_Icon = require('./Icon.js');
|
|
14
|
-
var ui_Label = require('../index-
|
|
15
|
-
var LocalizationContext = require('../LocalizationContext-
|
|
16
|
-
var index = require('../index-
|
|
17
|
-
require('../
|
|
18
|
-
require('../
|
|
14
|
+
var ui_Label = require('../index-26a1e861.js');
|
|
15
|
+
var LocalizationContext = require('../LocalizationContext-01fceac0.js');
|
|
16
|
+
var index = require('../index-72fd0294.js');
|
|
17
|
+
var consts$2 = require('../consts-aabb33e0.js');
|
|
18
|
+
var consts$1 = require('../consts-956b1221.js');
|
|
19
|
+
var tokenize = require('../tokenize-a5a20ef3.js');
|
|
20
|
+
require('../stringSet-7330b627.js');
|
|
21
|
+
require('../index-7c5d21c4.js');
|
|
19
22
|
require('../utils/message/getOutgoingMessageState.js');
|
|
20
23
|
|
|
21
24
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -68,6 +71,32 @@ var MENTION_CLASS = 'sendbird-word__mention';
|
|
|
68
71
|
var MENTION_CLASS_IN_INPUT = 'sendbird-mention-user-label';
|
|
69
72
|
var MENTION_CLASS_COMBINED_QUERY = ".".concat(MENTION_CLASS, ", .").concat(MENTION_CLASS_IN_INPUT);
|
|
70
73
|
|
|
74
|
+
function querySelectorIncludingSelf(master, selector) {
|
|
75
|
+
var result = tslib_es6.__spreadArray([master], Array.from(master.querySelectorAll(selector)), true).find(function (el) {
|
|
76
|
+
return el.matches(selector);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
return result;
|
|
80
|
+
} // Pasted dom node can be OG_MESSAGE or partial message or full message
|
|
81
|
+
// full messsage would have TEXT_MESSAGE_BODY_CLASSNAME and have childNodes
|
|
82
|
+
// partial message would not have TEXT_MESSAGE_BODY_CLASSNAME
|
|
83
|
+
|
|
84
|
+
function getLeafNodes(master) {
|
|
85
|
+
// og message
|
|
86
|
+
var ogMessage = querySelectorIncludingSelf(master, ".".concat(consts$1.OG_MESSAGE_BODY_CLASSNAME));
|
|
87
|
+
|
|
88
|
+
if (ogMessage) {
|
|
89
|
+
return Array.from(ogMessage.childNodes);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
var textMessageBody = querySelectorIncludingSelf(master, ".".concat(consts$2.TEXT_MESSAGE_BODY_CLASSNAME));
|
|
93
|
+
|
|
94
|
+
if (textMessageBody) {
|
|
95
|
+
return Array.from(textMessageBody.childNodes);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return Array.from(master.childNodes);
|
|
99
|
+
}
|
|
71
100
|
function createPasteNode() {
|
|
72
101
|
var pasteNode = document.body.querySelector("#".concat(PASTE_NODE)); // remove existing paste node
|
|
73
102
|
|
|
@@ -100,23 +129,28 @@ var extractTextFromNodes = function (nodes) {
|
|
|
100
129
|
};
|
|
101
130
|
function domToMessageTemplate(nodeArray) {
|
|
102
131
|
var templates = nodeArray === null || nodeArray === void 0 ? void 0 : nodeArray.reduce(function (accumulator, currentValue) {
|
|
103
|
-
var _a;
|
|
132
|
+
var _a; // currentValue can be node(from messageBody or messageInput) or text
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
var mentionNode; // this looks awkward, but it is a fallback to set default text
|
|
104
136
|
|
|
105
|
-
var
|
|
106
|
-
// in this case querySelector will return null
|
|
137
|
+
var text = currentValue === null || currentValue === void 0 ? void 0 : currentValue.innerText; // if text node, set text
|
|
107
138
|
|
|
108
|
-
if (
|
|
109
|
-
mentionNode =
|
|
110
|
-
|
|
111
|
-
? currentValue : null;
|
|
139
|
+
if (currentValue instanceof Text) {
|
|
140
|
+
mentionNode = false;
|
|
141
|
+
text = currentValue.textContent;
|
|
112
142
|
}
|
|
113
143
|
|
|
114
|
-
|
|
144
|
+
if (currentValue instanceof HTMLElement) {
|
|
145
|
+
mentionNode = currentValue.classList.contains(MENTION_CLASS) || currentValue.classList.contains(MENTION_CLASS_IN_INPUT) ? currentValue : currentValue.querySelector(MENTION_CLASS_COMBINED_QUERY);
|
|
146
|
+
} // if mentionNode is not null, it is a mention
|
|
147
|
+
|
|
115
148
|
|
|
116
149
|
if (mentionNode) {
|
|
150
|
+
var text_1 = currentValue === null || currentValue === void 0 ? void 0 : currentValue.innerText;
|
|
117
151
|
var userId = (_a = mentionNode.dataset) === null || _a === void 0 ? void 0 : _a.userid;
|
|
118
152
|
return tslib_es6.__spreadArray(tslib_es6.__spreadArray([], accumulator, true), [{
|
|
119
|
-
text:
|
|
153
|
+
text: text_1,
|
|
120
154
|
userId: userId
|
|
121
155
|
}], false);
|
|
122
156
|
}
|
|
@@ -132,9 +166,13 @@ function getUsersFromWords(templates, channel) {
|
|
|
132
166
|
var users = channel.members;
|
|
133
167
|
templates.forEach(function (template) {
|
|
134
168
|
if (template.userId) {
|
|
135
|
-
|
|
169
|
+
var mentionedMember = users.find(function (user) {
|
|
136
170
|
return user.userId === template.userId;
|
|
137
|
-
});
|
|
171
|
+
}); // Object.values would return array-> [undefined] if the user is not in the channel
|
|
172
|
+
|
|
173
|
+
if (mentionedMember) {
|
|
174
|
+
userMap[template.userId] = mentionedMember;
|
|
175
|
+
}
|
|
138
176
|
}
|
|
139
177
|
});
|
|
140
178
|
return Object.values(userMap);
|
|
@@ -179,24 +217,13 @@ function usePaste(_a) {
|
|
|
179
217
|
setIsInput(true);
|
|
180
218
|
setHeight();
|
|
181
219
|
return;
|
|
182
|
-
} // has mention,
|
|
183
|
-
|
|
220
|
+
} // has mention, collect leaf nodes and parse words
|
|
184
221
|
|
|
185
|
-
var childNodes = pasteNode.querySelectorAll(".".concat(TEXT_MESSAGE_CLASS));
|
|
186
|
-
|
|
187
|
-
if (pasteNode.querySelectorAll(".".concat(MENTION_CLASS_IN_INPUT)).length > 0) {
|
|
188
|
-
// @ts-ignore
|
|
189
|
-
childNodes = pasteNode.children;
|
|
190
|
-
}
|
|
191
222
|
|
|
192
|
-
var
|
|
223
|
+
var leafNodes = getLeafNodes(pasteNode);
|
|
224
|
+
var words = domToMessageTemplate(leafNodes);
|
|
225
|
+
var mentionedUsers = getUsersFromWords(words, channel); // side effects
|
|
193
226
|
|
|
194
|
-
if (pasteNode.children.length === 1 && pasteNode.querySelectorAll(MENTION_CLASS_COMBINED_QUERY).length === 1) {
|
|
195
|
-
nodeArray = Array.from(pasteNode.children);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
var words = domToMessageTemplate(nodeArray);
|
|
199
|
-
var mentionedUsers = getUsersFromWords(words, channel);
|
|
200
227
|
setMentionedUsers(mentionedUsers);
|
|
201
228
|
inserTemplateToDOM(words);
|
|
202
229
|
pasteNode.remove();
|
|
@@ -337,31 +364,26 @@ const MessageInput = /*#__PURE__*/React__default["default"].forwardRef((props, r
|
|
|
337
364
|
const textField = ref === null || ref === void 0 ? void 0 : ref.current;
|
|
338
365
|
|
|
339
366
|
if (isMentionEnabled && (message === null || message === void 0 ? void 0 : (_message$mentionedUse = message.mentionedUsers) === null || _message$mentionedUse === void 0 ? void 0 : _message$mentionedUse.length) > 0 && (message === null || message === void 0 ? void 0 : (_message$mentionedMes = message.mentionedMessageTemplate) === null || _message$mentionedMes === void 0 ? void 0 : _message$mentionedMes.length) > 0) {
|
|
340
|
-
var _message$mentionedMes2;
|
|
341
|
-
|
|
342
367
|
/* mention enabled */
|
|
343
368
|
const {
|
|
344
369
|
mentionedUsers = []
|
|
345
370
|
} = message;
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
var _mentionedUsers$find;
|
|
355
|
-
|
|
356
|
-
const nickname = `${_const.USER_MENTION_TEMP_CHAR}${((_mentionedUsers$find = mentionedUsers.find(user => (user === null || user === void 0 ? void 0 : user.userId) === userId)) === null || _mentionedUsers$find === void 0 ? void 0 : _mentionedUsers$find.nickname) || value || stringSet.MENTION_NAME__NO_NAME}`;
|
|
371
|
+
const tokens = tokenize.tokenizeMessage({
|
|
372
|
+
messageText: message === null || message === void 0 ? void 0 : message.mentionedMessageTemplate,
|
|
373
|
+
mentionedUsers
|
|
374
|
+
});
|
|
375
|
+
textField.innerHTML = tokens.map(token => {
|
|
376
|
+
if (token.type === tokenize.TOKEN_TYPES.mention) {
|
|
377
|
+
const mentionedUser = mentionedUsers.find(user => user.userId === token.userId);
|
|
378
|
+
const nickname = `${tokenize.USER_MENTION_PREFIX}${(mentionedUser === null || mentionedUser === void 0 ? void 0 : mentionedUser.nickname) || token.value || stringSet.MENTION_NAME__NO_NAME}`;
|
|
357
379
|
return renderToString({
|
|
358
|
-
userId,
|
|
380
|
+
userId: token.userId,
|
|
359
381
|
nickname
|
|
360
382
|
});
|
|
361
383
|
}
|
|
362
384
|
|
|
363
|
-
return sanitizeString(value);
|
|
364
|
-
}).join('
|
|
385
|
+
return sanitizeString(token.value);
|
|
386
|
+
}).join(' ');
|
|
365
387
|
} else {
|
|
366
388
|
/* mention disabled */
|
|
367
389
|
try {
|
|
@@ -535,6 +557,13 @@ const MessageInput = /*#__PURE__*/React__default["default"].forwardRef((props, r
|
|
|
535
557
|
} else if (node.nodeType === _const$1.NodeTypes.ElementNode && node.nodeName === _const$1.NodeNames.Br) {
|
|
536
558
|
messageText += '\n';
|
|
537
559
|
mentionTemplate += '\n';
|
|
560
|
+
} else if ((node === null || node === void 0 ? void 0 : node.nodeType) === _const$1.NodeTypes.ElementNode && (node === null || node === void 0 ? void 0 : node.nodeName) === _const$1.NodeNames.Div) {
|
|
561
|
+
// handles newline in safari
|
|
562
|
+
const {
|
|
563
|
+
textContent = ''
|
|
564
|
+
} = node;
|
|
565
|
+
messageText += `\n${textContent}`;
|
|
566
|
+
mentionTemplate += `\n${textContent}`;
|
|
538
567
|
} else {
|
|
539
568
|
// other nodes including text node
|
|
540
569
|
const {
|