@sendbird/uikit-react 3.2.1 → 3.2.2
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 +33 -28
- package/App.js.map +1 -1
- package/CHANGELOG.md +13 -1
- package/Channel/components/ChannelHeader.js +16 -15
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +22 -21
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +15 -14
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +19 -18
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +16 -15
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +21 -20
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +16 -15
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +16 -15
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +15 -14
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +14 -13
- package/Channel/context.js.map +1 -1
- package/Channel.js +22 -21
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +14 -13
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +49 -44
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +20 -19
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +14 -13
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +9 -8
- package/ChannelList/context.js.map +1 -1
- package/ChannelList.js +26 -25
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-5d6be9a8.js → ChannelListProvider-ac91b9ac.js} +27 -23
- package/ChannelListProvider-ac91b9ac.js.map +1 -0
- package/{ChannelProvider-106bb518.js → ChannelProvider-7924e137.js} +10 -10
- package/ChannelProvider-7924e137.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -17
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js +10 -10
- package/ChannelSettings/components/ModerationPanel.js +15 -14
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +12 -11
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +14 -13
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -17
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +14 -13
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +14 -13
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -13
- package/CreateChannel.js.map +1 -1
- package/{CreateChannelProvider-879ea78c.js → CreateChannelProvider-11543306.js} +1 -1
- package/{CreateChannelProvider-879ea78c.js.map → CreateChannelProvider-11543306.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +9 -9
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile.js +12 -12
- package/{LocalizationContext-a6f8fb25.js → LocalizationContext-83cab487.js} +3 -3
- package/{LocalizationContext-a6f8fb25.js.map → LocalizationContext-83cab487.js.map} +1 -1
- package/{MemberList-bf1787c0.js → MemberList-9605f473.js} +5 -5
- package/{MemberList-bf1787c0.js.map → MemberList-9605f473.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +16 -15
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +21 -20
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +23 -22
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +23 -22
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +9 -9
- package/OpenChannel.js +23 -22
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +12 -12
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +4 -4
- package/OpenChannelList.js +12 -12
- package/{OpenChannelListProvider-cdd801da.js → OpenChannelListProvider-b1734de3.js} +3 -3
- package/{OpenChannelListProvider-cdd801da.js.map → OpenChannelListProvider-b1734de3.js.map} +1 -1
- package/{OpenChannelProvider-10dd5869.js → OpenChannelProvider-ccdfc3d7.js} +7 -7
- package/{OpenChannelProvider-10dd5869.js.map → OpenChannelProvider-ccdfc3d7.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -17
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +17 -16
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +15 -14
- package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +18 -17
- package/OpenChannelSettings.js.map +1 -1
- package/SendbirdProvider.js +14 -9
- package/SendbirdProvider.js.map +1 -1
- package/{UserProfileContext-58463608.js → UserProfileContext-c2fcaa62.js} +1 -1
- package/{UserProfileContext-58463608.js.map → UserProfileContext-c2fcaa62.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-b9099c54.js → _rollupPluginBabelHelpers-008a1844.js} +1 -1
- package/_rollupPluginBabelHelpers-008a1844.js.map +1 -0
- package/{actionTypes-2e2a14dc.js → actionTypes-e2247efe.js} +1 -1
- package/{actionTypes-2e2a14dc.js.map → actionTypes-e2247efe.js.map} +1 -1
- package/cjs/App.js +33 -28
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +16 -15
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +22 -21
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +15 -14
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +19 -18
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +16 -15
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +21 -20
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +16 -15
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +16 -15
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +15 -14
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +14 -13
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel.js +22 -21
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +14 -13
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +49 -44
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +20 -19
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -13
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +9 -8
- package/cjs/ChannelList/context.js.map +1 -1
- package/cjs/ChannelList.js +26 -25
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-0ad296e7.js → ChannelListProvider-21708c39.js} +27 -23
- package/cjs/ChannelListProvider-21708c39.js.map +1 -0
- package/cjs/{ChannelProvider-7ef2ebd3.js → ChannelProvider-dc38544c.js} +10 -10
- package/cjs/ChannelProvider-dc38544c.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -17
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js +10 -10
- package/cjs/ChannelSettings/components/ModerationPanel.js +15 -14
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +12 -11
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +14 -13
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -17
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -13
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +14 -13
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -13
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/{CreateChannelProvider-9d17677a.js → CreateChannelProvider-266d45a0.js} +1 -1
- package/cjs/{CreateChannelProvider-9d17677a.js.map → CreateChannelProvider-266d45a0.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +9 -9
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile.js +12 -12
- package/cjs/{LocalizationContext-64800ba8.js → LocalizationContext-f761ec27.js} +3 -3
- package/cjs/{LocalizationContext-64800ba8.js.map → LocalizationContext-f761ec27.js.map} +1 -1
- package/cjs/{MemberList-b623b698.js → MemberList-3d1f10ce.js} +5 -5
- package/cjs/{MemberList-b623b698.js.map → MemberList-3d1f10ce.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +16 -15
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +21 -20
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +23 -22
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +23 -22
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +9 -9
- package/cjs/OpenChannel.js +23 -22
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +12 -12
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +12 -12
- package/cjs/{OpenChannelListProvider-c2ffa643.js → OpenChannelListProvider-422c413e.js} +3 -3
- package/cjs/{OpenChannelListProvider-c2ffa643.js.map → OpenChannelListProvider-422c413e.js.map} +1 -1
- package/cjs/{OpenChannelProvider-c6e69c3d.js → OpenChannelProvider-3a28c320.js} +7 -7
- package/cjs/{OpenChannelProvider-c6e69c3d.js.map → OpenChannelProvider-3a28c320.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -17
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -16
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -14
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +18 -17
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/SendbirdProvider.js +14 -9
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/{UserProfileContext-adcaa087.js → UserProfileContext-e6c4c6cd.js} +1 -1
- package/cjs/{UserProfileContext-adcaa087.js.map → UserProfileContext-e6c4c6cd.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-db7a8168.js → _rollupPluginBabelHelpers-b0ecb658.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-b0ecb658.js.map +1 -0
- package/cjs/{actionTypes-3a12308e.js → actionTypes-a284f20e.js} +1 -1
- package/cjs/{actionTypes-3a12308e.js.map → actionTypes-a284f20e.js.map} +1 -1
- package/cjs/{color-b4fd88cc.js → color-9957dbf5.js} +1 -1
- package/cjs/{color-b4fd88cc.js.map → color-9957dbf5.js.map} +1 -1
- package/cjs/{compareIds-0877d215.js → compareIds-1d542fb6.js} +1 -1
- package/cjs/{compareIds-0877d215.js.map → compareIds-1d542fb6.js.map} +1 -1
- package/cjs/{const-1844f708.js → const-cecc5538.js} +1 -1
- package/cjs/{const-1844f708.js.map → const-cecc5538.js.map} +1 -1
- package/cjs/{const-d4eca33b.js → const-e8d6d2ca.js} +1 -1
- package/cjs/{const-d4eca33b.js.map → const-e8d6d2ca.js.map} +1 -1
- package/cjs/{context-0ee48eec.js → context-c49da3e7.js} +2 -2
- package/cjs/{context-0ee48eec.js.map → context-c49da3e7.js.map} +1 -1
- package/cjs/{index-ef0a59fd.js → index-3a7cc4f3.js} +2 -2
- package/cjs/{index-ef0a59fd.js.map → index-3a7cc4f3.js.map} +1 -1
- package/cjs/{index-dda2ca7b.js → index-57dc486a.js} +7 -7
- package/cjs/{index-dda2ca7b.js.map → index-57dc486a.js.map} +1 -1
- package/cjs/{index-8b034127.js → index-722557fc.js} +1 -1
- package/cjs/{index-8b034127.js.map → index-722557fc.js.map} +1 -1
- package/cjs/{index-a7fef0ee.js → index-7515c3b7.js} +2 -2
- package/cjs/{index-a7fef0ee.js.map → index-7515c3b7.js.map} +1 -1
- package/cjs/{index-6e1b95d9.js → index-a332c97a.js} +1 -1
- package/cjs/{index-6e1b95d9.js.map → index-a332c97a.js.map} +1 -1
- package/cjs/{index-1b2c1946.js → index-b02c7fda.js} +2 -2
- package/cjs/{index-1b2c1946.js.map → index-b02c7fda.js.map} +1 -1
- package/cjs/{index-6ed6c13c.js → index-b4e3b6d9.js} +5 -35
- package/cjs/index-b4e3b6d9.js.map +1 -0
- package/cjs/{index-495608df.js → index-d1dd6aac.js} +5 -5
- package/cjs/{index-495608df.js.map → index-d1dd6aac.js.map} +1 -1
- package/cjs/{index-d704345f.js → index-efef37ff.js} +4 -4
- package/cjs/{index-d704345f.js.map → index-efef37ff.js.map} +1 -1
- package/cjs/{index-5592e65b.js → index-fea8438a.js} +4 -4
- package/cjs/{index-5592e65b.js.map → index-fea8438a.js.map} +1 -1
- package/cjs/index.js +33 -32
- package/cjs/index.js.map +1 -1
- package/cjs/{openChannelUtils-afd47b38.js → openChannelUtils-f9cce808.js} +1 -1
- package/cjs/{openChannelUtils-afd47b38.js.map → openChannelUtils-f9cce808.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-c306c59c.js → stringSet-5a829a29.js} +1 -1
- package/cjs/{stringSet-c306c59c.js.map → stringSet-5a829a29.js.map} +1 -1
- package/cjs/{topics-c42771ac.js → topics-3bfeb62f.js} +1 -1
- package/cjs/{topics-c42771ac.js.map → topics-3bfeb62f.js.map} +1 -1
- package/cjs/{tslib.es6-b4fa8f1d.js → tslib.es6-ca15b7cc.js} +1 -1
- package/cjs/{tslib.es6-b4fa8f1d.js.map → tslib.es6-ca15b7cc.js.map} +1 -1
- package/cjs/ui/Accordion.js +3 -3
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/Button.js +3 -3
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +6 -5
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +8 -7
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +6 -5
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +9 -8
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +11 -10
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +14 -13
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +10 -9
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +8 -7
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +6 -5
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +9 -9
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +14 -13
- package/cjs/ui/MessageStatus.js.map +1 -1
- package/cjs/ui/Modal.js +6 -6
- package/cjs/ui/OGMessageItemBody.js +11 -10
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +3 -3
- package/cjs/ui/OpenChannelAvatar.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +15 -14
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +15 -14
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +14 -13
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +15 -14
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/QuoteMessage.js +7 -6
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +7 -6
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +11 -10
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +3 -2
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +7 -6
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +12 -11
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/Word.js +11 -10
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/getOutgoingMessageState.js +44 -0
- package/cjs/utils/message/getOutgoingMessageState.js.map +1 -0
- package/cjs/{utils-d6565953.js → utils-4754b3c2.js} +1 -1
- package/cjs/{utils-d6565953.js.map → utils-4754b3c2.js.map} +1 -1
- package/cjs/{utils-538678ec.js → utils-47ccaecc.js} +1 -1
- package/cjs/{utils-538678ec.js.map → utils-47ccaecc.js.map} +1 -1
- package/cjs/{utils-5d8323fa.js → utils-56c62b34.js} +1 -1
- package/cjs/{utils-5d8323fa.js.map → utils-56c62b34.js.map} +1 -1
- package/cjs/{uuid-61941a28.js → uuid-279278c6.js} +1 -1
- package/cjs/{uuid-61941a28.js.map → uuid-279278c6.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-a2810858.js → color-b8fbee14.js} +1 -1
- package/{color-a2810858.js.map → color-b8fbee14.js.map} +1 -1
- package/{compareIds-4839d86c.js → compareIds-eb89e686.js} +1 -1
- package/{compareIds-4839d86c.js.map → compareIds-eb89e686.js.map} +1 -1
- package/{const-16fc416a.js → const-21c50fc9.js} +1 -1
- package/{const-16fc416a.js.map → const-21c50fc9.js.map} +1 -1
- package/{const-07519343.js → const-e3a99496.js} +1 -1
- package/{const-07519343.js.map → const-e3a99496.js.map} +1 -1
- package/{context-20498268.js → context-26bcf69f.js} +2 -2
- package/{context-20498268.js.map → context-26bcf69f.js.map} +1 -1
- package/{index-4ac20b5a.js → index-02b9dcb6.js} +4 -4
- package/{index-4ac20b5a.js.map → index-02b9dcb6.js.map} +1 -1
- package/{index-ccf6db26.js → index-4230994b.js} +2 -2
- package/{index-ccf6db26.js.map → index-4230994b.js.map} +1 -1
- package/{index-cc905e95.js → index-480fdda4.js} +4 -32
- package/index-480fdda4.js.map +1 -0
- package/{index-84497a86.js → index-4cfa849d.js} +7 -7
- package/{index-84497a86.js.map → index-4cfa849d.js.map} +1 -1
- package/{index-c2f20322.js → index-a6620ba4.js} +2 -2
- package/{index-c2f20322.js.map → index-a6620ba4.js.map} +1 -1
- package/{index-2db9735a.js → index-b84202de.js} +2 -2
- package/{index-2db9735a.js.map → index-b84202de.js.map} +1 -1
- package/{index-fb7fd76d.js → index-d7a65767.js} +1 -1
- package/{index-fb7fd76d.js.map → index-d7a65767.js.map} +1 -1
- package/{index-e7ab483d.js → index-f266664f.js} +4 -4
- package/{index-e7ab483d.js.map → index-f266664f.js.map} +1 -1
- package/{index-14e5c46a.js → index-f5829dca.js} +5 -5
- package/{index-14e5c46a.js.map → index-f5829dca.js.map} +1 -1
- package/{index-ecc6d4a9.js → index-f608979d.js} +1 -1
- package/{index-ecc6d4a9.js.map → index-f608979d.js.map} +1 -1
- package/index.d.ts +24 -2
- package/index.js +33 -32
- package/index.js.map +1 -1
- package/{openChannelUtils-c694c77d.js → openChannelUtils-f8bde567.js} +1 -1
- package/{openChannelUtils-c694c77d.js.map → openChannelUtils-f8bde567.js.map} +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-ed906148.js → stringSet-4cfbe7bc.js} +1 -1
- package/{stringSet-ed906148.js.map → stringSet-4cfbe7bc.js.map} +1 -1
- package/{topics-398017ae.js → topics-58d21996.js} +1 -1
- package/{topics-398017ae.js.map → topics-58d21996.js.map} +1 -1
- package/{tslib.es6-84f8edfa.js → tslib.es6-9a4d0074.js} +1 -1
- package/{tslib.es6-84f8edfa.js.map → tslib.es6-9a4d0074.js.map} +1 -1
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +6 -5
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +8 -7
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +6 -5
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +9 -8
- package/ui/FileViewer.js.map +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +11 -10
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MessageContent.js +14 -13
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +10 -9
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +8 -7
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +6 -5
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +9 -9
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +13 -12
- package/ui/MessageStatus.js.map +1 -1
- package/ui/Modal.js +6 -6
- package/ui/OGMessageItemBody.js +11 -10
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +15 -14
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +15 -14
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +14 -13
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +15 -14
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +6 -6
- package/ui/QuoteMessage.js +7 -6
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +7 -6
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +11 -10
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +3 -2
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +7 -6
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +12 -11
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +9 -9
- package/ui/Word.js +11 -10
- package/ui/Word.js.map +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/getOutgoingMessageState.js +40 -0
- package/utils/message/getOutgoingMessageState.js.map +1 -0
- package/{utils-dc344408.js → utils-23048a3f.js} +1 -1
- package/{utils-dc344408.js.map → utils-23048a3f.js.map} +1 -1
- package/{utils-84904138.js → utils-59146385.js} +1 -1
- package/{utils-84904138.js.map → utils-59146385.js.map} +1 -1
- package/{utils-f96e8b5b.js → utils-9300425e.js} +1 -1
- package/{utils-f96e8b5b.js.map → utils-9300425e.js.map} +1 -1
- package/{uuid-bd74c65a.js → uuid-04e2d5ae.js} +1 -1
- package/{uuid-bd74c65a.js.map → uuid-04e2d5ae.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-5d6be9a8.js.map +0 -1
- package/ChannelProvider-106bb518.js.map +0 -1
- package/_rollupPluginBabelHelpers-b9099c54.js.map +0 -1
- package/cjs/ChannelListProvider-0ad296e7.js.map +0 -1
- package/cjs/ChannelProvider-7ef2ebd3.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-db7a8168.js.map +0 -1
- package/cjs/index-6ed6c13c.js.map +0 -1
- package/index-cc905e95.js.map +0 -1
package/ui/EmojiReactions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmojiReactions.js","sources":["../../src/ui/EmojiReactions/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useRef } from 'react';\nimport type { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { Emoji, EmojiContainer } from '@sendbird/chat';\n\nimport Tooltip from '../Tooltip';\nimport TooltipWrapper from '../TooltipWrapper';\nimport ReactionBadge from '../ReactionBadge';\nimport ReactionButton from '../ReactionButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ContextMenu, { EmojiListItems } from '../ContextMenu';\n\nimport { getClassName, getEmojiListAll, getEmojiMapAll, getEmojiTooltipString, isReactedBy } from '../../utils';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n message: UserMessage | FileMessage;\n emojiContainer: EmojiContainer;\n memberNicknamesMap: Map<string, string>;\n spaceFromTrigger?: Record<string, unknown>;\n isByMe?: boolean;\n toggleReaction?: (message: UserMessage | FileMessage, key: string, byMe: boolean) => void;\n}\n\nconst EmojiReactions = ({\n className,\n userId,\n message,\n emojiContainer,\n memberNicknamesMap,\n spaceFromTrigger = {},\n isByMe = false,\n toggleReaction,\n}: Props): ReactElement => {\n const { stringSet } = useContext(LocalizationContext);\n const emojisMap = getEmojiMapAll(emojiContainer);\n const addReactionRef = useRef(null);\n\n return (\n <div className={getClassName([\n className, 'sendbird-emoji-reactions',\n isByMe ? 'outgoing' : 'incoming',\n ])}>\n {(message?.reactions?.length > 0) && (\n message.reactions.map((reaction: Reaction): ReactElement => {\n const reactedByMe = isReactedBy(userId, reaction);\n return (\n <TooltipWrapper\n className=\"sendbird-emoji-reactions__reaction-badge\"\n key={reaction?.key}\n hoverTooltip={(reaction?.userIds?.length > 0) && (\n <Tooltip>\n {getEmojiTooltipString(reaction, userId, memberNicknamesMap, stringSet)}\n </Tooltip>\n )}\n >\n <ReactionBadge\n count={reaction.userIds.length}\n selected={reactedByMe}\n onClick={() => toggleReaction(message, reaction.key, reactedByMe)}\n >\n <ImageRenderer\n circle\n url={emojisMap.get(reaction?.key)?.url || ''}\n width=\"20px\"\n height=\"20px\"\n defaultComponent={(\n <Icon width=\"20px\" height=\"20px\" type={IconTypes.QUESTION} />\n )}\n />\n </ReactionBadge>\n </TooltipWrapper>\n );\n })\n )}\n {(message?.reactions?.length < emojisMap.size) && (\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <ReactionBadge\n className=\"sendbird-emoji-reactions__add-reaction-badge\"\n ref={addReactionRef}\n isAdd\n onClick={toggleDropdown}\n >\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"20px\"\n height=\"20px\"\n />\n </ReactionBadge>\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <EmojiListItems\n parentRef={addReactionRef}\n parentContainRef={addReactionRef}\n closeDropdown={closeDropdown}\n spacefromTrigger={spaceFromTrigger}\n >\n {getEmojiListAll(emojiContainer).map((emoji: Emoji): ReactElement => {\n const isReacted: boolean = message?.reactions?.\n filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]?.userIds?.\n some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width=\"36px\"\n height=\"36px\"\n selected={isReacted}\n onClick={(): void => {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n </EmojiListItems>\n )}\n />\n )}\n </div>\n );\n}\n\nexport default EmojiReactions;\n"],"names":["EmojiReactions","_a","className","userId","message","emojiContainer","memberNicknamesMap","_d","spaceFromTrigger","_e","isByMe","toggleReaction","stringSet","useContext","LocalizationContext","emojisMap","getEmojiMapAll","addReactionRef","useRef","React","getClassName","_b","reactions","length","map","reaction","reactedByMe","isReactedBy","key","userIds","getEmojiTooltipString","get","url","IconTypes","QUESTION","_c","size","toggleDropdown","EMOJI_MORE","IconColors","ON_BACKGROUND_3","closeDropdown","getEmojiListAll","emoji","isReacted","filter","some","reactorId","style"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmojiReactions.js","sources":["../../src/ui/EmojiReactions/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useRef } from 'react';\nimport type { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { Emoji, EmojiContainer } from '@sendbird/chat';\n\nimport Tooltip from '../Tooltip';\nimport TooltipWrapper from '../TooltipWrapper';\nimport ReactionBadge from '../ReactionBadge';\nimport ReactionButton from '../ReactionButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ContextMenu, { EmojiListItems } from '../ContextMenu';\n\nimport { getClassName, getEmojiListAll, getEmojiMapAll, getEmojiTooltipString, isReactedBy } from '../../utils';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n message: UserMessage | FileMessage;\n emojiContainer: EmojiContainer;\n memberNicknamesMap: Map<string, string>;\n spaceFromTrigger?: Record<string, unknown>;\n isByMe?: boolean;\n toggleReaction?: (message: UserMessage | FileMessage, key: string, byMe: boolean) => void;\n}\n\nconst EmojiReactions = ({\n className,\n userId,\n message,\n emojiContainer,\n memberNicknamesMap,\n spaceFromTrigger = {},\n isByMe = false,\n toggleReaction,\n}: Props): ReactElement => {\n const { stringSet } = useContext(LocalizationContext);\n const emojisMap = getEmojiMapAll(emojiContainer);\n const addReactionRef = useRef(null);\n\n return (\n <div className={getClassName([\n className, 'sendbird-emoji-reactions',\n isByMe ? 'outgoing' : 'incoming',\n ])}>\n {(message?.reactions?.length > 0) && (\n message.reactions.map((reaction: Reaction): ReactElement => {\n const reactedByMe = isReactedBy(userId, reaction);\n return (\n <TooltipWrapper\n className=\"sendbird-emoji-reactions__reaction-badge\"\n key={reaction?.key}\n hoverTooltip={(reaction?.userIds?.length > 0) && (\n <Tooltip>\n {getEmojiTooltipString(reaction, userId, memberNicknamesMap, stringSet)}\n </Tooltip>\n )}\n >\n <ReactionBadge\n count={reaction.userIds.length}\n selected={reactedByMe}\n onClick={() => toggleReaction(message, reaction.key, reactedByMe)}\n >\n <ImageRenderer\n circle\n url={emojisMap.get(reaction?.key)?.url || ''}\n width=\"20px\"\n height=\"20px\"\n defaultComponent={(\n <Icon width=\"20px\" height=\"20px\" type={IconTypes.QUESTION} />\n )}\n />\n </ReactionBadge>\n </TooltipWrapper>\n );\n })\n )}\n {(message?.reactions?.length < emojisMap.size) && (\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <ReactionBadge\n className=\"sendbird-emoji-reactions__add-reaction-badge\"\n ref={addReactionRef}\n isAdd\n onClick={toggleDropdown}\n >\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"20px\"\n height=\"20px\"\n />\n </ReactionBadge>\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <EmojiListItems\n parentRef={addReactionRef}\n parentContainRef={addReactionRef}\n closeDropdown={closeDropdown}\n spacefromTrigger={spaceFromTrigger}\n >\n {getEmojiListAll(emojiContainer).map((emoji: Emoji): ReactElement => {\n const isReacted: boolean = message?.reactions?.\n filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]?.userIds?.\n some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width=\"36px\"\n height=\"36px\"\n selected={isReacted}\n onClick={(): void => {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n </EmojiListItems>\n )}\n />\n )}\n </div>\n );\n}\n\nexport default EmojiReactions;\n"],"names":["EmojiReactions","_a","className","userId","message","emojiContainer","memberNicknamesMap","_d","spaceFromTrigger","_e","isByMe","toggleReaction","stringSet","useContext","LocalizationContext","emojisMap","getEmojiMapAll","addReactionRef","useRef","React","getClassName","_b","reactions","length","map","reaction","reactedByMe","isReactedBy","key","userIds","getEmojiTooltipString","get","url","IconTypes","QUESTION","_c","size","toggleDropdown","EMOJI_MORE","IconColors","ON_BACKGROUND_3","closeDropdown","getEmojiListAll","emoji","isReacted","filter","some","reactorId","style"],"mappings":";;;;;;;;;;;;;;;;;;;;AA2BA,IAAMA,cAAc,GAAG,UAACC,EAAD,EASf;;;AARN,EAAA,IAAAC,SAAS,GAAAD,EAAA,CAAAC,SAAT;AAAA,MACAC,MAAM,GAAAF,EAAA,CAAAE,MADN;AAAA,MAEAC,OAAO,GAAAH,EAAA,CAAAG,OAFP;AAAA,MAGAC,cAAc,GAAAJ,EAAA,CAAAI,cAHd;AAAA,MAIAC,kBAAkB,GAAAL,EAAA,CAAAK,kBAJlB;AAAA,MAKAC,EAAqB,GAAAN,EAAA,CAAAO,gBALrB;MAKAA,gBAAgB,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,EAAH,GAAKA,EALrB;AAAA,MAMAE,EAAA,GAAAR,EAAA,CAAAS,MANA;MAMAA,MAAM,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA,EANd;AAAA,MAOAE,cAAc,GAAAV,EAAA,CAAAU,cAPd,CAAA;AASQ,EAAA,IAAAC,SAAS,GAAKC,UAAU,CAACC,mBAAD,CAAV,UAAd,CAAA;AACR,EAAA,IAAMC,SAAS,GAAGC,cAAc,CAACX,cAAD,CAAhC,CAAA;AACA,EAAA,IAAMY,cAAc,GAAGC,MAAM,CAAC,IAAD,CAA7B,CAAA;EAEA,oBACEC,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAEC,YAAY,CAAC,CAC3BlB,SAD2B,EAChB,0BADgB,EAE3BQ,MAAM,GAAG,UAAH,GAAgB,UAFK,CAAD,CAAA;GAIxB,EAAA,CAAA,CAAAW,EAAA,GAAAjB,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEkB,SAAT,MAAoB,IAApB,IAAoBD,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoBA,EAAA,CAAAE,MAApB,IAA6B,CAA9B,IACCnB,OAAO,CAACkB,SAAR,CAAkBE,GAAlB,CAAsB,UAACC,QAAD,EAAmB;;;AACvC,IAAA,IAAMC,WAAW,GAAGC,WAAW,CAACxB,MAAD,EAASsB,QAAT,CAA/B,CAAA;AACA,IAAA,oBACEN,6BAAC,cAAD,EAAA;AACE,MAAA,SAAS,EAAC,0CADZ;AAEE,MAAA,GAAG,EAAEM,QAAQ,SAAR,IAAAA,QAAQ,KAAA,KAAA,CAAR,GAAQ,KAAA,CAAR,GAAAA,QAAQ,CAAEG,GAFjB;MAGE,YAAY,EAAG,CAAA,CAAA3B,EAAA,GAAAwB,QAAQ,KAAR,IAAA,IAAAA,QAAQ,WAAR,SAAA,GAAAA,QAAQ,CAAEI,OAAV,MAAmB,IAAnB,IAAmB5B,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmBA,EAAA,CAAAsB,MAAnB,IAA4B,CAA7B,iBACZJ,6BAAC,OAAD,EAAA,IAAA,EACGW,qBAAqB,CAACL,QAAD,EAAWtB,MAAX,EAAmBG,kBAAnB,EAAuCM,SAAvC,CADxB,CAAA;AAJJ,KAAA,eASEO,6BAAC,aAAD,EAAA;AACE,MAAA,KAAK,EAAEM,QAAQ,CAACI,OAAT,CAAiBN,MAD1B;AAEE,MAAA,QAAQ,EAAEG,WAFZ;AAGE,MAAA,OAAO,EAAE,YAAM;QAAA,OAAAf,cAAc,CAACP,OAAD,EAAUqB,QAAQ,CAACG,GAAnB,EAAwBF,WAAxB,CAAd,CAAA;AAAkD,OAAA;AAHnE,KAAA,eAKEP,6BAAC,aAAD,EAAA;AACE,MAAA,MAAM,EADR,IAAA;AAEE,MAAA,GAAG,EAAE,CAAA,CAAAE,EAAA,GAAAN,SAAS,CAACgB,GAAV,CAAcN,QAAQ,KAAR,IAAA,IAAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,QAAQ,CAAEG,GAAxB,CAAA,MAA4B,IAA5B,IAA4BP,EAAA,KAAA,KAAA,CAA5B,GAA4B,KAAA,CAA5B,GAA4BA,EAAA,CAAEW,GAA9B,KAAqC,EAF5C;AAGE,MAAA,KAAK,EAAC,MAHR;AAIE,MAAA,MAAM,EAAC,MAJT;MAKE,gBAAgB,eACdb,6BAAC,IAAD,EAAA;AAAM,QAAA,KAAK,EAAC,MAAZ;AAAmB,QAAA,MAAM,EAAC,MAA1B;QAAiC,IAAI,EAAEc,SAAS,CAACC,QAAAA;AAAjD,OAAA,CAAA;AANJ,KAAA,CALF,CATF,CADF,CAAA;AA2BD,GA7BD,CALJ,EAoCI,CAAA,CAAAC,EAAA,GAAA/B,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEkB,SAAT,MAAkB,IAAlB,IAAkBa,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAAEZ,MAApB,IAA6BR,SAAS,CAACqB,IAAxC,iBACCjB,6BAAC,WAAD,EAAA;IACE,WAAW,EAAE,UAACkB,cAAD,EAA2B;AAAmB,MAAA,oBACzDlB,6BAAC,aAAD,EAAA;AACE,QAAA,SAAS,EAAC,8CADZ;AAEE,QAAA,GAAG,EAAEF,cAFP;AAGE,QAAA,KAAK,EAHP,IAAA;AAIE,QAAA,OAAO,EAAEoB,cAAAA;AAJX,OAAA,eAMElB,6BAAC,IAAD,EAAA;QACE,IAAI,EAAEc,SAAS,CAACK,UADlB;QAEE,SAAS,EAAEC,UAAU,CAACC,eAFxB;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAAA;AAJT,OAAA,CANF,CADyD,CAAA;KAD7D;IAgBE,SAAS,EAAE,UAACC,aAAD,EAA6C;AAAA,MAAA,oBACtDtB,6BAAC,cAAD,EAAA;AACE,QAAA,SAAS,EAAEF,cADb;AAEE,QAAA,gBAAgB,EAAEA,cAFpB;AAGE,QAAA,aAAa,EAAEwB,aAHjB;AAIE,QAAA,gBAAgB,EAAEjC,gBAAAA;OAEjBkC,EAAAA,eAAe,CAACrC,cAAD,CAAf,CAAgCmB,GAAhC,CAAoC,UAACmB,KAAD,EAAa;;;AAChD,QAAA,IAAMC,SAAS,GAAY,CAAAT,EAAA,GAAA,CAAAd,EAAA,GAAA,MAAAjB,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEkB,SAAT,MAAkB,IAAlB,IAAkBrB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkBA,EAAA,CAC3C4C,MAD2C,CACpC,UAACpB,QAAD,EAAiC;AAAA,UAAA,OAAAA,QAAQ,CAACG,GAAT,KAAiBe,KAAK,CAACf,GAAvB,CAAA;AAA0B,SADvB,CACyB,CAAA,CADzB,CAAlB,MAC6C,IAD7C,IAC6CP,EAAA,KAAA,KAAA,CAD7C,GAC6C,KAAA,CAD7C,GAC6CA,EAAA,CAAEQ,OAD/C,MAEzB,IAFyB,IAEzBM,EAAA,KAAA,KAAA,CAFyB,GAEzB,KAAA,CAFyB,GAEzBA,EAAA,CAAAW,IAAA,CAAK,UAACC,SAAD;UAAgC,OAAAA,SAAS,KAAK5C,MAAd,CAAA;AAAoB,SAAzD,CAFF,CAAA;AAGA,QAAA,oBACEgB,6BAAC,cAAD,EAAA;UACE,GAAG,EAAEwB,KAAK,CAACf,GADb;AAEE,UAAA,KAAK,EAAC,MAFR;AAGE,UAAA,MAAM,EAAC,MAHT;AAIE,UAAA,QAAQ,EAAEgB,SAJZ;AAKE,UAAA,OAAO,EAAE,YAAA;YACPH,aAAa,EAAA,CAAA;YACb9B,cAAc,CAACP,OAAD,EAAUuC,KAAK,CAACf,GAAhB,EAAqBgB,SAArB,CAAd,CAAA;AACD,WAAA;AARH,SAAA,eAUEzB,6BAAC,aAAD,EAAA;AACE,UAAA,GAAG,EAAE,CAAAwB,KAAK,KAAL,IAAA,IAAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,KAAK,CAAEX,GAAP,KAAc,EADrB;AAEE,UAAA,KAAK,EAAC,MAFR;AAGE,UAAA,MAAM,EAAC,MAHT;UAIE,WAAW,EAAE,UAACgB,KAAD,EAA+B;YAAmB,oBAC7D7B,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,cAAA,KAAK,EAAE6B,KAAAA;AAAZ,aAAA,eACE7B,6BAAC,IAAD,EAAA;cACE,IAAI,EAAEc,SAAS,CAACC,QADlB;cAEE,SAAS,EAAEK,UAAU,CAACC,eAFxB;AAGE,cAAA,KAAK,EAAC,MAHR;AAIE,cAAA,MAAM,EAAC,MAAA;AAJT,aAAA,CADF,CAD6D,CAAA;AAS9D,WAAA;AAbH,SAAA,CAVF,CADF,CAAA;AA4BD,OAhCA,CANH,CADsD,CAAA;AAyCvD,KAAA;AAzDH,GAAA,CArCJ,CADF,CAAA;AAoGD;;;;"}
|
|
@@ -1,12 +1,13 @@
|
|
|
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-a6620ba4.js';
|
|
3
3
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
4
4
|
import TextButton from './TextButton.js';
|
|
5
|
-
import {
|
|
6
|
-
import { C as Colors } from '../color-
|
|
5
|
+
import { h as getClassName, J as getUIKitFileType, t as truncateString } from '../index-480fdda4.js';
|
|
6
|
+
import { C as Colors } from '../color-b8fbee14.js';
|
|
7
7
|
import 'prop-types';
|
|
8
|
-
import '../stringSet-
|
|
9
|
-
import '../tslib.es6-
|
|
8
|
+
import '../stringSet-4cfbe7bc.js';
|
|
9
|
+
import '../tslib.es6-9a4d0074.js';
|
|
10
|
+
import '../utils/message/getOutgoingMessageState.js';
|
|
10
11
|
|
|
11
12
|
function FileMessageItemBody(_a) {
|
|
12
13
|
var _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileMessageItemBody.js","sources":["../../src/ui/FileMessageItemBody/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport TextButton from '../TextButton';\nimport { getClassName, getUIKitFileType, truncateString } from '../../utils';\nimport { Colors } from '../../utils/color';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n isReactionEnabled?: boolean;\n}\n\nexport default function FileMessageItemBody({\n className,\n message,\n isByMe = false,\n mouseHover = false,\n isReactionEnabled = false,\n}: Props): ReactElement {\n\n return (\n <div className={getClassName([\n className,\n 'sendbird-file-message-item-body',\n isByMe ? 'outgoing' : 'incoming',\n mouseHover ? 'mouse-hover' : '',\n (isReactionEnabled && message?.reactions?.length > 0) ? 'reactions' : '',\n ])}>\n <div className=\"sendbird-file-message-item-body__file-icon\">\n <Icon\n className=\"sendbird-file-message-item-body__file-icon__icon\"\n type={{\n IMAGE: IconTypes.PHOTO,\n VIDEO: IconTypes.PLAY,\n AUDIO: IconTypes.FILE_AUDIO,\n GIF: IconTypes.GIF,\n OTHERS: IconTypes.FILE_DOCUMENT,\n }[getUIKitFileType(message?.type)]}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n <TextButton\n className=\"sendbird-file-message-item-body__file-name\"\n onClick={() => { window.open(message?.url) }}\n color={isByMe ? Colors.ONCONTENT_1 : Colors.ONBACKGROUND_1}\n >\n <Label\n className=\"sendbird-file-message-item-body__file-name__text\"\n type={LabelTypography.BODY_1}\n color={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n >\n {truncateString(message?.name || message?.url)}\n </Label>\n </TextButton>\n </div>\n );\n}\n"],"names":["FileMessageItemBody","_a","className","message","_c","isByMe","_d","mouseHover","_e","isReactionEnabled","React","getClassName","_b","reactions","length","IMAGE","IconTypes","PHOTO","VIDEO","PLAY","AUDIO","FILE_AUDIO","GIF","OTHERS","FILE_DOCUMENT","getUIKitFileType","type","IconColors","PRIMARY","window","open","url","Colors","ONCONTENT_1","ONBACKGROUND_1","LabelTypography","BODY_1","LabelColors","truncateString","name"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileMessageItemBody.js","sources":["../../src/ui/FileMessageItemBody/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement } from 'react';\nimport type { FileMessage } from '@sendbird/chat/message';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport TextButton from '../TextButton';\nimport { getClassName, getUIKitFileType, truncateString } from '../../utils';\nimport { Colors } from '../../utils/color';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n isReactionEnabled?: boolean;\n}\n\nexport default function FileMessageItemBody({\n className,\n message,\n isByMe = false,\n mouseHover = false,\n isReactionEnabled = false,\n}: Props): ReactElement {\n\n return (\n <div className={getClassName([\n className,\n 'sendbird-file-message-item-body',\n isByMe ? 'outgoing' : 'incoming',\n mouseHover ? 'mouse-hover' : '',\n (isReactionEnabled && message?.reactions?.length > 0) ? 'reactions' : '',\n ])}>\n <div className=\"sendbird-file-message-item-body__file-icon\">\n <Icon\n className=\"sendbird-file-message-item-body__file-icon__icon\"\n type={{\n IMAGE: IconTypes.PHOTO,\n VIDEO: IconTypes.PLAY,\n AUDIO: IconTypes.FILE_AUDIO,\n GIF: IconTypes.GIF,\n OTHERS: IconTypes.FILE_DOCUMENT,\n }[getUIKitFileType(message?.type)]}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </div>\n <TextButton\n className=\"sendbird-file-message-item-body__file-name\"\n onClick={() => { window.open(message?.url) }}\n color={isByMe ? Colors.ONCONTENT_1 : Colors.ONBACKGROUND_1}\n >\n <Label\n className=\"sendbird-file-message-item-body__file-name__text\"\n type={LabelTypography.BODY_1}\n color={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n >\n {truncateString(message?.name || message?.url)}\n </Label>\n </TextButton>\n </div>\n );\n}\n"],"names":["FileMessageItemBody","_a","className","message","_c","isByMe","_d","mouseHover","_e","isReactionEnabled","React","getClassName","_b","reactions","length","IMAGE","IconTypes","PHOTO","VIDEO","PLAY","AUDIO","FILE_AUDIO","GIF","OTHERS","FILE_DOCUMENT","getUIKitFileType","type","IconColors","PRIMARY","window","open","url","Colors","ONCONTENT_1","ONBACKGROUND_1","LabelTypography","BODY_1","LabelColors","truncateString","name"],"mappings":";;;;;;;;;;;AAkBwB,SAAAA,mBAAA,CAAoBC,EAApB,EAMhB;;;MALNC,SAAS,GAAAD,EAAA,CAAAC;MACTC,OAAO,GAAAF,EAAA,CAAAE;MACPC;MAAAC,MAAM,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA;MACdE;MAAAC,UAAU,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA;MAClBE;MAAAC,iBAAiB,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAKA;EAGzB,oBACEE,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAEC,YAAY,CAAC,CAC3BT,SAD2B,EAE3B,iCAF2B,EAG3BG,MAAM,GAAG,UAAH,GAAgB,UAHK,EAI3BE,UAAU,GAAG,aAAH,GAAmB,EAJF,EAK1BE,iBAAiB,IAAI,CAAA,CAAAG,EAAA,GAAAT,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEU,SAAT,UAAA,iBAAA,SAAA,MAAoBC,MAApB,IAA6B,CAAnD,GAAwD,WAAxD,GAAsE,EAL3C,CAAD,CAAA;GAO1B,eAAAJ,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,4CAAA;AAAf,GAAA,eACEA,6BAAC,IAAD,EAAA;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAE;MACJK,KAAK,EAAEC,SAAS,CAACC,KADb;MAEJC,KAAK,EAAEF,SAAS,CAACG,IAFb;MAGJC,KAAK,EAAEJ,SAAS,CAACK,UAHb;MAIJC,GAAG,EAAEN,SAAS,CAACM,GAJX;MAKJC,MAAM,EAAEP,SAAS,CAACQ,aAAAA;AALd,KAAA,CAMJC,gBAAgB,CAACtB,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEuB,IAAV,CANZ,CAFR;IASE,SAAS,EAAEC,UAAU,CAACC,OATxB;AAUE,IAAA,KAAK,EAAC,MAVR;AAWE,IAAA,MAAM,EAAC,MAAA;GAZX,CAAA,CAPF,eAsBElB,cAAA,CAAA,aAAA,CAAC,UAAD,EAAA;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,IAAA,OAAO,EAAE,YAAA;AAAQmB,MAAAA,MAAM,CAACC,IAAP,CAAY3B,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE4B,GAArB,CAAA,CAAA;KAFnB;IAGE,KAAK,EAAE1B,MAAM,GAAG2B,MAAM,CAACC,WAAV,GAAwBD,MAAM,CAACE,cAAAA;AAH9C,GAAA,eAKExB,6BAAC,KAAD,EAAA;AACE,IAAA,SAAS,EAAC,kDADZ;IAEE,IAAI,EAAEyB,eAAe,CAACC,MAFxB;IAGE,KAAK,EAAE/B,MAAM,GAAGgC,WAAW,CAACJ,WAAf,GAA6BI,WAAW,CAACH,cAAAA;AAHxD,GAAA,EAKGI,cAAc,CAAC,CAAAnC,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEoC,IAAT,MAAiBpC,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE4B,GAA1B,CAAD,CALjB,CALF,CAtBF,CADF,CAAA;AAsCD;;;;"}
|
package/ui/FileViewer.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import React__default, { useContext } from 'react';
|
|
2
2
|
import { createPortal } from 'react-dom';
|
|
3
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
4
|
-
import { M as MODAL_ROOT } from '../index-
|
|
5
|
-
import {
|
|
3
|
+
import { a as LocalizationContext } from '../LocalizationContext-83cab487.js';
|
|
4
|
+
import { M as MODAL_ROOT } from '../index-f608979d.js';
|
|
5
|
+
import { y as isSupportedFileView, z as isVideo, A as isImage } from '../index-480fdda4.js';
|
|
6
6
|
import Avatar from './Avatar.js';
|
|
7
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
7
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-a6620ba4.js';
|
|
8
8
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
9
|
-
import '../stringSet-
|
|
10
|
-
import '../index-
|
|
11
|
-
import '../tslib.es6-
|
|
9
|
+
import '../stringSet-4cfbe7bc.js';
|
|
10
|
+
import '../index-d7a65767.js';
|
|
11
|
+
import '../tslib.es6-9a4d0074.js';
|
|
12
|
+
import '../utils/message/getOutgoingMessageState.js';
|
|
12
13
|
import './ImageRenderer.js';
|
|
13
|
-
import '../uuid-
|
|
14
|
+
import '../uuid-04e2d5ae.js';
|
|
14
15
|
import 'prop-types';
|
|
15
16
|
|
|
16
17
|
var FileViewerComponent = function (_a) {
|
package/ui/FileViewer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileViewer.js","sources":["../../src/ui/FileViewer/index.tsx"],"sourcesContent":["import React, { MouseEvent, ReactElement, useContext } from 'react';\nimport { FileMessage } from '@sendbird/chat/message';\nimport { createPortal } from 'react-dom';\n\nimport './index.scss';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { MODAL_ROOT } from '../../hooks/useModal/ModalRoot';\nimport { isImage, isVideo, isSupportedFileView } from '../../utils';\n\nimport Avatar from '../Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconColors, IconTypes } from '../Icon';\n\ninterface SenderInfo {\n profileUrl: string;\n nickname: string;\n}\ninterface FileInfo {\n name: string;\n type: string;\n url: string;\n}\nexport interface FileViewerComponentProps extends SenderInfo, FileInfo {\n isByMe?: boolean;\n disableDelete?: boolean;\n onClose: (e: MouseEvent<HTMLDivElement>) => void;\n onDelete: (e: MouseEvent<HTMLDivElement>) => void;\n}\n\nexport const FileViewerComponent = ({\n profileUrl,\n nickname,\n name,\n type,\n url,\n isByMe = true,\n disableDelete = false,\n onClose,\n onDelete,\n}: FileViewerComponentProps): ReactElement => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-fileviewer\">\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div\n className=\"sendbird-fileviewer__header__right\"\n >\n {\n isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\" >\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n {\n onDelete && isByMe && (\n <div className=\"sendbird-fileviewer__header__right__actions__delete\">\n <Icon\n className={disableDelete ? 'disabled' : ''}\n type={IconTypes.DELETE}\n fillColor={disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={(e) => { if (!disableDelete) { onDelete?.(e); } }}\n />\n </div>\n )\n }\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={(e) => onClose?.(e)}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n <video\n controls\n className=\"sendbird-fileviewer__content__video\"\n >\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className=\"sendbird-fileviewer__content__img\"\n />\n )\n }\n {\n !isSupportedFileView(type) && (\n <div\n className=\"sendbird-fileviewer__content__unsupported\"\n >\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.UI__FILE_VIEWER__UNSUPPORT || 'Unsupported message'}\n </Label>\n </div>\n )\n }\n </div>\n </div>\n );\n};\n\nexport interface FileViewerProps {\n message: FileMessage;\n isByMe?: boolean;\n onClose: (e: MouseEvent<HTMLDivElement>) => void;\n onDelete: (e: MouseEvent<HTMLDivElement>) => void;\n}\n\nexport default function FileViewer({\n message,\n isByMe = false,\n onClose,\n onDelete,\n}: FileViewerProps): ReactElement {\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={message?.sender?.profileUrl}\n nickname={message?.sender?.nickname}\n name={message?.name}\n type={message?.type}\n url={message?.url}\n isByMe={isByMe}\n disableDelete={message?.threadInfo?.replyCount > 0}\n onClose={onClose}\n onDelete={onDelete}\n />\n ),\n document.getElementById(MODAL_ROOT),\n );\n}\n"],"names":["FileViewerComponent","_a","profileUrl","nickname","name","type","url","_b","isByMe","_c","disableDelete","onClose","onDelete","stringSet","useContext","LocalizationContext","React","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","IconTypes","DOWNLOAD","IconColors","ON_BACKGROUND_1","DELETE","GRAY","e","CLOSE","isVideo","isImage","H_1","UI__FILE_VIEWER__UNSUPPORT","FileViewer","message","_e","createPortal","sender","_d","threadInfo","replyCount","document","getElementById","MODAL_ROOT"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileViewer.js","sources":["../../src/ui/FileViewer/index.tsx"],"sourcesContent":["import React, { MouseEvent, ReactElement, useContext } from 'react';\nimport { FileMessage } from '@sendbird/chat/message';\nimport { createPortal } from 'react-dom';\n\nimport './index.scss';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { MODAL_ROOT } from '../../hooks/useModal/ModalRoot';\nimport { isImage, isVideo, isSupportedFileView } from '../../utils';\n\nimport Avatar from '../Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconColors, IconTypes } from '../Icon';\n\ninterface SenderInfo {\n profileUrl: string;\n nickname: string;\n}\ninterface FileInfo {\n name: string;\n type: string;\n url: string;\n}\nexport interface FileViewerComponentProps extends SenderInfo, FileInfo {\n isByMe?: boolean;\n disableDelete?: boolean;\n onClose: (e: MouseEvent<HTMLDivElement>) => void;\n onDelete: (e: MouseEvent<HTMLDivElement>) => void;\n}\n\nexport const FileViewerComponent = ({\n profileUrl,\n nickname,\n name,\n type,\n url,\n isByMe = true,\n disableDelete = false,\n onClose,\n onDelete,\n}: FileViewerComponentProps): ReactElement => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-fileviewer\">\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div\n className=\"sendbird-fileviewer__header__right\"\n >\n {\n isSupportedFileView(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\" >\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n {\n onDelete && isByMe && (\n <div className=\"sendbird-fileviewer__header__right__actions__delete\">\n <Icon\n className={disableDelete ? 'disabled' : ''}\n type={IconTypes.DELETE}\n fillColor={disableDelete ? IconColors.GRAY : IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={(e) => { if (!disableDelete) { onDelete?.(e); } }}\n />\n </div>\n )\n }\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.ON_BACKGROUND_1}\n height=\"24px\"\n width=\"24px\"\n onClick={(e) => onClose?.(e)}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n <video\n controls\n className=\"sendbird-fileviewer__content__video\"\n >\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className=\"sendbird-fileviewer__content__img\"\n />\n )\n }\n {\n !isSupportedFileView(type) && (\n <div\n className=\"sendbird-fileviewer__content__unsupported\"\n >\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet?.UI__FILE_VIEWER__UNSUPPORT || 'Unsupported message'}\n </Label>\n </div>\n )\n }\n </div>\n </div>\n );\n};\n\nexport interface FileViewerProps {\n message: FileMessage;\n isByMe?: boolean;\n onClose: (e: MouseEvent<HTMLDivElement>) => void;\n onDelete: (e: MouseEvent<HTMLDivElement>) => void;\n}\n\nexport default function FileViewer({\n message,\n isByMe = false,\n onClose,\n onDelete,\n}: FileViewerProps): ReactElement {\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={message?.sender?.profileUrl}\n nickname={message?.sender?.nickname}\n name={message?.name}\n type={message?.type}\n url={message?.url}\n isByMe={isByMe}\n disableDelete={message?.threadInfo?.replyCount > 0}\n onClose={onClose}\n onDelete={onDelete}\n />\n ),\n document.getElementById(MODAL_ROOT),\n );\n}\n"],"names":["FileViewerComponent","_a","profileUrl","nickname","name","type","url","_b","isByMe","_c","disableDelete","onClose","onDelete","stringSet","useContext","LocalizationContext","React","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","BODY_1","ONBACKGROUND_2","isSupportedFileView","IconTypes","DOWNLOAD","IconColors","ON_BACKGROUND_1","DELETE","GRAY","e","CLOSE","isVideo","isImage","H_1","UI__FILE_VIEWER__UNSUPPORT","FileViewer","message","_e","createPortal","sender","_d","threadInfo","replyCount","document","getElementById","MODAL_ROOT"],"mappings":"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"}
|
package/ui/IconButton.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as __spreadArray, _ as __assign } from '../tslib.es6-
|
|
1
|
+
import { a as __spreadArray, _ as __assign } from '../tslib.es6-9a4d0074.js';
|
|
2
2
|
import React__default, { useState } from 'react';
|
|
3
3
|
|
|
4
4
|
var IconButton = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
package/ui/ImageRenderer.js
CHANGED
package/ui/Input.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React__default, { useState } 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-a6620ba4.js';
|
|
3
3
|
import 'prop-types';
|
|
4
|
-
import '../stringSet-
|
|
4
|
+
import '../stringSet-4cfbe7bc.js';
|
|
5
5
|
|
|
6
6
|
var InputLabel = function (_a) {
|
|
7
7
|
var children = _a.children;
|
package/ui/Label.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import 'prop-types';
|
|
3
|
-
export { b as LabelColors, c as LabelStringSet, a as LabelTypography, L as default } from '../index-
|
|
4
|
-
import '../stringSet-
|
|
3
|
+
export { b as LabelColors, c as LabelStringSet, a as LabelTypography, L as default } from '../index-a6620ba4.js';
|
|
4
|
+
import '../stringSet-4cfbe7bc.js';
|
|
5
5
|
//# sourceMappingURL=Label.js.map
|
package/ui/LinkLabel.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { d as changeColorToClassName, L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
4
|
-
import '../stringSet-
|
|
3
|
+
import { d as changeColorToClassName, L as Label, a as LabelTypography, b as LabelColors } from '../index-a6620ba4.js';
|
|
4
|
+
import '../stringSet-4cfbe7bc.js';
|
|
5
5
|
|
|
6
6
|
const http = /https?:\/\//;
|
|
7
7
|
function LinkLabel(_ref) {
|
package/ui/Loader.js
CHANGED
package/ui/MentionLabel.js
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import React__default, { useRef, useState, useCallback } from 'react';
|
|
2
2
|
import ContextMenu, { MenuItems } from './ContextMenu.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-a6620ba4.js';
|
|
4
4
|
import ConnectedUserProfile from './UserProfile.js';
|
|
5
5
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
6
|
-
import '../tslib.es6-
|
|
6
|
+
import '../tslib.es6-9a4d0074.js';
|
|
7
7
|
import 'react-dom';
|
|
8
8
|
import './SortByRow.js';
|
|
9
|
-
import '../uuid-
|
|
10
|
-
import '../index-
|
|
9
|
+
import '../uuid-04e2d5ae.js';
|
|
10
|
+
import '../index-480fdda4.js';
|
|
11
|
+
import '../utils/message/getOutgoingMessageState.js';
|
|
11
12
|
import 'prop-types';
|
|
12
|
-
import '../stringSet-
|
|
13
|
-
import '../LocalizationContext-
|
|
14
|
-
import '../index-
|
|
13
|
+
import '../stringSet-4cfbe7bc.js';
|
|
14
|
+
import '../LocalizationContext-83cab487.js';
|
|
15
|
+
import '../index-d7a65767.js';
|
|
15
16
|
import '../withSendbird.js';
|
|
16
|
-
import '../_rollupPluginBabelHelpers-
|
|
17
|
+
import '../_rollupPluginBabelHelpers-008a1844.js';
|
|
17
18
|
import '../sendbirdSelectors.js';
|
|
18
|
-
import '../topics-
|
|
19
|
-
import '../utils-
|
|
19
|
+
import '../topics-58d21996.js';
|
|
20
|
+
import '../utils-23048a3f.js';
|
|
20
21
|
import './Avatar.js';
|
|
21
22
|
import './ImageRenderer.js';
|
|
22
23
|
import './Icon.js';
|
package/ui/MentionLabel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MentionLabel.js","sources":["../../src/ui/MentionLabel/index.tsx"],"sourcesContent":["import './index.scss';\n\nimport React, {\n ReactElement,\n useRef,\n useState,\n useCallback,\n} from 'react';\nimport type { User } from '@sendbird/chat';\n\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport UserProfile from '../UserProfile';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\n\ninterface MentionLabelProps {\n mentionTemplate: string;\n mentionedUserId: string;\n mentionedUserNickname: string;\n isByMe: boolean;\n}\n\nexport default function MentionLabel(props: MentionLabelProps): JSX.Element {\n const {\n mentionTemplate,\n mentionedUserId,\n mentionedUserNickname,\n isByMe,\n } = props;\n\n const mentionRef = useRef();\n\n const sendbirdState = useSendbirdStateContext();\n const userId = sendbirdState?.config?.userId;\n const sdk = sendbirdState?.stores?.sdkStore?.sdk;\n const amIBeingMentioned = userId === mentionedUserId;\n const [user, setUser] = useState<User| null>();\n const fetchUser = useCallback(\n (toggleDropdown) => {\n if (user || !sdk?.createApplicationUserListQuery) {\n toggleDropdown();\n return;\n }\n const query = sdk?.createApplicationUserListQuery({\n userIdsFilter: [mentionedUserId],\n });\n query.next().then((members) => {\n if (members?.length > 0) {\n setUser(members[0]);\n }\n toggleDropdown();\n });\n },\n [sdk, mentionedUserId],\n );\n return (\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <a\n className={`\n sendbird-word__mention\n ${amIBeingMentioned ? 'sendbird-word__mention--me' : ''}\n `}\n onClick={() => fetchUser(toggleDropdown)}\n ref={mentionRef}\n >\n <Label\n type={LabelTypography.CAPTION_1}\n color={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n >\n {`${mentionTemplate}${mentionedUserNickname}`}\n </Label>\n </a>\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={mentionRef}\n parentContainRef={mentionRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n <UserProfile user={user} onSuccess={closeDropdown} />\n </MenuItems>\n )}\n />\n )\n}\n"],"names":["MentionLabel","props","mentionTemplate","mentionedUserId","mentionedUserNickname","isByMe","mentionRef","useRef","sendbirdState","useSendbirdStateContext","userId","_a","config","sdk","_c","_b","stores","sdkStore","amIBeingMentioned","_d","useState","user","setUser","fetchUser","useCallback","toggleDropdown","createApplicationUserListQuery","query","userIdsFilter","next","then","members","length","React","concat","LabelTypography","CAPTION_1","LabelColors","ONCONTENT_1","ONBACKGROUND_1","closeDropdown","paddingTop","paddingBottom","UserProfile"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MentionLabel.js","sources":["../../src/ui/MentionLabel/index.tsx"],"sourcesContent":["import './index.scss';\n\nimport React, {\n ReactElement,\n useRef,\n useState,\n useCallback,\n} from 'react';\nimport type { User } from '@sendbird/chat';\n\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport UserProfile from '../UserProfile';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\n\ninterface MentionLabelProps {\n mentionTemplate: string;\n mentionedUserId: string;\n mentionedUserNickname: string;\n isByMe: boolean;\n}\n\nexport default function MentionLabel(props: MentionLabelProps): JSX.Element {\n const {\n mentionTemplate,\n mentionedUserId,\n mentionedUserNickname,\n isByMe,\n } = props;\n\n const mentionRef = useRef();\n\n const sendbirdState = useSendbirdStateContext();\n const userId = sendbirdState?.config?.userId;\n const sdk = sendbirdState?.stores?.sdkStore?.sdk;\n const amIBeingMentioned = userId === mentionedUserId;\n const [user, setUser] = useState<User| null>();\n const fetchUser = useCallback(\n (toggleDropdown) => {\n if (user || !sdk?.createApplicationUserListQuery) {\n toggleDropdown();\n return;\n }\n const query = sdk?.createApplicationUserListQuery({\n userIdsFilter: [mentionedUserId],\n });\n query.next().then((members) => {\n if (members?.length > 0) {\n setUser(members[0]);\n }\n toggleDropdown();\n });\n },\n [sdk, mentionedUserId],\n );\n return (\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <a\n className={`\n sendbird-word__mention\n ${amIBeingMentioned ? 'sendbird-word__mention--me' : ''}\n `}\n onClick={() => fetchUser(toggleDropdown)}\n ref={mentionRef}\n >\n <Label\n type={LabelTypography.CAPTION_1}\n color={isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1}\n >\n {`${mentionTemplate}${mentionedUserNickname}`}\n </Label>\n </a>\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={mentionRef}\n parentContainRef={mentionRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n <UserProfile user={user} onSuccess={closeDropdown} />\n </MenuItems>\n )}\n />\n )\n}\n"],"names":["MentionLabel","props","mentionTemplate","mentionedUserId","mentionedUserNickname","isByMe","mentionRef","useRef","sendbirdState","useSendbirdStateContext","userId","_a","config","sdk","_c","_b","stores","sdkStore","amIBeingMentioned","_d","useState","user","setUser","fetchUser","useCallback","toggleDropdown","createApplicationUserListQuery","query","userIdsFilter","next","then","members","length","React","concat","LabelTypography","CAPTION_1","LabelColors","ONCONTENT_1","ONBACKGROUND_1","closeDropdown","paddingTop","paddingBottom","UserProfile"],"mappings":"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"}
|
package/ui/MessageContent.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React__default, { useContext, useRef, useState } from 'react';
|
|
2
|
-
import { f as format } from '../index-
|
|
2
|
+
import { f as format } from '../index-b84202de.js';
|
|
3
3
|
import Avatar from './Avatar.js';
|
|
4
4
|
import ConnectedUserProfile from './UserProfile.js';
|
|
5
5
|
import MessageStatus from './MessageStatus.js';
|
|
6
6
|
import MessageItemMenu from './MessageItemMenu.js';
|
|
7
7
|
import MessageItemReactionMenu from './MessageItemReactionMenu.js';
|
|
8
8
|
import ContextMenu, { MenuItems } from './ContextMenu.js';
|
|
9
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
9
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-a6620ba4.js';
|
|
10
10
|
import EmojiReactions from './EmojiReactions.js';
|
|
11
11
|
import AdminMessage from './AdminMessage.js';
|
|
12
12
|
import TextMessageItemBody from './TextMessageItemBody.js';
|
|
@@ -15,24 +15,25 @@ import ThumbnailMessageItemBody from './ThumbnailMessageItemBody.js';
|
|
|
15
15
|
import OGMessageItemBody from './OGMessageItemBody.js';
|
|
16
16
|
import UnknownMessageItemBody from './UnknownMessageItemBody.js';
|
|
17
17
|
import QuoteMessage from './QuoteMessage.js';
|
|
18
|
-
import {
|
|
19
|
-
import { a as UserProfileContext } from '../UserProfileContext-
|
|
20
|
-
import { u as useLocalization } from '../LocalizationContext-
|
|
18
|
+
import { s as getUIKitMessageTypes, h as getClassName, u as getSenderName, v as isTextMessage, w as isOGMessage, x as getUIKitMessageType, n as isThumbnailMessage } from '../index-480fdda4.js';
|
|
19
|
+
import { a as UserProfileContext } from '../UserProfileContext-c2fcaa62.js';
|
|
20
|
+
import { u as useLocalization } from '../LocalizationContext-83cab487.js';
|
|
21
21
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
22
|
-
import '../index-
|
|
23
|
-
import '../tslib.es6-
|
|
22
|
+
import '../index-d7a65767.js';
|
|
23
|
+
import '../tslib.es6-9a4d0074.js';
|
|
24
24
|
import './ImageRenderer.js';
|
|
25
25
|
import './Icon.js';
|
|
26
26
|
import 'prop-types';
|
|
27
|
-
import '../uuid-
|
|
27
|
+
import '../uuid-04e2d5ae.js';
|
|
28
28
|
import '../withSendbird.js';
|
|
29
|
-
import '../_rollupPluginBabelHelpers-
|
|
29
|
+
import '../_rollupPluginBabelHelpers-008a1844.js';
|
|
30
30
|
import '../sendbirdSelectors.js';
|
|
31
|
-
import '../topics-
|
|
32
|
-
import '../utils-
|
|
31
|
+
import '../topics-58d21996.js';
|
|
32
|
+
import '../utils-23048a3f.js';
|
|
33
33
|
import './Button.js';
|
|
34
|
-
import '../stringSet-
|
|
34
|
+
import '../stringSet-4cfbe7bc.js';
|
|
35
35
|
import './Loader.js';
|
|
36
|
+
import '../utils/message/getOutgoingMessageState.js';
|
|
36
37
|
import './IconButton.js';
|
|
37
38
|
import './ReactionButton.js';
|
|
38
39
|
import 'react-dom';
|
|
@@ -44,7 +45,7 @@ import './Word.js';
|
|
|
44
45
|
import './LinkLabel.js';
|
|
45
46
|
import './MentionLabel.js';
|
|
46
47
|
import './TextButton.js';
|
|
47
|
-
import '../color-
|
|
48
|
+
import '../color-b8fbee14.js';
|
|
48
49
|
|
|
49
50
|
function MessageContent(_a) {
|
|
50
51
|
var _b, _c, _d, _e, _f;
|
package/ui/MessageContent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageContent.js","sources":["../../src/ui/MessageContent/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useContext,\n useRef,\n useState,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport UserProfile from '../UserProfile';\nimport MessageStatus from '../MessageStatus';\nimport MessageItemMenu from '../MessageItemMenu';\nimport MessageItemReactionMenu from '../MessageItemReactionMenu';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport EmojiReactions from '../EmojiReactions';\n\nimport ClientAdminMessage from '../AdminMessage';\nimport TextMessageItemBody from '../TextMessageItemBody';\nimport FileMessageItemBody from '../FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../ThumbnailMessageItemBody';\nimport OGMessageItemBody from '../OGMessageItemBody';\nimport UnknownMessageItemBody from '../UnknownMessageItemBody';\nimport QuoteMessage from '../QuoteMessage';\n\nimport {\n getClassName,\n getUIKitMessageTypes,\n getUIKitMessageType,\n isTextMessage,\n isOGMessage,\n isThumbnailMessage,\n getSenderName,\n} from '../../utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { ReplyType } from '../../index.js';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { AdminMessage, FileMessage, UserMessage } from '@sendbird/chat/message';\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n channel: GroupChannel;\n message: AdminMessage | UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isReactionEnabled?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n scrollToMessage?: (createdAt: number, messageId: number) => void;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => Promise<UserMessage | FileMessage>;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n}\nexport default function MessageContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isReactionEnabled = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n scrollToMessage,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n setQuoteMessage,\n}: Props): ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const { config } = useSendbirdStateContext?.() || {};\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const avatarRef = useRef(null);\n const [mouseHover, setMouseHover] = useState(false);\n const [supposedHover, setSupposedHover] = useState(false);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage).sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage).sendingStatus === 'failed');\n const isByMeClassName = isByMe ? 'outgoing' : 'incoming';\n const chainTopClassName = chainTop ? 'chain-top' : '';\n const isReactionEnabledClassName = isReactionEnabled ? 'use-reactions' : '';\n const supposedHoverClassName = supposedHover ? 'supposed-hover' : '';\n const useReplying = !!((replyType === 'QUOTE_REPLY') && message?.parentMessageId && message?.parentMessage);\n const useReplyingClassName = useReplying ? 'use-quote' : '';\n\n if (message?.isAdminMessage?.() || message?.messageType === 'admin') {\n return (<ClientAdminMessage message={message} />);\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-content', isByMeClassName])}\n onMouseOver={() => setMouseHover(true)}\n onMouseLeave={() => setMouseHover(false)}\n >\n {/* left */}\n <div className={getClassName(['sendbird-message-content__left', isReactionEnabledClassName, isByMeClassName, useReplyingClassName])}>\n {(!isByMe && !chainBottom) && (\n /** user profile */\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <Avatar\n className=\"sendbird-message-content__left__avatar\"\n // @ts-ignore\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n // TODO: Divide getting profileUrl logic to utils\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={(): void => { if (!disableUserProfile) toggleDropdown() }}\n />\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {renderUserProfile\n // @ts-ignore\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n // @ts-ignore\n : (<UserProfile user={message.sender} onSuccess={closeDropdown} />)\n }\n </MenuItems>\n )}\n />\n )}\n {/* outgoing menu */}\n {isByMe && (\n <div className={getClassName(['sendbird-message-content-menu', isReactionEnabledClassName, supposedHoverClassName, isByMeClassName])}>\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n />\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n {/* middle */}\n <div className=\"sendbird-message-content__middle\">\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-message-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n // @ts-ignore\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n {/* quote message */}\n {(useReplying) ? (\n <div className={getClassName(['sendbird-message-content__middle__quote-message', isByMe ? 'outgoing' : 'incoming', useReplyingClassName])}>\n <QuoteMessage\n message={message as UserMessage | FileMessage}\n userId={userId}\n isByMe={isByMe}\n onClick={() => {\n if (message?.parentMessage?.createdAt && message?.parentMessageId) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n ) : null}\n {/* container: message item body + emoji reactions */}\n <div className={getClassName(['sendbird-message-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-message-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n showFileViewer={showFileViewer}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {/* reactions */}\n {(isReactionEnabled && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-message-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n mouseHover ? 'mouse-hover' : '',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n </div>\n {/* right */}\n <div className={getClassName(['sendbird-message-content__right', chainTopClassName, isReactionEnabledClassName, useReplyingClassName])}>\n {/* incoming menu */}\n {!isByMe && (\n <div className={getClassName(['sendbird-message-content-menu', chainTopClassName, supposedHoverClassName, isByMeClassName])}>\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n />\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["MessageContent","_a","className","userId","channel","message","_g","disabled","_h","chainTop","_j","chainBottom","_k","isReactionEnabled","replyType","nicknamesMap","emojiContainer","scrollToMessage","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","setQuoteMessage","messageTypes","getUIKitMessageTypes","dateLocale","useLocalization","config","useSendbirdStateContext","_l","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","_m","useState","mouseHover","setMouseHover","_o","supposedHover","setSupposedHover","isByMe","sender","_b","sendingStatus","isByMeClassName","chainTopClassName","isReactionEnabledClassName","supposedHoverClassName","useReplying","parentMessageId","parentMessage","useReplyingClassName","isAdminMessage","_c","call","messageType","React","ClientAdminMessage","getClassName","toggleDropdown","members","find","member","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","UserProfile","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","_d","nickname","getSenderName","createdAt","isTextMessage","isMentionEnabled","isOGMessage","getUIKitMessageType","FILE","isThumbnailMessage","UNKNOWN","_f","reactions","length","CAPTION_3","format","locale"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageContent.js","sources":["../../src/ui/MessageContent/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useContext,\n useRef,\n useState,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport UserProfile from '../UserProfile';\nimport MessageStatus from '../MessageStatus';\nimport MessageItemMenu from '../MessageItemMenu';\nimport MessageItemReactionMenu from '../MessageItemReactionMenu';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport EmojiReactions from '../EmojiReactions';\n\nimport ClientAdminMessage from '../AdminMessage';\nimport TextMessageItemBody from '../TextMessageItemBody';\nimport FileMessageItemBody from '../FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../ThumbnailMessageItemBody';\nimport OGMessageItemBody from '../OGMessageItemBody';\nimport UnknownMessageItemBody from '../UnknownMessageItemBody';\nimport QuoteMessage from '../QuoteMessage';\n\nimport {\n getClassName,\n getUIKitMessageTypes,\n getUIKitMessageType,\n isTextMessage,\n isOGMessage,\n isThumbnailMessage,\n getSenderName,\n} from '../../utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { ReplyType } from '../../index.js';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { AdminMessage, FileMessage, UserMessage } from '@sendbird/chat/message';\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n channel: GroupChannel;\n message: AdminMessage | UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isReactionEnabled?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n scrollToMessage?: (createdAt: number, messageId: number) => void;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => Promise<UserMessage | FileMessage>;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n}\nexport default function MessageContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isReactionEnabled = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n scrollToMessage,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n setQuoteMessage,\n}: Props): ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const { config } = useSendbirdStateContext?.() || {};\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const avatarRef = useRef(null);\n const [mouseHover, setMouseHover] = useState(false);\n const [supposedHover, setSupposedHover] = useState(false);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage).sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage).sendingStatus === 'failed');\n const isByMeClassName = isByMe ? 'outgoing' : 'incoming';\n const chainTopClassName = chainTop ? 'chain-top' : '';\n const isReactionEnabledClassName = isReactionEnabled ? 'use-reactions' : '';\n const supposedHoverClassName = supposedHover ? 'supposed-hover' : '';\n const useReplying = !!((replyType === 'QUOTE_REPLY') && message?.parentMessageId && message?.parentMessage);\n const useReplyingClassName = useReplying ? 'use-quote' : '';\n\n if (message?.isAdminMessage?.() || message?.messageType === 'admin') {\n return (<ClientAdminMessage message={message} />);\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-content', isByMeClassName])}\n onMouseOver={() => setMouseHover(true)}\n onMouseLeave={() => setMouseHover(false)}\n >\n {/* left */}\n <div className={getClassName(['sendbird-message-content__left', isReactionEnabledClassName, isByMeClassName, useReplyingClassName])}>\n {(!isByMe && !chainBottom) && (\n /** user profile */\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <Avatar\n className=\"sendbird-message-content__left__avatar\"\n // @ts-ignore\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n // TODO: Divide getting profileUrl logic to utils\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={(): void => { if (!disableUserProfile) toggleDropdown() }}\n />\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {renderUserProfile\n // @ts-ignore\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n // @ts-ignore\n : (<UserProfile user={message.sender} onSuccess={closeDropdown} />)\n }\n </MenuItems>\n )}\n />\n )}\n {/* outgoing menu */}\n {isByMe && (\n <div className={getClassName(['sendbird-message-content-menu', isReactionEnabledClassName, supposedHoverClassName, isByMeClassName])}>\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n />\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n {/* middle */}\n <div className=\"sendbird-message-content__middle\">\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-message-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n // @ts-ignore\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n {/* quote message */}\n {(useReplying) ? (\n <div className={getClassName(['sendbird-message-content__middle__quote-message', isByMe ? 'outgoing' : 'incoming', useReplyingClassName])}>\n <QuoteMessage\n message={message as UserMessage | FileMessage}\n userId={userId}\n isByMe={isByMe}\n onClick={() => {\n if (message?.parentMessage?.createdAt && message?.parentMessageId) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n ) : null}\n {/* container: message item body + emoji reactions */}\n <div className={getClassName(['sendbird-message-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-message-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n showFileViewer={showFileViewer}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {/* reactions */}\n {(isReactionEnabled && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-message-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n mouseHover ? 'mouse-hover' : '',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n </div>\n {/* right */}\n <div className={getClassName(['sendbird-message-content__right', chainTopClassName, isReactionEnabledClassName, useReplyingClassName])}>\n {/* incoming menu */}\n {!isByMe && (\n <div className={getClassName(['sendbird-message-content-menu', chainTopClassName, supposedHoverClassName, isByMeClassName])}>\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n />\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["MessageContent","_a","className","userId","channel","message","_g","disabled","_h","chainTop","_j","chainBottom","_k","isReactionEnabled","replyType","nicknamesMap","emojiContainer","scrollToMessage","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","setQuoteMessage","messageTypes","getUIKitMessageTypes","dateLocale","useLocalization","config","useSendbirdStateContext","_l","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","_m","useState","mouseHover","setMouseHover","_o","supposedHover","setSupposedHover","isByMe","sender","_b","sendingStatus","isByMeClassName","chainTopClassName","isReactionEnabledClassName","supposedHoverClassName","useReplying","parentMessageId","parentMessage","useReplyingClassName","isAdminMessage","_c","call","messageType","React","ClientAdminMessage","getClassName","toggleDropdown","members","find","member","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","UserProfile","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","_d","nickname","getSenderName","createdAt","isTextMessage","isMentionEnabled","isOGMessage","getUIKitMessageType","FILE","isThumbnailMessage","UNKNOWN","_f","reactions","length","CAPTION_3","format","locale"],"mappings":"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"}
|
package/ui/MessageInput.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { _ as _objectSpread2 } from '../_rollupPluginBabelHelpers-
|
|
1
|
+
import { _ as _objectSpread2 } from '../_rollupPluginBabelHelpers-008a1844.js';
|
|
2
2
|
import React__default, { useContext, useRef, useState, useMemo, useEffect, useCallback } from 'react';
|
|
3
3
|
import { renderToString } from 'react-dom/server';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
-
import { N as NodeTypes, M as MessageInputKeys, a as NodeNames } from '../const-
|
|
6
|
-
import { U as USER_MENTION_TEMP_CHAR } from '../const-
|
|
5
|
+
import { N as NodeTypes, M as MessageInputKeys, a as NodeNames } from '../const-21c50fc9.js';
|
|
6
|
+
import { U as USER_MENTION_TEMP_CHAR } from '../const-e3a99496.js';
|
|
7
7
|
import IconButton from './IconButton.js';
|
|
8
8
|
import Button, { ButtonTypes, ButtonSizes } from './Button.js';
|
|
9
9
|
import MentionUserLabel from './MentionUserLabel.js';
|
|
10
10
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
11
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
12
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
13
|
-
import {
|
|
14
|
-
import '../tslib.es6-
|
|
15
|
-
import '../stringSet-
|
|
16
|
-
import '../index-
|
|
11
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-a6620ba4.js';
|
|
12
|
+
import { a as LocalizationContext } from '../LocalizationContext-83cab487.js';
|
|
13
|
+
import { j as convertWordToStringObj, S as StringObjType, k as arrayEqual, h as getClassName } from '../index-480fdda4.js';
|
|
14
|
+
import '../tslib.es6-9a4d0074.js';
|
|
15
|
+
import '../stringSet-4cfbe7bc.js';
|
|
16
|
+
import '../index-d7a65767.js';
|
|
17
|
+
import '../utils/message/getOutgoingMessageState.js';
|
|
17
18
|
|
|
18
19
|
const TEXT_FIELD_ID = 'sendbird-message-input-text-field';
|
|
19
20
|
const LINE_HEIGHT = 76;
|