@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,51 +1,69 @@
|
|
|
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 Channel_context = require('../../ChannelProvider-
|
|
5
|
+
var Channel_context = require('../../ChannelProvider-56b10dd6.js');
|
|
6
6
|
var ui_MessageInput = require('../../ui/MessageInput.js');
|
|
7
7
|
var ui_QuoteMessageInput = require('../../ui/QuoteMessageInput.js');
|
|
8
|
-
var LocalizationContext = require('../../LocalizationContext-
|
|
8
|
+
var LocalizationContext = require('../../LocalizationContext-7d2c13ee.js');
|
|
9
9
|
var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
|
|
10
10
|
var Channel_components_SuggestedMentionList = require('./SuggestedMentionList.js');
|
|
11
|
-
var _const = require('../../const-
|
|
12
|
-
require('../../
|
|
11
|
+
var _const = require('../../const-6d993a66.js');
|
|
12
|
+
var VoiceMessageInputWrapper = require('../../VoiceMessageInputWrapper-6d309e8c.js');
|
|
13
|
+
require('../../UserProfileContext-89b8a98d.js');
|
|
13
14
|
require('prop-types');
|
|
14
|
-
require('../../index-
|
|
15
|
-
require('../../index-
|
|
16
|
-
require('../../topics-
|
|
17
|
-
require('../../index-
|
|
15
|
+
require('../../index-c34f34a2.js');
|
|
16
|
+
require('../../index-31135e46.js');
|
|
17
|
+
require('../../topics-7108f68f.js');
|
|
18
|
+
require('../../index-6691da2c.js');
|
|
18
19
|
require('../../utils/message/getOutgoingMessageState.js');
|
|
19
|
-
require('../../_rollupPluginBabelHelpers-
|
|
20
|
-
require('../../compareIds-
|
|
21
|
-
require('../../const-
|
|
20
|
+
require('../../_rollupPluginBabelHelpers-9807f0cb.js');
|
|
21
|
+
require('../../compareIds-88a3abee.js');
|
|
22
|
+
require('../../const-98ae036e.js');
|
|
22
23
|
require('@sendbird/chat/groupChannel');
|
|
23
|
-
require('../../uuid-
|
|
24
|
+
require('../../uuid-42040a5c.js');
|
|
24
25
|
require('@sendbird/chat/message');
|
|
25
26
|
require('../../ui/ContextMenu.js');
|
|
26
27
|
require('react-dom');
|
|
27
28
|
require('../../ui/SortByRow.js');
|
|
28
|
-
require('../../index-
|
|
29
|
-
require('../../stringSet-
|
|
29
|
+
require('../../index-86b55059.js');
|
|
30
|
+
require('../../stringSet-d4071e23.js');
|
|
30
31
|
require('../../ui/ReactionButton.js');
|
|
31
32
|
require('../../ui/ImageRenderer.js');
|
|
32
33
|
require('../../ui/Icon.js');
|
|
34
|
+
require('../../consts-7142bdfe.js');
|
|
33
35
|
require('react-dom/server');
|
|
34
36
|
require('../../ui/IconButton.js');
|
|
35
37
|
require('../../ui/Button.js');
|
|
36
38
|
require('../../ui/MentionUserLabel.js');
|
|
37
39
|
require('../../withSendbird.js');
|
|
38
40
|
require('../../ui/Avatar.js');
|
|
39
|
-
require('../../ThreadProvider-
|
|
41
|
+
require('../../ThreadProvider-e8591a61.js');
|
|
40
42
|
require('../../Thread/context/types.js');
|
|
41
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');
|
|
42
57
|
|
|
43
58
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
44
59
|
|
|
45
60
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
46
61
|
|
|
47
62
|
var MessageInputWrapper = function (props, ref) {
|
|
48
|
-
var value = props.value
|
|
63
|
+
var value = props.value,
|
|
64
|
+
renderFileUploadIcon = props.renderFileUploadIcon,
|
|
65
|
+
renderVoiceMessageIcon = props.renderVoiceMessageIcon,
|
|
66
|
+
renderSendMessageIcon = props.renderSendMessageIcon;
|
|
49
67
|
|
|
50
68
|
var _a = Channel_context.useChannelContext(),
|
|
51
69
|
currentGroupChannel = _a.currentGroupChannel,
|
|
@@ -53,6 +71,7 @@ var MessageInputWrapper = function (props, ref) {
|
|
|
53
71
|
quoteMessage = _a.quoteMessage,
|
|
54
72
|
sendMessage = _a.sendMessage,
|
|
55
73
|
sendFileMessage = _a.sendFileMessage,
|
|
74
|
+
sendVoiceMessage = _a.sendVoiceMessage,
|
|
56
75
|
setQuoteMessage = _a.setQuoteMessage,
|
|
57
76
|
messageInputRef = _a.messageInputRef,
|
|
58
77
|
renderUserMentionItem = _a.renderUserMentionItem;
|
|
@@ -63,7 +82,8 @@ var MessageInputWrapper = function (props, ref) {
|
|
|
63
82
|
var _b = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config,
|
|
64
83
|
isOnline = _b.isOnline,
|
|
65
84
|
isMentionEnabled = _b.isMentionEnabled,
|
|
66
|
-
userMention = _b.userMention
|
|
85
|
+
userMention = _b.userMention,
|
|
86
|
+
isVoiceMessageEnabled = _b.isVoiceMessageEnabled;
|
|
67
87
|
|
|
68
88
|
var maxUserMentionCount = (userMention === null || userMention === void 0 ? void 0 : userMention.maxMentionCount) || 10;
|
|
69
89
|
var maxUserSuggestionCount = (userMention === null || userMention === void 0 ? void 0 : userMention.maxSuggestionCount) || 15;
|
|
@@ -97,6 +117,10 @@ var MessageInputWrapper = function (props, ref) {
|
|
|
97
117
|
messageInputEvent = _j[0],
|
|
98
118
|
setMessageInputEvent = _j[1];
|
|
99
119
|
|
|
120
|
+
var _k = React.useState(false),
|
|
121
|
+
showVoiceMessageInput = _k[0],
|
|
122
|
+
setShowVoiceMessageInput = _k[1];
|
|
123
|
+
|
|
100
124
|
var disabled = !initialized || Channel_context.isDisabledBecauseFrozen(channel) || Channel_context.isDisabledBecauseMuted(channel) || !isOnline;
|
|
101
125
|
var isOperator = Channel_context.isOperator(channel);
|
|
102
126
|
var isBroadcast = channel === null || channel === void 0 ? void 0 : channel.isBroadcast;
|
|
@@ -110,6 +134,7 @@ var MessageInputWrapper = function (props, ref) {
|
|
|
110
134
|
setMentionSuggestedUsers([]);
|
|
111
135
|
setAbleMention(true);
|
|
112
136
|
setMessageInputEvent(null);
|
|
137
|
+
setShowVoiceMessageInput(false);
|
|
113
138
|
}, [channel === null || channel === void 0 ? void 0 : channel.url]);
|
|
114
139
|
React.useEffect(function () {
|
|
115
140
|
if ((mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) >= maxUserMentionCount) {
|
|
@@ -138,7 +163,7 @@ var MessageInputWrapper = function (props, ref) {
|
|
|
138
163
|
|
|
139
164
|
|
|
140
165
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
141
|
-
className: "sendbird-message-input-wrapper"
|
|
166
|
+
className: "sendbird-message-input-wrapper".concat(showVoiceMessageInput ? '--voice-message' : '')
|
|
142
167
|
}, displaySuggestedMentionList && /*#__PURE__*/React__default["default"].createElement(Channel_components_SuggestedMentionList, {
|
|
143
168
|
targetNickname: mentionNickname,
|
|
144
169
|
inputEvent: messageInputEvent,
|
|
@@ -168,15 +193,32 @@ var MessageInputWrapper = function (props, ref) {
|
|
|
168
193
|
onClose: function () {
|
|
169
194
|
return setQuoteMessage(null);
|
|
170
195
|
}
|
|
171
|
-
})), /*#__PURE__*/React__default["default"].createElement(
|
|
196
|
+
})), showVoiceMessageInput ? /*#__PURE__*/React__default["default"].createElement(VoiceMessageInputWrapper.VoiceMessageInputWrapper, {
|
|
197
|
+
channel: channel,
|
|
198
|
+
onSubmitClick: function (recordedFile, duration) {
|
|
199
|
+
sendVoiceMessage(recordedFile, duration, quoteMessage);
|
|
200
|
+
setQuoteMessage(null);
|
|
201
|
+
setShowVoiceMessageInput(false);
|
|
202
|
+
},
|
|
203
|
+
onCancelClick: function () {
|
|
204
|
+
setShowVoiceMessageInput(false);
|
|
205
|
+
}
|
|
206
|
+
}) : /*#__PURE__*/React__default["default"].createElement(ui_MessageInput, {
|
|
172
207
|
className: "sendbird-message-input-wrapper__message-input",
|
|
173
208
|
value: value,
|
|
174
209
|
channelUrl: channel === null || channel === void 0 ? void 0 : channel.url,
|
|
175
210
|
mentionSelectedUser: selectedUser,
|
|
176
211
|
isMentionEnabled: isMentionEnabled,
|
|
212
|
+
isVoiceMessageEnabled: isVoiceMessageEnabled,
|
|
213
|
+
onVoiceMessageIconClick: function () {
|
|
214
|
+
setShowVoiceMessageInput(true);
|
|
215
|
+
},
|
|
177
216
|
placeholder: quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER || Channel_context.isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED || Channel_context.isDisabledBecauseMuted(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED,
|
|
178
217
|
ref: ref || messageInputRef,
|
|
179
218
|
disabled: disabled,
|
|
219
|
+
renderFileUploadIcon: renderFileUploadIcon,
|
|
220
|
+
renderSendMessageIcon: renderSendMessageIcon,
|
|
221
|
+
renderVoiceMessageIcon: renderVoiceMessageIcon,
|
|
180
222
|
onStartTyping: function () {
|
|
181
223
|
channel === null || channel === void 0 ? void 0 : channel.startTyping();
|
|
182
224
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageInput.js","sources":["../../../../src/smart-components/Channel/components/MessageInput/index.tsx"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\n\nimport './message-input.scss';\nimport * as utils from '../../context/utils';\n\nimport MessageInput from '../../../../ui/MessageInput';\nimport QuoteMessageInput from '../../../../ui/QuoteMessageInput';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\n\nexport type MessageInputWrapperProps = {\n value?: string;\n};\n\n\nconst MessageInputWrapper = (\n props: MessageInputWrapperProps,\n ref: React.MutableRefObject<any>,\n): JSX.Element => {\n const { value } = props;\n const {\n currentGroupChannel,\n initialized,\n quoteMessage,\n sendMessage,\n sendFileMessage,\n setQuoteMessage,\n messageInputRef,\n renderUserMentionItem,\n } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const channel = currentGroupChannel;\n\n const { isOnline, isMentionEnabled, userMention } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || 10;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || 15;\n\n const { stringSet } = useContext(LocalizationContext);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const disabled = !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n const isOperator = utils.isOperator(channel);\n const isBroadcast = channel?.isBroadcast;\n\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !utils.isDisabledBecauseFrozen(channel)\n && !utils.isDisabledBecauseMuted(channel);\n\n // Reset when channel changes\n useEffect(() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setSelectedUser(null);\n setMentionSuggestedUsers([]);\n setAbleMention(true);\n setMessageInputEvent(null);\n }, [channel?.url]);\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n // other conditions\n return (\n <div className=\"sendbird-message-input-wrapper\">\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n {quoteMessage && (\n <div className=\"sendbird-message-input-wrapper__quote-message-input\">\n <QuoteMessageInput\n replyingMessage={quoteMessage}\n onClose={() => setQuoteMessage(null)}\n />\n </div>\n )}\n <MessageInput\n className=\"sendbird-message-input-wrapper__message-input\"\n value={value}\n channelUrl={channel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n placeholder={\n (quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER)\n || (utils.isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (utils.isDisabledBecauseMuted(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED)\n }\n ref={ref || messageInputRef}\n disabled={disabled}\n onStartTyping={() => {\n channel?.startTyping();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message,\n quoteMessage,\n mentionedUsers,\n mentionTemplate,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n setQuoteMessage(null);\n channel?.endTyping?.();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, quoteMessage);\n setQuoteMessage(null);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n </div>\n );\n}\n\nexport default React.forwardRef(MessageInputWrapper);\n"],"names":["MessageInputWrapper","props","ref","value","_a","useChannelContext","currentGroupChannel","initialized","quoteMessage","sendMessage","sendFileMessage","setQuoteMessage","messageInputRef","renderUserMentionItem","globalStore","useSendbirdStateContext","channel","_b","config","isOnline","isMentionEnabled","userMention","maxUserMentionCount","maxMentionCount","maxUserSuggestionCount","maxSuggestionCount","stringSet","useContext","LocalizationContext","_c","useState","mentionNickname","setMentionNickname","_d","mentionedUsers","setMentionedUsers","_e","mentionedUserIds","setMentionedUserIds","_f","selectedUser","setSelectedUser","_g","mentionSuggestedUsers","setMentionSuggestedUsers","_h","ableMention","setAbleMention","_j","messageInputEvent","setMessageInputEvent","disabled","utils","isOperator","isBroadcast","displaySuggestedMentionList","length","useEffect","url","filter","userId","i","indexOf","splice","React","SuggestedMentionList","user","__spreadArray","users","QuoteMessageInput","MessageInput","MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","message","mentionTemplate","endTyping","file","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,IAAMA,mBAAmB,GAAG,UAC1BC,KAD0B,EAE1BC,GAF0B,EAEM;AAExB,EAAA,IAAAC,KAAK,GAAKF,KAAK,CAAAE,KAAf,CAAA;;EACF,IAAAC,EAAA,GASFC,iCAAiB,EATf;AAAA,MACJC,mBAAmB,GAAAF,EAAA,CAAAE,mBADf;AAAA,MAEJC,WAAW,GAAAH,EAAA,CAAAG,WAFP;AAAA,MAGJC,YAAY,GAAAJ,EAAA,CAAAI,YAHR;AAAA,MAIJC,WAAW,GAAAL,EAAA,CAAAK,WAJP;AAAA,MAKJC,eAAe,GAAAN,EAAA,CAAAM,eALX;AAAA,MAMJC,eAAe,GAAAP,EAAA,CAAAO,eANX;AAAA,MAOJC,eAAe,GAAAR,EAAA,CAAAQ,eAPX;AAAA,MAQJC,qBAAqB,GAAAT,EAAA,CAAAS,qBARjB,CAAA;;EAUN,IAAMC,WAAW,GAAGC,uBAAuB,EAA3C,CAAA;EACA,IAAMC,OAAO,GAAGV,mBAAhB,CAAA;;AAEM,EAAA,IAAAW,KAA8CH,WAAW,KAAA,IAAX,IAAAA,WAAW,KAAA,KAAA,CAAX,GAAW,KAAA,CAAX,GAAAA,WAAW,CAAEI,MAA3D;AAAA,MAAEC,QAAQ,cAAV;AAAA,MAAYC,gBAAgB,sBAA5B;AAAA,MAA8BC,WAAW,iBAAzC,CAAA;;AACN,EAAA,IAAMC,mBAAmB,GAAG,CAAAD,WAAW,KAAX,IAAA,IAAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,WAAW,CAAEE,eAAb,KAAgC,EAA5D,CAAA;AACA,EAAA,IAAMC,sBAAsB,GAAG,CAAAH,WAAW,KAAX,IAAA,IAAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,WAAW,CAAEI,kBAAb,KAAmC,EAAlE,CAAA;AAEQ,EAAA,IAAAC,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd,CAAA;;AACF,EAAA,IAAAC,EAAA,GAAwCC,cAAQ,CAAC,EAAD,CAAhD;AAAA,MAACC,eAAe,GAAAF,EAAA,CAAA,CAAA,CAAhB;AAAA,MAAkBG,kBAAkB,GAAAH,EAAA,CAAA,CAAA,CAApC,CAAA;;AACA,EAAA,IAAAI,EAAA,GAAsCH,cAAQ,CAAC,EAAD,CAA9C;AAAA,MAACI,cAAc,GAAAD,EAAA,CAAA,CAAA,CAAf;AAAA,MAAiBE,iBAAiB,GAAAF,EAAA,CAAA,CAAA,CAAlC,CAAA;;AACA,EAAA,IAAAG,EAAA,GAA0CN,cAAQ,CAAC,EAAD,CAAlD;AAAA,MAACO,gBAAgB,GAAAD,EAAA,CAAA,CAAA,CAAjB;AAAA,MAAmBE,mBAAmB,GAAAF,EAAA,CAAA,CAAA,CAAtC,CAAA;;AACA,EAAA,IAAAG,EAAA,GAAkCT,cAAQ,CAAC,IAAD,CAA1C;AAAA,MAACU,YAAY,GAAAD,EAAA,CAAA,CAAA,CAAb;AAAA,MAAeE,eAAe,GAAAF,EAAA,CAAA,CAAA,CAA9B,CAAA;;AACA,EAAA,IAAAG,EAAA,GAAoDZ,cAAQ,CAAC,EAAD,CAA5D;AAAA,MAACa,qBAAqB,GAAAD,EAAA,CAAA,CAAA,CAAtB;AAAA,MAAwBE,wBAAwB,GAAAF,EAAA,CAAA,CAAA,CAAhD,CAAA;;AACA,EAAA,IAAAG,EAAA,GAAgCf,cAAQ,CAAC,IAAD,CAAxC;AAAA,MAACgB,WAAW,GAAAD,EAAA,CAAA,CAAA,CAAZ;AAAA,MAAcE,cAAc,GAAAF,EAAA,CAAA,CAAA,CAA5B,CAAA;;AACA,EAAA,IAAAG,EAAA,GAA4ClB,cAAQ,CAAC,IAAD,CAApD;AAAA,MAACmB,iBAAiB,GAAAD,EAAA,CAAA,CAAA,CAAlB;AAAA,MAAoBE,oBAAoB,GAAAF,EAAA,CAAA,CAAA,CAAxC,CAAA;;EACN,IAAMG,QAAQ,GAAG,CAAC5C,WAAD,IACZ6C,uCAAA,CAA8BpC,OAA9B,CADY,IAEZoC,sCAAA,CAA6BpC,OAA7B,CAFY,IAGZ,CAACG,QAHN,CAAA;AAIA,EAAA,IAAMkC,UAAU,GAAGD,0BAAA,CAAiBpC,OAAjB,CAAnB,CAAA;AACA,EAAA,IAAMsC,WAAW,GAAGtC,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAEsC,WAA7B,CAAA;AAEA,EAAA,IAAMC,2BAA2B,GAAGpC,QAAQ,IACvCC,gBAD+B,IAE/BW,eAAe,CAACyB,MAAhB,GAAyB,CAFM,IAG/B,CAACJ,uCAAA,CAA8BpC,OAA9B,CAH8B,IAI/B,CAACoC,sCAAA,CAA6BpC,OAA7B,CAJN,CAnCgC;;AA0ChCyC,EAAAA,eAAS,CAAC,YAAA;IACRzB,kBAAkB,CAAC,EAAD,CAAlB,CAAA;IACAG,iBAAiB,CAAC,EAAD,CAAjB,CAAA;IACAG,mBAAmB,CAAC,EAAD,CAAnB,CAAA;IACAG,eAAe,CAAC,IAAD,CAAf,CAAA;IACAG,wBAAwB,CAAC,EAAD,CAAxB,CAAA;IACAG,cAAc,CAAC,IAAD,CAAd,CAAA;IACAG,oBAAoB,CAAC,IAAD,CAApB,CAAA;AACD,GARQ,EAQN,CAAClC,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE0C,GAAV,CARM,CAAT,CAAA;AAUAD,EAAAA,eAAS,CAAC,YAAA;AACR,IAAA,IAAI,CAAAvB,cAAc,KAAA,IAAd,IAAAA,cAAc,KAAA,KAAA,CAAd,GAAc,KAAA,CAAd,GAAAA,cAAc,CAAEsB,MAAhB,KAA0BlC,mBAA9B,EAAmD;MACjDyB,cAAc,CAAC,KAAD,CAAd,CAAA;AACD,KAFD,MAEO;MACLA,cAAc,CAAC,IAAD,CAAd,CAAA;AACD,KAAA;AACF,GANQ,EAMN,CAACb,cAAD,CANM,CAAT,CAAA;AAQAuB,EAAAA,eAAS,CAAC,YAAA;AACRtB,IAAAA,iBAAiB,CAACD,cAAc,CAACyB,MAAf,CAAsB,UAACvD,EAAD,EAAW;AAAR,MAAA,IAAAwD,MAAM,GAAAxD,EAAA,CAAAwD,MAAN,CAAA;AACzC,MAAA,IAAMC,CAAC,GAAGxB,gBAAgB,CAACyB,OAAjB,CAAyBF,MAAzB,CAAV,CAAA;;MACA,IAAIC,CAAC,GAAG,CAAR,EAAW;AACT,QAAA,OAAO,KAAP,CAAA;AACD,OAFD,MAEO;AACLxB,QAAAA,gBAAgB,CAAC0B,MAAjB,CAAwBF,CAAxB,EAA2B,CAA3B,CAAA,CAAA;AACA,QAAA,OAAO,IAAP,CAAA;AACD,OAAA;AACF,KARiB,CAAD,CAAjB,CAAA;AASD,GAVQ,EAUN,CAACxB,gBAAD,CAVM,CAAT,CA5DgC;;AAyEhC,EAAA,IAAIiB,WAAW,IAAI,CAACD,UAApB,EAAgC;AAC9B,IAAA,OAAO,IAAP,CAAA;AACD,GA3E+B;;;EA6EhC,oBACEW,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,gCAAA;GAEXT,EAAAA,2BAA2B,iBACzBS,yBAAA,CAAA,aAAA,CAACC,uCAAD,EAAA;AACE,IAAA,cAAc,EAAElC,eADlB;AAEE,IAAA,UAAU,EAAEkB,iBAFd;AAGE,IAAA,qBAAqB,EAAEpC,qBAHzB;IAIE,eAAe,EAAE,UAACqD,IAAD,EAAK;AACpB,MAAA,IAAIA,IAAJ,EAAU;AACR/B,QAAAA,iBAAiB,CAAKgC,uBAAA,CAAAA,uBAAA,CAAA,EAAA,EAAAjC,cAAA,EAAgB,IAAhB,CAAA,EAAgB,CAAAgC,IAAA,CAAhB,OAAA,CAAL,CAAjB,CAAA;AACD,OAAA;;MACDlC,kBAAkB,CAAC,EAAD,CAAlB,CAAA;MACAS,eAAe,CAACyB,IAAD,CAAf,CAAA;MACAhB,oBAAoB,CAAC,IAAD,CAApB,CAAA;KAVJ;AAYE,IAAA,iBAAiB,EAAE,YAAA;MACjBA,oBAAoB,CAAC,IAAD,CAApB,CAAA;KAbJ;IAeE,YAAY,EAAE,UAACkB,KAAD,EAAM;MAClBxB,wBAAwB,CAACwB,KAAD,CAAxB,CAAA;KAhBJ;AAkBE,IAAA,cAAc,EAAEtB,WAlBlB;AAmBE,IAAA,eAAe,EAAExB,mBAnBnB;AAoBE,IAAA,kBAAkB,EAAEE,sBAAAA;GAvB5B,CAAA,EA2BGhB,YAAY,iBACXwD,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,qDAAA;AAAf,GAAA,eACEA,wCAACK,oBAAD,EAAA;AACE,IAAA,eAAe,EAAE7D,YADnB;AAEE,IAAA,OAAO,EAAE,YAAM;MAAA,OAAAG,eAAe,CAAC,IAAD,CAAf,CAAA;AAAqB,KAAA;GAHxC,CAAA,CA5BJ,eAmCEqD,yBAAA,CAAA,aAAA,CAACM,eAAD,EAAA;AACE,IAAA,SAAS,EAAC,+CADZ;AAEE,IAAA,KAAK,EAAEnE,KAFT;AAGE,IAAA,UAAU,EAAEa,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE0C,GAHvB;AAIE,IAAA,mBAAmB,EAAElB,YAJvB;AAKE,IAAA,gBAAgB,EAAEpB,gBALpB;IAME,WAAW,EACRZ,YAAY,IAAIkB,SAAS,CAAC6C,wCAA3B,IACInB,uCAAA,CAA8BpC,OAA9B,KAA0CU,SAAS,CAAC8C,qCADxD,IAEIpB,sCAAA,CAA6BpC,OAA7B,CAAA,IAAyCU,SAAS,CAAC+C,kCAT3D;IAWE,GAAG,EAAEvE,GAAG,IAAIU,eAXd;AAYE,IAAA,QAAQ,EAAEuC,QAZZ;AAaE,IAAA,aAAa,EAAE,YAAA;AACbnC,MAAAA,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE0D,WAAT,EAAA,CAAA;KAdJ;IAgBE,aAAa,EAAE,UAACtE,EAAD,EAA6B;;;UAA1BuE,OAAO,GAAAvE,EAAA,CAAAuE;UAAEC,eAAe,GAAAxE,EAAA,CAAAwE;AACxCnE,MAAAA,WAAW,CAAC;AACVkE,QAAAA,OAAO,EAAAA,OADG;AAEVnE,QAAAA,YAAY,EAAAA,YAFF;AAGV0B,QAAAA,cAAc,EAAAA,cAHJ;AAIV0C,QAAAA,eAAe,EAAAA,eAAAA;AAJL,OAAD,CAAX,CAAA;MAMA5C,kBAAkB,CAAC,EAAD,CAAlB,CAAA;MACAG,iBAAiB,CAAC,EAAD,CAAjB,CAAA;MACAxB,eAAe,CAAC,IAAD,CAAf,CAAA;AACA,MAAA,CAAAM,EAAA,GAAAD,OAAO,SAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAE6D,SAAT,UAAA,iBAAA,SAAA,mBAAA,CAAA;KA1BJ;IA4BE,YAAY,EAAE,UAACC,IAAD,EAAK;AACjBpE,MAAAA,eAAe,CAACoE,IAAD,EAAOtE,YAAP,CAAf,CAAA;MACAG,eAAe,CAAC,IAAD,CAAf,CAAA;KA9BJ;IAgCE,eAAe,EAAE,UAACuD,IAAD,EAAK;AACpB,MAAA,IAAI,CAAA1B,YAAY,KAAA,IAAZ,IAAAA,YAAY,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAAA,YAAY,CAAEoB,MAAd,OAAyBM,IAAI,SAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAEN,MAA/B,CAAJ,EAA2C;QACzCnB,eAAe,CAAC,IAAD,CAAf,CAAA;QACAT,kBAAkB,CAAC,EAAD,CAAlB,CAAA;AACD,OAAA;KApCL;IAsCE,qBAAqB,EAAE,UAAC+C,WAAD,EAAY;MACjC/C,kBAAkB,CAAC+C,WAAD,CAAlB,CAAA;KAvCJ;IAyCE,yBAAyB,EAAE,UAACC,OAAD,EAAQ;MACjC1C,mBAAmB,CAAC0C,OAAD,CAAnB,CAAA;KA1CJ;IA4CE,SAAS,EAAE,UAACC,CAAD,EAAE;MACX,IAAI1B,2BAA2B,IAAI,CAAAZ,qBAAqB,KAAA,IAArB,IAAAA,qBAAqB,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAAA,qBAAqB,CAAEa,MAAvB,IAAgC,CAA/D,KACGyB,CAAC,CAACC,GAAF,KAAUC,uBAAgB,CAACC,KAA3B,IAAoCtC,WAArC,IAAqDmC,CAAC,CAACC,GAAF,KAAUC,uBAAgB,CAACE,OAAhF,IAA2FJ,CAAC,CAACC,GAAF,KAAUC,uBAAgB,CAACG,SADxH,CAAJ,EAEE;QACApC,oBAAoB,CAAC+B,CAAD,CAApB,CAAA;AACA,QAAA,OAAO,IAAP,CAAA;AACD,OAAA;;AACD,MAAA,OAAO,KAAP,CAAA;AACD,KAAA;AApDH,GAAA,CAnCF,CADF,CAAA;AA4FD,CA3KD,CAAA;;AA6KA,4BAAA,aAAejB,yBAAK,CAACuB,UAAN,CAAiBvF,mBAAjB,CAAf;;;;"}
|
|
1
|
+
{"version":3,"file":"MessageInput.js","sources":["../../../../src/smart-components/Channel/components/MessageInput/index.tsx"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\n\nimport './message-input.scss';\nimport * as utils from '../../context/utils';\n\nimport MessageInput from '../../../../ui/MessageInput';\nimport QuoteMessageInput from '../../../../ui/QuoteMessageInput';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport SuggestedMentionList from '../SuggestedMentionList';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport VoiceMessageInputWrapper from './VoiceMessageInputWrapper';\n\nexport type MessageInputWrapperProps = {\n value?: string;\n renderFileUploadIcon?: () => React.ReactElement;\n renderVoiceMessageIcon?: () => React.ReactElement;\n renderSendMessageIcon?: () => React.ReactElement;\n};\n\nconst MessageInputWrapper = (\n props: MessageInputWrapperProps,\n ref: React.MutableRefObject<any>,\n): JSX.Element => {\n const {\n value,\n renderFileUploadIcon,\n renderVoiceMessageIcon,\n renderSendMessageIcon,\n } = props;\n const {\n currentGroupChannel,\n initialized,\n quoteMessage,\n sendMessage,\n sendFileMessage,\n sendVoiceMessage,\n setQuoteMessage,\n messageInputRef,\n renderUserMentionItem,\n } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const channel = currentGroupChannel;\n\n const {\n isOnline,\n isMentionEnabled,\n userMention,\n isVoiceMessageEnabled,\n } = globalStore?.config;\n const maxUserMentionCount = userMention?.maxMentionCount || 10;\n const maxUserSuggestionCount = userMention?.maxSuggestionCount || 15;\n\n const { stringSet } = useContext(LocalizationContext);\n const [mentionNickname, setMentionNickname] = useState('');\n const [mentionedUsers, setMentionedUsers] = useState([]);\n const [mentionedUserIds, setMentionedUserIds] = useState([]);\n const [selectedUser, setSelectedUser] = useState(null);\n const [mentionSuggestedUsers, setMentionSuggestedUsers] = useState([]);\n const [ableMention, setAbleMention] = useState(true);\n const [messageInputEvent, setMessageInputEvent] = useState(null);\n const [showVoiceMessageInput, setShowVoiceMessageInput] = useState(false);\n const disabled = !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n const isOperator = utils.isOperator(channel);\n const isBroadcast = channel?.isBroadcast;\n\n const displaySuggestedMentionList = isOnline\n && isMentionEnabled\n && mentionNickname.length > 0\n && !utils.isDisabledBecauseFrozen(channel)\n && !utils.isDisabledBecauseMuted(channel);\n\n // Reset when channel changes\n useEffect(() => {\n setMentionNickname('');\n setMentionedUsers([]);\n setMentionedUserIds([]);\n setSelectedUser(null);\n setMentionSuggestedUsers([]);\n setAbleMention(true);\n setMessageInputEvent(null);\n setShowVoiceMessageInput(false);\n }, [channel?.url]);\n\n useEffect(() => {\n if (mentionedUsers?.length >= maxUserMentionCount) {\n setAbleMention(false);\n } else {\n setAbleMention(true);\n }\n }, [mentionedUsers]);\n\n useEffect(() => {\n setMentionedUsers(mentionedUsers.filter(({ userId }) => {\n const i = mentionedUserIds.indexOf(userId);\n if (i < 0) {\n return false;\n } else {\n mentionedUserIds.splice(i, 1);\n return true;\n }\n }));\n }, [mentionedUserIds]);\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n // other conditions\n return (\n <div className={`sendbird-message-input-wrapper${showVoiceMessageInput ? '--voice-message' : ''}`}>\n {\n displaySuggestedMentionList && (\n <SuggestedMentionList\n targetNickname={mentionNickname}\n inputEvent={messageInputEvent}\n renderUserMentionItem={renderUserMentionItem}\n onUserItemClick={(user) => {\n if (user) {\n setMentionedUsers([...mentionedUsers, user]);\n }\n setMentionNickname('');\n setSelectedUser(user);\n setMessageInputEvent(null);\n }}\n onFocusItemChange={() => {\n setMessageInputEvent(null);\n }}\n onFetchUsers={(users) => {\n setMentionSuggestedUsers(users);\n }}\n ableAddMention={ableMention}\n maxMentionCount={maxUserMentionCount}\n maxSuggestionCount={maxUserSuggestionCount}\n />\n )\n }\n {quoteMessage && (\n <div className=\"sendbird-message-input-wrapper__quote-message-input\">\n <QuoteMessageInput\n replyingMessage={quoteMessage}\n onClose={() => setQuoteMessage(null)}\n />\n </div>\n )}\n {\n showVoiceMessageInput\n ? (\n <VoiceMessageInputWrapper\n channel={channel}\n onSubmitClick={(recordedFile, duration) => {\n sendVoiceMessage(recordedFile, duration, quoteMessage);\n setQuoteMessage(null);\n setShowVoiceMessageInput(false);\n }}\n onCancelClick={() => {\n setShowVoiceMessageInput(false);\n }}\n />\n )\n : (\n <MessageInput\n className=\"sendbird-message-input-wrapper__message-input\"\n value={value}\n channelUrl={channel?.url}\n mentionSelectedUser={selectedUser}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n onVoiceMessageIconClick={() => {\n setShowVoiceMessageInput(true);\n }}\n placeholder={\n (quoteMessage && stringSet.MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER)\n || (utils.isDisabledBecauseFrozen(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__DISABLED)\n || (utils.isDisabledBecauseMuted(channel) && stringSet.MESSAGE_INPUT__PLACE_HOLDER__MUTED)\n }\n ref={ref || messageInputRef}\n disabled={disabled}\n renderFileUploadIcon={renderFileUploadIcon}\n renderSendMessageIcon={renderSendMessageIcon}\n renderVoiceMessageIcon={renderVoiceMessageIcon}\n onStartTyping={() => {\n channel?.startTyping();\n }}\n onSendMessage={({ message, mentionTemplate }) => {\n sendMessage({\n message,\n quoteMessage,\n mentionedUsers,\n mentionTemplate,\n });\n setMentionNickname('');\n setMentionedUsers([]);\n setQuoteMessage(null);\n channel?.endTyping?.();\n }}\n onFileUpload={(file) => {\n sendFileMessage(file, quoteMessage);\n setQuoteMessage(null);\n }}\n onUserMentioned={(user) => {\n if (selectedUser?.userId === user?.userId) {\n setSelectedUser(null);\n setMentionNickname('');\n }\n }}\n onMentionStringChange={(mentionText) => {\n setMentionNickname(mentionText);\n }}\n onMentionedUserIdsUpdated={(userIds) => {\n setMentionedUserIds(userIds);\n }}\n onKeyDown={(e) => {\n if (displaySuggestedMentionList && mentionSuggestedUsers?.length > 0\n && ((e.key === MessageInputKeys.Enter && ableMention) || e.key === MessageInputKeys.ArrowUp || e.key === MessageInputKeys.ArrowDown)\n ) {\n setMessageInputEvent(e);\n return true;\n }\n return false;\n }}\n />\n )\n }\n </div>\n );\n};\n\nexport default React.forwardRef(MessageInputWrapper);\n"],"names":["MessageInputWrapper","props","ref","value","renderFileUploadIcon","renderVoiceMessageIcon","renderSendMessageIcon","_a","useChannelContext","currentGroupChannel","initialized","quoteMessage","sendMessage","sendFileMessage","sendVoiceMessage","setQuoteMessage","messageInputRef","renderUserMentionItem","globalStore","useSendbirdStateContext","channel","_b","config","isOnline","isMentionEnabled","userMention","isVoiceMessageEnabled","maxUserMentionCount","maxMentionCount","maxUserSuggestionCount","maxSuggestionCount","stringSet","useContext","LocalizationContext","_c","useState","mentionNickname","setMentionNickname","_d","mentionedUsers","setMentionedUsers","_e","mentionedUserIds","setMentionedUserIds","_f","selectedUser","setSelectedUser","_g","mentionSuggestedUsers","setMentionSuggestedUsers","_h","ableMention","setAbleMention","_j","messageInputEvent","setMessageInputEvent","_k","showVoiceMessageInput","setShowVoiceMessageInput","disabled","utils","isOperator","isBroadcast","displaySuggestedMentionList","length","useEffect","url","filter","userId","i","indexOf","splice","React","concat","SuggestedMentionList","user","__spreadArray","users","QuoteMessageInput","VoiceMessageInputWrapper","recordedFile","duration","MessageInput","MESSAGE_INPUT__QUOTE_REPLY__PLACE_HOLDER","MESSAGE_INPUT__PLACE_HOLDER__DISABLED","MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","message","mentionTemplate","endTyping","file","mentionText","userIds","e","key","MessageInputKeys","Enter","ArrowUp","ArrowDown","forwardRef"],"mappings":"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"}
|
|
@@ -1,44 +1,45 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var index = require('../../index-
|
|
5
|
-
var Channel_context = require('../../ChannelProvider-
|
|
6
|
-
var ui_PlaceHolder = require('../../index-
|
|
4
|
+
var index = require('../../index-80ec94b9.js');
|
|
5
|
+
var Channel_context = require('../../ChannelProvider-56b10dd6.js');
|
|
6
|
+
var ui_PlaceHolder = require('../../index-a34a53d3.js');
|
|
7
7
|
var ui_Icon = require('../../ui/Icon.js');
|
|
8
8
|
var Channel_components_Message = require('./Message.js');
|
|
9
|
-
|
|
10
|
-
require('../../index-
|
|
11
|
-
require('../../
|
|
12
|
-
require('../../UserProfileContext-74e6409b.js');
|
|
9
|
+
require('../../index-c34f34a2.js');
|
|
10
|
+
require('../../index-31135e46.js');
|
|
11
|
+
require('../../UserProfileContext-89b8a98d.js');
|
|
13
12
|
require('prop-types');
|
|
14
13
|
require('../../useSendbirdStateContext.js');
|
|
15
14
|
require('../../withSendbird.js');
|
|
16
|
-
require('../../_rollupPluginBabelHelpers-
|
|
17
|
-
require('../../topics-
|
|
18
|
-
require('../../index-
|
|
19
|
-
require('../../tslib.es6-
|
|
15
|
+
require('../../_rollupPluginBabelHelpers-9807f0cb.js');
|
|
16
|
+
require('../../topics-7108f68f.js');
|
|
17
|
+
require('../../index-6691da2c.js');
|
|
18
|
+
require('../../tslib.es6-23b4ef32.js');
|
|
20
19
|
require('../../utils/message/getOutgoingMessageState.js');
|
|
21
|
-
require('../../compareIds-
|
|
22
|
-
require('../../const-
|
|
20
|
+
require('../../compareIds-88a3abee.js');
|
|
21
|
+
require('../../const-98ae036e.js');
|
|
23
22
|
require('@sendbird/chat/groupChannel');
|
|
23
|
+
require('../../uuid-42040a5c.js');
|
|
24
24
|
require('@sendbird/chat/message');
|
|
25
25
|
require('../../ui/ContextMenu.js');
|
|
26
26
|
require('react-dom');
|
|
27
27
|
require('../../ui/SortByRow.js');
|
|
28
|
-
require('../../index-
|
|
29
|
-
require('../../stringSet-
|
|
28
|
+
require('../../index-86b55059.js');
|
|
29
|
+
require('../../stringSet-d4071e23.js');
|
|
30
30
|
require('../../ui/ReactionButton.js');
|
|
31
31
|
require('../../ui/ImageRenderer.js');
|
|
32
|
-
require('../../
|
|
32
|
+
require('../../consts-7142bdfe.js');
|
|
33
|
+
require('../../LocalizationContext-7d2c13ee.js');
|
|
33
34
|
require('../../ui/Loader.js');
|
|
34
35
|
require('./SuggestedMentionList.js');
|
|
35
36
|
require('../../ui/Avatar.js');
|
|
36
|
-
require('../../const-
|
|
37
|
-
require('../../ThreadProvider-
|
|
37
|
+
require('../../const-6d993a66.js');
|
|
38
|
+
require('../../ThreadProvider-e8591a61.js');
|
|
38
39
|
require('../../Thread/context/types.js');
|
|
39
40
|
require('@sendbird/chat');
|
|
40
41
|
require('../../ui/DateSeparator.js');
|
|
41
|
-
require('../../color-
|
|
42
|
+
require('../../color-ae15b40e.js');
|
|
42
43
|
require('../../ui/MessageInput.js');
|
|
43
44
|
require('react-dom/server');
|
|
44
45
|
require('../../ui/IconButton.js');
|
|
@@ -47,10 +48,11 @@ require('../../ui/MentionUserLabel.js');
|
|
|
47
48
|
require('../../ui/MessageContent.js');
|
|
48
49
|
require('../../ui/UserProfile.js');
|
|
49
50
|
require('../../sendbirdSelectors.js');
|
|
50
|
-
require('../../utils-
|
|
51
|
-
require('../../index-
|
|
52
|
-
require('../../index-
|
|
51
|
+
require('../../utils-178ccede.js');
|
|
52
|
+
require('../../index-45c199d5.js');
|
|
53
|
+
require('../../index-9d2d5d23.js');
|
|
53
54
|
require('../../ui/MessageItemMenu.js');
|
|
55
|
+
require('../../types-8f7bbb00.js');
|
|
54
56
|
require('../../ui/MessageItemReactionMenu.js');
|
|
55
57
|
require('../../ui/EmojiReactions.js');
|
|
56
58
|
require('../../ui/Tooltip.js');
|
|
@@ -63,15 +65,22 @@ require('../../ui/LinkLabel.js');
|
|
|
63
65
|
require('../../ui/MentionLabel.js');
|
|
64
66
|
require('../../ui/FileMessageItemBody.js');
|
|
65
67
|
require('../../ui/TextButton.js');
|
|
66
|
-
require('../../MediaQueryContext-
|
|
68
|
+
require('../../MediaQueryContext-36855cf6.js');
|
|
67
69
|
require('../../ui/ThumbnailMessageItemBody.js');
|
|
68
70
|
require('../../ui/OGMessageItemBody.js');
|
|
69
71
|
require('../../ui/UnknownMessageItemBody.js');
|
|
70
72
|
require('../../ui/QuoteMessage.js');
|
|
71
|
-
require('../../useLongPress-
|
|
73
|
+
require('../../useLongPress-62a89444.js');
|
|
72
74
|
require('../../ui/BottomSheet.js');
|
|
73
|
-
require('../../index-
|
|
75
|
+
require('../../index-fb42d34c.js');
|
|
74
76
|
require('../../ui/ThreadReplies.js');
|
|
77
|
+
require('../../ui/VoiceMessageItemBody.js');
|
|
78
|
+
require('../../ui/ProgressBar.js');
|
|
79
|
+
require('../../VoicePlayer/useVoicePlayer.js');
|
|
80
|
+
require('../../index-e0971532.js');
|
|
81
|
+
require('../../VoiceRecorder/context.js');
|
|
82
|
+
require('../../lame.all.js');
|
|
83
|
+
require('../../ui/PlaybackTime.js');
|
|
75
84
|
require('./FileViewer.js');
|
|
76
85
|
require('./RemoveMessageModal.js');
|
|
77
86
|
require('../../ui/Modal.js');
|
|
@@ -209,14 +218,14 @@ var MessageList = function (props) {
|
|
|
209
218
|
};
|
|
210
219
|
|
|
211
220
|
return /*#__PURE__*/React__default["default"].createElement(Channel_components_Message, {
|
|
221
|
+
key: m === null || m === void 0 ? void 0 : m.messageId,
|
|
212
222
|
handleScroll: handleScroll,
|
|
213
223
|
renderMessage: renderMessage,
|
|
214
224
|
message: m,
|
|
215
225
|
hasSeparator: hasSeparator,
|
|
216
226
|
chainTop: chainTop,
|
|
217
227
|
chainBottom: chainBottom,
|
|
218
|
-
renderCustomSeparator: renderCustomSeparator
|
|
219
|
-
key: m.messageId + uuid.uuidv4()
|
|
228
|
+
renderCustomSeparator: renderCustomSeparator
|
|
220
229
|
});
|
|
221
230
|
});
|
|
222
231
|
}, [allMessages]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageList.js","sources":["../../../../src/smart-components/Channel/components/MessageList/index.tsx"],"sourcesContent":["import './message-list.scss';\n\nimport React, { useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { compareMessagesForGrouping } from '../../context/utils';\nimport Message from '../Message';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\nimport uuidv4 from '../../../../utils/uuid';\n\nexport type MessageListProps = {\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n};\n\nconst SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';\n\nconst MessageList: React.FC<MessageListProps> = (props: MessageListProps) => {\n const {\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n } = props;\n const {\n allMessages,\n hasMorePrev,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n isMessageGroupingEnabled,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n disableMarkAsRead,\n replyType,\n } = useChannelContext();\n const [scrollBottom, setScrollBottom] = useState(0);\n\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (scrollTop === 0) {\n if (!hasMorePrev) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll(SCROLL_REF_CLASS_NAME);\n const first = nodes && nodes[0];\n onScrollCallback(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n // Set block to nearest to prevent unexpected scrolling from outer components\n try {\n first.scrollIntoView({ block: \"start\", inline: \"nearest\" });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n // element.scrollTop = scrollHeight - clientHeight;\n // scrollRef.current.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // Save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight)\n }\n\n if (!disableMarkAsRead && isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n // Mark as read if scroll is at end\n setTimeout(() => {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n try {\n currentGroupChannel?.markAsRead?.();\n } catch {\n //\n }\n }, 500);\n }\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop > -1) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n };\n\n // Because every message components are re-rendered everytime by every scroll events\n const memoizedAllMessages = useMemo(() => {\n return (\n allMessages.map((m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = isMessageGroupingEnabled\n ? compareMessagesForGrouping(previousMessage, m, nextMessage, currentGroupChannel, replyType)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const handleScroll = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n };\n\n return (\n <Message\n handleScroll={handleScroll}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n key={m.messageId + uuidv4()}\n />\n );\n })\n );\n }, [allMessages]);\n\n if (allMessages.length < 1) {\n return (\n <>\n {\n renderPlaceholderEmpty?.() || (\n <PlaceHolder\n className=\"sendbird-conversation__no-messages\"\n type={PlaceHolderTypes.NO_MESSAGES}\n />)\n }\n </>\n );\n }\n return (\n <div className=\"sendbird-conversation__messages\">\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n {memoizedAllMessages}\n </div>\n </div>\n {\n // This flag is an unmatched variable\n (scrollBottom > 1) && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["SCROLL_REF_CLASS_NAME","MessageList","props","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","_a","useChannelContext","allMessages","hasMorePrev","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","isMessageGroupingEnabled","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","disableMarkAsRead","replyType","_b","useState","scrollBottom","setScrollBottom","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","nodes","current","querySelectorAll","first_1","messages","scrollIntoView","block","inline","error","isAboutSame","offsetHeight","setTimeout","type","MARK_AS_READ","payload","channel","markAsRead","onClickScrollBot","_c","memoizedAllMessages","useMemo","map","m","idx","previousMessage","nextMessage","compareMessagesForGrouping","chainTop","chainBottom","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","handleScroll","bottom","React","Message","messageId","uuidv4","length","PlaceHolder","PlaceHolderTypes","NO_MESSAGES","Icon","IconTypes","CHEVRON_DOWN","IconColors","PRIMARY"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageList.js","sources":["../../../../src/smart-components/Channel/components/MessageList/index.tsx"],"sourcesContent":["import './message-list.scss';\n\nimport React, { useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../../ui/PlaceHolder';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { compareMessagesForGrouping } from '../../context/utils';\nimport Message from '../Message';\nimport { RenderCustomSeparatorProps, RenderMessageProps } from '../../../../types';\nimport { isAboutSame } from '../../context/utils';\n\nexport type MessageListProps = {\n renderMessage?: (props: RenderMessageProps) => React.ReactElement;\n renderPlaceholderEmpty?: () => React.ReactElement;\n renderCustomSeparator?: (props: RenderCustomSeparatorProps) => React.ReactElement;\n};\n\nconst SCROLL_REF_CLASS_NAME = '.sendbird-msg--scroll-ref';\n\nconst MessageList: React.FC<MessageListProps> = (props: MessageListProps) => {\n const {\n renderMessage,\n renderPlaceholderEmpty,\n renderCustomSeparator,\n } = props;\n const {\n allMessages,\n hasMorePrev,\n setInitialTimeStamp,\n setAnimatedMessageId,\n setHighLightedMessageId,\n isMessageGroupingEnabled,\n scrollRef,\n onScrollCallback,\n onScrollDownCallback,\n messagesDispatcher,\n messageActionTypes,\n currentGroupChannel,\n disableMarkAsRead,\n replyType,\n } = useChannelContext();\n const [scrollBottom, setScrollBottom] = useState(0);\n\n const onScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n\n if (scrollTop === 0) {\n if (!hasMorePrev) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll(SCROLL_REF_CLASS_NAME);\n const first = nodes && nodes[0];\n onScrollCallback(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n // Set block to nearest to prevent unexpected scrolling from outer components\n try {\n first.scrollIntoView({ block: \"start\", inline: \"nearest\" });\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n onScrollDownCallback(([messages]) => {\n if (messages) {\n try {\n // element.scrollTop = scrollHeight - clientHeight;\n // scrollRef.current.scrollTop = scrollHeight - clientHeight;\n } catch (error) {\n //\n }\n }\n });\n }\n\n // Save the lastest scroll bottom value\n if (scrollRef?.current) {\n const current = scrollRef?.current;\n setScrollBottom(current.scrollHeight - current.scrollTop - current.offsetHeight)\n }\n\n if (!disableMarkAsRead && isAboutSame(clientHeight + scrollTop, scrollHeight, 10)) {\n // Mark as read if scroll is at end\n setTimeout(() => {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n payload: { channel: currentGroupChannel },\n });\n try {\n currentGroupChannel?.markAsRead?.();\n } catch {\n //\n }\n }, 500);\n }\n };\n\n const onClickScrollBot = () => {\n setInitialTimeStamp?.(null);\n setAnimatedMessageId?.(null);\n setHighLightedMessageId?.(null);\n if (scrollRef?.current?.scrollTop > -1) {\n scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;\n }\n };\n\n // Because every message components are re-rendered everytime by every scroll events\n const memoizedAllMessages = useMemo(() => {\n return (\n allMessages.map((m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = isMessageGroupingEnabled\n ? compareMessagesForGrouping(previousMessage, m, nextMessage, currentGroupChannel, replyType)\n : [false, false];\n const previousMessageCreatedAt = previousMessage?.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeparator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const handleScroll = () => {\n const current = scrollRef?.current;\n if (current) {\n const bottom = current.scrollHeight - current.scrollTop - current.offsetHeight;\n if (scrollBottom < bottom) {\n current.scrollTop += bottom - scrollBottom;\n }\n }\n };\n\n return (\n <Message\n key={m?.messageId}\n handleScroll={handleScroll}\n renderMessage={renderMessage}\n message={m}\n hasSeparator={hasSeparator}\n chainTop={chainTop}\n chainBottom={chainBottom}\n renderCustomSeparator={renderCustomSeparator}\n />\n );\n })\n );\n }, [allMessages]);\n\n if (allMessages.length < 1) {\n return (\n <>\n {\n renderPlaceholderEmpty?.() || (\n <PlaceHolder\n className=\"sendbird-conversation__no-messages\"\n type={PlaceHolderTypes.NO_MESSAGES}\n />)\n }\n </>\n );\n }\n return (\n <div className=\"sendbird-conversation__messages\">\n <div className=\"sendbird-conversation__scroll-container\">\n <div className=\"sendbird-conversation__padding\" />\n <div\n className=\"sendbird-conversation__messages-padding\"\n ref={scrollRef}\n onScroll={onScroll}\n >\n {memoizedAllMessages}\n </div>\n </div>\n {\n // This flag is an unmatched variable\n (scrollBottom > 1) && (\n <div\n className=\"sendbird-conversation__scroll-bottom-button\"\n onClick={onClickScrollBot}\n onKeyDown={onClickScrollBot}\n tabIndex={0}\n role=\"button\"\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.PRIMARY}\n />\n </div>\n )\n }\n </div>\n );\n};\n\nexport default MessageList;\n"],"names":["SCROLL_REF_CLASS_NAME","MessageList","props","renderMessage","renderPlaceholderEmpty","renderCustomSeparator","_a","useChannelContext","allMessages","hasMorePrev","setInitialTimeStamp","setAnimatedMessageId","setHighLightedMessageId","isMessageGroupingEnabled","scrollRef","onScrollCallback","onScrollDownCallback","messagesDispatcher","messageActionTypes","currentGroupChannel","disableMarkAsRead","replyType","_b","useState","scrollBottom","setScrollBottom","onScroll","e","element","target","scrollTop","clientHeight","scrollHeight","nodes","current","querySelectorAll","first_1","messages","scrollIntoView","block","inline","error","isAboutSame","offsetHeight","setTimeout","type","MARK_AS_READ","payload","channel","markAsRead","onClickScrollBot","_c","memoizedAllMessages","useMemo","map","m","idx","previousMessage","nextMessage","compareMessagesForGrouping","chainTop","chainBottom","previousMessageCreatedAt","createdAt","currentCreatedAt","hasSeparator","isSameDay","handleScroll","bottom","React","Message","messageId","length","PlaceHolder","PlaceHolderTypes","NO_MESSAGES","Icon","IconTypes","CHEVRON_DOWN","IconColors","PRIMARY"],"mappings":"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"}
|
|
@@ -3,35 +3,36 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var ui_Modal = require('../../ui/Modal.js');
|
|
5
5
|
var ui_Button = require('../../ui/Button.js');
|
|
6
|
-
var LocalizationContext = require('../../LocalizationContext-
|
|
7
|
-
var Channel_context = require('../../ChannelProvider-
|
|
6
|
+
var LocalizationContext = require('../../LocalizationContext-7d2c13ee.js');
|
|
7
|
+
var Channel_context = require('../../ChannelProvider-56b10dd6.js');
|
|
8
8
|
require('react-dom');
|
|
9
|
-
require('../../index-
|
|
9
|
+
require('../../index-fb42d34c.js');
|
|
10
10
|
require('../../ui/Icon.js');
|
|
11
11
|
require('prop-types');
|
|
12
12
|
require('../../ui/IconButton.js');
|
|
13
|
-
require('../../tslib.es6-
|
|
14
|
-
require('../../index-
|
|
15
|
-
require('../../stringSet-
|
|
16
|
-
require('../../MediaQueryContext-
|
|
17
|
-
require('../../index-
|
|
18
|
-
require('../../UserProfileContext-
|
|
13
|
+
require('../../tslib.es6-23b4ef32.js');
|
|
14
|
+
require('../../index-86b55059.js');
|
|
15
|
+
require('../../stringSet-d4071e23.js');
|
|
16
|
+
require('../../MediaQueryContext-36855cf6.js');
|
|
17
|
+
require('../../index-31135e46.js');
|
|
18
|
+
require('../../UserProfileContext-89b8a98d.js');
|
|
19
19
|
require('../../useSendbirdStateContext.js');
|
|
20
20
|
require('../../withSendbird.js');
|
|
21
|
-
require('../../_rollupPluginBabelHelpers-
|
|
22
|
-
require('../../index-
|
|
23
|
-
require('../../topics-
|
|
24
|
-
require('../../index-
|
|
21
|
+
require('../../_rollupPluginBabelHelpers-9807f0cb.js');
|
|
22
|
+
require('../../index-c34f34a2.js');
|
|
23
|
+
require('../../topics-7108f68f.js');
|
|
24
|
+
require('../../index-6691da2c.js');
|
|
25
25
|
require('../../utils/message/getOutgoingMessageState.js');
|
|
26
|
-
require('../../compareIds-
|
|
27
|
-
require('../../const-
|
|
26
|
+
require('../../compareIds-88a3abee.js');
|
|
27
|
+
require('../../const-98ae036e.js');
|
|
28
28
|
require('@sendbird/chat/groupChannel');
|
|
29
|
-
require('../../uuid-
|
|
29
|
+
require('../../uuid-42040a5c.js');
|
|
30
30
|
require('@sendbird/chat/message');
|
|
31
31
|
require('../../ui/ContextMenu.js');
|
|
32
32
|
require('../../ui/SortByRow.js');
|
|
33
33
|
require('../../ui/ReactionButton.js');
|
|
34
34
|
require('../../ui/ImageRenderer.js');
|
|
35
|
+
require('../../consts-7142bdfe.js');
|
|
35
36
|
|
|
36
37
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
37
38
|
|
|
@@ -40,7 +41,9 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
40
41
|
var RemoveMessage = function (props) {
|
|
41
42
|
var _a;
|
|
42
43
|
|
|
43
|
-
var
|
|
44
|
+
var _b = props.onSubmit,
|
|
45
|
+
onSubmit = _b === void 0 ? function () {} : _b,
|
|
46
|
+
onCancel = props.onCancel,
|
|
44
47
|
message = props.message;
|
|
45
48
|
var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet;
|
|
46
49
|
var deleteMessage = Channel_context.useChannelContext().deleteMessage;
|
|
@@ -50,6 +53,7 @@ var RemoveMessage = function (props) {
|
|
|
50
53
|
onCancel: onCancel,
|
|
51
54
|
onSubmit: function () {
|
|
52
55
|
deleteMessage(message).then(function () {
|
|
56
|
+
onSubmit();
|
|
53
57
|
onCancel();
|
|
54
58
|
});
|
|
55
59
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveMessageModal.js","sources":["../../../../src/smart-components/Channel/components/RemoveMessageModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport { ButtonTypes } from '../../../ui/Button';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport { EveryMessage } from '../../../types';\n\nexport interface RemoveMessageProps {\n onCancel: () => void;\n message: EveryMessage;\n}\n\nconst RemoveMessage: React.FC<RemoveMessageProps> = (props: RemoveMessageProps) => {\n const {\n onCancel,\n message,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const {\n deleteMessage,\n } = useChannelContext();\n return (\n <Modal\n type={ButtonTypes.DANGER}\n disabled={message?.threadInfo?.replyCount > 0}\n onCancel={onCancel}\n onSubmit={() => { deleteMessage(message).then(() => {\n onCancel();\n }) }}\n submitText={stringSet.MESSAGE_MENU__DELETE}\n titleText={stringSet.MODAL__DELETE_MESSAGE__TITLE}\n />\n );\n};\n\nexport default RemoveMessage;\n"],"names":["RemoveMessage","props","onCancel","message","stringSet","useContext","LocalizationContext","deleteMessage","useChannelContext","React","Modal","ButtonTypes","DANGER","threadInfo","_a","replyCount","then","MESSAGE_MENU__DELETE","MODAL__DELETE_MESSAGE__TITLE"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RemoveMessageModal.js","sources":["../../../../src/smart-components/Channel/components/RemoveMessageModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport { ButtonTypes } from '../../../ui/Button';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport { EveryMessage } from '../../../types';\n\nexport interface RemoveMessageProps {\n onSubmit?: () => void;\n onCancel: () => void;\n message: EveryMessage;\n}\n\nconst RemoveMessage: React.FC<RemoveMessageProps> = (props: RemoveMessageProps) => {\n const {\n onSubmit = () => {/* noop */},\n onCancel,\n message,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n const {\n deleteMessage,\n } = useChannelContext();\n return (\n <Modal\n type={ButtonTypes.DANGER}\n disabled={message?.threadInfo?.replyCount > 0}\n onCancel={onCancel}\n onSubmit={() => { deleteMessage(message).then(() => {\n onSubmit();\n onCancel();\n }) }}\n submitText={stringSet.MESSAGE_MENU__DELETE}\n titleText={stringSet.MODAL__DELETE_MESSAGE__TITLE}\n />\n );\n};\n\nexport default RemoveMessage;\n"],"names":["RemoveMessage","props","_b","onSubmit","onCancel","message","stringSet","useContext","LocalizationContext","deleteMessage","useChannelContext","React","Modal","ButtonTypes","DANGER","threadInfo","_a","replyCount","then","MESSAGE_MENU__DELETE","MODAL__DELETE_MESSAGE__TITLE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAMA,aAAa,GAAiC,UAACC,KAAD,EAA0B;;;AAE1E,EAAA,IAAAC,KAGED,KAAK,CAAAE,QAHP;MAAAA,QAAQ,GAAAD,EAAA,KAAA,KAAA,CAAA,GAAG,cAAH,GAAqBA,EAA7B;AAAA,MACAE,QAAQ,GAENH,KAAK,CAFCG,QADR;AAAA,MAEAC,OAAO,GACLJ,KAAK,QAHP,CAAA;AAIM,EAAA,IAAAK,SAAS,GAAKC,gBAAU,CAACC,uCAAD,CAAV,UAAd,CAAA;AAEN,EAAA,IAAAC,aAAa,GACXC,iCAAiB,EAAA,cADnB,CAAA;AAEF,EAAA,oBACEC,wCAACC,mBAAD,EAAA;IACE,IAAI,EAAEC,qBAAW,CAACC,MADpB;AAEE,IAAA,QAAQ,EAAE,CAAA,MAAAT,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAAA,OAAO,CAAEU,UAAT,MAAqB,IAArB,IAAqBC,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAAC,UAArB,IAAkC,CAF9C;AAGE,IAAA,QAAQ,EAAEb,QAHZ;AAIE,IAAA,QAAQ,EAAE,YAAA;AAAQK,MAAAA,aAAa,CAACJ,OAAD,CAAb,CAAuBa,IAAvB,CAA4B,YAAA;QAC5Cf,QAAQ,EAAA,CAAA;QACRC,QAAQ,EAAA,CAAA;OAFQ,CAAA,CAAA;KAJpB;IAQE,UAAU,EAAEE,SAAS,CAACa,oBARxB;IASE,SAAS,EAAEb,SAAS,CAACc,4BAAAA;GAVzB,CAAA,CAAA;AAaD;;;;"}
|
|
@@ -1,34 +1,35 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var ui_Label = require('../../index-
|
|
4
|
+
var ui_Label = require('../../index-86b55059.js');
|
|
5
5
|
var ui_Icon = require('../../ui/Icon.js');
|
|
6
6
|
var ui_Avatar = require('../../ui/Avatar.js');
|
|
7
|
-
var LocalizationContext = require('../../LocalizationContext-
|
|
8
|
-
var uuid = require('../../uuid-
|
|
9
|
-
var Channel_context = require('../../ChannelProvider-
|
|
7
|
+
var LocalizationContext = require('../../LocalizationContext-7d2c13ee.js');
|
|
8
|
+
var uuid = require('../../uuid-42040a5c.js');
|
|
9
|
+
var Channel_context = require('../../ChannelProvider-56b10dd6.js');
|
|
10
10
|
var useSendbirdStateContext = require('../../useSendbirdStateContext.js');
|
|
11
|
-
var _const$1 = require('../../const-
|
|
12
|
-
var _const = require('../../const-
|
|
13
|
-
var Thread_context = require('../../ThreadProvider-
|
|
11
|
+
var _const$1 = require('../../const-98ae036e.js');
|
|
12
|
+
var _const = require('../../const-6d993a66.js');
|
|
13
|
+
var Thread_context = require('../../ThreadProvider-e8591a61.js');
|
|
14
14
|
require('prop-types');
|
|
15
|
-
require('../../stringSet-
|
|
16
|
-
require('../../tslib.es6-
|
|
15
|
+
require('../../stringSet-d4071e23.js');
|
|
16
|
+
require('../../tslib.es6-23b4ef32.js');
|
|
17
17
|
require('../../ui/ImageRenderer.js');
|
|
18
|
-
require('../../index-
|
|
19
|
-
require('../../UserProfileContext-
|
|
20
|
-
require('../../index-
|
|
21
|
-
require('../../topics-
|
|
22
|
-
require('../../index-
|
|
18
|
+
require('../../index-31135e46.js');
|
|
19
|
+
require('../../UserProfileContext-89b8a98d.js');
|
|
20
|
+
require('../../index-c34f34a2.js');
|
|
21
|
+
require('../../topics-7108f68f.js');
|
|
22
|
+
require('../../index-6691da2c.js');
|
|
23
23
|
require('../../utils/message/getOutgoingMessageState.js');
|
|
24
|
-
require('../../_rollupPluginBabelHelpers-
|
|
25
|
-
require('../../compareIds-
|
|
24
|
+
require('../../_rollupPluginBabelHelpers-9807f0cb.js');
|
|
25
|
+
require('../../compareIds-88a3abee.js');
|
|
26
26
|
require('@sendbird/chat/groupChannel');
|
|
27
27
|
require('@sendbird/chat/message');
|
|
28
28
|
require('../../ui/ContextMenu.js');
|
|
29
29
|
require('react-dom');
|
|
30
30
|
require('../../ui/SortByRow.js');
|
|
31
31
|
require('../../ui/ReactionButton.js');
|
|
32
|
+
require('../../consts-7142bdfe.js');
|
|
32
33
|
require('../../withSendbird.js');
|
|
33
34
|
require('../../Thread/context/types.js');
|
|
34
35
|
require('@sendbird/chat');
|