@sendbird/uikit-react 3.5.0-mobile-rc-3 → 3.5.0-mobile-web-5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +67 -55
- package/App.js.map +1 -1
- package/Channel/components/ChannelHeader.js +19 -18
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +41 -40
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +15 -14
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +37 -35
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +29 -27
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +37 -36
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +17 -16
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +17 -16
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +15 -14
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +12 -11
- package/Channel/context.js.map +1 -1
- package/Channel.js +41 -40
- 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 -29
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +26 -25
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +13 -13
- package/ChannelList/context.js +7 -7
- package/ChannelList.js +30 -29
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-16d506e3.js → ChannelListProvider-8e3af350.js} +7 -7
- package/{ChannelListProvider-16d506e3.js.map → ChannelListProvider-8e3af350.js.map} +1 -1
- package/{ChannelProvider-f39a427f.js → ChannelProvider-cb73270f.js} +17 -20
- package/ChannelProvider-cb73270f.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-5ad9445d.js → CreateChannelProvider-3173e8cd.js} +1 -1
- package/{CreateChannelProvider-5ad9445d.js.map → CreateChannelProvider-3173e8cd.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-674efe64.js → LocalizationContext-689d8aa4.js} +3 -3
- package/{LocalizationContext-674efe64.js.map → LocalizationContext-689d8aa4.js.map} +1 -1
- package/{MediaQueryContext-c2b754b4.js → MediaQueryContext-2604d3dc.js} +1 -1
- package/{MediaQueryContext-c2b754b4.js.map → MediaQueryContext-2604d3dc.js.map} +1 -1
- package/{MemberList-0a820146.js → MemberList-7b3e0ace.js} +5 -5
- package/{MemberList-0a820146.js.map → MemberList-7b3e0ace.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 +22 -20
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +29 -28
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/OpenChannel/components/OpenChannelUI.js +31 -31
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +33 -33
- 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-f71260c9.js → OpenChannelListProvider-154424c5.js} +3 -3
- package/{OpenChannelListProvider-f71260c9.js.map → OpenChannelListProvider-154424c5.js.map} +1 -1
- package/{OpenChannelProvider-6f8c231a.js → OpenChannelProvider-fc50a84b.js} +7 -7
- package/{OpenChannelProvider-6f8c231a.js.map → OpenChannelProvider-fc50a84b.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-3fd74511.js → RemoveMessageModal-c345043b.js} +3 -3
- package/{RemoveMessageModal-3fd74511.js.map → RemoveMessageModal-c345043b.js.map} +1 -1
- package/SendbirdProvider.js +43 -44
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +35 -32
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +21 -21
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +36 -35
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +37 -35
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +30 -28
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +40 -39
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +40 -39
- package/Thread.js.map +1 -1
- package/{ThreadProvider-da0112d8.js → ThreadProvider-4ecee019.js} +10 -10
- package/ThreadProvider-4ecee019.js.map +1 -0
- package/{UserProfileContext-ca6e2310.js → UserProfileContext-4c07230f.js} +1 -1
- package/{UserProfileContext-ca6e2310.js.map → UserProfileContext-4c07230f.js.map} +1 -1
- package/{VoiceMessageInputWrapper-ceba20ae.js → VoiceMessageInputWrapper-5f95a888.js} +7 -7
- package/{VoiceMessageInputWrapper-ceba20ae.js.map → VoiceMessageInputWrapper-5f95a888.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-086599ab.js → WebAudioUtils-30020f07.js} +1 -1
- package/{WebAudioUtils-086599ab.js.map → WebAudioUtils-30020f07.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-fba60f75.js → _rollupPluginBabelHelpers-b764bedf.js} +1 -1
- package/_rollupPluginBabelHelpers-b764bedf.js.map +1 -0
- package/{actionTypes-5e5dfc97.js → actionTypes-e6bdb61c.js} +1 -1
- package/{actionTypes-5e5dfc97.js.map → actionTypes-e6bdb61c.js.map} +1 -1
- package/cjs/App.js +67 -55
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +19 -18
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +41 -40
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +15 -14
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +37 -35
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +29 -27
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +37 -36
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +17 -16
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +17 -16
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +15 -14
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +12 -12
- package/cjs/Channel.js +41 -40
- 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 -29
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +26 -25
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +13 -13
- package/cjs/ChannelList/context.js +7 -7
- package/cjs/ChannelList.js +30 -29
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-21ef123f.js → ChannelListProvider-ce4ea47a.js} +7 -7
- package/cjs/{ChannelListProvider-21ef123f.js.map → ChannelListProvider-ce4ea47a.js.map} +1 -1
- package/cjs/{ChannelProvider-1599fb99.js → ChannelProvider-0dba8547.js} +16 -20
- package/cjs/ChannelProvider-0dba8547.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-5d628a3f.js → CreateChannelProvider-b4859589.js} +1 -1
- package/cjs/{CreateChannelProvider-5d628a3f.js.map → CreateChannelProvider-b4859589.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-a584fa55.js → LocalizationContext-b57dbbb3.js} +3 -3
- package/cjs/{LocalizationContext-a584fa55.js.map → LocalizationContext-b57dbbb3.js.map} +1 -1
- package/cjs/{MediaQueryContext-baafb1bb.js → MediaQueryContext-6cbb7b30.js} +1 -1
- package/cjs/{MediaQueryContext-baafb1bb.js.map → MediaQueryContext-6cbb7b30.js.map} +1 -1
- package/cjs/{MemberList-2e6f8eb2.js → MemberList-6d3240f1.js} +5 -5
- package/cjs/{MemberList-2e6f8eb2.js.map → MemberList-6d3240f1.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 +22 -20
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +29 -28
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- 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 +33 -33
- 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-4c7e2916.js → OpenChannelListProvider-3a4075da.js} +3 -3
- package/cjs/{OpenChannelListProvider-4c7e2916.js.map → OpenChannelListProvider-3a4075da.js.map} +1 -1
- package/cjs/{OpenChannelProvider-e515e831.js → OpenChannelProvider-e5968018.js} +7 -7
- package/cjs/{OpenChannelProvider-e515e831.js.map → OpenChannelProvider-e5968018.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-46ba7070.js → RemoveMessageModal-f195bcd6.js} +3 -3
- package/cjs/{RemoveMessageModal-46ba7070.js.map → RemoveMessageModal-f195bcd6.js.map} +1 -1
- package/cjs/SendbirdProvider.js +42 -43
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +35 -32
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +21 -21
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +36 -35
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +37 -35
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +30 -28
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +40 -39
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +40 -39
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-c79aceb3.js → ThreadProvider-0508aa6b.js} +10 -10
- package/cjs/ThreadProvider-0508aa6b.js.map +1 -0
- package/cjs/{UserProfileContext-0308bb46.js → UserProfileContext-47da79ce.js} +1 -1
- package/cjs/{UserProfileContext-0308bb46.js.map → UserProfileContext-47da79ce.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-4d17462c.js → VoiceMessageInputWrapper-19bb43d1.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-4d17462c.js.map → VoiceMessageInputWrapper-19bb43d1.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-0b2ff03e.js → WebAudioUtils-607e6d36.js} +1 -1
- package/cjs/{WebAudioUtils-0b2ff03e.js.map → WebAudioUtils-607e6d36.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-17f53083.js → _rollupPluginBabelHelpers-eb6b8b27.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-eb6b8b27.js.map +1 -0
- package/cjs/{actionTypes-9b5d9ddf.js → actionTypes-5b18beb9.js} +1 -1
- package/cjs/{actionTypes-9b5d9ddf.js.map → actionTypes-5b18beb9.js.map} +1 -1
- package/cjs/{color-f5216e6a.js → color-1d73789a.js} +1 -1
- package/cjs/{color-f5216e6a.js.map → color-1d73789a.js.map} +1 -1
- package/cjs/{compareIds-c9b9dfbc.js → compareIds-1e3d2ab4.js} +1 -1
- package/cjs/{compareIds-c9b9dfbc.js.map → compareIds-1e3d2ab4.js.map} +1 -1
- package/cjs/{const-a9f20831.js → const-23450239.js} +1 -1
- package/cjs/{const-a9f20831.js.map → const-23450239.js.map} +1 -1
- package/cjs/{const-75f8d9ae.js → const-a2bea8cb.js} +1 -1
- package/cjs/{const-75f8d9ae.js.map → const-a2bea8cb.js.map} +1 -1
- package/cjs/{consts-78675c0f.js → consts-10ef7616.js} +1 -1
- package/cjs/{consts-78675c0f.js.map → consts-10ef7616.js.map} +1 -1
- package/cjs/{consts-6a102338.js → consts-384c3f07.js} +1 -1
- package/cjs/{consts-6a102338.js.map → consts-384c3f07.js.map} +1 -1
- package/cjs/{consts-b90134e3.js → consts-b7b7a6e1.js} +1 -1
- package/cjs/{consts-b90134e3.js.map → consts-b7b7a6e1.js.map} +1 -1
- package/cjs/{consts-8f76585f.js → consts-da8cf320.js} +1 -1
- package/cjs/{consts-8f76585f.js.map → consts-da8cf320.js.map} +1 -1
- package/cjs/{context-a04985ac.js → context-7a760f10.js} +2 -2
- package/cjs/{context-a04985ac.js.map → context-7a760f10.js.map} +1 -1
- package/cjs/dist/index.css +77 -62
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-70ee1e87.js → index-0bfdb242.js} +2 -7
- package/cjs/index-0bfdb242.js.map +1 -0
- package/cjs/{index-ab691428.js → index-2abc972f.js} +3 -3
- package/cjs/{index-ab691428.js.map → index-2abc972f.js.map} +1 -1
- package/cjs/{index-5012370d.js → index-3302aa9f.js} +4 -4
- package/cjs/{index-5012370d.js.map → index-3302aa9f.js.map} +1 -1
- package/cjs/{index-91cd09c7.js → index-37e8cb7f.js} +1 -1
- package/cjs/{index-91cd09c7.js.map → index-37e8cb7f.js.map} +1 -1
- package/cjs/{index-c3b543df.js → index-3bf38657.js} +6 -6
- package/cjs/{index-c3b543df.js.map → index-3bf38657.js.map} +1 -1
- package/cjs/{index-d947b675.js → index-4836de1e.js} +5 -5
- package/cjs/{index-d947b675.js.map → index-4836de1e.js.map} +1 -1
- package/cjs/{index-3f50b745.js → index-48e4dc27.js} +2 -2
- package/cjs/{index-3f50b745.js.map → index-48e4dc27.js.map} +1 -1
- package/cjs/{index-98dc0da4.js → index-560e60c2.js} +34 -19
- package/cjs/index-560e60c2.js.map +1 -0
- package/cjs/{index-36b49ef5.js → index-572ef10a.js} +1 -1
- package/cjs/{index-36b49ef5.js.map → index-572ef10a.js.map} +1 -1
- package/cjs/{index-0546aff2.js → index-604a4266.js} +2 -2
- package/cjs/{index-0546aff2.js.map → index-604a4266.js.map} +1 -1
- package/cjs/{index-3606d178.js → index-735ab91e.js} +2 -2
- package/cjs/{index-3606d178.js.map → index-735ab91e.js.map} +1 -1
- package/cjs/{index-93ba8e85.js → index-95cb25f2.js} +4 -4
- package/cjs/{index-93ba8e85.js.map → index-95cb25f2.js.map} +1 -1
- package/cjs/{index-be531e8c.js → index-bd8d9af4.js} +3 -3
- package/cjs/{index-be531e8c.js.map → index-bd8d9af4.js.map} +1 -1
- package/cjs/{index-77a6e8f7.js → index-ccb95f1e.js} +6 -6
- package/cjs/{index-77a6e8f7.js.map → index-ccb95f1e.js.map} +1 -1
- package/cjs/{index-a039da1f.js → index-d2315c53.js} +3 -3
- package/cjs/{index-a039da1f.js.map → index-d2315c53.js.map} +1 -1
- package/cjs/{index-63a06f37.js → index-e811013a.js} +2 -2
- package/cjs/{index-63a06f37.js.map → index-e811013a.js.map} +1 -1
- package/cjs/{index-de824ad7.js → index-eda19173.js} +2 -2
- package/cjs/{index-de824ad7.js.map → index-eda19173.js.map} +1 -1
- package/cjs/index.js +52 -51
- package/cjs/index.js.map +1 -1
- package/cjs/{index.module-6fa7f09a.js → index.module-ea6bd1f1.js} +1 -1
- package/cjs/{index.module-6fa7f09a.js.map → index.module-ea6bd1f1.js.map} +1 -1
- package/cjs/resolvedReplyType-8a349b8c.js +32 -0
- package/cjs/resolvedReplyType-8a349b8c.js.map +1 -0
- package/cjs/sendbirdSelectors.js +3 -3
- package/cjs/{stringSet-d6f2a33a.js → stringSet-2450c9e9.js} +1 -1
- package/cjs/{stringSet-d6f2a33a.js.map → stringSet-2450c9e9.js.map} +1 -1
- package/cjs/{tokenize-0df4eb21.js → tokenize-f217adbe.js} +2 -2
- package/cjs/{tokenize-0df4eb21.js.map → tokenize-f217adbe.js.map} +1 -1
- package/cjs/{topics-c7ef77ef.js → topics-03a59659.js} +1 -1
- package/cjs/{topics-c7ef77ef.js.map → topics-03a59659.js.map} +1 -1
- package/cjs/{types-edd094e8.js → types-86058820.js} +1 -1
- package/cjs/types-86058820.js.map +1 -0
- package/cjs/ui/Accordion.js +2 -2
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +2 -2
- package/cjs/ui/Avatar.js +1 -1
- package/cjs/ui/Badge.js +4 -4
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +2 -2
- package/cjs/ui/ChannelAvatar.js +2 -2
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +3 -3
- package/cjs/ui/EmojiReactions.js +13 -13
- package/cjs/ui/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 +70 -17
- package/cjs/ui/MessageInput.js.map +1 -1
- 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-527f80ca.js → useDirtyGetMentions-73c92dd1.js} +1 -1
- package/cjs/{useDirtyGetMentions-527f80ca.js.map → useDirtyGetMentions-73c92dd1.js.map} +1 -1
- package/cjs/{useLongPress-a31543ee.js → useLongPress-b013fc04.js} +3 -3
- package/cjs/{useLongPress-a31543ee.js.map → useLongPress-b013fc04.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-98335f41.js → utils-44170a0b.js} +2 -2
- package/cjs/{utils-98335f41.js.map → utils-44170a0b.js.map} +1 -1
- package/cjs/{utils-fbb85607.js → utils-6828954f.js} +1 -1
- package/cjs/{utils-fbb85607.js.map → utils-6828954f.js.map} +1 -1
- package/cjs/{utils-ad2cc973.js → utils-d2968db1.js} +1 -1
- package/cjs/{utils-ad2cc973.js.map → utils-d2968db1.js.map} +1 -1
- package/cjs/{utils-721f4b6c.js → utils-feec79a2.js} +1 -1
- package/cjs/{utils-721f4b6c.js.map → utils-feec79a2.js.map} +1 -1
- package/cjs/{uuid-10926ed0.js → uuid-ec351d96.js} +1 -1
- package/cjs/{uuid-10926ed0.js.map → uuid-ec351d96.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-f9212f23.js → color-65ea9130.js} +1 -1
- package/{color-f9212f23.js.map → color-65ea9130.js.map} +1 -1
- package/{compareIds-1bcdf748.js → compareIds-e8adfea2.js} +1 -1
- package/{compareIds-1bcdf748.js.map → compareIds-e8adfea2.js.map} +1 -1
- package/{const-877bea22.js → const-2fda8942.js} +1 -1
- package/{const-877bea22.js.map → const-2fda8942.js.map} +1 -1
- package/{const-735145c8.js → const-89c31819.js} +1 -1
- package/{const-735145c8.js.map → const-89c31819.js.map} +1 -1
- package/{consts-d45ca387.js → consts-60bc9064.js} +1 -1
- package/{consts-d45ca387.js.map → consts-60bc9064.js.map} +1 -1
- package/{consts-67559ec4.js → consts-746d9d54.js} +1 -1
- package/{consts-67559ec4.js.map → consts-746d9d54.js.map} +1 -1
- package/{consts-383d4a75.js → consts-a7afe685.js} +1 -1
- package/{consts-383d4a75.js.map → consts-a7afe685.js.map} +1 -1
- package/{consts-d545cae2.js → consts-f3cb0986.js} +1 -1
- package/{consts-d545cae2.js.map → consts-f3cb0986.js.map} +1 -1
- package/{context-8bd9e132.js → context-f542aa7f.js} +2 -2
- package/{context-8bd9e132.js.map → context-f542aa7f.js.map} +1 -1
- package/dist/index.css +77 -62
- package/dist/index.css.map +1 -1
- package/{index-96b80cca.js → index-1a9ad5e8.js} +3 -3
- package/{index-96b80cca.js.map → index-1a9ad5e8.js.map} +1 -1
- package/{index-cfa2cf64.js → index-1bb6ac7b.js} +5 -5
- package/{index-cfa2cf64.js.map → index-1bb6ac7b.js.map} +1 -1
- package/{index-10f046cd.js → index-284c6669.js} +34 -19
- package/index-284c6669.js.map +1 -0
- package/{index-200e4585.js → index-4415e3d4.js} +3 -7
- package/index-4415e3d4.js.map +1 -0
- package/{index-6716e8aa.js → index-68e4f991.js} +4 -4
- package/{index-6716e8aa.js.map → index-68e4f991.js.map} +1 -1
- package/{index-d4617078.js → index-6d5e4fbe.js} +2 -2
- package/{index-d4617078.js.map → index-6d5e4fbe.js.map} +1 -1
- package/{index-c165d519.js → index-8ca9e057.js} +1 -1
- package/{index-c165d519.js.map → index-8ca9e057.js.map} +1 -1
- package/{index-efad9427.js → index-915d9f7d.js} +3 -3
- package/{index-efad9427.js.map → index-915d9f7d.js.map} +1 -1
- package/{index-fc6960aa.js → index-920644b3.js} +2 -2
- package/{index-fc6960aa.js.map → index-920644b3.js.map} +1 -1
- package/{index-092e70e5.js → index-ada3d917.js} +2 -2
- package/{index-092e70e5.js.map → index-ada3d917.js.map} +1 -1
- package/{index-b179de93.js → index-c2c5dd5d.js} +2 -2
- package/{index-b179de93.js.map → index-c2c5dd5d.js.map} +1 -1
- package/{index-9118a2a4.js → index-d83e2bc2.js} +1 -1
- package/{index-9118a2a4.js.map → index-d83e2bc2.js.map} +1 -1
- package/{index-d029f899.js → index-dc264d1a.js} +6 -6
- package/{index-d029f899.js.map → index-dc264d1a.js.map} +1 -1
- package/{index-ff4bc2bb.js → index-e7546341.js} +2 -2
- package/{index-ff4bc2bb.js.map → index-e7546341.js.map} +1 -1
- package/{index-f0e93243.js → index-ea60d5ce.js} +6 -6
- package/{index-f0e93243.js.map → index-ea60d5ce.js.map} +1 -1
- package/{index-f86cd2f7.js → index-ef404210.js} +4 -4
- package/{index-f86cd2f7.js.map → index-ef404210.js.map} +1 -1
- package/{index-3cffa0b8.js → index-fba0a213.js} +3 -3
- package/{index-3cffa0b8.js.map → index-fba0a213.js.map} +1 -1
- package/index.d.ts +4 -2
- package/index.js +52 -51
- package/index.js.map +1 -1
- package/{index.module-a01d7416.js → index.module-8c38026f.js} +1 -1
- package/{index.module-a01d7416.js.map → index.module-8c38026f.js.map} +1 -1
- package/package.json +2 -2
- package/resolvedReplyType-3b091b4c.js +29 -0
- package/resolvedReplyType-3b091b4c.js.map +1 -0
- package/sendbirdSelectors.js +3 -3
- package/{stringSet-b7fd994d.js → stringSet-21b6dbb8.js} +1 -1
- package/{stringSet-b7fd994d.js.map → stringSet-21b6dbb8.js.map} +1 -1
- package/{tokenize-537ba1e5.js → tokenize-52f8c30c.js} +2 -2
- package/{tokenize-537ba1e5.js.map → tokenize-52f8c30c.js.map} +1 -1
- package/{topics-abeef9b5.js → topics-89a856f6.js} +1 -1
- package/{topics-abeef9b5.js.map → topics-89a856f6.js.map} +1 -1
- package/{types-256ac544.js → types-e62d482c.js} +1 -1
- package/types-e62d482c.js.map +1 -0
- package/ui/Accordion.js +2 -2
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +2 -2
- package/ui/Avatar.js +1 -1
- package/ui/Badge.js +4 -4
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +2 -2
- package/ui/ChannelAvatar.js +2 -2
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +3 -3
- package/ui/EmojiReactions.js +13 -13
- package/ui/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 +71 -18
- package/ui/MessageInput.js.map +1 -1
- 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-af15b9c7.js → useDirtyGetMentions-20e1c85d.js} +1 -1
- package/{useDirtyGetMentions-af15b9c7.js.map → useDirtyGetMentions-20e1c85d.js.map} +1 -1
- package/{useLongPress-d6ae865b.js → useLongPress-0c20bd2f.js} +3 -3
- package/{useLongPress-d6ae865b.js.map → useLongPress-0c20bd2f.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-b1338a23.js → utils-95512c29.js} +1 -1
- package/{utils-b1338a23.js.map → utils-95512c29.js.map} +1 -1
- package/{utils-9d1564a9.js → utils-9ca6a7a1.js} +2 -2
- package/{utils-9d1564a9.js.map → utils-9ca6a7a1.js.map} +1 -1
- package/{utils-b9abb204.js → utils-bee6567e.js} +1 -1
- package/{utils-b9abb204.js.map → utils-bee6567e.js.map} +1 -1
- package/{utils-28649e5d.js → utils-cefd05d8.js} +1 -1
- package/{utils-28649e5d.js.map → utils-cefd05d8.js.map} +1 -1
- package/{uuid-d20d317b.js → uuid-1141c1b4.js} +1 -1
- package/{uuid-d20d317b.js.map → uuid-1141c1b4.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelProvider-f39a427f.js.map +0 -1
- package/ThreadProvider-da0112d8.js.map +0 -1
- package/_rollupPluginBabelHelpers-fba60f75.js.map +0 -1
- package/cjs/ChannelProvider-1599fb99.js.map +0 -1
- package/cjs/ThreadProvider-c79aceb3.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-17f53083.js.map +0 -1
- package/cjs/index-70ee1e87.js.map +0 -1
- package/cjs/index-98dc0da4.js.map +0 -1
- package/cjs/types-edd094e8.js.map +0 -1
- package/index-10f046cd.js.map +0 -1
- package/index-200e4585.js.map +0 -1
- package/types-256ac544.js.map +0 -1
|
@@ -1,73 +1,75 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
3
|
-
import { u as useChannelContext } from '../../ChannelProvider-
|
|
4
|
-
import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-
|
|
3
|
+
import { u as useChannelContext } from '../../ChannelProvider-cb73270f.js';
|
|
4
|
+
import { P as PlaceHolder, a as PlaceHolderTypes } from '../../index-915d9f7d.js';
|
|
5
5
|
import ConnectionStatus from '../../ui/ConnectionStatus.js';
|
|
6
6
|
import ChannelHeader from './ChannelHeader.js';
|
|
7
7
|
import MessageList from './MessageList.js';
|
|
8
8
|
import TypingIndicator from './TypingIndicator.js';
|
|
9
9
|
import MessageInputWrapper from './MessageInput.js';
|
|
10
10
|
import '../../withSendbird.js';
|
|
11
|
-
import '../../_rollupPluginBabelHelpers-
|
|
12
|
-
import '../../UserProfileContext-
|
|
11
|
+
import '../../_rollupPluginBabelHelpers-b764bedf.js';
|
|
12
|
+
import '../../UserProfileContext-4c07230f.js';
|
|
13
13
|
import 'prop-types';
|
|
14
|
-
import '../../
|
|
15
|
-
import '../../index-
|
|
16
|
-
import '../../
|
|
17
|
-
import '../../
|
|
14
|
+
import '../../const-89c31819.js';
|
|
15
|
+
import '../../index-e7546341.js';
|
|
16
|
+
import '../../index-d83e2bc2.js';
|
|
17
|
+
import '../../topics-89a856f6.js';
|
|
18
|
+
import '../../index-4415e3d4.js';
|
|
18
19
|
import '../../utils/message/getOutgoingMessageState.js';
|
|
19
|
-
import '../../compareIds-
|
|
20
|
-
import '../../const-735145c8.js';
|
|
20
|
+
import '../../compareIds-e8adfea2.js';
|
|
21
21
|
import '@sendbird/chat/groupChannel';
|
|
22
|
-
import '../../uuid-
|
|
22
|
+
import '../../uuid-1141c1b4.js';
|
|
23
23
|
import '@sendbird/chat/message';
|
|
24
|
-
import '../../consts-
|
|
25
|
-
import '../../
|
|
26
|
-
import '../../
|
|
24
|
+
import '../../consts-746d9d54.js';
|
|
25
|
+
import '../../resolvedReplyType-3b091b4c.js';
|
|
26
|
+
import '../../LocalizationContext-689d8aa4.js';
|
|
27
|
+
import '../../stringSet-21b6dbb8.js';
|
|
27
28
|
import '../../ui/Icon.js';
|
|
28
|
-
import '../../index-
|
|
29
|
+
import '../../index-ada3d917.js';
|
|
29
30
|
import '../../ui/Loader.js';
|
|
30
|
-
import '../../utils-
|
|
31
|
+
import '../../utils-9ca6a7a1.js';
|
|
31
32
|
import '../../ui/IconButton.js';
|
|
32
33
|
import '../../ui/ChannelAvatar.js';
|
|
33
34
|
import '../../ui/Avatar.js';
|
|
34
35
|
import '../../ui/ImageRenderer.js';
|
|
35
|
-
import '../../utils-
|
|
36
|
-
import '../../MediaQueryContext-
|
|
37
|
-
import '../../utils-
|
|
36
|
+
import '../../utils-bee6567e.js';
|
|
37
|
+
import '../../MediaQueryContext-2604d3dc.js';
|
|
38
|
+
import '../../utils-cefd05d8.js';
|
|
38
39
|
import './Message.js';
|
|
39
40
|
import './SuggestedMentionList.js';
|
|
40
|
-
import '../../const-
|
|
41
|
-
import '../../ThreadProvider-
|
|
41
|
+
import '../../const-2fda8942.js';
|
|
42
|
+
import '../../ThreadProvider-4ecee019.js';
|
|
42
43
|
import '../../Thread/context/types.js';
|
|
43
44
|
import '@sendbird/chat';
|
|
44
45
|
import '../../ui/DateSeparator.js';
|
|
45
|
-
import '../../color-
|
|
46
|
+
import '../../color-65ea9130.js';
|
|
46
47
|
import '../../ui/MessageInput.js';
|
|
47
48
|
import '../../ui/Button.js';
|
|
48
49
|
import 'dompurify';
|
|
49
|
-
import '../../consts-
|
|
50
|
-
import '../../consts-
|
|
51
|
-
import '../../consts-
|
|
52
|
-
import '../../tokenize-
|
|
50
|
+
import '../../consts-a7afe685.js';
|
|
51
|
+
import '../../consts-f3cb0986.js';
|
|
52
|
+
import '../../consts-60bc9064.js';
|
|
53
|
+
import '../../tokenize-52f8c30c.js';
|
|
54
|
+
import '../../index.module-8c38026f.js';
|
|
53
55
|
import '../../ui/MessageContent.js';
|
|
54
56
|
import '../../ui/UserProfile.js';
|
|
55
57
|
import '../../sendbirdSelectors.js';
|
|
56
|
-
import '../../index-
|
|
57
|
-
import '../../index-
|
|
58
|
-
import '../../index-
|
|
58
|
+
import '../../index-dc264d1a.js';
|
|
59
|
+
import '../../index-fba0a213.js';
|
|
60
|
+
import '../../index-c2c5dd5d.js';
|
|
59
61
|
import '../../ui/MessageItemMenu.js';
|
|
60
62
|
import '../../ui/ContextMenu.js';
|
|
61
63
|
import 'react-dom';
|
|
62
64
|
import '../../ui/SortByRow.js';
|
|
63
|
-
import '../../types-
|
|
65
|
+
import '../../types-e62d482c.js';
|
|
64
66
|
import '../../ui/MessageItemReactionMenu.js';
|
|
65
67
|
import '../../ui/ReactionButton.js';
|
|
66
|
-
import '../../useLongPress-
|
|
68
|
+
import '../../useLongPress-0c20bd2f.js';
|
|
67
69
|
import '../../ui/EmojiReactions.js';
|
|
68
70
|
import '../../ui/ReactionBadge.js';
|
|
69
71
|
import '../../ui/BottomSheet.js';
|
|
70
|
-
import '../../index-
|
|
72
|
+
import '../../index-8ca9e057.js';
|
|
71
73
|
import '../../ui/UserListItem.js';
|
|
72
74
|
import '../../ui/MutedAvatarOverlay.js';
|
|
73
75
|
import '../../ui/Checkbox.js';
|
|
@@ -76,8 +78,7 @@ import '../../ui/TooltipWrapper.js';
|
|
|
76
78
|
import '../../Message/context.js';
|
|
77
79
|
import '../../ui/AdminMessage.js';
|
|
78
80
|
import '../../ui/TextMessageItemBody.js';
|
|
79
|
-
import '../../index-
|
|
80
|
-
import '../../index.module-a01d7416.js';
|
|
81
|
+
import '../../index-68e4f991.js';
|
|
81
82
|
import '../../ui/MentionLabel.js';
|
|
82
83
|
import '../../ui/LinkLabel.js';
|
|
83
84
|
import '../../ui/FileMessageItemBody.js';
|
|
@@ -86,25 +87,25 @@ import '../../ui/ThumbnailMessageItemBody.js';
|
|
|
86
87
|
import '../../ui/OGMessageItemBody.js';
|
|
87
88
|
import '../../ui/UnknownMessageItemBody.js';
|
|
88
89
|
import '../../ui/QuoteMessage.js';
|
|
89
|
-
import '../../index-
|
|
90
|
+
import '../../index-284c6669.js';
|
|
90
91
|
import '../../ui/ThreadReplies.js';
|
|
91
92
|
import '../../ui/VoiceMessageItemBody.js';
|
|
92
93
|
import '../../ui/ProgressBar.js';
|
|
93
94
|
import '../../VoicePlayer/useVoicePlayer.js';
|
|
94
|
-
import '../../index-
|
|
95
|
+
import '../../index-1a9ad5e8.js';
|
|
95
96
|
import '../../VoiceRecorder/context.js';
|
|
96
97
|
import '../../ui/Modal.js';
|
|
97
98
|
import '../../ui/PlaybackTime.js';
|
|
98
99
|
import './FileViewer.js';
|
|
99
100
|
import './RemoveMessageModal.js';
|
|
100
|
-
import '../../index-
|
|
101
|
-
import '../../useDirtyGetMentions-
|
|
101
|
+
import '../../index-6d5e4fbe.js';
|
|
102
|
+
import '../../useDirtyGetMentions-20e1c85d.js';
|
|
102
103
|
import './UnreadCount.js';
|
|
103
104
|
import './FrozenNotification.js';
|
|
104
105
|
import '../../ui/QuoteMessageInput.js';
|
|
105
|
-
import '../../VoiceMessageInputWrapper-
|
|
106
|
+
import '../../VoiceMessageInputWrapper-5f95a888.js';
|
|
106
107
|
import '../../VoiceRecorder/useVoiceRecorder.js';
|
|
107
|
-
import '../../index-
|
|
108
|
+
import '../../index-ef404210.js';
|
|
108
109
|
|
|
109
110
|
const ChannelUI = _ref => {
|
|
110
111
|
var _globalStore$stores, _globalStore$stores$s, _globalStore$config, _globalStore$config2, _globalStore$config3, _globalStore$config3$;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelUI.js","sources":["../../../src/modules/Channel/components/ChannelUI/index.tsx"],"sourcesContent":["import './channel-ui.scss';\n\nimport React from 'react';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport ConnectionStatus from '../../../../ui/ConnectionStatus';\nimport ChannelHeader from '../ChannelHeader';\nimport MessageList from '../MessageList';\nimport TypingIndicator from '../TypingIndicator';\nimport MessageInputWrapper from '../MessageInput';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\n\nexport interface ChannelUIProps {\n isLoading?: boolean;\n renderPlaceholderLoader?: () => React.ReactElement;\n renderPlaceholderInvalid?: () => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderChannelHeader?: () => React.ReactElement;\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n renderTypingIndicator?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n}\n\nconst ChannelUI: React.FC<ChannelUIProps> = ({\n isLoading,\n renderPlaceholderLoader,\n renderPlaceholderInvalid,\n renderPlaceholderEmpty,\n renderChannelHeader,\n renderMessage,\n renderMessageInput,\n renderTypingIndicator,\n renderCustomSeparator,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n}: ChannelUIProps) => {\n const {\n channelUrl,\n isInvalid,\n } = useChannelContext();\n\n const globalStore = useSendbirdStateContext();\n const sdkError = globalStore?.stores?.sdkStore?.error;\n const logger = globalStore?.config?.logger;\n const isOnline = globalStore?.config?.isOnline;\n\n if (isLoading) {\n return (<div className=\"sendbird-conversation\">\n {\n renderPlaceholderLoader?.() || (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n }\n </div>);\n }\n\n if (!channelUrl) {\n return (<div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.NO_CHANNELS} />\n )\n }\n </div>);\n }\n if (isInvalid) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n }\n </div>\n );\n }\n if (sdkError) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder\n type={PlaceHolderTypes.WRONG}\n retryToConnect={() => {\n logger.info('Channel: reconnecting');\n // reconnect();\n }}\n />\n )\n }\n </div>\n );\n }\n return (\n <div className='sendbird-conversation'>\n {renderChannelHeader?.() || (\n <ChannelHeader className=\"sendbird-conversation__channel-header\" />\n )}\n <MessageList\n className=\"sendbird-conversation__message-list\"\n renderMessage={renderMessage}\n renderPlaceholderEmpty={renderPlaceholderEmpty}\n renderCustomSeparator={renderCustomSeparator}\n renderPlaceholderLoader={renderPlaceholderLoader}\n />\n <div className=\"sendbird-conversation__footer\">\n {\n renderMessageInput?.() || (\n <MessageInputWrapper\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n />\n )\n }\n <div className=\"sendbird-conversation__footer__typing-indicator\">\n {\n renderTypingIndicator?.()\n || globalStore?.config?.groupChannel?.enableTypingIndicator && (\n <TypingIndicator />\n )\n }\n {\n !isOnline && (\n <ConnectionStatus />\n )\n }\n </div>\n </div>\n </div>\n );\n};\n\nexport default ChannelUI;\n"],"names":["ChannelUI","_ref","_globalStore$stores","_globalStore$stores$s","_globalStore$config","_globalStore$config2","_globalStore$config3","_globalStore$config3$","isLoading","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeparator","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","channelUrl","isInvalid","useChannelContext","globalStore","useSendbirdStateContext","sdkError","stores","sdkStore","error","logger","config","isOnline","React","createElement","className","PlaceHolder","type","PlaceHolderTypes","LOADING","NO_CHANNELS","WRONG","retryToConnect","info","ChannelHeader","MessageList","MessageInputWrapper","groupChannel","enableTypingIndicator","TypingIndicator","ConnectionStatus"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChannelUI.js","sources":["../../../src/modules/Channel/components/ChannelUI/index.tsx"],"sourcesContent":["import './channel-ui.scss';\n\nimport React from 'react';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport ConnectionStatus from '../../../../ui/ConnectionStatus';\nimport ChannelHeader from '../ChannelHeader';\nimport MessageList from '../MessageList';\nimport TypingIndicator from '../TypingIndicator';\nimport MessageInputWrapper from '../MessageInput';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\n\nexport interface ChannelUIProps {\n isLoading?: boolean;\n renderPlaceholderLoader?: () => React.ReactElement;\n renderPlaceholderInvalid?: () => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderChannelHeader?: () => React.ReactElement;\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n renderTypingIndicator?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n}\n\nconst ChannelUI: React.FC<ChannelUIProps> = ({\n isLoading,\n renderPlaceholderLoader,\n renderPlaceholderInvalid,\n renderPlaceholderEmpty,\n renderChannelHeader,\n renderMessage,\n renderMessageInput,\n renderTypingIndicator,\n renderCustomSeparator,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n}: ChannelUIProps) => {\n const {\n channelUrl,\n isInvalid,\n } = useChannelContext();\n\n const globalStore = useSendbirdStateContext();\n const sdkError = globalStore?.stores?.sdkStore?.error;\n const logger = globalStore?.config?.logger;\n const isOnline = globalStore?.config?.isOnline;\n\n if (isLoading) {\n return (<div className=\"sendbird-conversation\">\n {\n renderPlaceholderLoader?.() || (\n <PlaceHolder type={PlaceHolderTypes.LOADING} />\n )\n }\n </div>);\n }\n\n if (!channelUrl) {\n return (<div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.NO_CHANNELS} />\n )\n }\n </div>);\n }\n if (isInvalid) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n )\n }\n </div>\n );\n }\n if (sdkError) {\n return (\n <div className=\"sendbird-conversation\">\n {\n renderPlaceholderInvalid?.() || (\n <PlaceHolder\n type={PlaceHolderTypes.WRONG}\n retryToConnect={() => {\n logger.info('Channel: reconnecting');\n // reconnect();\n }}\n />\n )\n }\n </div>\n );\n }\n return (\n <div className='sendbird-conversation'>\n {renderChannelHeader?.() || (\n <ChannelHeader className=\"sendbird-conversation__channel-header\" />\n )}\n <MessageList\n className=\"sendbird-conversation__message-list\"\n renderMessage={renderMessage}\n renderPlaceholderEmpty={renderPlaceholderEmpty}\n renderCustomSeparator={renderCustomSeparator}\n renderPlaceholderLoader={renderPlaceholderLoader}\n />\n <div className=\"sendbird-conversation__footer\">\n {\n renderMessageInput?.() || (\n <MessageInputWrapper\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n />\n )\n }\n <div className=\"sendbird-conversation__footer__typing-indicator\">\n {\n renderTypingIndicator?.()\n || globalStore?.config?.groupChannel?.enableTypingIndicator && (\n <TypingIndicator />\n )\n }\n {\n !isOnline && (\n <ConnectionStatus />\n )\n }\n </div>\n </div>\n </div>\n );\n};\n\nexport default ChannelUI;\n"],"names":["ChannelUI","_ref","_globalStore$stores","_globalStore$stores$s","_globalStore$config","_globalStore$config2","_globalStore$config3","_globalStore$config3$","isLoading","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeparator","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","channelUrl","isInvalid","useChannelContext","globalStore","useSendbirdStateContext","sdkError","stores","sdkStore","error","logger","config","isOnline","React","createElement","className","PlaceHolder","type","PlaceHolderTypes","LOADING","NO_CHANNELS","WRONG","retryToConnect","info","ChannelHeader","MessageList","MessageInputWrapper","groupChannel","enableTypingIndicator","TypingIndicator","ConnectionStatus"],"mappings":"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"}
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import { createPortal } from 'react-dom';
|
|
3
3
|
import Avatar from '../../ui/Avatar.js';
|
|
4
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-
|
|
4
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-ada3d917.js';
|
|
5
5
|
import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
|
|
6
|
-
import { M as MODAL_ROOT } from '../../index-
|
|
7
|
-
import { x as isSupportedFileView, y as isVideo, z as isImage } from '../../index-
|
|
6
|
+
import { M as MODAL_ROOT } from '../../index-8ca9e057.js';
|
|
7
|
+
import { x as isSupportedFileView, y as isVideo, z as isImage } from '../../index-4415e3d4.js';
|
|
8
8
|
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
9
|
-
import { u as useChannelContext } from '../../ChannelProvider-
|
|
9
|
+
import { u as useChannelContext } from '../../ChannelProvider-cb73270f.js';
|
|
10
10
|
import '../../ui/ImageRenderer.js';
|
|
11
|
-
import '../../uuid-
|
|
11
|
+
import '../../uuid-1141c1b4.js';
|
|
12
12
|
import 'prop-types';
|
|
13
|
-
import '../../stringSet-
|
|
14
|
-
import '../../_rollupPluginBabelHelpers-
|
|
13
|
+
import '../../stringSet-21b6dbb8.js';
|
|
14
|
+
import '../../_rollupPluginBabelHelpers-b764bedf.js';
|
|
15
15
|
import '../../utils/message/getOutgoingMessageState.js';
|
|
16
16
|
import '../../withSendbird.js';
|
|
17
|
-
import '../../UserProfileContext-
|
|
18
|
-
import '../../
|
|
19
|
-
import '../../index-
|
|
20
|
-
import '../../
|
|
21
|
-
import '../../
|
|
22
|
-
import '../../
|
|
17
|
+
import '../../UserProfileContext-4c07230f.js';
|
|
18
|
+
import '../../const-89c31819.js';
|
|
19
|
+
import '../../index-e7546341.js';
|
|
20
|
+
import '../../index-d83e2bc2.js';
|
|
21
|
+
import '../../topics-89a856f6.js';
|
|
22
|
+
import '../../compareIds-e8adfea2.js';
|
|
23
23
|
import '@sendbird/chat/groupChannel';
|
|
24
24
|
import '@sendbird/chat/message';
|
|
25
|
-
import '../../consts-
|
|
25
|
+
import '../../consts-746d9d54.js';
|
|
26
|
+
import '../../resolvedReplyType-3b091b4c.js';
|
|
26
27
|
|
|
27
28
|
const FileViewerComponent = _ref => {
|
|
28
29
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileViewer.js","sources":["../../../src/modules/Channel/components/FileViewer/index.tsx"],"sourcesContent":["import React from 'react';\nimport { createPortal } from 'react-dom';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport './file-viewer.scss';\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconColors, IconTypes } from '../../../../ui/Icon';\nimport { MODAL_ROOT } from '../../../../hooks/useModal/ModalRoot';\n\nimport { isImage, isVideo, isSupportedFileView } from '../../../../utils';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { EveryMessage } from '../../../../types';\n\ntype FileViewerUIProps = {\n profileUrl: string;\n nickname: string;\n // file\n name: string;\n type: string;\n url: string;\n // others\n isByMe: boolean;\n onCancel: () => void;\n onDelete: () => void;\n disableDelete: boolean;\n};\n\nexport const FileViewerComponent: React.FC<FileViewerUIProps> = ({\n // sender\n profileUrl,\n nickname,\n // file\n name,\n type,\n url,\n // others\n isByMe,\n onCancel,\n onDelete,\n disableDelete,\n}: FileViewerUIProps) => (\n <div className=\"sendbird-fileviewer\">\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div className=\"sendbird-fileviewer__header__right\">\n {\n isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\">\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n {\n onDelete && isByMe && (\n <div className=\"sendbird-fileviewer__header__right__actions__delete\">\n <Icon\n className={disableDelete ? 'disabled' : ''}\n type={IconTypes.DELETE}\n fillColor={disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={() => { if (!disableDelete) { onDelete(); } }}\n />\n </div>\n )\n }\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={onCancel}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n <video controls className=\"sendbird-fileviewer__content__video\">\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className=\"sendbird-fileviewer__content__img\"\n />\n )\n }\n {\n !isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__content__unsupported\">\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n Unsupoprted message\n </Label>\n </div>\n )\n }\n </div>\n </div>\n);\n\ntype FileViewerProps = {\n onCancel:() => void;\n message: FileMessage;\n};\n\nconst FileViewer: React.FC<FileViewerProps> = ({ onCancel, message }: FileViewerProps) => {\n const { deleteMessage } = useChannelContext();\n const {\n sender,\n type,\n url,\n name = '',\n threadInfo,\n } = message;\n const user = useSendbirdStateContext()?.config?.userId;\n const isByMe = user === message?.sender?.userId;\n const disableDelete = threadInfo?.replyCount > 0;\n const { profileUrl, nickname = '' } = sender;\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={profileUrl}\n nickname={nickname}\n type={type}\n url={url}\n name={name}\n onCancel={onCancel}\n onDelete={() => {\n deleteMessage(message as EveryMessage).then(() => {\n onCancel();\n });\n }}\n isByMe={isByMe}\n disableDelete={disableDelete}\n />\n ),\n document.getElementById(MODAL_ROOT),\n );\n};\n\nexport default FileViewer;\n"],"names":["FileViewerComponent","_ref","profileUrl","nickname","name","type","url","isByMe","onCancel","onDelete","disableDelete","React","createElement","className","Avatar","height","width","src","Label","LabelTypography","H_2","color","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","rel","href","target","Icon","IconTypes","DOWNLOAD","fillColor","IconColors","ON_BACKGROUND_1","DELETE","GRAY","onClick","CLOSE","isVideo","controls","isImage","alt","H_1","FileViewer","_ref2","_useSendbirdStateCont","_useSendbirdStateCont2","_message$sender","message","deleteMessage","useChannelContext","sender","threadInfo","user","useSendbirdStateContext","config","userId","replyCount","createPortal","then","document","getElementById","MODAL_ROOT"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileViewer.js","sources":["../../../src/modules/Channel/components/FileViewer/index.tsx"],"sourcesContent":["import React from 'react';\nimport { createPortal } from 'react-dom';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport './file-viewer.scss';\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconColors, IconTypes } from '../../../../ui/Icon';\nimport { MODAL_ROOT } from '../../../../hooks/useModal/ModalRoot';\n\nimport { isImage, isVideo, isSupportedFileView } from '../../../../utils';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport { EveryMessage } from '../../../../types';\n\ntype FileViewerUIProps = {\n profileUrl: string;\n nickname: string;\n // file\n name: string;\n type: string;\n url: string;\n // others\n isByMe: boolean;\n onCancel: () => void;\n onDelete: () => void;\n disableDelete: boolean;\n};\n\nexport const FileViewerComponent: React.FC<FileViewerUIProps> = ({\n // sender\n profileUrl,\n nickname,\n // file\n name,\n type,\n url,\n // others\n isByMe,\n onCancel,\n onDelete,\n disableDelete,\n}: FileViewerUIProps) => (\n <div className=\"sendbird-fileviewer\">\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div className=\"sendbird-fileviewer__header__right\">\n {\n isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\">\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n {\n onDelete && isByMe && (\n <div className=\"sendbird-fileviewer__header__right__actions__delete\">\n <Icon\n className={disableDelete ? 'disabled' : ''}\n type={IconTypes.DELETE}\n fillColor={disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={() => { if (!disableDelete) { onDelete(); } }}\n />\n </div>\n )\n }\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={onCancel}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n <video controls className=\"sendbird-fileviewer__content__video\">\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className=\"sendbird-fileviewer__content__img\"\n />\n )\n }\n {\n !isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__content__unsupported\">\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n Unsupoprted message\n </Label>\n </div>\n )\n }\n </div>\n </div>\n);\n\ntype FileViewerProps = {\n onCancel:() => void;\n message: FileMessage;\n};\n\nconst FileViewer: React.FC<FileViewerProps> = ({ onCancel, message }: FileViewerProps) => {\n const { deleteMessage } = useChannelContext();\n const {\n sender,\n type,\n url,\n name = '',\n threadInfo,\n } = message;\n const user = useSendbirdStateContext()?.config?.userId;\n const isByMe = user === message?.sender?.userId;\n const disableDelete = threadInfo?.replyCount > 0;\n const { profileUrl, nickname = '' } = sender;\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={profileUrl}\n nickname={nickname}\n type={type}\n url={url}\n name={name}\n onCancel={onCancel}\n onDelete={() => {\n deleteMessage(message as EveryMessage).then(() => {\n onCancel();\n });\n }}\n isByMe={isByMe}\n disableDelete={disableDelete}\n />\n ),\n document.getElementById(MODAL_ROOT),\n );\n};\n\nexport default FileViewer;\n"],"names":["FileViewerComponent","_ref","profileUrl","nickname","name","type","url","isByMe","onCancel","onDelete","disableDelete","React","createElement","className","Avatar","height","width","src","Label","LabelTypography","H_2","color","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","rel","href","target","Icon","IconTypes","DOWNLOAD","fillColor","IconColors","ON_BACKGROUND_1","DELETE","GRAY","onClick","CLOSE","isVideo","controls","isImage","alt","H_1","FileViewer","_ref2","_useSendbirdStateCont","_useSendbirdStateCont2","_message$sender","message","deleteMessage","useChannelContext","sender","threadInfo","user","useSendbirdStateContext","config","userId","replyCount","createPortal","then","document","getElementById","MODAL_ROOT"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React__default, { useContext } from 'react';
|
|
2
|
-
import { a as LocalizationContext } from '../../LocalizationContext-
|
|
3
|
-
import { L as Label, a as LabelTypography } from '../../index-
|
|
4
|
-
import '../../stringSet-
|
|
5
|
-
import '../../index-
|
|
2
|
+
import { a as LocalizationContext } from '../../LocalizationContext-689d8aa4.js';
|
|
3
|
+
import { L as Label, a as LabelTypography } from '../../index-ada3d917.js';
|
|
4
|
+
import '../../stringSet-21b6dbb8.js';
|
|
5
|
+
import '../../index-d83e2bc2.js';
|
|
6
6
|
import 'prop-types';
|
|
7
7
|
|
|
8
8
|
const FrozenNotification = _ref => {
|
|
@@ -1,67 +1,69 @@
|
|
|
1
1
|
import React__default, { useState, useEffect, useRef, useLayoutEffect, useMemo } from 'react';
|
|
2
|
-
import { f as format } from '../../index-
|
|
2
|
+
import { f as format } from '../../index-e7546341.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-cb73270f.js';
|
|
6
|
+
import { h as getClassName } from '../../index-4415e3d4.js';
|
|
7
|
+
import { M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-89c31819.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-ada3d917.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-2fda8942.js';
|
|
15
|
+
import { u as useLocalization } from '../../LocalizationContext-689d8aa4.js';
|
|
16
|
+
import { a as useHandleOnScrollCallback } from '../../index-6d5e4fbe.js';
|
|
17
|
+
import { u as useDirtyGetMentions } from '../../useDirtyGetMentions-20e1c85d.js';
|
|
18
|
+
import '../../index-d83e2bc2.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-1141c1b4.js';
|
|
24
|
+
import '../../ThreadProvider-4ecee019.js';
|
|
25
25
|
import '../../utils/message/getOutgoingMessageState.js';
|
|
26
|
-
import '../../UserProfileContext-
|
|
27
|
-
import '../../_rollupPluginBabelHelpers-
|
|
26
|
+
import '../../UserProfileContext-4c07230f.js';
|
|
27
|
+
import '../../_rollupPluginBabelHelpers-b764bedf.js';
|
|
28
28
|
import '../../Thread/context/types.js';
|
|
29
29
|
import '@sendbird/chat';
|
|
30
|
-
import '../../topics-
|
|
30
|
+
import '../../topics-89a856f6.js';
|
|
31
31
|
import '@sendbird/chat/groupChannel';
|
|
32
32
|
import '@sendbird/chat/message';
|
|
33
|
-
import '../../consts-
|
|
33
|
+
import '../../consts-746d9d54.js';
|
|
34
34
|
import '../../withSendbird.js';
|
|
35
|
-
import '../../compareIds-
|
|
36
|
-
import '../../
|
|
37
|
-
import '../../
|
|
35
|
+
import '../../compareIds-e8adfea2.js';
|
|
36
|
+
import '../../resolvedReplyType-3b091b4c.js';
|
|
37
|
+
import '../../color-65ea9130.js';
|
|
38
|
+
import '../../stringSet-21b6dbb8.js';
|
|
38
39
|
import '../../ui/IconButton.js';
|
|
39
40
|
import '../../ui/Button.js';
|
|
40
41
|
import 'dompurify';
|
|
41
|
-
import '../../consts-
|
|
42
|
-
import '../../consts-
|
|
43
|
-
import '../../consts-
|
|
44
|
-
import '../../tokenize-
|
|
42
|
+
import '../../consts-a7afe685.js';
|
|
43
|
+
import '../../consts-f3cb0986.js';
|
|
44
|
+
import '../../consts-60bc9064.js';
|
|
45
|
+
import '../../tokenize-52f8c30c.js';
|
|
46
|
+
import '../../index.module-8c38026f.js';
|
|
45
47
|
import '../../ui/UserProfile.js';
|
|
46
48
|
import '../../sendbirdSelectors.js';
|
|
47
|
-
import '../../utils-
|
|
48
|
-
import '../../index-
|
|
49
|
+
import '../../utils-cefd05d8.js';
|
|
50
|
+
import '../../index-dc264d1a.js';
|
|
49
51
|
import '../../ui/Loader.js';
|
|
50
|
-
import '../../index-
|
|
51
|
-
import '../../index-
|
|
52
|
+
import '../../index-fba0a213.js';
|
|
53
|
+
import '../../index-c2c5dd5d.js';
|
|
52
54
|
import '../../ui/MessageItemMenu.js';
|
|
53
55
|
import '../../ui/ContextMenu.js';
|
|
54
56
|
import 'react-dom';
|
|
55
57
|
import '../../ui/SortByRow.js';
|
|
56
|
-
import '../../types-
|
|
58
|
+
import '../../types-e62d482c.js';
|
|
57
59
|
import '../../ui/MessageItemReactionMenu.js';
|
|
58
60
|
import '../../ui/ReactionButton.js';
|
|
59
|
-
import '../../useLongPress-
|
|
60
|
-
import '../../MediaQueryContext-
|
|
61
|
+
import '../../useLongPress-0c20bd2f.js';
|
|
62
|
+
import '../../MediaQueryContext-2604d3dc.js';
|
|
61
63
|
import '../../ui/EmojiReactions.js';
|
|
62
64
|
import '../../ui/ReactionBadge.js';
|
|
63
65
|
import '../../ui/BottomSheet.js';
|
|
64
|
-
import '../../index-
|
|
66
|
+
import '../../index-8ca9e057.js';
|
|
65
67
|
import '../../ui/UserListItem.js';
|
|
66
68
|
import '../../ui/MutedAvatarOverlay.js';
|
|
67
69
|
import '../../ui/Checkbox.js';
|
|
@@ -70,8 +72,7 @@ import '../../ui/TooltipWrapper.js';
|
|
|
70
72
|
import '../../Message/context.js';
|
|
71
73
|
import '../../ui/AdminMessage.js';
|
|
72
74
|
import '../../ui/TextMessageItemBody.js';
|
|
73
|
-
import '../../index-
|
|
74
|
-
import '../../index.module-a01d7416.js';
|
|
75
|
+
import '../../index-68e4f991.js';
|
|
75
76
|
import '../../ui/MentionLabel.js';
|
|
76
77
|
import '../../ui/LinkLabel.js';
|
|
77
78
|
import '../../ui/FileMessageItemBody.js';
|
|
@@ -80,12 +81,12 @@ import '../../ui/ThumbnailMessageItemBody.js';
|
|
|
80
81
|
import '../../ui/OGMessageItemBody.js';
|
|
81
82
|
import '../../ui/UnknownMessageItemBody.js';
|
|
82
83
|
import '../../ui/QuoteMessage.js';
|
|
83
|
-
import '../../index-
|
|
84
|
+
import '../../index-284c6669.js';
|
|
84
85
|
import '../../ui/ThreadReplies.js';
|
|
85
86
|
import '../../ui/VoiceMessageItemBody.js';
|
|
86
87
|
import '../../ui/ProgressBar.js';
|
|
87
88
|
import '../../VoicePlayer/useVoicePlayer.js';
|
|
88
|
-
import '../../index-
|
|
89
|
+
import '../../index-1a9ad5e8.js';
|
|
89
90
|
import '../../VoiceRecorder/context.js';
|
|
90
91
|
import '../../ui/Modal.js';
|
|
91
92
|
import '../../ui/PlaybackTime.js';
|
|
@@ -302,6 +303,7 @@ const Message = _ref => {
|
|
|
302
303
|
maxSuggestionCount: maxUserSuggestionCount
|
|
303
304
|
}), /*#__PURE__*/React__default.createElement(MessageInput, {
|
|
304
305
|
isEdit: true,
|
|
306
|
+
channel: currentGroupChannel,
|
|
305
307
|
disabled: disabled,
|
|
306
308
|
ref: editMessageInputRef,
|
|
307
309
|
mentionSelectedUser: selectedUser,
|
|
@@ -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 // Move the messsage list scroll when the last message's height is changed by reactions\n useDidMountEffect(() => {\n if (currentGroupChannel?.lastMessage?.messageId === message?.messageId) {\n handleScroll?.();\n }\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 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","_currentGroupChannel$","lastMessage","messageId","reactions","useLayoutEffect","animationTimeout","messageHighlightedTimeout","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","mentionSelectedUser","onStartTyping","_currentGroupChannel$2","startTyping","onUpdateMessage","_ref3","_currentGroupChannel$3","mentionTemplate","endTyping","onCancelEdit","_currentGroupChannel$4","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","style","marginBottom","MessageContent","channel","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;AACA1E,EAAAA,iBAAiB,CAAC,MAAM;AAAA,IAAA,IAAAwG,qBAAA,CAAA;IACtB,IAAI,CAAAlE,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAkE,qBAAA,GAAnBlE,mBAAmB,CAAEmE,WAAW,MAAAD,IAAAA,IAAAA,qBAAA,uBAAhCA,qBAAA,CAAkCE,SAAS,OAAK/F,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE+F,SAAS,CAAE,EAAA;AACtE3F,MAAAA,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,EAAI,CAAA;AAClB,KAAA;GACD,EAAE,CAAC6C,QAAQ,EAAEjD,OAAO,KAAPA,IAAAA,IAAAA,OAAO,wBAAAF,kBAAA,GAAPE,OAAO,CAAEgG,SAAS,cAAAlG,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAA,CAAoB6E,MAAM,CAAC,CAAC,CAAA;AAC1CsB,EAAAA,eAAe,CAAC,MAAM;AACpB5F,IAAAA,6BAA6B,KAA7BA,IAAAA,IAAAA,6BAA6B,KAA7BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,6BAA6B,EAAI,CAAA;GAClC,EAAE,EAAE,CAAC,CAAA;AAEN4F,EAAAA,eAAe,CAAC,MAAM;IACpB,IAAIC,gBAAgB,GAAG,IAAI,CAAA;IAC3B,IAAIC,yBAAyB,GAAG,IAAI,CAAA;AACpC,IAAA,IAAIvE,oBAAoB,KAAK5B,OAAO,CAAC+F,SAAS,IAAItB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,IAAhBA,gBAAgB,CAAE2B,OAAO,EAAE;AAC3ErB,MAAAA,cAAc,EAAE,CAAA;MAChBvB,aAAa,CAAC,KAAK,CAAC,CAAA;MACpB0C,gBAAgB,GAAGG,UAAU,CAAC,MAAM;QAClC3C,gBAAgB,CAAC,IAAI,CAAC,CAAA;OACvB,EAAE,GAAG,CAAC,CAAA;MACPyC,yBAAyB,GAAGE,UAAU,CAAC,MAAM;QAC3CxE,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;MACX4C,YAAY,CAACJ,gBAAgB,CAAC,CAAA;MAC9BI,YAAY,CAACH,yBAAyB,CAAC,CAAA;KACxC,CAAA;AACH,GAAC,EAAE,CAACvE,oBAAoB,EAAE6C,gBAAgB,CAAC2B,OAAO,EAAEpG,OAAO,CAAC+F,SAAS,CAAC,CAAC,CAAA;AAEvEE,EAAAA,eAAe,CAAC,MAAM;IACpB,IAAIC,gBAAgB,GAAG,IAAI,CAAA;IAC3B,IAAIK,sBAAsB,GAAG,IAAI,CAAA;AACjC,IAAA,IAAIzE,iBAAiB,KAAK9B,OAAO,CAAC+F,SAAS,IAAItB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,IAAhBA,gBAAgB,CAAE2B,OAAO,EAAE;AACxErB,MAAAA,cAAc,EAAE,CAAA;MAChBrB,gBAAgB,CAAC,KAAK,CAAC,CAAA;MACvBwC,gBAAgB,GAAGG,UAAU,CAAC,MAAM;QAClC7C,aAAa,CAAC,IAAI,CAAC,CAAA;OACpB,EAAE,GAAG,CAAC,CAAA;MACP+C,sBAAsB,GAAGF,UAAU,CAAC,MAAM;QACxCtE,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;MACX8C,YAAY,CAACJ,gBAAgB,CAAC,CAAA;MAC9BI,YAAY,CAACC,sBAAsB,CAAC,CAAA;KACrC,CAAA;AACH,GAAC,EAAE,CAACzE,iBAAiB,EAAE2C,gBAAgB,CAAC2B,OAAO,EAAEpG,OAAO,CAAC+F,SAAS,EAAElD,iBAAiB,CAAC,CAAC,CAAA;AACvF,EAAA,MAAM2D,eAAe,GAAGC,OAAO,CAAC,MAAM;AACpC,IAAA,OAAOjG,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,MAAMkG,uBAAuB,GAAGD,OAAO,CAAC,MAAM;AAC5C,IAAA,IAAInG,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,IAAIkG,eAAe,EAAE;IACnB,oBACEG,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE;AACA;MACA,oBAAoB5G,EAAAA,OAAO,CAAC+F,SAAU;MACtC,oBAAoB/F,EAAAA,OAAO,CAAC6G,SAAU;AACtCvB,MAAAA,GAAG,EAAEb,gBAAiB;AACtBqC,MAAAA,SAAS,EAAEC,YAAY,CAAC,CACtB,2CAA2C,EAC3CxD,UAAU,GAAG,4BAA4B,GAAG,EAAE,EAC9CE,aAAa,GAAG,+BAA+B,GAAG,EAAE,CACrD,CAAA;AAAE,KAAA;AAID;AACAxD,IAAAA,YAAY,KAAKyG,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,CAACxH,OAAO,CAAC6G,SAAS,EAAE,eAAe,EAAE;AAC1CY,MAAAA,MAAM,EAAE/G,UAAAA;AACV,KAAC,CAAC,CACI,CAEX,CAAC,EAEH8F,eAAe,CACZ,CAAA;AAEV,GAAA;EAEA,IAAIvD,QAAQ,IAAIjD,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAD,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAAPC,OAAO,CAAE0H,aAAa,MAAA3H,IAAAA,IAAAA,qBAAA,eAAtBA,qBAAA,CAAA4H,IAAA,CAAA3H,OAAO,CAAmB,EAAE;IAC1C,OAAO,CAAAO,eAAe,KAAfA,IAAAA,IAAAA,eAAe,uBAAfA,eAAe,EAAI,kBACxBoG,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAiB,QAAA,EAEIlD,IAAAA,EAAAA,2BAA2B,iBACzBiC,cAAA,CAAAC,aAAA,CAACiB,oBAAoB,EAAA;AACnBC,MAAAA,cAAc,EAAEnE,eAAgB;AAChCoE,MAAAA,UAAU,EAAE9D,iBAAkB;AAC9BvB,MAAAA,qBAAqB,EAAEA,qBAAsB;MAC7CsF,eAAe,EAAGC,IAAI,IAAK;AACzB,QAAA,IAAIA,IAAI,EAAE;AACRnE,UAAAA,iBAAiB,CAAC,CAAC,GAAGD,cAAc,EAAEoE,IAAI,CAAC,CAAC,CAAA;AAC9C,SAAA;QACArE,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtBQ,eAAe,CAAC6D,IAAI,CAAC,CAAA;QACrB/D,oBAAoB,CAAC,IAAI,CAAC,CAAA;OAC1B;MACFgE,iBAAiB,EAAEA,MAAM;QACvBhE,oBAAoB,CAAC,IAAI,CAAC,CAAA;OAC1B;MACFiE,YAAY,EAAGC,KAAK,IAAK;QACvB9D,wBAAwB,CAAC8D,KAAK,CAAC,CAAA;OAC/B;AACFC,MAAAA,cAAc,EAAE9C,WAAY;AAC5BlE,MAAAA,eAAe,EAAED,mBAAoB;AACrCI,MAAAA,kBAAkB,EAAED,sBAAAA;AAAuB,KAAA,CAE9C,eAEHoF,cAAA,CAAAC,aAAA,CAAC0B,YAAY,EAAA;MACXC,MAAM,EAAA,IAAA;AACNzD,MAAAA,QAAQ,EAAEA,QAAS;AACnBQ,MAAAA,GAAG,EAAEf,mBAAoB;AACzBiE,MAAAA,mBAAmB,EAAErE,YAAa;AAClCnD,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnChB,MAAAA,OAAO,EAAEA,OAAQ;MACjByI,aAAa,EAAEA,MAAM;AAAA,QAAA,IAAAC,sBAAA,CAAA;AACnB/G,QAAAA,mBAAmB,aAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA+G,sBAAA,GAAnB/G,mBAAmB,CAAEgH,WAAW,MAAAD,IAAAA,IAAAA,sBAAA,uBAAhCA,sBAAA,CAAAf,IAAA,CAAAhG,mBAAmB,CAAiB,CAAA;OACpC;MACFiH,eAAe,EAAEC,KAAA,IAA6C;AAAA,QAAA,IAAAC,sBAAA,CAAA;QAAA,IAA5C;UAAE/C,SAAS;UAAE/F,OAAO;AAAE+I,UAAAA,eAAAA;AAAgB,SAAC,GAAAF,KAAA,CAAA;AACvD7G,QAAAA,aAAa,CAAC;UACZ+D,SAAS;UACT/F,OAAO;UACP6D,cAAc;AACdkF,UAAAA,eAAAA;AACF,SAAC,CAAC,CAAA;QACF7F,WAAW,CAAC,KAAK,CAAC,CAAA;AAClBvB,QAAAA,mBAAmB,aAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAmH,sBAAA,GAAnBnH,mBAAmB,CAAEqH,SAAS,MAAAF,IAAAA,IAAAA,sBAAA,uBAA9BA,sBAAA,CAAAnB,IAAA,CAAAhG,mBAAmB,CAAe,CAAA;OAClC;MACFsH,YAAY,EAAEA,MAAM;AAAA,QAAA,IAAAC,sBAAA,CAAA;QAClBtF,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtBE,iBAAiB,CAAC,EAAE,CAAC,CAAA;QACrBE,mBAAmB,CAAC,EAAE,CAAC,CAAA;QACvBM,wBAAwB,CAAC,EAAE,CAAC,CAAA;QAC5BpB,WAAW,CAAC,KAAK,CAAC,CAAA;AAClBvB,QAAAA,mBAAmB,aAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAuH,sBAAA,GAAnBvH,mBAAmB,CAAEqH,SAAS,MAAAE,IAAAA,IAAAA,sBAAA,uBAA9BA,sBAAA,CAAAvB,IAAA,CAAAhG,mBAAmB,CAAe,CAAA;OAClC;MACFwH,eAAe,EAAGlB,IAAI,IAAK;AACzB,QAAA,IAAI,CAAA9D,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAErD,MAAM,OAAKmH,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEnH,MAAM,CAAE,EAAA;UACzCsD,eAAe,CAAC,IAAI,CAAC,CAAA;UACrBR,kBAAkB,CAAC,EAAE,CAAC,CAAA;AACxB,SAAA;OACA;MACFwF,qBAAqB,EAAGC,WAAW,IAAK;QACtCzF,kBAAkB,CAACyF,WAAW,CAAC,CAAA;OAC/B;MACFC,yBAAyB,EAAGC,OAAO,IAAK;QACtCvF,mBAAmB,CAACuF,OAAO,CAAC,CAAA;OAC5B;MACFC,SAAS,EAAGC,CAAC,IAAK;AAChB,QAAA,IAAI/E,2BAA2B,IAAI,CAAAL,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAqB,CAAEM,MAAM,IAAG,CAAC,KAC7D8E,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACC,KAAK,IAAIrE,WAAW,IAAKkE,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACE,OAAO,IAAIJ,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACG,SAAS,CAAC,EACpI;UACA5F,oBAAoB,CAACuF,CAAC,CAAC,CAAA;AACvB,UAAA,OAAO,IAAI,CAAA;AACb,SAAA;AACA,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;AAAE,KAAA,CACF,CAEL,CAAA;AACH,GAAA;EAEA,oBACE9C,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEE,IAAAA,SAAS,EAAEC,YAAY,CAAC,CACtB,2CAA2C,EAC3CxD,UAAU,GAAG,4BAA4B,GAAG,EAAE,EAC9CE,aAAa,GAAG,+BAA+B,GAAG,EAAE,CACrD,CAAE;AACHsG,IAAAA,KAAK,EAAE;AAAEC,MAAAA,YAAY,EAAE,KAAA;KAAQ;IAC/B,oBAAoBhK,EAAAA,OAAO,CAAC+F,SAAU;IACtC,oBAAoB/F,EAAAA,OAAO,CAAC6G,SAAU;AACtCvB,IAAAA,GAAG,EAAEb,gBAAAA;AAAiB,GAAA,EAIpBxE,YAAY,KAAKyG,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,CAACxH,OAAO,CAAC6G,SAAS,EAAE,eAAe,EAAE;AAC1CY,IAAAA,MAAM,EAAE/G,UAAAA;AACV,GAAC,CAAC,CACI,CAEX,CAAC,EAIF,CAAAD,oBAAoB,KAAA,IAAA,IAApBA,oBAAoB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,oBAAoB,EAAI,kBACtBkG,cAAA,CAAAC,aAAA,CAACqD,cAAc,EAAA;AACbnD,IAAAA,SAAS,EAAC,uCAAuC;AACjDhG,IAAAA,MAAM,EAAEA,MAAO;AACfmB,IAAAA,eAAe,EAAEA,eAAgB;AACjCiI,IAAAA,OAAO,EAAEvI,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;AACzCuH,IAAAA,qBAAqB,EAAE/J,YAAAA;AAAa,GAAA,CAEvC,EAID+C,UAAU,iBACRwD,cAAA,CAAAC,aAAA,CAACwD,aAAkB,EAAA;AACjBpK,IAAAA,OAAO,EAAEA,OAAQ;AACjBqK,IAAAA,QAAQ,EAAEA,MAAMjH,aAAa,CAAC,KAAK,CAAA;AAAE,GAAA,CAExC,EAGDC,cAAc,iBACZsD,cAAA,CAAAC,aAAA,CAAC0D,UAAU,EAAA;AACTtK,IAAAA,OAAO,EAAEA,OAAuB;AAChCqK,IAAAA,QAAQ,EAAEA,MAAM/G,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?: () => 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 // Move the messsage list scroll when the last message's height is changed by reactions\n useDidMountEffect(() => {\n if (currentGroupChannel?.lastMessage?.messageId === message?.messageId) {\n handleScroll?.();\n }\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","_currentGroupChannel$","lastMessage","messageId","reactions","useLayoutEffect","animationTimeout","messageHighlightedTimeout","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$2","startTyping","onUpdateMessage","_ref3","_currentGroupChannel$3","mentionTemplate","endTyping","onCancelEdit","_currentGroupChannel$4","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","style","marginBottom","MessageContent","onMessageHeightChange","RemoveMessageModal","onCancel","FileViewer"],"mappings":"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"}
|