@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenchannelThumbnailMessage.js","sources":["../../src/ui/OpenchannelThumbnailMessage/utils.ts","../../src/ui/OpenchannelThumbnailMessage/index.tsx"],"sourcesContent":["export const SUPPORTING_TYPES = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n UNSUPPORTED: 'UNSUPPORTED',\n};\n\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const getSupportingFileType = (type: string): string => {\n if (SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.IMAGE;\n }\n if (SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.VIDEO;\n }\n return SUPPORTING_TYPES.UNSUPPORTED;\n}\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useContext,\n} from 'react';\nimport { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\nimport './index.scss';\nimport { SUPPORTING_TYPES, getSupportingFileType } from './utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport {\n checkIsSent,\n checkIsPending,\n checkIsFailed,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n getSenderFromMessage,\n} from '../../utils/openChannelUtils';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport OpenChannelMobileMenu from '../OpenChannelMobileMenu';\nimport useLongPress from '../../hooks/useLongPress';\n\ninterface LocalUrl {\n localUrl?: string;\n}\ninterface OpenChannelThumbnailMessageProps {\n className?: string | Array<string>;\n message: FileMessage;\n isOperator?: boolean;\n isEphemeral?: boolean;\n disabled: boolean;\n userId: string;\n chainTop: boolean;\n chainBottom: boolean;\n onClick(bool: boolean): void,\n showRemove(bool: boolean): void,\n resendMessage(message: FileMessage): void;\n}\n\nexport default function OpenchannelThumbnailMessage({\n className,\n message,\n isOperator,\n isEphemeral = false,\n disabled,\n userId,\n chainTop,\n onClick,\n showRemove,\n resendMessage,\n}: OpenChannelThumbnailMessageProps): JSX.Element {\n const {\n type,\n url,\n thumbnails,\n localUrl,\n }: FileMessage & LocalUrl = message;\n const status = message?.sendingStatus;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const { stringSet, dateLocale } = useLocalization();\n const { disableUserProfile, renderUserProfile } = useContext<UserProfileContext>(UserProfileContext);\n const [messageWidth, setMessageWidth] = useState(360);\n const [contextMenu, setContextMenu] = useState(false);\n const messageRef = useRef(null);\n const mobileMenuRef = useRef(null);\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n const onLongPress = useLongPress({\n onLongPress: () => { setContextMenu(true); },\n onClick: () => { onClick(true) },\n })\n const { isMobile } = useMediaQueryContext();\n\n const memorizedThumbnailPlaceHolder = useMemo(() => (type) => ({ style }) => ( // eslint-disable-line\n <div style={style}>\n <Icon\n type={type}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n ), []);\n\n const isMessageSent = checkIsSent(status);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n useEffect(() => {\n const thumbnailWidth = messageRef?.current?.clientWidth - 80;\n setMessageWidth(thumbnailWidth > 360 ? 360 : thumbnailWidth);\n }, []);\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-openchannel-thumbnail-message',\n ].join(' ')}\n ref={messageRef}\n >\n <div className=\"sendbird-openchannel-thumbnail-message__left\">\n {\n !chainTop && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-openchannel-thumbnail-message__left__avatar\"\n src={sender.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n <UserProfile\n user={sender}\n onSuccess={closeDropdown}\n disableMessaging\n />\n )\n }\n </MenuItems>\n )}\n />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-thumbnail-message__right\">\n {\n !chainTop && (\n <div className=\"sendbird-openchannel-thumbnail-message__right__title\">\n <Label\n className=\"sendbird-openchannel-thumbnail-message__right__title__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={isOperator ? LabelColors.SECONDARY_3 : LabelColors.ONBACKGROUND_2}\n >\n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n </Label>\n <Label\n className=\"sendbird-openchannel-thumbnail-message__right__title__sent-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_3}\n >\n {\n message?.createdAt && (\n format(message.createdAt, 'p', {\n locale: dateLocale,\n })\n )\n }\n </Label>\n </div>\n )\n }\n <div className=\"sendbird-openchannel-thumbnail-message__right__body\" ref={mobileMenuRef}>\n <div\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap\"\n role=\"button\"\n onClick={() => {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n onKeyDown={() => {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n tabIndex={0}\n {...(isMobile ? { ...onLongPress } : {})}\n >\n <div className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__overlay\" />\n {\n {\n [SUPPORTING_TYPES.VIDEO]: (\n (url || localUrl)\n ? (\n <div className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video\" >\n {\n (thumbnailUrl)\n ? (\n <ImageRenderer\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video\"\n url={thumbnailUrl}\n width={messageWidth}\n height=\"270px\"\n alt=\"image\"\n placeHolder={memorizedThumbnailPlaceHolder(IconTypes.PLAY)}\n />\n )\n : (\n <video className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video__video\">\n <source src={url || localUrl} type={type} />\n </video>\n )\n }\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video__icon\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n )\n : (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video--icon\"\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n )\n ),\n [SUPPORTING_TYPES.IMAGE]: (\n (url || localUrl)\n ? (\n <ImageRenderer\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__image\"\n url={thumbnailUrl || url || localUrl}\n alt=\"image\"\n width={messageWidth}\n height=\"270px\"\n placeHolder={memorizedThumbnailPlaceHolder(IconTypes.PHOTO)}\n />\n )\n : (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__image--icon\"\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n )\n ),\n [SUPPORTING_TYPES.UNSUPPORTED]: (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__unknown\"\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n ),\n }[getSupportingFileType(type)]\n }\n </div>\n </div>\n {\n (isPending || isFailed) && (\n <div className=\"sendbird-openchannel-thumbnail-message__right__tail\">\n {\n isPending && (\n <Loader\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__tail__pending\"\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n )\n }\n {\n isFailed && (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__tail__failed\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ERROR}\n width=\"16px\"\n height=\"16px\"\n />\n )\n }\n </div>\n )\n }\n </div>\n {\n !isMobile && (\n <div\n className=\"sendbird-openchannel-thumbnail-message__context-menu\"\n ref={contextMenuRef}\n >\n {\n (isFineResend({ message, userId, status }) || !isEphemeral) && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n showMenuTrigger({ message, userId, status }) && (\n <IconButton\n className=\"sendbird-openchannel-thumbnail-message__context-menu--icon\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={contextMenuRef}\n parentContainRef={contextMenuRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineDelete({ message, userId, status })) && (\n <MenuItem\n onClick={() => {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n </MenuItem>\n )\n }\n </MenuItems>\n )}\n />\n )\n }\n </div>\n )\n }\n {\n contextMenu && (\n <OpenChannelMobileMenu\n message={message}\n parentRef={mobileMenuRef}\n hideMenu={() => {\n setContextMenu(false);\n }}\n showRemove={() => {\n setContextMenu(false);\n showRemove(true);\n }}\n resendMessage={() => {\n setContextMenu(false);\n resendMessage(message);\n }}\n />\n )\n }\n </div>\n );\n}\n"],"names":["SUPPORTING_TYPES","IMAGE","VIDEO","UNSUPPORTED","SUPPORTED_MIMES","getSupportingFileType","type","indexOf","OpenchannelThumbnailMessage","_ref","className","message","isOperator","isEphemeral","disabled","userId","chainTop","onClick","showRemove","resendMessage","url","thumbnails","localUrl","status","sendingStatus","thumbnailUrl","length","stringSet","dateLocale","useLocalization","disableUserProfile","renderUserProfile","useContext","UserProfileContext","messageWidth","setMessageWidth","useState","contextMenu","setContextMenu","messageRef","useRef","mobileMenuRef","contextMenuRef","avatarRef","onLongPress","useLongPress","isMobile","useMediaQueryContext","memorizedThumbnailPlaceHolder","useMemo","_ref2","style","React","createElement","Icon","fillColor","IconColors","ON_BACKGROUND_2","width","height","isMessageSent","checkIsSent","isPending","checkIsPending","isFailed","checkIsFailed","sender","getSenderFromMessage","useEffect","_messageRef$current","thumbnailWidth","current","clientWidth","Array","isArray","join","ref","ContextMenu","menuTrigger","toggleDropdown","Avatar","src","profileUrl","menuItems","closeDropdown","MenuItems","parentRef","parentContainRef","paddingTop","paddingBottom","user","close","UserProfile","onSuccess","disableMessaging","Label","LabelTypography","CAPTION_2","color","LabelColors","SECONDARY_3","ONBACKGROUND_2","friendName","nickname","CAPTION_3","ONBACKGROUND_3","createdAt","format","locale","_extends","role","onKeyDown","tabIndex","_objectSpread","ImageRenderer","alt","placeHolder","IconTypes","PLAY","PHOTO","Loader","SPINNER","PRIMARY","ERROR","isFineResend","showMenuTrigger","IconButton","MORE","CONTENT_INVERSE","openLeft","MenuItem","CONTEXT_MENU_DROPDOWN__RESEND","isFineDelete","CONTEXT_MENU_DROPDOWN__DELETE","OpenChannelMobileMenu","hideMenu"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenchannelThumbnailMessage.js","sources":["../../src/ui/OpenchannelThumbnailMessage/utils.ts","../../src/ui/OpenchannelThumbnailMessage/index.tsx"],"sourcesContent":["export const SUPPORTING_TYPES = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n UNSUPPORTED: 'UNSUPPORTED',\n};\n\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const getSupportingFileType = (type: string): string => {\n if (SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.IMAGE;\n }\n if (SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.VIDEO;\n }\n return SUPPORTING_TYPES.UNSUPPORTED;\n};\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useContext,\n} from 'react';\nimport { FileMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\nimport './index.scss';\nimport { SUPPORTING_TYPES, getSupportingFileType } from './utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport {\n checkIsSent,\n checkIsPending,\n checkIsFailed,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n getSenderFromMessage,\n} from '../../utils/openChannelUtils';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport OpenChannelMobileMenu from '../OpenChannelMobileMenu';\nimport useLongPress from '../../hooks/useLongPress';\n\ninterface LocalUrl {\n localUrl?: string;\n}\ninterface OpenChannelThumbnailMessageProps {\n className?: string | Array<string>;\n message: FileMessage;\n isOperator?: boolean;\n isEphemeral?: boolean;\n disabled: boolean;\n userId: string;\n chainTop: boolean;\n chainBottom: boolean;\n onClick(bool: boolean): void,\n showRemove(bool: boolean): void,\n resendMessage(message: FileMessage): void;\n}\n\nexport default function OpenchannelThumbnailMessage({\n className,\n message,\n isOperator,\n isEphemeral = false,\n disabled,\n userId,\n chainTop,\n onClick,\n showRemove,\n resendMessage,\n}: OpenChannelThumbnailMessageProps): JSX.Element {\n const {\n type,\n url,\n thumbnails,\n localUrl,\n }: FileMessage & LocalUrl = message;\n const status = message?.sendingStatus;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const { stringSet, dateLocale } = useLocalization();\n const { disableUserProfile, renderUserProfile } = useContext<UserProfileContext>(UserProfileContext);\n const [messageWidth, setMessageWidth] = useState(360);\n const [contextMenu, setContextMenu] = useState(false);\n const messageRef = useRef<HTMLDivElement>(null);\n const mobileMenuRef = useRef(null);\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n const onLongPress = useLongPress({\n onLongPress: () => { setContextMenu(true); },\n onClick: () => { onClick(true); },\n });\n const { isMobile } = useMediaQueryContext();\n\n const memorizedThumbnailPlaceHolder = useMemo(() => (type) => ({ style }) => ( // eslint-disable-line\n <div style={style}>\n <Icon\n type={type}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n ), []);\n\n const isMessageSent = checkIsSent(status);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n useEffect(() => {\n const thumbnailWidth = (messageRef?.current?.clientWidth ?? 0) - 80;\n setMessageWidth(thumbnailWidth > 360 ? 360 : thumbnailWidth);\n }, []);\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-openchannel-thumbnail-message',\n ].join(' ')}\n ref={messageRef}\n >\n <div className=\"sendbird-openchannel-thumbnail-message__left\">\n {\n !chainTop && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-openchannel-thumbnail-message__left__avatar\"\n src={sender.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n <UserProfile\n user={sender}\n onSuccess={closeDropdown}\n disableMessaging\n />\n )\n }\n </MenuItems>\n )}\n />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-thumbnail-message__right\">\n {\n !chainTop && (\n <div className=\"sendbird-openchannel-thumbnail-message__right__title\">\n <Label\n className=\"sendbird-openchannel-thumbnail-message__right__title__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={isOperator ? LabelColors.SECONDARY_3 : LabelColors.ONBACKGROUND_2}\n >\n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n </Label>\n <Label\n className=\"sendbird-openchannel-thumbnail-message__right__title__sent-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_3}\n >\n {\n message?.createdAt && (\n format(message.createdAt, 'p', {\n locale: dateLocale,\n })\n )\n }\n </Label>\n </div>\n )\n }\n <div className=\"sendbird-openchannel-thumbnail-message__right__body\" ref={mobileMenuRef}>\n <div\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap\"\n role=\"button\"\n onClick={() => {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n onKeyDown={() => {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n tabIndex={0}\n {...(isMobile ? { ...onLongPress } : {})}\n >\n <div className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__overlay\" />\n {\n {\n [SUPPORTING_TYPES.VIDEO]: (\n (url || localUrl)\n ? (\n <div className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video\" >\n {\n (thumbnailUrl)\n ? (\n <ImageRenderer\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video\"\n url={thumbnailUrl}\n width={messageWidth}\n height=\"270px\"\n alt=\"image\"\n placeHolder={memorizedThumbnailPlaceHolder(IconTypes.PLAY)}\n />\n )\n : (\n <video className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video__video\">\n <source src={url || localUrl} type={type} />\n </video>\n )\n }\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video__icon\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n </div>\n )\n : (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__video--icon\"\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n )\n ),\n [SUPPORTING_TYPES.IMAGE]: (\n (url || localUrl)\n ? (\n <ImageRenderer\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__image\"\n url={thumbnailUrl || url || localUrl}\n alt=\"image\"\n width={messageWidth}\n height=\"270px\"\n placeHolder={memorizedThumbnailPlaceHolder(IconTypes.PHOTO)}\n />\n )\n : (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__image--icon\"\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n )\n ),\n [SUPPORTING_TYPES.UNSUPPORTED]: (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__body__wrap__unknown\"\n type={IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"56px\"\n height=\"56px\"\n />\n ),\n }[getSupportingFileType(type)]\n }\n </div>\n </div>\n {\n (isPending || isFailed) && (\n <div className=\"sendbird-openchannel-thumbnail-message__right__tail\">\n {\n isPending && (\n <Loader\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__tail__pending\"\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n )\n }\n {\n isFailed && (\n <Icon\n className=\"sendbird-openchannel-thumbnail-message__right__tail__failed\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ERROR}\n width=\"16px\"\n height=\"16px\"\n />\n )\n }\n </div>\n )\n }\n </div>\n {\n !isMobile && (\n <div\n className=\"sendbird-openchannel-thumbnail-message__context-menu\"\n ref={contextMenuRef}\n >\n {\n (isFineResend({ message, userId, status }) || !isEphemeral) && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n showMenuTrigger({ message, userId, status }) && (\n <IconButton\n className=\"sendbird-openchannel-thumbnail-message__context-menu--icon\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={contextMenuRef}\n parentContainRef={contextMenuRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineDelete({ message, userId, status })) && (\n <MenuItem\n onClick={() => {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n </MenuItem>\n )\n }\n </MenuItems>\n )}\n />\n )\n }\n </div>\n )\n }\n {\n contextMenu && (\n <OpenChannelMobileMenu\n message={message}\n parentRef={mobileMenuRef}\n hideMenu={() => {\n setContextMenu(false);\n }}\n showRemove={() => {\n setContextMenu(false);\n showRemove(true);\n }}\n resendMessage={() => {\n setContextMenu(false);\n resendMessage(message);\n }}\n />\n )\n }\n </div>\n );\n}\n"],"names":["SUPPORTING_TYPES","IMAGE","VIDEO","UNSUPPORTED","SUPPORTED_MIMES","getSupportingFileType","type","indexOf","OpenchannelThumbnailMessage","_ref","className","message","isOperator","isEphemeral","disabled","userId","chainTop","onClick","showRemove","resendMessage","url","thumbnails","localUrl","status","sendingStatus","thumbnailUrl","length","stringSet","dateLocale","useLocalization","disableUserProfile","renderUserProfile","useContext","UserProfileContext","messageWidth","setMessageWidth","useState","contextMenu","setContextMenu","messageRef","useRef","mobileMenuRef","contextMenuRef","avatarRef","onLongPress","useLongPress","isMobile","useMediaQueryContext","memorizedThumbnailPlaceHolder","useMemo","_ref2","style","React","createElement","Icon","fillColor","IconColors","ON_BACKGROUND_2","width","height","isMessageSent","checkIsSent","isPending","checkIsPending","isFailed","checkIsFailed","sender","getSenderFromMessage","useEffect","_messageRef$current$c","_messageRef$current","thumbnailWidth","current","clientWidth","Array","isArray","join","ref","ContextMenu","menuTrigger","toggleDropdown","Avatar","src","profileUrl","menuItems","closeDropdown","MenuItems","parentRef","parentContainRef","paddingTop","paddingBottom","user","close","UserProfile","onSuccess","disableMessaging","Label","LabelTypography","CAPTION_2","color","LabelColors","SECONDARY_3","ONBACKGROUND_2","friendName","nickname","CAPTION_3","ONBACKGROUND_3","createdAt","format","locale","_extends","role","onKeyDown","tabIndex","_objectSpread","ImageRenderer","alt","placeHolder","IconTypes","PLAY","PHOTO","Loader","SPINNER","PRIMARY","ERROR","isFineResend","showMenuTrigger","IconButton","MORE","CONTENT_INVERSE","openLeft","MenuItem","CONTEXT_MENU_DROPDOWN__RESEND","isFineDelete","CONTEXT_MENU_DROPDOWN__DELETE","OpenChannelMobileMenu","hideMenu"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,gBAAgB,GAAG;AAC9BC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,WAAW,EAAE,aAAA;AACf,CAAC,CAAA;AAED,MAAMC,eAAe,GAAG;EACtBH,KAAK,EAAE,CACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,CACb;EACDC,KAAK,EAAE,CACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,CAAA;AAEf,CAAC,CAAA;AAEM,MAAMG,qBAAqB,GAAIC,IAAY,IAAa;EAC7D,IAAIF,eAAe,CAACH,KAAK,CAACM,OAAO,CAACD,IAAI,CAAC,IAAI,CAAC,EAAE;IAC5C,OAAON,gBAAgB,CAACC,KAAK,CAAA;AAC/B,GAAA;EACA,IAAIG,eAAe,CAACF,KAAK,CAACK,OAAO,CAACD,IAAI,CAAC,IAAI,CAAC,EAAE;IAC5C,OAAON,gBAAgB,CAACE,KAAK,CAAA;AAC/B,GAAA;EACA,OAAOF,gBAAgB,CAACG,WAAW,CAAA;AACrC,CAAC;;ACsBc,SAASK,2BAA2BA,CAAAC,IAAA,EAWD;EAAA,IAXE;IAClDC,SAAS;IACTC,OAAO;IACPC,UAAU;AACVC,IAAAA,WAAW,GAAG,KAAK;IACnBC,QAAQ;IACRC,MAAM;IACNC,QAAQ;IACRC,OAAO;IACPC,UAAU;AACVC,IAAAA,aAAAA;AACgC,GAAC,GAAAV,IAAA,CAAA;EACjC,MAAM;IACJH,IAAI;IACJc,GAAG;IACHC,UAAU;AACVC,IAAAA,QAAAA;AACsB,GAAC,GAAGX,OAAO,CAAA;EACnC,MAAMY,MAAM,GAAGZ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEa,aAAa,CAAA;AACrC,EAAA,MAAMC,YAAY,GAAIJ,UAAU,IAAIA,UAAU,CAACK,MAAM,GAAG,CAAC,IAAIL,UAAU,CAAC,CAAC,CAAC,CAACD,GAAG,IAAK,IAAI,CAAA;EACvF,MAAM;IAAEO,SAAS;AAAEC,IAAAA,UAAAA;GAAY,GAAGC,eAAe,EAAE,CAAA;EACnD,MAAM;IAAEC,kBAAkB;AAAEC,IAAAA,iBAAAA;AAAkB,GAAC,GAAGC,UAAU,CAAqBC,kBAAkB,CAAC,CAAA;EACpG,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,QAAQ,CAAC,GAAG,CAAC,CAAA;EACrD,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGF,QAAQ,CAAC,KAAK,CAAC,CAAA;AACrD,EAAA,MAAMG,UAAU,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;AAC/C,EAAA,MAAMC,aAAa,GAAGD,MAAM,CAAC,IAAI,CAAC,CAAA;AAClC,EAAA,MAAME,cAAc,GAAGF,MAAM,CAAC,IAAI,CAAC,CAAA;AACnC,EAAA,MAAMG,SAAS,GAAGH,MAAM,CAAC,IAAI,CAAC,CAAA;EAC9B,MAAMI,WAAW,GAAGC,YAAY,CAAC;IAC/BD,WAAW,EAAEA,MAAM;MAAEN,cAAc,CAAC,IAAI,CAAC,CAAA;KAAG;IAC5CrB,OAAO,EAAEA,MAAM;MAAEA,OAAO,CAAC,IAAI,CAAC,CAAA;AAAE,KAAA;AAClC,GAAC,CAAC,CAAA;EACF,MAAM;AAAE6B,IAAAA,QAAAA;GAAU,GAAGC,oBAAoB,EAAE,CAAA;AAE3C,EAAA,MAAMC,6BAA6B,GAAGC,OAAO,CAAC,MAAO3C,IAAI,IAAK4C,KAAA,IAAA;IAAA,IAAC;AAAEC,MAAAA,KAAAA;AAAM,KAAC,GAAAD,KAAA,CAAA;AAAA,IAAA;AAAA;AAAO;AAC7EE,MAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKF,QAAAA,KAAK,EAAEA,KAAAA;AAAM,OAAA,eAChBC,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACHhD,QAAAA,IAAI,EAAEA,IAAK;QACXiD,SAAS,EAAEC,UAAU,CAACC,eAAgB;AACtCC,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,MAAM,EAAC,MAAA;OACP,CAAA,CAAA;AACE,MAAA;GACP,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,MAAMC,aAAa,GAAGC,WAAW,CAACtC,MAAM,CAAC,CAAA;AACzC,EAAA,MAAMuC,SAAS,GAAGC,cAAc,CAACxC,MAAM,CAAC,CAAA;AACxC,EAAA,MAAMyC,QAAQ,GAAGC,aAAa,CAAC1C,MAAM,CAAC,CAAA;AACtC,EAAA,MAAM2C,MAAM,GAAGC,oBAAoB,CAACxD,OAAO,CAAC,CAAA;AAE5CyD,EAAAA,SAAS,CAAC,MAAM;IAAA,IAAAC,qBAAA,EAAAC,mBAAA,CAAA;IACd,MAAMC,cAAc,GAAG,CAAA,CAAAF,qBAAA,GAAC9B,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA+B,mBAAA,GAAV/B,UAAU,CAAEiC,OAAO,MAAA,IAAA,IAAAF,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAA,CAAqBG,WAAW,MAAA,IAAA,IAAAJ,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI,CAAC,IAAI,EAAE,CAAA;IACnElC,eAAe,CAACoC,cAAc,GAAG,GAAG,GAAG,GAAG,GAAGA,cAAc,CAAC,CAAA;GAC7D,EAAE,EAAE,CAAC,CAAA;EAEN,oBACEnB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACE3C,SAAS,EAAE,CACT,IAAIgE,KAAK,CAACC,OAAO,CAACjE,SAAS,CAAC,GAAGA,SAAS,GAAG,CAACA,SAAS,CAAC,CAAC,EACvD,wCAAwC,CACzC,CAACkE,IAAI,CAAC,GAAG,CAAE;AACZC,IAAAA,GAAG,EAAEtC,UAAAA;GAELa,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAC,8CAAA;AAA8C,GAAA,EAEzD,CAACM,QAAQ,iBACPoC,cAAA,CAAAC,aAAA,CAACyB,WAAW,EAAA;AACVC,IAAAA,WAAW,EAAGC,cAAc,iBAC1B5B,cAAA,CAAAC,aAAA,CAAC4B,MAAM,EAAA;AACLvE,MAAAA,SAAS,EAAC,sDAAsD;AAChEwE,MAAAA,GAAG,EAAEhB,MAAM,CAACiB,UAAU,IAAI,EAAG;AAC7BN,MAAAA,GAAG,EAAElC,SAAU;AACfe,MAAAA,KAAK,EAAC,MAAM;AACZC,MAAAA,MAAM,EAAC,MAAM;MACb1C,OAAO,EAAEA,MAAM;QACb,IAAI,CAACa,kBAAkB,EAAE;AACvBkD,UAAAA,cAAc,EAAE,CAAA;AAClB,SAAA;AACF,OAAA;KAEF,CAAA;AACFI,IAAAA,SAAS,EAAGC,aAAa,iBACvBjC,cAAA,CAAAC,aAAA,CAACiC,SAAS,EAAA;AACRC,MAAAA,SAAS,EAAE5C,SAAU;AACrB6C,MAAAA,gBAAgB,EAAE7C,SAAU;AAC5B0C,MAAAA,aAAa,EAAEA,aAAc;AAC7BlC,MAAAA,KAAK,EAAE;AAAEsC,QAAAA,UAAU,EAAE,KAAK;AAAEC,QAAAA,aAAa,EAAE,KAAA;AAAM,OAAA;KAG/C3D,EAAAA,iBAAiB,GAEbA,iBAAiB,CAAC;AAChB4D,MAAAA,IAAI,EAAEzB,MAAM;AACZ0B,MAAAA,KAAK,EAAEP,aAAAA;AACT,KAAC,CAAC,gBAGFjC,cAAA,CAAAC,aAAA,CAACwC,WAAW,EAAA;AACVF,MAAAA,IAAI,EAAEzB,MAAO;AACb4B,MAAAA,SAAS,EAAET,aAAc;MACzBU,gBAAgB,EAAA,IAAA;KAEnB,CAAA,CAAA;AAGP,GAAA,CAEL,CAEC,eACN3C,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAC,+CAAA;AAA+C,GAAA,EAE1D,CAACM,QAAQ,iBACPoC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAC,sDAAA;AAAsD,GAAA,eACnE0C,cAAA,CAAAC,aAAA,CAAC2C,KAAK,EAAA;AACJtF,IAAAA,SAAS,EAAC,mEAAmE;IAC7EJ,IAAI,EAAE2F,eAAe,CAACC,SAAU;IAChCC,KAAK,EAAEvF,UAAU,GAAGwF,WAAW,CAACC,WAAW,GAAGD,WAAW,CAACE,cAAAA;GAGxDpC,EAAAA,MAAM,KACJA,MAAM,CAACqC,UAAU,IACdrC,MAAM,CAACsC,QAAQ,IACftC,MAAM,CAACnD,MAAM,CACjB,CAEG,eACRqC,cAAA,CAAAC,aAAA,CAAC2C,KAAK,EAAA;AACJtF,IAAAA,SAAS,EAAC,+DAA+D;IACzEJ,IAAI,EAAE2F,eAAe,CAACQ,SAAU;IAChCN,KAAK,EAAEC,WAAW,CAACM,cAAAA;AAAe,GAAA,EAGhC,CAAA/F,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEgG,SAAS,KAChBC,MAAM,CAACjG,OAAO,CAACgG,SAAS,EAAE,GAAG,EAAE;AAC7BE,IAAAA,MAAM,EAAEjF,UAAAA;AACV,GAAC,CACF,CAEG,CAEX,eAEHwB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAC,qDAAqD;AAACmE,IAAAA,GAAG,EAAEpC,aAAAA;AAAc,GAAA,eACtFW,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAAyD,QAAA,CAAA;AACEpG,IAAAA,SAAS,EAAC,2DAA2D;AACrEqG,IAAAA,IAAI,EAAC,QAAQ;IACb9F,OAAO,EAAEA,MAAM;AACb,MAAA,IAAI2C,aAAa,EAAE;QACjB3C,OAAO,CAAC,IAAI,CAAC,CAAA;AACf,OAAA;KACA;IACF+F,SAAS,EAAEA,MAAM;AACf,MAAA,IAAIpD,aAAa,EAAE;QACjB3C,OAAO,CAAC,IAAI,CAAC,CAAA;AACf,OAAA;KACA;AACFgG,IAAAA,QAAQ,EAAE,CAAA;GACLnE,EAAAA,QAAQ,GAAAoE,cAAA,CAAQtE,EAAAA,EAAAA,WAAW,CAAK,GAAA,EAAE,CAAA,eAEvCQ,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAC,oEAAA;AAAoE,GAAA,CAAG,EAEpF;IACE,CAACV,gBAAgB,CAACE,KAAK,GACpBkB,GAAG,IAAIE,QAAQ,gBAEZ8B,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,MAAAA,SAAS,EAAC,kEAAA;AAAkE,KAAA,EAE5Ee,YAAY,gBAET2B,cAAA,CAAAC,aAAA,CAAC8D,aAAa,EAAA;AACZzG,MAAAA,SAAS,EAAC,kEAAkE;AAC5EU,MAAAA,GAAG,EAAEK,YAAa;AAClBiC,MAAAA,KAAK,EAAExB,YAAa;AACpByB,MAAAA,MAAM,EAAC,OAAO;AACdyD,MAAAA,GAAG,EAAC,OAAO;AACXC,MAAAA,WAAW,EAAErE,6BAA6B,CAACsE,SAAS,CAACC,IAAI,CAAA;KACzD,CAAA,gBAGFnE,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAO3C,MAAAA,SAAS,EAAC,yEAAA;KACf0C,eAAAA,cAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;MAAQ6B,GAAG,EAAE9D,GAAG,IAAIE,QAAS;AAAChB,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,CAAG,CAE/C,eAEL8C,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACH5C,MAAAA,SAAS,EAAC,wEAAwE;MAClFJ,IAAI,EAAEgH,SAAS,CAACC,IAAK;MACrBhE,SAAS,EAAEC,UAAU,CAACC,eAAgB;AACtCC,MAAAA,KAAK,EAAC,MAAM;AACZC,MAAAA,MAAM,EAAC,MAAA;AAAM,KAAA,CACb,CACE,gBAGNP,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACH5C,MAAAA,SAAS,EAAC,wEAAwE;MAClFJ,IAAI,EAAEgH,SAAS,CAACE,KAAM;MACtBjE,SAAS,EAAEC,UAAU,CAACC,eAAgB;AACtCC,MAAAA,KAAK,EAAC,MAAM;AACZC,MAAAA,MAAM,EAAC,MAAA;KAGd,CAAA;AACD,IAAA,CAAC3D,gBAAgB,CAACC,KAAK,GACpBmB,GAAG,IAAIE,QAAQ,gBAEZ8B,cAAA,CAAAC,aAAA,CAAC8D,aAAa,EAAA;AACZzG,MAAAA,SAAS,EAAC,kEAAkE;AAC5EU,MAAAA,GAAG,EAAEK,YAAY,IAAIL,GAAG,IAAIE,QAAS;AACrC8F,MAAAA,GAAG,EAAC,OAAO;AACX1D,MAAAA,KAAK,EAAExB,YAAa;AACpByB,MAAAA,MAAM,EAAC,OAAO;AACd0D,MAAAA,WAAW,EAAErE,6BAA6B,CAACsE,SAAS,CAACE,KAAK,CAAA;AAAE,KAAA,CAC5D,gBAGFpE,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACH5C,MAAAA,SAAS,EAAC,wEAAwE;MAClFJ,IAAI,EAAEgH,SAAS,CAACE,KAAM;MACtBjE,SAAS,EAAEC,UAAU,CAACC,eAAgB;AACtCC,MAAAA,KAAK,EAAC,MAAM;AACZC,MAAAA,MAAM,EAAC,MAAA;KAGd,CAAA;IACD,CAAC3D,gBAAgB,CAACG,WAAW,gBAC3BiD,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACH5C,MAAAA,SAAS,EAAC,oEAAoE;MAC9EJ,IAAI,EAAEgH,SAAS,CAACE,KAAM;MACtBjE,SAAS,EAAEC,UAAU,CAACC,eAAgB;AACtCC,MAAAA,KAAK,EAAC,MAAM;AACZC,MAAAA,MAAM,EAAC,MAAA;AAAM,KAAA,CAAA;AAGnB,GAAC,CAACtD,qBAAqB,CAACC,IAAI,CAAC,CAAC,CAE5B,CACF,EAEJ,CAACwD,SAAS,IAAIE,QAAQ,kBACpBZ,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAC,qDAAA;AAAqD,GAAA,EAEhEoD,SAAS,iBACPV,cAAA,CAAAC,aAAA,CAACoE,MAAM,EAAA;AACL/D,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAAA,eAEbP,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACH5C,IAAAA,SAAS,EAAC,8DAA8D;IACxEJ,IAAI,EAAEgH,SAAS,CAACI,OAAQ;IACxBnE,SAAS,EAAEC,UAAU,CAACmE,OAAQ;AAC9BjE,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;GACP,CAAA,CAEL,EAGDK,QAAQ,iBACNZ,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACH5C,IAAAA,SAAS,EAAC,6DAA6D;IACvEJ,IAAI,EAAEgH,SAAS,CAACM,KAAM;IACtBrE,SAAS,EAAEC,UAAU,CAACoE,KAAM;AAC5BlE,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;GAEV,CAAA,CAGN,CAEC,EAEJ,CAACb,QAAQ,iBACPM,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE3C,IAAAA,SAAS,EAAC,sDAAsD;AAChEmE,IAAAA,GAAG,EAAEnC,cAAAA;GAGH,EAAA,CAACmF,YAAY,CAAC;IAAElH,OAAO;IAAEI,MAAM;AAAEQ,IAAAA,MAAAA;GAAQ,CAAC,IAAI,CAACV,WAAW,kBACxDuC,cAAA,CAAAC,aAAA,CAACyB,WAAW,EAAA;AACVC,IAAAA,WAAW,EAAGC,cAAc,IAC1B8C,eAAe,CAAC;MAAEnH,OAAO;MAAEI,MAAM;AAAEQ,MAAAA,MAAAA;AAAO,KAAC,CAAC,iBAC1C6B,cAAA,CAAAC,aAAA,CAAC0E,UAAU,EAAA;AACTrH,MAAAA,SAAS,EAAC,4DAA4D;AACtEgD,MAAAA,KAAK,EAAC,MAAM;AACZC,MAAAA,MAAM,EAAC,MAAM;AACb1C,MAAAA,OAAO,EAAE+D,cAAAA;AAAe,KAAA,eAExB5B,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;MACHhD,IAAI,EAAEgH,SAAS,CAACU,IAAK;MACrBzE,SAAS,EAAEC,UAAU,CAACyE,eAAgB;AACtCvE,MAAAA,KAAK,EAAC,MAAM;AACZC,MAAAA,MAAM,EAAC,MAAA;AAAM,KAAA,CACb,CAGN;AACFyB,IAAAA,SAAS,EAAGC,aAAa,iBACvBjC,cAAA,CAAAC,aAAA,CAACiC,SAAS,EAAA;AACRC,MAAAA,SAAS,EAAE7C,cAAe;AAC1B8C,MAAAA,gBAAgB,EAAE9C,cAAe;AACjC2C,MAAAA,aAAa,EAAEA,aAAc;MAC7B6C,QAAQ,EAAA,IAAA;AAAA,KAAA,EAGNL,YAAY,CAAC;MAAElH,OAAO;MAAEI,MAAM;AAAEQ,MAAAA,MAAAA;AAAO,KAAC,CAAC,iBACvC6B,cAAA,CAAAC,aAAA,CAAC8E,QAAQ,EAAA;MACPlH,OAAO,EAAEA,MAAM;QACbE,aAAa,CAACR,OAAO,CAAC,CAAA;AACtB0E,QAAAA,aAAa,EAAE,CAAA;AACjB,OAAA;KAEC1D,EAAAA,SAAS,CAACyG,6BAA6B,CAE3C,EAGA,CAACvH,WAAW,IAAIwH,YAAY,CAAC;MAAE1H,OAAO;MAAEI,MAAM;AAAEQ,MAAAA,MAAAA;AAAO,KAAC,CAAC,iBACxD6B,cAAA,CAAAC,aAAA,CAAC8E,QAAQ,EAAA;MACPlH,OAAO,EAAEA,MAAM;AACb,QAAA,IAAIH,QAAQ,EAAE;AACZ,UAAA,OAAA;AACF,SAAA;QACAI,UAAU,CAAC,IAAI,CAAC,CAAA;AAChBmE,QAAAA,aAAa,EAAE,CAAA;AACjB,OAAA;KAEC1D,EAAAA,SAAS,CAAC2G,6BAA6B,CAE3C,CAAA;GAKV,CAAA,CAGN,EAGDjG,WAAW,iBACTe,cAAA,CAAAC,aAAA,CAACkF,qBAAqB,EAAA;AACpB5H,IAAAA,OAAO,EAAEA,OAAQ;AACjB4E,IAAAA,SAAS,EAAE9C,aAAc;IACzB+F,QAAQ,EAAEA,MAAM;MACdlG,cAAc,CAAC,KAAK,CAAC,CAAA;KACrB;IACFpB,UAAU,EAAEA,MAAM;MAChBoB,cAAc,CAAC,KAAK,CAAC,CAAA;MACrBpB,UAAU,CAAC,IAAI,CAAC,CAAA;KAChB;IACFC,aAAa,EAAEA,MAAM;MACnBmB,cAAc,CAAC,KAAK,CAAC,CAAA;MACrBnB,aAAa,CAACR,OAAO,CAAC,CAAA;AACxB,KAAA;AAAE,GAAA,CAEL,CAEC,CAAA;AAEV;;;;"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { b as _extends, _ as _objectSpread2 } from '../_rollupPluginBabelHelpers-
|
|
1
|
+
import { b as _extends, _ as _objectSpread2 } from '../_rollupPluginBabelHelpers-96062e23.js';
|
|
2
2
|
import React__default, { useContext, useRef, useState, useEffect } from 'react';
|
|
3
|
-
import { f as format } from '../index-
|
|
3
|
+
import { f as format } from '../index-feffd01d.js';
|
|
4
4
|
import Avatar from './Avatar.js';
|
|
5
5
|
import ContextMenu, { MenuItems, MenuItem } from './ContextMenu.js';
|
|
6
6
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
7
7
|
import IconButton from './IconButton.js';
|
|
8
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
8
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-3f4521c1.js';
|
|
9
9
|
import Loader from './Loader.js';
|
|
10
10
|
import UserProfile from './UserProfile.js';
|
|
11
|
-
import { a as UserProfileContext } from '../UserProfileContext-
|
|
12
|
-
import { u as useLocalization } from '../LocalizationContext-
|
|
13
|
-
import { c as copyToClipboard } from '../utils-
|
|
14
|
-
import { u as uuidv4 } from '../uuid-
|
|
15
|
-
import { g as getSenderFromMessage, s as showMenuTrigger, i as isFineCopy, a as isFineEdit, b as isFineResend, c as isFineDelete, O as OpenChannelMobileMenu, d as checkIsPending, e as checkIsFailed } from '../index-
|
|
16
|
-
import { u as useMediaQueryContext } from '../MediaQueryContext-
|
|
17
|
-
import { u as useLongPress } from '../useLongPress-
|
|
18
|
-
import { e as isEditedMessage } from '../index-
|
|
19
|
-
import '../index-
|
|
11
|
+
import { a as UserProfileContext } from '../UserProfileContext-e8124c47.js';
|
|
12
|
+
import { u as useLocalization } from '../LocalizationContext-7ae12588.js';
|
|
13
|
+
import { c as copyToClipboard } from '../utils-f57a5756.js';
|
|
14
|
+
import { u as uuidv4 } from '../uuid-abddae2d.js';
|
|
15
|
+
import { g as getSenderFromMessage, s as showMenuTrigger, i as isFineCopy, a as isFineEdit, b as isFineResend, c as isFineDelete, O as OpenChannelMobileMenu, d as checkIsPending, e as checkIsFailed } from '../index-0533e5e9.js';
|
|
16
|
+
import { u as useMediaQueryContext } from '../MediaQueryContext-05d4db73.js';
|
|
17
|
+
import { u as useLongPress } from '../useLongPress-b678c2b7.js';
|
|
18
|
+
import { e as isEditedMessage } from '../index-5807e969.js';
|
|
19
|
+
import '../index-82009149.js';
|
|
20
20
|
import './ImageRenderer.js';
|
|
21
21
|
import 'prop-types';
|
|
22
22
|
import 'react-dom';
|
|
23
23
|
import './SortByRow.js';
|
|
24
24
|
import '../utils/message/getOutgoingMessageState.js';
|
|
25
|
-
import '../stringSet-
|
|
25
|
+
import '../stringSet-6c589018.js';
|
|
26
26
|
import '../sendbirdSelectors.js';
|
|
27
|
-
import '../topics-
|
|
28
|
-
import '../utils-
|
|
27
|
+
import '../topics-969deff5.js';
|
|
28
|
+
import '../utils-d8dfc953.js';
|
|
29
29
|
import './Button.js';
|
|
30
30
|
import '../useSendbirdStateContext.js';
|
|
31
31
|
import '../withSendbird.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenchannelUserMessage.js","sources":["../../src/ui/OpenchannelUserMessage/index.tsx"],"sourcesContent":["import React, {\n useContext,\n useRef,\n useState,\n ReactElement,\n useEffect,\n} from 'react';\nimport { UserMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { copyToClipboard } from './utils';\nimport uuidv4 from '../../utils/uuid';\nimport {\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n getSenderFromMessage,\n} from '../../utils/openChannelUtils';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport OpenChannelMobileMenu from '../OpenChannelMobileMenu';\nimport useLongPress from '../../hooks/useLongPress';\nimport { isEditedMessage } from '../../utils';\n\ninterface OpenChannelUserMessageProps {\n className?: string | Array<string>;\n message: UserMessage;\n isOperator?: boolean;\n isEphemeral?: boolean;\n userId: string;\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: UserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n}\n\nexport default function OpenchannelUserMessage({\n className,\n message,\n isOperator,\n isEphemeral = false,\n userId,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n chainTop,\n}: OpenChannelUserMessageProps): ReactElement {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n // hooks\n const { stringSet, dateLocale } = useLocalization();\n const { disableUserProfile, renderUserProfile } = useContext<UserProfileContext>(UserProfileContext);\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const contextMenuRef = useRef(null);\n const mobileMenuRef = useRef(null);\n const [contextStyle, setContextStyle] = useState({});\n const [contextMenu, setContextMenu] = useState(false);\n\n // consts\n const status = message?.sendingStatus;\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n // place context menu top depending clientHeight of message component\n useEffect(() => {\n if (messageRef?.current?.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n const onLongPress = useLongPress({\n onLongPress: () => {\n setContextMenu(true);\n },\n });\n\n const { isMobile } = useMediaQueryContext();\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-openchannel-user-message',\n ].join(' ')}\n ref={messageRef}\n >\n <div className=\"sendbird-openchannel-user-message__left\">\n {\n !chainTop && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-openchannel-user-message__left__avatar\"\n src={sender.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n <UserProfile\n user={sender}\n onSuccess={closeDropdown}\n disableMessaging\n />\n )\n }\n </MenuItems>\n )}\n />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-user-message__right\">\n {\n !chainTop && (\n <div className=\"sendbird-openchannel-user-message__right__top\">\n <Label\n className=\"sendbird-openchannel-user-message__right__top__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={isOperator ? LabelColors.SECONDARY_3 : LabelColors.ONBACKGROUND_2}\n >\n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n </Label>\n <Label\n className=\"sendbird-openchannel-user-message__right__top__sent-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_3}\n >\n {\n message?.createdAt && (\n format(message?.createdAt, 'p', {\n locale: dateLocale,\n })\n )\n }\n </Label>\n </div>\n )\n }\n <div\n {...(isMobile ? { ...onLongPress } : {})}\n className=\"sendbird-openchannel-user-message__right__bottom\" ref={mobileMenuRef}>\n <Label\n className=\"sendbird-openchannel-user-message__right__bottom__message\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {message?.message}\n {isEditedMessage(message) && (\n <Label\n key={uuidv4()}\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n calssName=\"sendbird-openchannel-user-message-word\"\n >\n {` ${stringSet.MESSAGE_EDITED} `}\n </Label>\n )}\n </Label>\n </div>\n {\n (isPending || isFailed) && (\n <div className=\"sendbird-openchannel-user-message__right__tail\">\n {\n isPending && (\n <Loader\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n className=\"sendbird-openchannel-user-message__right__tail__pending\"\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n )\n }\n {\n isFailed && (\n <Icon\n className=\"sendbird-openchannel-user-message__right__tail__failed\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ERROR}\n width=\"16px\"\n height=\"16px\"\n />\n )\n }\n </div>\n )\n }\n </div>\n {\n !isMobile && (\n <div\n className=\"sendbird-openchannel-user-message__context-menu\"\n ref={contextMenuRef}\n style={contextStyle}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n showMenuTrigger({ message: message, userId: userId, status: status }) && (\n <IconButton\n className=\"sendbird-openchannel-user-message__context-menu--icon\"\n width=\"32px\"\n height=\"32px\"\n onClick={() => {\n toggleDropdown();\n }}\n >\n <Icon\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={contextMenuRef}\n parentContainRef={contextMenuRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n {\n isFineCopy({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__copy\"\n onClick={() => {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineEdit({ message: message, userId: userId, status: status })) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__edit\"\n onClick={() => {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n </MenuItem>\n )\n }\n {\n isFineResend({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__resend\"\n onClick={() => {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineDelete({ message: message, userId: userId, status: status })) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__delete\"\n onClick={() => {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n </MenuItem>\n )\n }\n </MenuItems>\n )}\n />\n </div>\n\n )\n }\n {\n contextMenu && (\n <OpenChannelMobileMenu\n message={message}\n parentRef={mobileMenuRef}\n hideMenu={() => {\n setContextMenu(false);\n }}\n showRemove={() => {\n setContextMenu(false);\n showRemove(true);\n }}\n showEdit={() => {\n setContextMenu(false);\n showEdit(true);\n }}\n copyToClipboard={() => {\n setContextMenu(false);\n copyToClipboard(message?.message);\n }}\n resendMessage={() => {\n setContextMenu(false);\n resendMessage(message);\n }}\n />\n )\n }\n </div>\n );\n}\n"],"names":["OpenchannelUserMessage","_ref","className","message","isOperator","isEphemeral","userId","resendMessage","disabled","showEdit","showRemove","chainTop","messageType","stringSet","dateLocale","useLocalization","disableUserProfile","renderUserProfile","useContext","UserProfileContext","messageRef","useRef","avatarRef","contextMenuRef","mobileMenuRef","contextStyle","setContextStyle","useState","contextMenu","setContextMenu","status","sendingStatus","isPending","checkIsPending","isFailed","checkIsFailed","sender","getSenderFromMessage","useEffect","_messageRef$current","current","clientHeight","top","window","innerWidth","onLongPress","useLongPress","isMobile","useMediaQueryContext","React","createElement","Array","isArray","join","ref","ContextMenu","menuTrigger","toggleDropdown","Avatar","src","profileUrl","width","height","onClick","menuItems","closeDropdown","MenuItems","parentRef","parentContainRef","style","paddingTop","paddingBottom","user","close","UserProfile","onSuccess","disableMessaging","Label","type","LabelTypography","CAPTION_2","color","LabelColors","SECONDARY_3","ONBACKGROUND_2","friendName","nickname","CAPTION_3","ONBACKGROUND_3","createdAt","format","locale","_extends","_objectSpread","BODY_1","ONBACKGROUND_1","isEditedMessage","key","uuidv4","calssName","MESSAGE_EDITED","Loader","Icon","IconTypes","SPINNER","fillColor","IconColors","PRIMARY","ERROR","showMenuTrigger","IconButton","MORE","CONTENT_INVERSE","openLeft","isFineCopy","MenuItem","copyToClipboard","CONTEXT_MENU_DROPDOWN__COPY","isFineEdit","CONTEXT_MENU_DROPDOWN__EDIT","isFineResend","CONTEXT_MENU_DROPDOWN__RESEND","isFineDelete","CONTEXT_MENU_DROPDOWN__DELETE","OpenChannelMobileMenu","hideMenu"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenchannelUserMessage.js","sources":["../../src/ui/OpenchannelUserMessage/index.tsx"],"sourcesContent":["import React, {\n useContext,\n useRef,\n useState,\n ReactElement,\n useEffect,\n} from 'react';\nimport { UserMessage } from '@sendbird/chat/message';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { copyToClipboard } from './utils';\nimport uuidv4 from '../../utils/uuid';\nimport {\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n getSenderFromMessage,\n} from '../../utils/openChannelUtils';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport OpenChannelMobileMenu from '../OpenChannelMobileMenu';\nimport useLongPress from '../../hooks/useLongPress';\nimport { isEditedMessage } from '../../utils';\n\ninterface OpenChannelUserMessageProps {\n className?: string | Array<string>;\n message: UserMessage;\n isOperator?: boolean;\n isEphemeral?: boolean;\n userId: string;\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: UserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n}\n\nexport default function OpenchannelUserMessage({\n className,\n message,\n isOperator,\n isEphemeral = false,\n userId,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n chainTop,\n}: OpenChannelUserMessageProps): ReactElement {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n // hooks\n const { stringSet, dateLocale } = useLocalization();\n const { disableUserProfile, renderUserProfile } = useContext<UserProfileContext>(UserProfileContext);\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const contextMenuRef = useRef(null);\n const mobileMenuRef = useRef(null);\n const [contextStyle, setContextStyle] = useState({});\n const [contextMenu, setContextMenu] = useState(false);\n\n // consts\n const status = message?.sendingStatus;\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n // place context menu top depending clientHeight of message component\n useEffect(() => {\n if (messageRef?.current?.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n const onLongPress = useLongPress({\n onLongPress: () => {\n setContextMenu(true);\n },\n });\n\n const { isMobile } = useMediaQueryContext();\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-openchannel-user-message',\n ].join(' ')}\n ref={messageRef}\n >\n <div className=\"sendbird-openchannel-user-message__left\">\n {\n !chainTop && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-openchannel-user-message__left__avatar\"\n src={sender.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n <UserProfile\n user={sender}\n onSuccess={closeDropdown}\n disableMessaging\n />\n )\n }\n </MenuItems>\n )}\n />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-user-message__right\">\n {\n !chainTop && (\n <div className=\"sendbird-openchannel-user-message__right__top\">\n <Label\n className=\"sendbird-openchannel-user-message__right__top__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={isOperator ? LabelColors.SECONDARY_3 : LabelColors.ONBACKGROUND_2}\n >\n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n </Label>\n <Label\n className=\"sendbird-openchannel-user-message__right__top__sent-at\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_3}\n >\n {\n message?.createdAt && (\n format(message?.createdAt, 'p', {\n locale: dateLocale,\n })\n )\n }\n </Label>\n </div>\n )\n }\n <div\n {...(isMobile ? { ...onLongPress } : {})}\n className=\"sendbird-openchannel-user-message__right__bottom\" ref={mobileMenuRef}>\n <Label\n className=\"sendbird-openchannel-user-message__right__bottom__message\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {message?.message}\n {isEditedMessage(message) && (\n <Label\n key={uuidv4()}\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n calssName=\"sendbird-openchannel-user-message-word\"\n >\n {` ${stringSet.MESSAGE_EDITED} `}\n </Label>\n )}\n </Label>\n </div>\n {\n (isPending || isFailed) && (\n <div className=\"sendbird-openchannel-user-message__right__tail\">\n {\n isPending && (\n <Loader\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n className=\"sendbird-openchannel-user-message__right__tail__pending\"\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n )\n }\n {\n isFailed && (\n <Icon\n className=\"sendbird-openchannel-user-message__right__tail__failed\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ERROR}\n width=\"16px\"\n height=\"16px\"\n />\n )\n }\n </div>\n )\n }\n </div>\n {\n !isMobile && (\n <div\n className=\"sendbird-openchannel-user-message__context-menu\"\n ref={contextMenuRef}\n style={contextStyle}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n showMenuTrigger({ message: message, userId: userId, status: status }) && (\n <IconButton\n className=\"sendbird-openchannel-user-message__context-menu--icon\"\n width=\"32px\"\n height=\"32px\"\n onClick={() => {\n toggleDropdown();\n }}\n >\n <Icon\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={contextMenuRef}\n parentContainRef={contextMenuRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n {\n isFineCopy({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__copy\"\n onClick={() => {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineEdit({ message: message, userId: userId, status: status })) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__edit\"\n onClick={() => {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n </MenuItem>\n )\n }\n {\n isFineResend({ message: message, userId: userId, status: status }) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__resend\"\n onClick={() => {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineDelete({ message: message, userId: userId, status: status })) && (\n <MenuItem\n className=\"sendbird-openchannel-user-message__context-menu__delete\"\n onClick={() => {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n </MenuItem>\n )\n }\n </MenuItems>\n )}\n />\n </div>\n\n )\n }\n {\n contextMenu && (\n <OpenChannelMobileMenu\n message={message}\n parentRef={mobileMenuRef}\n hideMenu={() => {\n setContextMenu(false);\n }}\n showRemove={() => {\n setContextMenu(false);\n showRemove(true);\n }}\n showEdit={() => {\n setContextMenu(false);\n showEdit(true);\n }}\n copyToClipboard={() => {\n setContextMenu(false);\n copyToClipboard(message?.message);\n }}\n resendMessage={() => {\n setContextMenu(false);\n resendMessage(message);\n }}\n />\n )\n }\n </div>\n );\n}\n"],"names":["OpenchannelUserMessage","_ref","className","message","isOperator","isEphemeral","userId","resendMessage","disabled","showEdit","showRemove","chainTop","messageType","stringSet","dateLocale","useLocalization","disableUserProfile","renderUserProfile","useContext","UserProfileContext","messageRef","useRef","avatarRef","contextMenuRef","mobileMenuRef","contextStyle","setContextStyle","useState","contextMenu","setContextMenu","status","sendingStatus","isPending","checkIsPending","isFailed","checkIsFailed","sender","getSenderFromMessage","useEffect","_messageRef$current","current","clientHeight","top","window","innerWidth","onLongPress","useLongPress","isMobile","useMediaQueryContext","React","createElement","Array","isArray","join","ref","ContextMenu","menuTrigger","toggleDropdown","Avatar","src","profileUrl","width","height","onClick","menuItems","closeDropdown","MenuItems","parentRef","parentContainRef","style","paddingTop","paddingBottom","user","close","UserProfile","onSuccess","disableMessaging","Label","type","LabelTypography","CAPTION_2","color","LabelColors","SECONDARY_3","ONBACKGROUND_2","friendName","nickname","CAPTION_3","ONBACKGROUND_3","createdAt","format","locale","_extends","_objectSpread","BODY_1","ONBACKGROUND_1","isEditedMessage","key","uuidv4","calssName","MESSAGE_EDITED","Loader","Icon","IconTypes","SPINNER","fillColor","IconColors","PRIMARY","ERROR","showMenuTrigger","IconButton","MORE","CONTENT_INVERSE","openLeft","isFineCopy","MenuItem","copyToClipboard","CONTEXT_MENU_DROPDOWN__COPY","isFineEdit","CONTEXT_MENU_DROPDOWN__EDIT","isFineResend","CONTEXT_MENU_DROPDOWN__RESEND","isFineDelete","CONTEXT_MENU_DROPDOWN__DELETE","OpenChannelMobileMenu","hideMenu"],"mappings":"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"}
|
package/ui/PlaceHolder.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
-
export { a as PlaceHolderTypes, P as default } from '../index-
|
|
3
|
-
import '../LocalizationContext-
|
|
2
|
+
export { a as PlaceHolderTypes, P as default } from '../index-8abe5fb2.js';
|
|
3
|
+
import '../LocalizationContext-7ae12588.js';
|
|
4
4
|
import './Icon.js';
|
|
5
|
-
import '../index-
|
|
5
|
+
import '../index-3f4521c1.js';
|
|
6
6
|
import './Loader.js';
|
|
7
|
-
import '../stringSet-
|
|
8
|
-
import '../index-
|
|
7
|
+
import '../stringSet-6c589018.js';
|
|
8
|
+
import '../index-82009149.js';
|
|
9
9
|
import 'prop-types';
|
|
10
10
|
//# sourceMappingURL=PlaceHolder.js.map
|
package/ui/PlaybackTime.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
|
-
import { a as LabelTypography, b as LabelColors, L as Label } from '../index-
|
|
2
|
+
import { a as LabelTypography, b as LabelColors, L as Label } from '../index-3f4521c1.js';
|
|
3
3
|
import 'prop-types';
|
|
4
|
-
import '../stringSet-
|
|
4
|
+
import '../stringSet-6c589018.js';
|
|
5
5
|
|
|
6
6
|
const PlaybackTime = _ref => {
|
|
7
7
|
let {
|
package/ui/PlaybackTime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaybackTime.js","sources":["../../src/ui/PlaybackTime/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport interface PlaybackTimeProps {\n className?: string;\n time: number;// millisec\n labelType?: string;\n labelColor?: string;\n}\n\nexport const PlaybackTime = ({\n className,\n time = 0,\n labelType = LabelTypography.CAPTION_2,\n labelColor = LabelColors.ONCONTENT_1,\n}: PlaybackTimeProps): React.ReactElement => {\n const naturalTime = time < 0 ? 0 : time;\n\n const hour = Math.floor(naturalTime / 3600000);\n const min = Math.floor(naturalTime % 3600000 / 60000);\n const sec = Math.floor((naturalTime % 3600000 % 60000) / 1000);\n return (\n <div className={`sendbird-ui-play-time ${className}`}>\n <Label\n type={labelType}\n color={labelColor}\n >\n {`${hour ? hour + ':' : ''}${min < 10 ? '0' : ''}${min ? min : '0'}:${sec < 10 ? '0' : ''}${sec}`}\n </Label>\n </div>\n );\n};\n\nexport default PlaybackTime;\n"],"names":["PlaybackTime","_ref","className","time","labelType","LabelTypography","CAPTION_2","labelColor","LabelColors","ONCONTENT_1","naturalTime","hour","Math","floor","min","sec","React","createElement","Label","type","color"],"mappings":";;;;;AAWaA,MAAAA,YAAY,GAAGC,IAAA,IAKiB;EAAA,IALhB;IAC3BC,SAAS;AACTC,IAAAA,IAAI,GAAG,CAAC;IACRC,SAAS,GAAGC,eAAe,CAACC,SAAS;IACrCC,UAAU,GAAGC,WAAW,CAACC,WAAAA;AACR,GAAC,GAAAR,IAAA,CAAA;EAClB,MAAMS,WAAW,GAAGP,IAAI,GAAG,CAAC,GAAG,CAAC,GAAGA,IAAI,CAAA;EAEvC,MAAMQ,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACH,WAAW,GAAG,OAAO,CAAC,CAAA;EAC9C,MAAMI,GAAG,GAAGF,IAAI,CAACC,KAAK,CAACH,WAAW,GAAG,OAAO,GAAG,KAAK,CAAC,CAAA;AACrD,EAAA,MAAMK,GAAG,GAAGH,IAAI,CAACC,KAAK,CAAEH,WAAW,GAAG,OAAO,GAAG,KAAK,GAAI,IAAI,CAAC,CAAA;EAC9D,oBACEM,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKf,SAAS,EAAG,yBAAwBA,SAAU,CAAA,CAAA;AAAE,GAAA,eACnDc,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAA;AACJC,IAAAA,IAAI,EAAEf,SAAU;AAChBgB,IAAAA,KAAK,EAAEb,UAAAA;AAAW,GAAA,EAEhB,CAAEI,EAAAA,IAAI,GAAGA,IAAI,GAAG,GAAG,GAAG,EAAG,CAAA,EAAEG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAG,CAAA,EAAEA,GAAG,GAAGA,GAAG,GAAG,GAAI,CAAA,CAAA,EAAGC,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAG,CAAA,EAAEA,GAAI,CAAA,CAC3F,CACJ,
|
|
1
|
+
{"version":3,"file":"PlaybackTime.js","sources":["../../src/ui/PlaybackTime/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport interface PlaybackTimeProps {\n className?: string;\n time: number;// millisec\n labelType?: string;\n labelColor?: string;\n}\n\nexport const PlaybackTime = ({\n className,\n time = 0,\n labelType = LabelTypography.CAPTION_2,\n labelColor = LabelColors.ONCONTENT_1,\n}: PlaybackTimeProps): React.ReactElement => {\n const naturalTime = time < 0 ? 0 : time;\n\n const hour = Math.floor(naturalTime / 3600000);\n const min = Math.floor(naturalTime % 3600000 / 60000);\n const sec = Math.floor((naturalTime % 3600000 % 60000) / 1000);\n return (\n <div className={`sendbird-ui-play-time ${className}`}>\n <Label\n type={labelType}\n color={labelColor}\n >\n {`${hour ? hour + ':' : ''}${min < 10 ? '0' : ''}${min ? min : '0'}:${sec < 10 ? '0' : ''}${sec}`}\n </Label>\n </div>\n );\n};\n\nexport default PlaybackTime;\n"],"names":["PlaybackTime","_ref","className","time","labelType","LabelTypography","CAPTION_2","labelColor","LabelColors","ONCONTENT_1","naturalTime","hour","Math","floor","min","sec","React","createElement","Label","type","color"],"mappings":";;;;;AAWaA,MAAAA,YAAY,GAAGC,IAAA,IAKiB;EAAA,IALhB;IAC3BC,SAAS;AACTC,IAAAA,IAAI,GAAG,CAAC;IACRC,SAAS,GAAGC,eAAe,CAACC,SAAS;IACrCC,UAAU,GAAGC,WAAW,CAACC,WAAAA;AACR,GAAC,GAAAR,IAAA,CAAA;EAClB,MAAMS,WAAW,GAAGP,IAAI,GAAG,CAAC,GAAG,CAAC,GAAGA,IAAI,CAAA;EAEvC,MAAMQ,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACH,WAAW,GAAG,OAAO,CAAC,CAAA;EAC9C,MAAMI,GAAG,GAAGF,IAAI,CAACC,KAAK,CAACH,WAAW,GAAG,OAAO,GAAG,KAAK,CAAC,CAAA;AACrD,EAAA,MAAMK,GAAG,GAAGH,IAAI,CAACC,KAAK,CAAEH,WAAW,GAAG,OAAO,GAAG,KAAK,GAAI,IAAI,CAAC,CAAA;EAC9D,oBACEM,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKf,SAAS,EAAG,yBAAwBA,SAAU,CAAA,CAAA;AAAE,GAAA,eACnDc,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAA;AACJC,IAAAA,IAAI,EAAEf,SAAU;AAChBgB,IAAAA,KAAK,EAAEb,UAAAA;AAAW,GAAA,EAEhB,CAAEI,EAAAA,IAAI,GAAGA,IAAI,GAAG,GAAG,GAAG,EAAG,CAAA,EAAEG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAG,CAAA,EAAEA,GAAG,GAAGA,GAAG,GAAG,GAAI,CAAA,CAAA,EAAGC,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAG,CAAA,EAAEA,GAAI,CAAA,CAAC,CAC3F,CACJ,CAAA;AAEV;;;;"}
|
package/ui/ProgressBar.js
CHANGED
package/ui/ProgressBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.js","sources":["../../src/ui/ProgressBar/index.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport './index.scss';\n\nexport const ProgressBarColorTypes = {\n PRIMARY: 'progress-bar-color--primary',\n GRAY: 'progress-bar-color--gray',\n} as const;\nexport type ProgressBarColorTypes = typeof ProgressBarColorTypes[keyof typeof ProgressBarColorTypes];\n\nexport interface ProgressBarProps {\n className?: string;\n disabled?: boolean;\n maxSize: number;\n currentSize: number;\n colorType?: ProgressBarColorTypes;\n}\n\nexport const ProgressBar = ({\n className = '',\n disabled = false,\n maxSize,\n currentSize = 0,\n colorType = ProgressBarColorTypes.PRIMARY,\n}: ProgressBarProps): React.ReactElement => {\n const width = useMemo(() => {\n return `${currentSize / maxSize * 100}%`;\n }, [currentSize, maxSize]);\n return (\n <div className={`sendbird-progress-bar ${className} ${colorType} ${disabled ? 'progress-bar--disabled' : ''}`}>\n <div className=\"sendbird-progress-bar__fill\" style={{ width }} />\n </div>\n );\n};\n\nexport default ProgressBar;\n"],"names":["ProgressBarColorTypes","PRIMARY","GRAY","ProgressBar","_ref","className","disabled","maxSize","currentSize","colorType","width","useMemo","React","createElement","style"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ProgressBar.js","sources":["../../src/ui/ProgressBar/index.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport './index.scss';\n\n/* eslint-disable no-redeclare */\nexport const ProgressBarColorTypes = {\n PRIMARY: 'progress-bar-color--primary',\n GRAY: 'progress-bar-color--gray',\n} as const;\nexport type ProgressBarColorTypes = typeof ProgressBarColorTypes[keyof typeof ProgressBarColorTypes];\n\nexport interface ProgressBarProps {\n className?: string;\n disabled?: boolean;\n maxSize: number;\n currentSize: number;\n colorType?: ProgressBarColorTypes;\n}\n\nexport const ProgressBar = ({\n className = '',\n disabled = false,\n maxSize,\n currentSize = 0,\n colorType = ProgressBarColorTypes.PRIMARY,\n}: ProgressBarProps): React.ReactElement => {\n const width = useMemo(() => {\n return `${currentSize / maxSize * 100}%`;\n }, [currentSize, maxSize]);\n return (\n <div className={`sendbird-progress-bar ${className} ${colorType} ${disabled ? 'progress-bar--disabled' : ''}`}>\n <div className=\"sendbird-progress-bar__fill\" style={{ width }} />\n </div>\n );\n};\n\nexport default ProgressBar;\n"],"names":["ProgressBarColorTypes","PRIMARY","GRAY","ProgressBar","_ref","className","disabled","maxSize","currentSize","colorType","width","useMemo","React","createElement","style"],"mappings":";;AAGA;AACO,MAAMA,qBAAqB,GAAG;AACnCC,EAAAA,OAAO,EAAE,6BAA6B;AACtCC,EAAAA,IAAI,EAAE,0BAAA;AACR,EAAU;AAWGC,MAAAA,WAAW,GAAGC,IAAA,IAMiB;EAAA,IANhB;AAC1BC,IAAAA,SAAS,GAAG,EAAE;AACdC,IAAAA,QAAQ,GAAG,KAAK;IAChBC,OAAO;AACPC,IAAAA,WAAW,GAAG,CAAC;IACfC,SAAS,GAAGT,qBAAqB,CAACC,OAAAA;AAClB,GAAC,GAAAG,IAAA,CAAA;AACjB,EAAA,MAAMM,KAAK,GAAGC,OAAO,CAAC,MAAM;AAC1B,IAAA,OAAQ,GAAEH,WAAW,GAAGD,OAAO,GAAG,GAAI,CAAE,CAAA,CAAA,CAAA;AAC1C,GAAC,EAAE,CAACC,WAAW,EAAED,OAAO,CAAC,CAAC,CAAA;EAC1B,oBACEK,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKR,SAAS,EAAG,CAAwBA,sBAAAA,EAAAA,SAAU,CAAGI,CAAAA,EAAAA,SAAU,IAAGH,QAAQ,GAAG,wBAAwB,GAAG,EAAG,CAAA,CAAA;GAC1GM,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKR,IAAAA,SAAS,EAAC,6BAA6B;AAACS,IAAAA,KAAK,EAAE;AAAEJ,MAAAA,KAAAA;AAAM,KAAA;AAAE,GAAA,CAAG,CAC7D,CAAA;AAEV;;;;"}
|
package/ui/QuoteMessage.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React__default, { useContext, useState } from 'react';
|
|
2
2
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
3
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
3
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-3f4521c1.js';
|
|
4
4
|
import ImageRenderer from './ImageRenderer.js';
|
|
5
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
6
|
-
import { L as getUIKitFileTypes, j as getClassName, r as isUserMessage, d as isVoiceMessage, n as isThumbnailMessage, E as isVideo, M as isGif, s as getUIKitMessageType, U as UIKitMessageTypes, K as getUIKitFileType, t as truncateString } from '../index-
|
|
5
|
+
import { a as LocalizationContext } from '../LocalizationContext-7ae12588.js';
|
|
6
|
+
import { L as getUIKitFileTypes, j as getClassName, r as isUserMessage, d as isVoiceMessage, n as isThumbnailMessage, E as isVideo, M as isGif, s as getUIKitMessageType, U as UIKitMessageTypes, K as getUIKitFileType, t as truncateString } from '../index-5807e969.js';
|
|
7
7
|
import 'prop-types';
|
|
8
|
-
import '../stringSet-
|
|
9
|
-
import '../index-
|
|
10
|
-
import '../_rollupPluginBabelHelpers-
|
|
8
|
+
import '../stringSet-6c589018.js';
|
|
9
|
+
import '../index-82009149.js';
|
|
10
|
+
import '../_rollupPluginBabelHelpers-96062e23.js';
|
|
11
11
|
import '../utils/message/getOutgoingMessageState.js';
|
|
12
12
|
|
|
13
13
|
function QuoteMessage(_ref) {
|
package/ui/QuoteMessage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuoteMessage.js","sources":["../../src/ui/QuoteMessage/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useState } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ImageRenderer from '../ImageRenderer';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport {\n getClassName,\n getUIKitFileType,\n getUIKitFileTypes,\n getUIKitMessageType,\n isGif,\n isThumbnailMessage,\n isUserMessage,\n isVideo,\n isVoiceMessage,\n truncateString,\n UIKitMessageTypes,\n} from '../../utils';\n\ninterface Props {\n className?: string | Array<string>;\n message?: UserMessage | FileMessage;\n userId?: string;\n isByMe?: boolean;\n isUnavailable?: boolean;\n onClick?: () => void;\n}\n\nexport default function QuoteMessage({\n message,\n userId = '',\n isByMe = false,\n className,\n isUnavailable = false,\n onClick,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n\n const { parentMessage } = message;\n const parentMessageSender = (parentMessage as UserMessage | FileMessage)?.sender;\n const parentMessageSenderNickname = (userId === parentMessageSender?.userId) ? stringSet.QUOTED_MESSAGE__CURRENT_USER : parentMessageSender?.nickname;\n const parentMessageUrl = (parentMessage as FileMessage)?.url || '';\n const parentMessageType = (parentMessage as FileMessage)?.type;\n const currentMessageSenderNickname = (userId === message?.sender?.userId) ? stringSet.QUOTED_MESSAGE__CURRENT_USER : message?.sender?.nickname;\n\n const [isThumbnailLoaded, setThumbnailLoaded] = useState(false);\n const uikitFileTypes = getUIKitFileTypes();\n const splitFileName = (parentMessage as FileMessage)?.name ? (parentMessage as FileMessage).name.split('/') : parentMessageUrl.split('/');\n\n return (\n <div\n className={getClassName([className, 'sendbird-quote-message', isByMe ? 'outgoing' : 'incoming', isUnavailable ? 'unavailable' : ''])}\n key={parentMessage?.messageId}\n onClick={() => {\n if (!isUnavailable && onClick) {\n onClick();\n }\n }}\n onTouchEnd={() => {\n if (!isUnavailable && onClick) {\n onClick();\n }\n }}\n >\n <div className=\"sendbird-quote-message__replied-to\">\n <Icon\n className=\"sendbird-quote-message__replied-to__icon\"\n type={IconTypes.REPLY}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"12px\"\n height=\"12px\"\n />\n <Label\n className=\"sendbird-quote-message__replied-to__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n <span className=\"sendbird-quote-message__replied-to__text__nickname\">{currentMessageSenderNickname}</span>\n <span className=\"sendbird-quote-message__replied-to__text__text\">{stringSet.QUOTED_MESSAGE__REPLIED_TO}</span>\n <span className=\"sendbird-quote-message__replied-to__text__nickname\">{parentMessageSenderNickname}</span>\n </Label>\n </div>\n <div className=\"sendbird-quote-message__replied-message\">\n {isUnavailable && (\n <div className=\"sendbird-quote-message__replied-message__text-message\">\n <Label\n className=\"sendbird-quote-message__replied-message__text-message__word\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.QUOTED_MESSAGE__UNAVAILABLE}\n </Label>\n </div>\n )}\n {/* text message */}\n {((isUserMessage(parentMessage as UserMessage) && (parentMessage as UserMessage)?.message?.length > 0) && !isUnavailable) && (\n <div className=\"sendbird-quote-message__replied-message__text-message\">\n <Label\n className=\"sendbird-quote-message__replied-message__text-message__word\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {(parentMessage as UserMessage)?.message}\n </Label>\n </div>\n )}\n {/* voice message */}\n {(isVoiceMessage(parentMessage as FileMessage) && parentMessageUrl && !isUnavailable) && (\n <div className=\"sendbird-quote-message__replied-message__text-message\">\n <Label\n className=\"sendbird-quote-message__replied-message__text-message__word\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.VOICE_MESSAGE}\n </Label>\n </div>\n )}\n {/* thumbnail message */}\n {(isThumbnailMessage(parentMessage as FileMessage) && parentMessageUrl && !isUnavailable) && (\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message\">\n <ImageRenderer\n className=\"sendbird-quote-message__replied-message__thumbnail-message__image\"\n url={parentMessageUrl}\n alt={parentMessageType}\n width=\"144px\"\n height=\"108px\"\n onLoad={() => setThumbnailLoaded(true)}\n defaultComponent={(\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__placeholder\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__placeholder__icon\">\n <Icon\n type={isVideo(parentMessageType) ? IconTypes.PLAY : IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"22px\"\n height=\"22px\"\n />\n </div>\n </div>\n )}\n />\n {(isVideo(parentMessageType) && !((parentMessage as FileMessage)?.thumbnails?.length > 0)) && (\n <>\n <video className=\"sendbird-quote-message__replied-message__thumbnail-message__video\">\n <source src={parentMessageUrl} type={parentMessageType} />\n </video>\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover__icon\">\n <Icon\n type={IconTypes.PLAY}\n fillColor={IconColors.GRAY}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n </div>\n </>\n )}\n {(isThumbnailLoaded && isGif(parentMessageType)) && (\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover__icon\">\n <Icon\n type={IconTypes.GIF}\n fillColor={IconColors.GRAY}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n </div>\n )}\n </div>\n )}\n {/* file message */}\n {(getUIKitMessageType(parentMessage as FileMessage) === UIKitMessageTypes.FILE && parentMessageUrl && !isUnavailable) && (\n <div className=\"sendbird-quote-message__replied-message__file-message\">\n <Icon\n className=\"sendbird-quote-message__replied-message__file-message__type-icon\"\n type={{\n [uikitFileTypes.IMAGE]: IconTypes.PHOTO,\n [uikitFileTypes.VIDEO]: IconTypes.PLAY,\n [uikitFileTypes.AUDIO]: IconTypes.FILE_AUDIO,\n [uikitFileTypes.GIF]: IconTypes.GIF,\n [uikitFileTypes.OTHERS]: IconTypes.FILE_DOCUMENT,\n }[getUIKitFileType(parentMessageType)]}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"16px\"\n height=\"16px\"\n />\n <Label\n className=\"sendbird-quote-message__replied-message__file-message__file-name\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {truncateString(splitFileName[splitFileName.length - 1])}\n </Label>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["QuoteMessage","_ref","_message$sender","_message$sender2","_message","_thumbnails","message","userId","isByMe","className","isUnavailable","onClick","stringSet","useContext","LocalizationContext","parentMessage","parentMessageSender","sender","parentMessageSenderNickname","QUOTED_MESSAGE__CURRENT_USER","nickname","parentMessageUrl","url","parentMessageType","type","currentMessageSenderNickname","isThumbnailLoaded","setThumbnailLoaded","useState","uikitFileTypes","getUIKitFileTypes","splitFileName","name","split","React","createElement","getClassName","key","messageId","onTouchEnd","Icon","IconTypes","REPLY","fillColor","IconColors","ON_BACKGROUND_3","width","height","Label","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_3","QUOTED_MESSAGE__REPLIED_TO","BODY_2","ONBACKGROUND_1","QUOTED_MESSAGE__UNAVAILABLE","isUserMessage","length","isVoiceMessage","VOICE_MESSAGE","isThumbnailMessage","ImageRenderer","alt","onLoad","defaultComponent","isVideo","PLAY","PHOTO","ON_BACKGROUND_2","thumbnails","Fragment","src","GRAY","isGif","GIF","getUIKitMessageType","UIKitMessageTypes","FILE","IMAGE","VIDEO","AUDIO","FILE_AUDIO","OTHERS","FILE_DOCUMENT","getUIKitFileType","truncateString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QuoteMessage.js","sources":["../../src/ui/QuoteMessage/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useState } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ImageRenderer from '../ImageRenderer';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport {\n getClassName,\n getUIKitFileType,\n getUIKitFileTypes,\n getUIKitMessageType,\n isGif,\n isThumbnailMessage,\n isUserMessage,\n isVideo,\n isVoiceMessage,\n truncateString,\n UIKitMessageTypes,\n} from '../../utils';\n\ninterface Props {\n className?: string | Array<string>;\n message?: UserMessage | FileMessage;\n userId?: string;\n isByMe?: boolean;\n isUnavailable?: boolean;\n onClick?: () => void;\n}\n\nexport default function QuoteMessage({\n message,\n userId = '',\n isByMe = false,\n className,\n isUnavailable = false,\n onClick,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n\n const { parentMessage } = message;\n const parentMessageSender = (parentMessage as UserMessage | FileMessage)?.sender;\n const parentMessageSenderNickname = (userId === parentMessageSender?.userId) ? stringSet.QUOTED_MESSAGE__CURRENT_USER : parentMessageSender?.nickname;\n const parentMessageUrl = (parentMessage as FileMessage)?.url || '';\n const parentMessageType = (parentMessage as FileMessage)?.type;\n const currentMessageSenderNickname = (userId === message?.sender?.userId) ? stringSet.QUOTED_MESSAGE__CURRENT_USER : message?.sender?.nickname;\n\n const [isThumbnailLoaded, setThumbnailLoaded] = useState(false);\n const uikitFileTypes = getUIKitFileTypes();\n const splitFileName = (parentMessage as FileMessage)?.name ? (parentMessage as FileMessage).name.split('/') : parentMessageUrl.split('/');\n\n return (\n <div\n className={getClassName([className, 'sendbird-quote-message', isByMe ? 'outgoing' : 'incoming', isUnavailable ? 'unavailable' : ''])}\n key={parentMessage?.messageId}\n onClick={() => {\n if (!isUnavailable && onClick) {\n onClick();\n }\n }}\n onTouchEnd={() => {\n if (!isUnavailable && onClick) {\n onClick();\n }\n }}\n >\n <div className=\"sendbird-quote-message__replied-to\">\n <Icon\n className=\"sendbird-quote-message__replied-to__icon\"\n type={IconTypes.REPLY}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"12px\"\n height=\"12px\"\n />\n <Label\n className=\"sendbird-quote-message__replied-to__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n <span className=\"sendbird-quote-message__replied-to__text__nickname\">{currentMessageSenderNickname}</span>\n <span className=\"sendbird-quote-message__replied-to__text__text\">{stringSet.QUOTED_MESSAGE__REPLIED_TO}</span>\n <span className=\"sendbird-quote-message__replied-to__text__nickname\">{parentMessageSenderNickname}</span>\n </Label>\n </div>\n <div className=\"sendbird-quote-message__replied-message\">\n {isUnavailable && (\n <div className=\"sendbird-quote-message__replied-message__text-message\">\n <Label\n className=\"sendbird-quote-message__replied-message__text-message__word\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.QUOTED_MESSAGE__UNAVAILABLE}\n </Label>\n </div>\n )}\n {/* text message */}\n {((isUserMessage(parentMessage as UserMessage) && (parentMessage as UserMessage)?.message?.length > 0) && !isUnavailable) && (\n <div className=\"sendbird-quote-message__replied-message__text-message\">\n <Label\n className=\"sendbird-quote-message__replied-message__text-message__word\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {(parentMessage as UserMessage)?.message}\n </Label>\n </div>\n )}\n {/* voice message */}\n {(isVoiceMessage(parentMessage as FileMessage) && parentMessageUrl && !isUnavailable) && (\n <div className=\"sendbird-quote-message__replied-message__text-message\">\n <Label\n className=\"sendbird-quote-message__replied-message__text-message__word\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.VOICE_MESSAGE}\n </Label>\n </div>\n )}\n {/* thumbnail message */}\n {(isThumbnailMessage(parentMessage as FileMessage) && parentMessageUrl && !isUnavailable) && (\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message\">\n <ImageRenderer\n className=\"sendbird-quote-message__replied-message__thumbnail-message__image\"\n url={parentMessageUrl}\n alt={parentMessageType}\n width=\"144px\"\n height=\"108px\"\n onLoad={() => setThumbnailLoaded(true)}\n defaultComponent={(\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__placeholder\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__placeholder__icon\">\n <Icon\n type={isVideo(parentMessageType) ? IconTypes.PLAY : IconTypes.PHOTO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"22px\"\n height=\"22px\"\n />\n </div>\n </div>\n )}\n />\n {(isVideo(parentMessageType) && !((parentMessage as FileMessage)?.thumbnails?.length > 0)) && (\n <>\n <video className=\"sendbird-quote-message__replied-message__thumbnail-message__video\">\n <source src={parentMessageUrl} type={parentMessageType} />\n </video>\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover__icon\">\n <Icon\n type={IconTypes.PLAY}\n fillColor={IconColors.GRAY}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n </div>\n </>\n )}\n {(isThumbnailLoaded && isGif(parentMessageType)) && (\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover\">\n <div className=\"sendbird-quote-message__replied-message__thumbnail-message__cover__icon\">\n <Icon\n type={IconTypes.GIF}\n fillColor={IconColors.GRAY}\n width=\"14px\"\n height=\"14px\"\n />\n </div>\n </div>\n )}\n </div>\n )}\n {/* file message */}\n {(getUIKitMessageType(parentMessage as FileMessage) === UIKitMessageTypes.FILE && parentMessageUrl && !isUnavailable) && (\n <div className=\"sendbird-quote-message__replied-message__file-message\">\n <Icon\n className=\"sendbird-quote-message__replied-message__file-message__type-icon\"\n type={{\n [uikitFileTypes.IMAGE]: IconTypes.PHOTO,\n [uikitFileTypes.VIDEO]: IconTypes.PLAY,\n [uikitFileTypes.AUDIO]: IconTypes.FILE_AUDIO,\n [uikitFileTypes.GIF]: IconTypes.GIF,\n [uikitFileTypes.OTHERS]: IconTypes.FILE_DOCUMENT,\n }[getUIKitFileType(parentMessageType)]}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"16px\"\n height=\"16px\"\n />\n <Label\n className=\"sendbird-quote-message__replied-message__file-message__file-name\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {truncateString(splitFileName[splitFileName.length - 1])}\n </Label>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["QuoteMessage","_ref","_message$sender","_message$sender2","_message","_thumbnails","message","userId","isByMe","className","isUnavailable","onClick","stringSet","useContext","LocalizationContext","parentMessage","parentMessageSender","sender","parentMessageSenderNickname","QUOTED_MESSAGE__CURRENT_USER","nickname","parentMessageUrl","url","parentMessageType","type","currentMessageSenderNickname","isThumbnailLoaded","setThumbnailLoaded","useState","uikitFileTypes","getUIKitFileTypes","splitFileName","name","split","React","createElement","getClassName","key","messageId","onTouchEnd","Icon","IconTypes","REPLY","fillColor","IconColors","ON_BACKGROUND_3","width","height","Label","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_3","QUOTED_MESSAGE__REPLIED_TO","BODY_2","ONBACKGROUND_1","QUOTED_MESSAGE__UNAVAILABLE","isUserMessage","length","isVoiceMessage","VOICE_MESSAGE","isThumbnailMessage","ImageRenderer","alt","onLoad","defaultComponent","isVideo","PLAY","PHOTO","ON_BACKGROUND_2","thumbnails","Fragment","src","GRAY","isGif","GIF","getUIKitMessageType","UIKitMessageTypes","FILE","IMAGE","VIDEO","AUDIO","FILE_AUDIO","OTHERS","FILE_DOCUMENT","getUIKitFileType","truncateString"],"mappings":";;;;;;;;;;;;AA+Be,SAASA,YAAYA,CAAAC,IAAA,EAOZ;AAAA,EAAA,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,QAAA,EAAAC,WAAA,CAAA;EAAA,IAPa;IACnCC,OAAO;AACPC,IAAAA,MAAM,GAAG,EAAE;AACXC,IAAAA,MAAM,GAAG,KAAK;IACdC,SAAS;AACTC,IAAAA,aAAa,GAAG,KAAK;AACrBC,IAAAA,OAAAA;AACK,GAAC,GAAAV,IAAA,CAAA;EACN,MAAM;AAAEW,IAAAA,SAAAA;AAAU,GAAC,GAAGC,UAAU,CAACC,mBAAmB,CAAC,CAAA;EAErD,MAAM;AAAEC,IAAAA,aAAAA;AAAc,GAAC,GAAGT,OAAO,CAAA;EACjC,MAAMU,mBAAmB,GAAID,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAgCE,MAAM,CAAA;EAChF,MAAMC,2BAA2B,GAAIX,MAAM,MAAKS,mBAAmB,KAAnBA,IAAAA,IAAAA,mBAAmB,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAmB,CAAET,MAAM,IAAIK,SAAS,CAACO,4BAA4B,GAAGH,mBAAmB,aAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAmB,CAAEI,QAAQ,CAAA;EACrJ,MAAMC,gBAAgB,GAAG,CAACN,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAkBO,GAAG,KAAI,EAAE,CAAA;EAClE,MAAMC,iBAAiB,GAAIR,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAkBS,IAAI,CAAA;AAC9D,EAAA,MAAMC,4BAA4B,GAAIlB,MAAM,MAAKD,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAJ,eAAA,GAAPI,OAAO,CAAEW,MAAM,cAAAf,eAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAA,CAAiBK,MAAM,CAAIK,GAAAA,SAAS,CAACO,4BAA4B,GAAGb,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAH,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,gBAAA,GAAPG,OAAO,CAAEW,MAAM,MAAA,IAAA,IAAAd,gBAAA,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAiBiB,QAAQ,CAAA;EAE9I,MAAM,CAACM,iBAAiB,EAAEC,kBAAkB,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC/D,MAAMC,cAAc,GAAGC,iBAAiB,EAAE,CAAA;EAC1C,MAAMC,aAAa,GAAIhB,aAAa,KAAbA,IAAAA,IAAAA,aAAa,eAAbA,aAAa,CAAkBiB,IAAI,GAAIjB,aAAa,CAAiBiB,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,GAAGZ,gBAAgB,CAACY,KAAK,CAAC,GAAG,CAAC,CAAA;EAEzI,oBACEC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACE1B,SAAS,EAAE2B,YAAY,CAAC,CAAC3B,SAAS,EAAE,wBAAwB,EAAED,MAAM,GAAG,UAAU,GAAG,UAAU,EAAEE,aAAa,GAAG,aAAa,GAAG,EAAE,CAAC,CAAE;AACrI2B,IAAAA,GAAG,EAAEtB,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAEuB,SAAU;IAC9B3B,OAAO,EAAEA,MAAM;AACb,MAAA,IAAI,CAACD,aAAa,IAAIC,OAAO,EAAE;AAC7BA,QAAAA,OAAO,EAAE,CAAA;AACX,OAAA;KACA;IACF4B,UAAU,EAAEA,MAAM;AAChB,MAAA,IAAI,CAAC7B,aAAa,IAAIC,OAAO,EAAE;AAC7BA,QAAAA,OAAO,EAAE,CAAA;AACX,OAAA;AACF,KAAA;GAEAuB,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,oCAAA;AAAoC,GAAA,eACjDyB,cAAA,CAAAC,aAAA,CAACK,IAAI,EAAA;AACH/B,IAAAA,SAAS,EAAC,0CAA0C;IACpDe,IAAI,EAAEiB,SAAS,CAACC,KAAM;IACtBC,SAAS,EAAEC,UAAU,CAACC,eAAgB;AACtCC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAAA,CACb,eACFb,cAAA,CAAAC,aAAA,CAACa,KAAK,EAAA;AACJvC,IAAAA,SAAS,EAAC,0CAA0C;IACpDe,IAAI,EAAEyB,eAAe,CAACC,SAAU;IAChCC,KAAK,EAAEC,WAAW,CAACC,cAAAA;GAEnBnB,eAAAA,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAM1B,IAAAA,SAAS,EAAC,oDAAA;AAAoD,GAAA,EAAEgB,4BAA4B,CAAQ,eAC1GS,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAM1B,IAAAA,SAAS,EAAC,gDAAA;AAAgD,GAAA,EAAEG,SAAS,CAAC0C,0BAA0B,CAAQ,eAC9GpB,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAM1B,IAAAA,SAAS,EAAC,oDAAA;AAAoD,GAAA,EAAES,2BAA2B,CAAQ,CACnG,CACJ,eACNgB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,yCAAA;AAAyC,GAAA,EACrDC,aAAa,iBACZwB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,uDAAA;AAAuD,GAAA,eACpEyB,cAAA,CAAAC,aAAA,CAACa,KAAK,EAAA;AACJvC,IAAAA,SAAS,EAAC,6DAA6D;IACvEe,IAAI,EAAEyB,eAAe,CAACM,MAAO;IAC7BJ,KAAK,EAAEC,WAAW,CAACI,cAAAA;AAAe,GAAA,EAEjC5C,SAAS,CAAC6C,2BAA2B,CAChC,CAEX,EAEEC,aAAa,CAAC3C,aAAa,CAAgB,IAAI,CAACA,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAAX,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,QAAA,GAAbW,aAAa,CAAkBT,OAAO,MAAA,IAAA,IAAAF,QAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAvCA,QAAA,CAAyCuD,MAAM,IAAG,CAAC,IAAK,CAACjD,aAAa,iBACtHwB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,uDAAA;AAAuD,GAAA,eACpEyB,cAAA,CAAAC,aAAA,CAACa,KAAK,EAAA;AACJvC,IAAAA,SAAS,EAAC,6DAA6D;IACvEe,IAAI,EAAEyB,eAAe,CAACM,MAAO;IAC7BJ,KAAK,EAAEC,WAAW,CAACI,cAAAA;GAEjBzC,EAAAA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAkBT,OAAO,CAClC,CAEX,EAECsD,cAAc,CAAC7C,aAAa,CAAgB,IAAIM,gBAAgB,IAAI,CAACX,aAAa,iBAClFwB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,uDAAA;AAAuD,GAAA,eACpEyB,cAAA,CAAAC,aAAA,CAACa,KAAK,EAAA;AACJvC,IAAAA,SAAS,EAAC,6DAA6D;IACvEe,IAAI,EAAEyB,eAAe,CAACM,MAAO;IAC7BJ,KAAK,EAAEC,WAAW,CAACI,cAAAA;AAAe,GAAA,EAEjC5C,SAAS,CAACiD,aAAa,CAClB,CAEX,EAECC,kBAAkB,CAAC/C,aAAa,CAAgB,IAAIM,gBAAgB,IAAI,CAACX,aAAa,iBACtFwB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,4DAAA;AAA4D,GAAA,eACzEyB,cAAA,CAAAC,aAAA,CAAC4B,aAAa,EAAA;AACZtD,IAAAA,SAAS,EAAC,mEAAmE;AAC7Ea,IAAAA,GAAG,EAAED,gBAAiB;AACtB2C,IAAAA,GAAG,EAAEzC,iBAAkB;AACvBuB,IAAAA,KAAK,EAAC,OAAO;AACbC,IAAAA,MAAM,EAAC,OAAO;AACdkB,IAAAA,MAAM,EAAEA,MAAMtC,kBAAkB,CAAC,IAAI,CAAE;IACvCuC,gBAAgB,eACdhC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,MAAAA,SAAS,EAAC,yEAAA;KACbyB,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,MAAAA,SAAS,EAAC,+EAAA;AAA+E,KAAA,eAC5FyB,cAAA,CAAAC,aAAA,CAACK,IAAI,EAAA;AACHhB,MAAAA,IAAI,EAAE2C,OAAO,CAAC5C,iBAAiB,CAAC,GAAGkB,SAAS,CAAC2B,IAAI,GAAG3B,SAAS,CAAC4B,KAAM;MACpE1B,SAAS,EAAEC,UAAU,CAAC0B,eAAgB;AACtCxB,MAAAA,KAAK,EAAC,MAAM;AACZC,MAAAA,MAAM,EAAC,MAAA;AAAM,KAAA,CACb,CACE,CAAA;AAER,GAAA,CACF,EACAoB,OAAO,CAAC5C,iBAAiB,CAAC,IAAI,EAAE,CAACR,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAAV,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,WAAA,GAAbU,aAAa,CAAkBwD,UAAU,MAAA,IAAA,IAAAlE,WAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA1CA,WAAA,CAA4CsD,MAAM,IAAG,CAAC,CAAC,iBACvFzB,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAsC,QAAA,EACEtC,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAO1B,IAAAA,SAAS,EAAC,mEAAA;GACfyB,eAAAA,cAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQsC,IAAAA,GAAG,EAAEpD,gBAAiB;AAACG,IAAAA,IAAI,EAAED,iBAAAA;AAAkB,GAAA,CAAG,CACpD,eACRW,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,mEAAA;GACbyB,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,yEAAA;AAAyE,GAAA,eACtFyB,cAAA,CAAAC,aAAA,CAACK,IAAI,EAAA;IACHhB,IAAI,EAAEiB,SAAS,CAAC2B,IAAK;IACrBzB,SAAS,EAAEC,UAAU,CAAC8B,IAAK;AAC3B5B,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAAA,CACb,CACE,CACF,CAET,EACCrB,iBAAiB,IAAIiD,KAAK,CAACpD,iBAAiB,CAAC,iBAC7CW,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,mEAAA;GACbyB,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,yEAAA;AAAyE,GAAA,eACtFyB,cAAA,CAAAC,aAAA,CAACK,IAAI,EAAA;IACHhB,IAAI,EAAEiB,SAAS,CAACmC,GAAI;IACpBjC,SAAS,EAAEC,UAAU,CAAC8B,IAAK;AAC3B5B,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;GACP,CAAA,CACE,CAET,CAEJ,EAEC8B,mBAAmB,CAAC9D,aAAa,CAAgB,KAAK+D,iBAAiB,CAACC,IAAI,IAAI1D,gBAAgB,IAAI,CAACX,aAAa,iBAClHwB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,uDAAA;AAAuD,GAAA,eACpEyB,cAAA,CAAAC,aAAA,CAACK,IAAI,EAAA;AACH/B,IAAAA,SAAS,EAAC,kEAAkE;AAC5Ee,IAAAA,IAAI,EAAE;AACJ,MAAA,CAACK,cAAc,CAACmD,KAAK,GAAGvC,SAAS,CAAC4B,KAAK;AACvC,MAAA,CAACxC,cAAc,CAACoD,KAAK,GAAGxC,SAAS,CAAC2B,IAAI;AACtC,MAAA,CAACvC,cAAc,CAACqD,KAAK,GAAGzC,SAAS,CAAC0C,UAAU;AAC5C,MAAA,CAACtD,cAAc,CAAC+C,GAAG,GAAGnC,SAAS,CAACmC,GAAG;AACnC,MAAA,CAAC/C,cAAc,CAACuD,MAAM,GAAG3C,SAAS,CAAC4C,aAAAA;AACrC,KAAC,CAACC,gBAAgB,CAAC/D,iBAAiB,CAAC,CAAE;IACvCoB,SAAS,EAAEC,UAAU,CAACC,eAAgB;AACtCC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAA;AAAM,GAAA,CACb,eACFb,cAAA,CAAAC,aAAA,CAACa,KAAK,EAAA;AACJvC,IAAAA,SAAS,EAAC,kEAAkE;IAC5Ee,IAAI,EAAEyB,eAAe,CAACM,MAAO;IAC7BJ,KAAK,EAAEC,WAAW,CAACC,cAAAA;AAAe,GAAA,EAEjCkC,cAAc,CAACxD,aAAa,CAACA,aAAa,CAAC4B,MAAM,GAAG,CAAC,CAAC,CAAC,CAClD,CAEX,CACG,CACF,CAAA;AAEV;;;;"}
|
package/ui/QuoteMessageInput.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React__default, { useContext } from 'react';
|
|
2
|
-
import { l as isFileMessage, d as isVoiceMessage, m as isImageMessage, n as isThumbnailMessage, o as isAudioMessage, j as getClassName, p as isGifMessage, q as isVideoMessage, r as isUserMessage, s as getUIKitMessageType, U as UIKitMessageTypes } from '../index-
|
|
2
|
+
import { l as isFileMessage, d as isVoiceMessage, m as isImageMessage, n as isThumbnailMessage, o as isAudioMessage, j as getClassName, p as isGifMessage, q as isVideoMessage, r as isUserMessage, s as getUIKitMessageType, U as UIKitMessageTypes } from '../index-5807e969.js';
|
|
3
3
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
4
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
5
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
4
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-3f4521c1.js';
|
|
5
|
+
import { a as LocalizationContext } from '../LocalizationContext-7ae12588.js';
|
|
6
6
|
import ImageRenderer from './ImageRenderer.js';
|
|
7
|
-
import '../_rollupPluginBabelHelpers-
|
|
7
|
+
import '../_rollupPluginBabelHelpers-96062e23.js';
|
|
8
8
|
import '../utils/message/getOutgoingMessageState.js';
|
|
9
9
|
import 'prop-types';
|
|
10
|
-
import '../stringSet-
|
|
11
|
-
import '../index-
|
|
10
|
+
import '../stringSet-6c589018.js';
|
|
11
|
+
import '../index-82009149.js';
|
|
12
12
|
|
|
13
13
|
const componentClassname = 'sendbird-quote_message_input__avatar';
|
|
14
14
|
function QuoteMessageThumbnail(_ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuoteMessageInput.js","sources":["../../src/ui/QuoteMessageInput/QuoteMessageThumbnail.tsx","../../src/ui/QuoteMessageInput/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ImageRenderer from '../ImageRenderer';\nimport { isAudioMessage, isFileMessage, isImageMessage, isThumbnailMessage, isVoiceMessage } from '../../utils';\n\ninterface Props {\n message: FileMessage;\n}\n\nconst componentClassname = 'sendbird-quote_message_input__avatar';\n\nexport default function QuoteMessageThumbnail({ message }: Props): ReactElement {\n if (!isFileMessage(message) || isVoiceMessage(message)) {\n return null;\n }\n\n const thumbnailUrl: string = (message.thumbnails && message.thumbnails.length > 0 && message.thumbnails[0].url)\n || (isImageMessage(message) && message.url);\n if (isThumbnailMessage(message) && thumbnailUrl) {\n return (\n <ImageRenderer\n className={componentClassname}\n url={thumbnailUrl}\n alt={message.type}\n width=\"44px\"\n height=\"44px\"\n fixedSize\n />\n );\n } else if (isAudioMessage(message)) {\n return (\n <div className={componentClassname}>\n <Icon\n type={IconTypes.FILE_AUDIO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n );\n } else {\n return (\n <div className={componentClassname}>\n <Icon\n type={IconTypes.FILE_DOCUMENT}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n );\n }\n}\n","import './index.scss';\n\nimport React, { ReactElement, useContext } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport {\n getClassName,\n getUIKitMessageType,\n isFileMessage,\n isGifMessage,\n isImageMessage,\n isUserMessage,\n isVideoMessage,\n isVoiceMessage,\n UIKitMessageTypes,\n} from '../../utils';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport QuoteMessageThumbnail from './QuoteMessageThumbnail';\n\ninterface Props {\n className?: string | Array<string>;\n replyingMessage: UserMessage | FileMessage;\n onClose?: (message: UserMessage | FileMessage) => void;\n}\n\nexport default function QuoteMessageInput({\n className,\n replyingMessage,\n onClose,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const fileMessage = replyingMessage as FileMessage;\n const sender = (replyingMessage as UserMessage | FileMessage)?.sender;\n const displayFileIcon = isFileMessage(replyingMessage) && !isVoiceMessage(replyingMessage as FileMessage);\n\n return (\n <div className={getClassName(['sendbird-quote_message_input', className])}>\n {\n displayFileIcon && (\n <QuoteMessageThumbnail message={fileMessage} />\n )\n }\n <div\n className=\"sendbird-quote_message_input__body\"\n style={{\n width: `calc(100% - ${displayFileIcon ? '164px' : '120px'})`,\n left: displayFileIcon ? '92px' : '40px',\n }}\n >\n <Label\n className=\"sendbird-quote_message_input__body__sender-name\"\n type={LabelTypography.CAPTION_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {`${stringSet.QUOTE_MESSAGE_INPUT__REPLY_TO} ${(sender && sender.nickname) ? sender.nickname : stringSet.NO_NAME}`}\n </Label>\n <Label\n className=\"sendbird-quote_message_input__body__message-content\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {isImageMessage(fileMessage) && !isGifMessage(fileMessage) && stringSet.QUOTE_MESSAGE_INPUT__FILE_TYPE_IMAGE}\n {isVideoMessage(fileMessage) && stringSet.QUOTE_MESSAGE_INPUT__FILE_TYPE__VIDEO}\n {isGifMessage(fileMessage) && stringSet.QUOTE_MESSAGE_INPUT__FILE_TYPE_GIF}\n {isUserMessage(replyingMessage as UserMessage) && (replyingMessage as UserMessage).message}\n {getUIKitMessageType(replyingMessage) === UIKitMessageTypes.FILE && fileMessage.name}\n {isVoiceMessage(replyingMessage as FileMessage) && stringSet.VOICE_MESSAGE}\n </Label>\n </div>\n <Icon\n className=\"sendbird-quote_message_input__close-button\"\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n onClick={() => onClose(replyingMessage)}\n />\n </div>\n );\n}\n"],"names":["componentClassname","QuoteMessageThumbnail","_ref","message","isFileMessage","isVoiceMessage","thumbnailUrl","thumbnails","length","url","isImageMessage","isThumbnailMessage","React","createElement","ImageRenderer","className","alt","type","width","height","fixedSize","isAudioMessage","Icon","IconTypes","FILE_AUDIO","fillColor","IconColors","ON_BACKGROUND_2","FILE_DOCUMENT","QuoteMessageInput","replyingMessage","onClose","stringSet","useContext","LocalizationContext","fileMessage","sender","displayFileIcon","getClassName","style","left","Label","LabelTypography","CAPTION_1","color","LabelColors","ONBACKGROUND_1","QUOTE_MESSAGE_INPUT__REPLY_TO","nickname","NO_NAME","BODY_2","ONBACKGROUND_3","isGifMessage","QUOTE_MESSAGE_INPUT__FILE_TYPE_IMAGE","isVideoMessage","QUOTE_MESSAGE_INPUT__FILE_TYPE__VIDEO","QUOTE_MESSAGE_INPUT__FILE_TYPE_GIF","isUserMessage","getUIKitMessageType","UIKitMessageTypes","FILE","name","VOICE_MESSAGE","CLOSE","onClick"],"mappings":";;;;;;;;;;;;AAWA,MAAMA,kBAAkB,GAAG,sCAAsC,CAAA;AAElD,SAASC,qBAAqBA,CAAAC,IAAA,EAAmC;EAAA,IAAlC;AAAEC,IAAAA,OAAAA;AAAe,GAAC,GAAAD,IAAA,CAAA;EAC9D,IAAI,CAACE,aAAa,CAACD,OAAO,CAAC,IAAIE,cAAc,CAACF,OAAO,CAAC,EAAE;AACtD,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,MAAMG,YAAoB,GAAIH,OAAO,CAACI,UAAU,IAAIJ,OAAO,CAACI,UAAU,CAACC,MAAM,GAAG,CAAC,IAAIL,OAAO,CAACI,UAAU,CAAC,CAAC,CAAC,CAACE,GAAG,IACxGC,cAAc,CAACP,OAAO,CAAC,IAAIA,OAAO,CAACM,GAAI,CAAA;AAC7C,EAAA,IAAIE,kBAAkB,CAACR,OAAO,CAAC,IAAIG,YAAY,EAAE;AAC/C,IAAA,oBACEM,cAAA,CAAAC,aAAA,CAACC,aAAa,EAAA;AACZC,MAAAA,SAAS,EAAEf,kBAAmB;AAC9BS,MAAAA,GAAG,EAAEH,YAAa;MAClBU,GAAG,EAAEb,OAAO,CAACc,IAAK;AAClBC,MAAAA,KAAK,EAAC,MAAM;AACZC,MAAAA,MAAM,EAAC,MAAM;MACbC,SAAS,EAAA,IAAA;
|
|
1
|
+
{"version":3,"file":"QuoteMessageInput.js","sources":["../../src/ui/QuoteMessageInput/QuoteMessageThumbnail.tsx","../../src/ui/QuoteMessageInput/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ImageRenderer from '../ImageRenderer';\nimport { isAudioMessage, isFileMessage, isImageMessage, isThumbnailMessage, isVoiceMessage } from '../../utils';\n\ninterface Props {\n message: FileMessage;\n}\n\nconst componentClassname = 'sendbird-quote_message_input__avatar';\n\nexport default function QuoteMessageThumbnail({ message }: Props): ReactElement {\n if (!isFileMessage(message) || isVoiceMessage(message)) {\n return null;\n }\n\n const thumbnailUrl: string = (message.thumbnails && message.thumbnails.length > 0 && message.thumbnails[0].url)\n || (isImageMessage(message) && message.url);\n if (isThumbnailMessage(message) && thumbnailUrl) {\n return (\n <ImageRenderer\n className={componentClassname}\n url={thumbnailUrl}\n alt={message.type}\n width=\"44px\"\n height=\"44px\"\n fixedSize\n />\n );\n } else if (isAudioMessage(message)) {\n return (\n <div className={componentClassname}>\n <Icon\n type={IconTypes.FILE_AUDIO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n );\n } else {\n return (\n <div className={componentClassname}>\n <Icon\n type={IconTypes.FILE_DOCUMENT}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n );\n }\n}\n","import './index.scss';\n\nimport React, { ReactElement, useContext } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport {\n getClassName,\n getUIKitMessageType,\n isFileMessage,\n isGifMessage,\n isImageMessage,\n isUserMessage,\n isVideoMessage,\n isVoiceMessage,\n UIKitMessageTypes,\n} from '../../utils';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport QuoteMessageThumbnail from './QuoteMessageThumbnail';\n\ninterface Props {\n className?: string | Array<string>;\n replyingMessage: UserMessage | FileMessage;\n onClose?: (message: UserMessage | FileMessage) => void;\n}\n\nexport default function QuoteMessageInput({\n className,\n replyingMessage,\n onClose,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const fileMessage = replyingMessage as FileMessage;\n const sender = (replyingMessage as UserMessage | FileMessage)?.sender;\n const displayFileIcon = isFileMessage(replyingMessage) && !isVoiceMessage(replyingMessage as FileMessage);\n\n return (\n <div className={getClassName(['sendbird-quote_message_input', className])}>\n {\n displayFileIcon && (\n <QuoteMessageThumbnail message={fileMessage} />\n )\n }\n <div\n className=\"sendbird-quote_message_input__body\"\n style={{\n width: `calc(100% - ${displayFileIcon ? '164px' : '120px'})`,\n left: displayFileIcon ? '92px' : '40px',\n }}\n >\n <Label\n className=\"sendbird-quote_message_input__body__sender-name\"\n type={LabelTypography.CAPTION_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {`${stringSet.QUOTE_MESSAGE_INPUT__REPLY_TO} ${(sender && sender.nickname) ? sender.nickname : stringSet.NO_NAME}`}\n </Label>\n <Label\n className=\"sendbird-quote_message_input__body__message-content\"\n type={LabelTypography.BODY_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {isImageMessage(fileMessage) && !isGifMessage(fileMessage) && stringSet.QUOTE_MESSAGE_INPUT__FILE_TYPE_IMAGE}\n {isVideoMessage(fileMessage) && stringSet.QUOTE_MESSAGE_INPUT__FILE_TYPE__VIDEO}\n {isGifMessage(fileMessage) && stringSet.QUOTE_MESSAGE_INPUT__FILE_TYPE_GIF}\n {isUserMessage(replyingMessage as UserMessage) && (replyingMessage as UserMessage).message}\n {getUIKitMessageType(replyingMessage) === UIKitMessageTypes.FILE && fileMessage.name}\n {isVoiceMessage(replyingMessage as FileMessage) && stringSet.VOICE_MESSAGE}\n </Label>\n </div>\n <Icon\n className=\"sendbird-quote_message_input__close-button\"\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"24px\"\n height=\"24px\"\n onClick={() => onClose(replyingMessage)}\n />\n </div>\n );\n}\n"],"names":["componentClassname","QuoteMessageThumbnail","_ref","message","isFileMessage","isVoiceMessage","thumbnailUrl","thumbnails","length","url","isImageMessage","isThumbnailMessage","React","createElement","ImageRenderer","className","alt","type","width","height","fixedSize","isAudioMessage","Icon","IconTypes","FILE_AUDIO","fillColor","IconColors","ON_BACKGROUND_2","FILE_DOCUMENT","QuoteMessageInput","replyingMessage","onClose","stringSet","useContext","LocalizationContext","fileMessage","sender","displayFileIcon","getClassName","style","left","Label","LabelTypography","CAPTION_1","color","LabelColors","ONBACKGROUND_1","QUOTE_MESSAGE_INPUT__REPLY_TO","nickname","NO_NAME","BODY_2","ONBACKGROUND_3","isGifMessage","QUOTE_MESSAGE_INPUT__FILE_TYPE_IMAGE","isVideoMessage","QUOTE_MESSAGE_INPUT__FILE_TYPE__VIDEO","QUOTE_MESSAGE_INPUT__FILE_TYPE_GIF","isUserMessage","getUIKitMessageType","UIKitMessageTypes","FILE","name","VOICE_MESSAGE","CLOSE","onClick"],"mappings":"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"}
|
package/ui/ReactionBadge.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
2
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-3f4521c1.js';
|
|
3
3
|
import 'prop-types';
|
|
4
|
-
import '../stringSet-
|
|
4
|
+
import '../stringSet-6c589018.js';
|
|
5
5
|
|
|
6
6
|
const ReactionBadge = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
7
7
|
const {
|