@sendbird/uikit-react 3.2.6-rc.2 → 3.3.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +163 -71
- package/App.js.map +1 -1
- package/CHANGELOG.md +40 -0
- package/Channel/components/ChannelHeader.js +18 -43
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +28 -23
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +14 -14
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +49 -24
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +21 -16
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +30 -32
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +16 -16
- package/Channel/components/SuggestedMentionList.js +54 -48
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +14 -14
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +13 -13
- package/Channel.js +35 -24
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +28 -27
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +26 -24
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +32 -25
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +27 -27
- package/{ChannelListProvider-fa5ee3c6.js → ChannelListProvider-6916e880.js} +8 -8
- package/{ChannelListProvider-fa5ee3c6.js.map → ChannelListProvider-6916e880.js.map} +1 -1
- package/{ChannelProvider-c6154c45.js → ChannelProvider-8be62d5d.js} +90 -47
- package/ChannelProvider-8be62d5d.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +12 -12
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/ChannelSettings/components/LeaveChannel.js +12 -12
- package/ChannelSettings/components/ModerationPanel.js +24 -19
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +13 -13
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -18
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/InviteUsers.js +14 -14
- package/CreateChannel/components/SelectChannelType.js +11 -11
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-8058f838.js → CreateChannelProvider-4604e579.js} +1 -1
- package/{CreateChannelProvider-8058f838.js.map → CreateChannelProvider-4604e579.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +10 -10
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-8c300642.js → LocalizationContext-5920dafc.js} +3 -3
- package/{LocalizationContext-8c300642.js.map → LocalizationContext-5920dafc.js.map} +1 -1
- package/{MediaQueryContext-fbda8d54.js → MediaQueryContext-9c1bb79f.js} +1 -1
- package/{MediaQueryContext-fbda8d54.js.map → MediaQueryContext-9c1bb79f.js.map} +1 -1
- package/{MemberList-a1f955f3.js → MemberList-743b0708.js} +7 -6
- package/MemberList-743b0708.js.map +1 -0
- 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 +13 -13
- package/OpenChannel/components/OpenChannelInput.js +15 -15
- package/OpenChannel/components/OpenChannelMessage.js +22 -22
- package/OpenChannel/components/OpenChannelMessageList.js +24 -24
- package/OpenChannel/components/OpenChannelUI.js +24 -24
- package/OpenChannel/context.js +9 -9
- package/OpenChannel.js +24 -24
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +4 -4
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-d39c8aac.js → OpenChannelListProvider-8f97ace6.js} +3 -3
- package/{OpenChannelListProvider-d39c8aac.js.map → OpenChannelListProvider-8f97ace6.js.map} +1 -1
- package/{OpenChannelProvider-2e9167b6.js → OpenChannelProvider-1438b899.js} +7 -7
- package/OpenChannelProvider-1438b899.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +18 -18
- package/RemoveMessageModal-0ce1f978.js +31 -0
- package/RemoveMessageModal-0ce1f978.js.map +1 -0
- package/SendbirdProvider.js +18 -14
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +360 -0
- package/Thread/components/ParentMessageInfo.js.map +1 -0
- package/Thread/components/ParentMessageInfoItem.js +197 -0
- package/Thread/components/ParentMessageInfoItem.js.map +1 -0
- package/Thread/components/ThreadHeader.js +61 -0
- package/Thread/components/ThreadHeader.js.map +1 -0
- package/Thread/components/ThreadList.js +139 -0
- package/Thread/components/ThreadList.js.map +1 -0
- package/Thread/components/ThreadListItem.js +522 -0
- package/Thread/components/ThreadListItem.js.map +1 -0
- package/Thread/components/ThreadMessageInput.js +193 -0
- package/Thread/components/ThreadMessageInput.js.map +1 -0
- package/Thread/components/ThreadUI.js +314 -0
- package/Thread/components/ThreadUI.js.map +1 -0
- package/Thread/context/types.js +30 -0
- package/Thread/context/types.js.map +1 -0
- package/Thread/context.js +18 -0
- package/Thread/context.js.map +1 -0
- package/Thread.js +112 -0
- package/Thread.js.map +1 -0
- package/ThreadProvider-4640c6fb.js +1644 -0
- package/ThreadProvider-4640c6fb.js.map +1 -0
- package/{UserProfileContext-5678a04f.js → UserProfileContext-749db4f6.js} +1 -1
- package/{UserProfileContext-5678a04f.js.map → UserProfileContext-749db4f6.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-cdd0b511.js → _rollupPluginBabelHelpers-636e674b.js} +1 -1
- package/_rollupPluginBabelHelpers-636e674b.js.map +1 -0
- package/{actionTypes-3724a60f.js → actionTypes-9bf40e56.js} +1 -1
- package/{actionTypes-3724a60f.js.map → actionTypes-9bf40e56.js.map} +1 -1
- package/cjs/App.js +163 -71
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +20 -45
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +28 -23
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +14 -14
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +49 -24
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +21 -16
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +30 -32
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +16 -16
- package/cjs/Channel/components/SuggestedMentionList.js +54 -48
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +14 -14
- 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 +35 -24
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +28 -27
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +26 -24
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +32 -25
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +27 -27
- package/cjs/{ChannelListProvider-dc412a35.js → ChannelListProvider-d04a3815.js} +8 -8
- package/cjs/{ChannelListProvider-dc412a35.js.map → ChannelListProvider-d04a3815.js.map} +1 -1
- package/cjs/{ChannelProvider-423912b2.js → ChannelProvider-6fd99b0a.js} +90 -46
- package/cjs/ChannelProvider-6fd99b0a.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
- package/cjs/ChannelSettings/components/ModerationPanel.js +24 -19
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +13 -13
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js +14 -14
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-3fd8586c.js → CreateChannelProvider-a096e766.js} +1 -1
- package/cjs/{CreateChannelProvider-3fd8586c.js.map → CreateChannelProvider-a096e766.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +10 -10
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-6874bb17.js → LocalizationContext-9c61d945.js} +3 -3
- package/cjs/{LocalizationContext-6874bb17.js.map → LocalizationContext-9c61d945.js.map} +1 -1
- package/cjs/{MediaQueryContext-feb3b07d.js → MediaQueryContext-19197e12.js} +1 -1
- package/cjs/{MediaQueryContext-feb3b07d.js.map → MediaQueryContext-19197e12.js.map} +1 -1
- package/cjs/{MemberList-00ad7f6d.js → MemberList-82cd8a28.js} +7 -6
- package/cjs/MemberList-82cd8a28.js.map +1 -0
- 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 +13 -13
- package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
- package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
- package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
- package/cjs/OpenChannel/context.js +9 -9
- package/cjs/OpenChannel.js +24 -24
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-8273ddeb.js → OpenChannelListProvider-3998074a.js} +3 -3
- package/cjs/{OpenChannelListProvider-8273ddeb.js.map → OpenChannelListProvider-3998074a.js.map} +1 -1
- package/cjs/{OpenChannelProvider-37e885fb.js → OpenChannelProvider-7bd784c2.js} +7 -7
- package/cjs/OpenChannelProvider-7bd784c2.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +18 -18
- package/cjs/RemoveMessageModal-81ca8cf7.js +37 -0
- package/cjs/RemoveMessageModal-81ca8cf7.js.map +1 -0
- package/cjs/SendbirdProvider.js +18 -14
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +366 -0
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -0
- package/cjs/Thread/components/ParentMessageInfoItem.js +203 -0
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -0
- package/cjs/Thread/components/ThreadHeader.js +67 -0
- package/cjs/Thread/components/ThreadHeader.js.map +1 -0
- package/cjs/Thread/components/ThreadList.js +145 -0
- package/cjs/Thread/components/ThreadList.js.map +1 -0
- package/cjs/Thread/components/ThreadListItem.js +528 -0
- package/cjs/Thread/components/ThreadListItem.js.map +1 -0
- package/cjs/Thread/components/ThreadMessageInput.js +199 -0
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -0
- package/cjs/Thread/components/ThreadUI.js +320 -0
- package/cjs/Thread/components/ThreadUI.js.map +1 -0
- package/cjs/Thread/context/types.js +32 -0
- package/cjs/Thread/context/types.js.map +1 -0
- package/cjs/Thread/context.js +27 -0
- package/cjs/Thread/context.js.map +1 -0
- package/cjs/Thread.js +118 -0
- package/cjs/Thread.js.map +1 -0
- package/cjs/ThreadProvider-acb1ddb1.js +1653 -0
- package/cjs/ThreadProvider-acb1ddb1.js.map +1 -0
- package/cjs/{UserProfileContext-9d54afea.js → UserProfileContext-637e5f40.js} +1 -1
- package/cjs/{UserProfileContext-9d54afea.js.map → UserProfileContext-637e5f40.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-63261191.js → _rollupPluginBabelHelpers-20ad87c1.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-20ad87c1.js.map +1 -0
- package/cjs/{actionTypes-c65dff0d.js → actionTypes-7ba29408.js} +1 -1
- package/cjs/{actionTypes-c65dff0d.js.map → actionTypes-7ba29408.js.map} +1 -1
- package/cjs/{color-fedc6b01.js → color-da1f2f09.js} +1 -1
- package/cjs/{color-fedc6b01.js.map → color-da1f2f09.js.map} +1 -1
- package/cjs/{compareIds-8c00aeb4.js → compareIds-a7a8f34b.js} +1 -1
- package/cjs/{compareIds-8c00aeb4.js.map → compareIds-a7a8f34b.js.map} +1 -1
- package/cjs/{const-692c8ec4.js → const-5f50d896.js} +1 -1
- package/cjs/{const-692c8ec4.js.map → const-5f50d896.js.map} +1 -1
- package/cjs/{const-e3a67a31.js → const-c5332da3.js} +7 -1
- package/cjs/const-c5332da3.js.map +1 -0
- package/cjs/{context-df3ea28e.js → context-3063790f.js} +2 -2
- package/cjs/{context-df3ea28e.js.map → context-3063790f.js.map} +1 -1
- package/cjs/dist/index.css +1190 -337
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-8a4cee0d.js → index-0418c426.js} +7 -7
- package/cjs/index-0418c426.js.map +1 -0
- package/cjs/{index-7c35290e.js → index-566a2b96.js} +2 -2
- package/cjs/{index-7c35290e.js.map → index-566a2b96.js.map} +1 -1
- package/cjs/{index-832708e6.js → index-568f12d2.js} +4 -4
- package/cjs/{index-832708e6.js.map → index-568f12d2.js.map} +1 -1
- package/cjs/{index-d42411de.js → index-5d551bb1.js} +2 -2
- package/cjs/{index-d42411de.js.map → index-5d551bb1.js.map} +1 -1
- package/cjs/{index-6c53880c.js → index-6a32eea2.js} +1 -1
- package/cjs/{index-6c53880c.js.map → index-6a32eea2.js.map} +1 -1
- package/cjs/{index-d459624c.js → index-795706d2.js} +2 -2
- package/cjs/{index-d459624c.js.map → index-795706d2.js.map} +1 -1
- package/cjs/{index-aac53356.js → index-94a96213.js} +4 -4
- package/cjs/{index-aac53356.js.map → index-94a96213.js.map} +1 -1
- package/cjs/{index-dcba8ae0.js → index-99943583.js} +5 -5
- package/cjs/{index-dcba8ae0.js.map → index-99943583.js.map} +1 -1
- package/cjs/{index-5b759304.js → index-ac7ef6d8.js} +9 -9
- package/cjs/index-ac7ef6d8.js.map +1 -0
- package/cjs/{index-93c444a5.js → index-b82af371.js} +1 -1
- package/cjs/{index-93c444a5.js.map → index-b82af371.js.map} +1 -1
- package/cjs/{index-200fff97.js → index-d0d7cb2e.js} +2 -2
- package/cjs/{index-200fff97.js.map → index-d0d7cb2e.js.map} +1 -1
- package/cjs/index.js +82 -68
- package/cjs/index.js.map +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-c1f0eb5e.js → stringSet-520996cb.js} +17 -3
- package/cjs/stringSet-520996cb.js.map +1 -0
- package/cjs/{topics-1a805c8d.js → topics-e5734128.js} +1 -1
- package/cjs/{topics-1a805c8d.js.map → topics-e5734128.js.map} +1 -1
- package/cjs/tslib.es6-29ba80a6.js +97 -0
- package/cjs/{tslib.es6-7122e617.js.map → tslib.es6-29ba80a6.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/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/BottomSheet.js +1 -1
- 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 +15 -11
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +26 -14
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +11 -8
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +8 -8
- 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 +15 -14
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +104 -56
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +17 -13
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +40 -16
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +9 -9
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +11 -11
- package/cjs/ui/MessageStatus.js.map +1 -1
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +11 -13
- 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 +21 -19
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +18 -18
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +17 -17
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +16 -16
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/QuoteMessage.js +34 -16
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +11 -11
- package/cjs/ui/ThreadReplies.js +82 -0
- package/cjs/ui/ThreadReplies.js.map +1 -0
- package/cjs/ui/ThumbnailMessageItemBody.js +14 -12
- 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 +6 -6
- package/cjs/ui/UserListItem.js +17 -17
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +14 -12
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/Word.js +11 -11
- package/cjs/{useLongPress-76811e64.js → useLongPress-9c1d0d7e.js} +3 -3
- package/cjs/{useLongPress-76811e64.js.map → useLongPress-9c1d0d7e.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils-88f4aff4.js +32 -0
- package/cjs/utils-88f4aff4.js.map +1 -0
- package/cjs/{utils-c98ac06d.js → utils-c137a361.js} +1 -1
- package/cjs/{utils-c98ac06d.js.map → utils-c137a361.js.map} +1 -1
- package/cjs/{utils-a757b63f.js → utils-ee8b0f03.js} +1 -1
- package/cjs/{utils-a757b63f.js.map → utils-ee8b0f03.js.map} +1 -1
- package/cjs/{utils-a9e5232a.js → utils-f215ace1.js} +1 -1
- package/cjs/{utils-a9e5232a.js.map → utils-f215ace1.js.map} +1 -1
- package/cjs/{uuid-0e4180d1.js → uuid-ed079835.js} +1 -1
- package/cjs/{uuid-0e4180d1.js.map → uuid-ed079835.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-baff39e6.js → color-253fcdc4.js} +1 -1
- package/{color-baff39e6.js.map → color-253fcdc4.js.map} +1 -1
- package/{compareIds-45cb6c7e.js → compareIds-5494c074.js} +1 -1
- package/{compareIds-45cb6c7e.js.map → compareIds-5494c074.js.map} +1 -1
- package/{const-97f4dcf4.js → const-2aae43f2.js} +1 -1
- package/{const-97f4dcf4.js.map → const-2aae43f2.js.map} +1 -1
- package/const-8bb8cc10.js +14 -0
- package/const-8bb8cc10.js.map +1 -0
- package/{context-3e416fe0.js → context-8c660706.js} +2 -2
- package/{context-3e416fe0.js.map → context-8c660706.js.map} +1 -1
- package/dist/index.css +1190 -337
- package/dist/index.css.map +1 -1
- package/{index-1f08f186.js → index-1a59aaa9.js} +7 -7
- package/index-1a59aaa9.js.map +1 -0
- package/{index-29c95f90.js → index-358a6180.js} +4 -4
- package/{index-29c95f90.js.map → index-358a6180.js.map} +1 -1
- package/{index-e80fbb97.js → index-4a23e6ff.js} +2 -2
- package/{index-e80fbb97.js.map → index-4a23e6ff.js.map} +1 -1
- package/{index-55e004b6.js → index-4f51d577.js} +2 -2
- package/{index-55e004b6.js.map → index-4f51d577.js.map} +1 -1
- package/{index-d993e454.js → index-8b94db1e.js} +2 -2
- package/{index-d993e454.js.map → index-8b94db1e.js.map} +1 -1
- package/{index-801ab41e.js → index-a6dbcbe1.js} +2 -2
- package/{index-801ab41e.js.map → index-a6dbcbe1.js.map} +1 -1
- package/{index-5ba44303.js → index-b5b56cb7.js} +1 -1
- package/{index-5ba44303.js.map → index-b5b56cb7.js.map} +1 -1
- package/{index-b1fd400d.js → index-b932b49d.js} +5 -5
- package/{index-b1fd400d.js.map → index-b932b49d.js.map} +1 -1
- package/{index-a7f2d8fd.js → index-cb6348b0.js} +4 -4
- package/{index-a7f2d8fd.js.map → index-cb6348b0.js.map} +1 -1
- package/{index-b0bfb86e.js → index-d2dd3ae2.js} +1 -1
- package/{index-b0bfb86e.js.map → index-d2dd3ae2.js.map} +1 -1
- package/{index-fde25086.js → index-d5896de7.js} +9 -9
- package/index-d5896de7.js.map +1 -0
- package/index.d.ts +224 -13
- package/index.js +82 -68
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-b9e1e7dc.js → stringSet-f0e25f08.js} +17 -3
- package/stringSet-f0e25f08.js.map +1 -0
- package/{topics-9580e9ae.js → topics-d2e15fe6.js} +1 -1
- package/{topics-9580e9ae.js.map → topics-d2e15fe6.js.map} +1 -1
- package/tslib.es6-279bc71d.js +92 -0
- package/{tslib.es6-257c9dc0.js.map → tslib.es6-279bc71d.js.map} +1 -1
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +15 -11
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +26 -14
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +11 -8
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +8 -8
- 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 +15 -14
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MessageContent.js +104 -56
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +17 -13
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +40 -16
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +9 -9
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +11 -11
- package/ui/MessageStatus.js.map +1 -1
- package/ui/Modal.js +7 -7
- package/ui/Modal.js.map +1 -1
- package/ui/OGMessageItemBody.js +11 -13
- 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 +21 -19
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +18 -18
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +17 -17
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +16 -16
- package/ui/PlaceHolder.js +6 -6
- package/ui/QuoteMessage.js +34 -16
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +11 -11
- package/ui/ThreadReplies.js +76 -0
- package/ui/ThreadReplies.js.map +1 -0
- package/ui/ThumbnailMessageItemBody.js +14 -12
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +17 -17
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +14 -12
- package/ui/UserProfile.js.map +1 -1
- package/ui/Word.js +11 -11
- package/{useLongPress-471668c2.js → useLongPress-53f7929a.js} +3 -3
- package/{useLongPress-471668c2.js.map → useLongPress-53f7929a.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/{utils-27c9d41f.js → utils-128b3636.js} +1 -1
- package/{utils-27c9d41f.js.map → utils-128b3636.js.map} +1 -1
- package/{utils-f9a93d9a.js → utils-5a4995e3.js} +1 -1
- package/{utils-f9a93d9a.js.map → utils-5a4995e3.js.map} +1 -1
- package/utils-ad636dfd.js +30 -0
- package/utils-ad636dfd.js.map +1 -0
- package/{utils-63ed383e.js → utils-afd23bb8.js} +1 -1
- package/{utils-63ed383e.js.map → utils-afd23bb8.js.map} +1 -1
- package/{uuid-d2ed5e50.js → uuid-636df95b.js} +1 -1
- package/{uuid-d2ed5e50.js.map → uuid-636df95b.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelProvider-c6154c45.js.map +0 -1
- package/MemberList-a1f955f3.js.map +0 -1
- package/OpenChannelProvider-2e9167b6.js.map +0 -1
- package/_rollupPluginBabelHelpers-cdd0b511.js.map +0 -1
- package/cjs/ChannelProvider-423912b2.js.map +0 -1
- package/cjs/MemberList-00ad7f6d.js.map +0 -1
- package/cjs/OpenChannelProvider-37e885fb.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-63261191.js.map +0 -1
- package/cjs/const-e3a67a31.js.map +0 -1
- package/cjs/index-5b759304.js.map +0 -1
- package/cjs/index-8a4cee0d.js.map +0 -1
- package/cjs/stringSet-c1f0eb5e.js.map +0 -1
- package/cjs/tslib.es6-7122e617.js +0 -57
- package/const-7f0a43cc.js +0 -8
- package/const-7f0a43cc.js.map +0 -1
- package/index-1f08f186.js.map +0 -1
- package/index-fde25086.js.map +0 -1
- package/stringSet-b9e1e7dc.js.map +0 -1
- package/tslib.es6-257c9dc0.js +0 -54
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 className?: string;\n style?: Record<string, string>;\n openLeft?: boolean;\n children: React.ReactElement | Array<React.ReactElement>;\n parentRef: React.RefObject<HTMLElement>;\n parentContainRef: React.RefObject<HTMLElement>;\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, className=\"\" } = this.props;\n return (\n createPortal(\n (\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className={`${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, ReactNode } 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: ReactNode | Array<ReactNode>;\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 aria-disabled={disable ? true : false}\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 isOpen?: boolean;\n}\nexport default function ContextMenu({\n menuTrigger,\n menuItems,\n isOpen,\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 || isOpen) && 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","className","createPortal","concat","__assign","display","position","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","onClick","disable","handleClickEvent","e","getClassName","keyCode","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_4","ONBACKGROUND_1","MenuRoot","EmojiReactionListRoot","ContextMenu","menuTrigger","menuItems","isOpen","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 className?: string;\n style?: Record<string, string>;\n openLeft?: boolean;\n children: React.ReactElement | Array<React.ReactElement>;\n parentRef: React.RefObject<HTMLElement>;\n parentContainRef: React.RefObject<HTMLElement>;\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, className=\"\" } = this.props;\n return (\n createPortal(\n (\n <div className={this.props?.className}>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className={`${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 </div>\n ),\n document.getElementById('sendbird-dropdown-portal'),\n )\n );\n }\n}\n","import React, { ReactElement, ReactNode, 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: ReactNode;\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, ReactNode } 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 | ReactElement[] | ReactNode;\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 aria-disabled={disable ? true : false}\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 isOpen?: boolean;\n}\nexport default function ContextMenu({\n menuTrigger,\n menuItems,\n isOpen,\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 || isOpen) && 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","className","createPortal","concat","__assign","display","position","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","onClick","disable","handleClickEvent","e","getClassName","keyCode","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_4","ONBACKGROUND_1","MenuRoot","EmojiReactionListRoot","ContextMenu","menuTrigger","menuItems","isOpen","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-279bc71d.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-253fcdc4.js';
|
|
4
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-4a23e6ff.js';
|
|
5
5
|
import 'prop-types';
|
|
6
|
-
import '../stringSet-
|
|
6
|
+
import '../stringSet-f0e25f08.js';
|
|
7
7
|
|
|
8
8
|
var DateSeparator = function (_a) {
|
|
9
9
|
var _b = _a.children,
|
package/ui/EmojiReactions.js
CHANGED
|
@@ -6,17 +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 { G as getEmojiMapAll, h as getClassName, H as isReactedBy, I as getEmojiTooltipString, x as getEmojiListAll } from '../index-
|
|
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, x as getEmojiListAll } from '../index-1a59aaa9.js';
|
|
10
|
+
import { a as LocalizationContext } from '../LocalizationContext-5920dafc.js';
|
|
11
|
+
import '../tslib.es6-279bc71d.js';
|
|
12
|
+
import '../index-4a23e6ff.js';
|
|
13
13
|
import 'prop-types';
|
|
14
|
-
import '../stringSet-
|
|
14
|
+
import '../stringSet-f0e25f08.js';
|
|
15
15
|
import 'react-dom';
|
|
16
16
|
import './SortByRow.js';
|
|
17
|
-
import '../uuid-
|
|
17
|
+
import '../uuid-636df95b.js';
|
|
18
18
|
import '../utils/message/getOutgoingMessageState.js';
|
|
19
|
-
import '../index-
|
|
19
|
+
import '../index-b5b56cb7.js';
|
|
20
20
|
|
|
21
21
|
var EmojiReactions = function (_a) {
|
|
22
22
|
var _b, _c;
|
|
@@ -27,7 +27,10 @@ var EmojiReactions = function (_a) {
|
|
|
27
27
|
emojiContainer = _a.emojiContainer,
|
|
28
28
|
memberNicknamesMap = _a.memberNicknamesMap,
|
|
29
29
|
_d = _a.spaceFromTrigger,
|
|
30
|
-
spaceFromTrigger = _d === void 0 ? {
|
|
30
|
+
spaceFromTrigger = _d === void 0 ? {
|
|
31
|
+
x: 0,
|
|
32
|
+
y: 0
|
|
33
|
+
} : _d,
|
|
31
34
|
_e = _a.isByMe,
|
|
32
35
|
isByMe = _e === void 0 ? false : _e,
|
|
33
36
|
toggleReaction = _a.toggleReaction;
|
|
@@ -47,8 +50,11 @@ var EmojiReactions = function (_a) {
|
|
|
47
50
|
}, /*#__PURE__*/React__default.createElement(ReactionBadge, {
|
|
48
51
|
count: reaction.userIds.length,
|
|
49
52
|
selected: reactedByMe,
|
|
50
|
-
onClick: function () {
|
|
51
|
-
|
|
53
|
+
onClick: function (e) {
|
|
54
|
+
var _a;
|
|
55
|
+
|
|
56
|
+
toggleReaction(message, reaction.key, reactedByMe);
|
|
57
|
+
(_a = e === null || e === void 0 ? void 0 : e.stopPropagation) === null || _a === void 0 ? void 0 : _a.call(e);
|
|
52
58
|
}
|
|
53
59
|
}, /*#__PURE__*/React__default.createElement(ImageRenderer, {
|
|
54
60
|
circle: true,
|
|
@@ -67,7 +73,12 @@ var EmojiReactions = function (_a) {
|
|
|
67
73
|
className: "sendbird-emoji-reactions__add-reaction-badge",
|
|
68
74
|
ref: addReactionRef,
|
|
69
75
|
isAdd: true,
|
|
70
|
-
onClick:
|
|
76
|
+
onClick: function (e) {
|
|
77
|
+
var _a;
|
|
78
|
+
|
|
79
|
+
toggleDropdown();
|
|
80
|
+
(_a = e === null || e === void 0 ? void 0 : e.stopPropagation) === null || _a === void 0 ? void 0 : _a.call(e);
|
|
81
|
+
}
|
|
71
82
|
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
72
83
|
type: IconTypes.EMOJI_MORE,
|
|
73
84
|
fillColor: IconColors.ON_BACKGROUND_3,
|
|
@@ -84,9 +95,9 @@ var EmojiReactions = function (_a) {
|
|
|
84
95
|
}, getEmojiListAll(emojiContainer).map(function (emoji) {
|
|
85
96
|
var _a, _b, _c;
|
|
86
97
|
|
|
87
|
-
var isReacted = (_c = (_b = (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.
|
|
98
|
+
var isReacted = (_c = (_b = (_a = message === null || message === void 0 ? void 0 : message.reactions) === null || _a === void 0 ? void 0 : _a.find(function (reaction) {
|
|
88
99
|
return reaction.key === emoji.key;
|
|
89
|
-
})
|
|
100
|
+
})) === null || _b === void 0 ? void 0 : _b.userIds) === null || _c === void 0 ? void 0 : _c.some(function (reactorId) {
|
|
90
101
|
return reactorId === userId;
|
|
91
102
|
});
|
|
92
103
|
return /*#__PURE__*/React__default.createElement(ReactionButton, {
|
|
@@ -94,9 +105,10 @@ var EmojiReactions = function (_a) {
|
|
|
94
105
|
width: "36px",
|
|
95
106
|
height: "36px",
|
|
96
107
|
selected: isReacted,
|
|
97
|
-
onClick: function () {
|
|
108
|
+
onClick: function (e) {
|
|
98
109
|
closeDropdown();
|
|
99
110
|
toggleReaction(message, emoji.key, isReacted);
|
|
111
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
100
112
|
}
|
|
101
113
|
}, /*#__PURE__*/React__default.createElement(ImageRenderer, {
|
|
102
114
|
url: (emoji === null || emoji === void 0 ? void 0 : emoji.url) || '',
|
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?: { x: number, y: number };\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 = { x: 0, y: 0 },\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={(e) => {\n toggleReaction(message, reaction.key, reactedByMe);\n e?.stopPropagation?.();\n }}\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={(e) => {\n toggleDropdown();\n e?.stopPropagation?.();\n }}\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 find((reaction: Reaction): boolean => reaction.key === emoji.key)?.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={(e): void => {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n e?.stopPropagation();\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","x","y","_e","isByMe","toggleReaction","stringSet","useContext","LocalizationContext","emojisMap","getEmojiMapAll","addReactionRef","useRef","React","getClassName","_b","reactions","length","map","reaction","reactedByMe","isReactedBy","key","userIds","getEmojiTooltipString","e","stopPropagation","get","url","IconTypes","QUESTION","_c","size","toggleDropdown","EMOJI_MORE","IconColors","ON_BACKGROUND_3","closeDropdown","getEmojiListAll","emoji","isReacted","find","some","reactorId","style"],"mappings":"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"}
|
|
@@ -1,13 +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-4a23e6ff.js';
|
|
3
3
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
4
4
|
import TextButton from './TextButton.js';
|
|
5
|
-
import { h as getClassName, J as getUIKitFileType, t as truncateString } from '../index-
|
|
6
|
-
import { C as Colors } from '../color-
|
|
7
|
-
import { u as useMediaQueryContext } from '../MediaQueryContext-
|
|
5
|
+
import { h as getClassName, J as getUIKitFileType, t as truncateString } from '../index-1a59aaa9.js';
|
|
6
|
+
import { C as Colors } from '../color-253fcdc4.js';
|
|
7
|
+
import { u as useMediaQueryContext } from '../MediaQueryContext-9c1bb79f.js';
|
|
8
8
|
import 'prop-types';
|
|
9
|
-
import '../stringSet-
|
|
10
|
-
import '../tslib.es6-
|
|
9
|
+
import '../stringSet-f0e25f08.js';
|
|
10
|
+
import '../tslib.es6-279bc71d.js';
|
|
11
11
|
import '../utils/message/getOutgoingMessageState.js';
|
|
12
12
|
|
|
13
13
|
function FileMessageItemBody(_a) {
|
|
@@ -20,8 +20,11 @@ function FileMessageItemBody(_a) {
|
|
|
20
20
|
_d = _a.mouseHover,
|
|
21
21
|
mouseHover = _d === void 0 ? false : _d,
|
|
22
22
|
_e = _a.isReactionEnabled,
|
|
23
|
-
isReactionEnabled = _e === void 0 ? false : _e
|
|
23
|
+
isReactionEnabled = _e === void 0 ? false : _e,
|
|
24
|
+
_f = _a.truncateLimit,
|
|
25
|
+
truncateLimit = _f === void 0 ? null : _f;
|
|
24
26
|
var isMobile = useMediaQueryContext().isMobile;
|
|
27
|
+
var truncateMaxNum = truncateLimit || (isMobile ? 20 : null);
|
|
25
28
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
26
29
|
className: getClassName([className, 'sendbird-file-message-item-body', isByMe ? 'outgoing' : 'incoming', mouseHover ? 'mouse-hover' : '', isReactionEnabled && ((_b = message === null || message === void 0 ? void 0 : message.reactions) === null || _b === void 0 ? void 0 : _b.length) > 0 ? 'reactions' : ''])
|
|
27
30
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -48,7 +51,7 @@ function FileMessageItemBody(_a) {
|
|
|
48
51
|
className: "sendbird-file-message-item-body__file-name__text",
|
|
49
52
|
type: LabelTypography.BODY_1,
|
|
50
53
|
color: isByMe ? LabelColors.ONCONTENT_1 : LabelColors.ONBACKGROUND_1
|
|
51
|
-
}, truncateString((message === null || message === void 0 ? void 0 : message.name) || (message === null || message === void 0 ? void 0 : message.url),
|
|
54
|
+
}, truncateString((message === null || message === void 0 ? void 0 : message.name) || (message === null || message === void 0 ? void 0 : message.url), truncateMaxNum))));
|
|
52
55
|
}
|
|
53
56
|
|
|
54
57
|
export { FileMessageItemBody as default };
|
|
@@ -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';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\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 const { isMobile } = useMediaQueryContext();\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 {
|
|
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';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\n\ninterface Props {\n className?: string | Array<string>;\n message: FileMessage;\n isByMe?: boolean;\n mouseHover?: boolean;\n isReactionEnabled?: boolean;\n truncateLimit?: number;\n}\n\nexport default function FileMessageItemBody({\n className,\n message,\n isByMe = false,\n mouseHover = false,\n isReactionEnabled = false,\n truncateLimit = null,\n}: Props): ReactElement {\n const { isMobile } = useMediaQueryContext();\n const truncateMaxNum = truncateLimit || (isMobile ? 20 : null);\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, truncateMaxNum)}\n </Label>\n </TextButton>\n </div>\n );\n}\n"],"names":["FileMessageItemBody","_a","className","message","_c","isByMe","_d","mouseHover","_e","isReactionEnabled","_f","truncateLimit","isMobile","useMediaQueryContext","truncateMaxNum","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":"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"}
|
package/ui/FileViewer.js
CHANGED
|
@@ -1,17 +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 { D as isSupportedFileView, E as isVideo, F as isImage } from '../index-
|
|
3
|
+
import { a as LocalizationContext } from '../LocalizationContext-5920dafc.js';
|
|
4
|
+
import { M as MODAL_ROOT } from '../index-d2dd3ae2.js';
|
|
5
|
+
import { D as isSupportedFileView, E as isVideo, F as isImage } from '../index-1a59aaa9.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-4a23e6ff.js';
|
|
8
8
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
9
|
-
import '../stringSet-
|
|
10
|
-
import '../index-
|
|
11
|
-
import '../tslib.es6-
|
|
9
|
+
import '../stringSet-f0e25f08.js';
|
|
10
|
+
import '../index-b5b56cb7.js';
|
|
11
|
+
import '../tslib.es6-279bc71d.js';
|
|
12
12
|
import '../utils/message/getOutgoingMessageState.js';
|
|
13
13
|
import './ImageRenderer.js';
|
|
14
|
-
import '../uuid-
|
|
14
|
+
import '../uuid-636df95b.js';
|
|
15
15
|
import 'prop-types';
|
|
16
16
|
|
|
17
17
|
var FileViewerComponent = function (_a) {
|
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-279bc71d.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-4a23e6ff.js';
|
|
3
3
|
import 'prop-types';
|
|
4
|
-
import '../stringSet-
|
|
4
|
+
import '../stringSet-f0e25f08.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-4a23e6ff.js';
|
|
4
|
+
import '../stringSet-f0e25f08.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-4a23e6ff.js';
|
|
4
|
+
import '../stringSet-f0e25f08.js';
|
|
5
5
|
|
|
6
6
|
const http = /https?:\/\//;
|
|
7
7
|
function LinkLabel(_ref) {
|
package/ui/Loader.js
CHANGED
package/ui/MentionLabel.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
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-4a23e6ff.js';
|
|
4
4
|
import ConnectedUserProfile from './UserProfile.js';
|
|
5
5
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
6
|
-
import '../tslib.es6-
|
|
6
|
+
import '../tslib.es6-279bc71d.js';
|
|
7
7
|
import 'react-dom';
|
|
8
8
|
import './SortByRow.js';
|
|
9
|
-
import '../uuid-
|
|
10
|
-
import '../index-
|
|
9
|
+
import '../uuid-636df95b.js';
|
|
10
|
+
import '../index-1a59aaa9.js';
|
|
11
11
|
import '../utils/message/getOutgoingMessageState.js';
|
|
12
12
|
import 'prop-types';
|
|
13
|
-
import '../stringSet-
|
|
14
|
-
import '../LocalizationContext-
|
|
15
|
-
import '../index-
|
|
13
|
+
import '../stringSet-f0e25f08.js';
|
|
14
|
+
import '../LocalizationContext-5920dafc.js';
|
|
15
|
+
import '../index-b5b56cb7.js';
|
|
16
16
|
import '../withSendbird.js';
|
|
17
|
-
import '../_rollupPluginBabelHelpers-
|
|
18
|
-
import '../UserProfileContext-
|
|
17
|
+
import '../_rollupPluginBabelHelpers-636e674b.js';
|
|
18
|
+
import '../UserProfileContext-749db4f6.js';
|
|
19
19
|
import '../sendbirdSelectors.js';
|
|
20
|
-
import '../topics-
|
|
21
|
-
import '../utils-
|
|
20
|
+
import '../topics-d2e15fe6.js';
|
|
21
|
+
import '../utils-5a4995e3.js';
|
|
22
22
|
import './Avatar.js';
|
|
23
23
|
import './ImageRenderer.js';
|
|
24
24
|
import './Icon.js';
|
|
@@ -82,12 +82,13 @@ function MentionLabel(props) {
|
|
|
82
82
|
parentContainRef: mentionRef,
|
|
83
83
|
closeDropdown: closeDropdown,
|
|
84
84
|
style: {
|
|
85
|
-
paddingTop:
|
|
86
|
-
paddingBottom:
|
|
85
|
+
paddingTop: '0px',
|
|
86
|
+
paddingBottom: '0px'
|
|
87
87
|
}
|
|
88
88
|
}, /*#__PURE__*/React__default.createElement(ConnectedUserProfile, {
|
|
89
89
|
user: user,
|
|
90
|
-
onSuccess: closeDropdown
|
|
90
|
+
onSuccess: closeDropdown,
|
|
91
|
+
currentUserId: userId
|
|
91
92
|
}));
|
|
92
93
|
}
|
|
93
94
|
});
|
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:
|
|
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: '0px', paddingBottom: '0px' }}\n >\n <UserProfile\n user={user}\n onSuccess={closeDropdown}\n currentUserId={userId}\n />\n </MenuItems>\n )}\n />\n )\n}\n"],"names":["MentionLabel","props","mentionTemplate","mentionedUserId","mentionedUserNickname","isByMe","mentionRef","useRef","sendbirdState","useSendbirdStateContext","userId","_a","config","sdk","_c","_b","stores","sdkStore","amIBeingMentioned","_d","useState","user","setUser","fetchUser","useCallback","toggleDropdown","createApplicationUserListQuery","query","userIdsFilter","next","then","members","length","React","concat","LabelTypography","CAPTION_1","LabelColors","ONCONTENT_1","ONBACKGROUND_1","closeDropdown","paddingTop","paddingBottom","UserProfile"],"mappings":"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"}
|