@sendbird/uikit-react 3.3.7 → 3.4.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +60 -34
- package/App.js.map +1 -1
- package/CHANGELOG.md +150 -0
- package/Channel/components/ChannelHeader.js +20 -18
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +48 -29
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +15 -14
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +33 -24
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +62 -20
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +36 -27
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +21 -17
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +17 -16
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +15 -14
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +14 -13
- package/Channel/context.js.map +1 -1
- package/Channel.js +43 -28
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +15 -15
- package/ChannelList/components/ChannelListHeader.js +7 -7
- package/ChannelList/components/ChannelListUI.js +29 -28
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +26 -25
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +29 -28
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-eb4708a3.js → ChannelListProvider-3c78429f.js} +8 -8
- package/{ChannelListProvider-eb4708a3.js.map → ChannelListProvider-3c78429f.js.map} +1 -1
- package/{ChannelProvider-1e540c0e.js → ChannelProvider-1d70b8a0.js} +88 -13
- package/ChannelProvider-1d70b8a0.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +12 -12
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/ChannelSettings/components/LeaveChannel.js +12 -12
- package/ChannelSettings/components/ModerationPanel.js +15 -15
- package/ChannelSettings/components/UserListItem.js +11 -11
- package/ChannelSettings/components/UserPanel.js +18 -15
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -18
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/InviteUsers.js +14 -14
- package/CreateChannel/components/SelectChannelType.js +11 -11
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-ed2e3cb4.js → CreateChannelProvider-946fb371.js} +1 -1
- package/{CreateChannelProvider-ed2e3cb4.js.map → CreateChannelProvider-946fb371.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +10 -10
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-4c2faa9a.js → LocalizationContext-539093a9.js} +3 -3
- package/{LocalizationContext-4c2faa9a.js.map → LocalizationContext-539093a9.js.map} +1 -1
- package/{MediaQueryContext-97a21b7e.js → MediaQueryContext-79c8ad08.js} +1 -1
- package/{MediaQueryContext-97a21b7e.js.map → MediaQueryContext-79c8ad08.js.map} +1 -1
- package/{MemberList-6483a7db.js → MemberList-1350e670.js} +10 -7
- package/MemberList-1350e670.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +13 -11
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +2 -2
- package/MessageSearch.js +13 -11
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +13 -13
- package/OpenChannel/components/OpenChannelInput.js +16 -15
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +22 -22
- package/OpenChannel/components/OpenChannelMessageList.js +24 -24
- package/OpenChannel/components/OpenChannelUI.js +24 -24
- package/OpenChannel/context.js +9 -9
- package/OpenChannel.js +24 -24
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +4 -4
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-95808e48.js → OpenChannelListProvider-64e2ca27.js} +3 -3
- package/{OpenChannelListProvider-95808e48.js.map → OpenChannelListProvider-64e2ca27.js.map} +1 -1
- package/{OpenChannelProvider-e3137432.js → OpenChannelProvider-5a54a791.js} +7 -7
- package/{OpenChannelProvider-e3137432.js.map → OpenChannelProvider-5a54a791.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +18 -18
- package/README.md +8 -0
- package/{RemoveMessageModal-0baf3553.js → RemoveMessageModal-cd536405.js} +3 -3
- package/{RemoveMessageModal-0baf3553.js.map → RemoveMessageModal-cd536405.js.map} +1 -1
- package/SendbirdProvider.js +29 -11
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +32 -22
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +33 -16
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +33 -24
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +40 -25
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +71 -21
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +49 -31
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +9 -8
- package/Thread/context.js.map +1 -1
- package/Thread.js +47 -29
- package/Thread.js.map +1 -1
- package/{ThreadProvider-a1413f01.js → ThreadProvider-9f8652df.js} +91 -11
- package/ThreadProvider-9f8652df.js.map +1 -0
- package/{UserProfileContext-e5d90f15.js → UserProfileContext-bd8525b7.js} +1 -1
- package/{UserProfileContext-e5d90f15.js.map → UserProfileContext-bd8525b7.js.map} +1 -1
- package/VoiceMessageInputWrapper-b149ff89.js +173 -0
- package/VoiceMessageInputWrapper-b149ff89.js.map +1 -0
- package/VoicePlayer/context.js +5 -0
- package/VoicePlayer/context.js.map +1 -0
- package/VoicePlayer/useVoicePlayer.js +87 -0
- package/VoicePlayer/useVoicePlayer.js.map +1 -0
- package/VoiceRecorder/context.js +243 -0
- package/VoiceRecorder/context.js.map +1 -0
- package/VoiceRecorder/useVoiceRecorder.js +117 -0
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
- package/{_rollupPluginBabelHelpers-b45d3824.js → _rollupPluginBabelHelpers-09618dc3.js} +1 -1
- package/_rollupPluginBabelHelpers-09618dc3.js.map +1 -0
- package/{actionTypes-c69daac1.js → actionTypes-0dd0c34b.js} +1 -1
- package/{actionTypes-c69daac1.js.map → actionTypes-0dd0c34b.js.map} +1 -1
- package/cjs/App.js +60 -34
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +20 -18
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +48 -29
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +15 -14
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +33 -24
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +62 -20
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +36 -27
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +21 -17
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +17 -16
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +15 -14
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +14 -13
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel.js +43 -28
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +15 -15
- package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
- package/cjs/ChannelList/components/ChannelListUI.js +29 -28
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +26 -25
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +29 -28
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-94df9f01.js → ChannelListProvider-7df03e2a.js} +8 -8
- package/cjs/{ChannelListProvider-94df9f01.js.map → ChannelListProvider-7df03e2a.js.map} +1 -1
- package/cjs/{ChannelProvider-3fbf7c5e.js → ChannelProvider-56b10dd6.js} +87 -12
- package/cjs/ChannelProvider-56b10dd6.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +12 -12
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/cjs/ChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
- package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
- package/cjs/ChannelSettings/components/UserListItem.js +11 -11
- package/cjs/ChannelSettings/components/UserPanel.js +18 -15
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js +14 -14
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-70422add.js → CreateChannelProvider-359f35d1.js} +1 -1
- package/cjs/{CreateChannelProvider-70422add.js.map → CreateChannelProvider-359f35d1.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +10 -10
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +10 -10
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-a0f833e9.js → LocalizationContext-7d2c13ee.js} +3 -3
- package/cjs/{LocalizationContext-a0f833e9.js.map → LocalizationContext-7d2c13ee.js.map} +1 -1
- package/cjs/{MediaQueryContext-770ae8bc.js → MediaQueryContext-36855cf6.js} +1 -1
- package/cjs/{MediaQueryContext-770ae8bc.js.map → MediaQueryContext-36855cf6.js.map} +1 -1
- package/cjs/{MemberList-4a0910dd.js → MemberList-cf4488bc.js} +10 -7
- package/cjs/MemberList-cf4488bc.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +13 -11
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +2 -2
- package/cjs/MessageSearch.js +13 -11
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +13 -13
- package/cjs/OpenChannel/components/OpenChannelInput.js +16 -15
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +22 -22
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +24 -24
- package/cjs/OpenChannel/components/OpenChannelUI.js +24 -24
- package/cjs/OpenChannel/context.js +9 -9
- package/cjs/OpenChannel.js +24 -24
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +4 -4
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-e97c8ed9.js → OpenChannelListProvider-d0e494e8.js} +3 -3
- package/cjs/{OpenChannelListProvider-e97c8ed9.js.map → OpenChannelListProvider-d0e494e8.js.map} +1 -1
- package/cjs/{OpenChannelProvider-9b453ac0.js → OpenChannelProvider-84d45a52.js} +7 -7
- package/cjs/{OpenChannelProvider-9b453ac0.js.map → OpenChannelProvider-84d45a52.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +13 -13
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +18 -18
- package/cjs/{RemoveMessageModal-7bde69be.js → RemoveMessageModal-44018509.js} +3 -3
- package/cjs/{RemoveMessageModal-7bde69be.js.map → RemoveMessageModal-44018509.js.map} +1 -1
- package/cjs/SendbirdProvider.js +29 -11
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +34 -24
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +33 -16
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +33 -24
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +41 -26
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +73 -23
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +49 -31
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +9 -8
- package/cjs/Thread/context.js.map +1 -1
- package/cjs/Thread.js +47 -29
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-71441c16.js → ThreadProvider-e8591a61.js} +90 -10
- package/cjs/ThreadProvider-e8591a61.js.map +1 -0
- package/cjs/{UserProfileContext-74e6409b.js → UserProfileContext-89b8a98d.js} +1 -1
- package/cjs/{UserProfileContext-74e6409b.js.map → UserProfileContext-89b8a98d.js.map} +1 -1
- package/cjs/VoiceMessageInputWrapper-6d309e8c.js +179 -0
- package/cjs/VoiceMessageInputWrapper-6d309e8c.js.map +1 -0
- package/cjs/VoicePlayer/context.js +14 -0
- package/cjs/VoicePlayer/context.js.map +1 -0
- package/cjs/VoicePlayer/useVoicePlayer.js +91 -0
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
- package/cjs/VoiceRecorder/context.js +253 -0
- package/cjs/VoiceRecorder/context.js.map +1 -0
- package/cjs/VoiceRecorder/useVoiceRecorder.js +122 -0
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
- package/cjs/{_rollupPluginBabelHelpers-25763ef8.js → _rollupPluginBabelHelpers-9807f0cb.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-9807f0cb.js.map +1 -0
- package/cjs/{actionTypes-85a652e4.js → actionTypes-64f969d0.js} +1 -1
- package/cjs/{actionTypes-85a652e4.js.map → actionTypes-64f969d0.js.map} +1 -1
- package/cjs/{color-51fd9a0c.js → color-ae15b40e.js} +1 -1
- package/cjs/{color-51fd9a0c.js.map → color-ae15b40e.js.map} +1 -1
- package/cjs/{compareIds-44844f10.js → compareIds-88a3abee.js} +1 -1
- package/cjs/{compareIds-44844f10.js.map → compareIds-88a3abee.js.map} +1 -1
- package/cjs/{const-4761421a.js → const-6d993a66.js} +1 -1
- package/cjs/{const-4761421a.js.map → const-6d993a66.js.map} +1 -1
- package/cjs/{const-618dd4f4.js → const-98ae036e.js} +1 -1
- package/cjs/{const-618dd4f4.js.map → const-98ae036e.js.map} +1 -1
- package/cjs/consts-7142bdfe.js +36 -0
- package/cjs/consts-7142bdfe.js.map +1 -0
- package/cjs/{context-4b1de73e.js → context-9f945182.js} +2 -2
- package/cjs/{context-4b1de73e.js.map → context-9f945182.js.map} +1 -1
- package/cjs/dist/index.css +413 -16
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-32b39be6.js → index-1f2ac00b.js} +5 -5
- package/cjs/{index-32b39be6.js.map → index-1f2ac00b.js.map} +1 -1
- package/cjs/{index-4dc29990.js → index-31135e46.js} +1 -1
- package/cjs/{index-4dc29990.js.map → index-31135e46.js.map} +1 -1
- package/cjs/{index-9f6a474c.js → index-318ca5bb.js} +2 -2
- package/cjs/{index-9f6a474c.js.map → index-318ca5bb.js.map} +1 -1
- package/cjs/{index-0e76934f.js → index-45c199d5.js} +8 -8
- package/cjs/index-45c199d5.js.map +1 -0
- package/cjs/{index-bfe8bdde.js → index-6691da2c.js} +49 -3
- package/cjs/index-6691da2c.js.map +1 -0
- package/cjs/{index-97532335.js → index-80ec94b9.js} +2 -2
- package/cjs/{index-97532335.js.map → index-80ec94b9.js.map} +1 -1
- package/cjs/{index-2c095d94.js → index-86b55059.js} +2 -2
- package/cjs/{index-2c095d94.js.map → index-86b55059.js.map} +1 -1
- package/cjs/{index-c4738d8b.js → index-9d2d5d23.js} +3 -3
- package/cjs/{index-c4738d8b.js.map → index-9d2d5d23.js.map} +1 -1
- package/cjs/{index-756baf20.js → index-9f074bb0.js} +7 -7
- package/cjs/{index-756baf20.js.map → index-9f074bb0.js.map} +1 -1
- package/cjs/{index-4d6f2a4e.js → index-a34a53d3.js} +4 -4
- package/cjs/{index-4d6f2a4e.js.map → index-a34a53d3.js.map} +1 -1
- package/cjs/{index-67134275.js → index-c34f34a2.js} +2 -2
- package/cjs/{index-67134275.js.map → index-c34f34a2.js.map} +1 -1
- package/cjs/index-e0971532.js +280 -0
- package/cjs/index-e0971532.js.map +1 -0
- package/cjs/index-fa531baa.js +175 -0
- package/cjs/index-fa531baa.js.map +1 -0
- package/cjs/{index-7d4e7ad9.js → index-fb42d34c.js} +1 -1
- package/cjs/{index-7d4e7ad9.js.map → index-fb42d34c.js.map} +1 -1
- package/cjs/index.js +51 -39
- package/cjs/index.js.map +1 -1
- package/cjs/lame.all.js +14498 -0
- package/cjs/lame.all.js.map +1 -0
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-87e51d08.js → stringSet-d4071e23.js} +5 -1
- package/cjs/stringSet-d4071e23.js.map +1 -0
- package/cjs/{topics-d9091126.js → topics-7108f68f.js} +1 -1
- package/cjs/{topics-d9091126.js.map → topics-7108f68f.js.map} +1 -1
- package/cjs/{tslib.es6-0b4c49f8.js → tslib.es6-23b4ef32.js} +1 -1
- package/cjs/{tslib.es6-0b4c49f8.js.map → tslib.es6-23b4ef32.js.map} +1 -1
- package/cjs/types-8f7bbb00.js +11 -0
- package/cjs/types-8f7bbb00.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/Icon.js +354 -314
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +11 -11
- package/cjs/ui/MessageContent.js +35 -20
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +35 -16
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +9 -8
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +17 -14
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- 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 +36 -26
- 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 +16 -16
- 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 +36 -0
- package/cjs/ui/PlaybackTime.js.map +1 -0
- package/cjs/ui/ProgressBar.js +41 -0
- package/cjs/ui/ProgressBar.js.map +1 -0
- package/cjs/ui/QuoteMessage.js +14 -8
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +12 -11
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +11 -11
- 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 +11 -11
- package/cjs/ui/UserProfile.js +10 -10
- package/cjs/ui/VoiceMessageItemBody.js +119 -0
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
- package/cjs/ui/VoiceMessgeInput.js +23 -0
- package/cjs/ui/VoiceMessgeInput.js.map +1 -0
- package/cjs/ui/Word.js +11 -11
- package/cjs/{useLongPress-ff6353a1.js → useLongPress-62a89444.js} +3 -3
- package/cjs/{useLongPress-ff6353a1.js.map → useLongPress-62a89444.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +10 -0
- package/cjs/utils/message/isVoiceMessage.js.map +1 -0
- package/cjs/{utils-aa1597cc.js → utils-178ccede.js} +1 -1
- package/cjs/{utils-aa1597cc.js.map → utils-178ccede.js.map} +1 -1
- package/cjs/{utils-edb40a10.js → utils-41fef560.js} +2 -2
- package/cjs/{utils-edb40a10.js.map → utils-41fef560.js.map} +1 -1
- package/cjs/{utils-c948ddfe.js → utils-7bec6eaa.js} +1 -1
- package/cjs/{utils-c948ddfe.js.map → utils-7bec6eaa.js.map} +1 -1
- package/cjs/{utils-72ab488f.js → utils-b691a058.js} +1 -1
- package/cjs/{utils-72ab488f.js.map → utils-b691a058.js.map} +1 -1
- package/cjs/{uuid-0b5f4e5e.js → uuid-42040a5c.js} +1 -1
- package/cjs/{uuid-0b5f4e5e.js.map → uuid-42040a5c.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-1b42e49d.js → color-f2370c85.js} +1 -1
- package/{color-1b42e49d.js.map → color-f2370c85.js.map} +1 -1
- package/{compareIds-df760ae2.js → compareIds-a4557492.js} +1 -1
- package/{compareIds-df760ae2.js.map → compareIds-a4557492.js.map} +1 -1
- package/{const-c269fd32.js → const-593595f5.js} +1 -1
- package/{const-c269fd32.js.map → const-593595f5.js.map} +1 -1
- package/{const-11ae0dd9.js → const-ce447fcf.js} +1 -1
- package/{const-11ae0dd9.js.map → const-ce447fcf.js.map} +1 -1
- package/consts-d2d25dac.js +23 -0
- package/consts-d2d25dac.js.map +1 -0
- package/{context-2c35a852.js → context-95839b09.js} +2 -2
- package/{context-2c35a852.js.map → context-95839b09.js.map} +1 -1
- package/dist/index.css +413 -16
- package/dist/index.css.map +1 -1
- package/{index-6a8be188.js → index-2aaa784a.js} +7 -7
- package/{index-6a8be188.js.map → index-2aaa784a.js.map} +1 -1
- package/{index-e2994193.js → index-4a977e7d.js} +2 -2
- package/{index-e2994193.js.map → index-4a977e7d.js.map} +1 -1
- package/{index-6491c190.js → index-4b51e7af.js} +5 -5
- package/{index-6491c190.js.map → index-4b51e7af.js.map} +1 -1
- package/{index-30726ee1.js → index-4c6a2064.js} +2 -2
- package/{index-30726ee1.js.map → index-4c6a2064.js.map} +1 -1
- package/index-60d3992b.js +271 -0
- package/index-60d3992b.js.map +1 -0
- package/{index-8c38f9d0.js → index-620331eb.js} +2 -2
- package/{index-8c38f9d0.js.map → index-620331eb.js.map} +1 -1
- package/index-7b5efb26.js +168 -0
- package/index-7b5efb26.js.map +1 -0
- package/{index-a53d78b6.js → index-999fdb64.js} +1 -1
- package/{index-a53d78b6.js.map → index-999fdb64.js.map} +1 -1
- package/{index-1f0b91f3.js → index-9c2d0ccd.js} +2 -2
- package/{index-1f0b91f3.js.map → index-9c2d0ccd.js.map} +1 -1
- package/{index-fd5a03a3.js → index-b8e990b4.js} +1 -1
- package/{index-fd5a03a3.js.map → index-b8e990b4.js.map} +1 -1
- package/{index-425e5f17.js → index-bbab31f0.js} +48 -4
- package/index-bbab31f0.js.map +1 -0
- package/{index-aa4edbe2.js → index-daccde5e.js} +8 -8
- package/index-daccde5e.js.map +1 -0
- package/{index-6d541758.js → index-ed1f765b.js} +3 -3
- package/{index-6d541758.js.map → index-ed1f765b.js.map} +1 -1
- package/{index-aecdd02c.js → index-eefaf935.js} +4 -4
- package/{index-aecdd02c.js.map → index-eefaf935.js.map} +1 -1
- package/index.d.ts +16 -1
- package/index.js +51 -39
- package/index.js.map +1 -1
- package/lame.all.js +14492 -0
- package/lame.all.js.map +1 -0
- package/package.json +1 -1
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-c2443946.js → stringSet-f9763488.js} +5 -1
- package/stringSet-f9763488.js.map +1 -0
- package/{topics-0ba43ee8.js → topics-1ec669f0.js} +1 -1
- package/{topics-0ba43ee8.js.map → topics-1ec669f0.js.map} +1 -1
- package/{tslib.es6-13412863.js → tslib.es6-fc4a2658.js} +1 -1
- package/{tslib.es6-13412863.js.map → tslib.es6-fc4a2658.js.map} +1 -1
- package/types-e86f9fca.js +9 -0
- package/types-e86f9fca.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/Icon.js +341 -299
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +11 -11
- package/ui/MessageContent.js +35 -20
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +35 -16
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +9 -8
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +17 -14
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +37 -27
- 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 +16 -16
- package/ui/OpenchannelThumbnailMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js +16 -16
- package/ui/PlaceHolder.js +6 -6
- package/ui/PlaybackTime.js +27 -0
- package/ui/PlaybackTime.js.map +1 -0
- package/ui/ProgressBar.js +31 -0
- package/ui/ProgressBar.js.map +1 -0
- package/ui/QuoteMessage.js +14 -8
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +12 -11
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +11 -11
- 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 +11 -11
- package/ui/UserProfile.js +10 -10
- package/ui/VoiceMessageItemBody.js +110 -0
- package/ui/VoiceMessageItemBody.js.map +1 -0
- package/ui/VoiceMessgeInput.js +15 -0
- package/ui/VoiceMessgeInput.js.map +1 -0
- package/ui/Word.js +11 -11
- package/{useLongPress-fbe83e54.js → useLongPress-6fc8312a.js} +3 -3
- package/{useLongPress-fbe83e54.js.map → useLongPress-6fc8312a.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +7 -0
- package/utils/message/isVoiceMessage.js.map +1 -0
- package/{utils-87d19647.js → utils-2570c397.js} +1 -1
- package/{utils-87d19647.js.map → utils-2570c397.js.map} +1 -1
- package/{utils-dd13f89e.js → utils-6c7dd397.js} +1 -1
- package/{utils-dd13f89e.js.map → utils-6c7dd397.js.map} +1 -1
- package/{utils-9c95a786.js → utils-8c242c8c.js} +2 -2
- package/{utils-9c95a786.js.map → utils-8c242c8c.js.map} +1 -1
- package/{utils-87dce5dd.js → utils-c1d219fa.js} +1 -1
- package/{utils-87dce5dd.js.map → utils-c1d219fa.js.map} +1 -1
- package/{uuid-7a5e68ed.js → uuid-6ca64623.js} +1 -1
- package/{uuid-7a5e68ed.js.map → uuid-6ca64623.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelProvider-1e540c0e.js.map +0 -1
- package/MemberList-6483a7db.js.map +0 -1
- package/ThreadProvider-a1413f01.js.map +0 -1
- package/_rollupPluginBabelHelpers-b45d3824.js.map +0 -1
- package/cjs/ChannelProvider-3fbf7c5e.js.map +0 -1
- package/cjs/MemberList-4a0910dd.js.map +0 -1
- package/cjs/ThreadProvider-71441c16.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-25763ef8.js.map +0 -1
- package/cjs/index-0e76934f.js.map +0 -1
- package/cjs/index-bfe8bdde.js.map +0 -1
- package/cjs/stringSet-87e51d08.js.map +0 -1
- package/index-425e5f17.js.map +0 -1
- package/index-aa4edbe2.js.map +0 -1
- package/stringSet-c2443946.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItem.js","sources":["../../../../src/smart-components/Thread/components/ThreadList/ThreadListItemContent.tsx","../../../../src/smart-components/Thread/components/ThreadList/ThreadListItem.tsx"],"sourcesContent":["import React, { useContext, useRef, useState } from 'react';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport './ThreadListItemContent.scss';\n\nimport { ReplyType } from '../../../../types';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport Avatar from '../../../../ui/Avatar';\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport { UserProfileContextInterface } from '../../../../ui/MessageContent';\nimport UserProfile from '../../../../ui/UserProfile';\nimport MessageItemMenu from '../../../../ui/MessageItemMenu';\nimport MessageItemReactionMenu from '../../../../ui/MessageItemReactionMenu';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { getClassName, getSenderName, getUIKitMessageType, getUIKitMessageTypes, isOGMessage, isTextMessage, isThumbnailMessage } from '../../../../utils';\nimport MessageStatus from '../../../../ui/MessageStatus';\nimport EmojiReactions from '../../../../ui/EmojiReactions';\nimport format from 'date-fns/format';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport TextMessageItemBody from '../../../../ui/TextMessageItemBody';\nimport OGMessageItemBody from '../../../../ui/OGMessageItemBody';\nimport FileMessageItemBody from '../../../../ui/FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../../../../ui/ThumbnailMessageItemBody';\nimport UnknownMessageItemBody from '../../../../ui/UnknownMessageItemBody';\n\nexport interface ThreadListItemContentProps {\n className?: string;\n userId: string;\n channel: GroupChannel;\n message: UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => void;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n}\n\nexport default function ThreadListItemContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isMentionEnabled = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n onReplyInThread,\n}: ThreadListItemContentProps): React.ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const [supposedHover, setSupposedHover] = useState(false);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext<UserProfileContextInterface>(UserProfileContext);\n const avatarRef = useRef(null);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n return (\n <div className={`sendbird-thread-list-item-content ${className} ${isByMe ? 'outgoing' : 'incoming'}`}>\n <div className={`sendbird-thread-list-item-content__left ${isReactionEnabled ? 'use-reaction' : ''} ${isByMe ? 'outgoing' : 'incoming'}`}>\n {(!isByMe && !chainBottom) && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-thread-list-item-content__left__avatar\"\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown?.();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n : <UserProfile user={message?.sender} onSuccess={closeDropdown} />\n }\n </MenuItems>\n )}\n />\n )}\n {isByMe && (\n <div\n className={`sendbird-thread-list-item-content-menu ${isReactionEnabled ? 'use-reaction' : ''\n } ${isByMe ? 'outgoing' : 'incoming'\n } ${supposedHoverClassName}`}\n >\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n <div className=\"sendbird-thread-list-item-content__middle\">\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-thread-list-item-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-thread-list-item-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n truncateLimit={isByMe ? 18 : 14}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n showFileViewer={showFileViewer}\n style={{\n width: '200px',\n height: '148px',\n }}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {/* reactions */}\n {(isReactionEnabled && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-thread-list-item-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n </div>\n <div\n className={`sendbird-thread-list-item-content__right ${chainTop ? 'chain-top' : ''\n } ${isByMe ? 'outgoing' : 'incoming'}`}\n >\n {!isByMe && (\n <div className={`sendbird-thread-list-item-content-menu ${supposedHoverClassName}`}>\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n </div>\n )}\n </div>\n </div>\n );\n}\n","import React, { useMemo, useState, useRef, useEffect, useLayoutEffect } from 'react';\nimport format from 'date-fns/format';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport RemoveMessage from '../RemoveMessageModal';\nimport FileViewer from '../../../../ui/FileViewer';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { ThreadListStateTypes } from '../../types';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport ThreadListItemContent from './ThreadListItemContent';\nimport { Role } from '@sendbird/chat';\n\nexport interface ThreadListItemProps {\n className?: string;\n message: UserMessage | FileMessage;\n chainTop?: boolean;\n chainBottom?: boolean;\n hasSeparator?: boolean;\n renderCustomSeparator?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;\n handleScroll?: () => void;\n}\n\nexport default function ThreadListItem({\n className,\n message,\n chainTop,\n chainBottom,\n hasSeparator,\n renderCustomSeparator,\n handleScroll,\n}: ThreadListItemProps): React.ReactElement {\n const { stores, config } = useSendbirdStateContext();\n const {\n isReactionEnabled,\n isMentionEnabled,\n isOnline,\n replyType,\n userMention,\n } = config;\n const userId = stores?.userStore?.user?.userId;\n const { dateLocale } = useLocalization();\n const threadContext = useThreadContext?.();\n const {\n currentChannel,\n nicknamesMap,\n emojiContainer,\n toggleReaction,\n threadListState,\n updateMessage,\n resendMessage,\n deleteMessage,\n isMuted,\n isChannelFrozen,\n } = threadContext;\n const openingMessage = threadContext?.message;\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const usingReaction = isReactionEnabled && !currentChannel?.isSuper && !currentChannel?.isBroadcast;\n\n // Move to message\n const messageScrollRef = useRef(null);\n useLayoutEffect(() => {\n if (openingMessage?.messageId === message?.messageId && messageScrollRef?.current) {\n messageScrollRef.current?.scrollIntoView({ block: 'center', inline: 'center' });\n }\n }, [openingMessage, messageScrollRef?.current]);\n\n // reactions\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n // mention\n const editMessageInputRef = useRef(null);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isMuted\n && !(isChannelFrozen && !(currentChannel.myRole === Role.OPERATOR));\n useEffect(() => {\n if (mentionedUsers?.length >= userMention?.maxMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // edit input\n const disabled = !(threadListState === ThreadListStateTypes.INITIALIZED)\n || !isOnline\n || isMuted\n || isChannelFrozen;\n\n // memorize\n const MemorizedSeparator = useMemo(() => {\n if (typeof renderCustomSeparator === 'function') {\n return renderCustomSeparator?.({ message });\n }\n }, [message, renderCustomSeparator]);\n\n // Edit message\n if (showEdit && message.isUserMessage()) {\n return (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n // renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([])\n setShowEdit(false);\n currentChannel?.endTyping?.();\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n ref={messageScrollRef}\n className={`sendbird-thread-list-item ${className}`}\n >\n {/* date separator */}\n {\n hasSeparator && message?.createdAt && (MemorizedSeparator || (\n <DateSeparator>\n <Label\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt, 'MMM dd, yyyy', { locale: dateLocale })}\n </Label>\n </DateSeparator>\n ))\n }\n <ThreadListItemContent\n userId={userId}\n channel={currentChannel}\n message={message}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={usingReaction}\n isMentionEnabled={isMentionEnabled}\n disableQuoteMessage\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n toggleReaction={toggleReaction}\n showEdit={setShowEdit}\n />\n {/* modal */}\n {showRemove && (\n <RemoveMessage\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )}\n {showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n isByMe={message?.sender?.userId === userId}\n onClose={() => setShowFileViewer(false)}\n onDelete={() => {\n deleteMessage(message);\n setShowFileViewer(false);\n }}\n />\n )}\n </div>\n );\n}\n"],"names":["ThreadListItemContent","_a","className","userId","channel","message","_f","disabled","_g","chainTop","_h","chainBottom","_j","isMentionEnabled","_k","isReactionEnabled","_l","disableQuoteMessage","replyType","nicknamesMap","emojiContainer","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","onReplyInThread","messageTypes","getUIKitMessageTypes","dateLocale","useLocalization","_m","useState","supposedHover","setSupposedHover","_o","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","isByMe","sender","_b","sendingStatus","useReplying","parentMessageId","parentMessage","supposedHoverClassName","React","concat","ContextMenu","toggleDropdown","Avatar","members","find","member","profileUrl","_c","closeDropdown","MenuItems","paddingTop","paddingBottom","user","close","UserProfile","MessageItemMenu","MessageItemReactionMenu","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","_d","nickname","getSenderName","getClassName","MessageStatus","isTextMessage","TextMessageItemBody","isOGMessage","OGMessageItemBody","getUIKitMessageType","FILE","FileMessageItemBody","isThumbnailMessage","ThumbnailMessageItemBody","width","height","UNKNOWN","UnknownMessageItemBody","_e","reactions","length","EmojiReactions","CAPTION_3","format","createdAt","locale","ThreadListItem","hasSeparator","renderCustomSeparator","handleScroll","useSendbirdStateContext","stores","config","isOnline","userMention","userStore","threadContext","useThreadContext","currentChannel","threadListState","updateMessage","deleteMessage","isMuted","isChannelFrozen","openingMessage","setShowEdit","setShowRemove","setShowFileViewer","usingReaction","isSuper","isBroadcast","messageScrollRef","useLayoutEffect","messageId","current","scrollIntoView","block","inline","editMessageInputRef","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","_p","selectedUser","setSelectedUser","_q","mentionSuggestedUsers","setMentionSuggestedUsers","_r","ableMention","setAbleMention","displaySuggestedMentionList","myRole","Role","OPERATOR","useEffect","maxMentionCount","filter","i","indexOf","splice","ThreadListStateTypes","INITIALIZED","MemorizedSeparator","useMemo","isUserMessage","SuggestedMentionList","__spreadArray","users","maxSuggestionCount","MessageInput","startTyping","mentionTemplate","endTyping","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","DateSeparator","RemoveMessage","FileViewer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThreadListItem.js","sources":["../../../../src/smart-components/Thread/components/ThreadList/ThreadListItemContent.tsx","../../../../src/smart-components/Thread/components/ThreadList/ThreadListItem.tsx"],"sourcesContent":["import React, { useContext, useRef, useState } from 'react';\nimport { EmojiContainer } from '@sendbird/chat';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\n\nimport './ThreadListItemContent.scss';\n\nimport { ReplyType } from '../../../../types';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport Avatar from '../../../../ui/Avatar';\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport { UserProfileContextInterface } from '../../../../ui/MessageContent';\nimport UserProfile from '../../../../ui/UserProfile';\nimport MessageItemMenu from '../../../../ui/MessageItemMenu';\nimport MessageItemReactionMenu from '../../../../ui/MessageItemReactionMenu';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { getClassName, getSenderName, getUIKitMessageType, getUIKitMessageTypes, isOGMessage, isTextMessage, isThumbnailMessage, isVoiceMessage } from '../../../../utils';\nimport MessageStatus from '../../../../ui/MessageStatus';\nimport EmojiReactions from '../../../../ui/EmojiReactions';\nimport format from 'date-fns/format';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport TextMessageItemBody from '../../../../ui/TextMessageItemBody';\nimport OGMessageItemBody from '../../../../ui/OGMessageItemBody';\nimport FileMessageItemBody from '../../../../ui/FileMessageItemBody';\nimport ThumbnailMessageItemBody from '../../../../ui/ThumbnailMessageItemBody';\nimport UnknownMessageItemBody from '../../../../ui/UnknownMessageItemBody';\nimport VoiceMessageItemBody from '../../../../ui/VoiceMessageItemBody';\n\nexport interface ThreadListItemContentProps {\n className?: string;\n userId: string;\n channel: GroupChannel;\n message: UserMessage | FileMessage;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n isMentionEnabled?: boolean;\n isReactionEnabled?: boolean;\n disableQuoteMessage?: boolean;\n replyType?: ReplyType;\n nicknamesMap?: Map<string, string>;\n emojiContainer?: EmojiContainer;\n showEdit?: (bool: boolean) => void;\n showRemove?: (bool: boolean) => void;\n showFileViewer?: (bool: boolean) => void;\n resendMessage?: (message: UserMessage | FileMessage) => void;\n toggleReaction?: (message: UserMessage | FileMessage, reactionKey: string, isReacted: boolean) => void;\n onReplyInThread?: (props: { message: UserMessage | FileMessage }) => void;\n}\n\nexport default function ThreadListItemContent({\n className,\n userId,\n channel,\n message,\n disabled = false,\n chainTop = false,\n chainBottom = false,\n isMentionEnabled = false,\n isReactionEnabled = false,\n disableQuoteMessage = false,\n replyType,\n nicknamesMap,\n emojiContainer,\n showEdit,\n showRemove,\n showFileViewer,\n resendMessage,\n toggleReaction,\n onReplyInThread,\n}: ThreadListItemContentProps): React.ReactElement {\n const messageTypes = getUIKitMessageTypes();\n const { dateLocale } = useLocalization();\n const [supposedHover, setSupposedHover] = useState(false);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext<UserProfileContextInterface>(UserProfileContext);\n const avatarRef = useRef(null);\n\n const isByMe = (userId === (message as UserMessage | FileMessage)?.sender?.userId)\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'pending')\n || ((message as UserMessage | FileMessage)?.sendingStatus === 'failed');\n const useReplying = !!((replyType === 'QUOTE_REPLY' || replyType === 'THREAD')\n && message?.parentMessageId && message?.parentMessage\n && !disableQuoteMessage\n );\n const supposedHoverClassName = supposedHover ? 'sendbird-mouse-hover' : '';\n return (\n <div className={`sendbird-thread-list-item-content ${className} ${isByMe ? 'outgoing' : 'incoming'}`}>\n <div className={`sendbird-thread-list-item-content__left ${isReactionEnabled ? 'use-reaction' : ''} ${isByMe ? 'outgoing' : 'incoming'}`}>\n {(!isByMe && !chainBottom) && (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n className=\"sendbird-thread-list-item-content__left__avatar\"\n src={channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.profileUrl || message?.sender?.profileUrl || ''}\n ref={avatarRef}\n width=\"28px\"\n height=\"28px\"\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown?.();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={avatarRef}\n parentContainRef={avatarRef}\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {renderUserProfile\n ? renderUserProfile({ user: message?.sender, close: closeDropdown })\n : <UserProfile user={message?.sender} onSuccess={closeDropdown} />\n }\n </MenuItems>\n )}\n />\n )}\n {isByMe && (\n <div\n className={`sendbird-thread-list-item-content-menu ${isReactionEnabled ? 'use-reaction' : ''\n } ${isByMe ? 'outgoing' : 'incoming'\n } ${supposedHoverClassName}`}\n >\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showEdit={showEdit}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n </div>\n )}\n </div>\n <div className=\"sendbird-thread-list-item-content__middle\">\n {(!isByMe && !chainTop && !useReplying) && (\n <Label\n className=\"sendbird-thread-list-item-content__middle__sender-name\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n channel?.members?.find((member) => member?.userId === message?.sender?.userId)?.nickname\n || getSenderName(message as UserMessage | FileMessage)\n // TODO: Divide getting profileUrl logic to utils\n }\n </Label>\n )}\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container'])} >\n {/* message status component */}\n {(isByMe && !chainBottom) && (\n <div className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'left', supposedHoverClassName])}>\n <div className=\"sendbird-thread-list-item-content__middle__body-container__created-at__component-container\">\n <MessageStatus\n message={message as UserMessage | FileMessage}\n channel={channel}\n />\n </div>\n </div>\n )}\n {/* message item body components */}\n {isTextMessage(message as UserMessage) && (\n <TextMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(isOGMessage(message as UserMessage)) && (\n <OGMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as UserMessage}\n isByMe={isByMe}\n isMentionEnabled={isMentionEnabled}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {isVoiceMessage(message as FileMessage) && (\n <VoiceMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n channelUrl={channel?.url}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.FILE) && (\n <FileMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n truncateLimit={isByMe ? 18 : 14}\n />\n )}\n {(isThumbnailMessage(message as FileMessage)) && (\n <ThumbnailMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message as FileMessage}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n showFileViewer={showFileViewer}\n style={{\n width: '200px',\n height: '148px',\n }}\n />\n )}\n {(getUIKitMessageType((message as FileMessage)) === messageTypes.UNKNOWN) && (\n <UnknownMessageItemBody\n className=\"sendbird-thread-list-item-content__middle__message-item-body\"\n message={message}\n isByMe={isByMe}\n isReactionEnabled={isReactionEnabled}\n />\n )}\n {/* reactions */}\n {(isReactionEnabled && message?.reactions?.length > 0) && (\n <div className={getClassName([\n 'sendbird-thread-list-item-content-reactions',\n (!isByMe || isThumbnailMessage(message as FileMessage) || isOGMessage(message as UserMessage)) ? '' : 'primary',\n ])}>\n <EmojiReactions\n userId={userId}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n emojiContainer={emojiContainer}\n memberNicknamesMap={nicknamesMap}\n toggleReaction={toggleReaction}\n />\n </div>\n )}\n {(!isByMe && !chainBottom) && (\n <Label\n className={getClassName(['sendbird-thread-list-item-content__middle__body-container__created-at', 'right', supposedHoverClassName])}\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt || 0, 'p', {\n locale: dateLocale,\n })}\n </Label>\n )}\n </div>\n </div>\n <div\n className={`sendbird-thread-list-item-content__right ${chainTop ? 'chain-top' : ''\n } ${isByMe ? 'outgoing' : 'incoming'}`}\n >\n {!isByMe && (\n <div className={`sendbird-thread-list-item-content-menu ${supposedHoverClassName}`}>\n {isReactionEnabled && (\n <MessageItemReactionMenu\n className=\"sendbird-thread-list-item-content-menu__reaction-menu\"\n message={message as UserMessage | FileMessage}\n userId={userId}\n spaceFromTrigger={{}}\n emojiContainer={emojiContainer}\n toggleReaction={toggleReaction}\n setSupposedHover={setSupposedHover}\n />\n )}\n <MessageItemMenu\n className=\"sendbird-thread-list-item-content-menu__normal-menu\"\n channel={channel}\n message={message as UserMessage | FileMessage}\n isByMe={isByMe}\n replyType={replyType}\n disabled={disabled}\n showRemove={showRemove}\n resendMessage={resendMessage}\n setSupposedHover={setSupposedHover}\n onReplyInThread={onReplyInThread}\n />\n </div>\n )}\n </div>\n </div>\n );\n}\n","import React, { useMemo, useState, useRef, useEffect, useLayoutEffect } from 'react';\nimport format from 'date-fns/format';\nimport { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport DateSeparator from '../../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport RemoveMessage from '../RemoveMessageModal';\nimport FileViewer from '../../../../ui/FileViewer';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { ThreadListStateTypes } from '../../types';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport ThreadListItemContent from './ThreadListItemContent';\nimport { Role } from '../../../../lib/types';\n\nexport interface ThreadListItemProps {\n className?: string;\n message: UserMessage | FileMessage;\n chainTop?: boolean;\n chainBottom?: boolean;\n hasSeparator?: boolean;\n renderCustomSeparator?: (props: { message: UserMessage | FileMessage }) => React.ReactElement;\n handleScroll?: () => void;\n}\n\nexport default function ThreadListItem({\n className,\n message,\n chainTop,\n chainBottom,\n hasSeparator,\n renderCustomSeparator,\n handleScroll,\n}: ThreadListItemProps): React.ReactElement {\n const { stores, config } = useSendbirdStateContext();\n const {\n isReactionEnabled,\n isMentionEnabled,\n isOnline,\n replyType,\n userMention,\n } = config;\n const userId = stores?.userStore?.user?.userId;\n const { dateLocale } = useLocalization();\n const threadContext = useThreadContext?.();\n const {\n currentChannel,\n nicknamesMap,\n emojiContainer,\n toggleReaction,\n threadListState,\n updateMessage,\n resendMessage,\n deleteMessage,\n isMuted,\n isChannelFrozen,\n } = threadContext;\n const openingMessage = threadContext?.message;\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const usingReaction = isReactionEnabled && !currentChannel?.isSuper && !currentChannel?.isBroadcast;\n\n // Move to message\n const messageScrollRef = useRef(null);\n useLayoutEffect(() => {\n if (openingMessage?.messageId === message?.messageId && messageScrollRef?.current) {\n messageScrollRef.current?.scrollIntoView({ block: 'center', inline: 'center' });\n }\n }, [openingMessage, messageScrollRef?.current]);\n\n // reactions\n useLayoutEffect(() => {\n handleScroll?.();\n }, [showEdit, message?.reactions?.length]);\n\n // mention\n const editMessageInputRef = useRef(null);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !isMuted\n && !(isChannelFrozen && !(currentChannel.myRole === Role.OPERATOR));\n useEffect(() => {\n if (mentionedUsers?.length >= userMention?.maxMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // edit input\n const disabled = !(threadListState === ThreadListStateTypes.INITIALIZED)\n || !isOnline\n || isMuted\n || isChannelFrozen;\n\n // memorize\n const MemorizedSeparator = useMemo(() => {\n if (typeof renderCustomSeparator === 'function') {\n return renderCustomSeparator?.({ message });\n }\n }, [message, renderCustomSeparator]);\n\n // Edit message\n if (showEdit && message.isUserMessage()) {\n return (\n <>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n // renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n <MessageInput\n isEdit\n disabled={disabled}\n ref={editMessageInputRef}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n message={message}\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onUpdateMessage={({ messageId, message, mentionTemplate }) => {\n updateMessage({\n messageId,\n message,\n mentionedUsers,\n mentionTemplate,\n });\n setShowEdit(false);\n currentChannel?.endTyping?.();\n }}\n onCancelEdit={() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setMentionSuggestedUsers([])\n setShowEdit(false);\n currentChannel?.endTyping?.();\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </>\n );\n }\n\n return (\n <div\n ref={messageScrollRef}\n className={`sendbird-thread-list-item ${className}`}\n >\n {/* date separator */}\n {\n hasSeparator && message?.createdAt && (MemorizedSeparator || (\n <DateSeparator>\n <Label\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {format(message?.createdAt, 'MMM dd, yyyy', { locale: dateLocale })}\n </Label>\n </DateSeparator>\n ))\n }\n <ThreadListItemContent\n userId={userId}\n channel={currentChannel}\n message={message}\n chainTop={chainTop}\n chainBottom={chainBottom}\n isReactionEnabled={usingReaction}\n isMentionEnabled={isMentionEnabled}\n disableQuoteMessage\n replyType={replyType}\n nicknamesMap={nicknamesMap}\n emojiContainer={emojiContainer}\n resendMessage={resendMessage}\n showRemove={setShowRemove}\n showFileViewer={setShowFileViewer}\n toggleReaction={toggleReaction}\n showEdit={setShowEdit}\n />\n {/* modal */}\n {showRemove && (\n <RemoveMessage\n message={message}\n onCancel={() => setShowRemove(false)}\n />\n )}\n {showFileViewer && (\n <FileViewer\n message={message as FileMessage}\n isByMe={message?.sender?.userId === userId}\n onClose={() => setShowFileViewer(false)}\n onDelete={() => {\n deleteMessage(message);\n setShowFileViewer(false);\n }}\n />\n )}\n </div>\n );\n}\n"],"names":["ThreadListItemContent","_a","className","userId","channel","message","_f","disabled","_g","chainTop","_h","chainBottom","_j","isMentionEnabled","_k","isReactionEnabled","_l","disableQuoteMessage","replyType","nicknamesMap","emojiContainer","showEdit","showRemove","showFileViewer","resendMessage","toggleReaction","onReplyInThread","messageTypes","getUIKitMessageTypes","dateLocale","useLocalization","_m","useState","supposedHover","setSupposedHover","_o","useContext","UserProfileContext","disableUserProfile","renderUserProfile","avatarRef","useRef","isByMe","sender","_b","sendingStatus","useReplying","parentMessageId","parentMessage","supposedHoverClassName","React","concat","ContextMenu","toggleDropdown","Avatar","members","find","member","profileUrl","_c","closeDropdown","MenuItems","paddingTop","paddingBottom","user","close","UserProfile","MessageItemMenu","MessageItemReactionMenu","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","_d","nickname","getSenderName","getClassName","MessageStatus","isTextMessage","TextMessageItemBody","isOGMessage","OGMessageItemBody","isVoiceMessage","VoiceMessageItemBody","url","getUIKitMessageType","FILE","FileMessageItemBody","isThumbnailMessage","ThumbnailMessageItemBody","width","height","UNKNOWN","UnknownMessageItemBody","_e","reactions","length","EmojiReactions","CAPTION_3","format","createdAt","locale","ThreadListItem","hasSeparator","renderCustomSeparator","handleScroll","useSendbirdStateContext","stores","config","isOnline","userMention","userStore","threadContext","useThreadContext","currentChannel","threadListState","updateMessage","deleteMessage","isMuted","isChannelFrozen","openingMessage","setShowEdit","setShowRemove","setShowFileViewer","usingReaction","isSuper","isBroadcast","messageScrollRef","useLayoutEffect","messageId","current","scrollIntoView","block","inline","editMessageInputRef","mentionNickname","setMentionNickname","mentionedUsers","setMentionedUsers","mentionedUserIds","setMentionedUserIds","messageInputEvent","setMessageInputEvent","_p","selectedUser","setSelectedUser","_q","mentionSuggestedUsers","setMentionSuggestedUsers","_r","ableMention","setAbleMention","displaySuggestedMentionList","myRole","Role","OPERATOR","useEffect","maxMentionCount","filter","i","indexOf","splice","ThreadListStateTypes","INITIALIZED","MemorizedSeparator","useMemo","isUserMessage","SuggestedMentionList","__spreadArray","users","maxSuggestionCount","MessageInput","startTyping","mentionTemplate","endTyping","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","DateSeparator","RemoveMessage","FileViewer"],"mappings":"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"}
|
|
@@ -1,67 +1,88 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
3
|
+
var tslib_es6 = require('../../tslib.es6-23b4ef32.js');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var SendbirdChat = require('@sendbird/chat');
|
|
6
5
|
var groupChannel = require('@sendbird/chat/groupChannel');
|
|
7
6
|
var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
|
|
8
7
|
var ui_MessageInput = require('../../ui/MessageInput.js');
|
|
9
|
-
var _const = require('../../const-
|
|
8
|
+
var _const = require('../../const-6d993a66.js');
|
|
10
9
|
var Channel_components_SuggestedMentionList = require('../../Channel/components/SuggestedMentionList.js');
|
|
11
|
-
var Thread_context = require('../../ThreadProvider-
|
|
12
|
-
var LocalizationContext = require('../../LocalizationContext-
|
|
10
|
+
var Thread_context = require('../../ThreadProvider-e8591a61.js');
|
|
11
|
+
var LocalizationContext = require('../../LocalizationContext-7d2c13ee.js');
|
|
12
|
+
var VoiceMessageInputWrapper = require('../../VoiceMessageInputWrapper-6d309e8c.js');
|
|
13
|
+
var types = require('../../types-8f7bbb00.js');
|
|
13
14
|
require('../../withSendbird.js');
|
|
14
|
-
require('../../_rollupPluginBabelHelpers-
|
|
15
|
+
require('../../_rollupPluginBabelHelpers-9807f0cb.js');
|
|
15
16
|
require('react-dom/server');
|
|
16
17
|
require('prop-types');
|
|
17
|
-
require('../../const-
|
|
18
|
+
require('../../const-98ae036e.js');
|
|
18
19
|
require('../../ui/IconButton.js');
|
|
19
20
|
require('../../ui/Button.js');
|
|
20
|
-
require('../../index-
|
|
21
|
-
require('../../stringSet-
|
|
21
|
+
require('../../index-86b55059.js');
|
|
22
|
+
require('../../stringSet-d4071e23.js');
|
|
22
23
|
require('../../ui/MentionUserLabel.js');
|
|
23
24
|
require('../../ui/Icon.js');
|
|
24
|
-
require('../../index-
|
|
25
|
+
require('../../index-6691da2c.js');
|
|
25
26
|
require('../../utils/message/getOutgoingMessageState.js');
|
|
26
|
-
require('../../index-
|
|
27
|
+
require('../../index-31135e46.js');
|
|
27
28
|
require('../../ui/Avatar.js');
|
|
28
29
|
require('../../ui/ImageRenderer.js');
|
|
29
|
-
require('../../uuid-
|
|
30
|
-
require('../../ChannelProvider-
|
|
31
|
-
require('../../UserProfileContext-
|
|
32
|
-
require('../../index-
|
|
33
|
-
require('../../topics-
|
|
34
|
-
require('../../compareIds-
|
|
30
|
+
require('../../uuid-42040a5c.js');
|
|
31
|
+
require('../../ChannelProvider-56b10dd6.js');
|
|
32
|
+
require('../../UserProfileContext-89b8a98d.js');
|
|
33
|
+
require('../../index-c34f34a2.js');
|
|
34
|
+
require('../../topics-7108f68f.js');
|
|
35
|
+
require('../../compareIds-88a3abee.js');
|
|
35
36
|
require('@sendbird/chat/message');
|
|
36
37
|
require('../../ui/ContextMenu.js');
|
|
37
38
|
require('react-dom');
|
|
38
39
|
require('../../ui/SortByRow.js');
|
|
39
40
|
require('../../ui/ReactionButton.js');
|
|
41
|
+
require('../../consts-7142bdfe.js');
|
|
40
42
|
require('../context/types.js');
|
|
43
|
+
require('@sendbird/chat');
|
|
44
|
+
require('../../VoicePlayer/useVoicePlayer.js');
|
|
45
|
+
require('../../index-e0971532.js');
|
|
46
|
+
require('../../VoiceRecorder/context.js');
|
|
47
|
+
require('../../lame.all.js');
|
|
48
|
+
require('../../VoiceRecorder/useVoiceRecorder.js');
|
|
49
|
+
require('../../index-fa531baa.js');
|
|
50
|
+
require('../../ui/PlaybackTime.js');
|
|
51
|
+
require('../../ui/ProgressBar.js');
|
|
52
|
+
require('../../ui/TextButton.js');
|
|
53
|
+
require('../../color-ae15b40e.js');
|
|
54
|
+
require('../../ui/Modal.js');
|
|
55
|
+
require('../../index-fb42d34c.js');
|
|
56
|
+
require('../../MediaQueryContext-36855cf6.js');
|
|
41
57
|
|
|
42
58
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
43
59
|
|
|
44
60
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
45
61
|
|
|
46
62
|
var ThreadMessageInput = function (props, ref) {
|
|
47
|
-
var className = props.className
|
|
63
|
+
var className = props.className,
|
|
64
|
+
renderFileUploadIcon = props.renderFileUploadIcon,
|
|
65
|
+
renderVoiceMessageIcon = props.renderVoiceMessageIcon,
|
|
66
|
+
renderSendMessageIcon = props.renderSendMessageIcon;
|
|
48
67
|
var config = useSendbirdStateContext().config;
|
|
49
68
|
var stringSet = LocalizationContext.useLocalization().stringSet;
|
|
50
69
|
var isMentionEnabled = config.isMentionEnabled,
|
|
51
70
|
isOnline = config.isOnline,
|
|
52
|
-
userMention = config.userMention
|
|
71
|
+
userMention = config.userMention,
|
|
72
|
+
isVoiceMessageEnabled = config.isVoiceMessageEnabled;
|
|
53
73
|
|
|
54
74
|
var _a = Thread_context.useThreadContext(),
|
|
55
75
|
currentChannel = _a.currentChannel,
|
|
56
76
|
parentMessage = _a.parentMessage,
|
|
57
77
|
sendMessage = _a.sendMessage,
|
|
58
78
|
sendFileMessage = _a.sendFileMessage,
|
|
79
|
+
sendVoiceMessage = _a.sendVoiceMessage,
|
|
59
80
|
isMuted = _a.isMuted,
|
|
60
81
|
isChannelFrozen = _a.isChannelFrozen,
|
|
61
82
|
allThreadMessages = _a.allThreadMessages;
|
|
62
83
|
|
|
63
84
|
var messageInputRef = React.useRef();
|
|
64
|
-
var disabled = isMuted || !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) ===
|
|
85
|
+
var disabled = isMuted || !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === types.Role.OPERATOR) && isChannelFrozen || parentMessage === null; // mention
|
|
65
86
|
|
|
66
87
|
var _b = React.useState(''),
|
|
67
88
|
mentionNickname = _b[0],
|
|
@@ -91,9 +112,17 @@ var ThreadMessageInput = function (props, ref) {
|
|
|
91
112
|
messageInputEvent = _h[0],
|
|
92
113
|
setMessageInputEvent = _h[1];
|
|
93
114
|
|
|
115
|
+
var _j = React.useState(false),
|
|
116
|
+
showVoiceMessageInput = _j[0],
|
|
117
|
+
setShowVoiceMessageInput = _j[1];
|
|
118
|
+
|
|
94
119
|
var displaySuggestedMentionList = isOnline && isMentionEnabled && mentionNickname.length > 0; // && !utils.isDisabledBecauseFrozen(channel)
|
|
95
120
|
// && !utils.isDisabledBecauseMuted(channel);
|
|
121
|
+
// Reset when changing channel
|
|
96
122
|
|
|
123
|
+
React.useEffect(function () {
|
|
124
|
+
setShowVoiceMessageInput(false);
|
|
125
|
+
}, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url]);
|
|
97
126
|
React.useEffect(function () {
|
|
98
127
|
if ((mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) >= (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount)) {
|
|
99
128
|
setAbleMention(false);
|
|
@@ -114,8 +143,13 @@ var ThreadMessageInput = function (props, ref) {
|
|
|
114
143
|
}
|
|
115
144
|
}));
|
|
116
145
|
}, [mentionedUserIds]);
|
|
146
|
+
|
|
147
|
+
if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.isBroadcast) && (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) !== types.Role.OPERATOR) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
|
|
117
151
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
118
|
-
className: "sendbird-thread-message-input ".concat(className)
|
|
152
|
+
className: "sendbird-thread-message-input".concat(showVoiceMessageInput ? '--voice-message' : '', " ").concat(className)
|
|
119
153
|
}, displaySuggestedMentionList && /*#__PURE__*/React__default["default"].createElement(Channel_components_SuggestedMentionList, {
|
|
120
154
|
targetNickname: mentionNickname,
|
|
121
155
|
inputEvent: messageInputEvent // renderUserMentionItem={renderUserMentionItem}
|
|
@@ -138,15 +172,31 @@ var ThreadMessageInput = function (props, ref) {
|
|
|
138
172
|
ableAddMention: ableMention,
|
|
139
173
|
maxMentionCount: userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount,
|
|
140
174
|
maxSuggestionCount: userMention === null || userMention === void 0 ? void 0 : userMention.maxSuggestionCount
|
|
141
|
-
}), /*#__PURE__*/React__default["default"].createElement(
|
|
175
|
+
}), showVoiceMessageInput ? /*#__PURE__*/React__default["default"].createElement(VoiceMessageInputWrapper.VoiceMessageInputWrapper, {
|
|
176
|
+
channel: currentChannel,
|
|
177
|
+
onSubmitClick: function (recordedFile, duration) {
|
|
178
|
+
sendVoiceMessage(recordedFile, duration, parentMessage);
|
|
179
|
+
setShowVoiceMessageInput(false);
|
|
180
|
+
},
|
|
181
|
+
onCancelClick: function () {
|
|
182
|
+
setShowVoiceMessageInput(false);
|
|
183
|
+
}
|
|
184
|
+
}) : /*#__PURE__*/React__default["default"].createElement(ui_MessageInput, {
|
|
142
185
|
className: "sendbird-thread-message-input__message-input",
|
|
143
186
|
messageFieldId: "sendbird-message-input-text-field--thread",
|
|
144
187
|
disabled: disabled,
|
|
145
188
|
channelUrl: currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url,
|
|
146
189
|
mentionSelectedUser: selectedUser,
|
|
147
190
|
isMentionEnabled: isMentionEnabled,
|
|
191
|
+
isVoiceMessageEnabled: isVoiceMessageEnabled,
|
|
192
|
+
onVoiceMessageIconClick: function () {
|
|
193
|
+
setShowVoiceMessageInput(true);
|
|
194
|
+
},
|
|
195
|
+
renderFileUploadIcon: renderFileUploadIcon,
|
|
196
|
+
renderVoiceMessageIcon: renderVoiceMessageIcon,
|
|
197
|
+
renderSendMessageIcon: renderSendMessageIcon,
|
|
148
198
|
ref: ref || messageInputRef,
|
|
149
|
-
placeholder: (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.isFrozen) && !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) ===
|
|
199
|
+
placeholder: (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.isFrozen) && !((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myRole) === types.Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED || (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.myMutedState) === groupChannel.MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT || (allThreadMessages.length > 0 ? stringSet.THREAD__INPUT__REPLY_TO_THREAD : stringSet.THREAD__INPUT__REPLY_IN_THREAD),
|
|
150
200
|
onStartTyping: function () {
|
|
151
201
|
var _a;
|
|
152
202
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadMessageInput.js","sources":["../../../../src/smart-components/Thread/components/ThreadMessageInput/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Role } from '@sendbird/chat';\nimport { MutedState } from '@sendbird/chat/groupChannel';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\n\nexport interface ThreadMessageInputProps {\n className?: string;\n}\n\nconst ThreadMessageInput = (\n props: ThreadMessageInputProps,\n ref: React.MutableRefObject<any>,\n): React.ReactElement => {\n const { className } = props;\n const { config } = useSendbirdStateContext();\n const { stringSet } = useLocalization();\n const {\n isMentionEnabled,\n isOnline,\n userMention,\n } = config;\n const {\n currentChannel,\n parentMessage,\n sendMessage,\n sendFileMessage,\n isMuted,\n isChannelFrozen,\n allThreadMessages,\n } = useThreadContext();\n const messageInputRef = useRef();\n\n const disabled = isMuted || (!(currentChannel?.myRole === Role.OPERATOR) && isChannelFrozen) || parentMessage === null;\n\n // mention\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n // && !utils.isDisabledBecauseFrozen(channel)\n // && !utils.isDisabledBecauseMuted(channel);\n useEffect(() => {\n if (mentionedUsers?.length >= userMention?.maxMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n return (\n <div className={`sendbird-thread-message-input ${className}`}>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n // renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n <MessageInput\n className=\"sendbird-thread-message-input__message-input\"\n messageFieldId=\"sendbird-message-input-text-field--thread\"\n disabled={disabled}\n channelUrl={currentChannel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n ref={ref || messageInputRef}\n placeholder={\n (currentChannel?.isFrozen && !(currentChannel?.myRole === Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (currentChannel?.myMutedState === MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT)\n || (allThreadMessages.length > 0\n ? stringSet.THREAD__INPUT__REPLY_TO_THREAD\n : stringSet.THREAD__INPUT__REPLY_IN_THREAD\n )\n }\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message: message,\n mentionedUsers,\n mentionTemplate: mentionTemplate,\n quoteMessage: parentMessage,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n currentChannel?.endTyping?.();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, parentMessage);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </div>\n );\n}\n\nexport default React.forwardRef(ThreadMessageInput);\n"],"names":["ThreadMessageInput","props","ref","className","config","useSendbirdStateContext","stringSet","useLocalization","isMentionEnabled","isOnline","userMention","_a","useThreadContext","currentChannel","parentMessage","sendMessage","sendFileMessage","isMuted","isChannelFrozen","allThreadMessages","messageInputRef","useRef","disabled","myRole","Role","OPERATOR","_b","useState","mentionNickname","setMentionNickname","_c","mentionedUsers","setMentionedUsers","_d","mentionedUserIds","setMentionedUserIds","_e","selectedUser","setSelectedUser","_f","mentionSuggestedUsers","setMentionSuggestedUsers","_g","ableMention","setAbleMention","_h","messageInputEvent","setMessageInputEvent","displaySuggestedMentionList","length","useEffect","maxMentionCount","filter","userId","i","indexOf","splice","React","concat","SuggestedMentionList","user","__spreadArray","users","maxSuggestionCount","MessageInput","url","isFrozen","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","myMutedState","MutedState","MUTED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","THREAD__INPUT__REPLY_TO_THREAD","THREAD__INPUT__REPLY_IN_THREAD","startTyping","message","mentionTemplate","quoteMessage","endTyping","file","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThreadMessageInput.js","sources":["../../../../src/smart-components/Thread/components/ThreadMessageInput/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { MutedState } from '@sendbird/chat/groupChannel';\n\nimport './index.scss';\n\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport MessageInput from '../../../../ui/MessageInput';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport SuggestedMentionList from '../../../Channel/components/SuggestedMentionList';\nimport { useThreadContext } from '../../context/ThreadProvider';\nimport { useLocalization } from '../../../../lib/LocalizationContext';\nimport VoiceMessageInputWrapper from '../../../Channel/components/MessageInput/VoiceMessageInputWrapper';\nimport { Role } from '../../../../lib/types';\n\nexport interface ThreadMessageInputProps {\n className?: string;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n}\n\nconst ThreadMessageInput = (\n props: ThreadMessageInputProps,\n ref: React.MutableRefObject<any>,\n): React.ReactElement => {\n const {\n className,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const { config } = useSendbirdStateContext();\n const { stringSet } = useLocalization();\n const {\n isMentionEnabled,\n isOnline,\n userMention,\n isVoiceMessageEnabled,\n } = config;\n const {\n currentChannel,\n parentMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n isMuted,\n isChannelFrozen,\n allThreadMessages,\n } = useThreadContext();\n const messageInputRef = useRef();\n\n const disabled = isMuted || (!(currentChannel?.myRole === Role.OPERATOR) && isChannelFrozen) || parentMessage === null;\n\n // mention\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n // && !utils.isDisabledBecauseFrozen(channel)\n // && !utils.isDisabledBecauseMuted(channel);\n\n // Reset when changing channel\n useEffect(() => {\n setShowVoiceMessageInput(false);\n }, [currentChannel?.url]);\n\n useEffect(() => {\n if (mentionedUsers?.length >= userMention?.maxMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n if (currentChannel?.isBroadcast && currentChannel?.myRole !== Role.OPERATOR) {\n return null;\n }\n\n return (\n <div className={`sendbird-thread-message-input${showVoiceMessageInput ? '--voice-message' : ''} ${className}`}>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n // renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={userMention?.maxMentionCount}\n maxSuggestionCount={userMention?.maxSuggestionCount}\n />\n )\n }\n {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={currentChannel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, parentMessage);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-thread-message-input__message-input\"\n messageFieldId=\"sendbird-message-input-text-field--thread\"\n disabled={disabled}\n channelUrl={currentChannel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n renderFileUploadIcon={renderFileUploadIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n ref={ref || messageInputRef}\n placeholder={\n (currentChannel?.isFrozen && !(currentChannel?.myRole === Role.OPERATOR) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (currentChannel?.myMutedState === MutedState.MUTED && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT)\n || (allThreadMessages.length > 0\n ? stringSet.THREAD__INPUT__REPLY_TO_THREAD\n : stringSet.THREAD__INPUT__REPLY_IN_THREAD\n )\n }\n onStartTyping={() => {\n currentChannel?.startTyping?.();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message: message,\n mentionedUsers,\n mentionTemplate: mentionTemplate,\n quoteMessage: parentMessage,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n currentChannel?.endTyping?.();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, parentMessage);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n )\n }\n </div>\n );\n}\n\nexport default React.forwardRef(ThreadMessageInput);\n"],"names":["ThreadMessageInput","props","ref","className","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","config","useSendbirdStateContext","stringSet","useLocalization","isMentionEnabled","isOnline","userMention","isVoiceMessageEnabled","_a","useThreadContext","currentChannel","parentMessage","sendMessage","sendFileMessage","sendVoiceMessage","isMuted","isChannelFrozen","allThreadMessages","messageInputRef","useRef","disabled","myRole","Role","OPERATOR","_b","useState","mentionNickname","setMentionNickname","_c","mentionedUsers","setMentionedUsers","_d","mentionedUserIds","setMentionedUserIds","_e","selectedUser","setSelectedUser","_f","mentionSuggestedUsers","setMentionSuggestedUsers","_g","ableMention","setAbleMention","_h","messageInputEvent","setMessageInputEvent","_j","showVoiceMessageInput","setShowVoiceMessageInput","displaySuggestedMentionList","length","useEffect","url","maxMentionCount","filter","userId","i","indexOf","splice","isBroadcast","React","concat","SuggestedMentionList","user","__spreadArray","users","maxSuggestionCount","VoiceMessageInputWrapper","recordedFile","duration","MessageInput","isFrozen","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","myMutedState","MutedState","MUTED","MESSAGE_INPUT__PLACE_HOLDER__MUTED_SHORT","THREAD__INPUT__REPLY_TO_THREAD","THREAD__INPUT__REPLY_IN_THREAD","startTyping","message","mentionTemplate","quoteMessage","endTyping","file","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
|