@sendbird/uikit-react 3.5.0-rc.0 → 3.5.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 +312 -235
- package/App.js.map +1 -1
- package/CHANGELOG.md +544 -0
- package/Channel/components/ChannelHeader.js +46 -41
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +104 -131
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +56 -52
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +12 -7
- package/Channel/components/FrozenNotification.js.map +1 -1
- package/Channel/components/Message.js +240 -230
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +152 -129
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +260 -175
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +34 -30
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +139 -193
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +44 -61
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +18 -20
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +12 -19
- package/Channel/context.js.map +1 -1
- package/Channel.js +69 -44
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +29 -30
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +32 -28
- package/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/ChannelList/components/ChannelListUI.js +101 -142
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +72 -82
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +36 -36
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +7 -8
- package/ChannelList/context.js.map +1 -1
- package/ChannelList.js +32 -31
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-ade145a7.js → ChannelListProvider-4cf5c0f5.js} +233 -285
- package/ChannelListProvider-4cf5c0f5.js.map +1 -0
- package/{ChannelProvider-c9db10c0.js → ChannelProvider-6e8e99df.js} +659 -726
- package/ChannelProvider-6e8e99df.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +33 -46
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +45 -48
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +47 -58
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +40 -46
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +522 -605
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +71 -72
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +29 -32
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +53 -57
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +20 -20
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +24 -24
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +102 -124
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +41 -42
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +22 -21
- package/CreateChannel.js.map +1 -1
- package/CreateChannelProvider-34603fa5.js +44 -0
- package/CreateChannelProvider-34603fa5.js.map +1 -0
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
- package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/CreateOpenChannel/context.js +33 -33
- package/CreateOpenChannel/context.js.map +1 -1
- package/CreateOpenChannel.js +18 -17
- package/CreateOpenChannel.js.map +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +12 -13
- package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
- package/EditUserProfile/context.js +0 -2
- package/EditUserProfile/context.js.map +1 -1
- package/EditUserProfile.js +18 -17
- package/EditUserProfile.js.map +1 -1
- package/LocalizationContext-04c0c9dc.js +20 -0
- package/{LocalizationContext-60894e38.js.map → LocalizationContext-04c0c9dc.js.map} +1 -1
- package/MediaQueryContext-ff9dca2b.js +87 -0
- package/MediaQueryContext-ff9dca2b.js.map +1 -0
- package/MemberList-9bf26111.js +403 -0
- package/MemberList-9bf26111.js.map +1 -0
- package/Message/context.js +31 -0
- package/Message/context.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +62 -71
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +201 -224
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +46 -58
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +8 -6
- package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/OpenChannel/components/OpenChannelHeader.js +27 -25
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +50 -35
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +174 -191
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +72 -92
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +52 -49
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -9
- package/OpenChannel/context.js.map +1 -1
- package/OpenChannel.js +36 -30
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +61 -76
- package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/OpenChannelList/components/OpenChannelPreview.js +21 -22
- package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/OpenChannelList/context.js +3 -4
- package/OpenChannelList/context.js.map +1 -1
- package/OpenChannelList.js +26 -24
- package/OpenChannelList.js.map +1 -1
- package/OpenChannelListProvider-d7372692.js +429 -0
- package/OpenChannelListProvider-d7372692.js.map +1 -0
- package/OpenChannelProvider-24cd68b9.js +1885 -0
- package/OpenChannelProvider-24cd68b9.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +47 -56
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +516 -586
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +15 -16
- package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/OpenChannelSettings/context.js +56 -69
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +19 -20
- package/OpenChannelSettings.js.map +1 -1
- package/README.md +62 -13
- package/RemoveMessageModal-94e2bf9e.js +36 -0
- package/RemoveMessageModal-94e2bf9e.js.map +1 -0
- package/SendbirdProvider.js +749 -408
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +238 -217
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +112 -89
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +22 -23
- package/Thread/components/ThreadHeader.js.map +1 -1
- package/Thread/components/ThreadList.js +108 -83
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +306 -276
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +146 -113
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +169 -138
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context/types.js +9 -14
- package/Thread/context/types.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +87 -57
- package/Thread.js.map +1 -1
- package/ThreadProvider-203b94f3.js +1695 -0
- package/ThreadProvider-203b94f3.js.map +1 -0
- package/{UserProfileContext-33a26cc4.js → UserProfileContext-c776d522.js} +1 -4
- package/{UserProfileContext-33a26cc4.js.map → UserProfileContext-c776d522.js.map} +1 -1
- package/VoiceMessageInputWrapper-77d8f487.js +170 -0
- package/VoiceMessageInputWrapper-77d8f487.js.map +1 -0
- package/VoicePlayer/context.js +7 -0
- package/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
- package/VoicePlayer/useVoicePlayer.js +84 -0
- package/VoicePlayer/useVoicePlayer.js.map +1 -0
- package/VoiceRecorder/context.js +156 -0
- package/VoiceRecorder/context.js.map +1 -0
- package/VoiceRecorder/useVoiceRecorder.js +121 -0
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -0
- package/WebAudioUtils-62e6d3a7.js +123 -0
- package/WebAudioUtils-62e6d3a7.js.map +1 -0
- package/{_rollupPluginBabelHelpers-ed44209e.js → _rollupPluginBabelHelpers-fb0e05a4.js} +17 -11
- package/_rollupPluginBabelHelpers-fb0e05a4.js.map +1 -0
- package/actionTypes-1db5749d.js +8 -0
- package/actionTypes-1db5749d.js.map +1 -0
- package/cjs/App.js +312 -235
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +46 -41
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +102 -129
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +56 -52
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +12 -7
- package/cjs/Channel/components/FrozenNotification.js.map +1 -1
- package/cjs/Channel/components/Message.js +243 -233
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +151 -128
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +260 -175
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +34 -30
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +139 -193
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +44 -61
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +18 -20
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +12 -23
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel.js +69 -44
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +29 -30
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +32 -28
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListUI.js +100 -141
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +72 -82
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +36 -36
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +7 -8
- package/cjs/ChannelList/context.js.map +1 -1
- package/cjs/ChannelList.js +32 -31
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-65473831.js → ChannelListProvider-e0ce316a.js} +232 -284
- package/cjs/ChannelListProvider-e0ce316a.js.map +1 -0
- package/cjs/{ChannelProvider-1e08a7a9.js → ChannelProvider-0df75472.js} +657 -724
- package/cjs/ChannelProvider-0df75472.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +33 -46
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +45 -48
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +47 -58
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +40 -46
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +522 -605
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +71 -72
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +29 -32
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +55 -59
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +20 -20
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +24 -24
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +102 -124
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +41 -42
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +22 -21
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/CreateChannelProvider-c0fca0a5.js +52 -0
- package/cjs/CreateChannelProvider-c0fca0a5.js.map +1 -0
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +33 -43
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/cjs/CreateOpenChannel/context.js +33 -33
- package/cjs/CreateOpenChannel/context.js.map +1 -1
- package/cjs/CreateOpenChannel.js +18 -17
- package/cjs/CreateOpenChannel.js.map +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -13
- package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
- package/cjs/EditUserProfile/context.js +0 -2
- package/cjs/EditUserProfile/context.js.map +1 -1
- package/cjs/EditUserProfile.js +18 -17
- package/cjs/EditUserProfile.js.map +1 -1
- package/cjs/{LocalizationContext-8780a64e.js → LocalizationContext-0e429c3d.js} +9 -11
- package/cjs/{LocalizationContext-8780a64e.js.map → LocalizationContext-0e429c3d.js.map} +1 -1
- package/cjs/MediaQueryContext-33fc3b17.js +94 -0
- package/cjs/MediaQueryContext-33fc3b17.js.map +1 -0
- package/cjs/MemberList-a45a51c4.js +409 -0
- package/cjs/MemberList-a45a51c4.js.map +1 -0
- package/cjs/Message/context.js +40 -0
- package/cjs/Message/context.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +61 -70
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +201 -224
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +46 -58
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +8 -6
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelHeader.js +27 -25
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +50 -35
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +174 -191
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +72 -92
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +52 -49
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -9
- package/cjs/OpenChannel/context.js.map +1 -1
- package/cjs/OpenChannel.js +36 -30
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +61 -76
- package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +21 -22
- package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/cjs/OpenChannelList/context.js +3 -4
- package/cjs/OpenChannelList/context.js.map +1 -1
- package/cjs/OpenChannelList.js +26 -24
- package/cjs/OpenChannelList.js.map +1 -1
- package/cjs/OpenChannelListProvider-fc8b53ee.js +439 -0
- package/cjs/OpenChannelListProvider-fc8b53ee.js.map +1 -0
- package/cjs/OpenChannelProvider-217a8ac2.js +1894 -0
- package/cjs/OpenChannelProvider-217a8ac2.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +47 -56
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +26 -31
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +45 -43
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +516 -586
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/cjs/OpenChannelSettings/context.js +57 -70
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +19 -20
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/{RemoveMessageModal-0da4f94b.js → RemoveMessageModal-5903f232.js} +19 -14
- package/cjs/RemoveMessageModal-5903f232.js.map +1 -0
- package/cjs/SendbirdProvider.js +748 -408
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +237 -216
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +111 -88
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +22 -23
- package/cjs/Thread/components/ThreadHeader.js.map +1 -1
- package/cjs/Thread/components/ThreadList.js +108 -83
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +305 -275
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +146 -113
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +170 -139
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context/types.js +13 -14
- package/cjs/Thread/context/types.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +87 -57
- package/cjs/Thread.js.map +1 -1
- package/cjs/ThreadProvider-8ee179c2.js +1704 -0
- package/cjs/ThreadProvider-8ee179c2.js.map +1 -0
- package/cjs/{UserProfileContext-0808e413.js → UserProfileContext-87580795.js} +1 -4
- package/cjs/{UserProfileContext-0808e413.js.map → UserProfileContext-87580795.js.map} +1 -1
- package/cjs/VoiceMessageInputWrapper-4fdc8ef1.js +176 -0
- package/cjs/VoiceMessageInputWrapper-4fdc8ef1.js.map +1 -0
- package/cjs/VoicePlayer/context.js +17 -0
- package/cjs/{NotificationChannel → VoicePlayer}/context.js.map +1 -1
- package/cjs/VoicePlayer/useVoicePlayer.js +88 -0
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -0
- package/cjs/VoiceRecorder/context.js +166 -0
- package/cjs/VoiceRecorder/context.js.map +1 -0
- package/cjs/VoiceRecorder/useVoiceRecorder.js +126 -0
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -0
- package/cjs/WebAudioUtils-e226789c.js +126 -0
- package/cjs/WebAudioUtils-e226789c.js.map +1 -0
- package/cjs/{_rollupPluginBabelHelpers-bd6baf0a.js → _rollupPluginBabelHelpers-c89f311a.js} +17 -10
- package/cjs/_rollupPluginBabelHelpers-c89f311a.js.map +1 -0
- package/cjs/actionTypes-0fa2943d.js +10 -0
- package/cjs/actionTypes-0fa2943d.js.map +1 -0
- package/cjs/{color-fdbe394d.js → color-bada0fc7.js} +13 -21
- package/cjs/color-bada0fc7.js.map +1 -0
- package/cjs/{compareIds-d0c02eca.js → compareIds-ccccfe86.js} +5 -6
- package/cjs/compareIds-ccccfe86.js.map +1 -0
- package/cjs/const-a85f3364.js +20 -0
- package/cjs/const-a85f3364.js.map +1 -0
- package/cjs/{const-8785e4ad.js → const-d8cece19.js} +4 -4
- package/cjs/const-d8cece19.js.map +1 -0
- package/cjs/consts-1c3020ad.js +6 -0
- package/cjs/consts-1c3020ad.js.map +1 -0
- package/cjs/consts-1d94dc61.js +6 -0
- package/cjs/consts-1d94dc61.js.map +1 -0
- package/cjs/consts-5e0f96b3.js +41 -0
- package/cjs/consts-5e0f96b3.js.map +1 -0
- package/cjs/consts-740f60b8.js +6 -0
- package/cjs/consts-740f60b8.js.map +1 -0
- package/cjs/{context-012aecd1.js → context-8e7e8457.js} +6 -5
- package/cjs/{context-012aecd1.js.map → context-8e7e8457.js.map} +1 -1
- package/cjs/dist/index.css +1682 -1229
- package/cjs/dist/index.css.map +1 -1
- package/cjs/handlers/OpenChannelHandler.js.map +1 -1
- package/cjs/handlers/SessionHandler.js.map +1 -1
- package/cjs/{index-48d85d8f.js → index-016f7106.js} +1 -1
- package/cjs/{index-48d85d8f.js.map → index-016f7106.js.map} +1 -1
- package/cjs/{index-e8544e24.js → index-1613ae03.js} +29 -37
- package/cjs/index-1613ae03.js.map +1 -0
- package/cjs/index-2be14d85.js +57 -0
- package/cjs/index-2be14d85.js.map +1 -0
- package/cjs/index-3b30939e.js +79 -0
- package/cjs/index-3b30939e.js.map +1 -0
- package/cjs/index-5231fde8.js +585 -0
- package/cjs/index-5231fde8.js.map +1 -0
- package/cjs/index-648c06ed.js +330 -0
- package/cjs/index-648c06ed.js.map +1 -0
- package/cjs/{index-bdd889a2.js → index-6cb0d040.js} +11 -25
- package/cjs/index-6cb0d040.js.map +1 -0
- package/cjs/{index-ebb542c3.js → index-71fdaa1b.js} +55 -63
- package/cjs/index-71fdaa1b.js.map +1 -0
- package/cjs/{index-abe135e6.js → index-7d125728.js} +2 -2
- package/cjs/{index-abe135e6.js.map → index-7d125728.js.map} +1 -1
- package/cjs/{index-e191d245.js → index-7f6bbe0c.js} +42 -51
- package/cjs/index-7f6bbe0c.js.map +1 -0
- package/cjs/{index-5ea12b7a.js → index-869e9a94.js} +2 -2
- package/cjs/{index-5ea12b7a.js.map → index-869e9a94.js.map} +1 -1
- package/cjs/index-89d81dad.js +456 -0
- package/cjs/index-89d81dad.js.map +1 -0
- package/cjs/{index-c13771a7.js → index-8affdde5.js} +57 -3
- package/cjs/index-8affdde5.js.map +1 -0
- package/cjs/index-99f16473.js +202 -0
- package/cjs/index-99f16473.js.map +1 -0
- package/cjs/index-c9d348b6.js +367 -0
- package/cjs/index-c9d348b6.js.map +1 -0
- package/cjs/index-e8c0080f.js +161 -0
- package/cjs/index-e8c0080f.js.map +1 -0
- package/cjs/{index-08d232f8.js → index-f570d25c.js} +1 -1
- package/cjs/index-f570d25c.js.map +1 -0
- package/cjs/index.js +84 -63
- package/cjs/index.js.map +1 -1
- package/cjs/index.module-0585715f.js +6 -0
- package/cjs/index.module-0585715f.js.map +1 -0
- package/cjs/lame.all.js +2541 -0
- package/cjs/lame.all.js.map +1 -0
- package/cjs/resolvedReplyType-67e78c63.js +32 -0
- package/cjs/resolvedReplyType-67e78c63.js.map +1 -0
- package/cjs/sendbirdSelectors.js +307 -417
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-60660a99.js → stringSet-106da549.js} +112 -90
- package/cjs/stringSet-106da549.js.map +1 -0
- package/cjs/tokenize-2aa0f876.js +164 -0
- package/cjs/tokenize-2aa0f876.js.map +1 -0
- package/cjs/topics-b384e6b3.js +18 -0
- package/cjs/topics-b384e6b3.js.map +1 -0
- package/cjs/types-e0b77c8c.js +17 -0
- package/cjs/types-e0b77c8c.js.map +1 -0
- package/cjs/ui/Accordion.js +21 -24
- package/cjs/ui/Accordion.js.map +1 -1
- package/cjs/ui/AccordionGroup.js +10 -13
- package/cjs/ui/AccordionGroup.js.map +1 -1
- package/cjs/ui/AdminMessage.js +10 -13
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +57 -79
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +16 -15
- package/cjs/ui/Badge.js.map +1 -1
- package/cjs/ui/BottomSheet.js +14 -12
- package/cjs/ui/BottomSheet.js.map +1 -1
- package/cjs/ui/Button.js +20 -35
- package/cjs/ui/Button.js.map +1 -1
- package/cjs/ui/ChannelAvatar.js +38 -41
- package/cjs/ui/ChannelAvatar.js.map +1 -1
- package/cjs/ui/Checkbox.js +11 -13
- package/cjs/ui/Checkbox.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +7 -5
- package/cjs/ui/ConnectionStatus.js.map +1 -1
- package/cjs/ui/ContextMenu.js +175 -199
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +12 -14
- package/cjs/ui/DateSeparator.js.map +1 -1
- package/cjs/ui/EmojiReactions.js +299 -107
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +22 -23
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +36 -36
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +447 -623
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +20 -31
- package/cjs/ui/IconButton.js.map +1 -1
- package/cjs/ui/ImageRenderer.js +34 -43
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +16 -16
- package/cjs/ui/Input.js.map +1 -1
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +4 -3
- package/cjs/ui/LinkLabel.js.map +1 -1
- package/cjs/ui/Loader.js +10 -12
- package/cjs/ui/Loader.js.map +1 -1
- package/cjs/ui/MentionLabel.js +58 -65
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js +12 -10
- package/cjs/ui/MentionUserLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +212 -548
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +392 -119
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +83 -83
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +58 -62
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +56 -51
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +42 -41
- package/cjs/ui/MessageSearchItem.js.map +1 -1
- package/cjs/ui/MessageStatus.js +10 -11
- package/cjs/ui/MessageStatus.js.map +1 -1
- package/cjs/ui/Modal.js +52 -46
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js +10 -10
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +67 -63
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +8 -7
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
- package/cjs/ui/OpenChannelAvatar.js +18 -17
- package/cjs/ui/OpenChannelAvatar.js.map +1 -1
- package/cjs/ui/OpenchannelConversationHeader.js +17 -13
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
- package/cjs/ui/OpenchannelFileMessage.js +140 -151
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +204 -233
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +215 -222
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +168 -178
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +5 -6
- package/cjs/ui/PlaceHolder.js.map +1 -1
- package/cjs/ui/PlaybackTime.js +35 -0
- package/cjs/ui/PlaybackTime.js.map +1 -0
- package/cjs/ui/ProgressBar.js +40 -0
- package/cjs/ui/ProgressBar.js.map +1 -0
- package/cjs/ui/QuoteMessage.js +50 -44
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +31 -29
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +13 -21
- package/cjs/ui/ReactionBadge.js.map +1 -1
- package/cjs/ui/ReactionButton.js +30 -27
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +14 -18
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +13 -21
- package/cjs/ui/TextButton.js.map +1 -1
- package/cjs/ui/TextMessageItemBody.js +41 -48
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThreadReplies.js +25 -22
- package/cjs/ui/ThreadReplies.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +36 -45
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Toggle.js +202 -0
- package/cjs/ui/Toggle.js.map +1 -0
- package/cjs/ui/Tooltip.js +8 -9
- package/cjs/ui/Tooltip.js.map +1 -1
- package/cjs/ui/TooltipWrapper.js +17 -20
- package/cjs/ui/TooltipWrapper.js.map +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +21 -22
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +76 -76
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +31 -29
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/VoiceMessageItemBody.js +119 -0
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -0
- package/cjs/ui/VoiceMessgeInput.js +22 -0
- package/cjs/ui/VoiceMessgeInput.js.map +1 -0
- package/cjs/ui/Word.js +31 -39
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/useDirtyGetMentions-b8ca5675.js +77 -0
- package/cjs/useDirtyGetMentions-b8ca5675.js.map +1 -0
- package/cjs/useLongPress-8037894e.js +87 -0
- package/cjs/useLongPress-8037894e.js.map +1 -0
- package/cjs/useSendbirdStateContext.js +2 -3
- package/cjs/useSendbirdStateContext.js.map +1 -1
- package/cjs/utils/message/getOutgoingMessageState.js +16 -21
- package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
- package/cjs/utils/message/isVoiceMessage.js +12 -0
- package/cjs/utils/message/isVoiceMessage.js.map +1 -0
- package/cjs/{utils-ba58eacf.js → utils-01ff5332.js} +3 -7
- package/cjs/{utils-ba58eacf.js.map → utils-01ff5332.js.map} +1 -1
- package/cjs/utils-2edcddc8.js +35 -0
- package/cjs/utils-2edcddc8.js.map +1 -0
- package/cjs/utils-5ac3db44.js +31 -0
- package/cjs/utils-5ac3db44.js.map +1 -0
- package/cjs/{utils-708aa730.js → utils-ad7b5b82.js} +1 -1
- package/cjs/{utils-708aa730.js.map → utils-ad7b5b82.js.map} +1 -1
- package/cjs/uuid-12b01f73.js +15 -0
- package/cjs/{uuid-a9006ea2.js.map → uuid-12b01f73.js.map} +1 -1
- package/cjs/withSendbird.js +5 -6
- package/cjs/withSendbird.js.map +1 -1
- package/{color-c39702d1.js → color-347926b6.js} +5 -14
- package/{color-c39702d1.js.map → color-347926b6.js.map} +1 -1
- package/{compareIds-063e5503.js → compareIds-3a43c11b.js} +5 -6
- package/compareIds-3a43c11b.js.map +1 -0
- package/const-18dba7a4.js +13 -0
- package/const-18dba7a4.js.map +1 -0
- package/{const-1510a671.js → const-c608f749.js} +4 -4
- package/const-c608f749.js.map +1 -0
- package/consts-6bca01c7.js +4 -0
- package/consts-6bca01c7.js.map +1 -0
- package/consts-7a169a0f.js +4 -0
- package/consts-7a169a0f.js.map +1 -0
- package/consts-c1baf70a.js +27 -0
- package/consts-c1baf70a.js.map +1 -0
- package/consts-fb4d475a.js +4 -0
- package/consts-fb4d475a.js.map +1 -0
- package/context-786ef1a2.js +13 -0
- package/{context-d5dc28c9.js.map → context-786ef1a2.js.map} +1 -1
- package/dist/index.css +1682 -1229
- package/dist/index.css.map +1 -1
- package/handlers/OpenChannelHandler.js.map +1 -1
- package/handlers/SessionHandler.js.map +1 -1
- package/{index-7c1f570b.js → index-06b854f7.js} +55 -63
- package/index-06b854f7.js.map +1 -0
- package/index-2673effb.js +360 -0
- package/index-2673effb.js.map +1 -0
- package/{index-5e776774.js → index-319984d0.js} +1 -1
- package/{index-5e776774.js.map → index-319984d0.js.map} +1 -1
- package/{index-eadca08d.js → index-4455855e.js} +2 -2
- package/{index-eadca08d.js.map → index-4455855e.js.map} +1 -1
- package/index-6663ce18.js +450 -0
- package/index-6663ce18.js.map +1 -0
- package/{index-b19486f5.js → index-6c252d25.js} +2 -2
- package/{index-b19486f5.js.map → index-6c252d25.js.map} +1 -1
- package/index-71a20863.js +320 -0
- package/index-71a20863.js.map +1 -0
- package/index-7d71b26c.js +154 -0
- package/index-7d71b26c.js.map +1 -0
- package/{index-d81c515b.js → index-9a4e0846.js} +1 -1
- package/index-9a4e0846.js.map +1 -0
- package/{index-fd15e3b0.js → index-9cd77b08.js} +29 -37
- package/index-9cd77b08.js.map +1 -0
- package/index-c149ea48.js +187 -0
- package/index-c149ea48.js.map +1 -0
- package/index-cf3939c6.js +76 -0
- package/index-cf3939c6.js.map +1 -0
- package/index-cf859f03.js +540 -0
- package/index-cf859f03.js.map +1 -0
- package/{index-95ac9232.js → index-e33f7f55.js} +11 -25
- package/index-e33f7f55.js.map +1 -0
- package/{index-b8de16d6.js → index-eabd1e7e.js} +39 -48
- package/index-eabd1e7e.js.map +1 -0
- package/index-ebb62af1.js +51 -0
- package/index-ebb62af1.js.map +1 -0
- package/{index-0fd24497.js → index-edf844f0.js} +57 -4
- package/index-edf844f0.js.map +1 -0
- package/index.d.ts +176 -124
- package/index.js +84 -63
- package/index.js.map +1 -1
- package/index.module-6b7ed635.js +4 -0
- package/index.module-6b7ed635.js.map +1 -0
- package/lame.all.js +2537 -0
- package/lame.all.js.map +1 -0
- package/package.json +62 -41
- package/resolvedReplyType-8776d777.js +29 -0
- package/resolvedReplyType-8776d777.js.map +1 -0
- package/sendbirdSelectors.js +307 -417
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-7ace5726.js → stringSet-e0ee1265.js} +112 -90
- package/stringSet-e0ee1265.js.map +1 -0
- package/tokenize-1b053c86.js +159 -0
- package/tokenize-1b053c86.js.map +1 -0
- package/topics-70f569e9.js +16 -0
- package/topics-70f569e9.js.map +1 -0
- package/types-77bbdda6.js +15 -0
- package/types-77bbdda6.js.map +1 -0
- package/ui/Accordion.js +21 -24
- package/ui/Accordion.js.map +1 -1
- package/ui/AccordionGroup.js +10 -13
- package/ui/AccordionGroup.js.map +1 -1
- package/ui/AdminMessage.js +10 -13
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +57 -79
- package/ui/Avatar.js.map +1 -1
- package/ui/Badge.js +16 -15
- package/ui/Badge.js.map +1 -1
- package/ui/BottomSheet.js +14 -12
- package/ui/BottomSheet.js.map +1 -1
- package/ui/Button.js +20 -35
- package/ui/Button.js.map +1 -1
- package/ui/ChannelAvatar.js +38 -41
- package/ui/ChannelAvatar.js.map +1 -1
- package/ui/Checkbox.js +11 -13
- package/ui/Checkbox.js.map +1 -1
- package/ui/ConnectionStatus.js +7 -5
- package/ui/ConnectionStatus.js.map +1 -1
- package/ui/ContextMenu.js +176 -200
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +12 -14
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +300 -108
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +22 -23
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +36 -36
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +448 -622
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +20 -31
- package/ui/IconButton.js.map +1 -1
- package/ui/ImageRenderer.js +34 -43
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +16 -16
- package/ui/Input.js.map +1 -1
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +4 -3
- package/ui/LinkLabel.js.map +1 -1
- package/ui/Loader.js +10 -12
- package/ui/Loader.js.map +1 -1
- package/ui/MentionLabel.js +58 -65
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js +12 -10
- package/ui/MentionUserLabel.js.map +1 -1
- package/ui/MessageContent.js +215 -551
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +392 -120
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +83 -83
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +58 -62
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +55 -50
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +41 -40
- package/ui/MessageSearchItem.js.map +1 -1
- package/ui/MessageStatus.js +10 -11
- package/ui/MessageStatus.js.map +1 -1
- package/ui/Modal.js +52 -46
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js +10 -10
- package/ui/MutedAvatarOverlay.js.map +1 -1
- package/ui/OGMessageItemBody.js +68 -64
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +8 -7
- package/ui/OpenChannelAdminMessage.js.map +1 -1
- package/ui/OpenChannelAvatar.js +18 -17
- package/ui/OpenChannelAvatar.js.map +1 -1
- package/ui/OpenchannelConversationHeader.js +17 -13
- package/ui/OpenchannelConversationHeader.js.map +1 -1
- package/ui/OpenchannelFileMessage.js +140 -151
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +204 -233
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +215 -222
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +168 -178
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +5 -6
- package/ui/PlaceHolder.js.map +1 -1
- package/ui/PlaybackTime.js +26 -0
- package/ui/PlaybackTime.js.map +1 -0
- package/ui/ProgressBar.js +30 -0
- package/ui/ProgressBar.js.map +1 -0
- package/ui/QuoteMessage.js +50 -44
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +31 -29
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +13 -21
- package/ui/ReactionBadge.js.map +1 -1
- package/ui/ReactionButton.js +30 -27
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +14 -18
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +13 -21
- package/ui/TextButton.js.map +1 -1
- package/ui/TextMessageItemBody.js +41 -48
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThreadReplies.js +25 -22
- package/ui/ThreadReplies.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +36 -45
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Toggle.js +191 -0
- package/ui/Toggle.js.map +1 -0
- package/ui/Tooltip.js +8 -9
- package/ui/Tooltip.js.map +1 -1
- package/ui/TooltipWrapper.js +17 -20
- package/ui/TooltipWrapper.js.map +1 -1
- package/ui/UnknownMessageItemBody.js +21 -22
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +76 -76
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +31 -29
- package/ui/UserProfile.js.map +1 -1
- package/ui/VoiceMessageItemBody.js +110 -0
- package/ui/VoiceMessageItemBody.js.map +1 -0
- package/ui/VoiceMessgeInput.js +14 -0
- package/ui/VoiceMessgeInput.js.map +1 -0
- package/ui/Word.js +31 -39
- package/ui/Word.js.map +1 -1
- package/useDirtyGetMentions-f00f1f94.js +75 -0
- package/useDirtyGetMentions-f00f1f94.js.map +1 -0
- package/useLongPress-1ab49410.js +85 -0
- package/useLongPress-1ab49410.js.map +1 -0
- package/useSendbirdStateContext.js +2 -3
- package/useSendbirdStateContext.js.map +1 -1
- package/utils/message/getOutgoingMessageState.js +9 -15
- package/utils/message/getOutgoingMessageState.js.map +1 -1
- package/utils/message/isVoiceMessage.js +8 -0
- package/utils/message/isVoiceMessage.js.map +1 -0
- package/{utils-30c326f7.js → utils-56cb7de5.js} +1 -1
- package/{utils-30c326f7.js.map → utils-56cb7de5.js.map} +1 -1
- package/utils-77f7e8b2.js +29 -0
- package/utils-77f7e8b2.js.map +1 -0
- package/{utils-ded73fa5.js → utils-7f3d0d8c.js} +3 -7
- package/{utils-ded73fa5.js.map → utils-7f3d0d8c.js.map} +1 -1
- package/utils-af9b1c06.js +31 -0
- package/utils-af9b1c06.js.map +1 -0
- package/uuid-92d22300.js +13 -0
- package/{uuid-968941a0.js.map → uuid-92d22300.js.map} +1 -1
- package/withSendbird.js +5 -6
- package/withSendbird.js.map +1 -1
- package/ChannelListProvider-ade145a7.js.map +0 -1
- package/ChannelProvider-c9db10c0.js.map +0 -1
- package/CreateChannelProvider-be2dfe96.js +0 -55
- package/CreateChannelProvider-be2dfe96.js.map +0 -1
- package/LocalizationContext-60894e38.js +0 -22
- package/MediaQueryContext-bcf72e28.js +0 -90
- package/MediaQueryContext-bcf72e28.js.map +0 -1
- package/MemberList-ce1fd162.js +0 -435
- package/MemberList-ce1fd162.js.map +0 -1
- package/NotificationChannel/components/NotificationChannelUI.js +0 -119
- package/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
- package/NotificationChannel/components/NotificationList.js +0 -111
- package/NotificationChannel/components/NotificationList.js.map +0 -1
- package/NotificationChannel/components/NotificationMessageWrap.js +0 -136
- package/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
- package/NotificationChannel/context.js +0 -12
- package/NotificationChannel.js +0 -58
- package/NotificationChannel.js.map +0 -1
- package/NotificationChannelProvider-2cb7ca21.js +0 -535
- package/NotificationChannelProvider-2cb7ca21.js.map +0 -1
- package/OpenChannelListProvider-0bdafda1.js +0 -434
- package/OpenChannelListProvider-0bdafda1.js.map +0 -1
- package/OpenChannelProvider-a72c6fb7.js +0 -2000
- package/OpenChannelProvider-a72c6fb7.js.map +0 -1
- package/RemoveMessageModal-b025d4a7.js +0 -31
- package/RemoveMessageModal-b025d4a7.js.map +0 -1
- package/ThreadProvider-de5a7889.js +0 -1644
- package/ThreadProvider-de5a7889.js.map +0 -1
- package/_rollupPluginBabelHelpers-ed44209e.js.map +0 -1
- package/actionTypes-aa58fd27.js +0 -6
- package/actionTypes-aa58fd27.js.map +0 -1
- package/cjs/ChannelListProvider-65473831.js.map +0 -1
- package/cjs/ChannelProvider-1e08a7a9.js.map +0 -1
- package/cjs/CreateChannelProvider-cbf490c6.js +0 -62
- package/cjs/CreateChannelProvider-cbf490c6.js.map +0 -1
- package/cjs/MediaQueryContext-e455934a.js +0 -97
- package/cjs/MediaQueryContext-e455934a.js.map +0 -1
- package/cjs/MemberList-aee91fce.js +0 -441
- package/cjs/MemberList-aee91fce.js.map +0 -1
- package/cjs/NotificationChannel/components/NotificationChannelUI.js +0 -125
- package/cjs/NotificationChannel/components/NotificationChannelUI.js.map +0 -1
- package/cjs/NotificationChannel/components/NotificationList.js +0 -117
- package/cjs/NotificationChannel/components/NotificationList.js.map +0 -1
- package/cjs/NotificationChannel/components/NotificationMessageWrap.js +0 -142
- package/cjs/NotificationChannel/components/NotificationMessageWrap.js.map +0 -1
- package/cjs/NotificationChannel/context.js +0 -21
- package/cjs/NotificationChannel.js +0 -64
- package/cjs/NotificationChannel.js.map +0 -1
- package/cjs/NotificationChannelProvider-4cc9575f.js +0 -543
- package/cjs/NotificationChannelProvider-4cc9575f.js.map +0 -1
- package/cjs/OpenChannelListProvider-4aab4391.js +0 -443
- package/cjs/OpenChannelListProvider-4aab4391.js.map +0 -1
- package/cjs/OpenChannelProvider-a763b71c.js +0 -2009
- package/cjs/OpenChannelProvider-a763b71c.js.map +0 -1
- package/cjs/RemoveMessageModal-0da4f94b.js.map +0 -1
- package/cjs/ThreadProvider-51be09a5.js +0 -1653
- package/cjs/ThreadProvider-51be09a5.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-bd6baf0a.js.map +0 -1
- package/cjs/actionTypes-561bdde9.js +0 -10
- package/cjs/actionTypes-561bdde9.js.map +0 -1
- package/cjs/color-fdbe394d.js.map +0 -1
- package/cjs/compareIds-d0c02eca.js.map +0 -1
- package/cjs/const-8785e4ad.js.map +0 -1
- package/cjs/const-beb25e10.js +0 -20
- package/cjs/const-beb25e10.js.map +0 -1
- package/cjs/index-08d232f8.js.map +0 -1
- package/cjs/index-8a4b2f10.js +0 -59
- package/cjs/index-8a4b2f10.js.map +0 -1
- package/cjs/index-8c350889.js +0 -194
- package/cjs/index-8c350889.js.map +0 -1
- package/cjs/index-b3371ef2.js +0 -701
- package/cjs/index-b3371ef2.js.map +0 -1
- package/cjs/index-bdd889a2.js.map +0 -1
- package/cjs/index-c13771a7.js.map +0 -1
- package/cjs/index-e191d245.js.map +0 -1
- package/cjs/index-e8544e24.js.map +0 -1
- package/cjs/index-ebb542c3.js.map +0 -1
- package/cjs/index-f032bd2c.js +0 -360
- package/cjs/index-f032bd2c.js.map +0 -1
- package/cjs/stringSet-60660a99.js.map +0 -1
- package/cjs/topics-f3f74edc.js +0 -22
- package/cjs/topics-f3f74edc.js.map +0 -1
- package/cjs/tslib.es6-5a7eb30d.js +0 -110
- package/cjs/tslib.es6-5a7eb30d.js.map +0 -1
- package/cjs/useLongPress-e7140087.js +0 -118
- package/cjs/useLongPress-e7140087.js.map +0 -1
- package/cjs/utils-693dd952.js +0 -38
- package/cjs/utils-693dd952.js.map +0 -1
- package/cjs/utils-b6001dd4.js +0 -32
- package/cjs/utils-b6001dd4.js.map +0 -1
- package/cjs/uuid-a9006ea2.js +0 -19
- package/compareIds-063e5503.js.map +0 -1
- package/const-14919575.js +0 -14
- package/const-14919575.js.map +0 -1
- package/const-1510a671.js.map +0 -1
- package/context-d5dc28c9.js +0 -12
- package/index-0fd24497.js.map +0 -1
- package/index-2561104e.js +0 -179
- package/index-2561104e.js.map +0 -1
- package/index-54843058.js +0 -57
- package/index-54843058.js.map +0 -1
- package/index-58e5d82d.js +0 -662
- package/index-58e5d82d.js.map +0 -1
- package/index-7c1f570b.js.map +0 -1
- package/index-95ac9232.js.map +0 -1
- package/index-b8de16d6.js.map +0 -1
- package/index-d07faed8.js +0 -353
- package/index-d07faed8.js.map +0 -1
- package/index-d81c515b.js.map +0 -1
- package/index-fd15e3b0.js.map +0 -1
- package/stringSet-7ace5726.js.map +0 -1
- package/topics-d390daf6.js +0 -13
- package/topics-d390daf6.js.map +0 -1
- package/tslib.es6-d9fa3716.js +0 -104
- package/tslib.es6-d9fa3716.js.map +0 -1
- package/useLongPress-7d9a5f67.js +0 -116
- package/useLongPress-7d9a5f67.js.map +0 -1
- package/utils-40ce4da5.js +0 -34
- package/utils-40ce4da5.js.map +0 -1
- package/utils-d485030c.js +0 -30
- package/utils-d485030c.js.map +0 -1
- package/uuid-968941a0.js +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuggestedMentionList.js","sources":["../../../src/smart-components/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.tsx","../../../src/smart-components/Channel/components/SuggestedMentionList/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react';\nimport type { Member } from '@sendbird/chat/groupChannel';\nimport type { User } from '@sendbird/chat';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MentionItemUIEvent } from '../../../..';\nimport uuidv4 from '../../../../utils/uuid';\n\ninterface SuggestedUserMentionItemProps {\n member: User | Member;\n isFocused?: boolean;\n parentScrollRef?: React.RefObject<HTMLDivElement>;\n onClick?: (props: MentionItemUIEvent) => void;\n onMouseOver?: (props: MentionItemUIEvent) => void;\n onMouseMove?: (props: MentionItemUIEvent) => void;\n renderUserMentionItem?: (props: { user: User | Member }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n parentScrollRef,\n onClick,\n onMouseOver,\n onMouseMove,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused) {\n if (parentScrollRef?.current?.scrollTop >= scrollRef?.current?.offsetTop) {\n scrollRef?.current?.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n } else if (parentScrollRef?.current?.scrollTop + parentScrollRef?.current?.clientHeight <= scrollRef?.current?.offsetTop) {\n scrollRef?.current?.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n }\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n {renderUserMentionItem({ user: member })}\n </div>\n );\n }\n }, [renderUserMentionItem]);\n if (customMentionItem) {\n return customMentionItem;\n }\n return (\n <div\n className={`sendbird-mention-suggest-list__user-item ${isFocused ? 'focused' : ''}`}\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n <Avatar\n className=\"sendbird-mention-suggest-list__user-item__avatar\"\n src={member?.profileUrl}\n alt=\"user-profile\"\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__user-item__nickname\"\n type={LabelTypography.SUBTITLE_2}\n color={member?.nickname ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3}\n >\n {member?.nickname || stringSet?.MENTION_NAME__NO_NAME}\n </Label>\n <Label\n className=\"sendbird-mention-suggest-list__user-item__user-id\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {member?.userId}\n </Label>\n </div>\n );\n}\n\nexport default SuggestedUserMentionItem;\n","import './index.scss';\nimport React, { useState, useEffect, useContext, useRef } from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { Member } from '@sendbird/chat/groupChannel';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT, USER_MENTION_TEMP_CHAR } from '../../context/const';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport uuidv4 from '../../../../utils/uuid';\nimport { useThreadContext } from '../../../Thread/context/ThreadProvider';\n\nexport interface SuggestedMentionListProps {\n className?: string;\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: User) => void;\n onFocusItemChange?: (member: User) => void;\n onFetchUsers?: (users: Array<User>) => void;\n renderUserMentionItem?: (props: { user: User }) => JSX.Element;\n ableAddMention: boolean;\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n inputEvent?: React.KeyboardEvent<HTMLDivElement>;\n}\n\nconst DEBOUNCING_TIME = 300;\n\nfunction SuggestedMentionList(props: SuggestedMentionListProps): JSX.Element {\n const {\n className,\n targetNickname = '',\n // memberListQuery,\n onUserItemClick,\n onFocusItemChange,\n onFetchUsers,\n renderUserMentionItem,\n inputEvent,\n ableAddMention = true,\n maxMentionCount = MAX_USER_MENTION_COUNT,\n maxSuggestionCount = MAX_USER_SUGGESTION_COUNT,\n } = props;\n const currentGroupChannel = useChannelContext?.()?.currentGroupChannel;\n const currentChannel = useThreadContext?.()?.currentChannel;\n const channelInstance = currentGroupChannel || currentChannel;\n const { config, stores } = useSendbirdStateContext();\n const { logger } = config;\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId || '';\n const scrollRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [timer, setTimer] = useState(null);\n const [searchString, setSearchString] = useState('');\n const [lastSearchString, setLastSearchString] = useState('');\n const [currentUser, setCurrentUser] = useState<User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<Member>>([]);\n\n useEffect(() => {\n clearTimeout(timer);\n setTimer(\n setTimeout(() => {\n setSearchString(targetNickname);\n }, DEBOUNCING_TIME)\n );\n }, [targetNickname]);\n\n useEffect(() => {\n if (inputEvent?.key === MessageInputKeys.Enter) {\n if (currentMemberList.length > 0) {\n onUserItemClick(currentUser);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowUp) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (0 < currentUserIndex) {\n setCurrentUser(currentMemberList[currentUserIndex - 1]);\n onFocusItemChange(currentMemberList[currentUserIndex - 1]);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowDown) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (currentUserIndex < currentMemberList.length - 1) {\n setCurrentUser(currentMemberList[currentUserIndex + 1]);\n onFocusItemChange(currentMemberList[currentUserIndex + 1]);\n }\n }\n }, [inputEvent]);\n\n /* Fetch member list */\n useEffect(() => {\n if (!channelInstance?.createMemberListQuery) {\n logger.warning('SuggestedMentionList: Creating member list query failed');\n return;\n }\n if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {\n // Don't need to request query again\n return;\n }\n\n const query = channelInstance?.createMemberListQuery({\n limit: maxSuggestionCount + 1, // because current user could be included\n nicknameStartsWithFilter: searchString.slice(USER_MENTION_TEMP_CHAR.length),\n });\n // Add member list query for customization\n query.next()\n .then((memberList) => {\n const suggestingMembers = memberList\n .filter((member) => currentUserId !== member?.userId)\n .slice(0, maxSuggestionCount);\n if (suggestingMembers.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList: suggestingMembers });\n setCurrentUser(suggestingMembers[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(suggestingMembers);\n setCurrentMemberList(suggestingMembers);\n })\n .catch((error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n });\n }, [channelInstance?.url, searchString]);\n\n if (!ableAddMention && currentMemberList.length === 0) {\n return null;\n }\n\n return (\n <div\n className={`sendbird-mention-suggest-list ${className}`}\n key=\"sendbird-mention-suggest-list\"\n ref={scrollRef}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.userId || uuidv4()}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n parentScrollRef={scrollRef}\n onClick={({ member }) => {\n onUserItemClick(member);\n }}\n onMouseOver={({ member }) => {\n setCurrentUser(member);\n }}\n renderUserMentionItem={renderUserMentionItem}\n />\n ))\n }\n {\n !ableAddMention && (\n <div className=\"sendbird-mention-suggest-list__notice-item\">\n <Icon\n className=\"sendbird-mention-suggest-list__notice-item__icon\"\n type={IconTypes.INFO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__notice-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount)}\n </Label>\n </div>\n )\n }\n </div>\n );\n}\n\nexport default SuggestedMentionList;\n"],"names":["SuggestedUserMentionItem","props","member","_a","isFocused","parentScrollRef","onClick","onMouseOver","onMouseMove","renderUserMentionItem","scrollRef","useRef","_b","useContext","LocalizationContext","stringSet","useEffect","current","scrollTop","offsetTop","_c","scrollIntoView","block","inline","_d","_e","clientHeight","_f","_g","customMentionItem","useMemo","React","event","itemRef","userId","uuidv4","user","concat","profileUrl","LabelTypography","SUBTITLE_2","nickname","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","DEBOUNCING_TIME","SuggestedMentionList","className","targetNickname","onUserItemClick","onFocusItemChange","onFetchUsers","inputEvent","ableAddMention","_h","maxMentionCount","MAX_USER_MENTION_COUNT","_j","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","currentGroupChannel","useChannelContext","currentChannel","useThreadContext","channelInstance","_k","useSendbirdStateContext","config","stores","logger","currentUserId","sdkStore","sdk","currentUser","_l","useState","timer","setTimer","_m","searchString","setSearchString","_o","lastSearchString","setLastSearchString","_p","setCurrentUser","_q","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","key","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","then","memberList","suggestingMembers","filter","info","memberListQuery","catch","error","url","map","IconTypes","INFO","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SuggestedMentionList.js","sources":["../../../src/modules/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.tsx","../../../src/modules/Channel/components/SuggestedMentionList/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react';\nimport type { Member } from '@sendbird/chat/groupChannel';\nimport type { User } from '@sendbird/chat';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MentionItemUIEvent } from '../../../..';\nimport uuidv4 from '../../../../utils/uuid';\n\ninterface SuggestedUserMentionItemProps {\n member: User | Member;\n isFocused?: boolean;\n parentScrollRef?: React.RefObject<HTMLDivElement>;\n onClick?: (props: MentionItemUIEvent) => void;\n onMouseOver?: (props: MentionItemUIEvent) => void;\n onMouseMove?: (props: MentionItemUIEvent) => void;\n renderUserMentionItem?: (props: { user: User | Member }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n parentScrollRef,\n onClick,\n onMouseOver,\n onMouseMove,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef<HTMLDivElement>(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused && parentScrollRef?.current != null && scrollRef?.current != null\n && (parentScrollRef.current.scrollTop >= scrollRef.current.offsetTop\n || parentScrollRef.current.scrollTop + parentScrollRef.current.clientHeight <= scrollRef.current.offsetTop\n )) {\n scrollRef.current.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n {renderUserMentionItem({ user: member })}\n </div>\n );\n }\n }, [renderUserMentionItem]);\n if (customMentionItem) {\n return customMentionItem;\n }\n return (\n <div\n className={`sendbird-mention-suggest-list__user-item ${isFocused ? 'focused' : ''}`}\n onClick={(event) => onClick?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseOver={(event) => onMouseOver?.({ event, member: (member as Member), itemRef: scrollRef })}\n onMouseMove={(event) => onMouseMove?.({ event, member: (member as Member), itemRef: scrollRef })}\n key={member?.userId || uuidv4()}\n ref={scrollRef}\n >\n <Avatar\n className=\"sendbird-mention-suggest-list__user-item__avatar\"\n src={member?.profileUrl}\n alt=\"user-profile\"\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__user-item__nickname\"\n type={LabelTypography.SUBTITLE_2}\n color={member?.nickname ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3}\n >\n {member?.nickname || stringSet?.MENTION_NAME__NO_NAME}\n </Label>\n <Label\n className=\"sendbird-mention-suggest-list__user-item__user-id\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {member?.userId}\n </Label>\n </div>\n );\n}\n\nexport default SuggestedUserMentionItem;\n","import './index.scss';\nimport React, { useState, useEffect, useContext, useRef } from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { Member } from '@sendbird/chat/groupChannel';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannelContext } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT, USER_MENTION_TEMP_CHAR } from '../../context/const';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\nimport uuidv4 from '../../../../utils/uuid';\nimport { useThreadContext } from '../../../Thread/context/ThreadProvider';\n\nexport interface SuggestedMentionListProps {\n className?: string;\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: User) => void;\n onFocusItemChange?: (member: User) => void;\n onFetchUsers?: (users: Array<User>) => void;\n renderUserMentionItem?: (props: { user: User }) => JSX.Element;\n ableAddMention: boolean;\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n inputEvent?: React.KeyboardEvent<HTMLDivElement>;\n}\n\nconst DEBOUNCING_TIME = 300;\n\nfunction SuggestedMentionList(props: SuggestedMentionListProps): JSX.Element {\n const {\n className,\n targetNickname = '',\n // memberListQuery,\n onUserItemClick,\n onFocusItemChange,\n onFetchUsers,\n renderUserMentionItem,\n inputEvent,\n ableAddMention = true,\n maxMentionCount = MAX_USER_MENTION_COUNT,\n maxSuggestionCount = MAX_USER_SUGGESTION_COUNT,\n } = props;\n const currentGroupChannel = useChannelContext?.()?.currentGroupChannel;\n const currentChannel = useThreadContext?.()?.currentChannel;\n const channelInstance = currentGroupChannel || currentChannel;\n const { config, stores } = useSendbirdStateContext();\n const { logger } = config;\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId || '';\n const scrollRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [timer, setTimer] = useState(null);\n const [searchString, setSearchString] = useState('');\n const [lastSearchString, setLastSearchString] = useState('');\n const [currentUser, setCurrentUser] = useState<User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<Member>>([]);\n\n useEffect(() => {\n clearTimeout(timer);\n setTimer(\n setTimeout(() => {\n setSearchString(targetNickname);\n }, DEBOUNCING_TIME),\n );\n }, [targetNickname]);\n\n useEffect(() => {\n if (inputEvent?.key === MessageInputKeys.Enter) {\n if (currentMemberList.length > 0) {\n onUserItemClick(currentUser);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowUp) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (0 < currentUserIndex) {\n setCurrentUser(currentMemberList[currentUserIndex - 1]);\n onFocusItemChange(currentMemberList[currentUserIndex - 1]);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowDown) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (currentUserIndex < currentMemberList.length - 1) {\n setCurrentUser(currentMemberList[currentUserIndex + 1]);\n onFocusItemChange(currentMemberList[currentUserIndex + 1]);\n }\n }\n }, [inputEvent]);\n\n /* Fetch member list */\n useEffect(() => {\n if (!channelInstance?.createMemberListQuery) {\n logger.warning('SuggestedMentionList: Creating member list query failed');\n return;\n }\n if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {\n // Don't need to request query again\n return;\n }\n\n const query = channelInstance?.createMemberListQuery({\n limit: maxSuggestionCount + 1, // because current user could be included\n nicknameStartsWithFilter: searchString.slice(USER_MENTION_TEMP_CHAR.length),\n });\n // Add member list query for customization\n query.next()\n .then((memberList) => {\n const suggestingMembers = memberList\n .filter((member) => currentUserId !== member?.userId)\n .slice(0, maxSuggestionCount);\n if (suggestingMembers.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList: suggestingMembers });\n setCurrentUser(suggestingMembers[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(suggestingMembers);\n setCurrentMemberList(suggestingMembers);\n })\n .catch((error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n });\n }, [channelInstance?.url, searchString]);\n\n if (!ableAddMention && currentMemberList.length === 0) {\n return null;\n }\n\n return (\n <div\n className={`sendbird-mention-suggest-list ${className}`}\n key=\"sendbird-mention-suggest-list\"\n ref={scrollRef}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.userId || uuidv4()}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n parentScrollRef={scrollRef}\n onClick={({ member }) => {\n onUserItemClick(member);\n }}\n onMouseOver={({ member }) => {\n setCurrentUser(member);\n }}\n renderUserMentionItem={renderUserMentionItem}\n />\n ))\n }\n {\n !ableAddMention && (\n <div className=\"sendbird-mention-suggest-list__notice-item\">\n <Icon\n className=\"sendbird-mention-suggest-list__notice-item__icon\"\n type={IconTypes.INFO}\n fillColor={IconColors.ON_BACKGROUND_2}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__notice-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount)}\n </Label>\n </div>\n )\n }\n </div>\n );\n}\n\nexport default SuggestedMentionList;\n"],"names":["SuggestedUserMentionItem","props","member","isFocused","parentScrollRef","onClick","onMouseOver","onMouseMove","renderUserMentionItem","scrollRef","useRef","stringSet","useContext","LocalizationContext","useEffect","current","scrollTop","offsetTop","clientHeight","scrollIntoView","block","inline","customMentionItem","useMemo","React","createElement","className","event","itemRef","key","userId","uuidv4","ref","user","Avatar","src","profileUrl","alt","width","height","Label","type","LabelTypography","SUBTITLE_2","color","nickname","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","DEBOUNCING_TIME","SuggestedMentionList","_useChannelContext","_useThreadContext","_stores$sdkStore","_stores$sdkStore$sdk","_stores$sdkStore$sdk$","targetNickname","onUserItemClick","onFocusItemChange","onFetchUsers","inputEvent","ableAddMention","maxMentionCount","MAX_USER_MENTION_COUNT","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","currentGroupChannel","useChannelContext","currentChannel","useThreadContext","channelInstance","config","stores","useSendbirdStateContext","logger","currentUserId","sdkStore","sdk","currentUser","timer","setTimer","useState","searchString","setSearchString","lastSearchString","setLastSearchString","setCurrentUser","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","then","memberList","suggestingMembers","filter","info","memberListQuery","catch","error","url","map","_ref","_ref2","Icon","IconTypes","INFO","fillColor","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":"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"}
|
|
@@ -1,79 +1,65 @@
|
|
|
1
1
|
import React__default, { useContext, useState, useEffect } from 'react';
|
|
2
2
|
import { GroupChannelHandler } from '@sendbird/chat/groupChannel';
|
|
3
|
-
import { a as LocalizationContext } from '../../LocalizationContext-
|
|
4
|
-
import { u as uuidv4 } from '../../uuid-
|
|
5
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-
|
|
6
|
-
import { u as useChannelContext } from '../../ChannelProvider-
|
|
3
|
+
import { a as LocalizationContext } from '../../LocalizationContext-04c0c9dc.js';
|
|
4
|
+
import { u as uuidv4 } from '../../uuid-92d22300.js';
|
|
5
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-e33f7f55.js';
|
|
6
|
+
import { u as useChannelContext } from '../../ChannelProvider-6e8e99df.js';
|
|
7
7
|
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
8
|
-
import '../../stringSet-
|
|
9
|
-
import '../../index-
|
|
8
|
+
import '../../stringSet-e0ee1265.js';
|
|
9
|
+
import '../../index-319984d0.js';
|
|
10
10
|
import 'prop-types';
|
|
11
|
-
import '../../UserProfileContext-
|
|
12
|
-
import '../../
|
|
13
|
-
import '../../
|
|
14
|
-
import '../../
|
|
15
|
-
import '../../
|
|
11
|
+
import '../../UserProfileContext-c776d522.js';
|
|
12
|
+
import '../../const-18dba7a4.js';
|
|
13
|
+
import '../../index-4455855e.js';
|
|
14
|
+
import '../../topics-70f569e9.js';
|
|
15
|
+
import '../../index-cf859f03.js';
|
|
16
|
+
import '../../_rollupPluginBabelHelpers-fb0e05a4.js';
|
|
16
17
|
import '../../utils/message/getOutgoingMessageState.js';
|
|
17
|
-
import '../../
|
|
18
|
-
import '../../compareIds-063e5503.js';
|
|
19
|
-
import '../../const-14919575.js';
|
|
18
|
+
import '../../compareIds-3a43c11b.js';
|
|
20
19
|
import '@sendbird/chat/message';
|
|
21
|
-
import '../../
|
|
22
|
-
import '
|
|
23
|
-
import '../../ui/SortByRow.js';
|
|
24
|
-
import '../../ui/ReactionButton.js';
|
|
25
|
-
import '../../ui/ImageRenderer.js';
|
|
26
|
-
import '../../ui/Icon.js';
|
|
20
|
+
import '../../consts-c1baf70a.js';
|
|
21
|
+
import '../../resolvedReplyType-8776d777.js';
|
|
27
22
|
import '../../withSendbird.js';
|
|
28
23
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
const TypingIndicatorText = _ref => {
|
|
25
|
+
let {
|
|
26
|
+
members
|
|
27
|
+
} = _ref;
|
|
28
|
+
const {
|
|
29
|
+
stringSet
|
|
30
|
+
} = useContext(LocalizationContext);
|
|
33
31
|
if (!members || members.length === 0) {
|
|
34
32
|
return '';
|
|
35
33
|
}
|
|
36
|
-
|
|
37
34
|
if (members && members.length === 1) {
|
|
38
|
-
return
|
|
35
|
+
return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;
|
|
39
36
|
}
|
|
40
|
-
|
|
41
37
|
if (members && members.length === 2) {
|
|
42
|
-
return
|
|
38
|
+
return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;
|
|
43
39
|
}
|
|
44
|
-
|
|
45
40
|
return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;
|
|
46
41
|
};
|
|
47
|
-
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
var _e = useState([]),
|
|
61
|
-
typingMembers = _e[0],
|
|
62
|
-
setTypingMembers = _e[1];
|
|
63
|
-
|
|
64
|
-
useEffect(function () {
|
|
65
|
-
var _a;
|
|
66
|
-
|
|
67
|
-
if ((_a = sb === null || sb === void 0 ? void 0 : sb.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler) {
|
|
42
|
+
const TypingIndicator = () => {
|
|
43
|
+
var _globalStore$stores, _globalStore$stores$s, _globalStore$config;
|
|
44
|
+
const {
|
|
45
|
+
channelUrl
|
|
46
|
+
} = useChannelContext();
|
|
47
|
+
const globalStore = useSendbirdStateContext();
|
|
48
|
+
const sb = globalStore === null || globalStore === void 0 ? void 0 : (_globalStore$stores = globalStore.stores) === null || _globalStore$stores === void 0 ? void 0 : (_globalStore$stores$s = _globalStore$stores.sdkStore) === null || _globalStore$stores$s === void 0 ? void 0 : _globalStore$stores$s.sdk;
|
|
49
|
+
const logger = globalStore === null || globalStore === void 0 ? void 0 : (_globalStore$config = globalStore.config) === null || _globalStore$config === void 0 ? void 0 : _globalStore$config.logger;
|
|
50
|
+
const [handlerId, setHandlerId] = useState(uuidv4());
|
|
51
|
+
const [typingMembers, setTypingMembers] = useState([]);
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
var _sb$groupChannel;
|
|
54
|
+
if (sb !== null && sb !== void 0 && (_sb$groupChannel = sb.groupChannel) !== null && _sb$groupChannel !== void 0 && _sb$groupChannel.addGroupChannelHandler) {
|
|
68
55
|
sb.groupChannel.removeGroupChannelHandler(handlerId);
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
onTypingStatusUpdated:
|
|
56
|
+
const newHandlerId = uuidv4();
|
|
57
|
+
const handler = new GroupChannelHandler({
|
|
58
|
+
onTypingStatusUpdated: groupChannel => {
|
|
72
59
|
// there is a possible warning in here - setState called after unmount
|
|
73
60
|
logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);
|
|
74
|
-
|
|
75
61
|
if (groupChannel.url === channelUrl) {
|
|
76
|
-
|
|
62
|
+
const members = groupChannel.getTypingUsers();
|
|
77
63
|
setTypingMembers(members);
|
|
78
64
|
}
|
|
79
65
|
}
|
|
@@ -81,13 +67,10 @@ var TypingIndicator = function () {
|
|
|
81
67
|
sb.groupChannel.addGroupChannelHandler(newHandlerId, handler);
|
|
82
68
|
setHandlerId(newHandlerId);
|
|
83
69
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
var _a;
|
|
87
|
-
|
|
70
|
+
return () => {
|
|
71
|
+
var _sb$groupChannel2;
|
|
88
72
|
setTypingMembers([]);
|
|
89
|
-
|
|
90
|
-
if ((_a = sb === null || sb === void 0 ? void 0 : sb.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler) {
|
|
73
|
+
if (sb !== null && sb !== void 0 && (_sb$groupChannel2 = sb.groupChannel) !== null && _sb$groupChannel2 !== void 0 && _sb$groupChannel2.removeGroupChannelHandler) {
|
|
91
74
|
sb.groupChannel.removeGroupChannelHandler(handlerId);
|
|
92
75
|
}
|
|
93
76
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypingIndicator.js","sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"TypingIndicator.js","sources":["../../../src/modules/Channel/components/TypingIndicator.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport {\n GroupChannelHandler,\n Member,\n SendbirdGroupChat,\n} from '@sendbird/chat/groupChannel';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport { useChannelContext } from '../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\n\nexport interface TypingIndicatorTextProps {\n members: Member[];\n}\n\nexport const TypingIndicatorText: React.FC<TypingIndicatorTextProps> = ({ members }: TypingIndicatorTextProps) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nconst TypingIndicator: React.FC = () => {\n const { channelUrl } = useChannelContext();\n const globalStore = useSendbirdStateContext();\n const sb = globalStore?.stores?.sdkStore?.sdk as SendbirdGroupChat;\n const logger = globalStore?.config?.logger;\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState<Member[]>([]);\n\n useEffect(() => {\n if (sb?.groupChannel?.addGroupChannelHandler) {\n sb.groupChannel.removeGroupChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new GroupChannelHandler({\n onTypingStatusUpdated: (groupChannel) => {\n // there is a possible warning in here - setState called after unmount\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n if (groupChannel.url === channelUrl) {\n const members = groupChannel.getTypingUsers();\n setTypingMembers(members);\n }\n },\n });\n sb.groupChannel.addGroupChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb?.groupChannel?.removeGroupChannelHandler) {\n sb.groupChannel.removeGroupChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n <Label\n className=\"sendbird-conversation__footer__typing-indicator__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n <TypingIndicatorText members={typingMembers} />\n </Label>\n );\n};\n\nexport default TypingIndicator;\n"],"names":["TypingIndicatorText","_ref","members","stringSet","useContext","LocalizationContext","length","nickname","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","_globalStore$stores","_globalStore$stores$s","_globalStore$config","channelUrl","useChannelContext","globalStore","useSendbirdStateContext","sb","stores","sdkStore","sdk","logger","config","handlerId","setHandlerId","useState","uuidv4","typingMembers","setTypingMembers","useEffect","_sb$groupChannel","groupChannel","addGroupChannelHandler","removeGroupChannelHandler","newHandlerId","handler","GroupChannelHandler","onTypingStatusUpdated","info","url","getTypingUsers","_sb$groupChannel2","React","createElement","Label","className","type","LabelTypography","CAPTION_2","color","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
|
|
@@ -1,34 +1,32 @@
|
|
|
1
1
|
import React__default, { useContext } from 'react';
|
|
2
|
-
import { a as LocalizationContext } from '../../LocalizationContext-
|
|
3
|
-
import { L as Label, b as LabelColors, a as LabelTypography } from '../../index-
|
|
2
|
+
import { a as LocalizationContext } from '../../LocalizationContext-04c0c9dc.js';
|
|
3
|
+
import { L as Label, b as LabelColors, a as LabelTypography } from '../../index-e33f7f55.js';
|
|
4
4
|
import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
|
|
5
|
-
import '../../stringSet-
|
|
6
|
-
import '../../index-
|
|
5
|
+
import '../../stringSet-e0ee1265.js';
|
|
6
|
+
import '../../index-319984d0.js';
|
|
7
7
|
import 'prop-types';
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
const UnreadCount = _ref => {
|
|
10
|
+
var _time$toString, _time$toString$call;
|
|
11
|
+
let {
|
|
12
|
+
className = '',
|
|
13
|
+
count = 0,
|
|
14
|
+
time = '',
|
|
15
|
+
onClick
|
|
16
|
+
} = _ref;
|
|
17
|
+
const {
|
|
18
|
+
stringSet
|
|
19
|
+
} = useContext(LocalizationContext);
|
|
20
|
+
const timeArray = (time === null || time === void 0 ? void 0 : (_time$toString = time.toString) === null || _time$toString === void 0 ? void 0 : (_time$toString$call = _time$toString.call(time)) === null || _time$toString$call === void 0 ? void 0 : _time$toString$call.split(' ')) || [];
|
|
18
21
|
timeArray === null || timeArray === void 0 ? void 0 : timeArray.splice(-2, 0, stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__ON);
|
|
19
|
-
|
|
20
|
-
if (count < 1) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
22
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
25
|
-
className:
|
|
23
|
+
className: `sendbird-notification${count < 1 ? '--hide' : ''} ${className}`,
|
|
26
24
|
onClick: onClick
|
|
27
25
|
}, /*#__PURE__*/React__default.createElement(Label, {
|
|
28
26
|
className: "sendbird-notification__text",
|
|
29
27
|
color: LabelColors.ONCONTENT_1,
|
|
30
28
|
type: LabelTypography.CAPTION_2
|
|
31
|
-
},
|
|
29
|
+
}, `${count} `, stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE, ` ${timeArray.join(' ')}`), /*#__PURE__*/React__default.createElement(Icon, {
|
|
32
30
|
width: "24px",
|
|
33
31
|
height: "24px",
|
|
34
32
|
type: IconTypes.CHEVRON_DOWN,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnreadCount.js","sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"UnreadCount.js","sources":["../../../src/modules/Channel/components/UnreadCount/index.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport './unread-count.scss';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\n\nexport interface UnreadCountProps {\n className?: string;\n count: number | undefined;\n time: string;\n onClick(): void;\n}\n\nconst UnreadCount: React.FC<UnreadCountProps> = ({\n className = '',\n count = 0,\n time = '',\n onClick,\n}: UnreadCountProps) => {\n const { stringSet } = useContext(LocalizationContext);\n const timeArray = time?.toString?.()?.split(' ') || [];\n timeArray?.splice(-2, 0, stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__ON);\n\n return (\n <div\n className={`sendbird-notification${count < 1 ? '--hide' : ''} ${className}`}\n onClick={onClick}\n >\n <Label className=\"sendbird-notification__text\" color={LabelColors.ONCONTENT_1} type={LabelTypography.CAPTION_2}>\n {`${count} `}\n {stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE}\n {` ${timeArray.join(' ')}`}\n </Label>\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.CONTENT}\n />\n </div>\n );\n};\n\nexport default UnreadCount;\n"],"names":["UnreadCount","_ref","_time$toString","_time$toString$call","className","count","time","onClick","stringSet","useContext","LocalizationContext","timeArray","toString","call","split","splice","CHANNEL__MESSAGE_LIST__NOTIFICATION__ON","React","createElement","Label","color","LabelColors","ONCONTENT_1","type","LabelTypography","CAPTION_2","CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE","join","Icon","width","height","IconTypes","CHEVRON_DOWN","fillColor","IconColors","CONTENT"],"mappings":";;;;;;;;AAcMA,MAAAA,WAAuC,GAAGC,IAAA,IAKxB;EAAA,IAAAC,cAAA,EAAAC,mBAAA,CAAA;EAAA,IALyB;AAC/CC,IAAAA,SAAS,GAAG,EAAE;AACdC,IAAAA,KAAK,GAAG,CAAC;AACTC,IAAAA,IAAI,GAAG,EAAE;AACTC,IAAAA,OAAAA;AACgB,GAAC,GAAAN,IAAA,CAAA;EACjB,MAAM;AAAEO,IAAAA,SAAAA;AAAU,GAAC,GAAGC,UAAU,CAACC,mBAAmB,CAAC,CAAA;AACrD,EAAA,MAAMC,SAAS,GAAG,CAAAL,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAJ,cAAA,GAAJI,IAAI,CAAEM,QAAQ,MAAA,IAAA,IAAAV,cAAA,KAAAC,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,mBAAA,GAAdD,cAAA,CAAAW,IAAA,CAAAP,IAAI,CAAc,MAAAH,IAAAA,IAAAA,mBAAA,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAoBW,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE,CAAA;AACtDH,EAAAA,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEP,SAAS,CAACQ,uCAAuC,CAAC,CAAA;EAE3E,oBACEC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACEd,SAAS,EAAG,CAAuBC,qBAAAA,EAAAA,KAAK,GAAG,CAAC,GAAG,QAAQ,GAAG,EAAG,CAAGD,CAAAA,EAAAA,SAAU,CAAE,CAAA;AAC5EG,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAA,eAEjBU,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAA;AAACf,IAAAA,SAAS,EAAC,6BAA6B;IAACgB,KAAK,EAAEC,WAAW,CAACC,WAAY;IAACC,IAAI,EAAEC,eAAe,CAACC,SAAAA;GACjG,EAAA,CAAA,EAAEpB,KAAM,CAAE,CAAA,CAAA,EACXG,SAAS,CAACkB,gDAAgD,EACzD,CAAA,CAAA,EAAGf,SAAS,CAACgB,IAAI,CAAC,GAAG,CAAE,CAAC,CAAA,CACpB,eACRV,cAAA,CAAAC,aAAA,CAACU,IAAI,EAAA;AACHC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,MAAM;IACbP,IAAI,EAAEQ,SAAS,CAACC,YAAa;IAC7BC,SAAS,EAAEC,UAAU,CAACC,OAAAA;AAAQ,GAAA,CAC9B,CACE,CAAA;AAEV;;;;"}
|
package/Channel/context.js
CHANGED
|
@@ -1,27 +1,20 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
-
import '../UserProfileContext-
|
|
2
|
+
import '../UserProfileContext-c776d522.js';
|
|
3
3
|
import '../useSendbirdStateContext.js';
|
|
4
|
-
|
|
4
|
+
import '../const-18dba7a4.js';
|
|
5
|
+
export { C as ChannelProvider, u as useChannelContext } from '../ChannelProvider-6e8e99df.js';
|
|
6
|
+
import '../resolvedReplyType-8776d777.js';
|
|
5
7
|
import 'prop-types';
|
|
6
8
|
import '../withSendbird.js';
|
|
7
|
-
import '../_rollupPluginBabelHelpers-
|
|
8
|
-
import '../index-
|
|
9
|
-
import '../index-
|
|
10
|
-
import '../topics-
|
|
11
|
-
import '../index-
|
|
12
|
-
import '../tslib.es6-d9fa3716.js';
|
|
9
|
+
import '../_rollupPluginBabelHelpers-fb0e05a4.js';
|
|
10
|
+
import '../index-4455855e.js';
|
|
11
|
+
import '../index-319984d0.js';
|
|
12
|
+
import '../topics-70f569e9.js';
|
|
13
|
+
import '../index-cf859f03.js';
|
|
13
14
|
import '../utils/message/getOutgoingMessageState.js';
|
|
14
|
-
import '../compareIds-
|
|
15
|
-
import '../const-14919575.js';
|
|
15
|
+
import '../compareIds-3a43c11b.js';
|
|
16
16
|
import '@sendbird/chat/groupChannel';
|
|
17
|
-
import '../uuid-
|
|
17
|
+
import '../uuid-92d22300.js';
|
|
18
18
|
import '@sendbird/chat/message';
|
|
19
|
-
import '../
|
|
20
|
-
import 'react-dom';
|
|
21
|
-
import '../ui/SortByRow.js';
|
|
22
|
-
import '../index-95ac9232.js';
|
|
23
|
-
import '../stringSet-7ace5726.js';
|
|
24
|
-
import '../ui/ReactionButton.js';
|
|
25
|
-
import '../ui/ImageRenderer.js';
|
|
26
|
-
import '../ui/Icon.js';
|
|
19
|
+
import '../consts-c1baf70a.js';
|
|
27
20
|
//# sourceMappingURL=context.js.map
|
package/Channel/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
|