@sendbird/uikit-react 3.2.1 → 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-5d6be9a8.js → ChannelListProvider-0f680566.js} +27 -23
- package/ChannelListProvider-0f680566.js.map +1 -0
- package/{ChannelProvider-106bb518.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-879ea78c.js → CreateChannelProvider-6ca875f0.js} +1 -1
- package/{CreateChannelProvider-879ea78c.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-a6f8fb25.js → LocalizationContext-6a3c0561.js} +3 -3
- package/{LocalizationContext-a6f8fb25.js.map → LocalizationContext-6a3c0561.js.map} +1 -1
- package/{MemberList-bf1787c0.js → MemberList-8e0f0595.js} +5 -5
- package/{MemberList-bf1787c0.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-cdd801da.js → OpenChannelListProvider-6b400787.js} +3 -3
- package/{OpenChannelListProvider-cdd801da.js.map → OpenChannelListProvider-6b400787.js.map} +1 -1
- package/{OpenChannelProvider-10dd5869.js → OpenChannelProvider-65570af9.js} +7 -7
- package/{OpenChannelProvider-10dd5869.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 +13 -8
- package/SendbirdProvider.js.map +1 -1
- package/{UserProfileContext-58463608.js → UserProfileContext-efa87f83.js} +1 -1
- package/{UserProfileContext-58463608.js.map → UserProfileContext-efa87f83.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-b9099c54.js → _rollupPluginBabelHelpers-0bee2425.js} +1 -1
- package/_rollupPluginBabelHelpers-0bee2425.js.map +1 -0
- package/{actionTypes-2e2a14dc.js → actionTypes-81d0e341.js} +1 -1
- package/{actionTypes-2e2a14dc.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-0ad296e7.js → ChannelListProvider-88cd9b2a.js} +27 -23
- package/cjs/ChannelListProvider-88cd9b2a.js.map +1 -0
- package/cjs/{ChannelProvider-7ef2ebd3.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-9d17677a.js → CreateChannelProvider-5a058abb.js} +1 -1
- package/cjs/{CreateChannelProvider-9d17677a.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-64800ba8.js → LocalizationContext-4d823138.js} +3 -3
- package/cjs/{LocalizationContext-64800ba8.js.map → LocalizationContext-4d823138.js.map} +1 -1
- package/cjs/{MemberList-b623b698.js → MemberList-0aef4d76.js} +5 -5
- package/cjs/{MemberList-b623b698.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-c2ffa643.js → OpenChannelListProvider-5b8998de.js} +3 -3
- package/cjs/{OpenChannelListProvider-c2ffa643.js.map → OpenChannelListProvider-5b8998de.js.map} +1 -1
- package/cjs/{OpenChannelProvider-c6e69c3d.js → OpenChannelProvider-2cddfe89.js} +7 -7
- package/cjs/{OpenChannelProvider-c6e69c3d.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 +13 -8
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/{UserProfileContext-adcaa087.js → UserProfileContext-7d7dbfa8.js} +1 -1
- package/cjs/{UserProfileContext-adcaa087.js.map → UserProfileContext-7d7dbfa8.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-db7a8168.js → _rollupPluginBabelHelpers-3da02f29.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-3da02f29.js.map +1 -0
- package/cjs/{actionTypes-3a12308e.js → actionTypes-b57b348f.js} +1 -1
- package/cjs/{actionTypes-3a12308e.js.map → actionTypes-b57b348f.js.map} +1 -1
- package/cjs/{color-b4fd88cc.js → color-fde2f017.js} +1 -1
- package/cjs/{color-b4fd88cc.js.map → color-fde2f017.js.map} +1 -1
- package/cjs/{compareIds-0877d215.js → compareIds-0dc10948.js} +1 -1
- package/cjs/{compareIds-0877d215.js.map → compareIds-0dc10948.js.map} +1 -1
- package/cjs/{const-d4eca33b.js → const-4746207f.js} +1 -1
- package/cjs/{const-d4eca33b.js.map → const-4746207f.js.map} +1 -1
- package/cjs/{const-1844f708.js → const-4dec56be.js} +1 -1
- package/cjs/{const-1844f708.js.map → const-4dec56be.js.map} +1 -1
- package/cjs/{context-0ee48eec.js → context-6fb2d493.js} +2 -2
- package/cjs/{context-0ee48eec.js.map → context-6fb2d493.js.map} +1 -1
- package/cjs/dist/index.css +55 -55
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-dda2ca7b.js → index-41f1d19c.js} +7 -7
- package/cjs/{index-dda2ca7b.js.map → index-41f1d19c.js.map} +1 -1
- package/cjs/{index-6e1b95d9.js → index-43ccaf72.js} +1 -1
- package/cjs/{index-6e1b95d9.js.map → index-43ccaf72.js.map} +1 -1
- package/cjs/{index-6ed6c13c.js → index-5a52365c.js} +5 -35
- package/cjs/index-5a52365c.js.map +1 -0
- package/cjs/{index-1b2c1946.js → index-81965519.js} +2 -2
- package/cjs/{index-1b2c1946.js.map → index-81965519.js.map} +1 -1
- package/cjs/{index-a7fef0ee.js → index-9f30019d.js} +2 -2
- package/cjs/{index-a7fef0ee.js.map → index-9f30019d.js.map} +1 -1
- package/cjs/{index-5592e65b.js → index-ab052326.js} +4 -4
- package/cjs/{index-5592e65b.js.map → index-ab052326.js.map} +1 -1
- package/cjs/{index-8b034127.js → index-cfa8d471.js} +1 -1
- package/cjs/{index-8b034127.js.map → index-cfa8d471.js.map} +1 -1
- package/cjs/{index-d704345f.js → index-dbc6713d.js} +4 -4
- package/cjs/{index-d704345f.js.map → index-dbc6713d.js.map} +1 -1
- package/cjs/{index-ef0a59fd.js → index-e69fe951.js} +2 -2
- package/cjs/{index-ef0a59fd.js.map → index-e69fe951.js.map} +1 -1
- package/cjs/{index-495608df.js → index-e7fbdda3.js} +5 -5
- package/cjs/{index-495608df.js.map → index-e7fbdda3.js.map} +1 -1
- package/cjs/index.js +33 -32
- package/cjs/index.js.map +1 -1
- package/cjs/{openChannelUtils-afd47b38.js → openChannelUtils-344a9306.js} +1 -1
- package/cjs/{openChannelUtils-afd47b38.js.map → openChannelUtils-344a9306.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-c306c59c.js → stringSet-86981e3d.js} +1 -1
- package/cjs/{stringSet-c306c59c.js.map → stringSet-86981e3d.js.map} +1 -1
- package/cjs/{topics-c42771ac.js → topics-dd40ff32.js} +1 -1
- package/cjs/{topics-c42771ac.js.map → topics-dd40ff32.js.map} +1 -1
- package/cjs/{tslib.es6-b4fa8f1d.js → tslib.es6-7f4f6730.js} +1 -1
- package/cjs/{tslib.es6-b4fa8f1d.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-d6565953.js → utils-06ddc7ca.js} +1 -1
- package/cjs/{utils-d6565953.js.map → utils-06ddc7ca.js.map} +1 -1
- package/cjs/{utils-5d8323fa.js → utils-11bdf7b6.js} +1 -1
- package/cjs/{utils-5d8323fa.js.map → utils-11bdf7b6.js.map} +1 -1
- package/cjs/{utils-538678ec.js → utils-80108228.js} +1 -1
- package/cjs/{utils-538678ec.js.map → utils-80108228.js.map} +1 -1
- package/cjs/{uuid-61941a28.js → uuid-01d4b7ef.js} +1 -1
- package/cjs/{uuid-61941a28.js.map → uuid-01d4b7ef.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-a2810858.js → color-b14eebd4.js} +1 -1
- package/{color-a2810858.js.map → color-b14eebd4.js.map} +1 -1
- package/{compareIds-4839d86c.js → compareIds-8cb3ae2b.js} +1 -1
- package/{compareIds-4839d86c.js.map → compareIds-8cb3ae2b.js.map} +1 -1
- package/{const-07519343.js → const-7dd290ce.js} +1 -1
- package/{const-07519343.js.map → const-7dd290ce.js.map} +1 -1
- package/{const-16fc416a.js → const-8c71e95a.js} +1 -1
- package/{const-16fc416a.js.map → const-8c71e95a.js.map} +1 -1
- package/{context-20498268.js → context-f2f41992.js} +2 -2
- package/{context-20498268.js.map → context-f2f41992.js.map} +1 -1
- package/dist/index.css +55 -55
- package/dist/index.css.map +1 -1
- package/{index-14e5c46a.js → index-198f15c3.js} +5 -5
- package/{index-14e5c46a.js.map → index-198f15c3.js.map} +1 -1
- package/{index-ccf6db26.js → index-267e85d5.js} +2 -2
- package/{index-ccf6db26.js.map → index-267e85d5.js.map} +1 -1
- package/{index-4ac20b5a.js → index-3427b39f.js} +4 -4
- package/{index-4ac20b5a.js.map → index-3427b39f.js.map} +1 -1
- package/{index-cc905e95.js → index-594499d8.js} +4 -32
- package/index-594499d8.js.map +1 -0
- package/{index-2db9735a.js → index-5bebcb3a.js} +2 -2
- package/{index-2db9735a.js.map → index-5bebcb3a.js.map} +1 -1
- package/{index-e7ab483d.js → index-78e92d76.js} +4 -4
- package/{index-e7ab483d.js.map → index-78e92d76.js.map} +1 -1
- package/{index-fb7fd76d.js → index-8287486d.js} +1 -1
- package/{index-fb7fd76d.js.map → index-8287486d.js.map} +1 -1
- package/{index-84497a86.js → index-94c418af.js} +7 -7
- package/{index-84497a86.js.map → index-94c418af.js.map} +1 -1
- package/{index-ecc6d4a9.js → index-bd437d0f.js} +1 -1
- package/{index-ecc6d4a9.js.map → index-bd437d0f.js.map} +1 -1
- package/{index-c2f20322.js → index-e7e5efcf.js} +2 -2
- package/{index-c2f20322.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-c694c77d.js → openChannelUtils-72e02367.js} +1 -1
- package/{openChannelUtils-c694c77d.js.map → openChannelUtils-72e02367.js.map} +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-ed906148.js → stringSet-dc01885c.js} +1 -1
- package/{stringSet-ed906148.js.map → stringSet-dc01885c.js.map} +1 -1
- package/{topics-398017ae.js → topics-57d99208.js} +1 -1
- package/{topics-398017ae.js.map → topics-57d99208.js.map} +1 -1
- package/{tslib.es6-84f8edfa.js → tslib.es6-9643c112.js} +1 -1
- package/{tslib.es6-84f8edfa.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-f96e8b5b.js → utils-2b1c0262.js} +1 -1
- package/{utils-f96e8b5b.js.map → utils-2b1c0262.js.map} +1 -1
- package/{utils-84904138.js → utils-7bc7f35b.js} +1 -1
- package/{utils-84904138.js.map → utils-7bc7f35b.js.map} +1 -1
- package/{utils-dc344408.js → utils-8ff877ec.js} +1 -1
- package/{utils-dc344408.js.map → utils-8ff877ec.js.map} +1 -1
- package/{uuid-bd74c65a.js → uuid-dacf1460.js} +1 -1
- package/{uuid-bd74c65a.js.map → uuid-dacf1460.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-5d6be9a8.js.map +0 -1
- package/ChannelProvider-106bb518.js.map +0 -1
- package/_rollupPluginBabelHelpers-b9099c54.js.map +0 -1
- package/cjs/ChannelListProvider-0ad296e7.js.map +0 -1
- package/cjs/ChannelProvider-7ef2ebd3.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-db7a8168.js.map +0 -1
- package/cjs/index-6ed6c13c.js.map +0 -1
- package/index-cc905e95.js.map +0 -1
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
3
|
+
var tslib_es6 = require('../../tslib.es6-7f4f6730.js');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var Channel_context = require('../../ChannelProvider-
|
|
5
|
+
var Channel_context = require('../../ChannelProvider-61aa7b2a.js');
|
|
6
6
|
var ui_MessageInput = require('../../ui/MessageInput.js');
|
|
7
7
|
var ui_QuoteMessageInput = require('../../ui/QuoteMessageInput.js');
|
|
8
|
-
var LocalizationContext = require('../../LocalizationContext-
|
|
8
|
+
var LocalizationContext = require('../../LocalizationContext-4d823138.js');
|
|
9
9
|
var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
|
|
10
10
|
var Channel_components_SuggestedMentionList = require('./SuggestedMentionList.js');
|
|
11
|
-
var _const = require('../../const-
|
|
12
|
-
require('../../UserProfileContext-
|
|
11
|
+
var _const = require('../../const-4746207f.js');
|
|
12
|
+
require('../../UserProfileContext-7d7dbfa8.js');
|
|
13
13
|
require('prop-types');
|
|
14
|
-
require('../../index-
|
|
15
|
-
require('../../index-
|
|
16
|
-
require('../../topics-
|
|
17
|
-
require('../../index-
|
|
18
|
-
require('../../
|
|
19
|
-
require('../../
|
|
20
|
-
require('../../
|
|
14
|
+
require('../../index-81965519.js');
|
|
15
|
+
require('../../index-cfa8d471.js');
|
|
16
|
+
require('../../topics-dd40ff32.js');
|
|
17
|
+
require('../../index-5a52365c.js');
|
|
18
|
+
require('../../utils/message/getOutgoingMessageState.js');
|
|
19
|
+
require('../../_rollupPluginBabelHelpers-3da02f29.js');
|
|
20
|
+
require('../../compareIds-0dc10948.js');
|
|
21
|
+
require('../../const-4dec56be.js');
|
|
21
22
|
require('@sendbird/chat/groupChannel');
|
|
22
|
-
require('../../uuid-
|
|
23
|
+
require('../../uuid-01d4b7ef.js');
|
|
23
24
|
require('@sendbird/chat/message');
|
|
24
25
|
require('../../ui/ContextMenu.js');
|
|
25
26
|
require('react-dom');
|
|
26
27
|
require('../../ui/SortByRow.js');
|
|
27
|
-
require('../../index-
|
|
28
|
-
require('../../stringSet-
|
|
28
|
+
require('../../index-e69fe951.js');
|
|
29
|
+
require('../../stringSet-86981e3d.js');
|
|
29
30
|
require('../../ui/ReactionButton.js');
|
|
30
31
|
require('../../ui/ImageRenderer.js');
|
|
31
32
|
require('../../ui/Icon.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageInput.js","sources":["../../../../src/smart-components/Channel/components/MessageInput/index.tsx"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\n\nimport './message-input.scss';\nimport * as utils from '../../context/utils';\n\nimport MessageInput from '../../../../ui/MessageInput';\nimport QuoteMessageInput from '../../../../ui/QuoteMessageInput';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\n\nexport type MessageInputWrapperProps = {\n value?: string;\n};\n\n\nconst MessageInputWrapper = (\n props: MessageInputWrapperProps,\n ref: React.MutableRefObject<any>,\n): JSX.Element => {\n const { value } = props;\n const {\n currentGroupChannel,\n initialized,\n quoteMessage,\n sendMessage,\n sendFileMessage,\n setQuoteMessage,\n messageInputRef,\n renderUserMentionItem,\n } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const channel = currentGroupChannel;\n\n const { isOnline, isMentionEnabled, userMention } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || 10;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || 15;\n\n const { stringSet } = useContext(LocalizationContext);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const disabled = !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n const isOperator = utils.isOperator(channel);\n const isBroadcast = channel?.isBroadcast;\n\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !utils.isDisabledBecauseFrozen(channel)\n && !utils.isDisabledBecauseMuted(channel);\n\n // Reset when channel changes\n useEffect(() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setSelectedUser(null);\n setMentionSuggestedUsers([]);\n setAbleMention(true);\n setMessageInputEvent(null);\n }, [channel?.url]);\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n // other conditions\n return (\n <div className=\"sendbird-message-input-wrapper\">\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n {quoteMessage && (\n <div className=\"sendbird-message-input-wrapper__quote-message-input\">\n <QuoteMessageInput\n replyingMessage={quoteMessage}\n onClose={() => setQuoteMessage(null)}\n />\n </div>\n )}\n <MessageInput\n className=\"sendbird-message-input-wrapper__message-input\"\n value={value}\n channelUrl={channel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n placeholder={\n (quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER)\n || (utils.isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (utils.isDisabledBecauseMuted(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED)\n }\n ref={ref || messageInputRef}\n disabled={disabled}\n onStartTyping={() => {\n channel?.startTyping();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message,\n quoteMessage,\n mentionedUsers,\n mentionTemplate,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n setQuoteMessage(null);\n channel?.endTyping();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, quoteMessage);\n setQuoteMessage(null);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </div>\n );\n}\n\nexport default React.forwardRef(MessageInputWrapper);\n"],"names":["MessageInputWrapper","props","ref","value","_a","useChannelContext","currentGroupChannel","initialized","quoteMessage","sendMessage","sendFileMessage","setQuoteMessage","messageInputRef","renderUserMentionItem","globalStore","useSendbirdStateContext","channel","_b","config","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","maxUserSuggestionCount","maxSuggestionCount","stringSet","useContext","LocalizationContext","_c","useState","mentionNickname","setMentionNickname","_d","mentionedUsers","setMentionedUsers","_e","mentionedUserIds","setMentionedUserIds","_f","selectedUser","setSelectedUser","_g","mentionSuggestedUsers","setMentionSuggestedUsers","_h","ableMention","setAbleMention","_j","messageInputEvent","setMessageInputEvent","disabled","utils","isOperator","isBroadcast","displaySuggestedMentionList","length","useEffect","url","filter","userId","i","indexOf","splice","React","SuggestedMentionList","user","__spreadArray","users","QuoteMessageInput","MessageInput","MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","message","mentionTemplate","endTyping","file","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageInput.js","sources":["../../../../src/smart-components/Channel/components/MessageInput/index.tsx"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\n\nimport './message-input.scss';\nimport * as utils from '../../context/utils';\n\nimport MessageInput from '../../../../ui/MessageInput';\nimport QuoteMessageInput from '../../../../ui/QuoteMessageInput';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\n\nexport type MessageInputWrapperProps = {\n value?: string;\n};\n\n\nconst MessageInputWrapper = (\n props: MessageInputWrapperProps,\n ref: React.MutableRefObject<any>,\n): JSX.Element => {\n const { value } = props;\n const {\n currentGroupChannel,\n initialized,\n quoteMessage,\n sendMessage,\n sendFileMessage,\n setQuoteMessage,\n messageInputRef,\n renderUserMentionItem,\n } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const channel = currentGroupChannel;\n\n const { isOnline, isMentionEnabled, userMention } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || 10;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || 15;\n\n const { stringSet } = useContext(LocalizationContext);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const disabled = !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n const isOperator = utils.isOperator(channel);\n const isBroadcast = channel?.isBroadcast;\n\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !utils.isDisabledBecauseFrozen(channel)\n && !utils.isDisabledBecauseMuted(channel);\n\n // Reset when channel changes\n useEffect(() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setSelectedUser(null);\n setMentionSuggestedUsers([]);\n setAbleMention(true);\n setMessageInputEvent(null);\n }, [channel?.url]);\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n // other conditions\n return (\n <div className=\"sendbird-message-input-wrapper\">\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n {quoteMessage && (\n <div className=\"sendbird-message-input-wrapper__quote-message-input\">\n <QuoteMessageInput\n replyingMessage={quoteMessage}\n onClose={() => setQuoteMessage(null)}\n />\n </div>\n )}\n <MessageInput\n className=\"sendbird-message-input-wrapper__message-input\"\n value={value}\n channelUrl={channel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n placeholder={\n (quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER)\n || (utils.isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (utils.isDisabledBecauseMuted(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED)\n }\n ref={ref || messageInputRef}\n disabled={disabled}\n onStartTyping={() => {\n channel?.startTyping();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message,\n quoteMessage,\n mentionedUsers,\n mentionTemplate,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n setQuoteMessage(null);\n channel?.endTyping();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, quoteMessage);\n setQuoteMessage(null);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </div>\n );\n}\n\nexport default React.forwardRef(MessageInputWrapper);\n"],"names":["MessageInputWrapper","props","ref","value","_a","useChannelContext","currentGroupChannel","initialized","quoteMessage","sendMessage","sendFileMessage","setQuoteMessage","messageInputRef","renderUserMentionItem","globalStore","useSendbirdStateContext","channel","_b","config","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","maxUserSuggestionCount","maxSuggestionCount","stringSet","useContext","LocalizationContext","_c","useState","mentionNickname","setMentionNickname","_d","mentionedUsers","setMentionedUsers","_e","mentionedUserIds","setMentionedUserIds","_f","selectedUser","setSelectedUser","_g","mentionSuggestedUsers","setMentionSuggestedUsers","_h","ableMention","setAbleMention","_j","messageInputEvent","setMessageInputEvent","disabled","utils","isOperator","isBroadcast","displaySuggestedMentionList","length","useEffect","url","filter","userId","i","indexOf","splice","React","SuggestedMentionList","user","__spreadArray","users","QuoteMessageInput","MessageInput","MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","message","mentionTemplate","endTyping","file","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
|
|
@@ -1,40 +1,41 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var index = require('../../index-
|
|
5
|
-
var Channel_context = require('../../ChannelProvider-
|
|
6
|
-
var ui_PlaceHolder = require('../../index-
|
|
4
|
+
var index = require('../../index-9f30019d.js');
|
|
5
|
+
var Channel_context = require('../../ChannelProvider-61aa7b2a.js');
|
|
6
|
+
var ui_PlaceHolder = require('../../index-ab052326.js');
|
|
7
7
|
var ui_Icon = require('../../ui/Icon.js');
|
|
8
8
|
var Channel_components_Message = require('./Message.js');
|
|
9
|
-
var uuid = require('../../uuid-
|
|
10
|
-
require('../../index-
|
|
11
|
-
require('../../index-
|
|
12
|
-
require('../../UserProfileContext-
|
|
9
|
+
var uuid = require('../../uuid-01d4b7ef.js');
|
|
10
|
+
require('../../index-81965519.js');
|
|
11
|
+
require('../../index-cfa8d471.js');
|
|
12
|
+
require('../../UserProfileContext-7d7dbfa8.js');
|
|
13
13
|
require('prop-types');
|
|
14
14
|
require('../../useSendbirdStateContext.js');
|
|
15
15
|
require('../../withSendbird.js');
|
|
16
|
-
require('../../_rollupPluginBabelHelpers-
|
|
17
|
-
require('../../topics-
|
|
18
|
-
require('../../index-
|
|
19
|
-
require('../../tslib.es6-
|
|
20
|
-
require('../../
|
|
21
|
-
require('../../
|
|
16
|
+
require('../../_rollupPluginBabelHelpers-3da02f29.js');
|
|
17
|
+
require('../../topics-dd40ff32.js');
|
|
18
|
+
require('../../index-5a52365c.js');
|
|
19
|
+
require('../../tslib.es6-7f4f6730.js');
|
|
20
|
+
require('../../utils/message/getOutgoingMessageState.js');
|
|
21
|
+
require('../../compareIds-0dc10948.js');
|
|
22
|
+
require('../../const-4dec56be.js');
|
|
22
23
|
require('@sendbird/chat/groupChannel');
|
|
23
24
|
require('@sendbird/chat/message');
|
|
24
25
|
require('../../ui/ContextMenu.js');
|
|
25
26
|
require('react-dom');
|
|
26
27
|
require('../../ui/SortByRow.js');
|
|
27
|
-
require('../../index-
|
|
28
|
-
require('../../stringSet-
|
|
28
|
+
require('../../index-e69fe951.js');
|
|
29
|
+
require('../../stringSet-86981e3d.js');
|
|
29
30
|
require('../../ui/ReactionButton.js');
|
|
30
31
|
require('../../ui/ImageRenderer.js');
|
|
31
|
-
require('../../LocalizationContext-
|
|
32
|
+
require('../../LocalizationContext-4d823138.js');
|
|
32
33
|
require('../../ui/Loader.js');
|
|
33
34
|
require('./SuggestedMentionList.js');
|
|
34
35
|
require('../../ui/Avatar.js');
|
|
35
|
-
require('../../const-
|
|
36
|
+
require('../../const-4746207f.js');
|
|
36
37
|
require('../../ui/DateSeparator.js');
|
|
37
|
-
require('../../color-
|
|
38
|
+
require('../../color-fde2f017.js');
|
|
38
39
|
require('../../ui/MessageInput.js');
|
|
39
40
|
require('react-dom/server');
|
|
40
41
|
require('../../ui/IconButton.js');
|
|
@@ -43,7 +44,7 @@ require('../../ui/MentionUserLabel.js');
|
|
|
43
44
|
require('../../ui/MessageContent.js');
|
|
44
45
|
require('../../ui/UserProfile.js');
|
|
45
46
|
require('../../sendbirdSelectors.js');
|
|
46
|
-
require('../../utils-
|
|
47
|
+
require('../../utils-80108228.js');
|
|
47
48
|
require('../../ui/MessageStatus.js');
|
|
48
49
|
require('../../ui/MessageItemMenu.js');
|
|
49
50
|
require('../../ui/MessageItemReactionMenu.js');
|
|
@@ -63,7 +64,7 @@ require('../../ui/OGMessageItemBody.js');
|
|
|
63
64
|
require('../../ui/UnknownMessageItemBody.js');
|
|
64
65
|
require('../../ui/QuoteMessage.js');
|
|
65
66
|
require('./FileViewer.js');
|
|
66
|
-
require('../../index-
|
|
67
|
+
require('../../index-43ccaf72.js');
|
|
67
68
|
require('./RemoveMessageModal.js');
|
|
68
69
|
require('../../ui/Modal.js');
|
|
69
70
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageList.js","sources":["../../../../src/smart-components/Channel/components/MessageList/index.tsx"],"sourcesContent":["import './message-list.scss';\n\nimport React, { useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { compareMessagesForGrouping } from '../../context/utils';\nimport Message from '../Message';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport type MessageListProps = {\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n};\n\nconst SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';\n\nconst MessageList: React.FC<MessageListProps> = (props: MessageListProps) => {\n const {\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n } = props;\n const {\n allMessages,\n hasMorePrev,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n isMessageGroupingEnabled,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n } = useChannelContext();\n const [scrollBottom, setScrollBottom] = useState(0);\n\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (scrollTop === 0) {\n if (!hasMorePrev) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll(SCROLL_REF_CLASS_NAME);\n const first = nodes && nodes[0];\n onScrollCallback(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n // Set block to nearest to prevent unexpected scrolling from outer components\n try {\n first.scrollIntoView({ block: \"start\", inline: \"nearest\" });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n element.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight)\n }\n\n // do this later\n setTimeout(() => {\n // mark as read if scroll is at end\n if (clientHeight + scrollTop === scrollHeight) {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n try {\n currentGroupChannel?.markAsRead();\n } catch {\n //\n }\n }\n }, 500);\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop > -1) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n };\n\n // Because every message components are re-rendered everytime by every scroll events\n const memoizedAllMessages = useMemo(() => {\n return (\n allMessages.map((m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = isMessageGroupingEnabled\n ? compareMessagesForGrouping(previousMessage, m, nextMessage)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const handleScroll = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n }\n\n return (\n <Message\n handleScroll={handleScroll}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n key={m.messageId + uuidv4()}\n />\n );\n })\n );\n }, [allMessages]);\n\n if (allMessages.length < 1) {\n return (\n <>\n {\n renderPlaceholderEmpty?.() || (\n <PlaceHolder\n className=\"sendbird-conversation__no-messages\"\n type={PlaceHolderTypes.NO_MESSAGES}\n />)\n }\n </>\n );\n }\n return (\n <div className=\"sendbird-conversation__messages\">\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n {memoizedAllMessages}\n </div>\n </div>\n {\n // This flag is an unmatched variable\n (scrollBottom > 1) && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["SCROLL_REF_CLASS_NAME","MessageList","props","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","_a","useChannelContext","allMessages","hasMorePrev","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","isMessageGroupingEnabled","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","_b","useState","scrollBottom","setScrollBottom","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","nodes","current","querySelectorAll","first_1","messages","scrollIntoView","block","inline","error","isAboutSame","offsetHeight","setTimeout","type","MARK_AS_READ","payload","channel","markAsRead","onClickScrollBot","_c","memoizedAllMessages","useMemo","map","m","idx","previousMessage","nextMessage","compareMessagesForGrouping","chainTop","chainBottom","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","handleScroll","bottom","React","Message","messageId","uuidv4","length","PlaceHolder","PlaceHolderTypes","NO_MESSAGES","Icon","IconTypes","CHEVRON_DOWN","IconColors","PRIMARY"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageList.js","sources":["../../../../src/smart-components/Channel/components/MessageList/index.tsx"],"sourcesContent":["import './message-list.scss';\n\nimport React, { useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { compareMessagesForGrouping } from '../../context/utils';\nimport Message from '../Message';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport type MessageListProps = {\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n};\n\nconst SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';\n\nconst MessageList: React.FC<MessageListProps> = (props: MessageListProps) => {\n const {\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n } = props;\n const {\n allMessages,\n hasMorePrev,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n isMessageGroupingEnabled,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n } = useChannelContext();\n const [scrollBottom, setScrollBottom] = useState(0);\n\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (scrollTop === 0) {\n if (!hasMorePrev) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll(SCROLL_REF_CLASS_NAME);\n const first = nodes && nodes[0];\n onScrollCallback(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n // Set block to nearest to prevent unexpected scrolling from outer components\n try {\n first.scrollIntoView({ block: \"start\", inline: \"nearest\" });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n element.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight)\n }\n\n // do this later\n setTimeout(() => {\n // mark as read if scroll is at end\n if (clientHeight + scrollTop === scrollHeight) {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n try {\n currentGroupChannel?.markAsRead();\n } catch {\n //\n }\n }\n }, 500);\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop > -1) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n };\n\n // Because every message components are re-rendered everytime by every scroll events\n const memoizedAllMessages = useMemo(() => {\n return (\n allMessages.map((m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = isMessageGroupingEnabled\n ? compareMessagesForGrouping(previousMessage, m, nextMessage)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const handleScroll = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n }\n\n return (\n <Message\n handleScroll={handleScroll}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n key={m.messageId + uuidv4()}\n />\n );\n })\n );\n }, [allMessages]);\n\n if (allMessages.length < 1) {\n return (\n <>\n {\n renderPlaceholderEmpty?.() || (\n <PlaceHolder\n className=\"sendbird-conversation__no-messages\"\n type={PlaceHolderTypes.NO_MESSAGES}\n />)\n }\n </>\n );\n }\n return (\n <div className=\"sendbird-conversation__messages\">\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n {memoizedAllMessages}\n </div>\n </div>\n {\n // This flag is an unmatched variable\n (scrollBottom > 1) && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["SCROLL_REF_CLASS_NAME","MessageList","props","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","_a","useChannelContext","allMessages","hasMorePrev","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","isMessageGroupingEnabled","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","_b","useState","scrollBottom","setScrollBottom","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","nodes","current","querySelectorAll","first_1","messages","scrollIntoView","block","inline","error","isAboutSame","offsetHeight","setTimeout","type","MARK_AS_READ","payload","channel","markAsRead","onClickScrollBot","_c","memoizedAllMessages","useMemo","map","m","idx","previousMessage","nextMessage","compareMessagesForGrouping","chainTop","chainBottom","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","handleScroll","bottom","React","Message","messageId","uuidv4","length","PlaceHolder","PlaceHolderTypes","NO_MESSAGES","Icon","IconTypes","CHEVRON_DOWN","IconColors","PRIMARY"],"mappings":"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"}
|
|
@@ -3,28 +3,29 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var ui_Modal = require('../../ui/Modal.js');
|
|
5
5
|
var ui_Button = require('../../ui/Button.js');
|
|
6
|
-
var LocalizationContext = require('../../LocalizationContext-
|
|
7
|
-
var Channel_context = require('../../ChannelProvider-
|
|
6
|
+
var LocalizationContext = require('../../LocalizationContext-4d823138.js');
|
|
7
|
+
var Channel_context = require('../../ChannelProvider-61aa7b2a.js');
|
|
8
8
|
require('react-dom');
|
|
9
|
-
require('../../index-
|
|
9
|
+
require('../../index-43ccaf72.js');
|
|
10
10
|
require('../../ui/Icon.js');
|
|
11
11
|
require('prop-types');
|
|
12
12
|
require('../../ui/IconButton.js');
|
|
13
|
-
require('../../tslib.es6-
|
|
14
|
-
require('../../index-
|
|
15
|
-
require('../../stringSet-
|
|
16
|
-
require('../../index-
|
|
17
|
-
require('../../UserProfileContext-
|
|
13
|
+
require('../../tslib.es6-7f4f6730.js');
|
|
14
|
+
require('../../index-e69fe951.js');
|
|
15
|
+
require('../../stringSet-86981e3d.js');
|
|
16
|
+
require('../../index-cfa8d471.js');
|
|
17
|
+
require('../../UserProfileContext-7d7dbfa8.js');
|
|
18
18
|
require('../../useSendbirdStateContext.js');
|
|
19
19
|
require('../../withSendbird.js');
|
|
20
|
-
require('../../_rollupPluginBabelHelpers-
|
|
21
|
-
require('../../index-
|
|
22
|
-
require('../../topics-
|
|
23
|
-
require('../../index-
|
|
24
|
-
require('../../
|
|
25
|
-
require('../../
|
|
20
|
+
require('../../_rollupPluginBabelHelpers-3da02f29.js');
|
|
21
|
+
require('../../index-81965519.js');
|
|
22
|
+
require('../../topics-dd40ff32.js');
|
|
23
|
+
require('../../index-5a52365c.js');
|
|
24
|
+
require('../../utils/message/getOutgoingMessageState.js');
|
|
25
|
+
require('../../compareIds-0dc10948.js');
|
|
26
|
+
require('../../const-4dec56be.js');
|
|
26
27
|
require('@sendbird/chat/groupChannel');
|
|
27
|
-
require('../../uuid-
|
|
28
|
+
require('../../uuid-01d4b7ef.js');
|
|
28
29
|
require('@sendbird/chat/message');
|
|
29
30
|
require('../../ui/ContextMenu.js');
|
|
30
31
|
require('../../ui/SortByRow.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveMessageModal.js","sources":["../../../../src/smart-components/Channel/components/RemoveMessageModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport { ButtonTypes } from '../../../ui/Button';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport { EveryMessage } from '../../../types';\n\nexport interface RemoveMessageProps {\n onCancel: () => void;\n message: EveryMessage;\n}\n\nconst RemoveMessage: React.FC<RemoveMessageProps> = (props: RemoveMessageProps) => {\n const {\n onCancel,\n message,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const {\n deleteMessage,\n } = useChannelContext();\n return (\n <Modal\n type={ButtonTypes.DANGER}\n disabled={message?.threadInfo?.replyCount > 0}\n onCancel={onCancel}\n onSubmit={() => { deleteMessage(message).then(() => {\n onCancel();\n }) }}\n submitText={stringSet.MESSAGE_MENU__DELETE}\n titleText={stringSet.MODAL__DELETE_MESSAGE__TITLE}\n />\n );\n};\n\nexport default RemoveMessage;\n"],"names":["RemoveMessage","props","onCancel","message","stringSet","useContext","LocalizationContext","deleteMessage","useChannelContext","React","Modal","ButtonTypes","DANGER","threadInfo","_a","replyCount","then","MESSAGE_MENU__DELETE","MODAL__DELETE_MESSAGE__TITLE"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RemoveMessageModal.js","sources":["../../../../src/smart-components/Channel/components/RemoveMessageModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport { ButtonTypes } from '../../../ui/Button';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport { EveryMessage } from '../../../types';\n\nexport interface RemoveMessageProps {\n onCancel: () => void;\n message: EveryMessage;\n}\n\nconst RemoveMessage: React.FC<RemoveMessageProps> = (props: RemoveMessageProps) => {\n const {\n onCancel,\n message,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const {\n deleteMessage,\n } = useChannelContext();\n return (\n <Modal\n type={ButtonTypes.DANGER}\n disabled={message?.threadInfo?.replyCount > 0}\n onCancel={onCancel}\n onSubmit={() => { deleteMessage(message).then(() => {\n onCancel();\n }) }}\n submitText={stringSet.MESSAGE_MENU__DELETE}\n titleText={stringSet.MODAL__DELETE_MESSAGE__TITLE}\n />\n );\n};\n\nexport default RemoveMessage;\n"],"names":["RemoveMessage","props","onCancel","message","stringSet","useContext","LocalizationContext","deleteMessage","useChannelContext","React","Modal","ButtonTypes","DANGER","threadInfo","_a","replyCount","then","MESSAGE_MENU__DELETE","MODAL__DELETE_MESSAGE__TITLE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,IAAMA,aAAa,GAAiC,UAACC,KAAD,EAA0B;;;AAE1E,EAAA,IAAAC,QAAQ,GAEND,KAAK,CAAAC,QAFP;AAAA,MACAC,OAAO,GACLF,KAAK,CAAAE,OAFP,CAAA;AAGM,EAAA,IAAAC,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd,CAAA;AAEN,EAAA,IAAAC,aAAa,GACXC,iCAAiB,EAAA,cADnB,CAAA;AAEF,EAAA,oBACEC,wCAACC,mBAAD,EAAA;IACE,IAAI,EAAEC,qBAAW,CAACC,MADpB;AAEE,IAAA,QAAQ,EAAE,CAAA,MAAAT,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEU,UAAT,MAAqB,IAArB,IAAqBC,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAAC,UAArB,IAAkC,CAF9C;AAGE,IAAA,QAAQ,EAAEb,QAHZ;AAIE,IAAA,QAAQ,EAAE,YAAA;AAAQK,MAAAA,aAAa,CAACJ,OAAD,CAAb,CAAuBa,IAAvB,CAA4B,YAAA;QAC5Cd,QAAQ,EAAA,CAAA;OADQ,CAAA,CAAA;KAJpB;IAOE,UAAU,EAAEE,SAAS,CAACa,oBAPxB;IAQE,SAAS,EAAEb,SAAS,CAACc,4BAAAA;GATzB,CAAA,CAAA;AAYD;;;;"}
|
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var ui_Label = require('../../index-
|
|
4
|
+
var ui_Label = require('../../index-e69fe951.js');
|
|
5
5
|
var ui_Icon = require('../../ui/Icon.js');
|
|
6
6
|
var ui_Avatar = require('../../ui/Avatar.js');
|
|
7
|
-
var LocalizationContext = require('../../LocalizationContext-
|
|
8
|
-
var uuid = require('../../uuid-
|
|
9
|
-
var Channel_context = require('../../ChannelProvider-
|
|
7
|
+
var LocalizationContext = require('../../LocalizationContext-4d823138.js');
|
|
8
|
+
var uuid = require('../../uuid-01d4b7ef.js');
|
|
9
|
+
var Channel_context = require('../../ChannelProvider-61aa7b2a.js');
|
|
10
10
|
var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
|
|
11
|
-
var _const$1 = require('../../const-
|
|
12
|
-
var _const = require('../../const-
|
|
11
|
+
var _const$1 = require('../../const-4dec56be.js');
|
|
12
|
+
var _const = require('../../const-4746207f.js');
|
|
13
13
|
require('prop-types');
|
|
14
|
-
require('../../stringSet-
|
|
15
|
-
require('../../tslib.es6-
|
|
14
|
+
require('../../stringSet-86981e3d.js');
|
|
15
|
+
require('../../tslib.es6-7f4f6730.js');
|
|
16
16
|
require('../../ui/ImageRenderer.js');
|
|
17
|
-
require('../../index-
|
|
18
|
-
require('../../UserProfileContext-
|
|
19
|
-
require('../../index-
|
|
20
|
-
require('../../topics-
|
|
21
|
-
require('../../index-
|
|
22
|
-
require('../../
|
|
23
|
-
require('../../
|
|
17
|
+
require('../../index-cfa8d471.js');
|
|
18
|
+
require('../../UserProfileContext-7d7dbfa8.js');
|
|
19
|
+
require('../../index-81965519.js');
|
|
20
|
+
require('../../topics-dd40ff32.js');
|
|
21
|
+
require('../../index-5a52365c.js');
|
|
22
|
+
require('../../utils/message/getOutgoingMessageState.js');
|
|
23
|
+
require('../../_rollupPluginBabelHelpers-3da02f29.js');
|
|
24
|
+
require('../../compareIds-0dc10948.js');
|
|
24
25
|
require('@sendbird/chat/groupChannel');
|
|
25
26
|
require('@sendbird/chat/message');
|
|
26
27
|
require('../../ui/ContextMenu.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuggestedMentionList.js","sources":["../../../../src/smart-components/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.tsx","../../../../src/smart-components/Channel/components/SuggestedMentionList/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react';\nimport type { Member } from '@sendbird/chat/groupChannel';\nimport type { User } from '@sendbird/chat';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MentionItemUIEvent } from '../../../..';\nimport uuidv4 from '../../../../utils/uuid';\n\ninterface SuggestedUserMentionItemProps {\n member: User | Member;\n isFocused?: boolean;\n parentScrollRef?: React.RefObject<HTMLDivElement>;\n onClick?: (props: MentionItemUIEvent) => void;\n onMouseOver?: (props: MentionItemUIEvent) => void;\n onMouseMove?: (props: MentionItemUIEvent) => void;\n renderUserMentionItem?: (props: { user: User | Member }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n parentScrollRef,\n onClick,\n onMouseOver,\n onMouseMove,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused) {\n if (parentScrollRef?.current?.scrollTop >= scrollRef?.current?.offsetTop) {\n scrollRef?.current?.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n } else if (parentScrollRef?.current?.scrollTop + parentScrollRef?.current?.clientHeight <= scrollRef?.current?.offsetTop) {\n scrollRef?.current?.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n }\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n {renderUserMentionItem({ user: member })}\n </div>\n );\n }\n }, [renderUserMentionItem]);\n if (customMentionItem) {\n return customMentionItem;\n }\n return (\n <div\n className={`sendbird-mention-suggest-list__user-item ${isFocused ? 'focused' : ''}`}\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n <Avatar\n className=\"sendbird-mention-suggest-list__user-item__avatar\"\n src={member?.profileUrl}\n alt=\"user-profile\"\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__user-item__nickname\"\n type={LabelTypography.SUBTITLE_2}\n color={member?.nickname ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3}\n >\n {member?.nickname || stringSet?.MENTION_NAME__NO_NAME}\n </Label>\n <Label\n className=\"sendbird-mention-suggest-list__user-item__user-id\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {member?.userId}\n </Label>\n </div>\n );\n}\n\nexport default SuggestedUserMentionItem;\n","import './index.scss';\nimport React, { useState, useEffect, useContext, useRef } from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { Member } from '@sendbird/chat/groupChannel';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT, USER_MENTION_TEMP_CHAR } from '../../context/const';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport interface SuggestedMentionListProps {\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: User) => void;\n onFocusItemChange?: (member: User) => void;\n onFetchUsers?: (users: Array<User>) => void;\n renderUserMentionItem?: (props: { user: User }) => JSX.Element;\n ableAddMention: boolean;\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n inputEvent?: React.KeyboardEvent<HTMLDivElement>;\n}\n\nconst DEBOUNCING_TIME = 300;\n\nfunction SuggestedMentionList(props: SuggestedMentionListProps): JSX.Element {\n const {\n targetNickname = '',\n // memberListQuery,\n onUserItemClick,\n onFocusItemChange,\n onFetchUsers,\n renderUserMentionItem,\n inputEvent,\n ableAddMention = true,\n maxMentionCount = MAX_USER_MENTION_COUNT,\n maxSuggestionCount = MAX_USER_SUGGESTION_COUNT,\n } = props;\n const { config, stores } = useSendbirdStateContext();\n const { logger } = config;\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId || '';\n const { currentGroupChannel } = useChannelContext();\n const scrollRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [timer, setTimer] = useState(null);\n const [searchString, setSearchString] = useState('');\n const [lastSearchString, setLastSearchString] = useState('');\n const [currentUser, setCurrentUser] = useState<User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<Member>>([]);\n\n useEffect(() => {\n clearTimeout(timer);\n setTimer(\n setTimeout(() => {\n setSearchString(targetNickname);\n }, DEBOUNCING_TIME)\n );\n }, [targetNickname]);\n\n useEffect(() => {\n if (inputEvent?.key === MessageInputKeys.Enter) {\n if (currentMemberList.length > 0) {\n onUserItemClick(currentUser);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowUp) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (0 < currentUserIndex) {\n setCurrentUser(currentMemberList[currentUserIndex - 1]);\n onFocusItemChange(currentMemberList[currentUserIndex - 1]);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowDown) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (currentUserIndex < currentMemberList.length - 1) {\n setCurrentUser(currentMemberList[currentUserIndex + 1]);\n onFocusItemChange(currentMemberList[currentUserIndex + 1]);\n }\n }\n }, [inputEvent]);\n\n /* Fetch member list */\n useEffect(() => {\n if (!currentGroupChannel?.createMemberListQuery) {\n logger.warning('SuggestedMentionList: Creating member list query failed');\n return;\n }\n if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {\n // Don't need to request query again\n return;\n }\n\n const query = currentGroupChannel?.createMemberListQuery({\n limit: maxSuggestionCount + 1, // because current user could be included\n nicknameStartsWithFilter: searchString.slice(USER_MENTION_TEMP_CHAR.length),\n });\n // Add member list query for customization\n query.next()\n .then((memberList) => {\n const suggestingMembers = memberList\n .filter((member) => currentUserId !== member?.userId)\n .slice(0, maxSuggestionCount);\n if (suggestingMembers.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList: suggestingMembers });\n setCurrentUser(suggestingMembers[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(suggestingMembers);\n setCurrentMemberList(suggestingMembers);\n })\n .catch((error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n });\n }, [currentGroupChannel?.url, searchString]);\n\n if (!ableAddMention && currentMemberList.length === 0) {\n return null;\n }\n\n return (\n <div\n className=\"sendbird-mention-suggest-list\"\n key=\"sendbird-mention-suggest-list\"\n ref={scrollRef}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.userId || uuidv4()}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n parentScrollRef={scrollRef}\n onClick={({ member }) => {\n onUserItemClick(member);\n }}\n onMouseOver={({ member }) => {\n setCurrentUser(member);\n }}\n renderUserMentionItem={renderUserMentionItem}\n />\n ))\n }\n {\n !ableAddMention && (\n <div className=\"sendbird-mention-suggest-list__notice-item\">\n <Icon\n className=\"sendbird-mention-suggest-list__notice-item__icon\"\n type={IconTypes.INFO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__notice-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount)}\n </Label>\n </div>\n )\n }\n </div>\n );\n}\n\nexport default SuggestedMentionList;\n"],"names":["SuggestedUserMentionItem","props","member","_a","isFocused","parentScrollRef","onClick","onMouseOver","onMouseMove","renderUserMentionItem","scrollRef","useRef","_b","useContext","LocalizationContext","stringSet","useEffect","current","scrollTop","offsetTop","_c","scrollIntoView","block","inline","_d","_e","clientHeight","_f","_g","customMentionItem","useMemo","React","event","itemRef","userId","uuidv4","user","concat","Avatar","profileUrl","Label","LabelTypography","SUBTITLE_2","nickname","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","DEBOUNCING_TIME","SuggestedMentionList","targetNickname","onUserItemClick","onFocusItemChange","onFetchUsers","inputEvent","ableAddMention","maxMentionCount","MAX_USER_MENTION_COUNT","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_h","useSendbirdStateContext","config","stores","logger","currentUserId","sdkStore","sdk","currentUser","currentGroupChannel","useChannelContext","_j","useState","timer","setTimer","_k","searchString","setSearchString","_l","lastSearchString","setLastSearchString","_m","setCurrentUser","_o","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","key","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","then","memberList","suggestingMembers","filter","info","memberListQuery","catch","error","url","map","Icon","IconTypes","INFO","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SuggestedMentionList.js","sources":["../../../../src/smart-components/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.tsx","../../../../src/smart-components/Channel/components/SuggestedMentionList/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react';\nimport type { Member } from '@sendbird/chat/groupChannel';\nimport type { User } from '@sendbird/chat';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MentionItemUIEvent } from '../../../..';\nimport uuidv4 from '../../../../utils/uuid';\n\ninterface SuggestedUserMentionItemProps {\n member: User | Member;\n isFocused?: boolean;\n parentScrollRef?: React.RefObject<HTMLDivElement>;\n onClick?: (props: MentionItemUIEvent) => void;\n onMouseOver?: (props: MentionItemUIEvent) => void;\n onMouseMove?: (props: MentionItemUIEvent) => void;\n renderUserMentionItem?: (props: { user: User | Member }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n parentScrollRef,\n onClick,\n onMouseOver,\n onMouseMove,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused) {\n if (parentScrollRef?.current?.scrollTop >= scrollRef?.current?.offsetTop) {\n scrollRef?.current?.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n } else if (parentScrollRef?.current?.scrollTop + parentScrollRef?.current?.clientHeight <= scrollRef?.current?.offsetTop) {\n scrollRef?.current?.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n }\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n {renderUserMentionItem({ user: member })}\n </div>\n );\n }\n }, [renderUserMentionItem]);\n if (customMentionItem) {\n return customMentionItem;\n }\n return (\n <div\n className={`sendbird-mention-suggest-list__user-item ${isFocused ? 'focused' : ''}`}\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n <Avatar\n className=\"sendbird-mention-suggest-list__user-item__avatar\"\n src={member?.profileUrl}\n alt=\"user-profile\"\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__user-item__nickname\"\n type={LabelTypography.SUBTITLE_2}\n color={member?.nickname ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3}\n >\n {member?.nickname || stringSet?.MENTION_NAME__NO_NAME}\n </Label>\n <Label\n className=\"sendbird-mention-suggest-list__user-item__user-id\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {member?.userId}\n </Label>\n </div>\n );\n}\n\nexport default SuggestedUserMentionItem;\n","import './index.scss';\nimport React, { useState, useEffect, useContext, useRef } from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { Member } from '@sendbird/chat/groupChannel';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT, USER_MENTION_TEMP_CHAR } from '../../context/const';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport interface SuggestedMentionListProps {\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: User) => void;\n onFocusItemChange?: (member: User) => void;\n onFetchUsers?: (users: Array<User>) => void;\n renderUserMentionItem?: (props: { user: User }) => JSX.Element;\n ableAddMention: boolean;\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n inputEvent?: React.KeyboardEvent<HTMLDivElement>;\n}\n\nconst DEBOUNCING_TIME = 300;\n\nfunction SuggestedMentionList(props: SuggestedMentionListProps): JSX.Element {\n const {\n targetNickname = '',\n // memberListQuery,\n onUserItemClick,\n onFocusItemChange,\n onFetchUsers,\n renderUserMentionItem,\n inputEvent,\n ableAddMention = true,\n maxMentionCount = MAX_USER_MENTION_COUNT,\n maxSuggestionCount = MAX_USER_SUGGESTION_COUNT,\n } = props;\n const { config, stores } = useSendbirdStateContext();\n const { logger } = config;\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId || '';\n const { currentGroupChannel } = useChannelContext();\n const scrollRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [timer, setTimer] = useState(null);\n const [searchString, setSearchString] = useState('');\n const [lastSearchString, setLastSearchString] = useState('');\n const [currentUser, setCurrentUser] = useState<User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<Member>>([]);\n\n useEffect(() => {\n clearTimeout(timer);\n setTimer(\n setTimeout(() => {\n setSearchString(targetNickname);\n }, DEBOUNCING_TIME)\n );\n }, [targetNickname]);\n\n useEffect(() => {\n if (inputEvent?.key === MessageInputKeys.Enter) {\n if (currentMemberList.length > 0) {\n onUserItemClick(currentUser);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowUp) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (0 < currentUserIndex) {\n setCurrentUser(currentMemberList[currentUserIndex - 1]);\n onFocusItemChange(currentMemberList[currentUserIndex - 1]);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowDown) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (currentUserIndex < currentMemberList.length - 1) {\n setCurrentUser(currentMemberList[currentUserIndex + 1]);\n onFocusItemChange(currentMemberList[currentUserIndex + 1]);\n }\n }\n }, [inputEvent]);\n\n /* Fetch member list */\n useEffect(() => {\n if (!currentGroupChannel?.createMemberListQuery) {\n logger.warning('SuggestedMentionList: Creating member list query failed');\n return;\n }\n if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {\n // Don't need to request query again\n return;\n }\n\n const query = currentGroupChannel?.createMemberListQuery({\n limit: maxSuggestionCount + 1, // because current user could be included\n nicknameStartsWithFilter: searchString.slice(USER_MENTION_TEMP_CHAR.length),\n });\n // Add member list query for customization\n query.next()\n .then((memberList) => {\n const suggestingMembers = memberList\n .filter((member) => currentUserId !== member?.userId)\n .slice(0, maxSuggestionCount);\n if (suggestingMembers.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList: suggestingMembers });\n setCurrentUser(suggestingMembers[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(suggestingMembers);\n setCurrentMemberList(suggestingMembers);\n })\n .catch((error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n });\n }, [currentGroupChannel?.url, searchString]);\n\n if (!ableAddMention && currentMemberList.length === 0) {\n return null;\n }\n\n return (\n <div\n className=\"sendbird-mention-suggest-list\"\n key=\"sendbird-mention-suggest-list\"\n ref={scrollRef}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.userId || uuidv4()}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n parentScrollRef={scrollRef}\n onClick={({ member }) => {\n onUserItemClick(member);\n }}\n onMouseOver={({ member }) => {\n setCurrentUser(member);\n }}\n renderUserMentionItem={renderUserMentionItem}\n />\n ))\n }\n {\n !ableAddMention && (\n <div className=\"sendbird-mention-suggest-list__notice-item\">\n <Icon\n className=\"sendbird-mention-suggest-list__notice-item__icon\"\n type={IconTypes.INFO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__notice-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount)}\n </Label>\n </div>\n )\n }\n </div>\n );\n}\n\nexport default SuggestedMentionList;\n"],"names":["SuggestedUserMentionItem","props","member","_a","isFocused","parentScrollRef","onClick","onMouseOver","onMouseMove","renderUserMentionItem","scrollRef","useRef","_b","useContext","LocalizationContext","stringSet","useEffect","current","scrollTop","offsetTop","_c","scrollIntoView","block","inline","_d","_e","clientHeight","_f","_g","customMentionItem","useMemo","React","event","itemRef","userId","uuidv4","user","concat","Avatar","profileUrl","Label","LabelTypography","SUBTITLE_2","nickname","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","DEBOUNCING_TIME","SuggestedMentionList","targetNickname","onUserItemClick","onFocusItemChange","onFetchUsers","inputEvent","ableAddMention","maxMentionCount","MAX_USER_MENTION_COUNT","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_h","useSendbirdStateContext","config","stores","logger","currentUserId","sdkStore","sdk","currentUser","currentGroupChannel","useChannelContext","_j","useState","timer","setTimer","_k","searchString","setSearchString","_l","lastSearchString","setLastSearchString","_m","setCurrentUser","_o","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","key","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","then","memberList","suggestingMembers","filter","info","memberListQuery","catch","error","url","map","Icon","IconTypes","INFO","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":"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"}
|
|
@@ -4,22 +4,23 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var groupChannel = require('@sendbird/chat/groupChannel');
|
|
7
|
-
var LocalizationContext = require('../../LocalizationContext-
|
|
8
|
-
var uuid = require('../../uuid-
|
|
9
|
-
var ui_Label = require('../../index-
|
|
10
|
-
var Channel_context = require('../../ChannelProvider-
|
|
7
|
+
var LocalizationContext = require('../../LocalizationContext-4d823138.js');
|
|
8
|
+
var uuid = require('../../uuid-01d4b7ef.js');
|
|
9
|
+
var ui_Label = require('../../index-e69fe951.js');
|
|
10
|
+
var Channel_context = require('../../ChannelProvider-61aa7b2a.js');
|
|
11
11
|
var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
|
|
12
|
-
require('../../stringSet-
|
|
13
|
-
require('../../index-
|
|
12
|
+
require('../../stringSet-86981e3d.js');
|
|
13
|
+
require('../../index-cfa8d471.js');
|
|
14
14
|
require('prop-types');
|
|
15
|
-
require('../../UserProfileContext-
|
|
16
|
-
require('../../index-
|
|
17
|
-
require('../../topics-
|
|
18
|
-
require('../../index-
|
|
19
|
-
require('../../tslib.es6-
|
|
20
|
-
require('../../
|
|
21
|
-
require('../../
|
|
22
|
-
require('../../
|
|
15
|
+
require('../../UserProfileContext-7d7dbfa8.js');
|
|
16
|
+
require('../../index-81965519.js');
|
|
17
|
+
require('../../topics-dd40ff32.js');
|
|
18
|
+
require('../../index-5a52365c.js');
|
|
19
|
+
require('../../tslib.es6-7f4f6730.js');
|
|
20
|
+
require('../../utils/message/getOutgoingMessageState.js');
|
|
21
|
+
require('../../_rollupPluginBabelHelpers-3da02f29.js');
|
|
22
|
+
require('../../compareIds-0dc10948.js');
|
|
23
|
+
require('../../const-4dec56be.js');
|
|
23
24
|
require('@sendbird/chat/message');
|
|
24
25
|
require('../../ui/ContextMenu.js');
|
|
25
26
|
require('react-dom');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypingIndicator.js","sources":["../../../../src/smart-components/Channel/components/TypingIndicator.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport {\n GroupChannelHandler,\n Member,\n SendbirdGroupChat,\n} from '@sendbird/chat/groupChannel';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\n\nexport interface TypingIndicatorTextProps {\n members: Member[];\n}\n\nexport const TypingIndicatorText: React.FC<TypingIndicatorTextProps> = ({ members }: TypingIndicatorTextProps) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nconst TypingIndicator: React.FC = () => {\n const { channelUrl } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const sb = globalStore?.stores?.sdkStore?.sdk as SendbirdGroupChat;\n const logger = globalStore?.config?.logger;\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState<Member[]>([]);\n\n useEffect(() => {\n if (sb?.groupChannel?.addGroupChannelHandler) {\n sb.groupChannel.removeGroupChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new GroupChannelHandler({\n onTypingStatusUpdated: (groupChannel) => {\n // there is a possible warning in here - setState called after unmount\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n if (groupChannel.url === channelUrl) {\n const members = groupChannel.getTypingUsers();\n setTypingMembers(members);\n }\n }\n });\n sb.groupChannel.addGroupChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb?.groupChannel?.removeGroupChannelHandler) {\n sb.groupChannel.removeGroupChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n <Label\n className=\"sendbird-conversation__footer__typing-indicator__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n <TypingIndicatorText members={typingMembers} />\n </Label>\n );\n}\n\nexport default TypingIndicator;\n"],"names":["TypingIndicatorText","_a","members","stringSet","useContext","LocalizationContext","length","concat","nickname","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","channelUrl","useChannelContext","globalStore","useSendbirdStateContext","sb","_b","stores","sdkStore","sdk","logger","_c","config","_d","useState","uuidv4","handlerId","setHandlerId","_e","typingMembers","setTypingMembers","useEffect","groupChannel","addGroupChannelHandler","removeGroupChannelHandler","newHandlerId","handler","GroupChannelHandler","onTypingStatusUpdated","info","url","getTypingUsers","React","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TypingIndicator.js","sources":["../../../../src/smart-components/Channel/components/TypingIndicator.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport {\n GroupChannelHandler,\n Member,\n SendbirdGroupChat,\n} from '@sendbird/chat/groupChannel';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\n\nexport interface TypingIndicatorTextProps {\n members: Member[];\n}\n\nexport const TypingIndicatorText: React.FC<TypingIndicatorTextProps> = ({ members }: TypingIndicatorTextProps) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nconst TypingIndicator: React.FC = () => {\n const { channelUrl } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const sb = globalStore?.stores?.sdkStore?.sdk as SendbirdGroupChat;\n const logger = globalStore?.config?.logger;\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState<Member[]>([]);\n\n useEffect(() => {\n if (sb?.groupChannel?.addGroupChannelHandler) {\n sb.groupChannel.removeGroupChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new GroupChannelHandler({\n onTypingStatusUpdated: (groupChannel) => {\n // there is a possible warning in here - setState called after unmount\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n if (groupChannel.url === channelUrl) {\n const members = groupChannel.getTypingUsers();\n setTypingMembers(members);\n }\n }\n });\n sb.groupChannel.addGroupChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb?.groupChannel?.removeGroupChannelHandler) {\n sb.groupChannel.removeGroupChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n <Label\n className=\"sendbird-conversation__footer__typing-indicator__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n <TypingIndicatorText members={typingMembers} />\n </Label>\n );\n}\n\nexport default TypingIndicator;\n"],"names":["TypingIndicatorText","_a","members","stringSet","useContext","LocalizationContext","length","concat","nickname","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","channelUrl","useChannelContext","globalStore","useSendbirdStateContext","sb","_b","stores","sdkStore","sdk","logger","_c","config","_d","useState","uuidv4","handlerId","setHandlerId","_e","typingMembers","setTypingMembers","useEffect","groupChannel","addGroupChannelHandler","removeGroupChannelHandler","newHandlerId","handler","GroupChannelHandler","onTypingStatusUpdated","info","url","getTypingUsers","React","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
|