@sendbird/uikit-react 3.4.4 → 3.4.5-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +47 -42
- package/App.js.map +1 -1
- package/CHANGELOG.md +80 -0
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelUI.js +39 -35
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +15 -15
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +43 -39
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +27 -24
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +65 -62
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +17 -17
- package/Channel/components/SuggestedMentionList.js +17 -17
- package/Channel/components/TypingIndicator.js +15 -15
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +14 -14
- package/Channel.js +40 -35
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +15 -15
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +40 -62
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +26 -26
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +30 -30
- package/{ChannelListProvider-3c107fc7.js → ChannelListProvider-38d1234f.js} +18 -12
- package/ChannelListProvider-38d1234f.js.map +1 -0
- package/{ChannelProvider-28639e83.js → ChannelProvider-1e05ac9e.js} +32 -32
- package/ChannelProvider-1e05ac9e.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js +11 -11
- package/ChannelSettings/components/ModerationPanel.js +14 -14
- package/ChannelSettings/components/UserListItem.js +10 -10
- package/ChannelSettings/components/UserPanel.js +13 -13
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +17 -17
- package/CreateChannel/components/CreateChannelUI.js +13 -13
- package/CreateChannel/components/InviteUsers.js +13 -13
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +13 -13
- package/{CreateChannelProvider-09772304.js → CreateChannelProvider-3614d73c.js} +1 -1
- package/{CreateChannelProvider-09772304.js.map → CreateChannelProvider-3614d73c.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-ef72d4b1.js → LocalizationContext-34b46c40.js} +3 -3
- package/{LocalizationContext-ef72d4b1.js.map → LocalizationContext-34b46c40.js.map} +1 -1
- package/{MediaQueryContext-683c7242.js → MediaQueryContext-ce624aa4.js} +1 -1
- package/{MediaQueryContext-683c7242.js.map → MediaQueryContext-ce624aa4.js.map} +1 -1
- package/{MemberList-0bc3ff4a.js → MemberList-4de628ca.js} +5 -5
- package/{MemberList-0bc3ff4a.js.map → MemberList-4de628ca.js.map} +1 -1
- package/Message/context.js +30 -0
- package/Message/context.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +19 -16
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +28 -24
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +58 -38
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +31 -27
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +31 -27
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-e5246224.js → OpenChannelListProvider-ab54ddfd.js} +3 -3
- package/{OpenChannelListProvider-e5246224.js.map → OpenChannelListProvider-ab54ddfd.js.map} +1 -1
- package/{OpenChannelProvider-c5952f33.js → OpenChannelProvider-801fe2a5.js} +7 -7
- package/{OpenChannelProvider-c5952f33.js.map → OpenChannelProvider-801fe2a5.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +17 -17
- package/README.md +3 -2
- package/{RemoveMessageModal-63a8b079.js → RemoveMessageModal-73877b13.js} +3 -3
- package/{RemoveMessageModal-63a8b079.js.map → RemoveMessageModal-73877b13.js.map} +1 -1
- package/SendbirdProvider.js +93 -14
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +32 -28
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +43 -45
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +48 -36
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +34 -30
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +28 -25
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +66 -58
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +44 -40
- package/Thread.js.map +1 -1
- package/{ThreadProvider-435a6f11.js → ThreadProvider-44c43f8d.js} +7 -7
- package/{ThreadProvider-435a6f11.js.map → ThreadProvider-44c43f8d.js.map} +1 -1
- package/{UserProfileContext-5d7c5f9f.js → UserProfileContext-3fa0c617.js} +1 -1
- package/{UserProfileContext-5d7c5f9f.js.map → UserProfileContext-3fa0c617.js.map} +1 -1
- package/{VoiceMessageInputWrapper-8a9dda68.js → VoiceMessageInputWrapper-9e4d2e0f.js} +7 -7
- package/{VoiceMessageInputWrapper-8a9dda68.js.map → VoiceMessageInputWrapper-9e4d2e0f.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +3 -3
- package/VoiceRecorder/context.js +2 -2
- package/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/{_rollupPluginBabelHelpers-37cba0d6.js → _rollupPluginBabelHelpers-f78972d2.js} +1 -1
- package/_rollupPluginBabelHelpers-f78972d2.js.map +1 -0
- package/{actionTypes-80e9dbe4.js → actionTypes-1693ceb3.js} +1 -1
- package/{actionTypes-80e9dbe4.js.map → actionTypes-1693ceb3.js.map} +1 -1
- package/cjs/App.js +47 -42
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelUI.js +39 -35
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +15 -15
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +43 -39
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +27 -24
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +65 -62
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +17 -17
- package/cjs/Channel/components/SuggestedMentionList.js +17 -17
- package/cjs/Channel/components/TypingIndicator.js +15 -15
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +14 -14
- package/cjs/Channel.js +40 -35
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +15 -15
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +39 -61
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +26 -26
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +30 -30
- package/cjs/{ChannelListProvider-b7ffadf7.js → ChannelListProvider-1f84d03b.js} +18 -12
- package/cjs/ChannelListProvider-1f84d03b.js.map +1 -0
- package/cjs/{ChannelProvider-b963c72c.js → ChannelProvider-5915747e.js} +32 -32
- package/cjs/ChannelProvider-5915747e.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
- package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
- package/cjs/ChannelSettings/components/UserListItem.js +10 -10
- package/cjs/ChannelSettings/components/UserPanel.js +13 -13
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +17 -17
- package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
- package/cjs/CreateChannel/components/InviteUsers.js +13 -13
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +13 -13
- package/cjs/{CreateChannelProvider-ea54c83b.js → CreateChannelProvider-b0ade226.js} +1 -1
- package/cjs/{CreateChannelProvider-ea54c83b.js.map → CreateChannelProvider-b0ade226.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-4822793b.js → LocalizationContext-3fb1efd5.js} +3 -3
- package/cjs/{LocalizationContext-4822793b.js.map → LocalizationContext-3fb1efd5.js.map} +1 -1
- package/cjs/{MediaQueryContext-b83880cc.js → MediaQueryContext-9982e73b.js} +1 -1
- package/cjs/{MediaQueryContext-b83880cc.js.map → MediaQueryContext-9982e73b.js.map} +1 -1
- package/cjs/{MemberList-4cfc05a3.js → MemberList-574bae3f.js} +5 -5
- package/cjs/{MemberList-4cfc05a3.js.map → MemberList-574bae3f.js.map} +1 -1
- package/cjs/Message/context.js +39 -0
- package/cjs/Message/context.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +1 -1
- 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 +19 -16
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +28 -24
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +58 -38
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +31 -27
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +31 -27
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-9fc6f344.js → OpenChannelListProvider-43b94684.js} +3 -3
- package/cjs/{OpenChannelListProvider-9fc6f344.js.map → OpenChannelListProvider-43b94684.js.map} +1 -1
- package/cjs/{OpenChannelProvider-64fb7652.js → OpenChannelProvider-411e1365.js} +7 -7
- package/cjs/{OpenChannelProvider-64fb7652.js.map → OpenChannelProvider-411e1365.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 +17 -17
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/{RemoveMessageModal-00de23ec.js → RemoveMessageModal-0c4b41d0.js} +3 -3
- package/cjs/{RemoveMessageModal-00de23ec.js.map → RemoveMessageModal-0c4b41d0.js.map} +1 -1
- package/cjs/SendbirdProvider.js +92 -13
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +32 -28
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +42 -44
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +48 -36
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +34 -30
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +28 -25
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +67 -59
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +44 -40
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-93f2b7e5.js → ThreadProvider-73f209d6.js} +7 -7
- package/cjs/{ThreadProvider-93f2b7e5.js.map → ThreadProvider-73f209d6.js.map} +1 -1
- package/cjs/{UserProfileContext-7bc4eec4.js → UserProfileContext-b0b956b8.js} +1 -1
- package/cjs/{UserProfileContext-7bc4eec4.js.map → UserProfileContext-b0b956b8.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-82c8ef13.js → VoiceMessageInputWrapper-2301a9cd.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-82c8ef13.js.map → VoiceMessageInputWrapper-2301a9cd.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
- package/cjs/VoiceRecorder/context.js +2 -2
- package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/cjs/{_rollupPluginBabelHelpers-1218aafb.js → _rollupPluginBabelHelpers-05716924.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-05716924.js.map +1 -0
- package/cjs/{actionTypes-f186c4dd.js → actionTypes-de2a8f54.js} +1 -1
- package/cjs/{actionTypes-f186c4dd.js.map → actionTypes-de2a8f54.js.map} +1 -1
- package/cjs/{color-937f65ad.js → color-360107a6.js} +1 -1
- package/cjs/{color-937f65ad.js.map → color-360107a6.js.map} +1 -1
- package/cjs/{compareIds-3d732a01.js → compareIds-c4f938a4.js} +1 -1
- package/cjs/{compareIds-3d732a01.js.map → compareIds-c4f938a4.js.map} +1 -1
- package/cjs/{const-44ac2c14.js → const-7ce7d646.js} +1 -1
- package/cjs/{const-44ac2c14.js.map → const-7ce7d646.js.map} +1 -1
- package/cjs/{const-73aa22ac.js → const-893ed415.js} +1 -1
- package/cjs/{const-73aa22ac.js.map → const-893ed415.js.map} +1 -1
- package/cjs/consts-0b50a0c8.js +6 -0
- package/cjs/consts-0b50a0c8.js.map +1 -0
- package/cjs/consts-c4097faa.js +6 -0
- package/cjs/consts-c4097faa.js.map +1 -0
- package/cjs/{consts-2b0eaee0.js → consts-d9856131.js} +1 -1
- package/cjs/{consts-2b0eaee0.js.map → consts-d9856131.js.map} +1 -1
- package/cjs/{consts-11872691.js → consts-f5219aa0.js} +1 -1
- package/cjs/{consts-11872691.js.map → consts-f5219aa0.js.map} +1 -1
- package/cjs/{context-7e270322.js → context-971dc2dc.js} +2 -2
- package/cjs/{context-7e270322.js.map → context-971dc2dc.js.map} +1 -1
- package/cjs/dist/index.css +34 -26
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-aaa65319.js → index-046dffba.js} +7 -7
- package/cjs/{index-aaa65319.js.map → index-046dffba.js.map} +1 -1
- package/cjs/{index-1151a507.js → index-05458f16.js} +1 -1
- package/cjs/{index-1151a507.js.map → index-05458f16.js.map} +1 -1
- package/cjs/{index-cfff5dbb.js → index-106dbf0e.js} +2 -2
- package/cjs/{index-cfff5dbb.js.map → index-106dbf0e.js.map} +1 -1
- package/cjs/{index-c7ff34af.js → index-1ebfe279.js} +5 -5
- package/cjs/{index-c7ff34af.js.map → index-1ebfe279.js.map} +1 -1
- package/cjs/{index-7207d339.js → index-2068f053.js} +11 -5
- package/cjs/index-2068f053.js.map +1 -0
- package/cjs/{index-2f2f3e43.js → index-27196170.js} +8 -2
- package/cjs/index-27196170.js.map +1 -0
- package/cjs/{index-57989185.js → index-3ecf6f1c.js} +1 -1
- package/cjs/{index-57989185.js.map → index-3ecf6f1c.js.map} +1 -1
- package/cjs/index-4efda0a3.js +63 -0
- package/cjs/index-4efda0a3.js.map +1 -0
- package/cjs/{index-f52caf82.js → index-4f21cdee.js} +2 -2
- package/cjs/{index-f52caf82.js.map → index-4f21cdee.js.map} +1 -1
- package/cjs/{index-f78cff63.js → index-871938c2.js} +2 -2
- package/cjs/{index-f78cff63.js.map → index-871938c2.js.map} +1 -1
- package/cjs/{index-a5fad93c.js → index-95fe4955.js} +4 -4
- package/cjs/{index-a5fad93c.js.map → index-95fe4955.js.map} +1 -1
- package/cjs/{index-e9d3a5d6.js → index-a981854c.js} +3 -3
- package/cjs/{index-e9d3a5d6.js.map → index-a981854c.js.map} +1 -1
- package/cjs/{index-20fc629b.js → index-b8bcbe2e.js} +3 -3
- package/cjs/{index-20fc629b.js.map → index-b8bcbe2e.js.map} +1 -1
- package/cjs/{index-a867516a.js → index-bd887626.js} +4 -4
- package/cjs/{index-a867516a.js.map → index-bd887626.js.map} +1 -1
- package/cjs/{index-3f30ab14.js → index-d4ad85fe.js} +7 -7
- package/cjs/{index-3f30ab14.js.map → index-d4ad85fe.js.map} +1 -1
- package/cjs/index.js +55 -51
- package/cjs/index.js.map +1 -1
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-7f49973c.js → stringSet-eba21df4.js} +1 -1
- package/cjs/{stringSet-7f49973c.js.map → stringSet-eba21df4.js.map} +1 -1
- package/cjs/tokenize-ca4ac5a1.js +134 -0
- package/cjs/tokenize-ca4ac5a1.js.map +1 -0
- package/cjs/{topics-9d6a6d36.js → topics-e4dffa33.js} +1 -1
- package/cjs/{topics-9d6a6d36.js.map → topics-e4dffa33.js.map} +1 -1
- package/cjs/{tslib.es6-46c08a06.js → tslib.es6-94d25845.js} +1 -1
- package/cjs/{tslib.es6-46c08a06.js.map → tslib.es6-94d25845.js.map} +1 -1
- package/cjs/{types-31b11c88.js → types-dd4057f8.js} +1 -1
- package/cjs/types-dd4057f8.js.map +1 -0
- package/cjs/ui/Accordion.js +3 -3
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +3 -3
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +12 -11
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +29 -25
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +81 -52
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/OGMessageItemBody.js +26 -32
- 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 +16 -16
- package/cjs/ui/OpenchannelOGMessage.js +48 -64
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
- package/cjs/ui/OpenchannelUserMessage.js +16 -16
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +25 -30
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThreadReplies.js +6 -6
- package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +10 -10
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js +5 -5
- package/cjs/ui/VoiceMessgeInput.js +8 -8
- package/cjs/ui/Word.js +15 -10
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/{useLongPress-839c53cb.js → useLongPress-d8b2586f.js} +3 -3
- package/cjs/{useLongPress-839c53cb.js.map → useLongPress-d8b2586f.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-41bb82dc.js → utils-49414b11.js} +1 -1
- package/cjs/{utils-41bb82dc.js.map → utils-49414b11.js.map} +1 -1
- package/cjs/{utils-7d2c966a.js → utils-6584b9f0.js} +1 -1
- package/cjs/{utils-7d2c966a.js.map → utils-6584b9f0.js.map} +1 -1
- package/cjs/{utils-9fc9438c.js → utils-7846a174.js} +2 -2
- package/cjs/{utils-9fc9438c.js.map → utils-7846a174.js.map} +1 -1
- package/cjs/{utils-dae078f4.js → utils-f294dd80.js} +1 -1
- package/cjs/{utils-dae078f4.js.map → utils-f294dd80.js.map} +1 -1
- package/cjs/{uuid-8454abf3.js → uuid-fe1b03cf.js} +1 -1
- package/cjs/{uuid-8454abf3.js.map → uuid-fe1b03cf.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-e5d40073.js → color-6e50d9e2.js} +1 -1
- package/{color-e5d40073.js.map → color-6e50d9e2.js.map} +1 -1
- package/{compareIds-148644b4.js → compareIds-67c3b05b.js} +1 -1
- package/{compareIds-148644b4.js.map → compareIds-67c3b05b.js.map} +1 -1
- package/{const-bf594206.js → const-8c87d265.js} +1 -1
- package/{const-bf594206.js.map → const-8c87d265.js.map} +1 -1
- package/{const-bba4efc9.js → const-b20d1024.js} +1 -1
- package/{const-bba4efc9.js.map → const-b20d1024.js.map} +1 -1
- package/{consts-f9543b99.js → consts-44e40533.js} +1 -1
- package/{consts-f9543b99.js.map → consts-44e40533.js.map} +1 -1
- package/consts-5929bec3.js +4 -0
- package/consts-5929bec3.js.map +1 -0
- package/{consts-b3042213.js → consts-5b2caf41.js} +1 -1
- package/{consts-b3042213.js.map → consts-5b2caf41.js.map} +1 -1
- package/consts-996c0a58.js +4 -0
- package/consts-996c0a58.js.map +1 -0
- package/{context-e82cf2c4.js → context-3ffe9980.js} +2 -2
- package/{context-e82cf2c4.js.map → context-3ffe9980.js.map} +1 -1
- package/dist/index.css +34 -26
- package/dist/index.css.map +1 -1
- package/{index-1dfb77d4.js → index-055bcae0.js} +2 -2
- package/{index-1dfb77d4.js.map → index-055bcae0.js.map} +1 -1
- package/{index-e1cff2ff.js → index-1d770388.js} +3 -3
- package/{index-e1cff2ff.js.map → index-1d770388.js.map} +1 -1
- package/{index-113d122f.js → index-26931609.js} +5 -5
- package/{index-113d122f.js.map → index-26931609.js.map} +1 -1
- package/{index-556999ef.js → index-3ee902ac.js} +8 -3
- package/index-3ee902ac.js.map +1 -0
- package/{index-18c2f8d4.js → index-3fff67da.js} +1 -1
- package/{index-18c2f8d4.js.map → index-3fff67da.js.map} +1 -1
- package/{index-253052c7.js → index-4538a9f1.js} +7 -7
- package/{index-253052c7.js.map → index-4538a9f1.js.map} +1 -1
- package/{index-9a413f89.js → index-55b1016d.js} +3 -3
- package/{index-9a413f89.js.map → index-55b1016d.js.map} +1 -1
- package/{index-e3d008b9.js → index-5668e8eb.js} +1 -1
- package/{index-e3d008b9.js.map → index-5668e8eb.js.map} +1 -1
- package/{index-86cb1c98.js → index-5d8bac74.js} +4 -4
- package/{index-86cb1c98.js.map → index-5d8bac74.js.map} +1 -1
- package/index-66393faa.js +57 -0
- package/index-66393faa.js.map +1 -0
- package/{index-97a2ff37.js → index-6e6736ec.js} +2 -2
- package/{index-97a2ff37.js.map → index-6e6736ec.js.map} +1 -1
- package/{index-2c0ab386.js → index-824e5bc8.js} +11 -5
- package/index-824e5bc8.js.map +1 -0
- package/{index-e571f56c.js → index-c36339ab.js} +4 -4
- package/{index-e571f56c.js.map → index-c36339ab.js.map} +1 -1
- package/{index-5be5af6d.js → index-d5769ac4.js} +7 -7
- package/{index-5be5af6d.js.map → index-d5769ac4.js.map} +1 -1
- package/{index-90365474.js → index-e34d85fd.js} +2 -2
- package/{index-90365474.js.map → index-e34d85fd.js.map} +1 -1
- package/index.d.ts +28 -1
- package/index.js +55 -51
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-273bec27.js → stringSet-a9c3ac4a.js} +1 -1
- package/{stringSet-273bec27.js.map → stringSet-a9c3ac4a.js.map} +1 -1
- package/tokenize-63675252.js +130 -0
- package/tokenize-63675252.js.map +1 -0
- package/{topics-df7f51d4.js → topics-2a79610f.js} +1 -1
- package/{topics-df7f51d4.js.map → topics-2a79610f.js.map} +1 -1
- package/{tslib.es6-1aaf3795.js → tslib.es6-bb0710b6.js} +1 -1
- package/{tslib.es6-1aaf3795.js.map → tslib.es6-bb0710b6.js.map} +1 -1
- package/{types-ed183627.js → types-27a6a112.js} +1 -1
- package/types-27a6a112.js.map +1 -0
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +12 -11
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +29 -25
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +81 -52
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +26 -32
- 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 +16 -16
- package/ui/OpenchannelOGMessage.js +48 -64
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js +16 -16
- package/ui/PlaceHolder.js +6 -6
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +25 -30
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThreadReplies.js +6 -6
- package/ui/ThumbnailMessageItemBody.js +2 -2
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +10 -10
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +5 -5
- package/ui/VoiceMessgeInput.js +8 -8
- package/ui/Word.js +15 -10
- package/ui/Word.js.map +1 -1
- package/{useLongPress-1ae5a380.js → useLongPress-7504e5b8.js} +3 -3
- package/{useLongPress-1ae5a380.js.map → useLongPress-7504e5b8.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-09901477.js → utils-1789e6d0.js} +1 -1
- package/{utils-09901477.js.map → utils-1789e6d0.js.map} +1 -1
- package/{utils-25614c42.js → utils-3ba27c29.js} +1 -1
- package/{utils-25614c42.js.map → utils-3ba27c29.js.map} +1 -1
- package/{utils-1b97d8ea.js → utils-3c4b1dd1.js} +2 -2
- package/{utils-1b97d8ea.js.map → utils-3c4b1dd1.js.map} +1 -1
- package/{utils-99c30ef6.js → utils-8318012f.js} +1 -1
- package/{utils-99c30ef6.js.map → utils-8318012f.js.map} +1 -1
- package/{uuid-29207f65.js → uuid-9ea19939.js} +1 -1
- package/{uuid-29207f65.js.map → uuid-9ea19939.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-3c107fc7.js.map +0 -1
- package/ChannelProvider-28639e83.js.map +0 -1
- package/_rollupPluginBabelHelpers-37cba0d6.js.map +0 -1
- package/cjs/ChannelListProvider-b7ffadf7.js.map +0 -1
- package/cjs/ChannelProvider-b963c72c.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-1218aafb.js.map +0 -1
- package/cjs/index-2f2f3e43.js.map +0 -1
- package/cjs/index-7207d339.js.map +0 -1
- package/cjs/types-31b11c88.js.map +0 -1
- package/index-2c0ab386.js.map +0 -1
- package/index-556999ef.js.map +0 -1
- package/types-ed183627.js.map +0 -1
package/cjs/ui/MessageInput.js
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _rollupPluginBabelHelpers = require('../_rollupPluginBabelHelpers-
|
|
3
|
+
var _rollupPluginBabelHelpers = require('../_rollupPluginBabelHelpers-05716924.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var PropTypes = require('prop-types');
|
|
6
|
-
var _const$1 = require('../const-
|
|
7
|
-
var _const = require('../const-
|
|
6
|
+
var _const$1 = require('../const-7ce7d646.js');
|
|
7
|
+
var _const = require('../const-893ed415.js');
|
|
8
8
|
var ui_IconButton = require('./IconButton.js');
|
|
9
9
|
var ui_Button = require('./Button.js');
|
|
10
|
-
var tslib_es6 = require('../tslib.es6-
|
|
10
|
+
var tslib_es6 = require('../tslib.es6-94d25845.js');
|
|
11
11
|
var DOMPurify = require('dompurify');
|
|
12
|
-
var consts = require('../consts-
|
|
12
|
+
var consts = require('../consts-f5219aa0.js');
|
|
13
13
|
var ui_Icon = require('./Icon.js');
|
|
14
|
-
var ui_Label = require('../index-
|
|
15
|
-
var LocalizationContext = require('../LocalizationContext-
|
|
16
|
-
var index = require('../index-
|
|
17
|
-
require('../
|
|
18
|
-
require('../
|
|
14
|
+
var ui_Label = require('../index-2068f053.js');
|
|
15
|
+
var LocalizationContext = require('../LocalizationContext-3fb1efd5.js');
|
|
16
|
+
var index = require('../index-27196170.js');
|
|
17
|
+
var consts$2 = require('../consts-0b50a0c8.js');
|
|
18
|
+
var consts$1 = require('../consts-c4097faa.js');
|
|
19
|
+
var tokenize = require('../tokenize-ca4ac5a1.js');
|
|
20
|
+
require('../stringSet-eba21df4.js');
|
|
21
|
+
require('../index-05458f16.js');
|
|
19
22
|
require('../utils/message/getOutgoingMessageState.js');
|
|
20
23
|
|
|
21
24
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -68,6 +71,32 @@ var MENTION_CLASS = 'sendbird-word__mention';
|
|
|
68
71
|
var MENTION_CLASS_IN_INPUT = 'sendbird-mention-user-label';
|
|
69
72
|
var MENTION_CLASS_COMBINED_QUERY = ".".concat(MENTION_CLASS, ", .").concat(MENTION_CLASS_IN_INPUT);
|
|
70
73
|
|
|
74
|
+
function querySelectorIncludingSelf(master, selector) {
|
|
75
|
+
var result = tslib_es6.__spreadArray([master], Array.from(master.querySelectorAll(selector)), true).find(function (el) {
|
|
76
|
+
return el.matches(selector);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
return result;
|
|
80
|
+
} // Pasted dom node can be OG_MESSAGE or partial message or full message
|
|
81
|
+
// full messsage would have TEXT_MESSAGE_BODY_CLASSNAME and have childNodes
|
|
82
|
+
// partial message would not have TEXT_MESSAGE_BODY_CLASSNAME
|
|
83
|
+
|
|
84
|
+
function getLeafNodes(master) {
|
|
85
|
+
// og message
|
|
86
|
+
var ogMessage = querySelectorIncludingSelf(master, ".".concat(consts$1.OG_MESSAGE_BODY_CLASSNAME));
|
|
87
|
+
|
|
88
|
+
if (ogMessage) {
|
|
89
|
+
return Array.from(ogMessage.childNodes);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
var textMessageBody = querySelectorIncludingSelf(master, ".".concat(consts$2.TEXT_MESSAGE_BODY_CLASSNAME));
|
|
93
|
+
|
|
94
|
+
if (textMessageBody) {
|
|
95
|
+
return Array.from(textMessageBody.childNodes);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return Array.from(master.childNodes);
|
|
99
|
+
}
|
|
71
100
|
function createPasteNode() {
|
|
72
101
|
var pasteNode = document.body.querySelector("#".concat(PASTE_NODE)); // remove existing paste node
|
|
73
102
|
|
|
@@ -100,23 +129,28 @@ var extractTextFromNodes = function (nodes) {
|
|
|
100
129
|
};
|
|
101
130
|
function domToMessageTemplate(nodeArray) {
|
|
102
131
|
var templates = nodeArray === null || nodeArray === void 0 ? void 0 : nodeArray.reduce(function (accumulator, currentValue) {
|
|
103
|
-
var _a;
|
|
132
|
+
var _a; // currentValue can be node(from messageBody or messageInput) or text
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
var mentionNode; // this looks awkward, but it is a fallback to set default text
|
|
104
136
|
|
|
105
|
-
var
|
|
106
|
-
// in this case querySelector will return null
|
|
137
|
+
var text = currentValue === null || currentValue === void 0 ? void 0 : currentValue.innerText; // if text node, set text
|
|
107
138
|
|
|
108
|
-
if (
|
|
109
|
-
mentionNode =
|
|
110
|
-
|
|
111
|
-
? currentValue : null;
|
|
139
|
+
if (currentValue instanceof Text) {
|
|
140
|
+
mentionNode = false;
|
|
141
|
+
text = currentValue.textContent;
|
|
112
142
|
}
|
|
113
143
|
|
|
114
|
-
|
|
144
|
+
if (currentValue instanceof HTMLElement) {
|
|
145
|
+
mentionNode = currentValue.classList.contains(MENTION_CLASS) || currentValue.classList.contains(MENTION_CLASS_IN_INPUT) ? currentValue : currentValue.querySelector(MENTION_CLASS_COMBINED_QUERY);
|
|
146
|
+
} // if mentionNode is not null, it is a mention
|
|
147
|
+
|
|
115
148
|
|
|
116
149
|
if (mentionNode) {
|
|
150
|
+
var text_1 = currentValue === null || currentValue === void 0 ? void 0 : currentValue.innerText;
|
|
117
151
|
var userId = (_a = mentionNode.dataset) === null || _a === void 0 ? void 0 : _a.userid;
|
|
118
152
|
return tslib_es6.__spreadArray(tslib_es6.__spreadArray([], accumulator, true), [{
|
|
119
|
-
text:
|
|
153
|
+
text: text_1,
|
|
120
154
|
userId: userId
|
|
121
155
|
}], false);
|
|
122
156
|
}
|
|
@@ -132,9 +166,13 @@ function getUsersFromWords(templates, channel) {
|
|
|
132
166
|
var users = channel.members;
|
|
133
167
|
templates.forEach(function (template) {
|
|
134
168
|
if (template.userId) {
|
|
135
|
-
|
|
169
|
+
var mentionedMember = users.find(function (user) {
|
|
136
170
|
return user.userId === template.userId;
|
|
137
|
-
});
|
|
171
|
+
}); // Object.values would return array-> [undefined] if the user is not in the channel
|
|
172
|
+
|
|
173
|
+
if (mentionedMember) {
|
|
174
|
+
userMap[template.userId] = mentionedMember;
|
|
175
|
+
}
|
|
138
176
|
}
|
|
139
177
|
});
|
|
140
178
|
return Object.values(userMap);
|
|
@@ -179,24 +217,13 @@ function usePaste(_a) {
|
|
|
179
217
|
setIsInput(true);
|
|
180
218
|
setHeight();
|
|
181
219
|
return;
|
|
182
|
-
} // has mention,
|
|
183
|
-
|
|
220
|
+
} // has mention, collect leaf nodes and parse words
|
|
184
221
|
|
|
185
|
-
var childNodes = pasteNode.querySelectorAll(".".concat(TEXT_MESSAGE_CLASS));
|
|
186
|
-
|
|
187
|
-
if (pasteNode.querySelectorAll(".".concat(MENTION_CLASS_IN_INPUT)).length > 0) {
|
|
188
|
-
// @ts-ignore
|
|
189
|
-
childNodes = pasteNode.children;
|
|
190
|
-
}
|
|
191
222
|
|
|
192
|
-
var
|
|
223
|
+
var leafNodes = getLeafNodes(pasteNode);
|
|
224
|
+
var words = domToMessageTemplate(leafNodes);
|
|
225
|
+
var mentionedUsers = getUsersFromWords(words, channel); // side effects
|
|
193
226
|
|
|
194
|
-
if (pasteNode.children.length === 1 && pasteNode.querySelectorAll(MENTION_CLASS_COMBINED_QUERY).length === 1) {
|
|
195
|
-
nodeArray = Array.from(pasteNode.children);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
var words = domToMessageTemplate(nodeArray);
|
|
199
|
-
var mentionedUsers = getUsersFromWords(words, channel);
|
|
200
227
|
setMentionedUsers(mentionedUsers);
|
|
201
228
|
inserTemplateToDOM(words);
|
|
202
229
|
pasteNode.remove();
|
|
@@ -337,31 +364,26 @@ const MessageInput = /*#__PURE__*/React__default["default"].forwardRef((props, r
|
|
|
337
364
|
const textField = ref === null || ref === void 0 ? void 0 : ref.current;
|
|
338
365
|
|
|
339
366
|
if (isMentionEnabled && (message === null || message === void 0 ? void 0 : (_message$mentionedUse = message.mentionedUsers) === null || _message$mentionedUse === void 0 ? void 0 : _message$mentionedUse.length) > 0 && (message === null || message === void 0 ? void 0 : (_message$mentionedMes = message.mentionedMessageTemplate) === null || _message$mentionedMes === void 0 ? void 0 : _message$mentionedMes.length) > 0) {
|
|
340
|
-
var _message$mentionedMes2;
|
|
341
|
-
|
|
342
367
|
/* mention enabled */
|
|
343
368
|
const {
|
|
344
369
|
mentionedUsers = []
|
|
345
370
|
} = message;
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
var _mentionedUsers$find;
|
|
355
|
-
|
|
356
|
-
const nickname = `${_const.USER_MENTION_TEMP_CHAR}${((_mentionedUsers$find = mentionedUsers.find(user => (user === null || user === void 0 ? void 0 : user.userId) === userId)) === null || _mentionedUsers$find === void 0 ? void 0 : _mentionedUsers$find.nickname) || value || stringSet.MENTION_NAME__NO_NAME}`;
|
|
371
|
+
const tokens = tokenize.tokenizeMessage({
|
|
372
|
+
messageText: message === null || message === void 0 ? void 0 : message.mentionedMessageTemplate,
|
|
373
|
+
mentionedUsers
|
|
374
|
+
});
|
|
375
|
+
textField.innerHTML = tokens.map(token => {
|
|
376
|
+
if (token.type === tokenize.TOKEN_TYPES.mention) {
|
|
377
|
+
const mentionedUser = mentionedUsers.find(user => user.userId === token.userId);
|
|
378
|
+
const nickname = `${tokenize.USER_MENTION_PREFIX}${(mentionedUser === null || mentionedUser === void 0 ? void 0 : mentionedUser.nickname) || token.value || stringSet.MENTION_NAME__NO_NAME}`;
|
|
357
379
|
return renderToString({
|
|
358
|
-
userId,
|
|
380
|
+
userId: token.userId,
|
|
359
381
|
nickname
|
|
360
382
|
});
|
|
361
383
|
}
|
|
362
384
|
|
|
363
|
-
return sanitizeString(value);
|
|
364
|
-
}).join('
|
|
385
|
+
return sanitizeString(token.value);
|
|
386
|
+
}).join(' ');
|
|
365
387
|
} else {
|
|
366
388
|
/* mention disabled */
|
|
367
389
|
try {
|
|
@@ -535,6 +557,13 @@ const MessageInput = /*#__PURE__*/React__default["default"].forwardRef((props, r
|
|
|
535
557
|
} else if (node.nodeType === _const$1.NodeTypes.ElementNode && node.nodeName === _const$1.NodeNames.Br) {
|
|
536
558
|
messageText += '\n';
|
|
537
559
|
mentionTemplate += '\n';
|
|
560
|
+
} else if ((node === null || node === void 0 ? void 0 : node.nodeType) === _const$1.NodeTypes.ElementNode && (node === null || node === void 0 ? void 0 : node.nodeName) === _const$1.NodeNames.Div) {
|
|
561
|
+
// handles newline in safari
|
|
562
|
+
const {
|
|
563
|
+
textContent = ''
|
|
564
|
+
} = node;
|
|
565
|
+
messageText += `\n${textContent}`;
|
|
566
|
+
mentionTemplate += `\n${textContent}`;
|
|
538
567
|
} else {
|
|
539
568
|
// other nodes including text node
|
|
540
569
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageInput.js","sources":["../../../src/ui/MentionUserLabel/renderToString.ts","../../../src/ui/MessageInput/utils.js","../../../src/ui/MessageInput/hooks/usePaste/insertTemplate.ts","../../../src/ui/MessageInput/hooks/usePaste/consts.ts","../../../src/ui/MessageInput/hooks/usePaste/utils.ts","../../../src/ui/MessageInput/hooks/usePaste/index.ts","../../../src/ui/MessageInput/index.jsx"],"sourcesContent":["// cretes a sanitized string from a mention user label\nimport DOMPurify from 'dompurify';\nimport { MENTION_USER_LABEL_CLASSNAME } from './consts';\n\ntype renderToStringParams = {\n userId: string;\n nickname: string;\n};\n\nexport default function renderToString({ userId, nickname }: renderToStringParams): string {\n // donot change this template, it wont work\n const el = `<span data-userid=\"${userId}\" data-sb-mention=\"true\" class=\"${MENTION_USER_LABEL_CLASSNAME}\">${nickname}</span>`;\n const purifier = DOMPurify(window);\n const sanitized_ = purifier.sanitize(el);\n const token = sanitized_.split(' ');\n const [spanTag, ...rest] = token;\n // we do this because DOMPurify removes the contenteditable attribute\n const sanitized = [spanTag, 'contenteditable=\"false\"', ...rest].join(' ');\n return sanitized;\n}\n","// https://davidwalsh.name/javascript-debounce-function\n// Returns a function, that, as long as it continues to be invoked, will not\n// be triggered. The function will be called after it stops being called for\n// N milliseconds. If `immediate` is passed, trigger the function on the\n// leading edge, instead of the trailing.\nexport function debounce(func, wait, immediate) {\n let timeout;\n return function _debounce() {\n const context = this;\n // eslint-disable-next-line prefer-rest-params\n const args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n\n// Sanitize that special characters of HTML tags cause XSS issue\nexport const sanitizeString = (str) => (\n str?.replace(/[\\u00A0-\\u9999<>]/gim, (i) => ''.concat('&#', i.charCodeAt(0), ';'))\n);\n\nexport default debounce;\n","import { Word } from './types';\nimport { sanitizeString } from '../../utils';\nimport renderMentionLabelToString from '../../../MentionUserLabel/renderToString';\n\nexport function inserTemplateToDOM(templateList: Word[]): void {\n const nodes = templateList.map((template) => {\n const { text, userId } = template;\n if (userId) {\n return renderMentionLabelToString({ userId, nickname: text });\n }\n return sanitizeString(text);\n })\n .join(' ')\n // add a space at the end of the mention, else cursor/caret wont work\n .concat(' ');\n document.execCommand('insertHTML', false, nodes);\n}\n","export const PASTE_NODE = 'sendbird-uikit__paste-node';\nexport const TEXT_MESSAGE_CLASS = 'sendbird-word';\nexport const MENTION_CLASS = 'sendbird-word__mention';\nexport const MENTION_CLASS_IN_INPUT = 'sendbird-mention-user-label';\nexport const MENTION_CLASS_COMBINED_QUERY = `.${MENTION_CLASS}, .${MENTION_CLASS_IN_INPUT}`;\n","import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { User } from '@sendbird/chat';\n\nimport {\n PASTE_NODE,\n MENTION_CLASS,\n TEXT_MESSAGE_CLASS,\n MENTION_CLASS_COMBINED_QUERY,\n MENTION_CLASS_IN_INPUT,\n} from './consts';\nimport { Word } from './types';\n\nexport function createPasteNode(): HTMLDivElement | null {\n const pasteNode = document.body.querySelector(`#${PASTE_NODE}`);\n // remove existing paste node\n if (pasteNode) {\n pasteNode?.remove();\n }\n\n // create new paste node and return\n const node = document.createElement('div');\n node.id = PASTE_NODE;\n node.style.display = 'none';\n return node;\n}\n\nexport function hasMention(parent: HTMLDivElement): boolean {\n return parent?.querySelector(MENTION_CLASS_COMBINED_QUERY) ? true : false;\n}\n\nexport const extractTextFromNodes = (nodes: HTMLSpanElement[]): string => {\n let text = '';\n nodes.forEach((node) => {\n // to preserve space between words\n const textNodes = node.querySelectorAll(`.${TEXT_MESSAGE_CLASS}`);\n if (textNodes.length > 0) {\n text += ((extractTextFromNodes(Array.from(textNodes) as HTMLSpanElement[])) + ' ');\n }\n text += (node.innerText + ' ');\n });\n return text;\n}\n\nexport function domToMessageTemplate(nodeArray: HTMLSpanElement[]): Word[] {\n const templates: Word[] = nodeArray?.reduce((accumulator, currentValue) => {\n let mentionNode = currentValue.querySelector(MENTION_CLASS_COMBINED_QUERY) as HTMLSpanElement;\n // sometimes the mention node is the parent node\n // in this case querySelector will return null\n if (!mentionNode) {\n mentionNode = (\n currentValue.classList.contains(MENTION_CLASS) // for nodes copied from message\n || currentValue.classList.contains(MENTION_CLASS_IN_INPUT) // for nodes copied from input\n ) ? currentValue : null;\n }\n const text = currentValue.innerText;\n if (mentionNode) {\n const userId = mentionNode.dataset?.userid;\n return [\n ...accumulator,\n {\n text,\n userId,\n },\n ];\n }\n\n return [\n ...accumulator,\n {\n text,\n },\n ];\n }, [] as Word[]);\n return templates;\n}\n\nexport function getUsersFromWords(templates: Word[], channel: GroupChannel): User[] {\n const userMap = {};\n const users = channel.members;\n templates.forEach((template) => {\n if (template.userId) {\n userMap[template.userId] = users.find((user) => user.userId === template.userId);\n }\n });\n return Object.values(userMap);\n}\n","import { useCallback } from 'react';\nimport DOMPurify from 'dompurify';\n\nimport { inserTemplateToDOM } from './insertTemplate';\nimport { sanitizeString } from '../../utils';\nimport { DynamicProps } from './types';\nimport { MENTION_CLASS_COMBINED_QUERY, MENTION_CLASS_IN_INPUT, TEXT_MESSAGE_CLASS } from './consts';\nimport {\n createPasteNode,\n hasMention,\n domToMessageTemplate,\n getUsersFromWords,\n extractTextFromNodes,\n} from './utils';\n\n// conditions to test:\n// 1. paste simple text\n// 2. paste text with mention\n// 3. paste text with mention and text\n// 4. paste text with mention and text and paste again before and after\n// 5. copy message with mention(only one mention, no other text) and paste\n// 6. copy message with mention from input and paste(before and after)\nexport default function usePaste({\n ref,\n setIsInput,\n setHeight,\n channel,\n setMentionedUsers,\n}: DynamicProps): (e: React.ClipboardEvent<HTMLDivElement>) => void {\n return useCallback((e) => {\n e.preventDefault();\n const html = e?.clipboardData.getData('text/html');\n // simple text, continue as normal\n if (!html) {\n const text = e?.clipboardData.getData('text');\n document.execCommand('insertHTML', false, sanitizeString(text));\n setIsInput(true);\n setHeight();\n return;\n }\n\n // has html, check if there are mentions, sanitize and insert\n const purifier = DOMPurify(window);\n const clean = purifier.sanitize(html);\n const pasteNode = createPasteNode();\n pasteNode.innerHTML = clean;\n // does not have mention, continue as normal\n if (!hasMention(pasteNode)) {\n // to preserve space between words\n const text = extractTextFromNodes(Array.from(pasteNode.children) as HTMLSpanElement[]);\n document.execCommand('insertHTML', false, sanitizeString(text));\n pasteNode.remove();\n setIsInput(true);\n setHeight();\n return;\n }\n\n // has mention, sanitize and insert\n let childNodes = pasteNode.querySelectorAll(`.${TEXT_MESSAGE_CLASS}`) as NodeListOf<HTMLSpanElement>;\n if (pasteNode.querySelectorAll(`.${MENTION_CLASS_IN_INPUT}`).length > 0) {\n // @ts-ignore\n childNodes = pasteNode.children;\n }\n let nodeArray = Array.from(childNodes);\n // handle paste when there is only one child\n if (pasteNode.children.length === 1 && pasteNode.querySelectorAll(MENTION_CLASS_COMBINED_QUERY).length === 1) {\n nodeArray = Array.from(pasteNode.children) as HTMLSpanElement[];\n }\n const words = domToMessageTemplate(nodeArray);\n\n const mentionedUsers = getUsersFromWords(words, channel);\n setMentionedUsers(mentionedUsers);\n inserTemplateToDOM(words);\n pasteNode.remove();\n setIsInput(true);\n setHeight();\n return;\n\n }, [ref, setIsInput, setHeight, channel, setMentionedUsers]);\n}\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useCallback,\n useContext,\n} from 'react';\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 renderMentionLabelToString from '../MentionUserLabel/renderToString';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { sanitizeString } from './utils';\nimport {\n arrayEqual,\n getClassName,\n StringObjType,\n convertWordToStringObj,\n} from '../../utils';\nimport usePaste from './hooks/usePaste';\n\nconst TEXT_FIELD_ID = 'sendbird-message-input-text-field';\nconst LINE_HEIGHT = 76;\nconst noop = () => { };\nconst handleUploadFile = (callback) => (event) => {\n if (event.target.files && event.target.files[0]) {\n callback(event.target.files[0]);\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = '';\n};\n\nconst displayCaret = (element, position) => {\n const range = document.createRange();\n const sel = window.getSelection();\n range.setStart(element.childNodes[0], position);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n element.focus();\n}\n\nconst resetInput = (ref) => {\n try {\n ref.current.innerHTML = '';\n } catch {\n //\n }\n}\n\nconst initialTargetStringInfo = {\n targetString: '',\n startNodeIndex: null,\n startOffsetIndex: null,\n endNodeIndex: null,\n endOffsetIndex: null,\n};\n\nconst MessageInput = React.forwardRef((props, ref) => {\n const {\n className,\n messageFieldId,\n isEdit,\n isMentionEnabled,\n isVoiceMessageEnabled,\n disabled,\n message,\n placeholder,\n maxLength,\n onFileUpload,\n onSendMessage,\n onUpdateMessage,\n onCancelEdit,\n onStartTyping,\n channelUrl,\n channel,\n mentionSelectedUser,\n onUserMentioned,\n onMentionStringChange,\n onMentionedUserIdsUpdated,\n onVoiceMessageIconClick,\n onKeyUp,\n onKeyDown,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n setMentionedUsers,\n } = props;\n const textFieldId = messageFieldId || TEXT_FIELD_ID;\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 // #Edit mode\n // for easilly initialize input value from outside, but\n // useEffect(_, [channelUrl]) erase it\n const initialValue = props?.value;\n useEffect(() => {\n const textField = ref?.current;\n try {\n textField.innerHTML = initialValue;\n displayCaret(textField, initialValue?.length);\n } catch { }\n setMentionedUserIds([]);\n setIsInput(textField?.innerText?.length > 0);\n setHeight();\n }, [initialValue]);\n\n // #Mention | Clear input value when channel changes\n useEffect(() => {\n if (!isEdit) {\n setIsInput(false);\n resetInput(ref);\n }\n }, [channelUrl]);\n\n // #Mention & #Edit | Fill message input values\n useEffect(() => {\n if (isEdit && message?.messageId) {\n // const textField = document.getElementById(textFieldId);\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 && mentionedUsers.some((user) => user?.userId === userId)) {\n const nickname = `${USER_MENTION_TEMP_CHAR}${mentionedUsers.find((user) => user?.userId === userId)?.nickname\n || value\n || stringSet.MENTION_NAME__NO_NAME\n }`\n return renderMentionLabelToString({ userId, nickname });\n }\n return sanitizeString(value);\n }).join('')\n )).join(' ');\n } else {\n /* mention disabled */\n try {\n textField.innerHTML = sanitizeString(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(textFieldId);\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 = renderMentionLabelToString({\n userId: mentionSelectedUser?.userId,\n nickname: `${USER_MENTION_TEMP_CHAR}${mentionSelectedUser?.nickname || stringSet.MENTION_NAME__NO_NAME}`,\n });\n const div = document.createElement('div');\n div.innerHTML = mentionLabel;\n const newNodes = [\n ...childNodes.slice(0, startNodeIndex),\n frontTextNode,\n div.childNodes[0],\n backTextNode,\n ...childNodes.slice(endNodeIndex + 1),\n ];\n textField.innerHTML = '';\n newNodes.forEach((newNode) => {\n textField.appendChild(newNode);\n });\n onUserMentioned(mentionSelectedUser);\n if (window.getSelection || document.getSelection) {\n // set caret postion\n const selection = window.getSelection() || document.getSelection();\n selection.removeAllRanges();\n const range = new Range();\n range.selectNodeContents(textField);\n range.setStart(textField.childNodes[startNodeIndex + 2], 1);\n range.setEnd(textField.childNodes[startNodeIndex + 2], 1);\n range.collapse(false);\n selection.addRange(range);\n textField.focus();\n }\n setTargetStringInfo({ ...initialTargetStringInfo });\n setHeight();\n useMentionedLabelDetection();\n }\n }\n }, [mentionSelectedUser, isMentionEnabled]);\n\n // #Mention | Detect mentioning user nickname\n const useMentionInputDetection = useCallback(() => {\n const selection = window?.getSelection?.() || document?.getSelection?.();\n const textField = ref?.current;\n if (selection.anchorNode === textField) {\n onMentionStringChange('');\n }\n if (isMentionEnabled && selection\n && selection.anchorNode === selection.focusNode\n && selection.anchorOffset === selection.focusOffset\n ) {\n let textStack = '';\n let startNodeIndex = null;\n let startOffsetIndex = null;\n for (let index = 0; index < textField.childNodes.length; index += 1) {\n const currentNode = textField.childNodes[index];\n if (currentNode.nodeType === NodeTypes.TextNode) {\n /* text node */\n const textContent = (currentNode === selection.anchorNode)\n ? currentNode?.textContent.slice(0, selection.anchorOffset) || ''\n : currentNode?.textContent || '';\n if (textStack.length > 0) {\n textStack += textContent;\n } else {\n let charLastIndex = textContent.lastIndexOf(USER_MENTION_TEMP_CHAR);\n for (let i = charLastIndex - 1; i > -1; i -= 1) {\n if (textContent[i] === USER_MENTION_TEMP_CHAR) {\n charLastIndex = i;\n } else {\n break;\n }\n }\n if (charLastIndex > -1) {\n textStack = textContent;\n startNodeIndex = index;\n startOffsetIndex = charLastIndex;\n }\n }\n } else {\n /* other nodes */\n textStack = '';\n startNodeIndex = null;\n startOffsetIndex = null;\n }\n if (currentNode === selection.anchorNode) {\n /**\n * targetString could be ''\n * startNodeIndex and startOffsetIndex could be null\n */\n const targetString = textStack ? textStack.slice(startOffsetIndex) : '';// include template character\n setTargetStringInfo({\n targetString,\n startNodeIndex,\n startOffsetIndex,\n endNodeIndex: index,\n endOffsetIndex: selection.anchorOffset,\n });\n onMentionStringChange(targetString);\n return;\n }\n }\n }\n }, [isMentionEnabled]);\n\n const sendMessage = () => {\n const textField = ref?.current;\n if (!isEdit && textField?.innerText) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Br) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { message: messageText, mentionTemplate };\n onSendMessage(params);\n resetInput(ref);\n setIsInput(false);\n setHeight();\n }\n };\n const isEditDisabled = !(ref?.current?.innerText?.trim());\n const editMessage = () => {\n const textField = ref?.current;\n const messageId = message?.messageId;\n if (isEdit && messageId) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { messageId, message: messageText, mentionTemplate };\n onUpdateMessage(params);\n resetInput(ref);\n }\n };\n const onPaste = usePaste({\n ref,\n setMentionedUserIds,\n setMentionedUsers,\n channel,\n setIsInput,\n setHeight,\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={`${textFieldId}${isEdit ? message?.messageId : ''}`}\n className={`sendbird-message-input--textarea ${textFieldId}`}\n contentEditable={!disabled}\n role=\"textbox\"\n aria-label=\"Text Input\"\n disabled={disabled}\n ref={ref}\n maxLength={maxLength}\n onKeyDown={(e) => {\n const preventEvent = onKeyDown(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n if (!e.shiftKey && e.key === MessageInputKeys.Enter && e?.nativeEvent?.isComposing !== true) {\n e.preventDefault();\n sendMessage();\n }\n if (e.key === MessageInputKeys.Backspace\n && ref?.current?.childNodes?.length === 2\n && !ref?.current?.childNodes?.[0]?.textContent\n && ref?.current.childNodes?.[1]?.nodeType === NodeTypes.ElementNode\n ) {\n ref?.current.removeChild(ref?.current.childNodes[1]);\n }\n }\n }}\n onKeyUp={(e) => {\n const preventEvent = onKeyUp(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n useMentionInputDetection();\n }\n }}\n onClick={() => {\n useMentionInputDetection();\n }}\n onInput={() => {\n setHeight();\n onStartTyping();\n setIsInput(ref?.current?.innerText?.length > 0);\n useMentionedLabelDetection();\n }}\n onPaste={onPaste}\n />\n {/* placeholder */}\n {!isInput && (\n <Label\n className=\"sendbird-message-input--placeholder\"\n type={LabelTypography.BODY_1}\n color={disabled? LabelColors.ONBACKGROUND_4 : 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 {\n renderSendMessageIcon?.() || (\n <Icon\n type={IconTypes.SEND}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.PRIMARY}\n width=\"20px\"\n height=\"20px\"\n />\n )\n }\n </IconButton>\n )\n }\n {/* file upload icon */}\n {\n (!isEdit && !isInput) && (\n (renderFileUploadIcon?.() || (\n <IconButton\n className={`sendbird-message-input--attach ${isVoiceMessageEnabled ? 'is-voice-message-enabled' : ''}`}\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={disabled ? IconColors.ON_BACKGROUND_4 : 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 }\n {/* voice message input trigger */}\n {(isVoiceMessageEnabled && !isEdit && !isInput) && (\n <IconButton\n className=\"sendbird-message-input--voice-message\"\n width=\"32px\"\n height=\"32px\"\n onClick={onVoiceMessageIconClick}\n >\n {\n renderVoiceMessageIcon?.() || (\n <Icon\n type={IconTypes.AUDIO_ON_LINED}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n )\n }\n </IconButton>\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 disabled={isEditDisabled}\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 messageFieldId: PropTypes.string,\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n value: PropTypes.string,\n isEdit: PropTypes.bool,\n isMentionEnabled: PropTypes.bool,\n isVoiceMessageEnabled: PropTypes.bool,\n onVoiceMessageIconClick: PropTypes.func,\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 setMentionedUsers: PropTypes.func,\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 messageFieldId: '',\n channelUrl: '',\n onSendMessage: noop,\n onUpdateMessage: noop,\n value: null,\n message: null,\n isEdit: false,\n isMentionEnabled: false,\n isVoiceMessageEnabled: true,\n onVoiceMessageIconClick: noop,\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":["renderToString","_a","userId","nickname","el","concat","MENTION_USER_LABEL_CLASSNAME","purifier","DOMPurify","window","sanitized_","sanitize","token","split","spanTag","rest","slice","sanitized","__spreadArray","join","sanitizeString","str","replace","i","charCodeAt","inserTemplateToDOM","templateList","nodes","map","template","text","renderMentionLabelToString","document","execCommand","PASTE_NODE","TEXT_MESSAGE_CLASS","MENTION_CLASS","MENTION_CLASS_IN_INPUT","MENTION_CLASS_COMBINED_QUERY","createPasteNode","pasteNode","body","querySelector","remove","node","createElement","id","style","display","hasMention","parent","extractTextFromNodes","forEach","textNodes","querySelectorAll","length","Array","from","innerText","domToMessageTemplate","nodeArray","templates","reduce","accumulator","currentValue","mentionNode","classList","contains","dataset","userid","getUsersFromWords","channel","userMap","users","members","find","user","Object","values","usePaste","ref","setIsInput","setHeight","setMentionedUsers","useCallback","e","preventDefault","html","clipboardData","getData","clean","innerHTML","children","childNodes","words","mentionedUsers","TEXT_FIELD_ID","LINE_HEIGHT","noop","handleUploadFile","callback","event","target","files","value","displayCaret","element","position","range","createRange","sel","getSelection","setStart","collapse","removeAllRanges","addRange","focus","resetInput","current","initialTargetStringInfo","targetString","startNodeIndex","startOffsetIndex","endNodeIndex","endOffsetIndex","MessageInput","React","forwardRef","props","className","messageFieldId","isEdit","isMentionEnabled","isVoiceMessageEnabled","disabled","message","placeholder","maxLength","onFileUpload","onSendMessage","onUpdateMessage","onCancelEdit","onStartTyping","channelUrl","mentionSelectedUser","onUserMentioned","onMentionStringChange","onMentionedUserIdsUpdated","onVoiceMessageIconClick","onKeyUp","onKeyDown","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","textFieldId","stringSet","useContext","LocalizationContext","fileInputRef","useRef","isInput","useState","mentionedUserIds","setMentionedUserIds","targetStringInfo","setTargetStringInfo","_objectSpread","useMemo","elem","MAX_HEIGHT","offsetHeight","scrollHeight","height","error","initialValue","useEffect","textField","messageId","mentionedMessageTemplate","word","convertWordToStringObj","stringObj","type","StringObjType","mention","some","USER_MENTION_TEMP_CHAR","MENTION_NAME__NO_NAME","useMentionedLabelDetection","newMentionedUserIds","getElementsByClassName","arrayEqual","frontTextNode","createTextNode","textContent","backTextNode","mentionLabel","div","newNodes","newNode","appendChild","selection","Range","selectNodeContents","setEnd","useMentionInputDetection","anchorNode","focusNode","anchorOffset","focusOffset","textStack","index","currentNode","nodeType","NodeTypes","TextNode","charLastIndex","lastIndexOf","sendMessage","messageText","mentionTemplate","ElementNode","nodeName","NodeNames","Span","Br","params","isEditDisabled","trim","editMessage","onPaste","getClassName","preventEvent","shiftKey","key","MessageInputKeys","Enter","nativeEvent","isComposing","Backspace","removeChild","Label","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_4","ONBACKGROUND_3","MESSAGE_INPUT__PLACE_HOLDER","IconButton","Icon","IconTypes","SEND","IconColors","ON_BACKGROUND_4","PRIMARY","click","ATTACH","CONTENT_INVERSE","AUDIO_ON_LINED","Button","ButtonTypes","SECONDARY","ButtonSizes","SMALL","BUTTON__CANCEL","BUTTON__SAVE","propTypes","PropTypes","oneOfType","string","arrayOf","bool","func","shape","number","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageInput.js","sources":["../../../src/ui/MentionUserLabel/renderToString.ts","../../../src/ui/MessageInput/utils.js","../../../src/ui/MessageInput/hooks/usePaste/insertTemplate.ts","../../../src/ui/MessageInput/hooks/usePaste/consts.ts","../../../src/ui/MessageInput/hooks/usePaste/utils.ts","../../../src/ui/MessageInput/hooks/usePaste/index.ts","../../../src/ui/MessageInput/index.jsx"],"sourcesContent":["// cretes a sanitized string from a mention user label\nimport DOMPurify from 'dompurify';\nimport { MENTION_USER_LABEL_CLASSNAME } from './consts';\n\ntype renderToStringParams = {\n userId: string;\n nickname: string;\n};\n\nexport default function renderToString({ userId, nickname }: renderToStringParams): string {\n // donot change this template, it wont work\n const el = `<span data-userid=\"${userId}\" data-sb-mention=\"true\" class=\"${MENTION_USER_LABEL_CLASSNAME}\">${nickname}</span>`;\n const purifier = DOMPurify(window);\n const sanitized_ = purifier.sanitize(el);\n const token = sanitized_.split(' ');\n const [spanTag, ...rest] = token;\n // we do this because DOMPurify removes the contenteditable attribute\n const sanitized = [spanTag, 'contenteditable=\"false\"', ...rest].join(' ');\n return sanitized;\n}\n","// https://davidwalsh.name/javascript-debounce-function\n// Returns a function, that, as long as it continues to be invoked, will not\n// be triggered. The function will be called after it stops being called for\n// N milliseconds. If `immediate` is passed, trigger the function on the\n// leading edge, instead of the trailing.\nexport function debounce(func, wait, immediate) {\n let timeout;\n return function _debounce() {\n const context = this;\n // eslint-disable-next-line prefer-rest-params\n const args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n\n// Sanitize that special characters of HTML tags cause XSS issue\nexport const sanitizeString = (str) => (\n str?.replace(/[\\u00A0-\\u9999<>]/gim, (i) => ''.concat('&#', i.charCodeAt(0), ';'))\n);\n\nexport default debounce;\n","import { Word } from './types';\nimport { sanitizeString } from '../../utils';\nimport renderMentionLabelToString from '../../../MentionUserLabel/renderToString';\n\nexport function inserTemplateToDOM(templateList: Word[]): void {\n const nodes = templateList.map((template) => {\n const { text, userId } = template;\n if (userId) {\n return renderMentionLabelToString({ userId, nickname: text });\n }\n return sanitizeString(text);\n })\n .join(' ')\n // add a space at the end of the mention, else cursor/caret wont work\n .concat(' ');\n document.execCommand('insertHTML', false, nodes);\n}\n","export const PASTE_NODE = 'sendbird-uikit__paste-node';\nexport const TEXT_MESSAGE_CLASS = 'sendbird-word';\nexport const MENTION_CLASS = 'sendbird-word__mention';\nexport const MENTION_CLASS_IN_INPUT = 'sendbird-mention-user-label';\nexport const MENTION_CLASS_COMBINED_QUERY = `.${MENTION_CLASS}, .${MENTION_CLASS_IN_INPUT}`;\n","import { GroupChannel } from '@sendbird/chat/groupChannel';\nimport { User } from '@sendbird/chat';\n\nimport {\n PASTE_NODE,\n MENTION_CLASS,\n TEXT_MESSAGE_CLASS,\n MENTION_CLASS_COMBINED_QUERY,\n MENTION_CLASS_IN_INPUT,\n} from './consts';\nimport { Word } from './types';\nimport { TEXT_MESSAGE_BODY_CLASSNAME } from \"../../../TextMessageItemBody/consts\";\nimport { OG_MESSAGE_BODY_CLASSNAME } from '../../../OGMessageItemBody/consts';\n\nexport function querySelectorIncludingSelf(\n master: HTMLElement,\n selector: string,\n): HTMLElement | null {\n const result = [\n master,\n ...Array.from(master.querySelectorAll(selector))\n ].find((el) => el.matches(selector)) as HTMLElement | null;\n return result;\n}\n\n// Pasted dom node can be OG_MESSAGE or partial message or full message\n// full messsage would have TEXT_MESSAGE_BODY_CLASSNAME and have childNodes\n// partial message would not have TEXT_MESSAGE_BODY_CLASSNAME\nexport function getLeafNodes(master: HTMLElement): ChildNode[] {\n // og message\n const ogMessage = querySelectorIncludingSelf(master, `.${OG_MESSAGE_BODY_CLASSNAME}`);\n if (ogMessage) {\n return Array.from(ogMessage.childNodes);\n }\n\n const textMessageBody = querySelectorIncludingSelf(master, `.${TEXT_MESSAGE_BODY_CLASSNAME}`);\n if (textMessageBody) {\n return Array.from(textMessageBody.childNodes);\n }\n\n return Array.from(master.childNodes);\n}\n\nexport function createPasteNode(): HTMLDivElement | null {\n const pasteNode = document.body.querySelector(`#${PASTE_NODE}`);\n // remove existing paste node\n if (pasteNode) {\n pasteNode?.remove();\n }\n\n // create new paste node and return\n const node = document.createElement('div');\n node.id = PASTE_NODE;\n node.style.display = 'none';\n return node;\n}\n\nexport function hasMention(parent: HTMLDivElement): boolean {\n return parent?.querySelector(MENTION_CLASS_COMBINED_QUERY) ? true : false;\n}\n\nexport const extractTextFromNodes = (nodes: HTMLSpanElement[]): string => {\n let text = '';\n nodes.forEach((node) => {\n // to preserve space between words\n const textNodes = node.querySelectorAll(`.${TEXT_MESSAGE_CLASS}`);\n if (textNodes.length > 0) {\n text += ((extractTextFromNodes(Array.from(textNodes) as HTMLSpanElement[])) + ' ');\n }\n text += (node.innerText + ' ');\n });\n return text;\n}\n\nexport function domToMessageTemplate(nodeArray: ChildNode[]): Word[] {\n const templates: Word[] = nodeArray?.reduce((accumulator, currentValue) => {\n // currentValue can be node(from messageBody or messageInput) or text\n let mentionNode;\n // this looks awkward, but it is a fallback to set default text\n let text = (currentValue as HTMLSpanElement)?.innerText;\n\n // if text node, set text\n if (currentValue instanceof Text) {\n mentionNode = false;\n text = currentValue.textContent;\n }\n\n if (currentValue instanceof HTMLElement) {\n mentionNode = (currentValue.classList.contains(MENTION_CLASS) || currentValue.classList.contains(MENTION_CLASS_IN_INPUT))\n ? currentValue\n : currentValue.querySelector(MENTION_CLASS_COMBINED_QUERY);\n }\n\n // if mentionNode is not null, it is a mention\n if (mentionNode) {\n const text = (currentValue as HTMLSpanElement)?.innerText;\n const userId = mentionNode.dataset?.userid;\n return [\n ...accumulator,\n {\n text,\n userId,\n },\n ];\n }\n\n return [\n ...accumulator,\n {\n text,\n },\n ];\n }, [] as Word[]);\n return templates;\n}\n\nexport function getUsersFromWords(templates: Word[], channel: GroupChannel): User[] {\n const userMap = {};\n const users = channel.members;\n templates.forEach((template) => {\n if (template.userId) {\n const mentionedMember = users.find((user) => user.userId === template.userId);\n // Object.values would return array-> [undefined] if the user is not in the channel\n if (mentionedMember) {\n userMap[template.userId] = mentionedMember;\n }\n }\n });\n return Object.values(userMap);\n}\n","import { useCallback } from 'react';\nimport DOMPurify from 'dompurify';\n\nimport { inserTemplateToDOM } from './insertTemplate';\nimport { sanitizeString } from '../../utils';\nimport { DynamicProps } from './types';\nimport {\n createPasteNode,\n hasMention,\n domToMessageTemplate,\n getUsersFromWords,\n extractTextFromNodes,\n getLeafNodes,\n} from './utils';\n\n// conditions to test:\n// 1. paste simple text\n// 2. paste text with mention\n// 3. paste text with mention and text\n// 4. paste text with mention and text and paste again before and after\n// 5. copy message with mention(only one mention, no other text) and paste\n// 6. copy message with mention from input and paste(before and after)\nexport default function usePaste({\n ref,\n setIsInput,\n setHeight,\n channel,\n setMentionedUsers,\n}: DynamicProps): (e: React.ClipboardEvent<HTMLDivElement>) => void {\n return useCallback((e) => {\n e.preventDefault();\n const html = e?.clipboardData.getData('text/html');\n // simple text, continue as normal\n if (!html) {\n const text = e?.clipboardData.getData('text');\n document.execCommand('insertHTML', false, sanitizeString(text));\n setIsInput(true);\n setHeight();\n return;\n }\n\n // has html, check if there are mentions, sanitize and insert\n const purifier = DOMPurify(window);\n const clean = purifier.sanitize(html);\n const pasteNode = createPasteNode();\n pasteNode.innerHTML = clean;\n // does not have mention, continue as normal\n if (!hasMention(pasteNode)) {\n // to preserve space between words\n const text = extractTextFromNodes(Array.from(pasteNode.children) as HTMLSpanElement[]);\n document.execCommand('insertHTML', false, sanitizeString(text));\n pasteNode.remove();\n setIsInput(true);\n setHeight();\n return;\n }\n\n // has mention, collect leaf nodes and parse words\n const leafNodes = getLeafNodes(pasteNode);\n const words = domToMessageTemplate(leafNodes);\n const mentionedUsers = getUsersFromWords(words, channel);\n\n // side effects\n setMentionedUsers(mentionedUsers);\n inserTemplateToDOM(words);\n pasteNode.remove();\n setIsInput(true);\n setHeight();\n return;\n }, [ref, setIsInput, setHeight, channel, setMentionedUsers]);\n}\n","import React, {\n useRef,\n useMemo,\n useState,\n useEffect,\n useCallback,\n useContext,\n} from 'react';\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 renderMentionLabelToString from '../MentionUserLabel/renderToString';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { sanitizeString } from './utils';\nimport {\n arrayEqual,\n getClassName,\n StringObjType,\n convertWordToStringObj,\n} from '../../utils';\nimport usePaste from './hooks/usePaste';\nimport { tokenizeMessage } from '../../smart-components/Message/utils/tokens/tokenize';\nimport { USER_MENTION_PREFIX } from '../../smart-components/Message/consts';\nimport { TOKEN_TYPES } from '../../smart-components/Message/utils/tokens/types';\n\nconst TEXT_FIELD_ID = 'sendbird-message-input-text-field';\nconst LINE_HEIGHT = 76;\nconst noop = () => { };\nconst handleUploadFile = (callback) => (event) => {\n if (event.target.files && event.target.files[0]) {\n callback(event.target.files[0]);\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = '';\n};\n\nconst displayCaret = (element, position) => {\n const range = document.createRange();\n const sel = window.getSelection();\n range.setStart(element.childNodes[0], position);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n element.focus();\n}\n\nconst resetInput = (ref) => {\n try {\n ref.current.innerHTML = '';\n } catch {\n //\n }\n}\n\nconst initialTargetStringInfo = {\n targetString: '',\n startNodeIndex: null,\n startOffsetIndex: null,\n endNodeIndex: null,\n endOffsetIndex: null,\n};\n\nconst MessageInput = React.forwardRef((props, ref) => {\n const {\n className,\n messageFieldId,\n isEdit,\n isMentionEnabled,\n isVoiceMessageEnabled,\n disabled,\n message,\n placeholder,\n maxLength,\n onFileUpload,\n onSendMessage,\n onUpdateMessage,\n onCancelEdit,\n onStartTyping,\n channelUrl,\n channel,\n mentionSelectedUser,\n onUserMentioned,\n onMentionStringChange,\n onMentionedUserIdsUpdated,\n onVoiceMessageIconClick,\n onKeyUp,\n onKeyDown,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n setMentionedUsers,\n } = props;\n const textFieldId = messageFieldId || TEXT_FIELD_ID;\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 // #Edit mode\n // for easilly initialize input value from outside, but\n // useEffect(_, [channelUrl]) erase it\n const initialValue = props?.value;\n useEffect(() => {\n const textField = ref?.current;\n try {\n textField.innerHTML = initialValue;\n displayCaret(textField, initialValue?.length);\n } catch { }\n setMentionedUserIds([]);\n setIsInput(textField?.innerText?.length > 0);\n setHeight();\n }, [initialValue]);\n\n // #Mention | Clear input value when channel changes\n useEffect(() => {\n if (!isEdit) {\n setIsInput(false);\n resetInput(ref);\n }\n }, [channelUrl]);\n\n // #Mention & #Edit | Fill message input values\n useEffect(() => {\n if (isEdit && message?.messageId) {\n // const textField = document.getElementById(textFieldId);\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 const tokens = tokenizeMessage({\n messageText: message?.mentionedMessageTemplate,\n mentionedUsers,\n });\n textField.innerHTML = tokens.map((token) => {\n if (token.type === TOKEN_TYPES.mention) {\n const mentionedUser = mentionedUsers.find((user) => user.userId === token.userId);\n const nickname = `${USER_MENTION_PREFIX}${mentionedUser?.nickname || token.value || stringSet.MENTION_NAME__NO_NAME}`;\n return renderMentionLabelToString({\n userId: token.userId,\n nickname,\n });\n }\n return sanitizeString(token.value);\n }).join(' ');\n } else {\n /* mention disabled */\n try {\n textField.innerHTML = sanitizeString(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(textFieldId);\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 = renderMentionLabelToString({\n userId: mentionSelectedUser?.userId,\n nickname: `${USER_MENTION_TEMP_CHAR}${mentionSelectedUser?.nickname || stringSet.MENTION_NAME__NO_NAME}`,\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 if (node?.nodeType === NodeTypes.ElementNode && node?.nodeName === NodeNames.Div) {\n // handles newline in safari\n const { textContent = '' } = node;\n messageText += `\\n${textContent}`;\n mentionTemplate += `\\n${textContent}`;\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { message: messageText, mentionTemplate };\n onSendMessage(params);\n resetInput(ref);\n setIsInput(false);\n setHeight();\n }\n };\n const isEditDisabled = !(ref?.current?.innerText?.trim());\n const editMessage = () => {\n const textField = ref?.current;\n const messageId = message?.messageId;\n if (isEdit && messageId) {\n let messageText = '';\n let mentionTemplate = '';\n textField.childNodes.forEach((node) => {\n if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n const { innerText, dataset = {} } = node;\n const { userid = '' } = dataset;\n messageText += innerText;\n mentionTemplate += `${USER_MENTION_TEMP_CHAR}{${userid}}`;\n } else if (node.nodeType === NodeTypes.ElementNode && node.nodeName === NodeNames.Span) {\n messageText += '\\n';\n mentionTemplate += '\\n';\n } else { // other nodes including text node\n const { textContent = '' } = node;\n messageText += textContent;\n mentionTemplate += textContent;\n }\n });\n const params = { messageId, message: messageText, mentionTemplate };\n onUpdateMessage(params);\n resetInput(ref);\n }\n };\n const onPaste = usePaste({\n ref,\n setMentionedUserIds,\n setMentionedUsers,\n channel,\n setIsInput,\n setHeight,\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={`${textFieldId}${isEdit ? message?.messageId : ''}`}\n className={`sendbird-message-input--textarea ${textFieldId}`}\n contentEditable={!disabled}\n role=\"textbox\"\n aria-label=\"Text Input\"\n disabled={disabled}\n ref={ref}\n maxLength={maxLength}\n onKeyDown={(e) => {\n const preventEvent = onKeyDown(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n if (!e.shiftKey && e.key === MessageInputKeys.Enter && e?.nativeEvent?.isComposing !== true) {\n e.preventDefault();\n sendMessage();\n }\n if (e.key === MessageInputKeys.Backspace\n && ref?.current?.childNodes?.length === 2\n && !ref?.current?.childNodes?.[0]?.textContent\n && ref?.current.childNodes?.[1]?.nodeType === NodeTypes.ElementNode\n ) {\n ref?.current.removeChild(ref?.current.childNodes[1]);\n }\n }\n }}\n onKeyUp={(e) => {\n const preventEvent = onKeyUp(e);\n if (preventEvent) {\n e.preventDefault();\n } else {\n useMentionInputDetection();\n }\n }}\n onClick={() => {\n useMentionInputDetection();\n }}\n onInput={() => {\n setHeight();\n onStartTyping();\n setIsInput(ref?.current?.innerText?.length > 0);\n useMentionedLabelDetection();\n }}\n onPaste={onPaste}\n />\n {/* placeholder */}\n {!isInput && (\n <Label\n className=\"sendbird-message-input--placeholder\"\n type={LabelTypography.BODY_1}\n color={disabled? LabelColors.ONBACKGROUND_4 : 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 {\n renderSendMessageIcon?.() || (\n <Icon\n type={IconTypes.SEND}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.PRIMARY}\n width=\"20px\"\n height=\"20px\"\n />\n )\n }\n </IconButton>\n )\n }\n {/* file upload icon */}\n {\n (!isEdit && !isInput) && (\n (renderFileUploadIcon?.() || (\n <IconButton\n className={`sendbird-message-input--attach ${isVoiceMessageEnabled ? 'is-voice-message-enabled' : ''}`}\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={disabled ? IconColors.ON_BACKGROUND_4 : 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 }\n {/* voice message input trigger */}\n {(isVoiceMessageEnabled && !isEdit && !isInput) && (\n <IconButton\n className=\"sendbird-message-input--voice-message\"\n width=\"32px\"\n height=\"32px\"\n onClick={onVoiceMessageIconClick}\n >\n {\n renderVoiceMessageIcon?.() || (\n <Icon\n type={IconTypes.AUDIO_ON_LINED}\n fillColor={disabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n )\n }\n </IconButton>\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 disabled={isEditDisabled}\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 messageFieldId: PropTypes.string,\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n value: PropTypes.string,\n isEdit: PropTypes.bool,\n isMentionEnabled: PropTypes.bool,\n isVoiceMessageEnabled: PropTypes.bool,\n onVoiceMessageIconClick: PropTypes.func,\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 setMentionedUsers: PropTypes.func,\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 messageFieldId: '',\n channelUrl: '',\n onSendMessage: noop,\n onUpdateMessage: noop,\n value: null,\n message: null,\n isEdit: false,\n isMentionEnabled: false,\n isVoiceMessageEnabled: true,\n onVoiceMessageIconClick: noop,\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":["renderToString","_a","userId","nickname","el","concat","MENTION_USER_LABEL_CLASSNAME","purifier","DOMPurify","window","sanitized_","sanitize","token","split","spanTag","rest","slice","sanitized","__spreadArray","join","sanitizeString","str","replace","i","charCodeAt","inserTemplateToDOM","templateList","nodes","map","template","text","renderMentionLabelToString","document","execCommand","PASTE_NODE","TEXT_MESSAGE_CLASS","MENTION_CLASS","MENTION_CLASS_IN_INPUT","MENTION_CLASS_COMBINED_QUERY","querySelectorIncludingSelf","master","selector","result","Array","from","querySelectorAll","find","matches","getLeafNodes","ogMessage","OG_MESSAGE_BODY_CLASSNAME","childNodes","textMessageBody","TEXT_MESSAGE_BODY_CLASSNAME","createPasteNode","pasteNode","body","querySelector","remove","node","createElement","id","style","display","hasMention","parent","extractTextFromNodes","forEach","textNodes","length","innerText","domToMessageTemplate","nodeArray","templates","reduce","accumulator","currentValue","mentionNode","Text","textContent","HTMLElement","classList","contains","text_1","dataset","userid","getUsersFromWords","channel","userMap","users","members","mentionedMember","user","Object","values","usePaste","ref","setIsInput","setHeight","setMentionedUsers","useCallback","e","preventDefault","html","clipboardData","getData","clean","innerHTML","children","leafNodes","words","mentionedUsers","TEXT_FIELD_ID","LINE_HEIGHT","noop","handleUploadFile","callback","event","target","files","value","displayCaret","element","position","range","createRange","sel","getSelection","setStart","collapse","removeAllRanges","addRange","focus","resetInput","current","initialTargetStringInfo","targetString","startNodeIndex","startOffsetIndex","endNodeIndex","endOffsetIndex","MessageInput","React","forwardRef","props","className","messageFieldId","isEdit","isMentionEnabled","isVoiceMessageEnabled","disabled","message","placeholder","maxLength","onFileUpload","onSendMessage","onUpdateMessage","onCancelEdit","onStartTyping","channelUrl","mentionSelectedUser","onUserMentioned","onMentionStringChange","onMentionedUserIdsUpdated","onVoiceMessageIconClick","onKeyUp","onKeyDown","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","textFieldId","stringSet","useContext","LocalizationContext","fileInputRef","useRef","isInput","useState","mentionedUserIds","setMentionedUserIds","targetStringInfo","setTargetStringInfo","_objectSpread","useMemo","elem","MAX_HEIGHT","offsetHeight","scrollHeight","height","error","initialValue","useEffect","textField","messageId","mentionedMessageTemplate","tokens","tokenizeMessage","messageText","type","TOKEN_TYPES","mention","mentionedUser","USER_MENTION_PREFIX","MENTION_NAME__NO_NAME","useMentionedLabelDetection","newMentionedUserIds","getElementsByClassName","arrayEqual","frontTextNode","createTextNode","backTextNode","mentionLabel","USER_MENTION_TEMP_CHAR","div","newNodes","newNode","appendChild","selection","Range","selectNodeContents","setEnd","useMentionInputDetection","anchorNode","focusNode","anchorOffset","focusOffset","textStack","index","currentNode","nodeType","NodeTypes","TextNode","charLastIndex","lastIndexOf","sendMessage","mentionTemplate","ElementNode","nodeName","NodeNames","Span","Br","Div","params","isEditDisabled","trim","editMessage","onPaste","getClassName","preventEvent","shiftKey","key","MessageInputKeys","Enter","nativeEvent","isComposing","Backspace","removeChild","Label","LabelTypography","BODY_1","LabelColors","ONBACKGROUND_4","ONBACKGROUND_3","MESSAGE_INPUT__PLACE_HOLDER","IconButton","Icon","IconTypes","SEND","IconColors","ON_BACKGROUND_4","PRIMARY","click","ATTACH","CONTENT_INVERSE","AUDIO_ON_LINED","Button","ButtonTypes","SECONDARY","ButtonSizes","SMALL","BUTTON__CANCEL","BUTTON__SAVE","propTypes","PropTypes","oneOfType","string","arrayOf","bool","func","shape","number","defaultProps"],"mappings":"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"}
|
|
@@ -4,18 +4,18 @@ var React = require('react');
|
|
|
4
4
|
var ui_ContextMenu = require('./ContextMenu.js');
|
|
5
5
|
var ui_Icon = require('./Icon.js');
|
|
6
6
|
var ui_IconButton = require('./IconButton.js');
|
|
7
|
-
var index = require('../index-
|
|
8
|
-
var LocalizationContext = require('../LocalizationContext-
|
|
9
|
-
var types = require('../types-
|
|
10
|
-
require('../tslib.es6-
|
|
7
|
+
var index = require('../index-27196170.js');
|
|
8
|
+
var LocalizationContext = require('../LocalizationContext-3fb1efd5.js');
|
|
9
|
+
var types = require('../types-dd4057f8.js');
|
|
10
|
+
require('../tslib.es6-94d25845.js');
|
|
11
11
|
require('react-dom');
|
|
12
12
|
require('./SortByRow.js');
|
|
13
|
-
require('../uuid-
|
|
14
|
-
require('../index-
|
|
13
|
+
require('../uuid-fe1b03cf.js');
|
|
14
|
+
require('../index-2068f053.js');
|
|
15
15
|
require('prop-types');
|
|
16
|
-
require('../stringSet-
|
|
16
|
+
require('../stringSet-eba21df4.js');
|
|
17
17
|
require('../utils/message/getOutgoingMessageState.js');
|
|
18
|
-
require('../index-
|
|
18
|
+
require('../index-05458f16.js');
|
|
19
19
|
|
|
20
20
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
21
|
|
|
@@ -6,14 +6,14 @@ var ui_Icon = require('./Icon.js');
|
|
|
6
6
|
var ui_IconButton = require('./IconButton.js');
|
|
7
7
|
var ui_ImageRenderer = require('./ImageRenderer.js');
|
|
8
8
|
var ui_ReactionButton = require('./ReactionButton.js');
|
|
9
|
-
var index = require('../index-
|
|
10
|
-
require('../tslib.es6-
|
|
9
|
+
var index = require('../index-27196170.js');
|
|
10
|
+
require('../tslib.es6-94d25845.js');
|
|
11
11
|
require('react-dom');
|
|
12
12
|
require('./SortByRow.js');
|
|
13
|
-
require('../uuid-
|
|
14
|
-
require('../index-
|
|
13
|
+
require('../uuid-fe1b03cf.js');
|
|
14
|
+
require('../index-2068f053.js');
|
|
15
15
|
require('prop-types');
|
|
16
|
-
require('../stringSet-
|
|
16
|
+
require('../stringSet-eba21df4.js');
|
|
17
17
|
require('../utils/message/getOutgoingMessageState.js');
|
|
18
18
|
|
|
19
19
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('../tslib.es6-
|
|
3
|
+
var tslib_es6 = require('../tslib.es6-94d25845.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var ui_Avatar = require('./Avatar.js');
|
|
6
6
|
var ui_Icon = require('./Icon.js');
|
|
7
|
-
var ui_Label = require('../index-
|
|
8
|
-
var LocalizationContext = require('../LocalizationContext-
|
|
9
|
-
var index$1 = require('../index-
|
|
10
|
-
var index = require('../index-
|
|
11
|
-
var index$2 = require('../index-
|
|
7
|
+
var ui_Label = require('../index-2068f053.js');
|
|
8
|
+
var LocalizationContext = require('../LocalizationContext-3fb1efd5.js');
|
|
9
|
+
var index$1 = require('../index-106dbf0e.js');
|
|
10
|
+
var index = require('../index-b8bcbe2e.js');
|
|
11
|
+
var index$2 = require('../index-27196170.js');
|
|
12
12
|
require('./ImageRenderer.js');
|
|
13
|
-
require('../uuid-
|
|
13
|
+
require('../uuid-fe1b03cf.js');
|
|
14
14
|
require('prop-types');
|
|
15
|
-
require('../stringSet-
|
|
16
|
-
require('../index-
|
|
17
|
-
require('../index-
|
|
15
|
+
require('../stringSet-eba21df4.js');
|
|
16
|
+
require('../index-05458f16.js');
|
|
17
|
+
require('../index-871938c2.js');
|
|
18
18
|
require('../utils/message/getOutgoingMessageState.js');
|
|
19
19
|
|
|
20
20
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|