@sendbird/uikit-react 3.4.9 → 3.5.0-feature-config-rc-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +81 -62
- 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 +44 -43
- 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 +38 -36
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +31 -29
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +38 -37
- 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 +42 -41
- 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-21425002.js → ChannelListProvider-e9b9d9dc.js} +7 -7
- package/{ChannelListProvider-21425002.js.map → ChannelListProvider-e9b9d9dc.js.map} +1 -1
- package/{ChannelProvider-910bbc1f.js → ChannelProvider-e1ddeda2.js} +52 -30
- package/ChannelProvider-e1ddeda2.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-11c8b9a3.js → CreateChannelProvider-8c7aa9d6.js} +1 -1
- package/{CreateChannelProvider-11c8b9a3.js.map → CreateChannelProvider-8c7aa9d6.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-076d6d2e.js → LocalizationContext-2a605cc6.js} +3 -3
- package/{LocalizationContext-076d6d2e.js.map → LocalizationContext-2a605cc6.js.map} +1 -1
- package/{MediaQueryContext-11f0e43f.js → MediaQueryContext-9a1ce18e.js} +2 -2
- package/MediaQueryContext-9a1ce18e.js.map +1 -0
- package/{MemberList-061d186f.js → MemberList-f74830e4.js} +8 -6
- package/{cjs/MemberList-c886fbc9.js.map → MemberList-f74830e4.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 +37 -32
- 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-426cfb39.js → OpenChannelListProvider-1674b977.js} +3 -3
- package/{OpenChannelListProvider-426cfb39.js.map → OpenChannelListProvider-1674b977.js.map} +1 -1
- package/{OpenChannelProvider-d3a850e3.js → OpenChannelProvider-c1097360.js} +7 -7
- package/{OpenChannelProvider-d3a850e3.js.map → OpenChannelProvider-c1097360.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-78e395ad.js → RemoveMessageModal-103c3502.js} +3 -3
- package/{RemoveMessageModal-78e395ad.js.map → RemoveMessageModal-103c3502.js.map} +1 -1
- package/SendbirdProvider.js +69 -217
- 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 +23 -21
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- 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 +44 -38
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +32 -30
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +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-3a4a4db0.js → ThreadProvider-1799dbab.js} +10 -10
- package/ThreadProvider-1799dbab.js.map +1 -0
- package/{UserProfileContext-9cfbab4d.js → UserProfileContext-cf8bb199.js} +1 -1
- package/{UserProfileContext-9cfbab4d.js.map → UserProfileContext-cf8bb199.js.map} +1 -1
- package/{VoiceMessageInputWrapper-dc459df1.js → VoiceMessageInputWrapper-276b625e.js} +8 -7
- package/VoiceMessageInputWrapper-276b625e.js.map +1 -0
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +15 -3
- package/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/VoiceRecorder/context.js +42 -4
- package/VoiceRecorder/context.js.map +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +14 -2
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/{WebAudioUtils-6df19fcc.js → WebAudioUtils-b2c9fae9.js} +1 -1
- package/{WebAudioUtils-6df19fcc.js.map → WebAudioUtils-b2c9fae9.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-6bb0305c.js → _rollupPluginBabelHelpers-34fc6689.js} +1 -1
- package/_rollupPluginBabelHelpers-34fc6689.js.map +1 -0
- package/{actionTypes-ce6caec1.js → actionTypes-3f51c08a.js} +1 -1
- package/{actionTypes-ce6caec1.js.map → actionTypes-3f51c08a.js.map} +1 -1
- package/cjs/App.js +81 -62
- 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 +44 -43
- 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 +38 -36
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +31 -29
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +38 -37
- 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 +42 -41
- 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-6f1b6689.js → ChannelListProvider-26cc6944.js} +7 -7
- package/cjs/{ChannelListProvider-6f1b6689.js.map → ChannelListProvider-26cc6944.js.map} +1 -1
- package/cjs/{ChannelProvider-da7b08a1.js → ChannelProvider-54bb28cc.js} +51 -30
- package/cjs/ChannelProvider-54bb28cc.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-2f105a5c.js → CreateChannelProvider-8c106973.js} +1 -1
- package/cjs/{CreateChannelProvider-2f105a5c.js.map → CreateChannelProvider-8c106973.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-df436a16.js → LocalizationContext-bdc95952.js} +3 -3
- package/cjs/{LocalizationContext-df436a16.js.map → LocalizationContext-bdc95952.js.map} +1 -1
- package/cjs/{MediaQueryContext-f1e8fdbc.js → MediaQueryContext-28b81968.js} +2 -2
- package/cjs/MediaQueryContext-28b81968.js.map +1 -0
- package/cjs/{MemberList-c886fbc9.js → MemberList-5f5ab063.js} +8 -6
- package/cjs/MemberList-5f5ab063.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +22 -20
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +37 -32
- 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-b7914f1a.js → OpenChannelListProvider-da4fd54b.js} +3 -3
- package/cjs/{OpenChannelListProvider-b7914f1a.js.map → OpenChannelListProvider-da4fd54b.js.map} +1 -1
- package/cjs/{OpenChannelProvider-b431f910.js → OpenChannelProvider-c6295ecd.js} +7 -7
- package/cjs/{OpenChannelProvider-b431f910.js.map → OpenChannelProvider-c6295ecd.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-bcf3c6fe.js → RemoveMessageModal-f4d8af47.js} +3 -3
- package/cjs/{RemoveMessageModal-bcf3c6fe.js.map → RemoveMessageModal-f4d8af47.js.map} +1 -1
- package/cjs/SendbirdProvider.js +70 -218
- 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 +23 -21
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- 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 +44 -38
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +32 -30
- 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-654b9db0.js → ThreadProvider-17ad9d05.js} +10 -10
- package/cjs/ThreadProvider-17ad9d05.js.map +1 -0
- package/cjs/{UserProfileContext-0c255fa6.js → UserProfileContext-27a5718b.js} +1 -1
- package/cjs/{UserProfileContext-0c255fa6.js.map → UserProfileContext-27a5718b.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-2aaed45b.js → VoiceMessageInputWrapper-1100905a.js} +8 -7
- package/cjs/VoiceMessageInputWrapper-1100905a.js.map +1 -0
- package/cjs/VoicePlayer/context.js +4 -3
- package/cjs/VoicePlayer/context.js.map +1 -1
- package/cjs/VoicePlayer/useVoicePlayer.js +15 -3
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/cjs/VoiceRecorder/context.js +42 -4
- package/cjs/VoiceRecorder/context.js.map +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +14 -2
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/cjs/{WebAudioUtils-58f47b3f.js → WebAudioUtils-cd45fa51.js} +1 -1
- package/cjs/{WebAudioUtils-58f47b3f.js.map → WebAudioUtils-cd45fa51.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-5fad415d.js → _rollupPluginBabelHelpers-d68672d6.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-d68672d6.js.map +1 -0
- package/cjs/{actionTypes-6cbf2054.js → actionTypes-bf093246.js} +1 -1
- package/cjs/{actionTypes-6cbf2054.js.map → actionTypes-bf093246.js.map} +1 -1
- package/cjs/{color-026d07a6.js → color-bb9924cb.js} +1 -1
- package/cjs/{color-026d07a6.js.map → color-bb9924cb.js.map} +1 -1
- package/cjs/{compareIds-f064c47d.js → compareIds-96cdd2a0.js} +1 -1
- package/cjs/{compareIds-f064c47d.js.map → compareIds-96cdd2a0.js.map} +1 -1
- package/cjs/{const-692d0039.js → const-44ddbe54.js} +1 -1
- package/cjs/{const-692d0039.js.map → const-44ddbe54.js.map} +1 -1
- package/cjs/{const-0a12bf51.js → const-73fbd467.js} +1 -1
- package/cjs/{const-0a12bf51.js.map → const-73fbd467.js.map} +1 -1
- package/cjs/{consts-f0dc64d0.js → consts-2dfc1883.js} +1 -1
- package/cjs/{consts-f0dc64d0.js.map → consts-2dfc1883.js.map} +1 -1
- package/cjs/{consts-2f667487.js → consts-40680de5.js} +1 -1
- package/cjs/{consts-2f667487.js.map → consts-40680de5.js.map} +1 -1
- package/cjs/{consts-25fc4351.js → consts-4fbdb1d6.js} +1 -1
- package/cjs/{consts-25fc4351.js.map → consts-4fbdb1d6.js.map} +1 -1
- package/cjs/{consts-297fdae1.js → consts-ccfad912.js} +1 -1
- package/cjs/{consts-297fdae1.js.map → consts-ccfad912.js.map} +1 -1
- package/cjs/{context-ec9b8da1.js → context-cdc5a8dd.js} +2 -2
- package/cjs/{context-ec9b8da1.js.map → context-cdc5a8dd.js.map} +1 -1
- package/cjs/dist/index.css +737 -732
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-a715eaef.js → index-0d4b8939.js} +2 -2
- package/cjs/{index-a715eaef.js.map → index-0d4b8939.js.map} +1 -1
- package/cjs/{index-162396f5.js → index-1ee86976.js} +3 -3
- package/cjs/{index-162396f5.js.map → index-1ee86976.js.map} +1 -1
- package/cjs/{index-9b38e167.js → index-2044d323.js} +4 -4
- package/cjs/{index-9b38e167.js.map → index-2044d323.js.map} +1 -1
- package/cjs/{index-80fc14fe.js → index-4ff12eb9.js} +2 -2
- package/cjs/{index-80fc14fe.js.map → index-4ff12eb9.js.map} +1 -1
- package/cjs/{index-606495e5.js → index-6d959b4d.js} +5 -5
- package/cjs/{index-606495e5.js.map → index-6d959b4d.js.map} +1 -1
- package/cjs/{index-0f42efcf.js → index-71def451.js} +1 -1
- package/cjs/{index-0f42efcf.js.map → index-71def451.js.map} +1 -1
- package/cjs/{index-dd9bc361.js → index-77c91851.js} +1 -1
- package/cjs/{index-dd9bc361.js.map → index-77c91851.js.map} +1 -1
- package/cjs/{index-33b67e46.js → index-7a9d2024.js} +3 -5
- package/cjs/index-7a9d2024.js.map +1 -0
- package/cjs/{index-0bd8e5f3.js → index-7b19a3f7.js} +6 -6
- package/cjs/{index-0bd8e5f3.js.map → index-7b19a3f7.js.map} +1 -1
- package/cjs/{index-6e05ddef.js → index-89314643.js} +35 -20
- package/cjs/index-89314643.js.map +1 -0
- package/cjs/{index-450be53e.js → index-adcca875.js} +4 -4
- package/cjs/{index-450be53e.js.map → index-adcca875.js.map} +1 -1
- package/cjs/{index-45cee454.js → index-b1485c4a.js} +2 -2
- package/cjs/{index-45cee454.js.map → index-b1485c4a.js.map} +1 -1
- package/cjs/{index-21392a2e.js → index-b6a49cba.js} +3 -3
- package/cjs/{index-21392a2e.js.map → index-b6a49cba.js.map} +1 -1
- package/cjs/{index-4881e776.js → index-ca51d316.js} +6 -6
- package/cjs/{index-4881e776.js.map → index-ca51d316.js.map} +1 -1
- package/cjs/{index-12ce8274.js → index-dada883d.js} +62 -24
- package/cjs/index-dada883d.js.map +1 -0
- package/cjs/{index-c89616c9.js → index-e766176d.js} +2 -2
- package/cjs/{index-c89616c9.js.map → index-e766176d.js.map} +1 -1
- package/cjs/{index-bf4e62fb.js → index-f7b329d2.js} +2 -2
- package/cjs/{index-bf4e62fb.js.map → index-f7b329d2.js.map} +1 -1
- package/cjs/index.js +58 -56
- package/cjs/index.js.map +1 -1
- package/cjs/{index.module-e5552393.js → index.module-3e11d4a7.js} +1 -1
- package/cjs/{index.module-e5552393.js.map → index.module-3e11d4a7.js.map} +1 -1
- package/cjs/resolvedReplyType-42ff3f75.js +32 -0
- package/cjs/resolvedReplyType-42ff3f75.js.map +1 -0
- package/cjs/sendbirdSelectors.js +3 -3
- package/cjs/{stringSet-d7f78de0.js → stringSet-0cddd94a.js} +3 -1
- package/cjs/stringSet-0cddd94a.js.map +1 -0
- package/cjs/{tokenize-595877b4.js → tokenize-75ed25db.js} +2 -2
- package/cjs/{tokenize-595877b4.js.map → tokenize-75ed25db.js.map} +1 -1
- package/cjs/{topics-2431bb78.js → topics-3e3eb86d.js} +1 -1
- package/cjs/{topics-2431bb78.js.map → topics-3e3eb86d.js.map} +1 -1
- package/cjs/{types-ef51254c.js → types-2138565d.js} +1 -1
- package/cjs/types-2138565d.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 +35 -33
- package/cjs/ui/MessageContent.js.map +1 -1
- 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 +17 -17
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +21 -21
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +20 -21
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +5 -5
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +7 -7
- package/cjs/ui/QuoteMessage.js.map +1 -1
- 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 +6 -13
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- 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 +17 -6
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
- package/cjs/ui/VoiceMessgeInput.js +7 -7
- package/cjs/ui/Word.js +10 -10
- package/cjs/{useDirtyGetMentions-cc7de01f.js → useDirtyGetMentions-9945a1c0.js} +1 -1
- package/cjs/{useDirtyGetMentions-cc7de01f.js.map → useDirtyGetMentions-9945a1c0.js.map} +1 -1
- package/cjs/{useLongPress-68ad7161.js → useLongPress-5174fd42.js} +3 -3
- package/cjs/{useLongPress-68ad7161.js.map → useLongPress-5174fd42.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-53aa911b.js → utils-2ef71eef.js} +1 -1
- package/cjs/{utils-53aa911b.js.map → utils-2ef71eef.js.map} +1 -1
- package/cjs/{utils-279e7553.js → utils-37a5dfde.js} +1 -1
- package/cjs/{utils-279e7553.js.map → utils-37a5dfde.js.map} +1 -1
- package/cjs/{utils-080f7835.js → utils-a7008e7b.js} +2 -2
- package/cjs/{utils-080f7835.js.map → utils-a7008e7b.js.map} +1 -1
- package/cjs/{utils-58e012fb.js → utils-f1c0d384.js} +1 -1
- package/cjs/{utils-58e012fb.js.map → utils-f1c0d384.js.map} +1 -1
- package/cjs/{uuid-2953f4dd.js → uuid-075367f7.js} +1 -1
- package/cjs/{uuid-2953f4dd.js.map → uuid-075367f7.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-879cc347.js → color-85cde5a7.js} +1 -1
- package/{color-879cc347.js.map → color-85cde5a7.js.map} +1 -1
- package/{compareIds-defe2bb3.js → compareIds-3e3591cb.js} +1 -1
- package/{compareIds-defe2bb3.js.map → compareIds-3e3591cb.js.map} +1 -1
- package/{const-b3f02313.js → const-2109eff9.js} +1 -1
- package/{const-b3f02313.js.map → const-2109eff9.js.map} +1 -1
- package/{const-221c6a89.js → const-91fefb8e.js} +1 -1
- package/{const-221c6a89.js.map → const-91fefb8e.js.map} +1 -1
- package/{consts-81544e52.js → consts-b6194fdf.js} +1 -1
- package/{consts-81544e52.js.map → consts-b6194fdf.js.map} +1 -1
- package/{consts-95d8566e.js → consts-bd5c0783.js} +1 -1
- package/{consts-95d8566e.js.map → consts-bd5c0783.js.map} +1 -1
- package/{consts-c41580ae.js → consts-d9de055a.js} +1 -1
- package/{consts-c41580ae.js.map → consts-d9de055a.js.map} +1 -1
- package/{consts-ff014656.js → consts-fafa501c.js} +1 -1
- package/{consts-ff014656.js.map → consts-fafa501c.js.map} +1 -1
- package/{context-63cbe5bd.js → context-b6e563d1.js} +2 -2
- package/{context-63cbe5bd.js.map → context-b6e563d1.js.map} +1 -1
- package/dist/index.css +737 -732
- package/dist/index.css.map +1 -1
- package/{index-cef1cfff.js → index-10472187.js} +3 -3
- package/{index-cef1cfff.js.map → index-10472187.js.map} +1 -1
- package/{index-fb8a5bc3.js → index-1a6d4397.js} +5 -5
- package/{index-fb8a5bc3.js.map → index-1a6d4397.js.map} +1 -1
- package/{index-f7ec60a8.js → index-2f7c2c8a.js} +2 -2
- package/{index-f7ec60a8.js.map → index-2f7c2c8a.js.map} +1 -1
- package/{index-2c3e11ea.js → index-31eb43c8.js} +4 -4
- package/{index-2c3e11ea.js.map → index-31eb43c8.js.map} +1 -1
- package/{index-99aabd9e.js → index-3515f8f3.js} +1 -1
- package/{index-99aabd9e.js.map → index-3515f8f3.js.map} +1 -1
- package/{index-7eb65acf.js → index-39f0a98e.js} +4 -5
- package/index-39f0a98e.js.map +1 -0
- package/{index-e6e562c5.js → index-3a6d5e45.js} +4 -4
- package/{index-e6e562c5.js.map → index-3a6d5e45.js.map} +1 -1
- package/{index-eaf0d65b.js → index-76929e40.js} +6 -6
- package/{index-eaf0d65b.js.map → index-76929e40.js.map} +1 -1
- package/{index-63949de5.js → index-8fb5d71a.js} +2 -2
- package/{index-63949de5.js.map → index-8fb5d71a.js.map} +1 -1
- package/{index-9e49ffe3.js → index-94ed0e50.js} +2 -2
- package/{index-9e49ffe3.js.map → index-94ed0e50.js.map} +1 -1
- package/{index-aca30408.js → index-9730aae6.js} +35 -20
- package/index-9730aae6.js.map +1 -0
- package/{index-38e61c64.js → index-a27543ed.js} +1 -1
- package/{index-38e61c64.js.map → index-a27543ed.js.map} +1 -1
- package/{index-fe932783.js → index-b05a5803.js} +2 -2
- package/{index-fe932783.js.map → index-b05a5803.js.map} +1 -1
- package/{index-306bc4ab.js → index-bbf4f597.js} +3 -3
- package/{index-306bc4ab.js.map → index-bbf4f597.js.map} +1 -1
- package/{index-5c1b672d.js → index-bf4f0a7e.js} +6 -6
- package/{index-5c1b672d.js.map → index-bf4f0a7e.js.map} +1 -1
- package/{index-5c985608.js → index-c54a357d.js} +62 -25
- package/index-c54a357d.js.map +1 -0
- package/{index-7cdd58b8.js → index-d847ae45.js} +2 -2
- package/{index-7cdd58b8.js.map → index-d847ae45.js.map} +1 -1
- package/index.d.ts +7 -3
- package/index.js +58 -56
- package/index.js.map +1 -1
- package/{index.module-54d57ec3.js → index.module-9faf1703.js} +1 -1
- package/{index.module-54d57ec3.js.map → index.module-9faf1703.js.map} +1 -1
- package/package.json +3 -2
- package/resolvedReplyType-f5cc6c0b.js +29 -0
- package/resolvedReplyType-f5cc6c0b.js.map +1 -0
- package/sendbirdSelectors.js +3 -3
- package/{stringSet-13bbd4a2.js → stringSet-d0b92983.js} +3 -1
- package/stringSet-d0b92983.js.map +1 -0
- package/{tokenize-c40f2b57.js → tokenize-fd0af52f.js} +2 -2
- package/{tokenize-c40f2b57.js.map → tokenize-fd0af52f.js.map} +1 -1
- package/{topics-b2b77fb9.js → topics-8aa96837.js} +1 -1
- package/{topics-b2b77fb9.js.map → topics-8aa96837.js.map} +1 -1
- package/{types-4ff4177c.js → types-7f0754fd.js} +1 -1
- package/types-7f0754fd.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 +35 -33
- package/ui/MessageContent.js.map +1 -1
- 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 +17 -17
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +21 -21
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +16 -16
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +20 -21
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +5 -5
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +7 -7
- package/ui/QuoteMessage.js.map +1 -1
- 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 +6 -13
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- 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 +17 -6
- package/ui/VoiceMessageItemBody.js.map +1 -1
- package/ui/VoiceMessgeInput.js +7 -7
- package/ui/Word.js +10 -10
- package/{useDirtyGetMentions-aa730e2c.js → useDirtyGetMentions-5b631226.js} +1 -1
- package/{useDirtyGetMentions-aa730e2c.js.map → useDirtyGetMentions-5b631226.js.map} +1 -1
- package/{useLongPress-1303953d.js → useLongPress-700ef78f.js} +3 -3
- package/{useLongPress-1303953d.js.map → useLongPress-700ef78f.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-4bbbca2c.js → utils-0e2c993e.js} +1 -1
- package/{utils-4bbbca2c.js.map → utils-0e2c993e.js.map} +1 -1
- package/{utils-d86ad6ab.js → utils-6763f910.js} +1 -1
- package/{utils-d86ad6ab.js.map → utils-6763f910.js.map} +1 -1
- package/{utils-a2009c36.js → utils-8c4a9896.js} +1 -1
- package/{utils-a2009c36.js.map → utils-8c4a9896.js.map} +1 -1
- package/{utils-30d3ca65.js → utils-9de25bcb.js} +2 -2
- package/{utils-30d3ca65.js.map → utils-9de25bcb.js.map} +1 -1
- package/{uuid-1adedf62.js → uuid-eadf9a09.js} +1 -1
- package/{uuid-1adedf62.js.map → uuid-eadf9a09.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelProvider-910bbc1f.js.map +0 -1
- package/MediaQueryContext-11f0e43f.js.map +0 -1
- package/MemberList-061d186f.js.map +0 -1
- package/ThreadProvider-3a4a4db0.js.map +0 -1
- package/VoiceMessageInputWrapper-dc459df1.js.map +0 -1
- package/_rollupPluginBabelHelpers-6bb0305c.js.map +0 -1
- package/cjs/ChannelProvider-da7b08a1.js.map +0 -1
- package/cjs/MediaQueryContext-f1e8fdbc.js.map +0 -1
- package/cjs/ThreadProvider-654b9db0.js.map +0 -1
- package/cjs/VoiceMessageInputWrapper-2aaed45b.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-5fad415d.js.map +0 -1
- package/cjs/index-12ce8274.js.map +0 -1
- package/cjs/index-33b67e46.js.map +0 -1
- package/cjs/index-6e05ddef.js.map +0 -1
- package/cjs/stringSet-d7f78de0.js.map +0 -1
- package/cjs/types-ef51254c.js.map +0 -1
- package/index-5c985608.js.map +0 -1
- package/index-7eb65acf.js.map +0 -1
- package/index-aca30408.js.map +0 -1
- package/stringSet-13bbd4a2.js.map +0 -1
- package/types-4ff4177c.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageContent.js","sources":["../../../src/ui/MessageContent/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useContext,\n useRef,\n useState,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport UserProfile from '../UserProfile';\nimport MessageStatus from '../MessageStatus';\nimport MessageItemMenu from '../MessageItemMenu';\nimport MessageItemReactionMenu from '../MessageItemReactionMenu';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport EmojiReactions from '../EmojiReactions';\n\nimport ClientAdminMessage from '../AdminMessage';\nimport TextMessageItemBody from '../TextMessageItemBody';\nimport FileMessageItemBody from '../FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../ThumbnailMessageItemBody';\nimport OGMessageItemBody from '../OGMessageItemBody';\nimport UnknownMessageItemBody from '../UnknownMessageItemBody';\nimport QuoteMessage from '../QuoteMessage';\n\nimport {\n getClassName,\n getUIKitMessageTypes,\n getUIKitMessageType,\n isTextMessage,\n isOGMessage,\n isThumbnailMessage,\n getSenderName,\n isVoiceMessage,\n} from '../../utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { ReplyType } from '../../index';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { AdminMessage, FileMessage, Sender, UserMessage } from '@sendbird/chat/message';\nimport useLongPress from '../../hooks/useLongPress';\nimport MobileMenu from '../MobileMenu';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport ThreadReplies from '../ThreadReplies';\nimport { ThreadReplySelectType } from '../../modules/Channel/context/const';\nimport VoiceMessageItemBody from '../VoiceMessageItemBody';\nimport { Nullable } from '../../types';\nimport { noop } from '../../utils/utils';\n\n// should initialize in UserProfileContext.jsx\nexport interface UserProfileContextInterface {\n disableUserProfile: boolean;\n isOpenChannel: boolean;\n renderUserProfile?: (props: { user: Sender, close: () => void }) => React.ReactElement,\n}\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n channel: Nullable<GroupChannel>;\n message: AdminMessage | UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n threadReplySelectType?: ThreadReplySelectType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n scrollToMessage?: (createdAt: number, messageId: number) => void;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => Promise<UserMessage | FileMessage>;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n onQuoteMessageClick?: (props: { message: UserMessage | FileMessage }) => void;\n onMessageHeightChange?: () => void;\n}\nexport default function MessageContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n threadReplySelectType,\n nicknamesMap,\n emojiContainer,\n scrollToMessage,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n setQuoteMessage,\n onReplyInThread,\n onQuoteMessageClick,\n onMessageHeightChange,\n}: Props): ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const { config } = useSendbirdStateContext?.() || {};\n const { disableUserProfile, renderUserProfile }: UserProfileContextInterface = useContext(UserProfileContext);\n const avatarRef = useRef(null);\n const contentRef = useRef(null);\n const { isMobile } = useMediaQueryContext();\n const [showMenu, setShowMenu] = useState(false);\n const [mouseHover, setMouseHover] = useState(false);\n const [supposedHover, setSupposedHover] = useState(false);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const isByMeClassName = isByMe ? 'outgoing' : 'incoming';\n const chainTopClassName = chainTop ? 'chain-top' : '';\n const isReactionEnabledInChannel = isReactionEnabled && !channel?.isEphemeral;\n const isReactionEnabledClassName = isReactionEnabledInChannel ? 'use-reactions' : '';\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const useReplyingClassName = useReplying ? 'use-quote' : '';\n\n // Thread replies\n const displayThreadReplies = message?.threadInfo?.replyCount > 0 && replyType === 'THREAD';\n\n // onMouseDown: (e: React.MouseEvent<T>) => void;\n // onTouchStart: (e: React.TouchEvent<T>) => void;\n // onMouseUp: (e: React.MouseEvent<T>) => void;\n // onMouseLeave: (e: React.MouseEvent<T>) => void;\n // onTouchEnd: (e: React.TouchEvent<T>) => void;\n const longPress = useLongPress({\n onLongPress: () => {\n if (isMobile) {\n setShowMenu(true);\n }\n },\n onClick: noop,\n }, {\n delay: 300,\n shouldPreventDefault: false,\n });\n\n if (message?.isAdminMessage?.() || message?.messageType === 'admin') {\n return (<ClientAdminMessage message={message as AdminMessage} />);\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-content', isByMeClassName])}\n onMouseOver={() => setMouseHover(true)}\n onMouseLeave={() => setMouseHover(false)}\n >\n {/* left */}\n <div className={getClassName(['sendbird-message-content__left', isReactionEnabledClassName, isByMeClassName, useReplyingClassName])}>\n {(!isByMe && !chainBottom) && (\n /** user profile */\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <Avatar\n className={`sendbird-message-content__left__avatar ${displayThreadReplies ? 'use-thread-replies' : ''}`}\n // @ts-ignore\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n // TODO: Divide getting profileUrl logic to utils\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={(): void => { if (!disableUserProfile) toggleDropdown(); }}\n />\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n // @ts-ignore\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n // @ts-ignore\n : (<UserProfile user={message.sender} onSuccess={closeDropdown} />)\n }\n </MenuItems>\n )}\n />\n )}\n {/* outgoing menu */}\n {isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', isReactionEnabledClassName, supposedHoverClassName, isByMeClassName])}>\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n {/* middle */}\n <div\n className=\"sendbird-message-content__middle\"\n {...(isMobile ? { ...longPress } : {})}\n ref={contentRef}\n >\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-message-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n // @ts-ignore\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n {/* quote message */}\n {(useReplying) ? (\n <div className={getClassName(['sendbird-message-content__middle__quote-message', isByMe ? 'outgoing' : 'incoming', useReplyingClassName])}>\n <QuoteMessage\n className=\"sendbird-message-content__middle__quote-message__quote\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n isByMe={isByMe}\n isUnavailable={(replyType === 'THREAD' && (channel?.joinedAt ?? 0 * 1000) > (message.parentMessage?.createdAt ?? 0))}\n onClick={() => {\n if (replyType === 'THREAD' && threadReplySelectType === ThreadReplySelectType.THREAD) {\n onQuoteMessageClick?.({ message: message as UserMessage | FileMessage });\n }\n if (\n (replyType === 'QUOTE_REPLY' || (replyType === 'THREAD' && threadReplySelectType === ThreadReplySelectType.PARENT))\n && message?.parentMessage?.createdAt && message?.parentMessageId\n ) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n ) : null}\n {/* container: message item body + emoji reactions */}\n <div className={getClassName(['sendbird-message-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-message-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabledInChannel}\n onMessageHeightChange={onMessageHeightChange}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {isVoiceMessage(message as FileMessage) && (\n <VoiceMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n channelUrl={channel?.url ?? ''}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabledInChannel}\n showFileViewer={showFileViewer}\n style={isMobile ? { width: '100%' } : {}}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {/* reactions */}\n {(isReactionEnabledInChannel && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-message-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n mouseHover ? 'mouse-hover' : '',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n channel={channel}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n {/* thread replies */}\n {displayThreadReplies && (\n <ThreadReplies\n className=\"sendbird-message-content__middle__thread-replies\"\n threadInfo={message?.threadInfo}\n onClick={() => onReplyInThread?.({ message: message as UserMessage | FileMessage })}\n />\n )}\n </div>\n {/* right */}\n <div className={getClassName(['sendbird-message-content__right', chainTopClassName, isReactionEnabledClassName, useReplyingClassName])}>\n {/* incoming menu */}\n {!isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', chainTopClassName, supposedHoverClassName, isByMeClassName])}>\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n )}\n </div>\n {\n showMenu && (\n message?.isUserMessage?.() || message?.isFileMessage?.()\n ) && (\n <MobileMenu\n parentRef={contentRef}\n channel={channel}\n hideMenu={() => { setShowMenu(false); }}\n message={message}\n isReactionEnabled={isReactionEnabledInChannel}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n toggleReaction={toggleReaction}\n showEdit={showEdit}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread?.({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage?.(message?.parentMessage?.createdAt || 0, message?.parentMessageId || 0);\n }\n }}\n />\n )\n }\n </div>\n );\n}\n"],"names":["MessageContent","_ref","_sender","_message$threadInfo","_message$isAdminMessa","_channel$members2","_channel$members2$fin","_channel$joinedAt","_message$parentMessag","_message$parentMessag2","_channel$url","_message$reactions","_message$isUserMessag","_message$isFileMessag","className","userId","channel","message","disabled","chainTop","chainBottom","isReactionEnabled","disableQuoteMessage","replyType","threadReplySelectType","nicknamesMap","emojiContainer","scrollToMessage","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","setQuoteMessage","onReplyInThread","onQuoteMessageClick","onMessageHeightChange","messageTypes","getUIKitMessageTypes","dateLocale","useLocalization","config","useSendbirdStateContext","disableUserProfile","renderUserProfile","useContext","UserProfileContext","avatarRef","useRef","contentRef","isMobile","useMediaQueryContext","showMenu","setShowMenu","useState","mouseHover","setMouseHover","supposedHover","setSupposedHover","isByMe","sender","sendingStatus","isByMeClassName","chainTopClassName","isReactionEnabledInChannel","isEphemeral","isReactionEnabledClassName","supposedHoverClassName","useReplying","parentMessageId","parentMessage","useReplyingClassName","displayThreadReplies","threadInfo","replyCount","longPress","useLongPress","onLongPress","onClick","noop","delay","shouldPreventDefault","isAdminMessage","call","messageType","React","createElement","ClientAdminMessage","getClassName","onMouseOver","onMouseLeave","ContextMenu","menuTrigger","toggleDropdown","_channel$members","_channel$members$find","_message$sender2","Avatar","src","members","find","member","_message$sender","profileUrl","ref","width","height","menuItems","closeDropdown","MenuItems","parentRef","parentContainRef","style","paddingTop","paddingBottom","user","close","UserProfile","onSuccess","MessageItemMenu","_ref2","ThreadReplySelectType","THREAD","PARENT","createdAt","MessageItemReactionMenu","spaceFromTrigger","_extends","_objectSpread","Label","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2","_message$sender3","nickname","getSenderName","QuoteMessage","isUnavailable","joinedAt","_message$parentMessag3","MessageStatus","isTextMessage","TextMessageItemBody","isMentionEnabled","isOGMessage","OGMessageItemBody","getUIKitMessageType","FILE","FileMessageItemBody","isVoiceMessage","VoiceMessageItemBody","channelUrl","url","isThumbnailMessage","ThumbnailMessageItemBody","UNKNOWN","UnknownMessageItemBody","reactions","length","EmojiReactions","memberNicknamesMap","CAPTION_3","format","locale","ThreadReplies","_ref3","isUserMessage","isFileMessage","MobileMenu","hideMenu","_ref4","_message$parentMessag4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageContent.js","sources":["../../../src/ui/MessageContent/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useContext,\n useRef,\n useState,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport UserProfile from '../UserProfile';\nimport MessageStatus from '../MessageStatus';\nimport MessageItemMenu from '../MessageItemMenu';\nimport MessageItemReactionMenu from '../MessageItemReactionMenu';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport EmojiReactions from '../EmojiReactions';\n\nimport ClientAdminMessage from '../AdminMessage';\nimport TextMessageItemBody from '../TextMessageItemBody';\nimport FileMessageItemBody from '../FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../ThumbnailMessageItemBody';\nimport OGMessageItemBody from '../OGMessageItemBody';\nimport UnknownMessageItemBody from '../UnknownMessageItemBody';\nimport QuoteMessage from '../QuoteMessage';\n\nimport {\n getClassName,\n getUIKitMessageTypes,\n getUIKitMessageType,\n isTextMessage,\n isOGMessage,\n isThumbnailMessage,\n getSenderName,\n isVoiceMessage,\n} from '../../utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { ReplyType } from '../../index';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { AdminMessage, FileMessage, Sender, UserMessage } from '@sendbird/chat/message';\nimport useLongPress from '../../hooks/useLongPress';\nimport MobileMenu from '../MobileMenu';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport ThreadReplies from '../ThreadReplies';\nimport { ThreadReplySelectType } from '../../modules/Channel/context/const';\nimport VoiceMessageItemBody from '../VoiceMessageItemBody';\nimport { Nullable } from '../../types';\nimport { noop } from '../../utils/utils';\n\n// should initialize in UserProfileContext.jsx\nexport interface UserProfileContextInterface {\n disableUserProfile: boolean;\n isOpenChannel: boolean;\n renderUserProfile?: (props: { user: Sender, close: () => void }) => React.ReactElement,\n}\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n channel: Nullable<GroupChannel>;\n message: AdminMessage | UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n threadReplySelectType?: ThreadReplySelectType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n scrollToMessage?: (createdAt: number, messageId: number) => void;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => Promise<UserMessage | FileMessage>;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n onQuoteMessageClick?: (props: { message: UserMessage | FileMessage }) => void;\n onMessageHeightChange?: () => void;\n}\nexport default function MessageContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n threadReplySelectType,\n nicknamesMap,\n emojiContainer,\n scrollToMessage,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n setQuoteMessage,\n onReplyInThread,\n onQuoteMessageClick,\n onMessageHeightChange,\n}: Props): ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const { config } = useSendbirdStateContext?.() || {};\n const { disableUserProfile, renderUserProfile }: UserProfileContextInterface = useContext(UserProfileContext);\n const avatarRef = useRef(null);\n const contentRef = useRef(null);\n const { isMobile } = useMediaQueryContext();\n const [showMenu, setShowMenu] = useState(false);\n const [mouseHover, setMouseHover] = useState(false);\n const [supposedHover, setSupposedHover] = useState(false);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const isByMeClassName = isByMe ? 'outgoing' : 'incoming';\n const chainTopClassName = chainTop ? 'chain-top' : '';\n const isReactionEnabledInChannel = isReactionEnabled && !channel?.isEphemeral;\n const isReactionEnabledClassName = isReactionEnabledInChannel ? 'use-reactions' : '';\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const useReplyingClassName = useReplying ? 'use-quote' : '';\n\n const isOgMessageEnabledInGroupChannel = channel?.isGroupChannel() && config.groupChannel.enableOgtag;\n\n // Thread replies\n const displayThreadReplies = message?.threadInfo?.replyCount > 0 && replyType === 'THREAD';\n\n // onMouseDown: (e: React.MouseEvent<T>) => void;\n // onTouchStart: (e: React.TouchEvent<T>) => void;\n // onMouseUp: (e: React.MouseEvent<T>) => void;\n // onMouseLeave: (e: React.MouseEvent<T>) => void;\n // onTouchEnd: (e: React.TouchEvent<T>) => void;\n const longPress = useLongPress({\n onLongPress: () => {\n if (isMobile) {\n setShowMenu(true);\n }\n },\n onClick: noop,\n }, {\n delay: 300,\n shouldPreventDefault: false,\n });\n\n if (message?.isAdminMessage?.() || message?.messageType === 'admin') {\n return (<ClientAdminMessage message={message as AdminMessage} />);\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-content', isByMeClassName])}\n onMouseOver={() => setMouseHover(true)}\n onMouseLeave={() => setMouseHover(false)}\n >\n {/* left */}\n <div className={getClassName(['sendbird-message-content__left', isReactionEnabledClassName, isByMeClassName, useReplyingClassName])}>\n {(!isByMe && !chainBottom) && (\n /** user profile */\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <Avatar\n className={`sendbird-message-content__left__avatar ${displayThreadReplies ? 'use-thread-replies' : ''}`}\n // @ts-ignore\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n // TODO: Divide getting profileUrl logic to utils\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={(): void => { if (!disableUserProfile) toggleDropdown(); }}\n />\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n // @ts-ignore\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n // @ts-ignore\n : (<UserProfile user={message.sender} onSuccess={closeDropdown} />)\n }\n </MenuItems>\n )}\n />\n )}\n {/* outgoing menu */}\n {isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', isReactionEnabledClassName, supposedHoverClassName, isByMeClassName])}>\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n {/* middle */}\n <div\n className=\"sendbird-message-content__middle\"\n {...(isMobile ? { ...longPress } : {})}\n ref={contentRef}\n >\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-message-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n // @ts-ignore\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n {/* quote message */}\n {(useReplying) ? (\n <div className={getClassName(['sendbird-message-content__middle__quote-message', isByMe ? 'outgoing' : 'incoming', useReplyingClassName])}>\n <QuoteMessage\n className=\"sendbird-message-content__middle__quote-message__quote\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n isByMe={isByMe}\n isUnavailable={(replyType === 'THREAD' && (channel?.joinedAt ?? 0 * 1000) > (message.parentMessage?.createdAt ?? 0))}\n onClick={() => {\n if (replyType === 'THREAD' && threadReplySelectType === ThreadReplySelectType.THREAD) {\n onQuoteMessageClick?.({ message: message as UserMessage | FileMessage });\n }\n if (\n (replyType === 'QUOTE_REPLY' || (replyType === 'THREAD' && threadReplySelectType === ThreadReplySelectType.PARENT))\n && message?.parentMessage?.createdAt && message?.parentMessageId\n ) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n ) : null}\n {/* container: message item body + emoji reactions */}\n <div className={getClassName(['sendbird-message-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-message-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isOgMessageEnabledInGroupChannel && isOGMessage(message as UserMessage) ? (\n <OGMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabledInChannel}\n onMessageHeightChange={onMessageHeightChange}\n />\n ) : isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {isVoiceMessage(message as FileMessage) && (\n <VoiceMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n channelUrl={channel?.url ?? ''}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabledInChannel}\n showFileViewer={showFileViewer}\n style={isMobile ? { width: '100%' } : {}}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {/* reactions */}\n {(isReactionEnabledInChannel && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-message-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n mouseHover ? 'mouse-hover' : '',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n channel={channel}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n {/* thread replies */}\n {displayThreadReplies && (\n <ThreadReplies\n className=\"sendbird-message-content__middle__thread-replies\"\n threadInfo={message?.threadInfo}\n onClick={() => onReplyInThread?.({ message: message as UserMessage | FileMessage })}\n />\n )}\n </div>\n {/* right */}\n <div className={getClassName(['sendbird-message-content__right', chainTopClassName, isReactionEnabledClassName, useReplyingClassName])}>\n {/* incoming menu */}\n {!isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', chainTopClassName, supposedHoverClassName, isByMeClassName])}>\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n )}\n </div>\n {\n showMenu && (\n message?.isUserMessage?.() || message?.isFileMessage?.()\n ) && (\n <MobileMenu\n parentRef={contentRef}\n channel={channel}\n hideMenu={() => { setShowMenu(false); }}\n message={message}\n isReactionEnabled={isReactionEnabledInChannel}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n toggleReaction={toggleReaction}\n showEdit={showEdit}\n onReplyInThread={({ message }) => {\n if (threadReplySelectType === ThreadReplySelectType.THREAD) {\n onReplyInThread?.({ message });\n } else if (threadReplySelectType === ThreadReplySelectType.PARENT) {\n scrollToMessage?.(message?.parentMessage?.createdAt || 0, message?.parentMessageId || 0);\n }\n }}\n />\n )\n }\n </div>\n );\n}\n"],"names":["MessageContent","_ref","_sender","_message$threadInfo","_message$isAdminMessa","_channel$members2","_channel$members2$fin","_channel$joinedAt","_message$parentMessag","_message$parentMessag2","_channel$url","_message$reactions","_message$isUserMessag","_message$isFileMessag","className","userId","channel","message","disabled","chainTop","chainBottom","isReactionEnabled","disableQuoteMessage","replyType","threadReplySelectType","nicknamesMap","emojiContainer","scrollToMessage","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","setQuoteMessage","onReplyInThread","onQuoteMessageClick","onMessageHeightChange","messageTypes","getUIKitMessageTypes","dateLocale","useLocalization","config","useSendbirdStateContext","disableUserProfile","renderUserProfile","useContext","UserProfileContext","avatarRef","useRef","contentRef","isMobile","useMediaQueryContext","showMenu","setShowMenu","useState","mouseHover","setMouseHover","supposedHover","setSupposedHover","isByMe","sender","sendingStatus","isByMeClassName","chainTopClassName","isReactionEnabledInChannel","isEphemeral","isReactionEnabledClassName","supposedHoverClassName","useReplying","parentMessageId","parentMessage","useReplyingClassName","isOgMessageEnabledInGroupChannel","isGroupChannel","groupChannel","enableOgtag","displayThreadReplies","threadInfo","replyCount","longPress","useLongPress","onLongPress","onClick","noop","delay","shouldPreventDefault","isAdminMessage","call","messageType","React","createElement","ClientAdminMessage","getClassName","onMouseOver","onMouseLeave","ContextMenu","menuTrigger","toggleDropdown","_channel$members","_channel$members$find","_message$sender2","Avatar","src","members","find","member","_message$sender","profileUrl","ref","width","height","menuItems","closeDropdown","MenuItems","parentRef","parentContainRef","style","paddingTop","paddingBottom","user","close","UserProfile","onSuccess","MessageItemMenu","_ref2","ThreadReplySelectType","THREAD","PARENT","createdAt","MessageItemReactionMenu","spaceFromTrigger","_extends","_objectSpread","Label","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2","_message$sender3","nickname","getSenderName","QuoteMessage","isUnavailable","joinedAt","_message$parentMessag3","MessageStatus","isOGMessage","OGMessageItemBody","isMentionEnabled","isTextMessage","TextMessageItemBody","getUIKitMessageType","FILE","FileMessageItemBody","isVoiceMessage","VoiceMessageItemBody","channelUrl","url","isThumbnailMessage","ThumbnailMessageItemBody","UNKNOWN","UnknownMessageItemBody","reactions","length","EmojiReactions","memberNicknamesMap","CAPTION_3","format","locale","ThreadReplies","_ref3","isUserMessage","isFileMessage","MobileMenu","hideMenu","_ref4","_message$parentMessag4"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA;;AAgCe,SAASA,cAAcA,CAAAC,IAAA,EAwBd;EAAA,IAAAC,OAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,qBAAA,CAAA;EAAA,IAxBe;IACrCC,SAAS;IACTC,MAAM;IACNC,OAAO;IACPC,OAAO;AACPC,IAAAA,QAAQ,GAAG,KAAK;AAChBC,IAAAA,QAAQ,GAAG,KAAK;AAChBC,IAAAA,WAAW,GAAG,KAAK;AACnBC,IAAAA,iBAAiB,GAAG,KAAK;AACzBC,IAAAA,mBAAmB,GAAG,KAAK;IAC3BC,SAAS;IACTC,qBAAqB;IACrBC,YAAY;IACZC,cAAc;IACdC,eAAe;IACfC,QAAQ;IACRC,UAAU;IACVC,cAAc;IACdC,aAAa;IACbC,cAAc;IACdC,eAAe;IACfC,eAAe;IACfC,mBAAmB;AACnBC,IAAAA,qBAAAA;AACK,GAAC,GAAAnC,IAAA,CAAA;EACN,MAAMoC,YAAY,GAAGC,0BAAoB,EAAE,CAAA;EAC3C,MAAM;AAAEC,IAAAA,UAAAA;GAAY,GAAGC,mCAAe,EAAE,CAAA;EACxC,MAAM;AAAEC,IAAAA,MAAAA;GAAQ,GAAG,CAAAC,uBAAuB,KAAvBA,IAAAA,IAAAA,uBAAuB,uBAAvBA,uBAAuB,EAAI,KAAI,EAAE,CAAA;EACpD,MAAM;IAAEC,kBAAkB;AAAEC,IAAAA,iBAAAA;AAA+C,GAAC,GAAGC,gBAAU,CAACC,qCAAkB,CAAC,CAAA;AAC7G,EAAA,MAAMC,SAAS,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;AAC9B,EAAA,MAAMC,UAAU,GAAGD,YAAM,CAAC,IAAI,CAAC,CAAA;EAC/B,MAAM;AAAEE,IAAAA,QAAAA;GAAU,GAAGC,sCAAoB,EAAE,CAAA;EAC3C,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC,CAAA;EAC/C,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGF,cAAQ,CAAC,KAAK,CAAC,CAAA;EACnD,MAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGJ,cAAQ,CAAC,KAAK,CAAC,CAAA;AAEzD,EAAA,MAAMK,MAAM,GAAI5C,MAAM,MAAME,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAf,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,OAAA,GAAPe,OAAO,CAAgC2C,MAAM,MAAA,IAAA,IAAA1D,OAAA,KAA9CA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAA,CAAgDa,MAAM,CAAA,IAC3E,CAACE,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAgC4C,aAAa,MAAK,SAAU,IACpE,CAAC5C,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAgC4C,aAAa,MAAK,QAAS,CAAA;AACzE,EAAA,MAAMC,eAAe,GAAGH,MAAM,GAAG,UAAU,GAAG,UAAU,CAAA;AACxD,EAAA,MAAMI,iBAAiB,GAAG5C,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAA;EACrD,MAAM6C,0BAA0B,GAAG3C,iBAAiB,IAAI,EAACL,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEiD,WAAW,CAAA,CAAA;AAC7E,EAAA,MAAMC,0BAA0B,GAAGF,0BAA0B,GAAG,eAAe,GAAG,EAAE,CAAA;AACpF,EAAA,MAAMG,sBAAsB,GAAGV,aAAa,GAAG,sBAAsB,GAAG,EAAE,CAAA;AAC1E,EAAA,MAAMW,WAAW,GAAG,CAAC,EAAE,CAAC7C,SAAS,KAAK,aAAa,IAAIA,SAAS,KAAK,QAAQ,KACxEN,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEoD,eAAe,IAAIpD,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,IAAAA,OAAO,CAAEqD,aAAa,IAClD,CAAChD,mBAAmB,CACxB,CAAA;AACD,EAAA,MAAMiD,oBAAoB,GAAGH,WAAW,GAAG,WAAW,GAAG,EAAE,CAAA;AAE3D,EAAA,MAAMI,gCAAgC,GAAG,CAAAxD,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEyD,cAAc,EAAE,KAAIhC,MAAM,CAACiC,YAAY,CAACC,WAAW,CAAA;;AAErG;EACA,MAAMC,oBAAoB,GAAG,CAAA3D,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAd,mBAAA,GAAPc,OAAO,CAAE4D,UAAU,MAAA1E,IAAAA,IAAAA,mBAAA,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAqB2E,UAAU,IAAG,CAAC,IAAIvD,SAAS,KAAK,QAAQ,CAAA;;AAE1F;AACA;AACA;AACA;AACA;EACA,MAAMwD,SAAS,GAAGC,yBAAY,CAAC;IAC7BC,WAAW,EAAEA,MAAM;AACjB,MAAA,IAAI/B,QAAQ,EAAE;QACZG,WAAW,CAAC,IAAI,CAAC,CAAA;AACnB,OAAA;KACD;AACD6B,IAAAA,OAAO,EAAEC,UAAAA;AACX,GAAC,EAAE;AACDC,IAAAA,KAAK,EAAE,GAAG;AACVC,IAAAA,oBAAoB,EAAE,KAAA;AACxB,GAAC,CAAC,CAAA;AAEF,EAAA,IAAIpE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAA,CAAAb,qBAAA,GAAPa,OAAO,CAAEqE,cAAc,MAAA,IAAA,IAAAlF,qBAAA,KAAA,KAAA,CAAA,IAAvBA,qBAAA,CAAAmF,IAAA,CAAAtE,OAAO,CAAoB,IAAI,CAAAA,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEuE,WAAW,MAAK,OAAO,EAAE;AACnE,IAAA,oBAAQC,yBAAA,CAAAC,aAAA,CAACC,eAAkB,EAAA;AAAC1E,MAAAA,OAAO,EAAEA,OAAAA;KAA2B,CAAA,CAAA;AAClE,GAAA;EACA,oBACEwE,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACE5E,SAAS,EAAE8E,kBAAY,CAAC,CAAC9E,SAAS,EAAE,0BAA0B,EAAEgD,eAAe,CAAC,CAAE;AAClF+B,IAAAA,WAAW,EAAEA,MAAMrC,aAAa,CAAC,IAAI,CAAE;AACvCsC,IAAAA,YAAY,EAAEA,MAAMtC,aAAa,CAAC,KAAK,CAAA;GAGvCiC,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAK5E,SAAS,EAAE8E,kBAAY,CAAC,CAAC,gCAAgC,EAAE1B,0BAA0B,EAAEJ,eAAe,EAAES,oBAAoB,CAAC,CAAA;AAAE,GAAA,EAChI,CAACZ,MAAM,IAAI,CAACvC,WAAW;AAAA;AACvB;EACAqE,yBAAA,CAAAC,aAAA,CAACK,yBAAW,EAAA;AACVC,IAAAA,WAAW,EAAGC,cAA0B,IAAA;AAAA,MAAA,IAAAC,gBAAA,EAAAC,qBAAA,EAAAC,gBAAA,CAAA;AAAA,MAAA,oBACtCX,yBAAA,CAAAC,aAAA,CAACW,oBAAM,EAAA;AACLvF,QAAAA,SAAS,EAAG,CAAyC8D,uCAAAA,EAAAA,oBAAoB,GAAG,oBAAoB,GAAG,EAAG,CAAA,CAAA;AACtG;AAAA;QACA0B,GAAG,EAAE,CAAAtF,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAkF,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAA,GAAPlF,OAAO,CAAEuF,OAAO,MAAAL,IAAAA,IAAAA,gBAAA,wBAAAC,qBAAA,GAAhBD,gBAAA,CAAkBM,IAAI,CAAEC,MAAM,IAAA;AAAA,UAAA,IAAAC,eAAA,CAAA;UAAA,OAAK,CAAAD,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE1F,MAAM,OAAKE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAyF,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,eAAA,GAAPzF,OAAO,CAAE2C,MAAM,cAAA8C,eAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAA,CAAiB3F,MAAM,CAAA,CAAA;SAAC,CAAA,MAAA,IAAA,IAAAoF,qBAAA,KAA9EA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAgFQ,UAAU,MAAI1F,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAmF,gBAAA,GAAPnF,OAAO,CAAE2C,MAAM,MAAA,IAAA,IAAAwC,gBAAA,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAiBO,UAAU,CAAI,IAAA,EAAA;AAClI;AAAA;AACAC,QAAAA,GAAG,EAAE7D,SAAU;AACf8D,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,MAAM,EAAC,MAAM;QACb5B,OAAO,EAAEA,MAAY;AAAE,UAAA,IAAI,CAACvC,kBAAkB,EAAEsD,cAAc,EAAE,CAAA;AAAE,SAAA;OAClE,CAAA,CAAA;KACF;AACFc,IAAAA,SAAS,EAAGC,aAAyB,iBACnCvB,yBAAA,CAAAC,aAAA,CAACuB,wBAAAA;AACC;AAChB;AACA;AACA,QAHgB;AAIAC,MAAAA,SAAS,EAAEnE,SAAU;AACrBoE,MAAAA,gBAAgB,EAAEpE,SAAU;AAC5BiE,MAAAA,aAAa,EAAEA,aAAc;AAC7BI,MAAAA,KAAK,EAAE;AAAEC,QAAAA,UAAU,EAAE,KAAK;AAAEC,QAAAA,aAAa,EAAE,KAAA;AAAM,OAAA;KAEhD1E,EAAAA,iBAAAA;AACC;AAAA,MACEA,iBAAiB,CAAC;AAAE2E,MAAAA,IAAI,EAAEtG,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE2C,MAAM;AAAE4D,MAAAA,KAAK,EAAER,aAAAA;KAAe,CAAA;AACnE;AAAA,mBACGvB,yBAAA,CAAAC,aAAA,CAAC+B,cAAW,EAAA;MAACF,IAAI,EAAEtG,OAAO,CAAC2C,MAAO;AAAC8D,MAAAA,SAAS,EAAEV,aAAAA;KAAkB,CAAA,CAAA;GAK5E,CAAA,EAEArD,MAAM,IAAI,CAACT,QAAQ,iBAClBuC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAK5E,SAAS,EAAE8E,kBAAY,CAAC,CAAC,+BAA+B,EAAE1B,0BAA0B,EAAEC,sBAAsB,EAAEL,eAAe,CAAC,CAAA;AAAE,GAAA,eACnI2B,yBAAA,CAAAC,aAAA,CAACiC,kBAAe,EAAA;AACd7G,IAAAA,SAAS,EAAC,4CAA4C;AACtDE,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEA,OAAqC;AAC9C0C,IAAAA,MAAM,EAAEA,MAAO;AACfpC,IAAAA,SAAS,EAAEA,SAAU;AACrBL,IAAAA,QAAQ,EAAEA,QAAS;AACnBU,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,aAAa,EAAEA,aAAc;AAC7BE,IAAAA,eAAe,EAAEA,eAAgB;AACjCyB,IAAAA,gBAAgB,EAAEA,gBAAiB;IACnCxB,eAAe,EAAE0F,KAAA,IAAiB;MAAA,IAAhB;AAAE3G,QAAAA,OAAAA;AAAQ,OAAC,GAAA2G,KAAA,CAAA;AAC3B,MAAA,IAAIpG,qBAAqB,KAAKqG,4BAAqB,CAACC,MAAM,EAAE;AAC1D5F,QAAAA,eAAe,CAAC;AAAEjB,UAAAA,OAAAA;AAAQ,SAAC,CAAC,CAAA;AAC9B,OAAC,MAAM,IAAIO,qBAAqB,KAAKqG,4BAAqB,CAACE,MAAM,EAAE;QACjEpG,eAAe,CAACV,OAAO,CAACqD,aAAa,CAAC0D,SAAS,EAAE/G,OAAO,CAACoD,eAAe,CAAC,CAAA;AAC3E,OAAA;AACF,KAAA;AAAE,GAAA,CACF,EACDL,0BAA0B,iBACzByB,yBAAA,CAAAC,aAAA,CAACuC,0BAAuB,EAAA;AACtBnH,IAAAA,SAAS,EAAC,8CAA8C;AACxDG,IAAAA,OAAO,EAAEA,OAAqC;AAC9CF,IAAAA,MAAM,EAAEA,MAAO;IACfmH,gBAAgB,EAAE,EAAG;AACrBxG,IAAAA,cAAc,EAAEA,cAAe;AAC/BM,IAAAA,cAAc,EAAEA,cAAe;AAC/B0B,IAAAA,gBAAgB,EAAEA,gBAAAA;AAAiB,GAAA,CAEtC,CAEJ,CACG,eAEN+B,yBAAA,CAAAC,aAAA,QAAAyC,kCAAA,CAAA;AACErH,IAAAA,SAAS,EAAC,kCAAA;AAAkC,GAAA,EACvCoC,QAAQ,GAAAkF,wCAAA,KAAQrD,SAAS,CAAA,GAAK,EAAE,EAAA;AACrC6B,IAAAA,GAAG,EAAE3D,UAAAA;AAAW,GAAA,CAAA,EAEd,CAACU,MAAM,IAAI,CAACxC,QAAQ,IAAI,CAACiD,WAAW,iBACpCqB,yBAAA,CAAAC,aAAA,CAAC2C,cAAK,EAAA;AACJvH,IAAAA,SAAS,EAAC,+CAA+C;IACzDwH,IAAI,EAAEC,wBAAe,CAACC,SAAU;IAChCC,KAAK,EAAEC,oBAAW,CAACC,cAAAA;AAAe,GAAA;AAGhC;AACA,EAAA,CAAA3H,OAAO,KAAPA,IAAAA,IAAAA,OAAO,wBAAAX,iBAAA,GAAPW,OAAO,CAAEuF,OAAO,MAAAlG,IAAAA,IAAAA,iBAAA,wBAAAC,qBAAA,GAAhBD,iBAAA,CAAkBmG,IAAI,CAAEC,MAAM,IAAA;AAAA,IAAA,IAAAmC,gBAAA,CAAA;IAAA,OAAK,CAAAnC,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE1F,MAAM,OAAKE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA2H,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAA,GAAP3H,OAAO,CAAE2C,MAAM,cAAAgF,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,gBAAA,CAAiB7H,MAAM,CAAA,CAAA;GAAC,CAAA,MAAA,IAAA,IAAAT,qBAAA,KAA9EA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAgFuI,QAAQ,KACrFC,mBAAa,CAAC7H,OAAO,CAAA;AACxB;AAAA,GAGL,EAECmD,WAAW,gBACXqB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK5E,IAAAA,SAAS,EAAE8E,kBAAY,CAAC,CAAC,iDAAiD,EAAEjC,MAAM,GAAG,UAAU,GAAG,UAAU,EAAEY,oBAAoB,CAAC,CAAA;AAAE,GAAA,eACxIkB,yBAAA,CAAAC,aAAA,CAACqD,eAAY,EAAA;AACXjI,IAAAA,SAAS,EAAC,wDAAwD;AAClEG,IAAAA,OAAO,EAAEA,OAAqC;AAC9CF,IAAAA,MAAM,EAAEA,MAAO;AACf4C,IAAAA,MAAM,EAAEA,MAAO;AACfqF,IAAAA,aAAa,EAAGzH,SAAS,KAAK,QAAQ,IAAI,CAAA,CAAAhB,iBAAA,GAACS,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEiI,QAAQ,cAAA1I,iBAAA,KAAA,KAAA,CAAA,GAAAA,iBAAA,GAAI,CAAC,GAAG,IAAI,KAAA,CAAAC,qBAAA,GAAAC,CAAAA,sBAAA,GAAKQ,OAAO,CAACqD,aAAa,MAAA7D,IAAAA,IAAAA,sBAAA,uBAArBA,sBAAA,CAAuBuH,SAAS,MAAAxH,IAAAA,IAAAA,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAG;IACrH0E,OAAO,EAAEA,MAAM;AAAA,MAAA,IAAAgE,sBAAA,CAAA;MACb,IAAI3H,SAAS,KAAK,QAAQ,IAAIC,qBAAqB,KAAKqG,4BAAqB,CAACC,MAAM,EAAE;AACpF3F,QAAAA,mBAAmB,KAAnBA,IAAAA,IAAAA,mBAAmB,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAmB,CAAG;AAAElB,UAAAA,OAAO,EAAEA,OAAAA;AAAqC,SAAC,CAAC,CAAA;AAC1E,OAAA;AACA,MAAA,IACE,CAACM,SAAS,KAAK,aAAa,IAAKA,SAAS,KAAK,QAAQ,IAAIC,qBAAqB,KAAKqG,4BAAqB,CAACE,MAAO,KAC/G9G,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,IAAA,CAAAiI,sBAAA,GAAPjI,OAAO,CAAEqD,aAAa,MAAA4E,IAAAA,IAAAA,sBAAA,eAAtBA,sBAAA,CAAwBlB,SAAS,IAAI/G,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEoD,eAAe,EAChE;QACA1C,eAAe,CAACV,OAAO,CAACqD,aAAa,CAAC0D,SAAS,EAAE/G,OAAO,CAACoD,eAAe,CAAC,CAAA;AAC3E,OAAA;AACF,KAAA;AAAE,GAAA,CACF,CACE,GACJ,IAAI,eAERoB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK5E,IAAAA,SAAS,EAAE8E,kBAAY,CAAC,CAAC,kDAAkD,CAAC,CAAA;AAAE,GAAA,EAE/EjC,MAAM,IAAI,CAACvC,WAAW,iBACtBqE,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAK5E,SAAS,EAAE8E,kBAAY,CAAC,CAAC,8DAA8D,EAAE,MAAM,EAAEzB,sBAAsB,CAAC,CAAA;GAC3HsB,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK5E,IAAAA,SAAS,EAAC,mFAAA;AAAmF,GAAA,eAChG2E,yBAAA,CAAAC,aAAA,CAACyD,8BAAa,EAAA;AACZlI,IAAAA,OAAO,EAAEA,OAAqC;AAC9CD,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAA,CACjB,CACE,CAET,EAEAwD,gCAAgC,IAAI4E,iBAAW,CAACnI,OAAO,CAAgB,gBACtEwE,yBAAA,CAAAC,aAAA,CAAC2D,oBAAiB,EAAA;AAChBvI,IAAAA,SAAS,EAAC,qDAAqD;AAC/DG,IAAAA,OAAO,EAAEA,OAAuB;AAChC0C,IAAAA,MAAM,EAAEA,MAAO;AACfJ,IAAAA,UAAU,EAAEA,UAAW;IACvB+F,gBAAgB,EAAE,CAAA7G,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE6G,gBAAgB,KAAI,KAAM;AACpDjI,IAAAA,iBAAiB,EAAE2C,0BAA2B;AAC9C5B,IAAAA,qBAAqB,EAAEA,qBAAAA;GACvB,CAAA,GACAmH,mBAAa,CAACtI,OAAO,CAAgB,iBACvCwE,yBAAA,CAAAC,aAAA,CAAC8D,sBAAmB,EAAA;AAClB1I,IAAAA,SAAS,EAAC,qDAAqD;AAC/DG,IAAAA,OAAO,EAAEA,OAAuB;AAChC0C,IAAAA,MAAM,EAAEA,MAAO;AACfJ,IAAAA,UAAU,EAAEA,UAAW;IACvB+F,gBAAgB,EAAE,CAAA7G,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAE6G,gBAAgB,KAAI,KAAM;AACpDjI,IAAAA,iBAAiB,EAAE2C,0BAAAA;AAA2B,GAAA,CAEjD,EACCyF,yBAAmB,CAAExI,OAAO,CAAiB,KAAKoB,YAAY,CAACqH,IAAI,iBACnEjE,yBAAA,CAAAC,aAAA,CAACiE,sBAAmB,EAAA;AAClB7I,IAAAA,SAAS,EAAC,qDAAqD;AAC/DG,IAAAA,OAAO,EAAEA,OAAuB;AAChC0C,IAAAA,MAAM,EAAEA,MAAO;AACfJ,IAAAA,UAAU,EAAEA,UAAW;AACvBlC,IAAAA,iBAAiB,EAAE2C,0BAAAA;GAEtB,CAAA,EACA4F,oBAAc,CAAC3I,OAAO,CAAgB,iBACrCwE,yBAAA,CAAAC,aAAA,CAACmE,4CAAoB,EAAA;AACnB/I,IAAAA,SAAS,EAAC,qDAAqD;AAC/DG,IAAAA,OAAO,EAAEA,OAAuB;AAChC6I,IAAAA,UAAU,EAAApJ,CAAAA,YAAA,GAAEM,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAE+I,GAAG,MAAArJ,IAAAA,IAAAA,YAAA,KAAAA,KAAAA,CAAAA,GAAAA,YAAA,GAAI,EAAG;AAC/BiD,IAAAA,MAAM,EAAEA,MAAO;AACftC,IAAAA,iBAAiB,EAAE2C,0BAAAA;GAEtB,CAAA,EACCgG,wBAAkB,CAAC/I,OAAO,CAAgB,iBAC1CwE,yBAAA,CAAAC,aAAA,CAACuE,2BAAwB,EAAA;AACvBnJ,IAAAA,SAAS,EAAC,qDAAqD;AAC/DG,IAAAA,OAAO,EAAEA,OAAuB;AAChC0C,IAAAA,MAAM,EAAEA,MAAO;AACfJ,IAAAA,UAAU,EAAEA,UAAW;AACvBlC,IAAAA,iBAAiB,EAAE2C,0BAA2B;AAC9ClC,IAAAA,cAAc,EAAEA,cAAe;IAC/BsF,KAAK,EAAElE,QAAQ,GAAG;AAAE2D,MAAAA,KAAK,EAAE,MAAA;AAAO,KAAC,GAAG,EAAC;AAAE,GAAA,CAE5C,EACC4C,yBAAmB,CAAExI,OAAO,CAAiB,KAAKoB,YAAY,CAAC6H,OAAO,iBACtEzE,yBAAA,CAAAC,aAAA,CAACyE,yBAAsB,EAAA;AACrBrJ,IAAAA,SAAS,EAAC,qDAAqD;AAC/DG,IAAAA,OAAO,EAAEA,OAAQ;AACjB0C,IAAAA,MAAM,EAAEA,MAAO;AACfJ,IAAAA,UAAU,EAAEA,UAAW;AACvBlC,IAAAA,iBAAiB,EAAE2C,0BAAAA;GAEtB,CAAA,EAECA,0BAA0B,IAAI,CAAA/C,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAN,kBAAA,GAAPM,OAAO,CAAEmJ,SAAS,MAAAzJ,IAAAA,IAAAA,kBAAA,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAoB0J,MAAM,IAAG,CAAC,iBAC5D5E,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK5E,IAAAA,SAAS,EAAE8E,kBAAY,CAAC,CAC3B,oCAAoC,EACnC,CAACjC,MAAM,IAAIqG,wBAAkB,CAAC/I,OAAO,CAAgB,IAAImI,iBAAW,CAACnI,OAAO,CAAgB,GAAI,EAAE,GAAG,SAAS,EAC/GsC,UAAU,GAAG,aAAa,GAAG,EAAE,CAChC,CAAA;AAAE,GAAA,eACDkC,yBAAA,CAAAC,aAAA,CAAC4E,iBAAc,EAAA;AACbvJ,IAAAA,MAAM,EAAEA,MAAO;AACfE,IAAAA,OAAO,EAAEA,OAAqC;AAC9CD,IAAAA,OAAO,EAAEA,OAAQ;AACjB2C,IAAAA,MAAM,EAAEA,MAAO;AACfjC,IAAAA,cAAc,EAAEA,cAAe;AAC/B6I,IAAAA,kBAAkB,EAAE9I,YAAa;AACjCO,IAAAA,cAAc,EAAEA,cAAAA;AAAe,GAAA,CAC/B,CAEL,EACC,CAAC2B,MAAM,IAAI,CAACvC,WAAW,iBACvBqE,yBAAA,CAAAC,aAAA,CAAC2C,cAAK,EAAA;IACJvH,SAAS,EAAE8E,kBAAY,CAAC,CAAC,8DAA8D,EAAE,OAAO,EAAEzB,sBAAsB,CAAC,CAAE;IAC3HmE,IAAI,EAAEC,wBAAe,CAACiC,SAAU;IAChC/B,KAAK,EAAEC,oBAAW,CAACC,cAAAA;AAAe,GAAA,EAEjC8B,cAAM,CAAC,CAAAxJ,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAE+G,SAAS,KAAI,CAAC,EAAE,GAAG,EAAE;AACpC0C,IAAAA,MAAM,EAAEnI,UAAAA;GACT,CAAC,CAEL,CACG,EAELqC,oBAAoB,iBACnBa,yBAAA,CAAAC,aAAA,CAACiF,gBAAa,EAAA;AACZ7J,IAAAA,SAAS,EAAC,kDAAkD;AAC5D+D,IAAAA,UAAU,EAAE5D,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE4D,UAAW;IAChCK,OAAO,EAAEA,MAAMhD,eAAe,aAAfA,eAAe,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAe,CAAG;AAAEjB,MAAAA,OAAO,EAAEA,OAAAA;KAAsC,CAAA;AAAE,GAAA,CAEvF,CACG,eAENwE,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAK5E,SAAS,EAAE8E,kBAAY,CAAC,CAAC,iCAAiC,EAAE7B,iBAAiB,EAAEG,0BAA0B,EAAEK,oBAAoB,CAAC,CAAA;GAElI,EAAA,CAACZ,MAAM,IAAI,CAACT,QAAQ,iBACnBuC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAK5E,SAAS,EAAE8E,kBAAY,CAAC,CAAC,+BAA+B,EAAE7B,iBAAiB,EAAEI,sBAAsB,EAAEL,eAAe,CAAC,CAAA;AAAE,GAAA,EACzHE,0BAA0B,iBACzByB,yBAAA,CAAAC,aAAA,CAACuC,0BAAuB,EAAA;AACtBnH,IAAAA,SAAS,EAAC,8CAA8C;AACxDG,IAAAA,OAAO,EAAEA,OAAqC;AAC9CF,IAAAA,MAAM,EAAEA,MAAO;IACfmH,gBAAgB,EAAE,EAAG;AACrBxG,IAAAA,cAAc,EAAEA,cAAe;AAC/BM,IAAAA,cAAc,EAAEA,cAAe;AAC/B0B,IAAAA,gBAAgB,EAAEA,gBAAAA;AAAiB,GAAA,CAEtC,eACD+B,yBAAA,CAAAC,aAAA,CAACiC,kBAAe,EAAA;AACd7G,IAAAA,SAAS,EAAC,4CAA4C;AACtDE,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEA,OAAqC;AAC9C0C,IAAAA,MAAM,EAAEA,MAAO;AACfpC,IAAAA,SAAS,EAAEA,SAAU;AACrBL,IAAAA,QAAQ,EAAEA,QAAS;AACnBW,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,aAAa,EAAEA,aAAc;AAC7BE,IAAAA,eAAe,EAAEA,eAAgB;AACjCyB,IAAAA,gBAAgB,EAAEA,gBAAiB;IACnCxB,eAAe,EAAE0I,KAAA,IAAiB;MAAA,IAAhB;AAAE3J,QAAAA,OAAAA;AAAQ,OAAC,GAAA2J,KAAA,CAAA;AAC3B,MAAA,IAAIpJ,qBAAqB,KAAKqG,4BAAqB,CAACC,MAAM,EAAE;AAC1D5F,QAAAA,eAAe,CAAC;AAAEjB,UAAAA,OAAAA;AAAQ,SAAC,CAAC,CAAA;AAC9B,OAAC,MAAM,IAAIO,qBAAqB,KAAKqG,4BAAqB,CAACE,MAAM,EAAE;QACjEpG,eAAe,CAACV,OAAO,CAACqD,aAAa,CAAC0D,SAAS,EAAE/G,OAAO,CAACoD,eAAe,CAAC,CAAA;AAC3E,OAAA;AACF,KAAA;GACA,CAAA,CAEL,CACG,EAEJjB,QAAQ,KACN,CAAAnC,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAAL,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,qBAAA,GAAPK,OAAO,CAAE4J,aAAa,MAAAjK,IAAAA,IAAAA,qBAAA,uBAAtBA,qBAAA,CAAA2E,IAAA,CAAAtE,OAAO,CAAmB,MAAIA,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAJ,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,qBAAA,GAAPI,OAAO,CAAE6J,aAAa,MAAA,IAAA,IAAAjK,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAtBA,qBAAA,CAAA0E,IAAA,CAAAtE,OAAO,CAAmB,CAAA,CACzD,iBACCwE,yBAAA,CAAAC,aAAA,CAACqF,kBAAU,EAAA;AACT7D,IAAAA,SAAS,EAAEjE,UAAW;AACtBjC,IAAAA,OAAO,EAAEA,OAAQ;IACjBgK,QAAQ,EAAEA,MAAM;MAAE3H,WAAW,CAAC,KAAK,CAAC,CAAA;KAAI;AACxCpC,IAAAA,OAAO,EAAEA,OAAQ;AACjBI,IAAAA,iBAAiB,EAAE2C,0BAA2B;AAC9CL,IAAAA,MAAM,EAAEA,MAAO;AACf5C,IAAAA,MAAM,EAAEA,MAAO;AACfQ,IAAAA,SAAS,EAAEA,SAAU;AACrBL,IAAAA,QAAQ,EAAEA,QAAS;AACnBW,IAAAA,UAAU,EAAEA,UAAW;AACvBH,IAAAA,cAAc,EAAEA,cAAe;AAC/BK,IAAAA,aAAa,EAAEA,aAAc;AAC7BE,IAAAA,eAAe,EAAEA,eAAgB;AACjCD,IAAAA,cAAc,EAAEA,cAAe;AAC/BJ,IAAAA,QAAQ,EAAEA,QAAS;IACnBM,eAAe,EAAE+I,KAAA,IAAiB;MAAA,IAAhB;AAAEhK,QAAAA,OAAAA;AAAQ,OAAC,GAAAgK,KAAA,CAAA;AAC3B,MAAA,IAAIzJ,qBAAqB,KAAKqG,4BAAqB,CAACC,MAAM,EAAE;AAC1D5F,QAAAA,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAe,CAAG;AAAEjB,UAAAA,OAAAA;AAAQ,SAAC,CAAC,CAAA;AAChC,OAAC,MAAM,IAAIO,qBAAqB,KAAKqG,4BAAqB,CAACE,MAAM,EAAE;AAAA,QAAA,IAAAmD,sBAAA,CAAA;AACjEvJ,QAAAA,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAe,CAAG,CAAAV,OAAO,KAAPA,IAAAA,IAAAA,OAAO,wBAAAiK,sBAAA,GAAPjK,OAAO,CAAEqD,aAAa,MAAA4G,IAAAA,IAAAA,sBAAA,KAAtBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAA,CAAwBlD,SAAS,KAAI,CAAC,EAAE,CAAA/G,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEoD,eAAe,KAAI,CAAC,CAAC,CAAA;AAC1F,OAAA;AACF,KAAA;AAAE,GAAA,CAEL,CAEC,CAAA;AAEV;;;;"}
|
package/cjs/ui/MessageInput.js
CHANGED
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _rollupPluginBabelHelpers = require('../_rollupPluginBabelHelpers-
|
|
3
|
+
var _rollupPluginBabelHelpers = require('../_rollupPluginBabelHelpers-d68672d6.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var PropTypes = require('prop-types');
|
|
6
|
-
var _const$1 = require('../const-
|
|
7
|
-
var _const = require('../const-
|
|
6
|
+
var _const$1 = require('../const-73fbd467.js');
|
|
7
|
+
var _const = require('../const-44ddbe54.js');
|
|
8
8
|
var ui_IconButton = require('./IconButton.js');
|
|
9
9
|
var ui_Button = require('./Button.js');
|
|
10
10
|
var DOMPurify = require('dompurify');
|
|
11
|
-
var consts = require('../consts-
|
|
11
|
+
var consts = require('../consts-40680de5.js');
|
|
12
12
|
var ui_Icon = require('./Icon.js');
|
|
13
|
-
var ui_Label = require('../index-
|
|
14
|
-
var LocalizationContext = require('../LocalizationContext-
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var consts$
|
|
18
|
-
var
|
|
19
|
-
require('../
|
|
20
|
-
require('../index-
|
|
13
|
+
var ui_Label = require('../index-e766176d.js');
|
|
14
|
+
var LocalizationContext = require('../LocalizationContext-bdc95952.js');
|
|
15
|
+
var useSendbirdStateContext = require('../useSendbirdStateContext.js');
|
|
16
|
+
var index = require('../index-7a9d2024.js');
|
|
17
|
+
var consts$2 = require('../consts-2dfc1883.js');
|
|
18
|
+
var consts$1 = require('../consts-4fbdb1d6.js');
|
|
19
|
+
var tokenize = require('../tokenize-75ed25db.js');
|
|
20
|
+
var index_module = require('../index.module-3e11d4a7.js');
|
|
21
|
+
require('../stringSet-0cddd94a.js');
|
|
22
|
+
require('../index-71def451.js');
|
|
23
|
+
require('../withSendbird.js');
|
|
21
24
|
require('../utils/message/getOutgoingMessageState.js');
|
|
22
25
|
|
|
23
26
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -238,6 +241,46 @@ function usePaste(_ref) {
|
|
|
238
241
|
}, [ref, setIsInput, setHeight, channel, setMentionedUsers]);
|
|
239
242
|
}
|
|
240
243
|
|
|
244
|
+
/**
|
|
245
|
+
* Write new utils here
|
|
246
|
+
* Migrate old utils as needed, and delete utils.js
|
|
247
|
+
*/
|
|
248
|
+
/**
|
|
249
|
+
* FIXME:
|
|
250
|
+
* Import this ChannelType enum from @sendbird/chat
|
|
251
|
+
* once MessageInput.spec unit tests can be run \wo jest <-> ESM issue
|
|
252
|
+
*/
|
|
253
|
+
var ChannelType = /*#__PURE__*/function (ChannelType) {
|
|
254
|
+
ChannelType["BASE"] = "base";
|
|
255
|
+
ChannelType["GROUP"] = "group";
|
|
256
|
+
ChannelType["OPEN"] = "open";
|
|
257
|
+
return ChannelType;
|
|
258
|
+
}(ChannelType || {});
|
|
259
|
+
/**
|
|
260
|
+
* FIXME: Simplify this in UIKit@v4
|
|
261
|
+
* If customer is using MessageInput inside our modules(ie: Channel, Thread, etc),
|
|
262
|
+
* we should use the config from the module.
|
|
263
|
+
* If customer is using MessageInput outside our modules(ie: custom UI),
|
|
264
|
+
* we expect Channel to be undefined and customer gets control to show/hide file-upload.
|
|
265
|
+
* @param {*} channel GroupChannel | OpenChannel
|
|
266
|
+
* @param {*} config SendBirdStateConfig
|
|
267
|
+
* @returns boolean
|
|
268
|
+
*/
|
|
269
|
+
const checkIfFileUploadEnabled = _ref => {
|
|
270
|
+
let {
|
|
271
|
+
channel,
|
|
272
|
+
config
|
|
273
|
+
} = _ref;
|
|
274
|
+
const isEnabled = index_module.K(channel === null || channel === void 0 ? void 0 : channel.channelType).with(ChannelType.GROUP, () => {
|
|
275
|
+
var _config$groupChannel;
|
|
276
|
+
return config === null || config === void 0 ? void 0 : (_config$groupChannel = config.groupChannel) === null || _config$groupChannel === void 0 ? void 0 : _config$groupChannel.enableDocument;
|
|
277
|
+
}).with(ChannelType.OPEN, () => {
|
|
278
|
+
var _config$openChannel;
|
|
279
|
+
return config === null || config === void 0 ? void 0 : (_config$openChannel = config.openChannel) === null || _config$openChannel === void 0 ? void 0 : _config$openChannel.enableDocument;
|
|
280
|
+
}).otherwise(() => true);
|
|
281
|
+
return isEnabled;
|
|
282
|
+
};
|
|
283
|
+
|
|
241
284
|
const TEXT_FIELD_ID = 'sendbird-message-input-text-field';
|
|
242
285
|
const LINE_HEIGHT = 76;
|
|
243
286
|
const noop = () => {};
|
|
@@ -306,7 +349,14 @@ const MessageInput = /*#__PURE__*/React__default["default"].forwardRef((props, r
|
|
|
306
349
|
const textFieldId = messageFieldId || TEXT_FIELD_ID;
|
|
307
350
|
const {
|
|
308
351
|
stringSet
|
|
309
|
-
} =
|
|
352
|
+
} = LocalizationContext.useLocalization();
|
|
353
|
+
const {
|
|
354
|
+
config
|
|
355
|
+
} = useSendbirdStateContext();
|
|
356
|
+
const isFileUploadEnabled = checkIfFileUploadEnabled({
|
|
357
|
+
channel,
|
|
358
|
+
config
|
|
359
|
+
});
|
|
310
360
|
const fileInputRef = React.useRef(null);
|
|
311
361
|
const [isInput, setIsInput] = React.useState(false);
|
|
312
362
|
const [mentionedUserIds, setMentionedUserIds] = React.useState([]);
|
|
@@ -674,7 +724,9 @@ const MessageInput = /*#__PURE__*/React__default["default"].forwardRef((props, r
|
|
|
674
724
|
fillColor: disabled ? ui_Icon.IconColors.ON_BACKGROUND_4 : ui_Icon.IconColors.PRIMARY,
|
|
675
725
|
width: "20px",
|
|
676
726
|
height: "20px"
|
|
677
|
-
})), !isEdit && !isInput && ((renderFileUploadIcon === null || renderFileUploadIcon === void 0 ? void 0 : renderFileUploadIcon()
|
|
727
|
+
})), !isEdit && !isInput && ((renderFileUploadIcon === null || renderFileUploadIcon === void 0 ? void 0 : renderFileUploadIcon() // UIKit Dashboard configuration should have lower priority than
|
|
728
|
+
// renderFileUploadIcon which is set in code level
|
|
729
|
+
) || isFileUploadEnabled && /*#__PURE__*/React__default["default"].createElement(ui_IconButton, {
|
|
678
730
|
className: `sendbird-message-input--attach ${isVoiceMessageEnabled ? 'is-voice-message-enabled' : ''}`,
|
|
679
731
|
height: "32px",
|
|
680
732
|
width: "32px",
|
|
@@ -754,7 +806,9 @@ MessageInput.propTypes = {
|
|
|
754
806
|
renderVoiceMessageIcon: PropTypes__default["default"].func,
|
|
755
807
|
renderSendMessageIcon: PropTypes__default["default"].func,
|
|
756
808
|
renderFileUploadIcon: PropTypes__default["default"].func,
|
|
757
|
-
channel: PropTypes__default["default"].shape({
|
|
809
|
+
channel: PropTypes__default["default"].shape({
|
|
810
|
+
channelType: PropTypes__default["default"].string
|
|
811
|
+
}).isRequired
|
|
758
812
|
};
|
|
759
813
|
MessageInput.defaultProps = {
|
|
760
814
|
className: '',
|
|
@@ -783,8 +837,7 @@ MessageInput.defaultProps = {
|
|
|
783
837
|
setMentionedUsers: noop,
|
|
784
838
|
renderVoiceMessageIcon: noop,
|
|
785
839
|
renderFileUploadIcon: noop,
|
|
786
|
-
renderSendMessageIcon: noop
|
|
787
|
-
channel: {}
|
|
840
|
+
renderSendMessageIcon: noop
|
|
788
841
|
};
|
|
789
842
|
|
|
790
843
|
module.exports = MessageInput;
|