@sendbird/uikit-react 3.6.11-beta.2 → 3.7.0-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 +272 -345
- package/App.js.map +1 -1
- package/CHANGELOG.md +134 -0
- package/Channel/components/ChannelHeader.js +45 -50
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +76 -77
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +53 -58
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +9 -12
- package/Channel/components/FrozenNotification.js.map +1 -1
- package/Channel/components/Message.js +198 -176
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +137 -130
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +171 -161
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +40 -41
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +156 -136
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +47 -48
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +17 -18
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +17 -17
- package/Channel/utils/compareMessagesForGrouping.js +11 -11
- package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
- package/Channel/utils/getMessagePartsInfo.js +32 -26
- package/Channel/utils/getMessagePartsInfo.js.map +1 -1
- package/Channel.js +54 -51
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +32 -30
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +22 -31
- package/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/ChannelList/components/ChannelListUI.js +93 -88
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +79 -75
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +85 -91
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +9 -10
- package/ChannelList/context.js.map +1 -1
- package/ChannelList.js +38 -35
- package/ChannelList.js.map +1 -1
- package/ChannelListProvider-f520f5b3.js +1051 -0
- package/ChannelListProvider-f520f5b3.js.map +1 -0
- package/ChannelProvider-7f6fd1f8.js +2080 -0
- package/ChannelProvider-7f6fd1f8.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +42 -37
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +44 -47
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +54 -52
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +39 -41
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +552 -509
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +66 -66
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +29 -26
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +52 -57
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +20 -19
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +23 -25
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +106 -102
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +38 -43
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +22 -23
- package/CreateChannel.js.map +1 -1
- package/CreateChannelProvider-c25dd81b.js +48 -0
- package/{CreateChannelProvider-a2fad282.js.map → CreateChannelProvider-c25dd81b.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +38 -36
- package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/CreateOpenChannel/context.js +29 -34
- package/CreateOpenChannel/context.js.map +1 -1
- package/CreateOpenChannel.js +20 -21
- package/CreateOpenChannel.js.map +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +152 -21
- package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
- package/EditUserProfile/context.js +13 -13
- package/EditUserProfile/context.js.map +1 -1
- package/EditUserProfile.js +19 -19
- package/EditUserProfile.js.map +1 -1
- package/LocalizationContext-d18a86d8.js +20 -0
- package/{LocalizationContext-2463058b.js.map → LocalizationContext-d18a86d8.js.map} +1 -1
- package/MediaQueryContext-3eeeec4f.js +85 -0
- package/MediaQueryContext-3eeeec4f.js.map +1 -0
- package/MemberList-469dae9b.js +422 -0
- package/{MemberList-593867cb.js.map → MemberList-469dae9b.js.map} +1 -1
- package/Message/context.js +11 -12
- package/Message/context.js.map +1 -1
- package/Message/hooks/useDirtyGetMentions.js +21 -26
- package/Message/hooks/useDirtyGetMentions.js.map +1 -1
- package/MessageSearch/components/MessageSearchUI.js +56 -61
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +166 -177
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +49 -47
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +6 -8
- package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/OpenChannel/components/OpenChannelHeader.js +22 -27
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +32 -35
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +170 -171
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +70 -64
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +53 -54
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -9
- package/OpenChannel/context.js.map +1 -1
- package/OpenChannel.js +37 -35
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +63 -61
- package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/OpenChannelList/components/OpenChannelPreview.js +22 -21
- package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +27 -27
- package/OpenChannelList.js.map +1 -1
- package/{OpenChannelListProvider-a0a09f0b.js → OpenChannelListProvider-24e735a1.js} +156 -178
- package/{OpenChannelListProvider-a0a09f0b.js.map → OpenChannelListProvider-24e735a1.js.map} +1 -1
- package/OpenChannelProvider-e9cb0f98.js +1850 -0
- package/{OpenChannelProvider-3e4b8c8e.js.map → OpenChannelProvider-e9cb0f98.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +52 -51
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +30 -29
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +39 -47
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +550 -518
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +16 -15
- package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/OpenChannelSettings/context.js +58 -57
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +20 -19
- package/OpenChannelSettings.js.map +1 -1
- package/README.md +4 -4
- package/RemoveMessageModal-f0cd37a5.js +33 -0
- package/RemoveMessageModal-f0cd37a5.js.map +1 -0
- package/SendbirdProvider.js +726 -690
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +194 -181
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +86 -79
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +22 -22
- package/Thread/components/ThreadHeader.js.map +1 -1
- package/Thread/components/ThreadList.js +126 -94
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +260 -241
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +121 -120
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +128 -144
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context/types.js +9 -9
- package/Thread/context/types.js.map +1 -1
- package/Thread/context.js +1678 -19
- package/Thread/context.js.map +1 -1
- package/Thread.js +76 -73
- package/Thread.js.map +1 -1
- package/UserProfileContext-26e71f9a.js +34 -0
- package/UserProfileContext-26e71f9a.js.map +1 -0
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +52 -46
- package/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/VoiceRecorder/context.js +68 -64
- package/VoiceRecorder/context.js.map +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +50 -52
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/{WebAudioUtils-f9386235.js → WebAudioUtils-dbb010a5.js} +38 -38
- package/{WebAudioUtils-f9386235.js.map → WebAudioUtils-dbb010a5.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-50c9576f.js → _rollupPluginBabelHelpers-07dcbc2b.js} +17 -17
- package/_rollupPluginBabelHelpers-07dcbc2b.js.map +1 -0
- package/{actionTypes-501b8c11.js → actionTypes-3cd49b5c.js} +2 -2
- package/{actionTypes-501b8c11.js.map → actionTypes-3cd49b5c.js.map} +1 -1
- package/cjs/App.js +270 -344
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +44 -49
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +79 -80
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +52 -57
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +9 -12
- package/cjs/Channel/components/FrozenNotification.js.map +1 -1
- package/cjs/Channel/components/Message.js +197 -175
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +136 -129
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +173 -163
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +41 -42
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +155 -135
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +46 -47
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +17 -18
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +17 -17
- package/cjs/Channel/utils/compareMessagesForGrouping.js +11 -11
- package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
- package/cjs/Channel/utils/getMessagePartsInfo.js +32 -26
- package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
- package/cjs/Channel.js +54 -51
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +31 -29
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +21 -30
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListUI.js +96 -91
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +78 -74
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +84 -91
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +9 -10
- package/cjs/ChannelList/context.js.map +1 -1
- package/cjs/ChannelList.js +38 -35
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/ChannelListProvider-a418de2e.js +1060 -0
- package/cjs/ChannelListProvider-a418de2e.js.map +1 -0
- package/cjs/ChannelProvider-7fa98120.js +2088 -0
- package/cjs/ChannelProvider-7fa98120.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +41 -36
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +44 -47
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +54 -52
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +38 -40
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +559 -516
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +66 -66
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +29 -26
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +51 -56
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +20 -19
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +23 -25
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +106 -102
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +37 -42
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +22 -23
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/CreateChannelProvider-70c9cb7c.js +55 -0
- package/cjs/{CreateChannelProvider-8b8a557c.js.map → CreateChannelProvider-70c9cb7c.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +39 -37
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/cjs/CreateOpenChannel/context.js +28 -33
- package/cjs/CreateOpenChannel/context.js.map +1 -1
- package/cjs/CreateOpenChannel.js +20 -21
- package/cjs/CreateOpenChannel.js.map +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +153 -22
- package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
- package/cjs/EditUserProfile/context.js +13 -13
- package/cjs/EditUserProfile/context.js.map +1 -1
- package/cjs/EditUserProfile.js +21 -21
- package/cjs/EditUserProfile.js.map +1 -1
- package/cjs/{LocalizationContext-482c1343.js → LocalizationContext-5009012e.js} +9 -9
- package/cjs/{LocalizationContext-482c1343.js.map → LocalizationContext-5009012e.js.map} +1 -1
- package/cjs/MediaQueryContext-d6fdbe43.js +92 -0
- package/cjs/MediaQueryContext-d6fdbe43.js.map +1 -0
- package/cjs/MemberList-529a0086.js +428 -0
- package/cjs/{MemberList-26b8de48.js.map → MemberList-529a0086.js.map} +1 -1
- package/cjs/Message/context.js +11 -12
- package/cjs/Message/context.js.map +1 -1
- package/cjs/Message/hooks/useDirtyGetMentions.js +21 -26
- package/cjs/Message/hooks/useDirtyGetMentions.js.map +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +60 -65
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +165 -176
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +49 -47
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +6 -8
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelHeader.js +22 -27
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +32 -35
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +169 -170
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +69 -63
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +56 -57
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -9
- package/cjs/OpenChannel/context.js.map +1 -1
- package/cjs/OpenChannel.js +37 -35
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +66 -64
- package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +22 -21
- package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +27 -27
- package/cjs/OpenChannelList.js.map +1 -1
- package/cjs/OpenChannelListProvider-0b8cd3bf.js +416 -0
- package/cjs/{OpenChannelListProvider-2e3ee48d.js.map → OpenChannelListProvider-0b8cd3bf.js.map} +1 -1
- package/cjs/OpenChannelProvider-d8cc11fe.js +1859 -0
- package/cjs/{OpenChannelProvider-8577ea58.js.map → OpenChannelProvider-d8cc11fe.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +53 -52
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +29 -28
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +40 -48
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +557 -525
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +16 -15
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/cjs/OpenChannelSettings/context.js +57 -56
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +20 -19
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/RemoveMessageModal-f029d40e.js +39 -0
- package/cjs/RemoveMessageModal-f029d40e.js.map +1 -0
- package/cjs/SendbirdProvider.js +733 -693
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +193 -180
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +86 -79
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +22 -22
- package/cjs/Thread/components/ThreadHeader.js.map +1 -1
- package/cjs/Thread/components/ThreadList.js +125 -93
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +263 -244
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +120 -119
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +134 -150
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context/types.js +9 -13
- package/cjs/Thread/context/types.js.map +1 -1
- package/cjs/Thread/context.js +1680 -21
- package/cjs/Thread/context.js.map +1 -1
- package/cjs/Thread.js +76 -73
- package/cjs/Thread.js.map +1 -1
- package/cjs/UserProfileContext-922a43ec.js +41 -0
- package/cjs/UserProfileContext-922a43ec.js.map +1 -0
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +52 -46
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/cjs/VoiceRecorder/context.js +67 -63
- package/cjs/VoiceRecorder/context.js.map +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +49 -51
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/cjs/{WebAudioUtils-142344fd.js → WebAudioUtils-29717597.js} +38 -38
- package/cjs/{WebAudioUtils-142344fd.js.map → WebAudioUtils-29717597.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-83d7e84b.js → _rollupPluginBabelHelpers-94c18dc1.js} +16 -17
- package/cjs/_rollupPluginBabelHelpers-94c18dc1.js.map +1 -0
- package/cjs/{actionTypes-1d118952.js → actionTypes-7fa02f94.js} +2 -2
- package/cjs/{actionTypes-1d118952.js.map → actionTypes-7fa02f94.js.map} +1 -1
- package/cjs/{color-d83b77ac.js → color-477ddbd4.js} +12 -13
- package/cjs/color-477ddbd4.js.map +1 -0
- package/cjs/{compareIds-bef997cb.js → compareIds-de541666.js} +7 -6
- package/cjs/compareIds-de541666.js.map +1 -0
- package/cjs/{const-1726bde0.js → const-640252c1.js} +4 -4
- package/cjs/{const-1726bde0.js.map → const-640252c1.js.map} +1 -1
- package/cjs/const-9def5c09.js +19 -0
- package/cjs/{const-67ff9e34.js.map → const-9def5c09.js.map} +1 -1
- package/cjs/consts-54f5c12d.js +6 -0
- package/cjs/consts-54f5c12d.js.map +1 -0
- package/cjs/consts-85cd42fa.js +6 -0
- package/cjs/{consts-bf228385.js.map → consts-85cd42fa.js.map} +1 -1
- package/cjs/{consts-fb07c671.js → consts-95462b21.js} +18 -25
- package/cjs/{consts-fb07c671.js.map → consts-95462b21.js.map} +1 -1
- package/cjs/consts-a3b7ae99.js +6 -0
- package/cjs/{consts-d3b53f23.js.map → consts-a3b7ae99.js.map} +1 -1
- package/cjs/{context-bd2878ff.js → context-9814fafe.js} +5 -6
- package/cjs/{context-bd2878ff.js.map → context-9814fafe.js.map} +1 -1
- package/cjs/dist/index.css +110 -95
- package/cjs/dist/index.css.map +1 -1
- package/cjs/handlers/OpenChannelHandler.js.map +1 -1
- package/cjs/handlers/SessionHandler.js.map +1 -1
- package/cjs/hooks/useModal.js +84 -0
- package/cjs/hooks/useModal.js.map +1 -0
- package/cjs/{index-81baccd0.js → index-0a25b9b2.js} +166 -154
- package/cjs/index-0a25b9b2.js.map +1 -0
- package/cjs/index-0ec5a831.js +308 -0
- package/cjs/{index-1f6b30ea.js.map → index-0ec5a831.js.map} +1 -1
- package/cjs/{index-18720f0d.js → index-35820a94.js} +2 -2
- package/cjs/{index-18720f0d.js.map → index-35820a94.js.map} +1 -1
- package/cjs/index-609b07a2.js +7 -0
- package/cjs/index-609b07a2.js.map +1 -0
- package/cjs/index-6b0644d7.js +369 -0
- package/cjs/index-6b0644d7.js.map +1 -0
- package/cjs/{index-857630c5.js → index-7b0c6630.js} +104 -114
- package/cjs/index-7b0c6630.js.map +1 -0
- package/cjs/index-80a11b6a.js +197 -0
- package/cjs/{index-6ab9a40d.js.map → index-80a11b6a.js.map} +1 -1
- package/cjs/{index-4eb7e2b5.js → index-826b76d5.js} +2 -4
- package/cjs/index-826b76d5.js.map +1 -0
- package/cjs/{index-11f9cc0f.js → index-83d2aed9.js} +3 -12
- package/cjs/index-83d2aed9.js.map +1 -0
- package/cjs/index-aeb36f01.js +173 -0
- package/cjs/index-aeb36f01.js.map +1 -0
- package/cjs/{index-c9b003b3.js → index-b6d51e74.js} +56 -193
- package/cjs/index-b6d51e74.js.map +1 -0
- package/cjs/index-b995f638.js +741 -0
- package/cjs/index-b995f638.js.map +1 -0
- package/cjs/{index-759f2a26.js → index-bdf7089c.js} +72 -80
- package/cjs/{index-759f2a26.js.map → index-bdf7089c.js.map} +1 -1
- package/cjs/{index-7c374c20.js → index-c22e0cbf.js} +25 -28
- package/cjs/{index-7c374c20.js.map → index-c22e0cbf.js.map} +1 -1
- package/cjs/index-daf80c58.js +20 -0
- package/cjs/index-daf80c58.js.map +1 -0
- package/cjs/index-e81e2882.js +59 -0
- package/cjs/{index-2ab19f9b.js.map → index-e81e2882.js.map} +1 -1
- package/cjs/{index-91b4af96.js → index-ee3bf381.js} +39 -37
- package/cjs/{index-91b4af96.js.map → index-ee3bf381.js.map} +1 -1
- package/cjs/{index-d04f312e.js → index-fd8a0abb.js} +10 -30
- package/cjs/index-fd8a0abb.js.map +1 -0
- package/cjs/index.js +66 -63
- package/cjs/index.js.map +1 -1
- package/cjs/lame.all.js.map +1 -1
- package/cjs/package.json +2 -49
- package/cjs/{topics-adde627b.js → pubSub/topics.js} +6 -2
- package/cjs/pubSub/topics.js.map +1 -0
- package/cjs/{resolvedReplyType-85b4bd7c.js → resolvedReplyType-c20ef661.js} +1 -1
- package/cjs/{resolvedReplyType-85b4bd7c.js.map → resolvedReplyType-c20ef661.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +381 -332
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/stringFormatterUtils-e324636c.js +16 -0
- package/cjs/{stringFormatterUtils-8d6592ca.js.map → stringFormatterUtils-e324636c.js.map} +1 -1
- package/cjs/{stringSet-d00535a5.js → stringSet-98b52c49.js} +9 -2
- package/cjs/stringSet-98b52c49.js.map +1 -0
- package/cjs/{tokenize-9296fc47.js → tokenize-91bdbeb0.js} +56 -61
- package/cjs/{tokenize-9296fc47.js.map → tokenize-91bdbeb0.js.map} +1 -1
- package/cjs/tslib.es6-2f2b0bca.js +102 -0
- package/cjs/tslib.es6-2f2b0bca.js.map +1 -0
- package/cjs/types-31ed2276.js +11 -0
- package/cjs/types-31ed2276.js.map +1 -0
- package/cjs/types-66554668.js +15 -0
- package/cjs/types-66554668.js.map +1 -0
- package/cjs/ui/Accordion.js +18 -19
- package/cjs/ui/Accordion.js.map +1 -1
- package/cjs/ui/AccordionGroup.js +11 -10
- package/cjs/ui/AccordionGroup.js.map +1 -1
- package/cjs/ui/AdminMessage.js +10 -10
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +59 -55
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +15 -16
- package/cjs/ui/Badge.js.map +1 -1
- package/cjs/ui/BottomSheet.js +15 -17
- package/cjs/ui/BottomSheet.js.map +1 -1
- package/cjs/ui/Button.js +31 -33
- package/cjs/ui/Button.js.map +1 -1
- package/cjs/ui/ChannelAvatar.js +41 -38
- package/cjs/ui/ChannelAvatar.js.map +1 -1
- package/cjs/ui/Checkbox.js +10 -9
- package/cjs/ui/Checkbox.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +5 -7
- package/cjs/ui/ConnectionStatus.js.map +1 -1
- package/cjs/ui/ContextMenu.js +143 -144
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +14 -12
- package/cjs/ui/DateSeparator.js.map +1 -1
- package/cjs/ui/EmojiReactions.js +206 -176
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +23 -23
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +14 -12
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +16 -16
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +28 -20
- package/cjs/ui/IconButton.js.map +1 -1
- package/cjs/ui/ImageRenderer.js +84 -64
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +14 -16
- package/cjs/ui/Input.js.map +1 -1
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/LinkLabel.js.map +1 -1
- package/cjs/ui/Loader.js +12 -10
- package/cjs/ui/Loader.js.map +1 -1
- package/cjs/ui/MentionLabel.js +63 -59
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js +10 -10
- package/cjs/ui/MentionUserLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +187 -171
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput/hooks/usePaste.js +5 -4
- package/cjs/ui/MessageInput/hooks/usePaste.js.map +1 -1
- package/cjs/ui/MessageInput.js +55 -57
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +93 -72
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +64 -56
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +40 -49
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +32 -40
- package/cjs/ui/MessageSearchItem.js.map +1 -1
- package/cjs/ui/MessageStatus.js +11 -11
- package/cjs/ui/Modal.js +57 -59
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js +10 -10
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +47 -47
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +7 -8
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
- package/cjs/ui/OpenChannelAvatar.js +17 -18
- package/cjs/ui/OpenChannelAvatar.js.map +1 -1
- package/cjs/ui/OpenchannelConversationHeader.js +13 -17
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
- package/cjs/ui/OpenchannelFileMessage.js +147 -139
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +185 -178
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +220 -213
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +172 -164
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +108 -10
- package/cjs/ui/PlaceHolder.js.map +1 -1
- package/cjs/ui/PlaybackTime.js +16 -15
- package/cjs/ui/PlaybackTime.js.map +1 -1
- package/cjs/ui/ProgressBar.js +15 -13
- package/cjs/ui/ProgressBar.js.map +1 -1
- package/cjs/ui/QuoteMessage.js +41 -44
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +45 -31
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +17 -13
- package/cjs/ui/ReactionBadge.js.map +1 -1
- package/cjs/ui/ReactionButton.js +19 -19
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +14 -14
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +21 -13
- package/cjs/ui/TextButton.js.map +1 -1
- package/cjs/ui/TextMessageItemBody.js +33 -31
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThreadReplies.js +21 -25
- package/cjs/ui/ThreadReplies.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +37 -28
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Toggle.js +85 -77
- package/cjs/ui/Toggle.js.map +1 -1
- package/cjs/ui/Tooltip.js +9 -8
- package/cjs/ui/Tooltip.js.map +1 -1
- package/cjs/ui/TooltipWrapper.js +18 -17
- package/cjs/ui/TooltipWrapper.js.map +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +19 -20
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +80 -75
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +28 -33
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/VoiceMessageItemBody.js +49 -43
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
- package/cjs/ui/VoiceMessgeInput.js +8 -7
- package/cjs/ui/VoiceMessgeInput.js.map +1 -1
- package/cjs/ui/Word.js +29 -27
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/{useHandleUploadFiles-b2fc56e5.js → useHandleUploadFiles-fbe6ad64.js} +114 -127
- package/cjs/useHandleUploadFiles-fbe6ad64.js.map +1 -0
- package/cjs/useLongPress-c1da8ba7.js +105 -0
- package/cjs/useLongPress-c1da8ba7.js.map +1 -0
- package/cjs/useSendMultipleFilesMessage-87e0ffa3.js +316 -0
- package/cjs/useSendMultipleFilesMessage-87e0ffa3.js.map +1 -0
- package/cjs/useSendbirdStateContext.js +8 -3
- package/cjs/useSendbirdStateContext.js.map +1 -1
- package/cjs/useStatefulFileInfoList-aa70b6b9.js +228 -0
- package/cjs/useStatefulFileInfoList-aa70b6b9.js.map +1 -0
- package/cjs/utils/message/getOutgoingMessageState.js +14 -16
- package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
- package/cjs/utils/message/isVoiceMessage.js +4 -4
- package/cjs/utils/message/isVoiceMessage.js.map +1 -1
- package/cjs/utils-0fac6ad1.js +27 -0
- package/cjs/utils-0fac6ad1.js.map +1 -0
- package/cjs/utils-180c6bc8.js +10 -0
- package/cjs/utils-180c6bc8.js.map +1 -0
- package/cjs/{utils-991911af.js → utils-46483130.js} +3 -3
- package/cjs/{utils-991911af.js.map → utils-46483130.js.map} +1 -1
- package/cjs/utils-55fc6797.js +170 -0
- package/cjs/utils-55fc6797.js.map +1 -0
- package/cjs/utils-851724e0.js +62 -0
- package/cjs/utils-851724e0.js.map +1 -0
- package/cjs/utils-e313131f.js +35 -0
- package/cjs/utils-e313131f.js.map +1 -0
- package/cjs/uuid-c74bbbb6.js +17 -0
- package/cjs/{uuid-b2806cf5.js.map → uuid-c74bbbb6.js.map} +1 -1
- package/cjs/withSendbird.js +16 -22
- package/cjs/withSendbird.js.map +1 -1
- package/{color-b7f211a8.js → color-1383d4ab.js} +5 -5
- package/{color-b7f211a8.js.map → color-1383d4ab.js.map} +1 -1
- package/compareIds-b56b02f1.js +16 -0
- package/compareIds-b56b02f1.js.map +1 -0
- package/{const-74ec9eb4.js → const-4bc3721f.js} +4 -4
- package/{const-74ec9eb4.js.map → const-4bc3721f.js.map} +1 -1
- package/const-e3326913.js +13 -0
- package/{const-711048c3.js.map → const-e3326913.js.map} +1 -1
- package/consts-7f4d53a3.js +4 -0
- package/consts-7f4d53a3.js.map +1 -0
- package/consts-833420ed.js +4 -0
- package/{consts-6ee24012.js.map → consts-833420ed.js.map} +1 -1
- package/consts-aa64aca8.js +30 -0
- package/{consts-691a3935.js.map → consts-aa64aca8.js.map} +1 -1
- package/consts-f0ba9b80.js +4 -0
- package/consts-f0ba9b80.js.map +1 -0
- package/context-ae47ac54.js +12 -0
- package/{context-b4c70964.js.map → context-ae47ac54.js.map} +1 -1
- package/dist/index.css +110 -95
- package/dist/index.css.map +1 -1
- package/handlers/OpenChannelHandler.js.map +1 -1
- package/handlers/SessionHandler.js.map +1 -1
- package/hooks/useModal.js +73 -0
- package/hooks/useModal.js.map +1 -0
- package/{index-aa520474.js → index-12103973.js} +2 -2
- package/{index-aa520474.js.map → index-12103973.js.map} +1 -1
- package/index-124a5766.js +298 -0
- package/{index-e15f6b6a.js.map → index-124a5766.js.map} +1 -1
- package/{index-13401b87.js → index-1432c287.js} +2 -4
- package/index-1432c287.js.map +1 -0
- package/{index-b22c4150.js → index-1969ccd8.js} +25 -28
- package/{index-b22c4150.js.map → index-1969ccd8.js.map} +1 -1
- package/index-3d508585.js +53 -0
- package/{index-ae7ef8cf.js.map → index-3d508585.js.map} +1 -1
- package/{index-8a01c364.js → index-40447645.js} +73 -81
- package/{index-8a01c364.js.map → index-40447645.js.map} +1 -1
- package/{index-c421b228.js → index-7a1085b6.js} +99 -109
- package/index-7a1085b6.js.map +1 -0
- package/index-89b3b8ba.js +362 -0
- package/index-89b3b8ba.js.map +1 -0
- package/index-8c72f0bd.js +182 -0
- package/{index-98138798.js.map → index-8c72f0bd.js.map} +1 -1
- package/index-942c5fa2.js +161 -0
- package/index-942c5fa2.js.map +1 -0
- package/index-c6095960.js +4 -0
- package/index-c6095960.js.map +1 -0
- package/index-c7ed4aef.js +13 -0
- package/index-c7ed4aef.js.map +1 -0
- package/{index-daa3ae67.js → index-c81fd6ec.js} +56 -193
- package/index-c81fd6ec.js.map +1 -0
- package/{index-7700a436.js → index-d3f61405.js} +10 -30
- package/index-d3f61405.js.map +1 -0
- package/{index-5cb32ab5.js → index-dc1827ea.js} +3 -12
- package/index-dc1827ea.js.map +1 -0
- package/{index-3530f4f6.js → index-ec0c048b.js} +39 -37
- package/{index-3530f4f6.js.map → index-ec0c048b.js.map} +1 -1
- package/{index-b25ffa7e.js → index-eec0ce47.js} +166 -154
- package/index-eec0ce47.js.map +1 -0
- package/index-fc1642cb.js +692 -0
- package/index-fc1642cb.js.map +1 -0
- package/index.d.ts +143 -79
- package/index.js +66 -63
- package/index.js.map +1 -1
- package/lame.all.js.map +1 -1
- package/package.json +3 -3
- package/{topics-5659403d.js → pubSub/topics.js} +4 -3
- package/pubSub/topics.js.map +1 -0
- package/{resolvedReplyType-1a128514.js → resolvedReplyType-0532593c.js} +1 -1
- package/{resolvedReplyType-1a128514.js.map → resolvedReplyType-0532593c.js.map} +1 -1
- package/sendbirdSelectors.js +381 -332
- package/sendbirdSelectors.js.map +1 -1
- package/stringFormatterUtils-444f6f4c.js +14 -0
- package/{stringFormatterUtils-dbad592d.js.map → stringFormatterUtils-444f6f4c.js.map} +1 -1
- package/{stringSet-2814bf17.js → stringSet-1106c8ec.js} +9 -2
- package/stringSet-1106c8ec.js.map +1 -0
- package/{tokenize-4b153552.js → tokenize-d17bf862.js} +56 -61
- package/{tokenize-4b153552.js.map → tokenize-d17bf862.js.map} +1 -1
- package/tslib.es6-0c779aab.js +97 -0
- package/tslib.es6-0c779aab.js.map +1 -0
- package/types-4ffc52f6.js +15 -0
- package/types-4ffc52f6.js.map +1 -0
- package/types-50e412d8.js +9 -0
- package/types-50e412d8.js.map +1 -0
- package/ui/Accordion.js +18 -19
- package/ui/Accordion.js.map +1 -1
- package/ui/AccordionGroup.js +11 -10
- package/ui/AccordionGroup.js.map +1 -1
- package/ui/AdminMessage.js +10 -10
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +59 -55
- package/ui/Avatar.js.map +1 -1
- package/ui/Badge.js +15 -16
- package/ui/Badge.js.map +1 -1
- package/ui/BottomSheet.js +15 -17
- package/ui/BottomSheet.js.map +1 -1
- package/ui/Button.js +19 -26
- package/ui/Button.js.map +1 -1
- package/ui/ChannelAvatar.js +41 -38
- package/ui/ChannelAvatar.js.map +1 -1
- package/ui/Checkbox.js +10 -9
- package/ui/Checkbox.js.map +1 -1
- package/ui/ConnectionStatus.js +5 -7
- package/ui/ConnectionStatus.js.map +1 -1
- package/ui/ContextMenu.js +143 -144
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +14 -12
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +207 -177
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +23 -23
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +14 -12
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +2 -2
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +28 -20
- package/ui/IconButton.js.map +1 -1
- package/ui/ImageRenderer.js +84 -65
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +14 -16
- package/ui/Input.js.map +1 -1
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/LinkLabel.js.map +1 -1
- package/ui/Loader.js +12 -10
- package/ui/Loader.js.map +1 -1
- package/ui/MentionLabel.js +64 -60
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js +10 -10
- package/ui/MentionUserLabel.js.map +1 -1
- package/ui/MessageContent.js +186 -170
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput/hooks/usePaste.js +5 -4
- package/ui/MessageInput/hooks/usePaste.js.map +1 -1
- package/ui/MessageInput.js +48 -50
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +93 -72
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +64 -56
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +40 -49
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +32 -40
- package/ui/MessageSearchItem.js.map +1 -1
- package/ui/MessageStatus.js +11 -11
- package/ui/Modal.js +57 -59
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js +10 -10
- package/ui/MutedAvatarOverlay.js.map +1 -1
- package/ui/OGMessageItemBody.js +47 -47
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +7 -8
- package/ui/OpenChannelAdminMessage.js.map +1 -1
- package/ui/OpenChannelAvatar.js +17 -18
- package/ui/OpenChannelAvatar.js.map +1 -1
- package/ui/OpenchannelConversationHeader.js +13 -17
- package/ui/OpenchannelConversationHeader.js.map +1 -1
- package/ui/OpenchannelFileMessage.js +147 -139
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +185 -178
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +220 -213
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +172 -164
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +106 -8
- package/ui/PlaceHolder.js.map +1 -1
- package/ui/PlaybackTime.js +16 -15
- package/ui/PlaybackTime.js.map +1 -1
- package/ui/ProgressBar.js +15 -13
- package/ui/ProgressBar.js.map +1 -1
- package/ui/QuoteMessage.js +41 -44
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +45 -31
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +17 -13
- package/ui/ReactionBadge.js.map +1 -1
- package/ui/ReactionButton.js +19 -19
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +14 -14
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +21 -13
- package/ui/TextButton.js.map +1 -1
- package/ui/TextMessageItemBody.js +33 -31
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThreadReplies.js +21 -25
- package/ui/ThreadReplies.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +37 -28
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Toggle.js +86 -78
- package/ui/Toggle.js.map +1 -1
- package/ui/Tooltip.js +9 -8
- package/ui/Tooltip.js.map +1 -1
- package/ui/TooltipWrapper.js +18 -17
- package/ui/TooltipWrapper.js.map +1 -1
- package/ui/UnknownMessageItemBody.js +19 -20
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +80 -75
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +29 -34
- package/ui/UserProfile.js.map +1 -1
- package/ui/VoiceMessageItemBody.js +49 -43
- package/ui/VoiceMessageItemBody.js.map +1 -1
- package/ui/VoiceMessgeInput.js +8 -7
- package/ui/VoiceMessgeInput.js.map +1 -1
- package/ui/Word.js +29 -27
- package/ui/Word.js.map +1 -1
- package/{useHandleUploadFiles-406a6c9c.js → useHandleUploadFiles-33aff88e.js} +111 -124
- package/useHandleUploadFiles-33aff88e.js.map +1 -0
- package/useLongPress-322bb6a3.js +103 -0
- package/useLongPress-322bb6a3.js.map +1 -0
- package/useSendMultipleFilesMessage-4489a0f6.js +283 -0
- package/useSendMultipleFilesMessage-4489a0f6.js.map +1 -0
- package/useSendbirdStateContext.js +5 -3
- package/useSendbirdStateContext.js.map +1 -1
- package/useStatefulFileInfoList-dd95f949.js +219 -0
- package/useStatefulFileInfoList-dd95f949.js.map +1 -0
- package/utils/message/getOutgoingMessageState.js +8 -9
- package/utils/message/getOutgoingMessageState.js.map +1 -1
- package/utils/message/isVoiceMessage.js +4 -4
- package/utils/message/isVoiceMessage.js.map +1 -1
- package/{utils-7cc92ac2.js → utils-158c1683.js} +3 -3
- package/{utils-7cc92ac2.js.map → utils-158c1683.js.map} +1 -1
- package/utils-3660243c.js +25 -0
- package/utils-3660243c.js.map +1 -0
- package/utils-40040f8e.js +157 -0
- package/utils-40040f8e.js.map +1 -0
- package/utils-48a3ef27.js +31 -0
- package/utils-48a3ef27.js.map +1 -0
- package/utils-74c161a0.js +7 -0
- package/utils-74c161a0.js.map +1 -0
- package/utils-e98a7f8c.js +57 -0
- package/utils-e98a7f8c.js.map +1 -0
- package/uuid-3c77ef7b.js +15 -0
- package/{uuid-16373bba.js.map → uuid-3c77ef7b.js.map} +1 -1
- package/withSendbird.js +16 -22
- package/withSendbird.js.map +1 -1
- package/ChannelListProvider-1188e373.js +0 -1028
- package/ChannelListProvider-1188e373.js.map +0 -1
- package/ChannelProvider-9de00431.js +0 -1933
- package/ChannelProvider-9de00431.js.map +0 -1
- package/CreateChannelProvider-a2fad282.js +0 -44
- package/LocalizationContext-2463058b.js +0 -20
- package/MediaQueryContext-e3429d12.js +0 -87
- package/MediaQueryContext-e3429d12.js.map +0 -1
- package/MemberList-593867cb.js +0 -404
- package/OpenChannelProvider-3e4b8c8e.js +0 -1890
- package/RemoveMessageModal-9162aebe.js +0 -38
- package/RemoveMessageModal-9162aebe.js.map +0 -1
- package/ThreadProvider-9a3b145f.js +0 -1778
- package/ThreadProvider-9a3b145f.js.map +0 -1
- package/UserProfileContext-4ae968eb.js +0 -41
- package/UserProfileContext-4ae968eb.js.map +0 -1
- package/_rollupPluginBabelHelpers-50c9576f.js.map +0 -1
- package/cjs/ChannelListProvider-e55e6242.js +0 -1037
- package/cjs/ChannelListProvider-e55e6242.js.map +0 -1
- package/cjs/ChannelProvider-6fa73019.js +0 -1941
- package/cjs/ChannelProvider-6fa73019.js.map +0 -1
- package/cjs/CreateChannelProvider-8b8a557c.js +0 -52
- package/cjs/MediaQueryContext-73aac8cf.js +0 -94
- package/cjs/MediaQueryContext-73aac8cf.js.map +0 -1
- package/cjs/MemberList-26b8de48.js +0 -410
- package/cjs/OpenChannelListProvider-2e3ee48d.js +0 -439
- package/cjs/OpenChannelProvider-8577ea58.js +0 -1899
- package/cjs/RemoveMessageModal-dfeeb36a.js +0 -44
- package/cjs/RemoveMessageModal-dfeeb36a.js.map +0 -1
- package/cjs/ThreadProvider-8b0cf491.js +0 -1787
- package/cjs/ThreadProvider-8b0cf491.js.map +0 -1
- package/cjs/UserProfileContext-fa8d0383.js +0 -49
- package/cjs/UserProfileContext-fa8d0383.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-83d7e84b.js.map +0 -1
- package/cjs/color-d83b77ac.js.map +0 -1
- package/cjs/compareIds-bef997cb.js.map +0 -1
- package/cjs/const-67ff9e34.js +0 -20
- package/cjs/consts-b018b1ed.js +0 -6
- package/cjs/consts-b018b1ed.js.map +0 -1
- package/cjs/consts-bf228385.js +0 -6
- package/cjs/consts-d3b53f23.js +0 -6
- package/cjs/index-11f9cc0f.js.map +0 -1
- package/cjs/index-1a9fdbb4.js +0 -368
- package/cjs/index-1a9fdbb4.js.map +0 -1
- package/cjs/index-1f6b30ea.js +0 -330
- package/cjs/index-2ab19f9b.js +0 -57
- package/cjs/index-4b5a006d.js +0 -139
- package/cjs/index-4b5a006d.js.map +0 -1
- package/cjs/index-4eb7e2b5.js.map +0 -1
- package/cjs/index-56a25735.js +0 -171
- package/cjs/index-56a25735.js.map +0 -1
- package/cjs/index-6ab9a40d.js +0 -202
- package/cjs/index-7f41c4b6.js +0 -118
- package/cjs/index-7f41c4b6.js.map +0 -1
- package/cjs/index-81baccd0.js.map +0 -1
- package/cjs/index-857630c5.js.map +0 -1
- package/cjs/index-8ec12d1d.js +0 -164
- package/cjs/index-8ec12d1d.js.map +0 -1
- package/cjs/index-c9b003b3.js.map +0 -1
- package/cjs/index-cbcacbee.js +0 -9
- package/cjs/index-cbcacbee.js.map +0 -1
- package/cjs/index-d04f312e.js.map +0 -1
- package/cjs/index-e9ac5ae1.js +0 -58
- package/cjs/index-e9ac5ae1.js.map +0 -1
- package/cjs/index-fbe9cc73.js +0 -647
- package/cjs/index-fbe9cc73.js.map +0 -1
- package/cjs/index.module-a24e9cd7.js +0 -6
- package/cjs/index.module-a24e9cd7.js.map +0 -1
- package/cjs/stringFormatterUtils-8d6592ca.js +0 -16
- package/cjs/stringSet-d00535a5.js.map +0 -1
- package/cjs/topics-adde627b.js.map +0 -1
- package/cjs/types-0b5148cb.js +0 -17
- package/cjs/types-0b5148cb.js.map +0 -1
- package/cjs/useHandleUploadFiles-b2fc56e5.js.map +0 -1
- package/cjs/useLongPress-1c0f4696.js +0 -87
- package/cjs/useLongPress-1c0f4696.js.map +0 -1
- package/cjs/useSendMultipleFilesMessage-81cdc9d0.js +0 -109
- package/cjs/useSendMultipleFilesMessage-81cdc9d0.js.map +0 -1
- package/cjs/utils-418b4438.js +0 -62
- package/cjs/utils-418b4438.js.map +0 -1
- package/cjs/utils-5bfb4516.js +0 -35
- package/cjs/utils-5bfb4516.js.map +0 -1
- package/cjs/utils-68aa6bf6.js +0 -345
- package/cjs/utils-68aa6bf6.js.map +0 -1
- package/cjs/utils-b34d4e2c.js +0 -31
- package/cjs/utils-b34d4e2c.js.map +0 -1
- package/cjs/utils-c47c68b1.js +0 -6
- package/cjs/utils-c47c68b1.js.map +0 -1
- package/cjs/uuid-b2806cf5.js +0 -15
- package/compareIds-8ed6e36a.js +0 -15
- package/compareIds-8ed6e36a.js.map +0 -1
- package/const-711048c3.js +0 -13
- package/consts-675764c9.js +0 -4
- package/consts-675764c9.js.map +0 -1
- package/consts-691a3935.js +0 -37
- package/consts-6ee24012.js +0 -4
- package/consts-eb77e905.js +0 -4
- package/consts-eb77e905.js.map +0 -1
- package/context-b4c70964.js +0 -13
- package/index-128523eb.js +0 -110
- package/index-128523eb.js.map +0 -1
- package/index-13401b87.js.map +0 -1
- package/index-5cb32ab5.js.map +0 -1
- package/index-5d6a0f12.js +0 -598
- package/index-5d6a0f12.js.map +0 -1
- package/index-60a7bf91.js +0 -164
- package/index-60a7bf91.js.map +0 -1
- package/index-7700a436.js.map +0 -1
- package/index-7946293f.js +0 -152
- package/index-7946293f.js.map +0 -1
- package/index-7b7478f5.js +0 -132
- package/index-7b7478f5.js.map +0 -1
- package/index-82178c6a.js +0 -361
- package/index-82178c6a.js.map +0 -1
- package/index-98138798.js +0 -187
- package/index-98887e8d.js +0 -7
- package/index-98887e8d.js.map +0 -1
- package/index-ae7ef8cf.js +0 -51
- package/index-b25ffa7e.js.map +0 -1
- package/index-c421b228.js.map +0 -1
- package/index-d99155f7.js +0 -51
- package/index-d99155f7.js.map +0 -1
- package/index-daa3ae67.js.map +0 -1
- package/index-e15f6b6a.js +0 -320
- package/index.module-60af77d3.js +0 -4
- package/index.module-60af77d3.js.map +0 -1
- package/stringFormatterUtils-dbad592d.js +0 -14
- package/stringSet-2814bf17.js.map +0 -1
- package/topics-5659403d.js.map +0 -1
- package/types-89092633.js +0 -15
- package/types-89092633.js.map +0 -1
- package/useHandleUploadFiles-406a6c9c.js.map +0 -1
- package/useLongPress-5e1ad951.js +0 -85
- package/useLongPress-5e1ad951.js.map +0 -1
- package/useSendMultipleFilesMessage-a3a2c84b.js +0 -107
- package/useSendMultipleFilesMessage-a3a2c84b.js.map +0 -1
- package/utils-0c22998a.js +0 -306
- package/utils-0c22998a.js.map +0 -1
- package/utils-407da489.js +0 -4
- package/utils-407da489.js.map +0 -1
- package/utils-b97d5113.js +0 -57
- package/utils-b97d5113.js.map +0 -1
- package/utils-cae84d8a.js +0 -29
- package/utils-cae84d8a.js.map +0 -1
- package/utils-ebf008e2.js +0 -31
- package/utils-ebf008e2.js.map +0 -1
- package/uuid-16373bba.js +0 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItem.js","sources":["../../../../src/modules/Thread/components/ThreadList/ThreadListItemContent.tsx","../../../../src/modules/Thread/components/ThreadList/ThreadListItem.tsx"],"sourcesContent":["import React, { useContext, useRef, useState } from 'react';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { FileMessage, MultipleFilesMessage, UserMessage } from '@sendbird/chat/message';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport './ThreadListItemContent.scss';\n\nimport { ReplyType } from '../../../../types';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport Avatar from '../../../../ui/Avatar';\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport { UserProfileContextInterface } from '../../../../ui/MessageContent';\nimport UserProfile from '../../../../ui/UserProfile';\nimport MessageItemMenu from '../../../../ui/MessageItemMenu';\nimport MessageItemReactionMenu from '../../../../ui/MessageItemReactionMenu';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport {\n getClassName,\n getSenderName,\n getUIKitMessageType,\n getUIKitMessageTypes,\n isMultipleFilesMessage,\n isOGMessage,\n isTextMessage,\n isThumbnailMessage,\n isVoiceMessage,\n SendableMessageType,\n} from '../../../../utils';\nimport MessageStatus from '../../../../ui/MessageStatus';\nimport EmojiReactions from '../../../../ui/EmojiReactions';\nimport format from 'date-fns/format';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport TextMessageItemBody from '../../../../ui/TextMessageItemBody';\nimport OGMessageItemBody from '../../../../ui/OGMessageItemBody';\nimport FileMessageItemBody from '../../../../ui/FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../../../../ui/ThumbnailMessageItemBody';\nimport UnknownMessageItemBody from '../../../../ui/UnknownMessageItemBody';\nimport VoiceMessageItemBody from '../../../../ui/VoiceMessageItemBody';\nimport { useMediaQueryContext } from '../../../../lib/MediaQueryContext';\nimport useLongPress from '../../../../hooks/useLongPress';\nimport MobileMenu from '../../../../ui/MobileMenu';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MultipleFilesMessageItemBody, { ThreadMessageKind } from '../../../../ui/MultipleFilesMessageItemBody';\n\nexport interface ThreadListItemContentProps {\n className?: string;\n userId: string;\n channel: GroupChannel;\n message: SendableMessageType;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: SendableMessageType) => void;\n toggleReaction?: (message: SendableMessageType, reactionKey: string, isReacted: boolean) => void;\n onReplyInThread?: (props: { message: SendableMessageType }) => void;\n}\n\nexport default function ThreadListItemContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isMentionEnabled = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n onReplyInThread,\n}: ThreadListItemContentProps): React.ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { isMobile } = useMediaQueryContext();\n const { dateLocale } = useLocalization();\n const { config } = useSendbirdStateContext();\n const [supposedHover, setSupposedHover] = useState(false);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext<UserProfileContextInterface>(UserProfileContext);\n const avatarRef = useRef(null);\n\n const isByMe = (userId === (message as SendableMessageType)?.sender?.userId)\n || ((message as SendableMessageType)?.sendingStatus === 'pending')\n || ((message as SendableMessageType)?.sendingStatus === 'failed');\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n const isReactionEnabledInChannel = isReactionEnabled && !channel?.isEphemeral;\n const isOgMessageEnabledInGroupChannel = channel.isGroupChannel() && config.groupChannel.enableOgtag;\n\n // Mobile\n const mobileMenuRef = useRef(null);\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n const longPress = useLongPress({\n onLongPress: () => {\n if (isMobile) {\n setShowMobileMenu(true);\n }\n },\n }, {\n shouldPreventDefault: false,\n });\n\n return (\n <div\n className={`sendbird-thread-list-item-content ${className} ${isByMe ? 'outgoing' : 'incoming'}`}\n ref={mobileMenuRef}\n >\n <div className={`sendbird-thread-list-item-content__left ${isReactionEnabledInChannel ? 'use-reaction' : ''} ${isByMe ? 'outgoing' : 'incoming'}`}>\n {(!isByMe && !chainBottom) && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-thread-list-item-content__left__avatar\"\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown?.();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n : <UserProfile user={message?.sender} onSuccess={closeDropdown} />\n }\n </MenuItems>\n )}\n />\n )}\n {(isByMe && !isMobile) && (\n <div\n className={`sendbird-thread-list-item-content-menu ${isReactionEnabledInChannel ? 'use-reaction' : ''\n } ${isByMe ? 'outgoing' : 'incoming'\n } ${supposedHoverClassName}`}\n >\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as SendableMessageType}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as SendableMessageType}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n <div\n className=\"sendbird-thread-list-item-content__middle\"\n {...(isMobile) ? { ...longPress } : {}}\n >\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-thread-list-item-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as SendableMessageType)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-thread-list-item-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as SendableMessageType}\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-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n ) : isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {isVoiceMessage(message as FileMessage) && (\n <VoiceMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n channelUrl={channel?.url}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n truncateLimit={isByMe ? 18 : 14}\n />\n )}\n {\n isMultipleFilesMessage(message) && (\n <MultipleFilesMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as MultipleFilesMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n threadMessageKind={ThreadMessageKind.CHILD}\n />\n )\n }\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n showFileViewer={showFileViewer}\n style={{\n width: isMobile ? '100%' : '200px',\n height: '148px',\n }}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {/* reactions */}\n {(isReactionEnabledInChannel && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-thread-list-item-content-reactions',\n (\n !isByMe\n || isThumbnailMessage(message as FileMessage)\n || (isOgMessageEnabledInGroupChannel && isOGMessage(message as UserMessage))\n || isMultipleFilesMessage(message)\n ) ? '' : 'primary',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as SendableMessageType}\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-thread-list-item-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 </div>\n <div\n className={`sendbird-thread-list-item-content__right ${chainTop ? 'chain-top' : ''\n } ${isByMe ? 'outgoing' : 'incoming'}`}\n >\n {(!isByMe && !isMobile) && (\n <div className={`sendbird-thread-list-item-content-menu ${supposedHoverClassName}`}>\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as SendableMessageType}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as SendableMessageType}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n </div>\n )}\n </div>\n {showMobileMenu && (\n <MobileMenu\n parentRef={mobileMenuRef}\n channel={channel}\n message={message}\n userId={userId}\n replyType={replyType}\n hideMenu={() => {\n setShowMobileMenu(false);\n }}\n isReactionEnabled={isReactionEnabled}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n showEdit={showEdit}\n showRemove={showRemove}\n toggleReaction={toggleReaction}\n isOpenedFromThread\n />\n )}\n </div>\n );\n}\n","import React, { useMemo, useState, useRef, useEffect, useLayoutEffect } from 'react';\nimport format from 'date-fns/format';\nimport { FileMessage } from '@sendbird/chat/message';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport RemoveMessage from '../RemoveMessageModal';\nimport FileViewer from '../../../../ui/FileViewer';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { ThreadListStateTypes } from '../../types';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport ThreadListItemContent from './ThreadListItemContent';\nimport { Role } from '../../../../lib/types';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\nimport { getIsReactionEnabled } from '../../../../utils/getIsReactionEnabled';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface ThreadListItemProps {\n className?: string;\n message: SendableMessageType;\n chainTop?: boolean;\n chainBottom?: boolean;\n hasSeparator?: boolean;\n renderCustomSeparator?: (props: { message: SendableMessageType }) => React.ReactElement;\n handleScroll?: () => void;\n}\n\nexport default function ThreadListItem({\n className,\n message,\n chainTop,\n chainBottom,\n hasSeparator,\n renderCustomSeparator,\n handleScroll,\n}: ThreadListItemProps): React.ReactElement {\n const { stores, config } = useSendbirdStateContext();\n const {\n isReactionEnabled,\n isMentionEnabled,\n isOnline,\n replyType,\n userMention,\n logger,\n } = config;\n const userId = stores?.userStore?.user?.userId;\n const { dateLocale } = useLocalization();\n const threadContext = useThreadContext?.();\n const {\n currentChannel,\n nicknamesMap,\n emojiContainer,\n toggleReaction,\n threadListState,\n updateMessage,\n resendMessage,\n deleteMessage,\n isMuted,\n isChannelFrozen,\n } = threadContext;\n const openingMessage = threadContext?.message;\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const usingReaction = getIsReactionEnabled({\n globalLevel: isReactionEnabled,\n isSuper: currentChannel.isSuper,\n isBroadcast: currentChannel.isBroadcast,\n });\n\n // Move to message\n const messageScrollRef = useRef(null);\n useLayoutEffect(() => {\n if (openingMessage?.messageId === message?.messageId && messageScrollRef?.current) {\n messageScrollRef.current?.scrollIntoView({ block: 'center', inline: 'center' });\n }\n }, [openingMessage, messageScrollRef?.current]);\n\n // reactions\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n // mention\n const editMessageInputRef = useRef(null);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isMuted\n && !(isChannelFrozen && !(currentChannel.myRole === Role.OPERATOR));\n\n const mentionNodes = useDirtyGetMentions({ ref: editMessageInputRef }, { logger });\n const ableMention = mentionNodes?.length < userMention?.maxMentionCount;\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // edit input\n const disabled = !(threadListState === ThreadListStateTypes.INITIALIZED)\n || !isOnline\n || isMuted\n || isChannelFrozen;\n\n // memorize\n const MemorizedSeparator = useMemo(() => {\n if (typeof renderCustomSeparator === 'function') {\n return renderCustomSeparator?.({ message });\n }\n }, [message, renderCustomSeparator]);\n\n // Edit message\n if (showEdit && message.isUserMessage()) {\n return (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n // renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n channel={currentChannel}\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([]);\n setShowEdit(false);\n currentChannel?.endTyping?.();\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n ref={messageScrollRef}\n className={`sendbird-thread-list-item ${className}`}\n >\n {/* date separator */}\n {\n hasSeparator && message?.createdAt && (MemorizedSeparator || (\n <DateSeparator>\n <Label\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt, 'MMM dd, yyyy', { locale: dateLocale })}\n </Label>\n </DateSeparator>\n ))\n }\n <ThreadListItemContent\n userId={userId}\n channel={currentChannel}\n message={message}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={usingReaction}\n isMentionEnabled={isMentionEnabled}\n disableQuoteMessage\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n toggleReaction={toggleReaction}\n showEdit={setShowEdit}\n />\n {/* modal */}\n {showRemove && (\n <RemoveMessage\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )}\n {showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n isByMe={message?.sender?.userId === userId}\n onClose={() => setShowFileViewer(false)}\n onDelete={() => {\n deleteMessage(message);\n setShowFileViewer(false);\n }}\n />\n )}\n </div>\n );\n}\n"],"names":["ThreadListItemContent","_ref","_sender","_channel$members2","_channel$members2$fin","_message$reactions","className","userId","channel","message","disabled","chainTop","chainBottom","isMentionEnabled","isReactionEnabled","disableQuoteMessage","replyType","nicknamesMap","emojiContainer","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","onReplyInThread","messageTypes","getUIKitMessageTypes","isMobile","useMediaQueryContext","dateLocale","useLocalization","config","useSendbirdStateContext","supposedHover","setSupposedHover","useState","disableUserProfile","renderUserProfile","useContext","UserProfileContext","avatarRef","useRef","isByMe","sender","sendingStatus","useReplying","parentMessageId","parentMessage","supposedHoverClassName","isReactionEnabledInChannel","isEphemeral","isOgMessageEnabledInGroupChannel","isGroupChannel","groupChannel","enableOgtag","mobileMenuRef","showMobileMenu","setShowMobileMenu","longPress","useLongPress","onLongPress","shouldPreventDefault","React","createElement","ref","ContextMenu","menuTrigger","toggleDropdown","_channel$members","_channel$members$find","_message$sender2","Avatar","src","members","find","member","_message$sender","profileUrl","width","height","onClick","menuItems","closeDropdown","MenuItems","parentRef","parentContainRef","style","paddingTop","paddingBottom","user","close","UserProfile","onSuccess","MessageItemMenu","MessageItemReactionMenu","spaceFromTrigger","_extends","_objectSpread","Label","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2","_message$sender3","nickname","getSenderName","getClassName","MessageStatus","isOGMessage","OGMessageItemBody","isTextMessage","TextMessageItemBody","isVoiceMessage","VoiceMessageItemBody","channelUrl","url","getUIKitMessageType","FILE","FileMessageItemBody","truncateLimit","isMultipleFilesMessage","MultipleFilesMessageItemBody","threadMessageKind","ThreadMessageKind","CHILD","isThumbnailMessage","ThumbnailMessageItemBody","UNKNOWN","UnknownMessageItemBody","reactions","length","EmojiReactions","memberNicknamesMap","CAPTION_3","format","createdAt","locale","MobileMenu","hideMenu","isOpenedFromThread","ThreadListItem","_stores$userStore","_stores$userStore$use","hasSeparator","renderCustomSeparator","handleScroll","stores","isOnline","userMention","logger","userStore","threadContext","useThreadContext","currentChannel","threadListState","updateMessage","deleteMessage","isMuted","isChannelFrozen","openingMessage","setShowEdit","setShowRemove","setShowFileViewer","usingReaction","getIsReactionEnabled","globalLevel","isSuper","isBroadcast","messageScrollRef","useLayoutEffect","messageId","current","_messageScrollRef$cur","scrollIntoView","block","inline","editMessageInputRef","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","displaySuggestedMentionList","myRole","Role","OPERATOR","mentionNodes","useDirtyGetMentions","ableMention","maxMentionCount","useEffect","filter","_ref2","i","indexOf","splice","ThreadListStateTypes","INITIALIZED","MemorizedSeparator","useMemo","isUserMessage","Fragment","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","MessageInput","isEdit","mentionSelectedUser","onStartTyping","_currentChannel$start","startTyping","call","onUpdateMessage","_ref3","_currentChannel$endTy","mentionTemplate","endTyping","onCancelEdit","_currentChannel$endTy2","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","DateSeparator","RemoveMessage","onCancel","FileViewer","onClose","onDelete"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEe,SAASA,qBAAqBA,CAAAC,IAAA,EAoBM;AAAA,EAAA,IAAAC,OAAA,EAAAC,iBAAA,EAAAC,qBAAA,EAAAC,kBAAA,CAAA;EAAA,IApBL;IAC5CC,SAAS;IACTC,MAAM;IACNC,OAAO;IACPC,OAAO;AACPC,IAAAA,QAAQ,GAAG,KAAK;AAChBC,IAAAA,QAAQ,GAAG,KAAK;AAChBC,IAAAA,WAAW,GAAG,KAAK;AACnBC,IAAAA,gBAAgB,GAAG,KAAK;AACxBC,IAAAA,iBAAiB,GAAG,KAAK;AACzBC,IAAAA,mBAAmB,GAAG,KAAK;IAC3BC,SAAS;IACTC,YAAY;IACZC,cAAc;IACdC,QAAQ;IACRC,UAAU;IACVC,cAAc;IACdC,aAAa;IACbC,cAAc;AACdC,IAAAA,eAAAA;AAC0B,GAAC,GAAAvB,IAAA,CAAA;EAC3B,MAAMwB,YAAY,GAAGC,0BAAoB,EAAE,CAAA;EAC3C,MAAM;AAAEC,IAAAA,QAAAA;GAAU,GAAGC,sCAAoB,EAAE,CAAA;EAC3C,MAAM;AAAEC,IAAAA,UAAAA;GAAY,GAAGC,mCAAe,EAAE,CAAA;EACxC,MAAM;AAAEC,IAAAA,MAAAA;GAAQ,GAAGC,uBAAuB,EAAE,CAAA;EAC5C,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC,CAAA;EACzD,MAAM;IACJC,kBAAkB;AAClBC,IAAAA,iBAAAA;AACF,GAAC,GAAGC,gBAAU,CAA8BC,qCAAkB,CAAC,CAAA;AAC/D,EAAA,MAAMC,SAAS,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;AAE9B,EAAA,MAAMC,MAAM,GAAInC,MAAM,MAAME,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAP,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,OAAA,GAAPO,OAAO,CAA0BkC,MAAM,MAAA,IAAA,IAAAzC,OAAA,KAAxCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAA,CAA0CK,MAAM,CAAA,IACrE,CAACE,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAA0BmC,aAAa,MAAK,SAAU,IAC9D,CAACnC,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAA0BmC,aAAa,MAAK,QAAS,CAAA;AACnE,EAAA,MAAMC,WAAW,GAAG,CAAC,EAAE,CAAC7B,SAAS,KAAK,aAAa,IAAIA,SAAS,KAAK,QAAQ,KACxEP,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEqC,eAAe,IAAIrC,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,IAAAA,OAAO,CAAEsC,aAAa,IAClD,CAAChC,mBAAmB,CACxB,CAAA;AACD,EAAA,MAAMiC,sBAAsB,GAAGf,aAAa,GAAG,sBAAsB,GAAG,EAAE,CAAA;EAC1E,MAAMgB,0BAA0B,GAAGnC,iBAAiB,IAAI,EAACN,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAE0C,WAAW,CAAA,CAAA;EAC7E,MAAMC,gCAAgC,GAAG3C,OAAO,CAAC4C,cAAc,EAAE,IAAIrB,MAAM,CAACsB,YAAY,CAACC,WAAW,CAAA;;AAEpG;AACA,EAAA,MAAMC,aAAa,GAAGd,YAAM,CAAC,IAAI,CAAC,CAAA;EAClC,MAAM,CAACe,cAAc,EAAEC,iBAAiB,CAAC,GAAGtB,cAAQ,CAAC,KAAK,CAAC,CAAA;EAC3D,MAAMuB,SAAS,GAAGC,yBAAY,CAAC;IAC7BC,WAAW,EAAEA,MAAM;AACjB,MAAA,IAAIjC,QAAQ,EAAE;QACZ8B,iBAAiB,CAAC,IAAI,CAAC,CAAA;AACzB,OAAA;AACF,KAAA;AACF,GAAC,EAAE;AACDI,IAAAA,oBAAoB,EAAE,KAAA;AACxB,GAAC,CAAC,CAAA;EAEF,oBACEC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACEzD,SAAS,EAAG,qCAAoCA,SAAU,CAAA,CAAA,EAAGoC,MAAM,GAAG,UAAU,GAAG,UAAW,CAAE,CAAA;AAChGsB,IAAAA,GAAG,EAAET,aAAAA;GAELO,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKzD,IAAAA,SAAS,EAAG,CAAA,wCAAA,EAA0C2C,0BAA0B,GAAG,cAAc,GAAG,EAAG,CAAA,CAAA,EAAGP,MAAM,GAAG,UAAU,GAAG,UAAW,CAAA,CAAA;GAC5I,EAAA,CAACA,MAAM,IAAI,CAAC9B,WAAW,iBACvBkD,yBAAA,CAAAC,aAAA,CAACE,yBAAW,EAAA;AACVC,IAAAA,WAAW,EAAGC,cAAc,IAAA;AAAA,MAAA,IAAAC,gBAAA,EAAAC,qBAAA,EAAAC,gBAAA,CAAA;AAAA,MAAA,oBAC1BR,yBAAA,CAAAC,aAAA,CAACQ,oBAAM,EAAA;AACLjE,QAAAA,SAAS,EAAC,iDAAiD;QAC3DkE,GAAG,EAAE,CAAAhE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA4D,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAA,GAAP5D,OAAO,CAAEiE,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,CAAEpE,MAAM,OAAKE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAmE,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,eAAA,GAAPnE,OAAO,CAAEkC,MAAM,cAAAiC,eAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAA,CAAiBrE,MAAM,CAAA,CAAA;SAAC,CAAA,MAAA,IAAA,IAAA8D,qBAAA,KAA9EA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAgFQ,UAAU,MAAIpE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA6D,gBAAA,GAAP7D,OAAO,CAAEkC,MAAM,MAAA2B,IAAAA,IAAAA,gBAAA,uBAAfA,gBAAA,CAAiBO,UAAU,CAAA,IAAI,EAAG;AACrIb,QAAAA,GAAG,EAAExB,SAAU;AACfsC,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,MAAM,EAAC,MAAM;QACbC,OAAO,EAAEA,MAAM;UACb,IAAI,CAAC5C,kBAAkB,EAAE;AACvB+B,YAAAA,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAc,EAAI,CAAA;AACpB,WAAA;AACF,SAAA;OACA,CAAA,CAAA;KACF;AACFc,IAAAA,SAAS,EAAGC,aAAa,iBACvBpB,yBAAA,CAAAC,aAAA,CAACoB,wBAAS,EAAA;AACRC,MAAAA,SAAS,EAAE5C,SAAU;AACrB6C,MAAAA,gBAAgB,EAAE7C,SAAU;AAC5B0C,MAAAA,aAAa,EAAEA,aAAc;AAC7BI,MAAAA,KAAK,EAAE;AAAEC,QAAAA,UAAU,EAAE,KAAK;AAAEC,QAAAA,aAAa,EAAE,KAAA;AAAM,OAAA;KAEhDnD,EAAAA,iBAAiB,GACdA,iBAAiB,CAAC;AAAEoD,MAAAA,IAAI,EAAEhF,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEkC,MAAM;AAAE+C,MAAAA,KAAK,EAAER,aAAAA;AAAc,KAAC,CAAC,gBAClEpB,yBAAA,CAAAC,aAAA,CAAC4B,cAAW,EAAA;AAACF,MAAAA,IAAI,EAAEhF,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEkC,MAAO;AAACiD,MAAAA,SAAS,EAAEV,aAAAA;KAAiB,CAAA,CAAA;GAK3E,CAAA,EACCxC,MAAM,IAAI,CAACf,QAAQ,iBACnBmC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEzD,IAAAA,SAAS,EAAG,CAAA,uCAAA,EAAyC2C,0BAA0B,GAAG,cAAc,GAAG,EAClG,CAAGP,CAAAA,EAAAA,MAAM,GAAG,UAAU,GAAG,UACzB,IAAGM,sBAAuB,CAAA,CAAA;AAAE,GAAA,eAE7Bc,yBAAA,CAAAC,aAAA,CAAC8B,kBAAe,EAAA;AACdvF,IAAAA,SAAS,EAAC,qDAAqD;AAC/DE,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEA,OAA+B;AACxCiC,IAAAA,MAAM,EAAEA,MAAO;AACf1B,IAAAA,SAAS,EAAEA,SAAU;AACrBN,IAAAA,QAAQ,EAAEA,QAAS;AACnBS,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,aAAa,EAAEA,aAAc;AAC7BY,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCV,IAAAA,eAAe,EAAEA,eAAAA;AAAgB,GAAA,CACjC,EACDyB,0BAA0B,iBACzBa,yBAAA,CAAAC,aAAA,CAAC+B,0BAAuB,EAAA;AACtBxF,IAAAA,SAAS,EAAC,uDAAuD;AACjEG,IAAAA,OAAO,EAAEA,OAA+B;AACxCF,IAAAA,MAAM,EAAEA,MAAO;IACfwF,gBAAgB,EAAE,EAAG;AACrB7E,IAAAA,cAAc,EAAEA,cAAe;AAC/BK,IAAAA,cAAc,EAAEA,cAAe;AAC/BW,IAAAA,gBAAgB,EAAEA,gBAAAA;AAAiB,GAAA,CAEtC,CAEJ,CACG,eACN4B,yBAAA,CAAAC,aAAA,QAAAiC,kCAAA,CAAA;AACE1F,IAAAA,SAAS,EAAC,2CAAA;GACLqB,EAAAA,QAAQ,GAAAsE,wCAAA,CAAA,EAAA,EAASvC,SAAS,CAAK,GAAA,EAAE,CAAA,EAEpC,CAAChB,MAAM,IAAI,CAAC/B,QAAQ,IAAI,CAACkC,WAAW,iBACpCiB,yBAAA,CAAAC,aAAA,CAACmC,cAAK,EAAA;AACJ5F,IAAAA,SAAS,EAAC,wDAAwD;IAClE6F,IAAI,EAAEC,wBAAe,CAACC,SAAU;IAChCC,KAAK,EAAEC,oBAAW,CAACC,cAAAA;AAAe,GAAA,EAGhC,CAAAhG,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAL,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,iBAAA,GAAPK,OAAO,CAAEiE,OAAO,MAAAtE,IAAAA,IAAAA,iBAAA,wBAAAC,qBAAA,GAAhBD,iBAAA,CAAkBuE,IAAI,CAAEC,MAAM,IAAA;AAAA,IAAA,IAAA8B,gBAAA,CAAA;IAAA,OAAK,CAAA9B,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAEpE,MAAM,OAAKE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAgG,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAA,GAAPhG,OAAO,CAAEkC,MAAM,cAAA8D,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,gBAAA,CAAiBlG,MAAM,CAAA,CAAA;GAAC,CAAA,MAAA,IAAA,IAAAH,qBAAA,KAA9EA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAgFsG,QAAQ,KACrFC,mBAAa,CAAClG,OAAO,CAAA;AACxB;GAGL,eACDqD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKzD,IAAAA,SAAS,EAAEsG,kBAAY,CAAC,CAAC,2DAA2D,CAAC,CAAA;AAAE,GAAA,EAExFlE,MAAM,IAAI,CAAC9B,WAAW,iBACtBkD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKzD,SAAS,EAAEsG,kBAAY,CAAC,CAAC,uEAAuE,EAAE,MAAM,EAAE5D,sBAAsB,CAAC,CAAA;GACpIc,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKzD,IAAAA,SAAS,EAAC,4FAAA;AAA4F,GAAA,eACzGwD,yBAAA,CAAAC,aAAA,CAAC8C,8BAAa,EAAA;AACZpG,IAAAA,OAAO,EAAEA,OAA+B;AACxCD,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAA,CACjB,CACE,CAET,EAEA2C,gCAAgC,IAAI2D,iBAAW,CAACrG,OAAO,CAAgB,gBACnEqD,yBAAA,CAAAC,aAAA,CAACgD,oBAAiB,EAAA;AACnBzG,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAuB;AAChCiC,IAAAA,MAAM,EAAEA,MAAO;AACf7B,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,iBAAiB,EAAEmC,0BAAAA;GACnB,CAAA,GACE+D,mBAAa,CAACvG,OAAO,CAAgB,iBACzCqD,yBAAA,CAAAC,aAAA,CAACkD,sBAAmB,EAAA;AAClB3G,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAuB;AAChCiC,IAAAA,MAAM,EAAEA,MAAO;AACf7B,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,iBAAiB,EAAEmC,0BAAAA;GAEpB,CAAA,EACFiE,oBAAc,CAACzG,OAAO,CAAgB,iBACrCqD,yBAAA,CAAAC,aAAA,CAACoD,4CAAoB,EAAA;AACnB7G,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAuB;AAChC2G,IAAAA,UAAU,EAAE5G,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE6G,GAAI;AACzB3E,IAAAA,MAAM,EAAEA,MAAO;AACf5B,IAAAA,iBAAiB,EAAEmC,0BAAAA;AAA2B,GAAA,CAEjD,EACCqE,yBAAmB,CAAE7G,OAAO,CAAiB,KAAKgB,YAAY,CAAC8F,IAAI,iBACnEzD,yBAAA,CAAAC,aAAA,CAACyD,sBAAmB,EAAA;AAClBlH,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAuB;AAChCiC,IAAAA,MAAM,EAAEA,MAAO;AACf5B,IAAAA,iBAAiB,EAAEmC,0BAA2B;AAC9CwE,IAAAA,aAAa,EAAE/E,MAAM,GAAG,EAAE,GAAG,EAAA;GAEhC,CAAA,EAECgF,4BAAsB,CAACjH,OAAO,CAAC,iBAC7BqD,yBAAA,CAAAC,aAAA,CAAC4D,oCAA4B,EAAA;AAC3BrH,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAgC;AACzCiC,IAAAA,MAAM,EAAEA,MAAO;AACf5B,IAAAA,iBAAiB,EAAEA,iBAAkB;IACrC8G,iBAAiB,EAAEC,yBAAiB,CAACC,KAAAA;GAExC,CAAA,EAEDC,wBAAkB,CAACtH,OAAO,CAAgB,iBAC1CqD,yBAAA,CAAAC,aAAA,CAACiE,2BAAwB,EAAA;AACvB1H,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAuB;AAChCiC,IAAAA,MAAM,EAAEA,MAAO;AACf5B,IAAAA,iBAAiB,EAAEmC,0BAA2B;AAC9C5B,IAAAA,cAAc,EAAEA,cAAe;AAC/BiE,IAAAA,KAAK,EAAE;AACLR,MAAAA,KAAK,EAAEnD,QAAQ,GAAG,MAAM,GAAG,OAAO;AAClCoD,MAAAA,MAAM,EAAE,OAAA;AACV,KAAA;AAAE,GAAA,CAEL,EACCuC,yBAAmB,CAAE7G,OAAO,CAAiB,KAAKgB,YAAY,CAACwG,OAAO,iBACtEnE,yBAAA,CAAAC,aAAA,CAACmE,yBAAsB,EAAA;AACrB5H,IAAAA,SAAS,EAAC,8DAA8D;AACxEG,IAAAA,OAAO,EAAEA,OAAQ;AACjBiC,IAAAA,MAAM,EAAEA,MAAO;AACf5B,IAAAA,iBAAiB,EAAEmC,0BAAAA;GAEtB,CAAA,EAECA,0BAA0B,IAAI,CAAAxC,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAJ,kBAAA,GAAPI,OAAO,CAAE0H,SAAS,MAAA9H,IAAAA,IAAAA,kBAAA,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAoB+H,MAAM,IAAG,CAAC,iBAC5DtE,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKzD,IAAAA,SAAS,EAAEsG,kBAAY,CAAC,CAC3B,6CAA6C,EAE3C,CAAClE,MAAM,IACJqF,wBAAkB,CAACtH,OAAO,CAAgB,IACzC0C,gCAAgC,IAAI2D,iBAAW,CAACrG,OAAO,CAAiB,IACzEiH,4BAAsB,CAACjH,OAAO,CAAC,GAChC,EAAE,GAAG,SAAS,CACnB,CAAA;AAAE,GAAA,eACDqD,yBAAA,CAAAC,aAAA,CAACsE,iBAAc,EAAA;AACb9H,IAAAA,MAAM,EAAEA,MAAO;AACfE,IAAAA,OAAO,EAAEA,OAA+B;AACxCD,IAAAA,OAAO,EAAEA,OAAQ;AACjBkC,IAAAA,MAAM,EAAEA,MAAO;AACfxB,IAAAA,cAAc,EAAEA,cAAe;AAC/BoH,IAAAA,kBAAkB,EAAErH,YAAa;AACjCM,IAAAA,cAAc,EAAEA,cAAAA;AAAe,GAAA,CAC/B,CAEL,EACC,CAACmB,MAAM,IAAI,CAAC9B,WAAW,iBACvBkD,yBAAA,CAAAC,aAAA,CAACmC,cAAK,EAAA;IACJ5F,SAAS,EAAEsG,kBAAY,CAAC,CAAC,uEAAuE,EAAE,OAAO,EAAE5D,sBAAsB,CAAC,CAAE;IACpImD,IAAI,EAAEC,wBAAe,CAACmC,SAAU;IAChCjC,KAAK,EAAEC,oBAAW,CAACC,cAAAA;AAAe,GAAA,EAEjCgC,cAAM,CAAC,CAAA/H,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEgI,SAAS,KAAI,CAAC,EAAE,GAAG,EAAE;AACpCC,IAAAA,MAAM,EAAE7G,UAAAA;AACV,GAAC,CAAC,CAEL,CACG,CACF,eACNiC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEzD,IAAAA,SAAS,EAAG,CAAA,yCAAA,EAA2CK,QAAQ,GAAG,WAAW,GAAG,EAC/E,CAAA,CAAA,EAAG+B,MAAM,GAAG,UAAU,GAAG,UAAW,CAAA,CAAA;GAEnC,EAAA,CAACA,MAAM,IAAI,CAACf,QAAQ,iBACpBmC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKzD,SAAS,EAAG,0CAAyC0C,sBAAuB,CAAA,CAAA;AAAE,GAAA,EAChFC,0BAA0B,iBACzBa,yBAAA,CAAAC,aAAA,CAAC+B,0BAAuB,EAAA;AACtBxF,IAAAA,SAAS,EAAC,uDAAuD;AACjEG,IAAAA,OAAO,EAAEA,OAA+B;AACxCF,IAAAA,MAAM,EAAEA,MAAO;IACfwF,gBAAgB,EAAE,EAAG;AACrB7E,IAAAA,cAAc,EAAEA,cAAe;AAC/BK,IAAAA,cAAc,EAAEA,cAAe;AAC/BW,IAAAA,gBAAgB,EAAEA,gBAAAA;AAAiB,GAAA,CAEtC,eACD4B,yBAAA,CAAAC,aAAA,CAAC8B,kBAAe,EAAA;AACdvF,IAAAA,SAAS,EAAC,qDAAqD;AAC/DE,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEA,OAA+B;AACxCiC,IAAAA,MAAM,EAAEA,MAAO;AACf1B,IAAAA,SAAS,EAAEA,SAAU;AACrBN,IAAAA,QAAQ,EAAEA,QAAS;AACnBU,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,aAAa,EAAEA,aAAc;AAC7BY,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCV,IAAAA,eAAe,EAAEA,eAAAA;GACjB,CAAA,CAEL,CACG,EACLgC,cAAc,iBACbM,yBAAA,CAAAC,aAAA,CAAC4E,kBAAU,EAAA;AACTvD,IAAAA,SAAS,EAAE7B,aAAc;AACzB/C,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBF,IAAAA,MAAM,EAAEA,MAAO;AACfS,IAAAA,SAAS,EAAEA,SAAU;IACrB4H,QAAQ,EAAEA,MAAM;MACdnF,iBAAiB,CAAC,KAAK,CAAC,CAAA;KACxB;AACF3C,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrC4B,IAAAA,MAAM,EAAEA,MAAO;AACfxB,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,UAAU,EAAEA,UAAW;AACvBG,IAAAA,cAAc,EAAEA,cAAe;IAC/BsH,kBAAkB,EAAA,IAAA;AAAA,GAAA,CAErB,CACG,CAAA;AAEV;;AC1Ve,SAASC,cAAcA,CAAA7I,IAAA,EAQM;AAAA,EAAA,IAAA8I,iBAAA,EAAAC,qBAAA,EAAA3I,kBAAA,EAAAuE,eAAA,CAAA;EAAA,IARL;IACrCtE,SAAS;IACTG,OAAO;IACPE,QAAQ;IACRC,WAAW;IACXqI,YAAY;IACZC,qBAAqB;AACrBC,IAAAA,YAAAA;AACmB,GAAC,GAAAlJ,IAAA,CAAA;EACpB,MAAM;IAAEmJ,MAAM;AAAErH,IAAAA,MAAAA;GAAQ,GAAGC,uBAAuB,EAAE,CAAA;EACpD,MAAM;IACJlB,iBAAiB;IACjBD,gBAAgB;IAChBwI,QAAQ;IACRrI,SAAS;IACTsI,WAAW;AACXC,IAAAA,MAAAA;AACF,GAAC,GAAGxH,MAAM,CAAA;EACV,MAAMxB,MAAM,GAAG6I,MAAM,KAANA,IAAAA,IAAAA,MAAM,wBAAAL,iBAAA,GAANK,MAAM,CAAEI,SAAS,MAAA,IAAA,IAAAT,iBAAA,KAAAC,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,qBAAA,GAAjBD,iBAAA,CAAmBtD,IAAI,cAAAuD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAvBA,qBAAA,CAAyBzI,MAAM,CAAA;EAC9C,MAAM;AAAEsB,IAAAA,UAAAA;GAAY,GAAGC,mCAAe,EAAE,CAAA;AACxC,EAAA,MAAM2H,aAAa,GAAGC,+BAAgB,aAAhBA,+BAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,+BAAgB,EAAI,CAAA;EAC1C,MAAM;IACJC,cAAc;IACd1I,YAAY;IACZC,cAAc;IACdK,cAAc;IACdqI,eAAe;IACfC,aAAa;IACbvI,aAAa;IACbwI,aAAa;IACbC,OAAO;AACPC,IAAAA,eAAAA;AACF,GAAC,GAAGP,aAAa,CAAA;EACjB,MAAMQ,cAAc,GAAGR,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAEhJ,OAAO,CAAA;EAE7C,MAAM,CAACU,QAAQ,EAAE+I,WAAW,CAAC,GAAG/H,cAAQ,CAAC,KAAK,CAAC,CAAA;EAC/C,MAAM,CAACf,UAAU,EAAE+I,aAAa,CAAC,GAAGhI,cAAQ,CAAC,KAAK,CAAC,CAAA;EACnD,MAAM,CAACd,cAAc,EAAE+I,iBAAiB,CAAC,GAAGjI,cAAQ,CAAC,KAAK,CAAC,CAAA;EAC3D,MAAMkI,aAAa,GAAGC,oCAAoB,CAAC;AACzCC,IAAAA,WAAW,EAAEzJ,iBAAiB;IAC9B0J,OAAO,EAAEb,cAAc,CAACa,OAAO;IAC/BC,WAAW,EAAEd,cAAc,CAACc,WAAAA;AAC9B,GAAC,CAAC,CAAA;;AAEF;AACA,EAAA,MAAMC,gBAAgB,GAAGjI,YAAM,CAAC,IAAI,CAAC,CAAA;AACrCkI,EAAAA,qBAAe,CAAC,MAAM;IACpB,IAAI,CAAAV,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAEW,SAAS,OAAKnK,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEmK,SAAS,CAAA,IAAIF,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAhBA,KAAAA,CAAAA,IAAAA,gBAAgB,CAAEG,OAAO,EAAE;AAAA,MAAA,IAAAC,qBAAA,CAAA;MACjF,CAAAA,qBAAA,GAAAJ,gBAAgB,CAACG,OAAO,MAAAC,IAAAA,IAAAA,qBAAA,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAA0BC,cAAc,CAAC;AAAEC,QAAAA,KAAK,EAAE,QAAQ;AAAEC,QAAAA,MAAM,EAAE,QAAA;AAAS,OAAC,CAAC,CAAA;AACjF,KAAA;AACF,GAAC,EAAE,CAAChB,cAAc,EAAES,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEG,OAAO,CAAC,CAAC,CAAA;;AAE/C;AACAF,EAAAA,qBAAe,CAAC,MAAM;AACpBxB,IAAAA,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,EAAI,CAAA;GACjB,EAAE,CAAChI,QAAQ,EAAEV,OAAO,KAAPA,IAAAA,IAAAA,OAAO,wBAAAJ,kBAAA,GAAPI,OAAO,CAAE0H,SAAS,cAAA9H,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAA,CAAoB+H,MAAM,CAAC,CAAC,CAAA;;AAE1C;AACA,EAAA,MAAM8C,mBAAmB,GAAGzI,YAAM,CAAC,IAAI,CAAC,CAAA;EACxC,MAAM,CAAC0I,eAAe,EAAEC,kBAAkB,CAAC,GAAGjJ,cAAQ,CAAC,EAAE,CAAC,CAAA;EAC1D,MAAM,CAACkJ,cAAc,EAAEC,iBAAiB,CAAC,GAAGnJ,cAAQ,CAAC,EAAE,CAAC,CAAA;EACxD,MAAM,CAACoJ,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGrJ,cAAQ,CAAC,EAAE,CAAC,CAAA;EAC5D,MAAM,CAACsJ,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGvJ,cAAQ,CAAC,IAAI,CAAC,CAAA;EAChE,MAAM,CAACwJ,YAAY,EAAEC,eAAe,CAAC,GAAGzJ,cAAQ,CAAC,IAAI,CAAC,CAAA;EACtD,MAAM,CAAC0J,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG3J,cAAQ,CAAC,EAAE,CAAC,CAAA;EACtE,MAAM4J,2BAA2B,GAAG1C,QAAQ,IACvCxI,gBAAgB,IAChBsK,eAAe,CAAC/C,MAAM,GAAG,CAAC,IAC1B,CAAC2B,OAAO,IACR,EAAEC,eAAe,IAAI,EAAEL,cAAc,CAACqC,MAAM,KAAKC,UAAI,CAACC,QAAQ,CAAC,CAAC,CAAA;EAErE,MAAMC,YAAY,GAAGC,qDAAmB,CAAC;AAAEpI,IAAAA,GAAG,EAAEkH,mBAAAA;AAAoB,GAAC,EAAE;AAAE3B,IAAAA,MAAAA;AAAO,GAAC,CAAC,CAAA;AAClF,EAAA,MAAM8C,WAAW,GAAG,CAAAF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAE/D,MAAM,KAAGkB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEgD,eAAe,CAAA,CAAA;AAEvEC,EAAAA,eAAS,CAAC,MAAM;AACdjB,IAAAA,iBAAiB,CAACD,cAAc,CAACmB,MAAM,CAACC,KAAA,IAAgB;MAAA,IAAf;AAAElM,QAAAA,MAAAA;AAAO,OAAC,GAAAkM,KAAA,CAAA;AACjD,MAAA,MAAMC,CAAC,GAAGnB,gBAAgB,CAACoB,OAAO,CAACpM,MAAM,CAAC,CAAA;MAC1C,IAAImM,CAAC,GAAG,CAAC,EAAE;AACT,QAAA,OAAO,KAAK,CAAA;AACd,OAAC,MAAM;AACLnB,QAAAA,gBAAgB,CAACqB,MAAM,CAACF,CAAC,EAAE,CAAC,CAAC,CAAA;AAC7B,QAAA,OAAO,IAAI,CAAA;AACb,OAAA;AACF,KAAC,CAAC,CAAC,CAAA;AACL,GAAC,EAAE,CAACnB,gBAAgB,CAAC,CAAC,CAAA;;AAEtB;AACA,EAAA,MAAM7K,QAAQ,GAAG,EAAEkJ,eAAe,KAAKiD,yCAAoB,CAACC,WAAW,CAAC,IACnE,CAACzD,QAAQ,IACTU,OAAO,IACPC,eAAe,CAAA;;AAEpB;AACA,EAAA,MAAM+C,kBAAkB,GAAGC,aAAO,CAAC,MAAM;AACvC,IAAA,IAAI,OAAO9D,qBAAqB,KAAK,UAAU,EAAE;AAC/C,MAAA,OAAOA,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAArBA,qBAAqB,CAAG;AAAEzI,QAAAA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AAC7C,KAAA;AACF,GAAC,EAAE,CAACA,OAAO,EAAEyI,qBAAqB,CAAC,CAAC,CAAA;;AAEpC;AACA,EAAA,IAAI/H,QAAQ,IAAIV,OAAO,CAACwM,aAAa,EAAE,EAAE;AACvC,IAAA,oBACEnJ,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAoJ,QAAA,EAEInB,IAAAA,EAAAA,2BAA2B,iBACzBjI,yBAAA,CAAAC,aAAA,CAACoJ,uCAAoB,EAAA;AACnBC,MAAAA,cAAc,EAAEjC,eAAgB;AAChCkC,MAAAA,UAAU,EAAE5B,iBAAAA;AACZ;AAAA;MACA6B,eAAe,EAAG7H,IAAI,IAAK;AACzB,QAAA,IAAIA,IAAI,EAAE;AACR6F,UAAAA,iBAAiB,CAAC,CAAC,GAAGD,cAAc,EAAE5F,IAAI,CAAC,CAAC,CAAA;AAC9C,SAAA;QACA2F,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtBQ,eAAe,CAACnG,IAAI,CAAC,CAAA;QACrBiG,oBAAoB,CAAC,IAAI,CAAC,CAAA;OAC1B;MACF6B,iBAAiB,EAAEA,MAAM;QACvB7B,oBAAoB,CAAC,IAAI,CAAC,CAAA;OAC1B;MACF8B,YAAY,EAAGC,KAAK,IAAK;QACvB3B,wBAAwB,CAAC2B,KAAK,CAAC,CAAA;OAC/B;AACFC,MAAAA,cAAc,EAAErB,WAAY;AAC5BC,MAAAA,eAAe,EAAEhD,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEgD,eAAgB;AAC9CqB,MAAAA,kBAAkB,EAAErE,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEqE,kBAAAA;AAAmB,KAAA,CAEvD,eAEH7J,yBAAA,CAAAC,aAAA,CAAC6J,eAAY,EAAA;MACXC,MAAM,EAAA,IAAA;AACNrN,MAAAA,OAAO,EAAEmJ,cAAe;AACxBjJ,MAAAA,QAAQ,EAAEA,QAAS;AACnBsD,MAAAA,GAAG,EAAEkH,mBAAoB;AACzB4C,MAAAA,mBAAmB,EAAEnC,YAAa;AAClC9K,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCJ,MAAAA,OAAO,EAAEA,OAAQ;MACjBsN,aAAa,EAAEA,MAAM;AAAA,QAAA,IAAAC,qBAAA,CAAA;AACnBrE,QAAAA,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAqE,qBAAA,GAAdrE,cAAc,CAAEsE,WAAW,MAAAD,IAAAA,IAAAA,qBAAA,uBAA3BA,qBAAA,CAAAE,IAAA,CAAAvE,cAAc,CAAiB,CAAA;OAC/B;MACFwE,eAAe,EAAEC,KAAA,IAA6C;AAAA,QAAA,IAAAC,qBAAA,CAAA;QAAA,IAA5C;UAAEzD,SAAS;UAAEnK,OAAO;AAAE6N,UAAAA,eAAAA;AAAgB,SAAC,GAAAF,KAAA,CAAA;AACvDvE,QAAAA,aAAa,CAAC;UACZe,SAAS;UACTnK,OAAO;UACP4K,cAAc;AACdiD,UAAAA,eAAAA;AACF,SAAC,CAAC,CAAA;QACFpE,WAAW,CAAC,KAAK,CAAC,CAAA;AAClBP,QAAAA,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA0E,qBAAA,GAAd1E,cAAc,CAAE4E,SAAS,MAAAF,IAAAA,IAAAA,qBAAA,uBAAzBA,qBAAA,CAAAH,IAAA,CAAAvE,cAAc,CAAe,CAAA;OAC7B;MACF6E,YAAY,EAAEA,MAAM;AAAA,QAAA,IAAAC,sBAAA,CAAA;QAClBrD,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACtBE,iBAAiB,CAAC,EAAE,CAAC,CAAA;QACrBE,mBAAmB,CAAC,EAAE,CAAC,CAAA;QACvBM,wBAAwB,CAAC,EAAE,CAAC,CAAA;QAC5B5B,WAAW,CAAC,KAAK,CAAC,CAAA;AAClBP,QAAAA,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA8E,sBAAA,GAAd9E,cAAc,CAAE4E,SAAS,MAAAE,IAAAA,IAAAA,sBAAA,uBAAzBA,sBAAA,CAAAP,IAAA,CAAAvE,cAAc,CAAe,CAAA;OAC7B;MACF+E,eAAe,EAAGjJ,IAAI,IAAK;AACzB,QAAA,IAAI,CAAAkG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEpL,MAAM,OAAKkF,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAElF,MAAM,CAAE,EAAA;UACzCqL,eAAe,CAAC,IAAI,CAAC,CAAA;UACrBR,kBAAkB,CAAC,EAAE,CAAC,CAAA;AACxB,SAAA;OACA;MACFuD,qBAAqB,EAAGC,WAAW,IAAK;QACtCxD,kBAAkB,CAACwD,WAAW,CAAC,CAAA;OAC/B;MACFC,yBAAyB,EAAGC,OAAO,IAAK;QACtCtD,mBAAmB,CAACsD,OAAO,CAAC,CAAA;OAC5B;MACFC,SAAS,EAAGC,CAAC,IAAK;AAChB,QAAA,IAAIjD,2BAA2B,IAAI,CAAAF,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAqB,CAAEzD,MAAM,IAAG,CAAC,KAC7D4G,CAAC,CAACC,GAAG,KAAKC,uBAAgB,CAACC,KAAK,IAAI9C,WAAW,IAAK2C,CAAC,CAACC,GAAG,KAAKC,uBAAgB,CAACE,OAAO,IAAIJ,CAAC,CAACC,GAAG,KAAKC,uBAAgB,CAACG,SAAS,CAAC,EACpI;UACA3D,oBAAoB,CAACsD,CAAC,CAAC,CAAA;AACvB,UAAA,OAAO,IAAI,CAAA;AACb,SAAA;AACA,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;AAAE,KAAA,CACF,CACD,CAAA;AAEP,GAAA;EAEA,oBACElL,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,GAAG,EAAE0G,gBAAiB;IACtBpK,SAAS,EAAG,6BAA4BA,SAAU,CAAA,CAAA;GAIhD2I,EAAAA,YAAY,KAAIxI,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEgI,SAAS,CAAKsE,KAAAA,kBAAkB,iBACvDjJ,yBAAA,CAAAC,aAAA,CAACuL,gBAAa,qBACZxL,yBAAA,CAAAC,aAAA,CAACmC,cAAK,EAAA;IACJC,IAAI,EAAEC,wBAAe,CAACC,SAAU;IAChCC,KAAK,EAAEC,oBAAW,CAACC,cAAAA;GAElBgC,EAAAA,cAAM,CAAC/H,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEgI,SAAS,EAAE,cAAc,EAAE;AAAEC,IAAAA,MAAM,EAAE7G,UAAAA;GAAY,CAAC,CAC7D,CAEX,CAAC,eAEJiC,yBAAA,CAAAC,aAAA,CAAC/D,qBAAqB,EAAA;AACpBO,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,OAAO,EAAEmJ,cAAe;AACxBlJ,IAAAA,OAAO,EAAEA,OAAQ;AACjBE,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,WAAW,EAAEA,WAAY;AACzBE,IAAAA,iBAAiB,EAAEuJ,aAAc;AACjCxJ,IAAAA,gBAAgB,EAAEA,gBAAiB;IACnCE,mBAAmB,EAAA,IAAA;AACnBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,cAAc,EAAEA,cAAe;AAC/BI,IAAAA,aAAa,EAAEA,aAAc;AAC7BF,IAAAA,UAAU,EAAE+I,aAAc;AAC1B9I,IAAAA,cAAc,EAAE+I,iBAAkB;AAClC7I,IAAAA,cAAc,EAAEA,cAAe;AAC/BJ,IAAAA,QAAQ,EAAE+I,WAAAA;AAAY,GAAA,CACtB,EAED9I,UAAU,iBACT0C,yBAAA,CAAAC,aAAA,CAACwL,gCAAa,EAAA;AACZ9O,IAAAA,OAAO,EAAEA,OAAQ;AACjB+O,IAAAA,QAAQ,EAAEA,MAAMrF,aAAa,CAAC,KAAK,CAAA;AAAE,GAAA,CAExC,EACA9I,cAAc,iBACbyC,yBAAA,CAAAC,aAAA,CAAC0L,wBAAU,EAAA;AACThP,IAAAA,OAAO,EAAEA,OAAuB;AAChCiC,IAAAA,MAAM,EAAE,CAAAjC,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAmE,eAAA,GAAPnE,OAAO,CAAEkC,MAAM,cAAAiC,eAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAA,CAAiBrE,MAAM,MAAKA,MAAO;AAC3CmP,IAAAA,OAAO,EAAEA,MAAMtF,iBAAiB,CAAC,KAAK,CAAE;IACxCuF,QAAQ,EAAEA,MAAM;MACd7F,aAAa,CAACrJ,OAAO,CAAC,CAAA;MACtB2J,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAC1B,KAAA;AAAE,GAAA,CAEL,CACG,CAAA;AAEV;;;;"}
|
|
1
|
+
{"version":3,"file":"ThreadListItem.js","sources":["../../../../src/modules/Thread/components/ThreadList/ThreadListItemContent.tsx","../../../../src/modules/Thread/components/ThreadList/ThreadListItem.tsx"],"sourcesContent":["import React, { useContext, useRef, useState } from 'react';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { FileMessage, MultipleFilesMessage, UserMessage } from '@sendbird/chat/message';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport './ThreadListItemContent.scss';\n\nimport { ReplyType } from '../../../../types';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport Avatar from '../../../../ui/Avatar';\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport UserProfile from '../../../../ui/UserProfile';\nimport MessageItemMenu from '../../../../ui/MessageItemMenu';\nimport MessageItemReactionMenu from '../../../../ui/MessageItemReactionMenu';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport {\n getClassName,\n getSenderName,\n getUIKitMessageType,\n getUIKitMessageTypes,\n isMultipleFilesMessage,\n isOGMessage,\n isTextMessage,\n isThumbnailMessage,\n isVoiceMessage,\n SendableMessageType,\n} from '../../../../utils';\nimport MessageStatus from '../../../../ui/MessageStatus';\nimport EmojiReactions from '../../../../ui/EmojiReactions';\nimport format from 'date-fns/format';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport TextMessageItemBody from '../../../../ui/TextMessageItemBody';\nimport OGMessageItemBody from '../../../../ui/OGMessageItemBody';\nimport FileMessageItemBody from '../../../../ui/FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../../../../ui/ThumbnailMessageItemBody';\nimport UnknownMessageItemBody from '../../../../ui/UnknownMessageItemBody';\nimport VoiceMessageItemBody from '../../../../ui/VoiceMessageItemBody';\nimport { useMediaQueryContext } from '../../../../lib/MediaQueryContext';\nimport useLongPress from '../../../../hooks/useLongPress';\nimport MobileMenu from '../../../../ui/MobileMenu';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MultipleFilesMessageItemBody, { ThreadMessageKind } from '../../../../ui/MultipleFilesMessageItemBody';\nimport { useThreadMessageKindKeySelector } from '../../../Channel/context/hooks/useThreadMessageKindKeySelector';\nimport { useStatefulFileInfoList } from '../../../Channel/context/hooks/useStatefulFileInfoList';\nimport { useThreadContext } from '../../context/ThreadProvider';\n\nexport interface ThreadListItemContentProps {\n className?: string;\n userId: string;\n channel: GroupChannel;\n message: SendableMessageType;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: SendableMessageType) => void;\n toggleReaction?: (message: SendableMessageType, reactionKey: string, isReacted: boolean) => void;\n onReplyInThread?: (props: { message: SendableMessageType }) => void;\n}\n\nexport default function ThreadListItemContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isMentionEnabled = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n onReplyInThread,\n}: ThreadListItemContentProps): React.ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { isMobile } = useMediaQueryContext();\n const { dateLocale } = useLocalization();\n const { config, eventHandlers } = useSendbirdStateContext?.() || {};\n const onPressUserProfileHandler = eventHandlers?.reaction?.onPressUserProfile;\n const [supposedHover, setSupposedHover] = useState(false);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const { deleteMessage } = useThreadContext();\n const avatarRef = useRef(null);\n\n const isByMe = (userId === (message as SendableMessageType)?.sender?.userId)\n || ((message as SendableMessageType)?.sendingStatus === 'pending')\n || ((message as SendableMessageType)?.sendingStatus === 'failed');\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n const isReactionEnabledInChannel = isReactionEnabled && !channel?.isEphemeral;\n const isOgMessageEnabledInGroupChannel = channel.isGroupChannel() && config.groupChannel.enableOgtag;\n\n // Mobile\n const mobileMenuRef = useRef(null);\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n const longPress = useLongPress({\n onLongPress: () => {\n if (isMobile) {\n setShowMobileMenu(true);\n }\n },\n }, {\n shouldPreventDefault: false,\n });\n\n const threadMessageKindKey = useThreadMessageKindKeySelector({\n threadMessageKind: ThreadMessageKind.CHILD,\n isMobile,\n });\n // For MultipleFilesMessage only.\n const statefulFileInfoList = useStatefulFileInfoList(message);\n\n return (\n <div\n className={`sendbird-thread-list-item-content ${className} ${isByMe ? 'outgoing' : 'incoming'}`}\n ref={mobileMenuRef}\n >\n <div className={`sendbird-thread-list-item-content__left ${isReactionEnabledInChannel ? 'use-reaction' : ''} ${isByMe ? 'outgoing' : 'incoming'}`}>\n {(!isByMe && !chainBottom) && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-thread-list-item-content__left__avatar\"\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown?.();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n ? renderUserProfile({ user: message?.sender, close: closeDropdown, currentUserId: userId })\n : <UserProfile user={message?.sender} onSuccess={closeDropdown} />\n }\n </MenuItems>\n )}\n />\n )}\n {(isByMe && !isMobile) && (\n <div\n className={`sendbird-thread-list-item-content-menu ${isReactionEnabledInChannel ? 'use-reaction' : ''\n } ${isByMe ? 'outgoing' : 'incoming'\n } ${supposedHoverClassName}`}\n >\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as SendableMessageType}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as SendableMessageType}\n userId={userId}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n <div\n className=\"sendbird-thread-list-item-content__middle\"\n {...(isMobile) ? { ...longPress } : {}}\n >\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-thread-list-item-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as SendableMessageType)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-thread-list-item-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as SendableMessageType}\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-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n ) : isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {isVoiceMessage(message as FileMessage) && (\n <VoiceMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n channelUrl={channel?.url}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n truncateLimit={isByMe ? 18 : 14}\n />\n )}\n {\n isMultipleFilesMessage(message) && (\n <MultipleFilesMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as MultipleFilesMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n threadMessageKindKey={threadMessageKindKey}\n statefulFileInfoList={statefulFileInfoList}\n />\n )\n }\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n showFileViewer={showFileViewer}\n style={{\n width: isMobile ? '100%' : '200px',\n height: '148px',\n }}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabledInChannel}\n />\n )}\n {/* reactions */}\n {(isReactionEnabledInChannel && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-thread-list-item-content-reactions',\n (\n !isByMe\n || isThumbnailMessage(message as FileMessage)\n || (isOgMessageEnabledInGroupChannel && isOGMessage(message as UserMessage))\n || isMultipleFilesMessage(message)\n ) ? '' : 'primary',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as SendableMessageType}\n channel={channel}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n onPressUserProfile={onPressUserProfileHandler}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-thread-list-item-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 </div>\n <div\n className={`sendbird-thread-list-item-content__right ${chainTop ? 'chain-top' : ''\n } ${isByMe ? 'outgoing' : 'incoming'}`}\n >\n {(!isByMe && !isMobile) && (\n <div className={`sendbird-thread-list-item-content-menu ${supposedHoverClassName}`}>\n {isReactionEnabledInChannel && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as SendableMessageType}\n userId={userId}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as SendableMessageType}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n </div>\n )}\n </div>\n {showMobileMenu && (\n <MobileMenu\n parentRef={mobileMenuRef}\n channel={channel}\n message={message}\n userId={userId}\n replyType={replyType}\n hideMenu={() => {\n setShowMobileMenu(false);\n }}\n isReactionEnabled={isReactionEnabled}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n showEdit={showEdit}\n showRemove={showRemove}\n toggleReaction={toggleReaction}\n isOpenedFromThread\n deleteMessage={deleteMessage}\n />\n )}\n </div>\n );\n}\n","import React, { useMemo, useState, useRef, useEffect, useLayoutEffect } from 'react';\nimport format from 'date-fns/format';\nimport { FileMessage } from '@sendbird/chat/message';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport RemoveMessage from '../RemoveMessageModal';\nimport FileViewer from '../../../../ui/FileViewer';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { ThreadListStateTypes } from '../../types';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport ThreadListItemContent from './ThreadListItemContent';\nimport { Role } from '../../../../lib/types';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\nimport { getIsReactionEnabled } from '../../../../utils/getIsReactionEnabled';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface ThreadListItemProps {\n className?: string;\n message: SendableMessageType;\n chainTop?: boolean;\n chainBottom?: boolean;\n hasSeparator?: boolean;\n renderCustomSeparator?: (props: { message: SendableMessageType }) => React.ReactElement;\n handleScroll?: () => void;\n}\n\nexport default function ThreadListItem({\n className,\n message,\n chainTop,\n chainBottom,\n hasSeparator,\n renderCustomSeparator,\n handleScroll,\n}: ThreadListItemProps): React.ReactElement {\n const { stores, config } = useSendbirdStateContext();\n const {\n isReactionEnabled,\n isMentionEnabled,\n isOnline,\n replyType,\n userMention,\n logger,\n } = config;\n const userId = stores?.userStore?.user?.userId;\n const { dateLocale } = useLocalization();\n const threadContext = useThreadContext?.();\n const {\n currentChannel,\n nicknamesMap,\n emojiContainer,\n toggleReaction,\n threadListState,\n updateMessage,\n resendMessage,\n deleteMessage,\n isMuted,\n isChannelFrozen,\n } = threadContext;\n const openingMessage = threadContext?.message;\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const usingReaction = getIsReactionEnabled({\n globalLevel: isReactionEnabled,\n isSuper: currentChannel.isSuper,\n isBroadcast: currentChannel.isBroadcast,\n });\n\n // Move to message\n const messageScrollRef = useRef(null);\n useLayoutEffect(() => {\n if (openingMessage?.messageId === message?.messageId && messageScrollRef?.current) {\n messageScrollRef.current?.scrollIntoView({ block: 'center', inline: 'center' });\n }\n }, [openingMessage, messageScrollRef?.current]);\n\n // reactions\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n // mention\n const editMessageInputRef = useRef(null);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isMuted\n && !(isChannelFrozen && !(currentChannel.myRole === Role.OPERATOR));\n\n const mentionNodes = useDirtyGetMentions({ ref: editMessageInputRef }, { logger });\n const ableMention = mentionNodes?.length < userMention?.maxMentionCount;\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // edit input\n const disabled = !(threadListState === ThreadListStateTypes.INITIALIZED)\n || !isOnline\n || isMuted\n || isChannelFrozen;\n\n // memorize\n const MemorizedSeparator = useMemo(() => {\n if (typeof renderCustomSeparator === 'function') {\n return renderCustomSeparator?.({ message });\n }\n }, [message, renderCustomSeparator]);\n\n // Edit message\n if (showEdit && message.isUserMessage()) {\n return (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n // renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n channel={currentChannel}\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([]);\n setShowEdit(false);\n currentChannel?.endTyping?.();\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n ref={messageScrollRef}\n className={`sendbird-thread-list-item ${className}`}\n >\n {/* date separator */}\n {\n hasSeparator && message?.createdAt && (MemorizedSeparator || (\n <DateSeparator>\n <Label\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt, 'MMM dd, yyyy', { locale: dateLocale })}\n </Label>\n </DateSeparator>\n ))\n }\n <ThreadListItemContent\n userId={userId}\n channel={currentChannel}\n message={message}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={usingReaction}\n isMentionEnabled={isMentionEnabled}\n disableQuoteMessage\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n toggleReaction={toggleReaction}\n showEdit={setShowEdit}\n />\n {/* modal */}\n {showRemove && (\n <RemoveMessage\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )}\n {showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n isByMe={message?.sender?.userId === userId}\n onClose={() => setShowFileViewer(false)}\n onDelete={() => {\n deleteMessage(message);\n setShowFileViewer(false);\n }}\n />\n )}\n </div>\n );\n}\n"],"names":["ThreadListItemContent","_a","className","userId","channel","message","_g","disabled","_h","chainTop","_j","chainBottom","_k","isMentionEnabled","_l","isReactionEnabled","_m","disableQuoteMessage","replyType","nicknamesMap","emojiContainer","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","onReplyInThread","messageTypes","getUIKitMessageTypes","isMobile","useMediaQueryContext","dateLocale","useLocalization","_o","useSendbirdStateContext","config","eventHandlers","onPressUserProfileHandler","_b","reaction","onPressUserProfile","_p","useState","supposedHover","setSupposedHover","_q","useContext","UserProfileContext","disableUserProfile","renderUserProfile","deleteMessage","useThreadContext","avatarRef","useRef","isByMe","sender","_c","sendingStatus","useReplying","parentMessageId","parentMessage","supposedHoverClassName","isReactionEnabledInChannel","isEphemeral","isOgMessageEnabledInGroupChannel","isGroupChannel","groupChannel","enableOgtag","mobileMenuRef","_r","showMobileMenu","setShowMobileMenu","longPress","useLongPress","onLongPress","shouldPreventDefault","threadMessageKindKey","useThreadMessageKindKeySelector","threadMessageKind","ThreadMessageKind","CHILD","statefulFileInfoList","useStatefulFileInfoList","React","createElement","concat","ref","ContextMenu","menuTrigger","toggleDropdown","Avatar","src","members","find","member","profileUrl","width","height","onClick","menuItems","closeDropdown","MenuItems","parentRef","parentContainRef","style","paddingTop","paddingBottom","user","close","currentUserId","UserProfile","onSuccess","MessageItemMenu","MessageItemReactionMenu","_extends","Label","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2","_e","_d","nickname","getSenderName","getClassName","MessageStatus","isOGMessage","OGMessageItemBody","isTextMessage","TextMessageItemBody","isVoiceMessage","VoiceMessageItemBody","channelUrl","url","getUIKitMessageType","FILE","FileMessageItemBody","truncateLimit","isMultipleFilesMessage","MultipleFilesMessageItemBody","isThumbnailMessage","ThumbnailMessageItemBody","UNKNOWN","UnknownMessageItemBody","_f","reactions","length","EmojiReactions","memberNicknamesMap","CAPTION_3","format","createdAt","locale","MobileMenu","hideMenu","isOpenedFromThread","ThreadListItem","hasSeparator","renderCustomSeparator","handleScroll","stores","isOnline","userMention","logger","userStore","threadContext","currentChannel","threadListState","updateMessage","isMuted","isChannelFrozen","openingMessage","setShowEdit","setShowRemove","setShowFileViewer","usingReaction","getIsReactionEnabled","globalLevel","isSuper","isBroadcast","messageScrollRef","useLayoutEffect","messageId","current","scrollIntoView","block","inline","editMessageInputRef","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","displaySuggestedMentionList","myRole","Role","OPERATOR","mentionNodes","useDirtyGetMentions","ableMention","maxMentionCount","useEffect","filter","i","indexOf","splice","ThreadListStateTypes","INITIALIZED","MemorizedSeparator","useMemo","isUserMessage","Fragment","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","__spreadArray","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","MessageInput","isEdit","mentionSelectedUser","onStartTyping","startTyping","onUpdateMessage","mentionTemplate","endTyping","onCancelEdit","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","DateSeparator","RemoveMessage","onCancel","FileViewer","onClose","onDelete"],"mappings":"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"}
|
|
@@ -1,141 +1,144 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var tslib_es6 = require('../../tslib.es6-2f2b0bca.js');
|
|
3
4
|
var React = require('react');
|
|
4
5
|
var groupChannel = require('@sendbird/chat/groupChannel');
|
|
5
6
|
var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
|
|
6
7
|
var ui_MessageInput = require('../../ui/MessageInput.js');
|
|
7
|
-
var _const = require('../../const-
|
|
8
|
+
var _const = require('../../const-640252c1.js');
|
|
8
9
|
var Channel_components_SuggestedMentionList = require('../../Channel/components/SuggestedMentionList.js');
|
|
9
|
-
var Thread_context = require('
|
|
10
|
-
var LocalizationContext = require('../../LocalizationContext-
|
|
11
|
-
var useHandleUploadFiles = require('../../useHandleUploadFiles-
|
|
12
|
-
var types = require('../../types-
|
|
10
|
+
var Thread_context = require('../context.js');
|
|
11
|
+
var LocalizationContext = require('../../LocalizationContext-5009012e.js');
|
|
12
|
+
var useHandleUploadFiles = require('../../useHandleUploadFiles-fbe6ad64.js');
|
|
13
|
+
var types = require('../../types-31ed2276.js');
|
|
13
14
|
var Message_hooks_useDirtyGetMentions = require('../../Message/hooks/useDirtyGetMentions.js');
|
|
14
|
-
var utils = require('../../utils-
|
|
15
|
+
var utils = require('../../utils-55fc6797.js');
|
|
15
16
|
require('../../withSendbird.js');
|
|
16
|
-
require('../../_rollupPluginBabelHelpers-
|
|
17
|
+
require('../../_rollupPluginBabelHelpers-94c18dc1.js');
|
|
17
18
|
require('prop-types');
|
|
18
|
-
require('../../const-
|
|
19
|
+
require('../../const-9def5c09.js');
|
|
19
20
|
require('../../ui/IconButton.js');
|
|
20
21
|
require('../../ui/Button.js');
|
|
21
|
-
require('../../index-
|
|
22
|
-
require('../../stringSet-
|
|
23
|
-
require('../../
|
|
22
|
+
require('../../index-35820a94.js');
|
|
23
|
+
require('../../stringSet-98b52c49.js');
|
|
24
|
+
require('../../types-66554668.js');
|
|
25
|
+
require('../../index-bdf7089c.js');
|
|
24
26
|
require('dompurify');
|
|
25
|
-
require('../../consts-
|
|
26
|
-
require('../../consts-
|
|
27
|
-
require('../../consts-
|
|
27
|
+
require('../../consts-54f5c12d.js');
|
|
28
|
+
require('../../consts-a3b7ae99.js');
|
|
29
|
+
require('../../consts-85cd42fa.js');
|
|
28
30
|
require('../../ui/Icon.js');
|
|
29
|
-
require('../../index-
|
|
31
|
+
require('../../index-b995f638.js');
|
|
30
32
|
require('../../utils/message/getOutgoingMessageState.js');
|
|
31
|
-
require('../../index
|
|
32
|
-
require('../../tokenize-
|
|
33
|
-
require('../../index-
|
|
33
|
+
require('../../index-609b07a2.js');
|
|
34
|
+
require('../../tokenize-91bdbeb0.js');
|
|
35
|
+
require('../../index-fd8a0abb.js');
|
|
34
36
|
require('../../ui/Avatar.js');
|
|
35
37
|
require('../../ui/ImageRenderer.js');
|
|
36
|
-
require('../../uuid-
|
|
37
|
-
require('../../ChannelProvider-
|
|
38
|
-
require('../../UserProfileContext-
|
|
39
|
-
require('../../index-
|
|
40
|
-
require('../../compareIds-bef997cb.js');
|
|
38
|
+
require('../../uuid-c74bbbb6.js');
|
|
39
|
+
require('../../ChannelProvider-7fa98120.js');
|
|
40
|
+
require('../../UserProfileContext-922a43ec.js');
|
|
41
|
+
require('../../index-b6d51e74.js');
|
|
41
42
|
require('@sendbird/chat/message');
|
|
42
|
-
require('../../
|
|
43
|
-
require('../../
|
|
44
|
-
require('../../
|
|
45
|
-
require('../../
|
|
43
|
+
require('../../useSendMultipleFilesMessage-87e0ffa3.js');
|
|
44
|
+
require('../../pubSub/topics.js');
|
|
45
|
+
require('../../compareIds-de541666.js');
|
|
46
|
+
require('../../consts-95462b21.js');
|
|
47
|
+
require('../../resolvedReplyType-c20ef661.js');
|
|
46
48
|
require('../context/types.js');
|
|
47
49
|
require('@sendbird/chat');
|
|
48
50
|
require('../../VoicePlayer/useVoicePlayer.js');
|
|
49
|
-
require('../../index-
|
|
51
|
+
require('../../index-0ec5a831.js');
|
|
50
52
|
require('../../VoiceRecorder/context.js');
|
|
51
53
|
require('../../ui/Modal.js');
|
|
52
54
|
require('react-dom');
|
|
53
|
-
require('../../utils-
|
|
54
|
-
require('../../index-
|
|
55
|
-
require('../../MediaQueryContext-
|
|
55
|
+
require('../../utils-180c6bc8.js');
|
|
56
|
+
require('../../index-daf80c58.js');
|
|
57
|
+
require('../../MediaQueryContext-d6fdbe43.js');
|
|
56
58
|
require('../../VoiceRecorder/useVoiceRecorder.js');
|
|
57
|
-
require('../../index-
|
|
59
|
+
require('../../index-ee3bf381.js');
|
|
58
60
|
require('../../ui/PlaybackTime.js');
|
|
59
61
|
require('../../ui/ProgressBar.js');
|
|
60
62
|
require('../../ui/TextButton.js');
|
|
61
|
-
require('../../color-
|
|
62
|
-
require('../../
|
|
63
|
+
require('../../color-477ddbd4.js');
|
|
64
|
+
require('../../hooks/useModal.js');
|
|
63
65
|
|
|
64
66
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
65
67
|
|
|
66
68
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
67
69
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
renderFileUploadIcon,
|
|
72
|
-
renderVoiceMessageIcon,
|
|
73
|
-
renderSendMessageIcon
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
sendVoiceMessage,
|
|
96
|
-
sendMultipleFilesMessage,
|
|
97
|
-
isMuted,
|
|
98
|
-
isChannelFrozen,
|
|
99
|
-
allThreadMessages
|
|
100
|
-
} = Thread_context.useThreadContext();
|
|
101
|
-
const messageInputRef = React.useRef();
|
|
102
|
-
const disabled = propsDisabled || isMuted || !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === types.Role.OPERATOR) && isChannelFrozen || parentMessage === null;
|
|
103
|
-
|
|
70
|
+
var ThreadMessageInput = function (props, ref) {
|
|
71
|
+
var _a;
|
|
72
|
+
var className = props.className,
|
|
73
|
+
renderFileUploadIcon = props.renderFileUploadIcon,
|
|
74
|
+
renderVoiceMessageIcon = props.renderVoiceMessageIcon,
|
|
75
|
+
renderSendMessageIcon = props.renderSendMessageIcon;
|
|
76
|
+
var propsDisabled = props.disabled;
|
|
77
|
+
var config = useSendbirdStateContext.useSendbirdStateContext().config;
|
|
78
|
+
var stringSet = LocalizationContext.useLocalization().stringSet;
|
|
79
|
+
var isMentionEnabled = config.isMentionEnabled,
|
|
80
|
+
isOnline = config.isOnline,
|
|
81
|
+
userMention = config.userMention,
|
|
82
|
+
isVoiceMessageEnabled = config.isVoiceMessageEnabled,
|
|
83
|
+
logger = config.logger;
|
|
84
|
+
var threadContext = Thread_context.useThreadContext();
|
|
85
|
+
var currentChannel = threadContext.currentChannel,
|
|
86
|
+
parentMessage = threadContext.parentMessage,
|
|
87
|
+
sendMessage = threadContext.sendMessage,
|
|
88
|
+
sendFileMessage = threadContext.sendFileMessage,
|
|
89
|
+
sendVoiceMessage = threadContext.sendVoiceMessage,
|
|
90
|
+
sendMultipleFilesMessage = threadContext.sendMultipleFilesMessage,
|
|
91
|
+
isMuted = threadContext.isMuted,
|
|
92
|
+
isChannelFrozen = threadContext.isChannelFrozen,
|
|
93
|
+
allThreadMessages = threadContext.allThreadMessages;
|
|
94
|
+
var messageInputRef = React.useRef();
|
|
95
|
+
var isMultipleFilesMessageEnabled = (_a = threadContext.isMultipleFilesMessageEnabled) !== null && _a !== void 0 ? _a : config.isMultipleFilesMessageEnabled;
|
|
96
|
+
var disabled = propsDisabled || isMuted || !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === types.Role.OPERATOR) && isChannelFrozen || parentMessage === null;
|
|
104
97
|
// MFM
|
|
105
|
-
|
|
106
|
-
sendFileMessage,
|
|
107
|
-
sendMultipleFilesMessage,
|
|
98
|
+
var handleUploadFiles = useHandleUploadFiles.useHandleUploadFiles({
|
|
99
|
+
sendFileMessage: sendFileMessage,
|
|
100
|
+
sendMultipleFilesMessage: sendMultipleFilesMessage,
|
|
108
101
|
quoteMessage: parentMessage
|
|
109
102
|
}, {
|
|
110
|
-
logger
|
|
111
|
-
});
|
|
112
|
-
|
|
103
|
+
logger: logger
|
|
104
|
+
})[0];
|
|
113
105
|
// mention
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
106
|
+
var _b = React.useState(''),
|
|
107
|
+
mentionNickname = _b[0],
|
|
108
|
+
setMentionNickname = _b[1];
|
|
109
|
+
var _c = React.useState([]),
|
|
110
|
+
mentionedUsers = _c[0],
|
|
111
|
+
setMentionedUsers = _c[1];
|
|
112
|
+
var _d = React.useState([]),
|
|
113
|
+
mentionedUserIds = _d[0],
|
|
114
|
+
setMentionedUserIds = _d[1];
|
|
115
|
+
var _e = React.useState(null),
|
|
116
|
+
selectedUser = _e[0],
|
|
117
|
+
setSelectedUser = _e[1];
|
|
118
|
+
var _f = React.useState([]),
|
|
119
|
+
mentionSuggestedUsers = _f[0],
|
|
120
|
+
setMentionSuggestedUsers = _f[1];
|
|
121
|
+
var _g = React.useState(null),
|
|
122
|
+
messageInputEvent = _g[0],
|
|
123
|
+
setMessageInputEvent = _g[1];
|
|
124
|
+
var _h = React.useState(false),
|
|
125
|
+
showVoiceMessageInput = _h[0],
|
|
126
|
+
setShowVoiceMessageInput = _h[1];
|
|
127
|
+
var displaySuggestedMentionList = isOnline && isMentionEnabled && mentionNickname.length > 0 && !utils.isDisabledBecauseFrozen(currentChannel) && !utils.isDisabledBecauseMuted(currentChannel) && !(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.isBroadcast);
|
|
123
128
|
// Reset when changing channel
|
|
124
|
-
React.useEffect(()
|
|
129
|
+
React.useEffect(function () {
|
|
125
130
|
setShowVoiceMessageInput(false);
|
|
126
131
|
}, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url]);
|
|
127
|
-
|
|
132
|
+
var mentionNodes = Message_hooks_useDirtyGetMentions.useDirtyGetMentions({
|
|
128
133
|
ref: ref || messageInputRef
|
|
129
134
|
}, {
|
|
130
|
-
logger
|
|
135
|
+
logger: logger
|
|
131
136
|
});
|
|
132
|
-
|
|
133
|
-
React.useEffect(()
|
|
134
|
-
setMentionedUsers(mentionedUsers.filter(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
} = _ref;
|
|
138
|
-
const i = mentionedUserIds.indexOf(userId);
|
|
137
|
+
var ableMention = (mentionNodes === null || mentionNodes === void 0 ? void 0 : mentionNodes.length) < (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount);
|
|
138
|
+
React.useEffect(function () {
|
|
139
|
+
setMentionedUsers(mentionedUsers.filter(function (_a) {
|
|
140
|
+
var userId = _a.userId;
|
|
141
|
+
var i = mentionedUserIds.indexOf(userId);
|
|
139
142
|
if (i < 0) {
|
|
140
143
|
return false;
|
|
141
144
|
} else {
|
|
@@ -144,28 +147,28 @@ const ThreadMessageInput = (props, ref) => {
|
|
|
144
147
|
}
|
|
145
148
|
}));
|
|
146
149
|
}, [mentionedUserIds]);
|
|
147
|
-
if (currentChannel
|
|
150
|
+
if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.isBroadcast) && (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) !== types.Role.OPERATOR) {
|
|
148
151
|
return null;
|
|
149
152
|
}
|
|
150
153
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
151
|
-
className:
|
|
154
|
+
className: "sendbird-thread-message-input".concat(showVoiceMessageInput ? '--voice-message' : '', " ").concat(className)
|
|
152
155
|
}, displaySuggestedMentionList && /*#__PURE__*/React__default["default"].createElement(Channel_components_SuggestedMentionList, {
|
|
153
156
|
targetNickname: mentionNickname,
|
|
154
157
|
inputEvent: messageInputEvent
|
|
155
158
|
// renderUserMentionItem={renderUserMentionItem}
|
|
156
159
|
,
|
|
157
|
-
onUserItemClick: user
|
|
160
|
+
onUserItemClick: function (user) {
|
|
158
161
|
if (user) {
|
|
159
|
-
setMentionedUsers([
|
|
162
|
+
setMentionedUsers(tslib_es6.__spreadArray(tslib_es6.__spreadArray([], mentionedUsers, true), [user], false));
|
|
160
163
|
}
|
|
161
164
|
setMentionNickname('');
|
|
162
165
|
setSelectedUser(user);
|
|
163
166
|
setMessageInputEvent(null);
|
|
164
167
|
},
|
|
165
|
-
onFocusItemChange: ()
|
|
168
|
+
onFocusItemChange: function () {
|
|
166
169
|
setMessageInputEvent(null);
|
|
167
170
|
},
|
|
168
|
-
onFetchUsers: users
|
|
171
|
+
onFetchUsers: function (users) {
|
|
169
172
|
setMentionSuggestedUsers(users);
|
|
170
173
|
},
|
|
171
174
|
ableAddMention: ableMention,
|
|
@@ -173,11 +176,11 @@ const ThreadMessageInput = (props, ref) => {
|
|
|
173
176
|
maxSuggestionCount: userMention === null || userMention === void 0 ? void 0 : userMention.maxSuggestionCount
|
|
174
177
|
}), showVoiceMessageInput ? /*#__PURE__*/React__default["default"].createElement(useHandleUploadFiles.VoiceMessageInputWrapper, {
|
|
175
178
|
channel: currentChannel,
|
|
176
|
-
onSubmitClick: (recordedFile, duration)
|
|
179
|
+
onSubmitClick: function (recordedFile, duration) {
|
|
177
180
|
sendVoiceMessage(recordedFile, duration, parentMessage);
|
|
178
181
|
setShowVoiceMessageInput(false);
|
|
179
182
|
},
|
|
180
|
-
onCancelClick: ()
|
|
183
|
+
onCancelClick: function () {
|
|
181
184
|
setShowVoiceMessageInput(false);
|
|
182
185
|
}
|
|
183
186
|
}) : /*#__PURE__*/React__default["default"].createElement(ui_MessageInput, {
|
|
@@ -191,7 +194,7 @@ const ThreadMessageInput = (props, ref) => {
|
|
|
191
194
|
isMentionEnabled: isMentionEnabled,
|
|
192
195
|
isVoiceMessageEnabled: isVoiceMessageEnabled,
|
|
193
196
|
isSelectingMultipleFilesEnabled: isMultipleFilesMessageEnabled,
|
|
194
|
-
onVoiceMessageIconClick: ()
|
|
197
|
+
onVoiceMessageIconClick: function () {
|
|
195
198
|
setShowVoiceMessageInput(true);
|
|
196
199
|
},
|
|
197
200
|
renderFileUploadIcon: renderFileUploadIcon,
|
|
@@ -199,40 +202,38 @@ const ThreadMessageInput = (props, ref) => {
|
|
|
199
202
|
renderSendMessageIcon: renderSendMessageIcon,
|
|
200
203
|
ref: ref || messageInputRef,
|
|
201
204
|
placeholder: (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.isFrozen) && !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === types.Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED || (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myMutedState) === groupChannel.MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT || (allThreadMessages.length > 0 ? stringSet.THREAD__INPUT__REPLY_TO_THREAD : stringSet.THREAD__INPUT__REPLY_IN_THREAD),
|
|
202
|
-
onStartTyping: ()
|
|
203
|
-
var
|
|
204
|
-
currentChannel === null || currentChannel === void 0 ? void 0 :
|
|
205
|
+
onStartTyping: function () {
|
|
206
|
+
var _a;
|
|
207
|
+
(_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.startTyping) === null || _a === void 0 ? void 0 : _a.call(currentChannel);
|
|
205
208
|
},
|
|
206
|
-
onSendMessage:
|
|
207
|
-
var
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
mentionTemplate
|
|
211
|
-
} = _ref2;
|
|
209
|
+
onSendMessage: function (_a) {
|
|
210
|
+
var _b;
|
|
211
|
+
var message = _a.message,
|
|
212
|
+
mentionTemplate = _a.mentionTemplate;
|
|
212
213
|
sendMessage({
|
|
213
214
|
message: message,
|
|
214
|
-
mentionedUsers,
|
|
215
|
+
mentionedUsers: mentionedUsers,
|
|
215
216
|
mentionTemplate: mentionTemplate,
|
|
216
217
|
quoteMessage: parentMessage
|
|
217
218
|
});
|
|
218
219
|
setMentionNickname('');
|
|
219
220
|
setMentionedUsers([]);
|
|
220
|
-
currentChannel === null || currentChannel === void 0 ? void 0 :
|
|
221
|
+
(_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.endTyping) === null || _b === void 0 ? void 0 : _b.call(currentChannel);
|
|
221
222
|
},
|
|
222
223
|
onFileUpload: handleUploadFiles,
|
|
223
|
-
onUserMentioned: user
|
|
224
|
+
onUserMentioned: function (user) {
|
|
224
225
|
if ((selectedUser === null || selectedUser === void 0 ? void 0 : selectedUser.userId) === (user === null || user === void 0 ? void 0 : user.userId)) {
|
|
225
226
|
setSelectedUser(null);
|
|
226
227
|
setMentionNickname('');
|
|
227
228
|
}
|
|
228
229
|
},
|
|
229
|
-
onMentionStringChange: mentionText
|
|
230
|
+
onMentionStringChange: function (mentionText) {
|
|
230
231
|
setMentionNickname(mentionText);
|
|
231
232
|
},
|
|
232
|
-
onMentionedUserIdsUpdated: userIds
|
|
233
|
+
onMentionedUserIdsUpdated: function (userIds) {
|
|
233
234
|
setMentionedUserIds(userIds);
|
|
234
235
|
},
|
|
235
|
-
onKeyDown: e
|
|
236
|
+
onKeyDown: function (e) {
|
|
236
237
|
if (displaySuggestedMentionList && (mentionSuggestedUsers === null || mentionSuggestedUsers === void 0 ? void 0 : mentionSuggestedUsers.length) > 0 && (e.key === _const.MessageInputKeys.Enter && ableMention || e.key === _const.MessageInputKeys.ArrowUp || e.key === _const.MessageInputKeys.ArrowDown)) {
|
|
237
238
|
setMessageInputEvent(e);
|
|
238
239
|
return true;
|