@sendbird/uikit-react 3.2.1 → 3.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +33 -28
- package/App.js.map +1 -1
- package/CHANGELOG.md +13 -1
- package/Channel/components/ChannelHeader.js +16 -15
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +22 -21
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +15 -14
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +19 -18
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +16 -15
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +21 -20
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +16 -15
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +16 -15
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +15 -14
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +14 -13
- package/Channel/context.js.map +1 -1
- package/Channel.js +22 -21
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +14 -13
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +49 -44
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +20 -19
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +14 -13
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +9 -8
- package/ChannelList/context.js.map +1 -1
- package/ChannelList.js +26 -25
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-5d6be9a8.js → ChannelListProvider-ac91b9ac.js} +27 -23
- package/ChannelListProvider-ac91b9ac.js.map +1 -0
- package/{ChannelProvider-106bb518.js → ChannelProvider-7924e137.js} +10 -10
- package/ChannelProvider-7924e137.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -17
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js +10 -10
- package/ChannelSettings/components/ModerationPanel.js +15 -14
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +12 -11
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +14 -13
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -17
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +14 -13
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +14 -13
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -13
- package/CreateChannel.js.map +1 -1
- package/{CreateChannelProvider-879ea78c.js → CreateChannelProvider-11543306.js} +1 -1
- package/{CreateChannelProvider-879ea78c.js.map → CreateChannelProvider-11543306.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +9 -9
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile.js +12 -12
- package/{LocalizationContext-a6f8fb25.js → LocalizationContext-83cab487.js} +3 -3
- package/{LocalizationContext-a6f8fb25.js.map → LocalizationContext-83cab487.js.map} +1 -1
- package/{MemberList-bf1787c0.js → MemberList-9605f473.js} +5 -5
- package/{MemberList-bf1787c0.js.map → MemberList-9605f473.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +16 -15
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +21 -20
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +23 -22
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +23 -22
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +9 -9
- package/OpenChannel.js +23 -22
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +12 -12
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +4 -4
- package/OpenChannelList.js +12 -12
- package/{OpenChannelListProvider-cdd801da.js → OpenChannelListProvider-b1734de3.js} +3 -3
- package/{OpenChannelListProvider-cdd801da.js.map → OpenChannelListProvider-b1734de3.js.map} +1 -1
- package/{OpenChannelProvider-10dd5869.js → OpenChannelProvider-ccdfc3d7.js} +7 -7
- package/{OpenChannelProvider-10dd5869.js.map → OpenChannelProvider-ccdfc3d7.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -17
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +17 -16
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +15 -14
- package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +18 -17
- package/OpenChannelSettings.js.map +1 -1
- package/SendbirdProvider.js +14 -9
- package/SendbirdProvider.js.map +1 -1
- package/{UserProfileContext-58463608.js → UserProfileContext-c2fcaa62.js} +1 -1
- package/{UserProfileContext-58463608.js.map → UserProfileContext-c2fcaa62.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-b9099c54.js → _rollupPluginBabelHelpers-008a1844.js} +1 -1
- package/_rollupPluginBabelHelpers-008a1844.js.map +1 -0
- package/{actionTypes-2e2a14dc.js → actionTypes-e2247efe.js} +1 -1
- package/{actionTypes-2e2a14dc.js.map → actionTypes-e2247efe.js.map} +1 -1
- package/cjs/App.js +33 -28
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +16 -15
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +22 -21
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +15 -14
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +19 -18
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +16 -15
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +21 -20
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +16 -15
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +16 -15
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +15 -14
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +14 -13
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel.js +22 -21
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +14 -13
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +49 -44
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +20 -19
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -13
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +9 -8
- package/cjs/ChannelList/context.js.map +1 -1
- package/cjs/ChannelList.js +26 -25
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-0ad296e7.js → ChannelListProvider-21708c39.js} +27 -23
- package/cjs/ChannelListProvider-21708c39.js.map +1 -0
- package/cjs/{ChannelProvider-7ef2ebd3.js → ChannelProvider-dc38544c.js} +10 -10
- package/cjs/ChannelProvider-dc38544c.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -17
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js +10 -10
- package/cjs/ChannelSettings/components/ModerationPanel.js +15 -14
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +12 -11
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +14 -13
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -17
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -13
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +14 -13
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -13
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/{CreateChannelProvider-9d17677a.js → CreateChannelProvider-266d45a0.js} +1 -1
- package/cjs/{CreateChannelProvider-9d17677a.js.map → CreateChannelProvider-266d45a0.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +9 -9
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile.js +12 -12
- package/cjs/{LocalizationContext-64800ba8.js → LocalizationContext-f761ec27.js} +3 -3
- package/cjs/{LocalizationContext-64800ba8.js.map → LocalizationContext-f761ec27.js.map} +1 -1
- package/cjs/{MemberList-b623b698.js → MemberList-3d1f10ce.js} +5 -5
- package/cjs/{MemberList-b623b698.js.map → MemberList-3d1f10ce.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +16 -15
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +21 -20
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +23 -22
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +23 -22
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +9 -9
- package/cjs/OpenChannel.js +23 -22
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +12 -12
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +12 -12
- package/cjs/{OpenChannelListProvider-c2ffa643.js → OpenChannelListProvider-422c413e.js} +3 -3
- package/cjs/{OpenChannelListProvider-c2ffa643.js.map → OpenChannelListProvider-422c413e.js.map} +1 -1
- package/cjs/{OpenChannelProvider-c6e69c3d.js → OpenChannelProvider-3a28c320.js} +7 -7
- package/cjs/{OpenChannelProvider-c6e69c3d.js.map → OpenChannelProvider-3a28c320.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -17
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -16
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -14
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +18 -17
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/SendbirdProvider.js +14 -9
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/{UserProfileContext-adcaa087.js → UserProfileContext-e6c4c6cd.js} +1 -1
- package/cjs/{UserProfileContext-adcaa087.js.map → UserProfileContext-e6c4c6cd.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-db7a8168.js → _rollupPluginBabelHelpers-b0ecb658.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-b0ecb658.js.map +1 -0
- package/cjs/{actionTypes-3a12308e.js → actionTypes-a284f20e.js} +1 -1
- package/cjs/{actionTypes-3a12308e.js.map → actionTypes-a284f20e.js.map} +1 -1
- package/cjs/{color-b4fd88cc.js → color-9957dbf5.js} +1 -1
- package/cjs/{color-b4fd88cc.js.map → color-9957dbf5.js.map} +1 -1
- package/cjs/{compareIds-0877d215.js → compareIds-1d542fb6.js} +1 -1
- package/cjs/{compareIds-0877d215.js.map → compareIds-1d542fb6.js.map} +1 -1
- package/cjs/{const-1844f708.js → const-cecc5538.js} +1 -1
- package/cjs/{const-1844f708.js.map → const-cecc5538.js.map} +1 -1
- package/cjs/{const-d4eca33b.js → const-e8d6d2ca.js} +1 -1
- package/cjs/{const-d4eca33b.js.map → const-e8d6d2ca.js.map} +1 -1
- package/cjs/{context-0ee48eec.js → context-c49da3e7.js} +2 -2
- package/cjs/{context-0ee48eec.js.map → context-c49da3e7.js.map} +1 -1
- package/cjs/{index-ef0a59fd.js → index-3a7cc4f3.js} +2 -2
- package/cjs/{index-ef0a59fd.js.map → index-3a7cc4f3.js.map} +1 -1
- package/cjs/{index-dda2ca7b.js → index-57dc486a.js} +7 -7
- package/cjs/{index-dda2ca7b.js.map → index-57dc486a.js.map} +1 -1
- package/cjs/{index-8b034127.js → index-722557fc.js} +1 -1
- package/cjs/{index-8b034127.js.map → index-722557fc.js.map} +1 -1
- package/cjs/{index-a7fef0ee.js → index-7515c3b7.js} +2 -2
- package/cjs/{index-a7fef0ee.js.map → index-7515c3b7.js.map} +1 -1
- package/cjs/{index-6e1b95d9.js → index-a332c97a.js} +1 -1
- package/cjs/{index-6e1b95d9.js.map → index-a332c97a.js.map} +1 -1
- package/cjs/{index-1b2c1946.js → index-b02c7fda.js} +2 -2
- package/cjs/{index-1b2c1946.js.map → index-b02c7fda.js.map} +1 -1
- package/cjs/{index-6ed6c13c.js → index-b4e3b6d9.js} +5 -35
- package/cjs/index-b4e3b6d9.js.map +1 -0
- package/cjs/{index-495608df.js → index-d1dd6aac.js} +5 -5
- package/cjs/{index-495608df.js.map → index-d1dd6aac.js.map} +1 -1
- package/cjs/{index-d704345f.js → index-efef37ff.js} +4 -4
- package/cjs/{index-d704345f.js.map → index-efef37ff.js.map} +1 -1
- package/cjs/{index-5592e65b.js → index-fea8438a.js} +4 -4
- package/cjs/{index-5592e65b.js.map → index-fea8438a.js.map} +1 -1
- package/cjs/index.js +33 -32
- package/cjs/index.js.map +1 -1
- package/cjs/{openChannelUtils-afd47b38.js → openChannelUtils-f9cce808.js} +1 -1
- package/cjs/{openChannelUtils-afd47b38.js.map → openChannelUtils-f9cce808.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-c306c59c.js → stringSet-5a829a29.js} +1 -1
- package/cjs/{stringSet-c306c59c.js.map → stringSet-5a829a29.js.map} +1 -1
- package/cjs/{topics-c42771ac.js → topics-3bfeb62f.js} +1 -1
- package/cjs/{topics-c42771ac.js.map → topics-3bfeb62f.js.map} +1 -1
- package/cjs/{tslib.es6-b4fa8f1d.js → tslib.es6-ca15b7cc.js} +1 -1
- package/cjs/{tslib.es6-b4fa8f1d.js.map → tslib.es6-ca15b7cc.js.map} +1 -1
- package/cjs/ui/Accordion.js +3 -3
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/Button.js +3 -3
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +6 -5
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +8 -7
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +6 -5
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +9 -8
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +11 -10
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +14 -13
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +10 -9
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +8 -7
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +6 -5
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +9 -9
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +14 -13
- package/cjs/ui/MessageStatus.js.map +1 -1
- package/cjs/ui/Modal.js +6 -6
- package/cjs/ui/OGMessageItemBody.js +11 -10
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +3 -3
- package/cjs/ui/OpenChannelAvatar.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +15 -14
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +15 -14
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +14 -13
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +15 -14
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/QuoteMessage.js +7 -6
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +7 -6
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +11 -10
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +3 -2
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +7 -6
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +12 -11
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/Word.js +11 -10
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/getOutgoingMessageState.js +44 -0
- package/cjs/utils/message/getOutgoingMessageState.js.map +1 -0
- package/cjs/{utils-d6565953.js → utils-4754b3c2.js} +1 -1
- package/cjs/{utils-d6565953.js.map → utils-4754b3c2.js.map} +1 -1
- package/cjs/{utils-538678ec.js → utils-47ccaecc.js} +1 -1
- package/cjs/{utils-538678ec.js.map → utils-47ccaecc.js.map} +1 -1
- package/cjs/{utils-5d8323fa.js → utils-56c62b34.js} +1 -1
- package/cjs/{utils-5d8323fa.js.map → utils-56c62b34.js.map} +1 -1
- package/cjs/{uuid-61941a28.js → uuid-279278c6.js} +1 -1
- package/cjs/{uuid-61941a28.js.map → uuid-279278c6.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-a2810858.js → color-b8fbee14.js} +1 -1
- package/{color-a2810858.js.map → color-b8fbee14.js.map} +1 -1
- package/{compareIds-4839d86c.js → compareIds-eb89e686.js} +1 -1
- package/{compareIds-4839d86c.js.map → compareIds-eb89e686.js.map} +1 -1
- package/{const-16fc416a.js → const-21c50fc9.js} +1 -1
- package/{const-16fc416a.js.map → const-21c50fc9.js.map} +1 -1
- package/{const-07519343.js → const-e3a99496.js} +1 -1
- package/{const-07519343.js.map → const-e3a99496.js.map} +1 -1
- package/{context-20498268.js → context-26bcf69f.js} +2 -2
- package/{context-20498268.js.map → context-26bcf69f.js.map} +1 -1
- package/{index-4ac20b5a.js → index-02b9dcb6.js} +4 -4
- package/{index-4ac20b5a.js.map → index-02b9dcb6.js.map} +1 -1
- package/{index-ccf6db26.js → index-4230994b.js} +2 -2
- package/{index-ccf6db26.js.map → index-4230994b.js.map} +1 -1
- package/{index-cc905e95.js → index-480fdda4.js} +4 -32
- package/index-480fdda4.js.map +1 -0
- package/{index-84497a86.js → index-4cfa849d.js} +7 -7
- package/{index-84497a86.js.map → index-4cfa849d.js.map} +1 -1
- package/{index-c2f20322.js → index-a6620ba4.js} +2 -2
- package/{index-c2f20322.js.map → index-a6620ba4.js.map} +1 -1
- package/{index-2db9735a.js → index-b84202de.js} +2 -2
- package/{index-2db9735a.js.map → index-b84202de.js.map} +1 -1
- package/{index-fb7fd76d.js → index-d7a65767.js} +1 -1
- package/{index-fb7fd76d.js.map → index-d7a65767.js.map} +1 -1
- package/{index-e7ab483d.js → index-f266664f.js} +4 -4
- package/{index-e7ab483d.js.map → index-f266664f.js.map} +1 -1
- package/{index-14e5c46a.js → index-f5829dca.js} +5 -5
- package/{index-14e5c46a.js.map → index-f5829dca.js.map} +1 -1
- package/{index-ecc6d4a9.js → index-f608979d.js} +1 -1
- package/{index-ecc6d4a9.js.map → index-f608979d.js.map} +1 -1
- package/index.d.ts +24 -2
- package/index.js +33 -32
- package/index.js.map +1 -1
- package/{openChannelUtils-c694c77d.js → openChannelUtils-f8bde567.js} +1 -1
- package/{openChannelUtils-c694c77d.js.map → openChannelUtils-f8bde567.js.map} +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-ed906148.js → stringSet-4cfbe7bc.js} +1 -1
- package/{stringSet-ed906148.js.map → stringSet-4cfbe7bc.js.map} +1 -1
- package/{topics-398017ae.js → topics-58d21996.js} +1 -1
- package/{topics-398017ae.js.map → topics-58d21996.js.map} +1 -1
- package/{tslib.es6-84f8edfa.js → tslib.es6-9a4d0074.js} +1 -1
- package/{tslib.es6-84f8edfa.js.map → tslib.es6-9a4d0074.js.map} +1 -1
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +6 -5
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +8 -7
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +6 -5
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +9 -8
- package/ui/FileViewer.js.map +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +11 -10
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MessageContent.js +14 -13
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +10 -9
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +8 -7
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +6 -5
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +9 -9
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +13 -12
- package/ui/MessageStatus.js.map +1 -1
- package/ui/Modal.js +6 -6
- package/ui/OGMessageItemBody.js +11 -10
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +15 -14
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +15 -14
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +14 -13
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +15 -14
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +6 -6
- package/ui/QuoteMessage.js +7 -6
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +7 -6
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +11 -10
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +3 -2
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +7 -6
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +12 -11
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +9 -9
- package/ui/Word.js +11 -10
- package/ui/Word.js.map +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/getOutgoingMessageState.js +40 -0
- package/utils/message/getOutgoingMessageState.js.map +1 -0
- package/{utils-dc344408.js → utils-23048a3f.js} +1 -1
- package/{utils-dc344408.js.map → utils-23048a3f.js.map} +1 -1
- package/{utils-84904138.js → utils-59146385.js} +1 -1
- package/{utils-84904138.js.map → utils-59146385.js.map} +1 -1
- package/{utils-f96e8b5b.js → utils-9300425e.js} +1 -1
- package/{utils-f96e8b5b.js.map → utils-9300425e.js.map} +1 -1
- package/{uuid-bd74c65a.js → uuid-04e2d5ae.js} +1 -1
- package/{uuid-bd74c65a.js.map → uuid-04e2d5ae.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-5d6be9a8.js.map +0 -1
- package/ChannelProvider-106bb518.js.map +0 -1
- package/_rollupPluginBabelHelpers-b9099c54.js.map +0 -1
- package/cjs/ChannelListProvider-0ad296e7.js.map +0 -1
- package/cjs/ChannelProvider-7ef2ebd3.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-db7a8168.js.map +0 -1
- package/cjs/index-6ed6c13c.js.map +0 -1
- package/index-cc905e95.js.map +0 -1
package/ui/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 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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"}
|
package/ui/MessageItemMenu.js
CHANGED
|
@@ -2,16 +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 {
|
|
6
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
7
|
-
import '../tslib.es6-
|
|
5
|
+
import { r as isUserMessage, B as isSentMessage, C as isFailedMessage, D as isPendingMessage, h as getClassName, E as copyToClipboard } from '../index-480fdda4.js';
|
|
6
|
+
import { a as LocalizationContext } from '../LocalizationContext-83cab487.js';
|
|
7
|
+
import '../tslib.es6-9a4d0074.js';
|
|
8
8
|
import 'react-dom';
|
|
9
9
|
import './SortByRow.js';
|
|
10
|
-
import '../uuid-
|
|
11
|
-
import '../index-
|
|
10
|
+
import '../uuid-04e2d5ae.js';
|
|
11
|
+
import '../index-a6620ba4.js';
|
|
12
12
|
import 'prop-types';
|
|
13
|
-
import '../stringSet-
|
|
14
|
-
import '../
|
|
13
|
+
import '../stringSet-4cfbe7bc.js';
|
|
14
|
+
import '../utils/message/getOutgoingMessageState.js';
|
|
15
|
+
import '../index-d7a65767.js';
|
|
15
16
|
|
|
16
17
|
function MessageItemMenu(_a) {
|
|
17
18
|
var className = _a.className,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageItemMenu.js","sources":["../../src/ui/MessageItemMenu/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useRef } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport {\n getClassName,\n copyToClipboard,\n isUserMessage,\n isSentMessage,\n isFailedMessage,\n isPendingMessage,\n} from '../../utils/index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { ReplyType } from '../../index';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage | FileMessage;\n channel: GroupChannel | OpenChannel;\n isByMe?: boolean;\n disabled?: boolean;\n replyType?: ReplyType;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n setSupposedHover?: (bool: boolean) => void;\n}\n\nexport default function MessageItemMenu({\n className,\n message,\n channel,\n isByMe = false,\n disabled = false,\n replyType,\n showEdit,\n showRemove,\n resendMessage,\n setQuoteMessage,\n setSupposedHover,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const triggerRef = useRef(null);\n const containerRef = useRef(null);\n\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 /**\n * TODO: Manage timing issue\n * User delete pending message -> Sending message success\n */\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n\n if (!(showMenuItemCopy || showMenuItemReply || showMenuItemEdit || showMenuItemResend || showMenuItemDelete)) {\n return null;\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-item-menu'])}\n ref={containerRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <IconButton\n className=\"sendbird-message-item-menu__trigger\"\n ref={triggerRef}\n width=\"32px\"\n height=\"32px\"\n onClick={(): void => {\n toggleDropdown();\n setSupposedHover(true);\n }}\n onBlur={(): void => {\n setSupposedHover(false);\n }}\n >\n <Icon\n className=\"sendbird-message-item-menu__trigger__icon\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )}\n menuItems={(close: () => void): ReactElement => {\n const closeDropdown = (): void => {\n close();\n setSupposedHover(false);\n };\n return (\n <MenuItems\n className=\"sendbird-message-item-menu__list\"\n parentRef={triggerRef}\n parentContainRef={containerRef}\n closeDropdown={closeDropdown}\n openLeft={isByMe}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-copy\"\n onClick={() => {\n copyToClipboard((message as UserMessage)?.message);\n closeDropdown();\n }}\n >\n {stringSet.MESSAGE_MENU__COPY}\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-reply\"\n onClick={() => {\n setQuoteMessage(message);\n closeDropdown();\n }}\n disable={message?.parentMessageId > 0}\n >\n {stringSet.MESSAGE_MENU__REPLY}\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-edit\"\n onClick={() => {\n if (!disabled) {\n showEdit(true);\n closeDropdown();\n }\n }}\n >\n {stringSet.MESSAGE_MENU__EDIT}\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-resend\"\n onClick={() => {\n if (!disabled) {\n resendMessage(message);\n closeDropdown();\n }\n }}\n >\n {stringSet.MESSAGE_MENU__RESEND}\n </MenuItem>\n )}\n {showMenuItemDelete && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-delete\"\n onClick={() => {\n if (!disabled) {\n showRemove(true);\n closeDropdown();\n }\n }}\n disable={message?.threadInfo?.replyCount > 0}\n >\n {stringSet.MESSAGE_MENU__DELETE}\n </MenuItem>\n )}\n </MenuItems>\n );\n }}\n />\n </div>\n );\n}\n"],"names":["MessageItemMenu","_a","className","message","channel","_b","isByMe","_c","disabled","replyType","showEdit","showRemove","resendMessage","setQuoteMessage","setSupposedHover","stringSet","useContext","LocalizationContext","triggerRef","useRef","containerRef","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemReply","isGroupChannel","isBroadcast","React","getClassName","toggleDropdown","IconTypes","MORE","IconColors","CONTENT_INVERSE","close","closeDropdown","copyToClipboard","MESSAGE_MENU__COPY","parentMessageId","MESSAGE_MENU__REPLY","MESSAGE_MENU__EDIT","MESSAGE_MENU__RESEND","threadInfo","replyCount","MESSAGE_MENU__DELETE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageItemMenu.js","sources":["../../src/ui/MessageItemMenu/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useContext, useRef } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport type { OpenChannel } from '@sendbird/chat/openChannel';\n\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport {\n getClassName,\n copyToClipboard,\n isUserMessage,\n isSentMessage,\n isFailedMessage,\n isPendingMessage,\n} from '../../utils/index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { ReplyType } from '../../index';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage | FileMessage;\n channel: GroupChannel | OpenChannel;\n isByMe?: boolean;\n disabled?: boolean;\n replyType?: ReplyType;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => void;\n setQuoteMessage?: (message: UserMessage | FileMessage) => void;\n setSupposedHover?: (bool: boolean) => void;\n}\n\nexport default function MessageItemMenu({\n className,\n message,\n channel,\n isByMe = false,\n disabled = false,\n replyType,\n showEdit,\n showRemove,\n resendMessage,\n setQuoteMessage,\n setSupposedHover,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const triggerRef = useRef(null);\n const containerRef = useRef(null);\n\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 /**\n * TODO: Manage timing issue\n * User delete pending message -> Sending message success\n */\n const showMenuItemReply: boolean = (replyType === 'QUOTE_REPLY')\n && !isFailedMessage(message)\n && !isPendingMessage(message)\n && (channel?.isGroupChannel() && !(channel as GroupChannel)?.isBroadcast);\n\n if (!(showMenuItemCopy || showMenuItemReply || showMenuItemEdit || showMenuItemResend || showMenuItemDelete)) {\n return null;\n }\n return (\n <div\n className={getClassName([className, 'sendbird-message-item-menu'])}\n ref={containerRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <IconButton\n className=\"sendbird-message-item-menu__trigger\"\n ref={triggerRef}\n width=\"32px\"\n height=\"32px\"\n onClick={(): void => {\n toggleDropdown();\n setSupposedHover(true);\n }}\n onBlur={(): void => {\n setSupposedHover(false);\n }}\n >\n <Icon\n className=\"sendbird-message-item-menu__trigger__icon\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )}\n menuItems={(close: () => void): ReactElement => {\n const closeDropdown = (): void => {\n close();\n setSupposedHover(false);\n };\n return (\n <MenuItems\n className=\"sendbird-message-item-menu__list\"\n parentRef={triggerRef}\n parentContainRef={containerRef}\n closeDropdown={closeDropdown}\n openLeft={isByMe}\n >\n {showMenuItemCopy && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-copy\"\n onClick={() => {\n copyToClipboard((message as UserMessage)?.message);\n closeDropdown();\n }}\n >\n {stringSet.MESSAGE_MENU__COPY}\n </MenuItem>\n )}\n {showMenuItemReply && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-reply\"\n onClick={() => {\n setQuoteMessage(message);\n closeDropdown();\n }}\n disable={message?.parentMessageId > 0}\n >\n {stringSet.MESSAGE_MENU__REPLY}\n </MenuItem>\n )}\n {showMenuItemEdit && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-edit\"\n onClick={() => {\n if (!disabled) {\n showEdit(true);\n closeDropdown();\n }\n }}\n >\n {stringSet.MESSAGE_MENU__EDIT}\n </MenuItem>\n )}\n {showMenuItemResend && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-resend\"\n onClick={() => {\n if (!disabled) {\n resendMessage(message);\n closeDropdown();\n }\n }}\n >\n {stringSet.MESSAGE_MENU__RESEND}\n </MenuItem>\n )}\n {showMenuItemDelete && (\n <MenuItem\n className=\"sendbird-message-item-menu__list__menu-item menu-item-delete\"\n onClick={() => {\n if (!disabled) {\n showRemove(true);\n closeDropdown();\n }\n }}\n disable={message?.threadInfo?.replyCount > 0}\n >\n {stringSet.MESSAGE_MENU__DELETE}\n </MenuItem>\n )}\n </MenuItems>\n );\n }}\n />\n </div>\n );\n}\n"],"names":["MessageItemMenu","_a","className","message","channel","_b","isByMe","_c","disabled","replyType","showEdit","showRemove","resendMessage","setQuoteMessage","setSupposedHover","stringSet","useContext","LocalizationContext","triggerRef","useRef","containerRef","showMenuItemCopy","isUserMessage","showMenuItemEdit","isSentMessage","showMenuItemResend","isFailedMessage","isResendable","showMenuItemDelete","isPendingMessage","showMenuItemReply","isGroupChannel","isBroadcast","React","getClassName","toggleDropdown","IconTypes","MORE","IconColors","CONTENT_INVERSE","close","closeDropdown","copyToClipboard","MESSAGE_MENU__COPY","parentMessageId","MESSAGE_MENU__REPLY","MESSAGE_MENU__EDIT","MESSAGE_MENU__RESEND","threadInfo","replyCount","MESSAGE_MENU__DELETE"],"mappings":"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"}
|
|
@@ -4,14 +4,15 @@ import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
|
4
4
|
import IconButton from './IconButton.js';
|
|
5
5
|
import ImageRenderer from './ImageRenderer.js';
|
|
6
6
|
import ReactionButton from './ReactionButton.js';
|
|
7
|
-
import {
|
|
8
|
-
import '../tslib.es6-
|
|
7
|
+
import { D as isPendingMessage, C as isFailedMessage, h as getClassName, F as getEmojiListAll } from '../index-480fdda4.js';
|
|
8
|
+
import '../tslib.es6-9a4d0074.js';
|
|
9
9
|
import 'react-dom';
|
|
10
10
|
import './SortByRow.js';
|
|
11
|
-
import '../uuid-
|
|
12
|
-
import '../index-
|
|
11
|
+
import '../uuid-04e2d5ae.js';
|
|
12
|
+
import '../index-a6620ba4.js';
|
|
13
13
|
import 'prop-types';
|
|
14
|
-
import '../stringSet-
|
|
14
|
+
import '../stringSet-4cfbe7bc.js';
|
|
15
|
+
import '../utils/message/getOutgoingMessageState.js';
|
|
15
16
|
|
|
16
17
|
function MessageItemReactionMenu(_a) {
|
|
17
18
|
var className = _a.className,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageItemReactionMenu.js","sources":["../../src/ui/MessageItemReactionMenu/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useRef } from 'react';\nimport type { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { Emoji, EmojiContainer } from '@sendbird/chat';\n\nimport ContextMenu, { EmojiListItems } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport { getClassName, getEmojiListAll, isPendingMessage, isFailedMessage } from '../../utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage | FileMessage;\n userId: string;\n spaceFromTrigger?: Record<string, unknown>;\n emojiContainer?: EmojiContainer;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setSupposedHover?: (bool: boolean) => void;\n}\n\nexport default function MessageItemReactionMenu({\n className,\n message,\n userId,\n spaceFromTrigger = {},\n emojiContainer,\n toggleReaction,\n setSupposedHover,\n}: Props): ReactElement {\n const triggerRef = useRef(null);\n const containerRef = useRef(null);\n\n if(isPendingMessage(message) || isFailedMessage(message)) {\n return null;\n }\n\n return (\n <div\n className={getClassName([className, 'sendbird-message-item-reaction-menu'])}\n ref={containerRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <IconButton\n className=\"sendbird-message-item-reaction-menu__trigger\"\n ref={triggerRef}\n width=\"32px\"\n height=\"32px\"\n onClick={(): void => {\n toggleDropdown();\n setSupposedHover(true);\n }}\n onBlur={(): void => {\n setSupposedHover(false);\n }}\n >\n <Icon\n className=\"sendbird-message-item-reaction-menu__trigger__icon\"\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )}\n menuItems={(close: () => void): ReactElement => {\n const closeDropdown = (): void => {\n close();\n setSupposedHover(false);\n };\n return (\n <EmojiListItems\n parentRef={triggerRef}\n parentContainRef={containerRef}\n closeDropdown={closeDropdown}\n spaceFromTrigger={spaceFromTrigger}\n >\n {getEmojiListAll(emojiContainer).map((emoji: Emoji): ReactElement => {\n const isReacted: boolean = message?.reactions?.\n filter((reaction: Reaction) => reaction.key === emoji.key)[0]?.userIds?.\n some((reactorId: string) => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width=\"36px\"\n height=\"36px\"\n selected={isReacted}\n onClick={() => {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n <ImageRenderer\n url={emoji.url}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style) => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n </EmojiListItems>\n );\n }}\n />\n </div>\n );\n}\n"],"names":["MessageItemReactionMenu","_a","className","message","userId","_b","spaceFromTrigger","emojiContainer","toggleReaction","setSupposedHover","triggerRef","useRef","containerRef","isPendingMessage","isFailedMessage","React","getClassName","toggleDropdown","IconTypes","EMOJI_MORE","IconColors","CONTENT_INVERSE","close","closeDropdown","getEmojiListAll","map","emoji","isReacted","_c","reactions","filter","reaction","key","userIds","some","reactorId","url","style","QUESTION","ON_BACKGROUND_3"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MessageItemReactionMenu.js","sources":["../../src/ui/MessageItemReactionMenu/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { ReactElement, useRef } from 'react';\nimport type { FileMessage, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { Emoji, EmojiContainer } from '@sendbird/chat';\n\nimport ContextMenu, { EmojiListItems } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport ReactionButton from '../ReactionButton';\nimport { getClassName, getEmojiListAll, isPendingMessage, isFailedMessage } from '../../utils';\n\ninterface Props {\n className?: string | Array<string>;\n message: UserMessage | FileMessage;\n userId: string;\n spaceFromTrigger?: Record<string, unknown>;\n emojiContainer?: EmojiContainer;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n setSupposedHover?: (bool: boolean) => void;\n}\n\nexport default function MessageItemReactionMenu({\n className,\n message,\n userId,\n spaceFromTrigger = {},\n emojiContainer,\n toggleReaction,\n setSupposedHover,\n}: Props): ReactElement {\n const triggerRef = useRef(null);\n const containerRef = useRef(null);\n\n if(isPendingMessage(message) || isFailedMessage(message)) {\n return null;\n }\n\n return (\n <div\n className={getClassName([className, 'sendbird-message-item-reaction-menu'])}\n ref={containerRef}\n >\n <ContextMenu\n menuTrigger={(toggleDropdown: () => void): ReactElement => (\n <IconButton\n className=\"sendbird-message-item-reaction-menu__trigger\"\n ref={triggerRef}\n width=\"32px\"\n height=\"32px\"\n onClick={(): void => {\n toggleDropdown();\n setSupposedHover(true);\n }}\n onBlur={(): void => {\n setSupposedHover(false);\n }}\n >\n <Icon\n className=\"sendbird-message-item-reaction-menu__trigger__icon\"\n type={IconTypes.EMOJI_MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n )}\n menuItems={(close: () => void): ReactElement => {\n const closeDropdown = (): void => {\n close();\n setSupposedHover(false);\n };\n return (\n <EmojiListItems\n parentRef={triggerRef}\n parentContainRef={containerRef}\n closeDropdown={closeDropdown}\n spaceFromTrigger={spaceFromTrigger}\n >\n {getEmojiListAll(emojiContainer).map((emoji: Emoji): ReactElement => {\n const isReacted: boolean = message?.reactions?.\n filter((reaction: Reaction) => reaction.key === emoji.key)[0]?.userIds?.\n some((reactorId: string) => reactorId === userId);\n return (\n <ReactionButton\n key={emoji.key}\n width=\"36px\"\n height=\"36px\"\n selected={isReacted}\n onClick={() => {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n <ImageRenderer\n url={emoji.url}\n width=\"28px\"\n height=\"28px\"\n placeHolder={(style) => (\n <div style={style}>\n <Icon\n type={IconTypes.QUESTION}\n fillColor={IconColors.ON_BACKGROUND_3}\n width=\"28px\"\n height=\"28px\"\n />\n </div>\n )}\n />\n </ReactionButton>\n );\n })}\n </EmojiListItems>\n );\n }}\n />\n </div>\n );\n}\n"],"names":["MessageItemReactionMenu","_a","className","message","userId","_b","spaceFromTrigger","emojiContainer","toggleReaction","setSupposedHover","triggerRef","useRef","containerRef","isPendingMessage","isFailedMessage","React","getClassName","toggleDropdown","IconTypes","EMOJI_MORE","IconColors","CONTENT_INVERSE","close","closeDropdown","getEmojiListAll","map","emoji","isReacted","_c","reactions","filter","reaction","key","userIds","some","reactorId","url","style","QUESTION","ON_BACKGROUND_3"],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { a as __spreadArray } from '../tslib.es6-
|
|
1
|
+
import { a as __spreadArray } from '../tslib.es6-9a4d0074.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import Avatar from './Avatar.js';
|
|
4
4
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
5
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
6
|
-
import { u as useLocalization } from '../LocalizationContext-
|
|
7
|
-
import { f as format } from '../index-
|
|
8
|
-
import { i as isToday, a as isYesterday, f as formatRelative } from '../index-
|
|
5
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-a6620ba4.js';
|
|
6
|
+
import { u as useLocalization } from '../LocalizationContext-83cab487.js';
|
|
7
|
+
import { f as format } from '../index-b84202de.js';
|
|
8
|
+
import { i as isToday, a as isYesterday, f as formatRelative } from '../index-f266664f.js';
|
|
9
9
|
import './ImageRenderer.js';
|
|
10
|
-
import '../uuid-
|
|
10
|
+
import '../uuid-04e2d5ae.js';
|
|
11
11
|
import 'prop-types';
|
|
12
|
-
import '../stringSet-
|
|
13
|
-
import '../index-
|
|
14
|
-
import '../index-
|
|
12
|
+
import '../stringSet-4cfbe7bc.js';
|
|
13
|
+
import '../index-d7a65767.js';
|
|
14
|
+
import '../index-4230994b.js';
|
|
15
15
|
|
|
16
16
|
function getCreatedAt(createdAt, locale) {
|
|
17
17
|
var optionalParam = locale ? {
|
package/ui/MessageSearchItem.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { a as __spreadArray } from '../tslib.es6-
|
|
1
|
+
import { a as __spreadArray } from '../tslib.es6-9a4d0074.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
|
-
import { f as format } from '../index-
|
|
4
|
-
import { i as isToday, a as isYesterday, f as formatRelative } from '../index-
|
|
3
|
+
import { f as format } from '../index-b84202de.js';
|
|
4
|
+
import { i as isToday, a as isYesterday, f as formatRelative } from '../index-f266664f.js';
|
|
5
5
|
import Avatar from './Avatar.js';
|
|
6
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
7
|
-
import { u as useLocalization } from '../LocalizationContext-
|
|
8
|
-
import '../index-
|
|
9
|
-
import '../index-
|
|
6
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-a6620ba4.js';
|
|
7
|
+
import { u as useLocalization } from '../LocalizationContext-83cab487.js';
|
|
8
|
+
import '../index-d7a65767.js';
|
|
9
|
+
import '../index-4230994b.js';
|
|
10
10
|
import './ImageRenderer.js';
|
|
11
11
|
import './Icon.js';
|
|
12
12
|
import 'prop-types';
|
|
13
|
-
import '../uuid-
|
|
14
|
-
import '../stringSet-
|
|
13
|
+
import '../uuid-04e2d5ae.js';
|
|
14
|
+
import '../stringSet-4cfbe7bc.js';
|
|
15
15
|
|
|
16
16
|
function getCreatedAt (createdAt, locale) {
|
|
17
17
|
var optionalParam = locale ? {
|
package/ui/MessageStatus.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { a as __spreadArray } from '../tslib.es6-
|
|
1
|
+
import { a as __spreadArray } from '../tslib.es6-9a4d0074.js';
|
|
2
2
|
import React__default, { useMemo } from 'react';
|
|
3
|
-
import { f as format } from '../index-
|
|
3
|
+
import { f as format } from '../index-b84202de.js';
|
|
4
4
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
5
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
5
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-a6620ba4.js';
|
|
6
6
|
import Loader from './Loader.js';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import '../
|
|
7
|
+
import { e as isSentStatus } from '../index-480fdda4.js';
|
|
8
|
+
import { getOutgoingMessageState, OutgoingMessageStates } from '../utils/message/getOutgoingMessageState.js';
|
|
9
|
+
import { u as useLocalization } from '../LocalizationContext-83cab487.js';
|
|
10
|
+
import '../index-d7a65767.js';
|
|
10
11
|
import 'prop-types';
|
|
11
|
-
import '../stringSet-
|
|
12
|
+
import '../stringSet-4cfbe7bc.js';
|
|
12
13
|
|
|
13
|
-
var MessageStatusTypes =
|
|
14
|
+
var MessageStatusTypes = OutgoingMessageStates;
|
|
14
15
|
function MessageStatus(_a) {
|
|
15
16
|
var _b, _c;
|
|
16
17
|
|
|
@@ -23,12 +24,12 @@ function MessageStatus(_a) {
|
|
|
23
24
|
var status = useMemo(function () {
|
|
24
25
|
return getOutgoingMessageState(channel, message);
|
|
25
26
|
}, [(_d = channel === null || channel === void 0 ? void 0 : channel.getUnreadMemberCount) === null || _d === void 0 ? void 0 : _d.call(channel, message), (_e = channel === null || channel === void 0 ? void 0 : channel.getUndeliveredMemberCount) === null || _e === void 0 ? void 0 : _e.call(channel, message)]);
|
|
26
|
-
var hideMessageStatusIcon = (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel()) && (channel.isSuper || channel.isPublic || channel.isBroadcast) && !(status ===
|
|
27
|
-
var iconType = (_b = {}, _b[
|
|
28
|
-
var iconColor = (_c = {}, _c[
|
|
27
|
+
var hideMessageStatusIcon = (channel === null || channel === void 0 ? void 0 : channel.isGroupChannel()) && (channel.isSuper || channel.isPublic || channel.isBroadcast) && !(status === OutgoingMessageStates.PENDING || status === OutgoingMessageStates.FAILED);
|
|
28
|
+
var iconType = (_b = {}, _b[OutgoingMessageStates.SENT] = IconTypes.DONE, _b[OutgoingMessageStates.DELIVERED] = IconTypes.DONE_ALL, _b[OutgoingMessageStates.READ] = IconTypes.DONE_ALL, _b[OutgoingMessageStates.FAILED] = IconTypes.ERROR, _b);
|
|
29
|
+
var iconColor = (_c = {}, _c[OutgoingMessageStates.SENT] = IconColors.SENT, _c[OutgoingMessageStates.DELIVERED] = IconColors.SENT, _c[OutgoingMessageStates.READ] = IconColors.READ, _c[OutgoingMessageStates.FAILED] = IconColors.ERROR, _c);
|
|
29
30
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
30
31
|
className: __spreadArray(__spreadArray([], Array.isArray(className) ? className : [className], true), ['sendbird-message-status'], false).join(' ')
|
|
31
|
-
}, status ===
|
|
32
|
+
}, status === OutgoingMessageStates.PENDING ? /*#__PURE__*/React__default.createElement(Loader, {
|
|
32
33
|
className: "sendbird-message-status__icon",
|
|
33
34
|
width: "16px",
|
|
34
35
|
height: "16px"
|
package/ui/MessageStatus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageStatus.js","sources":["../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { useMemo } from 'react';\nimport format from 'date-fns/format';\nimport
|
|
1
|
+
{"version":3,"file":"MessageStatus.js","sources":["../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import './index.scss';\nimport React, { useMemo } from 'react';\nimport format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nimport { isSentStatus } from '../../utils';\nimport {\n getOutgoingMessageState,\n OutgoingMessageStates,\n} from '../../utils/exports/getOutgoingMessageState';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\nexport const MessageStatusTypes = OutgoingMessageStates;\n\ninterface MessageStatusProps {\n className?: string;\n message: UserMessage | FileMessage;\n channel: GroupChannel;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n}: MessageStatusProps): React.ReactElement {\n const { dateLocale } = useLocalization();\n const status = useMemo(() => (\n getOutgoingMessageState(channel, message)\n ), [channel?.getUnreadMemberCount?.(message), channel?.getUndeliveredMemberCount?.(message)]);\n const hideMessageStatusIcon = channel?.isGroupChannel() && (\n (channel.isSuper || channel.isPublic || channel.isBroadcast)\n && !(status === OutgoingMessageStates.PENDING || status === OutgoingMessageStates.FAILED)\n );\n const iconType = {\n [OutgoingMessageStates.SENT]: IconTypes.DONE,\n [OutgoingMessageStates.DELIVERED]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.READ]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [OutgoingMessageStates.SENT]: IconColors.SENT,\n [OutgoingMessageStates.DELIVERED]: IconColors.SENT,\n [OutgoingMessageStates.READ]: IconColors.READ,\n [OutgoingMessageStates.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === OutgoingMessageStates.PENDING) ? (\n <Loader\n className=\"sendbird-message-status__icon\"\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${hideMessageStatusIcon ? 'hide-icon' : ''}`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\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 );\n}\n"],"names":["MessageStatusTypes","OutgoingMessageStates","MessageStatus","_a","className","message","channel","dateLocale","useLocalization","status","useMemo","getOutgoingMessageState","getUnreadMemberCount","_d","call","getUndeliveredMemberCount","_e","hideMessageStatusIcon","isGroupChannel","isSuper","isPublic","isBroadcast","PENDING","FAILED","iconType","_b","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","ERROR","iconColor","_c","IconColors","React","__spreadArray","Array","isArray","join","SPINNER","PRIMARY","isSentStatus","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2","format","createdAt","locale"],"mappings":"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"}
|
package/ui/Modal.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React__default, { useContext } from 'react';
|
|
2
2
|
import { createPortal } from 'react-dom';
|
|
3
|
-
import { M as MODAL_ROOT } from '../index-
|
|
4
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
3
|
+
import { M as MODAL_ROOT } from '../index-f608979d.js';
|
|
4
|
+
import { a as LocalizationContext } from '../LocalizationContext-83cab487.js';
|
|
5
5
|
import Button, { ButtonTypes } from './Button.js';
|
|
6
6
|
import Icon, { IconTypes, IconColors } from './Icon.js';
|
|
7
7
|
import IconButton from './IconButton.js';
|
|
8
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
9
|
-
import '../stringSet-
|
|
10
|
-
import '../index-
|
|
11
|
-
import '../tslib.es6-
|
|
8
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-a6620ba4.js';
|
|
9
|
+
import '../stringSet-4cfbe7bc.js';
|
|
10
|
+
import '../index-d7a65767.js';
|
|
11
|
+
import '../tslib.es6-9a4d0074.js';
|
|
12
12
|
import 'prop-types';
|
|
13
13
|
|
|
14
14
|
var ModalHeader = function (_a) {
|
package/ui/OGMessageItemBody.js
CHANGED
|
@@ -2,27 +2,28 @@ import React__default, { useContext } from 'react';
|
|
|
2
2
|
import Word from './Word.js';
|
|
3
3
|
import ImageRenderer from './ImageRenderer.js';
|
|
4
4
|
import Icon, { IconTypes } from './Icon.js';
|
|
5
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-
|
|
6
|
-
import { u as uuidv4 } from '../uuid-
|
|
7
|
-
import {
|
|
8
|
-
import { a as LocalizationContext } from '../LocalizationContext-
|
|
5
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../index-a6620ba4.js';
|
|
6
|
+
import { u as uuidv4 } from '../uuid-04e2d5ae.js';
|
|
7
|
+
import { h as getClassName, d as isEditedMessage } from '../index-480fdda4.js';
|
|
8
|
+
import { a as LocalizationContext } from '../LocalizationContext-83cab487.js';
|
|
9
9
|
import './LinkLabel.js';
|
|
10
10
|
import 'prop-types';
|
|
11
11
|
import './MentionLabel.js';
|
|
12
12
|
import './ContextMenu.js';
|
|
13
|
-
import '../tslib.es6-
|
|
13
|
+
import '../tslib.es6-9a4d0074.js';
|
|
14
14
|
import 'react-dom';
|
|
15
15
|
import './SortByRow.js';
|
|
16
|
-
import '../
|
|
16
|
+
import '../utils/message/getOutgoingMessageState.js';
|
|
17
|
+
import '../stringSet-4cfbe7bc.js';
|
|
17
18
|
import './UserProfile.js';
|
|
18
19
|
import '../withSendbird.js';
|
|
19
|
-
import '../_rollupPluginBabelHelpers-
|
|
20
|
+
import '../_rollupPluginBabelHelpers-008a1844.js';
|
|
20
21
|
import '../sendbirdSelectors.js';
|
|
21
|
-
import '../topics-
|
|
22
|
-
import '../utils-
|
|
22
|
+
import '../topics-58d21996.js';
|
|
23
|
+
import '../utils-23048a3f.js';
|
|
23
24
|
import './Avatar.js';
|
|
24
25
|
import './Button.js';
|
|
25
|
-
import '../index-
|
|
26
|
+
import '../index-d7a65767.js';
|
|
26
27
|
import '../useSendbirdStateContext.js';
|
|
27
28
|
|
|
28
29
|
function OGMessageItemBody(_a) {
|