@sendbird/uikit-react 3.4.7 → 3.4.8-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +46 -46
- package/App.js.map +1 -1
- package/CHANGELOG.md +26 -0
- package/Channel/components/ChannelHeader.js +18 -22
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +43 -43
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +14 -17
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/FrozenNotification.js.map +1 -1
- package/Channel/components/Message.js +38 -38
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +30 -33
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +51 -44
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +16 -20
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +18 -24
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +14 -20
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +11 -19
- package/Channel/context.js.map +1 -1
- package/Channel.js +43 -43
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +8 -8
- package/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/ChannelList/components/ChannelListUI.js +29 -30
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +25 -28
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +17 -15
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +7 -7
- package/ChannelList.js +29 -30
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-8be91a05.js → ChannelListProvider-e8ad86b6.js} +15 -19
- package/ChannelListProvider-e8ad86b6.js.map +1 -0
- package/{ChannelProvider-d643e6d9.js → ChannelProvider-6de56b36.js} +13 -97
- package/ChannelProvider-6de56b36.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +14 -14
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +10 -10
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +13 -13
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +18 -18
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +13 -13
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +14 -14
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +13 -13
- package/CreateChannel.js.map +1 -1
- package/{CreateChannelProvider-5674e81b.js → CreateChannelProvider-64578d2a.js} +1 -1
- package/{CreateChannelProvider-5674e81b.js.map → CreateChannelProvider-64578d2a.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel/context.js.map +1 -1
- package/CreateOpenChannel.js +9 -9
- package/CreateOpenChannel.js.map +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile/context.js.map +1 -1
- package/EditUserProfile.js +12 -12
- package/EditUserProfile.js.map +1 -1
- package/{LocalizationContext-ad70364c.js → LocalizationContext-7ae12588.js} +3 -3
- package/{LocalizationContext-ad70364c.js.map → LocalizationContext-7ae12588.js.map} +1 -1
- package/{MediaQueryContext-4e555ef5.js → MediaQueryContext-05d4db73.js} +1 -1
- package/MediaQueryContext-05d4db73.js.map +1 -0
- package/{MemberList-24b818f8.js → MemberList-9634fee8.js} +5 -5
- package/MemberList-9634fee8.js.map +1 -0
- package/Message/context.js.map +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +1 -1
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +11 -11
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +18 -18
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +27 -32
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +31 -31
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +31 -31
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +13 -13
- package/OpenChannelList.js.map +1 -1
- package/{OpenChannelListProvider-27822936.js → OpenChannelListProvider-f6a88782.js} +3 -3
- package/{OpenChannelListProvider-27822936.js.map → OpenChannelListProvider-f6a88782.js.map} +1 -1
- package/{OpenChannelProvider-5148963b.js → OpenChannelProvider-f1a4b4fa.js} +9 -7
- package/OpenChannelProvider-f1a4b4fa.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +17 -17
- package/OpenChannelSettings.js.map +1 -1
- package/README.md +28 -8
- package/{RemoveMessageModal-54d1b0a4.js → RemoveMessageModal-2b9bdeed.js} +3 -3
- package/{RemoveMessageModal-54d1b0a4.js.map → RemoveMessageModal-2b9bdeed.js.map} +1 -1
- package/SendbirdProvider.js +13 -13
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +32 -32
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +18 -18
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadHeader.js.map +1 -1
- package/Thread/components/ThreadList.js +35 -35
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +34 -34
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +28 -31
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +36 -36
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +36 -36
- package/Thread.js.map +1 -1
- package/{ThreadProvider-96a5e77e.js → ThreadProvider-5a216f9d.js} +7 -7
- package/ThreadProvider-5a216f9d.js.map +1 -0
- package/{UserProfileContext-b68f33fc.js → UserProfileContext-e8124c47.js} +1 -1
- package/{UserProfileContext-b68f33fc.js.map → UserProfileContext-e8124c47.js.map} +1 -1
- package/{VoiceMessageInputWrapper-07631f8d.js → VoiceMessageInputWrapper-ce56172a.js} +8 -8
- package/VoiceMessageInputWrapper-ce56172a.js.map +1 -0
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +6 -6
- package/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/VoiceRecorder/context.js +6 -6
- package/VoiceRecorder/context.js.map +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +3 -2
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/{WebAudioUtils-3fb13b51.js → WebAudioUtils-6229e96a.js} +1 -1
- package/{WebAudioUtils-3fb13b51.js.map → WebAudioUtils-6229e96a.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-5d0c716a.js → _rollupPluginBabelHelpers-96062e23.js} +1 -1
- package/_rollupPluginBabelHelpers-96062e23.js.map +1 -0
- package/{actionTypes-b270327e.js → actionTypes-423a1fac.js} +1 -1
- package/{actionTypes-b270327e.js.map → actionTypes-423a1fac.js.map} +1 -1
- package/cjs/App.js +46 -46
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +18 -22
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +43 -43
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +14 -17
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/FrozenNotification.js.map +1 -1
- package/cjs/Channel/components/Message.js +38 -38
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +30 -33
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +51 -44
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +16 -20
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +18 -24
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +14 -20
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +11 -19
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel.js +43 -43
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +8 -8
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListUI.js +29 -30
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +25 -28
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +17 -15
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +7 -7
- package/cjs/ChannelList.js +29 -30
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-6b61a484.js → ChannelListProvider-2bcdc671.js} +15 -19
- package/cjs/ChannelListProvider-2bcdc671.js.map +1 -0
- package/cjs/{ChannelProvider-12a12f31.js → ChannelProvider-2a01302b.js} +12 -96
- package/cjs/ChannelProvider-2a01302b.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +10 -10
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +13 -13
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +13 -13
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/{CreateChannelProvider-2beb2415.js → CreateChannelProvider-8f7d9505.js} +1 -1
- package/cjs/{CreateChannelProvider-2beb2415.js.map → CreateChannelProvider-8f7d9505.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel/context.js.map +1 -1
- package/cjs/CreateOpenChannel.js +9 -9
- package/cjs/CreateOpenChannel.js.map +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile/context.js.map +1 -1
- package/cjs/EditUserProfile.js +12 -12
- package/cjs/EditUserProfile.js.map +1 -1
- package/cjs/{LocalizationContext-30772f4a.js → LocalizationContext-975ffc10.js} +3 -3
- package/cjs/{LocalizationContext-30772f4a.js.map → LocalizationContext-975ffc10.js.map} +1 -1
- package/cjs/{MediaQueryContext-3b09499c.js → MediaQueryContext-302f1c4f.js} +1 -1
- package/cjs/MediaQueryContext-302f1c4f.js.map +1 -0
- package/cjs/{MemberList-f0c4e234.js → MemberList-0c0c303c.js} +5 -5
- package/cjs/MemberList-0c0c303c.js.map +1 -0
- package/cjs/Message/context.js.map +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +11 -11
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +18 -18
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -32
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +31 -31
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/OpenChannelList.js.map +1 -1
- package/cjs/{OpenChannelListProvider-d48bd733.js → OpenChannelListProvider-ef3655ce.js} +3 -3
- package/cjs/{OpenChannelListProvider-d48bd733.js.map → OpenChannelListProvider-ef3655ce.js.map} +1 -1
- package/cjs/{OpenChannelProvider-56846c0c.js → OpenChannelProvider-c500275a.js} +9 -7
- package/cjs/OpenChannelProvider-c500275a.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/{RemoveMessageModal-e0480b7c.js → RemoveMessageModal-f8277edf.js} +3 -3
- package/cjs/{RemoveMessageModal-e0480b7c.js.map → RemoveMessageModal-f8277edf.js.map} +1 -1
- package/cjs/SendbirdProvider.js +13 -13
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +32 -32
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +18 -18
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadHeader.js.map +1 -1
- package/cjs/Thread/components/ThreadList.js +35 -35
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +34 -34
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +28 -31
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +36 -36
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +36 -36
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-1ebd5bc0.js → ThreadProvider-e8f49239.js} +7 -7
- package/cjs/ThreadProvider-e8f49239.js.map +1 -0
- package/cjs/{UserProfileContext-eb5a10d6.js → UserProfileContext-8b19c6c3.js} +1 -1
- package/cjs/{UserProfileContext-eb5a10d6.js.map → UserProfileContext-8b19c6c3.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-044427b2.js → VoiceMessageInputWrapper-5dfaba8f.js} +8 -8
- package/cjs/VoiceMessageInputWrapper-5dfaba8f.js.map +1 -0
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +6 -6
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/cjs/VoiceRecorder/context.js +6 -6
- package/cjs/VoiceRecorder/context.js.map +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +3 -2
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/cjs/{WebAudioUtils-57d7e366.js → WebAudioUtils-2bd92ed1.js} +1 -1
- package/cjs/{WebAudioUtils-57d7e366.js.map → WebAudioUtils-2bd92ed1.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-4b6406c2.js → _rollupPluginBabelHelpers-596e2aef.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-596e2aef.js.map +1 -0
- package/cjs/{actionTypes-f66e00c2.js → actionTypes-29997777.js} +1 -1
- package/cjs/{actionTypes-f66e00c2.js.map → actionTypes-29997777.js.map} +1 -1
- package/cjs/{color-4904d01e.js → color-ac868fc0.js} +1 -1
- package/cjs/{color-4904d01e.js.map → color-ac868fc0.js.map} +1 -1
- package/cjs/{compareIds-de8d3b96.js → compareIds-3c9472b4.js} +2 -2
- package/cjs/compareIds-3c9472b4.js.map +1 -0
- package/cjs/{const-97ad0ae2.js → const-7b049118.js} +1 -1
- package/cjs/{const-97ad0ae2.js.map → const-7b049118.js.map} +1 -1
- package/cjs/{const-bba9510b.js → const-7d011d30.js} +1 -1
- package/cjs/{const-bba9510b.js.map → const-7d011d30.js.map} +1 -1
- package/cjs/{consts-6acebb51.js → consts-6cf0ec85.js} +1 -1
- package/cjs/{consts-6acebb51.js.map → consts-6cf0ec85.js.map} +1 -1
- package/cjs/{consts-cafff484.js → consts-9cbf147c.js} +1 -1
- package/cjs/{consts-cafff484.js.map → consts-9cbf147c.js.map} +1 -1
- package/cjs/{consts-a235ce0a.js → consts-d9ff7fec.js} +1 -1
- package/cjs/{consts-a235ce0a.js.map → consts-d9ff7fec.js.map} +1 -1
- package/cjs/{consts-cb169c09.js → consts-df222988.js} +1 -1
- package/cjs/{consts-cb169c09.js.map → consts-df222988.js.map} +1 -1
- package/cjs/{context-e6181d31.js → context-1d31dbec.js} +2 -2
- package/cjs/{context-e6181d31.js.map → context-1d31dbec.js.map} +1 -1
- package/cjs/dist/index.css +164 -163
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-df637378.js → index-0b24e87b.js} +5 -5
- package/cjs/index-0b24e87b.js.map +1 -0
- package/cjs/{index-0514e373.js → index-0d2fba98.js} +7 -6
- package/cjs/index-0d2fba98.js.map +1 -0
- package/cjs/{index-43612435.js → index-1a324d07.js} +4 -4
- package/cjs/{index-43612435.js.map → index-1a324d07.js.map} +1 -1
- package/cjs/{index-34cc612a.js → index-263d9317.js} +5 -4
- package/cjs/index-263d9317.js.map +1 -0
- package/cjs/{index-d2bd7dc5.js → index-334b239a.js} +2 -2
- package/cjs/index-334b239a.js.map +1 -0
- package/cjs/{index-2a770f35.js → index-46b412dc.js} +37 -7
- package/cjs/index-46b412dc.js.map +1 -0
- package/cjs/{index-9f6f371b.js → index-50655872.js} +6 -6
- package/cjs/index-50655872.js.map +1 -0
- package/cjs/{index-4de6caed.js → index-551be60f.js} +16 -8
- package/cjs/index-551be60f.js.map +1 -0
- package/cjs/{index-986b886d.js → index-7ffe6f27.js} +12 -3
- package/cjs/index-7ffe6f27.js.map +1 -0
- package/cjs/{index-223d453c.js → index-8d2c0bda.js} +4 -2
- package/cjs/index-8d2c0bda.js.map +1 -0
- package/cjs/{index-b2886b93.js → index-8fc4c8ed.js} +12 -12
- package/cjs/index-8fc4c8ed.js.map +1 -0
- package/cjs/{index-ca85a10a.js → index-9dd778ed.js} +193 -56
- package/cjs/index-9dd778ed.js.map +1 -0
- package/cjs/{index-80b17a7f.js → index-bb91f996.js} +2 -2
- package/cjs/{index-80b17a7f.js.map → index-bb91f996.js.map} +1 -1
- package/cjs/{index-5fd03280.js → index-e36db682.js} +1 -1
- package/cjs/index-e36db682.js.map +1 -0
- package/cjs/{index-6d3fe482.js → index-f0938824.js} +30 -10
- package/cjs/index-f0938824.js.map +1 -0
- package/cjs/{index-2c8ca1d6.js → index-f4cf9eb5.js} +3 -3
- package/cjs/{index-2c8ca1d6.js.map → index-f4cf9eb5.js.map} +1 -1
- package/cjs/index.js +49 -49
- package/cjs/{index.module-f4ff21b1.js → index.module-2d344ee2.js} +1 -1
- package/cjs/{index.module-f4ff21b1.js.map → index.module-2d344ee2.js.map} +1 -1
- package/cjs/lame.all.js.map +1 -1
- package/cjs/sendbirdSelectors.js +3 -3
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-2b481a03.js → stringSet-ac04b7c1.js} +1 -1
- package/cjs/{stringSet-2b481a03.js.map → stringSet-ac04b7c1.js.map} +1 -1
- package/cjs/{tokenize-07747f4c.js → tokenize-10b9c2ca.js} +27 -7
- package/cjs/tokenize-10b9c2ca.js.map +1 -0
- package/cjs/{topics-f9cf559a.js → topics-89c25bd7.js} +1 -1
- package/cjs/{topics-f9cf559a.js.map → topics-89c25bd7.js.map} +1 -1
- package/cjs/{types-3dcd9651.js → types-53455550.js} +1 -1
- package/cjs/types-53455550.js.map +1 -0
- package/cjs/ui/Accordion.js +2 -2
- package/cjs/ui/Accordion.js.map +1 -1
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AccordionGroup.js.map +1 -1
- package/cjs/ui/AdminMessage.js +2 -2
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +1 -1
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +4 -4
- package/cjs/ui/Badge.js.map +1 -1
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/BottomSheet.js.map +1 -1
- package/cjs/ui/Button.js +2 -2
- package/cjs/ui/Button.js.map +1 -1
- package/cjs/ui/ChannelAvatar.js +2 -2
- package/cjs/ui/ChannelAvatar.js.map +1 -1
- package/cjs/ui/Checkbox.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ConnectionStatus.js.map +1 -1
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +3 -3
- package/cjs/ui/DateSeparator.js.map +1 -1
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +2 -0
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/IconButton.js.map +1 -1
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +2 -2
- 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.map +1 -1
- package/cjs/ui/MentionLabel.js +10 -10
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MentionUserLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +34 -34
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +63 -37
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +8 -8
- package/cjs/ui/MessageSearchItem.js.map +1 -1
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +14 -14
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +2 -2
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
- package/cjs/ui/OpenChannelAvatar.js +5 -5
- package/cjs/ui/OpenChannelAvatar.js.map +1 -1
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
- package/cjs/ui/OpenchannelFileMessage.js +15 -15
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +18 -18
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +15 -15
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +5 -5
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/PlaybackTime.js.map +1 -1
- package/cjs/ui/ProgressBar.js +1 -0
- package/cjs/ui/ProgressBar.js.map +1 -1
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +2 -2
- package/cjs/ui/ReactionBadge.js.map +1 -1
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +1 -1
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +1 -1
- package/cjs/ui/TextButton.js.map +1 -1
- package/cjs/ui/TextMessageItemBody.js +15 -15
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThreadReplies.js +5 -5
- package/cjs/ui/ThreadReplies.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Toggle.js +1 -1
- package/cjs/ui/Toggle.js.map +1 -1
- package/cjs/ui/Tooltip.js +2 -2
- package/cjs/ui/Tooltip.js.map +1 -1
- package/cjs/ui/TooltipWrapper.js.map +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +10 -10
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/VoiceMessageItemBody.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
- package/cjs/ui/VoiceMessgeInput.js +7 -7
- package/cjs/ui/Word.js +13 -13
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/{useLongPress-ab63a990.js → useLongPress-472493f7.js} +3 -3
- package/cjs/useLongPress-472493f7.js.map +1 -0
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-1fd1fe8c.js → utils-40b8c201.js} +1 -1
- package/cjs/utils-40b8c201.js.map +1 -0
- package/cjs/{utils-7e52a10a.js → utils-76562fb5.js} +2 -2
- package/cjs/{utils-7e52a10a.js.map → utils-76562fb5.js.map} +1 -1
- package/cjs/{utils-f6f55335.js → utils-eadc245c.js} +1 -1
- package/cjs/{utils-f6f55335.js.map → utils-eadc245c.js.map} +1 -1
- package/cjs/{utils-f6c4e216.js → utils-fdce7855.js} +1 -1
- package/cjs/{utils-f6c4e216.js.map → utils-fdce7855.js.map} +1 -1
- package/cjs/{uuid-d0dd45eb.js → uuid-d5eb7040.js} +1 -1
- package/cjs/{uuid-d0dd45eb.js.map → uuid-d5eb7040.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/cjs/withSendbird.js.map +1 -1
- package/{color-c30f00bf.js → color-d6b38e25.js} +1 -1
- package/{color-c30f00bf.js.map → color-d6b38e25.js.map} +1 -1
- package/{compareIds-90440dc5.js → compareIds-f38c2ef0.js} +2 -2
- package/compareIds-f38c2ef0.js.map +1 -0
- package/{const-5e916a50.js → const-051188d1.js} +1 -1
- package/{const-5e916a50.js.map → const-051188d1.js.map} +1 -1
- package/{const-582ca435.js → const-f6d56818.js} +1 -1
- package/{const-582ca435.js.map → const-f6d56818.js.map} +1 -1
- package/{consts-ee90b622.js → consts-04eece0c.js} +1 -1
- package/{consts-ee90b622.js.map → consts-04eece0c.js.map} +1 -1
- package/{consts-6e63357c.js → consts-a6286ca6.js} +1 -1
- package/{consts-6e63357c.js.map → consts-a6286ca6.js.map} +1 -1
- package/{consts-35dda142.js → consts-da8a20c9.js} +1 -1
- package/{consts-35dda142.js.map → consts-da8a20c9.js.map} +1 -1
- package/{consts-a7fe5f4a.js → consts-dd1513d3.js} +1 -1
- package/{consts-a7fe5f4a.js.map → consts-dd1513d3.js.map} +1 -1
- package/{context-8a77d287.js → context-0e43d2e6.js} +2 -2
- package/{context-8a77d287.js.map → context-0e43d2e6.js.map} +1 -1
- package/dist/index.css +164 -163
- package/dist/index.css.map +1 -1
- package/{index-2bcc4298.js → index-01ac0ba4.js} +7 -6
- package/index-01ac0ba4.js.map +1 -0
- package/{index-8f5c7f74.js → index-0533e5e9.js} +2 -2
- package/index-0533e5e9.js.map +1 -0
- package/{index-1e1cb669.js → index-06784b87.js} +1 -1
- package/index-06784b87.js.map +1 -0
- package/{index-8e3a9e8c.js → index-2857db82.js} +12 -12
- package/index-2857db82.js.map +1 -0
- package/{index-062a4eeb.js → index-3f4521c1.js} +2 -2
- package/{index-062a4eeb.js.map → index-3f4521c1.js.map} +1 -1
- package/{index-4d66cb77.js → index-46f6d854.js} +38 -8
- package/index-46f6d854.js.map +1 -0
- package/{index-303eca35.js → index-5807e969.js} +16 -8
- package/index-5807e969.js.map +1 -0
- package/{index-c50c6fa2.js → index-63631dc4.js} +5 -4
- package/index-63631dc4.js.map +1 -0
- package/{index-052724d9.js → index-64473ea3.js} +12 -3
- package/index-64473ea3.js.map +1 -0
- package/{index-4668028f.js → index-74a99dc5.js} +4 -2
- package/index-74a99dc5.js.map +1 -0
- package/{index-eebbce1c.js → index-7f172012.js} +5 -5
- package/index-7f172012.js.map +1 -0
- package/{index-794e37e5.js → index-82009149.js} +30 -10
- package/index-82009149.js.map +1 -0
- package/{index-8fea9d09.js → index-8abe5fb2.js} +3 -3
- package/{index-8fea9d09.js.map → index-8abe5fb2.js.map} +1 -1
- package/{index-365a1d88.js → index-f23e2550.js} +4 -4
- package/{index-365a1d88.js.map → index-f23e2550.js.map} +1 -1
- package/{index-0cc2c241.js → index-f78cd01e.js} +6 -6
- package/index-f78cd01e.js.map +1 -0
- package/{index-6908bdd4.js → index-feffd01d.js} +193 -56
- package/index-feffd01d.js.map +1 -0
- package/index.d.ts +15 -5
- package/index.js +49 -49
- package/{index.module-3d14ef05.js → index.module-6a96cbff.js} +1 -1
- package/{index.module-3d14ef05.js.map → index.module-6a96cbff.js.map} +1 -1
- package/lame.all.js.map +1 -1
- package/package.json +15 -13
- package/sendbirdSelectors.js +3 -3
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-da68ecef.js → stringSet-6c589018.js} +1 -1
- package/{stringSet-da68ecef.js.map → stringSet-6c589018.js.map} +1 -1
- package/{tokenize-eeb42e72.js → tokenize-b7be6252.js} +27 -7
- package/tokenize-b7be6252.js.map +1 -0
- package/{topics-0354b385.js → topics-969deff5.js} +1 -1
- package/{topics-0354b385.js.map → topics-969deff5.js.map} +1 -1
- package/{types-12d853e9.js → types-230dc5c2.js} +1 -1
- package/types-230dc5c2.js.map +1 -0
- package/ui/Accordion.js +2 -2
- package/ui/Accordion.js.map +1 -1
- package/ui/AccordionGroup.js +2 -2
- package/ui/AccordionGroup.js.map +1 -1
- package/ui/AdminMessage.js +2 -2
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +1 -1
- package/ui/Avatar.js.map +1 -1
- package/ui/Badge.js +4 -4
- package/ui/Badge.js.map +1 -1
- package/ui/BottomSheet.js +1 -1
- package/ui/BottomSheet.js.map +1 -1
- package/ui/Button.js +2 -2
- package/ui/Button.js.map +1 -1
- package/ui/ChannelAvatar.js +2 -2
- package/ui/ChannelAvatar.js.map +1 -1
- package/ui/Checkbox.js.map +1 -1
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ConnectionStatus.js.map +1 -1
- package/ui/ContextMenu.js +5 -5
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +3 -3
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +7 -7
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +8 -8
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +2 -0
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/IconButton.js.map +1 -1
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +2 -2
- 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.map +1 -1
- package/ui/MentionLabel.js +10 -10
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MentionUserLabel.js.map +1 -1
- package/ui/MessageContent.js +34 -34
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +63 -37
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +8 -8
- package/ui/MessageSearchItem.js.map +1 -1
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js.map +1 -1
- package/ui/OGMessageItemBody.js +14 -14
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +2 -2
- package/ui/OpenChannelAdminMessage.js.map +1 -1
- package/ui/OpenChannelAvatar.js +5 -5
- package/ui/OpenChannelAvatar.js.map +1 -1
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelConversationHeader.js.map +1 -1
- package/ui/OpenchannelFileMessage.js +15 -15
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +18 -18
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +16 -16
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +5 -5
- package/ui/PlaybackTime.js +2 -2
- package/ui/PlaybackTime.js.map +1 -1
- package/ui/ProgressBar.js +1 -0
- package/ui/ProgressBar.js.map +1 -1
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +2 -2
- package/ui/ReactionBadge.js.map +1 -1
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +1 -1
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +1 -1
- package/ui/TextButton.js.map +1 -1
- package/ui/TextMessageItemBody.js +15 -15
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThreadReplies.js +5 -5
- package/ui/ThreadReplies.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +2 -2
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Toggle.js +1 -1
- package/ui/Toggle.js.map +1 -1
- package/ui/Tooltip.js +2 -2
- package/ui/Tooltip.js.map +1 -1
- package/ui/TooltipWrapper.js.map +1 -1
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +10 -10
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +9 -9
- package/ui/UserProfile.js.map +1 -1
- package/ui/VoiceMessageItemBody.js +9 -9
- package/ui/VoiceMessageItemBody.js.map +1 -1
- package/ui/VoiceMessgeInput.js +7 -7
- package/ui/Word.js +13 -13
- package/ui/Word.js.map +1 -1
- package/{useLongPress-a8d92cab.js → useLongPress-b678c2b7.js} +3 -3
- package/useLongPress-b678c2b7.js.map +1 -0
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/getOutgoingMessageState.js.map +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-670974e1.js → utils-3245985d.js} +1 -1
- package/utils-3245985d.js.map +1 -0
- package/{utils-63790b1a.js → utils-c29e587a.js} +2 -2
- package/{utils-63790b1a.js.map → utils-c29e587a.js.map} +1 -1
- package/{utils-c9c2364c.js → utils-d8dfc953.js} +1 -1
- package/{utils-c9c2364c.js.map → utils-d8dfc953.js.map} +1 -1
- package/{utils-2b05a56b.js → utils-f57a5756.js} +1 -1
- package/{utils-2b05a56b.js.map → utils-f57a5756.js.map} +1 -1
- package/{uuid-5c7f30bd.js → uuid-abddae2d.js} +1 -1
- package/{uuid-5c7f30bd.js.map → uuid-abddae2d.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/withSendbird.js.map +1 -1
- package/ChannelListProvider-8be91a05.js.map +0 -1
- package/ChannelProvider-d643e6d9.js.map +0 -1
- package/MediaQueryContext-4e555ef5.js.map +0 -1
- package/MemberList-24b818f8.js.map +0 -1
- package/OpenChannelProvider-5148963b.js.map +0 -1
- package/ThreadProvider-96a5e77e.js.map +0 -1
- package/VoiceMessageInputWrapper-07631f8d.js.map +0 -1
- package/_rollupPluginBabelHelpers-5d0c716a.js.map +0 -1
- package/cjs/ChannelListProvider-6b61a484.js.map +0 -1
- package/cjs/ChannelProvider-12a12f31.js.map +0 -1
- package/cjs/MediaQueryContext-3b09499c.js.map +0 -1
- package/cjs/MemberList-f0c4e234.js.map +0 -1
- package/cjs/OpenChannelProvider-56846c0c.js.map +0 -1
- package/cjs/ThreadProvider-1ebd5bc0.js.map +0 -1
- package/cjs/VoiceMessageInputWrapper-044427b2.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-4b6406c2.js.map +0 -1
- package/cjs/compareIds-de8d3b96.js.map +0 -1
- package/cjs/index-0514e373.js.map +0 -1
- package/cjs/index-223d453c.js.map +0 -1
- package/cjs/index-2a770f35.js.map +0 -1
- package/cjs/index-34cc612a.js.map +0 -1
- package/cjs/index-4de6caed.js.map +0 -1
- package/cjs/index-5fd03280.js.map +0 -1
- package/cjs/index-6d3fe482.js.map +0 -1
- package/cjs/index-986b886d.js.map +0 -1
- package/cjs/index-9f6f371b.js.map +0 -1
- package/cjs/index-b2886b93.js.map +0 -1
- package/cjs/index-ca85a10a.js.map +0 -1
- package/cjs/index-d2bd7dc5.js.map +0 -1
- package/cjs/index-df637378.js.map +0 -1
- package/cjs/tokenize-07747f4c.js.map +0 -1
- package/cjs/types-3dcd9651.js.map +0 -1
- package/cjs/useLongPress-ab63a990.js.map +0 -1
- package/cjs/utils-1fd1fe8c.js.map +0 -1
- package/compareIds-90440dc5.js.map +0 -1
- package/index-052724d9.js.map +0 -1
- package/index-0cc2c241.js.map +0 -1
- package/index-1e1cb669.js.map +0 -1
- package/index-2bcc4298.js.map +0 -1
- package/index-303eca35.js.map +0 -1
- package/index-4668028f.js.map +0 -1
- package/index-4d66cb77.js.map +0 -1
- package/index-6908bdd4.js.map +0 -1
- package/index-794e37e5.js.map +0 -1
- package/index-8e3a9e8c.js.map +0 -1
- package/index-8f5c7f74.js.map +0 -1
- package/index-c50c6fa2.js.map +0 -1
- package/index-eebbce1c.js.map +0 -1
- package/tokenize-eeb42e72.js.map +0 -1
- package/types-12d853e9.js.map +0 -1
- package/useLongPress-a8d92cab.js.map +0 -1
- package/utils-670974e1.js.map +0 -1
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var ui_Modal = require('./ui/Modal.js');
|
|
5
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
5
|
+
var LocalizationContext = require('./LocalizationContext-975ffc10.js');
|
|
6
6
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
7
7
|
var ui_Input = require('./ui/Input.js');
|
|
8
8
|
var ui_Avatar = require('./ui/Avatar.js');
|
|
9
9
|
var ui_Icon = require('./ui/Icon.js');
|
|
10
10
|
var ui_Button = require('./ui/Button.js');
|
|
11
|
-
var ui_Label = require('./index-
|
|
11
|
+
var ui_Label = require('./index-bb91f996.js');
|
|
12
12
|
var ui_TextButton = require('./ui/TextButton.js');
|
|
13
|
-
var utils = require('./utils-
|
|
14
|
-
var actionTypes = require('./actionTypes-
|
|
13
|
+
var utils = require('./utils-eadc245c.js');
|
|
14
|
+
var actionTypes = require('./actionTypes-29997777.js');
|
|
15
15
|
|
|
16
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
17
|
|
|
@@ -168,4 +168,4 @@ function EditUserProfile() {
|
|
|
168
168
|
|
|
169
169
|
exports.EditUserProfile = EditUserProfile;
|
|
170
170
|
exports.EditUserProfileProvider = EditUserProfileProvider;
|
|
171
|
-
//# sourceMappingURL=index-
|
|
171
|
+
//# sourceMappingURL=index-0b24e87b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-0b24e87b.js","sources":["../../src/modules/EditUserProfile/context/EditUserProfIleProvider.tsx","../../src/modules/EditUserProfile/components/EditUserProfileUI/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport React, { useMemo } from 'react';\n\nconst EditUserProfileProviderContext = React.createContext(undefined);\n\nexport interface EditUserProfileProps {\n children?: React.ReactElement;\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nexport interface EditUserProfileProviderInterface {\n onCancel?(): void;\n onThemeChange?(theme: string): void;\n onEditProfile?(updatedUser: User): void;\n}\n\nconst EditUserProfileProvider: React.FC<EditUserProfileProps> = (props: EditUserProfileProps) => {\n const {\n children,\n onEditProfile,\n onCancel,\n onThemeChange,\n } = props;\n\n const value = useMemo(() => {\n return {\n onEditProfile,\n onCancel,\n onThemeChange,\n };\n }, []);\n\n return (\n <EditUserProfileProviderContext.Provider value={value}>\n {children}\n </EditUserProfileProviderContext.Provider>\n );\n};\n\nconst useEditUserProfileContext = (): EditUserProfileProviderInterface => (\n React.useContext(EditUserProfileProviderContext)\n);\n\nexport {\n EditUserProfileProvider,\n useEditUserProfileContext,\n};\n","import './edit-user-profile.scss';\n\nimport React, {\n ReactElement,\n useRef,\n useState,\n useContext,\n} from 'react';\nimport { useEditUserProfileContext } from '../../context/EditUserProfIleProvider';\n\nimport Modal from '../../../../ui/Modal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nimport Input, { InputLabel } from '../../../../ui/Input';\nimport Avatar from '../../../../ui/Avatar';\nimport Icon, { IconTypes } from '../../../../ui/Icon';\nimport { ButtonTypes } from '../../../../ui/Button';\nimport Label, { LabelColors, LabelTypography } from '../../../../ui/Label';\nimport TextButton from '../../../../ui/TextButton';\nimport { noop } from '../../../../utils/utils';\nimport { USER_ACTIONS } from '../../../../lib/dux/user/actionTypes';\n\nexport default function EditUserProfile(): ReactElement {\n const editProfileProps = useEditUserProfileContext();\n const store = useSendbirdStateContext();\n const hiddenInputRef = useRef(null);\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n\n const {\n onEditProfile,\n onCancel,\n onThemeChange,\n } = editProfileProps;\n\n const theme = store?.config?.theme || 'light';\n const changeTheme = store?.config?.setCurrenttheme || noop;\n const user = store?.stores?.userStore?.user;\n const sdk = store?.stores?.sdkStore?.sdk;\n const userDispatcher = store?.dispatchers?.userDispatcher;\n\n return (\n <Modal\n titleText={stringSet.EDIT_PROFILE__TITLE}\n submitText={stringSet.BUTTON__SAVE}\n type={ButtonTypes.PRIMARY}\n onCancel={onCancel}\n isFullScreenOnMobile\n onSubmit={() => {\n if (user?.nickname !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n sdk?.updateCurrentUserInfo({\n nickname: inputRef?.current?.value,\n profileImage: newFile,\n }).then((updatedUser) => {\n userDispatcher({ type: USER_ACTIONS.UPDATE_USER_INFO, payload: updatedUser });\n if (onEditProfile && typeof onEditProfile === 'function') {\n onEditProfile(updatedUser);\n }\n });\n }}\n >\n <form\n className=\"sendbird-edit-user-profile\"\n ref={formRef}\n onSubmit={(e) => { e.preventDefault(); }}\n >\n <section className=\"sendbird-edit-user-profile__img\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__IMAGE_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__img__avatar\">\n <Avatar\n width=\"80px\"\n height=\"80px\"\n src={currentImg || user?.profileUrl}\n />\n </div>\n <input\n ref={hiddenInputRef}\n type=\"file\"\n accept=\"image/gif, image/jpeg, image/png\"\n style={{ display: 'none' }}\n onChange={(e) => {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n <TextButton\n className=\"sendbird-edit-user-profile__img__avatar-button\"\n disableUnderline\n onClick={() => hiddenInputRef.current.click()}\n >\n <Label type={LabelTypography.BUTTON_1} color={LabelColors.PRIMARY}>\n {stringSet.EDIT_PROFILE__IMAGE_UPLOAD}\n </Label>\n </TextButton>\n </section>\n <section className=\"sendbird-edit-user-profile__name\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__NICKNAME_LABEL}\n </InputLabel>\n <Input\n required={user?.nickname !== ''}\n name=\"sendbird-edit-user-profile__name__input\"\n ref={inputRef}\n value={user?.nickname}\n placeHolder={stringSet.EDIT_PROFILE__NICKNAME_PLACEHOLDER}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__userid\">\n <InputLabel>\n {/* userID */}\n {stringSet.EDIT_PROFILE__USERID_LABEL}\n </InputLabel>\n <Input\n disabled\n name=\"sendbird-edit-user-profile__userid__input\"\n value={user?.userId}\n />\n </section>\n <section className=\"sendbird-edit-user-profile__theme\">\n <InputLabel>\n {stringSet.EDIT_PROFILE__THEME_LABEL}\n </InputLabel>\n <div className=\"sendbird-edit-user-profile__theme__theme-icon\">\n {\n theme === 'dark'\n ? (\n <Icon\n onClick={() => {\n changeTheme('light');\n onThemeChange?.('light');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('light');\n // }\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n <Icon\n onClick={() => {\n changeTheme('dark');\n onThemeChange?.('dark');\n // if (onThemeChange && typeof onThemeChange === 'function') {\n // onThemeChange('dark');\n // }\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n </div>\n </section>\n </form>\n </Modal>\n );\n}\n"],"names":["EditUserProfileProviderContext","React","createContext","undefined","EditUserProfileProvider","props","children","onEditProfile","onCancel","onThemeChange","value","useMemo","createElement","Provider","useEditUserProfileContext","useContext","EditUserProfile","_store$config","_store$config2","_store$stores","_store$stores$userSto","_store$stores2","_store$stores2$sdkSto","_store$dispatchers","editProfileProps","store","useSendbirdStateContext","hiddenInputRef","useRef","inputRef","formRef","stringSet","LocalizationContext","currentImg","setCurrentImg","useState","newFile","setNewFile","theme","config","changeTheme","setCurrenttheme","noop","user","stores","userStore","sdk","sdkStore","userDispatcher","dispatchers","Modal","titleText","EDIT_PROFILE__TITLE","submitText","BUTTON__SAVE","type","ButtonTypes","PRIMARY","isFullScreenOnMobile","onSubmit","_inputRef$current","nickname","current","reportValidity","updateCurrentUserInfo","profileImage","then","updatedUser","USER_ACTIONS","UPDATE_USER_INFO","payload","className","ref","e","preventDefault","InputLabel","EDIT_PROFILE__IMAGE_LABEL","Avatar","width","height","src","profileUrl","accept","style","display","onChange","URL","createObjectURL","target","files","TextButton","disableUnderline","onClick","click","Label","LabelTypography","BUTTON_1","color","LabelColors","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","Input","required","name","placeHolder","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","disabled","userId","EDIT_PROFILE__THEME_LABEL","Icon","IconTypes","TOGGLE_ON","TOGGLE_OFF"],"mappings":"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"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var index$1 = require('./index-
|
|
4
|
+
var index$1 = require('./index-9dd778ed.js');
|
|
5
5
|
var ui_Icon = require('./ui/Icon.js');
|
|
6
|
-
var ui_Label = require('./index-
|
|
6
|
+
var ui_Label = require('./index-bb91f996.js');
|
|
7
7
|
var ui_Loader = require('./ui/Loader.js');
|
|
8
|
-
var index$2 = require('./index-
|
|
8
|
+
var index$2 = require('./index-551be60f.js');
|
|
9
9
|
var utils_message_getOutgoingMessageState = require('./utils/message/getOutgoingMessageState.js');
|
|
10
|
-
var index = require('./index-
|
|
11
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
10
|
+
var index = require('./index-7ffe6f27.js');
|
|
11
|
+
var LocalizationContext = require('./LocalizationContext-975ffc10.js');
|
|
12
12
|
|
|
13
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
14
|
|
|
15
15
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
16
16
|
|
|
17
|
+
/* eslint-disable default-param-last */
|
|
17
18
|
const getChannelTitle = function () {
|
|
18
19
|
var _channel$members;
|
|
19
20
|
let channel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -145,4 +146,4 @@ exports.getChannelUnreadMessageCount = getChannelUnreadMessageCount;
|
|
|
145
146
|
exports.getLastMessage = getLastMessage;
|
|
146
147
|
exports.getLastMessageCreatedAt = getLastMessageCreatedAt;
|
|
147
148
|
exports.getTotalMembers = getTotalMembers;
|
|
148
|
-
//# sourceMappingURL=index-
|
|
149
|
+
//# sourceMappingURL=index-0d2fba98.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-0d2fba98.js","sources":["../../src/modules/ChannelList/components/ChannelPreview/utils.js","../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncateString } from '../../../../utils';\nimport { LabelStringSet } from '../../../../ui/Label';\n\n/* eslint-disable default-param-last */\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = ({\n channel,\n locale,\n stringSet,\n}) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet?.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n};\n\nexport const getTotalMembers = (channel) => (\n channel?.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncateString(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (channel?.lastMessage ? getPrettyLastMessage(channel?.lastMessage) : '');\n\nexport const getChannelUnreadMessageCount = (channel) => (\n channel?.unreadMessageCount\n ? channel.unreadMessageCount\n : 0\n);\n","import './index.scss';\nimport React from 'react';\nimport format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nimport { isSentStatus } from '../../utils';\nimport {\n getOutgoingMessageState,\n OutgoingMessageStates,\n} from '../../utils/exports/getOutgoingMessageState';\nimport { getLastMessageCreatedAt } from '../../modules/ChannelList/components/ChannelPreview/utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { Nullable } from '../../types';\n\nexport const MessageStatusTypes = OutgoingMessageStates;\n\ninterface MessageStatusProps {\n className?: string;\n message: UserMessage | FileMessage;\n channel: Nullable<GroupChannel>;\n isDateSeparatorConsidered?: boolean;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n isDateSeparatorConsidered = true,\n}: MessageStatusProps): React.ReactElement {\n const { stringSet, dateLocale } = useLocalization();\n const status = getOutgoingMessageState(channel, message);\n const hideMessageStatusIcon = channel?.isGroupChannel?.() && (\n (channel.isSuper || channel.isPublic || channel.isBroadcast)\n && !(status === OutgoingMessageStates.PENDING || status === OutgoingMessageStates.FAILED)\n );\n const iconType = {\n [OutgoingMessageStates.SENT]: IconTypes.DONE,\n [OutgoingMessageStates.DELIVERED]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.READ]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [OutgoingMessageStates.SENT]: IconColors.SENT,\n [OutgoingMessageStates.DELIVERED]: IconColors.SENT,\n [OutgoingMessageStates.READ]: IconColors.READ,\n [OutgoingMessageStates.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === OutgoingMessageStates.PENDING) ? (\n <Loader\n className=\"sendbird-message-status__icon\"\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${hideMessageStatusIcon ? 'hide-icon' : ''} ${status === OutgoingMessageStates.FAILED ? '' : 'sendbird-message-status--sent'\n }`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n isDateSeparatorConsidered\n ? format(message?.createdAt || 0, 'p', { locale: dateLocale })\n : getLastMessageCreatedAt({ channel, locale: dateLocale, stringSet })\n }\n </Label>\n )}\n </div>\n );\n}\n"],"names":["getChannelTitle","_channel$members","channel","arguments","length","undefined","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","NO_MEMBERS","filter","_ref","userId","map","_ref2","nickname","NO_NAME","join","getLastMessageCreatedAt","_ref3","_channel$lastMessage","locale","createdAt","lastMessage","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncateString","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","MessageStatusTypes","OutgoingMessageStates","MessageStatus","_channel$isGroupChann","className","isDateSeparatorConsidered","dateLocale","useLocalization","status","getOutgoingMessageState","hideMessageStatusIcon","isGroupChannel","call","isSuper","isPublic","isBroadcast","PENDING","FAILED","iconType","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","ERROR","iconColor","IconColors","React","createElement","Array","isArray","Loader","width","height","Icon","type","SPINNER","fillColor","PRIMARY","isSentStatus","Label","LabelTypography","CAPTION_3","color","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var index_module = require('./index.module-
|
|
5
|
-
var tokenize = require('./tokenize-
|
|
4
|
+
var index_module = require('./index.module-2d344ee2.js');
|
|
5
|
+
var tokenize = require('./tokenize-10b9c2ca.js');
|
|
6
6
|
var Message_context = require('./Message/context.js');
|
|
7
7
|
var ui_MentionLabel = require('./ui/MentionLabel.js');
|
|
8
8
|
var ui_LinkLabel = require('./ui/LinkLabel.js');
|
|
9
|
-
var ui_Label = require('./index-
|
|
9
|
+
var ui_Label = require('./index-bb91f996.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
12
|
|
|
@@ -54,4 +54,4 @@ function TextFragment(_ref) {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
exports.TextFragment = TextFragment;
|
|
57
|
-
//# sourceMappingURL=index-
|
|
57
|
+
//# sourceMappingURL=index-1a324d07.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-1a324d07.js","sources":["../../src/modules/Message/utils/tokens/keyGenerator.ts","../../src/modules/Message/components/TextFragment/index.tsx"],"sourcesContent":["// this function is used to generate a unique key for token in message\n// it changes with updated time and index\n// messageUpdatedAt is the key part of this key generator\nexport function keyGenerator(\n createdAt: number,\n messageUpdatedAt: number,\n index: number,\n): string {\n return `sb-msg_${createdAt}_${messageUpdatedAt}_${index}`;\n}\n","import React from 'react';\nimport { UserMessage } from '@sendbird/chat/message';\nimport { match } from 'ts-pattern';\n\nimport { TOKEN_TYPES, Token } from '../../utils/tokens/types';\nimport { useMessageContext } from '../../context/MessageProvider';\nimport { keyGenerator } from '../../utils/tokens/keyGenerator';\nimport MentionLabel from '../../../../ui/MentionLabel';\nimport { USER_MENTION_PREFIX } from '../../consts';\nimport LinkLabel from '../../../../ui/LinkLabel';\nimport { LabelTypography } from '../../../../ui/Label';\nimport { getWhiteSpacePreservedText } from '../../utils/tokens/tokenize';\n\nexport type TextFragmentProps = {\n tokens: Token[];\n};\n\nexport default function TextFragment({\n tokens,\n}: TextFragmentProps): React.ReactElement {\n const messageStore = useMessageContext();\n\n const message = messageStore?.message as UserMessage;\n const isByMe = messageStore?.isByMe;\n const { updatedAt, createdAt } = message;\n\n return (\n <>\n {tokens?.map((token, idx) => {\n const key = keyGenerator(createdAt, updatedAt, idx);\n return match(token.type)\n .with(TOKEN_TYPES.mention, () => (\n <span className=\"sendbird-word\" key={key}>\n <MentionLabel\n mentionTemplate={USER_MENTION_PREFIX}\n mentionedUserId={token.userId}\n mentionedUserNickname={token.value}\n isByMe={isByMe}\n />\n </span>\n ))\n .with(TOKEN_TYPES.url, () => (\n <span className=\"sendbird-word\" key={key}>\n <LinkLabel\n className=\"sendbird-word__url\"\n src={token.value}\n type={LabelTypography.BODY_1}\n >\n {token.value}\n </LinkLabel>\n </span>\n ))\n .otherwise(() => <React.Fragment key={key}>{getWhiteSpacePreservedText(token.value)}</React.Fragment>);\n })}\n </>\n );\n}\n"],"names":["keyGenerator","createdAt","messageUpdatedAt","index","TextFragment","_ref","tokens","messageStore","useMessageContext","message","isByMe","updatedAt","React","createElement","Fragment","map","token","idx","key","match","type","with","TOKEN_TYPES","mention","className","MentionLabel","mentionTemplate","USER_MENTION_PREFIX","mentionedUserId","userId","mentionedUserNickname","value","url","LinkLabel","src","LabelTypography","BODY_1","otherwise","getWhiteSpacePreservedText"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACO,SAASA,YAAYA,CAC1BC,SAAiB,EACjBC,gBAAwB,EACxBC,KAAa,EACL;AACR,EAAA,OAAQ,UAASF,SAAU,CAAA,CAAA,EAAGC,gBAAiB,CAAA,CAAA,EAAGC,KAAM,CAAC,CAAA,CAAA;AAC3D;;ACQe,SAASC,YAAYA,CAAAC,IAAA,EAEM;EAAA,IAFL;AACnCC,IAAAA,MAAAA;AACiB,GAAC,GAAAD,IAAA,CAAA;EAClB,MAAME,YAAY,GAAGC,iCAAiB,EAAE,CAAA;EAExC,MAAMC,OAAO,GAAGF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEE,OAAsB,CAAA;EACpD,MAAMC,MAAM,GAAGH,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEG,MAAM,CAAA;EACnC,MAAM;IAAEC,SAAS;AAAEV,IAAAA,SAAAA;AAAU,GAAC,GAAGQ,OAAO,CAAA;EAExC,oBACEG,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,QACGR,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAES,GAAG,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;IAC3B,MAAMC,GAAG,GAAGlB,YAAY,CAACC,SAAS,EAAEU,SAAS,EAAEM,GAAG,CAAC,CAAA;AACnD,IAAA,OAAOE,cAAK,CAACH,KAAK,CAACI,IAAI,CAAC,CACrBC,IAAI,CAACC,oBAAW,CAACC,OAAO,EAAE,mBACzBX,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMW,MAAAA,SAAS,EAAC,eAAe;AAACN,MAAAA,GAAG,EAAEA,GAAAA;AAAI,KAAA,eACvCN,yBAAA,CAAAC,aAAA,CAACY,eAAY,EAAA;AACXC,MAAAA,eAAe,EAAEC,4BAAoB;MACrCC,eAAe,EAAEZ,KAAK,CAACa,MAAO;MAC9BC,qBAAqB,EAAEd,KAAK,CAACe,KAAM;AACnCrB,MAAAA,MAAM,EAAEA,MAAAA;AAAO,KAAA,CACf,CAEL,CAAC,CACDW,IAAI,CAACC,oBAAW,CAACU,GAAG,EAAE,mBACrBpB,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMW,MAAAA,SAAS,EAAC,eAAe;AAACN,MAAAA,GAAG,EAAEA,GAAAA;AAAI,KAAA,eACvCN,yBAAA,CAAAC,aAAA,CAACoB,uBAAS,EAAA;AACRT,MAAAA,SAAS,EAAC,oBAAoB;MAC9BU,GAAG,EAAElB,KAAK,CAACe,KAAM;MACjBX,IAAI,EAAEe,wBAAe,CAACC,MAAAA;AAAO,KAAA,EAE5BpB,KAAK,CAACe,KAAK,CACF,CAEf,CAAC,CACDM,SAAS,CAAC,mBAAMzB,yBAAA,CAAAC,aAAA,CAACD,yBAAK,CAACE,QAAQ,EAAA;AAACI,MAAAA,GAAG,EAAEA,GAAAA;AAAI,KAAA,EAAEoB,mCAA0B,CAACtB,KAAK,CAACe,KAAK,CAAC,CAAkB,CAAC,CAAA;AAC1G,GAAC,CAAC,CACD,CAAA;AAEP;;;;"}
|
|
@@ -5,14 +5,15 @@ var ui_PlaybackTime = require('./ui/PlaybackTime.js');
|
|
|
5
5
|
var ui_ProgressBar = require('./ui/ProgressBar.js');
|
|
6
6
|
var ui_TextButton = require('./ui/TextButton.js');
|
|
7
7
|
var ui_Icon = require('./ui/Icon.js');
|
|
8
|
-
var ui_Label = require('./index-
|
|
9
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
10
|
-
var consts = require('./consts-
|
|
8
|
+
var ui_Label = require('./index-bb91f996.js');
|
|
9
|
+
var LocalizationContext = require('./LocalizationContext-975ffc10.js');
|
|
10
|
+
var consts = require('./consts-9cbf147c.js');
|
|
11
11
|
|
|
12
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
13
|
|
|
14
14
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
15
|
|
|
16
|
+
/* eslint-disable no-redeclare */
|
|
16
17
|
const VoiceMessageInputStatus = {
|
|
17
18
|
READY_TO_RECORD: 'READY_TO_RECORD',
|
|
18
19
|
RECORDING: 'RECORDING',
|
|
@@ -157,4 +158,4 @@ const VoiceMessageInput = _ref => {
|
|
|
157
158
|
|
|
158
159
|
exports.VoiceMessageInput = VoiceMessageInput;
|
|
159
160
|
exports.VoiceMessageInputStatus = VoiceMessageInputStatus;
|
|
160
|
-
//# sourceMappingURL=index-
|
|
161
|
+
//# sourceMappingURL=index-263d9317.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-263d9317.js","sources":["../../src/ui/VoiceMessageInput/types.ts","../../src/ui/VoiceMessageInput/controlerIcons.tsx","../../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["/* eslint-disable no-redeclare */\nexport const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState,\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue;\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_ref","inputState","React","createElement","className","Icon","width","height","type","IconTypes","PLAY","fillColor","IconColors","ON_BACKGROUND_1","VoiceMessageInput","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","lastClickTime","setLastClickTime","useState","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","ProgressBar","disabled","maxSize","currentSize","PlaybackTime","time","labelColor","LabelColors","ONBACKGROUND_4","ONCONTENT_1","TextButton","onClick","disableUnderline","Label","LabelTypography","BUTTON_1","color","PRIMARY","BUTTON__CANCEL","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var ui_ContextMenu = require('./ui/ContextMenu.js');
|
|
5
5
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
6
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
6
|
+
var LocalizationContext = require('./LocalizationContext-975ffc10.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
@@ -194,4 +194,4 @@ exports.isFineDelete = isFineDelete;
|
|
|
194
194
|
exports.isFineEdit = isFineEdit;
|
|
195
195
|
exports.isFineResend = isFineResend;
|
|
196
196
|
exports.showMenuTrigger = showMenuTrigger;
|
|
197
|
-
//# sourceMappingURL=index-
|
|
197
|
+
//# sourceMappingURL=index-334b239a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-334b239a.js","sources":["../../src/utils/openChannelUtils.ts","../../src/ui/OpenChannelMobileMenu/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded',\n};\n\nexport const getSenderFromMessage = (message: UserMessage | FileMessage): User => {\n // @ts-ignore\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: UserMessage | FileMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: UserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message?.messageType === 'user' && message?.message?.length > 0);\n};\n\ninterface isFineResendParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n // @ts-ignore\n && message?.isResendable();\n};\n\ninterface isFineEditParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status) && message?.isUserMessage?.();\n};\n\ninterface isFineDeleteParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface IsFineDownloadParams {\n message: FileMessage | UserMessage;\n status: string;\n}\n\nexport const isFineDownload = ({ message, status }: IsFineDownloadParams): boolean => {\n if (message?.isFileMessage?.() && checkIsSent(status)) {\n return true;\n }\n return false;\n};\n\ninterface showMenuTriggerParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n // @ts-ignore\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n // @ts-ignore\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import './open-channel-mobile-menu.scss';\n\nimport React from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport {\n isFineDelete,\n isFineResend,\n isFineCopy,\n isFineEdit,\n isFineDownload,\n} from '../../utils/openChannelUtils';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\ntype Props = {\n message: UserMessage | FileMessage;\n parentRef: React.RefObject<HTMLDivElement>;\n resendMessage?(): void;\n showRemove?(): void;\n copyToClipboard?(): void;\n showEdit?(): void;\n hideMenu(): void;\n isEphemeral?: boolean;\n};\n\nconst OpenChannelMobileMenu: React.FC<Props> = (props: Props) => {\n const {\n message,\n parentRef,\n resendMessage,\n showEdit,\n showRemove,\n copyToClipboard,\n hideMenu,\n isEphemeral = false,\n } = props;\n const userMessage = message as UserMessage;\n const status = message?.sendingStatus;\n const { stringSet } = useLocalization();\n const userId = useSendbirdStateContext()?.config?.userId;\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-openchannel__mobile-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {\n isFineCopy({ message: userMessage, userId, status }) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__copy\"\n onClick={() => {\n copyToClipboard();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__COPY}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineEdit({ message, userId, status })) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__edit\"\n onClick={() => {\n showEdit();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__EDIT}</>\n </MenuItem>\n )\n }\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__RESEND}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineDelete({ message, userId, status })) && (\n <MenuItem\n onClick={() => {\n showRemove();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__DELETE}</>\n </MenuItem>\n )\n }\n {\n isFineDownload({ message, status }) && (\n <MenuItem\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-openchannel__mobile-menu-hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__SAVE}\n </a>\n </MenuItem>\n )\n }\n </MenuItems>\n )\n }/>\n );\n};\n\nexport default OpenChannelMobileMenu;\n"],"names":["OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","message","sender","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","userId","isFineCopy","_ref","_message$message","messageType","length","isFineResend","_ref2","isResendable","isFineEdit","_ref3","_message$isUserMessag","isUserMessage","call","isFineDelete","_ref4","isFineDownload","_ref5","_message$isFileMessag","isFileMessage","showMenuTrigger","props","OpenChannelMobileMenu","_useSendbirdStateCont","_useSendbirdStateCont2","parentRef","resendMessage","showEdit","showRemove","copyToClipboard","hideMenu","isEphemeral","userMessage","sendingStatus","stringSet","useLocalization","useSendbirdStateContext","config","fileMessage","React","createElement","ContextMenu","isOpen","menuItems","MenuItems","className","parentContainRef","closeDropdown","MenuItem","onClick","Fragment","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","rel","href","url","target","CONTEXT_MENU_DROPDOWN__SAVE"],"mappings":"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"}
|
|
@@ -1,19 +1,45 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var consts = require('./consts-
|
|
4
|
+
var consts = require('./consts-9cbf147c.js');
|
|
5
5
|
|
|
6
|
+
function useDebounce(callback, delay) {
|
|
7
|
+
const timeoutRef = React.useRef(null);
|
|
8
|
+
React.useEffect(() => {
|
|
9
|
+
// Cleanup the timeout on unmount
|
|
10
|
+
return () => {
|
|
11
|
+
if (timeoutRef.current) {
|
|
12
|
+
clearTimeout(timeoutRef.current);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
}, []);
|
|
16
|
+
function debounceFunction() {
|
|
17
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
18
|
+
args[_key] = arguments[_key];
|
|
19
|
+
}
|
|
20
|
+
if (timeoutRef.current) {
|
|
21
|
+
clearTimeout(timeoutRef.current);
|
|
22
|
+
}
|
|
23
|
+
timeoutRef.current = setTimeout(() => {
|
|
24
|
+
callback(...args);
|
|
25
|
+
}, delay);
|
|
26
|
+
}
|
|
27
|
+
return debounceFunction;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const DELAY = 500;
|
|
6
31
|
function calcScrollBottom(scrollHeight, scrollTop) {
|
|
7
32
|
return scrollHeight - scrollTop;
|
|
8
33
|
}
|
|
9
34
|
function useHandleOnScrollCallback(_ref) {
|
|
10
35
|
let {
|
|
11
36
|
hasMore,
|
|
37
|
+
hasNext,
|
|
12
38
|
onScroll,
|
|
13
39
|
scrollRef,
|
|
14
40
|
setShowScrollDownButton
|
|
15
41
|
} = _ref;
|
|
16
|
-
|
|
42
|
+
const scrollCb = React.useCallback(() => {
|
|
17
43
|
const element = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
|
|
18
44
|
if (element == null) {
|
|
19
45
|
return;
|
|
@@ -32,17 +58,21 @@ function useHandleOnScrollCallback(_ref) {
|
|
|
32
58
|
if (typeof setShowScrollDownButton === 'function') {
|
|
33
59
|
setShowScrollDownButton(scrollHeight > scrollTop + clientHeight + 1);
|
|
34
60
|
}
|
|
35
|
-
if (
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
if (scrollTop < consts.SCROLL_BUFFER) {
|
|
61
|
+
if (hasMore && scrollTop < consts.SCROLL_BUFFER) {
|
|
39
62
|
onScroll(() => {
|
|
40
63
|
// sets the scroll position to the bottom of the new messages
|
|
41
64
|
element.scrollTop = element.scrollHeight - scrollBottom;
|
|
42
65
|
});
|
|
43
66
|
}
|
|
67
|
+
if (hasNext) {
|
|
68
|
+
onScroll(() => {
|
|
69
|
+
// sets the scroll position to the top of the new messages
|
|
70
|
+
element.scrollTop = scrollTop - (scrollHeight - element.scrollHeight);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
44
73
|
}, [setShowScrollDownButton, hasMore, onScroll, scrollRef]);
|
|
74
|
+
return useDebounce(scrollCb, DELAY);
|
|
45
75
|
}
|
|
46
76
|
|
|
47
77
|
exports.useHandleOnScrollCallback = useHandleOnScrollCallback;
|
|
48
|
-
//# sourceMappingURL=index-
|
|
78
|
+
//# sourceMappingURL=index-46b412dc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-46b412dc.js","sources":["../../src/hooks/useDebounce.ts","../../src/hooks/useHandleOnScrollCallback/index.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nexport function useDebounce<T extends(...args: any[]) => void>(callback: T, delay: number): T {\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n // Cleanup the timeout on unmount\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n function debounceFunction(...args: Parameters<T>) {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n callback(...args);\n }, delay);\n }\n\n return debounceFunction as T;\n}\n","import React, { useCallback } from 'react';\nimport { SCROLL_BUFFER } from '../../utils/consts';\nimport { useDebounce } from '../useDebounce';\n\nconst DELAY = 500;\n\nexport interface UseHandleOnScrollCallbackProps {\n hasMore: boolean;\n hasNext?: boolean;\n onScroll(callback: () => void): void;\n scrollRef: React.RefObject<HTMLDivElement>;\n setShowScrollDownButton?: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport function calcScrollBottom(scrollHeight: number, scrollTop: number): number {\n return scrollHeight - scrollTop;\n}\n\nexport function useHandleOnScrollCallback({\n hasMore,\n hasNext,\n onScroll,\n scrollRef,\n setShowScrollDownButton,\n}: UseHandleOnScrollCallbackProps): () => void {\n const scrollCb = useCallback(() => {\n const element = scrollRef?.current;\n if (element == null) {\n return;\n }\n\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n } = element;\n // https://sendbird.atlassian.net/browse/SBISSUE-11759\n // the edge case where channel is inside a page that already has scroll\n // scrollintoView will move the whole page, which we dont want\n const scrollBottom = calcScrollBottom(scrollHeight, scrollTop);\n // even if there is more to fetch or not,\n // we still have to show the scroll to bottom button\n if (typeof setShowScrollDownButton === 'function') {\n setShowScrollDownButton(scrollHeight > scrollTop + clientHeight + 1);\n }\n if (hasMore && scrollTop < SCROLL_BUFFER) {\n onScroll(() => {\n // sets the scroll position to the bottom of the new messages\n element.scrollTop = element.scrollHeight - scrollBottom;\n });\n }\n if (hasNext) {\n onScroll(() => {\n // sets the scroll position to the top of the new messages\n element.scrollTop = scrollTop - (scrollHeight - element.scrollHeight);\n });\n }\n }, [\n setShowScrollDownButton,\n hasMore,\n onScroll,\n scrollRef,\n ]);\n\n return useDebounce(scrollCb, DELAY);\n}\n"],"names":["useDebounce","callback","delay","timeoutRef","useRef","useEffect","current","clearTimeout","debounceFunction","_len","arguments","length","args","Array","_key","setTimeout","DELAY","calcScrollBottom","scrollHeight","scrollTop","useHandleOnScrollCallback","_ref","hasMore","hasNext","onScroll","scrollRef","setShowScrollDownButton","scrollCb","useCallback","element","clientHeight","scrollBottom","SCROLL_BUFFER"],"mappings":"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"}
|
|
@@ -5,10 +5,10 @@ var ui_Button = require('./ui/Button.js');
|
|
|
5
5
|
var ui_ContextMenu = require('./ui/ContextMenu.js');
|
|
6
6
|
var ui_Icon = require('./ui/Icon.js');
|
|
7
7
|
var ui_IconButton = require('./ui/IconButton.js');
|
|
8
|
-
var ui_Label = require('./index-
|
|
9
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
10
|
-
var UserProfileContext = require('./UserProfileContext-
|
|
11
|
-
require('./context-
|
|
8
|
+
var ui_Label = require('./index-bb91f996.js');
|
|
9
|
+
var LocalizationContext = require('./LocalizationContext-975ffc10.js');
|
|
10
|
+
var UserProfileContext = require('./UserProfileContext-8b19c6c3.js');
|
|
11
|
+
require('./context-1d31dbec.js');
|
|
12
12
|
var ui_Avatar = require('./ui/Avatar.js');
|
|
13
13
|
require('react-dom');
|
|
14
14
|
var ui_MutedAvatarOverlay = require('./ui/MutedAvatarOverlay.js');
|
|
@@ -16,7 +16,7 @@ var ui_UserProfile = require('./ui/UserProfile.js');
|
|
|
16
16
|
require('@sendbird/chat/openChannel');
|
|
17
17
|
var ui_Modal = require('./ui/Modal.js');
|
|
18
18
|
var ui_UserListItem = require('./ui/UserListItem.js');
|
|
19
|
-
var utils = require('./utils-
|
|
19
|
+
var utils = require('./utils-eadc245c.js');
|
|
20
20
|
var OpenChannelSettings_context = require('./OpenChannelSettings/context.js');
|
|
21
21
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
22
22
|
|
|
@@ -358,4 +358,4 @@ function ParticipantList(_ref) {
|
|
|
358
358
|
|
|
359
359
|
exports.ParticipantList = ParticipantList;
|
|
360
360
|
exports.UserListItem = UserListItem;
|
|
361
|
-
//# sourceMappingURL=index-
|
|
361
|
+
//# sourceMappingURL=index-50655872.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-50655872.js","sources":["../../src/modules/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.tsx","../../src/modules/OpenChannelSettings/components/ParticipantUI/ParticipantItem.tsx","../../src/modules/OpenChannelSettings/components/ParticipantUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport type { Participant, User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { noop } from '../../../../utils/utils';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function ParticipantsModal({\n onCancel,\n}: Props): ReactElement {\n const state = useSendbirdStateContext();\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User> | null>([]);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n const userId = state?.config?.userId;\n const sdk = state?.stores?.sdkStore?.sdk;\n const isOperatorView = channel?.isOperator(userId);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n isFullScreenOnMobile\n onCancel={() => onCancel()}\n onSubmit={noop}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ]);\n });\n }\n }}\n >\n {\n participants.map((p: Participant) => {\n const isOperator = channel?.isOperator(p.userId);\n return (\n <UserListItem\n user={p}\n key={p.userId}\n currentUser={sdk?.currentUser?.userId}\n action={\n (userId !== p.userId && isOperatorView)\n ? ({ actionRef, parentRef }) => (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n if (isOperator) {\n channel?.removeOperators([p.userId]).then(() => {\n closeDropdown();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n closeDropdown();\n });\n }\n }}\n >\n {\n isOperator\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n if (p.isMuted) {\n channel?.unmuteUser(p).then(() => {\n closeDropdown();\n });\n } else {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n });\n }\n }}\n >\n {\n p.isMuted\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNMUTE\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n : null\n }\n />\n );\n })\n }\n </div>\n </Modal>\n </div>\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport type { Participant } from '@sendbird/chat';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport Accordion from '../../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Avatar from '../../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MutedAvatarOverlay from '../../../../ui/Avatar/MutedAvatarOverlay';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n}\ninterface UserListItemProps {\n user: Participant;\n currentUser?: string;\n isOperator?: boolean;\n action?(props: ActionProps): ReactElement;\n}\n\nexport const UserListItem: React.FC<UserListItemProps> = ({\n user,\n currentUser,\n isOperator,\n action,\n}: UserListItemProps) => {\n const avatarRef = useRef(null);\n const actionRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-participants-accordion__member\">\n <div className=\"sendbird-participants-accordion__member-avatar\">\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <>\n <Avatar\n className=\"sendbird-participants-accordion__member-avatar__avatar\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={user.profileUrl}\n width={24}\n height={24}\n />\n {user?.isMuted ? (<MutedAvatarOverlay />) : ''}\n </>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n openLeft\n parentRef={avatarRef}\n // for catching location(x, y) of MenuItems\n parentContainRef={avatarRef}\n // for toggling more options(menus & reactions)\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {\n renderUserProfile\n ? renderUserProfile({\n user: user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n <UserProfile\n disableMessaging\n user={user}\n currentUserId={currentUser}\n onSuccess={closeDropdown}\n />\n )\n }\n </MenuItems>\n )}\n />\n </div>\n <Label\n className=\"sendbird-participants-accordion__member__title\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n stringSet.OPEN_CHANNEL_SETTINGS__MEMBERS__YOU\n )\n }\n </Label>\n { // if there is now nickname, display userId\n !user.nickname && (\n <Label\n className=\"sendbird-participants-accordion__member__title user-id\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {user.userId}\n </Label>\n )\n }\n {\n isOperator && (\n <Label\n className={\n `sendbird-participants-accordion__member__title\n ${user?.userId !== currentUser ? 'operator' : ''}\n ${user?.userId === currentUser ? 'self-operator' : ''}\n `\n }\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR}\n </Label>\n )\n }\n {\n action && (\n <div\n className=\"sendbird-participants-accordion__member__action\"\n ref={actionRef}\n >\n {action({ actionRef })}\n </div>\n )\n }\n </div>\n );\n};\n\nexport interface ParticipantsAccordionProps {\n maxMembers?: number;\n}\n\nexport default function ParticipantsAccordion(props: ParticipantsAccordionProps): ReactElement {\n const maxMembers = props?.maxMembers || SHOWN_MEMBER_MAX;\n const { channel } = useOpenChannelSettingsContext();\n const globalState = useSendbirdStateContext();\n const currentUser = globalState?.config?.userId;\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n <Accordion\n className=\"sendbird-participants-accordion\"\n id=\"participants\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-openchannel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <div className=\"\">\n <div className=\"sendbird-participants-accordion__list\">\n {\n participants.slice(0, maxMembers).map((p) => (\n <UserListItem\n user={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {(participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ) : ''\n }\n </div>\n {\n participants.length >= maxMembers && (\n <div className=\"sendbird-participants-accordion__footer\">\n <Button\n className=\"sendbird-participants-accordion__footer__all-participants\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n </Button>\n {\n showMoreModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowMoreModal(false);\n }}\n />\n )\n }\n </div>\n )\n }\n </div>\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n useCallback,\n} from 'react';\nimport type { Participant, User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport IconButton from '../../../../ui/IconButton';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\n\nimport { UserListItem } from './ParticipantItem';\nimport ParticipantsModal from './ParticipantsModal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface ParticipantListProps {\n isOperatorView?: boolean;\n}\n\nexport default function ParticipantList({\n isOperatorView = false,\n}: ParticipantListProps): ReactElement {\n const globalState = useSendbirdStateContext();\n const currentUserId = globalState?.config?.userId;\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User> | null>(null);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n const [showParticipantsModal, setShowParticipantsModal] = useState<boolean>(false);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({ limit: 10 });\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participants) => {\n setParticipants(participants);\n });\n }, [channel]);\n const refreshList = useCallback(() => {\n if (!channel) {\n setParticipants([]);\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({ limit: 10 });\n participantListQuery.next().then((participants) => {\n setParticipants(participants);\n });\n }, [channel]);\n return (\n <div\n className=\"sendbird-openchannel-settings__participant-list\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ]);\n });\n }\n }}\n >\n <div>\n {\n participants?.map((p: Participant) => {\n const isOperator = channel?.isOperator(p.userId);\n return (\n <UserListItem\n user={p}\n currentUser={currentUserId}\n key={p.userId}\n isOperator={isOperator}\n action={({ actionRef }) => (\n (isOperatorView && currentUserId !== p?.userId)\n ? (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-openchannel-participant-list__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n if (isOperator) {\n channel?.removeOperators([p.userId]).then(() => {\n closeDropdown();\n refreshList();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n closeDropdown();\n refreshList();\n });\n }\n }}\n >\n {\n isOperator\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n if (p.isMuted) {\n channel?.unmuteUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n } else {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n }\n }}\n >\n {\n p.isMuted\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNMUTE\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n : null\n )}\n />\n );\n })\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ) : null\n }\n <div className=\"sendbird-openchannel-participant-list__footer\">\n {\n participantListQuery?.hasNext && (\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowParticipantsModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n </Button>\n )\n }\n </div>\n {\n showParticipantsModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowParticipantsModal(false);\n refreshList();\n }}\n />\n )\n }\n </div>\n </div>\n );\n}\n"],"names":["ParticipantsModal","_ref","_state$config","_state$stores","_state$stores$sdkStor","onCancel","state","useSendbirdStateContext","channel","useOpenChannelSettingsContext","stringSet","useContext","LocalizationContext","participants","setParticipants","useState","participantListQuery","setParticipantListQuery","userId","config","sdk","stores","sdkStore","isOperatorView","isOperator","useEffect","createParticipantListQuery","next","then","participantList","React","createElement","Modal","hideFooter","isFullScreenOnMobile","onSubmit","noop","titleText","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","className","onScroll","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","map","p","_sdk$currentUser","UserListItem","user","key","currentUser","action","_ref2","actionRef","parentRef","ContextMenu","menuTrigger","toggleDropdown","IconButton","width","height","onClick","Icon","type","IconTypes","MORE","fillColor","IconColors","CONTENT_INVERSE","menuItems","closeDropdown","MenuItems","parentContainRef","openLeft","MenuItem","removeOperators","addOperators","OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR","isMuted","unmuteUser","muteUser","OPEN_CHANNEL_SETTING__MODERATION__UNMUTE","OPEN_CHANNEL_SETTING__MODERATION__MUTE","banUser","OPEN_CHANNEL_SETTING__MODERATION__BAN","avatarRef","useRef","disableUserProfile","renderUserProfile","UserProfileContext","Fragment","Avatar","ref","src","profileUrl","MutedAvatarOverlay","style","paddingTop","paddingBottom","currentUserId","close","UserProfile","disableMessaging","onSuccess","Label","LabelTypography","SUBTITLE_2","color","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","OPEN_CHANNEL_SETTINGS__MEMBERS__YOU","CAPTION_3","ONBACKGROUND_2","OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR","ParticipantList","_globalState$config","globalState","showParticipantsModal","setShowParticipantsModal","limit","refreshList","useCallback","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","Button","ButtonTypes","SECONDARY","size","ButtonSizes","SMALL"],"mappings":"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"}
|