@sendbird/uikit-react 3.6.7 → 3.6.8-rc.1
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 +57 -49
- package/App.js.map +1 -1
- package/CHANGELOG.md +63 -0
- package/Channel/components/ChannelHeader.js +20 -19
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +45 -41
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +16 -15
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +38 -36
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +34 -32
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +41 -60
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +18 -17
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +18 -17
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +16 -15
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +13 -12
- package/Channel/context.js.map +1 -1
- package/Channel/utils/compareMessagesForGrouping.js +22 -0
- package/Channel/utils/compareMessagesForGrouping.js.map +1 -0
- package/Channel/utils/getMessagePartsInfo.js +38 -0
- package/Channel/utils/getMessagePartsInfo.js.map +1 -0
- package/Channel.js +45 -41
- 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 +31 -30
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +27 -26
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +31 -30
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-fc14f42d.js → ChannelListProvider-8bad6b5d.js} +11 -14
- package/ChannelListProvider-8bad6b5d.js.map +1 -0
- package/{ChannelProvider-78e85f32.js → ChannelProvider-849524b4.js} +31 -331
- package/ChannelProvider-849524b4.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-fe23c38f.js → CreateChannelProvider-05a17cd7.js} +1 -1
- package/{CreateChannelProvider-fe23c38f.js.map → CreateChannelProvider-05a17cd7.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-5fe9b59d.js → LocalizationContext-8781208d.js} +3 -3
- package/{LocalizationContext-5fe9b59d.js.map → LocalizationContext-8781208d.js.map} +1 -1
- package/{MediaQueryContext-66b59195.js → MediaQueryContext-2ef9f34f.js} +1 -1
- package/{MediaQueryContext-66b59195.js.map → MediaQueryContext-2ef9f34f.js.map} +1 -1
- package/{MemberList-c03817ad.js → MemberList-41b2fd92.js} +5 -5
- package/{MemberList-c03817ad.js.map → MemberList-41b2fd92.js.map} +1 -1
- package/{useDirtyGetMentions-3f7692ab.js → Message/hooks/useDirtyGetMentions.js} +3 -2
- package/Message/hooks/useDirtyGetMentions.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +1 -1
- package/MessageSearch/context.js.map +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 +20 -19
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +30 -38
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +33 -32
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +33 -32
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +33 -32
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-5d21932a.js → OpenChannelListProvider-573391ab.js} +3 -3
- package/{OpenChannelListProvider-5d21932a.js.map → OpenChannelListProvider-573391ab.js.map} +1 -1
- package/{OpenChannelProvider-a6f4f92a.js → OpenChannelProvider-ac1c9c33.js} +7 -7
- package/OpenChannelProvider-ac1c9c33.js.map +1 -0
- 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/{RemoveMessageModal-0d438e31.js → RemoveMessageModal-6a47b7bb.js} +3 -3
- package/RemoveMessageModal-6a47b7bb.js.map +1 -0
- package/SendbirdProvider.js +24 -21
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +36 -34
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +21 -21
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +39 -37
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +40 -38
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +32 -30
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +43 -41
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +43 -41
- package/Thread.js.map +1 -1
- package/{ThreadProvider-2a4356a2.js → ThreadProvider-9e14db75.js} +12 -11
- package/ThreadProvider-9e14db75.js.map +1 -0
- package/{UserProfileContext-8b8f3e3a.js → UserProfileContext-3be56f3a.js} +1 -1
- package/{UserProfileContext-8b8f3e3a.js.map → UserProfileContext-3be56f3a.js.map} +1 -1
- package/{VoiceMessageInputWrapper-b8742ea1.js → VoiceMessageInputWrapper-be6706b2.js} +7 -7
- package/{VoiceMessageInputWrapper-b8742ea1.js.map → VoiceMessageInputWrapper-be6706b2.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +9 -9
- package/VoiceRecorder/context.js +9 -9
- package/VoiceRecorder/useVoiceRecorder.js +8 -8
- package/{WebAudioUtils-63418113.js → WebAudioUtils-9b10fbb0.js} +2 -2
- package/{WebAudioUtils-63418113.js.map → WebAudioUtils-9b10fbb0.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-90ff7fc4.js → _rollupPluginBabelHelpers-404d1a9c.js} +1 -1
- package/_rollupPluginBabelHelpers-404d1a9c.js.map +1 -0
- package/{actionTypes-66bf934b.js → actionTypes-a16bc0a0.js} +1 -1
- package/{actionTypes-66bf934b.js.map → actionTypes-a16bc0a0.js.map} +1 -1
- package/cjs/App.js +57 -49
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +20 -19
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +45 -41
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +16 -15
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +41 -39
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +39 -37
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +47 -66
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +18 -17
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +18 -17
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +16 -15
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +13 -12
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel/utils/compareMessagesForGrouping.js +26 -0
- package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -0
- package/cjs/Channel/utils/getMessagePartsInfo.js +42 -0
- package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -0
- package/cjs/Channel.js +45 -41
- 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 +31 -30
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +27 -26
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +31 -30
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-c1f3cf4a.js → ChannelListProvider-11d605eb.js} +11 -14
- package/cjs/ChannelListProvider-11d605eb.js.map +1 -0
- package/cjs/{ChannelProvider-633edf61.js → ChannelProvider-58b2dd24.js} +109 -414
- package/cjs/ChannelProvider-58b2dd24.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-32102712.js → CreateChannelProvider-ea0ac249.js} +1 -1
- package/cjs/{CreateChannelProvider-32102712.js.map → CreateChannelProvider-ea0ac249.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-a15ec4eb.js → LocalizationContext-98e10f52.js} +3 -3
- package/cjs/{LocalizationContext-a15ec4eb.js.map → LocalizationContext-98e10f52.js.map} +1 -1
- package/cjs/{MediaQueryContext-80d10d7b.js → MediaQueryContext-add76360.js} +1 -1
- package/cjs/{MediaQueryContext-80d10d7b.js.map → MediaQueryContext-add76360.js.map} +1 -1
- package/cjs/{MemberList-5303bbbb.js → MemberList-ae4434a0.js} +5 -5
- package/cjs/{MemberList-5303bbbb.js.map → MemberList-ae4434a0.js.map} +1 -1
- package/cjs/{useDirtyGetMentions-a37639f1.js → Message/hooks/useDirtyGetMentions.js} +4 -1
- package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch/context.js.map +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 +20 -19
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +32 -40
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +33 -32
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +33 -32
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +33 -32
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-49874b88.js → OpenChannelListProvider-8e908f4d.js} +3 -3
- package/cjs/{OpenChannelListProvider-49874b88.js.map → OpenChannelListProvider-8e908f4d.js.map} +1 -1
- package/cjs/{OpenChannelProvider-c2b3dc2c.js → OpenChannelProvider-7b3b81b1.js} +7 -7
- package/cjs/OpenChannelProvider-7b3b81b1.js.map +1 -0
- 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-271f1251.js → RemoveMessageModal-33422173.js} +3 -3
- package/cjs/RemoveMessageModal-33422173.js.map +1 -0
- package/cjs/SendbirdProvider.js +24 -21
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +38 -36
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +21 -21
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +39 -37
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +42 -40
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +34 -32
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +43 -41
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +43 -41
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-8d2ce923.js → ThreadProvider-f7ee365b.js} +12 -11
- package/cjs/ThreadProvider-f7ee365b.js.map +1 -0
- package/cjs/{UserProfileContext-f8f1cee7.js → UserProfileContext-b249921b.js} +1 -1
- package/cjs/{UserProfileContext-f8f1cee7.js.map → UserProfileContext-b249921b.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-e8d7b9ba.js → VoiceMessageInputWrapper-a365a098.js} +9 -9
- package/cjs/{VoiceMessageInputWrapper-e8d7b9ba.js.map → VoiceMessageInputWrapper-a365a098.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +9 -9
- package/cjs/VoiceRecorder/context.js +9 -9
- package/cjs/VoiceRecorder/useVoiceRecorder.js +8 -8
- package/cjs/{WebAudioUtils-88dbfaed.js → WebAudioUtils-a6402df3.js} +2 -2
- package/cjs/{WebAudioUtils-88dbfaed.js.map → WebAudioUtils-a6402df3.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-0d9d52a5.js → _rollupPluginBabelHelpers-af83a471.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-af83a471.js.map +1 -0
- package/cjs/{actionTypes-974dfe33.js → actionTypes-200d8a9f.js} +1 -1
- package/cjs/{actionTypes-974dfe33.js.map → actionTypes-200d8a9f.js.map} +1 -1
- package/cjs/{color-1e9cc481.js → color-31d6570a.js} +1 -1
- package/cjs/{color-1e9cc481.js.map → color-31d6570a.js.map} +1 -1
- package/cjs/{compareIds-0344920c.js → compareIds-e79c9a5a.js} +1 -1
- package/cjs/{compareIds-0344920c.js.map → compareIds-e79c9a5a.js.map} +1 -1
- package/cjs/{const-0d4d91cd.js → const-a3aa0fd6.js} +1 -1
- package/cjs/{const-0d4d91cd.js.map → const-a3aa0fd6.js.map} +1 -1
- package/cjs/{const-182fe978.js → const-c4593fa8.js} +1 -1
- package/cjs/{const-182fe978.js.map → const-c4593fa8.js.map} +1 -1
- package/cjs/{consts-10e5b075.js → consts-0ce6dc5f.js} +1 -1
- package/cjs/{consts-10e5b075.js.map → consts-0ce6dc5f.js.map} +1 -1
- package/cjs/{consts-5bdc2c7f.js → consts-43df77ef.js} +1 -1
- package/cjs/{consts-5bdc2c7f.js.map → consts-43df77ef.js.map} +1 -1
- package/cjs/{consts-0c9a38ef.js → consts-6d791ff5.js} +5 -1
- package/cjs/{consts-0c9a38ef.js.map → consts-6d791ff5.js.map} +1 -1
- package/cjs/{consts-c336bb61.js → consts-95de97c6.js} +1 -1
- package/cjs/{consts-c336bb61.js.map → consts-95de97c6.js.map} +1 -1
- package/cjs/{context-0276d21e.js → context-cec5a03c.js} +2 -2
- package/cjs/{context-0276d21e.js.map → context-cec5a03c.js.map} +1 -1
- package/cjs/dist/index.css +154 -127
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-2cb13008.js → index-0a1d6159.js} +2 -2
- package/cjs/{index-2cb13008.js.map → index-0a1d6159.js.map} +1 -1
- package/cjs/{index-ed1ee70b.js → index-0a49ce60.js} +21 -14
- package/cjs/index-0a49ce60.js.map +1 -0
- package/cjs/index-0bcc6578.js +298 -0
- package/cjs/index-0bcc6578.js.map +1 -0
- package/cjs/{index-6cb3365f.js → index-1a05108d.js} +2 -2
- package/cjs/{index-6cb3365f.js.map → index-1a05108d.js.map} +1 -1
- package/cjs/{index-49fe0efb.js → index-44f82a5f.js} +4 -4
- package/cjs/{index-49fe0efb.js.map → index-44f82a5f.js.map} +1 -1
- package/cjs/{index-08c5777e.js → index-5125200f.js} +67 -28
- package/cjs/index-5125200f.js.map +1 -0
- package/cjs/{index-5a651f3c.js → index-5eddbcdd.js} +2 -2
- package/cjs/{index-5a651f3c.js.map → index-5eddbcdd.js.map} +1 -1
- package/cjs/{index-87e11d7e.js → index-6a049d22.js} +5 -5
- package/cjs/{index-87e11d7e.js.map → index-6a049d22.js.map} +1 -1
- package/cjs/{index-092b22dd.js → index-71ac2b0c.js} +2 -2
- package/cjs/{index-092b22dd.js.map → index-71ac2b0c.js.map} +1 -1
- package/cjs/{index-e46cc828.js → index-7c287c6e.js} +6 -6
- package/cjs/{index-e46cc828.js.map → index-7c287c6e.js.map} +1 -1
- package/cjs/{index-c2454b7e.js → index-821a74b6.js} +1 -1
- package/cjs/{index-c2454b7e.js.map → index-821a74b6.js.map} +1 -1
- package/cjs/{index-dbccd7fb.js → index-86a4d820.js} +3 -3
- package/cjs/{index-dbccd7fb.js.map → index-86a4d820.js.map} +1 -1
- package/cjs/{index-54228aa8.js → index-892e04e5.js} +4 -4
- package/cjs/{index-54228aa8.js.map → index-892e04e5.js.map} +1 -1
- package/cjs/{index-b428366f.js → index-ae818469.js} +2 -2
- package/cjs/index-ae818469.js.map +1 -0
- package/cjs/{index-1325e266.js → index-cffeab44.js} +3 -3
- package/cjs/{index-1325e266.js.map → index-cffeab44.js.map} +1 -1
- package/cjs/{index-9c8e297d.js → index-d1afbcfe.js} +3 -3
- package/cjs/{index-9c8e297d.js.map → index-d1afbcfe.js.map} +1 -1
- package/cjs/{index-cebd1362.js → index-dafc4dfb.js} +4 -4
- package/cjs/{index-cebd1362.js.map → index-dafc4dfb.js.map} +1 -1
- package/cjs/{index-17a6519d.js → index-eb531448.js} +1 -1
- package/cjs/{index-17a6519d.js.map → index-eb531448.js.map} +1 -1
- package/cjs/index-fc0d8ea1.js +230 -0
- package/cjs/index-fc0d8ea1.js.map +1 -0
- package/cjs/index.js +57 -53
- package/cjs/index.js.map +1 -1
- package/cjs/{index.module-8026e7d3.js → index.module-dcf622ba.js} +1 -1
- package/cjs/{index.module-8026e7d3.js.map → index.module-dcf622ba.js.map} +1 -1
- package/cjs/package.json +2 -2
- package/cjs/{resolvedReplyType-8137e072.js → resolvedReplyType-7074785b.js} +1 -1
- package/cjs/{resolvedReplyType-8137e072.js.map → resolvedReplyType-7074785b.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +3 -4
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-769f181d.js → stringSet-20c5f2fa.js} +1 -1
- package/cjs/{stringSet-769f181d.js.map → stringSet-20c5f2fa.js.map} +1 -1
- package/cjs/{tokenize-586ed01a.js → tokenize-3c568761.js} +2 -2
- package/cjs/{tokenize-586ed01a.js.map → tokenize-3c568761.js.map} +1 -1
- package/cjs/{topics-99121946.js → topics-b61b6276.js} +1 -1
- package/cjs/{topics-99121946.js.map → topics-b61b6276.js.map} +1 -1
- package/cjs/{types-812b3bfd.js → types-7d4d4e4a.js} +1 -1
- package/cjs/types-7d4d4e4a.js.map +1 -0
- package/cjs/ui/Accordion.js +2 -2
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +2 -2
- package/cjs/ui/Avatar.js +1 -1
- package/cjs/ui/Badge.js +4 -4
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +2 -2
- package/cjs/ui/ChannelAvatar.js +2 -2
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +3 -3
- package/cjs/ui/EmojiReactions.js +13 -13
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +17 -126
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +178 -159
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.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/MentionLabel.js +10 -10
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +28 -28
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput/hooks/usePaste.js +16 -0
- package/cjs/ui/MessageInput/hooks/usePaste.js.map +1 -0
- package/cjs/ui/MessageInput.js +21 -233
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +8 -8
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/OGMessageItemBody.js +14 -14
- package/cjs/ui/OpenChannelAdminMessage.js +2 -2
- package/cjs/ui/OpenChannelAvatar.js +5 -5
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +15 -15
- package/cjs/ui/OpenchannelOGMessage.js +18 -18
- package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
- package/cjs/ui/OpenchannelUserMessage.js +15 -15
- package/cjs/ui/PlaceHolder.js +5 -5
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +2 -2
- package/cjs/ui/ReactionButton.js +4 -4
- package/cjs/ui/SortByRow.js +1 -1
- package/cjs/ui/TextButton.js +1 -1
- package/cjs/ui/TextMessageItemBody.js +14 -14
- package/cjs/ui/ThreadReplies.js +5 -5
- package/cjs/ui/ThumbnailMessageItemBody.js +5 -5
- package/cjs/ui/Toggle.js +1 -1
- package/cjs/ui/Tooltip.js +2 -2
- 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 +9 -9
- package/cjs/ui/VoiceMessgeInput.js +7 -7
- package/cjs/ui/Word.js +10 -10
- package/cjs/{useLongPress-a77054d5.js → useLongPress-f1d03c8d.js} +3 -3
- package/cjs/{useLongPress-a77054d5.js.map → useLongPress-f1d03c8d.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-c8ca7346.js → utils-03f96fba.js} +1 -1
- package/cjs/{utils-c8ca7346.js.map → utils-03f96fba.js.map} +1 -1
- package/cjs/{utils-18517a45.js → utils-482c5d41.js} +2 -2
- package/cjs/{utils-18517a45.js.map → utils-482c5d41.js.map} +1 -1
- package/cjs/{utils-3fda8de7.js → utils-9a0e0c06.js} +1 -1
- package/cjs/{utils-3fda8de7.js.map → utils-9a0e0c06.js.map} +1 -1
- package/cjs/utils-a569b281.js +340 -0
- package/cjs/utils-a569b281.js.map +1 -0
- package/cjs/{utils-d6b081f0.js → utils-e00d6f10.js} +1 -1
- package/cjs/{utils-d6b081f0.js.map → utils-e00d6f10.js.map} +1 -1
- package/cjs/{uuid-6c019e89.js → uuid-f9a11afa.js} +1 -1
- package/cjs/{uuid-6c019e89.js.map → uuid-f9a11afa.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-2315a258.js → color-08fea5a1.js} +1 -1
- package/{color-2315a258.js.map → color-08fea5a1.js.map} +1 -1
- package/{compareIds-2464aab2.js → compareIds-72c21832.js} +1 -1
- package/{compareIds-2464aab2.js.map → compareIds-72c21832.js.map} +1 -1
- package/{const-0cca8d38.js → const-035fb030.js} +1 -1
- package/{const-0cca8d38.js.map → const-035fb030.js.map} +1 -1
- package/{const-c6a266f4.js → const-cf103f8d.js} +1 -1
- package/{const-c6a266f4.js.map → const-cf103f8d.js.map} +1 -1
- package/{consts-991d3823.js → consts-52c058a5.js} +1 -1
- package/{consts-991d3823.js.map → consts-52c058a5.js.map} +1 -1
- package/{consts-32a2c4a7.js → consts-d9925dd6.js} +1 -1
- package/{consts-32a2c4a7.js.map → consts-d9925dd6.js.map} +1 -1
- package/{consts-3d956927.js → consts-dbf4e2a7.js} +1 -1
- package/{consts-3d956927.js.map → consts-dbf4e2a7.js.map} +1 -1
- package/{consts-b6f24cc7.js → consts-f92f7a23.js} +5 -2
- package/{consts-b6f24cc7.js.map → consts-f92f7a23.js.map} +1 -1
- package/{context-e46fff7b.js → context-866e205a.js} +2 -2
- package/{context-e46fff7b.js.map → context-866e205a.js.map} +1 -1
- package/dist/index.css +154 -127
- package/dist/index.css.map +1 -1
- package/{index-335e7557.js → index-0cfeeaac.js} +2 -2
- package/{index-335e7557.js.map → index-0cfeeaac.js.map} +1 -1
- package/{index-f2e30f98.js → index-220222c3.js} +2 -2
- package/{index-f2e30f98.js.map → index-220222c3.js.map} +1 -1
- package/{index-499d9ef9.js → index-3c8065f1.js} +2 -2
- package/{index-499d9ef9.js.map → index-3c8065f1.js.map} +1 -1
- package/{index-17b78bb0.js → index-3e9067b2.js} +21 -14
- package/index-3e9067b2.js.map +1 -0
- package/{index-fe2c7493.js → index-48b8b7ea.js} +6 -6
- package/{index-fe2c7493.js.map → index-48b8b7ea.js.map} +1 -1
- package/{index-13d9d766.js → index-5a7039da.js} +2 -2
- package/{index-13d9d766.js.map → index-5a7039da.js.map} +1 -1
- package/index-5d775cdb.js +221 -0
- package/index-5d775cdb.js.map +1 -0
- package/{index-7b3790d3.js → index-87a9a309.js} +4 -4
- package/{index-7b3790d3.js.map → index-87a9a309.js.map} +1 -1
- package/{index-07345a6e.js → index-89a6798f.js} +5 -5
- package/{index-07345a6e.js.map → index-89a6798f.js.map} +1 -1
- package/{index-bafedab0.js → index-92d47d85.js} +1 -1
- package/{index-bafedab0.js.map → index-92d47d85.js.map} +1 -1
- package/index-a3d726e9.js +289 -0
- package/index-a3d726e9.js.map +1 -0
- package/{index-a39b9075.js → index-adaead71.js} +3 -3
- package/{index-a39b9075.js.map → index-adaead71.js.map} +1 -1
- package/{index-ebb8a7df.js → index-b3d5a76f.js} +2 -2
- package/index-b3d5a76f.js.map +1 -0
- package/{index-2544bb0a.js → index-bbc82f2a.js} +4 -4
- package/{index-2544bb0a.js.map → index-bbc82f2a.js.map} +1 -1
- package/{index-b9b184a4.js → index-c17b453a.js} +1 -1
- package/{index-b9b184a4.js.map → index-c17b453a.js.map} +1 -1
- package/{index-c4273470.js → index-ceda3633.js} +4 -4
- package/{index-c4273470.js.map → index-ceda3633.js.map} +1 -1
- package/{index-879bcfab.js → index-d637d23d.js} +3 -3
- package/{index-879bcfab.js.map → index-d637d23d.js.map} +1 -1
- package/{index-56249831.js → index-e9757459.js} +68 -29
- package/index-e9757459.js.map +1 -0
- package/{index-63c995b8.js → index-ef60ce9f.js} +3 -3
- package/{index-63c995b8.js.map → index-ef60ce9f.js.map} +1 -1
- package/index.d.ts +278 -134
- package/index.js +57 -53
- package/index.js.map +1 -1
- package/{index.module-41885c5b.js → index.module-476c67cc.js} +1 -1
- package/{index.module-41885c5b.js.map → index.module-476c67cc.js.map} +1 -1
- package/package.json +3 -2
- package/{resolvedReplyType-d6e22593.js → resolvedReplyType-8fa44680.js} +1 -1
- package/{resolvedReplyType-d6e22593.js.map → resolvedReplyType-8fa44680.js.map} +1 -1
- package/sendbirdSelectors.js +3 -4
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-47601d79.js → stringSet-f13a0a37.js} +1 -1
- package/{stringSet-47601d79.js.map → stringSet-f13a0a37.js.map} +1 -1
- package/{tokenize-c0cf9574.js → tokenize-be306c61.js} +2 -2
- package/{tokenize-c0cf9574.js.map → tokenize-be306c61.js.map} +1 -1
- package/{topics-e985567d.js → topics-df485c66.js} +1 -1
- package/{topics-e985567d.js.map → topics-df485c66.js.map} +1 -1
- package/{types-02054e6e.js → types-b2ebbd50.js} +1 -1
- package/types-b2ebbd50.js.map +1 -0
- package/ui/Accordion.js +2 -2
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +2 -2
- package/ui/Avatar.js +1 -1
- package/ui/Badge.js +4 -4
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +2 -2
- package/ui/ChannelAvatar.js +2 -2
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +3 -3
- package/ui/EmojiReactions.js +13 -13
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +15 -124
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +178 -159
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/MentionLabel.js +10 -10
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +28 -28
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput/hooks/usePaste.js +7 -0
- package/ui/MessageInput/hooks/usePaste.js.map +1 -0
- package/ui/MessageInput.js +16 -227
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +8 -8
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +14 -14
- package/ui/OpenChannelAdminMessage.js +2 -2
- package/ui/OpenChannelAvatar.js +5 -5
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +15 -15
- package/ui/OpenchannelOGMessage.js +18 -18
- package/ui/OpenchannelThumbnailMessage.js +14 -14
- package/ui/OpenchannelUserMessage.js +15 -15
- package/ui/PlaceHolder.js +5 -5
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +2 -2
- package/ui/ReactionButton.js +4 -4
- package/ui/SortByRow.js +1 -1
- package/ui/TextButton.js +1 -1
- package/ui/TextMessageItemBody.js +14 -14
- package/ui/ThreadReplies.js +5 -5
- package/ui/ThumbnailMessageItemBody.js +5 -5
- package/ui/Toggle.js +1 -1
- package/ui/Tooltip.js +2 -2
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +10 -10
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +9 -9
- package/ui/VoiceMessgeInput.js +7 -7
- package/ui/Word.js +10 -10
- package/{useLongPress-0a2a8916.js → useLongPress-e69367cf.js} +3 -3
- package/{useLongPress-0a2a8916.js.map → useLongPress-e69367cf.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/getOutgoingMessageState.js.map +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-93924431.js → utils-3ee416c9.js} +1 -1
- package/{utils-93924431.js.map → utils-3ee416c9.js.map} +1 -1
- package/{utils-2f26afa0.js → utils-42133229.js} +1 -1
- package/{utils-2f26afa0.js.map → utils-42133229.js.map} +1 -1
- package/{utils-d15f13cf.js → utils-60a2e587.js} +1 -1
- package/{utils-d15f13cf.js.map → utils-60a2e587.js.map} +1 -1
- package/{utils-70ea4cc9.js → utils-910ef5dd.js} +2 -2
- package/{utils-70ea4cc9.js.map → utils-910ef5dd.js.map} +1 -1
- package/utils-df42b9f9.js +301 -0
- package/utils-df42b9f9.js.map +1 -0
- package/{uuid-ec51ac4d.js → uuid-1b498132.js} +1 -1
- package/{uuid-ec51ac4d.js.map → uuid-1b498132.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-fc14f42d.js.map +0 -1
- package/ChannelProvider-78e85f32.js.map +0 -1
- package/OpenChannelProvider-a6f4f92a.js.map +0 -1
- package/RemoveMessageModal-0d438e31.js.map +0 -1
- package/ThreadProvider-2a4356a2.js.map +0 -1
- package/_rollupPluginBabelHelpers-90ff7fc4.js.map +0 -1
- package/cjs/ChannelListProvider-c1f3cf4a.js.map +0 -1
- package/cjs/ChannelProvider-633edf61.js.map +0 -1
- package/cjs/OpenChannelProvider-c2b3dc2c.js.map +0 -1
- package/cjs/RemoveMessageModal-271f1251.js.map +0 -1
- package/cjs/ThreadProvider-8d2ce923.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-0d9d52a5.js.map +0 -1
- package/cjs/index-08c5777e.js.map +0 -1
- package/cjs/index-b428366f.js.map +0 -1
- package/cjs/index-ed1ee70b.js.map +0 -1
- package/cjs/types-812b3bfd.js.map +0 -1
- package/cjs/useDirtyGetMentions-a37639f1.js.map +0 -1
- package/index-17b78bb0.js.map +0 -1
- package/index-56249831.js.map +0 -1
- package/index-ebb8a7df.js.map +0 -1
- package/types-02054e6e.js.map +0 -1
- package/useDirtyGetMentions-3f7692ab.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.js","sources":["../../../src/utils/useDidMountEffect.ts","../../../src/modules/Channel/components/Message/index.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst useDidMountEffect = (func: () => void, deps: Array<unknown>): void => {\n const [didMount, setDidmount] = useState(false);\n useEffect(() => {\n if (didMount) {\n func();\n } else {\n setDidmount(true);\n }\n }, deps);\n};\n\nexport default useDidMountEffect;\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\n\nimport useDidMountEffect from '../../../../utils/useDidMountEffect';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT } from '../../context/const';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { useHandleOnScrollCallback } from '../../../../hooks/useHandleOnScrollCallback';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll?: (isBottomMessageAffected?: boolean) => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderEditInput?: () => React.ReactElement;\n renderMessageContent?: () => React.ReactElement;\n};\n\n// todo: Refactor this component, is too complex now\nconst Message = ({\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeparator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n}: MessageUIProps): React.ReactElement => {\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n\n const {\n userId,\n isOnline,\n isMentionEnabled,\n userMention,\n logger,\n } = globalStore.config;\n const maxUserMentionCount = userMention?.maxMentionCount || MAX_USER_MENTION_COUNT;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || MAX_USER_SUGGESTION_COUNT;\n\n const {\n initialized,\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n threadReplySelectType,\n isReactionEnabled,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n setQuoteMessage,\n resendMessage,\n renderUserMentionItem,\n onReplyInThread,\n onQuoteMessageClick,\n onMessageAnimated,\n onMessageHighlighted,\n onScrollCallback,\n } = useChannelContext();\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const editMessageInputRef = useRef(null);\n const messageScrollRef = useRef(null);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentGroupChannel)\n && !isDisabledBecauseMuted(currentGroupChannel);\n const disabled = !initialized\n || isDisabledBecauseFrozen(currentGroupChannel)\n || isDisabledBecauseMuted(currentGroupChannel)\n || !isOnline;\n\n const handleOnScroll = useHandleOnScrollCallback({\n hasMore: false,\n onScroll: onScrollCallback,\n scrollRef: messageScrollRef,\n });\n\n const mentionNodes = useDirtyGetMentions({ ref: editMessageInputRef }, { logger });\n const ableMention = mentionNodes?.length < maxUserMentionCount;\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n useLayoutEffect(() => {\n // Keep the scrollBottom value after fetching new message list\n handleScroll?.();\n }, []);\n /**\n * Move the messsage list scroll\n * when the message's height is changed by `showEdit` OR `message.reactions`\n */\n useDidMountEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n useDidMountEffect(() => {\n handleScroll?.(true);\n }, [message?.updatedAt]);\n\n useLayoutEffect(() => {\n let animationTimeout = null;\n let messageHighlightedTimeout = null;\n if (highLightedMessageId === message.messageId && messageScrollRef?.current) {\n handleOnScroll();\n setIsAnimated(false);\n animationTimeout = setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n messageHighlightedTimeout = setTimeout(() => {\n setHighLightedMessageId(0);\n onMessageHighlighted?.();\n }, 1600);\n } else {\n setIsHighlighted(false);\n }\n return () => {\n clearTimeout(animationTimeout);\n clearTimeout(messageHighlightedTimeout);\n };\n }, [highLightedMessageId, messageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n let animationTimeout = null;\n let messageAnimatedTimeout = null;\n if (animatedMessageId === message.messageId && messageScrollRef?.current) {\n handleOnScroll();\n setIsHighlighted(false);\n animationTimeout = setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n messageAnimatedTimeout = setTimeout(() => {\n setAnimatedMessageId(0);\n onMessageAnimated?.();\n }, 1600);\n } else {\n setIsAnimated(false);\n }\n return () => {\n clearTimeout(animationTimeout);\n clearTimeout(messageAnimatedTimeout);\n };\n }, [animatedMessageId, messageScrollRef.current, message.messageId, onMessageAnimated]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n const renderedCustomSeparator = useMemo(() => {\n if (renderCustomSeparator) {\n return renderCustomSeparator?.({ message: message });\n }\n return null;\n }, [message, renderCustomSeparator]);\n\n if (renderedMessage) {\n return (\n <div\n // do not delete this data attribute, used for scroll to given message\n // and also for testing\n data-sb-message-id={message.messageId}\n data-sb-created-at={message.createdAt}\n ref={messageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message?.isUserMessage?.()) {\n return renderEditInput?.() || (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n channel={currentGroupChannel}\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onStartTyping={() => {\n currentGroupChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentGroupChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([]);\n setShowEdit(false);\n currentGroupChannel?.endTyping?.();\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n data-sb-message-id={message.messageId}\n data-sb-created-at={message.createdAt}\n ref={messageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n threadReplySelectType={threadReplySelectType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n setQuoteMessage={setQuoteMessage}\n onReplyInThread={onReplyInThread}\n onQuoteMessageClick={onQuoteMessageClick}\n onMessageHeightChange={handleScroll}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["useDidMountEffect","func","deps","didMount","setDidmount","useState","useEffect","Message","_ref","_message$reactions","_message$isUserMessag","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeparator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","userId","isOnline","isMentionEnabled","userMention","logger","config","maxUserMentionCount","maxMentionCount","MAX_USER_MENTION_COUNT","maxUserSuggestionCount","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","initialized","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","threadReplySelectType","isReactionEnabled","toggleReaction","emojiContainer","nicknamesMap","setQuoteMessage","resendMessage","renderUserMentionItem","onReplyInThread","onQuoteMessageClick","onMessageAnimated","onMessageHighlighted","onScrollCallback","useChannelContext","showEdit","setShowEdit","showRemove","setShowRemove","showFileViewer","setShowFileViewer","isAnimated","setIsAnimated","isHighlighted","setIsHighlighted","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","editMessageInputRef","useRef","messageScrollRef","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","disabled","handleOnScroll","useHandleOnScrollCallback","hasMore","onScroll","scrollRef","mentionNodes","useDirtyGetMentions","ref","ableMention","filter","_ref2","i","indexOf","splice","useLayoutEffect","reactions","updatedAt","animationTimeout","messageHighlightedTimeout","messageId","current","setTimeout","clearTimeout","messageAnimatedTimeout","renderedMessage","useMemo","renderedCustomSeparator","React","createElement","createdAt","className","getClassName","DateSeparator","Label","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2","format","locale","isUserMessage","call","Fragment","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","user","onFocusItemChange","onFetchUsers","users","ableAddMention","MessageInput","isEdit","channel","mentionSelectedUser","onStartTyping","_currentGroupChannel$","startTyping","onUpdateMessage","_ref3","_currentGroupChannel$2","mentionTemplate","endTyping","onCancelEdit","_currentGroupChannel$3","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","style","marginBottom","MessageContent","onMessageHeightChange","RemoveMessageModal","onCancel","FileViewer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Message.js","sources":["../../../src/utils/useDidMountEffect.ts","../../../src/modules/Channel/components/Message/index.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst useDidMountEffect = (func: () => void, deps: Array<unknown>): void => {\n const [didMount, setDidmount] = useState(false);\n useEffect(() => {\n if (didMount) {\n func();\n } else {\n setDidmount(true);\n }\n }, deps);\n};\n\nexport default useDidMountEffect;\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useLayoutEffect,\n} from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\n\nimport useDidMountEffect from '../../../../utils/useDidMountEffect';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { getClassName } from '../../../../utils';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../context/utils';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT } from '../../context/const';\n\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport MessageInput from '../../../../ui/MessageInput';\nimport MessageContent from '../../../../ui/MessageContent';\nimport FileViewer from '../FileViewer';\nimport RemoveMessageModal from '../RemoveMessageModal';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport { EveryMessage, RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { useHandleOnScrollCallback } from '../../../../hooks/useHandleOnScrollCallback';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\n\ntype MessageUIProps = {\n message: EveryMessage;\n hasSeparator?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n handleScroll?: (isBottomMessageAffected?: boolean) => void;\n // for extending\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n renderEditInput?: () => React.ReactElement;\n renderMessageContent?: () => React.ReactElement;\n};\n\n// todo: Refactor this component, is too complex now\nconst Message = ({\n message,\n hasSeparator,\n chainTop,\n chainBottom,\n handleScroll,\n renderCustomSeparator,\n renderEditInput,\n renderMessage,\n renderMessageContent,\n}: MessageUIProps): React.ReactElement => {\n const { dateLocale } = useLocalization();\n const globalStore = useSendbirdStateContext();\n\n const {\n userId,\n isOnline,\n isMentionEnabled,\n userMention,\n logger,\n } = globalStore.config;\n const maxUserMentionCount = userMention?.maxMentionCount || MAX_USER_MENTION_COUNT;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || MAX_USER_SUGGESTION_COUNT;\n\n const {\n initialized,\n currentGroupChannel,\n highLightedMessageId,\n setHighLightedMessageId,\n animatedMessageId,\n setAnimatedMessageId,\n updateMessage,\n scrollToMessage,\n replyType,\n threadReplySelectType,\n isReactionEnabled,\n toggleReaction,\n emojiContainer,\n nicknamesMap,\n setQuoteMessage,\n resendMessage,\n renderUserMentionItem,\n onReplyInThread,\n onQuoteMessageClick,\n onMessageAnimated,\n onMessageHighlighted,\n onScrollCallback,\n } = useChannelContext();\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const [isHighlighted, setIsHighlighted] = useState(false);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const editMessageInputRef = useRef(null);\n const messageScrollRef = useRef(null);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentGroupChannel)\n && !isDisabledBecauseMuted(currentGroupChannel);\n const disabled = !initialized\n || isDisabledBecauseFrozen(currentGroupChannel)\n || isDisabledBecauseMuted(currentGroupChannel)\n || !isOnline;\n\n const handleOnScroll = useHandleOnScrollCallback({\n hasMore: false,\n onScroll: onScrollCallback,\n scrollRef: messageScrollRef,\n });\n\n const mentionNodes = useDirtyGetMentions({ ref: editMessageInputRef }, { logger });\n const ableMention = mentionNodes?.length < maxUserMentionCount;\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n useLayoutEffect(() => {\n // Keep the scrollBottom value after fetching new message list\n handleScroll?.();\n }, []);\n /**\n * Move the messsage list scroll\n * when the message's height is changed by `showEdit` OR `message.reactions`\n */\n useDidMountEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n useDidMountEffect(() => {\n handleScroll?.(true);\n }, [message?.updatedAt]);\n\n useLayoutEffect(() => {\n let animationTimeout = null;\n let messageHighlightedTimeout = null;\n if (highLightedMessageId === message.messageId && messageScrollRef?.current) {\n handleOnScroll();\n setIsAnimated(false);\n animationTimeout = setTimeout(() => {\n setIsHighlighted(true);\n }, 500);\n messageHighlightedTimeout = setTimeout(() => {\n setHighLightedMessageId(0);\n onMessageHighlighted?.();\n }, 1600);\n } else {\n setIsHighlighted(false);\n }\n return () => {\n clearTimeout(animationTimeout);\n clearTimeout(messageHighlightedTimeout);\n };\n }, [highLightedMessageId, messageScrollRef.current, message.messageId]);\n\n useLayoutEffect(() => {\n let animationTimeout = null;\n let messageAnimatedTimeout = null;\n if (animatedMessageId === message.messageId && messageScrollRef?.current) {\n handleOnScroll();\n setIsHighlighted(false);\n animationTimeout = setTimeout(() => {\n setIsAnimated(true);\n }, 500);\n messageAnimatedTimeout = setTimeout(() => {\n setAnimatedMessageId(0);\n onMessageAnimated?.();\n }, 1600);\n } else {\n setIsAnimated(false);\n }\n return () => {\n clearTimeout(animationTimeout);\n clearTimeout(messageAnimatedTimeout);\n };\n }, [animatedMessageId, messageScrollRef.current, message.messageId, onMessageAnimated]);\n const renderedMessage = useMemo(() => {\n return renderMessage?.({\n message,\n chainTop,\n chainBottom,\n });\n }, [message, renderMessage]);\n const renderedCustomSeparator = useMemo(() => {\n if (renderCustomSeparator) {\n return renderCustomSeparator?.({ message: message });\n }\n return null;\n }, [message, renderCustomSeparator]);\n\n if (renderedMessage) {\n return (\n <div\n // do not delete this data attribute, used for scroll to given message\n // and also for testing\n data-sb-message-id={message.messageId}\n data-sb-created-at={message.createdAt}\n ref={messageScrollRef}\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n >\n {/* date-separator */}\n {\n // TODO: Add message instance as a function parameter\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {renderedMessage}\n </div>\n );\n }\n\n if (showEdit && message?.isUserMessage?.()) {\n return renderEditInput?.() || (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n channel={currentGroupChannel}\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onStartTyping={() => {\n currentGroupChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentGroupChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([]);\n setShowEdit(false);\n currentGroupChannel?.endTyping?.();\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n className={getClassName([\n 'sendbird-msg-hoc sendbird-msg--scroll-ref',\n isAnimated ? 'sendbird-msg-hoc__animated' : '',\n isHighlighted ? 'sendbird-msg-hoc__highlighted' : '',\n ])}\n style={{ marginBottom: '2px' }}\n data-sb-message-id={message.messageId}\n data-sb-created-at={message.createdAt}\n ref={messageScrollRef}\n >\n {/* date-separator */}\n {\n hasSeparator && (renderedCustomSeparator || (\n <DateSeparator>\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n {format(message.createdAt, 'MMMM dd, yyyy', {\n locale: dateLocale,\n })}\n </Label>\n </DateSeparator>\n ))\n }\n {/* Message */}\n {\n renderMessageContent?.() || (\n <MessageContent\n className=\"sendbird-message-hoc__message-content\"\n userId={userId}\n scrollToMessage={scrollToMessage}\n channel={currentGroupChannel}\n message={message}\n disabled={!isOnline}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n threadReplySelectType={threadReplySelectType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n showEdit={setShowEdit}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n resendMessage={resendMessage}\n toggleReaction={toggleReaction}\n setQuoteMessage={setQuoteMessage}\n onReplyInThread={onReplyInThread}\n onQuoteMessageClick={onQuoteMessageClick}\n onMessageHeightChange={handleScroll}\n />\n )\n }\n {/* Modal */}\n {\n showRemove && (\n <RemoveMessageModal\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )\n }\n {\n showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n onCancel={() => setShowFileViewer(false)}\n />\n )\n }\n </div>\n );\n};\n\nexport default Message;\n"],"names":["useDidMountEffect","func","deps","didMount","setDidmount","useState","useEffect","Message","_ref","_message$reactions","_message$isUserMessag","message","hasSeparator","chainTop","chainBottom","handleScroll","renderCustomSeparator","renderEditInput","renderMessage","renderMessageContent","dateLocale","useLocalization","globalStore","useSendbirdStateContext","userId","isOnline","isMentionEnabled","userMention","logger","config","maxUserMentionCount","maxMentionCount","MAX_USER_MENTION_COUNT","maxUserSuggestionCount","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","initialized","currentGroupChannel","highLightedMessageId","setHighLightedMessageId","animatedMessageId","setAnimatedMessageId","updateMessage","scrollToMessage","replyType","threadReplySelectType","isReactionEnabled","toggleReaction","emojiContainer","nicknamesMap","setQuoteMessage","resendMessage","renderUserMentionItem","onReplyInThread","onQuoteMessageClick","onMessageAnimated","onMessageHighlighted","onScrollCallback","useChannelContext","showEdit","setShowEdit","showRemove","setShowRemove","showFileViewer","setShowFileViewer","isAnimated","setIsAnimated","isHighlighted","setIsHighlighted","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","editMessageInputRef","useRef","messageScrollRef","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","disabled","handleOnScroll","useHandleOnScrollCallback","hasMore","onScroll","scrollRef","mentionNodes","useDirtyGetMentions","ref","ableMention","filter","_ref2","i","indexOf","splice","useLayoutEffect","reactions","updatedAt","animationTimeout","messageHighlightedTimeout","messageId","current","setTimeout","clearTimeout","messageAnimatedTimeout","renderedMessage","useMemo","renderedCustomSeparator","React","createElement","createdAt","className","getClassName","DateSeparator","Label","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2","format","locale","isUserMessage","call","Fragment","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","user","onFocusItemChange","onFetchUsers","users","ableAddMention","MessageInput","isEdit","channel","mentionSelectedUser","onStartTyping","_currentGroupChannel$","startTyping","onUpdateMessage","_ref3","_currentGroupChannel$2","mentionTemplate","endTyping","onCancelEdit","_currentGroupChannel$3","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","style","marginBottom","MessageContent","onMessageHeightChange","RemoveMessageModal","onCancel","FileViewer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAMA,iBAAiB,GAAGA,CAACC,IAAgB,EAAEC,IAAoB,KAAW;EAC1E,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC/CC,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAIH,QAAQ,EAAE;AACZF,MAAAA,IAAI,EAAE,CAAA;AACR,KAAC,MAAM;MACLG,WAAW,CAAC,IAAI,CAAC,CAAA;AACnB,KAAA;GACD,EAAEF,IAAI,CAAC,CAAA;AACV,CAAC;;ACgCD;AACMK,MAAAA,OAAO,GAAGC,IAAA,IAU0B;EAAA,IAAAC,kBAAA,EAAAC,qBAAA,CAAA;EAAA,IAVzB;IACfC,OAAO;IACPC,YAAY;IACZC,QAAQ;IACRC,WAAW;IACXC,YAAY;IACZC,qBAAqB;IACrBC,eAAe;IACfC,aAAa;AACbC,IAAAA,oBAAAA;AACc,GAAC,GAAAX,IAAA,CAAA;EACf,MAAM;AAAEY,IAAAA,UAAAA;GAAY,GAAGC,eAAe,EAAE,CAAA;EACxC,MAAMC,WAAW,GAAGC,uBAAuB,EAAE,CAAA;EAE7C,MAAM;IACJC,MAAM;IACNC,QAAQ;IACRC,gBAAgB;IAChBC,WAAW;AACXC,IAAAA,MAAAA;GACD,GAAGN,WAAW,CAACO,MAAM,CAAA;EACtB,MAAMC,mBAAmB,GAAG,CAAAH,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEI,eAAe,KAAIC,sBAAsB,CAAA;EAClF,MAAMC,sBAAsB,GAAG,CAAAN,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEO,kBAAkB,KAAIC,yBAAyB,CAAA;EAE3F,MAAM;IACJC,WAAW;IACXC,mBAAmB;IACnBC,oBAAoB;IACpBC,uBAAuB;IACvBC,iBAAiB;IACjBC,oBAAoB;IACpBC,aAAa;IACbC,eAAe;IACfC,SAAS;IACTC,qBAAqB;IACrBC,iBAAiB;IACjBC,cAAc;IACdC,cAAc;IACdC,YAAY;IACZC,eAAe;IACfC,aAAa;IACbC,qBAAqB;IACrBC,eAAe;IACfC,mBAAmB;IACnBC,iBAAiB;IACjBC,oBAAoB;AACpBC,IAAAA,gBAAAA;GACD,GAAGC,iBAAiB,EAAE,CAAA;EACvB,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGvD,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC/C,MAAM,CAACwD,UAAU,EAAEC,aAAa,CAAC,GAAGzD,QAAQ,CAAC,KAAK,CAAC,CAAA;EACnD,MAAM,CAAC0D,cAAc,EAAEC,iBAAiB,CAAC,GAAG3D,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC3D,MAAM,CAAC4D,UAAU,EAAEC,aAAa,CAAC,GAAG7D,QAAQ,CAAC,KAAK,CAAC,CAAA;EACnD,MAAM,CAAC8D,aAAa,EAAEC,gBAAgB,CAAC,GAAG/D,QAAQ,CAAC,KAAK,CAAC,CAAA;EACzD,MAAM,CAACgE,eAAe,EAAEC,kBAAkB,CAAC,GAAGjE,QAAQ,CAAC,EAAE,CAAC,CAAA;EAC1D,MAAM,CAACkE,cAAc,EAAEC,iBAAiB,CAAC,GAAGnE,QAAQ,CAAC,EAAE,CAAC,CAAA;EACxD,MAAM,CAACoE,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGrE,QAAQ,CAAC,EAAE,CAAC,CAAA;EAC5D,MAAM,CAACsE,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGvE,QAAQ,CAAC,IAAI,CAAC,CAAA;EAChE,MAAM,CAACwE,YAAY,EAAEC,eAAe,CAAC,GAAGzE,QAAQ,CAAC,IAAI,CAAC,CAAA;EACtD,MAAM,CAAC0E,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG3E,QAAQ,CAAC,EAAE,CAAC,CAAA;AACtE,EAAA,MAAM4E,mBAAmB,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;AACxC,EAAA,MAAMC,gBAAgB,GAAGD,MAAM,CAAC,IAAI,CAAC,CAAA;EACrC,MAAME,2BAA2B,GAAG3D,QAAQ,IACvCC,gBAAgB,IAChB2C,eAAe,CAACgB,MAAM,GAAG,CAAC,IAC1B,CAACC,uBAAuB,CAACjD,mBAAmB,CAAC,IAC7C,CAACkD,sBAAsB,CAAClD,mBAAmB,CAAC,CAAA;AACjD,EAAA,MAAMmD,QAAQ,GAAG,CAACpD,WAAW,IACxBkD,uBAAuB,CAACjD,mBAAmB,CAAC,IAC5CkD,sBAAsB,CAAClD,mBAAmB,CAAC,IAC3C,CAACZ,QAAQ,CAAA;EAEd,MAAMgE,cAAc,GAAGC,yBAAyB,CAAC;AAC/CC,IAAAA,OAAO,EAAE,KAAK;AACdC,IAAAA,QAAQ,EAAEnC,gBAAgB;AAC1BoC,IAAAA,SAAS,EAAEV,gBAAAA;AACb,GAAC,CAAC,CAAA;EAEF,MAAMW,YAAY,GAAGC,mBAAmB,CAAC;AAAEC,IAAAA,GAAG,EAAEf,mBAAAA;AAAoB,GAAC,EAAE;AAAErD,IAAAA,MAAAA;AAAO,GAAC,CAAC,CAAA;EAClF,MAAMqE,WAAW,GAAG,CAAAH,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAET,MAAM,IAAGvD,mBAAmB,CAAA;AAE9DxB,EAAAA,SAAS,CAAC,MAAM;AACdkE,IAAAA,iBAAiB,CAACD,cAAc,CAAC2B,MAAM,CAACC,KAAA,IAAgB;MAAA,IAAf;AAAE3E,QAAAA,MAAAA;AAAO,OAAC,GAAA2E,KAAA,CAAA;AACjD,MAAA,MAAMC,CAAC,GAAG3B,gBAAgB,CAAC4B,OAAO,CAAC7E,MAAM,CAAC,CAAA;MAC1C,IAAI4E,CAAC,GAAG,CAAC,EAAE;AACT,QAAA,OAAO,KAAK,CAAA;AACd,OAAC,MAAM;AACL3B,QAAAA,gBAAgB,CAAC6B,MAAM,CAACF,CAAC,EAAE,CAAC,CAAC,CAAA;AAC7B,QAAA,OAAO,IAAI,CAAA;AACb,OAAA;AACF,KAAC,CAAC,CAAC,CAAA;AACL,GAAC,EAAE,CAAC3B,gBAAgB,CAAC,CAAC,CAAA;AAEtB8B,EAAAA,eAAe,CAAC,MAAM;AACpB;AACAxF,IAAAA,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,EAAI,CAAA;GACjB,EAAE,EAAE,CAAC,CAAA;AACN;AACF;AACA;AACA;AACEf,EAAAA,iBAAiB,CAAC,MAAM;AACtBe,IAAAA,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,EAAI,CAAA;GACjB,EAAE,CAAC4C,QAAQ,EAAEhD,OAAO,KAAPA,IAAAA,IAAAA,OAAO,wBAAAF,kBAAA,GAAPE,OAAO,CAAE6F,SAAS,cAAA/F,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAA,CAAoB4E,MAAM,CAAC,CAAC,CAAA;AAC1CrF,EAAAA,iBAAiB,CAAC,MAAM;AACtBe,IAAAA,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAG,IAAI,CAAC,CAAA;GACrB,EAAE,CAACJ,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAE8F,SAAS,CAAC,CAAC,CAAA;AAExBF,EAAAA,eAAe,CAAC,MAAM;IACpB,IAAIG,gBAAgB,GAAG,IAAI,CAAA;IAC3B,IAAIC,yBAAyB,GAAG,IAAI,CAAA;AACpC,IAAA,IAAIrE,oBAAoB,KAAK3B,OAAO,CAACiG,SAAS,IAAIzB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,IAAhBA,gBAAgB,CAAE0B,OAAO,EAAE;AAC3EpB,MAAAA,cAAc,EAAE,CAAA;MAChBvB,aAAa,CAAC,KAAK,CAAC,CAAA;MACpBwC,gBAAgB,GAAGI,UAAU,CAAC,MAAM;QAClC1C,gBAAgB,CAAC,IAAI,CAAC,CAAA;OACvB,EAAE,GAAG,CAAC,CAAA;MACPuC,yBAAyB,GAAGG,UAAU,CAAC,MAAM;QAC3CvE,uBAAuB,CAAC,CAAC,CAAC,CAAA;AAC1BiB,QAAAA,oBAAoB,KAApBA,IAAAA,IAAAA,oBAAoB,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAoB,EAAI,CAAA;OACzB,EAAE,IAAI,CAAC,CAAA;AACV,KAAC,MAAM;MACLY,gBAAgB,CAAC,KAAK,CAAC,CAAA;AACzB,KAAA;AACA,IAAA,OAAO,MAAM;MACX2C,YAAY,CAACL,gBAAgB,CAAC,CAAA;MAC9BK,YAAY,CAACJ,yBAAyB,CAAC,CAAA;KACxC,CAAA;AACH,GAAC,EAAE,CAACrE,oBAAoB,EAAE6C,gBAAgB,CAAC0B,OAAO,EAAElG,OAAO,CAACiG,SAAS,CAAC,CAAC,CAAA;AAEvEL,EAAAA,eAAe,CAAC,MAAM;IACpB,IAAIG,gBAAgB,GAAG,IAAI,CAAA;IAC3B,IAAIM,sBAAsB,GAAG,IAAI,CAAA;AACjC,IAAA,IAAIxE,iBAAiB,KAAK7B,OAAO,CAACiG,SAAS,IAAIzB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,IAAhBA,gBAAgB,CAAE0B,OAAO,EAAE;AACxEpB,MAAAA,cAAc,EAAE,CAAA;MAChBrB,gBAAgB,CAAC,KAAK,CAAC,CAAA;MACvBsC,gBAAgB,GAAGI,UAAU,CAAC,MAAM;QAClC5C,aAAa,CAAC,IAAI,CAAC,CAAA;OACpB,EAAE,GAAG,CAAC,CAAA;MACP8C,sBAAsB,GAAGF,UAAU,CAAC,MAAM;QACxCrE,oBAAoB,CAAC,CAAC,CAAC,CAAA;AACvBc,QAAAA,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAiB,EAAI,CAAA;OACtB,EAAE,IAAI,CAAC,CAAA;AACV,KAAC,MAAM;MACLW,aAAa,CAAC,KAAK,CAAC,CAAA;AACtB,KAAA;AACA,IAAA,OAAO,MAAM;MACX6C,YAAY,CAACL,gBAAgB,CAAC,CAAA;MAC9BK,YAAY,CAACC,sBAAsB,CAAC,CAAA;KACrC,CAAA;AACH,GAAC,EAAE,CAACxE,iBAAiB,EAAE2C,gBAAgB,CAAC0B,OAAO,EAAElG,OAAO,CAACiG,SAAS,EAAErD,iBAAiB,CAAC,CAAC,CAAA;AACvF,EAAA,MAAM0D,eAAe,GAAGC,OAAO,CAAC,MAAM;AACpC,IAAA,OAAOhG,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAG;MACrBP,OAAO;MACPE,QAAQ;AACRC,MAAAA,WAAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACH,OAAO,EAAEO,aAAa,CAAC,CAAC,CAAA;AAC5B,EAAA,MAAMiG,uBAAuB,GAAGD,OAAO,CAAC,MAAM;AAC5C,IAAA,IAAIlG,qBAAqB,EAAE;AACzB,MAAA,OAAOA,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAArBA,qBAAqB,CAAG;AAAEL,QAAAA,OAAO,EAAEA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AACtD,KAAA;AACA,IAAA,OAAO,IAAI,CAAA;AACb,GAAC,EAAE,CAACA,OAAO,EAAEK,qBAAqB,CAAC,CAAC,CAAA;AAEpC,EAAA,IAAIiG,eAAe,EAAE;IACnB,oBACEG,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE;AACA;MACA,oBAAoB1G,EAAAA,OAAO,CAACiG,SAAU;MACtC,oBAAoBjG,EAAAA,OAAO,CAAC2G,SAAU;AACtCtB,MAAAA,GAAG,EAAEb,gBAAiB;AACtBoC,MAAAA,SAAS,EAAEC,YAAY,CAAC,CACtB,2CAA2C,EAC3CvD,UAAU,GAAG,4BAA4B,GAAG,EAAE,EAC9CE,aAAa,GAAG,+BAA+B,GAAG,EAAE,CACrD,CAAA;AAAE,KAAA;AAID;AACAvD,IAAAA,YAAY,KAAKuG,uBAAuB,iBACtCC,cAAA,CAAAC,aAAA,CAACI,aAAa,EACZL,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAACK,KAAK,EAAA;MAACC,IAAI,EAAEC,eAAe,CAACC,SAAU;MAACC,KAAK,EAAEC,WAAW,CAACC,cAAAA;AAAe,KAAA,EACvEC,MAAM,CAACtH,OAAO,CAAC2G,SAAS,EAAE,eAAe,EAAE;AAC1CY,MAAAA,MAAM,EAAE9G,UAAAA;AACV,KAAC,CAAC,CACI,CAEX,CAAC,EAEH6F,eAAe,CACZ,CAAA;AAEV,GAAA;EAEA,IAAItD,QAAQ,IAAIhD,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAD,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAAPC,OAAO,CAAEwH,aAAa,MAAAzH,IAAAA,IAAAA,qBAAA,eAAtBA,qBAAA,CAAA0H,IAAA,CAAAzH,OAAO,CAAmB,EAAE;IAC1C,OAAO,CAAAM,eAAe,KAAfA,IAAAA,IAAAA,eAAe,uBAAfA,eAAe,EAAI,kBACxBmG,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAiB,QAAA,EAEIjD,IAAAA,EAAAA,2BAA2B,iBACzBgC,cAAA,CAAAC,aAAA,CAACiB,oBAAoB,EAAA;AACnBC,MAAAA,cAAc,EAAElE,eAAgB;AAChCmE,MAAAA,UAAU,EAAE7D,iBAAkB;AAC9BvB,MAAAA,qBAAqB,EAAEA,qBAAsB;MAC7CqF,eAAe,EAAGC,IAAI,IAAK;AACzB,QAAA,IAAIA,IAAI,EAAE;AACRlE,UAAAA,iBAAiB,CAAC,CAAC,GAAGD,cAAc,EAAEmE,IAAI,CAAC,CAAC,CAAA;AAC9C,SAAA;QACApE,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtBQ,eAAe,CAAC4D,IAAI,CAAC,CAAA;QACrB9D,oBAAoB,CAAC,IAAI,CAAC,CAAA;OAC1B;MACF+D,iBAAiB,EAAEA,MAAM;QACvB/D,oBAAoB,CAAC,IAAI,CAAC,CAAA;OAC1B;MACFgE,YAAY,EAAGC,KAAK,IAAK;QACvB7D,wBAAwB,CAAC6D,KAAK,CAAC,CAAA;OAC/B;AACFC,MAAAA,cAAc,EAAE7C,WAAY;AAC5BlE,MAAAA,eAAe,EAAED,mBAAoB;AACrCI,MAAAA,kBAAkB,EAAED,sBAAAA;AAAuB,KAAA,CAE9C,eAEHmF,cAAA,CAAAC,aAAA,CAAC0B,YAAY,EAAA;MACXC,MAAM,EAAA,IAAA;AACNC,MAAAA,OAAO,EAAE5G,mBAAoB;AAC7BmD,MAAAA,QAAQ,EAAEA,QAAS;AACnBQ,MAAAA,GAAG,EAAEf,mBAAoB;AACzBiE,MAAAA,mBAAmB,EAAErE,YAAa;AAClCnD,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCf,MAAAA,OAAO,EAAEA,OAAQ;MACjBwI,aAAa,EAAEA,MAAM;AAAA,QAAA,IAAAC,qBAAA,CAAA;AACnB/G,QAAAA,mBAAmB,aAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA+G,qBAAA,GAAnB/G,mBAAmB,CAAEgH,WAAW,MAAAD,IAAAA,IAAAA,qBAAA,uBAAhCA,qBAAA,CAAAhB,IAAA,CAAA/F,mBAAmB,CAAiB,CAAA;OACpC;MACFiH,eAAe,EAAEC,KAAA,IAA6C;AAAA,QAAA,IAAAC,sBAAA,CAAA;QAAA,IAA5C;UAAE5C,SAAS;UAAEjG,OAAO;AAAE8I,UAAAA,eAAAA;AAAgB,SAAC,GAAAF,KAAA,CAAA;AACvD7G,QAAAA,aAAa,CAAC;UACZkE,SAAS;UACTjG,OAAO;UACP4D,cAAc;AACdkF,UAAAA,eAAAA;AACF,SAAC,CAAC,CAAA;QACF7F,WAAW,CAAC,KAAK,CAAC,CAAA;AAClBvB,QAAAA,mBAAmB,aAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAmH,sBAAA,GAAnBnH,mBAAmB,CAAEqH,SAAS,MAAAF,IAAAA,IAAAA,sBAAA,uBAA9BA,sBAAA,CAAApB,IAAA,CAAA/F,mBAAmB,CAAe,CAAA;OAClC;MACFsH,YAAY,EAAEA,MAAM;AAAA,QAAA,IAAAC,sBAAA,CAAA;QAClBtF,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtBE,iBAAiB,CAAC,EAAE,CAAC,CAAA;QACrBE,mBAAmB,CAAC,EAAE,CAAC,CAAA;QACvBM,wBAAwB,CAAC,EAAE,CAAC,CAAA;QAC5BpB,WAAW,CAAC,KAAK,CAAC,CAAA;AAClBvB,QAAAA,mBAAmB,aAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAuH,sBAAA,GAAnBvH,mBAAmB,CAAEqH,SAAS,MAAAE,IAAAA,IAAAA,sBAAA,uBAA9BA,sBAAA,CAAAxB,IAAA,CAAA/F,mBAAmB,CAAe,CAAA;OAClC;MACFwH,eAAe,EAAGnB,IAAI,IAAK;AACzB,QAAA,IAAI,CAAA7D,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAErD,MAAM,OAAKkH,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAElH,MAAM,CAAE,EAAA;UACzCsD,eAAe,CAAC,IAAI,CAAC,CAAA;UACrBR,kBAAkB,CAAC,EAAE,CAAC,CAAA;AACxB,SAAA;OACA;MACFwF,qBAAqB,EAAGC,WAAW,IAAK;QACtCzF,kBAAkB,CAACyF,WAAW,CAAC,CAAA;OAC/B;MACFC,yBAAyB,EAAGC,OAAO,IAAK;QACtCvF,mBAAmB,CAACuF,OAAO,CAAC,CAAA;OAC5B;MACFC,SAAS,EAAGC,CAAC,IAAK;AAChB,QAAA,IAAI/E,2BAA2B,IAAI,CAAAL,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAqB,CAAEM,MAAM,IAAG,CAAC,KAC7D8E,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACC,KAAK,IAAIrE,WAAW,IAAKkE,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACE,OAAO,IAAIJ,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACG,SAAS,CAAC,EACpI;UACA5F,oBAAoB,CAACuF,CAAC,CAAC,CAAA;AACvB,UAAA,OAAO,IAAI,CAAA;AACb,SAAA;AACA,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;AAAE,KAAA,CACF,CAEL,CAAA;AACH,GAAA;EAEA,oBACE/C,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEE,IAAAA,SAAS,EAAEC,YAAY,CAAC,CACtB,2CAA2C,EAC3CvD,UAAU,GAAG,4BAA4B,GAAG,EAAE,EAC9CE,aAAa,GAAG,+BAA+B,GAAG,EAAE,CACrD,CAAE;AACHsG,IAAAA,KAAK,EAAE;AAAEC,MAAAA,YAAY,EAAE,KAAA;KAAQ;IAC/B,oBAAoB/J,EAAAA,OAAO,CAACiG,SAAU;IACtC,oBAAoBjG,EAAAA,OAAO,CAAC2G,SAAU;AACtCtB,IAAAA,GAAG,EAAEb,gBAAAA;AAAiB,GAAA,EAIpBvE,YAAY,KAAKuG,uBAAuB,iBACtCC,cAAA,CAAAC,aAAA,CAACI,aAAa,EACZL,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAACK,KAAK,EAAA;IAACC,IAAI,EAAEC,eAAe,CAACC,SAAU;IAACC,KAAK,EAAEC,WAAW,CAACC,cAAAA;AAAe,GAAA,EACvEC,MAAM,CAACtH,OAAO,CAAC2G,SAAS,EAAE,eAAe,EAAE;AAC1CY,IAAAA,MAAM,EAAE9G,UAAAA;AACV,GAAC,CAAC,CACI,CAEX,CAAC,EAIF,CAAAD,oBAAoB,KAAA,IAAA,IAApBA,oBAAoB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,oBAAoB,EAAI,kBACtBiG,cAAA,CAAAC,aAAA,CAACsD,cAAc,EAAA;AACbpD,IAAAA,SAAS,EAAC,uCAAuC;AACjD/F,IAAAA,MAAM,EAAEA,MAAO;AACfmB,IAAAA,eAAe,EAAEA,eAAgB;AACjCsG,IAAAA,OAAO,EAAE5G,mBAAoB;AAC7B1B,IAAAA,OAAO,EAAEA,OAAQ;IACjB6E,QAAQ,EAAE,CAAC/D,QAAS;AACpBZ,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,WAAW,EAAEA,WAAY;AACzBgC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCF,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CI,IAAAA,YAAY,EAAEA,YAAa;AAC3BD,IAAAA,cAAc,EAAEA,cAAe;AAC/BW,IAAAA,QAAQ,EAAEC,WAAY;AACtBC,IAAAA,UAAU,EAAEC,aAAc;AAC1BC,IAAAA,cAAc,EAAEC,iBAAkB;AAClCb,IAAAA,aAAa,EAAEA,aAAc;AAC7BJ,IAAAA,cAAc,EAAEA,cAAe;AAC/BG,IAAAA,eAAe,EAAEA,eAAgB;AACjCG,IAAAA,eAAe,EAAEA,eAAgB;AACjCC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCsH,IAAAA,qBAAqB,EAAE7J,YAAAA;AAAa,GAAA,CAEvC,EAID8C,UAAU,iBACRuD,cAAA,CAAAC,aAAA,CAACwD,aAAkB,EAAA;AACjBlK,IAAAA,OAAO,EAAEA,OAAQ;AACjBmK,IAAAA,QAAQ,EAAEA,MAAMhH,aAAa,CAAC,KAAK,CAAA;AAAE,GAAA,CAExC,EAGDC,cAAc,iBACZqD,cAAA,CAAAC,aAAA,CAAC0D,UAAU,EAAA;AACTpK,IAAAA,OAAO,EAAEA,OAAuB;AAChCmK,IAAAA,QAAQ,EAAEA,MAAM9G,iBAAiB,CAAC,KAAK,CAAA;AAAE,GAAA,CAE5C,CAEC,CAAA;AAEV;;;;"}
|
|
@@ -1,58 +1,60 @@
|
|
|
1
1
|
import React__default, { useContext, useState, useEffect } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { D as isDisabledBecauseFrozen, E as isDisabledBecauseMuted, G as isOperator } from '../../utils-df42b9f9.js';
|
|
3
3
|
import MessageInput from '../../ui/MessageInput.js';
|
|
4
4
|
import QuoteMessageInput from '../../ui/QuoteMessageInput.js';
|
|
5
|
-
import { a as LocalizationContext } from '../../LocalizationContext-
|
|
5
|
+
import { a as LocalizationContext } from '../../LocalizationContext-8781208d.js';
|
|
6
|
+
import { u as useChannelContext } from '../../ChannelProvider-849524b4.js';
|
|
6
7
|
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
7
8
|
import SuggestedMentionList from './SuggestedMentionList.js';
|
|
8
|
-
import { M as MessageInputKeys } from '../../const-
|
|
9
|
-
import { V as VoiceMessageInputWrapper } from '../../VoiceMessageInputWrapper-
|
|
10
|
-
import {
|
|
11
|
-
import { u as useMediaQueryContext } from '../../MediaQueryContext-
|
|
12
|
-
import '../../
|
|
13
|
-
import '
|
|
14
|
-
import '../../
|
|
15
|
-
import '../../index-
|
|
16
|
-
import '../../
|
|
17
|
-
import '../../topics-e985567d.js';
|
|
18
|
-
import '../../index-56249831.js';
|
|
19
|
-
import '../../_rollupPluginBabelHelpers-90ff7fc4.js';
|
|
9
|
+
import { M as MessageInputKeys } from '../../const-035fb030.js';
|
|
10
|
+
import { V as VoiceMessageInputWrapper } from '../../VoiceMessageInputWrapper-be6706b2.js';
|
|
11
|
+
import { useDirtyGetMentions } from '../../Message/hooks/useDirtyGetMentions.js';
|
|
12
|
+
import { u as useMediaQueryContext } from '../../MediaQueryContext-2ef9f34f.js';
|
|
13
|
+
import '../../index-0cfeeaac.js';
|
|
14
|
+
import '../../index-c17b453a.js';
|
|
15
|
+
import '../../topics-df485c66.js';
|
|
16
|
+
import '../../index-e9757459.js';
|
|
17
|
+
import '../../_rollupPluginBabelHelpers-404d1a9c.js';
|
|
20
18
|
import '../../utils/message/getOutgoingMessageState.js';
|
|
21
|
-
import '
|
|
22
|
-
import '
|
|
23
|
-
import '../../uuid-ec51ac4d.js';
|
|
24
|
-
import '@sendbird/chat/message';
|
|
25
|
-
import '../../consts-b6f24cc7.js';
|
|
26
|
-
import '../../resolvedReplyType-d6e22593.js';
|
|
19
|
+
import 'prop-types';
|
|
20
|
+
import '../../const-cf103f8d.js';
|
|
27
21
|
import '../../ui/IconButton.js';
|
|
28
22
|
import '../../ui/Button.js';
|
|
29
|
-
import '../../index-
|
|
30
|
-
import '../../stringSet-
|
|
23
|
+
import '../../index-5a7039da.js';
|
|
24
|
+
import '../../stringSet-f13a0a37.js';
|
|
25
|
+
import '../../index-5d775cdb.js';
|
|
31
26
|
import 'dompurify';
|
|
32
|
-
import '../../consts-
|
|
27
|
+
import '../../consts-d9925dd6.js';
|
|
28
|
+
import '../../consts-52c058a5.js';
|
|
29
|
+
import '../../consts-dbf4e2a7.js';
|
|
33
30
|
import '../../ui/Icon.js';
|
|
34
|
-
import '../../
|
|
35
|
-
import '../../
|
|
36
|
-
import '../../tokenize-c0cf9574.js';
|
|
37
|
-
import '../../index.module-41885c5b.js';
|
|
31
|
+
import '../../tokenize-be306c61.js';
|
|
32
|
+
import '../../index.module-476c67cc.js';
|
|
38
33
|
import '../../ui/ImageRenderer.js';
|
|
34
|
+
import '../../UserProfileContext-3be56f3a.js';
|
|
35
|
+
import '../../compareIds-72c21832.js';
|
|
36
|
+
import '@sendbird/chat/groupChannel';
|
|
37
|
+
import '../../uuid-1b498132.js';
|
|
38
|
+
import '@sendbird/chat/message';
|
|
39
|
+
import '../../consts-f92f7a23.js';
|
|
40
|
+
import '../../resolvedReplyType-8fa44680.js';
|
|
39
41
|
import '../../withSendbird.js';
|
|
40
42
|
import '../../ui/Avatar.js';
|
|
41
|
-
import '../../ThreadProvider-
|
|
43
|
+
import '../../ThreadProvider-9e14db75.js';
|
|
42
44
|
import '../../Thread/context/types.js';
|
|
43
45
|
import '@sendbird/chat';
|
|
44
46
|
import '../../VoicePlayer/useVoicePlayer.js';
|
|
45
|
-
import '../../index-
|
|
47
|
+
import '../../index-d637d23d.js';
|
|
46
48
|
import '../../VoiceRecorder/context.js';
|
|
47
49
|
import '../../ui/Modal.js';
|
|
48
50
|
import 'react-dom';
|
|
49
|
-
import '../../index-
|
|
51
|
+
import '../../index-92d47d85.js';
|
|
50
52
|
import '../../VoiceRecorder/useVoiceRecorder.js';
|
|
51
|
-
import '../../index-
|
|
53
|
+
import '../../index-87a9a309.js';
|
|
52
54
|
import '../../ui/PlaybackTime.js';
|
|
53
55
|
import '../../ui/ProgressBar.js';
|
|
54
56
|
import '../../ui/TextButton.js';
|
|
55
|
-
import '../../color-
|
|
57
|
+
import '../../color-08fea5a1.js';
|
|
56
58
|
|
|
57
59
|
const MessageInputWrapper = (props, ref) => {
|
|
58
60
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageInput.js","sources":["../../../src/modules/Channel/components/MessageInput/index.tsx"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\n\nimport './message-input.scss';\nimport * as utils from '../../context/utils';\n\nimport MessageInput from '../../../../ui/MessageInput';\nimport QuoteMessageInput from '../../../../ui/QuoteMessageInput';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport VoiceMessageInputWrapper from './VoiceMessageInputWrapper';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\nimport { useMediaQueryContext } from '../../../../lib/MediaQueryContext';\n\nexport type MessageInputWrapperProps = {\n value?: string;\n disabled?: boolean;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n};\n\nconst MessageInputWrapper = (\n props: MessageInputWrapperProps,\n ref: React.MutableRefObject<any>,\n): JSX.Element => {\n const {\n value,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const propDisabled = props.disabled;\n const {\n currentGroupChannel,\n initialized,\n quoteMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n setQuoteMessage,\n messageInputRef,\n renderUserMentionItem,\n } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const { isMobile } = useMediaQueryContext();\n const channel = currentGroupChannel;\n\n const {\n isOnline,\n isMentionEnabled,\n userMention,\n isVoiceMessageEnabled,\n logger,\n } = globalStore.config;\n const maxUserMentionCount = userMention?.maxMentionCount || 10;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || 15;\n\n const { stringSet } = useContext(LocalizationContext);\n const [mentionNickname, setMentionNickname] = useState('');\n // todo: set type\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);\n const disabled = propDisabled\n || !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n const isOperator = utils.isOperator(channel);\n const isBroadcast = channel?.isBroadcast;\n\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !utils.isDisabledBecauseFrozen(channel)\n && !utils.isDisabledBecauseMuted(channel)\n && !isBroadcast;\n\n // Reset when channel changes\n useEffect(() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setSelectedUser(null);\n setMentionSuggestedUsers([]);\n setMessageInputEvent(null);\n setShowVoiceMessageInput(false);\n }, [channel?.url]);\n\n const mentionNodes = useDirtyGetMentions({ ref: ref || messageInputRef }, { logger });\n const ableMention = mentionNodes?.length < maxUserMentionCount;\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n // other conditions\n return (\n <div className={`sendbird-message-input-wrapper${showVoiceMessageInput ? '--voice-message' : ''}`}>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n {quoteMessage && (\n <div className=\"sendbird-message-input-wrapper__quote-message-input\">\n <QuoteMessageInput\n replyingMessage={quoteMessage}\n onClose={() => setQuoteMessage(null)}\n />\n </div>\n )}\n {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={channel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, quoteMessage);\n setQuoteMessage(null);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-message-input-wrapper__message-input\"\n value={value}\n channelUrl={channel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n setMentionedUsers={setMentionedUsers}\n channel={channel}\n placeholder={\n (quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER)\n || (utils.isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (utils.isDisabledBecauseMuted(channel) && (\n isMobile ? stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT : stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED\n ))\n }\n ref={ref || messageInputRef}\n disabled={disabled}\n renderFileUploadIcon={renderFileUploadIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n onStartTyping={() => {\n channel?.startTyping();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message,\n quoteMessage,\n mentionedUsers,\n mentionTemplate,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n setQuoteMessage(null);\n channel?.endTyping?.();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, quoteMessage);\n setQuoteMessage(null);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n )\n }\n </div>\n );\n};\n\nexport default React.forwardRef(MessageInputWrapper);\n"],"names":["MessageInputWrapper","props","ref","value","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","propDisabled","disabled","currentGroupChannel","initialized","quoteMessage","sendMessage","sendFileMessage","sendVoiceMessage","setQuoteMessage","messageInputRef","renderUserMentionItem","useChannelContext","globalStore","useSendbirdStateContext","isMobile","useMediaQueryContext","channel","isOnline","isMentionEnabled","userMention","isVoiceMessageEnabled","logger","config","maxUserMentionCount","maxMentionCount","maxUserSuggestionCount","maxSuggestionCount","stringSet","useContext","LocalizationContext","mentionNickname","setMentionNickname","useState","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","messageInputEvent","setMessageInputEvent","showVoiceMessageInput","setShowVoiceMessageInput","utils","isOperator","isBroadcast","displaySuggestedMentionList","length","useEffect","url","mentionNodes","useDirtyGetMentions","ableMention","filter","_ref","userId","i","indexOf","splice","React","createElement","className","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","user","onFocusItemChange","onFetchUsers","users","ableAddMention","QuoteMessageInput","replyingMessage","onClose","VoiceMessageInputWrapper","onSubmitClick","recordedFile","duration","onCancelClick","MessageInput","channelUrl","mentionSelectedUser","onVoiceMessageIconClick","placeholder","MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","MESSAGE_INPUT__PLACE_HOLDER__MUTED","onStartTyping","startTyping","onSendMessage","_ref2","_channel$endTyping","message","mentionTemplate","endTyping","call","onFileUpload","file","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAMA,mBAAmB,GAAGA,CAC1BC,KAA+B,EAC/BC,GAAgC,KAChB;EAChB,MAAM;IACJC,KAAK;IACLC,oBAAoB;IACpBC,sBAAsB;AACtBC,IAAAA,qBAAAA;AACF,GAAC,GAAGL,KAAK,CAAA;AACT,EAAA,MAAMM,YAAY,GAAGN,KAAK,CAACO,QAAQ,CAAA;EACnC,MAAM;IACJC,mBAAmB;IACnBC,WAAW;IACXC,YAAY;IACZC,WAAW;IACXC,eAAe;IACfC,gBAAgB;IAChBC,eAAe;IACfC,eAAe;AACfC,IAAAA,qBAAAA;GACD,GAAGC,iBAAiB,EAAE,CAAA;EACvB,MAAMC,WAAW,GAAGC,uBAAuB,EAAE,CAAA;EAC7C,MAAM;AAAEC,IAAAA,QAAAA;GAAU,GAAGC,oBAAoB,EAAE,CAAA;EAC3C,MAAMC,OAAO,GAAGd,mBAAmB,CAAA;EAEnC,MAAM;IACJe,QAAQ;IACRC,gBAAgB;IAChBC,WAAW;IACXC,qBAAqB;AACrBC,IAAAA,MAAAA;GACD,GAAGT,WAAW,CAACU,MAAM,CAAA;EACtB,MAAMC,mBAAmB,GAAG,CAAAJ,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEK,eAAe,KAAI,EAAE,CAAA;EAC9D,MAAMC,sBAAsB,GAAG,CAAAN,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEO,kBAAkB,KAAI,EAAE,CAAA;EAEpE,MAAM;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAGC,UAAU,CAACC,mBAAmB,CAAC,CAAA;EACrD,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGC,QAAQ,CAAC,EAAE,CAAC,CAAA;AAC1D;EACA,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGF,QAAQ,CAAC,EAAE,CAAC,CAAA;EACxD,MAAM,CAACG,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGJ,QAAQ,CAAC,EAAE,CAAC,CAAA;EAC5D,MAAM,CAACK,YAAY,EAAEC,eAAe,CAAC,GAAGN,QAAQ,CAAC,IAAI,CAAC,CAAA;EACtD,MAAM,CAACO,qBAAqB,EAAEC,wBAAwB,CAAC,GAAGR,QAAQ,CAAC,EAAE,CAAC,CAAA;EACtE,MAAM,CAACS,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGV,QAAQ,CAAC,IAAI,CAAC,CAAA;EAChE,MAAM,CAACW,qBAAqB,EAAEC,wBAAwB,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC,CAAA;EACzE,MAAM/B,QAAQ,GAAGD,YAAY,IACxB,CAACG,WAAW,IACZ0C,uBAA6B,CAAC7B,OAAO,CAAC,IACtC6B,sBAA4B,CAAC7B,OAAO,CAAC,IACrC,CAACC,QAAQ,CAAA;AACd,EAAA,MAAM6B,YAAU,GAAGD,UAAgB,CAAC7B,OAAO,CAAC,CAAA;EAC5C,MAAM+B,WAAW,GAAG/B,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE+B,WAAW,CAAA;AAExC,EAAA,MAAMC,2BAA2B,GAAG/B,QAAQ,IACvCC,gBAAgB,IAChBY,eAAe,CAACmB,MAAM,GAAG,CAAC,IAC1B,CAACJ,uBAA6B,CAAC7B,OAAO,CAAC,IACvC,CAAC6B,sBAA4B,CAAC7B,OAAO,CAAC,IACtC,CAAC+B,WAAW,CAAA;;AAEjB;AACAG,EAAAA,SAAS,CAAC,MAAM;IACdnB,kBAAkB,CAAC,EAAE,CAAC,CAAA;IACtBG,iBAAiB,CAAC,EAAE,CAAC,CAAA;IACrBE,mBAAmB,CAAC,EAAE,CAAC,CAAA;IACvBE,eAAe,CAAC,IAAI,CAAC,CAAA;IACrBE,wBAAwB,CAAC,EAAE,CAAC,CAAA;IAC5BE,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC1BE,wBAAwB,CAAC,KAAK,CAAC,CAAA;GAChC,EAAE,CAAC5B,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEmC,GAAG,CAAC,CAAC,CAAA;EAElB,MAAMC,YAAY,GAAGC,mBAAmB,CAAC;IAAE1D,GAAG,EAAEA,GAAG,IAAIc,eAAAA;AAAgB,GAAC,EAAE;AAAEY,IAAAA,MAAAA;AAAO,GAAC,CAAC,CAAA;EACrF,MAAMiC,WAAW,GAAG,CAAAF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEH,MAAM,IAAG1B,mBAAmB,CAAA;AAE9D2B,EAAAA,SAAS,CAAC,MAAM;AACdhB,IAAAA,iBAAiB,CAACD,cAAc,CAACsB,MAAM,CAACC,IAAA,IAAgB;MAAA,IAAf;AAAEC,QAAAA,MAAAA;AAAO,OAAC,GAAAD,IAAA,CAAA;AACjD,MAAA,MAAME,CAAC,GAAGvB,gBAAgB,CAACwB,OAAO,CAACF,MAAM,CAAC,CAAA;MAC1C,IAAIC,CAAC,GAAG,CAAC,EAAE;AACT,QAAA,OAAO,KAAK,CAAA;AACd,OAAC,MAAM;AACLvB,QAAAA,gBAAgB,CAACyB,MAAM,CAACF,CAAC,EAAE,CAAC,CAAC,CAAA;AAC7B,QAAA,OAAO,IAAI,CAAA;AACb,OAAA;AACF,KAAC,CAAC,CAAC,CAAA;AACL,GAAC,EAAE,CAACvB,gBAAgB,CAAC,CAAC,CAAA;;AAEtB;AACA,EAAA,IAAIY,WAAW,IAAI,CAACD,YAAU,EAAE;AAC9B,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AACA;EACA,oBACEe,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAG,CAAgCpB,8BAAAA,EAAAA,qBAAqB,GAAG,iBAAiB,GAAG,EAAG,CAAA,CAAA;AAAE,GAAA,EAE9FK,2BAA2B,iBACzBa,cAAA,CAAAC,aAAA,CAACE,oBAAoB,EAAA;AACnBC,IAAAA,cAAc,EAAEnC,eAAgB;AAChCoC,IAAAA,UAAU,EAAEzB,iBAAkB;AAC9B/B,IAAAA,qBAAqB,EAAEA,qBAAsB;IAC7CyD,eAAe,EAAGC,IAAI,IAAK;AACzB,MAAA,IAAIA,IAAI,EAAE;AACRlC,QAAAA,iBAAiB,CAAC,CAAC,GAAGD,cAAc,EAAEmC,IAAI,CAAC,CAAC,CAAA;AAC9C,OAAA;MACArC,kBAAkB,CAAC,EAAE,CAAC,CAAA;MACtBO,eAAe,CAAC8B,IAAI,CAAC,CAAA;MACrB1B,oBAAoB,CAAC,IAAI,CAAC,CAAA;KAC1B;IACF2B,iBAAiB,EAAEA,MAAM;MACvB3B,oBAAoB,CAAC,IAAI,CAAC,CAAA;KAC1B;IACF4B,YAAY,EAAGC,KAAK,IAAK;MACvB/B,wBAAwB,CAAC+B,KAAK,CAAC,CAAA;KAC/B;AACFC,IAAAA,cAAc,EAAElB,WAAY;AAC5B9B,IAAAA,eAAe,EAAED,mBAAoB;AACrCG,IAAAA,kBAAkB,EAAED,sBAAAA;AAAuB,GAAA,CAE9C,EAEFrB,YAAY,iBACXyD,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,qDAAA;AAAqD,GAAA,eAClEF,cAAA,CAAAC,aAAA,CAACW,iBAAiB,EAAA;AAChBC,IAAAA,eAAe,EAAEtE,YAAa;AAC9BuE,IAAAA,OAAO,EAAEA,MAAMnE,eAAe,CAAC,IAAI,CAAA;GACnC,CAAA,CAEL,EAECmC,qBAAqB,gBAEjBkB,cAAA,CAAAC,aAAA,CAACc,wBAAwB,EAAA;AACvB5D,IAAAA,OAAO,EAAEA,OAAQ;AACjB6D,IAAAA,aAAa,EAAEA,CAACC,YAAY,EAAEC,QAAQ,KAAK;AACzCxE,MAAAA,gBAAgB,CAACuE,YAAY,EAAEC,QAAQ,EAAE3E,YAAY,CAAC,CAAA;MACtDI,eAAe,CAAC,IAAI,CAAC,CAAA;MACrBoC,wBAAwB,CAAC,KAAK,CAAC,CAAA;KAC/B;IACFoC,aAAa,EAAEA,MAAM;MACnBpC,wBAAwB,CAAC,KAAK,CAAC,CAAA;AACjC,KAAA;AAAE,GAAA,CACF,gBAGFiB,cAAA,CAAAC,aAAA,CAACmB,YAAY,EAAA;AACXlB,IAAAA,SAAS,EAAC,+CAA+C;AACzDnE,IAAAA,KAAK,EAAEA,KAAM;AACbsF,IAAAA,UAAU,EAAElE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEmC,GAAI;AACzBgC,IAAAA,mBAAmB,EAAE9C,YAAa;AAClCnB,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCE,IAAAA,qBAAqB,EAAEA,qBAAsB;IAC7CgE,uBAAuB,EAAEA,MAAM;MAC7BxC,wBAAwB,CAAC,IAAI,CAAC,CAAA;KAC9B;AACFV,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrClB,IAAAA,OAAO,EAAEA,OAAQ;AACjBqE,IAAAA,WAAW,EACRjF,YAAY,IAAIuB,SAAS,CAAC2D,wCAAwC,IAC/DzC,uBAA6B,CAAC7B,OAAO,CAAC,IAAIW,SAAS,CAAC4D,qCAAsC,IAC1F1C,sBAA4B,CAAC7B,OAAO,CAAC,KACvCF,QAAQ,GAAGa,SAAS,CAAC6D,wCAAwC,GAAG7D,SAAS,CAAC8D,kCAAkC,CAE/G;IACD9F,GAAG,EAAEA,GAAG,IAAIc,eAAgB;AAC5BR,IAAAA,QAAQ,EAAEA,QAAS;AACnBJ,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CE,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CD,IAAAA,sBAAsB,EAAEA,sBAAuB;IAC/C4F,aAAa,EAAEA,MAAM;AACnB1E,MAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAE2E,WAAW,EAAE,CAAA;KACtB;IACFC,aAAa,EAAEC,KAAA,IAAkC;AAAA,MAAA,IAAAC,kBAAA,CAAA;MAAA,IAAjC;QAAEC,OAAO;AAAEC,QAAAA,eAAAA;AAAgB,OAAC,GAAAH,KAAA,CAAA;AAC1CxF,MAAAA,WAAW,CAAC;QACV0F,OAAO;QACP3F,YAAY;QACZ6B,cAAc;AACd+D,QAAAA,eAAAA;AACF,OAAC,CAAC,CAAA;MACFjE,kBAAkB,CAAC,EAAE,CAAC,CAAA;MACtBG,iBAAiB,CAAC,EAAE,CAAC,CAAA;MACrB1B,eAAe,CAAC,IAAI,CAAC,CAAA;AACrBQ,MAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA8E,kBAAA,GAAP9E,OAAO,CAAEiF,SAAS,MAAAH,IAAAA,IAAAA,kBAAA,uBAAlBA,kBAAA,CAAAI,IAAA,CAAAlF,OAAO,CAAe,CAAA;KACtB;IACFmF,YAAY,EAAGC,IAAI,IAAK;AACtB9F,MAAAA,eAAe,CAAC8F,IAAI,EAAEhG,YAAY,CAAC,CAAA;MACnCI,eAAe,CAAC,IAAI,CAAC,CAAA;KACrB;IACF6F,eAAe,EAAGjC,IAAI,IAAK;AACzB,MAAA,IAAI,CAAA/B,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEoB,MAAM,OAAKW,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEX,MAAM,CAAE,EAAA;QACzCnB,eAAe,CAAC,IAAI,CAAC,CAAA;QACrBP,kBAAkB,CAAC,EAAE,CAAC,CAAA;AACxB,OAAA;KACA;IACFuE,qBAAqB,EAAGC,WAAW,IAAK;MACtCxE,kBAAkB,CAACwE,WAAW,CAAC,CAAA;KAC/B;IACFC,yBAAyB,EAAGC,OAAO,IAAK;MACtCrE,mBAAmB,CAACqE,OAAO,CAAC,CAAA;KAC5B;IACFC,SAAS,EAAGC,CAAC,IAAK;AAChB,MAAA,IAAI3D,2BAA2B,IAAI,CAAAT,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAqB,CAAEU,MAAM,IAAG,CAAC,KAC7D0D,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACC,KAAK,IAAIxD,WAAW,IAAKqD,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACE,OAAO,IAAIJ,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACG,SAAS,CAAC,EACpI;QACAtE,oBAAoB,CAACiE,CAAC,CAAC,CAAA;AACvB,QAAA,OAAO,IAAI,CAAA;AACb,OAAA;AACA,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AAAE,GAAA,CAEL,CAED,CAAA;AAEV,CAAC,CAAA;AAED,4BAAA,aAAe9C,cAAK,CAACoD,UAAU,CAACxH,mBAAmB,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"MessageInput.js","sources":["../../../src/modules/Channel/components/MessageInput/index.tsx"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\n\nimport './message-input.scss';\nimport * as utils from '../../context/utils';\n\nimport MessageInput from '../../../../ui/MessageInput';\nimport QuoteMessageInput from '../../../../ui/QuoteMessageInput';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport VoiceMessageInputWrapper from './VoiceMessageInputWrapper';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\nimport { useMediaQueryContext } from '../../../../lib/MediaQueryContext';\n\nexport type MessageInputWrapperProps = {\n value?: string;\n disabled?: boolean;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n};\n\nconst MessageInputWrapper = (\n props: MessageInputWrapperProps,\n ref: React.MutableRefObject<any>,\n): JSX.Element => {\n const {\n value,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const propDisabled = props.disabled;\n const {\n currentGroupChannel,\n initialized,\n quoteMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n setQuoteMessage,\n messageInputRef,\n renderUserMentionItem,\n } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const { isMobile } = useMediaQueryContext();\n const channel = currentGroupChannel;\n\n const {\n isOnline,\n isMentionEnabled,\n userMention,\n isVoiceMessageEnabled,\n logger,\n } = globalStore.config;\n const maxUserMentionCount = userMention?.maxMentionCount || 10;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || 15;\n\n const { stringSet } = useContext(LocalizationContext);\n const [mentionNickname, setMentionNickname] = useState('');\n // todo: set type\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);\n const disabled = propDisabled\n || !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n const isOperator = utils.isOperator(channel);\n const isBroadcast = channel?.isBroadcast;\n\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !utils.isDisabledBecauseFrozen(channel)\n && !utils.isDisabledBecauseMuted(channel)\n && !isBroadcast;\n\n // Reset when channel changes\n useEffect(() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setSelectedUser(null);\n setMentionSuggestedUsers([]);\n setMessageInputEvent(null);\n setShowVoiceMessageInput(false);\n }, [channel?.url]);\n\n const mentionNodes = useDirtyGetMentions({ ref: ref || messageInputRef }, { logger });\n const ableMention = mentionNodes?.length < maxUserMentionCount;\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n // other conditions\n return (\n <div className={`sendbird-message-input-wrapper${showVoiceMessageInput ? '--voice-message' : ''}`}>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n {quoteMessage && (\n <div className=\"sendbird-message-input-wrapper__quote-message-input\">\n <QuoteMessageInput\n replyingMessage={quoteMessage}\n onClose={() => setQuoteMessage(null)}\n />\n </div>\n )}\n {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={channel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, quoteMessage);\n setQuoteMessage(null);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-message-input-wrapper__message-input\"\n value={value}\n channelUrl={channel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n setMentionedUsers={setMentionedUsers}\n channel={channel}\n placeholder={\n (quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER)\n || (utils.isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (utils.isDisabledBecauseMuted(channel) && (\n isMobile ? stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT : stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED\n ))\n }\n ref={ref || messageInputRef}\n disabled={disabled}\n renderFileUploadIcon={renderFileUploadIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n onStartTyping={() => {\n channel?.startTyping();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message,\n quoteMessage,\n mentionedUsers,\n mentionTemplate,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n setQuoteMessage(null);\n channel?.endTyping?.();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, quoteMessage);\n setQuoteMessage(null);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n )\n }\n </div>\n );\n};\n\nexport default React.forwardRef(MessageInputWrapper);\n"],"names":["MessageInputWrapper","props","ref","value","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","propDisabled","disabled","currentGroupChannel","initialized","quoteMessage","sendMessage","sendFileMessage","sendVoiceMessage","setQuoteMessage","messageInputRef","renderUserMentionItem","useChannelContext","globalStore","useSendbirdStateContext","isMobile","useMediaQueryContext","channel","isOnline","isMentionEnabled","userMention","isVoiceMessageEnabled","logger","config","maxUserMentionCount","maxMentionCount","maxUserSuggestionCount","maxSuggestionCount","stringSet","useContext","LocalizationContext","mentionNickname","setMentionNickname","useState","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","messageInputEvent","setMessageInputEvent","showVoiceMessageInput","setShowVoiceMessageInput","utils","isOperator","isBroadcast","displaySuggestedMentionList","length","useEffect","url","mentionNodes","useDirtyGetMentions","ableMention","filter","_ref","userId","i","indexOf","splice","React","createElement","className","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","user","onFocusItemChange","onFetchUsers","users","ableAddMention","QuoteMessageInput","replyingMessage","onClose","VoiceMessageInputWrapper","onSubmitClick","recordedFile","duration","onCancelClick","MessageInput","channelUrl","mentionSelectedUser","onVoiceMessageIconClick","placeholder","MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","MESSAGE_INPUT__PLACE_HOLDER__MUTED","onStartTyping","startTyping","onSendMessage","_ref2","_channel$endTyping","message","mentionTemplate","endTyping","call","onFileUpload","file","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
|
|
@@ -1,70 +1,73 @@
|
|
|
1
1
|
import React__default, { useState, useEffect } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-
|
|
2
|
+
import { u as useChannelContext } from '../../ChannelProvider-849524b4.js';
|
|
3
|
+
import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-ef60ce9f.js';
|
|
4
4
|
import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
|
|
5
5
|
import Message from './Message.js';
|
|
6
|
-
import {
|
|
6
|
+
import { C as isAboutSame } from '../../utils-df42b9f9.js';
|
|
7
|
+
import { getMessagePartsInfo } from '../utils/getMessagePartsInfo.js';
|
|
7
8
|
import UnreadCount from './UnreadCount.js';
|
|
8
9
|
import FrozenNotification from './FrozenNotification.js';
|
|
9
|
-
import { S as SCROLL_BUFFER } from '../../consts-
|
|
10
|
+
import { S as SCROLL_BUFFER } from '../../consts-f92f7a23.js';
|
|
10
11
|
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
11
12
|
import { MessageProvider } from '../../Message/context.js';
|
|
12
|
-
import { u as useDebounce, a as useHandleOnScrollCallback } from '../../index-
|
|
13
|
-
import '../../UserProfileContext-
|
|
13
|
+
import { u as useDebounce, a as useHandleOnScrollCallback } from '../../index-220222c3.js';
|
|
14
|
+
import '../../UserProfileContext-3be56f3a.js';
|
|
14
15
|
import 'prop-types';
|
|
15
|
-
import '../../const-
|
|
16
|
-
import '../../
|
|
17
|
-
import '../../index-
|
|
18
|
-
import '../../
|
|
19
|
-
import '../../
|
|
20
|
-
import '../../
|
|
16
|
+
import '../../const-cf103f8d.js';
|
|
17
|
+
import '../../_rollupPluginBabelHelpers-404d1a9c.js';
|
|
18
|
+
import '../../index-0cfeeaac.js';
|
|
19
|
+
import '../../index-c17b453a.js';
|
|
20
|
+
import '../../compareIds-72c21832.js';
|
|
21
|
+
import '../../index-e9757459.js';
|
|
21
22
|
import '../../utils/message/getOutgoingMessageState.js';
|
|
22
|
-
import '../../compareIds-2464aab2.js';
|
|
23
23
|
import '@sendbird/chat/groupChannel';
|
|
24
|
-
import '../../uuid-
|
|
24
|
+
import '../../uuid-1b498132.js';
|
|
25
25
|
import '@sendbird/chat/message';
|
|
26
|
-
import '../../
|
|
27
|
-
import '../../
|
|
28
|
-
import '../../
|
|
29
|
-
import '../../
|
|
26
|
+
import '../../topics-df485c66.js';
|
|
27
|
+
import '../../resolvedReplyType-8fa44680.js';
|
|
28
|
+
import '../../LocalizationContext-8781208d.js';
|
|
29
|
+
import '../../stringSet-f13a0a37.js';
|
|
30
|
+
import '../../index-5a7039da.js';
|
|
30
31
|
import '../../ui/Loader.js';
|
|
31
32
|
import './SuggestedMentionList.js';
|
|
32
33
|
import '../../ui/Avatar.js';
|
|
33
34
|
import '../../ui/ImageRenderer.js';
|
|
34
|
-
import '../../const-
|
|
35
|
-
import '../../ThreadProvider-
|
|
35
|
+
import '../../const-035fb030.js';
|
|
36
|
+
import '../../ThreadProvider-9e14db75.js';
|
|
36
37
|
import '../../Thread/context/types.js';
|
|
37
38
|
import '@sendbird/chat';
|
|
38
39
|
import '../../ui/DateSeparator.js';
|
|
39
|
-
import '../../color-
|
|
40
|
+
import '../../color-08fea5a1.js';
|
|
40
41
|
import '../../ui/MessageInput.js';
|
|
41
42
|
import '../../ui/IconButton.js';
|
|
42
43
|
import '../../ui/Button.js';
|
|
44
|
+
import '../../index-5d775cdb.js';
|
|
43
45
|
import 'dompurify';
|
|
44
|
-
import '../../consts-
|
|
45
|
-
import '../../consts-
|
|
46
|
-
import '../../consts-
|
|
47
|
-
import '../../tokenize-
|
|
48
|
-
import '../../index.module-
|
|
46
|
+
import '../../consts-d9925dd6.js';
|
|
47
|
+
import '../../consts-52c058a5.js';
|
|
48
|
+
import '../../consts-dbf4e2a7.js';
|
|
49
|
+
import '../../tokenize-be306c61.js';
|
|
50
|
+
import '../../index.module-476c67cc.js';
|
|
49
51
|
import '../../ui/MessageContent.js';
|
|
50
52
|
import '../../ui/UserProfile.js';
|
|
51
53
|
import '../../sendbirdSelectors.js';
|
|
52
|
-
import '../../utils-
|
|
53
|
-
import '../../index-
|
|
54
|
-
import '../../index-
|
|
54
|
+
import '../../utils-60a2e587.js';
|
|
55
|
+
import '../../index-3e9067b2.js';
|
|
56
|
+
import '../../index-adaead71.js';
|
|
57
|
+
import '../../index-3c8065f1.js';
|
|
55
58
|
import '../../ui/MessageItemMenu.js';
|
|
56
59
|
import '../../ui/ContextMenu.js';
|
|
57
60
|
import 'react-dom';
|
|
58
61
|
import '../../ui/SortByRow.js';
|
|
59
|
-
import '../../types-
|
|
62
|
+
import '../../types-b2ebbd50.js';
|
|
60
63
|
import '../../ui/MessageItemReactionMenu.js';
|
|
61
64
|
import '../../ui/ReactionButton.js';
|
|
62
|
-
import '../../useLongPress-
|
|
63
|
-
import '../../MediaQueryContext-
|
|
65
|
+
import '../../useLongPress-e69367cf.js';
|
|
66
|
+
import '../../MediaQueryContext-2ef9f34f.js';
|
|
64
67
|
import '../../ui/EmojiReactions.js';
|
|
65
68
|
import '../../ui/ReactionBadge.js';
|
|
66
69
|
import '../../ui/BottomSheet.js';
|
|
67
|
-
import '../../index-
|
|
70
|
+
import '../../index-92d47d85.js';
|
|
68
71
|
import '../../ui/UserListItem.js';
|
|
69
72
|
import '../../ui/MutedAvatarOverlay.js';
|
|
70
73
|
import '../../ui/Checkbox.js';
|
|
@@ -72,7 +75,7 @@ import '../../ui/Tooltip.js';
|
|
|
72
75
|
import '../../ui/TooltipWrapper.js';
|
|
73
76
|
import '../../ui/AdminMessage.js';
|
|
74
77
|
import '../../ui/TextMessageItemBody.js';
|
|
75
|
-
import '../../index-
|
|
78
|
+
import '../../index-bbc82f2a.js';
|
|
76
79
|
import '../../ui/MentionLabel.js';
|
|
77
80
|
import '../../ui/LinkLabel.js';
|
|
78
81
|
import '../../ui/FileMessageItemBody.js';
|
|
@@ -81,42 +84,20 @@ import '../../ui/ThumbnailMessageItemBody.js';
|
|
|
81
84
|
import '../../ui/OGMessageItemBody.js';
|
|
82
85
|
import '../../ui/UnknownMessageItemBody.js';
|
|
83
86
|
import '../../ui/QuoteMessage.js';
|
|
84
|
-
import '../../index-
|
|
87
|
+
import '../../index-ceda3633.js';
|
|
85
88
|
import '../../ui/ThreadReplies.js';
|
|
86
89
|
import '../../ui/VoiceMessageItemBody.js';
|
|
87
90
|
import '../../ui/ProgressBar.js';
|
|
88
91
|
import '../../VoicePlayer/useVoicePlayer.js';
|
|
89
|
-
import '../../index-
|
|
92
|
+
import '../../index-d637d23d.js';
|
|
90
93
|
import '../../VoiceRecorder/context.js';
|
|
91
94
|
import '../../ui/Modal.js';
|
|
92
95
|
import '../../withSendbird.js';
|
|
93
96
|
import '../../ui/PlaybackTime.js';
|
|
94
97
|
import './FileViewer.js';
|
|
95
98
|
import './RemoveMessageModal.js';
|
|
96
|
-
import '../../useDirtyGetMentions
|
|
97
|
-
|
|
98
|
-
const getMessagePartsInfo = _ref => {
|
|
99
|
-
let {
|
|
100
|
-
allMessages = [],
|
|
101
|
-
isMessageGroupingEnabled = true,
|
|
102
|
-
currentIndex = 0,
|
|
103
|
-
currentMessage = null,
|
|
104
|
-
currentChannel = null,
|
|
105
|
-
replyType = ''
|
|
106
|
-
} = _ref;
|
|
107
|
-
const previousMessage = allMessages[currentIndex - 1];
|
|
108
|
-
const nextMessage = allMessages[currentIndex + 1];
|
|
109
|
-
const [chainTop, chainBottom] = isMessageGroupingEnabled ? compareMessagesForGrouping(previousMessage, currentMessage, nextMessage, currentChannel, replyType) : [false, false];
|
|
110
|
-
const previousMessageCreatedAt = previousMessage === null || previousMessage === void 0 ? void 0 : previousMessage.createdAt;
|
|
111
|
-
const currentCreatedAt = currentMessage.createdAt;
|
|
112
|
-
// https://stackoverflow.com/a/41855608
|
|
113
|
-
const hasSeparator = !(previousMessageCreatedAt && isSameDay(currentCreatedAt, previousMessageCreatedAt));
|
|
114
|
-
return {
|
|
115
|
-
chainTop,
|
|
116
|
-
chainBottom,
|
|
117
|
-
hasSeparator
|
|
118
|
-
};
|
|
119
|
-
};
|
|
99
|
+
import '../../Message/hooks/useDirtyGetMentions.js';
|
|
100
|
+
import '../utils/compareMessagesForGrouping.js';
|
|
120
101
|
|
|
121
102
|
const DELAY = 500;
|
|
122
103
|
function useSetScrollToBottom(_ref) {
|