@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":"ThreadMessageInput.js","sources":["../../../src/modules/Thread/components/ThreadMessageInput/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { MutedState } from '@sendbird/chat/groupChannel';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport VoiceMessageInputWrapper from '../../../Channel/components/MessageInput/VoiceMessageInputWrapper';\nimport { Role } from '../../../../lib/types';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../../Channel/context/utils';\nimport { useHandleUploadFiles } from '../../../Channel/components/MessageInput/useHandleUploadFiles';\n\nexport interface ThreadMessageInputProps {\n className?: string;\n disabled?: boolean;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n}\n\nconst ThreadMessageInput = (\n props: ThreadMessageInputProps,\n ref: React.MutableRefObject<any>,\n): React.ReactElement => {\n const {\n className,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const propsDisabled = props.disabled;\n const { config } = useSendbirdStateContext();\n const { stringSet } = useLocalization();\n const {\n isMentionEnabled,\n isOnline,\n userMention,\n isVoiceMessageEnabled,\n logger,\n isMultipleFilesMessageEnabled,\n } = config;\n const {\n currentChannel,\n parentMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n sendMultipleFilesMessage,\n isMuted,\n isChannelFrozen,\n allThreadMessages,\n } = useThreadContext();\n const messageInputRef = useRef();\n\n const disabled = propsDisabled\n || isMuted\n || (!(currentChannel?.myRole === Role.OPERATOR) && isChannelFrozen) || parentMessage === null;\n\n // MFM\n const [handleUploadFiles] = useHandleUploadFiles({\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage: parentMessage,\n }, {\n logger,\n });\n\n // mention\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentChannel)\n && !isDisabledBecauseMuted(currentChannel)\n && !currentChannel?.isBroadcast;\n\n // Reset when changing channel\n useEffect(() => {\n setShowVoiceMessageInput(false);\n }, [currentChannel?.url]);\n\n const mentionNodes = useDirtyGetMentions({ ref: ref || messageInputRef }, { 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 if (currentChannel?.isBroadcast && currentChannel?.myRole !== Role.OPERATOR) {\n return null;\n }\n\n return (\n <div className={`sendbird-thread-message-input${showVoiceMessageInput ? '--voice-message' : ''} ${className}`}>\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 {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={currentChannel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, parentMessage);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-thread-message-input__message-input\"\n messageFieldId=\"sendbird-message-input-text-field--thread\"\n disabled={disabled}\n channel={currentChannel}\n setMentionedUsers={setMentionedUsers}\n channelUrl={currentChannel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n isSelectingMultipleFilesEnabled={isMultipleFilesMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n ref={ref || messageInputRef}\n placeholder={\n (currentChannel?.isFrozen && !(currentChannel?.myRole === Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (currentChannel?.myMutedState === MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT)\n || (allThreadMessages.length > 0\n ? stringSet.THREAD__INPUT__REPLY_TO_THREAD\n : stringSet.THREAD__INPUT__REPLY_IN_THREAD\n )\n }\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message: message,\n mentionedUsers,\n mentionTemplate: mentionTemplate,\n quoteMessage: parentMessage,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n currentChannel?.endTyping?.();\n }}\n onFileUpload={handleUploadFiles}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n )\n }\n </div>\n );\n};\n\nexport default React.forwardRef(ThreadMessageInput);\n"],"names":["ThreadMessageInput","props","ref","className","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","propsDisabled","disabled","config","useSendbirdStateContext","stringSet","useLocalization","isMentionEnabled","isOnline","userMention","isVoiceMessageEnabled","logger","isMultipleFilesMessageEnabled","currentChannel","parentMessage","sendMessage","sendFileMessage","sendVoiceMessage","sendMultipleFilesMessage","isMuted","isChannelFrozen","allThreadMessages","useThreadContext","messageInputRef","useRef","myRole","Role","OPERATOR","handleUploadFiles","useHandleUploadFiles","quoteMessage","mentionNickname","setMentionNickname","useState","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","selectedUser","setSelectedUser","mentionSuggestedUsers","setMentionSuggestedUsers","messageInputEvent","setMessageInputEvent","showVoiceMessageInput","setShowVoiceMessageInput","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","isBroadcast","useEffect","url","mentionNodes","useDirtyGetMentions","ableMention","maxMentionCount","filter","_ref","userId","i","indexOf","splice","React","createElement","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","user","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","VoiceMessageInputWrapper","channel","onSubmitClick","recordedFile","duration","onCancelClick","MessageInput","messageFieldId","channelUrl","mentionSelectedUser","isSelectingMultipleFilesEnabled","onVoiceMessageIconClick","placeholder","isFrozen","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","myMutedState","MutedState","MUTED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","THREAD__INPUT__REPLY_TO_THREAD","THREAD__INPUT__REPLY_IN_THREAD","onStartTyping","_currentChannel$start","startTyping","call","onSendMessage","_ref2","_currentChannel$endTy","message","mentionTemplate","endTyping","onFileUpload","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThreadMessageInput.js","sources":["../../../src/modules/Thread/components/ThreadMessageInput/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { MutedState } from '@sendbird/chat/groupChannel';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport VoiceMessageInputWrapper from '../../../Channel/components/MessageInput/VoiceMessageInputWrapper';\nimport { Role } from '../../../../lib/types';\nimport { useDirtyGetMentions } from '../../../Message/hooks/useDirtyGetMentions';\nimport { isDisabledBecauseFrozen, isDisabledBecauseMuted } from '../../../Channel/context/utils';\nimport { useHandleUploadFiles } from '../../../Channel/components/MessageInput/useHandleUploadFiles';\n\nexport interface ThreadMessageInputProps {\n className?: string;\n disabled?: boolean;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n}\n\nconst ThreadMessageInput = (\n props: ThreadMessageInputProps,\n ref: React.MutableRefObject<any>,\n): React.ReactElement => {\n const {\n className,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const propsDisabled = props.disabled;\n const { config } = useSendbirdStateContext();\n const { stringSet } = useLocalization();\n const {\n isMentionEnabled,\n isOnline,\n userMention,\n isVoiceMessageEnabled,\n logger,\n } = config;\n const threadContext = useThreadContext();\n const {\n currentChannel,\n parentMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n sendMultipleFilesMessage,\n isMuted,\n isChannelFrozen,\n allThreadMessages,\n } = threadContext;\n const messageInputRef = useRef();\n const isMultipleFilesMessageEnabled = (\n threadContext.isMultipleFilesMessageEnabled\n ?? config.isMultipleFilesMessageEnabled\n );\n\n const disabled = propsDisabled\n || isMuted\n || (!(currentChannel?.myRole === Role.OPERATOR) && isChannelFrozen) || parentMessage === null;\n\n // MFM\n const [handleUploadFiles] = useHandleUploadFiles({\n sendFileMessage,\n sendMultipleFilesMessage,\n quoteMessage: parentMessage,\n }, {\n logger,\n });\n\n // mention\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isDisabledBecauseFrozen(currentChannel)\n && !isDisabledBecauseMuted(currentChannel)\n && !currentChannel?.isBroadcast;\n\n // Reset when changing channel\n useEffect(() => {\n setShowVoiceMessageInput(false);\n }, [currentChannel?.url]);\n\n const mentionNodes = useDirtyGetMentions({ ref: ref || messageInputRef }, { 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 if (currentChannel?.isBroadcast && currentChannel?.myRole !== Role.OPERATOR) {\n return null;\n }\n\n return (\n <div className={`sendbird-thread-message-input${showVoiceMessageInput ? '--voice-message' : ''} ${className}`}>\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 {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={currentChannel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, parentMessage);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-thread-message-input__message-input\"\n messageFieldId=\"sendbird-message-input-text-field--thread\"\n disabled={disabled}\n channel={currentChannel}\n setMentionedUsers={setMentionedUsers}\n channelUrl={currentChannel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n isSelectingMultipleFilesEnabled={isMultipleFilesMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n ref={ref || messageInputRef}\n placeholder={\n (currentChannel?.isFrozen && !(currentChannel?.myRole === Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (currentChannel?.myMutedState === MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT)\n || (allThreadMessages.length > 0\n ? stringSet.THREAD__INPUT__REPLY_TO_THREAD\n : stringSet.THREAD__INPUT__REPLY_IN_THREAD\n )\n }\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message: message,\n mentionedUsers,\n mentionTemplate: mentionTemplate,\n quoteMessage: parentMessage,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n currentChannel?.endTyping?.();\n }}\n onFileUpload={handleUploadFiles}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n )\n }\n </div>\n );\n};\n\nexport default React.forwardRef(ThreadMessageInput);\n"],"names":["ThreadMessageInput","props","ref","className","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","propsDisabled","disabled","config","useSendbirdStateContext","stringSet","useLocalization","isMentionEnabled","isOnline","userMention","isVoiceMessageEnabled","logger","threadContext","useThreadContext","currentChannel","parentMessage","sendMessage","sendFileMessage","sendVoiceMessage","sendMultipleFilesMessage","isMuted","isChannelFrozen","allThreadMessages","messageInputRef","useRef","isMultipleFilesMessageEnabled","_a","myRole","Role","OPERATOR","handleUploadFiles","useHandleUploadFiles","quoteMessage","_b","useState","mentionNickname","setMentionNickname","_c","mentionedUsers","setMentionedUsers","_d","mentionedUserIds","setMentionedUserIds","_e","selectedUser","setSelectedUser","_f","mentionSuggestedUsers","setMentionSuggestedUsers","_g","messageInputEvent","setMessageInputEvent","_h","showVoiceMessageInput","setShowVoiceMessageInput","displaySuggestedMentionList","length","isDisabledBecauseFrozen","isDisabledBecauseMuted","isBroadcast","useEffect","url","mentionNodes","useDirtyGetMentions","ableMention","maxMentionCount","filter","userId","i","indexOf","splice","React","createElement","concat","SuggestedMentionList","targetNickname","inputEvent","onUserItemClick","user","__spreadArray","onFocusItemChange","onFetchUsers","users","ableAddMention","maxSuggestionCount","VoiceMessageInputWrapper","channel","onSubmitClick","recordedFile","duration","onCancelClick","MessageInput","messageFieldId","channelUrl","mentionSelectedUser","isSelectingMultipleFilesEnabled","onVoiceMessageIconClick","placeholder","isFrozen","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","myMutedState","MutedState","MUTED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","THREAD__INPUT__REPLY_TO_THREAD","THREAD__INPUT__REPLY_IN_THREAD","onStartTyping","startTyping","onSendMessage","message","mentionTemplate","endTyping","onFileUpload","onUserMentioned","onMentionStringChange","mentionText","onMentionedUserIdsUpdated","userIds","onKeyDown","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,IAAMA,kBAAkB,GAAG,UACzBC,KAA8B,EAC9BC,GAAgC,EAAA;;AAG9B,EAAA,IAAAC,SAAS,GAIPF,KAAK,UAJE;IACTG,oBAAoB,GAGlBH,KAAK,CAAAG,oBAHa;IACpBC,sBAAsB,GAEpBJ,KAAK,CAFeI,sBAAA;IACtBC,qBAAqB,GACnBL,KAAK,sBADc,CAAA;AAEvB,EAAA,IAAMM,aAAa,GAAGN,KAAK,CAACO,QAAQ,CAAA;AAC5B,EAAA,IAAAC,MAAM,GAAKC,uBAAuB,EAAE,OAA9B,CAAA;AACN,EAAA,IAAAC,SAAS,GAAKC,eAAe,EAAE,UAAtB,CAAA;AAEf,EAAA,IAAAC,gBAAgB,GAKdJ,MAAM,CALQI,gBAAA;IAChBC,QAAQ,GAINL,MAAM,CAJAK,QAAA;IACRC,WAAW,GAGTN,MAAM,CAHGM,WAAA;IACXC,qBAAqB,GAEnBP,MAAM,CAAAO,qBAFa;IACrBC,MAAM,GACJR,MAAM,CAAAQ,MADF,CAAA;AAER,EAAA,IAAMC,aAAa,GAAGC,gBAAgB,EAAE,CAAA;AAEtC,EAAA,IAAAC,cAAc,GASZF,aAAa,CAAAE,cATD;IACdC,aAAa,GAQXH,aAAa,CARFG,aAAA;IACbC,WAAW,GAOTJ,aAAa,YAPJ;IACXK,eAAe,GAMbL,aAAa,CAAAK,eANA;IACfC,gBAAgB,GAKdN,aAAa,CALCM,gBAAA;IAChBC,wBAAwB,GAItBP,aAAa,yBAJS;IACxBQ,OAAO,GAGLR,aAAa,CAAAQ,OAHR;IACPC,eAAe,GAEbT,aAAa,CAFAS,eAAA;IACfC,iBAAiB,GACfV,aAAa,kBADE,CAAA;AAEnB,EAAA,IAAMW,eAAe,GAAGC,MAAM,EAAE,CAAA;EAChC,IAAMC,6BAA6B,GACjC,CAAAC,EAAA,GAAAd,aAAa,CAACa,6BAA6B,MAAA,IAAA,IAAAC,EAAA,KAAA,KAAA,CAAA,GAAAA,EAAA,GACxCvB,MAAM,CAACsB,6BACX,CAAA;AAED,EAAA,IAAMvB,QAAQ,GAAGD,aAAa,IACzBmB,OAAO,IACN,EAAE,CAAAN,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAEa,MAAM,MAAKC,IAAI,CAACC,QAAQ,CAAC,IAAIR,eAAgB,IAAIN,aAAa,KAAK,IAAI,CAAA;AAE/F;EACO,IAAAe,iBAAiB,GAAIC,oBAAoB,CAAC;AAC/Cd,IAAAA,eAAe,EAAAA,eAAA;AACfE,IAAAA,wBAAwB,EAAAA,wBAAA;AACxBa,IAAAA,YAAY,EAAEjB,aAAAA;GACf,EAAE;AACDJ,IAAAA,MAAM,EAAAA,MAAAA;GACP,CAAC,GANsB,CAAA;AAQxB;AACM,EAAA,IAAAsB,EAAA,GAAwCC,QAAQ,CAAC,EAAE,CAAC;AAAnDC,IAAAA,eAAe,GAAAF,EAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,kBAAkB,GAAAH,EAAA,CAAA,CAAA,CAAgB,CAAA;AACpD,EAAA,IAAAI,EAAA,GAAsCH,QAAQ,CAAC,EAAE,CAAC;AAAjDI,IAAAA,cAAc,GAAAD,EAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,EAAA,CAAA,CAAA,CAAgB,CAAA;AAClD,EAAA,IAAAG,EAAA,GAA0CN,QAAQ,CAAC,EAAE,CAAC;AAArDO,IAAAA,gBAAgB,GAAAD,EAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,mBAAmB,GAAAF,EAAA,CAAA,CAAA,CAAgB,CAAA;AACtD,EAAA,IAAAG,EAAA,GAAkCT,QAAQ,CAAC,IAAI,CAAC;AAA/CU,IAAAA,YAAY,GAAAD,EAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,EAAA,CAAA,CAAA,CAAkB,CAAA;AAChD,EAAA,IAAAG,EAAA,GAAoDZ,QAAQ,CAAC,EAAE,CAAC;AAA/Da,IAAAA,qBAAqB,GAAAD,EAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,wBAAwB,GAAAF,EAAA,CAAA,CAAA,CAAgB,CAAA;AAChE,EAAA,IAAAG,EAAA,GAA4Cf,QAAQ,CAAC,IAAI,CAAC;AAAzDgB,IAAAA,iBAAiB,GAAAD,EAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,EAAA,CAAA,CAAA,CAAkB,CAAA;AAC1D,EAAA,IAAAG,EAAA,GAAoDlB,QAAQ,CAAC,KAAK,CAAC;AAAlEmB,IAAAA,qBAAqB,GAAAD,EAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,wBAAwB,GAAAF,EAAA,CAAA,CAAA,CAAmB,CAAA;AACzE,EAAA,IAAMG,2BAA2B,GAAG/C,QAAQ,IACvCD,gBAAgB,IAChB4B,eAAe,CAACqB,MAAM,GAAG,CAAC,IAC1B,CAACC,uBAAuB,CAAC3C,cAAc,CAAC,IACxC,CAAC4C,sBAAsB,CAAC5C,cAAc,CAAC,IACvC,EAACA,cAAc,KAAd,IAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAE6C,WAAW,CAAA,CAAA;AAEjC;AACAC,EAAAA,SAAS,CAAC,YAAA;IACRN,wBAAwB,CAAC,KAAK,CAAC,CAAA;AACjC,GAAC,EAAE,CAACxC,cAAc,KAAd,IAAA,IAAAA,cAAc,KAAd,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,cAAc,CAAE+C,GAAG,CAAC,CAAC,CAAA;EAEzB,IAAMC,YAAY,GAAGC,mBAAmB,CAAC;IAAEnE,GAAG,EAAEA,GAAG,IAAI2B,eAAAA;GAAiB,EAAE;AAAEZ,IAAAA,MAAM,EAAAA,MAAAA;AAAA,GAAE,CAAC,CAAA;AACrF,EAAA,IAAMqD,WAAW,GAAG,CAAAF,YAAY,KAAZ,IAAA,IAAAA,YAAY,uBAAZA,YAAY,CAAEN,MAAM,KAAG/C,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEwD,eAAe,CAAA,CAAA;AAEvEL,EAAAA,SAAS,CAAC,YAAA;AACRrB,IAAAA,iBAAiB,CAACD,cAAc,CAAC4B,MAAM,CAAC,UAACxC,EAAU,EAAA;AAAR,MAAA,IAAAyC,MAAM,GAAAzC,EAAA,CAAAyC,MAAA,CAAA;AAC/C,MAAA,IAAMC,CAAC,GAAG3B,gBAAgB,CAAC4B,OAAO,CAACF,MAAM,CAAC,CAAA;MAC1C,IAAIC,CAAC,GAAG,CAAC,EAAE;AACT,QAAA,OAAO,KAAK,CAAA;AACb,OAAA,MAAM;AACL3B,QAAAA,gBAAgB,CAAC6B,MAAM,CAACF,CAAC,EAAE,CAAC,CAAC,CAAA;AAC7B,QAAA,OAAO,IAAI,CAAA;AACZ,OAAA;AACH,KAAC,CAAC,CAAC,CAAA;AACL,GAAC,EAAE,CAAC3B,gBAAgB,CAAC,CAAC,CAAA;AAEtB,EAAA,IAAI,CAAA3B,cAAc,KAAd,IAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAE6C,WAAW,KAAI,CAAA7C,cAAc,KAAd,IAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAEa,MAAM,MAAKC,IAAI,CAACC,QAAQ,EAAE;AAC3E,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;EAED,oBACE0C,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3E,IAAAA,SAAS,EAAE,uCAAgCwD,qBAAqB,GAAG,iBAAiB,GAAG,EAAE,EAAI,GAAA,CAAA,CAAAoB,MAAA,CAAA5E,SAAS,CAAA;AAAG,GAAA,EAE1G0D,2BAA2B,iBACzBgB,cAAA,CAAAC,aAAA,CAACE,oBAAoB,EAAA;AACnBC,IAAAA,cAAc,EAAExC,eAAgB;AAChCyC,IAAAA,UAAU,EAAE1B,iBAAAA;AACZ;AAAA;AACA2B,IAAAA,eAAe,EAAE,UAACC,IAAI,EAAA;AACpB,MAAA,IAAIA,IAAI,EAAE;AACRvC,QAAAA,iBAAiB,CAAKwC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAzC,cAAc,EAAE,IAAA,CAAA,EAAA,CAAAwC,IAAI,UAAE,CAAA;AAC7C,OAAA;MACD1C,kBAAkB,CAAC,EAAE,CAAC,CAAA;MACtBS,eAAe,CAACiC,IAAI,CAAC,CAAA;MACrB3B,oBAAoB,CAAC,IAAI,CAAC,CAAA;KAC1B;IACF6B,iBAAiB,EAAE,YAAA;MACjB7B,oBAAoB,CAAC,IAAI,CAAC,CAAA;KAC1B;AACF8B,IAAAA,YAAY,EAAE,UAACC,KAAK,EAAA;MAClBlC,wBAAwB,CAACkC,KAAK,CAAC,CAAA;KAC/B;AACFC,IAAAA,cAAc,EAAEnB,WAAY;AAC5BC,IAAAA,eAAe,EAAExD,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,WAAW,CAAEwD,eAAgB;AAC9CmB,IAAAA,kBAAkB,EAAE3E,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAE2E,kBAAAA;GAAmB,CAEvD,EAGD/B,qBAAqB,gBAEjBkB,cAAA,CAAAC,aAAA,CAACa,wBAAwB,EAAA;AACvBC,IAAAA,OAAO,EAAExE,cAAe;AACxByE,IAAAA,aAAa,EAAE,UAACC,YAAY,EAAEC,QAAQ,EAAA;AACpCvE,MAAAA,gBAAgB,CAACsE,YAAY,EAAEC,QAAQ,EAAE1E,aAAa,CAAC,CAAA;MACvDuC,wBAAwB,CAAC,KAAK,CAAC,CAAA;KAC/B;IACFoC,aAAa,EAAE,YAAA;MACbpC,wBAAwB,CAAC,KAAK,CAAC,CAAA;AACjC,KAAA;AAAE,IACF,gBAGFiB,cAAA,CAAAC,aAAA,CAACmB,YAAY,EAAA;AACX9F,IAAAA,SAAS,EAAC,8CAA8C;AACxD+F,IAAAA,cAAc,EAAC,2CAA2C;AAC1D1F,IAAAA,QAAQ,EAAEA,QAAS;AACnBoF,IAAAA,OAAO,EAAExE,cAAe;AACxByB,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCsD,IAAAA,UAAU,EAAE/E,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAE+C,GAAI;AAChCiC,IAAAA,mBAAmB,EAAElD,YAAa;AAClCrC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCG,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CqF,IAAAA,+BAA+B,EAAEtE,6BAA8B;IAC/DuE,uBAAuB,EAAE,YAAA;MACvB1C,wBAAwB,CAAC,IAAI,CAAC,CAAA;KAC9B;AACFxD,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CC,IAAAA,qBAAqB,EAAEA,qBAAsB;IAC7CJ,GAAG,EAAEA,GAAG,IAAI2B,eAAgB;AAC5B0E,IAAAA,WAAW,EACR,CAAAnF,cAAc,KAAd,IAAA,IAAAA,cAAc,KAAd,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,cAAc,CAAEoF,QAAQ,KAAI,EAAE,CAAApF,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAEa,MAAM,MAAKC,IAAI,CAACC,QAAQ,CAAC,IAAIxB,SAAS,CAAC8F,qCAAqC,IACvH,CAAArF,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAEsF,YAAY,MAAKC,UAAU,CAACC,KAAK,IAAIjG,SAAS,CAACkG,wCAAyC,KACxGjF,iBAAiB,CAACkC,MAAM,GAAG,CAAC,GAC5BnD,SAAS,CAACmG,8BAA8B,GACxCnG,SAAS,CAACoG,8BAA8B,CAE7C;IACDC,aAAa,EAAE,YAAA;;AACb,MAAA,CAAAhF,EAAA,GAAAZ,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAE6F,WAAW,8DAAI,CAAA;KAC/B;AACFC,IAAAA,aAAa,EAAE,UAAClF,EAA4B,EAAA;;UAA1BmF,OAAO,GAAAnF,EAAA,CAAAmF,OAAA;QAAEC,eAAe,GAAApF,EAAA,CAAAoF,eAAA,CAAA;AACxC9F,MAAAA,WAAW,CAAC;AACV6F,QAAAA,OAAO,EAAEA,OAAO;AAChBvE,QAAAA,cAAc,EAAAA,cAAA;AACdwE,QAAAA,eAAe,EAAEA,eAAe;AAChC9E,QAAAA,YAAY,EAAEjB,aAAAA;AACf,OAAA,CAAC,CAAA;MACFqB,kBAAkB,CAAC,EAAE,CAAC,CAAA;MACtBG,iBAAiB,CAAC,EAAE,CAAC,CAAA;AACrB,MAAA,CAAAN,EAAA,GAAAnB,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAEiG,SAAS,8DAAI,CAAA;KAC7B;AACFC,IAAAA,YAAY,EAAElF,iBAAkB;AAChCmF,IAAAA,eAAe,EAAE,UAACnC,IAAI,EAAA;AACpB,MAAA,IAAI,CAAAlC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEuB,MAAM,OAAKW,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEX,MAAM,CAAA,EAAE;QACzCtB,eAAe,CAAC,IAAI,CAAC,CAAA;QACrBT,kBAAkB,CAAC,EAAE,CAAC,CAAA;AACvB,OAAA;KACD;AACF8E,IAAAA,qBAAqB,EAAE,UAACC,WAAW,EAAA;MACjC/E,kBAAkB,CAAC+E,WAAW,CAAC,CAAA;KAC/B;AACFC,IAAAA,yBAAyB,EAAE,UAACC,OAAO,EAAA;MACjC3E,mBAAmB,CAAC2E,OAAO,CAAC,CAAA;KAC5B;AACFC,IAAAA,SAAS,EAAE,UAACC,CAAC,EAAA;MACX,IAAIhE,2BAA2B,IAAI,CAAAR,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAArBA,qBAAqB,CAAES,MAAM,IAAG,CAAC,KAC7D+D,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACC,KAAK,IAAI1D,WAAW,IAAKuD,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACE,OAAO,IAAIJ,CAAC,CAACC,GAAG,KAAKC,gBAAgB,CAACG,SAAS,CAAC,EACpI;QACAzE,oBAAoB,CAACoE,CAAC,CAAC,CAAA;AACvB,QAAA,OAAO,IAAI,CAAA;AACZ,OAAA;AACD,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AAAE,GACF,CAGL,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,2BAAA,aAAehD,cAAK,CAACsD,UAAU,CAACnI,kBAAkB,CAAC;;;;"}
|
|
@@ -1,52 +1,54 @@
|
|
|
1
1
|
import React__default, { useMemo, useState, useRef } from 'react';
|
|
2
|
-
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
3
|
-
import { u as useLocalization } from '../../LocalizationContext-
|
|
4
|
-
import { g as getChannelTitle } from '../../utils-
|
|
5
|
-
import {
|
|
2
|
+
import { useSendbirdStateContext } from '../../useSendbirdStateContext.js';
|
|
3
|
+
import { u as useLocalization } from '../../LocalizationContext-d18a86d8.js';
|
|
4
|
+
import { g as getChannelTitle } from '../../utils-3660243c.js';
|
|
5
|
+
import { useThreadContext } from '../context.js';
|
|
6
6
|
import ParentMessageInfo from './ParentMessageInfo.js';
|
|
7
7
|
import ThreadHeader from './ThreadHeader.js';
|
|
8
8
|
import ThreadList from './ThreadList.js';
|
|
9
9
|
import ThreadMessageInput from './ThreadMessageInput.js';
|
|
10
10
|
import { ParentMessageStateTypes, ThreadListStateTypes } from '../context/types.js';
|
|
11
|
-
import
|
|
12
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-
|
|
11
|
+
import PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder.js';
|
|
12
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-12103973.js';
|
|
13
|
+
import { z as isAboutSame } from '../../useSendMultipleFilesMessage-4489a0f6.js';
|
|
13
14
|
import { MessageProvider } from '../../Message/context.js';
|
|
14
15
|
import '../../withSendbird.js';
|
|
15
|
-
import '../../
|
|
16
|
-
import '../../stringSet-
|
|
17
|
-
import '../../index-
|
|
18
|
-
import '../../
|
|
19
|
-
import '../../utils/message/getOutgoingMessageState.js';
|
|
20
|
-
import '../../UserProfileContext-4ae968eb.js';
|
|
21
|
-
import 'prop-types';
|
|
16
|
+
import '../../tslib.es6-0c779aab.js';
|
|
17
|
+
import '../../stringSet-1106c8ec.js';
|
|
18
|
+
import '../../index-d3f61405.js';
|
|
19
|
+
import '../../UserProfileContext-26e71f9a.js';
|
|
22
20
|
import '@sendbird/chat';
|
|
23
|
-
import '../../topics
|
|
24
|
-
import '../../index-
|
|
25
|
-
import '../../
|
|
26
|
-
import '
|
|
27
|
-
import '../../uuid-16373bba.js';
|
|
21
|
+
import '../../pubSub/topics.js';
|
|
22
|
+
import '../../index-fc1642cb.js';
|
|
23
|
+
import '../../utils/message/getOutgoingMessageState.js';
|
|
24
|
+
import '../../index-c6095960.js';
|
|
28
25
|
import '@sendbird/chat/message';
|
|
29
|
-
import '
|
|
30
|
-
import '../../
|
|
31
|
-
import '../../
|
|
32
|
-
import '../../
|
|
26
|
+
import '@sendbird/chat/groupChannel';
|
|
27
|
+
import '../../uuid-3c77ef7b.js';
|
|
28
|
+
import '../../consts-aa64aca8.js';
|
|
29
|
+
import '../../utils-40040f8e.js';
|
|
30
|
+
import '../../index-c81fd6ec.js';
|
|
31
|
+
import '../../_rollupPluginBabelHelpers-07dcbc2b.js';
|
|
32
|
+
import '../../RemoveMessageModal-f0cd37a5.js';
|
|
33
33
|
import '../../ui/Modal.js';
|
|
34
34
|
import 'react-dom';
|
|
35
|
-
import '../../utils-
|
|
36
|
-
import '../../index-
|
|
37
|
-
import '../../MediaQueryContext-
|
|
35
|
+
import '../../utils-74c161a0.js';
|
|
36
|
+
import '../../index-c7ed4aef.js';
|
|
37
|
+
import '../../MediaQueryContext-3eeeec4f.js';
|
|
38
38
|
import '../../ui/IconButton.js';
|
|
39
39
|
import '../../ui/Button.js';
|
|
40
|
+
import '../../types-4ffc52f6.js';
|
|
41
|
+
import 'prop-types';
|
|
40
42
|
import '../../ui/Icon.js';
|
|
41
|
-
import '../../stringFormatterUtils-
|
|
43
|
+
import '../../stringFormatterUtils-444f6f4c.js';
|
|
42
44
|
import './ParentMessageInfoItem.js';
|
|
43
45
|
import '../../ui/ImageRenderer.js';
|
|
44
46
|
import '../../ui/TextButton.js';
|
|
45
|
-
import '../../color-
|
|
47
|
+
import '../../color-1383d4ab.js';
|
|
46
48
|
import '../../ui/EmojiReactions.js';
|
|
47
49
|
import '../../ui/ReactionBadge.js';
|
|
48
50
|
import '../../ui/ReactionButton.js';
|
|
49
|
-
import '../../useLongPress-
|
|
51
|
+
import '../../useLongPress-322bb6a3.js';
|
|
50
52
|
import '../../ui/ContextMenu.js';
|
|
51
53
|
import '../../ui/SortByRow.js';
|
|
52
54
|
import '../../ui/BottomSheet.js';
|
|
@@ -61,55 +63,53 @@ import '../../ui/TooltipWrapper.js';
|
|
|
61
63
|
import '../../ui/VoiceMessageItemBody.js';
|
|
62
64
|
import '../../ui/ProgressBar.js';
|
|
63
65
|
import '../../VoicePlayer/useVoicePlayer.js';
|
|
64
|
-
import '../../index-
|
|
66
|
+
import '../../index-124a5766.js';
|
|
65
67
|
import '../../VoiceRecorder/context.js';
|
|
66
68
|
import '../../ui/PlaybackTime.js';
|
|
67
69
|
import '../../ui/Loader.js';
|
|
68
|
-
import '../../index-
|
|
69
|
-
import '../../tokenize-
|
|
70
|
+
import '../../index-3d508585.js';
|
|
71
|
+
import '../../tokenize-d17bf862.js';
|
|
70
72
|
import '../../ui/MentionLabel.js';
|
|
71
73
|
import '../../ui/LinkLabel.js';
|
|
72
|
-
import '../../
|
|
73
|
-
import '../../index-
|
|
74
|
-
import '../../ChannelProvider-
|
|
75
|
-
import '../../const-
|
|
76
|
-
import '../../compareIds-
|
|
77
|
-
import '../../resolvedReplyType-
|
|
74
|
+
import '../../useStatefulFileInfoList-dd95f949.js';
|
|
75
|
+
import '../../index-7a1085b6.js';
|
|
76
|
+
import '../../ChannelProvider-7f6fd1f8.js';
|
|
77
|
+
import '../../const-e3326913.js';
|
|
78
|
+
import '../../compareIds-b56b02f1.js';
|
|
79
|
+
import '../../resolvedReplyType-0532593c.js';
|
|
78
80
|
import '../../Channel/components/SuggestedMentionList.js';
|
|
79
|
-
import '../../const-
|
|
81
|
+
import '../../const-4bc3721f.js';
|
|
80
82
|
import '../../ui/MessageItemMenu.js';
|
|
81
|
-
import '../../types-
|
|
83
|
+
import '../../types-50e412d8.js';
|
|
82
84
|
import '../../ui/MessageItemReactionMenu.js';
|
|
83
85
|
import '../../ui/MessageInput.js';
|
|
84
|
-
import '../../index-
|
|
86
|
+
import '../../index-40447645.js';
|
|
85
87
|
import 'dompurify';
|
|
86
|
-
import '../../consts-
|
|
87
|
-
import '../../consts-
|
|
88
|
-
import '../../consts-
|
|
89
|
-
import '../../index-
|
|
88
|
+
import '../../consts-7f4d53a3.js';
|
|
89
|
+
import '../../consts-f0ba9b80.js';
|
|
90
|
+
import '../../consts-833420ed.js';
|
|
91
|
+
import '../../index-eec0ce47.js';
|
|
90
92
|
import '../../Message/hooks/useDirtyGetMentions.js';
|
|
91
93
|
import './ThreadListItem.js';
|
|
92
94
|
import '../../ui/DateSeparator.js';
|
|
93
|
-
import '../../index-
|
|
94
|
-
import '../../index-
|
|
95
|
-
import '../../index-
|
|
95
|
+
import '../../index-942c5fa2.js';
|
|
96
|
+
import '../../index-dc1827ea.js';
|
|
97
|
+
import '../../index-1432c287.js';
|
|
96
98
|
import '../../ui/TextMessageItemBody.js';
|
|
97
99
|
import '../../ui/OGMessageItemBody.js';
|
|
98
100
|
import '../../ui/FileMessageItemBody.js';
|
|
99
101
|
import '../../ui/ThumbnailMessageItemBody.js';
|
|
100
|
-
import '../../utils-
|
|
102
|
+
import '../../utils-e98a7f8c.js';
|
|
101
103
|
import '../../ui/UnknownMessageItemBody.js';
|
|
102
104
|
import 'date-fns';
|
|
103
|
-
import '../../useHandleUploadFiles-
|
|
105
|
+
import '../../useHandleUploadFiles-33aff88e.js';
|
|
104
106
|
import '../../VoiceRecorder/useVoiceRecorder.js';
|
|
105
|
-
import '../../index-
|
|
106
|
-
import '../../
|
|
107
|
+
import '../../index-ec0c048b.js';
|
|
108
|
+
import '../../hooks/useModal.js';
|
|
107
109
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
} = _ref;
|
|
112
|
-
return useMemo(() => {
|
|
110
|
+
var useMemorizedHeader = function (_a) {
|
|
111
|
+
var renderHeader = _a.renderHeader;
|
|
112
|
+
return useMemo(function () {
|
|
113
113
|
if (typeof renderHeader === 'function') {
|
|
114
114
|
return renderHeader();
|
|
115
115
|
}
|
|
@@ -117,14 +117,12 @@ const useMemorizedHeader = _ref => {
|
|
|
117
117
|
}, [renderHeader]);
|
|
118
118
|
};
|
|
119
119
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
} = _ref;
|
|
127
|
-
return useMemo(() => {
|
|
120
|
+
var useMemorizedParentMessageInfo = function (_a) {
|
|
121
|
+
var parentMessage = _a.parentMessage,
|
|
122
|
+
parentMessageState = _a.parentMessageState,
|
|
123
|
+
renderParentMessageInfo = _a.renderParentMessageInfo,
|
|
124
|
+
renderParentMessageInfoPlaceholder = _a.renderParentMessageInfoPlaceholder;
|
|
125
|
+
return useMemo(function () {
|
|
128
126
|
if (parentMessageState === ParentMessageStateTypes.NIL || parentMessageState === ParentMessageStateTypes.LOADING || parentMessageState === ParentMessageStateTypes.INVALID) {
|
|
129
127
|
if (typeof renderParentMessageInfoPlaceholder === 'function') {
|
|
130
128
|
return renderParentMessageInfoPlaceholder(parentMessageState);
|
|
@@ -168,12 +166,10 @@ const useMemorizedParentMessageInfo = _ref => {
|
|
|
168
166
|
}, [parentMessage, parentMessageState, renderParentMessageInfo, renderParentMessageInfoPlaceholder]);
|
|
169
167
|
};
|
|
170
168
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
} = _ref;
|
|
176
|
-
return useMemo(() => {
|
|
169
|
+
var useMemorizedThreadList = function (_a) {
|
|
170
|
+
var threadListState = _a.threadListState,
|
|
171
|
+
renderThreadListPlaceHolder = _a.renderThreadListPlaceHolder;
|
|
172
|
+
return useMemo(function () {
|
|
177
173
|
if (threadListState === ThreadListStateTypes.NIL || threadListState === ThreadListStateTypes.LOADING || threadListState === ThreadListStateTypes.INVALID) {
|
|
178
174
|
if (typeof renderThreadListPlaceHolder === 'function') {
|
|
179
175
|
return renderThreadListPlaceHolder(threadListState);
|
|
@@ -209,78 +205,68 @@ const useMemorizedThreadList = _ref => {
|
|
|
209
205
|
}, [threadListState, renderThreadListPlaceHolder]);
|
|
210
206
|
};
|
|
211
207
|
|
|
212
|
-
|
|
213
|
-
var
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
fetchPrevThreads,
|
|
242
|
-
fetchNextThreads,
|
|
243
|
-
onHeaderActionClick,
|
|
244
|
-
onMoveToParentMessage
|
|
245
|
-
} = useThreadContext();
|
|
246
|
-
const replyCount = allThreadMessages.length;
|
|
247
|
-
const isByMe = currentUserId === (parentMessage === null || parentMessage === void 0 ? void 0 : (_parentMessage$sender = parentMessage.sender) === null || _parentMessage$sender === void 0 ? void 0 : _parentMessage$sender.userId);
|
|
248
|
-
|
|
208
|
+
var ThreadUI = function (_a) {
|
|
209
|
+
var _b, _c, _d, _e;
|
|
210
|
+
var renderHeader = _a.renderHeader,
|
|
211
|
+
renderParentMessageInfo = _a.renderParentMessageInfo,
|
|
212
|
+
renderMessage = _a.renderMessage,
|
|
213
|
+
renderMessageInput = _a.renderMessageInput,
|
|
214
|
+
renderCustomSeparator = _a.renderCustomSeparator,
|
|
215
|
+
renderParentMessageInfoPlaceholder = _a.renderParentMessageInfoPlaceholder,
|
|
216
|
+
renderThreadListPlaceHolder = _a.renderThreadListPlaceHolder,
|
|
217
|
+
renderFileUploadIcon = _a.renderFileUploadIcon,
|
|
218
|
+
renderVoiceMessageIcon = _a.renderVoiceMessageIcon,
|
|
219
|
+
renderSendMessageIcon = _a.renderSendMessageIcon;
|
|
220
|
+
var stores = useSendbirdStateContext().stores;
|
|
221
|
+
var currentUserId = (_d = (_c = (_b = stores === null || stores === void 0 ? void 0 : stores.sdkStore) === null || _b === void 0 ? void 0 : _b.sdk) === null || _c === void 0 ? void 0 : _c.currentUser) === null || _d === void 0 ? void 0 : _d.userId;
|
|
222
|
+
var stringSet = useLocalization().stringSet;
|
|
223
|
+
var _f = useThreadContext(),
|
|
224
|
+
currentChannel = _f.currentChannel,
|
|
225
|
+
allThreadMessages = _f.allThreadMessages,
|
|
226
|
+
parentMessage = _f.parentMessage,
|
|
227
|
+
parentMessageState = _f.parentMessageState,
|
|
228
|
+
threadListState = _f.threadListState,
|
|
229
|
+
hasMorePrev = _f.hasMorePrev,
|
|
230
|
+
hasMoreNext = _f.hasMoreNext,
|
|
231
|
+
fetchPrevThreads = _f.fetchPrevThreads,
|
|
232
|
+
fetchNextThreads = _f.fetchNextThreads,
|
|
233
|
+
onHeaderActionClick = _f.onHeaderActionClick,
|
|
234
|
+
onMoveToParentMessage = _f.onMoveToParentMessage;
|
|
235
|
+
var replyCount = allThreadMessages.length;
|
|
236
|
+
var isByMe = currentUserId === ((_e = parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.sender) === null || _e === void 0 ? void 0 : _e.userId);
|
|
249
237
|
// Memoized custom components
|
|
250
|
-
|
|
251
|
-
renderHeader
|
|
238
|
+
var MemorizedHeader = useMemorizedHeader({
|
|
239
|
+
renderHeader: renderHeader
|
|
252
240
|
});
|
|
253
|
-
|
|
254
|
-
parentMessage,
|
|
255
|
-
parentMessageState,
|
|
256
|
-
renderParentMessageInfo,
|
|
257
|
-
renderParentMessageInfoPlaceholder
|
|
241
|
+
var MemorizedParentMessageInfo = useMemorizedParentMessageInfo({
|
|
242
|
+
parentMessage: parentMessage,
|
|
243
|
+
parentMessageState: parentMessageState,
|
|
244
|
+
renderParentMessageInfo: renderParentMessageInfo,
|
|
245
|
+
renderParentMessageInfoPlaceholder: renderParentMessageInfoPlaceholder
|
|
258
246
|
});
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
renderThreadListPlaceHolder
|
|
247
|
+
var MemorizedThreadList = useMemorizedThreadList({
|
|
248
|
+
threadListState: threadListState,
|
|
249
|
+
renderThreadListPlaceHolder: renderThreadListPlaceHolder
|
|
263
250
|
});
|
|
264
|
-
|
|
265
251
|
// scroll
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
252
|
+
var _g = useState(0),
|
|
253
|
+
scrollBottom = _g[0],
|
|
254
|
+
setScrollBottom = _g[1];
|
|
255
|
+
var scrollRef = useRef(null);
|
|
256
|
+
var onScroll = function (e) {
|
|
257
|
+
var _a;
|
|
258
|
+
var element = e.target;
|
|
259
|
+
var scrollTop = element.scrollTop,
|
|
260
|
+
clientHeight = element.clientHeight,
|
|
261
|
+
scrollHeight = element.scrollHeight;
|
|
262
|
+
var threadItemNodes = (_a = scrollRef.current) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.sendbird-thread-list-item');
|
|
263
|
+
var firstNode = threadItemNodes === null || threadItemNodes === void 0 ? void 0 : threadItemNodes[0];
|
|
278
264
|
if (isAboutSame(scrollTop, 0, 10) && hasMorePrev) {
|
|
279
|
-
fetchPrevThreads(messages
|
|
265
|
+
fetchPrevThreads(function (messages) {
|
|
266
|
+
var _a;
|
|
280
267
|
if (messages) {
|
|
281
268
|
try {
|
|
282
|
-
|
|
283
|
-
firstNode === null || firstNode === void 0 ? void 0 : (_firstNode$scrollInto = firstNode.scrollIntoView) === null || _firstNode$scrollInto === void 0 ? void 0 : _firstNode$scrollInto.call(firstNode, {
|
|
269
|
+
(_a = firstNode === null || firstNode === void 0 ? void 0 : firstNode.scrollIntoView) === null || _a === void 0 ? void 0 : _a.call(firstNode, {
|
|
284
270
|
block: 'start',
|
|
285
271
|
inline: 'nearest'
|
|
286
272
|
});
|
|
@@ -291,22 +277,21 @@ const ThreadUI = _ref => {
|
|
|
291
277
|
});
|
|
292
278
|
}
|
|
293
279
|
if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10) && hasMoreNext) {
|
|
294
|
-
|
|
295
|
-
fetchNextThreads(messages
|
|
280
|
+
var scrollTop_1 = scrollTop;
|
|
281
|
+
fetchNextThreads(function (messages) {
|
|
296
282
|
if (messages) {
|
|
297
283
|
try {
|
|
298
|
-
element.scrollTop =
|
|
299
|
-
scrollRef.current.scrollTop =
|
|
284
|
+
element.scrollTop = scrollTop_1;
|
|
285
|
+
scrollRef.current.scrollTop = scrollTop_1;
|
|
300
286
|
} catch (error) {
|
|
301
287
|
//
|
|
302
288
|
}
|
|
303
289
|
}
|
|
304
290
|
});
|
|
305
291
|
}
|
|
306
|
-
|
|
307
292
|
// save the lastest scroll bottom value
|
|
308
|
-
if (scrollRef
|
|
309
|
-
|
|
293
|
+
if (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) {
|
|
294
|
+
var current = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
|
|
310
295
|
setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight);
|
|
311
296
|
}
|
|
312
297
|
};
|
|
@@ -316,7 +301,7 @@ const ThreadUI = _ref => {
|
|
|
316
301
|
className: "sendbird-thread-ui__header",
|
|
317
302
|
channelName: getChannelTitle(currentChannel, currentUserId, stringSet),
|
|
318
303
|
onActionIconClick: onHeaderActionClick,
|
|
319
|
-
onChannelNameClick: ()
|
|
304
|
+
onChannelNameClick: function () {
|
|
320
305
|
onMoveToParentMessage === null || onMoveToParentMessage === void 0 ? void 0 : onMoveToParentMessage({
|
|
321
306
|
message: parentMessage,
|
|
322
307
|
channel: currentChannel
|
|
@@ -336,9 +321,8 @@ const ThreadUI = _ref => {
|
|
|
336
321
|
}, /*#__PURE__*/React__default.createElement(Label, {
|
|
337
322
|
type: LabelTypography.BODY_1,
|
|
338
323
|
color: LabelColors.ONBACKGROUND_3
|
|
339
|
-
},
|
|
324
|
+
}, "".concat(replyCount, " ").concat(replyCount > 1 ? stringSet.THREAD__THREAD_REPLIES : stringSet.THREAD__THREAD_REPLY))), MemorizedThreadList || /*#__PURE__*/React__default.createElement(ThreadList, {
|
|
340
325
|
className: "sendbird-thread-ui__thread-list",
|
|
341
|
-
allThreadMessages: allThreadMessages,
|
|
342
326
|
renderMessage: renderMessage,
|
|
343
327
|
renderCustomSeparator: renderCustomSeparator,
|
|
344
328
|
scrollRef: scrollRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadUI.js","sources":["../../../src/modules/Thread/components/ThreadUI/useMemorizedHeader.tsx","../../../src/modules/Thread/components/ThreadUI/useMemorizedParentMessageInfo.tsx","../../../src/modules/Thread/components/ThreadUI/useMemorizedThreadList.tsx","../../../src/modules/Thread/components/ThreadUI/index.tsx"],"sourcesContent":["import React, { ReactElement, useMemo } from 'react';\n\nexport interface UseMemorizedHeaderProps {\n renderHeader?: () => React.ReactElement;\n}\n\nconst useMemorizedHeader = ({ renderHeader }: UseMemorizedHeaderProps): ReactElement => useMemo(() => {\n if (typeof renderHeader === 'function') {\n return renderHeader();\n }\n return null;\n}, [renderHeader]);\n\nexport default useMemorizedHeader;\n","import React, { ReactElement, useMemo } from 'react';\n\nimport { ParentMessageStateTypes } from '../../types';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface UseMemorizedParentMessageInfoProps {\n parentMessage: SendableMessageType;\n parentMessageState: ParentMessageStateTypes;\n renderParentMessageInfo?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedParentMessageInfo = ({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n}: UseMemorizedParentMessageInfoProps): ReactElement => useMemo(() => {\n if (parentMessageState === ParentMessageStateTypes.NIL\n || parentMessageState === ParentMessageStateTypes.LOADING\n || parentMessageState === ParentMessageStateTypes.INVALID\n ) {\n if (typeof renderParentMessageInfoPlaceholder === 'function') {\n return renderParentMessageInfoPlaceholder(parentMessageState);\n }\n switch (parentMessageState) {\n case ParentMessageStateTypes.NIL: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-nil\"\n type={PlaceHolderTypes.NO_RESULTS}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n default: {\n return null;\n }\n }\n } else if (parentMessageState === ParentMessageStateTypes.INITIALIZED) {\n if (typeof renderParentMessageInfo === 'function') {\n return renderParentMessageInfo();\n }\n }\n return null;\n}, [\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n]);\n\nexport default useMemorizedParentMessageInfo;\n","import React, { ReactElement, useMemo } from 'react';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\n\nimport { ThreadListStateTypes } from '../../types';\n\nexport interface UseMemorizedThreadListProps {\n threadListState: ThreadListStateTypes;\n renderThreadListPlaceHolder?: (tyep: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedThreadList = ({\n threadListState,\n renderThreadListPlaceHolder,\n}: UseMemorizedThreadListProps): ReactElement => useMemo(() => {\n if (threadListState === ThreadListStateTypes.NIL\n || threadListState === ThreadListStateTypes.LOADING\n || threadListState === ThreadListStateTypes.INVALID\n ) {\n if (typeof renderThreadListPlaceHolder === 'function') {\n return renderThreadListPlaceHolder(threadListState);\n }\n switch (threadListState) {\n case ThreadListStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.NIL: {\n return <></>;\n }\n default: {\n return null;\n }\n }\n }\n return null;\n}, [\n threadListState,\n renderThreadListPlaceHolder,\n]);\n\nexport default useMemorizedThreadList;\n","import React, { useRef, useState } from 'react';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { getChannelTitle } from '../../../Channel/components/ChannelHeader/utils';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { ParentMessageStateTypes, ThreadListStateTypes } from '../../types';\nimport ParentMessageInfo from '../ParentMessageInfo';\nimport ThreadHeader from '../ThreadHeader';\nimport ThreadList from '../ThreadList';\nimport ThreadMessageInput from '../ThreadMessageInput';\nimport useMemorizedHeader from './useMemorizedHeader';\nimport useMemorizedParentMessageInfo from './useMemorizedParentMessageInfo';\nimport useMemorizedThreadList from './useMemorizedThreadList';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { isAboutSame } from '../../context/utils';\nimport { MessageProvider } from '../../../Message/context/MessageProvider';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface ThreadUIProps {\n renderHeader?: () => React.ReactElement;\n renderParentMessageInfo?: () => React.ReactElement;\n renderMessage?: (props: {\n message: SendableMessageType,\n chainTop: boolean,\n chainBottom: boolean,\n hasSeparator: boolean,\n }) => React.ReactElement;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderCustomSeparator?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n renderThreadListPlaceHolder?: (type: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst ThreadUI: React.FC<ThreadUIProps> = ({\n renderHeader,\n renderParentMessageInfo,\n renderMessage,\n renderMessageInput,\n renderCustomSeparator,\n renderParentMessageInfoPlaceholder,\n renderThreadListPlaceHolder,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n}: ThreadUIProps): React.ReactElement => {\n const {\n stores,\n } = useSendbirdStateContext();\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId;\n const {\n stringSet,\n } = useLocalization();\n const {\n currentChannel,\n allThreadMessages,\n parentMessage,\n parentMessageState,\n threadListState,\n hasMorePrev,\n hasMoreNext,\n fetchPrevThreads,\n fetchNextThreads,\n onHeaderActionClick,\n onMoveToParentMessage,\n } = useThreadContext();\n const replyCount = allThreadMessages.length;\n const isByMe = currentUserId === parentMessage?.sender?.userId;\n\n // Memoized custom components\n const MemorizedHeader = useMemorizedHeader({ renderHeader });\n const MemorizedParentMessageInfo = useMemorizedParentMessageInfo({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder, // nil, loading, invalid\n });\n const MemorizedThreadList = useMemorizedThreadList({\n threadListState,\n renderThreadListPlaceHolder,\n });\n\n // scroll\n const [scrollBottom, setScrollBottom] = useState(0);\n const scrollRef = useRef<HTMLDivElement>(null);\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n const threadItemNodes = scrollRef.current?.querySelectorAll('.sendbird-thread-list-item');\n const firstNode = threadItemNodes?.[0];\n if (isAboutSame(scrollTop, 0, 10) && hasMorePrev) {\n fetchPrevThreads((messages) => {\n if (messages) {\n try {\n firstNode?.scrollIntoView?.({ block: 'start', inline: 'nearest' });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10) && hasMoreNext) {\n const scrollTop_ = scrollTop;\n fetchNextThreads((messages) => {\n if (messages) {\n try {\n element.scrollTop = scrollTop_;\n scrollRef.current.scrollTop = scrollTop_;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight);\n }\n };\n\n return (\n <div className='sendbird-thread-ui'>\n {\n MemorizedHeader || (\n <ThreadHeader\n className=\"sendbird-thread-ui__header\"\n channelName={getChannelTitle(currentChannel, currentUserId, stringSet)}\n onActionIconClick={onHeaderActionClick}\n onChannelNameClick={() => {\n onMoveToParentMessage?.({ message: parentMessage, channel: currentChannel });\n }}\n />\n )\n }\n <div\n className=\"sendbird-thread-ui--scroll\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n <MessageProvider message={parentMessage} isByMe={isByMe}>\n {\n MemorizedParentMessageInfo || (\n <ParentMessageInfo\n className=\"sendbird-thread-ui__parent-message-info\"\n />\n )\n }\n </MessageProvider>\n {\n replyCount > 0 && (\n <div className=\"sendbird-thread-ui__reply-counts\">\n <Label\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_3}\n >\n {`${replyCount} ${replyCount > 1 ? stringSet.THREAD__THREAD_REPLIES : stringSet.THREAD__THREAD_REPLY}`}\n </Label>\n </div>\n )\n }\n {\n MemorizedThreadList || (\n <ThreadList\n className=\"sendbird-thread-ui__thread-list\"\n allThreadMessages={allThreadMessages}\n renderMessage={renderMessage}\n renderCustomSeparator={renderCustomSeparator}\n scrollRef={scrollRef}\n scrollBottom={scrollBottom}\n />\n )\n }\n </div>\n {/* MessageInput */}\n {\n renderMessageInput?.() || (\n <ThreadMessageInput\n className=\"sendbird-thread-ui__message-input\"\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n />\n )\n }\n </div>\n );\n};\n\nexport default ThreadUI;\n"],"names":["useMemorizedHeader","_ref","renderHeader","useMemo","useMemorizedParentMessageInfo","parentMessage","parentMessageState","renderParentMessageInfo","renderParentMessageInfoPlaceholder","ParentMessageStateTypes","NIL","LOADING","INVALID","React","createElement","PlaceHolder","className","type","PlaceHolderTypes","NO_RESULTS","iconSize","WRONG","INITIALIZED","useMemorizedThreadList","threadListState","renderThreadListPlaceHolder","ThreadListStateTypes","Fragment","ThreadUI","_stores$sdkStore","_stores$sdkStore$sdk","_stores$sdkStore$sdk$","_parentMessage$sender","renderMessage","renderMessageInput","renderCustomSeparator","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","stores","useSendbirdStateContext","currentUserId","sdkStore","sdk","currentUser","userId","stringSet","useLocalization","currentChannel","allThreadMessages","hasMorePrev","hasMoreNext","fetchPrevThreads","fetchNextThreads","onHeaderActionClick","onMoveToParentMessage","useThreadContext","replyCount","length","isByMe","sender","MemorizedHeader","MemorizedParentMessageInfo","MemorizedThreadList","scrollBottom","setScrollBottom","useState","scrollRef","useRef","onScroll","e","_scrollRef$current","element","target","scrollTop","clientHeight","scrollHeight","threadItemNodes","current","querySelectorAll","firstNode","isAboutSame","messages","_firstNode$scrollInto","scrollIntoView","call","block","inline","error","scrollTop_","offsetHeight","ThreadHeader","channelName","getChannelTitle","onActionIconClick","onChannelNameClick","message","channel","ref","MessageProvider","ParentMessageInfo","Label","LabelTypography","BODY_1","color","LabelColors","ONBACKGROUND_3","THREAD__THREAD_REPLIES","THREAD__THREAD_REPLY","ThreadList","ThreadMessageInput"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThreadUI.js","sources":["../../../src/modules/Thread/components/ThreadUI/useMemorizedHeader.tsx","../../../src/modules/Thread/components/ThreadUI/useMemorizedParentMessageInfo.tsx","../../../src/modules/Thread/components/ThreadUI/useMemorizedThreadList.tsx","../../../src/modules/Thread/components/ThreadUI/index.tsx"],"sourcesContent":["import React, { ReactElement, useMemo } from 'react';\n\nexport interface UseMemorizedHeaderProps {\n renderHeader?: () => React.ReactElement;\n}\n\nconst useMemorizedHeader = ({ renderHeader }: UseMemorizedHeaderProps): ReactElement => useMemo(() => {\n if (typeof renderHeader === 'function') {\n return renderHeader();\n }\n return null;\n}, [renderHeader]);\n\nexport default useMemorizedHeader;\n","import React, { ReactElement, useMemo } from 'react';\n\nimport { ParentMessageStateTypes } from '../../types';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface UseMemorizedParentMessageInfoProps {\n parentMessage: SendableMessageType;\n parentMessageState: ParentMessageStateTypes;\n renderParentMessageInfo?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedParentMessageInfo = ({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n}: UseMemorizedParentMessageInfoProps): ReactElement => useMemo(() => {\n if (parentMessageState === ParentMessageStateTypes.NIL\n || parentMessageState === ParentMessageStateTypes.LOADING\n || parentMessageState === ParentMessageStateTypes.INVALID\n ) {\n if (typeof renderParentMessageInfoPlaceholder === 'function') {\n return renderParentMessageInfoPlaceholder(parentMessageState);\n }\n switch (parentMessageState) {\n case ParentMessageStateTypes.NIL: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-nil\"\n type={PlaceHolderTypes.NO_RESULTS}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ParentMessageStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__parent-message-info placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n default: {\n return null;\n }\n }\n } else if (parentMessageState === ParentMessageStateTypes.INITIALIZED) {\n if (typeof renderParentMessageInfo === 'function') {\n return renderParentMessageInfo();\n }\n }\n return null;\n}, [\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder,\n]);\n\nexport default useMemorizedParentMessageInfo;\n","import React, { ReactElement, useMemo } from 'react';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\n\nimport { ThreadListStateTypes } from '../../types';\n\nexport interface UseMemorizedThreadListProps {\n threadListState: ThreadListStateTypes;\n renderThreadListPlaceHolder?: (tyep: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst useMemorizedThreadList = ({\n threadListState,\n renderThreadListPlaceHolder,\n}: UseMemorizedThreadListProps): ReactElement => useMemo(() => {\n if (threadListState === ThreadListStateTypes.NIL\n || threadListState === ThreadListStateTypes.LOADING\n || threadListState === ThreadListStateTypes.INVALID\n ) {\n if (typeof renderThreadListPlaceHolder === 'function') {\n return renderThreadListPlaceHolder(threadListState);\n }\n switch (threadListState) {\n case ThreadListStateTypes.LOADING: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-loading\"\n type={PlaceHolderTypes.LOADING}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.INVALID: {\n return (\n <PlaceHolder\n className=\"sendbird-thread-ui__thread-list placeholder-invalid\"\n type={PlaceHolderTypes.WRONG}\n iconSize=\"64px\"\n />\n );\n }\n case ThreadListStateTypes.NIL: {\n return <></>;\n }\n default: {\n return null;\n }\n }\n }\n return null;\n}, [\n threadListState,\n renderThreadListPlaceHolder,\n]);\n\nexport default useMemorizedThreadList;\n","import React, { useRef, useState } from 'react';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport { getChannelTitle } from '../../../Channel/components/ChannelHeader/utils';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { ParentMessageStateTypes, ThreadListStateTypes } from '../../types';\nimport ParentMessageInfo from '../ParentMessageInfo';\nimport ThreadHeader from '../ThreadHeader';\nimport ThreadList from '../ThreadList';\nimport ThreadMessageInput from '../ThreadMessageInput';\nimport useMemorizedHeader from './useMemorizedHeader';\nimport useMemorizedParentMessageInfo from './useMemorizedParentMessageInfo';\nimport useMemorizedThreadList from './useMemorizedThreadList';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { isAboutSame } from '../../context/utils';\nimport { MessageProvider } from '../../../Message/context/MessageProvider';\nimport { SendableMessageType } from '../../../../utils';\n\nexport interface ThreadUIProps {\n renderHeader?: () => React.ReactElement;\n renderParentMessageInfo?: () => React.ReactElement;\n renderMessage?: (props: {\n message: SendableMessageType,\n chainTop: boolean,\n chainBottom: boolean,\n hasSeparator: boolean,\n }) => React.ReactElement;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n renderMessageInput?: () => React.ReactElement;\n renderCustomSeparator?: () => React.ReactElement;\n renderParentMessageInfoPlaceholder?: (type: ParentMessageStateTypes) => React.ReactElement;\n renderThreadListPlaceHolder?: (type: ThreadListStateTypes) => React.ReactElement;\n}\n\nconst ThreadUI: React.FC<ThreadUIProps> = ({\n renderHeader,\n renderParentMessageInfo,\n renderMessage,\n renderMessageInput,\n renderCustomSeparator,\n renderParentMessageInfoPlaceholder,\n renderThreadListPlaceHolder,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n}: ThreadUIProps): React.ReactElement => {\n const {\n stores,\n } = useSendbirdStateContext();\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId;\n const {\n stringSet,\n } = useLocalization();\n const {\n currentChannel,\n allThreadMessages,\n parentMessage,\n parentMessageState,\n threadListState,\n hasMorePrev,\n hasMoreNext,\n fetchPrevThreads,\n fetchNextThreads,\n onHeaderActionClick,\n onMoveToParentMessage,\n } = useThreadContext();\n const replyCount = allThreadMessages.length;\n const isByMe = currentUserId === parentMessage?.sender?.userId;\n\n // Memoized custom components\n const MemorizedHeader = useMemorizedHeader({ renderHeader });\n const MemorizedParentMessageInfo = useMemorizedParentMessageInfo({\n parentMessage,\n parentMessageState,\n renderParentMessageInfo,\n renderParentMessageInfoPlaceholder, // nil, loading, invalid\n });\n const MemorizedThreadList = useMemorizedThreadList({\n threadListState,\n renderThreadListPlaceHolder,\n });\n\n // scroll\n const [scrollBottom, setScrollBottom] = useState(0);\n const scrollRef = useRef<HTMLDivElement>(null);\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n const threadItemNodes = scrollRef.current?.querySelectorAll('.sendbird-thread-list-item');\n const firstNode = threadItemNodes?.[0];\n if (isAboutSame(scrollTop, 0, 10) && hasMorePrev) {\n fetchPrevThreads((messages) => {\n if (messages) {\n try {\n firstNode?.scrollIntoView?.({ block: 'start', inline: 'nearest' });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10) && hasMoreNext) {\n const scrollTop_ = scrollTop;\n fetchNextThreads((messages) => {\n if (messages) {\n try {\n element.scrollTop = scrollTop_;\n scrollRef.current.scrollTop = scrollTop_;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight);\n }\n };\n\n return (\n <div className='sendbird-thread-ui'>\n {\n MemorizedHeader || (\n <ThreadHeader\n className=\"sendbird-thread-ui__header\"\n channelName={getChannelTitle(currentChannel, currentUserId, stringSet)}\n onActionIconClick={onHeaderActionClick}\n onChannelNameClick={() => {\n onMoveToParentMessage?.({ message: parentMessage, channel: currentChannel });\n }}\n />\n )\n }\n <div\n className=\"sendbird-thread-ui--scroll\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n <MessageProvider message={parentMessage} isByMe={isByMe}>\n {\n MemorizedParentMessageInfo || (\n <ParentMessageInfo\n className=\"sendbird-thread-ui__parent-message-info\"\n />\n )\n }\n </MessageProvider>\n {\n replyCount > 0 && (\n <div className=\"sendbird-thread-ui__reply-counts\">\n <Label\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_3}\n >\n {`${replyCount} ${replyCount > 1 ? stringSet.THREAD__THREAD_REPLIES : stringSet.THREAD__THREAD_REPLY}`}\n </Label>\n </div>\n )\n }\n {\n MemorizedThreadList || (\n <ThreadList\n className=\"sendbird-thread-ui__thread-list\"\n renderMessage={renderMessage}\n renderCustomSeparator={renderCustomSeparator}\n scrollRef={scrollRef}\n scrollBottom={scrollBottom}\n />\n )\n }\n </div>\n {/* MessageInput */}\n {\n renderMessageInput?.() || (\n <ThreadMessageInput\n className=\"sendbird-thread-ui__message-input\"\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n />\n )\n }\n </div>\n );\n};\n\nexport default ThreadUI;\n"],"names":["useMemorizedHeader","_a","renderHeader","useMemo","useMemorizedParentMessageInfo","parentMessage","parentMessageState","renderParentMessageInfo","renderParentMessageInfoPlaceholder","ParentMessageStateTypes","NIL","LOADING","INVALID","React","createElement","PlaceHolder","className","type","PlaceHolderTypes","NO_RESULTS","iconSize","WRONG","INITIALIZED","useMemorizedThreadList","threadListState","renderThreadListPlaceHolder","ThreadListStateTypes","Fragment","ThreadUI","renderMessage","renderMessageInput","renderCustomSeparator","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","stores","useSendbirdStateContext","currentUserId","_d","_b","sdkStore","sdk","currentUser","userId","stringSet","useLocalization","_f","useThreadContext","currentChannel","allThreadMessages","hasMorePrev","hasMoreNext","fetchPrevThreads","fetchNextThreads","onHeaderActionClick","onMoveToParentMessage","replyCount","length","isByMe","sender","_e","MemorizedHeader","MemorizedParentMessageInfo","MemorizedThreadList","_g","useState","scrollBottom","setScrollBottom","scrollRef","useRef","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","threadItemNodes","current","querySelectorAll","firstNode","isAboutSame","messages","scrollIntoView","call","block","inline","error","scrollTop_1","offsetHeight","ThreadHeader","channelName","getChannelTitle","onActionIconClick","onChannelNameClick","message","channel","ref","MessageProvider","ParentMessageInfo","Label","LabelTypography","BODY_1","color","LabelColors","ONBACKGROUND_3","concat","THREAD__THREAD_REPLIES","THREAD__THREAD_REPLY","ThreadList","ThreadMessageInput"],"mappings":"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"}
|