@sendbird/uikit-react 3.2.5 → 3.2.6-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +327 -101
- package/App.js.map +1 -1
- package/CHANGELOG.md +7 -0
- package/Channel/components/ChannelHeader.js +30 -18
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +31 -22
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +14 -14
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +76 -73
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +15 -15
- package/Channel/components/MessageList.js +23 -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 +15 -15
- package/Channel/components/TypingIndicator.js +14 -14
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +13 -13
- package/Channel.js +25 -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 +32 -26
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +69 -28
- 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 +8 -8
- package/ChannelList.js +28 -26
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-cdb08b62.js → ChannelListProvider-f69a3eab.js} +33 -11
- package/ChannelListProvider-f69a3eab.js.map +1 -0
- package/{ChannelProvider-08b86d72.js → ChannelProvider-beed5203.js} +49 -25
- package/ChannelProvider-beed5203.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +12 -11
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -17
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +13 -11
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +74 -26
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +19 -14
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +11 -11
- package/ChannelSettings/components/UserPanel.js +14 -13
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +9 -5
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +19 -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 +32 -13
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +13 -11
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -13
- package/CreateChannel.js.map +1 -1
- package/{CreateChannelProvider-b5fa7c16.js → CreateChannelProvider-6b83f0e6.js} +1 -1
- package/{CreateChannelProvider-b5fa7c16.js.map → CreateChannelProvider-6b83f0e6.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -9
- package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +10 -9
- package/CreateOpenChannel.js.map +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +13 -12
- package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
- package/EditUserProfile.js +13 -12
- package/EditUserProfile.js.map +1 -1
- package/{LocalizationContext-9976b34e.js → LocalizationContext-4f852f2e.js} +3 -3
- package/{LocalizationContext-9976b34e.js.map → LocalizationContext-4f852f2e.js.map} +1 -1
- package/MediaQueryContext-20ff176d.js +90 -0
- package/MediaQueryContext-20ff176d.js.map +1 -0
- package/{MemberList-070e920a.js → MemberList-8ffa1f2e.js} +12 -6
- package/MemberList-8ffa1f2e.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +25 -15
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +15 -15
- package/OpenChannel/components/OpenChannelMessage.js +22 -20
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +24 -22
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +27 -23
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +9 -9
- package/OpenChannel.js +27 -24
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +15 -13
- package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +4 -4
- package/OpenChannelList.js +13 -12
- package/OpenChannelList.js.map +1 -1
- package/{OpenChannelListProvider-ca1d96e3.js → OpenChannelListProvider-4e00f9cf.js} +3 -3
- package/{OpenChannelListProvider-ca1d96e3.js.map → OpenChannelListProvider-4e00f9cf.js.map} +1 -1
- package/{OpenChannelProvider-03efd3ff.js → OpenChannelProvider-f244c340.js} +40 -30
- package/OpenChannelProvider-f244c340.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +14 -12
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +13 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -18
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +22 -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 +22 -10
- package/SendbirdProvider.js.map +1 -1
- package/{UserProfileContext-24bb1c79.js → UserProfileContext-32f70da9.js} +8 -4
- package/UserProfileContext-32f70da9.js.map +1 -0
- package/{_rollupPluginBabelHelpers-a72165e4.js → _rollupPluginBabelHelpers-42595172.js} +19 -2
- package/_rollupPluginBabelHelpers-42595172.js.map +1 -0
- package/{actionTypes-b30fed5f.js → actionTypes-5126af74.js} +1 -1
- package/{actionTypes-b30fed5f.js.map → actionTypes-5126af74.js.map} +1 -1
- package/cjs/App.js +326 -100
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +29 -17
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +31 -22
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +14 -14
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +76 -73
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +15 -15
- package/cjs/Channel/components/MessageList.js +23 -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 +15 -15
- package/cjs/Channel/components/TypingIndicator.js +14 -14
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +13 -13
- package/cjs/Channel.js +25 -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 +32 -26
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +68 -27
- 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 +8 -8
- package/cjs/ChannelList.js +28 -26
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-5543db95.js → ChannelListProvider-573d11bf.js} +33 -11
- package/cjs/ChannelListProvider-573d11bf.js.map +1 -0
- package/cjs/{ChannelProvider-c9b390b7.js → ChannelProvider-c4c8058c.js} +49 -25
- package/cjs/ChannelProvider-c4c8058c.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +12 -11
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -17
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -11
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +74 -26
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +19 -14
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +11 -11
- package/cjs/ChannelSettings/components/UserPanel.js +14 -13
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +9 -5
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +19 -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 +32 -13
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +13 -11
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -13
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/{CreateChannelProvider-0a28a871.js → CreateChannelProvider-d75d1c0e.js} +1 -1
- package/cjs/{CreateChannelProvider-0a28a871.js.map → CreateChannelProvider-d75d1c0e.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -9
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +10 -9
- package/cjs/CreateOpenChannel.js.map +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -12
- package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
- package/cjs/EditUserProfile.js +13 -12
- package/cjs/EditUserProfile.js.map +1 -1
- package/cjs/{LocalizationContext-0349dfbd.js → LocalizationContext-b8b9eb7b.js} +3 -3
- package/cjs/{LocalizationContext-0349dfbd.js.map → LocalizationContext-b8b9eb7b.js.map} +1 -1
- package/cjs/MediaQueryContext-f8dbf0b3.js +97 -0
- package/cjs/MediaQueryContext-f8dbf0b3.js.map +1 -0
- package/cjs/{MemberList-a95f8e7f.js → MemberList-7bcc79b2.js} +12 -6
- package/cjs/MemberList-7bcc79b2.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +24 -14
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +15 -15
- package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -20
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -22
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +27 -23
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +9 -9
- package/cjs/OpenChannel.js +27 -24
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +15 -13
- package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +13 -12
- package/cjs/OpenChannelList.js.map +1 -1
- package/cjs/{OpenChannelListProvider-df27c36c.js → OpenChannelListProvider-9d3966e5.js} +3 -3
- package/cjs/{OpenChannelListProvider-df27c36c.js.map → OpenChannelListProvider-9d3966e5.js.map} +1 -1
- package/cjs/{OpenChannelProvider-4895f5f6.js → OpenChannelProvider-a2a44b3a.js} +40 -30
- package/cjs/OpenChannelProvider-a2a44b3a.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +14 -12
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -18
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +22 -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 +22 -10
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/{UserProfileContext-d1596965.js → UserProfileContext-12e3deb1.js} +8 -4
- package/cjs/UserProfileContext-12e3deb1.js.map +1 -0
- package/cjs/{_rollupPluginBabelHelpers-93d42928.js → _rollupPluginBabelHelpers-bd20f22f.js} +19 -1
- package/cjs/_rollupPluginBabelHelpers-bd20f22f.js.map +1 -0
- package/cjs/{actionTypes-6a04e98a.js → actionTypes-fa2458d4.js} +1 -1
- package/cjs/{actionTypes-6a04e98a.js.map → actionTypes-fa2458d4.js.map} +1 -1
- package/cjs/{color-8da1967d.js → color-30d0a088.js} +1 -1
- package/cjs/{color-8da1967d.js.map → color-30d0a088.js.map} +1 -1
- package/cjs/{compareIds-20b6caa8.js → compareIds-33bc8bec.js} +1 -1
- package/cjs/{compareIds-20b6caa8.js.map → compareIds-33bc8bec.js.map} +1 -1
- package/cjs/{const-0ce11db5.js → const-5ff5760f.js} +1 -1
- package/cjs/{const-0ce11db5.js.map → const-5ff5760f.js.map} +1 -1
- package/cjs/{const-ed017cc9.js → const-bc367512.js} +1 -1
- package/cjs/{const-ed017cc9.js.map → const-bc367512.js.map} +1 -1
- package/cjs/{context-bd7de995.js → context-c1adec92.js} +2 -2
- package/cjs/{context-bd7de995.js.map → context-c1adec92.js.map} +1 -1
- package/cjs/dist/index.css +439 -112
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-a52296d6.js → index-0686bdcb.js} +9 -8
- package/cjs/index-0686bdcb.js.map +1 -0
- package/cjs/{index-e741ec2c.js → index-0e88b900.js} +4 -4
- package/cjs/{index-e741ec2c.js.map → index-0e88b900.js.map} +1 -1
- package/cjs/{index-558d367a.js → index-0f54b27e.js} +5 -5
- package/cjs/index-0f54b27e.js.map +1 -0
- package/cjs/{index-7ab4005e.js → index-3f8db0b0.js} +6 -5
- package/cjs/index-3f8db0b0.js.map +1 -0
- package/cjs/{index-491f2403.js → index-62071d1a.js} +1 -1
- package/cjs/{index-491f2403.js.map → index-62071d1a.js.map} +1 -1
- package/cjs/{index-1ce4efa3.js → index-70f4ade7.js} +4 -4
- package/cjs/{index-1ce4efa3.js.map → index-70f4ade7.js.map} +1 -1
- package/cjs/index-978dbae2.js +194 -0
- package/cjs/index-978dbae2.js.map +1 -0
- package/cjs/{index-c7bba14f.js → index-aca9abc8.js} +2 -2
- package/cjs/{index-c7bba14f.js.map → index-aca9abc8.js.map} +1 -1
- package/cjs/{index-200b85a3.js → index-be16bf7f.js} +1 -1
- package/cjs/{index-200b85a3.js.map → index-be16bf7f.js.map} +1 -1
- package/cjs/{index-09d50472.js → index-c97a25fe.js} +2 -2
- package/cjs/{index-09d50472.js.map → index-c97a25fe.js.map} +1 -1
- package/cjs/{index-e59510d3.js → index-e739b357.js} +2 -2
- package/cjs/{index-e59510d3.js.map → index-e739b357.js.map} +1 -1
- package/cjs/index.js +35 -32
- package/cjs/index.js.map +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-9eadd9a2.js → stringSet-b90c8eb9.js} +4 -1
- package/cjs/stringSet-b90c8eb9.js.map +1 -0
- package/cjs/{topics-c4ffdf98.js → topics-774fce2f.js} +1 -1
- package/cjs/{topics-c4ffdf98.js.map → topics-774fce2f.js.map} +1 -1
- package/cjs/{tslib.es6-712ab026.js → tslib.es6-54dccd69.js} +1 -1
- package/cjs/{tslib.es6-712ab026.js.map → tslib.es6-54dccd69.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/BottomSheet.js +43 -0
- package/cjs/ui/BottomSheet.js.map +1 -0
- 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 +14 -10
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +8 -6
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +9 -3
- package/cjs/ui/LinkLabel.js.map +1 -1
- 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 +450 -40
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +23 -16
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +7 -7
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +9 -9
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +7 -7
- package/cjs/ui/Modal.js +33 -18
- package/cjs/ui/Modal.js.map +1 -1
- 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 +56 -26
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +75 -37
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +58 -26
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +74 -51
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/QuoteMessage.js +9 -6
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +4 -3
- package/cjs/ui/ReactionBadge.js.map +1 -1
- package/cjs/ui/ReactionButton.js +7 -1
- package/cjs/ui/ReactionButton.js.map +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 +2 -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 +6 -6
- package/cjs/ui/UserListItem.js +11 -11
- package/cjs/ui/UserProfile.js +18 -11
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/Word.js +11 -10
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/useLongPress-447fc2b4.js +118 -0
- package/cjs/useLongPress-447fc2b4.js.map +1 -0
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/{utils-90917fdb.js → utils-47e4a7f3.js} +1 -1
- package/cjs/{utils-90917fdb.js.map → utils-47e4a7f3.js.map} +1 -1
- package/cjs/{utils-03670a4b.js → utils-b42b5273.js} +1 -1
- package/cjs/{utils-03670a4b.js.map → utils-b42b5273.js.map} +1 -1
- package/cjs/{utils-db03a3ee.js → utils-b808700b.js} +1 -1
- package/cjs/{utils-db03a3ee.js.map → utils-b808700b.js.map} +1 -1
- package/cjs/{uuid-4fb21145.js → uuid-65030b4c.js} +1 -1
- package/cjs/{uuid-4fb21145.js.map → uuid-65030b4c.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-511dde29.js → color-d2a15055.js} +1 -1
- package/{color-511dde29.js.map → color-d2a15055.js.map} +1 -1
- package/{compareIds-8626728b.js → compareIds-cd18758a.js} +1 -1
- package/{compareIds-8626728b.js.map → compareIds-cd18758a.js.map} +1 -1
- package/{const-411c29c2.js → const-7186e391.js} +1 -1
- package/{const-411c29c2.js.map → const-7186e391.js.map} +1 -1
- package/{const-4836ca2f.js → const-9ed3c2e5.js} +1 -1
- package/{const-4836ca2f.js.map → const-9ed3c2e5.js.map} +1 -1
- package/{context-b3b0d94d.js → context-9f3c35b6.js} +2 -2
- package/{context-b3b0d94d.js.map → context-9f3c35b6.js.map} +1 -1
- package/dist/index.css +439 -112
- package/dist/index.css.map +1 -1
- package/index-115ce580.js +179 -0
- package/index-115ce580.js.map +1 -0
- package/{index-dbe2f386.js → index-14e045d4.js} +1 -1
- package/{index-dbe2f386.js.map → index-14e045d4.js.map} +1 -1
- package/{index-07ae6a1b.js → index-39b44653.js} +2 -2
- package/{index-07ae6a1b.js.map → index-39b44653.js.map} +1 -1
- package/{index-4be14273.js → index-5e8156eb.js} +6 -5
- package/index-5e8156eb.js.map +1 -0
- package/{index-c3c4236f.js → index-a28ce5ed.js} +4 -4
- package/{index-c3c4236f.js.map → index-a28ce5ed.js.map} +1 -1
- package/{index-200a8796.js → index-b02633bc.js} +2 -2
- package/{index-200a8796.js.map → index-b02633bc.js.map} +1 -1
- package/{index-5e61b8f6.js → index-c766d64c.js} +1 -1
- package/{index-5e61b8f6.js.map → index-c766d64c.js.map} +1 -1
- package/{index-9113fa9d.js → index-e0ade5e4.js} +2 -2
- package/{index-9113fa9d.js.map → index-e0ade5e4.js.map} +1 -1
- package/{index-89cd6e36.js → index-e1f156d0.js} +6 -6
- package/index-e1f156d0.js.map +1 -0
- package/{index-c16ac1c8.js → index-e2a7caae.js} +9 -8
- package/index-e2a7caae.js.map +1 -0
- package/{index-5cc28c33.js → index-f29a239d.js} +4 -4
- package/{index-5cc28c33.js.map → index-f29a239d.js.map} +1 -1
- package/index.d.ts +15 -4
- package/index.js +35 -32
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-8662ec77.js → stringSet-fd9dcf1e.js} +4 -1
- package/stringSet-fd9dcf1e.js.map +1 -0
- package/{topics-0752cb33.js → topics-954a5dbc.js} +1 -1
- package/{topics-0752cb33.js.map → topics-954a5dbc.js.map} +1 -1
- package/{tslib.es6-d20349ad.js → tslib.es6-38d6449a.js} +1 -1
- package/{tslib.es6-d20349ad.js.map → tslib.es6-38d6449a.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/BottomSheet.js +37 -0
- package/ui/BottomSheet.js.map +1 -0
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +14 -10
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +8 -6
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +8 -8
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +9 -3
- package/ui/LinkLabel.js.map +1 -1
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +11 -10
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MessageContent.js +452 -42
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +23 -16
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +7 -7
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +9 -9
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +7 -7
- package/ui/Modal.js +33 -18
- package/ui/Modal.js.map +1 -1
- 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 +50 -20
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +66 -28
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +50 -18
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +67 -44
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +6 -6
- package/ui/QuoteMessage.js +9 -6
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +4 -3
- package/ui/ReactionBadge.js.map +1 -1
- package/ui/ReactionButton.js +7 -1
- package/ui/ReactionButton.js.map +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 +2 -2
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +18 -11
- package/ui/UserProfile.js.map +1 -1
- package/ui/Word.js +11 -10
- package/ui/Word.js.map +1 -1
- package/useLongPress-3488ddd6.js +116 -0
- package/useLongPress-3488ddd6.js.map +1 -0
- package/useSendbirdStateContext.js +1 -1
- package/{utils-5569d95d.js → utils-80e9e20d.js} +1 -1
- package/{utils-5569d95d.js.map → utils-80e9e20d.js.map} +1 -1
- package/{utils-aba28b29.js → utils-cb1a4884.js} +1 -1
- package/{utils-aba28b29.js.map → utils-cb1a4884.js.map} +1 -1
- package/{utils-beb5bcc4.js → utils-f036cfe7.js} +1 -1
- package/{utils-beb5bcc4.js.map → utils-f036cfe7.js.map} +1 -1
- package/{uuid-e5bc1634.js → uuid-11fdaf7d.js} +1 -1
- package/{uuid-e5bc1634.js.map → uuid-11fdaf7d.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-cdb08b62.js.map +0 -1
- package/ChannelProvider-08b86d72.js.map +0 -1
- package/MemberList-070e920a.js.map +0 -1
- package/OpenChannelProvider-03efd3ff.js.map +0 -1
- package/UserProfileContext-24bb1c79.js.map +0 -1
- package/_rollupPluginBabelHelpers-a72165e4.js.map +0 -1
- package/cjs/ChannelListProvider-5543db95.js.map +0 -1
- package/cjs/ChannelProvider-c9b390b7.js.map +0 -1
- package/cjs/MemberList-a95f8e7f.js.map +0 -1
- package/cjs/OpenChannelProvider-4895f5f6.js.map +0 -1
- package/cjs/UserProfileContext-d1596965.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-93d42928.js.map +0 -1
- package/cjs/index-558d367a.js.map +0 -1
- package/cjs/index-7ab4005e.js.map +0 -1
- package/cjs/index-a52296d6.js.map +0 -1
- package/cjs/openChannelUtils-5a371d5c.js +0 -96
- package/cjs/openChannelUtils-5a371d5c.js.map +0 -1
- package/cjs/stringSet-9eadd9a2.js.map +0 -1
- package/index-4be14273.js.map +0 -1
- package/index-89cd6e36.js.map +0 -1
- package/index-c16ac1c8.js.map +0 -1
- package/openChannelUtils-fecc8bc0.js +0 -86
- package/openChannelUtils-fecc8bc0.js.map +0 -1
- package/stringSet-8662ec77.js.map +0 -1
package/ui/MessageContent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageContent.js","sources":["../../src/ui/MessageContent/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useContext,\n useRef,\n useState,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport UserProfile from '../UserProfile';\nimport MessageStatus from '../MessageStatus';\nimport MessageItemMenu from '../MessageItemMenu';\nimport MessageItemReactionMenu from '../MessageItemReactionMenu';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport EmojiReactions from '../EmojiReactions';\n\nimport ClientAdminMessage from '../AdminMessage';\nimport TextMessageItemBody from '../TextMessageItemBody';\nimport FileMessageItemBody from '../FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../ThumbnailMessageItemBody';\nimport OGMessageItemBody from '../OGMessageItemBody';\nimport UnknownMessageItemBody from '../UnknownMessageItemBody';\nimport QuoteMessage from '../QuoteMessage';\n\nimport {\n getClassName,\n getUIKitMessageTypes,\n getUIKitMessageType,\n isTextMessage,\n isOGMessage,\n isThumbnailMessage,\n getSenderName,\n} from '../../utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { ReplyType } from '../../index.js';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { AdminMessage, FileMessage, UserMessage } from '@sendbird/chat/message';\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n channel: GroupChannel;\n message: AdminMessage | UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isReactionEnabled?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n scrollToMessage?: (createdAt: number, messageId: number) => void;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => Promise<UserMessage | FileMessage>;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n}\nexport default function MessageContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isReactionEnabled = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n scrollToMessage,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n setQuoteMessage,\n}: Props): ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const { config } = useSendbirdStateContext?.() || {};\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const avatarRef = useRef(null);\n const [mouseHover, setMouseHover] = useState(false);\n const [supposedHover, setSupposedHover] = useState(false);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage).sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage).sendingStatus === 'failed');\n const isByMeClassName = isByMe ? 'outgoing' : 'incoming';\n const chainTopClassName = chainTop ? 'chain-top' : '';\n const isReactionEnabledClassName = isReactionEnabled ? 'use-reactions' : '';\n const supposedHoverClassName = supposedHover ? 'supposed-hover' : '';\n const useReplying = !!((replyType === 'QUOTE_REPLY') && message?.parentMessageId && message?.parentMessage);\n const useReplyingClassName = useReplying ? 'use-quote' : '';\n\n if (message?.isAdminMessage?.() || message?.messageType === 'admin') {\n return (<ClientAdminMessage message={message} />);\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-content', isByMeClassName])}\n onMouseOver={() => setMouseHover(true)}\n onMouseLeave={() => setMouseHover(false)}\n >\n {/* left */}\n <div className={getClassName(['sendbird-message-content__left', isReactionEnabledClassName, isByMeClassName, useReplyingClassName])}>\n {(!isByMe && !chainBottom) && (\n /** user profile */\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <Avatar\n className=\"sendbird-message-content__left__avatar\"\n // @ts-ignore\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n // TODO: Divide getting profileUrl logic to utils\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={(): void => { if (!disableUserProfile) toggleDropdown() }}\n />\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {renderUserProfile\n // @ts-ignore\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n // @ts-ignore\n : (<UserProfile user={message.sender} onSuccess={closeDropdown} />)\n }\n </MenuItems>\n )}\n />\n )}\n {/* outgoing menu */}\n {isByMe && (\n <div className={getClassName(['sendbird-message-content-menu', isReactionEnabledClassName, supposedHoverClassName, isByMeClassName])}>\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n />\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n {/* middle */}\n <div className=\"sendbird-message-content__middle\">\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-message-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n // @ts-ignore\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n {/* quote message */}\n {(useReplying) ? (\n <div className={getClassName(['sendbird-message-content__middle__quote-message', isByMe ? 'outgoing' : 'incoming', useReplyingClassName])}>\n <QuoteMessage\n message={message as UserMessage | FileMessage}\n userId={userId}\n isByMe={isByMe}\n onClick={() => {\n if (message?.parentMessage?.createdAt && message?.parentMessageId) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n ) : null}\n {/* container: message item body + emoji reactions */}\n <div className={getClassName(['sendbird-message-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-message-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n showFileViewer={showFileViewer}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {/* reactions */}\n {(isReactionEnabled && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-message-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n mouseHover ? 'mouse-hover' : '',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n </div>\n {/* right */}\n <div className={getClassName(['sendbird-message-content__right', chainTopClassName, isReactionEnabledClassName, useReplyingClassName])}>\n {/* incoming menu */}\n {!isByMe && (\n <div className={getClassName(['sendbird-message-content-menu', chainTopClassName, supposedHoverClassName, isByMeClassName])}>\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n />\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["MessageContent","_a","className","userId","channel","message","_g","disabled","_h","chainTop","_j","chainBottom","_k","isReactionEnabled","replyType","nicknamesMap","emojiContainer","scrollToMessage","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","setQuoteMessage","messageTypes","getUIKitMessageTypes","dateLocale","useLocalization","config","useSendbirdStateContext","_l","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","_m","useState","mouseHover","setMouseHover","_o","supposedHover","setSupposedHover","isByMe","sender","_b","sendingStatus","isByMeClassName","chainTopClassName","isReactionEnabledClassName","supposedHoverClassName","useReplying","parentMessageId","parentMessage","useReplyingClassName","isAdminMessage","_c","call","messageType","React","ClientAdminMessage","getClassName","toggleDropdown","members","find","member","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","UserProfile","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","_d","nickname","getSenderName","createdAt","isTextMessage","isMentionEnabled","isOGMessage","getUIKitMessageType","FILE","isThumbnailMessage","UNKNOWN","_f","reactions","length","CAPTION_3","format","locale"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageContent.js","sources":["../../src/ui/MobileMenu/MobileContextMenu.tsx","../../src/ui/MobileMenu/MobileBottomSheet.tsx","../../src/ui/MobileMenu/index.tsx","../../src/ui/MessageContent/index.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseMenuProps } from './types';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\n\nimport {\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n} from '../../utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography } from '../Label';\n\nconst MobileContextMenu: React.FunctionComponent<BaseMenuProps> = (props: BaseMenuProps) => {\n const {\n hideMenu,\n channel,\n message,\n replyType,\n userId,\n resendMessage,\n showEdit,\n showRemove,\n setQuoteMessage,\n parentRef,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message);\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-message__mobile-context-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-copy\"\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-reply\"\n onClick={() => {\n hideMenu();\n setQuoteMessage(message);\n }}\n disable={message?.parentMessageId > 0}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__REPLY}\n </Label>\n <Icon\n type={IconTypes.REPLY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-edit\"\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__EDIT}\n </Label>\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-resend\"\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__RESEND}\n </Label>\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDelete && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-delete\"\n onClick={() => {\n hideMenu();\n showRemove(true);\n }}\n disable={message?.threadInfo?.replyCount > 0}\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__DELETE}\n </Label>\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </MenuItem>\n )}\n {showMenuItemDownload && (\n <MenuItem\n className=\"sendbird-message__mobile-context-menu-item menu-item-save\"\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__contextmenu--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet.MESSAGE_MENU__SAVE}\n </Label>\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n </a>\n </MenuItem>\n )}\n </MenuItems>\n )}\n />\n );\n};\n\nexport default MobileContextMenu;\n","import type { Emoji } from '@sendbird/chat';\nimport { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport React, { useState } from 'react';\n\nimport type { MobileBottomSheetProps } from './types';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport {\n getEmojiListAll,\n isFailedMessage,\n isPendingMessage,\n isSentMessage,\n isUserMessage,\n copyToClipboard,\n isFileMessage,\n} from '../../utils';\nimport BottomSheet from '../BottomSheet';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nconst EMOJI_SIZE = 38;\n\nconst MobileBottomSheet: React.FunctionComponent<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n hideMenu,\n channel,\n emojiContainer,\n message,\n replyType,\n userId,\n resendMessage,\n toggleReaction,\n isReactionEnabled,\n showEdit,\n showRemove,\n setQuoteMessage,\n } = props;\n const isByMe = message?.sender?.userId === userId;\n const { stringSet } = useLocalization();\n const showMenuItemCopy: boolean = isUserMessage(message as UserMessage);\n const showMenuItemEdit: boolean = (isUserMessage(message as UserMessage) && isSentMessage(message) && isByMe);\n const showMenuItemResend: boolean = (isFailedMessage(message) && message?.isResendable && isByMe);\n const showMenuItemDelete: boolean = !isPendingMessage(message) && isByMe;\n const showMenuItemDownload: boolean = !isPendingMessage(message) && isFileMessage(message);\n const showReaction: boolean = !isFailedMessage(message) && !isPendingMessage(message) && isReactionEnabled;\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n const disableReaction = message?.parentMessageId > 0;\n\n const fileMessage = message as FileMessage;\n const maxEmojisPerRow = Math.floor(window?.innerWidth / EMOJI_SIZE) - 1;\n const [showEmojisOnly, setShowEmojisOnly] = useState<boolean>(false);\n const emojis = getEmojiListAll(emojiContainer);\n // calculate max emojis that can be shown in screen\n const visibleEmojis = showEmojisOnly\n ? emojis\n : emojis?.slice(0, maxEmojisPerRow);\n const canShowMoreEmojis = emojis.length > maxEmojisPerRow;\n return (\n <BottomSheet onBackdropClick={hideMenu}>\n <div className='sendbird-message__bottomsheet'>\n {\n showReaction && (\n <div className='sendbird-message__bottomsheet-reactions'>\n <ul\n className=\"sendbird-message__bottomsheet-reaction-bar\"\n >\n <div\n className={`\n sendbird-message__bottomsheet-reaction-bar__row\n ${showEmojisOnly ? 'sendbird-message__bottomsheet-reaction-bar__all' : ''}\n `}\n >\n {visibleEmojis.map((emoji: Emoji): React.ReactElement => {\n const isReacted: boolean = message?.reactions\n ?.filter((reaction: Reaction): boolean => reaction.key === emoji.key)[0]\n ?.userIds\n ?.some((reactorId: string): boolean => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width={`${EMOJI_SIZE}px`}\n height={`${EMOJI_SIZE}px`}\n selected={isReacted}\n onClick={(): void => {\n hideMenu();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n <ImageRenderer\n url={emoji?.url || ''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n {\n canShowMoreEmojis && !showEmojisOnly && (\n <ReactionButton\n key=\"emoji_more\"\n width=\"38px\"\n height=\"38px\"\n onClick={(): void => {\n setShowEmojisOnly(true);\n }}\n >\n <ImageRenderer\n url={''}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style: Record<string, unknown>): React.ReactElement => (\n <div style={style}>\n <Icon\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n )\n }\n </div>\n </ul>\n </div>\n )\n }\n {\n !showEmojisOnly && (\n <div className='sendbird-message__bottomsheet--actions'>\n {showMenuItemCopy && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n copyToClipboard((message as UserMessage)?.message);\n }}\n >\n <Icon\n type={IconTypes.COPY}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__COPY}\n </Label>\n </div>\n )}\n {\n showMenuItemEdit && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showEdit(true);\n }}\n >\n <Icon\n type={IconTypes.EDIT}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__EDIT}\n </Label>\n </div>\n )\n }\n {\n showMenuItemResend && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n resendMessage(message);\n }}\n >\n <Icon\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__RESEND}\n </Label>\n </div>\n )\n }\n {\n showMenuItemReply && (\n\n <div\n className={`sendbird-message__bottomsheet--action\n ${disableReaction ? 'sendbird-message__bottomsheet--action-disabled': ''}\n `}\n role=\"menuitem\"\n aria-disabled={disableReaction ? true : false}\n onClick={() => {\n if(!disableReaction) {\n hideMenu();\n setQuoteMessage(message);\n }\n }}\n >\n <Icon\n type={IconTypes.REPLY}\n fillColor={disableReaction\n ? IconColors.ON_BACKGROUND_3\n : IconColors.PRIMARY\n }\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={disableReaction && LabelColors.ONBACKGROUND_4}\n >\n {stringSet?.MESSAGE_MENU__REPLY}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDelete && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n showRemove(true);\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__DELETE}\n </Label>\n </div>\n )\n }\n {\n showMenuItemDownload && (\n <div\n className='sendbird-message__bottomsheet--action'\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-message__bottomsheet--hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n fillColor={IconColors.PRIMARY}\n width=\"24px\"\n height=\"24px\"\n />\n <Label type={LabelTypography.SUBTITLE_1}>\n {stringSet?.MESSAGE_MENU__SAVE}\n </Label>\n </a>\n </div>\n )\n }\n </div>\n )\n }\n </div>\n </BottomSheet>\n );\n};\n\nexport default MobileBottomSheet;\n","import './mobile-menu.scss';\n\nimport React from 'react';\nimport MobileContextMenu from './MobileContextMenu';\nimport MobileBottomSheet from './MobileBottomSheet';\nimport type { MobileBottomSheetProps } from './types';\n\nconst MobileMenu: React.FC<MobileBottomSheetProps> = (props: MobileBottomSheetProps) => {\n const {\n message,\n hideMenu,\n userId,\n channel,\n isReactionEnabled = false,\n isByMe,\n replyType,\n disabled,\n showRemove,\n showEdit,\n resendMessage,\n setQuoteMessage,\n emojiContainer,\n toggleReaction,\n parentRef,\n } = props;\n return (\n <>\n {\n isReactionEnabled\n ? (\n <MobileBottomSheet\n channel={channel}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n showEdit={showEdit}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n isReactionEnabled={isReactionEnabled}\n />\n ): (\n <MobileContextMenu\n channel={channel}\n userId={userId}\n message={message}\n hideMenu={hideMenu}\n isByMe={isByMe}\n showEdit={showEdit}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n parentRef={parentRef}\n />\n )\n }\n </>\n );\n};\n\nexport default MobileMenu;\n","import React, {\n ReactElement,\n useContext,\n useRef,\n useState,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport UserProfile from '../UserProfile';\nimport MessageStatus from '../MessageStatus';\nimport MessageItemMenu from '../MessageItemMenu';\nimport MessageItemReactionMenu from '../MessageItemReactionMenu';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport EmojiReactions from '../EmojiReactions';\n\nimport ClientAdminMessage from '../AdminMessage';\nimport TextMessageItemBody from '../TextMessageItemBody';\nimport FileMessageItemBody from '../FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../ThumbnailMessageItemBody';\nimport OGMessageItemBody from '../OGMessageItemBody';\nimport UnknownMessageItemBody from '../UnknownMessageItemBody';\nimport QuoteMessage from '../QuoteMessage';\n\nimport {\n getClassName,\n getUIKitMessageTypes,\n getUIKitMessageType,\n isTextMessage,\n isOGMessage,\n isThumbnailMessage,\n getSenderName,\n isFileMessage,\n isSentMessage,\n} from '../../utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { ReplyType } from '../../index.js';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { AdminMessage, FileMessage, UserMessage } from '@sendbird/chat/message';\nimport useLongPress from '../../hooks/useLongPress';\nimport MobileMenu from '../MobileMenu';\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\n\ninterface Props {\n className?: string | Array<string>;\n userId: string;\n channel: GroupChannel;\n message: AdminMessage | UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isReactionEnabled?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n scrollToMessage?: (createdAt: number, messageId: number) => void;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => Promise<UserMessage | FileMessage>;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n}\nexport default function MessageContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isReactionEnabled = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n scrollToMessage,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n setQuoteMessage,\n}: Props): ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const { config } = useSendbirdStateContext?.() || {};\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const avatarRef = useRef(null);\n const contentRef = useRef(null);\n const { isMobile } = useMediaQueryContext();\n const [showMenu, setShowMenu] = useState(false);\n const [mouseHover, setMouseHover] = useState(false);\n const [supposedHover, setSupposedHover] = useState(false);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage).sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage).sendingStatus === 'failed');\n const isByMeClassName = isByMe ? 'outgoing' : 'incoming';\n const chainTopClassName = chainTop ? 'chain-top' : '';\n const isReactionEnabledClassName = isReactionEnabled ? 'use-reactions' : '';\n const supposedHoverClassName = supposedHover ? 'supposed-hover' : '';\n const useReplying = !!((replyType === 'QUOTE_REPLY') && message?.parentMessageId && message?.parentMessage);\n const useReplyingClassName = useReplying ? 'use-quote' : '';\n\n // onMouseDown: (e: React.MouseEvent<T>) => void;\n // onTouchStart: (e: React.TouchEvent<T>) => void;\n // onMouseUp: (e: React.MouseEvent<T>) => void;\n // onMouseLeave: (e: React.MouseEvent<T>) => void;\n // onTouchEnd: (e: React.TouchEvent<T>) => void;\n const longPress = useLongPress({\n onLongPress: () => {\n setShowMenu(true);\n },\n onClick: () => {\n // @ts-ignore\n if (isFileMessage(message) && isSentMessage(message)) {\n showFileViewer(true);\n }\n },\n }, {\n delay: 300,\n });\n\n if (message?.isAdminMessage?.() || message?.messageType === 'admin') {\n return (<ClientAdminMessage message={message} />);\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-content', isByMeClassName])}\n onMouseOver={() => setMouseHover(true)}\n onMouseLeave={() => setMouseHover(false)}\n >\n {/* left */}\n <div className={getClassName(['sendbird-message-content__left', isReactionEnabledClassName, isByMeClassName, useReplyingClassName])}>\n {(!isByMe && !chainBottom) && (\n /** user profile */\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <Avatar\n className=\"sendbird-message-content__left__avatar\"\n // @ts-ignore\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n // TODO: Divide getting profileUrl logic to utils\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={(): void => { if (!disableUserProfile) toggleDropdown() }}\n />\n )}\n menuItems={(closeDropdown: () => void): ReactElement => (\n <MenuItems\n /**\n * parentRef: For catching location(x, y) of MenuItems\n * parentContainRef: For toggling more options(menus & reactions)\n */\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {renderUserProfile\n // @ts-ignore\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n // @ts-ignore\n : (<UserProfile user={message.sender} onSuccess={closeDropdown} />)\n }\n </MenuItems>\n )}\n />\n )}\n {/* outgoing menu */}\n {isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', isReactionEnabledClassName, supposedHoverClassName, isByMeClassName])}>\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n />\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n {/* middle */}\n <div\n className=\"sendbird-message-content__middle\"\n {...(isMobile ? { ...longPress } : {})}\n ref={contentRef}\n >\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-message-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n // @ts-ignore\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n {/* quote message */}\n {(useReplying) ? (\n <div className={getClassName(['sendbird-message-content__middle__quote-message', isByMe ? 'outgoing' : 'incoming', useReplyingClassName])}>\n <QuoteMessage\n message={message as UserMessage | FileMessage}\n userId={userId}\n isByMe={isByMe}\n onClick={() => {\n if (message?.parentMessage?.createdAt && message?.parentMessageId) {\n scrollToMessage(message.parentMessage.createdAt, message.parentMessageId);\n }\n }}\n />\n </div>\n ) : null}\n {/* container: message item body + emoji reactions */}\n <div className={getClassName(['sendbird-message-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-message-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isMentionEnabled={config?.isMentionEnabled || false}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n showFileViewer={showFileViewer}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-message-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n mouseHover={mouseHover}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {/* reactions */}\n {(isReactionEnabled && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-message-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n mouseHover ? 'mouse-hover' : '',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-message-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n </div>\n {/* right */}\n <div className={getClassName(['sendbird-message-content__right', chainTopClassName, isReactionEnabledClassName, useReplyingClassName])}>\n {/* incoming menu */}\n {!isByMe && !isMobile && (\n <div className={getClassName(['sendbird-message-content-menu', chainTopClassName, supposedHoverClassName, isByMeClassName])}>\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-message-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-message-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n setSupposedHover={setSupposedHover}\n />\n </div>\n )}\n </div>\n {\n showMenu && (\n message?.isUserMessage?.() || message?.isFileMessage?.()\n ) && (\n <MobileMenu\n parentRef={contentRef}\n channel={channel}\n hideMenu={() => { setShowMenu(false) }}\n message={message}\n isReactionEnabled={isReactionEnabled}\n isByMe={isByMe}\n userId={userId}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n setQuoteMessage={setQuoteMessage}\n toggleReaction={toggleReaction}\n showEdit={showEdit}\n />\n )\n }\n </div>\n );\n}\n"],"names":["MobileContextMenu","props","hideMenu","channel","message","replyType","userId","resendMessage","showEdit","showRemove","setQuoteMessage","parentRef","isByMe","_a","sender","stringSet","useLocalization","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemDownload","isFileMessage","showMenuItemReply","isGroupChannel","isBroadcast","fileMessage","React","copyToClipboard","LabelTypography","SUBTITLE_1","MESSAGE_MENU__COPY","IconTypes","COPY","IconColors","PRIMARY","parentMessageId","MESSAGE_MENU__REPLY","REPLY","MESSAGE_MENU__EDIT","EDIT","MESSAGE_MENU__RESEND","REFRESH","threadInfo","replyCount","MESSAGE_MENU__DELETE","DELETE","url","MESSAGE_MENU__SAVE","DOWNLOAD","EMOJI_SIZE","MobileBottomSheet","emojiContainer","toggleReaction","isReactionEnabled","showReaction","disableReaction","maxEmojisPerRow","Math","floor","window","innerWidth","_b","useState","showEmojisOnly","setShowEmojisOnly","emojis","getEmojiListAll","visibleEmojis","slice","canShowMoreEmojis","length","map","emoji","isReacted","_c","reactions","filter","reaction","key","userIds","some","reactorId","concat","style","QUESTION","ON_BACKGROUND_3","EMOJI_MORE","LabelColors","ONBACKGROUND_4","MobileMenu","disabled","MessageContent","className","_j","_k","chainTop","_l","chainBottom","_m","nicknamesMap","scrollToMessage","showFileViewer","messageTypes","getUIKitMessageTypes","dateLocale","config","useSendbirdStateContext","_o","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","contentRef","isMobile","useMediaQueryContext","_p","showMenu","setShowMenu","_q","mouseHover","setMouseHover","_r","supposedHover","setSupposedHover","sendingStatus","isByMeClassName","chainTopClassName","isReactionEnabledClassName","supposedHoverClassName","useReplying","parentMessage","useReplyingClassName","longPress","useLongPress","onLongPress","onClick","delay","isAdminMessage","call","messageType","ClientAdminMessage","getClassName","toggleDropdown","members","find","member","profileUrl","closeDropdown","paddingTop","paddingBottom","user","close","UserProfile","__assign","CAPTION_2","ONBACKGROUND_2","_d","nickname","getSenderName","createdAt","isTextMessage","isMentionEnabled","isOGMessage","getUIKitMessageType","FILE","isThumbnailMessage","UNKNOWN","_f","CAPTION_3","format","locale","_g","_h"],"mappings":"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"}
|
package/ui/MessageInput.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { _ as _objectSpread2 } from '../_rollupPluginBabelHelpers-
|
|
1
|
+
import { _ as _objectSpread2 } from '../_rollupPluginBabelHelpers-42595172.js';
|
|
2
2
|
import React__default, { useContext, useRef, useState, useMemo, useEffect, useCallback } from 'react';
|
|
3
3
|
import { renderToString } from 'react-dom/server';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
-
import { N as NodeTypes, M as MessageInputKeys, a as NodeNames } from '../const-
|
|
6
|
-
import { U as USER_MENTION_TEMP_CHAR } from '../const-
|
|
5
|
+
import { N as NodeTypes, M as MessageInputKeys, a as NodeNames } from '../const-7186e391.js';
|
|
6
|
+
import { U as USER_MENTION_TEMP_CHAR } from '../const-9ed3c2e5.js';
|
|
7
7
|
import IconButton from './IconButton.js';
|
|
8
8
|
import Button, { ButtonTypes, ButtonSizes } from './Button.js';
|
|
9
9
|
import MentionUserLabel from './MentionUserLabel.js';
|
|
10
10
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
11
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
12
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
13
|
-
import { j as convertWordToStringObj, S as StringObjType, k as arrayEqual, h as getClassName } from '../index-
|
|
14
|
-
import '../tslib.es6-
|
|
15
|
-
import '../stringSet-
|
|
16
|
-
import '../index-
|
|
11
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-b02633bc.js';
|
|
12
|
+
import { a as LocalizationContext } from '../LocalizationContext-4f852f2e.js';
|
|
13
|
+
import { j as convertWordToStringObj, S as StringObjType, k as arrayEqual, h as getClassName } from '../index-e1f156d0.js';
|
|
14
|
+
import '../tslib.es6-38d6449a.js';
|
|
15
|
+
import '../stringSet-fd9dcf1e.js';
|
|
16
|
+
import '../index-c766d64c.js';
|
|
17
17
|
import '../utils/message/getOutgoingMessageState.js';
|
|
18
18
|
|
|
19
19
|
const TEXT_FIELD_ID = 'sendbird-message-input-text-field';
|
|
@@ -40,6 +40,13 @@ const displayCaret = (element, position) => {
|
|
|
40
40
|
element.focus();
|
|
41
41
|
};
|
|
42
42
|
|
|
43
|
+
const resetInput = ref => {
|
|
44
|
+
try {
|
|
45
|
+
ref.current.innerHTML = '';
|
|
46
|
+
} catch (_unused) {//
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
|
|
43
50
|
const initialTargetStringInfo = {
|
|
44
51
|
targetString: '',
|
|
45
52
|
startNodeIndex: null,
|
|
@@ -106,7 +113,7 @@ const MessageInput = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
106
113
|
try {
|
|
107
114
|
textField.innerHTML = initialValue;
|
|
108
115
|
displayCaret(textField, initialValue === null || initialValue === void 0 ? void 0 : initialValue.length);
|
|
109
|
-
} catch (
|
|
116
|
+
} catch (_unused2) {}
|
|
110
117
|
|
|
111
118
|
setMentionedUserIds([]);
|
|
112
119
|
setIsInput((textField === null || textField === void 0 ? void 0 : (_textField$innerText = textField.innerText) === null || _textField$innerText === void 0 ? void 0 : _textField$innerText.length) > 0);
|
|
@@ -116,7 +123,7 @@ const MessageInput = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
116
123
|
useEffect(() => {
|
|
117
124
|
if (!isEdit) {
|
|
118
125
|
setIsInput(false);
|
|
119
|
-
|
|
126
|
+
resetInput(ref);
|
|
120
127
|
}
|
|
121
128
|
}, [channelUrl]); // #Mention | Fill message input values
|
|
122
129
|
|
|
@@ -155,7 +162,7 @@ const MessageInput = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
155
162
|
/* mention disabled */
|
|
156
163
|
try {
|
|
157
164
|
textField.innerHTML = message === null || message === void 0 ? void 0 : message.message;
|
|
158
|
-
} catch (
|
|
165
|
+
} catch (_unused3) {}
|
|
159
166
|
|
|
160
167
|
setMentionedUserIds([]);
|
|
161
168
|
}
|
|
@@ -337,7 +344,7 @@ const MessageInput = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
337
344
|
mentionTemplate
|
|
338
345
|
};
|
|
339
346
|
onSendMessage(params);
|
|
340
|
-
|
|
347
|
+
resetInput(ref);
|
|
341
348
|
setIsInput(false);
|
|
342
349
|
setHeight();
|
|
343
350
|
}
|
|
@@ -379,7 +386,7 @@ const MessageInput = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
379
386
|
mentionTemplate
|
|
380
387
|
};
|
|
381
388
|
onUpdateMessage(params);
|
|
382
|
-
|
|
389
|
+
resetInput(ref);
|
|
383
390
|
}
|
|
384
391
|
};
|
|
385
392
|
|
|
@@ -427,11 +434,11 @@ const MessageInput = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
427
434
|
useMentionInputDetection();
|
|
428
435
|
},
|
|
429
436
|
onInput: () => {
|
|
430
|
-
var
|
|
437
|
+
var _ref$current3, _ref$current3$innerTe;
|
|
431
438
|
|
|
432
439
|
setHeight();
|
|
433
440
|
onStartTyping();
|
|
434
|
-
setIsInput((
|
|
441
|
+
setIsInput((ref === null || ref === void 0 ? void 0 : (_ref$current3 = ref.current) === null || _ref$current3 === void 0 ? void 0 : (_ref$current3$innerTe = _ref$current3.innerText) === null || _ref$current3$innerTe === void 0 ? void 0 : _ref$current3$innerTe.length) > 0);
|
|
435
442
|
useMentionedLabelDetection();
|
|
436
443
|
},
|
|
437
444
|
onPaste: e => {
|
package/ui/MessageInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageInput.js","sources":["../../src/ui/MessageInput/index.jsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useCallback,\n useContext,\n} from 'react';\nimport { renderToString } from 'react-dom/server';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { MessageInputKeys, NodeNames, NodeTypes } from './const';\n\nimport { USER_MENTION_TEMP_CHAR } from '../../smart-components/Channel/context/const';\nimport IconButton from '../IconButton';\nimport Button, { ButtonTypes, ButtonSizes } from '../Button';\nimport MentionUserLabel from '../MentionUserLabel';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport {\n arrayEqual,\n getClassName,\n StringObjType,\n convertWordToStringObj,\n} from '../../utils';\n\nconst TEXT_FIELD_ID = 'sendbird-message-input-text-field';\nconst LINE_HEIGHT = 76;\nconst noop = () => { };\nconst handleUploadFile = (callback) => (event) => {\n if (event.target.files && event.target.files[0]) {\n callback(event.target.files[0]);\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = '';\n};\n\nconst displayCaret = (element, position) => {\n const range = document.createRange();\n const sel = window.getSelection();\n range.setStart(element.childNodes[0], position);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n element.focus();\n}\n\nconst initialTargetStringInfo = {\n targetString: '',\n startNodeIndex: null,\n startOffsetIndex: null,\n endNodeIndex: null,\n endOffsetIndex: null,\n};\n\nconst MessageInput = React.forwardRef((props, ref) => {\n const {\n className,\n isEdit,\n isMentionEnabled,\n disabled,\n message,\n placeholder,\n maxLength,\n onFileUpload,\n onSendMessage,\n onUpdateMessage,\n onCancelEdit,\n onStartTyping,\n channelUrl,\n mentionSelectedUser,\n onUserMentioned,\n onMentionStringChange,\n onMentionedUserIdsUpdated,\n onKeyUp,\n onKeyDown,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const fileInputRef = useRef(null);\n const [isInput, setIsInput] = useState(false);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [targetStringInfo, setTargetStringInfo] = useState({ ...initialTargetStringInfo });\n const setHeight = useMemo(() => (\n () => {\n try {\n const elem = ref?.current;\n const MAX_HEIGHT = window.document.body.offsetHeight * 0.6;\n if (elem && elem.scrollHeight >= LINE_HEIGHT) {\n if (MAX_HEIGHT < elem.scrollHeight) {\n elem.style.height = 'auto';\n elem.style.height = `${MAX_HEIGHT}px`;\n } else {\n elem.style.height = 'auto';\n elem.style.height = `${elem.scrollHeight}px`;\n }\n } else {\n elem.style.height = '';\n }\n } catch (error) {\n // error\n }\n }\n ), []);\n\n // for easilly initialize input value from outside, but\n // useEffect(_, [channelUrl]) erase it\n const initialValue = props?.value;\n useEffect(() => {\n const textField = ref?.current;\n try {\n textField.innerHTML = initialValue;\n displayCaret(textField, initialValue?.length);\n } catch { }\n setMentionedUserIds([]);\n setIsInput(textField?.innerText?.length > 0);\n setHeight();\n }, [initialValue]);\n\n // #Mention | Clear input value when channel changes\n useEffect(() => {\n if (!isEdit) {\n setIsInput(false);\n document.getElementById(TEXT_FIELD_ID).innerHTML = '';\n }\n }, [channelUrl]);\n\n // #Mention | Fill message input values\n useEffect(() => {\n if (isEdit && message?.messageId) {\n // const textField = document.getElementById(TEXT_FIELD_ID);\n const textField = ref?.current;\n if (isMentionEnabled\n && message?.mentionedUsers?.length > 0\n && message?.mentionedMessageTemplate?.length > 0\n ) {\n /* mention enabled */\n const { mentionedUsers = [] } = message;\n textField.innerHTML = message?.mentionedMessageTemplate?.split(' ').map((word) => (\n convertWordToStringObj(word, mentionedUsers).map((stringObj) => {\n const { type, value, userId } = stringObj;\n if (type === StringObjType.mention\n && mentionedUsers.some((user) => user?.userId === userId)\n ) {\n return renderToString(\n <MentionUserLabel userId={userId}>\n {\n `${USER_MENTION_TEMP_CHAR}${mentionedUsers.find((user) => user?.userId === userId)?.nickname\n || value\n || stringSet.MENTION_NAME__NO_NAME\n }`\n }\n </MentionUserLabel>,\n );\n }\n return value;\n }).join('')\n )).join(' ');\n } else {\n /* mention disabled */\n try {\n textField.innerHTML = message?.message;\n } catch { }\n setMentionedUserIds([]);\n }\n setIsInput(textField?.innerText?.length > 0);\n setHeight();\n }\n }, [isEdit, message]);\n\n // #Mention | Detect MentionedLabel modified\n const useMentionedLabelDetection = useCallback(() => {\n const textField = ref?.current;\n if (isMentionEnabled) {\n const newMentionedUserIds = [...textField.getElementsByClassName('sendbird-mention-user-label')].map((node) => node?.dataset?.userid);\n if (!arrayEqual(mentionedUserIds, newMentionedUserIds) || newMentionedUserIds.length === 0) {\n onMentionedUserIdsUpdated(newMentionedUserIds);\n setMentionedUserIds(newMentionedUserIds);\n }\n }\n setIsInput(textField.innerText.length > 0);\n }, [targetStringInfo, isMentionEnabled]);\n\n // #Mention | Replace selected user nickname to the MentionedUserLabel\n useEffect(() => {\n if (isMentionEnabled && mentionSelectedUser) {\n const {\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex,\n endOffsetIndex,\n } = targetStringInfo;\n if (targetString && startNodeIndex !== null && startOffsetIndex !== null) {\n // const textField = document.getElementById(TEXT_FIELD_ID);\n const textField = ref?.current;\n const childNodes = [...textField?.childNodes];\n const frontTextNode = document?.createTextNode(\n childNodes[startNodeIndex]?.textContent.slice(0, startOffsetIndex),\n );\n const backTextNode = document?.createTextNode(\n `\\u00A0${childNodes[endNodeIndex]?.textContent.slice(endOffsetIndex)}`,\n );\n const mentionLabel = renderToString(\n <MentionUserLabel userId={mentionSelectedUser?.userId}>\n {`${USER_MENTION_TEMP_CHAR}${mentionSelectedUser?.nickname || stringSet.MENTION_NAME__NO_NAME}`}\n </MentionUserLabel>,\n );\n const div = document.createElement('div');\n div.innerHTML = mentionLabel;\n const newNodes = [\n ...childNodes.slice(0, startNodeIndex),\n frontTextNode,\n div.childNodes[0],\n backTextNode,\n ...childNodes.slice(endNodeIndex + 1),\n ];\n textField.innerHTML = '';\n newNodes.forEach((newNode) => {\n textField.appendChild(newNode);\n });\n onUserMentioned(mentionSelectedUser);\n if (window.getSelection || document.getSelection) {\n // set caret postion\n const selection = window.getSelection() || document.getSelection();\n selection.removeAllRanges();\n const range = new Range();\n range.selectNodeContents(textField);\n range.setStart(textField.childNodes[startNodeIndex + 2], 1);\n range.setEnd(textField.childNodes[startNodeIndex + 2], 1);\n range.collapse(false);\n selection.addRange(range);\n textField.focus();\n }\n setTargetStringInfo({ ...initialTargetStringInfo });\n setHeight();\n useMentionedLabelDetection();\n }\n }\n }, [mentionSelectedUser, isMentionEnabled]);\n\n // #Mention | Detect mentioning user nickname\n const useMentionInputDetection = useCallback(() => {\n const selection = window?.getSelection?.() || document?.getSelection?.();\n const textField = ref?.current;\n if (selection.anchorNode === textField) {\n onMentionStringChange('');\n }\n if (isMentionEnabled && selection\n && selection.anchorNode === selection.focusNode\n && selection.anchorOffset === selection.focusOffset\n ) {\n let textStack = '';\n let startNodeIndex = null;\n let startOffsetIndex = null;\n for (let index = 0; index < textField.childNodes.length; index += 1) {\n const currentNode = textField.childNodes[index];\n if (currentNode.nodeType === NodeTypes.TextNode) {\n /* text node */\n const textContent = (currentNode === selection.anchorNode)\n ? currentNode?.textContent.slice(0, selection.anchorOffset) || ''\n : currentNode?.textContent || '';\n if (textStack.length > 0) {\n textStack += textContent;\n } else {\n let charLastIndex = textContent.lastIndexOf(USER_MENTION_TEMP_CHAR);\n for (let i = charLastIndex - 1; i > -1; i -= 1) {\n if (textContent[i] === USER_MENTION_TEMP_CHAR) {\n charLastIndex = i;\n } else {\n break;\n }\n }\n if (charLastIndex > -1) {\n textStack = textContent;\n startNodeIndex = index;\n startOffsetIndex = charLastIndex;\n }\n }\n } else {\n /* other nodes */\n textStack = '';\n startNodeIndex = null;\n startOffsetIndex = null;\n }\n if (currentNode === selection.anchorNode) {\n /**\n * targetString could be ''\n * startNodeIndex and startOffsetIndex could be null\n */\n const targetString = textStack ? textStack.slice(startOffsetIndex) : '';// include template character\n setTargetStringInfo({\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex: index,\n endOffsetIndex: selection.anchorOffset,\n });\n onMentionStringChange(targetString);\n return;\n }\n }\n }\n }, [isMentionEnabled]);\n\n const sendMessage = () => {\n const textField = ref?.current;\n if (!isEdit && textField?.innerText) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Br) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { message: messageText, mentionTemplate };\n onSendMessage(params);\n document.getElementById(TEXT_FIELD_ID).innerHTML = '';\n setIsInput(false);\n setHeight();\n }\n };\n const editMessage = () => {\n const textField = ref?.current;\n const messageId = message?.messageId;\n if (isEdit && messageId) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { messageId, message: messageText, mentionTemplate };\n onUpdateMessage(params);\n document.getElementById(TEXT_FIELD_ID).innerHTML = '';\n }\n };\n\n return (\n <form\n className={getClassName([\n className,\n isEdit ? 'sendbird-message-input__edit' : '',\n disabled ? 'sendbird-message-input-form__disabled' : '',\n ])}\n >\n <div\n className={getClassName([\n 'sendbird-message-input',\n disabled ? 'sendbird-message-input__disabled' : '',\n ])}\n >\n <div\n id={`${TEXT_FIELD_ID}${isEdit ? message?.messageId : ''}`}\n className={`sendbird-message-input--textarea ${TEXT_FIELD_ID}`}\n contentEditable={!disabled}\n role=\"textbox\"\n aria-label=\"Text Input\"\n disabled={disabled}\n ref={ref}\n maxLength={maxLength}\n onKeyDown={(e) => {\n const preventEvent = onKeyDown(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n if (!e.shiftKey && e.key === MessageInputKeys.Enter && e?.nativeEvent?.isComposing !== true) {\n e.preventDefault();\n sendMessage();\n }\n if (e.key === MessageInputKeys.Backspace\n && ref?.current?.childNodes?.length === 2\n && !ref?.current?.childNodes?.[0]?.textContent\n && ref?.current.childNodes?.[1]?.nodeType === NodeTypes.ElementNode\n ) {\n ref?.current.removeChild(ref?.current.childNodes[1]);\n }\n }\n }}\n onKeyUp={(e) => {\n const preventEvent = onKeyUp(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n useMentionInputDetection();\n }\n }}\n onClick={() => {\n useMentionInputDetection();\n }}\n onInput={() => {\n setHeight();\n onStartTyping();\n setIsInput(document?.getElementById?.(TEXT_FIELD_ID)?.innerText?.length > 0);\n useMentionedLabelDetection();\n }}\n onPaste={(e) => {\n e.preventDefault();\n document.execCommand(\"insertHTML\", false, e?.clipboardData.getData('text'));\n }}\n />\n {/* placeholder */}\n {!isInput && (\n <Label\n className=\"sendbird-message-input--placeholder\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_3}\n >\n {placeholder || stringSet.MESSAGE_INPUT__PLACE_HOLDER}\n </Label>\n )}\n {/* send icon */}\n {\n (!isEdit && isInput) && (\n <IconButton\n className=\"sendbird-message-input--send\"\n height=\"32px\"\n width=\"32px\"\n onClick={() => sendMessage()}\n >\n <Icon type={IconTypes.SEND} fillColor={IconColors.PRIMARY} width=\"20px\" height=\"20px\" />\n </IconButton>\n )\n }\n {/* upload icon */}\n {\n (!isEdit && !isInput) && (\n <IconButton\n className=\"sendbird-message-input--attach\"\n height=\"32px\"\n width=\"32px\"\n onClick={() => {\n // todo: clear previous input\n fileInputRef?.current?.click?.();\n }}\n >\n <Icon\n type={IconTypes.ATTACH}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n <input\n className=\"sendbird-message-input--attach-input\"\n type=\"file\"\n ref={fileInputRef}\n onChange={handleUploadFile(onFileUpload)}\n />\n </IconButton>\n )\n }\n </div>\n {/* Edit */}\n {\n isEdit && (\n <div className=\"sendbird-message-input--edit-action\">\n <Button\n className=\"sendbird-message-input--edit-action__cancel\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={onCancelEdit}\n >\n {stringSet.BUTTON__CANCEL}\n </Button>\n <Button\n className=\"sendbird-message-input--edit-action__save\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.SMALL}\n onClick={() => editMessage()}\n >\n {stringSet.BUTTON__SAVE}\n </Button>\n </div>\n )\n }\n </form>\n );\n});\n\nMessageInput.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n value: PropTypes.string,\n isEdit: PropTypes.bool,\n isMentionEnabled: PropTypes.bool,\n message: PropTypes.shape({\n messageId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n message: PropTypes.string,\n mentionedMessageTemplate: PropTypes.string,\n mentionedUsers: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n disabled: PropTypes.bool,\n maxLength: PropTypes.number,\n onFileUpload: PropTypes.func,\n onSendMessage: PropTypes.func,\n onUpdateMessage: PropTypes.func,\n onStartTyping: PropTypes.func,\n onCancelEdit: PropTypes.func,\n channelUrl: PropTypes.string,\n mentionSelectedUser: PropTypes.shape({\n userId: PropTypes.string,\n nickname: PropTypes.string,\n }),\n onUserMentioned: PropTypes.func,\n onMentionStringChange: PropTypes.func,\n onMentionedUserIdsUpdated: PropTypes.func,\n onKeyUp: PropTypes.func,\n onKeyDown: PropTypes.func,\n};\n\nMessageInput.defaultProps = {\n className: '',\n channelUrl: '',\n onSendMessage: noop,\n onUpdateMessage: noop,\n value: null,\n message: null,\n isEdit: false,\n isMentionEnabled: false,\n disabled: false,\n placeholder: '',\n maxLength: 5000,\n onFileUpload: noop,\n onCancelEdit: noop,\n onStartTyping: noop,\n mentionSelectedUser: null,\n onUserMentioned: noop,\n onMentionStringChange: noop,\n onMentionedUserIdsUpdated: noop,\n onKeyUp: noop,\n onKeyDown: noop,\n};\n\nexport default MessageInput;\n"],"names":["TEXT_FIELD_ID","LINE_HEIGHT","noop","handleUploadFile","callback","event","target","files","value","displayCaret","element","position","range","document","createRange","sel","window","getSelection","setStart","childNodes","collapse","removeAllRanges","addRange","focus","initialTargetStringInfo","targetString","startNodeIndex","startOffsetIndex","endNodeIndex","endOffsetIndex","MessageInput","React","forwardRef","props","ref","className","isEdit","isMentionEnabled","disabled","message","placeholder","maxLength","onFileUpload","onSendMessage","onUpdateMessage","onCancelEdit","onStartTyping","channelUrl","mentionSelectedUser","onUserMentioned","onMentionStringChange","onMentionedUserIdsUpdated","onKeyUp","onKeyDown","stringSet","useContext","LocalizationContext","fileInputRef","useRef","isInput","setIsInput","useState","mentionedUserIds","setMentionedUserIds","targetStringInfo","setTargetStringInfo","_objectSpread","setHeight","useMemo","elem","current","MAX_HEIGHT","body","offsetHeight","scrollHeight","style","height","error","initialValue","useEffect","textField","innerHTML","length","innerText","getElementById","messageId","mentionedUsers","mentionedMessageTemplate","split","map","word","convertWordToStringObj","stringObj","type","userId","StringObjType","mention","some","user","renderToString","USER_MENTION_TEMP_CHAR","find","nickname","MENTION_NAME__NO_NAME","join","useMentionedLabelDetection","useCallback","newMentionedUserIds","getElementsByClassName","node","dataset","userid","arrayEqual","frontTextNode","createTextNode","textContent","slice","backTextNode","mentionLabel","div","createElement","newNodes","forEach","newNode","appendChild","selection","Range","selectNodeContents","setEnd","useMentionInputDetection","anchorNode","focusNode","anchorOffset","focusOffset","textStack","index","currentNode","nodeType","NodeTypes","TextNode","charLastIndex","lastIndexOf","i","sendMessage","messageText","mentionTemplate","ElementNode","nodeName","NodeNames","Span","Br","params","editMessage","getClassName","e","preventEvent","preventDefault","shiftKey","key","MessageInputKeys","Enter","nativeEvent","isComposing","Backspace","removeChild","execCommand","clipboardData","getData","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_3","MESSAGE_INPUT__PLACE_HOLDER","IconTypes","SEND","IconColors","PRIMARY","click","ATTACH","CONTENT_INVERSE","ButtonTypes","SECONDARY","ButtonSizes","SMALL","BUTTON__CANCEL","BUTTON__SAVE","propTypes","PropTypes","oneOfType","string","arrayOf","bool","shape","number","func","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageInput.js","sources":["../../src/ui/MessageInput/index.jsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useCallback,\n useContext,\n} from 'react';\nimport { renderToString } from 'react-dom/server';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { MessageInputKeys, NodeNames, NodeTypes } from './const';\n\nimport { USER_MENTION_TEMP_CHAR } from '../../smart-components/Channel/context/const';\nimport IconButton from '../IconButton';\nimport Button, { ButtonTypes, ButtonSizes } from '../Button';\nimport MentionUserLabel from '../MentionUserLabel';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport {\n arrayEqual,\n getClassName,\n StringObjType,\n convertWordToStringObj,\n} from '../../utils';\n\nconst TEXT_FIELD_ID = 'sendbird-message-input-text-field';\nconst LINE_HEIGHT = 76;\nconst noop = () => { };\nconst handleUploadFile = (callback) => (event) => {\n if (event.target.files && event.target.files[0]) {\n callback(event.target.files[0]);\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = '';\n};\n\nconst displayCaret = (element, position) => {\n const range = document.createRange();\n const sel = window.getSelection();\n range.setStart(element.childNodes[0], position);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n element.focus();\n}\n\nconst resetInput = (ref) => {\n try {\n ref.current.innerHTML = '';\n } catch {\n //\n }\n}\n\nconst initialTargetStringInfo = {\n targetString: '',\n startNodeIndex: null,\n startOffsetIndex: null,\n endNodeIndex: null,\n endOffsetIndex: null,\n};\n\nconst MessageInput = React.forwardRef((props, ref) => {\n const {\n className,\n isEdit,\n isMentionEnabled,\n disabled,\n message,\n placeholder,\n maxLength,\n onFileUpload,\n onSendMessage,\n onUpdateMessage,\n onCancelEdit,\n onStartTyping,\n channelUrl,\n mentionSelectedUser,\n onUserMentioned,\n onMentionStringChange,\n onMentionedUserIdsUpdated,\n onKeyUp,\n onKeyDown,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const fileInputRef = useRef(null);\n const [isInput, setIsInput] = useState(false);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [targetStringInfo, setTargetStringInfo] = useState({ ...initialTargetStringInfo });\n const setHeight = useMemo(() => (\n () => {\n try {\n const elem = ref?.current;\n const MAX_HEIGHT = window.document.body.offsetHeight * 0.6;\n if (elem && elem.scrollHeight >= LINE_HEIGHT) {\n if (MAX_HEIGHT < elem.scrollHeight) {\n elem.style.height = 'auto';\n elem.style.height = `${MAX_HEIGHT}px`;\n } else {\n elem.style.height = 'auto';\n elem.style.height = `${elem.scrollHeight}px`;\n }\n } else {\n elem.style.height = '';\n }\n } catch (error) {\n // error\n }\n }\n ), []);\n\n // for easilly initialize input value from outside, but\n // useEffect(_, [channelUrl]) erase it\n const initialValue = props?.value;\n useEffect(() => {\n const textField = ref?.current;\n try {\n textField.innerHTML = initialValue;\n displayCaret(textField, initialValue?.length);\n } catch { }\n setMentionedUserIds([]);\n setIsInput(textField?.innerText?.length > 0);\n setHeight();\n }, [initialValue]);\n\n // #Mention | Clear input value when channel changes\n useEffect(() => {\n if (!isEdit) {\n setIsInput(false);\n resetInput(ref);\n }\n }, [channelUrl]);\n\n // #Mention | Fill message input values\n useEffect(() => {\n if (isEdit && message?.messageId) {\n // const textField = document.getElementById(TEXT_FIELD_ID);\n const textField = ref?.current;\n if (isMentionEnabled\n && message?.mentionedUsers?.length > 0\n && message?.mentionedMessageTemplate?.length > 0\n ) {\n /* mention enabled */\n const { mentionedUsers = [] } = message;\n textField.innerHTML = message?.mentionedMessageTemplate?.split(' ').map((word) => (\n convertWordToStringObj(word, mentionedUsers).map((stringObj) => {\n const { type, value, userId } = stringObj;\n if (type === StringObjType.mention\n && mentionedUsers.some((user) => user?.userId === userId)\n ) {\n return renderToString(\n <MentionUserLabel userId={userId}>\n {\n `${USER_MENTION_TEMP_CHAR}${mentionedUsers.find((user) => user?.userId === userId)?.nickname\n || value\n || stringSet.MENTION_NAME__NO_NAME\n }`\n }\n </MentionUserLabel>,\n );\n }\n return value;\n }).join('')\n )).join(' ');\n } else {\n /* mention disabled */\n try {\n textField.innerHTML = message?.message;\n } catch { }\n setMentionedUserIds([]);\n }\n setIsInput(textField?.innerText?.length > 0);\n setHeight();\n }\n }, [isEdit, message]);\n\n // #Mention | Detect MentionedLabel modified\n const useMentionedLabelDetection = useCallback(() => {\n const textField = ref?.current;\n if (isMentionEnabled) {\n const newMentionedUserIds = [...textField.getElementsByClassName('sendbird-mention-user-label')].map((node) => node?.dataset?.userid);\n if (!arrayEqual(mentionedUserIds, newMentionedUserIds) || newMentionedUserIds.length === 0) {\n onMentionedUserIdsUpdated(newMentionedUserIds);\n setMentionedUserIds(newMentionedUserIds);\n }\n }\n setIsInput(textField.innerText.length > 0);\n }, [targetStringInfo, isMentionEnabled]);\n\n // #Mention | Replace selected user nickname to the MentionedUserLabel\n useEffect(() => {\n if (isMentionEnabled && mentionSelectedUser) {\n const {\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex,\n endOffsetIndex,\n } = targetStringInfo;\n if (targetString && startNodeIndex !== null && startOffsetIndex !== null) {\n // const textField = document.getElementById(TEXT_FIELD_ID);\n const textField = ref?.current;\n const childNodes = [...textField?.childNodes];\n const frontTextNode = document?.createTextNode(\n childNodes[startNodeIndex]?.textContent.slice(0, startOffsetIndex),\n );\n const backTextNode = document?.createTextNode(\n `\\u00A0${childNodes[endNodeIndex]?.textContent.slice(endOffsetIndex)}`,\n );\n const mentionLabel = renderToString(\n <MentionUserLabel userId={mentionSelectedUser?.userId}>\n {`${USER_MENTION_TEMP_CHAR}${mentionSelectedUser?.nickname || stringSet.MENTION_NAME__NO_NAME}`}\n </MentionUserLabel>,\n );\n const div = document.createElement('div');\n div.innerHTML = mentionLabel;\n const newNodes = [\n ...childNodes.slice(0, startNodeIndex),\n frontTextNode,\n div.childNodes[0],\n backTextNode,\n ...childNodes.slice(endNodeIndex + 1),\n ];\n textField.innerHTML = '';\n newNodes.forEach((newNode) => {\n textField.appendChild(newNode);\n });\n onUserMentioned(mentionSelectedUser);\n if (window.getSelection || document.getSelection) {\n // set caret postion\n const selection = window.getSelection() || document.getSelection();\n selection.removeAllRanges();\n const range = new Range();\n range.selectNodeContents(textField);\n range.setStart(textField.childNodes[startNodeIndex + 2], 1);\n range.setEnd(textField.childNodes[startNodeIndex + 2], 1);\n range.collapse(false);\n selection.addRange(range);\n textField.focus();\n }\n setTargetStringInfo({ ...initialTargetStringInfo });\n setHeight();\n useMentionedLabelDetection();\n }\n }\n }, [mentionSelectedUser, isMentionEnabled]);\n\n // #Mention | Detect mentioning user nickname\n const useMentionInputDetection = useCallback(() => {\n const selection = window?.getSelection?.() || document?.getSelection?.();\n const textField = ref?.current;\n if (selection.anchorNode === textField) {\n onMentionStringChange('');\n }\n if (isMentionEnabled && selection\n && selection.anchorNode === selection.focusNode\n && selection.anchorOffset === selection.focusOffset\n ) {\n let textStack = '';\n let startNodeIndex = null;\n let startOffsetIndex = null;\n for (let index = 0; index < textField.childNodes.length; index += 1) {\n const currentNode = textField.childNodes[index];\n if (currentNode.nodeType === NodeTypes.TextNode) {\n /* text node */\n const textContent = (currentNode === selection.anchorNode)\n ? currentNode?.textContent.slice(0, selection.anchorOffset) || ''\n : currentNode?.textContent || '';\n if (textStack.length > 0) {\n textStack += textContent;\n } else {\n let charLastIndex = textContent.lastIndexOf(USER_MENTION_TEMP_CHAR);\n for (let i = charLastIndex - 1; i > -1; i -= 1) {\n if (textContent[i] === USER_MENTION_TEMP_CHAR) {\n charLastIndex = i;\n } else {\n break;\n }\n }\n if (charLastIndex > -1) {\n textStack = textContent;\n startNodeIndex = index;\n startOffsetIndex = charLastIndex;\n }\n }\n } else {\n /* other nodes */\n textStack = '';\n startNodeIndex = null;\n startOffsetIndex = null;\n }\n if (currentNode === selection.anchorNode) {\n /**\n * targetString could be ''\n * startNodeIndex and startOffsetIndex could be null\n */\n const targetString = textStack ? textStack.slice(startOffsetIndex) : '';// include template character\n setTargetStringInfo({\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex: index,\n endOffsetIndex: selection.anchorOffset,\n });\n onMentionStringChange(targetString);\n return;\n }\n }\n }\n }, [isMentionEnabled]);\n\n const sendMessage = () => {\n const textField = ref?.current;\n if (!isEdit && textField?.innerText) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Br) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { message: messageText, mentionTemplate };\n onSendMessage(params);\n resetInput(ref);\n setIsInput(false);\n setHeight();\n }\n };\n const editMessage = () => {\n const textField = ref?.current;\n const messageId = message?.messageId;\n if (isEdit && messageId) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { messageId, message: messageText, mentionTemplate };\n onUpdateMessage(params);\n resetInput(ref);\n }\n };\n\n return (\n <form\n className={getClassName([\n className,\n isEdit ? 'sendbird-message-input__edit' : '',\n disabled ? 'sendbird-message-input-form__disabled' : '',\n ])}\n >\n <div\n className={getClassName([\n 'sendbird-message-input',\n disabled ? 'sendbird-message-input__disabled' : '',\n ])}\n >\n <div\n id={`${TEXT_FIELD_ID}${isEdit ? message?.messageId : ''}`}\n className={`sendbird-message-input--textarea ${TEXT_FIELD_ID}`}\n contentEditable={!disabled}\n role=\"textbox\"\n aria-label=\"Text Input\"\n disabled={disabled}\n ref={ref}\n maxLength={maxLength}\n onKeyDown={(e) => {\n const preventEvent = onKeyDown(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n if (!e.shiftKey && e.key === MessageInputKeys.Enter && e?.nativeEvent?.isComposing !== true) {\n e.preventDefault();\n sendMessage();\n }\n if (e.key === MessageInputKeys.Backspace\n && ref?.current?.childNodes?.length === 2\n && !ref?.current?.childNodes?.[0]?.textContent\n && ref?.current.childNodes?.[1]?.nodeType === NodeTypes.ElementNode\n ) {\n ref?.current.removeChild(ref?.current.childNodes[1]);\n }\n }\n }}\n onKeyUp={(e) => {\n const preventEvent = onKeyUp(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n useMentionInputDetection();\n }\n }}\n onClick={() => {\n useMentionInputDetection();\n }}\n onInput={() => {\n setHeight();\n onStartTyping();\n setIsInput(ref?.current?.innerText?.length > 0);\n useMentionedLabelDetection();\n }}\n onPaste={(e) => {\n e.preventDefault();\n document.execCommand(\"insertHTML\", false, e?.clipboardData.getData('text'));\n }}\n />\n {/* placeholder */}\n {!isInput && (\n <Label\n className=\"sendbird-message-input--placeholder\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_3}\n >\n {placeholder || stringSet.MESSAGE_INPUT__PLACE_HOLDER}\n </Label>\n )}\n {/* send icon */}\n {\n (!isEdit && isInput) && (\n <IconButton\n className=\"sendbird-message-input--send\"\n height=\"32px\"\n width=\"32px\"\n onClick={() => sendMessage()}\n >\n <Icon type={IconTypes.SEND} fillColor={IconColors.PRIMARY} width=\"20px\" height=\"20px\" />\n </IconButton>\n )\n }\n {/* upload icon */}\n {\n (!isEdit && !isInput) && (\n <IconButton\n className=\"sendbird-message-input--attach\"\n height=\"32px\"\n width=\"32px\"\n onClick={() => {\n // todo: clear previous input\n fileInputRef?.current?.click?.();\n }}\n >\n <Icon\n type={IconTypes.ATTACH}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n <input\n className=\"sendbird-message-input--attach-input\"\n type=\"file\"\n ref={fileInputRef}\n onChange={handleUploadFile(onFileUpload)}\n />\n </IconButton>\n )\n }\n </div>\n {/* Edit */}\n {\n isEdit && (\n <div className=\"sendbird-message-input--edit-action\">\n <Button\n className=\"sendbird-message-input--edit-action__cancel\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={onCancelEdit}\n >\n {stringSet.BUTTON__CANCEL}\n </Button>\n <Button\n className=\"sendbird-message-input--edit-action__save\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.SMALL}\n onClick={() => editMessage()}\n >\n {stringSet.BUTTON__SAVE}\n </Button>\n </div>\n )\n }\n </form>\n );\n});\n\nMessageInput.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n value: PropTypes.string,\n isEdit: PropTypes.bool,\n isMentionEnabled: PropTypes.bool,\n message: PropTypes.shape({\n messageId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n message: PropTypes.string,\n mentionedMessageTemplate: PropTypes.string,\n mentionedUsers: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n disabled: PropTypes.bool,\n maxLength: PropTypes.number,\n onFileUpload: PropTypes.func,\n onSendMessage: PropTypes.func,\n onUpdateMessage: PropTypes.func,\n onStartTyping: PropTypes.func,\n onCancelEdit: PropTypes.func,\n channelUrl: PropTypes.string,\n mentionSelectedUser: PropTypes.shape({\n userId: PropTypes.string,\n nickname: PropTypes.string,\n }),\n onUserMentioned: PropTypes.func,\n onMentionStringChange: PropTypes.func,\n onMentionedUserIdsUpdated: PropTypes.func,\n onKeyUp: PropTypes.func,\n onKeyDown: PropTypes.func,\n};\n\nMessageInput.defaultProps = {\n className: '',\n channelUrl: '',\n onSendMessage: noop,\n onUpdateMessage: noop,\n value: null,\n message: null,\n isEdit: false,\n isMentionEnabled: false,\n disabled: false,\n placeholder: '',\n maxLength: 5000,\n onFileUpload: noop,\n onCancelEdit: noop,\n onStartTyping: noop,\n mentionSelectedUser: null,\n onUserMentioned: noop,\n onMentionStringChange: noop,\n onMentionedUserIdsUpdated: noop,\n onKeyUp: noop,\n onKeyDown: noop,\n};\n\nexport default MessageInput;\n"],"names":["TEXT_FIELD_ID","LINE_HEIGHT","noop","handleUploadFile","callback","event","target","files","value","displayCaret","element","position","range","document","createRange","sel","window","getSelection","setStart","childNodes","collapse","removeAllRanges","addRange","focus","resetInput","ref","current","innerHTML","initialTargetStringInfo","targetString","startNodeIndex","startOffsetIndex","endNodeIndex","endOffsetIndex","MessageInput","React","forwardRef","props","className","isEdit","isMentionEnabled","disabled","message","placeholder","maxLength","onFileUpload","onSendMessage","onUpdateMessage","onCancelEdit","onStartTyping","channelUrl","mentionSelectedUser","onUserMentioned","onMentionStringChange","onMentionedUserIdsUpdated","onKeyUp","onKeyDown","stringSet","useContext","LocalizationContext","fileInputRef","useRef","isInput","setIsInput","useState","mentionedUserIds","setMentionedUserIds","targetStringInfo","setTargetStringInfo","_objectSpread","setHeight","useMemo","elem","MAX_HEIGHT","body","offsetHeight","scrollHeight","style","height","error","initialValue","useEffect","textField","length","innerText","messageId","mentionedUsers","mentionedMessageTemplate","split","map","word","convertWordToStringObj","stringObj","type","userId","StringObjType","mention","some","user","renderToString","USER_MENTION_TEMP_CHAR","find","nickname","MENTION_NAME__NO_NAME","join","useMentionedLabelDetection","useCallback","newMentionedUserIds","getElementsByClassName","node","dataset","userid","arrayEqual","frontTextNode","createTextNode","textContent","slice","backTextNode","mentionLabel","div","createElement","newNodes","forEach","newNode","appendChild","selection","Range","selectNodeContents","setEnd","useMentionInputDetection","anchorNode","focusNode","anchorOffset","focusOffset","textStack","index","currentNode","nodeType","NodeTypes","TextNode","charLastIndex","lastIndexOf","i","sendMessage","messageText","mentionTemplate","ElementNode","nodeName","NodeNames","Span","Br","params","editMessage","getClassName","e","preventEvent","preventDefault","shiftKey","key","MessageInputKeys","Enter","nativeEvent","isComposing","Backspace","removeChild","execCommand","clipboardData","getData","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_3","MESSAGE_INPUT__PLACE_HOLDER","IconTypes","SEND","IconColors","PRIMARY","click","ATTACH","CONTENT_INVERSE","ButtonTypes","SECONDARY","ButtonSizes","SMALL","BUTTON__CANCEL","BUTTON__SAVE","propTypes","PropTypes","oneOfType","string","arrayOf","bool","shape","number","func","defaultProps"],"mappings":"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"}
|
package/ui/MessageItemMenu.js
CHANGED
|
@@ -2,17 +2,17 @@ import React__default, { useContext, useRef } from 'react';
|
|
|
2
2
|
import ContextMenu, { MenuItems, MenuItem } from './ContextMenu.js';
|
|
3
3
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
4
4
|
import IconButton from './IconButton.js';
|
|
5
|
-
import { r as isUserMessage,
|
|
6
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
7
|
-
import '../tslib.es6-
|
|
5
|
+
import { r as isUserMessage, s as isSentMessage, u as isFailedMessage, v as isPendingMessage, h as getClassName, w as copyToClipboard } from '../index-e1f156d0.js';
|
|
6
|
+
import { a as LocalizationContext } from '../LocalizationContext-4f852f2e.js';
|
|
7
|
+
import '../tslib.es6-38d6449a.js';
|
|
8
8
|
import 'react-dom';
|
|
9
9
|
import './SortByRow.js';
|
|
10
|
-
import '../uuid-
|
|
11
|
-
import '../index-
|
|
10
|
+
import '../uuid-11fdaf7d.js';
|
|
11
|
+
import '../index-b02633bc.js';
|
|
12
12
|
import 'prop-types';
|
|
13
|
-
import '../stringSet-
|
|
13
|
+
import '../stringSet-fd9dcf1e.js';
|
|
14
14
|
import '../utils/message/getOutgoingMessageState.js';
|
|
15
|
-
import '../index-
|
|
15
|
+
import '../index-c766d64c.js';
|
|
16
16
|
|
|
17
17
|
function MessageItemMenu(_a) {
|
|
18
18
|
var className = _a.className,
|