@sendbird/uikit-react 3.6.2 → 3.6.3-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 +48 -48
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelUI.js +41 -41
- package/Channel/components/FileViewer.js +15 -15
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +53 -42
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +29 -29
- package/Channel/components/MessageList.js +58 -53
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +17 -17
- package/Channel/components/SuggestedMentionList.js +17 -17
- package/Channel/components/TypingIndicator.js +15 -15
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +12 -12
- package/Channel.js +43 -42
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +30 -30
- package/ChannelList/components/ChannelPreview.js +26 -26
- package/ChannelList/components/ChannelPreviewAction.js +13 -13
- package/ChannelList/context.js +7 -7
- package/ChannelList.js +30 -30
- package/{ChannelListProvider-e9a09891.js → ChannelListProvider-7ab8c2ef.js} +7 -7
- package/{ChannelListProvider-e9a09891.js.map → ChannelListProvider-7ab8c2ef.js.map} +1 -1
- package/{ChannelProvider-5dcbee7b.js → ChannelProvider-b92ba40f.js} +14 -12
- package/ChannelProvider-b92ba40f.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-47a1c523.js → CreateChannelProvider-d6db6806.js} +1 -1
- package/{CreateChannelProvider-47a1c523.js.map → CreateChannelProvider-d6db6806.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-a82461b5.js → LocalizationContext-e1c6d6a2.js} +3 -3
- package/{LocalizationContext-a82461b5.js.map → LocalizationContext-e1c6d6a2.js.map} +1 -1
- package/{MediaQueryContext-d6110905.js → MediaQueryContext-51b61f4d.js} +1 -1
- package/{MediaQueryContext-d6110905.js.map → MediaQueryContext-51b61f4d.js.map} +1 -1
- package/{MemberList-5d8a0a9b.js → MemberList-abfe51d6.js} +5 -5
- package/{MemberList-5d8a0a9b.js.map → MemberList-abfe51d6.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +19 -19
- package/OpenChannel/components/OpenChannelMessage.js +27 -27
- package/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/OpenChannel/components/OpenChannelUI.js +31 -31
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +31 -31
- 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-4143ffd5.js → OpenChannelListProvider-538f2cbf.js} +3 -3
- package/{OpenChannelListProvider-4143ffd5.js.map → OpenChannelListProvider-538f2cbf.js.map} +1 -1
- package/{OpenChannelProvider-b9104634.js → OpenChannelProvider-faceaa5d.js} +7 -7
- package/{OpenChannelProvider-b9104634.js.map → OpenChannelProvider-faceaa5d.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +17 -17
- package/{RemoveMessageModal-2adc29ce.js → RemoveMessageModal-2e7611e4.js} +3 -3
- package/{RemoveMessageModal-2adc29ce.js.map → RemoveMessageModal-2e7611e4.js.map} +1 -1
- package/SendbirdProvider.js +15 -15
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +33 -33
- package/Thread/components/ParentMessageInfoItem.js +21 -21
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +36 -36
- package/Thread/components/ThreadListItem.js +36 -36
- package/Thread/components/ThreadMessageInput.js +30 -30
- package/Thread/components/ThreadUI.js +40 -40
- package/Thread/context.js +8 -8
- package/Thread.js +40 -40
- package/{ThreadProvider-cf357120.js → ThreadProvider-87cc447c.js} +7 -7
- package/{ThreadProvider-cf357120.js.map → ThreadProvider-87cc447c.js.map} +1 -1
- package/{UserProfileContext-f3f446d2.js → UserProfileContext-28379d67.js} +1 -1
- package/{UserProfileContext-f3f446d2.js.map → UserProfileContext-28379d67.js.map} +1 -1
- package/{VoiceMessageInputWrapper-43163d7f.js → VoiceMessageInputWrapper-c2d83b05.js} +7 -7
- package/{VoiceMessageInputWrapper-43163d7f.js.map → VoiceMessageInputWrapper-c2d83b05.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-b0d3696c.js → WebAudioUtils-20ce8db0.js} +2 -2
- package/{WebAudioUtils-b0d3696c.js.map → WebAudioUtils-20ce8db0.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-05128ded.js → _rollupPluginBabelHelpers-c0ee513a.js} +1 -1
- package/_rollupPluginBabelHelpers-c0ee513a.js.map +1 -0
- package/{actionTypes-ba87a2c9.js → actionTypes-7d4ab028.js} +1 -1
- package/{actionTypes-ba87a2c9.js.map → actionTypes-7d4ab028.js.map} +1 -1
- package/cjs/App.js +48 -48
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelUI.js +41 -41
- package/cjs/Channel/components/FileViewer.js +15 -15
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +52 -41
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +29 -29
- package/cjs/Channel/components/MessageList.js +58 -53
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +17 -17
- package/cjs/Channel/components/SuggestedMentionList.js +17 -17
- package/cjs/Channel/components/TypingIndicator.js +15 -15
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +12 -12
- package/cjs/Channel.js +43 -42
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +30 -30
- package/cjs/ChannelList/components/ChannelPreview.js +26 -26
- package/cjs/ChannelList/components/ChannelPreviewAction.js +13 -13
- package/cjs/ChannelList/context.js +7 -7
- package/cjs/ChannelList.js +30 -30
- package/cjs/{ChannelListProvider-31051c98.js → ChannelListProvider-7e28549a.js} +7 -7
- package/cjs/{ChannelListProvider-31051c98.js.map → ChannelListProvider-7e28549a.js.map} +1 -1
- package/cjs/{ChannelProvider-e2f422cf.js → ChannelProvider-bf4de470.js} +14 -12
- package/cjs/ChannelProvider-bf4de470.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-b5c526fc.js → CreateChannelProvider-4bf37ffd.js} +1 -1
- package/cjs/{CreateChannelProvider-b5c526fc.js.map → CreateChannelProvider-4bf37ffd.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-bc6af64a.js → LocalizationContext-69ba55fb.js} +3 -3
- package/cjs/{LocalizationContext-bc6af64a.js.map → LocalizationContext-69ba55fb.js.map} +1 -1
- package/cjs/{MediaQueryContext-8be571f9.js → MediaQueryContext-4e4a0a7d.js} +1 -1
- package/cjs/{MediaQueryContext-8be571f9.js.map → MediaQueryContext-4e4a0a7d.js.map} +1 -1
- package/cjs/{MemberList-bc03a40d.js → MemberList-b1daf857.js} +5 -5
- package/cjs/{MemberList-bc03a40d.js.map → MemberList-b1daf857.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +19 -19
- package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -27
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +31 -31
- 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-ecdaf0b2.js → OpenChannelListProvider-02e55de7.js} +3 -3
- package/cjs/{OpenChannelListProvider-ecdaf0b2.js.map → OpenChannelListProvider-02e55de7.js.map} +1 -1
- package/cjs/{OpenChannelProvider-8ef4ee2e.js → OpenChannelProvider-9adc91b5.js} +7 -7
- package/cjs/{OpenChannelProvider-8ef4ee2e.js.map → OpenChannelProvider-9adc91b5.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/{RemoveMessageModal-65e93d87.js → RemoveMessageModal-a0be8d4a.js} +3 -3
- package/cjs/{RemoveMessageModal-65e93d87.js.map → RemoveMessageModal-a0be8d4a.js.map} +1 -1
- package/cjs/SendbirdProvider.js +15 -15
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +33 -33
- package/cjs/Thread/components/ParentMessageInfoItem.js +21 -21
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +36 -36
- package/cjs/Thread/components/ThreadListItem.js +36 -36
- package/cjs/Thread/components/ThreadMessageInput.js +30 -30
- package/cjs/Thread/components/ThreadUI.js +40 -40
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +40 -40
- package/cjs/{ThreadProvider-8a541e7e.js → ThreadProvider-93b81491.js} +7 -7
- package/cjs/{ThreadProvider-8a541e7e.js.map → ThreadProvider-93b81491.js.map} +1 -1
- package/cjs/{UserProfileContext-268ad0d1.js → UserProfileContext-2811f604.js} +1 -1
- package/cjs/{UserProfileContext-268ad0d1.js.map → UserProfileContext-2811f604.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-2f18145d.js → VoiceMessageInputWrapper-8bf71d1f.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-2f18145d.js.map → VoiceMessageInputWrapper-8bf71d1f.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-e40a6c40.js → WebAudioUtils-90e49306.js} +2 -2
- package/cjs/{WebAudioUtils-e40a6c40.js.map → WebAudioUtils-90e49306.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-00480ba8.js → _rollupPluginBabelHelpers-71f7daf4.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-71f7daf4.js.map +1 -0
- package/cjs/{actionTypes-eb21276b.js → actionTypes-d9baf070.js} +1 -1
- package/cjs/{actionTypes-eb21276b.js.map → actionTypes-d9baf070.js.map} +1 -1
- package/cjs/{color-41ee42a1.js → color-01ded58a.js} +1 -1
- package/cjs/{color-41ee42a1.js.map → color-01ded58a.js.map} +1 -1
- package/cjs/{compareIds-a65972c5.js → compareIds-c431c3ff.js} +1 -1
- package/cjs/{compareIds-a65972c5.js.map → compareIds-c431c3ff.js.map} +1 -1
- package/cjs/{const-eb6bfc42.js → const-40f7a704.js} +1 -1
- package/cjs/{const-eb6bfc42.js.map → const-40f7a704.js.map} +1 -1
- package/cjs/{const-f1c7b0cf.js → const-f55ab29b.js} +1 -1
- package/cjs/{const-f1c7b0cf.js.map → const-f55ab29b.js.map} +1 -1
- package/cjs/{consts-c63fe2cd.js → consts-2eec4cbc.js} +1 -1
- package/cjs/{consts-c63fe2cd.js.map → consts-2eec4cbc.js.map} +1 -1
- package/cjs/{consts-20c3e20f.js → consts-7e2e06a8.js} +1 -1
- package/cjs/{consts-20c3e20f.js.map → consts-7e2e06a8.js.map} +1 -1
- package/cjs/{consts-d0461d4c.js → consts-8c21a90e.js} +1 -1
- package/cjs/{consts-d0461d4c.js.map → consts-8c21a90e.js.map} +1 -1
- package/cjs/{consts-db7e33d3.js → consts-dab8c0ba.js} +1 -1
- package/cjs/{consts-db7e33d3.js.map → consts-dab8c0ba.js.map} +1 -1
- package/cjs/{context-1b39c79a.js → context-d026e49f.js} +2 -2
- package/cjs/{context-1b39c79a.js.map → context-d026e49f.js.map} +1 -1
- package/cjs/dist/index.css +126 -126
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-a9099968.js → index-040b2cdd.js} +2 -2
- package/cjs/{index-a9099968.js.map → index-040b2cdd.js.map} +1 -1
- package/cjs/{index-609a0bf5.js → index-07d87206.js} +2 -2
- package/cjs/{index-609a0bf5.js.map → index-07d87206.js.map} +1 -1
- package/cjs/{index-902525e0.js → index-51c60830.js} +2 -2
- package/cjs/{index-902525e0.js.map → index-51c60830.js.map} +1 -1
- package/cjs/{index-606b67d2.js → index-53cb0842.js} +3 -3
- package/cjs/{index-606b67d2.js.map → index-53cb0842.js.map} +1 -1
- package/cjs/{index-09573a50.js → index-76a77b83.js} +1 -1
- package/cjs/{index-09573a50.js.map → index-76a77b83.js.map} +1 -1
- package/cjs/{index-c08c7ef8.js → index-813b6b08.js} +1 -1
- package/cjs/{index-c08c7ef8.js.map → index-813b6b08.js.map} +1 -1
- package/cjs/{index-fd722a1e.js → index-8e888530.js} +3 -3
- package/cjs/{index-fd722a1e.js.map → index-8e888530.js.map} +1 -1
- package/cjs/{index-25fa5405.js → index-95cf7034.js} +5 -5
- package/cjs/{index-25fa5405.js.map → index-95cf7034.js.map} +1 -1
- package/cjs/{index-060f95dc.js → index-aae33735.js} +4 -4
- package/cjs/{index-060f95dc.js.map → index-aae33735.js.map} +1 -1
- package/cjs/{index-faae1326.js → index-be7de5d6.js} +4 -4
- package/cjs/{index-faae1326.js.map → index-be7de5d6.js.map} +1 -1
- package/cjs/{index-dd19f542.js → index-c23dd0d5.js} +4 -4
- package/cjs/{index-dd19f542.js.map → index-c23dd0d5.js.map} +1 -1
- package/cjs/{index-803fa23b.js → index-cbf79753.js} +2 -2
- package/cjs/{index-803fa23b.js.map → index-cbf79753.js.map} +1 -1
- package/cjs/{index-89c089bb.js → index-ed238dfc.js} +3 -3
- package/cjs/{index-89c089bb.js.map → index-ed238dfc.js.map} +1 -1
- package/cjs/{index-9638a3d3.js → index-ef72ec41.js} +6 -6
- package/cjs/{index-9638a3d3.js.map → index-ef72ec41.js.map} +1 -1
- package/cjs/{index-2fc373d9.js → index-f15b37db.js} +2 -2
- package/cjs/{index-2fc373d9.js.map → index-f15b37db.js.map} +1 -1
- package/cjs/{index-c46b64e3.js → index-f6cb1755.js} +2 -2
- package/cjs/{index-c46b64e3.js.map → index-f6cb1755.js.map} +1 -1
- package/cjs/{index-9410b034.js → index-fa64e192.js} +6 -6
- package/cjs/{index-9410b034.js.map → index-fa64e192.js.map} +1 -1
- package/cjs/index.js +52 -52
- package/cjs/{index.module-ceb5d636.js → index.module-4e8de508.js} +1 -1
- package/cjs/{index.module-ceb5d636.js.map → index.module-4e8de508.js.map} +1 -1
- package/cjs/{resolvedReplyType-ab4bb8af.js → resolvedReplyType-46b6e002.js} +1 -1
- package/cjs/{resolvedReplyType-ab4bb8af.js.map → resolvedReplyType-46b6e002.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +3 -3
- package/cjs/{stringSet-812981b5.js → stringSet-8bc472f8.js} +1 -1
- package/cjs/{stringSet-812981b5.js.map → stringSet-8bc472f8.js.map} +1 -1
- package/cjs/{tokenize-846b6f86.js → tokenize-a8ebd32e.js} +2 -2
- package/cjs/{tokenize-846b6f86.js.map → tokenize-a8ebd32e.js.map} +1 -1
- package/cjs/{topics-623a82c5.js → topics-adfc7f39.js} +1 -1
- package/cjs/{topics-623a82c5.js.map → topics-adfc7f39.js.map} +1 -1
- package/cjs/{types-d296d350.js → types-7516c9ab.js} +1 -1
- package/cjs/{types-d296d350.js.map → types-7516c9ab.js.map} +1 -1
- 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 +19 -16
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- 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/MessageInput.js +13 -13
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +8 -8
- 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/QuoteMessageInput.js +6 -6
- 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/{useDirtyGetMentions-b4ae7a63.js → useDirtyGetMentions-a9f4e74f.js} +1 -1
- package/cjs/{useDirtyGetMentions-b4ae7a63.js.map → useDirtyGetMentions-a9f4e74f.js.map} +1 -1
- package/cjs/{useLongPress-d5e59a98.js → useLongPress-a867226d.js} +3 -3
- package/cjs/{useLongPress-d5e59a98.js.map → useLongPress-a867226d.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-1cc4e935.js → utils-113df2ca.js} +2 -2
- package/cjs/{utils-1cc4e935.js.map → utils-113df2ca.js.map} +1 -1
- package/cjs/{utils-89c82b6d.js → utils-6bea57fc.js} +1 -1
- package/cjs/{utils-89c82b6d.js.map → utils-6bea57fc.js.map} +1 -1
- package/cjs/{utils-496e7d26.js → utils-b7be4282.js} +1 -1
- package/cjs/{utils-496e7d26.js.map → utils-b7be4282.js.map} +1 -1
- package/cjs/{utils-631cf823.js → utils-baa4c65b.js} +1 -1
- package/cjs/{utils-631cf823.js.map → utils-baa4c65b.js.map} +1 -1
- package/cjs/{uuid-43555bb8.js → uuid-644621cb.js} +1 -1
- package/cjs/{uuid-43555bb8.js.map → uuid-644621cb.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-91e43dce.js → color-994bdd6c.js} +1 -1
- package/{color-91e43dce.js.map → color-994bdd6c.js.map} +1 -1
- package/{compareIds-2e50e905.js → compareIds-7b960453.js} +1 -1
- package/{compareIds-2e50e905.js.map → compareIds-7b960453.js.map} +1 -1
- package/{const-3a34a127.js → const-5de2cf59.js} +1 -1
- package/{const-3a34a127.js.map → const-5de2cf59.js.map} +1 -1
- package/{const-72f012b6.js → const-609ce157.js} +1 -1
- package/{const-72f012b6.js.map → const-609ce157.js.map} +1 -1
- package/{consts-fa6ab3c0.js → consts-2f73d64b.js} +1 -1
- package/{consts-fa6ab3c0.js.map → consts-2f73d64b.js.map} +1 -1
- package/{consts-9469111b.js → consts-9128ab13.js} +1 -1
- package/{consts-9469111b.js.map → consts-9128ab13.js.map} +1 -1
- package/{consts-b4cb83cf.js → consts-c652e1a2.js} +1 -1
- package/{consts-b4cb83cf.js.map → consts-c652e1a2.js.map} +1 -1
- package/{consts-7693b8d3.js → consts-f95a957f.js} +1 -1
- package/{consts-7693b8d3.js.map → consts-f95a957f.js.map} +1 -1
- package/{context-6be2d352.js → context-bdb20841.js} +2 -2
- package/{context-6be2d352.js.map → context-bdb20841.js.map} +1 -1
- package/dist/index.css +126 -126
- package/dist/index.css.map +1 -1
- package/{index-6420013c.js → index-09d8c8e1.js} +2 -2
- package/{index-6420013c.js.map → index-09d8c8e1.js.map} +1 -1
- package/{index-ad50e2c0.js → index-38d1f14f.js} +2 -2
- package/{index-ad50e2c0.js.map → index-38d1f14f.js.map} +1 -1
- package/{index-579ca9d7.js → index-47c26257.js} +2 -2
- package/{index-579ca9d7.js.map → index-47c26257.js.map} +1 -1
- package/{index-10dad19d.js → index-5591ac58.js} +5 -5
- package/{index-10dad19d.js.map → index-5591ac58.js.map} +1 -1
- package/{index-a2bb2783.js → index-58259ea2.js} +4 -4
- package/{index-a2bb2783.js.map → index-58259ea2.js.map} +1 -1
- package/{index-86294a68.js → index-594c29da.js} +4 -4
- package/{index-86294a68.js.map → index-594c29da.js.map} +1 -1
- package/{index-f879f6ef.js → index-5af66a82.js} +3 -3
- package/{index-f879f6ef.js.map → index-5af66a82.js.map} +1 -1
- package/{index-ccef08fe.js → index-652e2df8.js} +2 -2
- package/{index-ccef08fe.js.map → index-652e2df8.js.map} +1 -1
- package/{index-629b2439.js → index-69b9a351.js} +2 -2
- package/{index-629b2439.js.map → index-69b9a351.js.map} +1 -1
- package/{index-6add7940.js → index-69fc4c41.js} +1 -1
- package/{index-6add7940.js.map → index-69fc4c41.js.map} +1 -1
- package/{index-dd5a8777.js → index-6b84a311.js} +2 -2
- package/{index-dd5a8777.js.map → index-6b84a311.js.map} +1 -1
- package/{index-ac0b2d20.js → index-87af60b5.js} +6 -6
- package/{index-ac0b2d20.js.map → index-87af60b5.js.map} +1 -1
- package/{index-fa5b2b8c.js → index-8d47cf52.js} +3 -3
- package/{index-fa5b2b8c.js.map → index-8d47cf52.js.map} +1 -1
- package/{index-a98c14c3.js → index-9dc3ebe7.js} +6 -6
- package/{index-a98c14c3.js.map → index-9dc3ebe7.js.map} +1 -1
- package/{index-a9101009.js → index-c3674bf4.js} +1 -1
- package/{index-a9101009.js.map → index-c3674bf4.js.map} +1 -1
- package/{index-090cbf21.js → index-d53b0c86.js} +4 -4
- package/{index-090cbf21.js.map → index-d53b0c86.js.map} +1 -1
- package/{index-2cfab646.js → index-e112d644.js} +3 -3
- package/{index-2cfab646.js.map → index-e112d644.js.map} +1 -1
- package/index.d.ts +43 -1
- package/index.js +52 -52
- package/{index.module-4f1cd64e.js → index.module-3c05b37b.js} +1 -1
- package/{index.module-4f1cd64e.js.map → index.module-3c05b37b.js.map} +1 -1
- package/package.json +1 -1
- package/{resolvedReplyType-9d00a3db.js → resolvedReplyType-086a1608.js} +1 -1
- package/{resolvedReplyType-9d00a3db.js.map → resolvedReplyType-086a1608.js.map} +1 -1
- package/sendbirdSelectors.js +3 -3
- package/{stringSet-b60e9529.js → stringSet-21638a6b.js} +1 -1
- package/{stringSet-b60e9529.js.map → stringSet-21638a6b.js.map} +1 -1
- package/{tokenize-c718324d.js → tokenize-9d009872.js} +2 -2
- package/{tokenize-c718324d.js.map → tokenize-9d009872.js.map} +1 -1
- package/{topics-eb548880.js → topics-fc8cc946.js} +1 -1
- package/{topics-eb548880.js.map → topics-fc8cc946.js.map} +1 -1
- package/{types-95cfd227.js → types-6a35e036.js} +1 -1
- package/{types-95cfd227.js.map → types-6a35e036.js.map} +1 -1
- 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 +19 -16
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- 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/MessageInput.js +13 -13
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +8 -8
- 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/QuoteMessageInput.js +6 -6
- 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/{useDirtyGetMentions-dffd4046.js → useDirtyGetMentions-99e3d277.js} +1 -1
- package/{useDirtyGetMentions-dffd4046.js.map → useDirtyGetMentions-99e3d277.js.map} +1 -1
- package/{useLongPress-12280c78.js → useLongPress-333a5b08.js} +3 -3
- package/{useLongPress-12280c78.js.map → useLongPress-333a5b08.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-7f5e872b.js → utils-06ec7fe7.js} +1 -1
- package/{utils-7f5e872b.js.map → utils-06ec7fe7.js.map} +1 -1
- package/{utils-e0c7329c.js → utils-3a30fec6.js} +1 -1
- package/{utils-e0c7329c.js.map → utils-3a30fec6.js.map} +1 -1
- package/{utils-f610bf03.js → utils-7e02e238.js} +1 -1
- package/{utils-f610bf03.js.map → utils-7e02e238.js.map} +1 -1
- package/{utils-b571dc44.js → utils-9620b525.js} +2 -2
- package/{utils-b571dc44.js.map → utils-9620b525.js.map} +1 -1
- package/{uuid-717930b4.js → uuid-e292e5ac.js} +1 -1
- package/{uuid-717930b4.js.map → uuid-e292e5ac.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelProvider-5dcbee7b.js.map +0 -1
- package/_rollupPluginBabelHelpers-05128ded.js.map +0 -1
- package/cjs/ChannelProvider-e2f422cf.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-00480ba8.js.map +0 -1
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
import React__default, { useState, useEffect, useRef,
|
|
2
|
-
import { f as format } from '../../index-
|
|
1
|
+
import React__default, { useState, useEffect, useRef, useMemo, useLayoutEffect } from 'react';
|
|
2
|
+
import { f as format } from '../../index-652e2df8.js';
|
|
3
3
|
import SuggestedMentionList from './SuggestedMentionList.js';
|
|
4
4
|
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
5
|
-
import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from '../../ChannelProvider-
|
|
6
|
-
import { h as getClassName } from '../../index-
|
|
7
|
-
import { M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-
|
|
5
|
+
import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted } from '../../ChannelProvider-b92ba40f.js';
|
|
6
|
+
import { h as getClassName } from '../../index-47c26257.js';
|
|
7
|
+
import { M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-609ce157.js';
|
|
8
8
|
import DateSeparator from '../../ui/DateSeparator.js';
|
|
9
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-
|
|
9
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-09d8c8e1.js';
|
|
10
10
|
import MessageInput from '../../ui/MessageInput.js';
|
|
11
11
|
import MessageContent from '../../ui/MessageContent.js';
|
|
12
12
|
import FileViewer from './FileViewer.js';
|
|
13
13
|
import RemoveMessage from './RemoveMessageModal.js';
|
|
14
|
-
import { M as MessageInputKeys } from '../../const-
|
|
15
|
-
import { u as useLocalization } from '../../LocalizationContext-
|
|
16
|
-
import { a as useHandleOnScrollCallback } from '../../index-
|
|
17
|
-
import { u as useDirtyGetMentions } from '../../useDirtyGetMentions-
|
|
18
|
-
import '../../index-
|
|
14
|
+
import { M as MessageInputKeys } from '../../const-5de2cf59.js';
|
|
15
|
+
import { u as useLocalization } from '../../LocalizationContext-e1c6d6a2.js';
|
|
16
|
+
import { a as useHandleOnScrollCallback } from '../../index-6b84a311.js';
|
|
17
|
+
import { u as useDirtyGetMentions } from '../../useDirtyGetMentions-99e3d277.js';
|
|
18
|
+
import '../../index-69fc4c41.js';
|
|
19
19
|
import '../../ui/Icon.js';
|
|
20
20
|
import 'prop-types';
|
|
21
21
|
import '../../ui/Avatar.js';
|
|
22
22
|
import '../../ui/ImageRenderer.js';
|
|
23
|
-
import '../../uuid-
|
|
24
|
-
import '../../ThreadProvider-
|
|
23
|
+
import '../../uuid-e292e5ac.js';
|
|
24
|
+
import '../../ThreadProvider-87cc447c.js';
|
|
25
25
|
import '../../utils/message/getOutgoingMessageState.js';
|
|
26
|
-
import '../../UserProfileContext-
|
|
27
|
-
import '../../_rollupPluginBabelHelpers-
|
|
26
|
+
import '../../UserProfileContext-28379d67.js';
|
|
27
|
+
import '../../_rollupPluginBabelHelpers-c0ee513a.js';
|
|
28
28
|
import '../../Thread/context/types.js';
|
|
29
29
|
import '@sendbird/chat';
|
|
30
|
-
import '../../topics-
|
|
30
|
+
import '../../topics-fc8cc946.js';
|
|
31
31
|
import '@sendbird/chat/groupChannel';
|
|
32
32
|
import '@sendbird/chat/message';
|
|
33
|
-
import '../../consts-
|
|
33
|
+
import '../../consts-2f73d64b.js';
|
|
34
34
|
import '../../withSendbird.js';
|
|
35
|
-
import '../../compareIds-
|
|
36
|
-
import '../../resolvedReplyType-
|
|
37
|
-
import '../../color-
|
|
38
|
-
import '../../stringSet-
|
|
35
|
+
import '../../compareIds-7b960453.js';
|
|
36
|
+
import '../../resolvedReplyType-086a1608.js';
|
|
37
|
+
import '../../color-994bdd6c.js';
|
|
38
|
+
import '../../stringSet-21638a6b.js';
|
|
39
39
|
import '../../ui/IconButton.js';
|
|
40
40
|
import '../../ui/Button.js';
|
|
41
41
|
import 'dompurify';
|
|
42
|
-
import '../../consts-
|
|
43
|
-
import '../../consts-
|
|
44
|
-
import '../../consts-
|
|
45
|
-
import '../../tokenize-
|
|
46
|
-
import '../../index.module-
|
|
42
|
+
import '../../consts-c652e1a2.js';
|
|
43
|
+
import '../../consts-f95a957f.js';
|
|
44
|
+
import '../../consts-9128ab13.js';
|
|
45
|
+
import '../../tokenize-9d009872.js';
|
|
46
|
+
import '../../index.module-3c05b37b.js';
|
|
47
47
|
import '../../ui/UserProfile.js';
|
|
48
48
|
import '../../sendbirdSelectors.js';
|
|
49
|
-
import '../../utils-
|
|
50
|
-
import '../../index-
|
|
49
|
+
import '../../utils-3a30fec6.js';
|
|
50
|
+
import '../../index-87af60b5.js';
|
|
51
51
|
import '../../ui/Loader.js';
|
|
52
|
-
import '../../index-
|
|
53
|
-
import '../../index-
|
|
52
|
+
import '../../index-5af66a82.js';
|
|
53
|
+
import '../../index-38d1f14f.js';
|
|
54
54
|
import '../../ui/MessageItemMenu.js';
|
|
55
55
|
import '../../ui/ContextMenu.js';
|
|
56
56
|
import 'react-dom';
|
|
57
57
|
import '../../ui/SortByRow.js';
|
|
58
|
-
import '../../types-
|
|
58
|
+
import '../../types-6a35e036.js';
|
|
59
59
|
import '../../ui/MessageItemReactionMenu.js';
|
|
60
60
|
import '../../ui/ReactionButton.js';
|
|
61
|
-
import '../../useLongPress-
|
|
62
|
-
import '../../MediaQueryContext-
|
|
61
|
+
import '../../useLongPress-333a5b08.js';
|
|
62
|
+
import '../../MediaQueryContext-51b61f4d.js';
|
|
63
63
|
import '../../ui/EmojiReactions.js';
|
|
64
64
|
import '../../ui/ReactionBadge.js';
|
|
65
65
|
import '../../ui/BottomSheet.js';
|
|
66
|
-
import '../../index-
|
|
66
|
+
import '../../index-c3674bf4.js';
|
|
67
67
|
import '../../ui/UserListItem.js';
|
|
68
68
|
import '../../ui/MutedAvatarOverlay.js';
|
|
69
69
|
import '../../ui/Checkbox.js';
|
|
@@ -72,7 +72,7 @@ import '../../ui/TooltipWrapper.js';
|
|
|
72
72
|
import '../../Message/context.js';
|
|
73
73
|
import '../../ui/AdminMessage.js';
|
|
74
74
|
import '../../ui/TextMessageItemBody.js';
|
|
75
|
-
import '../../index-
|
|
75
|
+
import '../../index-58259ea2.js';
|
|
76
76
|
import '../../ui/MentionLabel.js';
|
|
77
77
|
import '../../ui/LinkLabel.js';
|
|
78
78
|
import '../../ui/FileMessageItemBody.js';
|
|
@@ -81,12 +81,12 @@ import '../../ui/ThumbnailMessageItemBody.js';
|
|
|
81
81
|
import '../../ui/OGMessageItemBody.js';
|
|
82
82
|
import '../../ui/UnknownMessageItemBody.js';
|
|
83
83
|
import '../../ui/QuoteMessage.js';
|
|
84
|
-
import '../../index-
|
|
84
|
+
import '../../index-594c29da.js';
|
|
85
85
|
import '../../ui/ThreadReplies.js';
|
|
86
86
|
import '../../ui/VoiceMessageItemBody.js';
|
|
87
87
|
import '../../ui/ProgressBar.js';
|
|
88
88
|
import '../../VoicePlayer/useVoicePlayer.js';
|
|
89
|
-
import '../../index-
|
|
89
|
+
import '../../index-8d47cf52.js';
|
|
90
90
|
import '../../VoiceRecorder/context.js';
|
|
91
91
|
import '../../ui/Modal.js';
|
|
92
92
|
import '../../ui/PlaybackTime.js';
|
|
@@ -111,7 +111,6 @@ const Message = _ref => {
|
|
|
111
111
|
chainTop,
|
|
112
112
|
chainBottom,
|
|
113
113
|
handleScroll,
|
|
114
|
-
handleMessageListHeightChange,
|
|
115
114
|
renderCustomSeparator,
|
|
116
115
|
renderEditInput,
|
|
117
116
|
renderMessage,
|
|
@@ -169,6 +168,15 @@ const Message = _ref => {
|
|
|
169
168
|
const messageScrollRef = useRef(null);
|
|
170
169
|
const displaySuggestedMentionList = isOnline && isMentionEnabled && mentionNickname.length > 0 && !isDisabledBecauseFrozen(currentGroupChannel) && !isDisabledBecauseMuted(currentGroupChannel);
|
|
171
170
|
const disabled = !initialized || isDisabledBecauseFrozen(currentGroupChannel) || isDisabledBecauseMuted(currentGroupChannel) || !isOnline;
|
|
171
|
+
const messageMeta = useMemo(() => {
|
|
172
|
+
let messageMeta;
|
|
173
|
+
try {
|
|
174
|
+
messageMeta = message !== null && message !== void 0 && message.data ? JSON.parse(message.data) : null;
|
|
175
|
+
} catch (error) {
|
|
176
|
+
messageMeta = null;
|
|
177
|
+
}
|
|
178
|
+
return messageMeta;
|
|
179
|
+
}, [message === null || message === void 0 ? void 0 : message.data]);
|
|
172
180
|
const handleOnScroll = useHandleOnScrollCallback({
|
|
173
181
|
hasMore: false,
|
|
174
182
|
onScroll: onScrollCallback,
|
|
@@ -194,7 +202,10 @@ const Message = _ref => {
|
|
|
194
202
|
}
|
|
195
203
|
}));
|
|
196
204
|
}, [mentionedUserIds]);
|
|
197
|
-
|
|
205
|
+
useLayoutEffect(() => {
|
|
206
|
+
// Keep the scrollBottom value after fetching new message list
|
|
207
|
+
handleScroll === null || handleScroll === void 0 ? void 0 : handleScroll();
|
|
208
|
+
}, []);
|
|
198
209
|
/**
|
|
199
210
|
* Move the messsage list scroll
|
|
200
211
|
* when the message's height is changed by `showEdit` OR `message.reactions`
|
|
@@ -202,9 +213,9 @@ const Message = _ref => {
|
|
|
202
213
|
useDidMountEffect(() => {
|
|
203
214
|
handleScroll === null || handleScroll === void 0 ? void 0 : handleScroll();
|
|
204
215
|
}, [showEdit, message === null || message === void 0 ? void 0 : (_message$reactions = message.reactions) === null || _message$reactions === void 0 ? void 0 : _message$reactions.length]);
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}, []);
|
|
216
|
+
useDidMountEffect(() => {
|
|
217
|
+
handleScroll === null || handleScroll === void 0 ? void 0 : handleScroll(true);
|
|
218
|
+
}, [message === null || message === void 0 ? void 0 : message.updatedAt, messageMeta === null || messageMeta === void 0 ? void 0 : messageMeta.stream]);
|
|
208
219
|
useLayoutEffect(() => {
|
|
209
220
|
let animationTimeout = null;
|
|
210
221
|
let messageHighlightedTimeout = null;
|
|
@@ -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?: () => void;\n handleMessageListHeightChange?: () => 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 handleMessageListHeightChange,\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 /**\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 useLayoutEffect(() => {\n handleMessageListHeightChange?.();\n }, []);\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","handleMessageListHeightChange","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","reactions","useLayoutEffect","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;;ACiCD;AACMK,MAAAA,OAAO,GAAGC,IAAA,IAW0B;EAAA,IAAAC,kBAAA,EAAAC,qBAAA,CAAA;EAAA,IAXzB;IACfC,OAAO;IACPC,YAAY;IACZC,QAAQ;IACRC,WAAW;IACXC,YAAY;IACZC,6BAA6B;IAC7BC,qBAAqB;IACrBC,eAAe;IACfC,aAAa;AACbC,IAAAA,oBAAAA;AACc,GAAC,GAAAZ,IAAA,CAAA;EACf,MAAM;AAAEa,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,GAAGxD,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC/C,MAAM,CAACyD,UAAU,EAAEC,aAAa,CAAC,GAAG1D,QAAQ,CAAC,KAAK,CAAC,CAAA;EACnD,MAAM,CAAC2D,cAAc,EAAEC,iBAAiB,CAAC,GAAG5D,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC3D,MAAM,CAAC6D,UAAU,EAAEC,aAAa,CAAC,GAAG9D,QAAQ,CAAC,KAAK,CAAC,CAAA;EACnD,MAAM,CAAC+D,aAAa,EAAEC,gBAAgB,CAAC,GAAGhE,QAAQ,CAAC,KAAK,CAAC,CAAA;EACzD,MAAM,CAACiE,eAAe,EAAEC,kBAAkB,CAAC,GAAGlE,QAAQ,CAAC,EAAE,CAAC,CAAA;EAC1D,MAAM,CAACmE,cAAc,EAAEC,iBAAiB,CAAC,GAAGpE,QAAQ,CAAC,EAAE,CAAC,CAAA;EACxD,MAAM,CAACqE,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGtE,QAAQ,CAAC,EAAE,CAAC,CAAA;EAC5D,MAAM,CAACuE,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGxE,QAAQ,CAAC,IAAI,CAAC,CAAA;EAChE,MAAM,CAACyE,YAAY,EAAEC,eAAe,CAAC,GAAG1E,QAAQ,CAAC,IAAI,CAAC,CAAA;EACtD,MAAM,CAAC2E,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG5E,QAAQ,CAAC,EAAE,CAAC,CAAA;AACtE,EAAA,MAAM6E,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;AAE9DzB,EAAAA,SAAS,CAAC,MAAM;AACdmE,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;;AAEtB;AACF;AACA;AACA;AACE1E,EAAAA,iBAAiB,CAAC,MAAM;AACtBe,IAAAA,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,EAAI,CAAA;GACjB,EAAE,CAAC6C,QAAQ,EAAEjD,OAAO,KAAPA,IAAAA,IAAAA,OAAO,wBAAAF,kBAAA,GAAPE,OAAO,CAAE6F,SAAS,cAAA/F,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAA,CAAoB6E,MAAM,CAAC,CAAC,CAAA;AAC1CmB,EAAAA,eAAe,CAAC,MAAM;AACpBzF,IAAAA,6BAA6B,KAA7BA,IAAAA,IAAAA,6BAA6B,KAA7BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,6BAA6B,EAAI,CAAA;GAClC,EAAE,EAAE,CAAC,CAAA;AAENyF,EAAAA,eAAe,CAAC,MAAM;IACpB,IAAIC,gBAAgB,GAAG,IAAI,CAAA;IAC3B,IAAIC,yBAAyB,GAAG,IAAI,CAAA;AACpC,IAAA,IAAIpE,oBAAoB,KAAK5B,OAAO,CAACiG,SAAS,IAAIxB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,IAAhBA,gBAAgB,CAAEyB,OAAO,EAAE;AAC3EnB,MAAAA,cAAc,EAAE,CAAA;MAChBvB,aAAa,CAAC,KAAK,CAAC,CAAA;MACpBuC,gBAAgB,GAAGI,UAAU,CAAC,MAAM;QAClCzC,gBAAgB,CAAC,IAAI,CAAC,CAAA;OACvB,EAAE,GAAG,CAAC,CAAA;MACPsC,yBAAyB,GAAGG,UAAU,CAAC,MAAM;QAC3CtE,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;MACX0C,YAAY,CAACL,gBAAgB,CAAC,CAAA;MAC9BK,YAAY,CAACJ,yBAAyB,CAAC,CAAA;KACxC,CAAA;AACH,GAAC,EAAE,CAACpE,oBAAoB,EAAE6C,gBAAgB,CAACyB,OAAO,EAAElG,OAAO,CAACiG,SAAS,CAAC,CAAC,CAAA;AAEvEH,EAAAA,eAAe,CAAC,MAAM;IACpB,IAAIC,gBAAgB,GAAG,IAAI,CAAA;IAC3B,IAAIM,sBAAsB,GAAG,IAAI,CAAA;AACjC,IAAA,IAAIvE,iBAAiB,KAAK9B,OAAO,CAACiG,SAAS,IAAIxB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,IAAhBA,gBAAgB,CAAEyB,OAAO,EAAE;AACxEnB,MAAAA,cAAc,EAAE,CAAA;MAChBrB,gBAAgB,CAAC,KAAK,CAAC,CAAA;MACvBqC,gBAAgB,GAAGI,UAAU,CAAC,MAAM;QAClC3C,aAAa,CAAC,IAAI,CAAC,CAAA;OACpB,EAAE,GAAG,CAAC,CAAA;MACP6C,sBAAsB,GAAGF,UAAU,CAAC,MAAM;QACxCpE,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;MACX4C,YAAY,CAACL,gBAAgB,CAAC,CAAA;MAC9BK,YAAY,CAACC,sBAAsB,CAAC,CAAA;KACrC,CAAA;AACH,GAAC,EAAE,CAACvE,iBAAiB,EAAE2C,gBAAgB,CAACyB,OAAO,EAAElG,OAAO,CAACiG,SAAS,EAAEpD,iBAAiB,CAAC,CAAC,CAAA;AACvF,EAAA,MAAMyD,eAAe,GAAGC,OAAO,CAAC,MAAM;AACpC,IAAA,OAAO/F,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAG;MACrBR,OAAO;MACPE,QAAQ;AACRC,MAAAA,WAAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACH,OAAO,EAAEQ,aAAa,CAAC,CAAC,CAAA;AAC5B,EAAA,MAAMgG,uBAAuB,GAAGD,OAAO,CAAC,MAAM;AAC5C,IAAA,IAAIjG,qBAAqB,EAAE;AACzB,MAAA,OAAOA,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAArBA,qBAAqB,CAAG;AAAEN,QAAAA,OAAO,EAAEA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AACtD,KAAA;AACA,IAAA,OAAO,IAAI,CAAA;AACb,GAAC,EAAE,CAACA,OAAO,EAAEM,qBAAqB,CAAC,CAAC,CAAA;AAEpC,EAAA,IAAIgG,eAAe,EAAE;IACnB,oBACEG,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE;AACA;MACA,oBAAoB1G,EAAAA,OAAO,CAACiG,SAAU;MACtC,oBAAoBjG,EAAAA,OAAO,CAAC2G,SAAU;AACtCrB,MAAAA,GAAG,EAAEb,gBAAiB;AACtBmC,MAAAA,SAAS,EAAEC,YAAY,CAAC,CACtB,2CAA2C,EAC3CtD,UAAU,GAAG,4BAA4B,GAAG,EAAE,EAC9CE,aAAa,GAAG,+BAA+B,GAAG,EAAE,CACrD,CAAA;AAAE,KAAA;AAID;AACAxD,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,EAAE7G,UAAAA;AACV,KAAC,CAAC,CACI,CAEX,CAAC,EAEH4F,eAAe,CACZ,CAAA;AAEV,GAAA;EAEA,IAAIrD,QAAQ,IAAIjD,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,CAAAO,eAAe,KAAfA,IAAAA,IAAAA,eAAe,uBAAfA,eAAe,EAAI,kBACxBkG,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAiB,QAAA,EAEIhD,IAAAA,EAAAA,2BAA2B,iBACzB+B,cAAA,CAAAC,aAAA,CAACiB,oBAAoB,EAAA;AACnBC,MAAAA,cAAc,EAAEjE,eAAgB;AAChCkE,MAAAA,UAAU,EAAE5D,iBAAkB;AAC9BvB,MAAAA,qBAAqB,EAAEA,qBAAsB;MAC7CoF,eAAe,EAAGC,IAAI,IAAK;AACzB,QAAA,IAAIA,IAAI,EAAE;AACRjE,UAAAA,iBAAiB,CAAC,CAAC,GAAGD,cAAc,EAAEkE,IAAI,CAAC,CAAC,CAAA;AAC9C,SAAA;QACAnE,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtBQ,eAAe,CAAC2D,IAAI,CAAC,CAAA;QACrB7D,oBAAoB,CAAC,IAAI,CAAC,CAAA;OAC1B;MACF8D,iBAAiB,EAAEA,MAAM;QACvB9D,oBAAoB,CAAC,IAAI,CAAC,CAAA;OAC1B;MACF+D,YAAY,EAAGC,KAAK,IAAK;QACvB5D,wBAAwB,CAAC4D,KAAK,CAAC,CAAA;OAC/B;AACFC,MAAAA,cAAc,EAAE5C,WAAY;AAC5BlE,MAAAA,eAAe,EAAED,mBAAoB;AACrCI,MAAAA,kBAAkB,EAAED,sBAAAA;AAAuB,KAAA,CAE9C,eAEHkF,cAAA,CAAAC,aAAA,CAAC0B,YAAY,EAAA;MACXC,MAAM,EAAA,IAAA;AACNC,MAAAA,OAAO,EAAE3G,mBAAoB;AAC7BmD,MAAAA,QAAQ,EAAEA,QAAS;AACnBQ,MAAAA,GAAG,EAAEf,mBAAoB;AACzBgE,MAAAA,mBAAmB,EAAEpE,YAAa;AAClCnD,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnChB,MAAAA,OAAO,EAAEA,OAAQ;MACjBwI,aAAa,EAAEA,MAAM;AAAA,QAAA,IAAAC,qBAAA,CAAA;AACnB9G,QAAAA,mBAAmB,aAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA8G,qBAAA,GAAnB9G,mBAAmB,CAAE+G,WAAW,MAAAD,IAAAA,IAAAA,qBAAA,uBAAhCA,qBAAA,CAAAhB,IAAA,CAAA9F,mBAAmB,CAAiB,CAAA;OACpC;MACFgH,eAAe,EAAEC,KAAA,IAA6C;AAAA,QAAA,IAAAC,sBAAA,CAAA;QAAA,IAA5C;UAAE5C,SAAS;UAAEjG,OAAO;AAAE8I,UAAAA,eAAAA;AAAgB,SAAC,GAAAF,KAAA,CAAA;AACvD5G,QAAAA,aAAa,CAAC;UACZiE,SAAS;UACTjG,OAAO;UACP6D,cAAc;AACdiF,UAAAA,eAAAA;AACF,SAAC,CAAC,CAAA;QACF5F,WAAW,CAAC,KAAK,CAAC,CAAA;AAClBvB,QAAAA,mBAAmB,aAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAkH,sBAAA,GAAnBlH,mBAAmB,CAAEoH,SAAS,MAAAF,IAAAA,IAAAA,sBAAA,uBAA9BA,sBAAA,CAAApB,IAAA,CAAA9F,mBAAmB,CAAe,CAAA;OAClC;MACFqH,YAAY,EAAEA,MAAM;AAAA,QAAA,IAAAC,sBAAA,CAAA;QAClBrF,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,CAAAsH,sBAAA,GAAnBtH,mBAAmB,CAAEoH,SAAS,MAAAE,IAAAA,IAAAA,sBAAA,uBAA9BA,sBAAA,CAAAxB,IAAA,CAAA9F,mBAAmB,CAAe,CAAA;OAClC;MACFuH,eAAe,EAAGnB,IAAI,IAAK;AACzB,QAAA,IAAI,CAAA5D,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAErD,MAAM,OAAKiH,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEjH,MAAM,CAAE,EAAA;UACzCsD,eAAe,CAAC,IAAI,CAAC,CAAA;UACrBR,kBAAkB,CAAC,EAAE,CAAC,CAAA;AACxB,SAAA;OACA;MACFuF,qBAAqB,EAAGC,WAAW,IAAK;QACtCxF,kBAAkB,CAACwF,WAAW,CAAC,CAAA;OAC/B;MACFC,yBAAyB,EAAGC,OAAO,IAAK;QACtCtF,mBAAmB,CAACsF,OAAO,CAAC,CAAA;OAC5B;MACFC,SAAS,EAAGC,CAAC,IAAK;AAChB,QAAA,IAAI9E,2BAA2B,IAAI,CAAAL,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAqB,CAAEM,MAAM,IAAG,CAAC,KAC7D6E,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACC,KAAK,IAAIpE,WAAW,IAAKiE,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACE,OAAO,IAAIJ,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACG,SAAS,CAAC,EACpI;UACA3F,oBAAoB,CAACsF,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,EAC3CtD,UAAU,GAAG,4BAA4B,GAAG,EAAE,EAC9CE,aAAa,GAAG,+BAA+B,GAAG,EAAE,CACrD,CAAE;AACHqG,IAAAA,KAAK,EAAE;AAAEC,MAAAA,YAAY,EAAE,KAAA;KAAQ;IAC/B,oBAAoB/J,EAAAA,OAAO,CAACiG,SAAU;IACtC,oBAAoBjG,EAAAA,OAAO,CAAC2G,SAAU;AACtCrB,IAAAA,GAAG,EAAEb,gBAAAA;AAAiB,GAAA,EAIpBxE,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,EAAE7G,UAAAA;AACV,GAAC,CAAC,CACI,CAEX,CAAC,EAIF,CAAAD,oBAAoB,KAAA,IAAA,IAApBA,oBAAoB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,oBAAoB,EAAI,kBACtBgG,cAAA,CAAAC,aAAA,CAACsD,cAAc,EAAA;AACbpD,IAAAA,SAAS,EAAC,uCAAuC;AACjD9F,IAAAA,MAAM,EAAEA,MAAO;AACfmB,IAAAA,eAAe,EAAEA,eAAgB;AACjCqG,IAAAA,OAAO,EAAE3G,mBAAoB;AAC7B3B,IAAAA,OAAO,EAAEA,OAAQ;IACjB8E,QAAQ,EAAE,CAAC/D,QAAS;AACpBb,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,WAAW,EAAEA,WAAY;AACzBiC,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;AACzCqH,IAAAA,qBAAqB,EAAE7J,YAAAA;AAAa,GAAA,CAEvC,EAID+C,UAAU,iBACRsD,cAAA,CAAAC,aAAA,CAACwD,aAAkB,EAAA;AACjBlK,IAAAA,OAAO,EAAEA,OAAQ;AACjBmK,IAAAA,QAAQ,EAAEA,MAAM/G,aAAa,CAAC,KAAK,CAAA;AAAE,GAAA,CAExC,EAGDC,cAAc,iBACZoD,cAAA,CAAAC,aAAA,CAAC0D,UAAU,EAAA;AACTpK,IAAAA,OAAO,EAAEA,OAAuB;AAChCmK,IAAAA,QAAQ,EAAEA,MAAM7G,iBAAiB,CAAC,KAAK,CAAA;AAAE,GAAA,CAE5C,CAEC,CAAA;AAEV;;;;"}
|
|
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\ninterface MessageMeta {\n stream: boolean;\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 messageMeta = useMemo(() => {\n let messageMeta: MessageMeta | null;\n try {\n messageMeta = message?.data ? JSON.parse(message.data) : null;\n } catch (error) {\n messageMeta = null;\n }\n return messageMeta;\n }, [message?.data]);\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, messageMeta?.stream]);\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","messageMeta","useMemo","data","JSON","parse","error","handleOnScroll","useHandleOnScrollCallback","hasMore","onScroll","scrollRef","mentionNodes","useDirtyGetMentions","ref","ableMention","filter","_ref2","i","indexOf","splice","useLayoutEffect","reactions","updatedAt","stream","animationTimeout","messageHighlightedTimeout","messageId","current","setTimeout","clearTimeout","messageAnimatedTimeout","renderedMessage","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,58 +1,58 @@
|
|
|
1
1
|
import React__default, { useContext, useState, useEffect } from 'react';
|
|
2
|
-
import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted, d as isOperator } from '../../ChannelProvider-
|
|
2
|
+
import { u as useChannelContext, a as isDisabledBecauseFrozen, b as isDisabledBecauseMuted, d as isOperator } from '../../ChannelProvider-b92ba40f.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-e1c6d6a2.js';
|
|
6
6
|
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
7
7
|
import SuggestedMentionList from './SuggestedMentionList.js';
|
|
8
|
-
import { M as MessageInputKeys } from '../../const-
|
|
9
|
-
import { V as VoiceMessageInputWrapper } from '../../VoiceMessageInputWrapper-
|
|
10
|
-
import { u as useDirtyGetMentions } from '../../useDirtyGetMentions-
|
|
11
|
-
import { u as useMediaQueryContext } from '../../MediaQueryContext-
|
|
12
|
-
import '../../UserProfileContext-
|
|
8
|
+
import { M as MessageInputKeys } from '../../const-5de2cf59.js';
|
|
9
|
+
import { V as VoiceMessageInputWrapper } from '../../VoiceMessageInputWrapper-c2d83b05.js';
|
|
10
|
+
import { u as useDirtyGetMentions } from '../../useDirtyGetMentions-99e3d277.js';
|
|
11
|
+
import { u as useMediaQueryContext } from '../../MediaQueryContext-51b61f4d.js';
|
|
12
|
+
import '../../UserProfileContext-28379d67.js';
|
|
13
13
|
import 'prop-types';
|
|
14
|
-
import '../../const-
|
|
15
|
-
import '../../index-
|
|
16
|
-
import '../../index-
|
|
17
|
-
import '../../topics-
|
|
18
|
-
import '../../index-
|
|
19
|
-
import '../../_rollupPluginBabelHelpers-
|
|
14
|
+
import '../../const-609ce157.js';
|
|
15
|
+
import '../../index-652e2df8.js';
|
|
16
|
+
import '../../index-69fc4c41.js';
|
|
17
|
+
import '../../topics-fc8cc946.js';
|
|
18
|
+
import '../../index-47c26257.js';
|
|
19
|
+
import '../../_rollupPluginBabelHelpers-c0ee513a.js';
|
|
20
20
|
import '../../utils/message/getOutgoingMessageState.js';
|
|
21
|
-
import '../../compareIds-
|
|
21
|
+
import '../../compareIds-7b960453.js';
|
|
22
22
|
import '@sendbird/chat/groupChannel';
|
|
23
|
-
import '../../uuid-
|
|
23
|
+
import '../../uuid-e292e5ac.js';
|
|
24
24
|
import '@sendbird/chat/message';
|
|
25
|
-
import '../../consts-
|
|
26
|
-
import '../../resolvedReplyType-
|
|
25
|
+
import '../../consts-2f73d64b.js';
|
|
26
|
+
import '../../resolvedReplyType-086a1608.js';
|
|
27
27
|
import '../../ui/IconButton.js';
|
|
28
28
|
import '../../ui/Button.js';
|
|
29
|
-
import '../../index-
|
|
30
|
-
import '../../stringSet-
|
|
29
|
+
import '../../index-09d8c8e1.js';
|
|
30
|
+
import '../../stringSet-21638a6b.js';
|
|
31
31
|
import 'dompurify';
|
|
32
|
-
import '../../consts-
|
|
32
|
+
import '../../consts-c652e1a2.js';
|
|
33
33
|
import '../../ui/Icon.js';
|
|
34
|
-
import '../../consts-
|
|
35
|
-
import '../../consts-
|
|
36
|
-
import '../../tokenize-
|
|
37
|
-
import '../../index.module-
|
|
34
|
+
import '../../consts-f95a957f.js';
|
|
35
|
+
import '../../consts-9128ab13.js';
|
|
36
|
+
import '../../tokenize-9d009872.js';
|
|
37
|
+
import '../../index.module-3c05b37b.js';
|
|
38
38
|
import '../../ui/ImageRenderer.js';
|
|
39
39
|
import '../../withSendbird.js';
|
|
40
40
|
import '../../ui/Avatar.js';
|
|
41
|
-
import '../../ThreadProvider-
|
|
41
|
+
import '../../ThreadProvider-87cc447c.js';
|
|
42
42
|
import '../../Thread/context/types.js';
|
|
43
43
|
import '@sendbird/chat';
|
|
44
44
|
import '../../VoicePlayer/useVoicePlayer.js';
|
|
45
|
-
import '../../index-
|
|
45
|
+
import '../../index-8d47cf52.js';
|
|
46
46
|
import '../../VoiceRecorder/context.js';
|
|
47
47
|
import '../../ui/Modal.js';
|
|
48
48
|
import 'react-dom';
|
|
49
|
-
import '../../index-
|
|
49
|
+
import '../../index-c3674bf4.js';
|
|
50
50
|
import '../../VoiceRecorder/useVoiceRecorder.js';
|
|
51
|
-
import '../../index-
|
|
51
|
+
import '../../index-d53b0c86.js';
|
|
52
52
|
import '../../ui/PlaybackTime.js';
|
|
53
53
|
import '../../ui/ProgressBar.js';
|
|
54
54
|
import '../../ui/TextButton.js';
|
|
55
|
-
import '../../color-
|
|
55
|
+
import '../../color-994bdd6c.js';
|
|
56
56
|
|
|
57
57
|
const MessageInputWrapper = (props, ref) => {
|
|
58
58
|
const {
|
|
@@ -1,70 +1,70 @@
|
|
|
1
1
|
import React__default, { useState, useEffect } from 'react';
|
|
2
|
-
import { c as compareMessagesForGrouping, u as useChannelContext, i as isAboutSame } from '../../ChannelProvider-
|
|
3
|
-
import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-
|
|
2
|
+
import { c as compareMessagesForGrouping, u as useChannelContext, i as isAboutSame } from '../../ChannelProvider-b92ba40f.js';
|
|
3
|
+
import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-e112d644.js';
|
|
4
4
|
import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
|
|
5
5
|
import Message from './Message.js';
|
|
6
|
-
import { i as isSameDay } from '../../index-
|
|
6
|
+
import { i as isSameDay } from '../../index-38d1f14f.js';
|
|
7
7
|
import UnreadCount from './UnreadCount.js';
|
|
8
8
|
import FrozenNotification from './FrozenNotification.js';
|
|
9
|
-
import { S as SCROLL_BUFFER } from '../../consts-
|
|
9
|
+
import { S as SCROLL_BUFFER } from '../../consts-2f73d64b.js';
|
|
10
10
|
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
11
11
|
import { MessageProvider } from '../../Message/context.js';
|
|
12
|
-
import { u as useDebounce, a as useHandleOnScrollCallback } from '../../index-
|
|
13
|
-
import '../../UserProfileContext-
|
|
12
|
+
import { u as useDebounce, a as useHandleOnScrollCallback } from '../../index-6b84a311.js';
|
|
13
|
+
import '../../UserProfileContext-28379d67.js';
|
|
14
14
|
import 'prop-types';
|
|
15
|
-
import '../../const-
|
|
16
|
-
import '../../index-
|
|
17
|
-
import '../../index-
|
|
18
|
-
import '../../topics-
|
|
19
|
-
import '../../index-
|
|
20
|
-
import '../../_rollupPluginBabelHelpers-
|
|
15
|
+
import '../../const-609ce157.js';
|
|
16
|
+
import '../../index-652e2df8.js';
|
|
17
|
+
import '../../index-69fc4c41.js';
|
|
18
|
+
import '../../topics-fc8cc946.js';
|
|
19
|
+
import '../../index-47c26257.js';
|
|
20
|
+
import '../../_rollupPluginBabelHelpers-c0ee513a.js';
|
|
21
21
|
import '../../utils/message/getOutgoingMessageState.js';
|
|
22
|
-
import '../../compareIds-
|
|
22
|
+
import '../../compareIds-7b960453.js';
|
|
23
23
|
import '@sendbird/chat/groupChannel';
|
|
24
|
-
import '../../uuid-
|
|
24
|
+
import '../../uuid-e292e5ac.js';
|
|
25
25
|
import '@sendbird/chat/message';
|
|
26
|
-
import '../../resolvedReplyType-
|
|
27
|
-
import '../../LocalizationContext-
|
|
28
|
-
import '../../stringSet-
|
|
29
|
-
import '../../index-
|
|
26
|
+
import '../../resolvedReplyType-086a1608.js';
|
|
27
|
+
import '../../LocalizationContext-e1c6d6a2.js';
|
|
28
|
+
import '../../stringSet-21638a6b.js';
|
|
29
|
+
import '../../index-09d8c8e1.js';
|
|
30
30
|
import '../../ui/Loader.js';
|
|
31
31
|
import './SuggestedMentionList.js';
|
|
32
32
|
import '../../ui/Avatar.js';
|
|
33
33
|
import '../../ui/ImageRenderer.js';
|
|
34
|
-
import '../../const-
|
|
35
|
-
import '../../ThreadProvider-
|
|
34
|
+
import '../../const-5de2cf59.js';
|
|
35
|
+
import '../../ThreadProvider-87cc447c.js';
|
|
36
36
|
import '../../Thread/context/types.js';
|
|
37
37
|
import '@sendbird/chat';
|
|
38
38
|
import '../../ui/DateSeparator.js';
|
|
39
|
-
import '../../color-
|
|
39
|
+
import '../../color-994bdd6c.js';
|
|
40
40
|
import '../../ui/MessageInput.js';
|
|
41
41
|
import '../../ui/IconButton.js';
|
|
42
42
|
import '../../ui/Button.js';
|
|
43
43
|
import 'dompurify';
|
|
44
|
-
import '../../consts-
|
|
45
|
-
import '../../consts-
|
|
46
|
-
import '../../consts-
|
|
47
|
-
import '../../tokenize-
|
|
48
|
-
import '../../index.module-
|
|
44
|
+
import '../../consts-c652e1a2.js';
|
|
45
|
+
import '../../consts-f95a957f.js';
|
|
46
|
+
import '../../consts-9128ab13.js';
|
|
47
|
+
import '../../tokenize-9d009872.js';
|
|
48
|
+
import '../../index.module-3c05b37b.js';
|
|
49
49
|
import '../../ui/MessageContent.js';
|
|
50
50
|
import '../../ui/UserProfile.js';
|
|
51
51
|
import '../../sendbirdSelectors.js';
|
|
52
|
-
import '../../utils-
|
|
53
|
-
import '../../index-
|
|
54
|
-
import '../../index-
|
|
52
|
+
import '../../utils-3a30fec6.js';
|
|
53
|
+
import '../../index-87af60b5.js';
|
|
54
|
+
import '../../index-5af66a82.js';
|
|
55
55
|
import '../../ui/MessageItemMenu.js';
|
|
56
56
|
import '../../ui/ContextMenu.js';
|
|
57
57
|
import 'react-dom';
|
|
58
58
|
import '../../ui/SortByRow.js';
|
|
59
|
-
import '../../types-
|
|
59
|
+
import '../../types-6a35e036.js';
|
|
60
60
|
import '../../ui/MessageItemReactionMenu.js';
|
|
61
61
|
import '../../ui/ReactionButton.js';
|
|
62
|
-
import '../../useLongPress-
|
|
63
|
-
import '../../MediaQueryContext-
|
|
62
|
+
import '../../useLongPress-333a5b08.js';
|
|
63
|
+
import '../../MediaQueryContext-51b61f4d.js';
|
|
64
64
|
import '../../ui/EmojiReactions.js';
|
|
65
65
|
import '../../ui/ReactionBadge.js';
|
|
66
66
|
import '../../ui/BottomSheet.js';
|
|
67
|
-
import '../../index-
|
|
67
|
+
import '../../index-c3674bf4.js';
|
|
68
68
|
import '../../ui/UserListItem.js';
|
|
69
69
|
import '../../ui/MutedAvatarOverlay.js';
|
|
70
70
|
import '../../ui/Checkbox.js';
|
|
@@ -72,7 +72,7 @@ import '../../ui/Tooltip.js';
|
|
|
72
72
|
import '../../ui/TooltipWrapper.js';
|
|
73
73
|
import '../../ui/AdminMessage.js';
|
|
74
74
|
import '../../ui/TextMessageItemBody.js';
|
|
75
|
-
import '../../index-
|
|
75
|
+
import '../../index-58259ea2.js';
|
|
76
76
|
import '../../ui/MentionLabel.js';
|
|
77
77
|
import '../../ui/LinkLabel.js';
|
|
78
78
|
import '../../ui/FileMessageItemBody.js';
|
|
@@ -81,19 +81,19 @@ import '../../ui/ThumbnailMessageItemBody.js';
|
|
|
81
81
|
import '../../ui/OGMessageItemBody.js';
|
|
82
82
|
import '../../ui/UnknownMessageItemBody.js';
|
|
83
83
|
import '../../ui/QuoteMessage.js';
|
|
84
|
-
import '../../index-
|
|
84
|
+
import '../../index-594c29da.js';
|
|
85
85
|
import '../../ui/ThreadReplies.js';
|
|
86
86
|
import '../../ui/VoiceMessageItemBody.js';
|
|
87
87
|
import '../../ui/ProgressBar.js';
|
|
88
88
|
import '../../VoicePlayer/useVoicePlayer.js';
|
|
89
|
-
import '../../index-
|
|
89
|
+
import '../../index-8d47cf52.js';
|
|
90
90
|
import '../../VoiceRecorder/context.js';
|
|
91
91
|
import '../../ui/Modal.js';
|
|
92
92
|
import '../../withSendbird.js';
|
|
93
93
|
import '../../ui/PlaybackTime.js';
|
|
94
94
|
import './FileViewer.js';
|
|
95
95
|
import './RemoveMessageModal.js';
|
|
96
|
-
import '../../useDirtyGetMentions-
|
|
96
|
+
import '../../useDirtyGetMentions-99e3d277.js';
|
|
97
97
|
|
|
98
98
|
const getMessagePartsInfo = _ref => {
|
|
99
99
|
let {
|
|
@@ -143,6 +143,19 @@ function useSetScrollToBottom(_ref) {
|
|
|
143
143
|
};
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
+
function useScrollBehavior() {
|
|
147
|
+
const {
|
|
148
|
+
scrollRef,
|
|
149
|
+
scrollBehavior = 'auto'
|
|
150
|
+
} = useChannelContext();
|
|
151
|
+
useEffect(() => {
|
|
152
|
+
if (scrollRef.current) {
|
|
153
|
+
scrollRef.current.style.scrollBehavior = scrollBehavior;
|
|
154
|
+
}
|
|
155
|
+
}, [scrollRef.current]);
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
|
|
146
159
|
const SCROLL_BOTTOM_PADDING = 50;
|
|
147
160
|
const MessageList = _ref => {
|
|
148
161
|
let {
|
|
@@ -175,6 +188,7 @@ const MessageList = _ref => {
|
|
|
175
188
|
const store = useSendbirdStateContext();
|
|
176
189
|
const allMessagesFiltered = typeof filterMessageList === 'function' ? allMessages.filter(filterMessageList) : allMessages;
|
|
177
190
|
const markAsReadScheduler = store.config.markAsReadScheduler;
|
|
191
|
+
useScrollBehavior();
|
|
178
192
|
const onScroll = () => {
|
|
179
193
|
const element = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
|
|
180
194
|
if (element == null) {
|
|
@@ -215,29 +229,21 @@ const MessageList = _ref => {
|
|
|
215
229
|
};
|
|
216
230
|
|
|
217
231
|
/**
|
|
218
|
-
* Move the messsage list scroll
|
|
219
|
-
*
|
|
232
|
+
* 1. Move the messsage list scroll
|
|
233
|
+
* when each message's height is changed by `reactions` OR `showEdit`
|
|
234
|
+
* 2. Keep the scrollBottom value after fetching new message list
|
|
220
235
|
*/
|
|
221
|
-
const
|
|
236
|
+
const moveScroll = function () {
|
|
237
|
+
let isBottomMessageAffected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
222
238
|
const current = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
|
|
223
239
|
if (current) {
|
|
224
240
|
const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;
|
|
225
|
-
if (scrollBottom < bottom) {
|
|
241
|
+
if (scrollBottom < bottom && (!isBottomMessageAffected || scrollBottom < SCROLL_BUFFER)) {
|
|
226
242
|
// Move the scroll as much as the height of the message has changed
|
|
227
243
|
current.scrollTop += bottom - scrollBottom;
|
|
228
244
|
}
|
|
229
245
|
}
|
|
230
246
|
};
|
|
231
|
-
// Keep the scrollBottom value after fetching new message list
|
|
232
|
-
const handleMessageListHeightChange = () => {
|
|
233
|
-
const current = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
|
|
234
|
-
if (current) {
|
|
235
|
-
const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;
|
|
236
|
-
if (scrollBottom < bottom) {
|
|
237
|
-
current.scrollTop += bottom - scrollBottom;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
};
|
|
241
247
|
const handleOnScroll = useHandleOnScrollCallback({
|
|
242
248
|
hasMore: hasMorePrev,
|
|
243
249
|
hasNext: hasMoreNext,
|
|
@@ -297,8 +303,7 @@ const MessageList = _ref => {
|
|
|
297
303
|
key: m === null || m === void 0 ? void 0 : m.messageId,
|
|
298
304
|
isByMe: isByMe
|
|
299
305
|
}, /*#__PURE__*/React__default.createElement(Message, {
|
|
300
|
-
handleScroll:
|
|
301
|
-
handleMessageListHeightChange: handleMessageListHeightChange,
|
|
306
|
+
handleScroll: moveScroll,
|
|
302
307
|
renderMessage: renderMessage,
|
|
303
308
|
message: m,
|
|
304
309
|
hasSeparator: hasSeparator,
|