@sendbird/uikit-react 3.2.1-rc.0 → 3.2.2-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +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-68ab13d8.js → ChannelListProvider-0f680566.js} +27 -23
- package/ChannelListProvider-0f680566.js.map +1 -0
- package/{ChannelProvider-4b8e62f5.js → ChannelProvider-39a2dc01.js} +10 -10
- package/ChannelProvider-39a2dc01.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-bfcda8c9.js → CreateChannelProvider-6ca875f0.js} +1 -1
- package/{CreateChannelProvider-bfcda8c9.js.map → CreateChannelProvider-6ca875f0.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-5bdfa009.js → LocalizationContext-6a3c0561.js} +3 -3
- package/{LocalizationContext-5bdfa009.js.map → LocalizationContext-6a3c0561.js.map} +1 -1
- package/{MemberList-e298d8d4.js → MemberList-8e0f0595.js} +5 -5
- package/{MemberList-e298d8d4.js.map → MemberList-8e0f0595.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-5468dee1.js → OpenChannelListProvider-6b400787.js} +3 -3
- package/{OpenChannelListProvider-5468dee1.js.map → OpenChannelListProvider-6b400787.js.map} +1 -1
- package/{OpenChannelProvider-f63e82d8.js → OpenChannelProvider-65570af9.js} +7 -7
- package/{OpenChannelProvider-f63e82d8.js.map → OpenChannelProvider-65570af9.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-b837926a.js → UserProfileContext-efa87f83.js} +1 -1
- package/{UserProfileContext-b837926a.js.map → UserProfileContext-efa87f83.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-46088259.js → _rollupPluginBabelHelpers-0bee2425.js} +1 -1
- package/_rollupPluginBabelHelpers-0bee2425.js.map +1 -0
- package/{actionTypes-019d5d7b.js → actionTypes-81d0e341.js} +1 -1
- package/{actionTypes-019d5d7b.js.map → actionTypes-81d0e341.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-f043b9db.js → ChannelListProvider-88cd9b2a.js} +27 -23
- package/cjs/ChannelListProvider-88cd9b2a.js.map +1 -0
- package/cjs/{ChannelProvider-d5668143.js → ChannelProvider-61aa7b2a.js} +10 -10
- package/cjs/ChannelProvider-61aa7b2a.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-97655f81.js → CreateChannelProvider-5a058abb.js} +1 -1
- package/cjs/{CreateChannelProvider-97655f81.js.map → CreateChannelProvider-5a058abb.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-cbcf0cb4.js → LocalizationContext-4d823138.js} +3 -3
- package/cjs/{LocalizationContext-cbcf0cb4.js.map → LocalizationContext-4d823138.js.map} +1 -1
- package/cjs/{MemberList-dd6f7d77.js → MemberList-0aef4d76.js} +5 -5
- package/cjs/{MemberList-dd6f7d77.js.map → MemberList-0aef4d76.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-3d830db6.js → OpenChannelListProvider-5b8998de.js} +3 -3
- package/cjs/{OpenChannelListProvider-3d830db6.js.map → OpenChannelListProvider-5b8998de.js.map} +1 -1
- package/cjs/{OpenChannelProvider-eb97f46c.js → OpenChannelProvider-2cddfe89.js} +7 -7
- package/cjs/{OpenChannelProvider-eb97f46c.js.map → OpenChannelProvider-2cddfe89.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-6908ca72.js → UserProfileContext-7d7dbfa8.js} +1 -1
- package/cjs/{UserProfileContext-6908ca72.js.map → UserProfileContext-7d7dbfa8.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-9a6aaeec.js → _rollupPluginBabelHelpers-3da02f29.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-3da02f29.js.map +1 -0
- package/cjs/{actionTypes-c7188586.js → actionTypes-b57b348f.js} +1 -1
- package/cjs/{actionTypes-c7188586.js.map → actionTypes-b57b348f.js.map} +1 -1
- package/cjs/{color-a1e2762f.js → color-fde2f017.js} +1 -1
- package/cjs/{color-a1e2762f.js.map → color-fde2f017.js.map} +1 -1
- package/cjs/{compareIds-d02b7d4d.js → compareIds-0dc10948.js} +1 -1
- package/cjs/{compareIds-d02b7d4d.js.map → compareIds-0dc10948.js.map} +1 -1
- package/cjs/{const-361bde29.js → const-4746207f.js} +1 -1
- package/cjs/{const-361bde29.js.map → const-4746207f.js.map} +1 -1
- package/cjs/{const-107d31d6.js → const-4dec56be.js} +1 -1
- package/cjs/{const-107d31d6.js.map → const-4dec56be.js.map} +1 -1
- package/cjs/{context-6622da51.js → context-6fb2d493.js} +2 -2
- package/cjs/{context-6622da51.js.map → context-6fb2d493.js.map} +1 -1
- package/cjs/dist/index.css +88 -88
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-9eb6ed09.js → index-41f1d19c.js} +7 -7
- package/cjs/{index-9eb6ed09.js.map → index-41f1d19c.js.map} +1 -1
- package/cjs/{index-700588f1.js → index-43ccaf72.js} +1 -1
- package/cjs/{index-700588f1.js.map → index-43ccaf72.js.map} +1 -1
- package/cjs/{index-0b9be346.js → index-5a52365c.js} +5 -35
- package/cjs/index-5a52365c.js.map +1 -0
- package/cjs/{index-22eb1c9f.js → index-81965519.js} +2 -2
- package/cjs/{index-22eb1c9f.js.map → index-81965519.js.map} +1 -1
- package/cjs/{index-1382ffca.js → index-9f30019d.js} +2 -2
- package/cjs/{index-1382ffca.js.map → index-9f30019d.js.map} +1 -1
- package/cjs/{index-0ed70cab.js → index-ab052326.js} +4 -4
- package/cjs/{index-0ed70cab.js.map → index-ab052326.js.map} +1 -1
- package/cjs/{index-d1b358ca.js → index-cfa8d471.js} +1 -1
- package/cjs/{index-d1b358ca.js.map → index-cfa8d471.js.map} +1 -1
- package/cjs/{index-2bf74a6e.js → index-dbc6713d.js} +4 -4
- package/cjs/{index-2bf74a6e.js.map → index-dbc6713d.js.map} +1 -1
- package/cjs/{index-7795f392.js → index-e69fe951.js} +2 -2
- package/cjs/{index-7795f392.js.map → index-e69fe951.js.map} +1 -1
- package/cjs/{index-4eda97a2.js → index-e7fbdda3.js} +5 -5
- package/cjs/{index-4eda97a2.js.map → index-e7fbdda3.js.map} +1 -1
- package/cjs/index.js +33 -32
- package/cjs/index.js.map +1 -1
- package/cjs/{openChannelUtils-fd06d626.js → openChannelUtils-344a9306.js} +1 -1
- package/cjs/{openChannelUtils-fd06d626.js.map → openChannelUtils-344a9306.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-ad7da257.js → stringSet-86981e3d.js} +1 -1
- package/cjs/{stringSet-ad7da257.js.map → stringSet-86981e3d.js.map} +1 -1
- package/cjs/{topics-c3de90e0.js → topics-dd40ff32.js} +1 -1
- package/cjs/{topics-c3de90e0.js.map → topics-dd40ff32.js.map} +1 -1
- package/cjs/{tslib.es6-abd78d7b.js → tslib.es6-7f4f6730.js} +1 -1
- package/cjs/{tslib.es6-abd78d7b.js.map → tslib.es6-7f4f6730.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-9678c84d.js → utils-06ddc7ca.js} +1 -1
- package/cjs/{utils-9678c84d.js.map → utils-06ddc7ca.js.map} +1 -1
- package/cjs/{utils-1a55af35.js → utils-11bdf7b6.js} +1 -1
- package/cjs/{utils-1a55af35.js.map → utils-11bdf7b6.js.map} +1 -1
- package/cjs/{utils-6e0d31c1.js → utils-80108228.js} +1 -1
- package/cjs/{utils-6e0d31c1.js.map → utils-80108228.js.map} +1 -1
- package/cjs/{uuid-d65b20f4.js → uuid-01d4b7ef.js} +1 -1
- package/cjs/{uuid-d65b20f4.js.map → uuid-01d4b7ef.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-f2eb4a5c.js → color-b14eebd4.js} +1 -1
- package/{color-f2eb4a5c.js.map → color-b14eebd4.js.map} +1 -1
- package/{compareIds-eb1e7d68.js → compareIds-8cb3ae2b.js} +1 -1
- package/{compareIds-eb1e7d68.js.map → compareIds-8cb3ae2b.js.map} +1 -1
- package/{const-16b4a5bc.js → const-7dd290ce.js} +1 -1
- package/{const-16b4a5bc.js.map → const-7dd290ce.js.map} +1 -1
- package/{const-fb6a3481.js → const-8c71e95a.js} +1 -1
- package/{const-fb6a3481.js.map → const-8c71e95a.js.map} +1 -1
- package/{context-7fff4f4b.js → context-f2f41992.js} +2 -2
- package/{context-7fff4f4b.js.map → context-f2f41992.js.map} +1 -1
- package/dist/index.css +88 -88
- package/dist/index.css.map +1 -1
- package/{index-18287518.js → index-198f15c3.js} +5 -5
- package/{index-18287518.js.map → index-198f15c3.js.map} +1 -1
- package/{index-4b3a39fb.js → index-267e85d5.js} +2 -2
- package/{index-4b3a39fb.js.map → index-267e85d5.js.map} +1 -1
- package/{index-2da4fc8b.js → index-3427b39f.js} +4 -4
- package/{index-2da4fc8b.js.map → index-3427b39f.js.map} +1 -1
- package/{index-cd412326.js → index-594499d8.js} +4 -32
- package/index-594499d8.js.map +1 -0
- package/{index-8efe7eef.js → index-5bebcb3a.js} +2 -2
- package/{index-8efe7eef.js.map → index-5bebcb3a.js.map} +1 -1
- package/{index-b2f38e8f.js → index-78e92d76.js} +4 -4
- package/{index-b2f38e8f.js.map → index-78e92d76.js.map} +1 -1
- package/{index-77a47859.js → index-8287486d.js} +1 -1
- package/{index-77a47859.js.map → index-8287486d.js.map} +1 -1
- package/{index-588758d3.js → index-94c418af.js} +7 -7
- package/{index-588758d3.js.map → index-94c418af.js.map} +1 -1
- package/{index-eb94cff0.js → index-bd437d0f.js} +1 -1
- package/{index-eb94cff0.js.map → index-bd437d0f.js.map} +1 -1
- package/{index-94cdeb24.js → index-e7e5efcf.js} +2 -2
- package/{index-94cdeb24.js.map → index-e7e5efcf.js.map} +1 -1
- package/index.d.ts +24 -2
- package/index.js +33 -32
- package/index.js.map +1 -1
- package/{openChannelUtils-8e493da2.js → openChannelUtils-72e02367.js} +1 -1
- package/{openChannelUtils-8e493da2.js.map → openChannelUtils-72e02367.js.map} +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-45ca9cf3.js → stringSet-dc01885c.js} +1 -1
- package/{stringSet-45ca9cf3.js.map → stringSet-dc01885c.js.map} +1 -1
- package/{topics-49a025df.js → topics-57d99208.js} +1 -1
- package/{topics-49a025df.js.map → topics-57d99208.js.map} +1 -1
- package/{tslib.es6-6c915291.js → tslib.es6-9643c112.js} +1 -1
- package/{tslib.es6-6c915291.js.map → tslib.es6-9643c112.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-baf58474.js → utils-2b1c0262.js} +1 -1
- package/{utils-baf58474.js.map → utils-2b1c0262.js.map} +1 -1
- package/{utils-20cbe8fa.js → utils-7bc7f35b.js} +1 -1
- package/{utils-20cbe8fa.js.map → utils-7bc7f35b.js.map} +1 -1
- package/{utils-17bc366a.js → utils-8ff877ec.js} +1 -1
- package/{utils-17bc366a.js.map → utils-8ff877ec.js.map} +1 -1
- package/{uuid-87b1c33e.js → uuid-dacf1460.js} +1 -1
- package/{uuid-87b1c33e.js.map → uuid-dacf1460.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-68ab13d8.js.map +0 -1
- package/ChannelProvider-4b8e62f5.js.map +0 -1
- package/_rollupPluginBabelHelpers-46088259.js.map +0 -1
- package/cjs/ChannelListProvider-f043b9db.js.map +0 -1
- package/cjs/ChannelProvider-d5668143.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-9a6aaeec.js.map +0 -1
- package/cjs/index-0b9be346.js.map +0 -1
- package/index-cd412326.js.map +0 -1
package/ui/ContextMenu.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import React__default, { useState, useRef, useEffect } from 'react';
|
|
2
|
-
import { b as __extends, _ as __assign } from '../tslib.es6-
|
|
2
|
+
import { b as __extends, _ as __assign } from '../tslib.es6-9643c112.js';
|
|
3
3
|
import { createPortal } from 'react-dom';
|
|
4
4
|
import SortByRow from './SortByRow.js';
|
|
5
|
-
import {
|
|
6
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
7
|
-
import '../uuid-
|
|
5
|
+
import { h as getClassName } from '../index-594499d8.js';
|
|
6
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-e7e5efcf.js';
|
|
7
|
+
import '../uuid-dacf1460.js';
|
|
8
|
+
import '../utils/message/getOutgoingMessageState.js';
|
|
8
9
|
import 'prop-types';
|
|
9
|
-
import '../stringSet-
|
|
10
|
+
import '../stringSet-dc01885c.js';
|
|
10
11
|
|
|
11
12
|
var MenuItems$1 =
|
|
12
13
|
/** @class */
|
package/ui/ContextMenu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.js","sources":["../../src/ui/ContextMenu/MenuItems.tsx","../../src/ui/ContextMenu/EmojiListItems.tsx","../../src/ui/ContextMenu/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { createPortal } from 'react-dom';\n\ninterface MenuItemsProps {\n style?: Record<string, string>;\n openLeft?: boolean;\n children: React.ReactElement;\n parentRef: React.RefObject<HTMLDivElement>;\n parentContainRef: React.RefObject<HTMLDivElement>;\n closeDropdown: () => void;\n}\n\ntype MenuStyleType = { top?: number, left?: number };\ninterface MenuItemsState {\n menuStyle: MenuStyleType;\n handleClickOutside: (e: MouseEvent) => void;\n}\n\nexport default class MenuItems extends React.Component<MenuItemsProps, MenuItemsState> {\n constructor(props: MenuItemsProps) {\n super(props);\n this.state = {\n menuStyle: {},\n handleClickOutside: () => {/* noop */ },\n };\n }\n menuRef: React.RefObject<HTMLUListElement> = React.createRef();\n\n componentDidMount(): void {\n this.setupEvents();\n this.getMenuPosition();\n }\n\n componentWillUnmount(): void {\n this.cleanUpEvents();\n }\n\n setupEvents = (): void => {\n const { closeDropdown } = this.props;\n const { menuRef } = this;\n const handleClickOutside = (event) => {\n if (menuRef?.current && !menuRef?.current?.contains?.(event.target)) {\n closeDropdown?.();\n }\n };\n this.setState({\n handleClickOutside,\n });\n\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n cleanUpEvents = (): void => {\n const {\n handleClickOutside,\n } = this.state;\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n getMenuPosition = (): MenuStyleType => {\n const { parentRef, openLeft } = this.props;\n const parentRect = parentRef?.current?.getBoundingClientRect?.();\n const x = parentRect?.x || parentRect?.left || 0;\n const y = parentRect?.y || parentRect?.top || 0;\n const menuStyle = {\n top: y,\n left: x,\n };\n if (!this.menuRef.current) return menuStyle;\n const { innerWidth, innerHeight } = window;\n const rect = this.menuRef.current.getBoundingClientRect();\n if (y + rect.height > innerHeight) {\n menuStyle.top -= rect.height;\n }\n if (x + rect.width > innerWidth && !openLeft) {\n menuStyle.left -= rect.width;\n }\n if (menuStyle.top < 0) {\n menuStyle.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0;\n }\n if (menuStyle.left < 0) {\n menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;\n }\n menuStyle.top += 32;\n if (openLeft) {\n const padding = Number.isNaN(rect.width - 30)\n ? 108 // default\n : rect.width - 30;\n menuStyle.left -= padding;\n }\n this.setState({ menuStyle })\n return menuStyle;\n }\n\n render(): ReactElement {\n const { menuStyle } = this.state;\n const { children, style } = this.props;\n return (\n createPortal(\n (\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__menu\"\n ref={this.menuRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(menuStyle.left)}px`,\n top: `${Math.round(menuStyle.top)}px`,\n ...style,\n }}\n >\n {children}\n </ul>\n </>\n ),\n document.getElementById('sendbird-dropdown-portal'),\n )\n );\n }\n}\n","import React, { ReactElement, RefObject, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport SortByRow from '../SortByRow';\n\ntype SpaceFromTrigger = { x: number, y: number };\ntype ReactionStyle = { left: number, top: number };\nexport interface EmojiListItemsProps {\n closeDropdown: () => void;\n children: ReactElement;\n parentRef: RefObject<HTMLDivElement>;\n parentContainRef: RefObject<HTMLDivElement>;\n spaceFromTrigger?: SpaceFromTrigger;\n}\n\nconst EmojiListItems = ({\n children,\n parentRef,\n parentContainRef,\n spaceFromTrigger = { x: 0, y: 0 },\n closeDropdown,\n}: EmojiListItemsProps): ReactElement => {\n const [reactionStyle, setReactionStyle] = useState<ReactionStyle>({ left: 0, top: 0 });\n const reactionRef = useRef(null);\n\n /* showParent & hideParent */\n useEffect(() => {\n if (parentContainRef && parentContainRef?.current) {\n parentContainRef.current.classList.add('sendbird-reactions--pressed');\n }\n return () => {\n if (parentContainRef && parentContainRef?.current) {\n parentContainRef.current.classList.remove('sendbird-reactions--pressed');\n }\n };\n }, []);\n\n /* setupEvents & cleanupEvents */\n useEffect(() => {\n const handleClickOutSide = (event) => {\n if (reactionRef?.current && !reactionRef?.current?.contains?.(event.target)) {\n closeDropdown();\n }\n };\n document.addEventListener('mousedown', handleClickOutSide);\n return () => {\n document.removeEventListener('mousedown', handleClickOutSide);\n };\n }, []);\n\n /* getBarPosition */\n useEffect(() => {\n const spaceFromTriggerX = spaceFromTrigger?.x || 0;\n const spaceFromTriggerY = spaceFromTrigger?.y || 0;\n const parentRect = parentRef?.current?.getBoundingClientRect();\n const x = parentRect.x || parentRect.left;\n const y = parentRect.y || parentRect.top;\n const reactionStyle = {\n top: y,\n left: x,\n };\n if (!reactionRef?.current) {\n setReactionStyle(reactionStyle);\n } else {\n const rect = reactionRef?.current?.getBoundingClientRect();\n if (reactionStyle.top < rect.height) {\n reactionStyle.top += parentRect.height;\n reactionStyle.top += spaceFromTriggerY;\n } else {\n reactionStyle.top -= rect.height;\n reactionStyle.top -= spaceFromTriggerY;\n }\n reactionStyle.left -= rect.width / 2;\n reactionStyle.left += (parentRect.height / 2) - 2;\n reactionStyle.left += spaceFromTriggerX;\n const maximumLeft = window.innerWidth - rect.width;\n if (maximumLeft < reactionStyle.left) {\n reactionStyle.left = maximumLeft;\n }\n if (reactionStyle.left < 0) {\n reactionStyle.left = 0;\n }\n setReactionStyle(reactionStyle);\n }\n }, []);\n\n return (\n createPortal(\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__reaction-bar\"\n ref={reactionRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(reactionStyle.left)}px`,\n top: `${Math.round(reactionStyle.top)}px`,\n }}\n >\n <SortByRow\n className=\"sendbird-dropdown__reaction-bar__row\"\n maxItemCount={8}\n itemWidth={44}\n itemHeight={40}\n >\n {children}\n </SortByRow>\n </ul>\n </>,\n document.getElementById('sendbird-emoji-list-portal'),\n )\n );\n};\n\nexport default EmojiListItems;\n","import React, { ReactElement, MouseEvent, useState } from 'react';\nimport './index.scss';\n\nimport _MenuItems from './MenuItems';\nimport _EmojiListItems from './EmojiListItems';\n\nimport { getClassName } from '../../utils';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nconst ENTER_KEY = 13;\n\nexport const MenuItems = _MenuItems;\nexport const EmojiListItems = _EmojiListItems;\n\nexport interface MenuItemProps {\n className?: string | Array<string>;\n children: ReactElement;\n onClick?: (e: MouseEvent<HTMLLIElement>) => void;\n disable?: boolean;\n}\nexport const MenuItem = ({\n className = '',\n children,\n onClick,\n disable = false,\n}: MenuItemProps): ReactElement => {\n const handleClickEvent = (e) => {\n if (!disable && onClick) {\n onClick?.(e);\n }\n };\n return (\n <li\n className={getClassName([className, 'sendbird-dropdown__menu-item', disable ? 'disable' : ''])}\n role=\"menuitem\"\n onClick={handleClickEvent}\n onKeyPress={(e) => { if (e.keyCode === ENTER_KEY) handleClickEvent(e); }}\n tabIndex={0}\n >\n <Label\n className=\"sendbird-dropdown__menu-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={disable ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1}\n >\n {children}\n </Label>\n </li>\n );\n};\n\nexport const MenuRoot = (): ReactElement => (\n <div\n id=\"sendbird-dropdown-portal\"\n className=\"sendbird-dropdown-portal\"\n />\n);\nexport const EmojiReactionListRoot = (): ReactElement => <div id=\"sendbird-emoji-list-portal\" />;\n\ntype MenuDisplayingFunc = () => void;\nexport interface ContextMenuProps {\n menuTrigger: (MenuDisplayingFunc) => ReactElement;\n menuItems: (MenuDisplayingFunc) => ReactElement;\n}\nexport default function ContextMenu({\n menuTrigger,\n menuItems,\n}: ContextMenuProps): ReactElement {\n const [showMenu, setShowMenu] = useState(false);\n return (\n <div\n className=\"sendbird-context-menu\"\n style={{ display: 'inline' }}\n >\n {menuTrigger(() => setShowMenu(!showMenu))}\n {showMenu && menuItems(() => setShowMenu(false))}\n </div>\n );\n}\n"],"names":["MenuItems","_super","__extends","props","_this","call","menuRef","React","createRef","setupEvents","closeDropdown","handleClickOutside","event","current","_b","_a","contains","target","setState","document","addEventListener","cleanUpEvents","state","removeEventListener","getMenuPosition","_c","parentRef","openLeft","parentRect","getBoundingClientRect","x","left","y","top","menuStyle","innerWidth","window","innerHeight","rect","height","width","padding","Number","isNaN","prototype","componentDidMount","componentWillUnmount","render","children","style","createPortal","__assign","display","position","concat","Math","round","getElementById","Component","EmojiListItems","parentContainRef","spaceFromTrigger","useState","reactionStyle","setReactionStyle","reactionRef","useRef","useEffect","classList","add","remove","handleClickOutSide","spaceFromTriggerX","spaceFromTriggerY","maximumLeft","ENTER_KEY","_MenuItems","_EmojiListItems","MenuItem","className","onClick","disable","handleClickEvent","e","getClassName","keyCode","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_4","ONBACKGROUND_1","MenuRoot","EmojiReactionListRoot","ContextMenu","menuTrigger","menuItems","showMenu","setShowMenu"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContextMenu.js","sources":["../../src/ui/ContextMenu/MenuItems.tsx","../../src/ui/ContextMenu/EmojiListItems.tsx","../../src/ui/ContextMenu/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { createPortal } from 'react-dom';\n\ninterface MenuItemsProps {\n style?: Record<string, string>;\n openLeft?: boolean;\n children: React.ReactElement;\n parentRef: React.RefObject<HTMLDivElement>;\n parentContainRef: React.RefObject<HTMLDivElement>;\n closeDropdown: () => void;\n}\n\ntype MenuStyleType = { top?: number, left?: number };\ninterface MenuItemsState {\n menuStyle: MenuStyleType;\n handleClickOutside: (e: MouseEvent) => void;\n}\n\nexport default class MenuItems extends React.Component<MenuItemsProps, MenuItemsState> {\n constructor(props: MenuItemsProps) {\n super(props);\n this.state = {\n menuStyle: {},\n handleClickOutside: () => {/* noop */ },\n };\n }\n menuRef: React.RefObject<HTMLUListElement> = React.createRef();\n\n componentDidMount(): void {\n this.setupEvents();\n this.getMenuPosition();\n }\n\n componentWillUnmount(): void {\n this.cleanUpEvents();\n }\n\n setupEvents = (): void => {\n const { closeDropdown } = this.props;\n const { menuRef } = this;\n const handleClickOutside = (event) => {\n if (menuRef?.current && !menuRef?.current?.contains?.(event.target)) {\n closeDropdown?.();\n }\n };\n this.setState({\n handleClickOutside,\n });\n\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n cleanUpEvents = (): void => {\n const {\n handleClickOutside,\n } = this.state;\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n getMenuPosition = (): MenuStyleType => {\n const { parentRef, openLeft } = this.props;\n const parentRect = parentRef?.current?.getBoundingClientRect?.();\n const x = parentRect?.x || parentRect?.left || 0;\n const y = parentRect?.y || parentRect?.top || 0;\n const menuStyle = {\n top: y,\n left: x,\n };\n if (!this.menuRef.current) return menuStyle;\n const { innerWidth, innerHeight } = window;\n const rect = this.menuRef.current.getBoundingClientRect();\n if (y + rect.height > innerHeight) {\n menuStyle.top -= rect.height;\n }\n if (x + rect.width > innerWidth && !openLeft) {\n menuStyle.left -= rect.width;\n }\n if (menuStyle.top < 0) {\n menuStyle.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0;\n }\n if (menuStyle.left < 0) {\n menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;\n }\n menuStyle.top += 32;\n if (openLeft) {\n const padding = Number.isNaN(rect.width - 30)\n ? 108 // default\n : rect.width - 30;\n menuStyle.left -= padding;\n }\n this.setState({ menuStyle })\n return menuStyle;\n }\n\n render(): ReactElement {\n const { menuStyle } = this.state;\n const { children, style } = this.props;\n return (\n createPortal(\n (\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__menu\"\n ref={this.menuRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(menuStyle.left)}px`,\n top: `${Math.round(menuStyle.top)}px`,\n ...style,\n }}\n >\n {children}\n </ul>\n </>\n ),\n document.getElementById('sendbird-dropdown-portal'),\n )\n );\n }\n}\n","import React, { ReactElement, RefObject, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport SortByRow from '../SortByRow';\n\ntype SpaceFromTrigger = { x: number, y: number };\ntype ReactionStyle = { left: number, top: number };\nexport interface EmojiListItemsProps {\n closeDropdown: () => void;\n children: ReactElement;\n parentRef: RefObject<HTMLDivElement>;\n parentContainRef: RefObject<HTMLDivElement>;\n spaceFromTrigger?: SpaceFromTrigger;\n}\n\nconst EmojiListItems = ({\n children,\n parentRef,\n parentContainRef,\n spaceFromTrigger = { x: 0, y: 0 },\n closeDropdown,\n}: EmojiListItemsProps): ReactElement => {\n const [reactionStyle, setReactionStyle] = useState<ReactionStyle>({ left: 0, top: 0 });\n const reactionRef = useRef(null);\n\n /* showParent & hideParent */\n useEffect(() => {\n if (parentContainRef && parentContainRef?.current) {\n parentContainRef.current.classList.add('sendbird-reactions--pressed');\n }\n return () => {\n if (parentContainRef && parentContainRef?.current) {\n parentContainRef.current.classList.remove('sendbird-reactions--pressed');\n }\n };\n }, []);\n\n /* setupEvents & cleanupEvents */\n useEffect(() => {\n const handleClickOutSide = (event) => {\n if (reactionRef?.current && !reactionRef?.current?.contains?.(event.target)) {\n closeDropdown();\n }\n };\n document.addEventListener('mousedown', handleClickOutSide);\n return () => {\n document.removeEventListener('mousedown', handleClickOutSide);\n };\n }, []);\n\n /* getBarPosition */\n useEffect(() => {\n const spaceFromTriggerX = spaceFromTrigger?.x || 0;\n const spaceFromTriggerY = spaceFromTrigger?.y || 0;\n const parentRect = parentRef?.current?.getBoundingClientRect();\n const x = parentRect.x || parentRect.left;\n const y = parentRect.y || parentRect.top;\n const reactionStyle = {\n top: y,\n left: x,\n };\n if (!reactionRef?.current) {\n setReactionStyle(reactionStyle);\n } else {\n const rect = reactionRef?.current?.getBoundingClientRect();\n if (reactionStyle.top < rect.height) {\n reactionStyle.top += parentRect.height;\n reactionStyle.top += spaceFromTriggerY;\n } else {\n reactionStyle.top -= rect.height;\n reactionStyle.top -= spaceFromTriggerY;\n }\n reactionStyle.left -= rect.width / 2;\n reactionStyle.left += (parentRect.height / 2) - 2;\n reactionStyle.left += spaceFromTriggerX;\n const maximumLeft = window.innerWidth - rect.width;\n if (maximumLeft < reactionStyle.left) {\n reactionStyle.left = maximumLeft;\n }\n if (reactionStyle.left < 0) {\n reactionStyle.left = 0;\n }\n setReactionStyle(reactionStyle);\n }\n }, []);\n\n return (\n createPortal(\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__reaction-bar\"\n ref={reactionRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(reactionStyle.left)}px`,\n top: `${Math.round(reactionStyle.top)}px`,\n }}\n >\n <SortByRow\n className=\"sendbird-dropdown__reaction-bar__row\"\n maxItemCount={8}\n itemWidth={44}\n itemHeight={40}\n >\n {children}\n </SortByRow>\n </ul>\n </>,\n document.getElementById('sendbird-emoji-list-portal'),\n )\n );\n};\n\nexport default EmojiListItems;\n","import React, { ReactElement, MouseEvent, useState } from 'react';\nimport './index.scss';\n\nimport _MenuItems from './MenuItems';\nimport _EmojiListItems from './EmojiListItems';\n\nimport { getClassName } from '../../utils';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nconst ENTER_KEY = 13;\n\nexport const MenuItems = _MenuItems;\nexport const EmojiListItems = _EmojiListItems;\n\nexport interface MenuItemProps {\n className?: string | Array<string>;\n children: ReactElement;\n onClick?: (e: MouseEvent<HTMLLIElement>) => void;\n disable?: boolean;\n}\nexport const MenuItem = ({\n className = '',\n children,\n onClick,\n disable = false,\n}: MenuItemProps): ReactElement => {\n const handleClickEvent = (e) => {\n if (!disable && onClick) {\n onClick?.(e);\n }\n };\n return (\n <li\n className={getClassName([className, 'sendbird-dropdown__menu-item', disable ? 'disable' : ''])}\n role=\"menuitem\"\n onClick={handleClickEvent}\n onKeyPress={(e) => { if (e.keyCode === ENTER_KEY) handleClickEvent(e); }}\n tabIndex={0}\n >\n <Label\n className=\"sendbird-dropdown__menu-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={disable ? LabelColors.ONBACKGROUND_4 : LabelColors.ONBACKGROUND_1}\n >\n {children}\n </Label>\n </li>\n );\n};\n\nexport const MenuRoot = (): ReactElement => (\n <div\n id=\"sendbird-dropdown-portal\"\n className=\"sendbird-dropdown-portal\"\n />\n);\nexport const EmojiReactionListRoot = (): ReactElement => <div id=\"sendbird-emoji-list-portal\" />;\n\ntype MenuDisplayingFunc = () => void;\nexport interface ContextMenuProps {\n menuTrigger: (MenuDisplayingFunc) => ReactElement;\n menuItems: (MenuDisplayingFunc) => ReactElement;\n}\nexport default function ContextMenu({\n menuTrigger,\n menuItems,\n}: ContextMenuProps): ReactElement {\n const [showMenu, setShowMenu] = useState(false);\n return (\n <div\n className=\"sendbird-context-menu\"\n style={{ display: 'inline' }}\n >\n {menuTrigger(() => setShowMenu(!showMenu))}\n {showMenu && menuItems(() => setShowMenu(false))}\n </div>\n );\n}\n"],"names":["MenuItems","_super","__extends","props","_this","call","menuRef","React","createRef","setupEvents","closeDropdown","handleClickOutside","event","current","_b","_a","contains","target","setState","document","addEventListener","cleanUpEvents","state","removeEventListener","getMenuPosition","_c","parentRef","openLeft","parentRect","getBoundingClientRect","x","left","y","top","menuStyle","innerWidth","window","innerHeight","rect","height","width","padding","Number","isNaN","prototype","componentDidMount","componentWillUnmount","render","children","style","createPortal","__assign","display","position","concat","Math","round","getElementById","Component","EmojiListItems","parentContainRef","spaceFromTrigger","useState","reactionStyle","setReactionStyle","reactionRef","useRef","useEffect","classList","add","remove","handleClickOutSide","spaceFromTriggerX","spaceFromTriggerY","maximumLeft","ENTER_KEY","_MenuItems","_EmojiListItems","MenuItem","className","onClick","disable","handleClickEvent","e","getClassName","keyCode","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_4","ONBACKGROUND_1","MenuRoot","EmojiReactionListRoot","ContextMenu","menuTrigger","menuItems","showMenu","setShowMenu"],"mappings":"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"}
|
package/ui/DateSeparator.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as __spreadArray } from '../tslib.es6-
|
|
1
|
+
import { a as __spreadArray } from '../tslib.es6-9643c112.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
|
-
import { C as Colors, c as changeColorToClassName } from '../color-
|
|
4
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
3
|
+
import { C as Colors, c as changeColorToClassName } from '../color-b14eebd4.js';
|
|
4
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-e7e5efcf.js';
|
|
5
5
|
import 'prop-types';
|
|
6
|
-
import '../stringSet-
|
|
6
|
+
import '../stringSet-dc01885c.js';
|
|
7
7
|
|
|
8
8
|
var DateSeparator = function (_a) {
|
|
9
9
|
var _b = _a.children,
|
package/ui/EmojiReactions.js
CHANGED
|
@@ -6,16 +6,17 @@ import ReactionButton from './ReactionButton.js';
|
|
|
6
6
|
import ImageRenderer from './ImageRenderer.js';
|
|
7
7
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
8
8
|
import ContextMenu, { EmojiListItems } from './ContextMenu.js';
|
|
9
|
-
import {
|
|
10
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
11
|
-
import '../tslib.es6-
|
|
12
|
-
import '../index-
|
|
9
|
+
import { G as getEmojiMapAll, h as getClassName, H as isReactedBy, I as getEmojiTooltipString, F as getEmojiListAll } from '../index-594499d8.js';
|
|
10
|
+
import { a as LocalizationContext } from '../LocalizationContext-6a3c0561.js';
|
|
11
|
+
import '../tslib.es6-9643c112.js';
|
|
12
|
+
import '../index-e7e5efcf.js';
|
|
13
13
|
import 'prop-types';
|
|
14
|
-
import '../stringSet-
|
|
14
|
+
import '../stringSet-dc01885c.js';
|
|
15
15
|
import 'react-dom';
|
|
16
16
|
import './SortByRow.js';
|
|
17
|
-
import '../uuid-
|
|
18
|
-
import '../
|
|
17
|
+
import '../uuid-dacf1460.js';
|
|
18
|
+
import '../utils/message/getOutgoingMessageState.js';
|
|
19
|
+
import '../index-8287486d.js';
|
|
19
20
|
|
|
20
21
|
var EmojiReactions = function (_a) {
|
|
21
22
|
var _b, _c;
|
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":"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"}
|
|
@@ -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-e7e5efcf.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-594499d8.js';
|
|
6
|
+
import { C as Colors } from '../color-b14eebd4.js';
|
|
7
7
|
import 'prop-types';
|
|
8
|
-
import '../stringSet-
|
|
9
|
-
import '../tslib.es6-
|
|
8
|
+
import '../stringSet-dc01885c.js';
|
|
9
|
+
import '../tslib.es6-9643c112.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-6a3c0561.js';
|
|
4
|
+
import { M as MODAL_ROOT } from '../index-bd437d0f.js';
|
|
5
|
+
import { y as isSupportedFileView, z as isVideo, A as isImage } from '../index-594499d8.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-e7e5efcf.js';
|
|
8
8
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
9
|
-
import '../stringSet-
|
|
10
|
-
import '../index-
|
|
11
|
-
import '../tslib.es6-
|
|
9
|
+
import '../stringSet-dc01885c.js';
|
|
10
|
+
import '../index-8287486d.js';
|
|
11
|
+
import '../tslib.es6-9643c112.js';
|
|
12
|
+
import '../utils/message/getOutgoingMessageState.js';
|
|
12
13
|
import './ImageRenderer.js';
|
|
13
|
-
import '../uuid-
|
|
14
|
+
import '../uuid-dacf1460.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-9643c112.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-e7e5efcf.js';
|
|
3
3
|
import 'prop-types';
|
|
4
|
-
import '../stringSet-
|
|
4
|
+
import '../stringSet-dc01885c.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-e7e5efcf.js';
|
|
4
|
+
import '../stringSet-dc01885c.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-e7e5efcf.js';
|
|
4
|
+
import '../stringSet-dc01885c.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-e7e5efcf.js';
|
|
4
4
|
import ConnectedUserProfile from './UserProfile.js';
|
|
5
5
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
6
|
-
import '../tslib.es6-
|
|
6
|
+
import '../tslib.es6-9643c112.js';
|
|
7
7
|
import 'react-dom';
|
|
8
8
|
import './SortByRow.js';
|
|
9
|
-
import '../uuid-
|
|
10
|
-
import '../index-
|
|
9
|
+
import '../uuid-dacf1460.js';
|
|
10
|
+
import '../index-594499d8.js';
|
|
11
|
+
import '../utils/message/getOutgoingMessageState.js';
|
|
11
12
|
import 'prop-types';
|
|
12
|
-
import '../stringSet-
|
|
13
|
-
import '../LocalizationContext-
|
|
14
|
-
import '../index-
|
|
13
|
+
import '../stringSet-dc01885c.js';
|
|
14
|
+
import '../LocalizationContext-6a3c0561.js';
|
|
15
|
+
import '../index-8287486d.js';
|
|
15
16
|
import '../withSendbird.js';
|
|
16
|
-
import '../_rollupPluginBabelHelpers-
|
|
17
|
+
import '../_rollupPluginBabelHelpers-0bee2425.js';
|
|
17
18
|
import '../sendbirdSelectors.js';
|
|
18
|
-
import '../topics-
|
|
19
|
-
import '../utils-
|
|
19
|
+
import '../topics-57d99208.js';
|
|
20
|
+
import '../utils-8ff877ec.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":";;;;;;;;;;;;;;;;;;;;;;;;;AAsBwB,SAAAA,YAAA,CAAaC,KAAb,EAAqC;;;AAEzD,EAAA,IAAAC,eAAe,GAIbD,KAAK,gBAJP;AAAA,MACAE,eAAe,GAGbF,KAAK,CAAAE,eAJP;AAAA,MAEAC,qBAAqB,GAEnBH,KAAK,CAFcG,qBAFrB;AAAA,MAGAC,MAAM,GACJJ,KAAK,OAJP,CAAA;EAMF,IAAMK,UAAU,GAAGC,MAAM,EAAzB,CAAA;EAEA,IAAMC,aAAa,GAAGC,uBAAuB,EAA7C,CAAA;AACA,EAAA,IAAMC,MAAM,GAAG,CAAAC,EAAA,GAAAH,aAAa,KAAb,IAAA,IAAAA,aAAa,KAAb,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,aAAa,CAAEI,MAAf,MAAuB,IAAvB,IAAuBD,EAAA,KAAA,KAAA,CAAvB,GAAuB,KAAA,CAAvB,GAAuBA,EAAA,CAAAD,MAAtC,CAAA;EACA,IAAMG,GAAG,GAAG,CAAAC,EAAA,GAAA,CAAAC,EAAA,GAAAP,aAAa,KAAb,IAAA,IAAAA,aAAa,KAAb,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,aAAa,CAAEQ,MAAf,MAAqB,IAArB,IAAqBD,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAEE,QAAvB,MAA+B,IAA/B,IAA+BH,EAAA,KAAA,KAAA,CAA/B,GAA+B,KAAA,CAA/B,GAA+BA,EAAA,CAAED,GAA7C,CAAA;AACA,EAAA,IAAMK,iBAAiB,GAAGR,MAAM,KAAKP,eAArC,CAAA;;EACM,IAAAgB,EAAA,GAAkBC,QAAQ,EAA1B;AAAA,MAACC,IAAI,GAAAF,EAAA,CAAA,CAAA,CAAL;AAAA,MAAOG,OAAO,GAAAH,EAAA,CAAA,CAAA,CAAd,CAAA;;AACN,EAAA,IAAMI,SAAS,GAAGC,WAAW,CAC3B,UAACC,cAAD,EAAe;AACb,IAAA,IAAIJ,IAAI,IAAI,EAACR,GAAG,KAAA,IAAH,IAAAA,GAAG,KAAA,KAAA,CAAH,GAAG,KAAA,CAAH,GAAAA,GAAG,CAAEa,8BAAN,CAAZ,EAAkD;MAChDD,cAAc,EAAA,CAAA;AACd,MAAA,OAAA;AACD,KAAA;;AACD,IAAA,IAAME,KAAK,GAAGd,GAAG,KAAA,IAAH,IAAAA,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,GAAG,CAAEa,8BAAL,CAAoC;MAChDE,aAAa,EAAE,CAACzB,eAAD,CAAA;AADiC,KAApC,CAAd,CAAA;AAGAwB,IAAAA,KAAK,CAACE,IAAN,EAAA,CAAaC,IAAb,CAAkB,UAACC,OAAD,EAAQ;AACxB,MAAA,IAAI,CAAAA,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEC,MAAT,IAAkB,CAAtB,EAAyB;AACvBV,QAAAA,OAAO,CAACS,OAAO,CAAC,CAAD,CAAR,CAAP,CAAA;AACD,OAAA;;MACDN,cAAc,EAAA,CAAA;KAJhB,CAAA,CAAA;AAMD,GAf0B,EAgB3B,CAACZ,GAAD,EAAMV,eAAN,CAhB2B,CAA7B,CAAA;AAkBA,EAAA,oBACE8B,6BAAC,WAAD,EAAA;IACE,WAAW,EAAE,UAACR,cAAD,EAA8C;MAAA,oBACzDQ,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA;QACE,SAAS,EAAE,oDAEPC,CAAAA,MAFO,CAEPhB,iBAAiB,GAAG,4BAAH,GAAkC,EAF5C,EAGV,cAHU,CADb;AAKE,QAAA,OAAO,EAAE,YAAA;UAAM,OAAAK,SAAS,CAACE,cAAD,CAAT,CAAA;SALjB;AAME,QAAA,GAAG,EAAEnB,UAAAA;AANP,OAAA,eAQE2B,6BAAC,KAAD,EAAA;QACE,IAAI,EAAEE,eAAe,CAACC,SADxB;QAEE,KAAK,EAAE/B,MAAM,GAAGgC,WAAW,CAACC,WAAf,GAA6BD,WAAW,CAACE,cAAAA;OAErD,EAAA,EAAA,CAAGL,MAAH,CAAGhC,eAAH,CAAA,CAAqBgC,MAArB,CAAqB9B,qBAArB,CAJH,CARF,CADyD,CAAA;KAD7D;IAkBE,SAAS,EAAE,UAACoC,aAAD,EAA0B;AAAmB,MAAA,oBACtDP,cAAC,CAAA,aAAA,CAAA,SAAA;AACC;;;AAGE;AAJJ,QAAA;AAKE,QAAA,SAAS,EAAE3B,UALb;AAME,QAAA,gBAAgB,EAAEA,UANpB;AAOE,QAAA,aAAa,EAAEkC,aAPjB;AAQE,QAAA,KAAK,EAAE;AAAEC,UAAAA,UAAU,EAAE,CAAd;AAAiBC,UAAAA,aAAa,EAAE,CAAA;AAAhC,SAAA;AART,OAAA,eAUET,6BAACU,oBAAD,EAAA;AAAa,QAAA,IAAI,EAAEtB,IAAnB;AAAyB,QAAA,SAAS,EAAEmB,aAAAA;AAApC,OAAA,CAVF,CADsD,CAAA;AAavD,KAAA;GAhCL,CAAA,CAAA;AAmCD;;;;"}
|
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-5bebcb3a.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-e7e5efcf.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-594499d8.js';
|
|
19
|
+
import { a as UserProfileContext } from '../UserProfileContext-efa87f83.js';
|
|
20
|
+
import { u as useLocalization } from '../LocalizationContext-6a3c0561.js';
|
|
21
21
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
22
|
-
import '../index-
|
|
23
|
-
import '../tslib.es6-
|
|
22
|
+
import '../index-8287486d.js';
|
|
23
|
+
import '../tslib.es6-9643c112.js';
|
|
24
24
|
import './ImageRenderer.js';
|
|
25
25
|
import './Icon.js';
|
|
26
26
|
import 'prop-types';
|
|
27
|
-
import '../uuid-
|
|
27
|
+
import '../uuid-dacf1460.js';
|
|
28
28
|
import '../withSendbird.js';
|
|
29
|
-
import '../_rollupPluginBabelHelpers-
|
|
29
|
+
import '../_rollupPluginBabelHelpers-0bee2425.js';
|
|
30
30
|
import '../sendbirdSelectors.js';
|
|
31
|
-
import '../topics-
|
|
32
|
-
import '../utils-
|
|
31
|
+
import '../topics-57d99208.js';
|
|
32
|
+
import '../utils-8ff877ec.js';
|
|
33
33
|
import './Button.js';
|
|
34
|
-
import '../stringSet-
|
|
34
|
+
import '../stringSet-dc01885c.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-b14eebd4.js';
|
|
48
49
|
|
|
49
50
|
function MessageContent(_a) {
|
|
50
51
|
var _b, _c, _d, _e, _f;
|